From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=192.55.52.43; helo=mga05.intel.com; envelope-from=jian.j.wang@intel.com; receiver=edk2-devel@lists.01.org Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) (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 0C10E211300AE for ; Thu, 13 Sep 2018 23:50:33 -0700 (PDT) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 13 Sep 2018 23:50:33 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.53,372,1531810800"; d="scan'208";a="91653819" Received: from fmsmsx104.amr.corp.intel.com ([10.18.124.202]) by orsmga002.jf.intel.com with ESMTP; 13 Sep 2018 23:50:22 -0700 Received: from fmsmsx102.amr.corp.intel.com (10.18.124.200) by fmsmsx104.amr.corp.intel.com (10.18.124.202) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 13 Sep 2018 23:50:18 -0700 Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by FMSMSX102.amr.corp.intel.com (10.18.124.200) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 13 Sep 2018 23:50:18 -0700 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.240]) by shsmsx102.ccr.corp.intel.com ([169.254.2.226]) with mapi id 14.03.0319.002; Fri, 14 Sep 2018 14:50:15 +0800 From: "Wang, Jian J" To: Ard Biesheuvel CC: "edk2-devel@lists.01.org" , "Zeng, Star" , Laszlo Ersek , "Ni, Ruiyu" , "Yao, Jiewen" Thread-Topic: [PATCH] MdeModulePkg/DxeIpl: support more NX related PCDs Thread-Index: AQHUS/Dwr/h8t6Idb0iNPMTj+sm7GaTvTsTA Date: Fri, 14 Sep 2018 06:50:14 +0000 Message-ID: References: <20180914051335.2644-1-jian.j.wang@intel.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiNDIyODNkNWQtOGVhNC00ZWM2LTkyNTgtMjJhZDExZGI2ZmYwIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiRTRIOGkwV2Q0Y1ZYV1JHT1E1SnZwaVR4NnRCTnIwZEJZVU9talNrQkVDWGh1R1llRXhwYkxMMVJkam5oNnA3MSJ9 x-ctpclassification: CTP_NT dlp-product: dlpe-windows dlp-version: 11.0.400.15 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [PATCH] MdeModulePkg/DxeIpl: support more NX related PCDs X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Sep 2018 06:50:34 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 QXJkLA0KDQo+IFdoeT8gSXMgaXQgdW5yZWFzb25hYmxlIHRvIHByb3RlY3QgdGhlIHN0YWNrIGJ1 dCBub3Qgb3RoZXINCj4gRWZpQm9vdFNlcnZpY2VzRGF0YSByZWdpb25zPw0KDQpJIHRoaW5rIHlv dSBnb3QgbWUgd3JvbmcuIEl0J3MgcmVhc29uYWJsZSB0byBwcm90ZWN0IHN0YWNrIGJ1dCBub3QN Cm90aGVyIEVmaUJvb3RTZXJ2aWNlc0RhdGEgcmVnaW9ucy4gV2hhdCBJIHdhbnQgdG8gZXhwcmVz cyBpbiB0aGUNCmNvbW1pdCBtZXNzYWdlIGlzIHRoZSBjb250cmFyeSBvbmUgaXMgbm90OiBub3Qg dG8gcHJvdGVjdCBzdGFjayBidXQNCnByb3RlY3QgYWxsIEVmaUJvb3RTZXJ2aWNlc0RhdGEgcmVn aW9ucy4gSSBoYXZlIG9uZSBzdGF0ZW1lbnQgYXQNCnRoZSBlbmQgb2YgbWVzc2FnZSBzYXlpbmcg IlBjZFNldE54Rm9yU3RhY2sgYW5kIFBjZEltYWdlUHJvdGVjdGlvblBvbGljeQ0KaGF2ZSBwcmlv cml0eSBvdmVyIFBjZER4ZU54TWVtb3J5UHJvdGVjdGlvblBvbGljeSIuIERvIHlvdSBhZ3JlZQ0K d2l0aCBpdD8NCg0KVGhlIGV4YW1wbGVzIEkgZ2F2ZSBhcmUgdW5yZWFzb25hYmxlIG9uZXMuIEkg Y2FuJ3QgaW1hZ2UgYW55DQpyZWFzb24gdG8gdHJ5IHRob3NlIGNvbWJpbmF0aW9ucyBvbiBwdXJw b3NlLiBCdXQgaWYgdGhlcmUncyByZWFsbHkNCmdvb2QgcmVhc29uIHRvIGRvIGl0LCBpdCdzIG9r IHRvIHJlbW92ZSB0aG9zZSBjaGVja3MuDQoNCj4gSSBhbSB0cnlpbmcgdG8gdW5kZXJzdGFuZCBp ZiB5b3UgdGhpbmsgdGhlc2UgYXJlIGZ1bmRhbWVudGFsbHkNCj4gaW5jb21wYXRpYmxlLCBvciB3 aGV0aGVyIGl0IGlzIHNpbXBseSB0b28gY29tcGxpY2F0ZWQgaW4gdGhlIGNvZGUgdG8NCj4gc3Vw cG9ydCBpdC4gKEkgY2FuIHNlZSBob3cgdGhlIGZpcnN0IGV4YW1wbGUgd291bGQgZm9yY2UgeW91 IHRvDQo+ICBleHBsaWNpdGx5IG1hcCB0aGUgc3RhY2sgZXhlY3V0YWJsZSwgZm9yIGluc3RhbmNl LCB3aGljaCBpcyBwZXJoYXBzIGENCj4gYml0IG9mIGEgc3RyZXRjaCkNCg0KSSBtaWdodCBub3Qg Z2V0IHlvdXIgcG9pbnQgaGVyZS4gSWYgSSB1bmRlcnN0YW5kIGNvcnJlY3RseSwgSSB0aGluayB0 aGUNCnB1cnBvc2UgSSB3YW50IHRvIGRvIGhlcmUgaXMgdG8gYXZvaWQgYW55IHVuZXhwZWN0ZWQg TlggYmVoYXZpb3IgZnJvbSBCSU9TLg0KRm9yIGV4YW1wbGUsIGlmIG9uZSBkb24ndCB3YW50IE5Y IGZvciBzdGFjayBhbmQgc2V0IFBjZFNldE54Rm9yU3RhY2sgdG8NCkZBTFNFIGJ1dCBhY2NpZGVu dGx5IGVuYWJsZWQgTlggZm9yIEVmaUJvb3RTZXJ2aWNlc0RhdGEsIGl0J3MgaGFyZCBmb3IgaGlt DQp0byBmaW5kIG91dCB3aHkgc3RhY2sgaXMgc3RpbGwgbm90IGV4ZWN1dGFibGUuIFRoaXMgdXN1 YWxseSBoYXBwZW4gaWYgb25lIGlzIHRyeWluZw0KZGlmZmVyZW50IGNvbmZpZ3VyYXRpb25zIHRv IGRlYnVnIHRoZSBzeXN0ZW0uDQoNCk9yIGRvIHlvdSBtZWFuIGlmIG9uZSBzZXQgUGNkU2V0TnhG b3JTdGFjayB0byBGQUxTRSwgdGhlIEJJT1Mgc2hvdWxkDQphdXRvbWF0aWNhbGx5IGRpc2FibGUg TlggZm9yIGFsbCBFZmlCb290U2VydmljZXNEYXRhIHJlZ2lvbnM/IFRoaXMgaXMgYSBiaXQNCmNv bmZ1c2UgdG8gbWUgYmVjYXVzZSwgaWYgUGNkU2V0TnhGb3JTdGFjayBpcyBUUlVFLCB3ZSBvbmx5 IGVuYWJsZSBOWA0KZm9yIHN0YWNrIG1lbW9yeSBvbmx5IChzdXBwb3NlIFBjZER4ZU54TWVtb3J5 UHJvdGVjdGlvblBvbGljeSBpcyBhbGwgemVybykuDQoNClJlZ2FyZHMsDQpKaWFuDQoNCkZyb206 IEFyZCBCaWVzaGV1dmVsIFttYWlsdG86YXJkLmJpZXNoZXV2ZWxAbGluYXJvLm9yZ10gDQpTZW50 OiBGcmlkYXksIFNlcHRlbWJlciAxNCwgMjAxOCAyOjA1IFBNDQpUbzogV2FuZywgSmlhbiBKIDxq aWFuLmoud2FuZ0BpbnRlbC5jb20+DQpDYzogZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc7IFplbmcs IFN0YXIgPHN0YXIuemVuZ0BpbnRlbC5jb20+OyBMYXN6bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQu Y29tPjsgTmksIFJ1aXl1IDxydWl5dS5uaUBpbnRlbC5jb20+OyBZYW8sIEppZXdlbiA8amlld2Vu Lnlhb0BpbnRlbC5jb20+DQpTdWJqZWN0OiBSZTogW1BBVENIXSBNZGVNb2R1bGVQa2cvRHhlSXBs OiBzdXBwb3J0IG1vcmUgTlggcmVsYXRlZCBQQ0RzDQoNCk9uwqAxNMKgU2VwdGVtYmVywqAyMDE4 wqBhdMKgMDc6MTMswqBKaWFuwqBKwqBXYW5nwqA8amlhbi5qLndhbmdAaW50ZWwuY29tPsKgd3Jv dGU6DQo+wqBCWiMxMTE2OsKgaHR0cHM6Ly9idWd6aWxsYS50aWFub2NvcmUub3JnL3Nob3dfYnVn LmNnaT9pZD0xMTE2DQo+DQo+wqBDdXJyZW50bHnCoElBMzJfRUZFUi5OWEXCoGlzwqBvbmx5wqBz ZXTCoGFnYWluc3TCoFBjZFNldE54Rm9yU3RhY2suwqBUaGlzDQo+wqBjb25mdXNlc8KgZGV2ZWxv cGVyc8KgYmVjYXVzZcKgZm9sbG93aW5nwqB0d2/CoG90aGVywqBQQ0RzwqBhbHNvwqBuZWVkwqBO WEUNCj7CoHRvwqBiZcKgc2V0LMKgYnV0wqBhY3R1YWxsecKgbm90Lg0KPg0KPsKgwqDCoMKgwqBQ Y2REeGVOeE1lbW9yeVByb3RlY3Rpb25Qb2xpY3kNCj7CoMKgwqDCoMKgUGNkSW1hZ2VQcm90ZWN0 aW9uUG9saWN5DQo+DQo+wqBUaGlzwqBwYXRjaMKgc29sdmVzwqB0aGlzwqBpc3N1ZcKgYnnCoGFk ZGluZ8KgbG9naWPCoHRvwqBlbmFibGXCoElBMzJfRUZFUi5OWEUNCj7CoGlmwqBhbnnCoG9mwqB0 aG9zZcKgUENEc8KgaGF2ZcKgYW55dGhpbmfCoGVuYWJsZWQuDQo+DQo+wqBEdWXCoHRvwqB0aGXC oGZhY3TCoHRoYXTCoE5YwqBtZW1vcnnCoHR5cGXCoG9mwqBzdGFja8KgKGVuYWJsZWTCoGJ5wqBQ Y2RTZXROeEZvclN0YWNrKQ0KPsKgYW5kwqBpbWFnZcKgZGF0YcKgc2VjdGlvbsKgKGVuYWJsZWTC oGJ5wqBQY2RJbWFnZVByb3RlY3Rpb25Qb2xpY3kpwqBhcmXCoGFsc28NCj7CoHBhcnTCoG9mwqBQ Y2REeGVOeE1lbW9yeVByb3RlY3Rpb25Qb2xpY3kswqB0aGlzwqBwYXRjaMKgYWxzb8KgYWRkwqBt b3JlwqBjaGVja3MNCj7CoHRvwqB3YXJuwqAoQVNTRVJUKcKgdXNlcnPCoGFuecKgdW5yZWFzb25h YmxlwqBzZXR0aW5nwqBjb21iaW5hdGlvbnMuwqBGb3LCoGV4YW1wbGUsDQo+DQo+wqDCoMKgwqDC oFBjZFNldE54Rm9yU3RhY2vCoD09wqBGQUxTRcKgJiYNCj7CoMKgwqDCoMKgwqDCoChQY2REeGVO eE1lbW9yeVByb3RlY3Rpb25Qb2xpY3nCoCbCoCgxwqA8PEVmaUJvb3RTZXJ2aWNlc0RhdGEpKcKg IT3CoDANCj4NCj7CoMKgwqDCoMKgUGNkSW1hZ2VQcm90ZWN0aW9uUG9saWN5wqA9PcKgMMKgJiYN Cj7CoMKgwqDCoMKgwqDCoChQY2REeGVOeE1lbW9yeVByb3RlY3Rpb25Qb2xpY3nCoCbCoCgxwqA8 PMKgRWZpUnVudGltZVNlcnZpY2VzRGF0YSkpwqAhPcKgMA0KPg0KPsKgwqDCoMKgwqBQY2RJbWFn ZVByb3RlY3Rpb25Qb2xpY3nCoD09wqAwwqAmJg0KPsKgwqDCoMKgwqDCoMKgKFBjZER4ZU54TWVt b3J5UHJvdGVjdGlvblBvbGljecKgJsKgKDHCoDw8RWZpQm9vdFNlcnZpY2VzRGF0YSkpwqAhPcKg MA0KPg0KPsKgwqDCoMKgwqBQY2RJbWFnZVByb3RlY3Rpb25Qb2xpY3nCoD09wqAwwqAmJg0KPsKg wqDCoMKgwqDCoMKgKFBjZER4ZU54TWVtb3J5UHJvdGVjdGlvblBvbGljecKgJsKgKDHCoDw8RWZp TG9hZGVyRGF0YSkpwqAhPcKgMA0KPg0KPsKgSW7CoG90aGVywqB3b3JkcyzCoFBjZFNldE54Rm9y U3RhY2vCoGFuZMKgUGNkSW1hZ2VQcm90ZWN0aW9uUG9saWN5wqBoYXZlDQo+wqBwcmlvcml0ecKg b3ZlcsKgUGNkRHhlTnhNZW1vcnlQcm90ZWN0aW9uUG9saWN5Lg0KPg0KDQpXaHk/wqBJc8KgaXTC oHVucmVhc29uYWJsZcKgdG/CoHByb3RlY3TCoHRoZcKgc3RhY2vCoGJ1dMKgbm90wqBvdGhlcg0K RWZpQm9vdFNlcnZpY2VzRGF0YcKgcmVnaW9ucz8NCg0KScKgYW3CoHRyeWluZ8KgdG/CoHVuZGVy c3RhbmTCoGlmwqB5b3XCoHRoaW5rwqB0aGVzZcKgYXJlwqBmdW5kYW1lbnRhbGx5DQppbmNvbXBh dGlibGUswqBvcsKgd2hldGhlcsKgaXTCoGlzwqBzaW1wbHnCoHRvb8KgY29tcGxpY2F0ZWTCoGlu wqB0aGXCoGNvZGXCoHRvDQpzdXBwb3J0wqBpdC7CoChJwqBjYW7CoHNlZcKgaG93wqB0aGXCoGZp cnN0wqBleGFtcGxlwqB3b3VsZMKgZm9yY2XCoHlvdcKgdG8NCmV4cGxpY2l0bHnCoG1hcMKgdGhl wqBzdGFja8KgZXhlY3V0YWJsZSzCoGZvcsKgaW5zdGFuY2UswqB3aGljaMKgaXPCoHBlcmhhcHPC oGENCmJpdMKgb2bCoGHCoHN0cmV0Y2gpDQoNCj7CoENjOsKgU3RhcsKgWmVuZ8KgPHN0YXIuemVu Z0BpbnRlbC5jb20+DQo+wqBDYzrCoExhc3psb8KgRXJzZWvCoDxsZXJzZWtAcmVkaGF0LmNvbT4N Cj7CoENjOsKgQXJkwqBCaWVzaGV1dmVswqA8YXJkLmJpZXNoZXV2ZWxAbGluYXJvLm9yZz4NCj7C oENjOsKgUnVpeXXCoE5pwqA8cnVpeXUubmlAaW50ZWwuY29tPg0KPsKgQ2M6wqBKaWV3ZW7CoFlh b8KgPGppZXdlbi55YW9AaW50ZWwuY29tPg0KPsKgQ29udHJpYnV0ZWQtdW5kZXI6wqBUaWFub0Nv cmXCoENvbnRyaWJ1dGlvbsKgQWdyZWVtZW50wqAxLjENCj7CoFNpZ25lZC1vZmYtYnk6wqBKaWFu wqBKwqBXYW5nwqA8amlhbi5qLndhbmdAaW50ZWwuY29tPg0KPsKgLS0tDQo+wqDCoE1kZU1vZHVs ZVBrZy9Db3JlL0R4ZUlwbFBlaW0vRHhlSXBsLmluZsKgwqDCoMKgwqDCoMKgwqDCoMKgfMKgwqAy wqArDQo+wqDCoE1kZU1vZHVsZVBrZy9Db3JlL0R4ZUlwbFBlaW0vSWEzMi9EeGVMb2FkRnVuYy5j wqDCoHzCoMKgNMKgKy0NCj7CoMKgTWRlTW9kdWxlUGtnL0NvcmUvRHhlSXBsUGVpbS9YNjQvVmly dHVhbE1lbW9yeS5jwqB8wqA1NcKgKysrKysrKysrKysrKysrKysrKysrKystDQo+wqDCoE1kZU1v ZHVsZVBrZy9Db3JlL0R4ZUlwbFBlaW0vWDY0L1ZpcnR1YWxNZW1vcnkuaMKgfMKgMzPCoCsrKysr KysrKysrKysrDQo+wqDCoDTCoGZpbGVzwqBjaGFuZ2VkLMKgOTHCoGluc2VydGlvbnMoKykswqAz wqBkZWxldGlvbnMoLSkNCj4NCj7CoGRpZmbCoC0tZ2l0wqBhL01kZU1vZHVsZVBrZy9Db3JlL0R4 ZUlwbFBlaW0vRHhlSXBsLmluZsKgYi9NZGVNb2R1bGVQa2cvQ29yZS9EeGVJcGxQZWltL0R4ZUlw bC5pbmYNCj7CoGluZGV4wqBmZDgyNjU3NDA0Li4wNjhlNzAwMDc0wqAxMDA2NDQNCj7CoC0tLcKg YS9NZGVNb2R1bGVQa2cvQ29yZS9EeGVJcGxQZWltL0R4ZUlwbC5pbmYNCj7CoCsrK8KgYi9NZGVN b2R1bGVQa2cvQ29yZS9EeGVJcGxQZWltL0R4ZUlwbC5pbmYNCj7CoEBAwqAtMTE3LDbCoCsxMTcs OMKgQEANCj4NCj7CoMKgW1BjZC5JQTMyLFBjZC5YNjQsUGNkLkFSTSxQY2QuQUFSQ0g2NF0NCj7C oMKgwqDCoGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RTZXROeEZvclN0YWNrwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIyPCoFNPTUVUSU1FU19DT05TVU1FUw0KPsKgK8Kg wqBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkRHhlTnhNZW1vcnlQcm90ZWN0aW9u UG9saWN5wqAjI8KgU09NRVRJTUVTX0NPTlNVTUVTDQo+wqArwqDCoGdFZmlNZGVNb2R1bGVQa2dU b2tlblNwYWNlR3VpZC5QY2RJbWFnZVByb3RlY3Rpb25Qb2xpY3nCoMKgwqDCoMKgwqDCoCMjwqBT T01FVElNRVNfQ09OU1VNRVMNCj4NCj7CoMKgW0RlcGV4XQ0KPsKgwqDCoMKgZ0VmaVBlaUxvYWRG aWxlUHBpR3VpZMKgQU5EwqBnRWZpUGVpTWFzdGVyQm9vdE1vZGVQcGlHdWlkDQo+wqBkaWZmwqAt LWdpdMKgYS9NZGVNb2R1bGVQa2cvQ29yZS9EeGVJcGxQZWltL0lhMzIvRHhlTG9hZEZ1bmMuY8Kg Yi9NZGVNb2R1bGVQa2cvQ29yZS9EeGVJcGxQZWltL0lhMzIvRHhlTG9hZEZ1bmMuYw0KPsKgaW5k ZXjCoGQyOGJhYTM2MTUuLjlhOTcyMDVlZjjCoDEwMDY0NA0KPsKgLS0twqBhL01kZU1vZHVsZVBr Zy9Db3JlL0R4ZUlwbFBlaW0vSWEzMi9EeGVMb2FkRnVuYy5jDQo+wqArKyvCoGIvTWRlTW9kdWxl UGtnL0NvcmUvRHhlSXBsUGVpbS9JYTMyL0R4ZUxvYWRGdW5jLmMNCj7CoEBAwqAtMjQ1LDfCoCsy NDUsN8KgQEDCoFRvQnVpbGRQYWdlVGFibGXCoCgNCj7CoMKgwqDCoMKgwqByZXR1cm7CoFRSVUU7 DQo+wqDCoMKgwqB9DQo+DQo+wqAtwqDCoGlmwqAoUGNkR2V0Qm9vbMKgKFBjZFNldE54Rm9yU3Rh Y2spwqAmJsKgSXNFeGVjdXRlRGlzYWJsZUJpdEF2YWlsYWJsZcKgKCkpwqB7DQo+wqArwqDCoGlm wqAoVG9FbmFibGVFeGVjdXRlRGlzYWJsZUZlYXR1cmXCoCgpKcKgew0KPsKgwqDCoMKgwqDCoHJl dHVybsKgVFJVRTsNCj7CoMKgwqDCoH0NCj4NCj7CoEBAwqAtNDM2LDfCoCs0MzYsN8KgQEDCoEhh bmRPZmZUb0R4ZUNvcmXCoCgNCj7CoMKgwqDCoMKgwqBCdWlsZFBhZ2VUYWJsZXNJYTMyUGFlwqA9 wqBUb0J1aWxkUGFnZVRhYmxlwqAoKTsNCj7CoMKgwqDCoMKgwqBpZsKgKEJ1aWxkUGFnZVRhYmxl c0lhMzJQYWUpwqB7DQo+wqDCoMKgwqDCoMKgwqDCoFBhZ2VUYWJsZXPCoD3CoENyZWF0ZTRHUGFn ZVRhYmxlc0lhMzJQYWXCoChCYXNlT2ZTdGFjayzCoFNUQUNLX1NJWkUpOw0KPsKgLcKgwqDCoMKg wqDCoGlmwqAoSXNFeGVjdXRlRGlzYWJsZUJpdEF2YWlsYWJsZcKgKCkpwqB7DQo+wqArwqDCoMKg wqDCoMKgaWbCoChUb0VuYWJsZUV4ZWN1dGVEaXNhYmxlRmVhdHVyZcKgKCkpwqB7DQo+wqDCoMKg wqDCoMKgwqDCoMKgwqBFbmFibGVFeGVjdXRlRGlzYWJsZUJpdCgpOw0KPsKgwqDCoMKgwqDCoMKg wqB9DQo+wqDCoMKgwqDCoMKgfQ0KPsKgZGlmZsKgLS1naXTCoGEvTWRlTW9kdWxlUGtnL0NvcmUv RHhlSXBsUGVpbS9YNjQvVmlydHVhbE1lbW9yeS5jwqBiL01kZU1vZHVsZVBrZy9Db3JlL0R4ZUlw bFBlaW0vWDY0L1ZpcnR1YWxNZW1vcnkuYw0KPsKgaW5kZXjCoDQ5NmUyMTk5MTMuLjI1M2ZlODQy MjPCoDEwMDY0NA0KPsKgLS0twqBhL01kZU1vZHVsZVBrZy9Db3JlL0R4ZUlwbFBlaW0vWDY0L1Zp cnR1YWxNZW1vcnkuYw0KPsKgKysrwqBiL01kZU1vZHVsZVBrZy9Db3JlL0R4ZUlwbFBlaW0vWDY0 L1ZpcnR1YWxNZW1vcnkuYw0KPsKgQEDCoC0xMDYsNsKgKzEwNiw1NsKgQEDCoElzTnVsbERldGVj dGlvbkVuYWJsZWTCoCgNCj7CoMKgwqDCoHJldHVybsKgKChQY2RHZXQ4wqAoUGNkTnVsbFBvaW50 ZXJEZXRlY3Rpb25Qcm9wZXJ0eU1hc2spwqAmwqBCSVQwKcKgIT3CoDApOw0KPsKgwqB9DQo+DQo+ wqArLyoqDQo+wqArwqDCoENoZWNrwqBpZsKgRXhlY3V0ZcKgRGlzYWJsZcKgQml0wqAoSUEzMl9F RkVSLk5YRSnCoHNob3VsZMKgYmXCoGVuYWJsZWTCoG9ywqBub3QuDQo+wqArDQo+wqArwqDCoEBy ZXR2YWzCoFRSVUXCoMKgwqDCoElBMzJfRUZFUi5OWEXCoHNob3VsZMKgYmXCoGVuYWJsZWQuDQo+ wqArwqDCoEByZXR2YWzCoEZBTFNFwqDCoMKgSUEzMl9FRkVSLk5YRcKgc2hvdWxkwqBub3TCoGJl wqBlbmFibGVkLg0KPsKgKw0KPsKgKyoqLw0KPsKgK0JPT0xFQU4NCj7CoCtUb0VuYWJsZUV4ZWN1 dGVEaXNhYmxlRmVhdHVyZcKgKA0KPsKgK8KgwqBWT0lEDQo+wqArwqDCoCkNCj7CoCt7DQo+wqAr wqDCoGlmwqAoIUlzRXhlY3V0ZURpc2FibGVCaXRBdmFpbGFibGXCoCgpKcKgew0KPsKgK8KgwqDC oMKgcmV0dXJuwqBGQUxTRTsNCj7CoCvCoMKgfQ0KPsKgKw0KPsKgK8KgwqAvLw0KPsKgK8KgwqAv L8KgTm9ybWFsbHnCoHN0YWNrwqBpc8KgdHlwZcKgb2bCoEVmaUJvb3RTZXJ2aWNlc0RhdGEuwqBE aXNhYmxpbmfCoE5YwqBmb3LCoHN0YWNrDQo+wqArwqDCoC8vwqBidXTCoGVuYWJsaW5nwqBOWMKg Zm9ywqBFZmlCb290U2VydmljZXNEYXRhwqBkb2Vzbid0wqBtYWtlwqBhbnnCoHNlbnNlLg0KPsKg K8KgwqAvLw0KPsKgK8KgwqBpZsKgKFBjZEdldEJvb2zCoChQY2RTZXROeEZvclN0YWNrKcKgPT3C oEZBTFNFwqAmJg0KPsKgK8KgwqDCoMKgwqDCoChQY2RHZXQ2NMKgKFBjZER4ZU54TWVtb3J5UHJv dGVjdGlvblBvbGljeSnCoCbCoFNUQUNLX01FTU9SWV9UWVBFKcKgIT3CoDApwqB7DQo+wqArwqDC oMKgwqBERUJVR8KgKChERUJVR19FUlJPUiwNCj7CoCvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAi RVJST1I6wqBOWMKgZm9ywqBzdGFja8KgaXPCoGRpc2FibGVkwqBidXTCoE5YwqBmb3LCoGl0c8Kg bWVtb3J5wqB0eXBlwqBpc8KgZW5hYmxlZCFcclxuIikpOw0KPsKgK8KgwqDCoMKgQVNTRVJUKCEo UGNkR2V0Qm9vbMKgKFBjZFNldE54Rm9yU3RhY2spwqA9PcKgRkFMU0XCoCYmDQo+wqArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAoUGNkR2V0NjTCoChQY2REeGVOeE1lbW9yeVByb3RlY3Rpb25Q b2xpY3kpwqAmwqBTVEFDS19NRU1PUllfVFlQRSnCoCE9wqAwKSk7DQo+wqArwqDCoH0NCj7CoCsN Cj7CoCvCoMKgLy8NCj7CoCvCoMKgLy/CoEltYWdlwqBkYXRhwqBzZWN0aW9uwqBjb3VsZMKgYmXC oHR5cGXCoG9mwqBFZmlMb2FkZXJEYXRhLMKgRWZpQm9vdFNlcnZpY2VzRGF0YQ0KPsKgK8KgwqAv L8Kgb3LCoEVmaVJ1bnRpbWVTZXJ2aWNlc0RhdGEuwqBEaXNhYmxpbmfCoE5YwqBmb3LCoGltYWdl wqBkYXRhwqBidXTCoGVuYWJsaW5nwqBOWA0KPsKgK8KgwqAvL8KgZm9ywqBhbnnCoHRob3NlwqBt ZW1vcnnCoHR5cGVzwqBkb2Vzbid0wqBtYWtlwqBhbnnCoHNlbnNlLg0KPsKgK8KgwqAvLw0KPsKg K8KgwqBpZsKgKFBjZEdldDMywqAoUGNkSW1hZ2VQcm90ZWN0aW9uUG9saWN5KcKgPT3CoDDCoCYm DQo+wqArwqDCoMKgwqDCoMKgKFBjZEdldDY0wqAoUGNkRHhlTnhNZW1vcnlQcm90ZWN0aW9uUG9s aWN5KcKgJsKgSU1BR0VfREFUQV9NRU1PUllfVFlQRSnCoCE9wqAwKcKgew0KPsKgK8KgwqDCoMKg REVCVUfCoCgoREVCVUdfRVJST1IsDQo+wqArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIkVSUk9S OsKgTljCoGZvcsKgaW1hZ2XCoGRhdGHCoGlzwqBkaXNhYmxlZMKgYnV0wqBOWMKgZm9ywqBpdHPC oG1lbW9yecKgdHlwZShzKcKgaXPCoGVuYWJsZWQhXHJcbiIpKTsNCj7CoCvCoMKgwqDCoEFTU0VS VMKgKCEoUGNkR2V0MzLCoChQY2RJbWFnZVByb3RlY3Rpb25Qb2xpY3kpwqA9PcKgMMKgJiYNCj7C oCvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgKFBjZEdldDY0wqAoUGNkRHhlTnhNZW1vcnlQ cm90ZWN0aW9uUG9saWN5KcKgJsKgSU1BR0VfREFUQV9NRU1PUllfVFlQRSnCoCE9wqAwKSk7DQo+ wqArwqDCoH0NCj7CoCsNCj7CoCvCoMKgLy8NCj7CoCvCoMKgLy/CoFhEwqBmbGFnwqAoQklUNjMp wqBpbsKgcGFnZcKgdGFibGXCoGVudHJ5wqBpc8Kgb25secKgdmFsaWTCoGlmwqBJQTMyX0VGRVIu TlhFwqBpc8Kgc2V0Lg0KPsKgK8KgwqAvL8KgRmVhdHVyZXPCoGNvbnRyb2xsZWTCoGJ5wqBGb2xs b3dpbmfCoFBDRHPCoG5lZWTCoHRoaXPCoGZlYXR1cmXCoHRvwqBiZcKgZW5hYmxlZC4NCj7CoCvC oMKgLy8NCj7CoCvCoMKgcmV0dXJuwqAoUGNkR2V0Qm9vbMKgKFBjZFNldE54Rm9yU3RhY2spwqB8 fA0KPsKgK8KgwqDCoMKgwqDCoMKgwqDCoMKgUGNkR2V0NjTCoChQY2REeGVOeE1lbW9yeVByb3Rl Y3Rpb25Qb2xpY3kpwqAhPcKgMMKgfHwNCj7CoCvCoMKgwqDCoMKgwqDCoMKgwqDCoFBjZEdldDMy wqAoUGNkSW1hZ2VQcm90ZWN0aW9uUG9saWN5KcKgIT3CoDApOw0KPsKgK30NCj7CoCsNCj7CoMKg LyoqDQo+wqDCoMKgwqBFbmFibGXCoEV4ZWN1dGXCoERpc2FibGXCoEJpdC4NCj4NCj7CoEBAwqAt NzU1LDfCoCs4MDUsMTDCoEBAwqBDcmVhdGVJZGVudGl0eU1hcHBpbmdQYWdlVGFibGVzwqAoDQo+ wqDCoMKgwqAvLw0KPsKgwqDCoMKgRW5hYmxlUGFnZVRhYmxlUHJvdGVjdGlvbsKgKChVSU5UTilQ YWdlTWFwLMKgVFJVRSk7DQo+DQo+wqAtwqDCoGlmwqAoUGNkR2V0Qm9vbMKgKFBjZFNldE54Rm9y U3RhY2spKcKgew0KPsKgK8KgwqAvLw0KPsKgK8KgwqAvL8KgU2V0wqBJQTMyX0VGRVIuTlhFwqBp ZsKgbmVjZXNzYXJ5Lg0KPsKgK8KgwqAvLw0KPsKgK8KgwqBpZsKgKFRvRW5hYmxlRXhlY3V0ZURp c2FibGVGZWF0dXJlwqAoKSnCoHsNCj7CoMKgwqDCoMKgwqBFbmFibGVFeGVjdXRlRGlzYWJsZUJp dMKgKCk7DQo+wqDCoMKgwqB9DQo+DQo+wqBkaWZmwqAtLWdpdMKgYS9NZGVNb2R1bGVQa2cvQ29y ZS9EeGVJcGxQZWltL1g2NC9WaXJ0dWFsTWVtb3J5LmjCoGIvTWRlTW9kdWxlUGtnL0NvcmUvRHhl SXBsUGVpbS9YNjQvVmlydHVhbE1lbW9yeS5oDQo+wqBpbmRleMKgODU0NTdmZjkzNy4uOWYxNTJl NjUzMcKgMTAwNjQ0DQo+wqAtLS3CoGEvTWRlTW9kdWxlUGtnL0NvcmUvRHhlSXBsUGVpbS9YNjQv VmlydHVhbE1lbW9yeS5oDQo+wqArKyvCoGIvTWRlTW9kdWxlUGtnL0NvcmUvRHhlSXBsUGVpbS9Y NjQvVmlydHVhbE1lbW9yeS5oDQo+wqBAQMKgLTE3OSw2wqArMTc5LDM5wqBAQMKgdHlwZWRlZsKg c3RydWN0wqB7DQo+wqDCoMKgwqBVSU5UTsKgwqDCoMKgwqDCoMKgwqDCoMKgwqBGcmVlUGFnZXM7 DQo+wqDCoH3CoFBBR0VfVEFCTEVfUE9PTDsNCj4NCj7CoCsvLw0KPsKgKy8vwqBCaXTCoGZpZWxk wqByZXBzZW50YXRpb25zwqBvZsKgc29tZcKgRUZJX01FTU9SWV9UWVBFLMKgZm9ywqBwYWdlwqB0 YWJsZcKgaW5pdGlhbGl6YXRpb24uDQo+wqArLy8NCj7CoCsjZGVmaW5lwqBTVEFDS19NRU1PUllf VFlQRcKgwqDCoMKgwqDCoMKgwqDCoMKgwqAoMcKgPDzCoEVmaUJvb3RTZXJ2aWNlc0RhdGEpwqDC oMKgwqAvKsKgMHgxMMKgKi8NCj7CoCsjZGVmaW5lwqBJTUFHRV9EQVRBX01FTU9SWV9UWVBFwqDC oMKgwqDCoMKgKCgxwqA8PMKgRWZpTG9hZGVyRGF0YSnCoMKgwqDCoMKgwqDCoHzCoC8qwqAweDA0 wqAqL1wNCj7CoCvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCgxwqA8PMKgRWZpQm9vdFNlcnZpY2VzRGF0YSnC oHzCoC8qwqAweDEwwqAqL1wNCj7CoCvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCgxwqA8PMKgRWZpUnVudGlt ZVNlcnZpY2VzRGF0YSkvKsKgMHg0MMKgKi9cDQo+wqArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgKcKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAvKsKgMHg1 NMKgKi8NCj7CoCsNCj7CoCsvKioNCj7CoCvCoMKgQ2hlY2vCoGlmwqBFeGVjdXRlwqBEaXNhYmxl wqBCaXTCoChJQTMyX0VGRVIuTlhFKcKgc2hvdWxkwqBiZcKgZW5hYmxlZMKgb3LCoG5vdC4NCj7C oCsNCj7CoCvCoMKgQHJldHZhbMKgVFJVRcKgwqDCoMKgSUEzMl9FRkVSLk5YRcKgc2hvdWxkwqBi ZcKgZW5hYmxlZC4NCj7CoCvCoMKgQHJldHZhbMKgRkFMU0XCoMKgwqBJQTMyX0VGRVIuTlhFwqBz aG91bGTCoG5vdMKgYmXCoGVuYWJsZWQuDQo+wqArDQo+wqArKiovDQo+wqArQk9PTEVBTg0KPsKg K1RvRW5hYmxlRXhlY3V0ZURpc2FibGVGZWF0dXJlwqAoDQo+wqArwqDCoFZPSUQNCj7CoCvCoMKg KTsNCj7CoCsNCj7CoCsvKioNCj7CoCvCoMKgVGhlwqBmdW5jdGlvbsKgd2lsbMKgY2hlY2vCoGlm wqBFeGVjdXRlwqBEaXNhYmxlwqBCaXTCoGlzwqBhdmFpbGFibGUuDQo+wqArDQo+wqArwqDCoEBy ZXR2YWzCoFRSVUXCoMKgwqDCoMKgwqBFeGVjdXRlwqBEaXNhYmxlwqBCaXTCoGlzwqBhdmFpbGFi bGUuDQo+wqArwqDCoEByZXR2YWzCoEZBTFNFwqDCoMKgwqDCoEV4ZWN1dGXCoERpc2FibGXCoEJp dMKgaXPCoG5vdMKgYXZhaWxhYmxlLg0KPsKgKw0KPsKgKyoqLw0KPsKgK0JPT0xFQU4NCj7CoCtJ c0V4ZWN1dGVEaXNhYmxlQml0QXZhaWxhYmxlwqAoDQo+wqArwqDCoFZPSUQNCj7CoCvCoMKgKTsN Cj7CoCsNCj7CoMKgLyoqDQo+wqDCoMKgwqBFbmFibGXCoEV4ZWN1dGXCoERpc2FibGXCoEJpdC4N Cj4NCj7CoC0tDQo+wqAyLjE2LjIud2luZG93cy4xDQo+DQo=