From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=134.134.136.65; helo=mga03.intel.com; envelope-from=eric.dong@intel.com; receiver=edk2-devel@lists.01.org Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) (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 6CA93203369D3 for ; Sun, 8 Jul 2018 23:13:17 -0700 (PDT) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 08 Jul 2018 23:13:16 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.51,329,1526367600"; d="scan'208";a="52961124" Received: from fmsmsx107.amr.corp.intel.com ([10.18.124.205]) by fmsmga007.fm.intel.com with ESMTP; 08 Jul 2018 23:13:16 -0700 Received: from fmsmsx116.amr.corp.intel.com (10.18.116.20) by fmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP Server (TLS) id 14.3.319.2; Sun, 8 Jul 2018 23:13:16 -0700 Received: from shsmsx152.ccr.corp.intel.com (10.239.6.52) by fmsmsx116.amr.corp.intel.com (10.18.116.20) with Microsoft SMTP Server (TLS) id 14.3.319.2; Sun, 8 Jul 2018 23:13:16 -0700 Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.57]) by SHSMSX152.ccr.corp.intel.com ([169.254.6.173]) with mapi id 14.03.0319.002; Mon, 9 Jul 2018 14:13:10 +0800 From: "Dong, Eric" To: "Dong, Eric" , Laszlo Ersek , "Fan Jeff" , "edk2-devel@lists.01.org" CC: "Ni, Ruiyu" Thread-Topic: =?utf-8?B?W2VkazJdIOetlOWkjTogW1BhdGNoXSBVZWZpQ3B1UGtnL01wSW5pdExpYjog?= =?utf-8?Q?Optimize_get_processor_number_performance.?= Thread-Index: AQHUE3rmDFOShawv6UKSeDwsvBHbsKSAFEKAgAYl3lCAADZdYA== Date: Mon, 9 Jul 2018 06:13:09 +0000 Message-ID: References: <20180704083736.9272-1-eric.dong@intel.com> <58bddde7-da02-1a73-f738-70c58c10b60a@redhat.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: =?UTF-8?B?UmU6IOetlOWkjTogW1BhdGNoXSBVZWZpQ3B1UGtnL01wSW5pdExpYjogT3B0aW1pemUgZ2V0IHByb2Nlc3NvciBudW1iZXIgcGVyZm9ybWFuY2Uu?= X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Jul 2018 06:13:17 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgTGFzemxvLA0KDQpJIGhhdmUgY3JlYXRlZCBodHRwczovL2J1Z3ppbGxhLnRpYW5vY29yZS5v cmcvc2hvd19idWcuY2dpP2lkPTEwMDIgdG8gcmVxdWVzdCB0byBhZGQgQXNtUmVhZEVzcCgpIC8g QXNtUmVhZFJzcCgpLg0KDQpUaGFua3MsDQpFcmljDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdl LS0tLS0NCj4gRnJvbTogZWRrMi1kZXZlbCBbbWFpbHRvOmVkazItZGV2ZWwtYm91bmNlc0BsaXN0 cy4wMS5vcmddIE9uIEJlaGFsZiBPZg0KPiBEb25nLCBFcmljDQo+IFNlbnQ6IE1vbmRheSwgSnVs eSA5LCAyMDE4IDExOjA0IEFNDQo+IFRvOiBMYXN6bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQuY29t PjsgRmFuIEplZmYgPHZhbmplZmZfOTE5QGhvdG1haWwuY29tPjsNCj4gZWRrMi1kZXZlbEBsaXN0 cy4wMS5vcmcNCj4gQ2M6IE5pLCBSdWl5dSA8cnVpeXUubmlAaW50ZWwuY29tPg0KPiBTdWJqZWN0 OiBSZTogW2VkazJdIOetlOWkjTogW1BhdGNoXSBVZWZpQ3B1UGtnL01wSW5pdExpYjogT3B0aW1p emUgZ2V0DQo+IHByb2Nlc3NvciBudW1iZXIgcGVyZm9ybWFuY2UuDQo+IA0KPiBIaSBMYXN6bG8s DQo+IA0KPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gRnJvbTogTGFzemxvIEVy c2VrIFttYWlsdG86bGVyc2VrQHJlZGhhdC5jb21dDQo+ID4gU2VudDogVGh1cnNkYXksIEp1bHkg NSwgMjAxOCA5OjA0IFBNDQo+ID4gVG86IEZhbiBKZWZmIDx2YW5qZWZmXzkxOUBob3RtYWlsLmNv bT47IERvbmcsIEVyaWMNCj4gPiA8ZXJpYy5kb25nQGludGVsLmNvbT47IGVkazItZGV2ZWxAbGlz dHMuMDEub3JnDQo+ID4gQ2M6IE5pLCBSdWl5dSA8cnVpeXUubmlAaW50ZWwuY29tPg0KPiA+IFN1 YmplY3Q6IFJlOiBbZWRrMl0g562U5aSNOiBbUGF0Y2hdIFVlZmlDcHVQa2cvTXBJbml0TGliOiBP cHRpbWl6ZSBnZXQNCj4gPiBwcm9jZXNzb3IgbnVtYmVyIHBlcmZvcm1hbmNlLg0KPiA+DQo+ID4g SGkgSmVmZiwNCj4gPg0KPiA+IE9uIDA3LzA0LzE4IDExOjM5LCBGYW4gSmVmZiB3cm90ZToNCj4g PiA+IEVyaWMsDQo+ID4gPg0KPiA+ID4gQ3VycmVudCBpbXBsZW1lbnRhdGlvbiBkb2VzIG5vdCBj YWxsIEdldEFwaWNpZCgpIG1hbnkgdGltZXMsICBQbGVhc2UNCj4gPiBjb3JyZWN0IHlvdSBjb21t aXQgbWVzc2FnZS4gWW91ciBmaXggaXMgdG8gaW1wcm92ZSB0aGUgcGVyZm9ybWFuY2UNCj4gPiBh Z2FpbnN0IHRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uLg0KPiA+DQo+ID4gSSB0aGluayB0aGUg b3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZG9lcyBtYWtlIHNlbnNlLiBXaXRob3V0IHRoZQ0KPiA+ IHBhdGNoLA0KPiA+IEdldFByb2Nlc3Nvck51bWJlcigpIG1heSBjYWxsIEdldEFwaWNJZCgpIHVw IHRvIFRvdGFsUHJvY2Vzc29yTnVtYmVyDQo+ID4gdGltZXMuIFdpdGggdGhlIHBhdGNoLCBldmVu IGlmIHdlIHNraXAgdGhlIHN0YWNrIHJhbmdlIHNlYXJjaCwNCj4gPiBHZXRQcm9jZXNzb3JOdW1i ZXIoKSB3aWxsIGNhbGwgR2V0QXBpY0lkKCkganVzdCBvbmNlLg0KPiA+DQo+ID4gWy4uLl0NCj4g Pg0KPiA+IFNvbWUgbW9yZSBxdWVzdGlvbnMgYmVsb3csIGZvciB0aGUgcGF0Y2g6DQo+ID4NCj4g PiA+IOWPkeS7tuS6ujogRXJpYyBEb25nIDxlcmljLmRvbmdAaW50ZWwuY29tPg0KPiA+ID4g5Y+R 6YCB5pe26Ze0OiBXZWRuZXNkYXksIEp1bHkgNCwgMjAxOCA0OjM3OjM2IFBNDQo+ID4gPiDmlLbk u7bkuro6IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnDQo+ID4gPiDmioTpgIE6IFJ1aXl1IE5pOyBK ZWZmIEZhbjsgTGFzemxvIEVyc2VrDQo+ID4gPiDkuLvpopg6IFtQYXRjaF0gVWVmaUNwdVBrZy9N cEluaXRMaWI6IE9wdGltaXplIGdldCBwcm9jZXNzb3IgbnVtYmVyDQo+ID4gcGVyZm9ybWFuY2Uu DQo+ID4gPg0KPiA+ID4gQ3VycmVudCBmdW5jdGlvbiBoYXMgbG93IHBlcmZvcm1hbmNlIGJlY2F1 c2UgaXQgY2FsbHMgR2V0QXBpY0lkIG1hbnkNCj4gPiA+IHRpbWVzLg0KPiA+ID4NCj4gPiA+IE5l dyBsb2dpYyBmaXJzdCB0cnkgdG8gYmFzZSBvbiB0aGUgc3RhY2sgcmFuZ2UgdXNlZCBieSBBUCB0 byBmaW5kDQo+ID4gPiB0aGUgcHJvY2Vzc29yIG51bWJlci4gSWYgdGhpcyBzb2x1dGlvbiBmYWls ZWQsIHRoZW4gY2FsbCBHZXRBcGljSWQNCj4gPiA+IG9uY2UgYW5kIGJhc2Ugb24gdGhpcyB2YWx1 ZSB0byBzZWFyY2ggdGhlIHByb2Nlc3Nvci4NCj4gPiA+DQo+ID4gPiBDYzogUnVpeXUgTmkgPHJ1 aXl1Lm5pQGludGVsLmNvbT4NCj4gPiA+IENjOiBKZWZmIEZhbiA8dmFuamVmZl85MTlAaG90bWFp bC5jb20+DQo+ID4gPiBDYzogTGFzemxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbT4NCj4gPiA+ IENvbnRyaWJ1dGVkLXVuZGVyOiBUaWFub0NvcmUgQ29udHJpYnV0aW9uIEFncmVlbWVudCAxLjEN Cj4gPiA+IFNpZ25lZC1vZmYtYnk6IEVyaWMgRG9uZyA8ZXJpYy5kb25nQGludGVsLmNvbT4NCj4g PiA+IC0tLQ0KPiA+ID4gIFVlZmlDcHVQa2cvTGlicmFyeS9NcEluaXRMaWIvTXBMaWIuYyB8IDI1 ICsrKysrKysrKysrKysrKysrKysrKystLS0NCj4gPiA+ICAxIGZpbGUgY2hhbmdlZCwgMjIgaW5z ZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkNCj4gPiA+DQo+ID4gPiBkaWZmIC0tZ2l0IGEvVWVm aUNwdVBrZy9MaWJyYXJ5L01wSW5pdExpYi9NcExpYi5jDQo+ID4gPiBiL1VlZmlDcHVQa2cvTGli cmFyeS9NcEluaXRMaWIvTXBMaWIuYw0KPiA+ID4gaW5kZXggZWIyNzY1OTEwYy4uYWJkNjViZWUx YSAxMDA2NDQNCj4gPiA+IC0tLSBhL1VlZmlDcHVQa2cvTGlicmFyeS9NcEluaXRMaWIvTXBMaWIu Yw0KPiA+ID4gKysrIGIvVWVmaUNwdVBrZy9MaWJyYXJ5L01wSW5pdExpYi9NcExpYi5jDQo+ID4g PiBAQCAtNDE4LDcgKzQxOCw4IEBAIEFwSW5pdGlhbGl6ZVN5bmMgKCAgfQ0KPiA+ID4NCj4gPiA+ ICAvKioNCj4gPiA+IC0gIEZpbmQgdGhlIGN1cnJlbnQgUHJvY2Vzc29yIG51bWJlciBieSBBUElD IElELg0KPiA+ID4gKyAgRmlyc3QgdHJ5IHRvIGZpbmQgdGhlIGN1cnJlbnQgUHJvY2Vzc29yIG51 bWJlciBieSBzdGFjayBhZGRyZXNzLA0KPiA+ID4gKyBpZiBpdCBmYWlsZWQsIHRoZW4gYmFzZSBv biBBUElDIElELg0KPiA+ID4NCj4gPiA+ICAgIEBwYXJhbVtpbl0gIENwdU1wRGF0YSAgICAgICAg IFBvaW50ZXIgdG8gUEVJIENQVSBNUCBEYXRhDQo+ID4gPiAgICBAcGFyYW1bb3V0XSBQcm9jZXNz b3JOdW1iZXIgICBSZXR1cm4gdGhlIHBvY2Vzc29yIG51bWJlciBmb3VuZA0KPiA+ID4gQEAgLTQz NSwxNiArNDM2LDM0IEBAIEdldFByb2Nlc3Nvck51bWJlciAoDQo+ID4gPiAgICBVSU5UTiAgICAg ICAgICAgICAgICAgICBUb3RhbFByb2Nlc3Nvck51bWJlcjsNCj4gPiA+ICAgIFVJTlROICAgICAg ICAgICAgICAgICAgIEluZGV4Ow0KPiA+ID4gICAgQ1BVX0lORk9fSU5fSE9CICAgICAgICAgKkNw dUluZm9JbkhvYjsNCj4gPiA+ICsgIFVJTlQzMiAgICAgICAgICAgICAgICAgIEN1cnJlbnRBcGlj SWQ7DQo+ID4gPg0KPiA+ID4gKyAgVG90YWxQcm9jZXNzb3JOdW1iZXIgPSBDcHVNcERhdGEtPkNw dUNvdW50Ow0KPiA+ID4gICAgQ3B1SW5mb0luSG9iID0gKENQVV9JTkZPX0lOX0hPQiAqKSAoVUlO VE4pIENwdU1wRGF0YS0NCj4gPiA+Q3B1SW5mb0luSG9iOw0KPiA+ID4NCj4gPiA+IC0gIFRvdGFs UHJvY2Vzc29yTnVtYmVyID0gQ3B1TXBEYXRhLT5DcHVDb3VudDsNCj4gPiA+ICsgIC8vDQo+ID4g PiArICAvLyBGaXJzdCB0cnkgdG8gYmFzZSBvbiBjdXJyZW50IHN0YWNrIGFkZHJlc3MgdG8gZmlu ZCB0aGUgQVAgaW5kZXguDQo+ID4gPiArICAvLyAmVG90YWxQcm9jZXNzb3JOdW1iZXIgdmFsdWUg bG9jYXRlZCBpbiB0aGUgc3RhY2sgcmFuZ2UuDQo+ID4gPiArICAvLw0KPiA+ID4gICAgZm9yIChJ bmRleCA9IDA7IEluZGV4IDwgVG90YWxQcm9jZXNzb3JOdW1iZXI7IEluZGV4ICsrKSB7DQo+ID4g PiAtICAgIGlmIChDcHVJbmZvSW5Ib2JbSW5kZXhdLkFwaWNJZCA9PSBHZXRBcGljSWQgKCkpIHsN Cj4gPiA+ICsgICAgaWYgKChDcHVJbmZvSW5Ib2JbSW5kZXhdLkFwVG9wT2ZTdGFjayA+IChVSU5U TikNCj4gPiAoJlRvdGFsUHJvY2Vzc29yTnVtYmVyKSkgJiYNCj4gPiA+ICsgICAgICAgIChDcHVJ bmZvSW5Ib2JbSW5kZXhdLkFwVG9wT2ZTdGFjayAtDQo+ID4gPiArIENwdU1wRGF0YS0+Q3B1QXBT dGFja1NpemUgPCAoVUlOVE4pICgmVG90YWxQcm9jZXNzb3JOdW1iZXIpKSkgew0KPiA+ID4gICAg ICAgICpQcm9jZXNzb3JOdW1iZXIgPSBJbmRleDsNCj4gPiA+ICAgICAgICByZXR1cm4gRUZJX1NV Q0NFU1M7DQo+ID4gPiAgICAgIH0NCj4gPiA+ICAgIH0NCj4gPg0KPiA+ICgxKSBJZiBJIHVuZGVy c3RhbmQgY29ycmVjdGx5LCBBcFRvcE9mU3RhY2sgaXMgdGhlIGV4Y2x1c2l2ZSBlbmQNCj4gPiAo aGlnaGVzdA0KPiA+IGFkZHJlc3MpIG9mIHRoZSBBUCBzdGFjaywgc28gYW55IGxvY2FsIHZhcmlh YmxlIGlzIHN1cHBvc2VkIHRvIHN0YXJ0DQo+ID4gc3RyaWN0bHkgYmVsb3cgaXQgKHRoZSBzdGFj ayBncm93cyBkb3duKS4gVGhpcyBzZWVtcyB0byBqdXN0aWZ5IHRoZQ0KPiA+ICI+IiByZWxhdGlv bmFsIG9wZXJhdG9yLCBpbiB0aGUgZmlyc3Qgc3ViY29uZGl0aW9uOyBPSy4NCj4gPg0KPiA+IEhv d2V2ZXIsIHdoYXQgZ3VhcmFudGVlcyB0aGF0IHRoZSBUb3RhbFByb2Nlc3Nvck51bWJlciBsb2Nh bCB2YXJpYWJsZQ0KPiA+IGlzIG5vdCBsb2NhdGVkIGV4YWN0bHkgYXQgdGhlIChpbmNsdXNpdmUp IGJhc2Ugb2YgdGhlIEFQIHN0YWNrPyBJT1csIHdoeSBpcyAiPCINCj4gPiBjb3JyZWN0LCBpbiB0 aGUgc2Vjb25kIHN1YmNvbmRpdGlvbiwgcmF0aGVyIHRoYW4gIjw9Ij8NCj4gPg0KPiANCj4gW0Vy aWNdICBUb3RhbFByb2Nlc3Nvck51bWJlciBpcyB0aGUgZmlyc3QgbG9jYWwgdmFyaWFibGUgaW4g dGhpcyBmdW5jdGlvbiwgYWxzbw0KPiBleGlzdCBvdGhlciBsb2NhbCB2YXJpYWJsZXMgaW4gdGhp cyBmdW5jdGlvbiwgc28gSSBqdXN0IHVzZSAiPCIgaGVyZS4NCj4gDQo+ID4NCj4gPiAoMikgSSdt IGdlbmVyYWxseSB1bmhhcHB5IGFib3V0IHRha2luZyB0aGUgYWRkcmVzcyBvZiBsb2NhbCB2YXJp YWJsZXMsDQo+ID4gaW4gb3JkZXIgdG8gZGV0ZXJtaW5lIHN0YWNrIGxvY2F0aW9uIGluIEMgbGFu Z3VhZ2UuIEluc3RlYWQsIEkgdGhpbmsNCj4gPiB3ZSBzaG91bGQgaGF2ZQ0KPiA+IEFzbVJlYWRF c3AoKSAvIEFzbVJlYWRSc3AoKSBmdW5jdGlvbnMgLS0gd2UgdXNlZCB0byBoYXZlDQo+ID4gQXNt UmVhZFNwKCkgZm9yIEl0YW5pdW0uIFBsZWFzZSBzZWUgdGhlIGZvbGxvd2luZyBzdWItdGhyZWFk LCB3aGVyZQ0KPiA+IEpvcmRhbiBvcmlnaW5hbGx5IHN1Z2dlc3RlZCBBc21SZWFkRXNwKCkgLyBB c21SZWFkUnNwKCk6DQo+ID4NCj4gPiBodHRwOi8vbWlkLm1haWwtDQo+ID4gYXJjaGl2ZS5jb20v MTUxMDU2NDEwODY3LjE1ODA5LjY1OTcwMTg5NDIyNjY4NzU0M0BqbGp1c3Rlbi1za2wNCj4gPg0K PiA+IGh0dHA6Ly9taWQubWFpbC0NCj4gPiBhcmNoaXZlLmNvbS8xNTEwNTk2MjcyNTguMjA2MTQu MTY1MDU3NjYxOTE0MTUwMDU4MDJAamxqdXN0ZW4tc2tsDQo+ID4NCj4gPiBTaG91bGQgSSBmaWxl IGEgRmVhdHVyZSBSZXF1ZXN0IGZvciBCYXNlTGliLCBhYm91dCBhZGRpbmcgQXNtUmVhZEVzcCgp DQo+ID4gLyBBc21SZWFkUnNwKCk/DQo+ID4NCj4gPiBJJ20gbm90IHN1Z2dlc3RpbmcgdGhhdCB3 ZSBibG9jayB0aGlzIHBhdGNoIHdpdGggdGhhdCBmZWF0dXJlIHJlcXVlc3QsDQo+ID4gYnV0IHBl cmhhcHMgd2Ugc2hvdWxkIGJsb2NrIHRoZSAqbmV4dCogcGF0Y2guDQo+ID4NCj4gDQo+IFtFcmlj XSBZZXMsIEkgdHJpZXMgdG8gdXNlIHRoZSBmdW5jdGlvbiB5b3Ugc3VnZ2VzdGVkIGJ1dCB3ZSBk b24ndCBmaW5kIGl0LCBzbyBJDQo+IHVzZSBsb2NhbCB2YXJpYWJsZSBoZXJlLiAgSSBhZ3JlZSB3 aXRoIHlvdXIgc3VnZ2VzdCB0aGF0IHdlIHNob3VsZCBhZGQgdGhpcyBBUEkNCj4gZm9yIGxhdGVy IHVzYWdlLiBJIHdpbGwgZm9sbG93IHVwIHRvIGFkZCB0aGlzIG5ldyBBUEkgYW5kIHVwZGF0ZSB0 aGlzIHBhdGNoIHRvIFYyLg0KPiANCj4gPg0KPiA+IEZvciB0aGUgcHJlc2VudCBwYXRjaCwgSSds bCBmb2xsb3cgdXAgd2l0aCB0ZXN0IHJlc3VsdHMgc2VwYXJhdGVseS4NCj4gPg0KPiA+IFRoYW5r cywNCj4gPiBMYXN6bG8NCj4gPg0KPiA+ID4gKw0KPiA+ID4gKyAgLy8NCj4gPiA+ICsgIC8vIElm IGNhbid0IGJhc2Ugb24gc3RhY2sgdG8gZmluZCB0aGUgQVAgaW5kZXgsIHVzZSB0aGUgQVBJQyBJ RC4NCj4gPiA+ICsgIC8vDQo+ID4gPiArICBDdXJyZW50QXBpY0lkID0gR2V0QXBpY0lkICgpOw0K PiA+ID4gKyAgZm9yIChJbmRleCA9IDA7IEluZGV4IDwgVG90YWxQcm9jZXNzb3JOdW1iZXI7IElu ZGV4ICsrKSB7DQo+ID4gPiArICAgIGlmIChDcHVJbmZvSW5Ib2JbSW5kZXhdLkFwaWNJZCA9PSBD dXJyZW50QXBpY0lkKSB7DQo+ID4gPiArICAgICAgKlByb2Nlc3Nvck51bWJlciA9IEluZGV4Ow0K PiA+ID4gKyAgICAgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4gPiA+ICsgICAgfQ0KPiA+ID4gKyAg fQ0KPiA+ID4gKw0KPiA+ID4gICAgcmV0dXJuIEVGSV9OT1RfRk9VTkQ7DQo+ID4gPiAgfQ0KPiA+ ID4NCj4gPiA+IC0tDQo+ID4gPiAyLjE1LjAud2luZG93cy4xDQo+ID4gPg0KPiA+ID4gX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCj4gPiA+IGVkazItZGV2 ZWwgbWFpbGluZyBsaXN0DQo+ID4gPiBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZw0KPiA+ID4gaHR0 cHM6Ly9saXN0cy4wMS5vcmcvbWFpbG1hbi9saXN0aW5mby9lZGsyLWRldmVsDQo+ID4gPg0KPiAN Cj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCj4gZWRr Mi1kZXZlbCBtYWlsaW5nIGxpc3QNCj4gZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmcNCj4gaHR0cHM6 Ly9saXN0cy4wMS5vcmcvbWFpbG1hbi9saXN0aW5mby9lZGsyLWRldmVsDQo=