From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) (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 489C881EB3 for ; Fri, 9 Dec 2016 14:58:27 -0800 (PST) Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga105.fm.intel.com with ESMTP; 09 Dec 2016 14:58:26 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.33,325,1477983600"; d="scan'208,217";a="40927420" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by fmsmga005.fm.intel.com with ESMTP; 09 Dec 2016 14:58:26 -0800 Received: from fmsmsx115.amr.corp.intel.com (10.18.116.19) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.248.2; Fri, 9 Dec 2016 14:58:26 -0800 Received: from shsmsx152.ccr.corp.intel.com (10.239.6.52) by fmsmsx115.amr.corp.intel.com (10.18.116.19) with Microsoft SMTP Server (TLS) id 14.3.248.2; Fri, 9 Dec 2016 14:58:26 -0800 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.11]) by SHSMSX152.ccr.corp.intel.com ([169.254.6.63]) with mapi id 14.03.0248.002; Sat, 10 Dec 2016 06:58:24 +0800 From: "Yao, Jiewen" To: Laszlo Ersek , "Zeng, Star" , edk2-devel-01 CC: "Kinney, Michael D" , "Tian, Feng" , "Gao, Liming" , "Wei, David" Thread-Topic: [edk2] [PATCH 0/3] MdePkg, MdeModulePkg, Vlv2TbltDevicePkg: 64-bit LoopTimes in S3 MEM_POLL Thread-Index: AQHSS/w6dCVPVuVyn0uKYkMl5urvKaDz4t4w//+vfACAAFGcAIABcr5QgACyzACACj1TsA== Date: Fri, 9 Dec 2016 22:58:23 +0000 Message-ID: <74D8A39837DF1E4DA445A8C0B3885C50386F5F73@SHSMSX104.ccr.corp.intel.com> References: <20161201175556.2479-1-lersek@redhat.com> <74D8A39837DF1E4DA445A8C0B3885C50386DF380@shsmsx102.ccr.corp.intel.com> <315be37c-ddd0-1ddf-0953-bacf0624d67f@intel.com> <2fd9e769-1456-3892-41b3-5f4c1d1d360a@redhat.com> <74D8A39837DF1E4DA445A8C0B3885C50386DFC5F@shsmsx102.ccr.corp.intel.com> <71ecf438-dbaf-c9a1-1b88-530e7e428573@redhat.com> In-Reply-To: <71ecf438-dbaf-c9a1-1b88-530e7e428573@redhat.com> Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 X-Content-Filtered-By: Mailman/MimeDel 2.1.21 Subject: Re: [PATCH 0/3] MdePkg, MdeModulePkg, Vlv2TbltDevicePkg: 64-bit LoopTimes in S3 MEM_POLL X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Dec 2016 22:58:27 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgTGFzemxvDQpBY2NvcmRpbmcgdG8geW91ciBkZXNjcmlwdGlvbiBvbiBjb21wYXRpYmlsaXR5 LCBJIGRvIG5vdCBoYXZlIGNvbmNlcm4uDQpTbyBmYXIsIEkgZG8gbm90IHJlY2VpdmUgYW55IGNv bmNlcm4gZnJvbSBhbnkgb3RoZXIgcGVvcGxlLCBzbyBJIHRoaW5rIGl0IGlzIGdvb2QuDQoNClJl dmlld2VkLWJ5OiBKaWV3ZW4uWWFvQGludGVsLmNvbTxtYWlsdG86Smlld2VuLllhb0BpbnRlbC5j b20+DQoNClRoYW5rIHlvdQ0KWWFvIEppZXdlbg0KDQpGcm9tOiBMYXN6bG8gRXJzZWsgW21haWx0 bzpsZXJzZWtAcmVkaGF0LmNvbV0NClNlbnQ6IFN1bmRheSwgRGVjZW1iZXIgNCwgMjAxNiAyOjM0 IEFNDQpUbzogWWFvLCBKaWV3ZW4gPGppZXdlbi55YW9AaW50ZWwuY29tPjsgWmVuZywgU3RhciA8 c3Rhci56ZW5nQGludGVsLmNvbT47IGVkazItZGV2ZWwtMDEgPGVkazItZGV2ZWxAbWwwMS4wMS5v cmc+DQpDYzogS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsg VGlhbiwgRmVuZyA8ZmVuZy50aWFuQGludGVsLmNvbT47IEdhbywgTGltaW5nIDxsaW1pbmcuZ2Fv QGludGVsLmNvbT47IFdlaSwgRGF2aWQgPGRhdmlkLndlaUBpbnRlbC5jb20+DQpTdWJqZWN0OiBS ZTogW2VkazJdIFtQQVRDSCAwLzNdIE1kZVBrZywgTWRlTW9kdWxlUGtnLCBWbHYyVGJsdERldmlj ZVBrZzogNjQtYml0IExvb3BUaW1lcyBpbiBTMyBNRU1fUE9MTA0KDQpPbiAxMi8wMy8xNiAwMDo1 NiwgWWFvLCBKaWV3ZW4gd3JvdGU6DQo+IEhJIExhc3psbw0KPg0KPiBXb3VsZCB5b3UgcGxlYXNl IGdpdmUgbWUgc29tZSB0aW1lLCBzbyB0aGF0IEkgY291bGQgZGlzY3VzcyBpbnRlcm5hbA0KPiB0 ZWFtIHRvIHNlZSBpZiB0aGVyZSBpcyBhbnkgY29uY2VybiBvbiB0aGlzIEFQSSB1cGRhdGU/DQo+ DQo+DQo+DQo+IFRoZSBlc3RpbWF0aW9uIHdpbGwgYmUgMSB3b3JrIHdlZWsgYXQgbW9zdC4NCj4N Cj4NCj4NCj4gVXN1YWxseSBhZGRpbmcgYSBuZXcgQVBJIGRvZXMgbm90IG5lZWQgY29tcGF0aWJp bGl0eSBjaGVjaywgYnV0IHVwZGF0aW5nDQo+IGFuIGV4aXN0aW5nIEFQSSBhbHdheXMgbmVlZC4N Cg0KU3VyZSwgdGhhbmtzLg0KTGFzemxvDQoNCj4gKkZyb206Kkxhc3psbyBFcnNlayBbbWFpbHRv OmxlcnNla0ByZWRoYXQuY29tXQ0KPiAqU2VudDoqIEZyaWRheSwgRGVjZW1iZXIgMiwgMjAxNiA1 OjQ3IFBNDQo+ICpUbzoqIFplbmcsIFN0YXIgPHN0YXIuemVuZ0BpbnRlbC5jb208bWFpbHRvOnN0 YXIuemVuZ0BpbnRlbC5jb20+PjsgWWFvLCBKaWV3ZW4NCj4gPGppZXdlbi55YW9AaW50ZWwuY29t PG1haWx0bzpqaWV3ZW4ueWFvQGludGVsLmNvbT4+OyBlZGsyLWRldmVsLTAxIDxlZGsyLWRldmVs QG1sMDEuMDEub3JnPG1haWx0bzplZGsyLWRldmVsQG1sMDEuMDEub3JnPj4NCj4gKkNjOiogS2lu bmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPG1haWx0bzptaWNoYWVs LmQua2lubmV5QGludGVsLmNvbT4+OyBUaWFuLCBGZW5nDQo+IDxmZW5nLnRpYW5AaW50ZWwuY29t PG1haWx0bzpmZW5nLnRpYW5AaW50ZWwuY29tPj47IEdhbywgTGltaW5nIDxsaW1pbmcuZ2FvQGlu dGVsLmNvbTxtYWlsdG86bGltaW5nLmdhb0BpbnRlbC5jb20+PjsgV2VpLCBEYXZpZA0KPiA8ZGF2 aWQud2VpQGludGVsLmNvbTxtYWlsdG86ZGF2aWQud2VpQGludGVsLmNvbT4+DQo+ICpTdWJqZWN0 OiogUmU6IFtlZGsyXSBbUEFUQ0ggMC8zXSBNZGVQa2csIE1kZU1vZHVsZVBrZywNCj4gVmx2MlRi bHREZXZpY2VQa2c6IDY0LWJpdCBMb29wVGltZXMgaW4gUzMgTUVNX1BPTEwNCj4NCj4NCj4NCj4g T24gMTIvMDIvMTYgMDU6NTQsIFplbmcsIFN0YXIgd3JvdGU6DQo+PiBPbiAyMDE2LzEyLzIgOTo1 MywgWWFvLCBKaWV3ZW4gd3JvdGU6DQo+Pj4gSEkgTGFzemxvDQo+Pj4gVGhhbmsgeW91IHRvIHJh aXNlIHRoaXMgbG9uZyB0aW1lIGV4aXN0aW5nIGlzc3VlLiA6LSkNCj4+Pg0KPj4+IFRoZXJlIGlz IGhpc3RvcmljIHJlYXNvbiB0aGF0IHdlIGluaGVyaXQgdGhpcyB1bmRvY3VtZW50ZWQgQVBJIGZy b20NCj4+PiBFREstSSB0byBFREtJSS4NCj4+Pg0KPj4+IEkgZG8gbm90IG9iamVjdCB5b3VyIHVw ZGF0ZS4NCj4NCj4gVGhhbmtzIQ0KPg0KPj4+IEkgYW0gdGhpbmtpbmcgaWYgaXQgaXMgdGltZSB0 byBjcmVhdGUgYSBuZXcgQVBJIHdoaWNoIGNhbiBtYXRjaCBQSQ0KPj4+IHNwZWNpZmljYXRpb24s IGFuZCBzdWdnZXN0IGFsbCBjb25zdW1lcnMgdXNlIHRoZSBuZXcgQVBJLg0KPj4+DQo+Pj4gUkVU VVJOX1NUQVRVUw0KPj4+IEVGSUFQSQ0KPj4+IFMzQm9vdFNjcmlwdFNhdmVQaU1lbVBvbGwgKA0K Pj4+ICAgSU4gIFMzX0JPT1RfU0NSSVBUX0xJQl9XSURUSCAgV2lkdGgsDQo+Pj4gICBJTiAgVUlO VDY0ICAgICAgICAgICAgICAgICAgICBBZGRyZXNzLA0KPj4+ICAgSU4gIFZPSUQgICAgICAgICAg ICAgICAgICAgICAgKkRhdGEsDQo+Pj4gICBJTiAgVk9JRCAgICAgICAgICAgICAgICAgICAgICAq RGF0YU1hc2ssDQo+Pj4gICBJTiAgVUlOVDY0ICAgICAgICAgICAgICAgICAgICBEZWxheSwNCj4+ PiAgICk7DQo+Pg0KPj4gSWYgdGhlIG5ldyBBUEkgaXMgaW50cm9kdWNlZCwgdGhlIG9sZCBvbmUg Y291bGQgYmUgbWFya2VkIGFzIGRlcHJlY2F0ZWQNCj4+IGJ5IERJU0FCTEVfTkVXX0RFUFJFQ0FU RURfSU5URVJGQUNFUy4NCj4NCj4gVGhhdCdzIGNvb2wsIGJ1dCB1bnRpbCB0aGVuLCBjYW4gd2Ug cGxlYXNlIGFjY2VwdCB0aGVzZSBwYXRjaGVzPyA6KQ0KPg0KPiBUaGFua3MhDQo+IExhc3psbw0K Pg0KPj4gVGhhbmtzLA0KPj4gU3Rhcg0KPj4NCj4+Pg0KPj4+IFRoYW5rIHlvdQ0KPj4+IFlhbyBK aWV3ZW4NCj4+Pg0KPj4+DQo+Pj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+Pj4+IEZy b206IGVkazItZGV2ZWwgW21haWx0bzplZGsyLWRldmVsLWJvdW5jZXNAbGlzdHMuMDEub3JnXSBP biBCZWhhbGYgT2YNCj4+Pj4gTGFzemxvIEVyc2VrDQo+Pj4+IFNlbnQ6IEZyaWRheSwgRGVjZW1i ZXIgMiwgMjAxNiAxOjU2IEFNDQo+Pj4+IFRvOiBlZGsyLWRldmVsLTAxIDxlZGsyLWRldmVsQG1s MDEuMDEub3JnIDxtYWlsdG86ZWRrMi1kZXZlbEBtbDAxLjAxLm9yZzxtYWlsdG86ZWRrMi1kZXZl bEBtbDAxLjAxLm9yZ8KgJTNjbWFpbHRvOmVkazItZGV2ZWxAbWwwMS4wMS5vcmc+Pj4NCj4+Pj4g Q2M6IFRpYW4sIEZlbmcgPGZlbmcudGlhbkBpbnRlbC5jb20gPG1haWx0bzpmZW5nLnRpYW5AaW50 ZWwuY29tPG1haWx0bzpmZW5nLnRpYW5AaW50ZWwuY29twqAlM2NtYWlsdG86ZmVuZy50aWFuQGlu dGVsLmNvbT4+PjsgR2FvLCBMaW1pbmcNCj4+Pj4gPGxpbWluZy5nYW9AaW50ZWwuY29tIDxtYWls dG86bGltaW5nLmdhb0BpbnRlbC5jb208bWFpbHRvOmxpbWluZy5nYW9AaW50ZWwuY29twqAlM2Nt YWlsdG86bGltaW5nLmdhb0BpbnRlbC5jb20+Pj47DQo+Pj4+IEtpbm5leSwgTWljaGFlbCBEIDxt aWNoYWVsLmQua2lubmV5QGludGVsLmNvbSA8bWFpbHRvOm1pY2hhZWwuZC5raW5uZXlAaW50ZWwu Y29tPG1haWx0bzptaWNoYWVsLmQua2lubmV5QGludGVsLmNvbcKgJTNjbWFpbHRvOm1pY2hhZWwu ZC5raW5uZXlAaW50ZWwuY29tPj4+OyBaZW5nLCBTdGFyDQo+Pj4+IDxzdGFyLnplbmdAaW50ZWwu Y29tDQo8bWFpbHRvOnN0YXIuemVuZ0BpbnRlbC5jb20lMGI+PiA8bWFpbHRvOnN0YXIuemVuZ0Bp bnRlbC5jb20+PjsgV2VpLCBEYXZpZCA8ZGF2aWQud2VpQGludGVsLmNvbQ0KPG1haWx0bzpkYXZp ZC53ZWlAaW50ZWwuY29tJTBiPj4gPG1haWx0bzpkYXZpZC53ZWlAaW50ZWwuY29tPj4NCj4+Pj4g U3ViamVjdDogW2VkazJdIFtQQVRDSCAwLzNdIE1kZVBrZywgTWRlTW9kdWxlUGtnLCBWbHYyVGJs dERldmljZVBrZzoNCj4+Pj4gNjQtYml0IExvb3BUaW1lcyBpbiBTMyBNRU1fUE9MTA0KPj4+Pg0K Pj4+PiBXaGlsZSB3b3JraW5nIG9uIFMzIGJvb3Qgc2NyaXB0IHJlbGF0ZWQgc3R1ZmYgaW4gT1ZN RiwgSSB3YW50ZWQgdG8gc2VlDQo+Pj4+IGlmIGluZmluaXRlIGJsb2NraW5nIHdhcyBwb3NzaWJs ZSBpbiB0aGUgdmFyaW91cyBQT0xMIG9wY29kZXMuIFdoaWxlDQo+Pj4+IGVkazIncyBpbXBsZW1l bnRhdGlvbiBvZiBJT19QT0xMLCBQQ0lfQ09ORklHX1BPTEwgYW5kDQo+Pj4+IFBDSV9DT05GSUcy X1BPTEwNCj4+Pj4gZm9sbG93cyB0aGUgUEkgc3BlYyB2b2w1IGNsb3NlbHksIGV2ZW4gaW50ZXJu YWxseSAodXNpbmcgMTAwbnMgZGVsYXkNCj4+Pj4gdW5pdHMpLCB0aGUgTUVNX1BPTEwgaW50ZXJu YWxzIGRpZmZlciAtLSB0aGV5IGFyZSBtaWNyb3NlY29uZHMgYmFzZWQuDQo+Pj4+DQo+Pj4+IFRo YXQncyBub3QgYSBwcm9ibGVtIHBlciBzZSAoaXQncyBqdXN0IGEgZGlmZmVyZW50IGludGVybmFs IG9wY29kZQ0KPj4+PiByZXByZXNlbnRhdGlvbiwgd2hpY2ggaXMgZmluZSk7IHRoZSBwcm9ibGVt IGlzIHRoYXQgdGhlIGN1cnJlbnQNCj4+Pj4gaW50ZXJuYWxzIGRvbid0IGNvbmZvcm0gdG8gdGhl IHNwZWM6IGluIDMyLWJpdCBidWlsZHMsIHRoZSBVSU5UNjQgbnVtYmVyDQo+Pj4+IG9mIDEwMG5z IHVuaXRzIHRoYXQgdGhlIGNhbGxlciBpbnRlbmRzIHRvIHdhaXQgZm9yIGlzIHNpbGVudGx5DQo+ Pj4+IHRydW5jYXRlZCwgZm9yIG5vIGdvb2QgcmVhc29uLiBUaGlzIGlzc3VlIGlzIG5vdCBoYXJk IHRvIGZpeCAod2UgY2FuDQo+Pj4+IGV2ZW4ga2VlcCB0aGUgbWljcm9zZWNvbmRzLWJhc2VkIGlu dGVybmFscyksIHNvIGxldCdzIGZpeCBpdC4NCj4+Pj4NCj4+Pj4gUmVwbzogICBodHRwczovL2dp dGh1Yi5jb20vbGVyc2VrL2VkazIvDQo+Pj4+IEJyYW5jaDogbWVtcG9sbF9sb29wdGltZXNfNjRi aXQNCj4+Pj4NCj4+Pj4gQ2M6IERhdmlkIFdlaSA8ZGF2aWQud2VpQGludGVsLmNvbSA8bWFpbHRv OmRhdmlkLndlaUBpbnRlbC5jb208bWFpbHRvOmRhdmlkLndlaUBpbnRlbC5jb23CoCUzY21haWx0 bzpkYXZpZC53ZWlAaW50ZWwuY29tPj4+DQo+Pj4+IENjOiBGZW5nIFRpYW4gPGZlbmcudGlhbkBp bnRlbC5jb20gPG1haWx0bzpmZW5nLnRpYW5AaW50ZWwuY29tPG1haWx0bzpmZW5nLnRpYW5AaW50 ZWwuY29twqAlM2NtYWlsdG86ZmVuZy50aWFuQGludGVsLmNvbT4+Pg0KPj4+PiBDYzogTGltaW5n IEdhbyA8bGltaW5nLmdhb0BpbnRlbC5jb20gPG1haWx0bzpsaW1pbmcuZ2FvQGludGVsLmNvbTxt YWlsdG86bGltaW5nLmdhb0BpbnRlbC5jb23CoCUzY21haWx0bzpsaW1pbmcuZ2FvQGludGVsLmNv bT4+Pg0KPj4+PiBDYzogTWFuZyBHdW8gPG1hbmcuZ3VvQGludGVsLmNvbSA8bWFpbHRvOm1hbmcu Z3VvQGludGVsLmNvbTxtYWlsdG86bWFuZy5ndW9AaW50ZWwuY29twqAlM2NtYWlsdG86bWFuZy5n dW9AaW50ZWwuY29tPj4+DQo+Pj4+IENjOiBNaWNoYWVsIEQgS2lubmV5IDxtaWNoYWVsLmQua2lu bmV5QGludGVsLmNvbSA8bWFpbHRvOm1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPG1haWx0bzpt aWNoYWVsLmQua2lubmV5QGludGVsLmNvbcKgJTNjbWFpbHRvOm1pY2hhZWwuZC5raW5uZXlAaW50 ZWwuY29tPj4+DQo+Pj4+IENjOiBTdGFyIFplbmcgPHN0YXIuemVuZ0BpbnRlbC5jb20gPG1haWx0 bzpzdGFyLnplbmdAaW50ZWwuY29tPG1haWx0bzpzdGFyLnplbmdAaW50ZWwuY29twqAlM2NtYWls dG86c3Rhci56ZW5nQGludGVsLmNvbT4+Pg0KPj4+Pg0KPj4+PiBUaGFua3MNCj4+Pj4gTGFzemxv DQo+Pj4+DQo+Pj4+IExhc3psbyBFcnNlayAoMyk6DQo+Pj4+ICAgTWRlUGtnLCBNZGVNb2R1bGVQ a2c6IFMzQm9vdFNjcmlwdFNhdmVNZW1Qb2xsKCk6IGFjY2VwdCA2NC1iaXQNCj4+Pj4gICAgIExv b3BUaW1lcw0KPj4+PiAgIE1kZU1vZHVsZVBrZzogUzNTYXZlU3RhdGVEeGUsIFNtbVMzU2F2ZVN0 YXRlOiBzYXZlIDY0LWJpdA0KPj4+PiBMb29wVGltZXMNCj4+Pj4gICBWbHYyVGJsdERldmljZVBr Zy9Cb290U2NyaXB0U2F2ZUR4ZTogc2F2ZSA2NC1iaXQgTG9vcFRpbWVzDQo+Pj4+DQo+Pj4+ICBN ZGVNb2R1bGVQa2cvTGlicmFyeS9QaUR4ZVMzQm9vdFNjcmlwdExpYi9Cb290U2NyaXB0U2F2ZS5j ICB8IDIgKy0NCj4+Pj4gIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvQWNwaS9TM1NhdmVTdGF0ZUR4 ZS9TM1NhdmVTdGF0ZS5jICAgIHwgOA0KPj4+PiArKysrLS0tLQ0KPj4+PiAgTWRlTW9kdWxlUGtn L1VuaXZlcnNhbC9BY3BpL1NtbVMzU2F2ZVN0YXRlL1NtbVMzU2F2ZVN0YXRlLmMgfCA4DQo+Pj4+ ICsrKystLS0tDQo+Pj4+ICBNZGVQa2cvSW5jbHVkZS9MaWJyYXJ5L1MzQm9vdFNjcmlwdExpYi5o ICAgICAgICAgICAgICAgICAgICB8IDIgKy0NCj4+Pj4gIE1kZVBrZy9MaWJyYXJ5L0Jhc2VTM0Jv b3RTY3JpcHRMaWJOdWxsL0Jvb3RTY3JpcHRMaWIuYyAgICAgIHwgMiArLQ0KPj4+PiAgVmx2MlRi bHREZXZpY2VQa2cvQm9vdFNjcmlwdFNhdmVEeGUvU2NyaXB0U2F2ZS5jICAgICAgICAgICAgfCA0 ICsrLS0NCj4+Pj4gIDYgZmlsZXMgY2hhbmdlZCwgMTMgaW5zZXJ0aW9ucygrKSwgMTMgZGVsZXRp b25zKC0pDQo+Pj4+DQo+Pj4+IC0tDQo+Pj4+IDIuOS4yDQo+Pj4+DQo+Pj4+IF9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+Pj4+IGVkazItZGV2ZWwgbWFp bGluZyBsaXN0DQo+Pj4+IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnPG1haWx0bzplZGsyLWRldmVs QGxpc3RzLjAxLm9yZz4gPG1haWx0bzplZGsyLWRldmVsQGxpc3RzLjAxLm9yZz4NCj4+Pj4gaHR0 cHM6Ly9saXN0cy4wMS5vcmcvbWFpbG1hbi9saXN0aW5mby9lZGsyLWRldmVsDQo+Pg0KPg0K