From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=134.134.136.31; helo=mga06.intel.com; envelope-from=jiewen.yao@intel.com; receiver=edk2-devel@lists.01.org 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 9E03021EA15C0 for ; Tue, 10 Oct 2017 18:22:03 -0700 (PDT) Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga104.jf.intel.com with ESMTP; 10 Oct 2017 18:25:31 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.43,359,1503385200"; d="scan'208,217";a="1180733219" Received: from fmsmsx108.amr.corp.intel.com ([10.18.124.206]) by orsmga001.jf.intel.com with ESMTP; 10 Oct 2017 18:25:30 -0700 Received: from FMSMSX110.amr.corp.intel.com (10.18.116.10) by FMSMSX108.amr.corp.intel.com (10.18.124.206) with Microsoft SMTP Server (TLS) id 14.3.319.2; Tue, 10 Oct 2017 18:25:30 -0700 Received: from shsmsx101.ccr.corp.intel.com (10.239.4.153) by fmsmsx110.amr.corp.intel.com (10.18.116.10) with Microsoft SMTP Server (TLS) id 14.3.319.2; Tue, 10 Oct 2017 18:25:29 -0700 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.175]) by SHSMSX101.ccr.corp.intel.com ([169.254.1.159]) with mapi id 14.03.0319.002; Wed, 11 Oct 2017 09:25:27 +0800 From: "Yao, Jiewen" To: Evan Lloyd , "edk2-devel@lists.01.org" CC: "\"Matteo.Carlini@arm.com\"@arm.com" <"Matteo.Carlini@arm.com"@arm.com>, "\"nd@arm.com\"@arm.com" <"nd@arm.com"@arm.com>, "\"ard.biesheuvel@linaro.org\"@arm.com" <"ard.biesheuvel@linaro.org"@arm.com>, "\"Stephanie.Hughes-Fitt@arm.com\"@arm.com" <"Stephanie.Hughes-Fitt@arm.com"@arm.com>, "\"thomas.abraham@arm.com\"@arm.com" <"thomas.abraham@arm.com"@arm.com>, "\"Arvind.Chauhan@arm.com\"@arm.com" <"Arvind.Chauhan@arm.com"@arm.com>, "\"leif.lindholm@linaro.org\"@arm.com" <"leif.lindholm@linaro.org"@arm.com>, "\"Daniil.Egranov@arm.com\"@arm.com" <"Daniil.Egranov@arm.com"@arm.com> Thread-Topic: [edk2] [PATCH 0/2] Dynamic Tables Thread-Index: AQHTO7djeQQIreRpJ06XOQr/pQI976LcWwYggACZJgCAAO7VQA== Date: Wed, 11 Oct 2017 01:25:27 +0000 Message-ID: <74D8A39837DF1E4DA445A8C0B3885C503A9D8AB0@shsmsx102.ccr.corp.intel.com> References: <20171002194753.4316-1-evan.lloyd@arm.com> <74D8A39837DF1E4DA445A8C0B3885C503A9D7016@shsmsx102.ccr.corp.intel.com> In-Reply-To: Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.0.0.116 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 X-Content-Filtered-By: Mailman/MimeDel 2.1.22 Subject: Re: [PATCH 0/2] Dynamic Tables 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: Wed, 11 Oct 2017 01:22:03 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VGhhbmsgeW91IQ0KDQpDb21tZW50IGluIGxpbmUuDQoNCg0KRnJvbTogZWRrMi1kZXZlbCBbbWFp bHRvOmVkazItZGV2ZWwtYm91bmNlc0BsaXN0cy4wMS5vcmddIE9uIEJlaGFsZiBPZiBFdmFuIExs b3lkDQpTZW50OiBXZWRuZXNkYXksIE9jdG9iZXIgMTEsIDIwMTcgMjo1MiBBTQ0KVG86IFlhbywg Smlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNvbT47IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnDQpD YzogIk1hdHRlby5DYXJsaW5pQGFybS5jb20iQGFybS5jb207ICJuZEBhcm0uY29tIkBhcm0uY29t OyAiYXJkLmJpZXNoZXV2ZWxAbGluYXJvLm9yZyJAYXJtLmNvbTsgIlN0ZXBoYW5pZS5IdWdoZXMt Rml0dEBhcm0uY29tIkBhcm0uY29tOyAidGhvbWFzLmFicmFoYW1AYXJtLmNvbSJAYXJtLmNvbTsg IkFydmluZC5DaGF1aGFuQGFybS5jb20iQGFybS5jb207ICJsZWlmLmxpbmRob2xtQGxpbmFyby5v cmciQGFybS5jb207ICJEYW5paWwuRWdyYW5vdkBhcm0uY29tIkBhcm0uY29tDQpTdWJqZWN0OiBS ZTogW2VkazJdIFtQQVRDSCAwLzJdIER5bmFtaWMgVGFibGVzDQoNCkhpIEppZXdlbg0KKEkgaG9w ZSB0aGF0IGlzIHlvdXIgcGVyc29uYWwgbmFtZSwgbm90IHlvdXIgc3VybmFtZSAtIGJ1dCBpdCBp cyBhIGJpdCBoYXJkIGZvciB1cyBiYXJiYXJpYW5zIHRvIHRlbGwsIHNvcnJ5LikNCg0KW0ppZXdl bl0gQWggc29ycnkgYWJvdXQgdGhhdC4gWW91IGFyZSByaWdodC4gSmlld2VuIGlzIG15IGdpdmVu IG5hbWUuIOKYug0KDQpUaGFuayB5b3UgZm9yIHRoZSB2ZXJ5IGhlbHBmdWwgZmVlZGJhY2suDQpS ZXNwb25zZXMgYXJlIGlubGluZSBiZWxvdy4NCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0t LQ0KPiBGcm9tOiBZYW8sIEppZXdlbiBbbWFpbHRvOmppZXdlbi55YW9AaW50ZWwuY29tXQ0KPiBT ZW50OiAxMCBPY3RvYmVyIDIwMTcgMDM6MjkNCj4gVG86IEV2YW4gTGxveWQgPEV2YW4uTGxveWRA YXJtLmNvbTxtYWlsdG86RXZhbi5MbG95ZEBhcm0uY29tPj47IGVkazItZGV2ZWxAbGlzdHMuMDEu b3JnPG1haWx0bzplZGsyLWRldmVsQGxpc3RzLjAxLm9yZz4NCj4gQ2M6ICJNYXR0ZW8uQ2FybGlu aUBhcm0uY29tIkBhcm0uY29tPG1haWx0bzolMjJNYXR0ZW8uQ2FybGluaUBhcm0uY29tJTIyQGFy bS5jb20+OyAibmRAYXJtLmNvbSJAYXJtLmNvbTxtYWlsdG86JTIybmRAYXJtLmNvbSUyMkBhcm0u Y29tPjsNCj4gImFyZC5iaWVzaGV1dmVsQGxpbmFyby5vcmciQGFybS5jb208bWFpbHRvOiUyMmFy ZC5iaWVzaGV1dmVsQGxpbmFyby5vcmclMjJAYXJtLmNvbT47ICJTdGVwaGFuaWUuSHVnaGVzLQ0K PiBGaXR0QGFybS5jb20iQGFybS5jb208bWFpbHRvOkZpdHRAYXJtLmNvbSUyMkBhcm0uY29tPjsg InRob21hcy5hYnJhaGFtQGFybS5jb20iQGFybS5jb208bWFpbHRvOiUyMnRob21hcy5hYnJhaGFt QGFybS5jb20lMjJAYXJtLmNvbT47DQo+ICJBcnZpbmQuQ2hhdWhhbkBhcm0uY29tIkBhcm0uY29t PG1haWx0bzolMjJBcnZpbmQuQ2hhdWhhbkBhcm0uY29tJTIyQGFybS5jb20+Ow0KPiAibGVpZi5s aW5kaG9sbUBsaW5hcm8ub3JnIkBhcm0uY29tPG1haWx0bzolMjJsZWlmLmxpbmRob2xtQGxpbmFy by5vcmclMjJAYXJtLmNvbT47DQo+ICJEYW5paWwuRWdyYW5vdkBhcm0uY29tIkBhcm0uY29tPG1h aWx0bzolMjJEYW5paWwuRWdyYW5vdkBhcm0uY29tJTIyQGFybS5jb20+OyBZYW8sIEppZXdlbiA8 amlld2VuLnlhb0BpbnRlbC5jb208bWFpbHRvOmppZXdlbi55YW9AaW50ZWwuY29tPj4NCj4gU3Vi amVjdDogUkU6IFtlZGsyXSBbUEFUQ0ggMC8yXSBEeW5hbWljIFRhYmxlcw0KPg0KPiBISSBFdmFu DQo+IFRoYW5rcyBmb3IgdGhlIGNvbnRyaWJ1dGlvbi4NCj4NCj4gVGhpcyBpcyBhIHZlcnkgYmln IGZlYXR1cmUuIEl0IG1heSB0YWxrIHVzIG1vcmUgdGltZSB0byByZXZpZXcgYW5kIGV2YWx1YXRl Lg0KPiBBdCBzYW1lIHRpbWUsIG9uZSBvZiBvdXIga2V5IE1kZU1vZHVsZSBwYWNrYWdlIG1haW50 YWluZXIgaXMgaW4gcGF0ZXJuaXR5DQo+IGxlYXZlLiBJdCBtYXkgYmUgbG9uZ2VyIHRoYW4gdXN1 YWwuDQo+DQo+IEkgbm90aWNlIHlvdSBvbmx5IGRlZmluZWQgQVJNIG5hbWVzcGFjZSBpbiB0aGlz IHBhdGNoLCBhbmQgaW1wbGVtZW50ZWQNCj4gQVJNIGxpYnJhcnkgaW5zdGFuY2UuDQo+IEFsc28g bW9zdCBjb25zdW1lcnMgb2YgQ29uZmlndXJhdGlvbk1hbmFnZXIgYXJlIGZyb20gQVJNIHBsYXRm b3JtDQo+IHBhY2thZ2UuIFNvIGlmIGl0IHVyZ2VudCBmcm9tIEFSTSBwbGF0Zm9ybSwgeW91IG1h eSBjb25zaWRlciB0byBjaGVjayBpbnRvDQo+IEFybVBrZyBhdCBmaXJzdC4NCg0KW1tFdmFuIExs b3lkXV0gVGhpcyBzb3VuZHMgc2Vuc2libGUsIGFuZCBJIHdpbGwgZGlzY3VzcyBpdCB3aXRoIExl aWYuICBBbm90aGVyIG9wdGlvbiBtaWdodCBiZSB0byBzdGFydCB1cCBhIG5ldyBtb2R1bGUuDQoN CltKaWV3ZW5dIFJpZ2h0LiBJIGFsc28gcmVwbGllZCBtYWlsIGZyb20gU2VhbiBCcm9nYW4gKE1T RlQpLCB3aG8gaGFzIGNvbmNlcm4gb24gcHV0dGluZyB0aGlzIHRvIE1kZU1vZHVsZVBrZy4gQnV0 IHRoZSBtYWlsIHdhcyBzbyBsb25nIHRoYXQgaXQgd2FzIGZpbHRlcmVkIGJlZm9yZS4NCklmIEFy bVBrZyBjYW4gYmUgdGhlIGZpcnN0IGxhbmRpbmcgem9uZSwgdGhhdCBpcyBncmVhdC4NCg0KPg0K Pg0KPg0KPiBJIG9ubHkgaGF2ZSBhIHF1aWNrIGxvb2sgYXQgdGhlIHBhdGNoLiBXb3VsZCB5b3Ug cGxlYXNlIHNoYXJlIG1vcmUgb24gdGhlDQo+IGRlc2lnbiBwaGlsb3NvcGh5Pw0KDQpbW0V2YW4g TGxveWRdXSBZb3UgYXJlIHF1aXRlIHJpZ2h0IC0gd2Ugd2lsbCBwdXQgYSBkb2N1bWVudCB0b2dl dGhlciBvbiB0aGlzLg0KDQo+DQo+IDEpIEl0IHNlZW1zIHRoZSBmaW5hbCBnb2FsIGlzIHN0aWxs IHRvIGdlbmVyYXRlIEFDUEkgdGFibGUvU01CSU9TIHRhYmxlL0RldlRyZWUuDQo+IFlvdSBqdXN0 IGludHJvZHVjZSBhIHdheSB0byBtYW5hZ2UgaG93IHRoZXNlIHRhYmxlcyBhcmUgZ2VuZXJhdGVk LCByaWdodD8NCg0KW1tFdmFuIExsb3lkXV0gWWVzLg0KDQo+DQo+IDIpIEJlbG93IGRlZmluaXRp b24gaXMgZGVmaW5lZCBieSB0aGUNCj4gTWRlTW9kdWxlUGtnL0luY2x1ZGUvRHluYW1pY1RhYmxl cy9Db25maWd1cmF0aW9uTWFuYWdlck9iamVjdC5oLg0KPiBJcyB0aGVyZSBhbnkgaW5kdXN0cnkg c3RhbmRhcmQgdG8gZGVmaW5lIGJlbG93IGluZGV4PyBPciBpdCBpcyBqdXN0IGRlZmluZWQgYnkN Cj4gRURLSUksIGFuZCBhbnlvbmUgY2FuIGFkZCBleHRlbnNpb24gaGVyZT8NCg0KW1tFdmFuIExs b3lkXV0gVGhpcyBpcyBhbiBpbml0aWFsIHN1Ym1pc3Npb24gZm9yIGRpc2N1c3Npb24sIGJ1dCB0 aGVyZSBpcyBub3QgY3VycmVudGx5IGEgcmVsZXZhbnQgc3RhbmRhcmQuICBXZSBhcmUgcHJvdmlk aW5nIGEgInByb29mIG9mIGNvbmNlcHQiIGZvciBkaXNjdXNzaW9uIGFuZCByZXZpZXcuICBUaGUg aWRzIGFyZSBjdXJyZW50bHkgaW50ZXJuYWwgdG8gZWRrMi4gIFdlIGRvIGFudGljaXBhdGUgc29t ZSBzb3J0IG9mIHN0YW5kYXJkIGRlZmluaXRpb24gKGZvciB0aGUgaW5mb3JtYXRpb24gc3VwcGxp ZXIpIGJ1dCB0aGF0IG1pZ2h0IGJlIG5vIG1vcmUgdGhhbiBhIHZlcnNpb24gb2YgQ29uZmlndXJh dGlvbk1hbmFnZXJPYmplY3QuaA0KDQo+DQo+ICtPYmplY3QgSUQncyBpbiB0aGUgQVJNIE5hbWVz cGFjZToNCj4gKyAgIDAgLSBSZXNlcnZlZA0KPiArICAgMSAtIEJvb3QgQXJjaGl0ZWN0dXJlIElu Zm8NCj4gKyAgIDIgLSBDUFUgSW5mbw0KPiArICAgMyAtIFBvd2VyIE1hbmFnZW1lbnQgUHJvZmls ZSBJbmZvDQo+ICsgICA0IC0gR0lDQyBJbmZvDQo+ICsgICA1IC0gR0lDRCBJbmZvDQo+ICsgICA2 IC0gR0lDIE1TSSBGcmFtZSBJbmZvDQo+ICsgICA3IC0gR0lDIFJlZGlzdHJpYnV0b3IgSW5mbw0K PiArICAgOCAtIEdJQyBJVFMgSW5mbw0KPiArICAgOSAtIFNlcmlhbCBDb25zb2xlIFBvcnQgSW5m bw0KPiArICAxMCAtIFNlcmlhbCBEZWJ1ZyBQb3J0IEluZm8NCj4gKyAgMTIgLSBHZW5lcmljIFRp bWVyIEluZm8NCj4gKyAgMTMgLSBQbGF0Zm9ybSBHVCBCbG9jayBJbmZvDQo+ICsgIDE0IC0gUGxh dGZvcm0gR2VuZXJpYyBXYXRjaGRvZw0KPiArICAxNSAtIFBDSSBDb25maWd1cmF0aW9uIFNwYWNl IEluZm8NCj4gKyAgMTYgLSBIeXBlcnZpc29yIFZlbmRvciBJZA0KPg0KPiAzKSBJIGFtIG5vdCBz dXJlIGlmIHlvdSBoYXZlIGtub3duIGFib3V0IGRhdGFodWIgcHJvdG9jb2wuDQo+IChJbnRlbEZy YW1ld29ya1BrZ1xJbmNsdWRlXFByb3RvY29sXERhdGFIdWIuaCkNCg0KW1tFdmFuIExsb3lkXV0g V2UgZGlkIG5vdC4gIFdlIGhhdmUgbm90IHByZXZpb3VzbHkgcGFpZCBtdWNoIGF0dGVudGlvbiB0 byBJbnRlbEZyYW1ld29ya1BrZyAg8J+Yig0KV2Ugd2lsbCBoYXZlIGEgbG9vayBhdCB0aGUgRGF0 YUh1YiBzdHVmZiB0aG91Z2gsIHRvIHNlZSBob3cgaXQgZml0cy4NCg0KPiBMb25nIHRpbWUgYWdv LCB3ZSBoYXZlIHBsYXRmb3JtIG1vZHVsZSBmaWxsaW5nIHRoZSBTTUJJT1MgbmVlZGVkDQo+IGlu Zm9ybWF0aW9uIHRvIGRhdGFodWIgKHN1Y2ggYXMgQ1BVIElORk8sIE1lbW9yeSBJbmZvKS4NCj4g VGhlIFNNQklPUyB0YWJsZSBpcyBkZXJpdmVkIGZyb20gZGF0YWh1YiBwcm90b2NvbC4gVGhlIHNl dHVwIGRyaXZlciBjYW4NCj4gYWxzbyBmcm9tIGRhdGFodWIuDQo+IEJ1dCBsYXRlciwgd2UgdGhp bmsgaXQgaXMgYW4gb3ZlcmRlc2lnbiBhbmQgZGF0YWh1YiBpcyBubyBsb25nZXIgdXNlZCBpbiB0 aGUNCj4gbmV3IElBIHBsYXRmb3JtLg0KPiBQZW9wbGUgZmVlbCBpdCBpcyBlYXNpZXIgdG8gZmls bCBpbmR1c3RyeSBkZWZpbmVkIFNNQklPUyByZWNvcmQgZGlyZWN0bHksIHRoYW4gdG8NCj4gZmls bCB0aGUgRURLIGRlZmluZWQgZGF0YWh1YiByZWNvcmQuDQo+IFRoZXkgZG8gbm90IG5lZWQgdG8g bGVhcm4gMiBkaWZmZXJlbnQgc3R5bGVzIG9mIGRhdGEgcmVjb3JkIGZvcm1hdC4NCj4NCj4gVG8g bWUsIHRoaXMgc2VlbXMgc2ltaWxhciB0byBkYXRhaHViLiBQbGVhc2UgaGVscCB1cyB1bmRlcnN0 YW5kIHRoZSBrZXkNCj4gZGlmZmVyZW5jZS4NCg0KW1tFdmFuIExsb3lkXV0gIEZyb20geW91ciBk ZXNjcmlwdGlvbiwgdGhlcmUgZG9lcyBzZWVtIHRvIGJlIGFuIGVsZW1lbnQgb2Ygc2ltaWxhcml0 eSB3aXRoIG91ciBzdWJtaXR0ZWQgaW1wbGVtZW50YXRpb24uDQpIb3dldmVyLCBvdXIgY3VycmVu dCBjb2RlIGRvZXMgbm90IHlldCBjb3ZlciBsYXRlciBvcHRpb25zIG9mIG9idGFpbmluZyB0aGUg Y29uZmlndXJhdGlvbiBkYXRhIGZyb20gYSByZW1vdGUgbm9kZSwgZXRjLg0KT3VyIHVsdGltYXRl IGFpbSBpcyB0byBoYXZlIGEgc2luZ2xlIFVFRkkgaW1hZ2UgcnVuIG9uIGEgcmFuZ2Ugb2YgcGxh dGZvcm1zLCB0YWtpbmcgZ3VpZGFuY2UgZnJvbSB0aGUgcmVtb3RlIG9uIHdoYXQgdGFibGVzIHRv IHB1Ymxpc2ggd2l0aCB3aGF0IGNvbnRlbnQuICBZb3Ugc2F5ICJQZW9wbGUgZmVlbCBpdCBpcyBl YXNpZXIgdG8gZmlsbCBpbmR1c3RyeSBkZWZpbmVkIFNNQklPUyByZWNvcmQgZGlyZWN0bHksIHRo YW4gdG8gZmlsbCB0aGUgRURLIGRlZmluZWQgZGF0YWh1YiByZWNvcmQuIiAgSSBkbyBub3QgcXVl c3Rpb24geW91ciBzdGF0ZW1lbnQsIGluIGZhY3QgSSBhbSBzdXJlIHlvdSBhcmUgcmlnaHQuICBI b3dldmVyLCBtaWdodCB0aG9zZSBwZW9wbGUgYmUgdGhlIG9uZXMgd2hvIG1ha2UgYSBsaXZpbmcg ZmlsbGluZyAiaW5kdXN0cnkgZGVmaW5lZCBTTUJJT1MgcmVjb3JkIGRpcmVjdGx5Ij8gIE91ciBl eHBlcmllbmNlIGlzIHRoYXQgdGhlcmUgaXMgc2lnbmlmaWNhbnQgb3ZlcmhlYWQgaW4gYnVpbGRp bmcgY29tcGxldGUgc2V0cyBvZiBwbGF0Zm9ybSBkZXBlbmRlbnQgdGFibGVzIGZvciBlYWNoIHZh cmlhbnQgb2YgYSBtYWNoaW5lLCBhbmQgd2Ugd291bGQgbGlrZSB0byByZWR1Y2UgdGhhdC4NCg0K Pg0KPiA0KSBJbiBhZGRpdGlvbiwgRURLSUkvUEkgZGVmaW5lZCBQQ0QgKHBsYXRmb3JtIGNvbmZp Z3VyYXRpb24gZGF0YWJhc2UpLiBJdCBpcw0KPiBhbiBhcmNoaXRlY3R1cmUgd2F5IHRvIG1hbmFn ZSB0aGUgY29uZmlndXJhdGlvbiBkYXRhLg0KPiBXZSBhcmUgYWxzbyBpbXBsZW1lbnRpbmcgc3Ry dWN0dXJlIFBDRCB0byBsZXQgcGxhdGZvcm0gZmlsbCBkYXRhIGVhc2lseS4NCj4gKGh0dHBzOi8v Z2l0aHViLmNvbS90aWFub2NvcmUvZWRrMi1zdGFnaW5nL3RyZWUvU3RydWN0dXJlUGNkKQ0KPg0K PiBJIGZvdW5kIHNvbWUgY29uZmlndXJhdGlvbiBjYW4gYmUgYXMgc2ltcGxlIGFzIGEgUENELCBz dWNoIGFzDQo+ICsgIC8vIEJvb3QgYXJjaGl0ZWN0dXJlIGluZm9ybWF0aW9uDQo+ICsgIHsgRUZJ X0FDUElfNl8xX0FSTV9QU0NJX0NPTVBMSUFOVCB9LCAgICAgICAgICAgICAgLy8gQm9vdEFyY2hG bGFncw0KPiArDQo+ICsgIC8vIFBvd2VyIG1hbmFnZW1lbnQgcHJvZmlsZSBpbmZvcm1hdGlvbg0K PiArICB7IEVGSV9BQ1BJXzZfMV9QTV9QUk9GSUxFX0VOVEVSUFJJU0VfU0VSVkVSIH0sICAgIC8v DQo+IFBvd2VyTWFuYWdlbWVudCBQcm9maWxlDQo+DQo+IFdpdGggdGhlIG5ldyBzdHJ1Y3R1cmUg UENEIGRlc2lnbiwgYmVsb3cgZGVmaW5pdGlvbiBjYW4gYWxzbyBiZSBhIHN0cnVjdHVyZQ0KPiBQ Q0QuDQo+ICsgIC8vIFNQQ1IgU2VyaWFsIFBvcnQNCj4gKyAgew0KPiArICAgIEZpeGVkUGNkR2V0 NjQgKFBjZFNlcmlhbFJlZ2lzdGVyQmFzZSksICAvLyBVSU5UNjQgIEJhc2VBZGRyZXNzDQo+ICsg ICAgRml4ZWRQY2RHZXQzMiAoUEwwMTFVYXJ0SW50ZXJydXB0KSwgICAgIC8vIFVJTlQzMiAgSW50 ZXJydXB0DQo+ICsgICAgRml4ZWRQY2RHZXQ2NCAoUGNkVWFydERlZmF1bHRCYXVkUmF0ZSksIC8v IFVJTlQ2NCAgQmF1ZFJhdGUNCj4gKyAgICBGaXhlZFBjZEdldDMyIChQTDAxMVVhcnRDbGtJbkh6 KSAgICAgICAgLy8gVUlOVDMyICBDbG9jaw0KPiArICB9LA0KPg0KPiArICAvLyBEZWJ1ZyBTZXJp YWwgUG9ydA0KPiArICB7DQo+ICsgICAgRml4ZWRQY2RHZXQ2NCAoUGNkU2VyaWFsRGJnUmVnaXN0 ZXJCYXNlKSwgLy8gVUlOVDY0ICBCYXNlQWRkcmVzcw0KPiArICAgIDM4LCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFVJTlQzMiAgSW50ZXJydXB0DQo+ICsgICAgRml4 ZWRQY2RHZXQ2NCAoUGNkU2VyaWFsRGJnVWFydEJhdWRSYXRlKSwgLy8gVUlOVDY0ICBCYXVkUmF0 ZQ0KPiArICAgIEZpeGVkUGNkR2V0MzIgKFBjZFNlcmlhbERiZ1VhcnRDbGtJbkh6KSAgIC8vIFVJ TlQzMiAgQ2xvY2sNCj4gKyAgfSwNCj4NCj4gV2hhdCBpZiB3ZSBqdXN0IHVzZSBQQ0QgdG8gZGVm aW5lIHRoZXNlIENQVSBpbmZvLCBHSUNDIGluZm8/IERvIHdlIHJlYWxseQ0KPiBhbm90aGVyIENv bmZpZ3VyYXRpb25NYW5hZ2VyPw0KDQpbW0V2YW4gTGxveWRdXSBQQ0RzIGFyZSB2ZXJ5IHVzZWZ1 bC4gIEhvd2V2ZXIgdGhleSAoZXNwZWNpYWxseSBGaXhlZFBjZHMpIGFyZSBidWlsZCB0aW1lIG9w dGlvbnMuICBHaXZlbiB0aGUgYWltIG9mIGEgc2luZ2xlIFVFRkkgaW1hZ2UsIHRoZXkgZG8gbm90 IHF1aXRlIHdvcmsuICBXZSB3YW50IHRoZSBVRUZJIHRvIGJlIGFibGUgdG8gZ2V0IHRoZSB2YXJp YW50IGNvbmZpZyBmcm9tIGFuIGV4dGVybmFsIGVudGl0eS4gIEluIHRoZW9yeSwgYSBjb21wbGV4 IGVub3VnaCBQQ0QgZGF0YWJhc2UgY291bGQgYmUgdXNlZCB0byBwcm92aWRlIHRoZSBjb25maWcg aW5mb3JtYXRpb24sIGFuZCBjb3VsZCBiZSBsb2FkZWQgZnJvbSBhIHJlbW90ZSwgYnV0IGl0IHdv dWxkIGJlIGEgdmVyeSBlbGFib3JhdGUgc29sdXRpb24uDQoNCltKaWV3ZW5dIFBDRCBjYW4gYmUg c3RhdGljIG9yIGR5bmFtaWMuIFBDRCBoYXMgbG90cyBvZiB1c2FnZS4NCkZvciBkeW5hbWljIFBD RCwgeW91IGNhbiBmaWxsIGEgUENEIGF0IEJJT1MgYm9vdCB0aW1lLCBub3QgYnVpbGQgdGltZS4N CkZvciBtdWx0aS1za3UsIHlvdSBjYW4gZmlsbCBhIFNLVSBQQ0QgdG8gc3VwcG9ydCBkaWZmZXJl bnQgU0tVIGF0IGJ1aWxkIHRpbWUgb3IgYm9vdCB0aW1lLg0KRm9yIHN0cnVjdHVyZSBQQ0QsIHlv dSBjYW4gZmlsbCBhIEMtbGlrZSBkYXRhIHN0cnVjdHVyZSB0byBhIFBDRCB2YWx1ZS4NCg0KSW4g b25lIHdvcmQsIHdlIGFyZSBhYmxlIHRvIHVzZSBQQ0QgdG8gZ2V0IHRoZSB2YXJpYW50IGNvbmZp ZyBmcm9tIGFuIGV4dGVybmFsIGVudGl0eS4NCklmIHlvdSB0aGluayB0aGVyZSBpcyBzb21ldGhp bmcgdGhhdCBQQ0QgY2Fubm90IGRvLCBwbGVhc2UgbGV0IHVzIGtub3cuDQoNCg0KPg0KPg0KPiBB bGwgaW4gYWxsLCBpZiB3ZSBjYW4gY29tcGFyZSB0aGUgZGlmZmVyZW5jZSBvZiBiZWxvdyBkZXNp Z24gd2l0aCBwcm9zL2NvbnMsDQo+IHRoYXQgd2lsbCBiZSBncmVhdC4NCj4gVGhhdCB3aWxsIGhl bHAgdXMgdW5kZXJzdGFuZCBtb3JlIGFib3V0IHRoZSBuZXcgZGVzaWduLg0KPiBBKSBEYXRhSHVi IChJbnRlbEZyYW1ld29ya1BrZywgZG8gbm90IHJlY29tbWVuZCB0byB1c2UuKQ0KPiBCKSBQQ0Qg KE1kZVBrZywgaW4gUEkgc3BlY2lmaWNhdGlvbikgYW5kIHN0cnVjdHVyZSBQQ0QgKEVES0lJIHN0 YWdpbmcpDQo+IEMpIENvbmZpZ3VyYXRpb25NYW5hZ2VyICh0aGlzIHBhdGNoKQ0KDQpbW0V2YW4g TGxveWRdXSBXZSB3aWxsIG5lZWQgdG8gc3R1ZHkgRGF0YUh1YiB0byBzZWUgd2hhdCBpcyB0aGVy ZSwgYnV0IHdlIHdpbGwgbWFrZSBhIHJlc3BvbnNlIHdoZW4gd2UgaGF2ZS4NCg0KW0ppZXdlbl0g VGhhbmsgeW91IQ0KSWYgeW91IGhhdmUgYW55IHF1ZXN0aW9uIG9uIERhdGFIdWIgb3IgUENELCBw bGVhc2UgbGV0IHVzIGtub3cuDQoNCj4NCj4NCj4gVGhhbmsgeW91DQo+IFlhbyBKaWV3ZW4NCj4N Cj4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+IEZyb206IGVkazItZGV2ZWwgW21h aWx0bzplZGsyLWRldmVsLWJvdW5jZXNAbGlzdHMuMDEub3JnXSBPbiBCZWhhbGYgT2YNCj4gPiBl dmFuLmxsb3lkQGFybS5jb208bWFpbHRvOmV2YW4ubGxveWRAYXJtLmNvbT4NCj4gPiBTZW50OiBU dWVzZGF5LCBPY3RvYmVyIDMsIDIwMTcgMzo0OCBBTQ0KPiA+IFRvOiBlZGsyLWRldmVsQGxpc3Rz LjAxLm9yZzxtYWlsdG86ZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc+DQo+ID4gQ2M6ICJNYXR0ZW8u Q2FybGluaUBhcm0uY29tIkBhcm0uY29tPG1haWx0bzolMjJNYXR0ZW8uQ2FybGluaUBhcm0uY29t JTIyQGFybS5jb20+OyAibmRAYXJtLmNvbSJAYXJtLmNvbTxtYWlsdG86JTIybmRAYXJtLmNvbSUy MkBhcm0uY29tPjsNCj4gPiAiYXJkLmJpZXNoZXV2ZWxAbGluYXJvLm9yZyJAYXJtLmNvbTxtYWls dG86JTIyYXJkLmJpZXNoZXV2ZWxAbGluYXJvLm9yZyUyMkBhcm0uY29tPjsNCj4gPiAiU3RlcGhh bmllLkh1Z2hlcy1GaXR0QGFybS5jb20iQGFybS5jb208bWFpbHRvOiUyMlN0ZXBoYW5pZS5IdWdo ZXMtRml0dEBhcm0uY29tJTIyQGFybS5jb20+Ow0KPiA+ICJ0aG9tYXMuYWJyYWhhbUBhcm0uY29t IkBhcm0uY29tPG1haWx0bzolMjJ0aG9tYXMuYWJyYWhhbUBhcm0uY29tJTIyQGFybS5jb20+Ow0K PiA+ICJBcnZpbmQuQ2hhdWhhbkBhcm0uY29tIkBhcm0uY29tPG1haWx0bzolMjJBcnZpbmQuQ2hh dWhhbkBhcm0uY29tJTIyQGFybS5jb20+Ow0KPiAibGVpZi5saW5kaG9sbUBsaW5hcm8ub3JnIkBh cm0uY29tPG1haWx0bzolMjJsZWlmLmxpbmRob2xtQGxpbmFyby5vcmclMjJAYXJtLmNvbT47DQo+ ID4gIkRhbmlpbC5FZ3Jhbm92QGFybS5jb20iQGFybS5jb208bWFpbHRvOiUyMkRhbmlpbC5FZ3Jh bm92QGFybS5jb20lMjJAYXJtLmNvbT4NCj4gPiBTdWJqZWN0OiBbZWRrMl0gW1BBVENIIDAvMl0g RHluYW1pYyBUYWJsZXMNCj4gPg0KPiA+IEZyb206IEV2YW5MbG95ZCA8ZXZhbi5sbG95ZEBhcm0u Y29tPG1haWx0bzpldmFuLmxsb3lkQGFybS5jb20+Pg0KPiA+DQo+ID4gSGlzdG9yaWNhbGx5LCBB Q1BJIGNvZGUsIFNNQklPUyB0YWJsZXMsIGFuZCBVRUZJIGZpcm13YXJlIHdlcmUgb2Z0ZW4NCj4g PiBkZXZlbG9wZWQgaW4gaXNvbGF0aW9uIGZyb20gZWFjaCBvdGhlci4gIFRoaXMgaW50cm9kdWNl ZCBzZXZlcmFsDQo+ID4gcHJvYmxlbXMsIG5vdCBsZWFzdCBvZiB3aGljaCB3YXMgZHVwbGljYXRp b24gb2YgcGxhdGZvcm0gaW5mb3JtYXRpb24NCj4gPiBiZXR3ZWVuIHRoZSB2YXJpb3VzIHNvdXJj ZSB0cmVlcy4NCj4gPiBJbiBhZGRpdGlvbiwgdmFyaWFudHMgb2YgcGxhdGZvcm1zIGludHJvZHVj ZWQgYSBwbGV0aG9yYSBvZg0KPiA+IGFsdGVybmF0aXZlIGJ1aWxkcyBvZiBBQ1BJLCBTTUJJT1Mg YW5kIEVESzIsIHdpdGggdGhlIGNvbmNvbWl0YW50IHJpc2sNCj4gPiBvZiBnZXR0aW5nIHRoZSBt aXh0dXJlIHdyb25nIGluIGEgYnVpbGQuDQo+ID4NCj4gPiBJbiB0aGUgZWZmb3J0IHRvIHJlc29s dmUgdGhlc2UgcHJvYmxlbXMsIHRoZSBzb2x1dGlvbiBwcm90b3R5cGVkIGhlcmUNCj4gPiB3YXMg ZGV2aXNlZC4gIFRoZSBiYXNpYyBpZGVhIGlzIHRvIG9idGFpbiB0aGUgInZhcmlhbnQiDQo+ID4g aW5mb3JtYXRpb24gZnJvbSBhIG1hbmFnZW1lbnQgbm9kZS4gIFRoYXQgbWVhbnMgdGhlIGZpcm13 YXJlIGltYWdlDQo+IGNhbg0KPiA+IGJlIHBsYXRmb3JtIGluZGVwZW5kZW50LCB3aXRoIEFDUEks IFNNQklPUyAoYW5kIHBvdGVudGlhbGx5DQo+ID4gb3RoZXIpIHRhYmxlcyBnZW5lcmF0ZWQgd2l0 aCBpbmZvcm1hdGlvbiBmcm9tIHRoZSBtYW5hZ2VtZW50IG5vZGUuDQo+ID4gVGhpcyBleGFtcGxl IGhhcyB0aGUgZnJhbWV3b3JrIGZvciB0aGF0LCBidXQgdGhlIGNvbmZpZ3VyYXRpb24NCj4gPiBp bmZvcm1hdGlvbiBpcyBzdXBwbGllZCBkaXJlY3RseSwgYXMgYW4gaW50ZXJpbSBzb2x1dGlvbiB1 bnRpbCBhDQo+ID4gc3VpdGFibGUgbWFuYWdlbWVudCBub2RlIGltcGxlbWVudGF0aW9uIGV4aXN0 cyB5ZXQuDQo+ID4NCj4gPg0KLi4uDQo+ID4gLS0NCj4gPiBHdWlkKCJDRTE2NTY2OS0zRUYzLTQ5 M0YtQjg1RC02MTkwRUU1Qjk3NTkiKQ0KPiA+DQo+ID4gX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18NCj4gPiBlZGsyLWRldmVsIG1haWxpbmcgbGlzdA0KPiA+ IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnPG1haWx0bzplZGsyLWRldmVsQGxpc3RzLjAxLm9yZz4N Cj4gPiBodHRwczovL2xpc3RzLjAxLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2VkazItZGV2ZWwNCklN UE9SVEFOVCBOT1RJQ0U6IFRoZSBjb250ZW50cyBvZiB0aGlzIGVtYWlsIGFuZCBhbnkgYXR0YWNo bWVudHMgYXJlIGNvbmZpZGVudGlhbCBhbmQgbWF5IGFsc28gYmUgcHJpdmlsZWdlZC4gSWYgeW91 IGFyZSBub3QgdGhlIGludGVuZGVkIHJlY2lwaWVudCwgcGxlYXNlIG5vdGlmeSB0aGUgc2VuZGVy IGltbWVkaWF0ZWx5IGFuZCBkbyBub3QgZGlzY2xvc2UgdGhlIGNvbnRlbnRzIHRvIGFueSBvdGhl ciBwZXJzb24sIHVzZSBpdCBmb3IgYW55IHB1cnBvc2UsIG9yIHN0b3JlIG9yIGNvcHkgdGhlIGlu Zm9ybWF0aW9uIGluIGFueSBtZWRpdW0uIFRoYW5rIHlvdS4NCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fDQplZGsyLWRldmVsIG1haWxpbmcgbGlzdA0KZWRr Mi1kZXZlbEBsaXN0cy4wMS5vcmc8bWFpbHRvOmVkazItZGV2ZWxAbGlzdHMuMDEub3JnPg0KaHR0 cHM6Ly9saXN0cy4wMS5vcmcvbWFpbG1hbi9saXN0aW5mby9lZGsyLWRldmVsDQo=