From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 428D320D2C3B9 for ; Mon, 27 Mar 2017 19:25:07 -0700 (PDT) Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga104.jf.intel.com with ESMTP; 27 Mar 2017 19:25:07 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.36,234,1486454400"; d="scan'208,217";a="948841260" Received: from fmsmsx104.amr.corp.intel.com ([10.18.124.202]) by orsmga003.jf.intel.com with ESMTP; 27 Mar 2017 19:25:06 -0700 Received: from fmsmsx117.amr.corp.intel.com (10.18.116.17) by fmsmsx104.amr.corp.intel.com (10.18.124.202) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 27 Mar 2017 19:25:06 -0700 Received: from shsmsx101.ccr.corp.intel.com (10.239.4.153) by fmsmsx117.amr.corp.intel.com (10.18.116.17) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 27 Mar 2017 19:25:05 -0700 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.212]) by SHSMSX101.ccr.corp.intel.com ([169.254.1.224]) with mapi id 14.03.0248.002; Tue, 28 Mar 2017 10:25:03 +0800 From: "Fan, Jeff" To: "Duran, Leo" , Brijesh Singh CC: Laszlo Ersek , "Kinney, Michael D" , "Justen, Jordan L" , "edk2-devel@ml01.01.org" , "Gao, Liming" , "Singh, Brijesh" , "Lendacky, Thomas" Thread-Topic: [edk2] [RFC PATCH v2 01/10] OvmfPkg/Include: Define SEV specific CPUID and MSR Thread-Index: AQHSoofpt+VCu4Tce0u/TsD9XVsXI6GggJ+AgAGJ7HD//5dyAIAGtpwg//+/QACAAVriIP//lXGAABDxcJA= Date: Tue, 28 Mar 2017 02:25:02 +0000 Message-ID: <542CF652F8836A4AB8DBFAAD40ED192A4C57D124@shsmsx102.ccr.corp.intel.com> References: <149013076154.27235.10725020825643505862.stgit@brijesh-build-machine> <149013076888.27235.3173588515291478806.stgit@brijesh-build-machine> <542CF652F8836A4AB8DBFAAD40ED192A4C569A29@shsmsx102.ccr.corp.intel.com> <542CF652F8836A4AB8DBFAAD40ED192A4C57C672@shsmsx102.ccr.corp.intel.com> <542CF652F8836A4AB8DBFAAD40ED192A4C57CDDD@shsmsx102.ccr.corp.intel.com> In-Reply-To: Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiNzU4NGUxMmItNTkyYi00ZGJkLWE5NmUtYWI5MzRmMzk1Yjc0IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE1LjkuNi42IiwiVHJ1c3RlZExhYmVsSGFzaCI6IkRWZ3pLdFd6RmxvcTFnalhjeHZmTkN2MFFwSEc4TDZWSHNxeXZkQklLMlk9In0= x-ctpclassification: CTP_IC x-originating-ip: [10.239.127.40] MIME-Version: 1.0 X-Content-Filtered-By: Mailman/MimeDel 2.1.22 Subject: Re: [RFC PATCH v2 01/10] OvmfPkg/Include: Define SEV specific CPUID and MSR X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Mar 2017 02:25:07 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 TGVvLA0KDQpZZXMuIEkgZ290IHlvdXIgbWFpbC4NCg0KVGhpcyBpcyBteSBzdWdnZXN0aW9uIGFs c28uDQoNClRoYW5rcyENCkplZmYNCg0KRnJvbTogRHVyYW4sIExlbyBbbWFpbHRvOmxlby5kdXJh bkBhbWQuY29tXQ0KU2VudDogVHVlc2RheSwgTWFyY2ggMjgsIDIwMTcgMTA6MTkgQU0NClRvOiBG YW4sIEplZmY7IEJyaWplc2ggU2luZ2gNCkNjOiBMYXN6bG8gRXJzZWs7IEtpbm5leSwgTWljaGFl bCBEOyBKdXN0ZW4sIEpvcmRhbiBMOyBlZGsyLWRldmVsQG1sMDEuMDEub3JnOyBHYW8sIExpbWlu ZzsgU2luZ2gsIEJyaWplc2g7IExlbmRhY2t5LCBUaG9tYXMNClN1YmplY3Q6IFJFOiBbZWRrMl0g W1JGQyBQQVRDSCB2MiAwMS8xMF0gT3ZtZlBrZy9JbmNsdWRlOiBEZWZpbmUgU0VWIHNwZWNpZmlj IENQVUlEIGFuZCBNU1INCg0KSmVmZiwNClBlcmhhcHMgeW91IG1pc3NlZCBteSByZXNwb25zZSB0 byB0aGlzIGVhcmxpZXIgdG9kYXnigKYgSGVyZSBpdCBpcyBhZ2FpbjoNCkxlbw0KDQoNCkdpdmVu IHRoYXQ6DQoNCjEpIFVlZmlDcHVQa2cvSW5jbHVkZS9SZWdpc3Rlci9DcHVpZC5oLi4uIERvZXMg cmVmZXJlbmNlIGFuIEludGVsIFNETQ0KDQoyKSBVZWZpQ3B1UGtnL0luY2x1ZGUvUmVnaXN0ZXIv TXNyLi4uIEluY2x1ZGVzIGludGVsIFNvQydzDQoNCg0KDQpJIHZvdGUgZm9yOg0KDQoxKSBVZWZp Q3B1UGtnL0luY2x1ZGUvUmVnaXN0ZXIvQW1kL0NwdWlkLmgNCg0KMikgVWVmaUNwdVBrZy9JbmNs dWRlL1JlZ2lzdGVyL0FtZC9Nc3IuaCArIFVlZmlDcHVQa2cvSW5jbHVkZS9SZWdpc3Rlci9BbWQv TXNyL1h4eE1zci5oDQoNCg0KDQpMZW8uDQoNCg0KRnJvbTogRmFuLCBKZWZmIFttYWlsdG86amVm Zi5mYW5AaW50ZWwuY29tXQ0KU2VudDogTW9uZGF5LCBNYXJjaCAyNywgMjAxNyA3OjQ2IFBNDQpU bzogQnJpamVzaCBTaW5naCA8YnJpamVzaC5rc2luZ2hAZ21haWwuY29tPG1haWx0bzpicmlqZXNo LmtzaW5naEBnbWFpbC5jb20+Pg0KQ2M6IExhc3psbyBFcnNlayA8bGVyc2VrQHJlZGhhdC5jb208 bWFpbHRvOmxlcnNla0ByZWRoYXQuY29tPj47IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQu a2lubmV5QGludGVsLmNvbTxtYWlsdG86bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+PjsgSnVz dGVuLCBKb3JkYW4gTCA8am9yZGFuLmwuanVzdGVuQGludGVsLmNvbTxtYWlsdG86am9yZGFuLmwu anVzdGVuQGludGVsLmNvbT4+OyBlZGsyLWRldmVsQG1sMDEuMDEub3JnPG1haWx0bzplZGsyLWRl dmVsQG1sMDEuMDEub3JnPjsgR2FvLCBMaW1pbmcgPGxpbWluZy5nYW9AaW50ZWwuY29tPG1haWx0 bzpsaW1pbmcuZ2FvQGludGVsLmNvbT4+OyBEdXJhbiwgTGVvIDxsZW8uZHVyYW5AYW1kLmNvbTxt YWlsdG86bGVvLmR1cmFuQGFtZC5jb20+PjsgU2luZ2gsIEJyaWplc2ggPGJyaWplc2guc2luZ2hA YW1kLmNvbTxtYWlsdG86YnJpamVzaC5zaW5naEBhbWQuY29tPj47IExlbmRhY2t5LCBUaG9tYXMg PFRob21hcy5MZW5kYWNreUBhbWQuY29tPG1haWx0bzpUaG9tYXMuTGVuZGFja3lAYW1kLmNvbT4+ DQpTdWJqZWN0OiBSRTogW2VkazJdIFtSRkMgUEFUQ0ggdjIgMDEvMTBdIE92bWZQa2cvSW5jbHVk ZTogRGVmaW5lIFNFViBzcGVjaWZpYyBDUFVJRCBhbmQgTVNSDQoNCkJyaWplc2gsDQoNClVlZmlD cHVQa2cvSW5jbHVkZS9SZWdpc3Rlci9DcHVpZC5oIGRlY2xhcmVkIHRvIHN1cHBvcnQgb25lIHZl cnNpb24gb2YgSW50ZWwgU0RNLg0KDQpCZWZvcmUgdGhlIG5ldyBTRE0gcHVibGlzaGluZywgd2Ug Y2Fubm90IGFzc3VtZSB3aGF0IENQVUlEIG5hbWluZyBhbmQgZGVmaW5pdGlvbnMgYXJlLg0KSWYg bmV3IFNETSBhZG9wdHMgdGhlIGV4YWN0bHkgc2FtZSBkZWZpbml0aW9ucyBvZiBDUFVJRCBpbiB0 aGUgZnV0dXJlLCB3ZSBjb3VsZCBzaW1wbHkgaW5jbHVkZSBVZWZpQ3B1UGtnL0luY2x1ZGUvUmVn aXN0ZXIvQ3B1aWQuaCBhbmQgcmVtb3ZlIG9sZCBkZWZpbml0aW9ucy4NCg0KVGhhbmtzIQ0KSmVm Zg0KDQpGcm9tOiBCcmlqZXNoIFNpbmdoIFttYWlsdG86YnJpamVzaC5rc2luZ2hAZ21haWwuY29t XQ0KU2VudDogTW9uZGF5LCBNYXJjaCAyNywgMjAxNyA3OjU5IFBNDQpUbzogRmFuLCBKZWZmDQpD YzogTGFzemxvIEVyc2VrOyBLaW5uZXksIE1pY2hhZWwgRDsgSnVzdGVuLCBKb3JkYW4gTDsgZWRr Mi1kZXZlbEBtbDAxLjAxLm9yZzxtYWlsdG86ZWRrMi1kZXZlbEBtbDAxLjAxLm9yZz47IEdhbywg TGltaW5nOyBsZW8uZHVyYW5AYW1kLmNvbTxtYWlsdG86bGVvLmR1cmFuQGFtZC5jb20+OyBicmlq ZXNoLnNpbmdoQGFtZC5jb208bWFpbHRvOmJyaWplc2guc2luZ2hAYW1kLmNvbT47IFRob21hcy5M ZW5kYWNreUBhbWQuY29tPG1haWx0bzpUaG9tYXMuTGVuZGFja3lAYW1kLmNvbT4NClN1YmplY3Q6 IFJlOiBbZWRrMl0gW1JGQyBQQVRDSCB2MiAwMS8xMF0gT3ZtZlBrZy9JbmNsdWRlOiBEZWZpbmUg U0VWIHNwZWNpZmljIENQVUlEIGFuZCBNU1INCg0KDQoNCk9uIE1vbiwgTWFyIDI3LCAyMDE3IGF0 IDI6NTcgQU0sIEZhbiwgSmVmZiA8amVmZi5mYW5AaW50ZWwuY29tPG1haWx0bzpqZWZmLmZhbkBp bnRlbC5jb20+PiB3cm90ZToNCkxhc3psbywNCg0KT25lIEFtZCBkaXJlY3RvcnkgdW5kZXIgVWVm aUNwdVBrZy9JbmNsdWRlL1JlZ2lzdGVyIGlzIGJldHRlci4NCg0KRG9lcyBCcmlqZXNoL0xlbyBo YXZlIGFueSBjb21tZW50cywgb3IgaGF2ZSBvdGhlciBzdWdnZXN0aW9ucz8NCg0KDQoNCkkgYW0g bm90IHN1cmUgaWYgY3JlYXRpbmcgYSBuZXcgVWVmaUNwdVBrZy9JbmNsdWRlL1JlZ2lzdGVyL0Ft ZC9DcHVpZCBpcyBhIGdvb2QgaWRlYSwgQ1BVSUQgRm44MDAwXzAwMUYNCmxlYWYgY2FuIGdvIGlu IFVlZmlDcHVQa2cvSW5jbHVkZS9SZWdpc3Rlci9DcHVpZC5oLiBMb29raW5nIGF0IFVlZmlDcHVQ a2cvSW5jbHVkZS9SZWdpc3Rlci9DcHVpZC5oIGluZGljYXRlcw0KdGhhdCB0aGlzIGZpbGUgZGVm aW5lcyB0aGUgc3RhbmRhcmQgeDg2IENQVUlEJ3MuIFRoZSBkZWZpbml0aW9uIG9mIENQVUlEJ3Mg bGlzdGVkIGluIHRoaXMgZmlsZSBhcmUgc2FtZSBvbiBib3RoIEludGVsDQphbmQgQU1EIHBsYXRm b3Jtcy4gSSB3YXMgdG9sZCBieSBvdXIgYXJjaGl0ZWN0dXJlIHRlYW0gdGhhdCBpZiBJbnRlbCBl dmVyIGRlY2lkZXMgdG8gc3VwcG9ydCB0aGUgbmV3IGxlYWYgdGhlbiBpdCB3aWxsDQpjb21wbHkg dG8gdGhlIGV4YWN0IHNhbWUgYml0IGRlZmluaXRpb24uDQoNCkkgYW0gYSBiaXQgdW5zdXJlIGFi b3V0IHdoZXJlIHRoZSBNU1JfU0VWX1NUQVRVUyBzaG91bGQgZ28sIG9uZSBwYXJ0IG9mIG1lIHRo aW5rcyB0aGF0IHRoaXMgTVNSIHNob3VsZCBiZQ0KZGVmaW5lZCBpbiBPdm1mUGtnIGFuZCBvdGhl ciBwYXJ0IHRoaW5rcyB0aGF0IGl0IGNhbiBnbyBpbnRvIFVlZmlDcHVQa2cvSW5jbHVkZS9BbWQv TXNyLmguIEl0IGlzIGEgcmVhZC1vbmx5IE1TUg0KYW5kIGhhcyBtZWFuaW5nIGluIGEgdmlydHVh bGl6YXRpb24gY29udGV4dCBoZW5jZSBJIHdhcyBtb3JlIGluY2xpbmVkIHRvd2FyZHMgZGVmaW5p bmcgaW50byBPdm1mUGtnIGluc3RlYWQgb2YgVWVmaUNwdVBrZy4NCg0KTGVvLCAgYW55IGNvbW1l bnRzL3N1Z2dlc3Rpb25zID8NCg0KLUJyaWplc2gNCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0t LS0NCkZyb206IExhc3psbyBFcnNlayBbbWFpbHRvOmxlcnNla0ByZWRoYXQuY29tPG1haWx0bzps ZXJzZWtAcmVkaGF0LmNvbT5dDQpTZW50OiBUaHVyc2RheSwgTWFyY2ggMjMsIDIwMTcgNToyMCBQ TQ0KVG86IEZhbiwgSmVmZjsgQnJpamVzaCBTaW5naDsgS2lubmV5LCBNaWNoYWVsIEQ7IEp1c3Rl biwgSm9yZGFuIEw7IGVkazItZGV2ZWxAbWwwMS4wMS5vcmc8bWFpbHRvOmVkazItZGV2ZWxAbWww MS4wMS5vcmc+OyBHYW8sIExpbWluZw0KQ2M6IGxlby5kdXJhbkBhbWQuY29tPG1haWx0bzpsZW8u ZHVyYW5AYW1kLmNvbT47IGJyaWplc2guc2luZ2hAYW1kLmNvbTxtYWlsdG86YnJpamVzaC5zaW5n aEBhbWQuY29tPjsgVGhvbWFzLkxlbmRhY2t5QGFtZC5jb208bWFpbHRvOlRob21hcy5MZW5kYWNr eUBhbWQuY29tPg0KU3ViamVjdDogUmU6IFtlZGsyXSBbUkZDIFBBVENIIHYyIDAxLzEwXSBPdm1m UGtnL0luY2x1ZGU6IERlZmluZSBTRVYgc3BlY2lmaWMgQ1BVSUQgYW5kIE1TUg0KDQpPbiAwMy8y My8xNyAwODo0MiwgRmFuLCBKZWZmIHdyb3RlOg0KPiBMYXN6bG8sDQo+DQo+IFVlZmlDcHVQa2cv SW5jbHVkZS9SZWdpc3Rlci9DcHVpZC5oIGRlZmluZWQgdGhlIENQVUlEIG9ubHkgZGVzY3JpYmVk IGluIElBMzIgU0RNLg0KPiBVZWZpQ3B1UGtnL0luY2x1ZGUvUmVnaXN0ZXIvQXJjaGl0ZWN0dXJh bE1zci5oIGRlZmluZWQgdGhlIElBMzINCj4gQXJjaGl0ZWN0dXJhbCBNU1JzIGluIElBMzIgU0RN IFVlZmlDcHVQa2cvSW5jbHVkZS9SZWdpc3Rlci9Nc3IveHh4eE1zci5oIGRlZmluZWQgdGhlIElB MzIgTW9kZWwtc3BlY2lmaWMgTVNScyBpbiBJQTMyIFNETS4NCj4NCj4gSSBhbSBub3Qgc3VyZSBp ZiBCcmlqZXNoL0xlbyBoYXMgc29tZSBpZGVhIHRvIHBsYWNlIFNFViBzcGVjaWZpYyBDUFVJRC9N U1JzIGRlZmluaXRpb25zLg0KPiBJIHRoaW5rIG9uZSBuZXcgZmlsZSBvciBuZXcgZm9sZGVyIGlz IGJldHRlci4NCg0KSSBhZ3JlZSwgYm90aCB3b3VsZCB3b3JrIGZvciBtZS4gTXkgbWFpbiBwb2lu dCBpcyB0aGF0IHRoaXMgZmVhdHVyZSBkZXBlbmRzIG9uIHBoeXNpY2FsIHByb2Nlc3NvciBhdHRy aWJ1dGVzLCBub3Qgb24gZW11bGF0ZWQgKHZpcnR1YWwpIGhhcmR3YXJlIG9yIG9uIHZhcmlvdXMg aHlwZXJ2aXNvcnMsIHBsdXMgaXQgaXMgZGVmaW5lZCBpbiBhIHB1YmxpYyBpbmR1c3RyeSBzcGVj LCBzbyBpdCBzZWVtcyB0byBiZWxvbmcgdW5kZXIgVWVmaUNwdVBrZywgbm90IE92bWZQa2cuDQoN CkhvdyBhYm91dA0KDQogIFVlZmlDcHVQa2cvSW5jbHVkZS9BbWRSZWdpc3Rlci9DcHVpZC5oDQog IFVlZmlDcHVQa2cvSW5jbHVkZS9BbWRSZWdpc3Rlci9BcmNoaXRlY3R1cmFsTXNyLmgNCiAgVWVm aUNwdVBrZy9JbmNsdWRlL0FtZFJlZ2lzdGVyL01zci94eHh4TXNyLmgNCg0Kb3IgZWxzZToNCg0K ICBVZWZpQ3B1UGtnL0luY2x1ZGUvUmVnaXN0ZXIvQW1kL0NwdWlkLmgNCiAgVWVmaUNwdVBrZy9J bmNsdWRlL1JlZ2lzdGVyL0FtZC9BcmNoaXRlY3R1cmFsTXNyLmgNCiAgVWVmaUNwdVBrZy9JbmNs dWRlL1JlZ2lzdGVyL0FtZC9Nc3IveHh4eE1zci5oDQoNCihhcyBhcHByb3ByaWF0ZSAtLSBJJ20g bm90IHNheWluZyB0aGF0IHRoaXMgcGF0Y2ggc2hvdWxkIGNyZWF0ZSBhbGwgb2YgdGhlc2UgZmls ZXMgLyBzdWJkaXJlY3RvcmllcyBhdCBvbmNlKS4NCg0KVGhhbmtzDQpMYXN6bG8NCj4NCj4gLS0t LS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogZWRrMi1kZXZlbCBbbWFpbHRvOmVkazIt ZGV2ZWwtYm91bmNlc0BsaXN0cy4wMS5vcmc8bWFpbHRvOmVkazItZGV2ZWwtYm91bmNlc0BsaXN0 cy4wMS5vcmc+XSBPbiBCZWhhbGYgT2YNCj4gTGFzemxvIEVyc2VrDQo+IFNlbnQ6IFRodXJzZGF5 LCBNYXJjaCAyMywgMjAxNyAxMjowNCBBTQ0KPiBUbzogQnJpamVzaCBTaW5naDsgS2lubmV5LCBN aWNoYWVsIEQ7IEp1c3RlbiwgSm9yZGFuIEw7DQo+IGVkazItZGV2ZWxAbWwwMS4wMS5vcmc8bWFp bHRvOmVkazItZGV2ZWxAbWwwMS4wMS5vcmc+OyBHYW8sIExpbWluZzsgRmFuLCBKZWZmDQo+IENj OiBsZW8uZHVyYW5AYW1kLmNvbTxtYWlsdG86bGVvLmR1cmFuQGFtZC5jb20+OyBicmlqZXNoLnNp bmdoQGFtZC5jb208bWFpbHRvOmJyaWplc2guc2luZ2hAYW1kLmNvbT47IFRob21hcy5MZW5kYWNr eUBhbWQuY29tPG1haWx0bzpUaG9tYXMuTGVuZGFja3lAYW1kLmNvbT4NCj4gU3ViamVjdDogUmU6 IFtlZGsyXSBbUkZDIFBBVENIIHYyIDAxLzEwXSBPdm1mUGtnL0luY2x1ZGU6IERlZmluZSBTRVYN Cj4gc3BlY2lmaWMgQ1BVSUQgYW5kIE1TUg0KPg0KPiBBZGRpbmcgSmVmZg0KPg0KPiBPbiAwMy8y MS8xNyAyMjoxMiwgQnJpamVzaCBTaW5naCB3cm90ZToNCj4+IFRoZSBwYXRjaCBkZWZpbmVzIEFN RCdzIE1lbW9yeSBFbmNyeXB0aW9uIEluZm9ybWF0aW9uIENQVUlEIGxlYWYgKDB4ODAwMF8wMDFG KS4NCj4+IFRoZSBjb21wbGV0ZSBkZXNjcmlwdGlvbiBmb3IgdGhpcyBDUFVJRCBsZWFmIGlzIGF2 YWlsYWJsZSBpbiBBUE0NCj4+IHZvbHVtZSAyIFsxXSBTZWN0aW9uIDE1LjM0IChTZWN1cmUgRW5j cnlwdGVkIFZpcnR1YWxpemF0aW9uKS4NCj4+DQo+PiBbMV0gaHR0cDovL3N1cHBvcnQuYW1kLmNv bS9UZWNoRG9jcy8yNDU5My5wZGYNCj4+DQo+PiBTaWduZWQtb2ZmLWJ5OiBCcmlqZXNoIFNpbmdo IDxicmlqZXNoLnNpbmdoQGFtZC5jb208bWFpbHRvOmJyaWplc2guc2luZ2hAYW1kLmNvbT4+DQo+ PiAtLS0NCj4+ICBPdm1mUGtnL0luY2x1ZGUvUmVnaXN0ZXIvQW1kU2V2TWFwLmggfCAgMTMzDQo+ PiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrDQo+PiAgMSBmaWxlIGNoYW5nZWQs IDEzMyBpbnNlcnRpb25zKCspDQo+PiAgY3JlYXRlIG1vZGUgMTAwNjQ0IE92bWZQa2cvSW5jbHVk ZS9SZWdpc3Rlci9BbWRTZXZNYXAuaA0KPj4NCj4+IGRpZmYgLS1naXQgYS9Pdm1mUGtnL0luY2x1 ZGUvUmVnaXN0ZXIvQW1kU2V2TWFwLmgNCj4+IGIvT3ZtZlBrZy9JbmNsdWRlL1JlZ2lzdGVyL0Ft ZFNldk1hcC5oDQo+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPj4gaW5kZXggMDAwMDAwMC4uZGU4 MGYzOQ0KPj4gLS0tIC9kZXYvbnVsbA0KPj4gKysrIGIvT3ZtZlBrZy9JbmNsdWRlL1JlZ2lzdGVy L0FtZFNldk1hcC5oDQo+PiBAQCAtMCwwICsxLDEzMyBAQA0KPj4gKy8qKiBAZmlsZQ0KPj4gKw0K Pj4gK0FNRCBTZWN1cmUgRW5jcnlwdGVkIFZpcnR1YWxpemF0aW9uIChTRVYpIHNwZWNpZmljIENQ VUlEIGFuZCBNU1INCj4+ICtkZWZpbml0aW9ucw0KPj4gKw0KPj4gK1RoZSBjb21wbGV0ZSBkZXNj cmlwdGlvbiBmb3IgdGhpcyBDUFVJRCBsZWFmIGlzIGF2YWlsYWJsZSBpbiBBUE0NCj4+ICt2b2x1 bWUgMiAoU2VjdGlvbiAxNS4zNCkgaHR0cDovL3N1cHBvcnQuYW1kLmNvbS9UZWNoRG9jcy8yNDU5 My5wZGYNCj4+ICsNCj4+ICtDb3B5cmlnaHQgKGMpIDIwMTcsIEFkdmFuY2VkIE1pY3JvIERldmlj ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPj4gKw0KPj4gK1RoaXMgcHJvZ3JhbSBhbmQg dGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIGxpY2Vuc2VkIGFuZCBtYWRlDQo+PiArYXZh aWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0aGUgQlNEIExpY2Vuc2Ug d2hpY2gNCj4+ICthY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbi4gIFRoZSBmdWxsIHRleHQg b2YgdGhlIGxpY2Vuc2UgbWF5IGJlDQo+PiArZm91bmQgYXQgaHR0cDovL29wZW5zb3VyY2Uub3Jn L2xpY2Vuc2VzL2JzZC1saWNlbnNlLnBocA0KPj4gKw0KPj4gK1RIRSBQUk9HUkFNIElTIERJU1RS SUJVVEVEIFVOREVSIFRIRSBCU0QgTElDRU5TRSBPTiBBTiAiQVMgSVMiDQo+PiArQkFTSVMsIFdJ VEhPVVQgV0FSUkFOVElFUyBPUiBSRVBSRVNFTlRBVElPTlMgT0YgQU5ZIEtJTkQsIEVJVEhFUiBF WFBSRVNTIE9SIElNUExJRUQuDQo+PiArDQo+PiArKiovDQo+PiArDQo+PiArI2lmbmRlZiBfX0FN RF9TRVZfTUFQX0hfXw0KPj4gKyNkZWZpbmUgX19BTURfU0VWX01BUF9IX18NCj4+ICsNCj4+ICsj cHJhZ21hIHBhY2sgKDEpDQo+PiArDQo+PiArI2RlZmluZSBDUFVJRF9NRU1PUllfRU5DUllQVElP Tl9JTkZPICAgICAgICAgICAgIDB4ODAwMDAwMUYNCj4+ICsNCj4+ICsvKioNCj4+ICsgIENQVUlE IE1lbW9yeSBFbmNyeXB0aW9uIHN1cHBvcnQgaW5mb3JtYXRpb24gRUFYIGZvciBDUFVJRCBsZWFm DQo+PiArICAjQ1BVSURfTUVNT1JZX0VOQ1JZUFRJT05fSU5GTy4NCj4+ICsqKi8NCj4+ICt0eXBl ZGVmIHVuaW9uIHsNCj4+ICsgIC8vLw0KPj4gKyAgLy8vIEluZGl2aWR1YWwgYml0IGZpZWxkcw0K Pj4gKyAgLy8vDQo+PiArICBzdHJ1Y3Qgew0KPj4gKyAgICAvLy8NCj4+ICsgICAgLy8vIFtCaXQg MF0gU2VjdXJlIE1lbW9yeSBFbmNyeXB0aW9uIChTbWUpIFN1cHBvcnQNCj4+ICsgICAgLy8vDQo+ PiArICAgIFVJTlQzMiAgU21lQml0OjE7DQo+PiArDQo+PiArICAgIC8vLw0KPj4gKyAgICAvLy8g W0JpdCAxXSBTZWN1cmUgRW5jcnlwdGVkIFZpcnR1YWxpemF0aW9uIChTZXYpIFN1cHBvcnQNCj4+ ICsgICAgLy8vDQo+PiArICAgIFVJTlQzMiAgU2V2Qml0OjE7DQo+PiArDQo+PiArICAgIC8vLw0K Pj4gKyAgICAvLy8gW0JpdCAyXSBQYWdlIGZsdXNoIE1TUiBzdXBwb3J0DQo+PiArICAgIC8vLw0K Pj4gKyAgICBVSU5UMzIgIFBhZ2VGbHVzaE1zckJpdDoxOw0KPj4gKw0KPj4gKyAgICAvLy8NCj4+ ICsgICAgLy8vIFtCaXQgM10gRW5jcnlwdGVkIHN0YXRlIHN1cHBvcnQNCj4+ICsgICAgLy8vDQo+ PiArICAgIFVJTlQzMiAgU2V2RXNCaXQ6MTsNCj4+ICsNCj4+ICsgICAgLy8vDQo+PiArICAgIC8v LyBbQml0IDQ6MzFdIFJlc2VydmVkDQo+PiArICAgIC8vLw0KPj4gKyAgICBVSU5UMzIgIFJlc2Vy dmVkQml0czoyODsNCj4+ICsgIH0gQml0czsNCj4+ICsgIC8vLw0KPj4gKyAgLy8vIEFsbCBiaXQg ZmllbGRzIGFzIGEgMzItYml0IHZhbHVlDQo+PiArICAvLy8NCj4+ICsgIFVJTlQzMiAgVWludDMy Ow0KPj4gK30gQ1BVSURfTUVNT1JZX0VOQ1JZUFRJT05fSU5GT19FQVg7DQo+PiArDQo+PiArLyoq DQo+PiArICBDUFVJRCBNZW1vcnkgRW5jcnlwdGlvbiBzdXBwb3J0IGluZm9ybWF0aW9uIEVCWCBm b3IgQ1BVSUQgbGVhZg0KPj4gKyAgI0NQVUlEX01FTU9SWV9FTkNSWVBUSU9OX0lORk8uDQo+PiAr KiovDQo+PiArdHlwZWRlZiB1bmlvbiB7DQo+PiArICAvLy8NCj4+ICsgIC8vLyBJbmRpdmlkdWFs IGJpdCBmaWVsZHMNCj4+ICsgIC8vLw0KPj4gKyAgc3RydWN0IHsNCj4+ICsgICAgLy8vDQo+PiAr ICAgIC8vLyBbQml0IDA6NV0gUGFnZSB0YWJsZSBiaXQgbnVtYmVyIHVzZWQgdG8gZW5hYmxlIG1l bW9yeSBlbmNyeXB0aW9uDQo+PiArICAgIC8vLw0KPj4gKyAgICBVSU5UMzIgIFB0ZVBvc0JpdHM6 NjsNCj4+ICsNCj4+ICsgICAgLy8vDQo+PiArICAgIC8vLyBbQml0IDY6MTFdIFJlZHVjdGlvbiBv ZiBzeXN0ZW0gcGh5c2ljYWwgYWRkcmVzcyBzcGFjZSBiaXRzIHdoZW4gbWVtb3J5IGVuY3J5cHRp b24gaXMgZW5hYmxlZA0KPj4gKyAgICAvLy8NCj4+ICsgICAgVUlOVDMyICBSZWR1Y2VkUGh5c0Jp dHM6NTsNCj4+ICsNCj4+ICsgICAgLy8vDQo+PiArICAgIC8vLyBbQml0IDEyOjMxXSBSZXNlcnZl ZA0KPj4gKyAgICAvLy8NCj4+ICsgICAgVUlOVDMyICBSZXNlcnZlZEJpdHM6MjE7DQo+PiArICB9 IEJpdHM7DQo+PiArICAvLy8NCj4+ICsgIC8vLyBBbGwgYml0IGZpZWxkcyBhcyBhIDMyLWJpdCB2 YWx1ZQ0KPj4gKyAgLy8vDQo+PiArICBVSU5UMzIgIFVpbnQzMjsNCj4+ICt9IENQVUlEX01FTU9S WV9FTkNSWVBUSU9OX0lORk9fRUJYOw0KPj4gKw0KPj4gKy8qKg0KPj4gKyAgU2VjdXJlIEVuY3J5 cHRlZCBWaXJ0dWFsaXphdGlvbiAoU0VWKSBzdGF0dXMgcmVnaXN0ZXINCj4+ICsNCj4+ICsqKi8N Cj4+ICsjZGVmaW5lIE1TUl9TRVZfU1RBVFVTICAgICAgICAgICAgICAgICAgICAgMHhjMDAxMDEz MQ0KPj4gKw0KPj4gKy8qKg0KPj4gKyAgTVNSIGluZm9ybWF0aW9uIHJldHVybmVkIGZvciAjTVNS X1NFVl9TVEFUVVMgKiovIHR5cGVkZWYgdW5pb24gew0KPj4gKyAgLy8vDQo+PiArICAvLy8gSW5k aXZpZHVhbCBiaXQgZmllbGRzDQo+PiArICAvLy8NCj4+ICsgIHN0cnVjdCB7DQo+PiArICAgIC8v Lw0KPj4gKyAgICAvLy8gW0JpdCAwXSBTZWN1cmUgRW5jcnlwdGVkIFZpcnR1YWxpemF0aW9uIChT ZXYpIGlzIGVuYWJsZWQNCj4+ICsgICAgLy8vDQo+PiArICAgIFVJTlQzMiAgU2V2Qml0OjE7DQo+ PiArDQo+PiArICAgIC8vLw0KPj4gKyAgICAvLy8gW0JpdCAxXSBTZWN1cmUgRW5jcnlwdGVkIFZp cnR1YWxpemF0aW9uIEVuY3J5cHRlZCBTdGF0ZSAoU2V2RXMpIGlzIGVuYWJsZWQNCj4+ICsgICAg Ly8vDQo+PiArICAgIFVJTlQzMiAgU2V2RXNCaXQ6MTsNCj4+ICsNCj4+ICsgICAgVUlOVDMyICBS ZXNlcnZlZDozMDsNCj4+ICsgIH0gQml0czsNCj4+ICsgIC8vLw0KPj4gKyAgLy8vIEFsbCBiaXQg ZmllbGRzIGFzIGEgMzItYml0IHZhbHVlDQo+PiArICAvLy8NCj4+ICsgIFVJTlQzMiAgVWludDMy Ow0KPj4gKyAgLy8vDQo+PiArICAvLy8gQWxsIGJpdCBmaWVsZHMgYXMgYSA2NC1iaXQgdmFsdWUN Cj4+ICsgIC8vLw0KPj4gKyAgVUlOVDY0ICBVaW50NjQ7DQo+PiArfSBNU1JfU0VWX1NUQVRVU19S RUdJU1RFUjsNCj4+ICsNCj4+ICsjZW5kaWYNCj4+DQo+PiBfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXw0KPj4gZWRrMi1kZXZlbCBtYWlsaW5nIGxpc3QNCj4+ IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnPG1haWx0bzplZGsyLWRldmVsQGxpc3RzLjAxLm9yZz4N Cj4+IGh0dHBzOi8vbGlzdHMuMDEub3JnL21haWxtYW4vbGlzdGluZm8vZWRrMi1kZXZlbA0KPj4N Cj4NCj4gSSBmZWVsIHRoYXQgdGhlc2UgZGVmaW5pdGlvbnMgc2hvdWxkIGJlIGFkZGVkIHRvICJV ZWZpQ3B1UGtnL0luY2x1ZGUvUmVnaXN0ZXIvQ3B1aWQuaCIsIG9yIGVsc2UgdG8gYW5vdGhlciAo bmV3KSBoZWFkZXIgZmlsZSBpbiB0aGF0IGRpcmVjdG9yeS4NCj4NCj4gSmVmZiwgd2hhdCBkbyB5 b3UgdGhpbms/DQo+DQo+IFRoYW5rcyENCj4gTGFzemxvDQo+IF9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+IGVkazItZGV2ZWwgbWFpbGluZyBsaXN0DQo+ IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnPG1haWx0bzplZGsyLWRldmVsQGxpc3RzLjAxLm9yZz4N Cj4gaHR0cHM6Ly9saXN0cy4wMS5vcmcvbWFpbG1hbi9saXN0aW5mby9lZGsyLWRldmVsDQo+DQoN Cg0K