From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 192.55.52.151, mailfrom: michael.d.kinney@intel.com) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by groups.io with SMTP; Mon, 22 Jul 2019 14:06:49 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 22 Jul 2019 14:06:48 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,296,1559545200"; d="scan'208";a="196880062" Received: from orsmsx103.amr.corp.intel.com ([10.22.225.130]) by fmsmga002.fm.intel.com with ESMTP; 22 Jul 2019 14:06:48 -0700 Received: from orsmsx156.amr.corp.intel.com (10.22.240.22) by ORSMSX103.amr.corp.intel.com (10.22.225.130) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 22 Jul 2019 14:06:47 -0700 Received: from orsmsx113.amr.corp.intel.com ([169.254.9.177]) by ORSMSX156.amr.corp.intel.com ([169.254.8.199]) with mapi id 14.03.0439.000; Mon, 22 Jul 2019 14:06:47 -0700 From: "Michael D Kinney" To: "devel@edk2.groups.io" , "lersek@redhat.com" , "Gao, Zhichao" , "Kinney, Michael D" CC: Bret Barkelew , "Wang, Jian J" , "Wu, Hao A" , "Ni, Ray" , "Zeng, Star" , "Gao, Liming" , Sean Brogan , "Michael Turner" Subject: Re: [edk2-devel] [PATCH 2/5] MdeModulePkg/SecurityLockAuditDebugLib: Add lib instance Thread-Topic: [edk2-devel] [PATCH 2/5] MdeModulePkg/SecurityLockAuditDebugLib: Add lib instance Thread-Index: AQHVQElYMpiWTtHiw02G1cISLToGFqbXjlsAgAADIID//5BKwA== Date: Mon, 22 Jul 2019 21:06:46 +0000 Message-ID: References: <20190722040204.33108-1-zhichao.gao@intel.com> <20190722040204.33108-3-zhichao.gao@intel.com> <13dd9cad-5328-c219-4222-10f90d30593c@redhat.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.0.600.7 dlp-reaction: no-action x-originating-ip: [10.22.254.139] MIME-Version: 1.0 Return-Path: michael.d.kinney@intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 TGFzemxvLA0KDQpJIGFncmVlIHRoZSBsaWIgaW5zdGFuY2Ugc2hvdWxkIHVzZSB0aGUgbGliIGNs YXNzIG5hbWUuDQpUaGlzIG9uZSBzaG91bGQgYmUgU2VjdXJpdHlMb2NrQXVkaXRMaWJEZWJ1Zy4N Cg0KTWlrZQ0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IGRldmVsQGVk azIuZ3JvdXBzLmlvIFttYWlsdG86ZGV2ZWxAZWRrMi5ncm91cHMuaW9dDQo+IE9uIEJlaGFsZiBP ZiBMYXN6bG8gRXJzZWsNCj4gU2VudDogTW9uZGF5LCBKdWx5IDIyLCAyMDE5IDE6NDUgUE0NCj4g VG86IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBHYW8sIFpoaWNoYW8NCj4gPHpoaWNoYW8uZ2FvQGlu dGVsLmNvbT4NCj4gQ2M6IEJyZXQgQmFya2VsZXcgPEJyZXQuQmFya2VsZXdAbWljcm9zb2Z0LmNv bT47IFdhbmcsDQo+IEppYW4gSiA8amlhbi5qLndhbmdAaW50ZWwuY29tPjsgV3UsIEhhbyBBDQo+ IDxoYW8uYS53dUBpbnRlbC5jb20+OyBOaSwgUmF5IDxyYXkubmlAaW50ZWwuY29tPjsgWmVuZywN Cj4gU3RhciA8c3Rhci56ZW5nQGludGVsLmNvbT47IEdhbywgTGltaW5nDQo+IDxsaW1pbmcuZ2Fv QGludGVsLmNvbT47IFNlYW4gQnJvZ2FuDQo+IDxzZWFuLmJyb2dhbkBtaWNyb3NvZnQuY29tPjsg TWljaGFlbCBUdXJuZXINCj4gPE1pY2hhZWwuVHVybmVyQG1pY3Jvc29mdC5jb20+DQo+IFN1Ympl Y3Q6IFJlOiBbZWRrMi1kZXZlbF0gW1BBVENIIDIvNV0NCj4gTWRlTW9kdWxlUGtnL1NlY3VyaXR5 TG9ja0F1ZGl0RGVidWdMaWI6IEFkZCBsaWIgaW5zdGFuY2UNCj4gDQo+IChhcG9sb2dpZXMgZm9y IHRoZSBzZXBhcmF0ZSBtZXNzYWdlLCBmb3IgdGhpcyBwYXRjaDopDQo+IA0KPiBPbiAwNy8yMi8x OSAyMjozNCwgTGFzemxvIEVyc2VrIHdyb3RlOg0KPiA+IE9uIDA3LzIyLzE5IDA2OjAyLCBHYW8s IFpoaWNoYW8gd3JvdGU6DQo+ID4+IEZyb206IEJyZXQgQmFya2VsZXcgPEJyZXQuQmFya2VsZXdA bWljcm9zb2Z0LmNvbT4NCj4gPj4NCj4gPj4gUkVGOg0KPiBodHRwczovL2J1Z3ppbGxhLnRpYW5v Y29yZS5vcmcvc2hvd19idWcuY2dpP2lkPTIwMDYNCj4gPj4NCj4gPj4gQWRkIHRoZSBpbnN0YW5j ZSBvZiBTZWN1cml0eUxvY2tBdWRpdExpYi4gVGhpcw0KPiBpbnN0YW5jZSBoYXMgb25lDQo+ID4+ IGludGVyZmFjZSBTZWN1cml0eUxvY2tSZXBvcnRFdmVudCB0byBsb2cgaGFyZHdhcmUgYW5kDQo+ IHNvZnR3YXJlDQo+ID4+IHNlY3VyaXR5IGxvY2tzIGluZm8uDQo+ID4+DQo+ID4+IENjOiBKaWFu IEogV2FuZyA8amlhbi5qLndhbmdAaW50ZWwuY29tPg0KPiA+PiBDYzogSGFvIEEgV3UgPGhhby5h Lnd1QGludGVsLmNvbT4NCj4gPj4gQ2M6IFJheSBOaSA8cmF5Lm5pQGludGVsLmNvbT4NCj4gPj4g Q2M6IFN0YXIgWmVuZyA8c3Rhci56ZW5nQGludGVsLmNvbT4NCj4gPj4gQ2M6IExpbWluZyBnYW8g PGxpbWluZy5nYW9AaW50ZWwuY29tPg0KPiA+PiBDYzogU2VhbiBCcm9nYW4gPHNlYW4uYnJvZ2Fu QG1pY3Jvc29mdC5jb20+DQo+ID4+IENjOiBNaWNoYWVsIFR1cm5lciA8TWljaGFlbC5UdXJuZXJA bWljcm9zb2Z0LmNvbT4NCj4gPj4gQ2M6IEJyZXQgQmFya2VsZXcgPEJyZXQuQmFya2VsZXdAbWlj cm9zb2Z0LmNvbT4NCj4gPj4gU2lnbmVkLW9mZi1ieTogWmhpY2hhbyBHYW8gPHpoaWNoYW8uZ2Fv QGludGVsLmNvbT4NCj4gPj4gLS0tDQo+ID4+ICAuLi4vU2VjdXJpdHlMb2NrQXVkaXREZWJ1Z0xp Yi5jICAgICAgICAgICAgICAgfCA1Mw0KPiArKysrKysrKysrKysrKysrKysrDQo+ID4+ICAuLi4v U2VjdXJpdHlMb2NrQXVkaXREZWJ1Z0xpYi5pbmYgICAgICAgICAgICAgfCAyOQ0KPiArKysrKysr KysrDQo+ID4+ICAyIGZpbGVzIGNoYW5nZWQsIDgyIGluc2VydGlvbnMoKykNCj4gPj4gIGNyZWF0 ZSBtb2RlIDEwMDY0NA0KPiA+Pg0KPiBNZGVNb2R1bGVQa2cvTGlicmFyeS9TZWN1cml0eUxvY2tB dWRpdERlYnVnTGliL1NlY3VyaXR5TG8NCj4gY2tBdWRpdERlYnVnDQo+ID4+IExpYi5jICBjcmVh dGUgbW9kZSAxMDA2NDQNCj4gPj4NCj4gTWRlTW9kdWxlUGtnL0xpYnJhcnkvU2VjdXJpdHlMb2Nr QXVkaXREZWJ1Z0xpYi9TZWN1cml0eUxvDQo+IGNrQXVkaXREZWJ1Zw0KPiA+PiBMaWIuaW5mDQo+ IA0KPiBUaGUgZWRrMiBub21lbmNsYXR1cmUgdXN1YWxseSBwdXRzIHRoZSAiaW1wbGVtZW50YXRp b24NCj4gaGludHMiIG9mIGEgbGlicmFyeSBpbnN0YW5jZSBhZnRlciB0aGUgIkxpYiIgd29yZC4g Rm9yDQo+IGV4YW1wbGUsIGluICJTZWN1cml0eUxvY2tBdWRpdExpYk51bGwiLCB0aGUgd29yZCAi TnVsbCINCj4gY29tZXMgYWZ0ZXIgIkxpYiIgLS0gYW5kIHRoYXQncyBjb3JyZWN0LiAoRnJvbSBw YXRjaCMzLikNCj4gDQo+ICgyKSBJbiBvcmRlciB0byBzdGljayB3aXRoIHRoaXMgbmFtaW5nLCBJ J2Qgc3VnZ2VzdA0KPiByZW5hbWluZyB0aGlzIGxpYiBpbnN0YW5jZSB0bw0KPiAiU2VjdXJpdHlM b2NrQXVkaXRMaWJEZWJ1ZyIuIChOb3RlIHRoYXQgY29tbWl0IG1lc3NhZ2VzDQo+IGFuZCBzdWJq ZWN0IGxpbmVzIHNob3VsZCBiZSB1cGRhdGVkIHRvbywgbm90IGp1c3QgY29kZSwNCj4gYW5kIGZp bGUgbmFtZXMuKQ0KPiANCj4gSWYgdGhlIE1kZU1vZHVsZVBrZyBtYWludGFpbmVycyB0aGluayB0 aGUgY3VycmVudCBuYW1lIGlzDQo+IE9LLCBJIHdvbid0IGluc2lzdCBvbiB0aGUgcmVuYW1lLg0K PiANCj4gVGhhbmtzIQ0KPiBMYXN6bG8NCj4gDQo+ID4+DQo+ID4+IGRpZmYgLS1naXQNCj4gPj4N Cj4gYS9NZGVNb2R1bGVQa2cvTGlicmFyeS9TZWN1cml0eUxvY2tBdWRpdERlYnVnTGliL1NlY3Vy aXR5DQo+IExvY2tBdWRpdERlYg0KPiA+PiB1Z0xpYi5jDQo+ID4+DQo+IGIvTWRlTW9kdWxlUGtn L0xpYnJhcnkvU2VjdXJpdHlMb2NrQXVkaXREZWJ1Z0xpYi9TZWN1cml0eQ0KPiBMb2NrQXVkaXRE ZWINCj4gPj4gdWdMaWIuYw0KPiA+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiA+PiBpbmRleCAw MDAwMDAwMDAwLi5jMTg3MmJjMDIzDQo+ID4+IC0tLSAvZGV2L251bGwNCj4gPj4gKysrDQo+IGIv TWRlTW9kdWxlUGtnL0xpYnJhcnkvU2VjdXJpdHlMb2NrQXVkaXREZWJ1Z0xpYi9TZWN1cml0eQ0K PiBMb2NrQXVkaQ0KPiA+PiArKysgdERlYnVnTGliLmMNCj4gPj4gQEAgLTAsMCArMSw1MyBAQA0K PiA+PiArLyoqIEBmaWxlDQo+ID4+ICsgIFRoaXMgbGlicmFyeSBpbXBsZW1lbnRzIHRoZSBuZWNl c3NhcnkgZnVuY3Rpb25zDQo+ID4+ICsgIHRvIGxvZyBoYXJkd2FyZSBhbmQgc29mdHdhcmUgc2Vj dXJpdHkgbG9ja3MgZm9yDQo+IHBvc3QtcHJvY2Vzc2luZw0KPiA+PiArDQo+ID4+ICsgIENvcHly aWdodCAoYykgMjAxOCwgTWljcm9zb2Z0IENvcnBvcmF0aW9uDQo+ID4+ICsNCj4gPj4gKyAgU1BE WC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gPj4gKw0KPiA+PiAr KiovDQo+ID4+ICsNCj4gPj4gKyNpbmNsdWRlIDxCYXNlLmg+DQo+ID4+ICsjaW5jbHVkZSA8TGli cmFyeS9TZWN1cml0eUxvY2tBdWRpdExpYi5oPiAjaW5jbHVkZQ0KPiA+PiArPExpYnJhcnkvRGVi dWdMaWIuaD4NCj4gPj4gKw0KPiA+PiArLy8NCj4gPj4gKy8vIFVzZWQgdG8gbG9vayB1cCBsb2Nr IG5hbWUgZnJvbSBMT0NLX1RZUEUgZW51bSAvLw0KPiA+PiArQ0hBUjgqIG1Mb2NrTmFtZVtdID0g ew0KPiA+PiArICAiU09GVFdBUkVfTE9DSyIsDQo+ID4+ICsgICJIQVJEV0FSRV9MT0NLIg0KPiA+ PiArfTsNCj4gPj4gKw0KPiA+PiArDQo+ID4+ICsvKioNCj4gPj4gKyAgRnVuY3Rpb24gZm9yIHNl Y3VyaXR5IExvY2sgZXZlbnQgbG9nZ2luZyBhbmQNCj4gcmVwb3J0aW5nDQo+ID4+ICsNCj4gPj4g KyAgQHBhcmFtW2luXSBNb2R1bGUgICAgICAgICAgICAgICAgICAgR1VJRCBvZiBjYWxsaW5nDQo+ IG1vZHVsZQ0KPiA+PiArICBAcGFyYW1baW5dIEZ1bmN0aW9uICAgICAgICAgICAgICAgICBOYW1l IG9mIGNhbGxpbmcNCj4gZnVuY3Rpb24NCj4gPj4gKyAgQHBhcmFtW2luXSBMb2NrRXZlbnRUZXh0 ICAgICAgICAgICAgRGVidWcgbWVzc2FnZQ0KPiBleHBsYWluaW5nIHdoYXQgaXMgbG9ja2VkDQo+ ID4+ICsgIEBwYXJhbVtpbl0gTG9ja1R5cGUgICAgICAgICAgICAgICAgIEVudW1lcmF0ZWQgbG9j aw0KPiB0eXBlIGZvciBkaWZmZXJlbnRpYXRpb24NCj4gPj4gKw0KPiA+PiArKiovDQo+ID4+ICtW T0lEDQo+ID4+ICtFRklBUEkNCj4gPj4gK1NlY3VyaXR5TG9ja1JlcG9ydEV2ZW50ICgNCj4gPj4g KyAgSU4gR1VJRCAgICAgICAgICAgKk1vZHVsZSwNCj4gPj4gKyAgSU4gQ09OU1QgQ0hBUjggICAg KkZ1bmN0aW9uLA0KPiA+PiArICBJTiBDT05TVCBDSEFSOCAgICAqTG9ja0V2ZW50VGV4dCwNCj4g Pj4gKyAgSU4gTE9DS19UWVBFICAgICAgTG9ja1R5cGUNCj4gPj4gKyAgKQ0KPiA+PiArew0KPiA+ PiArICBVSU5UTiBMb2NrVHlwZUluZGV4Ow0KPiA+PiArICBVSU5UTiBMb2NrTmFtZUNvdW50Ow0K PiA+PiArDQo+ID4+ICsgIExvY2tUeXBlSW5kZXggPSAoVUlOVE4pTG9ja1R5cGU7DQo+ID4+ICsg IExvY2tOYW1lQ291bnQgPSBzaXplb2YgKG1Mb2NrTmFtZSkgLyBzaXplb2YNCj4gKG1Mb2NrTmFt ZVswXSk7DQo+ID4+ICsNCj4gPj4gKyAgaWYgKExvY2tUeXBlSW5kZXggPCBMb2NrTmFtZUNvdW50 KSB7DQo+ID4+ICsgICAgREVCVUcgKChERUJVR19FUlJPUiwgIlNlY3VyaXR5TG9jazo6TG9ja1R5 cGU6ICVhLA0KPiBNb2R1bGU6ICVnLA0KPiA+PiArRnVuY3Rpb246ICVhLCBPdXRwdXQ6ICVhXG4i LA0KPiBtTG9ja05hbWVbTG9ja1R5cGVJbmRleF0sIE1vZHVsZSwNCj4gPj4gK0Z1bmN0aW9uLCBM b2NrRXZlbnRUZXh0KSk7DQo+ID4+ICsgIH0gZWxzZSB7DQo+ID4+ICsgICAgREVCVUcgKChERUJV R19FUlJPUiwgIlNlY3VyaXR5TG9jazo6TG9ja1R5cGU6ICVkLA0KPiBNb2R1bGU6ICVnLA0KPiA+ PiArRnVuY3Rpb246ICVhLCBPdXRwdXQ6ICVhXG4iLCBMb2NrVHlwZSwgTW9kdWxlLA0KPiBGdW5j dGlvbiwNCj4gPj4gK0xvY2tFdmVudFRleHQpKTsNCj4gPj4gKyAgfQ0KPiA+PiArfQ0KPiA+DQo+ ID4gSSBkaXNhZ3JlZSB3aXRoIHRoaXMgaW1wbGVtZW50YXRpb24uIFNlY3VyaXR5IGxvZw0KPiBt ZXNzYWdlcyBhcmUNCj4gPiBpbXBvcnRhbnQsIGJ1dCB0aGV5IGFyZSBub3QgbmVjZXNzYXJpbHkg ZXJyb3JzLg0KPiBERUJVR19FUlJPUiBzaG91bGQgYmUNCj4gPiB1c2VkIGZvciBlcnJvcnMsIHBy ZWZlcmFibHkgZm9yIHN1Y2ggdGhhdCBjYW5ub3QgYmUNCj4gcmVjb3ZlcmVkIGZyb20NCj4gPiAo REVCVUdfV0FSTiBpcyBPSyBmb3IgcmVjb3ZlcmFibGUgZXJyb3JzKS4NCj4gPg0KPiA+IElmIERF QlVHX0lORk8gaXMgZGVlbWVkIHRvbyAicXVpZXQiIGZvciBsb2dnaW5nDQo+IHNlY3VyaXR5IGV2 ZW50cywgdGhlbg0KPiA+IHdlIHNob3VsZCBpbnRyb2R1Y2UgYSBuZXcgYml0IHZhbHVlIGZvciB0 aGUgZGVidWcNCj4gYml0bWFzaywgc3VjaCBhcw0KPiA+IERFQlVHX1NFQ1VSSVRZLiBXZSBoYXZl IGEgbnVtYmVyIG9mICJzcGVjaWFsIHB1cnBvc2UiDQo+IGJpdHMgYWxyZWFkeToNCj4gPg0KPiA+ IC0gREVCVUdfTE9BRA0KPiA+IC0gREVCVUdfRlMNCj4gPiAtIERFQlVHX1BPT0wNCj4gPiAtIERF QlVHX1BBR0UNCj4gPiAtIERFQlVHX0RJU1BBVENIDQo+ID4gLSBldGMNCj4gPg0KPiA+IGFuZCBJ IHRoaW5rIHdlIGhhdmUgcm9vbSBmb3IgREVCVUdfU0VDVVJJVFkuDQo+ID4NCj4gPiAoMSkgQW5k IHRoZW4sIHRoZSBsb2cgbWFzayBpbiB0aGlzIGxpYnJhcnkgaW5zdGFuY2UNCj4gc2hvdWxkIGJl DQo+ID4NCj4gPiAgIERFQlVHX1NFQ1VSSVRZIHwgREVCVUdfSU5GTw0KPiA+DQo+ID4gSSBiZWxp ZXZlLg0KPiA+DQo+ID4gVGhhbmtzDQo+ID4gTGFzemxvDQo+ID4NCj4gPg0KPiA+DQo+ID4+IGRp ZmYgLS1naXQNCj4gPj4NCj4gYS9NZGVNb2R1bGVQa2cvTGlicmFyeS9TZWN1cml0eUxvY2tBdWRp dERlYnVnTGliL1NlY3VyaXR5DQo+IExvY2tBdWRpdERlYg0KPiA+PiB1Z0xpYi5pbmYNCj4gPj4N Cj4gYi9NZGVNb2R1bGVQa2cvTGlicmFyeS9TZWN1cml0eUxvY2tBdWRpdERlYnVnTGliL1NlY3Vy aXR5DQo+IExvY2tBdWRpdERlYg0KPiA+PiB1Z0xpYi5pbmYNCj4gPj4gbmV3IGZpbGUgbW9kZSAx MDA2NDQNCj4gPj4gaW5kZXggMDAwMDAwMDAwMC4uYjY0MTAxNjA4Nw0KPiA+PiAtLS0gL2Rldi9u dWxsDQo+ID4+ICsrKw0KPiBiL01kZU1vZHVsZVBrZy9MaWJyYXJ5L1NlY3VyaXR5TG9ja0F1ZGl0 RGVidWdMaWIvU2VjdXJpdHkNCj4gTG9ja0F1ZGkNCj4gPj4gKysrIHREZWJ1Z0xpYi5pbmYNCj4g Pj4gQEAgLTAsMCArMSwyOSBAQA0KPiA+PiArIyMgQGZpbGUNCj4gPj4gKyMNCj4gPj4gKyMgTGli cmFyeSB0aGF0IGltcGxlbWVudHMgbG9nZ2luZyBhbmQgcmVwb3J0aW5nIGZvcg0KPiBzZWN1cml0 eSBsb2NrcyAjDQo+ID4+ICtVc2luZyBEZWJ1Z0xpYiAjICMgIyBDb3B5cmlnaHQgKGMpIDIwMTgs IE1pY3Jvc29mdA0KPiBDb3Jwb3JhdGlvbiAjICMNCj4gPj4gK1NQRFgtTGljZW5zZS1JZGVudGlm aWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50ICMjDQo+ID4+ICsNCj4gPj4gK1tEZWZpbmVzXQ0KPiA+ PiArICBJTkZfVkVSU0lPTiAgICAgICAgICAgICAgICAgICAgPSAweDAwMDEwMDA1DQo+ID4+ICsg IEJBU0VfTkFNRSAgICAgICAgICAgICAgICAgICAgICA9DQo+IFNlY3VyaXR5TG9ja0F1ZGl0RGVi dWdMaWINCj4gPj4gKyAgRklMRV9HVUlEICAgICAgICAgICAgICAgICAgICAgID0gNDU5ZDA0NTYt ZDZiZS0NCj4gNDU4ZS05Y2M4LWU5YjIxNzQ1ZjlhYQ0KPiA+PiArICBNT0RVTEVfVFlQRSAgICAg ICAgICAgICAgICAgICAgPSBCQVNFDQo+ID4+ICsgIFZFUlNJT05fU1RSSU5HICAgICAgICAgICAg ICAgICA9IDEuMA0KPiA+PiArICBMSUJSQVJZX0NMQVNTICAgICAgICAgICAgICAgICAgPQ0KPiBT ZWN1cml0eUxvY2tBdWRpdExpYg0KPiA+PiArDQo+ID4+ICtbU291cmNlcy5jb21tb25dDQo+ID4+ ICsgIFNlY3VyaXR5TG9ja0F1ZGl0RGVidWdMaWIuYw0KPiA+PiArDQo+ID4+ICtbUGFja2FnZXNd DQo+ID4+ICsgIE1kZVBrZy9NZGVQa2cuZGVjDQo+ID4+ICsgIE1kZU1vZHVsZVBrZy9NZGVNb2R1 bGVQa2cuZGVjDQo+ID4+ICsNCj4gPj4gK1tMaWJyYXJ5Q2xhc3Nlc10NCj4gPj4gKyAgQmFzZUxp Yg0KPiA+PiArICBEZWJ1Z0xpYg0KPiA+Pg0KPiA+DQo+IA0KPiANCj4gDQoNCg==