From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) (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 9391521A16EFD for ; Thu, 18 May 2017 01:40:54 -0700 (PDT) Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga105.fm.intel.com with ESMTP; 18 May 2017 01:40:54 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.38,358,1491289200"; d="scan'208,217";a="970035256" Received: from fmsmsx105.amr.corp.intel.com ([10.18.124.203]) by orsmga003.jf.intel.com with ESMTP; 18 May 2017 01:40:53 -0700 Received: from fmsmsx112.amr.corp.intel.com (10.18.116.6) by FMSMSX105.amr.corp.intel.com (10.18.124.203) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 18 May 2017 01:40:52 -0700 Received: from shsmsx104.ccr.corp.intel.com (10.239.4.70) by FMSMSX112.amr.corp.intel.com (10.18.116.6) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 18 May 2017 01:40:52 -0700 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.246]) by SHSMSX104.ccr.corp.intel.com ([10.239.4.70]) with mapi id 14.03.0319.002; Thu, 18 May 2017 16:40:50 +0800 From: "Yao, Jiewen" To: Ard Biesheuvel , "Duran, Leo" CC: "edk2-devel@lists.01.org" , "Ni, Ruiyu" , "Singh, Brijesh" Thread-Topic: [PATCH V5 0/3] Add IOMMU support. Thread-Index: AQHSzB8PoQFSCa6oj0a3wMYVoySFr6H5Ra6AgACGjSA= Date: Thu, 18 May 2017 08:40:48 +0000 Message-ID: <74D8A39837DF1E4DA445A8C0B3885C503A9520D6@shsmsx102.ccr.corp.intel.com> References: <1493915561-8500-1-git-send-email-jiewen.yao@intel.com> In-Reply-To: Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 10.0.102.7 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 X-Content-Filtered-By: Mailman/MimeDel 2.1.22 Subject: Re: [PATCH V5 0/3] Add IOMMU support. X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 May 2017 08:40:54 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VGhhbmsgeW91IEFyZC4gWW91IGFyZSByaWdodC4NCg0KV2UgYWxzbyBub3RpY2UgdGhhdCBhbmQg c3VibWl0dGVkIGEgbmV3IHBhdGNoIGluIHRoZSBtb3JuaW5nIOKAkyDigJxbcGF0Y2hdIE1kZU1v ZHVsZVBrZy9QY2lIb3N0QnJpZGdlRHhlOiBGaXggRUJDIGJ1aWxkIGZhaWx1cmXigJ0NCg0KVGhh bmsgeW91DQpZYW8gSmlld2VuDQoNCkZyb206IEFyZCBCaWVzaGV1dmVsIFttYWlsdG86YXJkLmJp ZXNoZXV2ZWxAbGluYXJvLm9yZ10NClNlbnQ6IFRodXJzZGF5LCBNYXkgMTgsIDIwMTcgNDozOCBQ TQ0KVG86IER1cmFuLCBMZW8gPGxlby5kdXJhbkBhbWQuY29tPjsgWWFvLCBKaWV3ZW4gPGppZXdl bi55YW9AaW50ZWwuY29tPg0KQ2M6IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnOyBOaSwgUnVpeXUg PHJ1aXl1Lm5pQGludGVsLmNvbT47IFNpbmdoLCBCcmlqZXNoIDxicmlqZXNoLnNpbmdoQGFtZC5j b20+DQpTdWJqZWN0OiBSZTogW1BBVENIIFY1IDAvM10gQWRkIElPTU1VIHN1cHBvcnQuDQoNCk9u IDEzIE1heSAyMDE3IGF0IDIwOjI3LCBEdXJhbiwgTGVvIDxsZW8uZHVyYW5AYW1kLmNvbTxtYWls dG86bGVvLmR1cmFuQGFtZC5jb20+PiB3cm90ZToNCj4gUmV2aWV3ZWQtYnk6IExlbyBEdXJhbiA8 bGVvLmR1cmFuQGFtZC5jb208bWFpbHRvOmxlby5kdXJhbkBhbWQuY29tPj4NCj4NCj4gVGhhbmtz LA0KPiBMZW8uDQo+DQoNCg0KVGhlc2UgcGF0Y2hlcyBhcmUgYnJlYWtpbmcgdGhlIGJ1aWxkIGZv ciBtZSB1bmRlciBDbGFuZy4gQXBvbG9naWVzIGZvcg0Kbm90IHNwb3R0aW5nIHRoYXQgYXQgcmV2 aWV3IHRpbWUuDQoNCjxodHRwczovL2NpLmxpbmFyby5vcmcvam9iL2xlZy12aXJ0LXRpYW5vY29y ZS1lZGsyLXVwc3RyZWFtL3dzL2VkazIvTWRlTW9kdWxlUGtnL0J1cy9QY2kvUGNpSG9zdEJyaWRn ZUR4ZS9QY2lSb290QnJpZGdlSW8uYz46MTA4ODozMjoNCmVycm9yOiBpbXBsaWNpdCBjb252ZXJz aW9uIGZyb20gZW51bWVyYXRpb24gdHlwZQ0KJ0VGSV9QQ0lfUk9PVF9CUklER0VfSU9fUFJPVE9D T0xfT1BFUkFUSU9OJyB0byBkaWZmZXJlbnQgZW51bWVyYXRpb24NCnR5cGUgJ0VES0lJX0lPTU1V X09QRVJBVElPTicgWy1XZXJyb3IsLVdlbnVtLWNvbnZlcnNpb25dDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgT3BlcmF0aW9uLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF5+fn5+fn5+fg0KMSBlcnJvciBnZW5lcmF0ZWQuDQoNCg0KPj4gLS0tLS1PcmlnaW5hbCBNZXNz YWdlLS0tLS0NCj4+IEZyb206IEppZXdlbiBZYW8gW21haWx0bzpqaWV3ZW4ueWFvQGludGVsLmNv bV0NCj4+IFNlbnQ6IFRodXJzZGF5LCBNYXkgMDQsIDIwMTcgMTE6MzMgQU0NCj4+IFRvOiBlZGsy LWRldmVsQGxpc3RzLjAxLm9yZzxtYWlsdG86ZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc+DQo+PiBD YzogUnVpeXUgTmkgPHJ1aXl1Lm5pQGludGVsLmNvbTxtYWlsdG86cnVpeXUubmlAaW50ZWwuY29t Pj47IER1cmFuLCBMZW8gPGxlby5kdXJhbkBhbWQuY29tPG1haWx0bzpsZW8uZHVyYW5AYW1kLmNv bT4+Ow0KPj4gU2luZ2gsIEJyaWplc2ggPGJyaWplc2guc2luZ2hAYW1kLmNvbTxtYWlsdG86YnJp amVzaC5zaW5naEBhbWQuY29tPj47IEFyZCBCaWVzaGV1dmVsDQo+PiA8YXJkLmJpZXNoZXV2ZWxA bGluYXJvLm9yZzxtYWlsdG86YXJkLmJpZXNoZXV2ZWxAbGluYXJvLm9yZz4+DQo+PiBTdWJqZWN0 OiBbUEFUQ0ggVjUgMC8zXSBBZGQgSU9NTVUgc3VwcG9ydC4NCj4+DQo+PiA9PT09PT09PT09PT09 PT09IFY1ID09PT09PT09PT09PT09DQo+PiBNaW5vciB1cGRhdGUgZnJvbSBWNC4NCj4+DQo+PiAx KSBSZW1vdmUgdW51c2VkIFNldEF0dHJpYnV0ZSgpIEFQSSBpbiBJT01NVSBwcm90b2NvbC4NCj4+ IChGZWVkYmFjayBmcm9tIFJ1aXl1IGFuZCBBcmQpDQo+PiAyKSBSZW5hbWUgU2V0TWFwcGluZ0F0 dHJpYnV0ZSgpIHRvIFNldEF0dHJpYnV0ZSgpLg0KPj4gKEZlZWRiYWNrIGZyb20gUnVpeXUpDQo+ PiAzKSBGaXggdGhlIGJ1ZyBpbiBQY2lCdXMgZHJpdmVyIGZvciBPcGVyYXRpb24gKFRoYW5rcyB0 byBBcmQgdG8gY2F0Y2ggaXQpDQo+Pg0KPj4gVjQ6DQo+PiBUZXN0ZWQtYnk6IEJyaWplc2ggU2lu Z2ggPGJyaWplc2guc2luZ2hAYW1kLmNvbTxtYWlsdG86YnJpamVzaC5zaW5naEBhbWQuY29tPj4g V2l0aCB0aGUgaXNzdWUgaW4gMy8zDQo+PiBhZGRyZXNzZWQ6DQo+PiBUZXN0ZWQtYnk6IEFyZCBC aWVzaGV1dmVsIDxhcmQuYmllc2hldXZlbEBsaW5hcm8ub3JnPG1haWx0bzphcmQuYmllc2hldXZl bEBsaW5hcm8ub3JnPj4NCj4+DQo+PiA9PT09PT09PT09PT09PT09IFY0ID09PT09PT09PT09PT09 DQo+PiBSZWZpbmUgdGhlIEVES0lJX0lPTU1VX1BST1RPQ09MLg0KPj4NCj4+IDEpIEFkZCBBbGxv Y2F0ZUJ1ZmZlci9GcmVlQnVmZmVyL01hcC9Vbm1hcCgpIEFQSS4NCj4+IFRoZXkgYXJlIHNpbWls YXIgdG8gRG1hTGliIGluIEVtYmVkZGVkUGtnIGFuZCBzaW1pbGFyIHRvIHRoZSBwcmV2aW91cw0K Pj4gQm1EbWFMaWIgKGJ5IGxlby5kdXJhbkBhbWQuY29tPG1haWx0bzpsZW8uZHVyYW5AYW1kLmNv bT4pLg0KPj4NCj4+IFRoZXNlIEFQSXMgYXJlIGludm9rZWQgYnkgUGNpSG9zdEJyaWRnZSBkcml2 ZXIgdG8gYWxsb2NhdGUgRE1BIG1lbW9yeS4NCj4+DQo+PiBUaGUgUGNpSG9zdEJyaWRnZSBkcml2 ZXIgKElPTU1VIGNvbnN1bWVyKSBpcyBzaW1wbGlmaWVkOg0KPj4gSXQgdXNlcyBJT01NVSwgaWYg SU9NTVUgcHJvdG9jb2wgaXMgcHJlc2VudC4NCj4+IEVsc2UgaXQgdXNlcyBvcmlnaW5hbCBsb2dp Yy4NCj4+DQo+PiAyKSBBZGQgU2V0TWFwcGluZ0F0dHJpYnV0ZSgpIEFQSS4NCj4+IEl0IGlzIHNp bWlsYXIgdG8gU2V0QXR0cmlidXRlKCkgQVBJIGluIFYxLg0KPj4NCj4+IFRoaXMgQVBJIGlzIGlu dm9rZWQgYnkgUGNpQnVzIGRyaXZlciB0byBzZXQgRE1BIGFjY2VzcyBhdHRyaWJ1dGUgKHJlYWQv d3JpdGUpDQo+PiBmb3IgZGV2aWNlLg0KPj4NCj4+IFRoZSBQY2lCdXMgZHJpdmVyIChJT01NVSBj b25zdW1lcikgaXMgc2ltcGxpZmllZDoNCj4+IEl0IHNldHMgYWNjZXNzIGF0dHJpYnV0ZSBpbiBN YXAvVW5tYXAsDQo+PiBpZiBJT01NVSBwcm90b2NvbCBpcyBwcmVzZW50Lg0KPj4NCj4+IDMpIFJl bW92ZSBTZXRSZW1hcEFkZHJlc3MvR2V0UmVtYXBBZGRyZXNzKCkgQVBJLg0KPj4gQmVjYXVzZSBQ Y2lIb3N0QnJpZGdlL1BjaUJ1cyBjYW4gY2FsbCB0aGUgQVBJcyBkZWZpbmVkIGFib3ZlLCB0aGVy ZSBpcyBubw0KPj4gbmVlZCB0byBwcm92aWRlIHJlbWFwIGNhcGFiaWxpdHkuDQo+Pg0KPj4gLS0g U2FtcGxlIHByb2R1Y2VyIGRyaXZlcnM6DQo+PiAxKSBUaGUgc2FtcGxlIFZUZCBkcml2ZXIgKElP TU1VIHByb2R1Y2VyKSBpcyBhdA0KPj4gaHR0cHM6Ly9naXRodWIuY29tL2p5YW8xL2VkazIvdHJl ZS9kbWFfdjQvSW50ZWxTaWxpY29uUGtnL0ludGVsVlRkRHhlDQo+Pg0KPj4gSXQgaXMgYWRkZWQg dG8gc2hvdyB0aGUgY29uY2VwdC4gSXQgaXMgbm90IGZ1bGx5IGltcGxlbWVudGVkIHlldC4NCj4+ IEl0IHdpbGwgbm90IGJlIGNoZWNrZWQgaW4gaW4gdGhpcyBwYXRjaC4NCj4+DQo+PiAyKSBUaGUg c2FtcGxlIEFNRCBTRVYgZHJpdmVyIChJT01NVSBwcm9kdWNlcikgaXMgYXQNCj4+IGh0dHBzOi8v Z2l0aHViLmNvbS9qeWFvMS9lZGsyL3RyZWUvZG1hX3Y0L0ludGVsU2lsaWNvblBrZy9TYW1wbGVB bWRTZQ0KPj4gdkR4ZQ0KPj4gKGNvZGUgaXMgYm9ycm93ZWQgZnJvbSBsZW8uZHVyYW5AYW1kLmNv bTxtYWlsdG86bGVvLmR1cmFuQGFtZC5jb20+IGFuZCBicmlqZXNoLnNpbmdoQGFtZC5jb208bWFp bHRvOmJyaWplc2guc2luZ2hAYW1kLmNvbT4pDQo+Pg0KPj4gVGhpcyBpcyBub3QgYSByaWdodCBw bGFjZSB0byBwdXQgdGhpcyBkcml2ZXIuDQo+Pg0KPj4gSXQgaXMgYWRkZWQgdG8gc2hvdyB0aGUg Y29uY2VwdC4NCj4+IEl0IGlzIG5vdCBmdWxseSBpbXBsZW1lbnRlZC4gSXQgd2lsbCBub3QgYmUg Y2hlY2tlZCBpbi4NCj4+IFBsZWFzZSBkbyBub3QgdXNlIGl0IGRpcmVjdGx5Lg0KPj4NCj4+IDMp IFRoZSBzYW1wbGUgU1RZWCBkcml2ZXIgKElPTU1VIHByb2R1Y2VyKSBpcyBhdA0KPj4gaHR0cHM6 Ly9naXRodWIuY29tL2p5YW8xL2VkazIvdHJlZS9kbWFfdjQvSW50ZWxTaWxpY29uUGtnL1NhbXBs ZVN0eXhEeA0KPj4gZQ0KPj4gKGNvZGUgaXMgYm9ycm93ZWQgZnJvbSBhcmQuYmllc2hldXZlbEBs aW5hcm8ub3JnPG1haWx0bzphcmQuYmllc2hldXZlbEBsaW5hcm8ub3JnPikNCj4+DQo+PiBUaGlz IGlzIG5vdCBhIHJpZ2h0IHBsYWNlIHRvIHB1dCB0aGlzIGRyaXZlci4NCj4+DQo+PiBJdCBpcyBh ZGRlZCB0byBzaG93IHRoZSBjb25jZXB0Lg0KPj4gSXQgaXMgbm90IGZ1bGx5IGltcGxlbWVudGVk LiBJdCB3aWxsIG5vdCBiZSBjaGVja2VkIGluLg0KPj4gUGxlYXNlIGRvIG5vdCB1c2UgaXQgZGly ZWN0bHkuDQo+Pg0KPj4NCj4+ID09PT09PT09PT09PT09PT0gVjMgPT09PT09PT09PT09PT0NCj4+ IDEpIEFkZCBSZW1hcCBjYXBhYmlsaXR5IChmcm9tIEFyZCBCaWVzaGV1dmVsKSBBZGQNCj4+IEVE S0lJX0lPTU1VX1JFTUFQX0FERFJFU1MgQVBJIGluIElPTU1VX1BST1RPQ09MLg0KPj4NCj4+IE5P VEU6IFRoZSBjb2RlIGlzIG5vdCBmdWxseSB2YWxpZGF0ZWQgeWV0Lg0KPj4gVGhlIHB1cnBvc2Ug aXMgdG8gY29sbGVjdCBmZWVkYmFjayB0byBkZWNpZGUgdGhlIG5leHQgc3RlcC4NCj4+DQo+PiA9 PT09PT09PT09PT09PT09IFYyID09PT09PT09PT09PT09DQo+PiAxKSBFbmhhbmNlIFVubWFwKCkg aW4gUGNpSW8gKEZyb20gUnVpeXUgTmkpIE1haW50YWluIGEgbG9jYWwgbGlzdCBvZiBNYXBJbmZv DQo+PiBhbmQgbWF0Y2ggaXQgaW4gVW5tYXAuDQo+Pg0KPj4gMikgQ29weU1lbSBmb3IgUmVhZE9w ZXJhdGlvbiBpbiBQY2lJbyBhZnRlciBTZXRBdHRyaWJ1dGUgKExlbyBEdXJhbikgRml4IGENCj4+ IGJ1ZyBpbiBWMSB0aGF0IGNvcHkgbWVtIGZvciByZWFkIGhhcHBlbiBiZWZvcmUgU2V0QXR0cmli dXRlLCB3aGljaCB3aWxsDQo+PiBicmVhayBBTUQgU0VWIHNvbHV0aW9uLg0KPj4NCj4+ID09PT09 PT09PT09PT09PT0gVjEgPT09PT09PT09PT09PT0NCj4+DQo+PiBUaGlzIHBhdGNoIHNlcmllcyBh ZGRzIElPTU1VIHByb3RvY29sIGFuZCB1cGRhdGVzIHRoZSBjb25zdW1lciB0bw0KPj4gc3VwcG9y dCBJT01NVSBiYXNlZCBETUEgYWNjZXNzIGluIFVFRkkuDQo+Pg0KPj4gVGhpcyBwYXRjaCBzZXJp ZXMgY2FuIHN1cHBvcnQgdGhlIEJtRG1hTGliIHJlcXVlc3QgZm9yIEFNRCBTRVYuDQo+PiBzdWJt aXR0ZWQgYnkgRHVyYW4sIExlbyA8bGVvLmR1cmFuQGFtZC5jb208bWFpbHRvOmxlby5kdXJhbkBh bWQuY29tPj4gYW5kIEJyaWplc2ggU2luZ2gNCj4+IDxicmlqZXNoLmtzaW5naEBnbWFpbC5jb208 bWFpbHRvOmJyaWplc2gua3NpbmdoQGdtYWlsLmNvbT4+Lg0KPj4gaHR0cHM6Ly9saXN0cy4wMS5v cmcvcGlwZXJtYWlsL2VkazItZGV2ZWwvMjAxNy1NYXJjaC8wMDgxMDkuaHRtbCwgYW5kDQo+PiBo dHRwczovL2xpc3RzLjAxLm9yZy9waXBlcm1haWwvZWRrMi1kZXZlbC8yMDE3LU1hcmNoLzAwODgy MC5odG1sLg0KPj4gV2UgY2FuIGhhdmUgYW4gQU1EIFNFViBzcGVjaWZpYyBJT01NVSBkcml2ZXIg dG8gcHJvZHVjZSBJT01NVQ0KPj4gcHJvdG9jb2wsIGFuZCBjbGVhciBTRVYgaW4gSU9NTVUtPlNl dEF0dHJpYnV0ZSgpLg0KPj4NCj4+IFRoaXMgcGF0Y2ggc2VyaWVzIGNhbiBhbHNvIHN1cHBvcnQg SW50ZWwgVlRkIGJhc2VkIERNQSBwcm90ZWN0aW9uLA0KPj4gcmVxdWVzdGVkIGJ5IEppZXdlbiBZ YW8gPGppZXdlbi55YW9AaW50ZWwuY29tPG1haWx0bzpqaWV3ZW4ueWFvQGludGVsLmNvbT4+LCBk aXNjdXNzZWQgaW4NCj4+IGh0dHBzOi8vbGlzdHMuMDEub3JnL3BpcGVybWFpbC9lZGsyLWRldmVs LzIwMTctTWFyY2gvMDA4MTU3Lmh0bWwuDQo+PiBXZSBjYW4gaGF2ZSBhbiBJbnRlbCBWVGQgc3Bl Y2lmaWMgSU9NTVUgZHJpdmVyIHRvIHByb2R1Y2UgSU9NTVUNCj4+IHByb3RvY29sLCBhbmQgdXBk YXRlIFZUZCBlbmdpbmUgdG8gZ3JhbnQgb3IgZGVueSBhY2Nlc3MgaW4gSU9NTVUtDQo+PiA+U2V0 QXR0cmlidXRlKCkuDQo+Pg0KPj4gVGhpcyBwYXRjaCBzZXJpZXMgZG9lcyBub3QgcHJvdmlkZSBh IGZ1bGwgSW50ZWwgVlRkIGRyaXZlciwgd2hpY2ggd2lsbCBiZQ0KPj4gcHJvdmlkZSBpbiBvdGhl ciBwYXRjaCBpbiB0aGUgZnV0dXJlLg0KPj4NCj4+IFRoZSBwdXJwb3NlIG9mIHRoaXMgcGF0Y2gg c2VyaWVzIHRvIHJldmlldyBpZiB0aGlzIElPTU1VIHByb3RvY29sIGRlc2lnbiBjYW4NCj4+IG1l ZXQgYWxsIERNQSBhY2Nlc3MgYW5kIG1hbmFnZW1lbnQgcmVxdWlyZW1lbnQuDQo+Pg0KPj4gQ2M6 IFJ1aXl1IE5pIDxydWl5dS5uaUBpbnRlbC5jb208bWFpbHRvOnJ1aXl1Lm5pQGludGVsLmNvbT4+ DQo+PiBDYzogTGVvIER1cmFuIDxsZW8uZHVyYW5AYW1kLmNvbTxtYWlsdG86bGVvLmR1cmFuQGFt ZC5jb20+Pg0KPj4gQ2M6IEJyaWplc2ggU2luZ2ggPGJyaWplc2guc2luZ2hAYW1kLmNvbTxtYWls dG86YnJpamVzaC5zaW5naEBhbWQuY29tPj4NCj4+IENjOiBBcmQgQmllc2hldXZlbCA8YXJkLmJp ZXNoZXV2ZWxAbGluYXJvLm9yZzxtYWlsdG86YXJkLmJpZXNoZXV2ZWxAbGluYXJvLm9yZz4+DQo+ PiBDb250cmlidXRlZC11bmRlcjogVGlhbm9Db3JlIENvbnRyaWJ1dGlvbiBBZ3JlZW1lbnQgMS4w DQo+PiBTaWduZWQtb2ZmLWJ5OiBKaWV3ZW4gWWFvIDxqaWV3ZW4ueWFvQGludGVsLmNvbTxtYWls dG86amlld2VuLnlhb0BpbnRlbC5jb20+Pg0KPj4NCj4+IEppZXdlbiBZYW8gKDMpOg0KPj4gICBN ZGVNb2R1bGVQa2cvSW5jbHVkZTogQWRkIElPTU1VIHByb3RvY29sIGRlZmluaXRpb24uDQo+PiAg IE1kZU1vZHVsZVBrZy9QY2lIb3N0QnJpZGdlOiBBZGQgSU9NTVUgc3VwcG9ydC4NCj4+ICAgTWRl TW9kdWxlUGtnL1BjaUJ1czogQWRkIElPTU1VIHN1cHBvcnQuDQo+Pg0KPj4gIE1kZU1vZHVsZVBr Zy9CdXMvUGNpL1BjaUJ1c0R4ZS9QY2lCdXMuYyAgICAgICAgICAgICAgICAgICAgfCAgIDkgKw0K Pj4gIE1kZU1vZHVsZVBrZy9CdXMvUGNpL1BjaUJ1c0R4ZS9QY2lCdXMuaCAgICAgICAgICAgICAg ICAgICAgfCAgIDEgKw0KPj4gIE1kZU1vZHVsZVBrZy9CdXMvUGNpL1BjaUJ1c0R4ZS9QY2lCdXNE eGUuaW5mICAgICAgICAgICAgICAgfCAgIDEgKw0KPj4gIE1kZU1vZHVsZVBrZy9CdXMvUGNpL1Bj aUJ1c0R4ZS9QY2lJby5jICAgICAgICAgICAgICAgICAgICAgfCAgNDcgKysrLQ0KPj4gIE1kZU1v ZHVsZVBrZy9CdXMvUGNpL1BjaUhvc3RCcmlkZ2VEeGUvUGNpSG9zdEJyaWRnZS5jICAgICAgfCAg MzcgKysrDQo+PiAgTWRlTW9kdWxlUGtnL0J1cy9QY2kvUGNpSG9zdEJyaWRnZUR4ZS9QY2lIb3N0 QnJpZGdlRHhlLmluZiB8ICAgMiArDQo+PiAgTWRlTW9kdWxlUGtnL0J1cy9QY2kvUGNpSG9zdEJy aWRnZUR4ZS9QY2lSb290QnJpZGdlLmggICAgICB8ICAgMiArDQo+PiAgTWRlTW9kdWxlUGtnL0J1 cy9QY2kvUGNpSG9zdEJyaWRnZUR4ZS9QY2lSb290QnJpZGdlSW8uYyAgICB8ICA2MSArKysrKw0K Pj4gIE1kZU1vZHVsZVBrZy9JbmNsdWRlL1Byb3RvY29sL0lvTW11LmggICAgICAgICAgICAgICAg ICAgICAgfCAyNTkNCj4+ICsrKysrKysrKysrKysrKysrKysrDQo+PiAgTWRlTW9kdWxlUGtnL01k ZU1vZHVsZVBrZy5kZWMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMyArDQo+PiAg MTAgZmlsZXMgY2hhbmdlZCwgNDE4IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pICBjcmVh dGUgbW9kZSAxMDA2NDQNCj4+IE1kZU1vZHVsZVBrZy9JbmNsdWRlL1Byb3RvY29sL0lvTW11LmgN Cj4+DQo+PiAtLQ0KPj4gMi43LjQud2luZG93cy4xDQo+DQo=