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.126; helo=mga18.intel.com; envelope-from=chao.b.zhang@intel.com; receiver=edk2-devel@lists.01.org Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) (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 3C8A6203B990B for ; Sun, 20 May 2018 18:46:48 -0700 (PDT) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 20 May 2018 18:46:47 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.49,425,1520924400"; d="scan'208,217";a="230162471" Received: from fmsmsx104.amr.corp.intel.com ([10.18.124.202]) by fmsmga005.fm.intel.com with ESMTP; 20 May 2018 18:46:47 -0700 Received: from fmsmsx111.amr.corp.intel.com (10.18.116.5) by fmsmsx104.amr.corp.intel.com (10.18.124.202) with Microsoft SMTP Server (TLS) id 14.3.319.2; Sun, 20 May 2018 18:46:46 -0700 Received: from shsmsx104.ccr.corp.intel.com (10.239.4.70) by fmsmsx111.amr.corp.intel.com (10.18.116.5) with Microsoft SMTP Server (TLS) id 14.3.319.2; Sun, 20 May 2018 18:46:46 -0700 Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.40]) by SHSMSX104.ccr.corp.intel.com ([169.254.5.240]) with mapi id 14.03.0319.002; Mon, 21 May 2018 09:46:44 +0800 From: "Zhang, Chao B" To: David F. , "Long, Qin" CC: edk2 developers list , Laszlo Ersek Thread-Topic: [edk2] Set "db" variable in secure boot setup mode still requires generating PKCS#7? Thread-Index: AQHT4ZE+W9B8hx19+UqEpUq+mlMiCaQbtWSAgABl/wCAALO8AIAb0FMAgADluzA= Date: Mon, 21 May 2018 01:46:43 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ctpclassification: CTP_NT x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiNWQ5MzYzNjItZTQ3YS00YmVlLTlmM2YtZjQ2ZWE2ZTJhNDFhIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjIuNS4xOCIsIlRydXN0ZWRMYWJlbEhhc2giOiJ6Y0lDUFRjbFE4aktKM0RmYmFKaGFVY1Q3ZUxySjVseU5PWlVmbURhSkdENktnaUNQdTExQUUyZnBBUnhXSGFKIn0= dlp-product: dlpe-windows dlp-version: 11.0.200.100 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 X-Content-Filtered-By: Mailman/MimeDel 2.1.26 Subject: Re: Set "db" variable in secure boot setup mode still requires generating PKCS#7? X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 May 2018 01:46:48 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 RGF2aWQ6DQogICBIYXZlIHlvdSB0cmllZCB0byBlbnJvbGwgLmNydCBmcm9tIEhJSSBTZWN1cmUg Qm9vdCBDb25maWd1cmUgUGFnZT8NCkJhc2ljYWxseSB3aGVuIFBLIGV4aXN0cyAsIFBoeXNpY2Fs UHJlc2VuY2UgYW5kIEN1c3RvbWl6ZWQgTW9kZSBtdXN0IGJlIGFzc2VydGVkIGluIG9yZGVyICB0 byBlbnJvbGwgYSBzaWduYXR1cmUgd2l0aG91dCBDZXJ0RGF0YSB0byBLRUsvRELigKYsDQoNCkZy b206IGVkazItZGV2ZWwgW21haWx0bzplZGsyLWRldmVsLWJvdW5jZXNAbGlzdHMuMDEub3JnXSBP biBCZWhhbGYgT2YgRGF2aWQgRi4NClNlbnQ6IE1vbmRheSwgTWF5IDIxLCAyMDE4IDM6NTQgQU0N ClRvOiBMb25nLCBRaW4gPHFpbi5sb25nQGludGVsLmNvbT4NCkNjOiBlZGsyIGRldmVsb3BlcnMg bGlzdCA8ZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc+OyBMYXN6bG8gRXJzZWsgPGxlcnNla0ByZWRo YXQuY29tPg0KU3ViamVjdDogUmU6IFtlZGsyXSBTZXQgImRiIiB2YXJpYWJsZSBpbiBzZWN1cmUg Ym9vdCBzZXR1cCBtb2RlIHN0aWxsIHJlcXVpcmVzIGdlbmVyYXRpbmcgUEtDUyM3Pw0KDQo+RG8g eW91IG1lYW4gdGhpcyBjb2RlIHNuaXBwZXQgY2FuIHN1Y2NlZWQgdG8gZW5yb2xsIEtFSywgYnV0 IGZhaWwgdG8NCmVucm9sbCBEQiBkYXRhPw0KDQpDb3JyZWN0Lg0KDQoNCj4gV2hhdOKAmXMgdGhl IHJldHVybmVkIGVycmNvZGUgdmFsdWU/IChBbmQgb25lIHJlbWluZGVyIGlzIHRoYXQgS0VLIGFu ZCBEQg0KYXJlIGJpbmRpbmcgd2l0aCBkaWZmZXJlbnQgdmVuZG9yIEdVSUQ6IGdFZmlHbG9iYWxW YXJpYWJsZUd1aWQsIGFuZA0KZ0VmaUltYWdlU2VjdXJpdHlEYXRhYmFzZUd1aWQpLg0KDQpJdCB3 YXMgYSBhY2Nlc3MgZGVuaWVkIHR5cGUgb2YgZXJyb3IgY29kZSAoSSdkIGhhdmUgdG8gZW5hYmxl IGl0IGFnYWluIHRvDQp0ZXN0IHRoZSBleGFjdCBjb2RlKS4gIFllcywgdGhlIEdVSUQgd2FzIHNl dCBkaWZmZXJlbnQgZm9yIHRoZSBkYXRhYmFzZQ0KKHdhc24ndCBhYmxlIHRvIHNhdmUgYW55dGhp bmcgdXNpbmcgdGhlIGRhdGFiYXNlIGd1aWQpLg0KDQoNCk9uIFdlZCwgTWF5IDIsIDIwMTggYXQg ODowOSBQTSwgTG9uZywgUWluIDxxaW4ubG9uZ0BpbnRlbC5jb208bWFpbHRvOnFpbi5sb25nQGlu dGVsLmNvbT4+IHdyb3RlOg0KDQo+IEhpLCBEYXZpZCwNCj4NCj4NCj4NCj4gWWVzLCBpbiBTZXR1 cCAvIEN1c3RvbSBtb2RlLCBubyBuZWVkIHRvIGdlbmVyYXRlIHRoZSBBdXRoRGF0YSBmb3INCj4g dmVyaWZpY2F0aW9uLiBJdOKAmXMgZ29vZCBlbm91Z2ggdG8gY3JlYXRlIHRoZSBBVVRIXzIgZGVz Y3JpcHRvciAvIGhlYWRlcnMNCj4gd2l0aG91dCBDZXJ0RGF0YSBhcyB0aGUgcGFyYW1ldGVyIGZv ciBTZXRWYXJpYWJsZSgpIGNhbGwuDQo+DQo+DQo+DQo+IERvIHlvdSBtZWFuIHRoaXMgY29kZSBz bmlwcGV0IGNhbiBzdWNjZWVkIHRvIGVucm9sbCBLRUssIGJ1dCBmYWlsIHRvDQo+IGVucm9sbCBE QiBkYXRhPw0KPg0KPiBUaGUgZGF0YSBpbml0aWFsaXphdGlvbiBmcm9tIGNvZGUgc25pcHBldCBs b29rcyBnb29kLiBXaGF04oCZcyB0aGUgcmV0dXJuZWQNCj4gZXJyY29kZSB2YWx1ZT8gKEFuZCBv bmUgcmVtaW5kZXIgaXMgdGhhdCBLRUsgYW5kIERCIGFyZSBiaW5kaW5nIHdpdGgNCj4gZGlmZmVy ZW50IHZlbmRvciBHVUlEOiBnRWZpR2xvYmFsVmFyaWFibGVHdWlkLCBhbmQNCj4gZ0VmaUltYWdl U2VjdXJpdHlEYXRhYmFzZUd1aWQpLg0KPg0KPg0KPg0KPg0KPg0KPiBCZXN0IFJlZ2FyZHMgJiBU aGFua3MsDQo+DQo+IExPTkcsIFFpbg0KPg0KPg0KPg0KPiAqRnJvbToqIGVkazItZGV2ZWwgW21h aWx0bzplZGsyLWRldmVsLWJvdW5jZXNAbGlzdHMuMDEub3JnXSAqT24gQmVoYWxmIE9mDQo+ICpE YXZpZCBGLg0KPiAqU2VudDoqIFRodXJzZGF5LCBNYXkgMywgMjAxOCAxMjoyNiBBTQ0KPiAqVG86 KiBMYXN6bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQuY29tPG1haWx0bzpsZXJzZWtAcmVkaGF0LmNv bT4+DQo+ICpDYzoqIGVkazIgZGV2ZWxvcGVycyBsaXN0IDxlZGsyLWRldmVsQGxpc3RzLjAxLm9y ZzxtYWlsdG86ZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc+Pg0KPiAqU3ViamVjdDoqIFJlOiBbZWRr Ml0gU2V0ICJkYiIgdmFyaWFibGUgaW4gc2VjdXJlIGJvb3Qgc2V0dXAgbW9kZSBzdGlsbA0KPiBy ZXF1aXJlcyBnZW5lcmF0aW5nIFBLQ1MjNz8NCj4NCj4NCj4NCj4gVGhpcyBJbnRlbCBtb2JvIGRp ZG4ndCBsaWtlPyAgVGhpcyBpcyB0aGUgY29kZSBzbmlwcGV0IHRoYXQgYnVpbGRzIGl0Og0KPg0K Pg0KPiAvLyBjYWxjIHNpemUgb2YgaGVhZGVyICh3aXRoIG5vIGNlcnRkYXRhKSBhbmQgY3J0IGZp bGUgZGF0YSB0byBhZGQNCj4gc2l6ZV90IGF1dGhoZHJzaXplOw0KPiBzaXplX3Qgc2lnbGlzdGhk cnNpemU7DQo+DQo+IGlmIChhcHBseXJhd2RhdGEpIHsNCj4gICBhdXRoaGRyc2l6ZT0wOw0KPiAg IHNpZ2xpc3RoZHJzaXplPTA7DQo+IH0NCj4gZWxzZSB7DQo+ICAgYXV0aGhkcnNpemU9b2Zmc2V0 b2YoRUZJX1ZBUklBQkxFX0FVVEhFTlRJQ0FUSU9OXzIsDQo+IEF1dGhJbmZvKStvZmZzZXRvZihX SU5fQ0VSVElGSUNBVEVfVUVGSV9HVUlELCBDZXJ0RGF0YSk7DQo+ICAgc2lnbGlzdGhkcnNpemU9 c2l6ZW9mKEVGSV9TSUdOQVRVUkVfTElTVCkrb2Zmc2V0b2YoRUZJX1NJR05BVFVSRV9EQVRBLA0K PiBTaWduYXR1cmVEYXRhKTsNCj4gfQ0KPiBzaXplX3QgdGVtcGJ1ZnNpemU9ZmZpbmZvLkZpbGVT aXplK2F1dGhoZHJzaXplK3NpZ2xpc3RoZHJzaXplOw0KPg0KPiBCWVRFICp0ZW1wYnVmOw0KPiBp ZiAoKHRlbXBidWY9bmV3IEJZVEUgW3RlbXBidWZzaXplXSkhPU5VTEwpIHsNCj4gICAvLyB2YXJp YWJsZSB0byBkZXRlcm1pbmUgd2hlcmUgdG8gcmVhZCBmaWxlDQo+ICAgQllURSAqY2VydGRhdGE9 dGVtcGJ1ZjsNCj4gICAvLyBkZXRlcm1pbmUgaWYgbmVlZCB0byBwcmVmaXggLmNydCBmb3Iga2Vr L2RiIGVudHJpZXMNCj4gICBpZiAoIWFwcGx5cmF3ZGF0YSkgew0KPiAgICAgLy8gemVybyBoZWFk ZXIgcGFydCBvZiBidWZmZXIgc28gYWxsIGFyZSBpbml0IHRvIHplcm8NCj4gICAgIG1lbXNldCh0 ZW1wYnVmLCAwLCBhdXRoaGRyc2l6ZStzaWdsaXN0aGRyc2l6ZSk7DQo+ICAgICAvLw0KPiAgICAg Ly8gc2V0dXAgRUZJX1ZBUklBQkxFX0FVVEhFTlRJQ0FUSU9OXzIgIGhlYWRlcg0KPiAgICAgLy8N Cj4gICAgIEVGSV9WQVJJQUJMRV9BVVRIRU5USUNBVElPTl8yDQo+ICplZml2YXJhdXRoMj0oRUZJ X1ZBUklBQkxFX0FVVEhFTlRJQ0FUSU9OXzIgKikgdGVtcGJ1ZjsNCj4gICAgIC8vIHNldHVwIHRp bWUNCj4gICAgIFRpbWVUVG9VRUZJVGltZUdNVCh0aW1lKE5VTEwpLCAmZWZpdmFyYXV0aDItPlRp bWVTdGFtcCk7DQo+ICAgICBlZml2YXJhdXRoMi0+VGltZVN0YW1wLk5hbm9zZWNvbmQ9MDsNCj4g ICAgIC8vIHNldHVwIGF1dGhpbmZvICh3aXRob3V0IGFueSBDZXJ0RGF0YSkNCj4gICAgIGVmaXZh cmF1dGgyLT5BdXRoSW5mby5IZHIuZHdMZW5ndGg9b2Zmc2V0b2YoV0lOX0NFUlRJRklDQVRFX1VF RklfR1VJRCwNCj4gQ2VydERhdGEpOw0KPiAgICAgZWZpdmFyYXV0aDItPkF1dGhJbmZvLkhkci53 UmV2aXNpb249MHgyMDA7DQo+ICAgICBlZml2YXJhdXRoMi0+QXV0aEluZm8uSGRyLndDZXJ0aWZp Y2F0ZVR5cGU9V0lOX0NFUlRfVFlQRV9FRklfR1VJRDsNCj4gICAgIGVmaXZhcmF1dGgyLT5BdXRo SW5mby5DZXJ0VHlwZT1nRWZpQ2VydFBrY3M3R3VpZDsNCj4gICAgIC8vDQo+ICAgICAvLyBzZXR1 cCBFRklfU0lHTkFUVVJFX0xJU1QNCj4gICAgIC8vDQo+ICAgICBFRklfU0lHTkFUVVJFX0xJU1Qg KmVmaXNpZ2xpc3Q9KEVGSV9TSUdOQVRVUkVfTElTVCAqKQ0KPiAodGVtcGJ1ZithdXRoaGRyc2l6 ZSk7DQo+ICAgICBlZmlzaWdsaXN0LT5TaWduYXR1cmVUeXBlPWdFZmlDZXJ0WDUwOUd1aWQ7DQo+ DQo+IGVmaXNpZ2xpc3QtPlNpZ25hdHVyZUxpc3RTaXplPSh1aW50MzJfdCkoZmZpbmZvLkZpbGVT aXplK3NpZ2xpc3RoZHJzaXplKTsNCj4gICAgIGVmaXNpZ2xpc3QtPlNpZ25hdHVyZUhlYWRlclNp emU9MDsNCj4gICAgIGVmaXNpZ2xpc3QtPlNpZ25hdHVyZVNpemU9ZmZpbmZvLkZpbGVTaXplK29m ZnNldG9mKEVGSV9TSUdOQVRVUkVfREFUQSwNCj4gU2lnbmF0dXJlRGF0YSk7DQo+ICAgICAvLw0K PiAgICAgLy8gc2V0dXAgRUZJX1NJR05BVFVSRV9EQVRBICAobm8gb3duZXIpDQo+ICAgICAvLw0K PiAgICAgRUZJX1NJR05BVFVSRV9EQVRBICplZmlzaWdkYXRhPShFRklfU0lHTkFUVVJFX0RBVEEg KikNCj4gKChCWVRFKillZmlzaWdsaXN0K3NpemVvZihFRklfU0lHTkFUVVJFX0xJU1QpK2VmaXNp Z2xpc3QtPg0KPiBTaWduYXR1cmVIZWFkZXJTaXplKTsNCj4gICAgIGNlcnRkYXRhPWVmaXNpZ2Rh dGEtPlNpZ25hdHVyZURhdGE7DQo+ICAgfQ0KPiAgIC8vIFJlYWQgZmlsZSB0byBidWZmZXINCj4g ICBpZiAoKGVycmNvZGU9RlNPcGVuUmVhZENsb3NlRmlsZShvcGVucGF0aCwgY2VydGRhdGEsIDAs IGZmaW5mby5GaWxlU2l6ZSwNCj4gTlVMTCwgZmlsZXN5cykpPT1FUlJPUl9OT05FKSB7DQo+ICAg ICAvLyBoYXZlIHRoZSBkYXRhLCBub3cgd3JpdGUgaXQgdG8gdGhlIGNvcnJlY3QgdmFyaWFibGUN Cj4gICAgIHVpbnQzMl90IHZhcmF0dHI9RUZJX1ZBUklBQkxFX05PTl9WT0xBVElMRXwNCj4gICAg ICAgICAgICAgICAgICAgICAgRUZJX1ZBUklBQkxFX0JPT1RTRVJWSUNFX0FDQ0VTU3wNCj4gICAg ICAgICAgICAgICAgICAgICAgRUZJX1ZBUklBQkxFX1JVTlRJTUVfQUNDRVNTfA0KPiAgICAgICAg ICAgICAgICAgICAgICBFRklfVkFSSUFCTEVfVElNRV9CQVNFRF9BVVRIRU5USUNBVEVEX1dSSVRF X0FDQ0VTUzsNCj4gICAgIGlmICghcnBhcmFtKSB7DQo+ICAgICAgIHZhcmF0dHJ8PUVGSV9WQVJJ QUJMRV9BUFBFTkRfV1JJVEU7DQo+ICAgICB9DQo+DQo+ICAgICAvLyB1cGRhdGUgdmFyaWFibGUN Cj4gICAgIGVycmNvZGU9VUVGSVNldFZhcmlhYmxlKHZhcm5hbWUsIGd1aWRzdHIsIHRlbXBidWYs IHRlbXBidWZzaXplLA0KPiB2YXJhdHRyKTsNCj4gICB9DQo+ICAgLy8gY2xlYW4gdXANCj4gICBk ZWxldGVbXSB0ZW1wYnVmOw0KPiB9DQo+DQo+DQo+IE9uIFdlZCwgTWF5IDIsIDIwMTggYXQgMzoy MSBBTSwgTGFzemxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbTxtYWlsdG86bGVyc2VrQHJlZGhh dC5jb20+PiB3cm90ZToNCj4NCj4gPiBPbiAwNS8wMS8xOCAyMzoxMywgRGF2aWQgRi4gd3JvdGU6 DQo+ID4gPiBIaSwNCj4gPiA+DQo+ID4gPiBIYWQgYSBmYWlybHkgc2ltcGxlIHRhc2sgb2Ygd2Fu dGluZyB0byBpbnN0YWxsIHRoZSBsYXRlc3QgTVMgLmNydA0KPiA+ID4gZmlsZXMgZm9yIEtFSywg YW5kIHRoZWlyIHR3byBmaWxlcyBmb3IgdGhlICJkYiIgKHRoZSBXaW5kb3dzIENBIGFuZA0KPiA+ ID4gVUVGSSBDQSkgaW4gYSBzeXN0ZW0gcGxhY2VkIGluIHNldHVwL2N1c3RvbSBtb2RlLiAgSG93 ZXZlciwgZXZlbg0KPiA+ID4gdGhvdWdoIGl0IHNlZW1lZCB0byB0YWtlIHRoZSBLRUssIGl0IG5l dmVyIHRvb2sgdGhlICJkYiIsIGFsd2F5cyBoYWQgYQ0KPiA+ID4gcHJvYmxlbSBvbiBhIERINzdL QyBtb2JvIChkdW1wZWQgZGF0YSBoZWFkZXJzIGxvb2tlZCBhcyBleHBlY3RlZCkuIE5vdw0KPiA+ ID4gd2hlbiBJIGNvbnN0cnVjdGVkIGl0LCBJIHRob3VnaHQgSSBjb3VsZCBsZWF2ZSBvdXQgYW55 IFBLQ1MjNyBkYXRhDQo+ID4gPiAoc2V0IHRoZSBleHBlY3RlZCBDZXJ0VHlwZSBidXQgaW4gdGhl IEhkciBkd0xlbmd0aCBvbmx5IGluY2x1ZGVkDQo+ID4gPiBDZXJ0VHlwZSBhbmQgbm90IGFueSBD ZXJ0RGF0YSksDQo+ID4NCj4gPiBSaWdodCwgSSd2ZSBzdHVtYmxlZCB1cG9uIHRoYXQgdG9vLiBB Y2NvcmRpbmcgdG8gdGhlIFVFRkkgc3BlYywgZHdMZW5ndGgNCj4gPiBzaG91bGQgaW5jbHVkZSBD ZXJ0RGF0YSB0b28sIGJ1dCBlZGsyIGRvZXMgKm5vdCogYWNjZXB0IHRoYXQuIFRoaXMgY2FuDQo+ ID4gYmUgc2VlbiBlLmcuIGluDQo+ID4gIlNlY3VyaXR5UGtnL1ZhcmlhYmxlQXV0aGVudGljYXRl ZC9TZWN1cmVCb290Q29uZmlnRHhlLw0KPiA+IFNlY3VyZUJvb3RDb25maWdJbXBsLmMiLA0KPiA+ IGZ1bmN0aW9uIENyZWF0ZVRpbWVCYXNlZFBheWxvYWQoKToNCj4gPg0KPiA+ID4gICAvLw0KPiA+ ID4gICAvLyBJbiBTZXR1cCBtb2RlIG9yIEN1c3RvbSBtb2RlLCB0aGUgdmFyaWFibGUgZG9lcyBu b3QgbmVlZCB0byBiZQ0KPiA+IHNpZ25lZCBidXQgdGhlDQo+ID4gPiAgIC8vIHBhcmFtZXRlcnMg dG8gdGhlIFNldFZhcmlhYmxlKCkgY2FsbCBzdGlsbCBuZWVkIHRvIGJlIHByZXBhcmVkIGFzDQo+ ID4gYXV0aGVudGljYXRlZA0KPiA+ID4gICAvLyB2YXJpYWJsZS4gU28gd2UgY3JlYXRlIEVGSV9W QVJJQUJMRV9BVVRIRU5USUNBVEVEXzIgZGVzY3JpcHRvcg0KPiA+IHdpdGhvdXQgY2VydGlmaWNh dGUNCj4gPiA+ICAgLy8gZGF0YSBpbiBpdC4NCj4gPiA+ICAgLy8NCj4gPiA+IC4uLg0KPiA+ID4g ICBEZXNjcmlwdG9yRGF0YS0+QXV0aEluZm8uSGRyLmR3TGVuZ3RoICAgICAgICAgPSBPRkZTRVRf T0YNCj4gPiAoV0lOX0NFUlRJRklDQVRFX1VFRklfR1VJRCwgQ2VydERhdGEpOw0KPiA+DQo+ID4g QmFjayB0byB5b3VyIGVtYWlsOg0KPiA+DQo+ID4gT24gMDUvMDEvMTggMjM6MTMsIERhdmlkIEYu IHdyb3RlOg0KPiA+ID4gYnV0IGxvb2tpbmcgYXQgdGhlIGFsZ28gaW4gVUVGSSBTcGVjIDIuNiBw YWdlIDI0NSwgaXQgbG9va3MgbGlrZSB3ZSdkDQo+ID4gPiBhbHdheXMgaGF2ZSB0byBnZW5lcmF0 ZSB0aGUgaGFzaCwgc2lnbiBpdCwgY3JlYXRlIGFsbCB0aGUgUEtDUyBzdHVmZg0KPiA+ID4gZXZl biBpbiBzZXR1cCBtb2RlPyAgICBUaGF0IHdvdWxkIHN1cmVseSB1bm5lY2Vzc2FyaWx5IGJsb2F0 IGFueSBhcHBzDQo+ID4gPiB0aGF0IHJlYWxseSBvbmx5IG5lZWQgdG8gdXBkYXRlIHRoaW5ncyBp biBzZXR1cCBtb2RlIHdvdWxkbid0IGl0PyAgIFNvDQo+ID4gPiB0byBjb25maXJtLCB0aGF0IGlz IGEgcmVxdWlyZW1lbnQgZXZlbiBpbiBzZXR1cCBtb2RlPyAgICBJZiBzbywgd2h5Pw0KPiA+DQo+ ID4gSXQncyBub3QgYSByZXF1aXJlbWVudDsgc2VlIHRoZSBjb2RlIGNvbW1lbnQgSSBxdW90ZWQg YWJvdmUuDQo+ID4NCj4gPiBUaGFua3MsDQo+ID4gTGFzemxvDQo+ID4NCj4gX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCj4gZWRrMi1kZXZlbCBtYWlsaW5n IGxpc3QNCj4gZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc8bWFpbHRvOmVkazItZGV2ZWxAbGlzdHMu MDEub3JnPg0KPiBodHRwczovL2xpc3RzLjAxLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2VkazItZGV2 ZWwNCj4NCj4NCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f DQplZGsyLWRldmVsIG1haWxpbmcgbGlzdA0KZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc8bWFpbHRv OmVkazItZGV2ZWxAbGlzdHMuMDEub3JnPg0KaHR0cHM6Ly9saXN0cy4wMS5vcmcvbWFpbG1hbi9s aXN0aW5mby9lZGsyLWRldmVsDQo=