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.136; helo=mga12.intel.com; envelope-from=michael.d.kinney@intel.com; receiver=edk2-devel@lists.01.org Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) (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 222EA203564DC for ; Wed, 31 Jan 2018 14:06:21 -0800 (PST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga106.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 31 Jan 2018 14:11:57 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.46,441,1511856000"; d="scan'208";a="15989748" Received: from orsmsx109.amr.corp.intel.com ([10.22.240.7]) by fmsmga002.fm.intel.com with ESMTP; 31 Jan 2018 14:11:57 -0800 Received: from orsmsx151.amr.corp.intel.com (10.22.226.38) by ORSMSX109.amr.corp.intel.com (10.22.240.7) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 31 Jan 2018 14:11:56 -0800 Received: from orsmsx113.amr.corp.intel.com ([169.254.9.97]) by ORSMSX151.amr.corp.intel.com ([169.254.7.10]) with mapi id 14.03.0319.002; Wed, 31 Jan 2018 14:11:56 -0800 From: "Kinney, Michael D" To: Laszlo Ersek , edk2-devel-01 , "Kinney, Michael D" CC: "Ni, Ruiyu" , Paolo Bonzini , "Yao, Jiewen" , "Dong, Eric" , "Ard Biesheuvel" , "Leif Lindholm (Linaro address)" Thread-Topic: [edk2] [PATCH 1/3] UefiCpuPkg/PiSmmCpuDxeSmm: update comments in IA32 SmmStartup() Thread-Index: AQHTmd/MCkuvve09PEGT8wX9DIo2RaOMqXnggACV9oD//33u0IAAvDUA//+AWeCAAVgoAIAANhiQ Date: Wed, 31 Jan 2018 22:11:55 +0000 Message-ID: References: <20180130153348.31992-1-lersek@redhat.com> <20180130153348.31992-2-lersek@redhat.com> <31138ce7-0637-a755-ec57-e36ab812f259@redhat.com> <17c44add-ca8e-c346-8cc8-7e94b694a7e1@redhat.com> <352efa04-a5c3-af45-2da7-8e9e0043aee9@redhat.com> In-Reply-To: <352efa04-a5c3-af45-2da7-8e9e0043aee9@redhat.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.0.0.116 dlp-reaction: no-action x-originating-ip: [10.22.254.138] MIME-Version: 1.0 Subject: Re: [PATCH 1/3] UefiCpuPkg/PiSmmCpuDxeSmm: update comments in IA32 SmmStartup() X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 31 Jan 2018 22:06:21 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 TGFzemxvLA0KDQpJIGFncmVlIHRoZSBVbmFsaWduZWQgZnVuY3Rpb25zIGhhdmUgaXNzdWVzLg0K V2Ugc2hvdWxkIHNlZSBpZiB3ZSBjb3VsZCBjaGFuZ2UgdGhlIHBhcmFtIHR5cGUuDQpJdCBzaG91 bGQgYmUgYSBiYWNrd2FyZHMgY29tcGF0aWJsZSBjaGFuZ2UgdG8NCmdvIGZyb20gYSB0eXBlIHNw ZWNpZmljIHBvaW50ZXIgdG8gVk9JRCAqLiAgQnV0DQpuZWVkIHRvIGNoZWNrIHdpdGggYWxsIHN1 cHBvcnRlZCBjb21waWxlcnMuDQoNCldlIGNhbiBoYXZlIGFyY2ggc3BlY2lmaWMgZnVuY3Rpb25z IGFuZCBtYWNyb3MuDQpUaGVyZSBhcmUgbWFueSBpbiBCYXNlTGliLmguICBUaGlzIHdheSwgaWYg YSBtYWNybw0Kb3IgZnVuY3Rpb24gaXMgdXNlZCBieSBhbiB1bnN1cHBvcnRlZCBhcmNoLCB0aGUN CmJ1aWxkIHdpbGwgZmFpbC4gIEkgYWxzbyBsaWtlIHNvbWUgb2YgdGhlIG5hbWUNCmNoYW5nZSBz dWdnZXN0aW9ucy4gIE1heWJlIFBhdGNoSW5zdHJ1Y3Rpb25YODYoKQ0KYW5kIGNoYW5nZSB0aGUg cGFyYW1ldGVyIG5hbWUgdG8gSW5zdHJ1Y3Rpb25FbmQuDQoNCkJhc2VMaWIuaA0KPT09PT09PT09 PQ0KI2lmIGRlZmluZWQgKE1ERV9DUFVfSUEzMikgfHwgZGVmaW5lZCAoTURFX0NQVV9YNjQpDQoN ClZPSUQNCkVGSUFQSQ0KUGF0Y2hJbnN0cnVjdGlvblg4NiAoDQogIFZPSUQgICAgKkluc3RydWN0 aW9uRW5kLA0KICBVSU5UNjQgIFBhdGNoVmFsdWUsDQogIFVJTlROICAgVmFsdWVTaXplDQogICk7 DQoNCiNlbmRpZg0KDQpCYXNlTGliIEluc3RhbmNlDQo9PT09PT09PT09DQpWT0lEDQpFRklBUEkN ClBhdGNoSW5zdHJ1Y3Rpb25YODYgKA0KICBWT0lEICAgICpJbnN0cnVjdGlvbkVuZCwNCiAgVUlO VDY0ICBQYXRjaFZhbHVlLA0KICBVSU5UTiAgIFZhbHVlU2l6ZQ0KICApDQp7DQogIEFTU0VSVCAo KFVJTlROKUluc3RydWN0aW9uRW5kID4gVmFsdWVTaXplKTsNCiAgc3dpdGNoIChWYWx1ZVNpemUp IHsNCiAgY2FzZSAxOg0KICAgIEFTU0VSVCAoUGF0Y2hWYWx1ZSA8PSBNQVhfVUlOVDgpOw0KICAg ICooKFVJTlQ4ICopSW5zdHJ1Y3Rpb25FbmQgLSAxKSA9IChVSU5UOClQYXRjaFZhbHVlOw0KICBj YXNlIDI6DQogICAgQVNTRVJUIChQYXRjaFZhbHVlIDw9IE1BWF9VSU5UMTYpOw0KICAgIFdyaXRl VW5hbGlnbmVkMTYgKChVSU5UMTYgKikoSW5zdHJ1Y3Rpb25FbmQpIC0gMSwgKFVJTlQxNilQYXRj aFZhbHVlKSk7DQogICAgYnJlYWs7DQogIGNhc2UgNDoNCiAgICBBU1NFUlQgKFBhdGNoVmFsdWUg PD0gTUFYX1VJTlQzMik7DQogICAgV3JpdGVVbmFsaWduZWQzMiAoKFVJTlQzMiAqKShJbnN0cnVj dGlvbkVuZCkgLSAxLCAoVUlOVDMyKVBhdGNoVmFsdWUpKTsNCiAgICBicmVhazsNCiAgY2FzZSA4 Og0KICAgIFdyaXRlVW5hbGlnbmVkNjQgKChVSU5UNjQgKikoSW5zdHJ1Y3Rpb25FbmQpIC0gMSwg UGF0Y2hWYWx1ZSkpOw0KICAgIGJyZWFrOw0KICBkZWZhdWx0Og0KICAgIEFTU0VSVCAoRkFMU0Up Ow0KICB9DQp9DQoNCk1pa2UNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9t OiBMYXN6bG8gRXJzZWsgW21haWx0bzpsZXJzZWtAcmVkaGF0LmNvbV0NCj4gU2VudDogV2VkbmVz ZGF5LCBKYW51YXJ5IDMxLCAyMDE4IDI6NDAgQU0NCj4gVG86IEtpbm5leSwgTWljaGFlbCBEIDxt aWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47IGVkazItDQo+IGRldmVsLTAxIDxlZGsyLWRldmVs QGxpc3RzLjAxLm9yZz4NCj4gQ2M6IE5pLCBSdWl5dSA8cnVpeXUubmlAaW50ZWwuY29tPjsgUGFv bG8gQm9uemluaQ0KPiA8cGJvbnppbmlAcmVkaGF0LmNvbT47IFlhbywgSmlld2VuDQo+IDxqaWV3 ZW4ueWFvQGludGVsLmNvbT47IERvbmcsIEVyaWMgPGVyaWMuZG9uZ0BpbnRlbC5jb20+Ow0KPiBB cmQgQmllc2hldXZlbCA8YXJkLmJpZXNoZXV2ZWxAbGluYXJvLm9yZz47IExlaWYgTGluZGhvbG0N Cj4gKExpbmFybyBhZGRyZXNzKSA8bGVpZi5saW5kaG9sbUBsaW5hcm8ub3JnPg0KPiBTdWJqZWN0 OiBSZTogW2VkazJdIFtQQVRDSCAxLzNdDQo+IFVlZmlDcHVQa2cvUGlTbW1DcHVEeGVTbW06IHVw ZGF0ZSBjb21tZW50cyBpbiBJQTMyDQo+IFNtbVN0YXJ0dXAoKQ0KPiANCj4gT24gMDEvMzAvMTgg MjM6MjUsIEtpbm5leSwgTWljaGFlbCBEIHdyb3RlOg0KPiA+IExhc3psbywNCj4gPg0KPiA+IEkg YWdyZWUgdGhhdCB0aGUgZnVuY3Rpb24gaXMgYmV0dGVyIHRoYW4gYSBtYWNyby4NCj4gPg0KPiA+ IEkgdGhvdWdodCBvZiB0aGUgYWxpZ25tZW50IGlzc3VlcyBhcyB3ZWxsLiAgQ29weU1lbSgpDQo+ ID4gaXMgYSBnb29kIHNvbHV0aW9uLiAgV2UgY291bGQgYWxzbyBjb25zaWRlcg0KPiA+IFdyaXRl VW5hbGlnbmVkeHgoKSBmdW5jdGlvbnMgaW4gQmFzZUxpYi4NCj4gDQo+IElNTywgdGhlIFdyaXRl VW5hbGlnbmVkeHggZnVuY3Rpb25zIGFyZSBhIGJpdCBwb2ludGxlc3MNCj4gaW4gdGhlIGV4YWN0 DQo+IGZvcm0gdGhleSBhcmUgZGVjbGFyZWQgKHRoaXMgd2FzIGRpc2N1c3NlZCBlYXJsaWVyIGVz cC4NCj4gd2l0aCByZWdhcmQgdG8NCj4gYWFyY2g2NCkuIFRoZSBmdW5jdGlvbnMgdGFrZSBwb2lu dGVycyB0byBvYmplY3RzIHRoYXQNCj4gYWxyZWFkeSBoYXZlIHRoZQ0KPiB0YXJnZXQgdHlwZSwg c3VjaCBhcw0KPiANCj4gVUlOVDMyDQo+IEVGSUFQSQ0KPiBXcml0ZVVuYWxpZ25lZDMyICgNCj4g ICBPVVQgVUlOVDMyICAgICAgICAgICAgICAgICAgICAqQnVmZmVyLA0KPiAgIElOICBVSU5UMzIg ICAgICAgICAgICAgICAgICAgIFZhbHVlDQo+ICAgKQ0KPiANCj4gSGVyZSB0aGUgdHlwZSBvZiBC dWZmZXIgc2hvdWxkIGJlIChWT0lEICopLCBub3QgKFVJTlQzMg0KPiAqKS4gT3RoZXJ3aXNlLA0K PiB0aGUgdW5kZWZpbmVkIGJlaGF2aW9yIChkdWUgdG8gbWlzLWFsaWdubWVudCkgc3VyZmFjZXMg YXMNCj4gc29vbiBhcyB0aGUNCj4gZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggYW4gdW5hbGlnbmVk IHBvaW50ZXIgKGkuZS4gYmVmb3JlDQo+IHRoZSB0YXJnZXQNCj4gYXJlYSBpcyBhY3R1YWxseSB3 cml0dGVuKS4NCj4gDQo+ID4gSSB3YXMgb3JpZ2luYWxseSB0aGlua2luZyB0aGlzIGZ1bmN0aW9u YWxpdHkgd291bGQgZ28NCj4gPiBpbnRvIEJhc2VMaWIuICBCdXQgd2l0aCB0aGUgdXNlIG9mIENv cHlNZW0oKSwgd2UgY2FuJ3QNCj4gPiBkbyB0aGF0Lg0KPiANCj4gQ2FuIHdlIHB1dCBpdCBpbiBC YXNlTWVtb3J5TGliIGluc3RlYWQgKHdoaWNoIGlzIHdoZXJlDQo+IENvcHlNZW0oKSBpcw0KPiBm cm9tKT8gVGhhdCBsaWJyYXJ5IGNsYXNzIGlzIHN0aWxsIGxvdy1sZXZlbCBlbm91Z2guIEFuZCwN Cj4gd2hpbGUgSSBjb3VudA0KPiA5IGxpYnJhcnkgaW5zdGFuY2VzLCBQYXRjaEFzc2VtYmx5KCkg aXMgbm90IGEgbGFyZ2UNCj4gZnVuY3Rpb24sIHdlIGNvdWxkDQo+IHRvbGVyYXRlIGFkZGluZyBp dCB0byBhbGwgOSBpbnN0YW5jZXMsIGlkZW50aWNhbGx5Lg0KPiANCj4gTGV0IG1lIGFsc28gYXNr IHRoZSBvcHBvc2l0ZSBxdWVzdGlvbjogc2hvdWxkIHdlIHBlcmhhcHMNCj4gbWFrZSB0aGUNCj4g UGF0Y2hBc3NlbWJseSgpIEFQSSAqbGVzcyogYWJzdHJhY3Q/IChBbHNvIHN1Z2dlc3RlZCBieQ0K PiB5b3VyIG5hbWluZyBvZg0KPiB0aGUgbWFjcm8sIFBBVENIX1g4Nl9BU00uKSBJZiB0aGUgaW5z dHJ1Y3Rpb24gZW5jb2Rpbmcgb24NCj4gZS5nLiBBQVJDSDY0DQo+IGRvZXNuJ3QgbGVuZCBpdHNl bGYgdG8gc3VjaCBwYXRjaGluZyAoPSBleHByZXNzZWQgdGhyb3VnaA0KPiB0aGUgYWRkcmVzcw0K PiByaWdodCBhZnRlciB0aGUgaW5zdHJ1Y3Rpb24pLCB0aGVuIGV2ZW4gQmFzZU1lbW9yeUxpYiBt YXkNCj4gYmUgdG9vIGdlbmVyaWMNCj4gZm9yIHRoZSBBUEkuDQo+IA0KPiA+IE1heWJlIHdlIHNo b3VsZCB1c2UgV3JpdGVVbmFsaWduZWR4eCgpIGFuZA0KPiA+IGFkZCBzb21lIEFTU0VSVCgpIGNo ZWNrcy4NCj4gPg0KPiA+IFZPSUQNCj4gPiBQYXRjaEFzc2VtYmx5ICgNCj4gPiAgIFZPSUQgICAg KkJ1ZmZlckVuZCwNCj4gPiAgIFVJTlQ2NCAgUGF0Y2hWYWx1ZSwNCj4gPiAgIFVJTlROICAgVmFs dWVTaXplDQo+ID4gICApDQo+ID4gew0KPiA+ICAgQVNTRVJUICgoVUlOVE4pQnVmZmVyRW5kID4g VmFsdWVTaXplKTsNCj4gPiAgIHN3aXRjaCAoVmFsdWVTaXplKSB7DQo+ID4gICBjYXNlIDE6DQo+ ID4gICAgIEFTU0VSVCAoUGF0Y2hWYWx1ZSA8PSBNQVhfVUlOVDgpOw0KPiA+ICAgICAqKChVSU5U OCAqKUJ1ZmZlckVuZCAtIDEpID0gKFVJTlQ4KVBhdGNoVmFsdWU7DQo+ID4gICBjYXNlIDI6DQo+ ID4gICAgIEFTU0VSVCAoUGF0Y2hWYWx1ZSA8PSBNQVhfVUlOVDE2KTsNCj4gPiAgICAgV3JpdGVV bmFsaWduZWQxNiAoKFVJTlQxNiAqKShCdWZmZXJFbmQpIC0gMSwNCj4gKFVJTlQxNilQYXRjaFZh bHVlKSk7DQo+ID4gICAgIGJyZWFrOw0KPiA+ICAgY2FzZSA0Og0KPiA+ICAgICBBU1NFUlQgKFBh dGNoVmFsdWUgPD0gTUFYX1VJTlQzMik7DQo+ID4gICAgIFdyaXRlVW5hbGlnbmVkMzIgKChVSU5U MzIgKikoQnVmZmVyRW5kKSAtIDEsDQo+IChVSU5UMzIpUGF0Y2hWYWx1ZSkpOw0KPiA+ICAgICBi cmVhazsNCj4gPiAgIGNhc2UgODoNCj4gPiAgICAgV3JpdGVVbmFsaWduZWQ2NCAoKFVJTlQ2NCAq KShCdWZmZXJFbmQpIC0gMSwNCj4gUGF0Y2hWYWx1ZSkpOw0KPiA+ICAgICBicmVhazsNCj4gPiAg IGRlZmF1bHQ6DQo+ID4gICAgIEFTU0VSVCAoRkFMU0UpOw0KPiA+ICAgfQ0KPiA+IH0NCj4gDQo+ IEluIG15IG9waW5pb246DQo+IA0KPiAtIElmIEFyZCBhbmQgTGVpZiBzYXkgdGhhdCBQYXRjaEFz c2VtYmx5KCkgQVBJIG1ha2VzDQo+IHNlbnNlIGZvciBBQVJDSDY0LA0KPiAgIHRoZW4gSSB0aGlu ayB3ZSBjYW4gZ28gd2l0aCB0aGUgYWJvdmUgZ2VuZXJpYw0KPiBpbXBsZW1lbnRhdGlvbiAoZm9y DQo+ICAgQmFzZUxpYikuDQo+IA0KPiAtIElmIEFyZCBhbmQgTGVpZiBzYXkgdGhlIEFQSSBpcyBv bmx5IHVzZWZ1bCBvbiB4ODYsIHRoZW4NCj4gSSBzdWdnZXN0IHRoYXQNCj4gICB3ZSBpbXBsZW1l bnQgdGhlIEFQSSBzZXBhcmF0ZWx5IGZvciBhbGwgYXJjaGVzIChzdGlsbA0KPiBpbiBCYXNlTGli KToNCj4gDQo+ICAgLSBPbiB4ODYsIHdlIHNob3VsZCBzaW1wbHkgb3Blbi1jb2RlIHRoZSB1bmFs aWduZWQNCj4gYWNjZXNzZXMgKGxpa2UgeW91DQo+ICAgICBvcmlnaW5hbGwgc3VnZ2VzdGVkKS4g VGhlIHBvaW50ZXIgYXJpdGhtZXRpYyB3aWxsDQo+IGxvb2sgYSBiaXQgd2lsZCwNCj4gICAgIGJ1 dCBpdCdzIHNhZmVseSBoaWRkZW4gYmVoaW5kIGEgQmFzZUxpYiBBUEksIHNvDQo+IGNsaWVudCBj b2RlIHdpbGwNCj4gICAgIGxvb2sgbmljZS4NCj4gDQo+ICAgLSBPbiBhbGwgb3RoZXIgYXJjaGVz LCB3ZSBzaG91bGQgaW1wbGVtZW50IHRoZSBmdW5jdGlvbg0KPiB3aXRoDQo+ICAgICBBU1NFUlQo RkFMU0UpLg0KPiANCj4gVGhhbmtzIQ0KPiBMYXN6bG8NCj4gDQo+ID4NCj4gPiBNaWtlDQo+ID4N Cj4gPj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4gRnJvbTogTGFzemxvIEVyc2Vr IFttYWlsdG86bGVyc2VrQHJlZGhhdC5jb21dDQo+ID4+IFNlbnQ6IFR1ZXNkYXksIEphbnVhcnkg MzAsIDIwMTggMTo0NSBQTQ0KPiA+PiBUbzogS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5r aW5uZXlAaW50ZWwuY29tPjsNCj4gZWRrMi0NCj4gPj4gZGV2ZWwtMDEgPGVkazItZGV2ZWxAbGlz dHMuMDEub3JnPg0KPiA+PiBDYzogTmksIFJ1aXl1IDxydWl5dS5uaUBpbnRlbC5jb20+OyBQYW9s byBCb256aW5pDQo+ID4+IDxwYm9uemluaUByZWRoYXQuY29tPjsgWWFvLCBKaWV3ZW4NCj4gPj4g PGppZXdlbi55YW9AaW50ZWwuY29tPjsgRG9uZywgRXJpYw0KPiA8ZXJpYy5kb25nQGludGVsLmNv bT4NCj4gPj4gU3ViamVjdDogUmU6IFtlZGsyXSBbUEFUQ0ggMS8zXQ0KPiA+PiBVZWZpQ3B1UGtn L1BpU21tQ3B1RHhlU21tOiB1cGRhdGUgY29tbWVudHMgaW4gSUEzMg0KPiA+PiBTbW1TdGFydHVw KCkNCj4gPj4NCj4gPj4gT24gMDEvMzAvMTggMjE6MzEsIEtpbm5leSwgTWljaGFlbCBEIHdyb3Rl Og0KPiA+Pj4gTGFzemxvLA0KPiA+Pj4NCj4gPj4+IFdlIGhhdmUgYWxyZWFkeSB1c2VkIHRoaXMg dGVjaG5pcXVlIGluIG90aGVyIE5BU00NCj4gZmlsZXMNCj4gPj4+IHRvIHJlbW92ZSBEQnMuDQo+ ID4+DQo+ID4+IE9LLg0KPiA+Pg0KPiA+Pj4gTGV0IHVzIGtub3cgaWYgeW91IGhhdmUgc3VnZ2Vz dGlvbnMgb24gaG93IHRvIG1ha2UNCj4gdGhlDQo+ID4+PiBDIGNvZGUgdGhhdCBwZXJmb3JtcyB0 aGUgcGF0Y2hlcyBlYXNpZXIgdG8gcmVhZCBhbmQNCj4gPj4+IG1haW50YWluLg0KPiA+Pg0KPiA+ PiBIb3cgYWJvdXQgdGhpczoNCj4gPj4NCj4gPj4gICBWT0lEDQo+ID4+ICAgUGF0Y2hBc3NlbWJs eSAoDQo+ID4+ICAgICBWT0lEICAgKkJ1ZmZlckVuZCwNCj4gPj4gICAgIFVJTlQ2NCBQYXRjaFZh bHVlLA0KPiA+PiAgICAgVUlOVE4gIFZhbHVlU2l6ZQ0KPiA+PiAgICAgKQ0KPiA+PiAgIHsNCj4g Pj4gICAgIENvcHlNZW0gKA0KPiA+PiAgICAgICAoVk9JRCAqKSgoVUlOVE4pQnVmZmVyRW5kIC0g VmFsdWVTaXplKSwNCj4gPj4gICAgICAgJlBhdGNoVmFsdWUsDQo+ID4+ICAgICAgIFZhbHVlU2l6 ZQ0KPiA+PiAgICAgICApOw0KPiA+PiAgIH0NCj4gPj4NCj4gPj4gICBleHRlcm4gVUlOVDggZ0Fz bVNtbUNyMDsNCj4gPj4gICBleHRlcm4gVUlOVDggZ0FzbVNtbUNyMzsNCj4gPj4gICBleHRlcm4g VUlOVDggZ0FzbVNtbUNyNDsNCj4gPj4NCj4gPj4gICAuLi4NCj4gPj4gICB7DQo+ID4+ICAgICBQ YXRjaEFzc2VtYmx5ICgmZ0FzbVNtbUNyMCwgQXNtUmVhZENyMCAoKSwgNCk7DQo+ID4+ICAgICBQ YXRjaEFzc2VtYmx5ICgmZ0FzbVNtbUNyMywgQXNtUmVhZENyMyAoKSwgNCk7DQo+ID4+ICAgICBQ YXRjaEFzc2VtYmx5ICgmZ0FzbVNtbUNyNCwgQXNtUmVhZENyNCAoKSwgNCk7DQo+ID4+ICAgICAu Li4NCj4gPj4gICB9DQo+ID4+DQo+ID4+IChJIHRoaW5rIGl0J3MgZmluZSB0byBvcGVuLWNvZGUg dGhlIGxhc3QgYXJndW1lbnQgYXMNCj4gIjQiLA0KPiA+PiByYXRoZXIgdGhhbg0KPiA+PiAic2l6 ZW9mIChVSU5UMzIpIiwgYmVjYXVzZSBmb3IgcGF0Y2hpbmcsIHdlIG11c3QgaGF2ZQ0KPiA+PiBp bnRpbWF0ZSBrbm93bGVkZ2UNCj4gPj4gb2YgdGhlIGluc3RydWN0aW9uIGFueXdheS4pDQo+ID4+ DQo+ID4+IFRvIG1lLCB0aGlzIGlzIGVhc2llciB0byByZWFkLCBiZWNhdXNlOg0KPiA+Pg0KPiA+ PiAtIHRoZXJlIGFyZSBubyBjb21wbGV4IGNhc3RzIGluIHRoZSAiYnVzaW5lc3MgbG9naWMiDQo+ ID4+IC0gdGhlIHNpemUgaXMgc3BlbGxlZCBvdXQgb25jZSBwZXIgcGF0Y2hpbmcNCj4gPj4gLSB0 aGUgZnVuY3Rpb24gbmFtZSBhbmQgdGhlIHZhcmlhYmxlIG5hbWVzIG1ha2UgaXQNCj4gY2xlYXIN Cj4gPj4gd2UgYXJlIHBhdGNoaW5nDQo+ID4+ICAgc2VwYXJhdGVseSBjb21waWxlZCBhc3NlbWJs eSBjb2RlIHRoYXQgd2FzIGxpbmtlZA0KPiBpbnRvDQo+ID4+IHRoZSBzYW1lDQo+ID4+ICAgbW9k dWxlLg0KPiA+Pg0KPiA+PiBXaGF0IGRvIHlvdSB0aGluaz8NCj4gPj4NCj4gPj4gVGhhbmtzIQ0K PiA+PiBMYXN6bG8NCj4gPj4NCj4gPj4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ Pj4+IEZyb206IGVkazItZGV2ZWwgW21haWx0bzplZGsyLWRldmVsLQ0KPiA+PiBib3VuY2VzQGxp c3RzLjAxLm9yZ10NCj4gPj4+PiBPbiBCZWhhbGYgT2YgTGFzemxvIEVyc2VrDQo+ID4+Pj4gU2Vu dDogVHVlc2RheSwgSmFudWFyeSAzMCwgMjAxOCAxMDoxNyBBTQ0KPiA+Pj4+IFRvOiBLaW5uZXks IE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+Ow0KPiA+PiBlZGsyLQ0KPiA+ Pj4+IGRldmVsLTAxIDxlZGsyLWRldmVsQGxpc3RzLjAxLm9yZz4NCj4gPj4+PiBDYzogTmksIFJ1 aXl1IDxydWl5dS5uaUBpbnRlbC5jb20+OyBQYW9sbyBCb256aW5pDQo+ID4+Pj4gPHBib256aW5p QHJlZGhhdC5jb20+OyBZYW8sIEppZXdlbg0KPiA+Pj4+IDxqaWV3ZW4ueWFvQGludGVsLmNvbT47 IERvbmcsIEVyaWMNCj4gPj4gPGVyaWMuZG9uZ0BpbnRlbC5jb20+DQo+ID4+Pj4gU3ViamVjdDog UmU6IFtlZGsyXSBbUEFUQ0ggMS8zXQ0KPiA+Pj4+IFVlZmlDcHVQa2cvUGlTbW1DcHVEeGVTbW06 IHVwZGF0ZSBjb21tZW50cyBpbiBJQTMyDQo+ID4+Pj4gU21tU3RhcnR1cCgpDQo+ID4+Pj4NCj4g Pj4+PiBPbiAwMS8zMC8xOCAxODoyMiwgS2lubmV5LCBNaWNoYWVsIEQgd3JvdGU6DQo+ID4+Pj4+ IExhc3psbywNCj4gPj4+Pj4NCj4gPj4+Pj4gVGhlIERCcyBjYW4gYmUgcmVtb3ZlZCBpZiB0aGUg bGFiZWwgaXMgbW92ZWQgYWZ0ZXINCj4gPj4+Pj4gdGhlIGluc3RydWN0aW9uIGFuZCB0aGUgcGF0 Y2ggaXMgZG9uZSB0byB0aGUgbGFiZWwNCj4gPj4+Pj4gbWludXMgdGhlIHNpemUgb2YgdGhlIHBh dGNoIHZhbHVlLg0KPiA+Pj4+DQo+ID4+Pj4gSW5kZWVkIEkgaGF2ZW4ndCB0aG91Z2h0IG9mIHRo aXMuDQo+ID4+Pj4NCj4gPj4+PiBJZiBJIHVuZGVyc3RhbmQgY29ycmVjdGx5LCBpdCBtZWFucw0K PiA+Pj4+DQo+ID4+Pj4gICBleHRlcm4gVUlOVDggZ1NtbUNyMDsNCj4gPj4+Pg0KPiA+Pj4+ICAg KihVSU5UMzIqKSgmZ1NtbUNyMCAtIHNpemVvZiAoVUlOVDMyKSkgPQ0KPiA+Pj4+IChVSU5UMzIp QXNtUmVhZENyMCAoKTsNCj4gPj4+Pg0KPiA+Pj4+IFRCSCwgdGhlIERCIGZlZWxzIGxlc3MgdWds eSB0byBtZSB0aGFuIHRoaXMgOikNCj4gPj4+Pg0KPiA+Pj4+IFN0aWxsLCBpZiB5b3UgdGhpbmsg aXQgd291bGQgYmUgYW4gYWNjZXB0YWJsZSBwcmljZQ0KPiB0bw0KPiA+Pj4+IHBheSBmb3IgcmVt b3ZpbmcNCj4gPj4+PiB0aGUgcmVtYWluaW5nIERCcywgSSBjYW4gcmVzcGluLg0KPiA+Pj4+DQo+ ID4+Pj4gVGhhbmtzDQo+ID4+Pj4gTGFzemxvDQo+ID4+Pj4NCj4gPj4+Pj4+IC0tLS0tT3JpZ2lu YWwgTWVzc2FnZS0tLS0tDQo+ID4+Pj4+PiBGcm9tOiBlZGsyLWRldmVsIFttYWlsdG86ZWRrMi1k ZXZlbC0NCj4gPj4+PiBib3VuY2VzQGxpc3RzLjAxLm9yZ10NCj4gPj4+Pj4+IE9uIEJlaGFsZiBP ZiBMYXN6bG8gRXJzZWsNCj4gPj4+Pj4+IFNlbnQ6IFR1ZXNkYXksIEphbnVhcnkgMzAsIDIwMTgg NzozNCBBTQ0KPiA+Pj4+Pj4gVG86IGVkazItZGV2ZWwtMDEgPGVkazItZGV2ZWxAbGlzdHMuMDEu b3JnPg0KPiA+Pj4+Pj4gQ2M6IE5pLCBSdWl5dSA8cnVpeXUubmlAaW50ZWwuY29tPjsgWWFvLCBK aWV3ZW4NCj4gPj4+Pj4+IDxqaWV3ZW4ueWFvQGludGVsLmNvbT47IERvbmcsIEVyaWMNCj4gPj4+ PiA8ZXJpYy5kb25nQGludGVsLmNvbT47DQo+ID4+Pj4+PiBQYW9sbyBCb256aW5pIDxwYm9uemlu aUByZWRoYXQuY29tPg0KPiA+Pj4+Pj4gU3ViamVjdDogW2VkazJdIFtQQVRDSCAxLzNdDQo+ID4+ IFVlZmlDcHVQa2cvUGlTbW1DcHVEeGVTbW06DQo+ID4+Pj4+PiB1cGRhdGUgY29tbWVudHMgaW4g SUEzMiBTbW1TdGFydHVwKCkNCj4gPj4+Pj4+DQo+ID4+Pj4+PiBUaGUgZ1NtbUNyMywgZ1NtbUNy NCwgZ1NtbUNyMCBhbmQgZ1NtbUptcEFkZHINCj4gZ2xvYmFsDQo+ID4+Pj4+PiB2YXJpYWJsZXMg IGFyZSB1c2VkDQo+ID4+Pj4+PiBmb3IgcGF0Y2hpbmcgYXNzZW1ibHkgaW5zdHJ1Y3Rpb25zLCB0 aHVzIHdlIGNhbg0KPiA+PiBuZXZlcg0KPiA+Pj4+Pj4gcmVtb3ZlIHRoZSBEQg0KPiA+Pj4+Pj4g ZW5jb2RpbmdzIGZvciB0aG9zZSBpbnN0cnVjdGlvbnMuIEF0IGxlYXN0IHdlDQo+IHNob3VsZA0K PiA+Pj4+IGFkZA0KPiA+Pj4+Pj4gdGhlIGludGVuZGVkDQo+ID4+Pj4+PiBtZWFuaW5ncyBpbiBj b21tZW50cy4NCj4gPj4+Pj4+DQo+ID4+Pj4+PiBUaGlzIHBhdGNoIG9ubHkgY2hhbmdlcyBjb21t ZW50cy4NCj4gPj4+Pj4+DQo+ID4+Pj4+PiBDYzogRXJpYyBEb25nIDxlcmljLmRvbmdAaW50ZWwu Y29tPg0KPiA+Pj4+Pj4gQ2M6IEppYW4gSiBXYW5nIDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+DQo+ ID4+Pj4+PiBDYzogSmlld2VuIFlhbyA8amlld2VuLnlhb0BpbnRlbC5jb20+DQo+ID4+Pj4+PiBD YzogUGFvbG8gQm9uemluaSA8cGJvbnppbmlAcmVkaGF0LmNvbT4NCj4gPj4+Pj4+IENjOiBSdWl5 dSBOaSA8cnVpeXUubmlAaW50ZWwuY29tPg0KPiA+Pj4+Pj4gQ29udHJpYnV0ZWQtdW5kZXI6IFRp YW5vQ29yZSBDb250cmlidXRpb24NCj4gQWdyZWVtZW50DQo+ID4+Pj4gMS4xDQo+ID4+Pj4+PiBT aWduZWQtb2ZmLWJ5OiBMYXN6bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQuY29tPg0KPiA+Pj4+Pj4g LS0tDQo+ID4+Pj4+PiAgVWVmaUNwdVBrZy9QaVNtbUNwdUR4ZVNtbS9JYTMyL1NtbUluaXQubmFz bSB8IDgNCj4gPj4gKysrKy0NCj4gPj4+PiAtLS0NCj4gPj4+Pj4+ICAxIGZpbGUgY2hhbmdlZCwg NCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQ0KPiA+Pj4+Pj4NCj4gPj4+Pj4+IGRpZmYg LS1naXQNCj4gPj4+PiBhL1VlZmlDcHVQa2cvUGlTbW1DcHVEeGVTbW0vSWEzMi9TbW1Jbml0Lm5h c20NCj4gPj4+Pj4+IGIvVWVmaUNwdVBrZy9QaVNtbUNwdUR4ZVNtbS9JYTMyL1NtbUluaXQubmFz bQ0KPiA+Pj4+Pj4gaW5kZXggZTk2ZGQ4ZDIzOTJhLi4wODUzNGRiYTY0YjcgMTAwNjQ0DQo+ID4+ Pj4+PiAtLS0gYS9VZWZpQ3B1UGtnL1BpU21tQ3B1RHhlU21tL0lhMzIvU21tSW5pdC5uYXNtDQo+ ID4+Pj4+PiArKysgYi9VZWZpQ3B1UGtnL1BpU21tQ3B1RHhlU21tL0lhMzIvU21tSW5pdC5uYXNt DQo+ID4+Pj4+PiBAQCAtNDQsMzQgKzQ0LDM0IEBAIGdsb2JhbCBBU01fUEZYKFNtbVN0YXJ0dXAp DQo+ID4+Pj4+PiAgQVNNX1BGWChTbW1TdGFydHVwKToNCj4gPj4+Pj4+ICAgICAgREIgICAgICAw eDY2DQo+ID4+Pj4+PiAgICAgIG1vdiAgICAgZWF4LCAweDgwMDAwMDAxICAgICAgICAgICAgIDsg cmVhZA0KPiA+Pj4+Pj4gY2FwYWJpbGl0eQ0KPiA+Pj4+Pj4gICAgICBjcHVpZA0KPiA+Pj4+Pj4g ICAgICBEQiAgICAgIDB4NjYNCj4gPj4+Pj4+ICAgICAgbW92ICAgICBlYngsIGVkeCAgICAgICAg ICAgICAgICAgICAgOyByZG1zcg0KPiA+PiB3aWxsDQo+ID4+Pj4+PiBjaGFuZ2UgZWR4LiBrZWVw IGl0IGluIGVieC4NCj4gPj4+Pj4+IC0gICAgREIgICAgICAweDY2LCAweGI4DQo+ID4+Pj4+PiAr ICAgIERCICAgICAgMHg2NiwgMHhiOCAgICAgICAgICAgICAgICAgIDsgbW92DQo+IGVheCwNCj4g Pj4+PiBpbW0zMg0KPiA+Pj4+Pj4gIEFTTV9QRlgoZ1NtbUNyMyk6IEREIDANCj4gPj4+Pj4+ICAg ICAgbW92ICAgICBjcjMsIGVheA0KPiA+Pj4+Pj4gICAgICBEQiAgICAgIDB4NjcsIDB4NjYNCj4g Pj4+Pj4+ICAgICAgbGdkdCAgICBbY3M6ZWJwICsgKEFTTV9QRlgoZ2NTbWlJbml0R2R0cikgLQ0K PiA+Pj4+Pj4gQVNNX1BGWChTbW1TdGFydHVwKSldDQo+ID4+Pj4+PiAtICAgIERCICAgICAgMHg2 NiwgMHhiOA0KPiA+Pj4+Pj4gKyAgICBEQiAgICAgIDB4NjYsIDB4YjggICAgICAgICAgICAgICAg ICA7IG1vdg0KPiBlYXgsDQo+ID4+Pj4gaW1tMzINCj4gPj4+Pj4+ICBBU01fUEZYKGdTbW1DcjQp OiBERCAwDQo+ID4+Pj4+PiAgICAgIG1vdiAgICAgY3I0LCBlYXgNCj4gPj4+Pj4+ICAgICAgREIg ICAgICAweDY2DQo+ID4+Pj4+PiAgICAgIG1vdiAgICAgZWN4LCAweGMwMDAwMDgwICAgICAgICAg ICAgIDsNCj4gSUEzMl9FRkVSDQo+ID4+Pj4gTVNSDQo+ID4+Pj4+PiAgICAgIHJkbXNyDQo+ID4+ Pj4+PiAgICAgIERCICAgICAgMHg2Ng0KPiA+Pj4+Pj4gICAgICB0ZXN0ICAgIGVieCwgQklUMjAg ICAgICAgICAgICAgICAgICA7IGNoZWNrDQo+IE5YRQ0KPiA+Pj4+Pj4gY2FwYWJpbGl0eQ0KPiA+ Pj4+Pj4gICAgICBqeiAgICAgIC4xDQo+ID4+Pj4+PiAgICAgIG9yICAgICAgYWgsIEJJVDMgICAg ICAgICAgICAgICAgICAgIDsgc2V0IE5YRQ0KPiA+PiBiaXQNCj4gPj4+Pj4+ICAgICAgd3Jtc3IN Cj4gPj4+Pj4+ICAuMToNCj4gPj4+Pj4+IC0gICAgREIgICAgICAweDY2LCAweGI4DQo+ID4+Pj4+ PiArICAgIERCICAgICAgMHg2NiwgMHhiOCAgICAgICAgICAgICAgICAgIDsgbW92DQo+IGVheCwN Cj4gPj4+PiBpbW0zMg0KPiA+Pj4+Pj4gIEFTTV9QRlgoZ1NtbUNyMCk6IEREIDANCj4gPj4+Pj4+ ICAgICAgREIgICAgICAweGJmLCBQUk9URUNUX01PREVfRFMsIDAgICAgOyBtb3YgZGksDQo+ID4+ Pj4+PiBQUk9URUNUX01PREVfRFMNCj4gPj4+Pj4+ICAgICAgbW92ICAgICBjcjAsIGVheA0KPiA+ Pj4+Pj4gLSAgICBEQiAgICAgIDB4NjYsIDB4ZWEgICAgICAgICAgICAgICAgICAgOyBqbXANCj4g ZmFyDQo+ID4+Pj4+PiBbcHRyNDhdDQo+ID4+Pj4+PiArICAgIERCICAgICAgMHg2NiwgMHhlYSAg ICAgICAgICAgICAgICAgIDsgam1wIGZhcg0KPiA+Pj4+Pj4gW3B0cjQ4XQ0KPiA+Pj4+Pj4gIEFT TV9QRlgoZ1NtbUptcEFkZHIpOg0KPiA+Pj4+Pj4gICAgICBERCAgICAgIEAzMmJpdA0KPiA+Pj4+ Pj4gICAgICBEVyAgICAgIFBST1RFQ1RfTU9ERV9DUw0KPiA+Pj4+Pj4gIEAzMmJpdDoNCj4gPj4+ Pj4+ICAgICAgbW92ICAgICBkcywgZWRpDQo+ID4+Pj4+PiAgICAgIG1vdiAgICAgZXMsIGVkaQ0K PiA+Pj4+Pj4gLS0NCj4gPj4+Pj4+IDIuMTQuMS4zLmdiN2NmNmUwMjQwMWINCj4gPj4+Pj4+DQo+ ID4+Pj4+Pg0KPiA+Pj4+Pj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18NCj4gPj4+Pj4+IGVkazItZGV2ZWwgbWFpbGluZyBsaXN0DQo+ID4+Pj4+PiBlZGsy LWRldmVsQGxpc3RzLjAxLm9yZw0KPiA+Pj4+Pj4gaHR0cHM6Ly9saXN0cy4wMS5vcmcvbWFpbG1h bi9saXN0aW5mby9lZGsyLWRldmVsDQo+ID4+Pj4NCj4gPj4+PiBfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPiA+Pj4+IGVkazItZGV2ZWwgbWFpbGluZyBs aXN0DQo+ID4+Pj4gZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmcNCj4gPj4+PiBodHRwczovL2xpc3Rz LjAxLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2VkazItZGV2ZWwNCj4gPg0KPiA+IF9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+ID4gZWRrMi1kZXZlbCBtYWls aW5nIGxpc3QNCj4gPiBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZw0KPiA+IGh0dHBzOi8vbGlzdHMu MDEub3JnL21haWxtYW4vbGlzdGluZm8vZWRrMi1kZXZlbA0KPiA+DQoNCg==