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.115; helo=mga14.intel.com; envelope-from=jian.j.wang@intel.com; receiver=edk2-devel@lists.01.org Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) (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 43A8121154861 for ; Mon, 24 Sep 2018 20:23:08 -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 fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 24 Sep 2018 20:23:07 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.54,300,1534834800"; d="scan'208";a="75652184" Received: from fmsmsx105.amr.corp.intel.com ([10.18.124.203]) by orsmga007.jf.intel.com with ESMTP; 24 Sep 2018 20:23:03 -0700 Received: from fmsmsx156.amr.corp.intel.com (10.18.116.74) by FMSMSX105.amr.corp.intel.com (10.18.124.203) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 24 Sep 2018 20:23:02 -0700 Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by fmsmsx156.amr.corp.intel.com (10.18.116.74) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 24 Sep 2018 20:23:02 -0700 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.245]) by shsmsx102.ccr.corp.intel.com ([169.254.2.140]) with mapi id 14.03.0319.002; Tue, 25 Sep 2018 11:23:00 +0800 From: "Wang, Jian J" To: Laszlo Ersek , "Zeng, Star" , "edk2-devel@lists.01.org" CC: "Ni, Ruiyu" , "Yao, Jiewen" Thread-Topic: [edk2] [PATCH v2 2/2] MdeModulePkg/DxeIpl: support more NX related PCDs Thread-Index: AQHUUKgCpLnp2tgNukCHyc51qhcs1qT5uVIAgAAtOYCAABm1AIAGWqQw Date: Tue, 25 Sep 2018 03:23:00 +0000 Message-ID: References: <20180920060247.7764-1-jian.j.wang@intel.com> <20180920060247.7764-3-jian.j.wang@intel.com> <4485f9fb-9320-9dbf-a344-a8b18825877b@intel.com> <828d0685-5e4e-aab9-3195-c995679791c7@redhat.com> In-Reply-To: <828d0685-5e4e-aab9-3195-c995679791c7@redhat.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiN2NmMzBjOGEtMjdmOC00YzcwLTljYTQtYmIxZTYxY2UzZWM5IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiZWhFSStxZUVyd0NQeEQ3eERXQlZ1ZkR2eXVHRzF0WXRNNmVFcUMxUk5wYzBkQ1QzZmRxdkpaSmN0ZVNKUnE5cCJ9 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 v2 2/2] 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: Tue, 25 Sep 2018 03:23:08 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SSdtIGZpbmUgd2l0aCB0aGVtIHRvby4gU28gd2UgaGF2ZSB0d28gbWlub3IgY2hhbmdlczoNCg0K MS4gQ2hhbmdlIEVuYWJsZU5vbkV4ZWMgdG8gSXNFbmFibGVOb25FeGVjTmVlZGVkDQoyLiBNb3Zl IElzRXhlY3V0ZURpc2FibGVCaXRBdmFpbGFibGUoKSB0byBWaXJ0dWFsTWVtb3J5LmMNCg0KSSB0 aGluayB2MyBpcyBub3QgbmVjZXNzYXJ5LiBJJ2xsIHB1c2ggdGhlIHBhdGNoIGFmdGVyIGVub3Vn aCB0ZXN0Lg0KDQpSZWdhcmRzLA0KSmlhbg0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0t DQo+IEZyb206IExhc3psbyBFcnNlayBbbWFpbHRvOmxlcnNla0ByZWRoYXQuY29tXQ0KPiBTZW50 OiBGcmlkYXksIFNlcHRlbWJlciAyMSwgMjAxOCA2OjE0IFBNDQo+IFRvOiBaZW5nLCBTdGFyIDxz dGFyLnplbmdAaW50ZWwuY29tPjsgV2FuZywgSmlhbiBKIDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+ Ow0KPiBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZw0KPiBDYzogTmksIFJ1aXl1IDxydWl5dS5uaUBp bnRlbC5jb20+OyBZYW8sIEppZXdlbiA8amlld2VuLnlhb0BpbnRlbC5jb20+DQo+IFN1YmplY3Q6 IFJlOiBbZWRrMl0gW1BBVENIIHYyIDIvMl0gTWRlTW9kdWxlUGtnL0R4ZUlwbDogc3VwcG9ydCBt b3JlIE5YDQo+IHJlbGF0ZWQgUENEcw0KPiANCj4gT24gMDkvMjEvMTggMTA6NDIsIFplbmcsIFN0 YXIgd3JvdGU6DQo+ID4gQW5vdGhlciBtaW5vciBzdWdnZXN0aW9uIGlzIHRvIG1vdmUgSXNFeGVj dXRlRGlzYWJsZUJpdEF2YWlsYWJsZSgpIHRvDQo+ID4gVmlydHVhbE1lbW9yeS5jLCB0aGVuIHRo ZXJlIHdpbGwgYmUgbm8gbmVlZCB0byBkZWNsYXJlIGl0IGluDQo+ID4gVmlydHVhbE1lbWVvcnku aC4NCj4gDQo+IEknbSBmaW5lIHdpdGggYm90aCBpZGVhcyAobmFtZSBjaGFuZ2UgYXMgeW91IHNl ZSBmaXQsIGFuZCBjb2RlIG1vdmVtZW50KS4NCj4gDQo+IFRoYW5rcw0KPiBMYXN6bG8NCj4gDQo+ ID4NCj4gPg0KPiA+IFRoYW5rcywNCj4gPiBTdGFyDQo+ID4gT24gMjAxOC85LzIxIDE0OjAwLCBa ZW5nLCBTdGFyIHdyb3RlOg0KPiA+PiBKaWFuIGFuZCBMYXN6bG8sDQo+ID4+DQo+ID4+IFRoZXJl IGlzIGFsc28gYSBzdXBlcmZpY2lhbCBjb21tZW50IGF0IGJlbG93Lg0KPiA+Pg0KPiA+PiBPbiAy MDE4LzkvMjAgMTQ6MDIsIEppYW4gSiBXYW5nIHdyb3RlOg0KPiA+Pj4+IHYyIGNoYW5nZXM6DQo+ ID4+Pj4gwqDCoMKgIGEuIHJlbW92ZSBtYWNyb3Mgbm8gbG9uZ2VyIG5lZWRlZA0KPiA+Pj4+IMKg wqDCoCBiLiByZW1vdmUgREVCVUcgYW5kIEFTU0VSVCBpbiBUb0VuYWJsZUV4ZWN1dGVEaXNhYmxl RmVhdHVyZSgpDQo+ID4+Pj4gwqDCoMKgIGMuIGNoYW5nZSBUb0VuYWJsZUV4ZWN1dGVEaXNhYmxl RmVhdHVyZSB0byBFbmFibGVOb25FeGVjDQo+ID4+Pg0KPiA+Pj4gQlojMTExNjogaHR0cHM6Ly9i dWd6aWxsYS50aWFub2NvcmUub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTE2DQo+ID4+Pg0KPiA+Pj4g Q3VycmVudGx5IElBMzJfRUZFUi5OWEUgaXMgb25seSBzZXQgYWdhaW5zdCBQY2RTZXROeEZvclN0 YWNrLiBUaGlzDQo+ID4+PiBjb25mdXNlcyBkZXZlbG9wZXJzIGJlY2F1c2UgZm9sbG93aW5nIHR3 byBvdGhlciBQQ0RzIGFsc28gbmVlZCBOWEUNCj4gPj4+IHRvIGJlIHNldCwgYnV0IGFjdHVhbGx5 IG5vdC4NCj4gPj4+DQo+ID4+PiDCoMKgwqDCoCBQY2REeGVOeE1lbW9yeVByb3RlY3Rpb25Qb2xp Y3kNCj4gPj4+IMKgwqDCoMKgIFBjZEltYWdlUHJvdGVjdGlvblBvbGljeQ0KPiA+Pj4NCj4gPj4+ IFRoaXMgcGF0Y2ggc29sdmVzIHRoaXMgaXNzdWUgYnkgYWRkaW5nIGxvZ2ljIHRvIGVuYWJsZSBJ QTMyX0VGRVIuTlhFDQo+ID4+PiBpZiBhbnkgb2YgdGhvc2UgUENEcyBoYXZlIGFueXRoaW5nIGVu YWJsZWQuDQo+ID4+Pg0KPiA+Pj4gQ2M6IFN0YXIgWmVuZyA8c3Rhci56ZW5nQGludGVsLmNvbT4N Cj4gPj4+IENjOiBMYXN6bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQuY29tPg0KPiA+Pj4gQ2M6IEFy ZCBCaWVzaGV1dmVsIDxhcmQuYmllc2hldXZlbEBsaW5hcm8ub3JnPg0KPiA+Pj4gQ2M6IFJ1aXl1 IE5pIDxydWl5dS5uaUBpbnRlbC5jb20+DQo+ID4+PiBDYzogSmlld2VuIFlhbyA8amlld2VuLnlh b0BpbnRlbC5jb20+DQo+ID4+PiBDb250cmlidXRlZC11bmRlcjogVGlhbm9Db3JlIENvbnRyaWJ1 dGlvbiBBZ3JlZW1lbnQgMS4xDQo+ID4+PiBTaWduZWQtb2ZmLWJ5OiBKaWFuIEogV2FuZyA8amlh bi5qLndhbmdAaW50ZWwuY29tPg0KPiA+Pj4gLS0tDQo+ID4+PiDCoCBNZGVNb2R1bGVQa2cvQ29y ZS9EeGVJcGxQZWltL0R4ZUlwbC5pbmbCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDIgKysNCj4gPj4+ IMKgIE1kZU1vZHVsZVBrZy9Db3JlL0R4ZUlwbFBlaW0vSWEzMi9EeGVMb2FkRnVuYy5jwqAgfMKg IDQgKystLQ0KPiA+Pj4gwqAgTWRlTW9kdWxlUGtnL0NvcmUvRHhlSXBsUGVpbS9YNjQvVmlydHVh bE1lbW9yeS5jIHwgMzANCj4gPj4+ICsrKysrKysrKysrKysrKysrKysrKysrLQ0KPiA+Pj4gwqAg TWRlTW9kdWxlUGtnL0NvcmUvRHhlSXBsUGVpbS9YNjQvVmlydHVhbE1lbW9yeS5oIHwgMjQNCj4g Pj4+ICsrKysrKysrKysrKysrKysrKysNCj4gPj4+IMKgIDQgZmlsZXMgY2hhbmdlZCwgNTcgaW5z ZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkNCj4gPj4+DQo+ID4+PiBkaWZmIC0tZ2l0IGEvTWRl TW9kdWxlUGtnL0NvcmUvRHhlSXBsUGVpbS9EeGVJcGwuaW5mDQo+ID4+PiBiL01kZU1vZHVsZVBr Zy9Db3JlL0R4ZUlwbFBlaW0vRHhlSXBsLmluZg0KPiA+Pj4gaW5kZXggZmQ4MjY1NzQwNC4uMDY4 ZTcwMDA3NCAxMDA2NDQNCj4gPj4+IC0tLSBhL01kZU1vZHVsZVBrZy9Db3JlL0R4ZUlwbFBlaW0v RHhlSXBsLmluZg0KPiA+Pj4gKysrIGIvTWRlTW9kdWxlUGtnL0NvcmUvRHhlSXBsUGVpbS9EeGVJ cGwuaW5mDQo+ID4+PiBAQCAtMTE3LDYgKzExNyw4IEBADQo+ID4+PiDCoCBbUGNkLklBMzIsUGNk Llg2NCxQY2QuQVJNLFBjZC5BQVJDSDY0XQ0KPiA+Pj4gwqDCoMKgIGdFZmlNZGVNb2R1bGVQa2dU b2tlblNwYWNlR3VpZC5QY2RTZXROeEZvclN0YWNrwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCAjIw0KPiA+Pj4gU09NRVRJTUVTX0NPTlNVTUVTDQo+ID4+PiArwqAgZ0VmaU1kZU1vZHVsZVBr Z1Rva2VuU3BhY2VHdWlkLlBjZER4ZU54TWVtb3J5UHJvdGVjdGlvblBvbGljeQ0KPiAjIw0KPiA+ Pj4gU09NRVRJTUVTX0NPTlNVTUVTDQo+ID4+PiArwqAgZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3Bh Y2VHdWlkLlBjZEltYWdlUHJvdGVjdGlvblBvbGljecKgwqDCoMKgwqDCoCAjIw0KPiA+Pj4gU09N RVRJTUVTX0NPTlNVTUVTDQo+ID4+PiDCoCBbRGVwZXhdDQo+ID4+PiDCoMKgwqAgZ0VmaVBlaUxv YWRGaWxlUHBpR3VpZCBBTkQgZ0VmaVBlaU1hc3RlckJvb3RNb2RlUHBpR3VpZA0KPiA+Pj4gZGlm ZiAtLWdpdCBhL01kZU1vZHVsZVBrZy9Db3JlL0R4ZUlwbFBlaW0vSWEzMi9EeGVMb2FkRnVuYy5j DQo+ID4+PiBiL01kZU1vZHVsZVBrZy9Db3JlL0R4ZUlwbFBlaW0vSWEzMi9EeGVMb2FkRnVuYy5j DQo+ID4+PiBpbmRleCBkMjhiYWEzNjE1Li5jY2QzMGY5NjRiIDEwMDY0NA0KPiA+Pj4gLS0tIGEv TWRlTW9kdWxlUGtnL0NvcmUvRHhlSXBsUGVpbS9JYTMyL0R4ZUxvYWRGdW5jLmMNCj4gPj4+ICsr KyBiL01kZU1vZHVsZVBrZy9Db3JlL0R4ZUlwbFBlaW0vSWEzMi9EeGVMb2FkRnVuYy5jDQo+ID4+ PiBAQCAtMjQ1LDcgKzI0NSw3IEBAIFRvQnVpbGRQYWdlVGFibGUgKA0KPiA+Pj4gwqDCoMKgwqDC oCByZXR1cm4gVFJVRTsNCj4gPj4+IMKgwqDCoCB9DQo+ID4+PiAtwqAgaWYgKFBjZEdldEJvb2wg KFBjZFNldE54Rm9yU3RhY2spICYmIElzRXhlY3V0ZURpc2FibGVCaXRBdmFpbGFibGUNCj4gPj4+ ICgpKSB7DQo+ID4+PiArwqAgaWYgKEVuYWJsZU5vbkV4ZWMgKCkpIHsNCj4gPj4+IMKgwqDCoMKg wqAgcmV0dXJuIFRSVUU7DQo+ID4+PiDCoMKgwqAgfQ0KPiA+Pj4gQEAgLTQzNiw3ICs0MzYsNyBA QCBIYW5kT2ZmVG9EeGVDb3JlICgNCj4gPj4+IMKgwqDCoMKgwqAgQnVpbGRQYWdlVGFibGVzSWEz MlBhZSA9IFRvQnVpbGRQYWdlVGFibGUgKCk7DQo+ID4+PiDCoMKgwqDCoMKgIGlmIChCdWlsZFBh Z2VUYWJsZXNJYTMyUGFlKSB7DQo+ID4+PiDCoMKgwqDCoMKgwqDCoCBQYWdlVGFibGVzID0gQ3Jl YXRlNEdQYWdlVGFibGVzSWEzMlBhZSAoQmFzZU9mU3RhY2ssDQo+ID4+PiBTVEFDS19TSVpFKTsN Cj4gPj4+IC3CoMKgwqDCoMKgIGlmIChJc0V4ZWN1dGVEaXNhYmxlQml0QXZhaWxhYmxlICgpKSB7 DQo+ID4+PiArwqDCoMKgwqDCoCBpZiAoRW5hYmxlTm9uRXhlYyAoKSkgew0KPiA+Pj4gwqDCoMKg wqDCoMKgwqDCoMKgIEVuYWJsZUV4ZWN1dGVEaXNhYmxlQml0KCk7DQo+ID4+PiDCoMKgwqDCoMKg wqDCoCB9DQo+ID4+PiDCoMKgwqDCoMKgIH0NCj4gPj4+IGRpZmYgLS1naXQgYS9NZGVNb2R1bGVQ a2cvQ29yZS9EeGVJcGxQZWltL1g2NC9WaXJ0dWFsTWVtb3J5LmMNCj4gPj4+IGIvTWRlTW9kdWxl UGtnL0NvcmUvRHhlSXBsUGVpbS9YNjQvVmlydHVhbE1lbW9yeS5jDQo+ID4+PiBpbmRleCA0OTZl MjE5OTEzLi43M2IwZjY3YzZiIDEwMDY0NA0KPiA+Pj4gLS0tIGEvTWRlTW9kdWxlUGtnL0NvcmUv RHhlSXBsUGVpbS9YNjQvVmlydHVhbE1lbW9yeS5jDQo+ID4+PiArKysgYi9NZGVNb2R1bGVQa2cv Q29yZS9EeGVJcGxQZWltL1g2NC9WaXJ0dWFsTWVtb3J5LmMNCj4gPj4+IEBAIC0xMDYsNiArMTA2 LDMxIEBAIElzTnVsbERldGVjdGlvbkVuYWJsZWQgKA0KPiA+Pj4gwqDCoMKgIHJldHVybiAoKFBj ZEdldDggKFBjZE51bGxQb2ludGVyRGV0ZWN0aW9uUHJvcGVydHlNYXNrKSAmIEJJVDApICE9DQo+ ID4+PiAwKTsNCj4gPj4+IMKgIH0NCj4gPj4+ICsvKioNCj4gPj4+ICvCoCBDaGVjayBpZiBFeGVj dXRlIERpc2FibGUgQml0IChJQTMyX0VGRVIuTlhFKSBzaG91bGQgYmUgZW5hYmxlZCBvcg0KPiA+ Pj4gbm90Lg0KPiA+Pj4gKw0KPiA+Pj4gK8KgIEByZXR2YWwgVFJVRcKgwqDCoCBJQTMyX0VGRVIu TlhFIHNob3VsZCBiZSBlbmFibGVkLg0KPiA+Pj4gK8KgIEByZXR2YWwgRkFMU0XCoMKgIElBMzJf RUZFUi5OWEUgc2hvdWxkIG5vdCBiZSBlbmFibGVkLg0KPiA+Pj4gKw0KPiA+Pj4gKyoqLw0KPiA+ Pj4gK0JPT0xFQU4NCj4gPj4+ICtFbmFibGVOb25FeGVjICgNCj4gPj4+ICvCoCBWT0lEDQo+ID4+ PiArwqAgKQ0KPiA+Pj4gK3sNCj4gPj4+ICvCoCBpZiAoIUlzRXhlY3V0ZURpc2FibGVCaXRBdmFp bGFibGUgKCkpIHsNCj4gPj4+ICvCoMKgwqAgcmV0dXJuIEZBTFNFOw0KPiA+Pj4gK8KgIH0NCj4g Pj4+ICsNCj4gPj4+ICvCoCAvLw0KPiA+Pj4gK8KgIC8vIFhEIGZsYWcgKEJJVDYzKSBpbiBwYWdl IHRhYmxlIGVudHJ5IGlzIG9ubHkgdmFsaWQgaWYNCj4gPj4+IElBMzJfRUZFUi5OWEUgaXMgc2V0 Lg0KPiA+Pj4gK8KgIC8vIEZlYXR1cmVzIGNvbnRyb2xsZWQgYnkgRm9sbG93aW5nIFBDRHMgbmVl ZCB0aGlzIGZlYXR1cmUgdG8gYmUNCj4gPj4+IGVuYWJsZWQuDQo+ID4+PiArwqAgLy8NCj4gPj4+ ICvCoCByZXR1cm4gKFBjZEdldEJvb2wgKFBjZFNldE54Rm9yU3RhY2spIHx8DQo+ID4+PiArwqDC oMKgwqDCoMKgwqDCoMKgIFBjZEdldDY0IChQY2REeGVOeE1lbW9yeVByb3RlY3Rpb25Qb2xpY3kp ICE9IDAgfHwNCj4gPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqAgUGNkR2V0MzIgKFBjZEltYWdlUHJv dGVjdGlvblBvbGljeSkgIT0gMCk7DQo+ID4+PiArfQ0KPiA+Pg0KPiA+PiBJIGFtIGEgbGl0dGxl IGNvbmZ1c2VkIGJ5IHRoaXMgZnVuY3Rpb24gbmFtZSBjb21wYXJlZCB3aXRoDQo+ID4+IEVuYWJs ZUV4ZWN1dGVEaXNhYmxlQml0KCkuIFRoaXMgZnVuY3Rpb24gaXMgbm90IHJlYWxseSB0byBlbmFi bGUgTlgsDQo+ID4+IGJ1dCBqdXN0IHRvIGNoZWNrIHdoZXRoZXIgZW5hYmxlIE5YIGlzIG5lZWRl ZCBvciBub3QuIEhvdyBhYm91dCB1c2luZw0KPiA+PiBuYW1lIElzRW5hYmxlTm9uRXhlY05lZWRl ZCBvciBJc0VuYWJsZU54TmVlZGVkIG9yDQo+IElzRGlzYWJsZUV4ZWN1dGVOZWVkZWQ/DQo+ID4+ DQo+ID4+DQo+ID4+IFNvcnJ5IEkgZGlkIG5vdCByYWlzZSB0aGlzIGNvbW1lbnQgaW4gVjEgcGF0 Y2ggdGhyZWFkLg0KPiA+PiBJZiB5b3UgYWdyZWUgd2l0aCB0aGUgbmFtZSBjaGFuZ2luZywgUmV2 aWV3ZWQtYnk6IFN0YXIgWmVuZw0KPiA+PiA8c3Rhci56ZW5nQGludGVsLmNvbT4uDQo+ID4+DQo+ ID4+DQo+ID4+IFRoYW5rcywNCj4gPj4gU3Rhcg0KPiA+Pj4gKw0KPiA+Pj4gwqAgLyoqDQo+ID4+ PiDCoMKgwqAgRW5hYmxlIEV4ZWN1dGUgRGlzYWJsZSBCaXQuDQo+ID4+PiBAQCAtNzU1LDcgKzc4 MCwxMCBAQCBDcmVhdGVJZGVudGl0eU1hcHBpbmdQYWdlVGFibGVzICgNCj4gPj4+IMKgwqDCoCAv Lw0KPiA+Pj4gwqDCoMKgIEVuYWJsZVBhZ2VUYWJsZVByb3RlY3Rpb24gKChVSU5UTilQYWdlTWFw LCBUUlVFKTsNCj4gPj4+IC3CoCBpZiAoUGNkR2V0Qm9vbCAoUGNkU2V0TnhGb3JTdGFjaykpIHsN Cj4gPj4+ICvCoCAvLw0KPiA+Pj4gK8KgIC8vIFNldCBJQTMyX0VGRVIuTlhFIGlmIG5lY2Vzc2Fy eS4NCj4gPj4+ICvCoCAvLw0KPiA+Pj4gK8KgIGlmIChFbmFibGVOb25FeGVjICgpKSB7DQo+ID4+ PiDCoMKgwqDCoMKgIEVuYWJsZUV4ZWN1dGVEaXNhYmxlQml0ICgpOw0KPiA+Pj4gwqDCoMKgIH0N Cj4gPj4+IGRpZmYgLS1naXQgYS9NZGVNb2R1bGVQa2cvQ29yZS9EeGVJcGxQZWltL1g2NC9WaXJ0 dWFsTWVtb3J5LmgNCj4gPj4+IGIvTWRlTW9kdWxlUGtnL0NvcmUvRHhlSXBsUGVpbS9YNjQvVmly dHVhbE1lbW9yeS5oDQo+ID4+PiBpbmRleCA4NTQ1N2ZmOTM3Li4wOTA4NTMxMmFhIDEwMDY0NA0K PiA+Pj4gLS0tIGEvTWRlTW9kdWxlUGtnL0NvcmUvRHhlSXBsUGVpbS9YNjQvVmlydHVhbE1lbW9y eS5oDQo+ID4+PiArKysgYi9NZGVNb2R1bGVQa2cvQ29yZS9EeGVJcGxQZWltL1g2NC9WaXJ0dWFs TWVtb3J5LmgNCj4gPj4+IEBAIC0xNzksNiArMTc5LDMwIEBAIHR5cGVkZWYgc3RydWN0IHsNCj4g Pj4+IMKgwqDCoCBVSU5UTsKgwqDCoMKgwqDCoMKgwqDCoMKgIEZyZWVQYWdlczsNCj4gPj4+IMKg IH0gUEFHRV9UQUJMRV9QT09MOw0KPiA+Pj4gKy8qKg0KPiA+Pj4gK8KgIENoZWNrIGlmIEV4ZWN1 dGUgRGlzYWJsZSBCaXQgKElBMzJfRUZFUi5OWEUpIHNob3VsZCBiZSBlbmFibGVkIG9yDQo+ID4+ PiBub3QuDQo+ID4+PiArDQo+ID4+PiArwqAgQHJldHZhbCBUUlVFwqDCoMKgIElBMzJfRUZFUi5O WEUgc2hvdWxkIGJlIGVuYWJsZWQuDQo+ID4+PiArwqAgQHJldHZhbCBGQUxTRcKgwqAgSUEzMl9F RkVSLk5YRSBzaG91bGQgbm90IGJlIGVuYWJsZWQuDQo+ID4+PiArDQo+ID4+PiArKiovDQo+ID4+ PiArQk9PTEVBTg0KPiA+Pj4gK0VuYWJsZU5vbkV4ZWMgKA0KPiA+Pj4gK8KgIFZPSUQNCj4gPj4+ ICvCoCApOw0KPiA+Pj4gKw0KPiA+Pj4gKy8qKg0KPiA+Pj4gK8KgIFRoZSBmdW5jdGlvbiB3aWxs IGNoZWNrIGlmIEV4ZWN1dGUgRGlzYWJsZSBCaXQgaXMgYXZhaWxhYmxlLg0KPiA+Pj4gKw0KPiA+ Pj4gK8KgIEByZXR2YWwgVFJVRcKgwqDCoMKgwqAgRXhlY3V0ZSBEaXNhYmxlIEJpdCBpcyBhdmFp bGFibGUuDQo+ID4+PiArwqAgQHJldHZhbCBGQUxTRcKgwqDCoMKgIEV4ZWN1dGUgRGlzYWJsZSBC aXQgaXMgbm90IGF2YWlsYWJsZS4NCj4gPj4+ICsNCj4gPj4+ICsqKi8NCj4gPj4+ICtCT09MRUFO DQo+ID4+PiArSXNFeGVjdXRlRGlzYWJsZUJpdEF2YWlsYWJsZSAoDQo+ID4+PiArwqAgVk9JRA0K PiA+Pj4gK8KgICk7DQo+ID4+PiArDQo+ID4+PiDCoCAvKioNCj4gPj4+IMKgwqDCoCBFbmFibGUg RXhlY3V0ZSBEaXNhYmxlIEJpdC4NCj4gPj4+DQo+ID4NCg0K