From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by mx.groups.io with SMTP id smtpd.web12.1809.1571645282068950948 for ; Mon, 21 Oct 2019 01:08:02 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 134.134.136.31, mailfrom: jiewen.yao@intel.com) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga104.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 21 Oct 2019 01:08:01 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.67,322,1566889200"; d="scan'208";a="209396004" Received: from fmsmsx105.amr.corp.intel.com ([10.18.124.203]) by fmsmga001.fm.intel.com with ESMTP; 21 Oct 2019 01:08:01 -0700 Received: from fmsmsx111.amr.corp.intel.com (10.18.116.5) by FMSMSX105.amr.corp.intel.com (10.18.124.203) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 21 Oct 2019 01:08:01 -0700 Received: from shsmsx107.ccr.corp.intel.com (10.239.4.96) by fmsmsx111.amr.corp.intel.com (10.18.116.5) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 21 Oct 2019 01:08:00 -0700 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.176]) by SHSMSX107.ccr.corp.intel.com ([169.254.9.33]) with mapi id 14.03.0439.000; Mon, 21 Oct 2019 16:07:59 +0800 From: "Yao, Jiewen" To: "devel@edk2.groups.io" , "vit9696@protonmail.com" , "Gao, Liming" CC: "Wang, Jian J" , "Kinney, Michael D" Subject: Re: [edk2-devel] [PATCH v1 1/1] MdePkg: Add PCD to disable safe string constraint assertions Thread-Topic: [edk2-devel] [PATCH v1 1/1] MdePkg: Add PCD to disable safe string constraint assertions Thread-Index: AQHVh0clhHkPnZEQBE+EyRmVJ9DPH6dj50MAgACZCQD//60XgIAAia9Q Date: Mon, 21 Oct 2019 08:07:58 +0000 Message-ID: <74D8A39837DF1E4DA445A8C0B3885C503F80B961@shsmsx102.ccr.corp.intel.com> References: <20191020130553.42851-1-vit9696@protonmail.com> <20191020130553.42851-2-vit9696@protonmail.com> <4A89E2EF3DFEDB4C8BFDE51014F606A14E51F6EB@SHSMSX104.ccr.corp.intel.com> <74D8A39837DF1E4DA445A8C0B3885C503F80B477@shsmsx102.ccr.corp.intel.com> <6FF18D79-65ED-4C0B-9B03-99C0B5DD539A@protonmail.com> In-Reply-To: <6FF18D79-65ED-4C0B-9B03-99C0B5DD539A@protonmail.com> Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiZWZjYTFkZTQtNjQwZS00M2QwLTg0OTAtZjFhMTQ5YmI0Y2Y0IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiNmF0RFc2N0REWFhuWnY3WTM4dVBtVm1IYjFzRjI5b2JtY25na1NGSWNnQmY0UHVkaXBpSVdYYW1MZXNxRGNPMCJ9 x-ctpclassification: CTP_NT dlp-product: dlpe-windows dlp-version: 11.2.0.6 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Return-Path: jiewen.yao@intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgVml0YWx5DQpXZSBoYXZlIGRpc2N1c3NlZCB0aGUgQVNTRVJUIHVzYWdlIHdoZW4gd2UgYWRk ZWQgdGhlIGZpcnN0IHZlcnNpb24gb2YgY29kZS4NCg0KQzExIHN0YW5kYXJkIHN1cHBvcnRzIHJ1 bnRpbWUgdmlvbGF0aW9uIGhhbmRsZXIgcmVnaXN0cmF0aW9uLg0KV2UgaW52ZXN0aWdhdGVkIHRo ZSBiZWhhdmlvciBvZg0KKDEpIE1TIFZpc3VhbCBTdHVkaW8gLSBodHRwOi8vbXNkbi5taWNyb3Nv ZnQuY29tL2VuLXVzL2xpYnJhcnkvYmIyODg0NTQuYXNweA0KKDIpIFNhZmVDTGliIC0gaHR0cDov L3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9zYWZlY2xpYi8NCigzKSBTbGliYyAtIGh0dHBzOi8v Y29kZS5nb29nbGUuY29tL3Avc2xpYmMvDQoNClRoZSBkZWZhdWx0IGJlaGF2aW9yIGlzOg0KKDEp IENhbGwgRGVidWdnZXINCigyKSBQcmludCBlcnJvcg0KKDMpIENhbGwgYWJvcnQoKQ0KDQpBcyBj b25jbHVzaW9uLCB3ZSBiZWxpZXZlIGl0IGlzICpjYWxsZXIncyByZXNwb25zaWJpbGl0eSogdG8g bWFrZSBzdXJlIHRoZSBjYWxsZXIgaW5wdXRzIHJpZ2h0IHBhcmFtZXRlciwgaW5zdGVhZCBvZiBs ZXQgY2FsbGVlIGNoZWNrIGFuZCByZXR1cm4gZXJyb3IuDQoNCkluIG9yZGVyIHRvIGNhdGNoIHN1 Y2ggZXJyb3IgYXMgZWFybHkgYXMgcG9zc2libGUsIHdlIGRlY2lkZSB0byB1c2UgQVNTRVJULCBi ZWNhdXNlIGl0IGlzIHNvbWV0aGluZyBuZXZlciBoYXBwZW4uIChXZSBzdGlsbCB1c2UgZXJyb3Ig aGFuZGxpbmcgZm9sbG93ZWQgYnkgdG8gaGFuZGxlIHRoZSByZWxlYXNlIGJ1aWxkLikNCg0KVGhp cyBBUEkgaXMgTk9UIGRlc2lnbiB0byBoYW5kbGUgdW50cnVzdGVkIGlucHV0LiBBcyBzdWNoLCB3 ZSBiZWxpZXZlIGl0IGlzIGV4cGVjdGVkIEFTU0VSVCBiZWhhdmlvci4NCg0KDQpXZSBoYXZlIG90 aGVyIGRlYmF0ZSwgc3VjaCBhcyBpZiB3ZSBuZWVkIEFTU0VSVCAyIGJ5dGVzIGFsaWdubWVudCBD SEFSMTYgcHJvY2Vzcywgb3IgaWYgd2UgbmVlZCBBU1NFUlQgYWRkcmVzcyBhbGlnbm1lbnQgZm9y IE1NSU8gYWNjZXNzLg0KUGVyIG91ciBleHBlcmllbmNlLCBpdCBpcyBtdWNoIGJldHRlciB0byBs ZXQgY2FsbGVyIGd1YXJhbnRlZSB0aGF0LCBpbnN0ZWFkIG9mIGNhbGxlZSBjaGVjayB0aGF0LiBB bmQgQVNTRVJUIGlzIGEgZ29vZCB3YXkgdG8gY2F0Y2ggdGhlIGlzc3VlIGFzIGVhcmx5IGFzIHBv c3NpYmxlLg0KDQoNCg0KVGhhbmsgeW91DQpZYW8gSmlld2VuDQoNCj4gLS0tLS1PcmlnaW5hbCBN ZXNzYWdlLS0tLS0NCj4gRnJvbTogZGV2ZWxAZWRrMi5ncm91cHMuaW8gPGRldmVsQGVkazIuZ3Jv dXBzLmlvPiBPbiBCZWhhbGYgT2YgVml0YWx5DQo+IENoZXB0c292IHZpYSBHcm91cHMuSW8NCj4g U2VudDogTW9uZGF5LCBPY3RvYmVyIDIxLCAyMDE5IDM6MjggUE0NCj4gVG86IFlhbywgSmlld2Vu IDxqaWV3ZW4ueWFvQGludGVsLmNvbT47IEdhbywgTGltaW5nIDxsaW1pbmcuZ2FvQGludGVsLmNv bT4NCj4gQ2M6IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBXYW5nLCBKaWFuIEogPGppYW4uai53YW5n QGludGVsLmNvbT47IEtpbm5leSwNCj4gTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVs LmNvbT4NCj4gU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBbUEFUQ0ggdjEgMS8xXSBNZGVQa2c6 IEFkZCBQQ0QgdG8gZGlzYWJsZSBzYWZlIHN0cmluZw0KPiBjb25zdHJhaW50IGFzc2VydGlvbnMN Cj4gDQo+IExpbWluZywgSmlld2VuLA0KPiANCj4gSSBhbSBwZXJzb25hbGx5IGZpbmUgdG8gcmVz dWJtaXQgdGhlIHBhdGNoIGNoYW5naW5nIHRoZSBkZWZhdWx0cyB0byBUUlVFLCBidXQNCj4gZG9l cyBpdCBhY3R1YWxseSBtYWtlIHNlbnNlIGluIGFueSBvdGhlciBlbnZpcm9ubWVudCBidXQgc29t ZSBzcGVjaWFsIHRlc3RpbmcNCj4gcGxhdGZvcm0/IEkgY2Fubm90IGltYWdpbmUgYW55IHByb2R1 Y3Rpb24gcGxhdGZvcm0gdGhhdCB3b3VsZCBuZWVkIGl0IGVuYWJsZWQsDQo+IHRoZSBvbmx5IHVz ZSBjYXNlIGlzIHRvIHBlcmZvcm0gYW5hbHlzaXMgb24gdGhlIHRydXN0ZWQgZGF0YSB1c2FnZSBv ciBzb21ldGhpbmcNCj4gc2ltaWxhciwgYXMgSSBleHBsYWluZWQgb24gQlouDQo+IA0KPiBBcyBm b3IgYXNzZXJ0aW9ucywgSSB3b3VsZCBleHBlY3QgdGhhdCBhbGwgUENEcyB3ZSBpbnRyb2R1Y2Ug YXJlIG1lYW50IHRvDQo+IGNvbnRyb2wgdW5leHBlY3RlZCBBU1NFUlQgYmVoYXZpb3VyLiBJLmUu IHdoZXJlIEFTU0VSVHMgYXJlIHBvdGVudGlhbGx5IHVzZWQNCj4gdG8gc2lnbmFsaXNlIGFib3V0 IGlzc3VlcyBjb21pbmcgbm90IG9ubHkgZnJvbSB0cnVzdGVkIHNvdXJjZXMgKHVzYWdlIGNvbnRy YWN0DQo+IHZpb2xhdGlvbikgYnV0IGFsc28gZnJvbSB1bnRydXN0ZWQgc291cmNlcyAoZXh0ZXJu YWwgZGF0YSkuIFN1Y2ggYXNzZXJ0aW9ucw0KPiBjYW5ub3QgYmUgdXNlZCBpbiBwcm9kdWN0aW9u IGVudmlyb25tZW50cywgYXMgdGhleSBtYXkgYnJlYWsgc29mdHdhcmUsIGFuZA0KPiB0aHVzIHdl IGhhdmUgdG8gaW1wbGVtZW50IGNvZGUgdG8gZGlzYWJsZSB0aGVtLg0KPiANCj4gQmVzdCByZWdh cmRzLA0KPiBWaXRhbHkNCj4gDQo+ID4gMjEg0L7QutGCLiAyMDE5INCzLiwg0LIgNzoyOCwgWWFv LCBKaWV3ZW4gPGppZXdlbi55YW9AaW50ZWwuY29tPiDQvdCw0L/QuNGB0LDQuyjQsCk6DQo+ID4N Cj4gPg0KPiA+IEhpIE1pa2UNCj4gPiBJIHJlbWVtYmVyIHdlIGhhdmUgZGlzY3Vzc2VkIGl0IGJl Zm9yZS4NCj4gPg0KPiA+IFRoZSBnZW5lcmFsIGNvbmNlcm4gaXMgdGhhdDogaG93IG1hbnkgYWRk aXRpb25hbCBQQ0Qgd2UgbmVlZCBpbnRyb2R1Y2UsIHRvDQo+IGNvbnRyb2wgZGlmZmVyZW50IEFT U0VSVCBpbiBkaWZmZXJlbnQgbW9kdWxlcyA/DQo+ID4NCj4gPiBXZSBtYXkgd2FudCB0byBlbmFi bGUgKnNvbWUqIGFzc2VydCBpbiBzb21lIG1vZHVsZXMsIGJ1dCBkaXNhYmxlICpzb21lDQo+IG90 aGVyKiBhc3NlcnQuDQo+ID4gRS5nLiB0aGUgYXNzZXJ0IGZvciBsaW5rZWRsaXN0IGluIGJhc2Ug bGliIGlzIGFub3RoZXIgZXhhbXBsZS4uLg0KPiA+DQo+ID4gV2hhdCBpcyB5b3VyIHRob3VnaHQ/ DQo+ID4NCj4gPiBUaGFuayB5b3UNCj4gPiBZYW8gSmlld2VuDQo+ID4NCj4gPj4gLS0tLS1Pcmln aW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4gRnJvbTogR2FvLCBMaW1pbmcgPGxpbWluZy5nYW9AaW50 ZWwuY29tPg0KPiA+PiBTZW50OiBNb25kYXksIE9jdG9iZXIgMjEsIDIwMTkgMTE6MTcgQU0NCj4g Pj4gVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvOyB2aXQ5Njk2QHByb3Rvbm1haWwuY29tDQo+ID4+ IENjOiBZYW8sIEppZXdlbiA8amlld2VuLnlhb0BpbnRlbC5jb20+OyBXYW5nLCBKaWFuIEoNCj4g PGppYW4uai53YW5nQGludGVsLmNvbT47DQo+ID4+IEdhbywgTGltaW5nIDxsaW1pbmcuZ2FvQGlu dGVsLmNvbT47IEtpbm5leSwgTWljaGFlbCBEDQo+ID4+IDxtaWNoYWVsLmQua2lubmV5QGludGVs LmNvbT4NCj4gPj4gU3ViamVjdDogUkU6IFtlZGsyLWRldmVsXSBbUEFUQ0ggdjEgMS8xXSBNZGVQ a2c6IEFkZCBQQ0QgdG8gZGlzYWJsZSBzYWZlDQo+IHN0cmluZw0KPiA+PiBjb25zdHJhaW50IGFz c2VydGlvbnMNCj4gPj4NCj4gPj4gSW5jbHVkZSBtb3JlIHBlb3BsZS4NCj4gPj4NCj4gPj4gQmFz aWNhbGx5LCB0byBrZWVwIHRoZSBjb21wYXRpYmxlIGJlaGF2aW9yLA0KPiBQY2RBc3NlcnRPblNh ZmVTdHJpbmdDb25zdHJhaW50cw0KPiA+PiBkZWZhdWx0IHZhbHVlIHNob3VsZCBiZSBUUlVFLg0K PiA+PiBUaGUgZGlmZmVyZW50IHBsYXRmb3JtIGNhbiBjb25maWd1cmUgaXQuDQo+ID4+DQo+ID4+ IFRoYW5rcw0KPiA+PiBMaW1pbmcNCj4gPj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ ID4+PiBGcm9tOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbyBbbWFpbHRvOmRldmVsQGVkazIuZ3JvdXBz LmlvXSBPbiBCZWhhbGYgT2YNCj4gPj4+IFZpdGFseSBDaGVwdHNvdiB2aWEgR3JvdXBzLklvDQo+ ID4+PiBTZW50OiBTdW5kYXksIE9jdG9iZXIgMjAsIDIwMTkgOTowNiBQTQ0KPiA+Pj4gVG86IGRl dmVsQGVkazIuZ3JvdXBzLmlvDQo+ID4+PiBTdWJqZWN0OiBbZWRrMi1kZXZlbF0gW1BBVENIIHYx IDEvMV0gTWRlUGtnOiBBZGQgUENEIHRvIGRpc2FibGUgc2FmZQ0KPiBzdHJpbmcNCj4gPj4+IGNv bnN0cmFpbnQgYXNzZXJ0aW9ucw0KPiA+Pj4NCj4gPj4+IFJFRjogaHR0cHM6Ly9idWd6aWxsYS50 aWFub2NvcmUub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDU0DQo+ID4+Pg0KPiA+Pj4gUnVudGltZSBk YXRhIGNoZWNrcyBhcmUgbm90IG1lYW50IHRvIGNhdXNlIGRlYnVnIGFzc2VydGlvbnMNCj4gPj4+ IHVubGVzcyBleHBsaWNpdGx5IG5lZWRlZCBieSBzb21lIGRlYnVnIGNvZGUgKHRodXMgdGhlIFBD RCkNCj4gPj4+IGFzIHRoaXMgYnJlYWtzIGRlYnVnIGJ1aWxkcyB2YWxpZGF0aW5nIGRhdGEgd2l0 aCBCYXNlTGliLg0KPiA+Pj4NCj4gPj4+IFNpZ25lZC1vZmYtYnk6IFZpdGFseSBDaGVwdHNvdiA8 dml0OTY5NkBwcm90b25tYWlsLmNvbT4+DQo+ID4+PiAtLS0NCj4gPj4+IE1kZVBrZy9NZGVQa2cu ZGVjICAgICAgICAgICAgICAgICAgIHwgIDYgKysrKysrDQo+ID4+PiBNZGVQa2cvTGlicmFyeS9C YXNlTGliL0Jhc2VMaWIuaW5mICB8IDExICsrKysrKy0tLS0tDQo+ID4+PiBNZGVQa2cvTGlicmFy eS9CYXNlTGliL1NhZmVTdHJpbmcuYyB8ICA0ICsrKy0NCj4gPj4+IE1kZVBrZy9NZGVQa2cudW5p ICAgICAgICAgICAgICAgICAgIHwgIDYgKysrKysrDQo+ID4+PiA0IGZpbGVzIGNoYW5nZWQsIDIx IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pDQo+ID4+Pg0KPiA+Pj4gZGlmZiAtLWdpdCBh L01kZVBrZy9NZGVQa2cuZGVjIGIvTWRlUGtnL01kZVBrZy5kZWMNCj4gPj4+IGluZGV4IDNmZDdk MTYzNGMuLmRkYTJjZGY0MDEgMTAwNjQ0DQo+ID4+PiAtLS0gYS9NZGVQa2cvTWRlUGtnLmRlYw0K PiA+Pj4gKysrIGIvTWRlUGtnL01kZVBrZy5kZWMNCj4gPj4+IEBAIC0yMjIxLDYgKzIyMjEsMTIg QEAgW1BjZHNGaXhlZEF0QnVpbGQsUGNkc1BhdGNoYWJsZUluTW9kdWxlXQ0KPiA+Pj4gICMgQFBy b21wdCBNZW1vcnkgQWRkcmVzcyBvZiBHdWlkZWRFeHRyYWN0SGFuZGxlciBUYWJsZS4NCj4gPj4+ DQo+ID4+Pg0KPiBnRWZpTWRlUGtnVG9rZW5TcGFjZUd1aWQuUGNkR3VpZGVkRXh0cmFjdEhhbmRs ZXJUYWJsZUFkZHJlc3N8MHgxMDAwMA0KPiA+Pj4gMDB8VUlOVDY0fDB4MzAwMDEwMTUNCj4gPj4+ DQo+ID4+PiArICAjIyBJbmRpY2F0ZXMgaWYgc2FmZSBzdHJpbmcgY29uc3RyYWludCB2aW9sYXRp b24gc2hvdWxkIGFzc2VydC48QlI+PEJSPg0KPiA+Pj4gKyAgIyAgIFRSVUUgIC0gU2FmZSBzdHJp bmcgY29uc3RyYWludCB2aW9sYXRpb24gY2F1c2VzIGFzc2VydGlvbi48QlI+DQo+ID4+PiArICAj ICAgRkFMU0UgLSBTYWZlIHN0cmluZyBjb25zdHJhaW50IHZpb2xhdGlvbiBkb2VzIG5vdCBjYXVz ZSBhc3NlcnRpb24uPEJSPg0KPiA+Pj4gKyAgIyBAUHJvbXB0IEVuYWJsZSBzYWZlIHN0cmluZyBj b25zdHJhaW50IHZpb2xhdGlvbiBhc3NlcnRpb25zLg0KPiA+Pj4gKw0KPiA+Pj4NCj4gZ0VmaU1k ZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZEFzc2VydE9uU2FmZVN0cmluZ0NvbnN0cmFpbnRzfEZBTFNF fEJPT0wNCj4gPj4+IEVBTnwweDAwMDAwMDJlDQo+ID4+PiArDQo+ID4+PiBbUGNkc0ZpeGVkQXRC dWlsZCwgUGNkc1BhdGNoYWJsZUluTW9kdWxlLCBQY2RzRHluYW1pYywgUGNkc0R5bmFtaWNFeF0N Cj4gPj4+ICAjIyBUaGlzIHZhbHVlIGlzIHVzZWQgdG8gc2V0IHRoZSBiYXNlIGFkZHJlc3Mgb2Yg UENJIGV4cHJlc3MgaGllcmFyY2h5Lg0KPiA+Pj4gICMgQFByb21wdCBQQ0kgRXhwcmVzcyBCYXNl IEFkZHJlc3MuDQo+ID4+PiBkaWZmIC0tZ2l0IGEvTWRlUGtnL0xpYnJhcnkvQmFzZUxpYi9CYXNl TGliLmluZg0KPiA+Pj4gYi9NZGVQa2cvTGlicmFyeS9CYXNlTGliL0Jhc2VMaWIuaW5mDQo+ID4+ PiBpbmRleCAzNTg2YmViMGFiLi5iYzk4YmM2MTM0IDEwMDY0NA0KPiA+Pj4gLS0tIGEvTWRlUGtn L0xpYnJhcnkvQmFzZUxpYi9CYXNlTGliLmluZg0KPiA+Pj4gKysrIGIvTWRlUGtnL0xpYnJhcnkv QmFzZUxpYi9CYXNlTGliLmluZg0KPiA+Pj4gQEAgLTM5MCwxMSArMzkwLDEyIEBAIFtMaWJyYXJ5 Q2xhc3Nlc10NCj4gPj4+ICBCYXNlTWVtb3J5TGliDQo+ID4+Pg0KPiA+Pj4gW1BjZF0NCj4gPj4+ IC0gIGdFZmlNZGVQa2dUb2tlblNwYWNlR3VpZC5QY2RNYXhpbXVtTGlua2VkTGlzdExlbmd0aCAg ICAgICMjDQo+ID4+PiBTT01FVElNRVNfQ09OU1VNRVMNCj4gPj4+IC0gIGdFZmlNZGVQa2dUb2tl blNwYWNlR3VpZC5QY2RNYXhpbXVtQXNjaWlTdHJpbmdMZW5ndGggICAgICMjDQo+ID4+PiBTT01F VElNRVNfQ09OU1VNRVMNCj4gPj4+IC0gIGdFZmlNZGVQa2dUb2tlblNwYWNlR3VpZC5QY2RNYXhp bXVtVW5pY29kZVN0cmluZ0xlbmd0aCAgICMjDQo+ID4+PiBTT01FVElNRVNfQ09OU1VNRVMNCj4g Pj4+IC0gIGdFZmlNZGVQa2dUb2tlblNwYWNlR3VpZC5QY2RDb250cm9sRmxvd0VuZm9yY2VtZW50 UHJvcGVydHlNYXNrDQo+ID4+PiAjIyBTT01FVElNRVNfQ09OU1VNRVMNCj4gPj4+IC0gIGdFZmlN ZGVQa2dUb2tlblNwYWNlR3VpZC5QY2RTcGVjdWxhdGlvbkJhcnJpZXJUeXBlICAgICAgICMjDQo+ ID4+PiBTT01FVElNRVNfQ09OU1VNRVMNCj4gPj4+ICsgIGdFZmlNZGVQa2dUb2tlblNwYWNlR3Vp ZC5QY2RBc3NlcnRPblNhZmVTdHJpbmdDb25zdHJhaW50cyAgICAgICAjIw0KPiA+Pj4gU09NRVRJ TUVTX0NPTlNVTUVTDQo+ID4+PiArICBnRWZpTWRlUGtnVG9rZW5TcGFjZUd1aWQuUGNkTWF4aW11 bUxpbmtlZExpc3RMZW5ndGggICAgICAgICAgICAgIyMNCj4gPj4+IFNPTUVUSU1FU19DT05TVU1F Uw0KPiA+Pj4gKyAgZ0VmaU1kZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZE1heGltdW1Bc2NpaVN0cmlu Z0xlbmd0aCAgICAgICAgICAgICMjDQo+ID4+PiBTT01FVElNRVNfQ09OU1VNRVMNCj4gPj4+ICsg IGdFZmlNZGVQa2dUb2tlblNwYWNlR3VpZC5QY2RNYXhpbXVtVW5pY29kZVN0cmluZ0xlbmd0aCAg ICAgICAgICAjIw0KPiA+Pj4gU09NRVRJTUVTX0NPTlNVTUVTDQo+ID4+PiArICBnRWZpTWRlUGtn VG9rZW5TcGFjZUd1aWQuUGNkQ29udHJvbEZsb3dFbmZvcmNlbWVudFByb3BlcnR5TWFzaw0KPiA+ Pj4gIyMgU09NRVRJTUVTX0NPTlNVTUVTDQo+ID4+PiArICBnRWZpTWRlUGtnVG9rZW5TcGFjZUd1 aWQuUGNkU3BlY3VsYXRpb25CYXJyaWVyVHlwZSAgICAgICAgICAgICAgIyMNCj4gPj4+IFNPTUVU SU1FU19DT05TVU1FUw0KPiA+Pj4NCj4gPj4+IFtGZWF0dXJlUGNkXQ0KPiA+Pj4gIGdFZmlNZGVQ a2dUb2tlblNwYWNlR3VpZC5QY2RWZXJpZnlOb2RlSW5MaXN0ICAjIyBDT05TVU1FUw0KPiA+Pj4g ZGlmZiAtLWdpdCBhL01kZVBrZy9MaWJyYXJ5L0Jhc2VMaWIvU2FmZVN0cmluZy5jDQo+ID4+PiBi L01kZVBrZy9MaWJyYXJ5L0Jhc2VMaWIvU2FmZVN0cmluZy5jDQo+ID4+PiBpbmRleCA3ZGMwM2Qy Y2FhLi41NmI1ZTM0YThkIDEwMDY0NA0KPiA+Pj4gLS0tIGEvTWRlUGtnL0xpYnJhcnkvQmFzZUxp Yi9TYWZlU3RyaW5nLmMNCj4gPj4+ICsrKyBiL01kZVBrZy9MaWJyYXJ5L0Jhc2VMaWIvU2FmZVN0 cmluZy5jDQo+ID4+PiBAQCAtMTQsNyArMTQsOSBAQA0KPiA+Pj4NCj4gPj4+ICNkZWZpbmUgU0FG RV9TVFJJTkdfQ09OU1RSQUlOVF9DSEVDSyhFeHByZXNzaW9uLCBTdGF0dXMpICBcDQo+ID4+PiAg ZG8geyBcDQo+ID4+PiAtICAgIEFTU0VSVCAoRXhwcmVzc2lvbik7IFwNCj4gPj4+ICsgICAgaWYg KFBjZEdldEJvb2wgKFBjZEFzc2VydE9uU2FmZVN0cmluZ0NvbnN0cmFpbnRzKSkgeyBcDQo+ID4+ PiArICAgICAgQVNTRVJUIChFeHByZXNzaW9uKTsgXA0KPiA+Pj4gKyAgICB9IFwNCj4gPj4+ICAg IGlmICghKEV4cHJlc3Npb24pKSB7IFwNCj4gPj4+ICAgICAgcmV0dXJuIFN0YXR1czsgXA0KPiA+ Pj4gICAgfSBcDQo+ID4+PiBkaWZmIC0tZ2l0IGEvTWRlUGtnL01kZVBrZy51bmkgYi9NZGVQa2cv TWRlUGtnLnVuaQ0KPiA+Pj4gaW5kZXggNWMxZmEyNDA2NS4uNDI1YjY2YmI0MyAxMDA2NDQNCj4g Pj4+IC0tLSBhL01kZVBrZy9NZGVQa2cudW5pDQo+ID4+PiArKysgYi9NZGVQa2cvTWRlUGtnLnVu aQ0KPiA+Pj4gQEAgLTI4Nyw2ICsyODcsMTIgQEANCj4gPj4+DQo+ID4+PiAjc3RyaW5nDQo+ID4+ PiBTVFJfZ0VmaU1kZVBrZ1Rva2VuU3BhY2VHdWlkX1BjZEd1aWRlZEV4dHJhY3RIYW5kbGVyVGFi bGVBZGRyZXNzX0gNCj4gPj4+IEVMUCAgI2xhbmd1YWdlIGVuLVVTICJUaGlzIHZhbHVlIGlzIHVz ZWQgdG8gc2V0IHRoZSBhdmFpbGFibGUgbWVtb3J5DQo+IGFkZHJlc3MNCj4gPj4+IHRvIHN0b3Jl IEd1aWRlZCBFeHRyYWN0IEhhbmRsZXJzLiBUaGUgcmVxdWlyZWQgbWVtb3J5IHNwYWNlIGlzIGRl Y2lkZWQgYnkNCj4gPj4+IHRoZSB2YWx1ZSBvZiBQY2RNYXhpbXVtR3VpZGVkRXh0cmFjdEhhbmRs ZXIuIg0KPiA+Pj4NCj4gPj4+ICsjc3RyaW5nDQo+ID4+PiBTVFJfZ0VmaU1kZVBrZ1Rva2VuU3Bh Y2VHdWlkX1BjZEFzc2VydE9uU2FmZVN0cmluZ0NvbnN0cmFpbnRzX1BST00NCj4gPj4+IFBUICAj bGFuZ3VhZ2UgZW4tVVMgIkVuYWJsZSBzYWZlIHN0cmluZyBjb25zdHJhaW50IHZpb2xhdGlvbiBh c3NlcnRpb25zIg0KPiA+Pj4gKw0KPiA+Pj4gKyNzdHJpbmcNCj4gPj4+IFNUUl9nRWZpTWRlUGtn VG9rZW5TcGFjZUd1aWRfUGNkQXNzZXJ0T25TYWZlU3RyaW5nQ29uc3RyYWludHNfSEVMUA0KPiA+ Pj4gI2xhbmd1YWdlIGVuLVVTICJJbmRpY2F0ZXMgaWYgc2FmZSBzdHJpbmcgY29uc3RyYWludCB2 aW9sYXRpb24gc2hvdWxkDQo+ID4+PiBhc3NlcnQuPEJSPjxCUj5cbiINCj4gPj4+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICJUUlVFICAtIFNhZmUgc3RyaW5nDQo+IGNvbnN0cmFpbnQNCj4g Pj4+IHZpb2xhdGlvbiBjYXVzZXMgYXNzZXJ0aW9uLjxCUj5cbiINCj4gPj4+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICJGQUxTRSAtIFNhZmUgc3RyaW5nDQo+IGNvbnN0cmFpbnQNCj4gPj4+ IHZpb2xhdGlvbiBkb2VzIG5vdCBjYXVzZSBhc3NlcnRpb24uPEJSPiINCj4gPj4+ICsNCj4gPj4+ ICNzdHJpbmcNCj4gPj4+IFNUUl9nRWZpTWRlUGtnVG9rZW5TcGFjZUd1aWRfUGNkUGNpRXhwcmVz c0Jhc2VBZGRyZXNzX1BST01QVA0KPiA+Pj4gI2xhbmd1YWdlIGVuLVVTICJQQ0kgRXhwcmVzcyBC YXNlIEFkZHJlc3MiDQo+ID4+Pg0KPiA+Pj4gI3N0cmluZyBTVFJfZ0VmaU1kZVBrZ1Rva2VuU3Bh Y2VHdWlkX1BjZFBjaUV4cHJlc3NCYXNlQWRkcmVzc19IRUxQDQo+ID4+PiAjbGFuZ3VhZ2UgZW4t VVMgIlRoaXMgdmFsdWUgaXMgdXNlZCB0byBzZXQgdGhlIGJhc2UgYWRkcmVzcyBvZiBQQ0kgZXhw cmVzcw0KPiA+Pj4gaGllcmFyY2h5LiINCj4gPj4+IC0tDQo+ID4+PiAyLjIxLjAgKEFwcGxlIEdp dC0xMjIpDQo+ID4+Pg0KPiA+Pj4NCj4gPj4+IC09LT0tPS09LT0tPQ0KPiA+Pj4gR3JvdXBzLmlv IExpbmtzOiBZb3UgcmVjZWl2ZSBhbGwgbWVzc2FnZXMgc2VudCB0byB0aGlzIGdyb3VwLg0KPiA+ Pj4NCj4gPj4+IFZpZXcvUmVwbHkgT25saW5lICgjNDkyNTUpOg0KPiBodHRwczovL2VkazIuZ3Jv dXBzLmlvL2cvZGV2ZWwvbWVzc2FnZS80OTI1NQ0KPiA+Pj4gTXV0ZSBUaGlzIFRvcGljOiBodHRw czovL2dyb3Vwcy5pby9tdC8zNTk0MzMxNy8xNzU5Mzg0DQo+ID4+PiBHcm91cCBPd25lcjogZGV2 ZWwrb3duZXJAZWRrMi5ncm91cHMuaW8NCj4gPj4+IFVuc3Vic2NyaWJlOiBodHRwczovL2VkazIu Z3JvdXBzLmlvL2cvZGV2ZWwvdW5zdWIgIFtsaW1pbmcuZ2FvQGludGVsLmNvbV0NCj4gPj4+IC09 LT0tPS09LT0tPQ0KPiA+DQo+IA0KPiANCj4gDQoNCg==