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.24; helo=mga09.intel.com; envelope-from=jiewen.yao@intel.com; receiver=edk2-devel@lists.01.org Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) (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 57D7F224DCA50 for ; Thu, 8 Mar 2018 16:41:44 -0800 (PST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 08 Mar 2018 16:48:00 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.47,443,1515484800"; d="scan'208";a="23053965" Received: from fmsmsx107.amr.corp.intel.com ([10.18.124.205]) by fmsmga008.fm.intel.com with ESMTP; 08 Mar 2018 16:48:00 -0800 Received: from shsmsx101.ccr.corp.intel.com (10.239.4.153) by fmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 8 Mar 2018 16:48:00 -0800 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.80]) by SHSMSX101.ccr.corp.intel.com ([169.254.1.166]) with mapi id 14.03.0319.002; Fri, 9 Mar 2018 08:47:58 +0800 From: "Yao, Jiewen" To: "Yao, Jiewen" , Laszlo Ersek , "marcandre.lureau@redhat.com" , "edk2-devel@lists.01.org" CC: "javierm@redhat.com" , "pjones@redhat.com" , "qemu-devel@nongnu.org" Thread-Topic: [PATCH v2 8/8] ovmf: add DxeTpm2MeasureBootLib Thread-Index: AQHTti0v5AL4t/S4+02IQGRgqaL15qPGO/2AgADSQSCAAAV2IA== Date: Fri, 9 Mar 2018 00:47:58 +0000 Message-ID: <74D8A39837DF1E4DA445A8C0B3885C503AAEF06A@shsmsx102.ccr.corp.intel.com> References: <20180307155746.18526-1-marcandre.lureau@redhat.com> <20180307155746.18526-9-marcandre.lureau@redhat.com> <74D8A39837DF1E4DA445A8C0B3885C503AAEEFF3@shsmsx102.ccr.corp.intel.com> In-Reply-To: <74D8A39837DF1E4DA445A8C0B3885C503AAEEFF3@shsmsx102.ccr.corp.intel.com> Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiNjc5ZWU5ZmYtZDM0OC00OTc4LThjYmUtOTczMjNlMzMxMWE5IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjIuNS4xOCIsIlRydXN0ZWRMYWJlbEhhc2giOiI3NThJZVwvN09vdkVXNXp0ZXJaU1JSNFlpWlhYcVhVU2loMTIzSEhPUk42QzR4ZVlUYWVKbFRzU00xNHRpOGFxdiJ9 x-ctpclassification: CTP_NT dlp-product: dlpe-windows dlp-version: 11.0.0.116 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [PATCH v2 8/8] ovmf: add DxeTpm2MeasureBootLib 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: Fri, 09 Mar 2018 00:41:44 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 QmVzaWRlcyB0aGUgY29tbWVudCBiZWxvdywgSSBzaG91bGQgaGF2ZSB1c2VkIHRoZSBleGFtcGxl IGluIE92bWZQa2cuDQoNClBsZWFzZSByZWZlciB0byBodHRwczovL2dpdGh1Yi5jb20vdGlhbm9j b3JlL2VkazIvYmxvYi9tYXN0ZXIvT3ZtZlBrZy9MaWJyYXJ5L1BsYXRmb3JtQm9vdE1hbmFnZXJM aWIvQmRzUGxhdGZvcm0uYw0KDQpUaGUgRWZpQm9vdE1hbmFnZXJEaXNwYXRjaERlZmVycmVkSW1h Z2VzKCkgQVBJIGNhbGwgaXMgYWRkZWQganVzdCBhZnRlciBnRWZpRHhlU21tUmVhZHlUb0xvY2tQ cm90b2NvbEd1aWQuDQoNClNvIEkgZG9u4oCZdCBzZWUgYW55IHByb2JsZW0gaW4gT1ZNRiBwa2cu DQoNCg0KVGhhbmsgeW91DQpZYW8gSmlld2VuDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0t LS0NCj4gRnJvbTogZWRrMi1kZXZlbCBbbWFpbHRvOmVkazItZGV2ZWwtYm91bmNlc0BsaXN0cy4w MS5vcmddIE9uIEJlaGFsZiBPZiBZYW8sDQo+IEppZXdlbg0KPiBTZW50OiBGcmlkYXksIE1hcmNo IDksIDIwMTggODozOSBBTQ0KPiBUbzogTGFzemxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbT47 IG1hcmNhbmRyZS5sdXJlYXVAcmVkaGF0LmNvbTsNCj4gZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmcN Cj4gQ2M6IGphdmllcm1AcmVkaGF0LmNvbTsgcGpvbmVzQHJlZGhhdC5jb207IHFlbXUtZGV2ZWxA bm9uZ251Lm9yZw0KPiBTdWJqZWN0OiBSZTogW2VkazJdIFtQQVRDSCB2MiA4LzhdIG92bWY6IGFk ZCBEeGVUcG0yTWVhc3VyZUJvb3RMaWINCj4gDQo+IFZlcnkgZ29vZCBxdWVzdGlvbi4NCj4gQ29t bWVudCBiZWxvdzoNCj4gDQo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiBGcm9t OiBMYXN6bG8gRXJzZWsgW21haWx0bzpsZXJzZWtAcmVkaGF0LmNvbV0NCj4gPiBTZW50OiBGcmlk YXksIE1hcmNoIDksIDIwMTggMzo1NCBBTQ0KPiA+IFRvOiBtYXJjYW5kcmUubHVyZWF1QHJlZGhh dC5jb207IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnOyBZYW8sIEppZXdlbg0KPiA+IDxqaWV3ZW4u eWFvQGludGVsLmNvbT4NCj4gPiBDYzogcGpvbmVzQHJlZGhhdC5jb207IHN0ZWZhbmJAbGludXgu dm5ldC5pYm0uY29tOw0KPiA+IHFlbXUtZGV2ZWxAbm9uZ251Lm9yZzsgamF2aWVybUByZWRoYXQu Y29tDQo+ID4gU3ViamVjdDogUmU6IFtQQVRDSCB2MiA4LzhdIG92bWY6IGFkZCBEeGVUcG0yTWVh c3VyZUJvb3RMaWINCj4gPg0KPiA+IChKaWV3ZW4sIGJlbG93IEkgaGF2ZSBhIHF1ZXN0aW9uIGZv ciB5b3UgYXMgd2VsbDsgcGxlYXNlIGhlbHAgd2l0aCB0aGF0LikNCj4gPg0KPiA+IE9uIDAzLzA3 LzE4IDE2OjU3LCBtYXJjYW5kcmUubHVyZWF1QHJlZGhhdC5jb20gd3JvdGU6DQo+ID4gPiBGcm9t OiBNYXJjLUFuZHLDqSBMdXJlYXUgPG1hcmNhbmRyZS5sdXJlYXVAcmVkaGF0LmNvbT4NCj4gPiA+ DQo+ID4gPiBUaGUgbGlicmFyeSByZWdpc3RlcnMgYSBzZWN1cml0eSBtYW5hZ2VtZW50IGhhbmRs ZXIsIHRvIG1lYXN1cmUgaW1hZ2VzDQo+ID4gPiB0aGF0IGFyZSBub3QgbWVhc3VyZSBpbiBQRUkg cGhhc2UuDQo+ID4gPg0KPiA+ID4gVGhpcyBzZWVtcyB0byB3b3JrIGZvciBleGFtcGxlIHdpdGgg dGhlIHFlbXUgUFhFIHJvbToNCj4gPiA+DQo+ID4gPiBMb2FkaW5nIGRyaXZlciBhdCAweDAwMDNF NkMyMDAwIEVudHJ5UG9pbnQ9MHgwMDAzRTZDOTA3NiA4MDg2MTAwZS5lZmkNCj4gPiA+DQo+ID4g PiBBbmQgdGhlIGZvbGxvd2luZyBiaW5hcnlfYmlvc19tZWFzdXJlbWVudHMgbG9nIGVudHJ5IHNl ZW1zIHRvIGJlDQo+ID4gPiBhZGRlZDoNCj4gPiA+DQo+ID4gPiBQQ1I6IDIJdHlwZTogRVZfRUZJ X0JPT1RfU0VSVklDRVNfRFJJVkVSICAgICAJc2l6ZTogMHg0ZQlkaWdlc3Q6DQo+ID4gNzBhMjI0 NzVlOWYxODgwNmQyZWQ5MTkzYjQ4ZDgwZDI2Nzc5ZDlhNA0KPiA+ID4NCj4gPiA+IENjOiBMYXN6 bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQuY29tPg0KPiA+ID4gQ2M6IFN0ZWZhbiBCZXJnZXIgPHN0 ZWZhbmJAbGludXgudm5ldC5pYm0uY29tPg0KPiA+ID4gQ29udHJpYnV0ZWQtdW5kZXI6IFRpYW5v Q29yZSBDb250cmlidXRpb24gQWdyZWVtZW50IDEuMA0KPiA+ID4gU2lnbmVkLW9mZi1ieTogTWFy Yy1BbmRyw6kgTHVyZWF1IDxtYXJjYW5kcmUubHVyZWF1QHJlZGhhdC5jb20+DQo+ID4gPiAtLS0N Cj4gPiA+ICBPdm1mUGtnL092bWZQa2dYNjQuZHNjIHwgMyArKysNCj4gPiA+ICAxIGZpbGUgY2hh bmdlZCwgMyBpbnNlcnRpb25zKCspDQo+ID4gPg0KPiA+ID4gZGlmZiAtLWdpdCBhL092bWZQa2cv T3ZtZlBrZ1g2NC5kc2MgYi9Pdm1mUGtnL092bWZQa2dYNjQuZHNjDQo+ID4gPiBpbmRleCA3NzUz ODUyMTQ0ZmIuLjlkYjE3MTJlMzYyMyAxMDA2NDQNCj4gPiA+IC0tLSBhL092bWZQa2cvT3ZtZlBr Z1g2NC5kc2MNCj4gPiA+ICsrKyBiL092bWZQa2cvT3ZtZlBrZ1g2NC5kc2MNCj4gPiA+IEBAIC02 NjIsNiArNjYyLDkgQEAgW0NvbXBvbmVudHNdDQo+ID4gPiAgICAgIDxMaWJyYXJ5Q2xhc3Nlcz4N Cj4gPiA+ICAhaWYgJChTRUNVUkVfQk9PVF9FTkFCTEUpID09IFRSVUUNCj4gPiA+DQo+ID4NCj4g TlVMTHxTZWN1cml0eVBrZy9MaWJyYXJ5L0R4ZUltYWdlVmVyaWZpY2F0aW9uTGliL0R4ZUltYWdl VmVyaWZpY2F0aW9uTGliLmluZg0KPiA+ID4gKyFlbmRpZg0KPiA+ID4gKyFpZiAkKFRQTTJfRU5B QkxFKSA9PSBUUlVFDQo+ID4gPiArDQo+ID4NCj4gTlVMTHxTZWN1cml0eVBrZy9MaWJyYXJ5L0R4 ZVRwbTJNZWFzdXJlQm9vdExpYi9EeGVUcG0yTWVhc3VyZUJvb3RMaWIuaQ0KPiA+IG5mDQo+ID4g PiAgIWVuZGlmDQo+ID4gPiAgICB9DQo+ID4gPg0KPiA+ID4NCj4gPg0KPiA+ICgxKSBNYXJjLUFu ZHLDqSwgcGxlYXNlIGNoYW5nZSB0aGUgc3ViamVjdCBsaW5lIHRvOg0KPiA+DQo+ID4gT3ZtZlBr ZzogcGx1ZyBEeGVUcG0yTWVhc3VyZUJvb3RMaWIgaW50byBTZWN1cml0eVN0dWJEeGUNCj4gPg0K PiA+DQo+ID4gKDIpIEkgaGF2ZSBhIHF1ZXN0aW9uIGZvciBKaWV3ZW46DQo+ID4NCj4gPiBEeGVU cG0yTWVhc3VyZUJvb3RMaWIgY29uc3VtZXMgdGhlIFRDRzIgcHJvdG9jb2wsIGJ1dCBpdCBkb2Vz IG5vdCBkZXBlbmQNCj4gPiBvbiBpdCB3aXRoIGEgREVQRVguIEluc3RlYWQsIER4ZVRwbTJNZWFz dXJlQm9vdEhhbmRsZXIoKSB0cmllcyB0byBsb2NhdGUNCj4gPiB0aGUgcHJvdG9jb2wgb24gZXZl cnkgaW52b2NhdGlvbi4NCj4gW0ppZXdlbl0gWWVzLg0KPiANCj4gPiBUaGlzIG1lYW5zIHRoYXQg U2VjdXJpdHlTdHViRHhlIG1heSBwcm9kdWNlIHRoZSBTZWN1cml0eSBhbmQgU2VjdXJpdHkyDQo+ ID4gQXJjaGl0ZWN0dXJhbCBQcm90b2NvbHMgYmVmb3JlIG1lYXN1cmVtZW50cyBpbnRvIHRoZSBU UE0yIGRldmljZSBhcmUNCj4gPiBwb3NzaWJsZS4NCj4gW0ppZXdlbl0gWWVzLg0KPiANCj4gPiBU aGVyZWZvcmUsIFVFRklfRFJJVkVSIG1vZHVsZXMgKHdoaWNoIGRlcGVuZCBvbiBhbGwgb2YgdGhl DQo+ID4gQXJjaCBwcm90b2NvbHMpIG1heSBiZSBzdGFydGVkIGJlZm9yZSB0aGV5IGNhbiBiZSBt ZWFzdXJlZCBpbnRvIHRoZSBUUE0uDQo+ID4NCj4gPiBOb3csIHRoaXMgaXMgbGlrZWx5IG5vIHBy b2JsZW0gZm9yIFVFRklfRFJJVkVSIG1vZHVsZXMgdGhhdCBhcmUgYnVpbHQNCj4gPiBpbnRvIHRo ZSBmaXJtd2FyZSB2b2x1bWUocyksIGJlY2F1c2UgdGhvc2UgYXJlIG1lYXN1cmVkIGJ5IFRjZzJQ ZWkNCj4gPiBhbnl3YXkuDQo+IFtKaWV3ZW5dIFRoYXQgaXMgVFJVRS4NCj4gDQo+IEhvd2V2ZXIs IGl0IHdvdWxkIGJlIGEgcHJvYmxlbSBmb3IgVUVGSV9EUklWRVIgbW9kdWxlcyAvIGFwcHMNCj4g PiB0aGF0IGNvbWUgZnJvbSBleHRlcm5hbCBtZWRpYSAoZGlzaywgbmV0d29yaywgUENJIG9wcm9t LCBldGMpLg0KPiBbSmlld2VuXSBCeSBkZXNpZ24sIHRoZSAzcmQgcGFydCBtb2R1bGUgc2hvdWxk IG5vdCBiZSBpbnZva2VkIGJlZm9yZSBFbmRPZkR4ZS4NCj4gQWxsIEFyY2ggUHJvdG9jb2wgUmVh ZHkgaXMgbm90IHN0cm9uZyBlbm91Z2guIDotKQ0KPiBQbGVhc2UgcmVmZXIgdG8NCj4gaHR0cHM6 Ly9naXRodWIuY29tL3RpYW5vY29yZS9lZGsyL2Jsb2IvbWFzdGVyL01kZU1vZHVsZVBrZy9Vbml2 ZXJzYWwvU2VjDQo+IHVyaXR5U3R1YkR4ZS9EZWZlcjNyZFBhcnR5SW1hZ2VMb2FkLmMNCj4gDQo+ IElmIGEgbm9uLUZWIGltYWdlIGlzIGxvYWRlZCBiZWZvcmUgRW5kT2ZEeGUsIGl0IHdpbGwgYmUg cXVldWVkIGludG8NCj4gbURlZmVycmVkM3JkUGFydHlJbWFnZS4NCj4gDQo+IFdlIGFsc28gYWRk ZWQgRWZpQm9vdE1hbmFnZXJEaXNwYXRjaERlZmVycmVkSW1hZ2VzKCkgQVBJIGluDQo+IGh0dHBz Oi8vZ2l0aHViLmNvbS90aWFub2NvcmUvZWRrMi9ibG9iL21hc3Rlci9NZGVNb2R1bGVQa2cvSW5j bHVkZS9MaWJyYXINCj4geS9VZWZpQm9vdE1hbmFnZXJMaWIuaCBhbmQgaW1wbGVtZW50ZWQgaW4N Cj4gaHR0cHM6Ly9naXRodWIuY29tL3RpYW5vY29yZS9lZGsyL2Jsb2IvbWFzdGVyL01kZU1vZHVs ZVBrZy9MaWJyYXJ5L1VlZmlCDQo+IG9vdE1hbmFnZXJMaWIvQm1NaXNjLmMNCj4gQSBwbGF0Zm9y bSBtdXN0IGNhbGwgRWZpQm9vdE1hbmFnZXJEaXNwYXRjaERlZmVycmVkSW1hZ2VzKCksIGlmIHRo ZSBwbGF0Zm9ybQ0KPiBzdXBwb3J0cyBQQ0kgT1JPTS4NCj4gDQo+IFlvdSBjYW4gZmluZCB0aGUg c2FtcGxlIGNvZGUgaW4NCj4gaHR0cHM6Ly9naXRodWIuY29tL3RpYW5vY29yZS9lZGsyLXBsYXRm b3Jtcy9ibG9iL2RldmVsLU1pblBsYXRmb3JtL1BsYXRmb3JtDQo+IC9JbnRlbC9NaW5QbGF0Zm9y bVBrZy9CZHMvTGlicmFyeS9EeGVQbGF0Zm9ybUJvb3RNYW5hZ2VyTGliL0Jkc1BsYXRmb3JtLmMN Cj4gDQo+IA0KPiANCj4gPiBIb3dldmVyLCBzdWNoIGFyZSBsb2FkZWQgb25seSBpbiB0aGUgQkRT IHBoYXNlLCBhbmQgQkRTIGlzIG9ubHkgZW50ZXJlZA0KPiA+IGFmdGVyIGFsbCBvZiB0aGUgRFhF IGRyaXZlcnMgYXJlIGRpc3BhdGNoZWQgZnJvbSB0aGUgZmlybXdhcmUgdm9sdW1lcy4NCj4gPiBJ biBvdGhlciB3b3JkcywgdGhlIG9yZGVyaW5nIGJldHdlZW4gVGNnMkR4ZSBhbmQgZXh0ZXJuYWwg VUVGSV9EUklWRVIgLw0KPiA+IFVFRklfQVBQTElDQVRJT04gbW9kdWxlcyBpcyBlbnN1cmVkIHRo YXQgVGNnMkR4ZSB3aWxsIGJlIGRpc3BhdGNoZWQgaW4NCj4gPiB0aGUgRFhFIHBoYXNlLCB3aGls ZSB0aGUgbGF0dGVyIHdpbGwgb25seSBiZSBsb2FkZWQgaW4gQkRTLg0KPiA+DQo+ID4gSXMgdGhp cyBpbnRlbnRpb25hbD8gSXMgbXkgdW5kZXJzdGFuZGluZyBjb3JyZWN0Pw0KPiANCj4gW0ppZXdl bl0gUmlnaHQuIFRoZSBvbmx5IGFzc3VtcHRpb24gaXM6IFRjZzJEeGUgaXMgaW5jbHVkZWQgaW4g dGhlIGZpcm13YXJlDQo+IHZvbHVtZSBhbmQgaXQgaXMgZGlzcGF0Y2hlZCBiZWZvcmUgRW5kT2ZE eGUuDQo+IA0KPiANCj4gDQo+ID4NCj4gPiAoMykgSWYgdGhhdCdzIHRoZSBjYXNlLCB0aGVuIE1h cmMtQW5kcsOpLCBwbGVhc2UgYWRkIHRoZSBmb2xsb3dpbmcgdG8gdGhlDQo+ID4gY29tbWl0IG1l c3NhZ2U6DQo+ID4NCj4gPiAtLS0tLS0tLQ0KPiA+IEhvb2tpbmcgRHhlVHBtMk1lYXN1cmVCb290 TGliIGludG8gU2VjdXJpdHlTdHViRHhlIGVuc3VyZXMgdGhhdCB0aGUNCj4gPiBTZWN1cml0eSBh bmQgU2VjdXJpdHkyIEFyY2ggcHJvdG9jb2xzIHdpbGwgZW50YWlsLCBieSB0aGUgdGltZSBvZg0K PiA+IGVudGVyaW5nIHRoZSBCRFMgcGhhc2UsIHRoZSBtZWFzdXJpbmcgb2YgVUVGSSBiaW5hcmll cyBpbnRvIHRoZSBUUE0uDQo+ID4gVGh1cywgZXh0ZXJuYWwgVUVGSV9EUklWRVIgYW5kIFVFRklf QVBQTElDQVRJT04gbW9kdWxlcyAod2hpY2ggYXJlDQo+ID4gbG9hZGVkIGluIHRoZSBCRFMgcGhh c2UsIGZyb20gZGlzaywgbmV0d29yaywgUENJIG9wcm9tLCBldGMpIHdpbGwgYmUNCj4gPiBtZWFz dXJlZC4NCj4gPg0KPiA+IERyaXZlcnMgZGlzcGF0Y2hlZCBpbiB0aGUgRFhFIHBoYXNlIGJlZm9y ZSBUY2cyRHhlIHdpbGwgbm90IGJlIG1lYXN1cmVkDQo+ID4gaW5kaXZpZHVhbGx5OyBob3dldmVy IHN1Y2ggZHJpdmVycyBjb21lIGZyb20gdGhlIGZpcm13YXJlIHZvbHVtZShzKSwgYW5kDQo+ID4g dGhvc2UgYXJlIG1lYXN1cmVkIGluIHRoZSBQRUkgcGhhc2UgYnkgVGNnMlBlaS4NCj4gPiAtLS0t LS0tLQ0KPiA+DQo+ID4gVGhhbmtzIQ0KPiA+IExhc3psbw0KPiBfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPiBlZGsyLWRldmVsIG1haWxpbmcgbGlzdA0K PiBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZw0KPiBodHRwczovL2xpc3RzLjAxLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2VkazItZGV2ZWwNCg==