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.100; helo=mga07.intel.com; envelope-from=jian.j.wang@intel.com; receiver=edk2-devel@lists.01.org Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) (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 019762194D387 for ; Wed, 12 Sep 2018 17:46:01 -0700 (PDT) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga105.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 12 Sep 2018 17:46:01 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.53,367,1531810800"; d="scan'208";a="72526379" Received: from fmsmsx106.amr.corp.intel.com ([10.18.124.204]) by orsmga007.jf.intel.com with ESMTP; 12 Sep 2018 17:45:11 -0700 Received: from fmsmsx118.amr.corp.intel.com (10.18.116.18) by FMSMSX106.amr.corp.intel.com (10.18.124.204) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 12 Sep 2018 17:45:11 -0700 Received: from shsmsx101.ccr.corp.intel.com (10.239.4.153) by fmsmsx118.amr.corp.intel.com (10.18.116.18) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 12 Sep 2018 17:45:10 -0700 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.240]) by SHSMSX101.ccr.corp.intel.com ([169.254.1.205]) with mapi id 14.03.0319.002; Thu, 13 Sep 2018 08:45:08 +0800 From: "Wang, Jian J" To: Laszlo Ersek , "edk2-devel@lists.01.org" CC: "Ni, Ruiyu" , "Justen, Jordan L" , "Yao, Jiewen" , "Zeng, Star" , Ard Biesheuvel Thread-Topic: [edk2] [PATCH 2/5] OvmfPkg/PlatformPei: expire the use of PcdSetNxForStack Thread-Index: AQHUSY6vNVyDLd3o8UWuUDx3HOthuqTqteMAgAEdWkCAAB3qgIABbvKg Date: Thu, 13 Sep 2018 00:45:08 +0000 Message-ID: References: <20180911051636.4888-1-jian.j.wang@intel.com> <20180911051636.4888-3-jian.j.wang@intel.com> <522bfb71-444c-2caa-a9ff-d5faf97c5a16@redhat.com> <035c6517-dba6-ad27-5a25-b5ebf1653a1c@redhat.com> In-Reply-To: <035c6517-dba6-ad27-5a25-b5ebf1653a1c@redhat.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiODM4ZmVkYzEtNTZjZi00MTg2LWE3NWYtMzU1YjM5YjZhNGI1IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiQnl3MkJxNjdmd2xvb1NnSkNWZzM5clFpOStMcGlJMFNzYW5VeUpqSjJGU3NrSXUrOEU4RkVGdzNJQXNhRnpKdiJ9 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 2/5] OvmfPkg/PlatformPei: expire the use of PcdSetNxForStack 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: Thu, 13 Sep 2018 00:46:02 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 TGFzemxvLA0KDQo+IE15IHVuZGVyc3RhbmRpbmcgaGFzIGJlZW4gdGhhdCBpdCdzIG5vdCBhYm91 dCBlbmFibGluZy9kaXNhYmxpbmcgYSBDUFUNCj4gZmVhdHVyZSwgYnV0IGFib3V0IG1hcmtpbmcg c3BlY2lmaWMgcGFnZXMgYXMgbm9uLWV4ZWN1dGFibGUuIFVuZGVyIHRoYXQNCj4gaW50ZXJwcmV0 YXRpb24sIGl0IHNob3VsZCBiZSBwb3NzaWJsZSB0byBtYXJrIHBhZ2VzIHVzZWQgZm9yIHN0YWNr DQo+IHB1cnBvc2VzIGFzIG5vbi1leGVjdXRhYmxlLCBhbmQgbGVhdmUgZXZlcnl0aGluZyBlbHNl IGV4ZWN1dGFibGUsIGV2ZW4NCj4gb24geDg2Lg0KDQpJIG1lbnRpb25lZCB0aGF0IGJlY2F1c2Us IGZvciB4ODYgY3B1LCBJQTMyX0VGRVIuTlhFIG11c3QgYmUgc2V0IGJlZm9yZQ0KbWFya2luZyBh bnkgcGFnZSBhcyBub24tZXhlY3V0YWJsZS4gQnV0IGl0J3Mgbm90IHRydWUgZm9yIGN1cnJlbnQg aW1wbGVtZW50YXRpb24NCnJlbGF0aW5nIHRvIFBjZER4ZU54TWVtb3J5UHJvdGVjdGlvblBvbGlj eS4gQW55d2F5LCBpdCdzIG5vdCB0aGUga2V5DQpwb2ludCBvZiB3aGF0IHdlJ3ZlIGJlZW4gdGFs a2luZyBhYm91dC4NCg0KVGhhbmsgeW91IHZlcnkgbXVjaCBmb3IgdGhlIGNvbW1lbnRzLiBJJ2xs IHNlbmQgb3V0IG5ldyBwYXRjaCBzb29uLg0KDQpSZWdhcmRzLA0KSmlhbg0KDQpGcm9tOiBMYXN6 bG8gRXJzZWsgW21haWx0bzpsZXJzZWtAcmVkaGF0LmNvbV0gDQpTZW50OiBXZWRuZXNkYXksIFNl cHRlbWJlciAxMiwgMjAxOCA2OjQyIFBNDQpUbzogV2FuZywgSmlhbiBKIDxqaWFuLmoud2FuZ0Bp bnRlbC5jb20+OyBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZw0KQ2M6IE5pLCBSdWl5dSA8cnVpeXUu bmlAaW50ZWwuY29tPjsgSnVzdGVuLCBKb3JkYW4gTCA8am9yZGFuLmwuanVzdGVuQGludGVsLmNv bT47IFlhbywgSmlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNvbT47IFplbmcsIFN0YXIgPHN0YXIu emVuZ0BpbnRlbC5jb20+OyBBcmQgQmllc2hldXZlbCA8YXJkLmJpZXNoZXV2ZWxAbGluYXJvLm9y Zz4NClN1YmplY3Q6IFJlOiBbZWRrMl0gW1BBVENIIDIvNV0gT3ZtZlBrZy9QbGF0Zm9ybVBlaTog ZXhwaXJlIHRoZSB1c2Ugb2YgUGNkU2V0TnhGb3JTdGFjaw0KDQpPbsKgMDkvMTIvMTjCoDA0OjEx LMKgV2FuZyzCoEppYW7CoErCoHdyb3RlOg0KPsKgSGnCoExhc3psb8KgYW5kwqBBcmQsDQo+wqAN Cj7CoFJldGlyaW5nwqB0aGXCoFBjZFNldE54Rm9yU3RhY2vCoGlzwqBub3TCoHRoZcKgaW50ZW50 aW9uwqBvZsKgdGhpc8KgcGF0Y2jCoHNlcmllcy7CoEl0J3PCoGp1c3QNCj7CoGHCoHNpZGXCoGVm ZmVjdMKgb2bCoHNvbHZpbmfCoHByb2JsZW3CoHN0YXRlZMKgaW7CoEJaIzExMTYuwqBTb3JyecKg YWdhaW7CoGZvcsKgdGhlwqBtaXNsZWFkaW5nDQo+wqB0aXRsZS7CoEknbcKgbm90wqBpbnNpc3Rp bmfCoHRoYXTCoHdlwqBoYXZlwqB0b8KgcmVtb3ZlwqB0aGlzwqBQQ0TCoGFueXdhecKgKE15wqBw ZXJzb25hbA0KPsKgb3Bpbmlvbi7CoE90aGVyc8KgbWlnaHTCoGhhdmXCoGRpZmZlcmVudMKgb25l cykuwqANCj7CoA0KPsKgScKgdGhpbmvCoEnCoHVuZGVyc3RhbmTCoHRoZcKgaW1wb3J0YW5jZcKg b2bCoFBjZFNldE54Rm9yU3RhY2vCoHRvwqBhcm0vYWFyY2g2NMKgbm93LsKgQW5kwqBJDQo+wqBh Z3JlZcKgdGhhdMKgaXQnZMKgYmXCoGJldHRlcsKgdG/CoGVuYWJsZcKgTljCoGZvcsKgc3RhY2vC oGluZGVwZW5kZW50wqBvZsKgZW5hYmxpbmfCoE5YwqBmb3INCj7CoEVmaUJvb3RTZXJ2Y2VzRGF0 YcKgbWVtb3J5LsKgQnV0wqBzaW5jZcKgdGhlwqBzdGFja8KgaXPCoHR5cGXCoG9mwqBFZmlCb290 U2VydmljZXNEYXRhLA0KPsKgScKgdGhpbmvCoHdlwqBzaG91bGTCoGF2b2lkwqBhbnnCoGNvbmZ1 c2lvbsKgaW7CoGVuYWJsaW5nL2Rpc2FibGluZ8KgTljCoGZvcsKgdGhlbS7CoFRoYXQnc8Kgd2hh dA0KPsKgQlojMTExNsKgdHJpZXPCoHRvwqBjb21wbGFpbsKgYWJvdXQuwqBCdXTCoEknbcKgc3Rp bGzCoG5vdMKgY2xlYXLCoGFuecKgY29uY3JldGXCoHN1Z2dlc3Rpb27CoG9uDQo+wqBob3fCoHRv wqBzb2x2ZcKgdGhlwqBCWiMxMTE2wqBmcm9twqBhbGzCoGNvbW1lbnTCoHNvwqBmYXIswqBpZsKg bXnCoHBhdGNowqBzZXJpZXPCoGNhbm5vdMKgc2F0aXNmeQ0KPsKgYWxswqBraW5kc8Kgb2bCoHBs YXRmb3Jtcy7CoFNpbXBsecKga2VlcMKgUGNkU2V0TnhGb3JTdGFja8KgZG9lc24ndMKgaGVscCzC oEnCoHRoaW5rLsKgKEl0wqBkb2Vzbid0DQo+wqBpbXBsecKgd2XCoG11c3TCoHJlbW92ZcKgaXQu KQ0KPsKgDQo+wqBBc8KgScKgY29tbWVudGVkwqBpbsKgdGhlwqBCWiMxMTE2LMKgbWF5YmXCoHdl wqBjYW7CoGp1c3TCoHNpbXBsecKgYXNzZXJ0wqBpZsKgdGhlcmUnc8Kgb25lDQo+wqB0cnlpbmfC oHRvwqBkaXNhYmxlwqBOWMKgZm9ywqBzdGFja8KgYnV0wqBlbmFibGXCoE5YwqBmb3LCoEVmaUJv b3RTZXJ2aWNlc0RhdGHCoGF0wqB0aGXCoHNhbWXCoHRpbWUsDQo+wqBiZWNhdXNlwqBpdMKgZG9l c24ndMKgbWFrZcKgc2Vuc2UuDQoNClllcyzCoHRoYXQnc8Kgd2hhdMKgScKgdGhvdWdodMKgYXPC oHdlbGwuwqBDYXRjaMKgdGhlwqBvbmXCoGNhc2XCoHdpdGjCoGFuwqBhc3NlcnQNCmFuZC9vcsKg Q3B1RGVhZExvb3AoKcKgdGhhdMKgaXPCoGFuwqBpbnZhbGlkwqBjb25maWd1cmF0aW9uLg0KDQo+ wqBJwqB0aGlua8KgYWxswqBvdGhlcsKgc2V0dGluZ8KgY29tYmluYXRpb25zwqB3b24ndMKgaGF2 ZQ0KPsKgc3VjaMKgY29uZnVzaW9uwqBhbmTCoGRvbid0wqBuZWVkwqB0b8KgdGFrZcKgY2FyZcKg c3BlY2lmaWNhbGx5Lg0KPsKgDQo+wqBBbmTCoGZvcsKgeDg2wqBDUFUswqB3ZSdsbMKgYWx3YXlz wqBlbmFibGXCoENQVcKgTljCoGZlYXR1cmXCoGlmwqBhbnnCoE5YwqByZWxhdGVkwqBQQ0RzwqBo YXZlwqBiaXRzDQo+wqBzZXQuwqBDdXJyZW50wqBEeGVJcGzCoHdpbGzCoGp1c3TCoGVuYWJsZcKg TljCoGZvcsKgUGNkU2V0TnhGb3JTdGFja8Kgb25seS4NCg0KTXnCoHVuZGVyc3RhbmRpbmfCoGhh c8KgYmVlbsKgdGhhdMKgaXQnc8Kgbm90wqBhYm91dMKgZW5hYmxpbmcvZGlzYWJsaW5nwqBhwqBD UFUNCmZlYXR1cmUswqBidXTCoGFib3V0wqBtYXJraW5nwqBzcGVjaWZpY8KgcGFnZXPCoGFzwqBu b24tZXhlY3V0YWJsZS7CoFVuZGVywqB0aGF0DQppbnRlcnByZXRhdGlvbizCoGl0wqBzaG91bGTC oGJlwqBwb3NzaWJsZcKgdG/CoG1hcmvCoHBhZ2VzwqB1c2VkwqBmb3LCoHN0YWNrDQpwdXJwb3Nl c8KgYXPCoG5vbi1leGVjdXRhYmxlLMKgYW5kwqBsZWF2ZcKgZXZlcnl0aGluZ8KgZWxzZcKgZXhl Y3V0YWJsZSzCoGV2ZW4NCm9uwqB4ODYuDQoNCkxhc3psbw0KDQo+wqANCj7CoFJlZ2FyZHMsDQo+ wqBKaWFuDQo+wqANCj7CoEZyb206wqBMYXN6bG/CoEVyc2VrwqBbbWFpbHRvOmxlcnNla0ByZWRo YXQuY29tXcKgDQo+wqBTZW50OsKgVHVlc2RheSzCoFNlcHRlbWJlcsKgMTEswqAyMDE4wqAxMTo1 M8KgUE0NCj7CoFRvOsKgV2FuZyzCoEppYW7CoErCoDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+O8Kg ZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmcNCj7CoENjOsKgTmkswqBSdWl5dcKgPHJ1aXl1Lm5pQGlu dGVsLmNvbT47wqBKdXN0ZW4swqBKb3JkYW7CoEzCoDxqb3JkYW4ubC5qdXN0ZW5AaW50ZWwuY29t PjvCoFlhbyzCoEppZXdlbsKgPGppZXdlbi55YW9AaW50ZWwuY29tPjvCoFplbmcswqBTdGFywqA8 c3Rhci56ZW5nQGludGVsLmNvbT47wqBBcmTCoEJpZXNoZXV2ZWzCoDxhcmQuYmllc2hldXZlbEBs aW5hcm8ub3JnPg0KPsKgU3ViamVjdDrCoFJlOsKgW2VkazJdwqBbUEFUQ0jCoDIvNV3CoE92bWZQ a2cvUGxhdGZvcm1QZWk6wqBleHBpcmXCoHRoZcKgdXNlwqBvZsKgUGNkU2V0TnhGb3JTdGFjaw0K PsKgDQo+wqBPbsKgMDkvMTEvMTjCoDA3OjE2LMKgSmlhbsKgSsKgV2FuZ8Kgd3JvdGU6DQo+PsKg wqBCWiM6wqBodHRwczovL2J1Z3ppbGxhLnRpYW5vY29yZS5vcmcvc2hvd19idWcuY2dpP2lkPTEx MTYNCj4+DQo+PsKgwqBTaW5jZcKgUGNkU2V0TnhGb3JTdGFja8KgaXPCoGV4cGlyZWQswqByZW1v dmXCoHJlbGF0ZWTCoGNvbmZpZ8KgY29kZS4NCj4+wqDCoFBjZER4ZU54TWVtb3J5UHJvdGVjdGlv blBvbGljecKgY2Fubm90wqBiZcKgdXNlZMKgYXPCoGR5bmFtaWPCoFBDRC4NCj4+wqDCoFRoZXJl J3PCoG5vwqBuZWVkwqB0b8KgYWRkwqBpdMKgaW7CoGNvZGXCoHRvwqByZXBsYWNlwqBQY2RTZXRO eEZvclN0YWNrLg0KPj4NCj4+wqDCoENjOsKgTGFzemxvwqBFcnNla8KgPGxlcnNla0ByZWRoYXQu Y29tPg0KPj7CoMKgQ2M6wqBTdGFywqBaZW5nwqA8c3Rhci56ZW5nQGludGVsLmNvbT4NCj4+wqDC oENjOsKgSm9yZGFuwqBKdXN0ZW7CoDxqb3JkYW4ubC5qdXN0ZW5AaW50ZWwuY29tPg0KPj7CoMKg Q2M6wqBBcmTCoEJpZXNoZXV2ZWzCoDxhcmQuYmllc2hldXZlbEBsaW5hcm8ub3JnPg0KPj7CoMKg Q2M6wqBSdWl5dcKgTmnCoDxydWl5dS5uaUBpbnRlbC5jb20+DQo+PsKgwqBDYzrCoEppZXdlbsKg WWFvwqA8amlld2VuLnlhb0BpbnRlbC5jb20+DQo+PsKgwqBDb250cmlidXRlZC11bmRlcjrCoFRp YW5vQ29yZcKgQ29udHJpYnV0aW9uwqBBZ3JlZW1lbnTCoDEuMQ0KPj7CoMKgU2lnbmVkLW9mZi1i eTrCoEppYW7CoErCoFdhbmfCoDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+DQo+PsKgwqAtLS0NCj4+ wqDCoMKgT3ZtZlBrZy9QbGF0Zm9ybVBlaS9QbGF0Zm9ybS5jwqDCoMKgwqDCoMKgfMKgMcKgLQ0K Pj7CoMKgwqBPdm1mUGtnL1BsYXRmb3JtUGVpL1BsYXRmb3JtUGVpLmluZsKgfMKgMcKgLQ0KPj7C oMKgwqAywqBmaWxlc8KgY2hhbmdlZCzCoDLCoGRlbGV0aW9ucygtKQ0KPj4NCj4+wqDCoGRpZmbC oC0tZ2l0wqBhL092bWZQa2cvUGxhdGZvcm1QZWkvUGxhdGZvcm0uY8KgYi9Pdm1mUGtnL1BsYXRm b3JtUGVpL1BsYXRmb3JtLmMNCj4+wqDCoGluZGV4wqA1YTc4NjY4MTI2Li42NjI3ZDIzNmUwwqAx MDA2NDQNCj4+wqDCoC0tLcKgYS9Pdm1mUGtnL1BsYXRmb3JtUGVpL1BsYXRmb3JtLmMNCj4+wqDC oCsrK8KgYi9Pdm1mUGtnL1BsYXRmb3JtUGVpL1BsYXRmb3JtLmMNCj4+wqDCoEBAwqAtMzQwLDfC oCszNDAsNsKgQEDCoE5vZXhlY0R4ZUluaXRpYWxpemF0aW9uwqAoDQo+PsKgwqDCoMKgwqApDQo+ PsKgwqDCoHsNCj4+wqDCoMKgwqDCoFVQREFURV9CT09MRUFOX1BDRF9GUk9NX0ZXX0NGR8KgKFBj ZFByb3BlcnRpZXNUYWJsZUVuYWJsZSk7DQo+PsKgwqAtwqDCoFVQREFURV9CT09MRUFOX1BDRF9G Uk9NX0ZXX0NGR8KgKFBjZFNldE54Rm9yU3RhY2spOw0KPj7CoMKgwqB9DQo+Pg0KPj7CoMKgwqBW T0lEDQo+PsKgwqBkaWZmwqAtLWdpdMKgYS9Pdm1mUGtnL1BsYXRmb3JtUGVpL1BsYXRmb3JtUGVp LmluZsKgYi9Pdm1mUGtnL1BsYXRmb3JtUGVpL1BsYXRmb3JtUGVpLmluZg0KPj7CoMKgaW5kZXjC oDljNWFkOTk2MWMuLmVmNWRjYjc2OTPCoDEwMDY0NA0KPj7CoMKgLS0twqBhL092bWZQa2cvUGxh dGZvcm1QZWkvUGxhdGZvcm1QZWkuaW5mDQo+PsKgwqArKyvCoGIvT3ZtZlBrZy9QbGF0Zm9ybVBl aS9QbGF0Zm9ybVBlaS5pbmYNCj4+wqDCoEBAwqAtOTYsN8KgKzk2LDbCoEBADQo+PsKgwqDCoMKg wqBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkUGNpRGlzYWJsZUJ1c0VudW1lcmF0 aW9uDQo+PsKgwqDCoMKgwqBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkRHhlSXBs U3dpdGNoVG9Mb25nTW9kZQ0KPj7CoMKgwqDCoMKgZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VH dWlkLlBjZFVzZTFHUGFnZVRhYmxlDQo+PsKgwqAtwqDCoGdFZmlNZGVNb2R1bGVQa2dUb2tlblNw YWNlR3VpZC5QY2RTZXROeEZvclN0YWNrDQo+PsKgwqDCoMKgwqBnRWZpTWRlTW9kdWxlUGtnVG9r ZW5TcGFjZUd1aWQuUGNkUHJvcGVydGllc1RhYmxlRW5hYmxlDQo+PsKgwqDCoMKgwqBnRWZpTWRl TW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkQWNwaVMzRW5hYmxlDQo+PsKgwqDCoMKgwqBnRWZp TWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkUHRlTWVtb3J5RW5jcnlwdGlvbkFkZHJlc3NP ck1hc2sNCj4+DQo+wqANCj7CoEnCoGRpc2FncmVlwqB3aXRowqB0aGlzwqBjaGFuZ2UuwqBJwqBl eHBsYWluZWTCoG15wqByZWFzb25zwqBpbg0KPsKgPGh0dHBzOi8vYnVnemlsbGEudGlhbm9jb3Jl Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTExNiNjNj4swqBidXTCoGZvcsKgdGhlDQo+wqBzYWtlwqBv ZsKgZGlzY3Vzc2lvbizCoEknbGzCoHN0YXRlwqB0aGXCoHNhbWXCoGhlcmU6DQo+wqANCj4+wqDC oEFyZCdzwqBnb3TCoGHCoHBvaW50wqBoZXJlLsKgSnVzdMKgYmVjYXVzZcKgb25lwqBQQ0TCoGlt cGxpZXPCoGFub3RoZXIswqB0aGUNCj4+wqDCoHJldmVyc2XCoGlzwqBub3TCoG5lY2Vzc2FyaWx5 wqB0cnVlLg0KPj4NCj4+wqDCoEZvcsKgZXhhbXBsZSzCoGluwqBPVk1GLMKgd2XCoHNldMKgUGNk U2V0TnhGb3JTdGFja8KgdG/CoFRSVUXCoG9yaWdpbmFsbHkswqBidXQNCj4+wqDCoHRoZW7CoHdl wqBoYWTCoHRvwqBtYWtlwqBpdMKgY29uZGl0aW9uYWwswqBkdWXCoHRvwqBvbGTCoEdSVULCoHZh cmlhbnRzwqBicmVha2luZw0KPj7CoMKgd2l0aMKgYcKgbm9uLWV4ZWN1dGFibGXCoHN0YWNrLsKg KFBsZWFzZcKgcmVmZXLCoHRvwqBjb21taXTCoGQyMGIwNmEzYWZkZiwNCj4+wqDCoCJPdm1mUGtn OsKgZGlzYWJsZcKgbm8tZXhlY8KgRFhFwqBzdGFja8KgYnnCoGRlZmF1bHQiLMKgMjAxNS0wOS0x NSkuDQo+PsKgwqBUaGVyZWZvcmXCoHdlwqBub3fCoGRlZmF1bHTCoHRvwqBGQUxTRSzCoGFuZMKg bGV0wqB0aGXCoHVzZXLCoHNldMKgaXTCoHRvwqBUUlVFwqBvbg0KPj7CoMKgdGhlwqBRRU1VwqBj b21tYW5kwqBsaW5lLg0KPj4NCj4+wqDCoEluwqBhZGRpdGlvbizCoHdlwqBpbnRlbnRpb25hbGx5 wqBpbmhlcml0wqBhwqB6ZXJvDQo+PsKgwqBQY2REeGVOeE1lbW9yeVByb3RlY3Rpb25Qb2xpY3nC oGZyb23CoCJNZGVNb2R1bGVQa2cuZGVjIi4NCj4+DQo+PsKgwqBCb3RowqBvZsKgdGhlwqBhYm92 ZcKgY29uZmlndXJhdGlvbnPCoHNhdGlzZnnCoHRoZcKgcmVxdWlyZW1lbnQNCj4+DQo+PsKgwqDC oMKgKChQY2RHZXQ2NMKgKFBjZER4ZU54TWVtb3J5UHJvdGVjdGlvblBvbGljeSnCoCYNCj4+wqDC oMKgwqDCoMKgKDHCoDw8wqBFZmlCb290U2VydmljZXNEYXRhKSnCoD09wqAwwqB8fA0KPj7CoMKg wqDCoMKgUGNkR2V0Qm9vbMKgKFBjZFNldE54Rm9yU3RhY2spKQ0KPj4NCj4+wqDCoGkuZS7CoHRo ZcKgcmVxdWlyZW1lbnTCoHRoYXTCoCJOWMKgZm9ywqBCU8KgZGF0YSLCoGltcGx5wqAiTljCoGZv csKgc3RhY2siLg0KPj4NCj4+wqDCoElmwqB5b3XCoHJlbW92ZcKgdGhlwqBzdGFuZGFsb25lwqBr bm9iwqBmb3LCoFBjZFNldE54Rm9yU3RhY2sswqB0aGVuwqB0aGUNCj4+wqDCoGRlZmF1bHTCoGJl aGF2aW9ywqBvZsKgT1ZNRsKgd2lsbMKgY29udGludWXCoHRvwqB3b3JrLMKgaG93ZXZlcsKgdGhl wqBjb21tYW5kDQo+PsKgwqBsaW5lwqBvcHRpb24swqBmb3LCoHNldHRpbmfCoFBjZFNldE54Rm9y U3RhY2vCoCpvbmx5KizCoHdpbGzCoGJyZWFrLg0KPsKgDQo+wqBJJ2TCoGxpa2XCoHRvwqBhZGTC oGFub3RoZXLCoGNvbW1lbnTCoGp1c3TCoGhlcmXCoChub3TCoG1lbnRpb25lZMKgaW7CoHRoZcKg QlopOg0KPsKgDQo+wqBUb8KgbXnCoHVuZGVyc3RhbmRpbmcswqB0aGXCoEhlYXDCoEd1YXJkwqBp c8KgYcKgZGVidWfCoGZlYXR1cmXCoFsxXS7CoE92ZXLCoHRpbWUsDQo+wqBJJ3ZlwqByZXZpZXdl ZMKgYW5kwqByZWdyZXNzaW9uLXRlc3RlZMKgYWxswqB0aGXCoEhlYXDCoEd1YXJkwqBwYXRjaGVz wqB0aGF0wqBoYXZlDQo+wqBjcm9zc2VkwqBtecKgcGF0aMKgd2l0aMKgdGhlwqB1bmRlcnN0YW5k aW5nwqB0aGF0wqAidGhpc8KgaXPCoG5vdMKgZW5hYmxlZMKgYnkNCj7CoGRlZmF1bHTCoGluwqBP Vk1GIi7CoFdpdGjCoHRob3NlwqBwb2ludHPCoGluwqBtaW5kLMKgScKgY2VydGFpbmx5wqBkb24n dMKgaW50ZW5kwqB0bw0KPsKgZW5hYmxlwqB0aGXCoEhlYXDCoEd1YXJkwqBhc8KgYcKgRml4ZWRQ Q0TCoC0twqB3aGljaMKgaXPCoHRoZcKgb25secKgd2F5wqBpdMKgY2FuwqBiZQ0KPsKgZW5hYmxl ZMKgLS3CoGluwqB0aGXCoE9WTUbCoERTQ8KgZmlsZXPCoGFueXRpbWXCoHNvb24uDQo+wqANCj7C oE9uwqB0aGXCoG90aGVywqBoYW5kLMKgdGhlwqB1c2VywqBzaG91bGTCoHNldMKgdGhlwqBzdGFj a8KgTljCoHByZWZlcmFibHnCoGF0wqBhbGwNCj7CoHRpbWVzwqAtLcKgYXPCoEnCoHdyb3RlwqBh Ym92ZSzCoHRoYXTCoHdhc8Kgb3VywqBvcmlnaW5hbMKgaWRlYcKgZm9ywqB0aGXCoE9WTUYNCj7C oGRlZmF1bHTCoGFzwqB3ZWxsLMKgdW50aWzCoHdlwqB3ZXJlwqBmb3JjZWTCoHRvwqByZXZlcnTC oGl0wqBmb3LCoGNvbXBhdGliaWxpdHkncw0KPsKgc2FrZSzCoGFuZMKgdG/CoGV4cG9zZcKgdGhl wqBrbm9iwqB0b8KgdGhlwqBlbmQtdXNlcsKgaW5zdGVhZC4NCj7CoA0KPsKgV2l0aMKgdGhpc8Kg cGF0Y2jCoHNlcmllcyzCoHRoZcKgY29uZmlndXJhdGlvbsKgdGhhdCdzwqBjdXJyZW50bHnCoGRl ZW1lZMKgdGhlDQo+wqBiZXN0wqBjb21wcm9taXNlwqBmb3LCoE9WTUbCoChIZWFwwqBHdWFyZMKg b2ZmLMKgc3RhY2vCoE5YKcKgd291bGTCoGJlwqBsb3N0Lg0KPsKgDQo+wqBbMV3CoGh0dHA6Ly9t aWQubWFpbC1hcmNoaXZlLmNvbS9EODI3NjMwQjU4NDA4NjQ5QUNCMDRGNDRDNTEwMDAzNjI0RERD OEIzQFNIU01TWDEwMy5jY3IuY29ycC5pbnRlbC5jb20NCj7CoA0KPsKgVGhhbmtzDQo+wqBMYXN6 bG8NCj7CoA0K