From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by mx.groups.io with SMTP id smtpd.web10.3251.1578385919125026788 for ; Tue, 07 Jan 2020 00:31:59 -0800 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 134.134.136.20, mailfrom: jiewen.yao@intel.com) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 07 Jan 2020 00:31:57 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.69,405,1571727600"; d="scan'208";a="271434816" Received: from fmsmsx108.amr.corp.intel.com ([10.18.124.206]) by FMSMGA003.fm.intel.com with ESMTP; 07 Jan 2020 00:31:56 -0800 Received: from FMSMSX110.amr.corp.intel.com (10.18.116.10) by FMSMSX108.amr.corp.intel.com (10.18.124.206) with Microsoft SMTP Server (TLS) id 14.3.439.0; Tue, 7 Jan 2020 00:31:48 -0800 Received: from shsmsx105.ccr.corp.intel.com (10.239.4.158) by fmsmsx110.amr.corp.intel.com (10.18.116.10) with Microsoft SMTP Server (TLS) id 14.3.439.0; Tue, 7 Jan 2020 00:31:47 -0800 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.202]) by SHSMSX105.ccr.corp.intel.com ([169.254.11.28]) with mapi id 14.03.0439.000; Tue, 7 Jan 2020 16:31:45 +0800 From: "Yao, Jiewen" To: "Gao, Zhichao" , "devel@edk2.groups.io" CC: "Wang, Jian J" , "Zhang, Chao B" , "Justen, Jordan L" , Laszlo Ersek , Ard Biesheuvel , =?utf-8?B?TWFyYy1BbmRyw6kgTHVyZWF1?= , "Stefan Berger" Subject: Re: [edk2-devel] [PATCH 00/13] Extend and fix the TCG/TCG2 Physical Presence Interface Thread-Topic: [edk2-devel] [PATCH 00/13] Extend and fix the TCG/TCG2 Physical Presence Interface Thread-Index: AQHVweKINv4kHl9GkkOll1rQ3CYyxKfYQblggAAS/uCAABT/kIAABbtggAZE/HCAADCZUA== Date: Tue, 7 Jan 2020 08:31:45 +0000 Message-ID: <74D8A39837DF1E4DA445A8C0B3885C503F8D3615@shsmsx102.ccr.corp.intel.com> References: <20200103030428.28176-1-zhichao.gao@intel.com> <74D8A39837DF1E4DA445A8C0B3885C503F8C9AAA@shsmsx102.ccr.corp.intel.com> <3CE959C139B4C44DBEA1810E3AA6F9000B8BBFA2@SHSMSX101.ccr.corp.intel.com> <15E649625DE7E06B.2038@groups.io> <74D8A39837DF1E4DA445A8C0B3885C503F8C9DEB@shsmsx102.ccr.corp.intel.com> <3CE959C139B4C44DBEA1810E3AA6F9000B8BF958@SHSMSX101.ccr.corp.intel.com> In-Reply-To: <3CE959C139B4C44DBEA1810E3AA6F9000B8BF958@SHSMSX101.ccr.corp.intel.com> Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiYWFiY2ExZDctMmVlZi00MTM5LWFhYTYtMzA1ZjA5NzllMDllIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiVW1IUVltSWVHanY2YVd4Q2ZyNnlrdCtkcVc2RHNTMDNjaGhsN3ZTa1RNUnVEaFlCbyt5V2ZBTVcwWkdZZFZnSCJ9 x-ctpclassification: CTP_NT dlp-product: dlpe-windows dlp-version: 11.2.0.6 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Return-Path: jiewen.yao@intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 QmVsb3c6DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogR2FvLCBaaGlj aGFvIDx6aGljaGFvLmdhb0BpbnRlbC5jb20+DQo+IFNlbnQ6IFR1ZXNkYXksIEphbnVhcnkgNywg MjAyMCA0OjA2IFBNDQo+IFRvOiBZYW8sIEppZXdlbiA8amlld2VuLnlhb0BpbnRlbC5jb20+OyBk ZXZlbEBlZGsyLmdyb3Vwcy5pbw0KPiBDYzogV2FuZywgSmlhbiBKIDxqaWFuLmoud2FuZ0BpbnRl bC5jb20+OyBaaGFuZywgQ2hhbyBCDQo+IDxjaGFvLmIuemhhbmdAaW50ZWwuY29tPjsgSnVzdGVu LCBKb3JkYW4gTCA8am9yZGFuLmwuanVzdGVuQGludGVsLmNvbT47DQo+IExhc3psbyBFcnNlayA8 bGVyc2VrQHJlZGhhdC5jb20+OyBBcmQgQmllc2hldXZlbCA8YXJkLmJpZXNoZXV2ZWxAbGluYXJv Lm9yZz47DQo+IE1hcmMtQW5kcsOpIEx1cmVhdSA8bWFyY2FuZHJlLmx1cmVhdUByZWRoYXQuY29t PjsgU3RlZmFuIEJlcmdlcg0KPiA8c3RlZmFuYkBsaW51eC5pYm0uY29tPg0KPiBTdWJqZWN0OiBS RTogW2VkazItZGV2ZWxdIFtQQVRDSCAwMC8xM10gRXh0ZW5kIGFuZCBmaXggdGhlIFRDRy9UQ0cy IFBoeXNpY2FsDQo+IFByZXNlbmNlIEludGVyZmFjZQ0KPiANCj4gDQo+IA0KPiA+IC0tLS0tT3Jp Z2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gRnJvbTogWWFvLCBKaWV3ZW4gPGppZXdlbi55YW9AaW50 ZWwuY29tPg0KPiA+IFNlbnQ6IEZyaWRheSwgSmFudWFyeSAzLCAyMDIwIDE6NTkgUE0NCj4gPiBU bzogZGV2ZWxAZWRrMi5ncm91cHMuaW87IFlhbywgSmlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNv bT47IEdhbywNCj4gWmhpY2hhbw0KPiA+IDx6aGljaGFvLmdhb0BpbnRlbC5jb20+DQo+ID4gQ2M6 IFdhbmcsIEppYW4gSiA8amlhbi5qLndhbmdAaW50ZWwuY29tPjsgWmhhbmcsIENoYW8gQg0KPiA+ IDxjaGFvLmIuemhhbmdAaW50ZWwuY29tPjsgSnVzdGVuLCBKb3JkYW4gTCA8am9yZGFuLmwuanVz dGVuQGludGVsLmNvbT47DQo+ID4gTGFzemxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbT47IEFy ZCBCaWVzaGV1dmVsDQo+IDxhcmQuYmllc2hldXZlbEBsaW5hcm8ub3JnPjsNCj4gPiBNYXJjLUFu ZHLDqSBMdXJlYXUgPG1hcmNhbmRyZS5sdXJlYXVAcmVkaGF0LmNvbT47IFN0ZWZhbiBCZXJnZXIN Cj4gPiA8c3RlZmFuYkBsaW51eC5pYm0uY29tPg0KPiA+IFN1YmplY3Q6IFJFOiBbZWRrMi1kZXZl bF0gW1BBVENIIDAwLzEzXSBFeHRlbmQgYW5kIGZpeCB0aGUgVENHL1RDRzIgUGh5c2ljYWwNCj4g PiBQcmVzZW5jZSBJbnRlcmZhY2UNCj4gPg0KPiA+IFNvbWUgb3RoZXIgY29tbWVudDoNCj4gPg0K PiA+IDYuIEkgZGlzYWdyZWUgdG8gbW92ZSBOdkRhdGEuaCB0byBzZWN1cml0eVBrZy4NCj4gPiBU aGlzIGlzIGRlc2lnbmVkIHRvIGJlIGFuIGludGVybmFsIHZhcmlhYmxlLg0KPiA+IFdoeSBpdCBu ZWVkIHRvIG1vdmUgdG8gc2VjdXJpdHkgcGtnIHRvIHNoYXJlIHdpdGggb3RoZXIgZHJpdmVyPw0K PiA+DQo+ID4gSSBhZ3JlZSB0aGF0IGR1cGxpY2F0aW5nIGNvZGUgaXMgYmFkIHNvbHV0aW9uLg0K PiA+IEFuZCBleHBvc2luZyBpbnRlcm5hbCBkYXRhIHN0cnVjdHVyZSBpcyBhcyBiYWQgYXMgZHVw bGljYXRpbmcgY29kZS4NCj4gPg0KPiA+IEJ5IGRlc2lnbiwgdGhlIHBsYXRmb3JtIGNhbiBoYXZl IGl0cyBvd24gVENHIHBsYXRmb3JtIGxpYiBhbmQgaXRzIG93bg0KPiBOdkRhdGEuaC4NCj4gPiBX b3VsZCB5b3UgcGxlYXNlIGhlbHAgbWUgdW5kZXJzdGFuZCB3aHkgdGhpcyBpcyBuZWVkZWQ/DQo+ IA0KPiBTb21lIGRlZmluaXRpb25zIGluIHRoZSBOdkRhdGEuaCBhcmUgdXNlZnVsIGZvciBUY2cy VmVybmRvckxpYiwgc3VjaCBhczoNCj4gI2RlZmluZSBUUE1fREVWSUNFX05VTEwgICAgICAgICAg IDANCj4gI2RlZmluZSBUUE1fREVWSUNFXzFfMiAgICAgICAgICAgIDENCj4gI2RlZmluZSBUUE1f REVWSUNFXzJfMF9EVFBNICAgICAgIDINCj4gI2RlZmluZSBUUE1fREVWSUNFX01JTiAgICAgICAg ICAgIFRQTV9ERVZJQ0VfMV8yDQo+ICNkZWZpbmUgVFBNX0RFVklDRV9NQVggICAgICAgICAgICBU UE1fREVWSUNFXzJfMF9EVFBNDQo+ICNkZWZpbmUgVFBNX0RFVklDRV9ERUZBVUxUICAgICAgICBU UE1fREVWSUNFXzFfMg0KPiBJJ2QgYmV0dGVyIHRvIG1vdmUgdGhlIGNvbW1vbiBkZWZpbml0aW9u IHRvIGEgbm9ybWFsIHRjZyBkZXZpY2UgcmVsYXRlZCBoZWFkZXINCj4gZmlsZSBpbnN0ZWFkIG9m IG1vdmluZyB0aGlzIGZpbGUuDQpbSmlld2VuXSBOby4NClRoaXMgaXMgZHJpdmVyIGludGVybmFs IGluZm9ybWF0aW9uLiBObyBuZWVkIHRvIHNoYXJlIGl0Lg0KT3RoZXIgZHJpdmVyIG1heSB1c2Ug ZGlmZmVyZW50IG9yZGVyLg0KDQoNCg0KPiA+IDcuIFJlbW92aW5nIGFzc2VydCBoYXMgbm8gcmVs YXRpb25zaGlwIHdpdGggdGhpcyBleHRlbmQgUFBJIGludGVyZmFjZS4NCj4gPiBJZiB5b3Ugd2Fu dCwgcGxlYXNlIGZpbGUgYW5vdGhlciBCdWd6aWxsYSBhbmQgaGFuZGxlIGl0IHNlcGFyYXRlbHku DQo+ID4NCj4gPiA4LiBGaXhpbmcgYnVnIHRvIGZvbGxvdyBzcGVjIGlzIGdvb2QuDQo+ID4gQnV0 IEkgZG8gbm90IHNlZSB0aGUgcmVsYXRpb25zaGlwIHdpdGggdGhlIFBQSSBpbnRlcmZhY2UgZXh0 ZW5zaW9uLg0KPiA+IFBsZWFzZSBmaWxlIGFub3RoZXIgQnVnemlsbGEgYW5kIGhhbmRsZSB0aGF0 IHNlcGFyYXRlbHkuDQo+ID4NCj4gDQo+IEZvciAjNywgIzggYW5kIG90aGVyIG5vbi1leHRlbmQg Y2hhbmdlcywgSSB3b3VsZCBhZGQgbmV3IEJ1Z3ppbGxhIHRvIHNlcGFyYXRlDQo+IHRoZSBwYXRj aGVzLg0KW0ppZXdlbl0gVGhhbmsgeW91Lg0KDQoNCj4gDQo+IFRoYW5rcywNCj4gWmhpY2hhbw0K PiANCj4gPg0KPiA+IFRoYW5rIHlvdQ0KPiA+IFlhbyBKaWV3ZW4NCj4gPg0KPiA+DQo+ID4NCj4g PiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiBGcm9tOiBkZXZlbEBlZGsyLmdy b3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+IE9uIEJlaGFsZiBPZiBZYW8sDQo+ID4gPiBK aWV3ZW4NCj4gPiA+IFNlbnQ6IEZyaWRheSwgSmFudWFyeSAzLCAyMDIwIDE6MzAgUE0NCj4gPiA+ IFRvOiBHYW8sIFpoaWNoYW8gPHpoaWNoYW8uZ2FvQGludGVsLmNvbT47IGRldmVsQGVkazIuZ3Jv dXBzLmlvDQo+ID4gPiBDYzogV2FuZywgSmlhbiBKIDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+OyBa aGFuZywgQ2hhbyBCDQo+ID4gPiA8Y2hhby5iLnpoYW5nQGludGVsLmNvbT47IEp1c3RlbiwgSm9y ZGFuIEwNCj4gPiA+IDxqb3JkYW4ubC5qdXN0ZW5AaW50ZWwuY29tPjsgTGFzemxvIEVyc2VrIDxs ZXJzZWtAcmVkaGF0LmNvbT47IEFyZA0KPiA+ID4gQmllc2hldXZlbCA8YXJkLmJpZXNoZXV2ZWxA bGluYXJvLm9yZz47IE1hcmMtQW5kcsOpIEx1cmVhdQ0KPiA+ID4gPG1hcmNhbmRyZS5sdXJlYXVA cmVkaGF0LmNvbT47IFN0ZWZhbiBCZXJnZXIgPHN0ZWZhbmJAbGludXguaWJtLmNvbT4NCj4gPiA+ IFN1YmplY3Q6IFJlOiBbZWRrMi1kZXZlbF0gW1BBVENIIDAwLzEzXSBFeHRlbmQgYW5kIGZpeCB0 aGUgVENHL1RDRzINCj4gPiA+IFBoeXNpY2FsIFByZXNlbmNlIEludGVyZmFjZQ0KPiA+ID4NCj4g PiA+IFdoYXQgaXMgdGhlIHBsYXRmb3JtIHVzZSBjYXNlPw0KPiA+ID4gUGxlYXNlIGdpdmUgYXQg bGVhc3Qgc29tZSBleGFtcGxlcy4NCj4gPiA+DQo+ID4gPg0KPiA+ID4gPiAtLS0tLU9yaWdpbmFs IE1lc3NhZ2UtLS0tLQ0KPiA+ID4gPiBGcm9tOiBHYW8sIFpoaWNoYW8gPHpoaWNoYW8uZ2FvQGlu dGVsLmNvbT4NCj4gPiA+ID4gU2VudDogRnJpZGF5LCBKYW51YXJ5IDMsIDIwMjAgMTowOCBQTQ0K PiA+ID4gPiBUbzogWWFvLCBKaWV3ZW4gPGppZXdlbi55YW9AaW50ZWwuY29tPjsgZGV2ZWxAZWRr Mi5ncm91cHMuaW8NCj4gPiA+ID4gQ2M6IFdhbmcsIEppYW4gSiA8amlhbi5qLndhbmdAaW50ZWwu Y29tPjsgWmhhbmcsIENoYW8gQg0KPiA+ID4gPiA8Y2hhby5iLnpoYW5nQGludGVsLmNvbT47IEp1 c3RlbiwgSm9yZGFuIEwNCj4gPiA+ID4gPGpvcmRhbi5sLmp1c3RlbkBpbnRlbC5jb20+OyBMYXN6 bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQuY29tPjsgQXJkDQo+ID4gPiA+IEJpZXNoZXV2ZWwNCj4g PiA+IDxhcmQuYmllc2hldXZlbEBsaW5hcm8ub3JnPjsNCj4gPiA+ID4gTWFyYy1BbmRyw6kgTHVy ZWF1IDxtYXJjYW5kcmUubHVyZWF1QHJlZGhhdC5jb20+OyBTdGVmYW4gQmVyZ2VyDQo+ID4gPiA+ IDxzdGVmYW5iQGxpbnV4LmlibS5jb20+DQo+ID4gPiA+IFN1YmplY3Q6IFJFOiBbUEFUQ0ggMDAv MTNdIEV4dGVuZCBhbmQgZml4IHRoZSBUQ0cvVENHMiBQaHlzaWNhbA0KPiA+ID4gPiBQcmVzZW5j ZSBJbnRlcmZhY2UNCj4gPiA+ID4NCj4gPiA+ID4gU2VlIGJlbG93Lg0KPiA+ID4gPg0KPiA+ID4g PiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiA+ID4gRnJvbTogWWFvLCBKaWV3 ZW4NCj4gPiA+ID4gPiBTZW50OiBGcmlkYXksIEphbnVhcnkgMywgMjAyMCAxMTowOSBBTQ0KPiA+ ID4gPiA+IFRvOiBHYW8sIFpoaWNoYW8gPHpoaWNoYW8uZ2FvQGludGVsLmNvbT47IGRldmVsQGVk azIuZ3JvdXBzLmlvDQo+ID4gPiA+ID4gQ2M6IFdhbmcsIEppYW4gSiA8amlhbi5qLndhbmdAaW50 ZWwuY29tPjsgWmhhbmcsIENoYW8gQg0KPiA+ID4gPiA+IDxjaGFvLmIuemhhbmdAaW50ZWwuY29t PjsgSnVzdGVuLCBKb3JkYW4gTA0KPiA+ID4gPiA+IDxqb3JkYW4ubC5qdXN0ZW5AaW50ZWwuY29t PjsgTGFzemxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbT47IEFyZA0KPiA+ID4gPiA+IEJpZXNo ZXV2ZWwgPGFyZC5iaWVzaGV1dmVsQGxpbmFyby5vcmc+OyBNYXJjLUFuZHLDqSBMdXJlYXUNCj4g PiA+ID4gPiA8bWFyY2FuZHJlLmx1cmVhdUByZWRoYXQuY29tPjsgU3RlZmFuIEJlcmdlcg0KPiA+ ID4gPiA+IDxzdGVmYW5iQGxpbnV4LmlibS5jb20+DQo+ID4gPiA+ID4gU3ViamVjdDogUkU6IFtQ QVRDSCAwMC8xM10gRXh0ZW5kIGFuZCBmaXggdGhlIFRDRy9UQ0cyIFBoeXNpY2FsDQo+ID4gPiA+ ID4gUHJlc2VuY2UgSW50ZXJmYWNlDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBIaQ0KPiA+ID4gPiA+ IEkgYW0gbm90IGNsZWFyIG9uIHRoZSBwdXJwb3NlIG9mIHRoaXMgZXh0ZW5zaW9uLg0KPiA+ID4g PiA+DQo+ID4gPiA+ID4gVGhlIEJ1Z3ppbGxhIGp1c3QgZGVzY3JpYmVzIHRoZSBzb2x1dGlvbi4N Cj4gPiA+ID4gPiBCdXQgd2hhdCBpcyB0aGUgcHJvYmxlbSB5b3UgYXJlIHRyeWluZyB0byByZXNv bHZlPw0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gSSBjb21wbGV0ZWx5IGRvbuKAmXQgdW5kZXJzdGFu ZC4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IFBsZWFzZSBkbyBjb25zaWRlciBhZGQgdGhlIGJhY2tn cm91bmQgaW5mb3JtYXRpb24gdGhlcmUuDQo+ID4gPiA+ID4gT3IgaXQgaXMgaGFyZCBmb3IgbWUg dG8gY29tbWVudC4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gVGhhbmsgeW91DQo+ ID4gPiA+ID4gWWFvIEppZXdlbg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAtLS0tLU9yaWdpbmFs IE1lc3NhZ2UtLS0tLQ0KPiA+ID4gPiA+ID4gRnJvbTogR2FvLCBaaGljaGFvIDx6aGljaGFvLmdh b0BpbnRlbC5jb20+DQo+ID4gPiA+ID4gPiBTZW50OiBGcmlkYXksIEphbnVhcnkgMywgMjAyMCAx MTowNCBBTQ0KPiA+ID4gPiA+ID4gVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+ID4gPiA+ID4g PiBDYzogWWFvLCBKaWV3ZW4gPGppZXdlbi55YW9AaW50ZWwuY29tPjsgV2FuZywgSmlhbiBKDQo+ ID4gPiA+ID4gPiA8amlhbi5qLndhbmdAaW50ZWwuY29tPjsgWmhhbmcsIENoYW8gQiA8Y2hhby5i LnpoYW5nQGludGVsLmNvbT47DQo+ID4gPiA+ID4gPiBKdXN0ZW4sIEpvcmRhbiBMIDxqb3JkYW4u bC5qdXN0ZW5AaW50ZWwuY29tPjsgTGFzemxvIEVyc2VrDQo+ID4gPiA+ID4gPiA8bGVyc2VrQHJl ZGhhdC5jb20+OyBBcmQgQmllc2hldXZlbCA8YXJkLmJpZXNoZXV2ZWxAbGluYXJvLm9yZz47DQo+ ID4gPiA+ID4gPiBNYXJjLUFuZHLDqSBMdXJlYXUgPG1hcmNhbmRyZS5sdXJlYXVAcmVkaGF0LmNv bT47IFN0ZWZhbiBCZXJnZXINCj4gPiA+ID4gPiA+IDxzdGVmYW5iQGxpbnV4LmlibS5jb20+DQo+ ID4gPiA+ID4gPiBTdWJqZWN0OiBbUEFUQ0ggMDAvMTNdIEV4dGVuZCBhbmQgZml4IHRoZSBUQ0cv VENHMiBQaHlzaWNhbA0KPiA+ID4gPiA+ID4gUHJlc2VuY2UgSW50ZXJmYWNlDQo+ID4gPiA+ID4g Pg0KPiA+ID4gPiA+ID4gUkVGOiBodHRwczovL2J1Z3ppbGxhLnRpYW5vY29yZS5vcmcvc2hvd19i dWcuY2dpP2lkPTI0NDMNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAxLiBBZGQgdHdvIGludGVy ZmFjZXMgVGNnMlBwVmVuZG9yTGliRXhlY3V0ZVBlbmRpbmdSZXF1ZXN0RXggYW5kDQo+ID4gPiA+ ID4gPiBUY2cyUHBWZW5kb3JMaWJTdWJtaXRSZXF1ZXN0VG9QcmVPU0Z1bmN0aW9uRXggdG8NCj4g VGNnMlBwVmVuZG9yTGliLg0KPiA+ID4gSXQNCj4gPiA+ID4gPiA+IGhhcyBvbmUgbW9yZSBwYXJh bWV0ZXIgUFBEYXRhICh0eXBlIEVGSV9UQ0cyX1BIWVNJQ0FMX1BSRVNFTkNFKQ0KPiA+ID4gPiA+ ID4gdG8gdHJhbnNmZXIgbW9yZSBkYXRhLg0KPiA+ID4gPiA+ID4gMi4gVXNlIHRoZSBFeCB2ZXJz aW9uIGluc3RlYWQgb2Ygb3JpZ2luYWwgb25lIGluDQo+ID4gPiA+ID4gPiBUY2cyUGh5c2ljYWxQ cmVzZW5jZUxpYiAzLiBBZGQgYSBwY2QNCj4gPiA+ID4gPiA+IFBjZFBoeXNpY2FsUHJlc2VuY2VV c2VyQ29uZmlybVRpbWVvdXQgdG8gY29udHJvbCB0aGUgdXNlcg0KPiA+ID4gPiA+ID4gY29uZmly bSBpbnB1dCBrZXkgdGltZW91dC4NCj4gPiA+ID4gPiA+IDQuIEFkZCBGdW5jdGlvbkluZGV4IHRv IHN0cnVjdHVyZSB0eXBlDQo+ID4gPiA+ID4gPiBFRklfVENHMl9QSFlTSUNBTF9QUkVTRU5DRSB0 byB0cmFuc2Zlcg0KPiA+ID4gPiA+ID4gbVRjZ052cy0+UGh5c2ljYWxQcmVzZW5jZS5QYXJhbWV0 ZXIgZGF0YS4NCj4gPiA+ID4gPiA+IDUuIEFkZCBwYXJhbWV0ZXIgRnVuY3Rpb25JbmRleCB0bw0K PiA+ID4gPiA+ID4gVGNnMlBoeXNpY2FsUHJlc2VuY2VMaWJTdWJtaXRSZXF1ZXN0VG9QcmVPU0Z1 bmN0aW9uRXgNCj4gPiA+ID4gPiA+IHRvIGluaXRpYWxpemUgdGhlIFBQZGF0YS4NCj4gPiA+ID4N Cj4gPiA+ID4gQmFja2dyb3VuZDoNCj4gPiA+ID4gU29tZSBwbGF0Zm9ybXMgaW1wbGVtZW50IHRo ZWlyIG93biBUY2cyUHBWZW5kb3JMaWIgYW5kIHdhbnQgdG8NCj4gPiA+ID4gb3BlcmF0ZSB3aXRo IG1vcmUgcGFyYW1ldGVycy4NCj4gPiA+ID4NCj4gPiA+ID4gIzEtIzIgYW5kICM0LSM1IGNoYW5n ZXMgYWltIHRvIGFkZCBleHRlbmQgdGhlIGludGVyZmFjZSB3aXRoIFBQZGF0YS4NCj4gPiA+ID4g UFBkYXRhIHBvaW50ZXIgY2FuIHRyYW5zZmVyIG1vc3Qgb2YgdGhlIHJlcXVpcmVkIHBhcmFtZXRl ciB0byBkbyB0aGUNCj4gPiBvcGVyYXRpb24uDQo+ID4gPiA+IEFsbCB0aGUgZXh0ZW5kIGNoYW5n ZXMgaXMgZm9yIHRoZSBQUGRhdGEgYW5kIHRyYW5zZmVyIHRvIHRoZQ0KPiA+ID4gPiBwbGF0Zm9y bSBpbXBsZW1lbnRlZCBpbnRlcmZhY2VzLiBUaGlzIHdvdWxkIGFmZmVjdCB0aGUgcGxhdGZvcm1z DQo+ID4gPiA+IHdoaWNoIGltcGxlbWVudA0KPiA+ID4gdGhlaXINCj4gPiA+ID4gb3duIFRjZzJQ cFZlbmRvckxpYi4NCj4gPiA+ID4gQnV0IGZvciBvcGVuIHNvdXJjZSBwbGF0Zm9ybSwgSSBkaWRu J3Qgc2VlIGFueSBpbXBsZW1lbnRhdGlvbiBvZiBpdC4NCj4gPiA+ID4NCj4gPiA+ID4gIzMgYWlt cyB0byBhZGQgYSBwY2QgdG8gbGV0IHRoZSBjdXN0b21lcnMgdG8gZGVjaWRlIHdoZXRoZXIgdG8g d2FpdA0KPiA+ID4gPiBmb3IgdGhlIGlucHV0IGZvcmV2ZXIgb3Igd2l0aCBhIHRpbWVvdXQgY291 bnQuDQo+ID4gPiA+DQo+ID4gPiA+ID4gPiA2LiBNb3ZlIFRjZzJDb25maWdOdkRhdGEuaCBmcm9t IFNlY3VyaXR5UGtnL1RjZy9UY2cyQ29uZmlnIHRvDQo+ID4gPiA+ID4gPiBTZWN1cml0eVBrZy9J bmNsdWRlLg0KPiA+ID4gPiA+ID4gSXQgaXMgdXNlZnVsIGZvciBwbGF0Zm9ybSBjb2RlIHRvIGlt cGxlbWVudCB0aGVpciBvd24NCj4gPiA+ID4gVGNnMlBoeXNpY2FsUHJlc2VuY2VMaWIuDQo+ID4g PiA+DQo+ID4gPiA+ICM2IGlzIGEgbW92ZW1lbnQgdG8gZGVjcmVhc2UgdGhlIGR1cGxpY2F0ZWQg Y29kZSBhdCBwbGF0Zm9ybSBzaWRlIGlmDQo+ID4gPiA+IHRoZSBwbGF0Zm9ybSBjb2RlIGltcGxl bWVudCBpdHMgb3duIFRDRyBsaWJyYXJ5IG9yIGRyaXZlci4NCj4gPiA+ID4NCj4gPiA+ID4gPiA+ IDcuIFJlcGxhY2UgdGhlIEFTU0VSVCB3aXRoIGVycm9yIGNvZGUgcmV0dXJuIGluDQo+ID4gPiA+ ID4gPiBUcG1QaHlzaWNhbFByZXNlbmNlTGliDQo+ID4gPiA+DQo+ID4gPiA+ICM3IGFpbXMgdG8g cmVtb3ZlIHRoZSBBU1NFUlQgYmVjYXVzZSBpdCBpcyBub3QgY3JpdGljYWwuIEFTU0VSVCB3aGVu DQo+ID4gPiA+IGZhaWwgdG8NCj4gPiA+IGNhbGwNCj4gPiA+ID4gVHBtUGh5c2ljYWxQcmVzZW5j ZSBhbmQgR2V0VHBtQ2FwYWJpbGl0eSBpcyBub3QgYSBnb29kIGJlaGF2aW9yLg0KPiA+ID4gPg0K PiA+ID4gPiA+ID4gOC4gRml4IG9uZSBvcGVyYXRpb24NCj4gPiA+ID4gPiA+IChQSFlTSUNBTF9Q UkVTRU5DRV9ERUFDVElWQVRFX0RJU0FCTEVfT1dORVJfRkFMU0UpIGZsb3cgb2YNCj4gPiA+ID4g PiA+IFRjZ1BoeXNpY2FsUHJlc2VuY2VMaWIgKHJlZmVyIHRvIFBoeXNpY2FsIFByZXNlbmNlIElu dGVyZmFjZSBTcGVjIFBhZ2UNCj4gPiAzNykuDQo+ID4gPiA+DQo+ID4gPiA+ICM4IGlzIGEgYnVn IGZpeCB0byBmb2xsb3cgdGhlIHNwZWMuDQo+ID4gPiA+DQo+ID4gPiA+IFRoYW5rcywNCj4gPiA+ ID4gWmhpY2hhbw0KPiA+ID4gPg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IENjOiBKaWV3ZW4g WWFvIDxqaWV3ZW4ueWFvQGludGVsLmNvbT4NCj4gPiA+ID4gPiA+IENjOiBKaWFuIEogV2FuZyA8 amlhbi5qLndhbmdAaW50ZWwuY29tPg0KPiA+ID4gPiA+ID4gQ2M6IENoYW8gWmhhbmcgPGNoYW8u Yi56aGFuZ0BpbnRlbC5jb20+DQo+ID4gPiA+ID4gPiBDYzogSm9yZGFuIEp1c3RlbiA8am9yZGFu LmwuanVzdGVuQGludGVsLmNvbT4NCj4gPiA+ID4gPiA+IENjOiBMYXN6bG8gRXJzZWsgPGxlcnNl a0ByZWRoYXQuY29tPg0KPiA+ID4gPiA+ID4gQ2M6IEFyZCBCaWVzaGV1dmVsIDxhcmQuYmllc2hl dXZlbEBsaW5hcm8ub3JnPg0KPiA+ID4gPiA+ID4gQ2M6IE1hcmMtQW5kcsOpIEx1cmVhdSA8bWFy Y2FuZHJlLmx1cmVhdUByZWRoYXQuY29tPg0KPiA+ID4gPiA+ID4gQ2M6IFN0ZWZhbiBCZXJnZXIg PHN0ZWZhbmJAbGludXguaWJtLmNvbT4NCj4gPiA+ID4gPiA+IFNpZ25lZC1vZmYtYnk6IFpoaWNo YW8gR2FvIDx6aGljaGFvLmdhb0BpbnRlbC5jb20+IFpoaWNoYW8gR2FvICgxMyk6DQo+ID4gPiA+ ID4gPiAgIFNlY3VyaXR5UGtnL1RjZzJQcFZlcm5kb3JMaWI6IEFkZCB0d28gRXggZnVuY3Rpb24g dG8gaGFuZGxlIFBQZGF0YQ0KPiA+ID4gPiA+ID4gICBTZWN1cml0eVBrZy9UY2cyUHBWZW5kb3JM aWI6IEFkZCBpbXBsZW1lbnRhdGlvbiBvZiBuZXcgRXgNCj4gZnVuY3Rpb24NCj4gPiA+ID4gPiA+ ICAgU2VjdXJpdHlQa2cvVGNnMlBoeXNpY2FsUHJlc2VuY2VMaWI6IFVzZSB0aGUgbmV3IEV4IGZ1 bmN0aW9uDQo+ID4gPiA+ID4gPiAgIFNlY3VyaXR5UGtnL1NtbVRjZzJQaHlzaWNhbFByZXNlbmNl TGliOiBVc2UgdGhlIG5ldyBFeCBmdW5jdGlvbg0KPiA+ID4gPiA+ID4gICBTZWN1cml0eVBrZy9k ZWM6IEFkZCBhIHBjZCBmb3IgdXNlciByZXNwb25zZSB3YWl0IHRpbWUNCj4gPiA+ID4gPiA+ICAg T3ZtZlBrZy9UY2cyUGh5c2ljYWxQcmVzZW5jZUxpYjogVXNlIHBjZCBmb3IgdXNlciByZXNwb25z ZSB3YWl0DQo+IHRpbWUNCj4gPiA+ID4gPiA+ICAgU2VjdXJpdHlQa2cvVGNnMlBoeXNpY2FsUHJl c2VuY2VMaWI6IFVzZSBQY2QgZm9yIHVzZXIgcmVzcCB3YWl0IHRpbWUNCj4gPiA+ID4gPiA+ICAg U2VjdXJpdHlQa2cvVGNnUHloc2ljYWxQcmVzZW5jZUxpYjogVXNlIFBjZCBmb3IgdXNlciByZXNw IHdhaXQgdGltZQ0KPiA+ID4gPiA+ID4gICBTZWN1cml0eVBrZy9UY2cyUGh5c2ljYWxQcmVzZW5j ZURhdGEuaDogQWRkIEZ1bmN0aW9uSW5kZXggZm9yDQo+IFBQZGF0YQ0KPiA+ID4gPiA+ID4gICBT ZWN1cml0eVBrZy9UY2cyUGh5c2ljYWxQcmVzZW5jZUxpYjogRXh0ZW5kIHRoZSBzdWJtaXQgcHJl T1MgZnVuYw0KPiA+ID4gPiA+ID4gICBTZWN1cml0eVBrZzogTW92ZSB0aGUgVGNnMkNvbmZpZ052 RGF0YS5oIHRvIEluY2x1ZGUgZm9sZGVyDQo+ID4gPiA+ID4gPiAgIFNlY3VyaXR5UGtnL1RjZ1Bo eXNpY2FsUHJlc2VuY2VMaWI6IFJlcGxhY2UgdGhlIEFTU0VSVCB3aXRoIGVycm9yDQo+ID4gY29k ZQ0KPiA+ID4gPiA+ID4gICBTZWN1cml0eVBrZy9UY2dQaHlzaWNhbFByZXNlbmNlTGliOiBGaXgg dGhlIG9wZXJhdGlvbiBvZiAxMQ0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICAuLi4vRHhlVGNn MlBoeXNpY2FsUHJlc2VuY2VMaWIuYyAgICAgICAgICAgICAgfCAgNjMgKysrKysrKy0tLQ0KPiA+ ID4gPiA+ID4gIC4uLi9EeGVUY2cyUGh5c2ljYWxQcmVzZW5jZUxpYi5pbmYgICAgICAgICAgICB8 ICAgNiArLQ0KPiA+ID4gPiA+ID4gIC4uLi9JbmNsdWRlL0d1aWQvVGNnMlBoeXNpY2FsUHJlc2Vu Y2VEYXRhLmggICB8ICAgMyArLQ0KPiA+ID4gPiA+ID4gIC4uLi9JbmNsdWRlL0xpYnJhcnkvVGNn MlBoeXNpY2FsUHJlc2VuY2VMaWIuaCB8ICAgNCArLQ0KPiA+ID4gPiA+ID4gIFNlY3VyaXR5UGtn L0luY2x1ZGUvTGlicmFyeS9UY2cyUHBWZW5kb3JMaWIuaCB8ICA1NCArKysrKysrKy0NCj4gPiA+ ID4gPiA+ICAuLi4vVGNnMkNvbmZpZyA9PiBJbmNsdWRlfS9UY2cyQ29uZmlnTnZEYXRhLmggfCAg IDIgKy0NCj4gPiA+ID4gPiA+ICAuLi4vRHhlVGNnMlBoeXNpY2FsUHJlc2VuY2VMaWIuYyAgICAg ICAgICAgICAgfCAgNjggKysrKysrKystLS0NCj4gPiA+ID4gPiA+ICAuLi4vRHhlVGNnMlBoeXNp Y2FsUHJlc2VuY2VMaWIuaW5mICAgICAgICAgICAgfCAgIDQgKy0NCj4gPiA+ID4gPiA+ICAuLi4v RHhlVGNnUGh5c2ljYWxQcmVzZW5jZUxpYi5jICAgICAgICAgICAgICAgfCAxMTAgKysrKysrKysr KysrLS0tLS0tDQo+ID4gPiA+ID4gPiAgLi4uL0R4ZVRjZ1BoeXNpY2FsUHJlc2VuY2VMaWIuaW5m ICAgICAgICAgICAgIHwgICA2ICstDQo+ID4gPiA+ID4gPiAgLi4uL1NtbVRjZzJQaHlzaWNhbFBy ZXNlbmNlTGliLmMgICAgICAgICAgICAgIHwgIDE1ICsrLQ0KPiA+ID4gPiA+ID4gIC4uLi9UY2cy UHBWZW5kb3JMaWJOdWxsL1RjZzJQcFZlbmRvckxpYk51bGwuYyB8ICA2MSArKysrKysrKystDQo+ ID4gPiA+ID4gPiAgU2VjdXJpdHlQa2cvU2VjdXJpdHlQa2cuZGVjICAgICAgICAgICAgICAgICAg IHwgICA3ICstDQo+ID4gPiA+ID4gPiAgU2VjdXJpdHlQa2cvU2VjdXJpdHlQa2cudW5pICAgICAg ICAgICAgICAgICAgIHwgICA3ICstDQo+ID4gPiA+ID4gPiAgU2VjdXJpdHlQa2cvVGNnL1RjZzJD b25maWcvVGNnMkNvbmZpZy52ZnIgICAgIHwgICA0ICstDQo+ID4gPiA+ID4gPiAgU2VjdXJpdHlQ a2cvVGNnL1RjZzJDb25maWcvVGNnMkNvbmZpZ0R4ZS5pbmYgIHwgICAzICstDQo+ID4gPiA+ID4g PiAgU2VjdXJpdHlQa2cvVGNnL1RjZzJDb25maWcvVGNnMkNvbmZpZ0ltcGwuaCAgIHwgICA0ICst DQo+ID4gPiA+ID4gPiAgU2VjdXJpdHlQa2cvVGNnL1RjZzJDb25maWcvVGNnMkNvbmZpZ1BlaS5p bmYgIHwgICAzICstDQo+ID4gPiA+ID4gPiAgU2VjdXJpdHlQa2cvVGNnL1RjZzJDb25maWcvVGNn MkNvbmZpZ1BlaW0uYyAgIHwgICA0ICstDQo+ID4gPiA+ID4gPiAgU2VjdXJpdHlQa2cvVGNnL1Rj ZzJDb25maWcvVHBtRGV0ZWN0aW9uLmMgICAgIHwgICA0ICstDQo+ID4gPiA+ID4gPiAgU2VjdXJp dHlQa2cvVGNnL1RjZzJTbW0vVGNnMlNtbS5jICAgICAgICAgICAgIHwgIDEwICstDQo+ID4gPiA+ ID4gPiAgMjEgZmlsZXMgY2hhbmdlZCwgMzQ3IGluc2VydGlvbnMoKyksIDk1IGRlbGV0aW9ucygt KSAgcmVuYW1lDQo+ID4gPiA+ID4gPiBTZWN1cml0eVBrZy97VGNnL1RjZzJDb25maWcgPT4gSW5j bHVkZX0vVGNnMkNvbmZpZ052RGF0YS5oICg5NCUpDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4g LS0NCj4gPiA+ID4gPiA+IDIuMjEuMC53aW5kb3dzLjENCj4gPiA+DQo+ID4gPg0KPiA+ID4gDQoN Cg==