From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=192.55.52.151; helo=mga17.intel.com; envelope-from=liming.gao@intel.com; receiver=edk2-devel@lists.01.org Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) (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 DEB652063D747 for ; Mon, 14 May 2018 08:06:35 -0700 (PDT) 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; 14 May 2018 08:06:35 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.49,400,1520924400"; d="scan'208";a="46083471" Received: from fmsmsx107.amr.corp.intel.com ([10.18.124.205]) by fmsmga002.fm.intel.com with ESMTP; 14 May 2018 08:06:35 -0700 Received: from fmsmsx123.amr.corp.intel.com (10.18.125.38) by fmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 14 May 2018 08:06:35 -0700 Received: from shsmsx101.ccr.corp.intel.com (10.239.4.153) by fmsmsx123.amr.corp.intel.com (10.18.125.38) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 14 May 2018 08:06:34 -0700 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.240]) by SHSMSX101.ccr.corp.intel.com ([169.254.1.40]) with mapi id 14.03.0319.002; Mon, 14 May 2018 23:06:32 +0800 From: "Gao, Liming" To: Laszlo Ersek , edk2-devel-01 CC: "Kinney, Michael D" , "Justen, Jordan L" , Ard Biesheuvel Thread-Topic: [edk2] [PATCH 0/7] MdePkg, OvmfPkg, ArmVirtPkg: add and use PCI(E) Capabilities Library Thread-Index: AQHT4/ACIQrxurFFLEK+A/XAkoM7YqQuvWYAgAChx8A= Date: Mon, 14 May 2018 15:06:32 +0000 Message-ID: <4A89E2EF3DFEDB4C8BFDE51014F606A14E22903A@SHSMSX104.ccr.corp.intel.com> References: <20180504213637.11266-1-lersek@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.200.100 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [PATCH 0/7] MdePkg, OvmfPkg, ArmVirtPkg: add and use PCI(E) Capabilities Library 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, 14 May 2018 15:06:36 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 TGFzemxvOg0KICBJIGhhdmUgbm90IGZ1bGx5IHVuZGVyc3Rvb2QgaXRzIGdvYWwgYW5kIGRlc2ln bi4gQ291bGQgeW91IGdpdmUgbWUgb25lIG1vcmUgd2VlayB0byByZXZpZXcgaXQ/DQoNClRoYW5r cw0KTGltaW5nDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IExhc3psbyBF cnNlayBbbWFpbHRvOmxlcnNla0ByZWRoYXQuY29tXQ0KPiBTZW50OiBNb25kYXksIE1heSAxNCwg MjAxOCA5OjE2IFBNDQo+IFRvOiBlZGsyLWRldmVsLTAxIDxlZGsyLWRldmVsQGxpc3RzLjAxLm9y Zz4NCj4gQ2M6IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47 IEp1c3RlbiwgSm9yZGFuIEwgPGpvcmRhbi5sLmp1c3RlbkBpbnRlbC5jb20+OyBHYW8sIExpbWlu Zw0KPiA8bGltaW5nLmdhb0BpbnRlbC5jb20+OyBBcmQgQmllc2hldXZlbCA8YXJkLmJpZXNoZXV2 ZWxAbGluYXJvLm9yZz4NCj4gU3ViamVjdDogUmU6IFtlZGsyXSBbUEFUQ0ggMC83XSBNZGVQa2cs IE92bWZQa2csIEFybVZpcnRQa2c6IGFkZCBhbmQgdXNlIFBDSShFKSBDYXBhYmlsaXRpZXMgTGli cmFyeQ0KPiANCj4gcGluZw0KPiANCj4gT24gMDUvMDQvMTggMjM6MzYsIExhc3psbyBFcnNlayB3 cm90ZToNCj4gPiBSZXBvOiAgIGh0dHBzOi8vZ2l0aHViLmNvbS9sZXJzZWsvZWRrMi5naXQNCj4g PiBCcmFuY2g6IHBjaV9jYXANCj4gPg0KPiA+IEluIG1lc3NhZ2UgWzFdLCBKb3JkYW4gc3VnZ2Vz dGVkIGEgZ2VuZXJhbCAiY2FwYWJpbGl0aWVzIGhlbHBlciBsaWIgdGhhdA0KPiA+IGNvdWxkIGl0 ZXJhdGUgJiByZWFkIHRoZSBQQ0kgY2FwYWJpbGl0eSBzdHJ1Y3RzIi4gUGF0Y2ggIzEgaW50cm9k dWNlcw0KPiA+IHRoYXQgbGlicmFyeSAoY2xhc3MgYW5kIGNlbnRyYWwgQkFTRSBpbnN0YW5jZSkg dG8gTWRlUGtnOyB0aGUgbGlicmFyeQ0KPiA+IGNsYXNzIGlzIGNhbGxlZCBQY2lDYXBMaWIuDQo+ ID4NCj4gPiBbMV0gaHR0cDovL21pZC5tYWlsLWFyY2hpdmUuY29tLzE1MDY5NjYxOTAxMC4yNDU0 LjkyNjY0NzAyNDU2MDQ4NDY1NzVAamxqdXN0ZW4tc2tsDQo+ID4NCj4gPiBQY2lDYXBMaWIgb2Zm ZXJzIEFQSXMgdG8gcGFyc2UgY2FwYWJpbGl0aWVzIGxpc3RzLCBhbmQgdG8gbG9jYXRlLA0KPiA+ IGRlc2NyaWJlLCByZWFkIGFuZCB3cml0ZSBjYXBhYmlsaXRpZXMuDQo+ID4NCj4gPiBUaGUgbGli cmFyeSBjbGFzcyB0YXJnZXRzIGEgd2lkZSByYW5nZSBvZiBjbGllbnQgbW9kdWxlIHR5cGVzOyBm b3INCj4gPiBleGFtcGxlLCBwbGF0Zm9ybSBQRUlNcywgcGxhdGZvcm0gRFhFIGRyaXZlcnMsIGFu ZCBVRUZJIGRyaXZlcnMgdGhhdA0KPiA+IGZvbGxvdyB0aGUgVUVGSSBEcml2ZXIgTW9kZWwuIEZv ciB0aGlzIHJlYXNvbiwgdGhlIGxpYnJhcnkgY2xhc3MgaXMNCj4gPiBkZXNpZ25lZCB3aXRoIFBD SSBjb25maWcgYWNjZXNzIGFic3RyYWN0ZWQgYXdheSwgZXZlbiBiZXlvbmQgdGhlIFBQSSAvDQo+ ID4gUHJvdG9jb2wgbGV2ZWwsIHNpbmNlIHRob3NlIGNhbm5vdCBjcm9zcyB0aGUgUEVJIC8gRFhF IGJvdW5kYXJ5Lg0KPiA+DQo+ID4gVGhpcyAobWluaW1hbCkgY29uZmlnIHNwYWNlIGFjY2VzcyBt ZXRob2QgYWJzdHJhY3Rpb24gaXMgY2FsbGVkDQo+ID4gUENJX0NBUF9ERVYuIEl0IGlzICpjb25j ZXB0dWFsbHkqIGEgcHJvdG9jb2wuIENsaWVudCBtb2R1bGVzIHBsdWcNCj4gPiBQQ0lfQ0FQX0RF ViBpbnN0YW5jZXMgaW50byBQY2lDYXBMaWIgZm9yIGNvbmZpZyBzcGFjZSBhY2Nlc3MsIHNpbWls YXJseQ0KPiA+IHRvIGhvdyBEaXNrSW8gYW5kIEJsb2NrSW8gaW5zdGFuY2VzIGFyZSBwbHVnZ2Vk IGludG8gZmlsZXN5c3RlbSBkcml2ZXJzLg0KPiA+IFNpbWlsYXJseSB0byB0aGUgZmlsZXN5c3Rl bSBkcml2ZXIgZXhhbXBsZSwgUGNpQ2FwTGliIGlzIGFuIGV4YW1wbGUgZm9yDQo+ID4gdGhlICJz dHJhdGVneSBwYXR0ZXJuIi4NCj4gPg0KPiA+IFBhdGNoZXMgIzIgYW5kICMzIGludHJvZHVjZSBz bWFsbCAiZmFjdG9yeSIgbGlicmFyaWVzIHRoYXQgaGVscCBjbGllbnQNCj4gPiBtb2R1bGVzIHBy b2R1Y2UgUENJX0NBUF9ERVYgaW5zdGFuY2VzOg0KPiA+DQo+ID4gLSBQY2lDYXBQY2lTZWdtZW50 TGliIC0tIGluY2wuIGNsYXNzIGFuZCBjZW50cmFsIEJBU0UgaW5zdGFuY2UgLS0gZnJvbQ0KPiA+ ICAgcGF0Y2ggIzIgcHJvZHVjZXMgUENJX0NBUF9ERVYgaW5zdGFuY2VzIG9uIHRvcCBvZiBQY2lT ZWdtZW50TGliLCB1c2luZw0KPiA+ICAgdGhlICJTZWdtZW50OkJ1czpEZXZpY2UuRnVuY3Rpb24i IG5vdGF0aW9uLiBUaGlzIGlzIG1lYW50IGZvciBwbGF0Zm9ybQ0KPiA+ICAgbW9kdWxlcyAoUEVJ TXMgYW5kIERYRSBkcml2ZXJzKSwgd2hpY2ggZ2VuZXJhbGx5IGhhdmUgYSB3b3JraW5nDQo+ID4g ICBQY2lTZWdtZW50TGliIGluc3RhbmNlIGF2YWlsYWJsZS4NCj4gPg0KPiA+IC0gUGNpQ2FwUGNp SW9MaWIgLS0gaW5jbC4gY2xhc3MgYW5kIGNlbnRyYWwgVUVGSSBpbnN0YW5jZSAtLSBmcm9tIHBh dGNoDQo+ID4gICAjMyBsZXRzIGNsaWVudCBtb2R1bGVzIHByb2R1Y2UgUENJX0NBUF9ERVYgaW5z dGFuY2VzIG9uIHRvcCBvZg0KPiA+ICAgRUZJX1BDSV9JT19QUk9UT0NPTCBpbnN0YW5jZXMuIFRo aXMgaXMgbWVhbnQgZm9yIFVFRkkgZHJpdmVycy4NCj4gPg0KPiA+IFBhdGNoZXMgIzQgYW5kICM1 IHJlc29sdmUgdGhlIHRocmVlIG5ldyBsaWIgY2xhc3NlcyB0byB0aGVpciByZXNwZWN0aXZlDQo+ ID4gY2VudHJhbCBpbnN0YW5jZXMgaW4gdGhlIE92bWZQa2cgYW5kIEFybVZpcnRQa2cgRFNDIGZp bGVzLg0KPiA+DQo+ID4gUGF0Y2ggIzYgY29udmVydHMgT3ZtZlBrZy9QY2lIb3RQbHVnSW5pdER4 ZSB0byB0aGUgbmV3IEFQSXMsIGZyb20gbWFudWFsDQo+ID4gY2FwYWJpbGl0eSBsaXN0IHBhcnNp bmcuIEJlY2F1c2UgUGNpSG90UGx1Z0luaXREeGUgaXMgYSBwbGF0Zm9ybSBEWEUNCj4gPiBkcml2 ZXIsIHRoaXMgY29udmVyc2lvbiB1c2VzIFBjaUNhcFBjaVNlZ21lbnRMaWIgYW5kIFBjaUNhcExp Yi4NCj4gPg0KPiA+IFBhdGNoICM3IGNvbnZlcnRzIE92bWZQa2cvVmlydGlvMTBEeGUgdG8gdGhl IG5ldyBBUElzLCBmcm9tIG1hbnVhbA0KPiA+IGNhcGFiaWxpdHkgbGlzdCBwYXJzaW5nLiBCZWNh dXNlIFZpcnRpbzEwRHhlIGlzIGEgVUVGSSBkcml2ZXIsIHRoaXMNCj4gPiBjb252ZXJzaW9uIHVz ZXMgUGNpQ2FwUGNpSW9MaWIgYW5kIFBjaUNhcExpYi4NCj4gPg0KPiA+IC0tLS1bIGp1bXAgdG8g dGhlIHBhdGNoZXMgbm93LCBhbmQgcmV0dXJuIGlmIHlvdSBoYXZlIHF1ZXN0aW9uczogSQ0KPiA+ ICAgICAgIGhhdmUgYW5zd2VycywgYnV0IHlvdSBtaWdodCBmaW5kIHRoZW0gdG9vIHZlcmJvc2Ug aW4gYWR2YW5jZSBdLS0tLQ0KPiA+DQo+ID4gUTE6IElmIFBDSSBjb25maWcgYWNjZXNzIG5lZWRz IHRvIGJlIGFic3RyYWN0ZWQgZnJvbSBQY2lDYXBMaWIsIHRoZW4gd2h5DQo+ID4gICAgIGRvbid0 IHdlIHByb3ZpZGUgbXVsdGlwbGUgaW5zdGFuY2VzIG9mIFBjaUNhcExpYj8gSW4gb3RoZXIgd29y ZHMsDQo+ID4gICAgIHdoeSB0aGUgUENJX0NBUF9ERVYgInByb3RvY29sIiByYXRoZXIgdGhhbiBt dWx0aXBsZSBpbnN0YW5jZXMgb2YNCj4gPiAgICAgUGNpQ2FwTGliPw0KPiA+DQo+ID4gQTE6IFRo ZSBwb2ludCBvZiBsaWIgY2xhc3NlcyBhbmQgaW5zdGFuY2VzIGlzIHRoYXQgdGhlIGNsYXNzIHBy b3ZpZGVzIGENCj4gPiAgICAgY29tbW9uIGludGVyZmFjZSwgYW5kIHRoZSBpbnN0YW5jZXMgcHJv dmlkZSBkaWZmZXJlbnQNCj4gPiAgICAgaW1wbGVtZW50YXRpb25zLiBXZSBoYXZlIHRoZSBvcHBv c2l0ZSB1c2UgY2FzZSBoZXJlIChoZW5jZSB0aGUNCj4gPiAgICAgInN0cmF0ZWd5IHBhdHRlcm4i KTogdGhlIGltcGxlbWVudGF0aW9uIG9mIHRoZSBoaWdoZXIgbGV2ZWwNCj4gPiAgICAgYWxnb3Jp dGhtIGlzIGNvbW1vbiwgYW5kIHRoZSBvYmplY3RzIHRoYXQgcGx1ZyBpbnRvIGl0IGRpZmZlciBh dCB0aGUNCj4gPiAgICAgKmludGVyZmFjZSogbGV2ZWwgKCJTZWdtZW50OkJ1czpEZXZpY2UuRnVu Y3Rpb24iIG5vdGF0aW9uIHZlcnN1cw0KPiA+ICAgICBQY2lJbyBwcm90b2NvbCkuDQo+ID4NCj4g PiAgICAgTm9uZSBvZiB0aG9zZSBub3RhdGlvbnMgYXJlIHN1aXRhYmxlIGZvciBpbmNsdXNpb24g aW4gdGhlIFBjaUNhcExpYg0KPiA+ICAgICAqY2xhc3MqOyBhIG1vcmUgYWJzdHJhY3QgaW50ZXJm YWNlIGlzIG5lZWRlZCBmb3IgaWRlbnRpZnlpbmcgdGhlIFBDSQ0KPiA+ICAgICBkZXZpY2UgdG8g dGhlIGxpYnJhcnksIGZvciBwYXJzaW5nIG9mIGNhcGFiaWxpdGllcyBsaXN0cy4NCj4gPg0KPiA+ IFEyOiBPSywgbGV0J3Mgc2F5IHdlIGNhbid0IChhbmQgc2hvdWxkbid0KSBpbmNsdWRlIGJvdGgg bm90YXRpb25zIGluIHRoZQ0KPiA+ICAgICBQY2lDYXBMaWIgY2xhc3M7IGNhbiB3ZSBzZXR0bGUg b24gb25lIG9mIHRoZW0sIHJhdGhlciB0aGFuDQo+ID4gICAgIFBDSV9DQVBfREVWPw0KPiA+DQo+ ID4gQTI6IE5vLCB3ZSBjYW4ndC4gUGNpSW8gaXMgb2J2aW91c2x5IHVudXNhYmxlIGluIFBFSU1z IChhbmQgaW4gcXVpdGUgYQ0KPiA+ICAgICBmZXcgcGxhdGZvcm0gRFhFIGRyaXZlcnMgdG9vKS4N Cj4gPg0KPiA+ICAgICBJdCB0YWtlcyBhIGJpdCBsb25nZXIgdG8gZXhwbGFpbiB3aHkgdGhlIG90 aGVyIGNob2ljZSwgaS5lLiBhZG9wdGluZw0KPiA+ICAgICB0aGUgIlNlZ21lbnQ6QnVzOkRldmlj ZS5GdW5jdGlvbiIgbm90YXRpb24gZm9yIHRoZSBQY2lDYXBMaWINCj4gPiAgICAgaW50ZXJmYWNl LCBpcyBub3QgZ29vZCBlaXRoZXIuIEl0IGhhcyB0byBkbyB3aXRoIHRoZSBwb3J0YWJpbGl0eSBv Zg0KPiA+ICAgICBVRUZJIGRyaXZlcnMgdGhhdCBiaW5kIFBjaUlvIHByb3RvY29sIGluc3RhbmNl czoNCj4gPg0KPiA+ICAgICBJdCBpcyBpbmRlZWQgZWFzeSBlbm91Z2ggdG8gY2FsbCBQY2lJby0+ R2V0TG9jYXRpb24oKSBhbmQgcGx1ZyB0aGUNCj4gPiAgICAgb3V0cHV0IHZhbHVlcyBpbnRvIGEg dGhlb3JldGljYWwgIlNlZ21lbnQ6QnVzOkRldmljZS5GdW5jdGlvbiINCj4gPiAgICAgaW50ZXJm YWNlLiBIb3dldmVyLCBhYm91dCB0aGUgb25seSB0d28gdGhpbmdzIHRoYXQgY291bGQgY29uc3Vt ZQ0KPiA+ICAgICBzdWNoIGxvY2F0aW9uIGlkZW50aWZpZXJzIGFuZCBhY3R1YWxseSAqaW1wbGVt ZW50KiBjb25maWcgc3BhY2UNCj4gPiAgICAgYWNjZXNzIHdvdWxkIGJlOg0KPiA+DQo+ID4gICAg IChhKSB0aGUgRUZJX1BDSV9ST09UX0JSSURHRV9JT19QUk9UT0NPTC5QY2kuUmVhZC9Xcml0ZSBt ZW1iZXINCj4gPiAgICAgICAgIGZ1bmN0aW9ucywgd2hlcmUgdGhlIG1lbWJlciBmdW5jdGlvbnMg dGhlbXNlbHZlcyB0YWtlIHRoZQ0KPiA+ICAgICAgICAgIkJ1czpEZXZpY2UuRnVuY3Rpb24iIHBh cnQsIGFuZCB0aGUgIlNlZ21lbnQiIHBhcnQgbXVzdCBiZSB1c2VkDQo+ID4gICAgICAgICBmb3Ig c2VsZWN0aW5nIHRoZSBFRklfUENJX1JPT1RfQlJJREdFX0lPX1BST1RPQ09MIGluc3RhbmNlDQo+ ID4gICAgICAgICBpdHNlbGYsIHRocm91Z2ggdGhlIFNlZ21lbnROdW1iZXIgbWVtYmVyOw0KPiA+ DQo+ID4gICAgIChiKSB0aGUgUGNpU2VnbWVudExpYiBpbnRlcmZhY2VzLg0KPiA+DQo+ID4gICAg IEJ1aWxkaW5nIGEgUGNpQ2FwTGliIGluc3RhbmNlIHRoYXQgdXNlcyAoYSkgaW50byBhIFVFRkkg ZHJpdmVyIGlzIGENCj4gPiAgICAgYmFkIGlkZWEsIGJlY2F1c2UgdGhlcmUgYXJlIHBsYXRmb3Jt cyB0aGF0IHByb3ZpZGUgUGNpSW8gaW5zdGFuY2VzDQo+ID4gICAgIC0tIGhlbmNlIHRoZSBkcml2 ZXIgY2FuIGdlbmVyYWxseSBydW4gb24gdGhlbSAtLSBidXQgZG9uJ3QgcHJvdmlkZQ0KPiA+ICAg ICBQY2lSb290QnJpZGdlSW8gaW5zdGFuY2VzLg0KPiA+DQo+ID4gICAgIEJ1aWxkaW5nIGEgUGNp Q2FwTGliIGluc3RhbmNlIHRoYXQgdXNlcyAoYikgaW50byBhIFVFRkkgZHJpdmVyIGlzDQo+ID4g ICAgIHdvcnNlLiBUaGUgUGNpU2VnbWVudExpYiBpbnRlcmZhY2VzIGFyZSBub3QgY2FwYWJsZSBv ZiByZXR1cm5pbmcNCj4gPiAgICAgZXJyb3JzLiBGb3IgZXhhbXBsZSwgaWYgYSBkZXZpY2UgYXBw ZWFycyBhcyBQQ0kgRXhwcmVzcyAoaW1wbHlpbmcNCj4gPiAgICAgaXRzIGV4dGVuZGVkIGNvbmZp ZyBzcGFjZSBleGlzdHMsIHBvdGVudGlhbGx5IGNvbnRhaW5pbmcgZXh0ZW5kZWQNCj4gPiAgICAg Y2FwYWJpbGl0aWVzKSwgYnV0IHRoZSB1bmRlcmx5aW5nIHBsYXRmb3JtIGRvZXMgbm90IHN1cHBv cnQgZXh0ZW5kZWQNCj4gPiAgICAgY29uZmlnIHNwYWNlIGFjY2VzcyAoZm9yIGV4YW1wbGUgYmVj YXVzZSBpdCBvbmx5IHN1cHBvcnRzDQo+ID4gICAgIDB4Q0Y4LzB4Q0ZDLCBhbmQgbm90IEVDQU0p LCB0aGVuIHBlZWtpbmcgYXQgdGhlIGV4dGVuZGVkIGNvbmZpZw0KPiA+ICAgICBzcGFjZSBvZiB0 aGUgZGV2aWNlIG1heSBpbnZva2UgdW5kZWZpbmVkIGJlaGF2aW9yIHdpdGhpbg0KPiA+ICAgICBQ Y2lTZWdtZW50TGliLCBhbmQgdGhlIFBjaUNhcExpYiBpbnN0YW5jZSB3aWxsIGJlIG5vbmUgdGhl IHdpc2VyLg0KPiA+DQo+ID4gICAgIChJbiBmYWN0LCBmb3IgdGhlIHNhbWUgcmVhc29uLCBldmVu IFBjaUNhcFBjaVNlZ21lbnRMaWIgaGFzIHRvDQo+ID4gICAgIGV4dGVuZCB0aGUgIlNlZ21lbnQ6 QnVzOkRldmljZS5GdW5jdGlvbiIgbm90YXRpb24gc2xpZ2h0bHk7IHNvIHRoYXQNCj4gPiAgICAg c3VjaCBpc3N1ZXMgYXJlIGNhdWdodCAqYmVmb3JlKiB0aGUgY2FsbCBpcyBtYWRlIHRvIFBjaVNl Z21lbnRMaWIuKQ0KPiA+DQo+ID4gUTM6IFdhaXQsIEkgdGhvdWdodCBpdCB3YXNuJ3QgcG9zc2li bGUgZm9yIGEgUENJIEV4cHJlc3MgZGV2aWNlIHRvDQo+ID4gICAgIGFwcGVhciBvbiBhIHBsYXRm b3JtIHRoYXQgbGFja2VkIEVDQU0uDQo+ID4NCj4gPiBBMzogSXMgdGhhdCBhIHF1ZXN0aW9uPyA6 KSBZZXMsIGl0IGlzIHBsZW50eSBwb3NzaWJsZSBbMl0uIFNhbWUgd2F5IGFzDQo+ID4gICAgIGdh cmJhZ2UgLyBsb29wZWQgY29uZmlnIHNwYWNlcyBhcmUgWzNdLg0KPiA+DQo+ID4gWzJdIGh0dHBz Oi8vZ2l0aHViLmNvbS90aWFub2NvcmUvZWRrMi9jb21taXQvMDE0YjQ3MjA1M2FlMw0KPiA+IFsz XSBodHRwczovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vbGludXgva2VybmVsL2dpdC90b3J2YWxk cy9saW51eC5naXQvY29tbWl0Lz9pZD0wMmQ1NzhlNWVkZDkNCj4gPg0KPiA+IENjOiBBcmQgQmll c2hldXZlbCA8YXJkLmJpZXNoZXV2ZWxAbGluYXJvLm9yZz4NCj4gPiBDYzogSm9yZGFuIEp1c3Rl biA8am9yZGFuLmwuanVzdGVuQGludGVsLmNvbT4NCj4gPiBDYzogTGltaW5nIEdhbyA8bGltaW5n Lmdhb0BpbnRlbC5jb20+DQo+ID4gQ2M6IE1pY2hhZWwgRCBLaW5uZXkgPG1pY2hhZWwuZC5raW5u ZXlAaW50ZWwuY29tPg0KPiA+DQo+ID4gVGhhbmtzLA0KPiA+IExhc3psbw0KPiA+DQo+ID4gTGFz emxvIEVyc2VrICg3KToNCj4gPiAgIE1kZVBrZzogaW50cm9kdWNlIFBjaUNhcExpYg0KPiA+ICAg TWRlUGtnOiBpbnRyb2R1Y2UgUGNpQ2FwUGNpU2VnbWVudExpYg0KPiA+ICAgTWRlUGtnOiBpbnRy b2R1Y2UgUGNpQ2FwUGNpSW9MaWINCj4gPiAgIE92bWZQa2c6IHJlc29sdmUgUGNpQ2FwTGliLCBQ Y2lDYXBQY2lTZWdtZW50TGliLCBQY2lDYXBQY2lJb0xpYg0KPiA+ICAgQXJtVmlydFBrZzogcmVz b2x2ZSBQY2lDYXBMaWIsIFBjaUNhcFBjaVNlZ21lbnRMaWIsIFBjaUNhcFBjaUlvTGliDQo+ID4g ICBPdm1mUGtnL1BjaUhvdFBsdWdJbml0RHhlOiBjb252ZXJ0IHRvIFBjaUNhcExpYg0KPiA+ICAg T3ZtZlBrZy9WaXJ0aW8xMER4ZTogY29udmVydCB0byBQY2lDYXBMaWINCj4gPg0KPiA+ICBBcm1W aXJ0UGtnL0FybVZpcnQuZHNjLmluYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAgICAzICsNCj4gPiAgTWRlUGtnL0luY2x1ZGUvTGlicmFyeS9QY2lDYXBMaWIuaCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQyOSArKysrKysrKysNCj4gPiAgTWRl UGtnL0luY2x1ZGUvTGlicmFyeS9QY2lDYXBQY2lJb0xpYi5oICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgICA1OCArKw0KPiA+ICBNZGVQa2cvSW5jbHVkZS9MaWJyYXJ5L1BjaUNhcFBjaVNl Z21lbnRMaWIuaCAgICAgICAgICAgICAgICAgICAgICAgfCAgIDgyICsrDQo+ID4gIE1kZVBrZy9M aWJyYXJ5L0Jhc2VQY2lDYXBMaWIvQmFzZVBjaUNhcExpYi5jICAgICAgICAgICAgICAgICAgICAg ICB8IDEwMDcgKysrKysrKysrKysrKysrKysrKysNCj4gPiAgTWRlUGtnL0xpYnJhcnkvQmFzZVBj aUNhcExpYi9CYXNlUGNpQ2FwTGliLmggICAgICAgICAgICAgICAgICAgICAgIHwgICA2MCArKw0K PiA+ICBNZGVQa2cvTGlicmFyeS9CYXNlUGNpQ2FwTGliL0Jhc2VQY2lDYXBMaWIuaW5mICAgICAg ICAgICAgICAgICAgICAgfCAgIDM3ICsNCj4gPiAgTWRlUGtnL0xpYnJhcnkvQmFzZVBjaUNhcFBj aVNlZ21lbnRMaWIvQmFzZVBjaUNhcFBjaVNlZ21lbnRMaWIuYyAgIHwgIDIyNiArKysrKw0KPiA+ ICBNZGVQa2cvTGlicmFyeS9CYXNlUGNpQ2FwUGNpU2VnbWVudExpYi9CYXNlUGNpQ2FwUGNpU2Vn bWVudExpYi5oICAgfCAgIDQ3ICsNCj4gPiAgTWRlUGtnL0xpYnJhcnkvQmFzZVBjaUNhcFBjaVNl Z21lbnRMaWIvQmFzZVBjaUNhcFBjaVNlZ21lbnRMaWIuaW5mIHwgICAzNCArDQo+ID4gIE1kZVBr Zy9MaWJyYXJ5L1VlZmlQY2lDYXBQY2lJb0xpYi9VZWZpUGNpQ2FwUGNpSW9MaWIuYyAgICAgICAg ICAgICB8ICAyNDMgKysrKysNCj4gPiAgTWRlUGtnL0xpYnJhcnkvVWVmaVBjaUNhcFBjaUlvTGli L1VlZmlQY2lDYXBQY2lJb0xpYi5oICAgICAgICAgICAgIHwgICA0NCArDQo+ID4gIE1kZVBrZy9M aWJyYXJ5L1VlZmlQY2lDYXBQY2lJb0xpYi9VZWZpUGNpQ2FwUGNpSW9MaWIuaW5mICAgICAgICAg ICB8ICAgMzUgKw0KPiA+ICBNZGVQa2cvTWRlUGtnLmRlYyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDE0ICsNCj4gPiAgTWRlUGtnL01kZVBrZy5k c2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAg MyArDQo+ID4gIE92bWZQa2cvSW5jbHVkZS9JbmR1c3RyeVN0YW5kYXJkL1ZpcnRpbzEwLmggICAg ICAgICAgICAgICAgICAgICAgICB8ICAgIDcgKy0NCj4gPiAgT3ZtZlBrZy9Pdm1mUGtnSWEzMi5k c2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgMyArDQo+ ID4gIE92bWZQa2cvT3ZtZlBrZ0lhMzJYNjQuZHNjICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8ICAgIDMgKw0KPiA+ICBPdm1mUGtnL092bWZQa2dYNjQuZHNjICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAzICsNCj4gPiAgT3Zt ZlBrZy9QY2lIb3RQbHVnSW5pdER4ZS9QY2lIb3RQbHVnSW5pdC5jICAgICAgICAgICAgICAgICAg ICAgICAgIHwgIDI2NyArKy0tLS0NCj4gPiAgT3ZtZlBrZy9QY2lIb3RQbHVnSW5pdER4ZS9QY2lI b3RQbHVnSW5pdC5pbmYgICAgICAgICAgICAgICAgICAgICAgIHwgICAgNSArDQo+ID4gIE92bWZQ a2cvVmlydGlvMTBEeGUvVmlydGlvMTAuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8ICAxMzUgKy0tDQo+ID4gIE92bWZQa2cvVmlydGlvMTBEeGUvVmlydGlvMTAuaW5mICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDIgKw0KPiA+ICAyMyBmaWxlcyBj aGFuZ2VkLCAyNDg1IGluc2VydGlvbnMoKyksIDI2MiBkZWxldGlvbnMoLSkNCj4gPiAgY3JlYXRl IG1vZGUgMTAwNjQ0IE1kZVBrZy9JbmNsdWRlL0xpYnJhcnkvUGNpQ2FwTGliLmgNCj4gPiAgY3Jl YXRlIG1vZGUgMTAwNjQ0IE1kZVBrZy9JbmNsdWRlL0xpYnJhcnkvUGNpQ2FwUGNpSW9MaWIuaA0K PiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgTWRlUGtnL0luY2x1ZGUvTGlicmFyeS9QY2lDYXBQY2lT ZWdtZW50TGliLmgNCj4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IE1kZVBrZy9MaWJyYXJ5L0Jhc2VQ Y2lDYXBMaWIvQmFzZVBjaUNhcExpYi5jDQo+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBNZGVQa2cv TGlicmFyeS9CYXNlUGNpQ2FwTGliL0Jhc2VQY2lDYXBMaWIuaA0KPiA+ICBjcmVhdGUgbW9kZSAx MDA2NDQgTWRlUGtnL0xpYnJhcnkvQmFzZVBjaUNhcExpYi9CYXNlUGNpQ2FwTGliLmluZg0KPiA+ ICBjcmVhdGUgbW9kZSAxMDA2NDQgTWRlUGtnL0xpYnJhcnkvQmFzZVBjaUNhcFBjaVNlZ21lbnRM aWIvQmFzZVBjaUNhcFBjaVNlZ21lbnRMaWIuYw0KPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgTWRl UGtnL0xpYnJhcnkvQmFzZVBjaUNhcFBjaVNlZ21lbnRMaWIvQmFzZVBjaUNhcFBjaVNlZ21lbnRM aWIuaA0KPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgTWRlUGtnL0xpYnJhcnkvQmFzZVBjaUNhcFBj aVNlZ21lbnRMaWIvQmFzZVBjaUNhcFBjaVNlZ21lbnRMaWIuaW5mDQo+ID4gIGNyZWF0ZSBtb2Rl IDEwMDY0NCBNZGVQa2cvTGlicmFyeS9VZWZpUGNpQ2FwUGNpSW9MaWIvVWVmaVBjaUNhcFBjaUlv TGliLmMNCj4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IE1kZVBrZy9MaWJyYXJ5L1VlZmlQY2lDYXBQ Y2lJb0xpYi9VZWZpUGNpQ2FwUGNpSW9MaWIuaA0KPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgTWRl UGtnL0xpYnJhcnkvVWVmaVBjaUNhcFBjaUlvTGliL1VlZmlQY2lDYXBQY2lJb0xpYi5pbmYNCj4g Pg0KDQo=