From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 134.134.136.20, mailfrom: ray.ni@intel.com) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by groups.io with SMTP; Fri, 17 May 2019 06:11:01 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 17 May 2019 06:11:00 -0700 X-ExtLoop1: 1 Received: from fmsmsx106.amr.corp.intel.com ([10.18.124.204]) by fmsmga004.fm.intel.com with ESMTP; 17 May 2019 06:10:59 -0700 Received: from fmsmsx163.amr.corp.intel.com (10.18.125.72) by FMSMSX106.amr.corp.intel.com (10.18.124.204) with Microsoft SMTP Server (TLS) id 14.3.408.0; Fri, 17 May 2019 06:10:59 -0700 Received: from shsmsx106.ccr.corp.intel.com (10.239.4.159) by fmsmsx163.amr.corp.intel.com (10.18.125.72) with Microsoft SMTP Server (TLS) id 14.3.408.0; Fri, 17 May 2019 06:10:59 -0700 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.33]) by SHSMSX106.ccr.corp.intel.com ([169.254.10.213]) with mapi id 14.03.0415.000; Fri, 17 May 2019 21:10:57 +0800 From: "Ni, Ray" To: "Zeng, Star" , "devel@edk2.groups.io" , "lersek@redhat.com" CC: "Dong, Eric" , "Kumar, Chandana C" , "Li, Kevin Y" Subject: Re: [edk2-devel] [PATCH] UefiCpuPkg CpuCommonFeaturesLib: Remove CPU generation check Thread-Topic: [edk2-devel] [PATCH] UefiCpuPkg CpuCommonFeaturesLib: Remove CPU generation check Thread-Index: AQHVC9LanRue+pVbekeN8CNWjDxDBqZtMpQAgAAdegCAATDJwP//nBWAgAEu2+A= Date: Fri, 17 May 2019 13:10:56 +0000 Message-ID: <734D49CCEBEEF84792F5B80ED585239D5C1476E8@SHSMSX104.ccr.corp.intel.com> References: <20190516103335.76628-1-star.zeng@intel.com> <7eeffb11-79ae-39b6-73a6-8c84434a1855@redhat.com> <0C09AFA07DD0434D9E2A0C6AEB048310402E357B@shsmsx102.ccr.corp.intel.com> <734D49CCEBEEF84792F5B80ED585239D5C145D7D@SHSMSX104.ccr.corp.intel.com> <0C09AFA07DD0434D9E2A0C6AEB048310402E3AD1@shsmsx102.ccr.corp.intel.com> In-Reply-To: <0C09AFA07DD0434D9E2A0C6AEB048310402E3AD1@shsmsx102.ccr.corp.intel.com> Accept-Language: en-US, zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiNDM3MjlkYWEtMGU4NS00NzA0LTk5MTctYWYwNGE5ODcxZjMxIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiN0pVWGYrYlp1OWE0Y0FmZmhGSmFTWkFKZUNxaFBUYzhyTmlkOElsTkZwdFdQSXRORjVWZUlGUkNXYkR0TWRHZiJ9 x-ctpclassification: CTP_NT dlp-product: dlpe-windows dlp-version: 11.0.600.7 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Return-Path: ray.ni@intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 U3RhciwNCkkgdW5kZXJzdGFuZCB0aGUgbW90aXZhdGlvbiBvZiB0aGUgY2hhbmdlLg0KDQpHaXZl biB5b3VyIHN0YXRlbWVudCB0aGF0IGFsbCBwcm9jZXNzb3JzIHlvdSBtZXQgZm9sbG93cyB0aGUg cnVsZSwNCmFuZCBJIGtub3cgdGhhdCB5b3UgYXJlIGN1cnJlbnRseSB3b3JraW5nIHZlcnkgYWN0 aXZlbHkgb24gSW50ZWwgcHJvY2Vzc29ycywNClJldmlld2VkLWJ5OiBSYXkgTmkgPHJheS5uaUBp bnRlbC5jb20+DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogWmVuZywg U3Rhcg0KPiBTZW50OiBGcmlkYXksIE1heSAxNywgMjAxOSAxMTowNSBBTQ0KPiBUbzogTmksIFJh eSA8cmF5Lm5pQGludGVsLmNvbT47IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBsZXJzZWtAcmVkaGF0 LmNvbQ0KPiBDYzogRG9uZywgRXJpYyA8ZXJpYy5kb25nQGludGVsLmNvbT47IEt1bWFyLCBDaGFu ZGFuYSBDDQo+IDxjaGFuZGFuYS5jLmt1bWFyQGludGVsLmNvbT47IExpLCBLZXZpbiBZIDxrZXZp bi55LmxpQGludGVsLmNvbT47IFplbmcsDQo+IFN0YXIgPHN0YXIuemVuZ0BpbnRlbC5jb20+DQo+ IFN1YmplY3Q6IFJFOiBbZWRrMi1kZXZlbF0gW1BBVENIXSBVZWZpQ3B1UGtnIENwdUNvbW1vbkZl YXR1cmVzTGliOg0KPiBSZW1vdmUgQ1BVIGdlbmVyYXRpb24gY2hlY2sNCj4gDQo+IFNpdHVhdGlv bjogQWxsIHRoZSBnZW5lcmF0aW9ucyAoaW5jbHVkaW5nIHRoZSBpbnRlcm5hbCBnZW5lcmF0aW9u cyBub3QgbGlzdGVkIGluDQo+IFNETSkgd2Ugc2F3IGhhdmUgTVNSIDEzQ2ggYXZhaWxhYmxlIHdo ZW4gQ3B1SW5mby0NCj4gPkNwdUlkVmVyc2lvbkluZm9FY3guQml0cy5BRVNOSSA9PSAxLg0KPiAN Cj4gUmVxdWlyZW1lbnQ6IFJldXNlIG1vcmUgY29kZS4NCj4gDQo+IENvdWxkIHlvdSBoZWxwIHRo aW5rIHRoZSBnb29kIG1ldGhvZCBhbmQgZXZlbiBwcm9wb3NlIHRoZSBwYXRjaCBmb3IgdGhhdD8N Cj4gSSBhbSBvayB0byBhbnkgbWV0aG9kIHRvIGltcHJvdmUgdGhlIGNvZGUncyByZXVzYWJpbGl0 eS4NCj4gT3RoZXJ3aXNlLCB3ZSBjYW4gb25seSB1c2UgZnVuY3Rpb24gbGV2ZWwgb3ZlcnJpZGUg bWV0aG9kIGluYQ0KPiBDcHVTcGVjaWZpY0ZlYXR1cmVzTGliLg0KPiAgICAgU3RhdHVzID0gUmVn aXN0ZXJDcHVGZWF0dXJlICgNCj4gICAgICAgICAgICAgICAgIkFFU05JIiwNCj4gICAgICAgICAg ICAgICAgTlVMTCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFVz ZSBjb3JlIGZ1bmN0aW9uDQo+ICAgICAgICAgICAgICAgIFNwZWNpZmljQWVzbmlTdXBwb3J0LCAg ICAgICAgICAgICAgICAgICAgICAgICAvLyBPdmVycmlkZSBjb3JlIGZ1bmN0aW9uDQo+ICAgICAg ICAgICAgICAgIE5VTEwsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv LyBVc2UgY29yZSBmdW5jdGlvbg0KPiAgICAgICAgICAgICAgICBDUFVfRkVBVFVSRV9BRVNOSSwN Cj4gICAgICAgICAgICAgICAgQ1BVX0ZFQVRVUkVfRU5EDQo+ICAgICAgICAgICAgICAgICk7DQo+ IA0KPiBUaGFua3MsDQo+IFN0YXINCj4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ IEZyb206IE5pLCBSYXkNCj4gPiBTZW50OiBGcmlkYXksIE1heSAxNywgMjAxOSA5OjA0IEFNDQo+ ID4gVG86IFplbmcsIFN0YXIgPHN0YXIuemVuZ0BpbnRlbC5jb20+OyBkZXZlbEBlZGsyLmdyb3Vw cy5pbzsNCj4gPiBsZXJzZWtAcmVkaGF0LmNvbQ0KPiA+IENjOiBEb25nLCBFcmljIDxlcmljLmRv bmdAaW50ZWwuY29tPjsgS3VtYXIsIENoYW5kYW5hIEMNCj4gPiA8Y2hhbmRhbmEuYy5rdW1hckBp bnRlbC5jb20+DQo+ID4gU3ViamVjdDogUkU6IFtlZGsyLWRldmVsXSBbUEFUQ0hdIFVlZmlDcHVQ a2cgQ3B1Q29tbW9uRmVhdHVyZXNMaWI6DQo+ID4gUmVtb3ZlIENQVSBnZW5lcmF0aW9uIGNoZWNr DQo+ID4NCj4gPiBTdGFyLA0KPiA+IEkgdGhpbmsgdGhlIGRpc2N1c3Npb24gaXMgYWJvdXQgcHJv dmlkaW5nIHRoZSBldmlkZW5jZSB0byBzdXBwb3J0DQo+ID4gcmVtb3ZpbmcgdGhlIGdlbmVyYXRp b24gY2hlY2suDQo+ID4gTm90IGp1c3QgdGhlIGJlbmVmaXQgb2YgdGhhdC4NCj4gPg0KPiA+IFRo YW5rcywNCj4gPiBSYXkNCj4gPg0KPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4g PiA+IEZyb206IFplbmcsIFN0YXINCj4gPiA+IFNlbnQ6IFRodXJzZGF5LCBNYXkgMTYsIDIwMTkg MTA6NTIgUE0NCj4gPiA+IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgbGVyc2VrQHJlZGhhdC5j b20NCj4gPiA+IENjOiBEb25nLCBFcmljIDxlcmljLmRvbmdAaW50ZWwuY29tPjsgTmksIFJheSA8 cmF5Lm5pQGludGVsLmNvbT47DQo+ID4gPiBLdW1hciwgQ2hhbmRhbmEgQyA8Y2hhbmRhbmEuYy5r dW1hckBpbnRlbC5jb20+OyBaZW5nLCBTdGFyDQo+ID4gPiA8c3Rhci56ZW5nQGludGVsLmNvbT4N Cj4gPiA+IFN1YmplY3Q6IFJFOiBbZWRrMi1kZXZlbF0gW1BBVENIXSBVZWZpQ3B1UGtnIENwdUNv bW1vbkZlYXR1cmVzTGliOg0KPiA+ID4gUmVtb3ZlIENQVSBnZW5lcmF0aW9uIGNoZWNrDQo+ID4g Pg0KPiA+ID4gTGFzemxvLA0KPiA+ID4NCj4gPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0t LS0NCj4gPiA+ID4gRnJvbTogZGV2ZWxAZWRrMi5ncm91cHMuaW8gW21haWx0bzpkZXZlbEBlZGsy Lmdyb3Vwcy5pb10gT24gQmVoYWxmDQo+ID4gPiA+IE9mIExhc3psbyBFcnNlaw0KPiA+ID4gPiBT ZW50OiBUaHVyc2RheSwgTWF5IDE2LCAyMDE5IDk6MDYgUE0NCj4gPiA+ID4gVG86IFplbmcsIFN0 YXIgPHN0YXIuemVuZ0BpbnRlbC5jb20+OyBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KPiA+ID4gPiBD YzogRG9uZywgRXJpYyA8ZXJpYy5kb25nQGludGVsLmNvbT47IE5pLCBSYXkgPHJheS5uaUBpbnRl bC5jb20+Ow0KPiA+ID4gPiBLdW1hciwgQ2hhbmRhbmEgQyA8Y2hhbmRhbmEuYy5rdW1hckBpbnRl bC5jb20+DQo+ID4gPiA+IFN1YmplY3Q6IFJlOiBbZWRrMi1kZXZlbF0gW1BBVENIXSBVZWZpQ3B1 UGtnIENwdUNvbW1vbkZlYXR1cmVzTGliOg0KPiA+ID4gPiBSZW1vdmUgQ1BVIGdlbmVyYXRpb24g Y2hlY2sNCj4gPiA+ID4NCj4gPiA+ID4gSGkgU3RhciwNCj4gPiA+ID4NCj4gPiA+ID4gT24gMDUv MTYvMTkgMTI6MzMsIFN0YXIgWmVuZyB3cm90ZToNCj4gPiA+ID4gPiBCWjogaHR0cHM6Ly9idWd6 aWxsYS50aWFub2NvcmUub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjc5DQo+ID4gPiA+ID4NCj4gPiA+ ID4gPiBUaGUgY2hlY2tpbmcgdG8gQ3B1SW5mby0+Q3B1SWRWZXJzaW9uSW5mb0VjeC5CaXRzLkFF U05JIGlzDQo+ID4gPiA+ID4gZW5vdWdoLCB0aGUgY2hlY2tpbmcgdG8gQ1BVIGdlbmVyYXRpb24g Y291bGQgYmUgcmVtb3ZlZCwgdGhlbg0KPiA+ID4gPiA+IHRoZSBjb2RlIGNvdWxkIGJlIHJldXNl ZCBieSBtb3JlIHBsYXRmb3Jtcy4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IENjOiBMYXN6bG8gRXJz ZWsgPGxlcnNla0ByZWRoYXQuY29tPg0KPiA+ID4gPiA+IENjOiBFcmljIERvbmcgPGVyaWMuZG9u Z0BpbnRlbC5jb20+DQo+ID4gPiA+ID4gQ2M6IFJ1aXl1IE5pIDxydWl5dS5uaUBpbnRlbC5jb20+ DQo+ID4gPiA+ID4gQ2M6IENoYW5kYW5hIEt1bWFyIDxjaGFuZGFuYS5jLmt1bWFyQGludGVsLmNv bT4NCj4gPiA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBTdGFyIFplbmcgPHN0YXIuemVuZ0BpbnRlbC5j b20+DQo+ID4gPiA+ID4gLS0tDQo+ID4gPiA+ID4gIFVlZmlDcHVQa2cvTGlicmFyeS9DcHVDb21t b25GZWF0dXJlc0xpYi9BZXNuaS5jIHwgMTINCj4gPiA+ID4gPiArKystLS0tLS0tLS0NCj4gPiA+ ID4gPiAgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkNCj4g PiA+ID4gPg0KPiA+ID4gPiA+IGRpZmYgLS1naXQgYS9VZWZpQ3B1UGtnL0xpYnJhcnkvQ3B1Q29t bW9uRmVhdHVyZXNMaWIvQWVzbmkuYw0KPiA+ID4gPiA+IGIvVWVmaUNwdVBrZy9MaWJyYXJ5L0Nw dUNvbW1vbkZlYXR1cmVzTGliL0Flc25pLmMNCj4gPiA+ID4gPiBpbmRleCBiNzk0NDZiYTNjYTku LjRhNTZlZWMxYjI2NyAxMDA2NDQNCj4gPiA+ID4gPiAtLS0gYS9VZWZpQ3B1UGtnL0xpYnJhcnkv Q3B1Q29tbW9uRmVhdHVyZXNMaWIvQWVzbmkuYw0KPiA+ID4gPiA+ICsrKyBiL1VlZmlDcHVQa2cv TGlicmFyeS9DcHVDb21tb25GZWF0dXJlc0xpYi9BZXNuaS5jDQo+ID4gPiA+ID4gQEAgLTU3LDE1 ICs1Nyw5IEBAIEFlc25pU3VwcG9ydCAoDQo+ID4gPiA+ID4gICAgTVNSX1NBTkRZX0JSSURHRV9G RUFUVVJFX0NPTkZJR19SRUdJU1RFUg0KPiA+ID4gKk1zckZlYXR1cmVDb25maWc7DQo+ID4gPiA+ ID4NCj4gPiA+ID4gPiAgICBpZiAoQ3B1SW5mby0+Q3B1SWRWZXJzaW9uSW5mb0VjeC5CaXRzLkFF U05JID09IDEpIHsNCj4gPiA+ID4gPiAtICAgIGlmIChJU19TQU5EWV9CUklER0VfUFJPQ0VTU09S IChDcHVJbmZvLT5EaXNwbGF5RmFtaWx5LA0KPiA+IENwdUluZm8tDQo+ID4gPiA+ID5EaXNwbGF5 TW9kZWwpIHx8DQo+ID4gPiA+ID4gLSAgICAgICAgSVNfU0lMVkVSTU9OVF9QUk9DRVNTT1IgKENw dUluZm8tPkRpc3BsYXlGYW1pbHksIENwdUluZm8tDQo+ID4gPiA+ID5EaXNwbGF5TW9kZWwpIHx8 DQo+ID4gPiA+ID4gLSAgICAgICAgSVNfWEVPTl81NjAwX1BST0NFU1NPUiAoQ3B1SW5mby0+RGlz cGxheUZhbWlseSwgQ3B1SW5mby0NCj4gPiA+ID4gPkRpc3BsYXlNb2RlbCkgfHwNCj4gPiA+ID4g PiAtICAgICAgICBJU19YRU9OX0U3X1BST0NFU1NPUiAoQ3B1SW5mby0+RGlzcGxheUZhbWlseSwg Q3B1SW5mby0NCj4gPiA+ID4gPkRpc3BsYXlNb2RlbCkgfHwNCj4gPiA+ID4gPiAtICAgICAgICBJ U19YRU9OX1BISV9QUk9DRVNTT1IgKENwdUluZm8tPkRpc3BsYXlGYW1pbHksIENwdUluZm8tDQo+ ID4gPiA+ID5EaXNwbGF5TW9kZWwpKSB7DQo+ID4gPiA+ID4gLSAgICAgIE1zckZlYXR1cmVDb25m aWcgPQ0KPiA+ID4gPiAoTVNSX1NBTkRZX0JSSURHRV9GRUFUVVJFX0NPTkZJR19SRUdJU1RFUiAq KSBDb25maWdEYXRhOw0KPiA+ID4gPiA+IC0gICAgICBBU1NFUlQgKE1zckZlYXR1cmVDb25maWcg IT0gTlVMTCk7DQo+ID4gPiA+ID4gLSAgICAgIE1zckZlYXR1cmVDb25maWdbUHJvY2Vzc29yTnVt YmVyXS5VaW50NjQgPSBBc21SZWFkTXNyNjQNCj4gPiA+ID4gKE1TUl9TQU5EWV9CUklER0VfRkVB VFVSRV9DT05GSUcpOw0KPiA+ID4gPiA+IC0gICAgfQ0KPiA+ID4gPiA+ICsgICAgTXNyRmVhdHVy ZUNvbmZpZyA9DQo+ID4gPiA+IChNU1JfU0FORFlfQlJJREdFX0ZFQVRVUkVfQ09ORklHX1JFR0lT VEVSICopIENvbmZpZ0RhdGE7DQo+ID4gPiA+ID4gKyAgICBBU1NFUlQgKE1zckZlYXR1cmVDb25m aWcgIT0gTlVMTCk7DQo+ID4gPiA+ID4gKyAgICBNc3JGZWF0dXJlQ29uZmlnW1Byb2Nlc3Nvck51 bWJlcl0uVWludDY0ID0gQXNtUmVhZE1zcjY0DQo+ID4gPiA+ID4gKyAoTVNSX1NBTkRZX0JSSURH RV9GRUFUVVJFX0NPTkZJRyk7DQo+ID4gPiA+ID4gICAgICByZXR1cm4gVFJVRTsNCj4gPiA+ID4g PiAgICB9DQo+ID4gPiA+ID4gICAgcmV0dXJuIEZBTFNFOw0KPiA+ID4gPiA+DQo+ID4gPiA+DQo+ ID4gPiA+IHRoZSBwYXRjaCBhbmQgdGhlIGJ1Z3ppbGxhIHRpY2tldCBjbGFpbSB0aGF0IHRoZSBB RVNOSSBiaXQncw0KPiA+ID4gPiBwcmVzZW5jZSBpbiBDUFVJRCBndWFyYW50ZWVzIHRoYXQgTVNS IDB4MTNDIGlzIGF2YWlsYWJsZS4NCj4gPiA+DQo+ID4gPiBUaGF0IGlzIHRoZSBjYXNlIHdlIG1l dC4gVGhlIHB1cnBvc2Ugb2YgdGhpcyBwYXRjaCBpcyB0byBtYWtlIHRoZQ0KPiA+ID4gY29kZSBt b3JlIHVzYWJsZS4NCj4gPiA+DQo+ID4gPiA+DQo+ID4gPiA+IEkgZG9uJ3Qgc2VlIHdoYXQgZ3Vh cmFudGVlcyB0aGlzLiBBY2NvcmRpbmcgdG8gdGhlIGxhdGVzdCBJbnRlbA0KPiA+ID4gPiBTRE0g Vm9sIDQsIHdoaWNoIEkganVzdCBkb3dubG9hZGVkICgzMzU1OTItMDY5VVMsIEphbnVhcnkgMjAx OSksDQo+ID4gPiA+IE1TUl9GRUFUVVJFX0NPTkZJRyBpcyBhdmFpbGFibGUgb24gdGhlIGZvbGxv d2luZyAoRGlzcGxheUZhbWlseSwNCj4gPiA+ID4gRGlzcGxheU1vZGVsKSBwYWlyczoNCj4gPiA+ ID4NCj4gPiA+ID4gLSAwNl8zN0gsIDA2XzRBSCwgMDZfNERILCAwNl81QUgsIDA2XzVESCwgMDZf NUNILCAwNl83QUgNCj4gPiA+ID4gLSAwNl8yNUgsIDA2XzJDSA0KPiA+ID4gPiAtIDA2XzJGSA0K PiA+ID4gPiAtIDA2XzJBSCwgMDZfMkRIDQo+ID4gPiA+IC0gMDZfNTdIDQo+ID4gPg0KPiA+ID4g WWVzLCByaWdodC4NCj4gPiA+DQo+ID4gPiBMZXQgbWUgc2hvdyBzb21lIGV4YW1wbGVzIGZvciB0 aGUgZ2VuZXJhdGlvbnMgbm90IGluIHRoZSBsaXN0IGFib3ZlLg0KPiA+ID4NCj4gPiA+IDEuIE1T UiAweDEzQyBpcyBhdmFpbGFibGU6IG91ciBzb21lIGludGVybmFsIGdlbmVyYXRpb25zIGFyZSBp biB0aGlzIGNhc2UuDQo+ID4gPiBXaXRob3V0IHRoZSBwYXRjaCwgY29kZSBuZWVkcyB0byB1c2Ug ZnVuY3Rpb24gbGV2ZWwgb3ZlcnJpZGUgbWV0aG9kDQo+ID4gPiBpbiBhIENwdVNwZWNpZmljRmVh dHVyZXNMaWIuDQo+ID4gPiAgICAgU3RhdHVzID0gUmVnaXN0ZXJDcHVGZWF0dXJlICgNCj4gPiA+ ICAgICAgICAgICAgICAgICJBRVNOSSIsDQo+ID4gPiAgICAgICAgICAgICAgICBOVUxMLCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVXNlIGNvcmUgZnVuY3Rpb24N Cj4gPiA+ICAgICAgICAgICAgICAgIFNwZWNpZmljQWVzbmlTdXBwb3J0LCAgICAgICAgICAgICAg ICAgICAgICAgICAvLyBPdmVycmlkZSBjb3JlIGZ1bmN0aW9uDQo+ID4gPiAgICAgICAgICAgICAg ICBOVUxMLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVXNlIGNv cmUgZnVuY3Rpb24NCj4gPiA+ICAgICAgICAgICAgICAgIENQVV9GRUFUVVJFX0FFU05JLA0KPiA+ ID4gICAgICAgICAgICAgICAgQ1BVX0ZFQVRVUkVfRU5EDQo+ID4gPiAgICAgICAgICAgICAgICAp Ow0KPiA+ID4gV2l0aCB0aGUgcGF0Y2gsIHRoZSBmdW5jdGlvbiBsZXZlbCBvdmVycmlkZSB3aWxs IGJlIG5vdCBuZWVkZWQuIFRoZQ0KPiA+ID4gYmVuZWZpdCBvZiB0aGlzIHBhdGNoIGlzIGhlcmUu DQo+ID4gPg0KPiA+ID4gMi4gTVNSIDB4MTNDIGlzIG5vdCBhdmFpbGFibGU6IGxldCdzIGFzc3Vt ZSBzb21lIG90aGVyIE1TUiB3aWxsIGJlDQo+ID4gPiBhdmFpbGFibGUgZm9yIHRoZSBjYXNlLg0K PiA+ID4gV2l0aG91dCBvciB3aXRoIHRoZSBwYXRjaCwgY29kZXMgYm90aCBuZWVkIHRvIHVzZSBm dW5jdGlvbiBsZXZlbA0KPiA+ID4gb3ZlcnJpZGUgbWV0aG9kIGluIGEgQ3B1U3BlY2lmaWNGZWF0 dXJlc0xpYi4NCj4gPiA+ICAgICBTdGF0dXMgPSBSZWdpc3RlckNwdUZlYXR1cmUgKA0KPiA+ID4g ICAgICAgICAgICAgICAgIkFFU05JIiwNCj4gPiA+ICAgICAgICAgICAgICAgIE5VTEwsICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBVc2UgY29yZSBmdW5jdGlvbg0K PiA+ID4gICAgICAgICAgICAgICAgU3BlY2lmaWNBZXNuaVN1cHBvcnQsICAgICAgICAgICAgICAg ICAgICAgICAgIC8vIE92ZXJyaWRlIGNvcmUgZnVuY3Rpb24NCj4gPiA+ICAgICAgICAgICAgICAg IFNwZWNpZmljQWVzbmlJbml0aWFsaXplLCAgICAgICAgICAgICAgICAgICAgICAgICAvLyBPdmVy cmlkZSBjb3JlIGZ1bmN0aW9uDQo+ID4gPiAgICAgICAgICAgICAgICBDUFVfRkVBVFVSRV9BRVNO SSwNCj4gPiA+ICAgICAgICAgICAgICAgIENQVV9GRUFUVVJFX0VORA0KPiA+ID4gICAgICAgICAg ICAgICAgKTsNCj4gPiA+DQo+ID4gPg0KPiA+ID4gVGhhbmtzLA0KPiA+ID4gU3Rhcg0KPiA+ID4N Cj4gPiA+ID4NCj4gPiA+ID4gV2hpY2ggc2VlbXMgdG8gaW5kaWNhdGUgdGhhdCBhdCBsZWFzdCAq dGhlIGFwcHJvYWNoKiBvZiB0aGUNCj4gPiA+ID4gb3JpZ2luYWwgY29kZSAtLSBpLmUuIHRoZSBm YW1pbHkvbW9kZWwgY2hlY2tpbmcgLS0gaXMgY29ycmVjdC4NCj4gPiA+ID4gKEl0J3MgcG9zc2li bGUgdGhhdCB0aGUgZmFtaWx5L21vZGVsIGxpc3QgaGFzIHRvIGJlIGV4dGVuZGVkIGZyb20NCj4g PiA+ID4gdGltZSB0byB0aW1lLCBvZg0KPiA+ID4gPiBjb3Vyc2UuKQ0KPiA+ID4gPg0KPiA+ID4g PiBBbnl3YXksIEkgZG9uJ3QgaW50ZW5kIHRvIGJsb2NrIHRoaXMgcGF0Y2g7IE9WTUYgZG9lcyBu b3QgdXNlDQo+ID4gPiA+IENwdUNvbW1vbkZlYXR1cmVzTGliLCBzbyB0aGlzIGNoYW5nZSBjYW5u b3QgcmVncmVzcyBpdC4gSSB3aWxsIGxldA0KPiA+ID4gPiBvdGhlciBVZWZpQ3B1UGtnIHJldmll d2VycyBkZWNpZGUgYWJvdXQgdGhpcyBwYXRjaC4NCj4gPiA+ID4NCj4gPiA+ID4gVGhhbmtzIQ0K PiA+ID4gPiBMYXN6bG8NCj4gPiA+ID4NCj4gPiA+ID4gDQoNCg==