From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=helo; client-ip=40.107.69.64; helo=nam04-co1-obe.outbound.protection.outlook.com; envelope-from=leo.duran@amd.com; receiver=edk2-devel@lists.01.org Received: from NAM04-CO1-obe.outbound.protection.outlook.com (mail-eopbgr690064.outbound.protection.outlook.com [40.107.69.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 8FF2E21B02822 for ; Wed, 12 Sep 2018 08:17:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector1-amd-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2Xt+iJGv9uJKm1+Fv06A0C2Z9u2is4vKcZJQeBfORnY=; b=xGxr4n1ntt0YaAys3eTInValNpTzOfHqIQtZJ+854G0N/PI5NtP7WWN/9FeMgl0YMMXI/cgG/GKoCZo5IYQmAXI8zGa5Pmsb7NZbCiV7wn03sELaQYZQovp3bywMo7drEM1XXr87IeYSUbFELKBymC2gOkUVkWcro/iE+FlOSuU= Received: from CY4PR12MB1815.namprd12.prod.outlook.com (10.175.63.21) by CY4PR12MB1285.namprd12.prod.outlook.com (10.168.167.150) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1122.15; Wed, 12 Sep 2018 15:17:28 +0000 Received: from CY4PR12MB1815.namprd12.prod.outlook.com ([fe80::ecd7:135f:4e1b:2d82]) by CY4PR12MB1815.namprd12.prod.outlook.com ([fe80::ecd7:135f:4e1b:2d82%3]) with mapi id 15.20.1122.019; Wed, 12 Sep 2018 15:17:28 +0000 From: "Duran, Leo" To: Laszlo Ersek , "edk2-devel@lists.01.org" CC: Eric Dong , Ruiyu Ni Thread-Topic: [PATCH] UefiCpuPkg/MtrrLib: Add flag to skip disabling MTRRs prior to MTRR change. Thread-Index: AQHUSeX3EbC17fDvXkWWIRAmwJTcUaTrbK6AgAANLJCAAO+ogIAAVCzA Date: Wed, 12 Sep 2018 15:17:28 +0000 Message-ID: References: <1536680498-6554-1-git-send-email-leo.duran@amd.com> <1536680498-6554-2-git-send-email-leo.duran@amd.com> <17c6d6d1-2655-fe06-a8b9-f48141bfb0d7@redhat.com> <610eaa55-c87b-5e0c-4f87-5c1e79ffc5ba@redhat.com> In-Reply-To: <610eaa55-c87b-5e0c-4f87-5c1e79ffc5ba@redhat.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=leo.duran@amd.com; x-originating-ip: [165.204.77.1] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; CY4PR12MB1285; 20:yst7RtAq7dREktPzhJBQvFyGv0TckxEqIwYGIfe8VQVtslgsBl9m/xTwoDrBU34JSmPRHK73IDhz4wb1FpcOdh5cKsoKKjt6k4EaRYZIMH69v1SZe3J2m6TZOKBHe8haVzfqTTKOhtbx0TQr5MX9iXkie9NuNGw5hSzSomMbpadppQnJj37W7U4BaTzZ8u+UuUlRkQUep74Pq0nNiacOOAY9iAJgMuYsxQpQqGcfIDhBG1fvjvlZhu5NSbK1gUVh x-ms-exchange-antispam-srfa-diagnostics: SOS; x-ms-office365-filtering-correlation-id: 6bcd6643-78e2-4707-1fb4-08d618c2da90 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989137)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:CY4PR12MB1285; x-ms-traffictypediagnostic: CY4PR12MB1285: x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(767451399110)(162533806227266)(163750095850)(228905959029699); x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(3231311)(944501410)(52105095)(3002001)(10201501046)(93006095)(93001095)(6055026)(149027)(150027)(6041310)(20161123564045)(20161123562045)(20161123558120)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699050); SRVR:CY4PR12MB1285; BCL:0; PCL:0; RULEID:; SRVR:CY4PR12MB1285; x-forefront-prvs: 07935ACF08 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(366004)(376002)(39860400002)(136003)(396003)(346002)(52314003)(13464003)(199004)(189003)(305945005)(6506007)(26005)(25786009)(54906003)(316002)(53546011)(97736004)(5250100002)(4326008)(7696005)(110136005)(486006)(74316002)(99286004)(66066001)(478600001)(6116002)(3846002)(33656002)(2501003)(7736002)(256004)(476003)(68736007)(186003)(11346002)(55016002)(9686003)(5660300001)(229853002)(8936002)(446003)(76176011)(106356001)(81166006)(105586002)(53936002)(6246003)(6436002)(102836004)(81156014)(8676002)(2906002)(93886005)(2900100001)(575784001)(14454004)(86362001); DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR12MB1285; H:CY4PR12MB1815.namprd12.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: amd.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: j/JC0jonw7FzS2pkKSPzQ8lcZc4qtv+EuBJeIMtRwivu751hWj7uin9UAUetbL4OvPATErQE9MJ5Pd43H1O6ZEGBcq8RndSB0uhW8vCbgEv5TYyEbknQr3YvUSbw1Xj4thwr/FSsMeDGvRfFmXy9hyhsc5JTcCwRSp0VSNkI+WK+KJZx/V0mKGUU1UqqL8BLp11XM2VrqfG4pmjj3LJrQzeFFJ+bdI8m7heklE/ZpqsQXYMjc4GNyDMEf9Htq8zpLGbOdEd5p9oQtefhKw6E+UdPc4kjVestLXWfHO9UaWT5xCReLxtm+9n2XWIF+CVXlwpPifGIE+thuiYPl+SUWBi77eLBCAmH57LYXcjWKIk= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6bcd6643-78e2-4707-1fb4-08d618c2da90 X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Sep 2018 15:17:28.8103 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR12MB1285 Subject: Re: [PATCH] UefiCpuPkg/MtrrLib: Add flag to skip disabling MTRRs prior to MTRR change. 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: Wed, 12 Sep 2018 15:17:30 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 TGFzemxvLCBldCBhbCwNCg0KUGVyaGFwcyBpdCB3b3VsZCBiZSBiZXN0IGlmIEkgcHJvdmlkZSBh biBleGFtcGxlIG9mIHRoZSBwcm9ibGVtIEknbSB0cnlpbmcgdG8gc29sdmUsIGFuZCBwZXJoYXBz IHdlIG1heSBjaGltZSBpbiB3aXRoIHN1Z2dlc3Rpb25zLg0KDQpBZ2FpbiwNClRoZSBmdW5kYW1l bnRhbCBpc3N1ZSBoYXMgdG8gZG8gd2l0aCBzaGFyZWQgTVRSUiBjb250cm9sIGJ5IHNldCBvZiB0 aHJlYWRzIHdpdGhpbiBhIGNvcmUgd2l0aCBTTVQgZW5hYmxlZC4NClNvIGlkZWFsbHkgb25seSBv bmUgdGhyZWFkICh0aGUgZmlyc3QgdGhyZWFkIHRoYXQgd2FrZXMgdXApIGZyb20gYSBzZXQgd291 bGQgY29uZmlndXJlIHRoZSBNU1IsIGFuZCBvdGhlciB0aHJlYWRzIGluIHRoZSBzZXQgd291bGQg bm90IG5lZWQgdG8uDQoNClRoZSBwcm9ibGVtIHdpdGggdGhlIGV4aXN0aW5nIGNvZGUgaXMgdGhh dCBvbmNlIHRoZSBmaXJzdCB0aHJlYWQgY29uZmlndXJlcyB0aGUgTVNSLCBhbm90aGVyIHRocmVh ZCBpbiB0aGUgc2V0IGZvbGxvd3MgYW5kIGNsZWFycyB0aGUgRU5BQkxFIGJpdCBpbiBNdHJyTGli UHJlTXRyckNoYW5nZSgpLg0KKEJhc2ljYWxseSwgdGhlIHNlY29uZCB0aHJlYWQgcHVsbHMgdGhl IHJ1ZyBmcm9tIHVuZGVyIHRoZSBmaXJzdCB0aHJlYWQpLg0KDQpJIGhvcGUgdGhhdCBoZWxwcyBl eHBsYWluIHdoYXQgSSdtIGFmdGVyLg0KTGVvLg0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0t LS0tDQo+IEZyb206IExhc3psbyBFcnNlayA8bGVyc2VrQHJlZGhhdC5jb20+DQo+IFNlbnQ6IFdl ZG5lc2RheSwgU2VwdGVtYmVyIDEyLCAyMDE4IDQ6NTUgQU0NCj4gVG86IER1cmFuLCBMZW8gPGxl by5kdXJhbkBhbWQuY29tPjsgZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmcNCj4gQ2M6IEVyaWMgRG9u ZyA8ZXJpYy5kb25nQGludGVsLmNvbT47IFJ1aXl1IE5pIDxydWl5dS5uaUBpbnRlbC5jb20+DQo+ IFN1YmplY3Q6IFJlOiBbUEFUQ0hdIFVlZmlDcHVQa2cvTXRyckxpYjogQWRkIGZsYWcgdG8gc2tp cCBkaXNhYmxpbmcgTVRSUnMNCj4gcHJpb3IgdG8gTVRSUiBjaGFuZ2UuDQo+IA0KPiBPbiAwOS8x MS8xOCAyMTo0NywgRHVyYW4sIExlbyB3cm90ZToNCj4gPg0KPiA+DQo+ID4+IC0tLS0tT3JpZ2lu YWwgTWVzc2FnZS0tLS0tDQo+ID4+IEZyb206IExhc3psbyBFcnNlayA8bGVyc2VrQHJlZGhhdC5j b20+DQo+ID4+IFNlbnQ6IFR1ZXNkYXksIFNlcHRlbWJlciAxMSwgMjAxOCAxOjUwIFBNDQo+ID4+ IFRvOiBEdXJhbiwgTGVvIDxsZW8uZHVyYW5AYW1kLmNvbT47IGVkazItZGV2ZWxAbGlzdHMuMDEu b3JnDQo+ID4+IENjOiBFcmljIERvbmcgPGVyaWMuZG9uZ0BpbnRlbC5jb20+OyBSdWl5dSBOaSA8 cnVpeXUubmlAaW50ZWwuY29tPg0KPiA+PiBTdWJqZWN0OiBSZTogW1BBVENIXSBVZWZpQ3B1UGtn L010cnJMaWI6IEFkZCBmbGFnIHRvIHNraXAgZGlzYWJsaW5nDQo+ID4+IE1UUlJzIHByaW9yIHRv IE1UUlIgY2hhbmdlLg0KPiA+Pg0KPiA+PiBPbiAwOS8xMS8xOCAxNzo0MSwgTGVvIER1cmFuIHdy b3RlOg0KPiA+Pj4gVGhlIGRlZmF1bHQgYmVoYXZpb3IgaXMgdG8gZGlzYWJsZSBNVFJScyBwcmlv ciB0byBhbiBNVFJSIGNoYW5nZS4NCj4gPj4+IEhvd2V2ZXIsIG9uIFNNVCBwbGF0Zm9ybXMgd2l0 aCBzaGFyZWQgQ1BVIHJlc291cmNlcyBpdCBtYXkgYmUNCj4gPj4+IGRlc2lyYWJsZSB0byBza2lw IHRoZSBkZWZhdWx0IGJlaGF2aW9yLCBhbmQgbGVhdmUgdGhlIGN1cnJlbnQgc3RhdGUNCj4gPj4+ IG9mIHRoZQ0KPiA+PiBFbmFibGUgYml0Lg0KPiA+Pj4NCj4gPj4+IENjOiBFcmljIERvbmcgPGVy aWMuZG9uZ0BpbnRlbC5jb20+DQo+ID4+PiBDYzogTGFzemxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0 LmNvbT4NCj4gPj4+IENvbnRyaWJ1dGVkLXVuZGVyOiBUaWFub0NvcmUgQ29udHJpYnV0aW9uIEFn cmVlbWVudCAxLjENCj4gPj4+IFNpZ25lZC1vZmYtYnk6IExlbyBEdXJhbiA8bGVvLmR1cmFuQGFt ZC5jb20+DQo+ID4+PiAtLS0NCj4gPj4+ICBVZWZpQ3B1UGtnL0xpYnJhcnkvTXRyckxpYi9NdHJy TGliLmMgICB8IDEwICsrKysrKystLS0NCj4gPj4+ICBVZWZpQ3B1UGtnL0xpYnJhcnkvTXRyckxp Yi9NdHJyTGliLmluZiB8ICAzICsrKw0KPiA+Pj4gIFVlZmlDcHVQa2cvVWVmaUNwdVBrZy5kZWMg ICAgICAgICAgICAgIHwgIDcgKysrKysrKw0KPiA+Pj4gIDMgZmlsZXMgY2hhbmdlZCwgMTcgaW5z ZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkNCj4gPj4+DQo+ID4+PiBkaWZmIC0tZ2l0IGEvVWVm aUNwdVBrZy9MaWJyYXJ5L010cnJMaWIvTXRyckxpYi5jDQo+ID4+PiBiL1VlZmlDcHVQa2cvTGli cmFyeS9NdHJyTGliL010cnJMaWIuYw0KPiA+Pj4gaW5kZXggZGZjZTlhOS4uYmFmOWEwZiAxMDA2 NDQNCj4gPj4+IC0tLSBhL1VlZmlDcHVQa2cvTGlicmFyeS9NdHJyTGliL010cnJMaWIuYw0KPiA+ Pj4gKysrIGIvVWVmaUNwdVBrZy9MaWJyYXJ5L010cnJMaWIvTXRyckxpYi5jDQo+ID4+PiBAQCAt Niw2ICs2LDggQEANCj4gPj4+ICAgICAgZXhjZXB0IGZvciBNdHJyU2V0QWxsTXRycnMoKSB3aGlj aCBpcyB1c2VkIHRvIHN5bmMgQlNQJ3MgTVRSUg0KPiA+Pj4gc2V0dGluZyB0bw0KPiA+PiBBUHMu DQo+ID4+Pg0KPiA+Pj4gICAgQ29weXJpZ2h0IChjKSAyMDA4IC0gMjAxOCwgSW50ZWwgQ29ycG9y YXRpb24uIEFsbCByaWdodHMNCj4gPj4+IHJlc2VydmVkLjxCUj4NCj4gPj4+ICsgIENvcHlyaWdo dCAoYykgMjAxOCwgQU1EIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ID4+PiArDQo+ ID4+PiAgICBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQo+ID4+ PiAgICBhcmUgbGljZW5zZWQgYW5kIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBhbmQg Y29uZGl0aW9ucyBvZg0KPiA+Pj4gdGhlDQo+ID4+IEJTRCBMaWNlbnNlDQo+ID4+PiAgICB3aGlj aCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbi4gIFRoZSBmdWxsIHRleHQgb2YgdGhlDQo+ ID4+PiBsaWNlbnNlIG1heSBiZSBmb3VuZCBhdCBAQCAtMzEwLDkgKzMxMiwxMSBAQCBNdHJyTGli UHJlTXRyckNoYW5nZQ0KPiAoDQo+ID4+PiAgICAvLw0KPiA+Pj4gICAgLy8gRGlzYWJsZSBNVFJS cw0KPiA+Pj4gICAgLy8NCj4gPj4+IC0gIERlZlR5cGUuVWludDY0ID0gQXNtUmVhZE1zcjY0IChN U1JfSUEzMl9NVFJSX0RFRl9UWVBFKTsNCj4gPj4+IC0gIERlZlR5cGUuQml0cy5FID0gMDsNCj4g Pj4+IC0gIEFzbVdyaXRlTXNyNjQgKE1TUl9JQTMyX01UUlJfREVGX1RZUEUsIERlZlR5cGUuVWlu dDY0KTsNCj4gPj4+ICsgIGlmICghUGNkR2V0Qm9vbCAoUGNkU2tpcERpc2FibGVNdHJyc09uUHJl TXRyckNoYW5nZSkpIHsNCj4gPj4+ICsgICAgRGVmVHlwZS5VaW50NjQgPSBBc21SZWFkTXNyNjQg KE1TUl9JQTMyX01UUlJfREVGX1RZUEUpOw0KPiA+Pj4gKyAgICBEZWZUeXBlLkJpdHMuRSA9IDA7 DQo+ID4+PiArICAgIEFzbVdyaXRlTXNyNjQgKE1TUl9JQTMyX01UUlJfREVGX1RZUEUsIERlZlR5 cGUuVWludDY0KTsgIH0NCj4gPj4+ICB9DQo+ID4+Pg0KPiA+Pj4gIC8qKg0KPiA+Pj4gZGlmZiAt LWdpdCBhL1VlZmlDcHVQa2cvTGlicmFyeS9NdHJyTGliL010cnJMaWIuaW5mDQo+ID4+IGIvVWVm aUNwdVBrZy9MaWJyYXJ5L010cnJMaWIvTXRyckxpYi5pbmYNCj4gPj4+IGluZGV4IGE5N2NjNjEu LjA2ZjMzZTggMTAwNjQ0DQo+ID4+PiAtLS0gYS9VZWZpQ3B1UGtnL0xpYnJhcnkvTXRyckxpYi9N dHJyTGliLmluZg0KPiA+Pj4gKysrIGIvVWVmaUNwdVBrZy9MaWJyYXJ5L010cnJMaWIvTXRyckxp Yi5pbmYNCj4gPj4+IEBAIC0yLDYgKzIsOCBAQA0KPiA+Pj4gICMgIE1UUlIgbGlicmFyeSBwcm92 aWRlcyBBUElzIGZvciBNVFJSIG9wZXJhdGlvbi4NCj4gPj4+ICAjDQo+ID4+PiAgIyAgQ29weXJp Z2h0IChjKSAyMDA2IC0gMjAxOCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMNCj4gPj4+ IHJlc2VydmVkLjxCUj4NCj4gPj4+ICsjICBDb3B5cmlnaHQgKGMpIDIwMTgsIEFNRCBJbmMuIEFs bCByaWdodHMgcmVzZXJ2ZWQuPEJSPiAjDQo+ID4+PiAgIyAgVGhpcyBwcm9ncmFtIGFuZCB0aGUg YWNjb21wYW55aW5nIG1hdGVyaWFscyAgIyAgYXJlIGxpY2Vuc2VkIGFuZA0KPiA+Pj4gbWFkZSBh dmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRoZQ0KPiA+PiBCU0Qg TGljZW5zZQ0KPiA+Pj4gICMgIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLiAg VGhlIGZ1bGwgdGV4dCBvZiB0aGUNCj4gPj4+IGxpY2Vuc2UgbWF5IGJlDQo+ID4+IGZvdW5kIGF0 DQo+ID4+PiBAQCAtNDMsNCArNDUsNSBAQA0KPiA+Pj4NCj4gPj4+ICBbUGNkXQ0KPiA+Pj4NCj4g Z1VlZmlDcHVQa2dUb2tlblNwYWNlR3VpZC5QY2RDcHVOdW1iZXJPZlJlc2VydmVkVmFyaWFibGVN dHJycw0KPiA+PiAjIyBTT01FVElNRVNfQ09OU1VNRVMNCj4gPj4+ICsgIGdVZWZpQ3B1UGtnVG9r ZW5TcGFjZUd1aWQuUGNkU2tpcERpc2FibGVNdHJyc09uUHJlTXRyckNoYW5nZQ0KPiA+PiAjIyBD T05TVU1FUw0KPiA+Pj4NCj4gPj4+IGRpZmYgLS1naXQgYS9VZWZpQ3B1UGtnL1VlZmlDcHVQa2cu ZGVjIGIvVWVmaUNwdVBrZy9VZWZpQ3B1UGtnLmRlYw0KPiA+Pj4gaW5kZXggNjlkNzc3YS4uNjRl Yzc2MyAxMDA2NDQNCj4gPj4+IC0tLSBhL1VlZmlDcHVQa2cvVWVmaUNwdVBrZy5kZWMNCj4gPj4+ ICsrKyBiL1VlZmlDcHVQa2cvVWVmaUNwdVBrZy5kZWMNCj4gPj4+IEBAIC0yLDYgKzIsNyBAQA0K PiA+Pj4gICMgVGhpcyBQYWNrYWdlIHByb3ZpZGVzIFVFRkkgY29tcGF0aWJsZSBDUFUgbW9kdWxl cyBhbmQgbGlicmFyaWVzLg0KPiA+Pj4gICMNCj4gPj4+ICAjIENvcHlyaWdodCAoYykgMjAwNyAt IDIwMTcsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzDQo+ID4+PiByZXNlcnZlZC48QlI+ DQo+ID4+PiArIyBDb3B5cmlnaHQgKGMpIDIwMTgsIEFNRCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2 ZWQuPEJSPg0KPiA+Pj4gICMNCj4gPj4+ICAjIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFu eWluZyBtYXRlcmlhbHMgYXJlIGxpY2Vuc2VkIGFuZCBtYWRlDQo+ID4+IGF2YWlsYWJsZSB1bmRl cg0KPiA+Pj4gICMgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRoZSBCU0QgTGljZW5zZSB3 aGljaCBhY2NvbXBhbmllcw0KPiA+Pj4gdGhpcw0KPiA+PiBkaXN0cmlidXRpb24uDQo+ID4+PiBA QCAtMjczLDYgKzI3NCwxMiBAQA0KPiA+Pj4gICAgIyBAUHJvbXB0IEN1cnJlbnQgYm9vdCBpcyBh IHBvd2VyLW9uIHJlc2V0Lg0KPiA+Pj4NCj4gPj4NCj4gZ1VlZmlDcHVQa2dUb2tlblNwYWNlR3Vp ZC5QY2RJc1Bvd2VyT25SZXNldHxGQUxTRXxCT09MRUFOfDB4MDAwMA0KPiA+PiAwMDFCDQo+ID4+ Pg0KPiA+Pj4gKyAgIyMgSW5kaWNhdGVzIGRlc2lyZWQgYmVoYXZpb3IgZm9yIGRpc2FibGluZyBN VFJScyBwcmlvciB0byBNVFJSDQo+ID4+IGNoYW5nZS48QlI+PEJSPg0KPiA+Pj4gKyAgIyAgIFRS VUUgIC0gU2tpcCBkaXNhYmxpbmcgTVRSUnMgcHJpb3IgdG8gTVRSUiBjaGFuZ2UuPEJSPg0KPiA+ Pj4gKyAgIyAgIEZBTFNFIC0gRGlzYWJsZSBNVFJScyBwcmlvciB0byBNVFJSIGNoYW5nZS48QlI+ DQo+ID4+PiArICAjIEBQcm9tcHQgRGVzaXJlZCBiZWhhdmlvciBmb3IgZGlzYWJsaW5nIE1UUlJz IHByaW9yIHRvIE1UUlINCj4gY2hhbmdlLg0KPiA+Pj4gKw0KPiA+Pg0KPiBnVWVmaUNwdVBrZ1Rv a2VuU3BhY2VHdWlkLlBjZFNraXBEaXNhYmxlTXRycnNPblByZU10cnJDaGFuZ2V8RkFMU0UNCj4g Pj4gfEJPT0xFQU58MHgwMDAwMDAxRQ0KPiA+Pj4gKw0KPiA+Pj4gIFtQY2RzRHluYW1pYywgUGNk c0R5bmFtaWNFeF0NCj4gPj4+ICAgICMjIENvbnRhaW5zIHRoZSBwb2ludGVyIHRvIGEgQ1BVIFMz IGRhdGEgYnVmZmVyIG9mIHN0cnVjdHVyZQ0KPiA+PiBBQ1BJX0NQVV9EQVRBLg0KPiA+Pj4gICAg IyBAUHJvbXB0IFRoZSBwb2ludGVyIHRvIGEgQ1BVIFMzIGRhdGEgYnVmZmVyLg0KPiA+Pj4NCj4g Pj4NCj4gPj4gUmVjZW50bHksIFJheSBoYXMgd3JpdHRlbiBzZXZlcmFsICYgc2lnbmlmaWNhbnQg cGF0Y2hlcyBmb3IgTXRyckxpYjsNCj4gPj4gSSdtIGFkZGluZyBoaW0uDQo+ID4+DQo+ID4+IEkg ZG9uJ3QgdW5kZXJzdGFuZCB0aGUgbW90aXZhdGlvbiBiZWhpbmQgdGhpcyBwYXRjaC4gQXMgZmFy IGFzIEkNCj4gPj4gcmVtZW1iZXIgKHdoaWNoIGlzIGFkbWl0dGVkbHkgInF1aXRlIHZhZ3VlbHki KSwgdGhlIFNETSByZXF1aXJlcyBhbGwNCj4gPj4gbG9naWNhbCBwcm9jZXNzb3JzIHRvIHByb2dy YW0gdGhlaXIgTVRSUnMgaWRlbnRpY2FsbHkgaW4gcGFyYWxsZWwuDQo+ID4+IFRoYXQgaXMsIHRo ZXJlIHNob3VsZCBiZSBhIHN0YXJ0IGxpbmUgd2hlcmUgYWxsIHRoZSBDUFVzIHdhaXQgZm9yDQo+ ID4+IGVhY2ggb3RoZXIsIHRoZW4gdGhleSBhbGwgc2V0IHVwIHRoZWlyIE1UUlJzLCB0aGVuIHRo ZXkgYWxsIHdhaXQNCj4gPj4gdW50aWwgdGhleSBhbGwgZmluaXNoLCB0aGVuIHRoZXkgYWxsIGdv IHRoZWlyIG1lcnJ5IHdheXMuIEFJVUkgdGhlDQo+ID4+IENQVSBNUCBQUEkgYW5kIHByb3RvY29s IGltcGxlbWVudCB0aGlzIGFscmVhZHkuIEkgZG9uJ3QgdW5kZXJzdGFuZCBpbg0KPiA+PiB3aGF0 IHNpdHVhdGlvbiB5b3UnZCBoYXZlIG9uZSB0aHJlYWQgb2YgYSBjb3JlIG1hbmlwdWxhdGluZyBN VFJSLA0KPiA+PiB3aXRoIHRoZSBzaWJsaW5nIHRocmVhZCAqbm90KiBtYW5pcHVsYXRpbmcgTVRS UiAoaS5lLiwgZG9pbmcNCj4gPj4gc29tZXRoaW5nIGVsc2UpLiBUaGF0IGRvZXNuJ3Qgc2VlbSB0 byBtYXRjaCB3aGF0IHRoZSBTRE0gZGljdGF0ZXMNCj4gPj4gKG9yLCB3ZWxsLCB3aGF0IG15IG1l bW9yaWVzIG9mIHRoZSBTRE0gYXJlIDopICkuDQo+ID4+DQo+ID4+IEkgc2VlIHRoYXQgdGhlIGRl ZmF1bHQgYmVoYXZpb3IgZG9lc24ndCBjaGFuZ2UsIGFuZCBJJ20gbm90IGFnYWluc3QNCj4gPj4g dGhlIHBhdGNoOyBJIGp1c3Qgc3VzcGVjdCB0aGF0LCBmb3IgaW50cm9kdWNpbmcgYSBuZXcgUENE LCBtb3JlDQo+ID4+IGNvbmNyZXRlIC8gcHJhY3RpY2FsIGp1c3RpZmljYXRpb24gY291bGQgYmUg bmVlZGVkLg0KPiA+Pg0KPiA+DQo+ID4gSW4gb3VyIGNhc2UgbXVsdGlwbGUgcHJvY2Vzc29ycyAo dGhyZWFkcykgc2hhcmUgTVRUUiBzZXR0aW5ncywgaGVuY2UgdGhlDQo+IEVuYWJsZSBiaXQgaXMg c2hhcmVkLg0KPiA+DQo+ID4+IE1vcmUgcXVlc3Rpb25zOg0KPiA+Pg0KPiA+PiAtIERvbid0IHlv dSBuZWVkIGEgc2ltaWxhciAoc3ltbWV0cmljKSBjaGFuZ2UgaW4NCj4gPj4gTXRyckxpYlBvc3RN dHJyQ2hhbmdlKCk/IElmIG5vdCwgd2h5IG5vdD8gQ2FuIHlvdSBhZGQgdGhhdCB0byB0aGUNCj4g Pj4gY29tbWl0IG1lc3NhZ2U/DQo+ID4NCj4gPiBObyBuZWVkLiBUaGUgIlBvc3QiIGNvZGUganVz dCByZXN0b3Jlcy4NCj4gPiBTdXJlLCBJIGNhbiBhZGQgYSBjb21tZW50Lg0KPiANCj4gU3VyZSwg ZnVuY3Rpb25hbGx5IGl0IGRvZXNuJ3QgaHVydCBJIGd1ZXNzLCBidXQgeW91IGNvdWxkIGF2b2lk IGEgUk1XIHRvDQo+IE1TUl9JQTMyX01UUlJfREVGX1RZUEUuDQo+IA0KPiBPciBpcyBpdCBuZWNl c3NhcnkgdG8gcmV3cml0ZSB0aGUgRkUgYml0PyAoSXQgZG9lc24ndCBsb29rIG5lY2Vzc2FyeSB0 byBtZSwgYnV0IEkNCj4gY291bGQgYmUgd3JvbmcuKQ0KPiANCj4gT3IgbWF5YmUgeW91IG5lZWQg dG8gd3JpdGUgdG8gdGhlIE1TUiB0aGUgKmZpcnN0KiB0aW1lIHRoYXQNCj4gTXRyckxpYlBvc3RN dHJyQ2hhbmdlKCkgaXMgY2FsbGVkLi4uDQo+IA0KPiBBbnl3YXksIEknbSBPSyB3aXRoIHRoZSBw YXRjaCwgSSdsbCBsZXQgRXJpYyBhbmQgUmF5IGRlY2lkZS4NCj4gDQo+IEFja2VkLWJ5OiBMYXN6 bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQuY29tPg0KPiANCj4gDQo+IFRoYW5rcw0KPiBMYXN6bG8N Cg==