From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1640DC43603 for ; Thu, 5 Dec 2019 19:02:21 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id CC81424249 for ; Thu, 5 Dec 2019 19:02:20 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=Mellanox.com header.i=@Mellanox.com header.b="AqMG5mG4" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730048AbfLETCT (ORCPT ); Thu, 5 Dec 2019 14:02:19 -0500 Received: from mail-eopbgr40040.outbound.protection.outlook.com ([40.107.4.40]:36161 "EHLO EUR03-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726589AbfLETCT (ORCPT ); Thu, 5 Dec 2019 14:02:19 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=W3B37UPwNi9u9u2QWNStgOnxWQAbUMkyBel+d7PcTY4y2Yz1vg8pVqj4DN/hTbHSQ4ep7D7Ovb+6UlonrjcX6lqsTDj8mPQ3DKilvGfioX8IKUEDYbxCysAFrb76DHquf3XHBLOQxphqkqMnYohO8FlGWid+/8zJ6yVnRcW0Nx5lMKTg1iRmU2RPMa3NxlOtPJIpKNohDGxYfEA+XWZt0VanLedJvgmOWDfL8kvIqb9pl68yBAvW9DeTLDQiH04UA7SJZyhtFiQgtAwTXdGgef9E4DNp3DWI518wFxtVUSRxABSRUAORsejjHwNAJNd+1S7Aq0TEuVXAzzqMHwxWGA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=bTAyymT77vkUN+uT6Cbu8b+GhzL0B4A8bVOIA7X/6Ms=; b=GvU5IOTQnEsJXK8iDjWp28bpWx3EybxY6c/z3AwrBGJyEBvoqOhY2nDhcAJz2ZmMAOTDfSwERuzmpIBm5W6FEPzs5vf6MLtW4kpWxTBxtgt6Gbhp4ZaYdf51LqottHj5YY4mnbL6iOxosWwKb4976jBBMKfBI4nNY0Hf9f/xw7UCtliQr2t2KhCWwI35/x5ezbxvD5lLQOBqR4atMtY7xY17FSXeJ67ON/WE02cZJkvalkwbIkXSpltEnQVTCBh1jiFavGfxKR7UEfSyR3xA2lCNSqs7PoW4AFsLRWIIc4R2Sis5XaKsdCajr7uWIyuVbLwGysihQ8iZC7mDXDOyQg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mellanox.com; dmarc=pass action=none header.from=mellanox.com; dkim=pass header.d=mellanox.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=bTAyymT77vkUN+uT6Cbu8b+GhzL0B4A8bVOIA7X/6Ms=; b=AqMG5mG4CY4WWHMG6PvijynbaC41xbbCILPhFLSNMfypsCkWvEfRXiBUOLV+qaEGi0jM45N7H5xoGHjZA89XYW94zOSm+4VvFGVsdqsEemlOP6ETAkpmsGMP7TWNYklgJ9UjttBcagnRqYwXMwe2vg7qx2dRhTfUkoPSnqP1bZ8= Received: from AM0PR05MB4866.eurprd05.prod.outlook.com (20.176.214.160) by AM0PR05MB6516.eurprd05.prod.outlook.com (20.179.35.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2516.14; Thu, 5 Dec 2019 19:02:13 +0000 Received: from AM0PR05MB4866.eurprd05.prod.outlook.com ([fe80::16:9951:5a4b:9ec6]) by AM0PR05MB4866.eurprd05.prod.outlook.com ([fe80::16:9951:5a4b:9ec6%7]) with mapi id 15.20.2516.014; Thu, 5 Dec 2019 19:02:13 +0000 From: Parav Pandit To: Jason Wang , Zhenyu Wang CC: "kvm@vger.kernel.org" , "alex.williamson@redhat.com" , "kwankhede@nvidia.com" , "kevin.tian@intel.com" , "cohuck@redhat.com" , Jiri Pirko , "netdev@vger.kernel.org" , "Michael S. Tsirkin" Subject: RE: [PATCH 0/6] VFIO mdev aggregated resources handling Thread-Topic: [PATCH 0/6] VFIO mdev aggregated resources handling Thread-Index: AQHViikX93ntAS7QxEa+ZUX9CByqKKeAQaYwgADEfoCAKW0u8IAA3JMAgAAJlICAAM59kA== Date: Thu, 5 Dec 2019 19:02:13 +0000 Message-ID: References: <20191024050829.4517-1-zhenyuw@linux.intel.com> <20191108081925.GH4196@zhen-hp.sh.intel.com> <20191205060618.GD4196@zhen-hp.sh.intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=parav@mellanox.com; x-originating-ip: [208.176.44.194] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: fddd1636-4840-4e8a-347f-08d779b5a3b1 x-ms-traffictypediagnostic: AM0PR05MB6516:|AM0PR05MB6516: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-forefront-prvs: 02426D11FE x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(4636009)(396003)(346002)(376002)(136003)(366004)(39860400002)(13464003)(189003)(199004)(25786009)(7696005)(99286004)(76176011)(11346002)(54906003)(186003)(316002)(110136005)(4326008)(14444005)(478600001)(71190400001)(53546011)(71200400001)(14454004)(966005)(102836004)(6506007)(81156014)(66556008)(76116006)(66476007)(66946007)(66446008)(64756008)(8936002)(74316002)(33656002)(5660300002)(229853002)(55016002)(81166006)(9686003)(52536014)(8676002)(2906002)(305945005)(26005)(86362001)(21314003);DIR:OUT;SFP:1101;SCL:1;SRVR:AM0PR05MB6516;H:AM0PR05MB4866.eurprd05.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;MX:1;A:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ymue+VBwOmDgTLloCceyGgU4VnbCN9CrpMSe7qVKJJu7YfpUy8Zy56O/1cKuWXpc7zs6TqMxQnOc25eOvzoaOCIVSXO6wuKP6om11NEchHTE/OWpnwwdchBaXVQzLLvtXO/6gfHjE010C8SfVvONlH+74f9u/QaJ6xi8ZoIpDD/hBcn3y43wF0G+GcyyQg0BPfJ6qRRhoOP5E9Zo8YXzj3WY3lUfdyljp2KvZX8pFUkxMgZul0Ubk/QxMPOW7p5BFUj7yak8GplNPuMAnPA1VoTrh05xFEkdRiLeagAH2mkUpKrXKMa+TRK3JxRStc6ljqC1n6TNzJnmc34cpyxzSYUMOE3Tjd58LPpWTKWRENw9o9U1Ybbs9nFOIty1WoqSSemExIM37YabOQHKziFmY39fHRTN6etfQ9UkjFVL70q2r3oehl/xR0F2K1+7Y5WwwCQ8zN/5ozwnquQ74ySi09oR7X1TwNmNP85TG4EQ8386y7vr1ZSyroCfE2TskzUxZZtuIl0gC9gBcBb9g3R/Nbai7N3A1zBSbnyRMiNB+gU= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: fddd1636-4840-4e8a-347f-08d779b5a3b1 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Dec 2019 19:02:13.6776 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: zQfpxXXDiSrLKk5lD5FhLktURTyMk1u6sDZ1iu22U3TRjWga8TCjFioQAb9fxSTB6oLiVoFfMLBQB9g6a2nKFg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR05MB6516 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org SGkgSmFzb24sDQoNCj4gRnJvbTogSmFzb24gV2FuZyA8amFzb3dhbmdAcmVkaGF0LmNvbT4NCj4g U2VudDogVGh1cnNkYXksIERlY2VtYmVyIDUsIDIwMTkgMTI6NDEgQU0NCj4gDQo+IA0KPiBPbiAy MDE5LzEyLzUg5LiL5Y2IMjowNiwgWmhlbnl1IFdhbmcgd3JvdGU6DQo+ID4gT24gMjAxOS4xMi4w NCAxNzozNjoxMiArMDAwMCwgUGFyYXYgUGFuZGl0IHdyb3RlOg0KPiA+PiArIEppcmkgKyBOZXRk ZXYgc2luY2UgeW91IG1lbnRpb25lZCBuZXRkZXYgcXVldWUuDQo+ID4+DQo+ID4+ICsgSmFzb24g V2FuZyBhbmQgTWljaGFlbCBhcyB3ZSBoYWQgc2ltaWxhciBkaXNjdXNzaW9uIGluIHZkcGEgZGlz Y3Vzc2lvbg0KPiB0aHJlYWQuDQo+ID4+DQo+ID4+PiBGcm9tOiBaaGVueXUgV2FuZyA8emhlbnl1 d0BsaW51eC5pbnRlbC5jb20+DQo+ID4+PiBTZW50OiBGcmlkYXksIE5vdmVtYmVyIDgsIDIwMTkg MjoxOSBBTQ0KPiA+Pj4gVG86IFBhcmF2IFBhbmRpdCA8cGFyYXZAbWVsbGFub3guY29tPg0KPiA+ Pj4NCj4gPj4gTXkgYXBvbG9naWVzIHRvIHJlcGx5IGxhdGUuDQo+ID4+IFNvbWV0aGluZyBiYWQg d2l0aCBteSBlbWFpbCBjbGllbnQsIGR1ZSB0byB3aGljaCBJIGZvdW5kIHRoaXMgcGF0Y2ggdW5k ZXINCj4gc3BhbSBmb2xkZXIgdG9kYXkuDQo+ID4+IE1vcmUgY29tbWVudHMgYmVsb3cuDQo+ID4+ DQo+ID4+PiBPbiAyMDE5LjExLjA3IDIwOjM3OjQ5ICswMDAwLCBQYXJhdiBQYW5kaXQgd3JvdGU6 DQo+ID4+Pj4gSGksDQo+ID4+Pj4NCj4gPj4+Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0N Cj4gPj4+Pj4gRnJvbToga3ZtLW93bmVyQHZnZXIua2VybmVsLm9yZyA8a3ZtLW93bmVyQHZnZXIu a2VybmVsLm9yZz4gT24NCj4gPj4+Pj4gQmVoYWxmIE9mIFpoZW55dSBXYW5nDQo+ID4+Pj4+IFNl bnQ6IFRodXJzZGF5LCBPY3RvYmVyIDI0LCAyMDE5IDEyOjA4IEFNDQo+ID4+Pj4+IFRvOiBrdm1A dmdlci5rZXJuZWwub3JnDQo+ID4+Pj4+IENjOiBhbGV4LndpbGxpYW1zb25AcmVkaGF0LmNvbTsg a3dhbmtoZWRlQG52aWRpYS5jb207DQo+ID4+Pj4+IGtldmluLnRpYW5AaW50ZWwuY29tOyBjb2h1 Y2tAcmVkaGF0LmNvbQ0KPiA+Pj4+PiBTdWJqZWN0OiBbUEFUQ0ggMC82XSBWRklPIG1kZXYgYWdn cmVnYXRlZCByZXNvdXJjZXMgaGFuZGxpbmcNCj4gPj4+Pj4NCj4gPj4+Pj4gSGksDQo+ID4+Pj4+ DQo+ID4+Pj4+IFRoaXMgaXMgYSByZWZyZXNoIGZvciBwcmV2aW91cyBzZW5kIG9mIHRoaXMgc2Vy aWVzLiBJIGdvdA0KPiA+Pj4+PiBpbXByZXNzaW9uIHRoYXQgc29tZSBTSU9WIGRyaXZlcnMgd291 bGQgc3RpbGwgZGVwbG95IHRoZWlyIG93bg0KPiA+Pj4+PiBjcmVhdGUgYW5kIGNvbmZpZyBtZXRo b2Qgc28gc3RvcHBlZCBlZmZvcnQgb24gdGhpcy4gQnV0IHNlZW1zIHRoaXMNCj4gPj4+Pj4gd291 bGQgc3RpbGwgYmUgdXNlZnVsIGZvciBzb21lIG90aGVyIFNJT1YgZHJpdmVyIHdoaWNoIG1heSBz aW1wbHkNCj4gPj4+Pj4gd2FudCBjYXBhYmlsaXR5IHRvIGFnZ3JlZ2F0ZSByZXNvdXJjZXMuIFNv IGhlcmUncyByZWZyZXNoZWQgc2VyaWVzLg0KPiA+Pj4+Pg0KPiA+Pj4+PiBDdXJyZW50IG1kZXYg ZGV2aWNlIGNyZWF0ZSBpbnRlcmZhY2UgZGVwZW5kcyBvbiBmaXhlZCBtZGV2IHR5cGUsDQo+ID4+ Pj4+IHdoaWNoIGdldCB1dWlkIGZyb20gdXNlciB0byBjcmVhdGUgaW5zdGFuY2Ugb2YgbWRldiBk ZXZpY2UuIElmDQo+ID4+Pj4+IHVzZXIgd2FudHMgdG8gdXNlIGN1c3RvbWl6ZWQgbnVtYmVyIG9m IHJlc291cmNlIGZvciBtZGV2IGRldmljZSwNCj4gPj4+Pj4gdGhlbiBvbmx5IGNhbiBjcmVhdGUg bmV3DQo+ID4+Pj4gQ2FuIHlvdSBwbGVhc2UgZ2l2ZSBhbiBleGFtcGxlIG9mICdyZXNvdXJjZSc/ DQo+ID4+Pj4gV2hlbiBJIGdyZXAgWzFdLCBbMl0gYW5kIFszXSwgSSBjb3VsZG4ndCBmaW5kIGFu eXRoaW5nIHJlbGF0ZWQgdG8gJw0KPiBhZ2dyZWdhdGUnLg0KPiA+Pj4gVGhlIHJlc291cmNlIGlz IHZlbmRvciBkZXZpY2Ugc3BlY2lmaWMsIGluIFNJT1Ygc3BlYyB0aGVyZSdzIEFESQ0KPiA+Pj4g KEFzc2lnbmFibGUgRGV2aWNlIEludGVyZmFjZSkgZGVmaW5pdGlvbiB3aGljaCBjb3VsZCBiZSBl LmcgcXVldWUNCj4gPj4+IGZvciBuZXQgZGV2aWNlLCBjb250ZXh0IGZvciBncHUsIGV0Yy4gSSBq dXN0IG5hbWVkIHRoaXMgaW50ZXJmYWNlIGFzDQo+ICdhZ2dyZWdhdGUnDQo+ID4+PiBmb3IgYWdn cmVnYXRpb24gcHVycG9zZSwgaXQncyBub3QgdXNlZCBpbiBzcGVjIGRvYy4NCj4gPj4+DQo+ID4+ IFNvbWUgJ3Vua25vd24vdW5kZWZpbmVkJyB2ZW5kb3Igc3BlY2lmaWMgcmVzb3VyY2UganVzdCBk b2Vzbid0IHdvcmsuDQo+ID4+IE9yY2hlc3RyYXRpb24gdG9vbCBkb2Vzbid0IGtub3cgd2hpY2gg cmVzb3VyY2UgYW5kIHdoYXQvaG93IHRvIGNvbmZpZ3VyZQ0KPiBmb3Igd2hpY2ggdmVuZG9yLg0K PiA+PiBJdCBoYXMgdG8gYmUgd2VsbCBkZWZpbmVkLg0KPiA+Pg0KPiA+PiBZb3UgY2FuIGFsc28g ZmluZCBzdWNoIGRpc2N1c3Npb24gaW4gcmVjZW50IGxncHUgRFJNIGNncm91cCBwYXRjaGVzIHNl cmllcw0KPiB2NC4NCj4gPj4NCj4gPj4gRXhwb3NpbmcgbmV0d29ya2luZyByZXNvdXJjZSBjb25m aWd1cmF0aW9uIGluIG5vbi1uZXQgbmFtZXNwYWNlIGF3YXJlDQo+IG1kZXYgc3lzZnMgYXQgUENJ IGRldmljZSBsZXZlbCBpcyBuby1nby4NCj4gPj4gQWRkaW5nIHBlciBmaWxlIE5FVF9BRE1JTiBv ciBvdGhlciBjaGVja3MgaXMgbm90IHRoZSBhcHByb2FjaCB3ZSBmb2xsb3cgaW4NCj4ga2VybmVs Lg0KPiA+Pg0KPiA+PiBkZXZsaW5rIGhhcyBiZWVuIGEgc3Vic3lzdGVtIHRob3VnaCB1bmRlciBu ZXQsIHRoYXQgaGFzIHZlcnkgcmljaCBpbnRlcmZhY2UNCj4gZm9yIHN5c2NhbGxlciwgZGV2aWNl IGhlYWx0aCwgcmVzb3VyY2UgbWFuYWdlbWVudCBhbmQgbWFueSBtb3JlLg0KPiA+PiBFdmVuIHRo b3VnaCBpdCBpcyB1c2VkIGJ5IG5ldCBkcml2ZXIgdG9kYXksIGl0cyB3cml0dGVuIGZvciBnZW5l cmljIGRldmljZQ0KPiBtYW5hZ2VtZW50IGF0IGJ1cy9kZXZpY2UgbGV2ZWwuDQo+ID4+DQo+ID4+ IFl1dmFsIGhhcyBwb3N0ZWQgcGF0Y2hlcyB0byBtYW5hZ2UgUENJIHN1Yi1kZXZpY2VzIFsxXSBh bmQgdXBkYXRlZCB2ZXJzaW9uDQo+IHdpbGwgYmUgcG9zdGVkIHNvb24gd2hpY2ggYWRkcmVzc2Vz IGNvbW1lbnRzLg0KPiA+Pg0KPiA+PiBGb3IgYW55IGRldmljZSBzbGljZSByZXNvdXJjZSBtYW5h Z2VtZW50IG9mIG1kZXYsIHN1Yi1mdW5jdGlvbiBldGMsIHdlDQo+IHNob3VsZCBiZSB1c2luZyBz aW5nbGUga2VybmVsIGludGVyZmFjZSBhcyBkZXZsaW5rIFsyXSwgWzNdLg0KPiA+Pg0KPiA+PiBb MV0NCj4gPj4gaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvbmV0ZGV2LzE1NzMyMjk5MjYtMzAwNDAt MS1naXQtc2VuZC1lbWFpbC15dXZhDQo+ID4+IGxhdkBtZWxsYW5veC5jb20vIFsyXQ0KPiA+PiBo dHRwOi8vbWFuNy5vcmcvbGludXgvbWFuLXBhZ2VzL21hbjgvZGV2bGluay1kZXYuOC5odG1sDQo+ ID4+IFszXSBodHRwOi8vbWFuNy5vcmcvbGludXgvbWFuLXBhZ2VzL21hbjgvZGV2bGluay1yZXNv dXJjZS44Lmh0bWwNCj4gPj4NCj4gPj4gTW9zdCBtb2Rlcm4gZGV2aWNlIGNvbmZpZ3VyYXRpb24g dGhhdCBJIGFtIGF3YXJlIG9mIGlzIHVzdWFsbHkgZG9uZSB2aWENCj4gd2VsbCBkZWZpbmVkIGlv Y3RsKCkgb2YgdGhlIHN1YnN5c3RlbSAodmhvc3QsIHZpcnRpbywgdmZpbywgcmRtYSwgbnZtZSBh bmQgbW9yZSkNCj4gb3IgdmlhIG5ldGxpbmsgY29tbWFuZHMgKG5ldCwgZGV2bGluaywgcmRtYSBh bmQgbW9yZSkgbm90IHZpYSBzeXNmcy4NCj4gPj4NCj4gPiBDdXJyZW50IHZmaW8vbWRldiBjb25m aWd1cmF0aW9uIGlzIHZpYSBkb2N1bWVudGVkIHN5c2ZzIEFCSSBpbnN0ZWFkIG9mDQo+ID4gb3Ro ZXIgd2F5cy4gU28gdGhpcyBhZGhlcmUgdG8gdGhhdCB3YXkgdG8gaW50cm9kdWNlIG1vcmUgY29u ZmlndXJhYmxlDQo+ID4gbWV0aG9kIG9uIG1kZXYgZGV2aWNlIGZvciBzdGFuZGFyZCwgaXQncyBv cHRpb25hbCBhbmQgbm90IGFjdHVhbGx5DQo+ID4gdmVuZG9yIHNwZWNpZmljIGUuZyB2ZmlvLWFw Lg0KPiA+DQo+ID4gSSdtIG5vdCBzdXJlIGhvdyBtYW55IGRldmljZXMgc3VwcG9ydCBkZXZsaW5r IG5vdywgb3IgaWYgcmVhbGx5IG1ha2UNCj4gPiBzZW5zZSB0byB1dGlsaXplIGRldmxpbmsgZm9y IG90aGVyIGRldmljZXMgZXhjZXB0IG5ldCwgb3IgaWYgcmVhbGx5DQo+ID4gbWFrZSBzZW5zZSB0 byB0YWtlIG1kZXYgcmVzb3VyY2UgY29uZmlndXJhdGlvbiBmcm9tIHRoZXJlLi4uDQo+IA0KPiAN Cj4gSXQgbWF5IG1ha2Ugc2Vuc2UgdG8gYWxsb3cgb3RoZXIgdHlwZXMgb2YgQVBJIHRvIG1hbmFn ZSBtZGV2IG90aGVyIHRoYW4NCj4gc3lzZnMuIEJ1dCBJJ20gbm90IHN1cmUgd2hldGhlciBvciBu b3QgaXQgd2lsbCBiZSBhIGNoYWxsZW5nZSBmb3Igb3JjaGVzdHJhdGlvbi4NCj4gDQoNClRoZXJl IGFyZSB0d28gcGFydHMuDQoxLiBIb3cgeW91IHNwZWNpZnkgcmVzb3VyY2UgY29uZmlnIChzeXNm cy9uZXRsaW5rL2RldmxpbmsvaW9jdGwgZXRjKQ0KMi4gZGVmaW5pdGlvbiBvZiB0aGUgcmVzb3Vy Y2UgaXRzZWxmLiBJdCBoYXMgdG8gYmUgd2VsbCBkZWZpbmVkLiBPciBpdCBzaG91bGQgYmUgY2F0 ZWdvcml6ZWQgYXMgbWlzY2VsbGFuZW91cy4NCkl0IGNhbm5vdCBiZSBzb21lIHVuZGVmaW5lZC92 YWd1ZSBuYW1lIGFzICdhZ2dyZWdhdGUnLg0KIA0KPiBUaGFua3MNCj4gDQo+IA0KPiA+Pj4+PiBt ZGV2IHR5cGUgZm9yIHRoYXQgd2hpY2ggbWF5IG5vdCBiZSBmbGV4aWJsZS4gVGhpcyByZXF1aXJl bWVudA0KPiA+Pj4+PiBjb21lcyBub3Qgb25seSBmcm9tIHRvIGJlIGFibGUgdG8gYWxsb2NhdGUg ZmxleGlibGUgcmVzb3VyY2VzIGZvcg0KPiA+Pj4+PiBLVk1HVCwgYnV0IGFsc28gZnJvbSBJbnRl bCBzY2FsYWJsZSBJTyB2aXJ0dWFsaXphdGlvbiB3aGljaCB3b3VsZA0KPiA+Pj4+PiB1c2UgdmZp by9tZGV2IHRvIGJlIGFibGUgdG8gYWxsb2NhdGUgYXJiaXRyYXJ5IHJlc291cmNlcyBvbiBtZGV2 DQo+IGluc3RhbmNlLg0KPiA+Pj4gTW9yZSBpbmZvIG9uIFsxXSBbMl0gWzNdLg0KPiA+Pj4+PiBU byBhbGxvdyB0byBjcmVhdGUgdXNlciBkZWZpbmVkIHJlc291cmNlcyBmb3IgbWRldiwgaXQgdHJ5 cyB0bw0KPiA+Pj4+PiBleHRlbmQgbWRldiBjcmVhdGUgaW50ZXJmYWNlIGJ5IGFkZGluZyBuZXcg ImFnZ3JlZ2F0ZT14eHgiDQo+ID4+Pj4+IHBhcmFtZXRlciBmb2xsb3dpbmcgVVVJRCwgZm9yIHRh cmdldCBtZGV2IHR5cGUgaWYgYWdncmVnYXRpb24gaXMNCj4gPj4+Pj4gc3VwcG9ydGVkLCBpdCBj YW4gY3JlYXRlIG5ldyBtZGV2IGRldmljZSB3aGljaCBjb250YWlucyByZXNvdXJjZXMNCj4gPj4+ Pj4gY29tYmluZWQgYnkgbnVtYmVyIG9mIGluc3RhbmNlcywgZS5nDQo+ID4+Pj4+DQo+ID4+Pj4+ ICAgICAgZWNobyAiPHV1aWQ+LGFnZ3JlZ2F0ZT0xMCIgPiBjcmVhdGUNCj4gPj4+Pj4NCj4gPj4+ Pj4gVk0gbWFuYWdlciBlLmcgbGlidmlydCBjYW4gY2hlY2sgbWRldiB0eXBlIHdpdGggImFnZ3Jl Z2F0aW9uIg0KPiA+Pj4+PiBhdHRyaWJ1dGUgd2hpY2ggY2FuIHN1cHBvcnQgdGhpcyBzZXR0aW5n LiBJZiBubyAiYWdncmVnYXRpb24iDQo+ID4+Pj4+IGF0dHJpYnV0ZSBmb3VuZCBmb3IgbWRldiB0 eXBlLCBwcmV2aW91cyBiZWhhdmlvciBpcyBzdGlsbCBrZXB0IGZvcg0KPiA+Pj4+PiBvbmUgaW5z dGFuY2UgYWxsb2NhdGlvbi4gQW5kIG5ldyBzeXNmcyBhdHRyaWJ1dGUNCj4gPj4+Pj4gImFnZ3Jl Z2F0ZWRfaW5zdGFuY2VzIiBpcyBjcmVhdGVkIGZvciBlYWNoIG1kZXYgZGV2aWNlIHRvIHNob3cN Cj4gPj4+Pj4gYWxsb2NhdGVkDQo+ID4+PiBudW1iZXIuDQo+ID4+Pj4+IFJlZmVyZW5jZXM6DQo+ ID4+Pj4+IFsxXQ0KPiA+Pj4+PiBodHRwczovL3NvZnR3YXJlLmludGVsLmNvbS9lbi11cy9kb3du bG9hZC9pbnRlbC12aXJ0dWFsaXphdGlvbi10ZWMNCj4gPj4+Pj4gaG4NCj4gPj4+Pj4gb2xvZ3kt IGZvci1kaXJlY3RlZC1pby1hcmNoaXRlY3R1cmUtc3BlY2lmaWNhdGlvbg0KPiA+Pj4+PiBbMl0N Cj4gPj4+Pj4gaHR0cHM6Ly9zb2Z0d2FyZS5pbnRlbC5jb20vZW4tdXMvZG93bmxvYWQvaW50ZWwt c2NhbGFibGUtaW8tdmlydHVhDQo+ID4+Pj4+IGxpDQo+ID4+Pj4+IHphdGlvbi0NCj4gPj4+Pj4g dGVjaG5pY2FsLXNwZWNpZmljYXRpb24NCj4gPj4+Pj4gWzNdIGh0dHBzOi8vc2NoZC53cy9ob3N0 ZWRfZmlsZXMvbGMzMjAxOC8wMC9MQzMtU0lPVi1maW5hbC5wZGYNCj4gPj4+Pj4NCj4gPj4+Pj4g Wmhlbnl1IFdhbmcgKDYpOg0KPiA+Pj4+PiAgICB2ZmlvL21kZXY6IEFkZCBuZXcgImFnZ3JlZ2F0 ZSIgcGFyYW1ldGVyIGZvciBtZGV2IGNyZWF0ZQ0KPiA+Pj4+PiAgICB2ZmlvL21kZXY6IEFkZCAi YWdncmVnYXRpb24iIGF0dHJpYnV0ZSBmb3Igc3VwcG9ydGVkIG1kZXYgdHlwZQ0KPiA+Pj4+PiAg ICB2ZmlvL21kZXY6IEFkZCAiYWdncmVnYXRlZF9pbnN0YW5jZXMiIGF0dHJpYnV0ZSBmb3Igc3Vw cG9ydGVkIG1kZXYNCj4gPj4+Pj4gICAgICBkZXZpY2UNCj4gPj4+Pj4gICAgRG9jdW1lbnRhdGlv bi9kcml2ZXItYXBpL3ZmaW8tbWVkaWF0ZWQtZGV2aWNlLnJzdDogVXBkYXRlIGZvcg0KPiA+Pj4+ PiAgICAgIHZmaW8vbWRldiBhZ2dyZWdhdGlvbiBzdXBwb3J0DQo+ID4+Pj4+ICAgIERvY3VtZW50 YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMtYnVzLXZmaW8tbWRldjogVXBkYXRlIGZvciB2ZmlvL21k ZXYNCj4gPj4+Pj4gICAgICBhZ2dyZWdhdGlvbiBzdXBwb3J0DQo+ID4+Pj4+ICAgIGRybS9pOTE1 L2d2dDogQWRkIG5ldyB0eXBlIHdpdGggYWdncmVnYXRpb24gc3VwcG9ydA0KPiA+Pj4+Pg0KPiA+ Pj4+PiAgIERvY3VtZW50YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMtYnVzLXZmaW8tbWRldiB8IDI0 ICsrKysrKw0KPiA+Pj4+PiAgIC4uLi9kcml2ZXItYXBpL3ZmaW8tbWVkaWF0ZWQtZGV2aWNlLnJz dCAgICAgICB8IDIzICsrKysrKw0KPiA+Pj4+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9n dnQuYyAgICAgICAgICAgICAgICB8ICA0ICstDQo+ID4+Pj4+ICAgZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ3Z0L2d2dC5oICAgICAgICAgICAgICAgIHwgMTEgKystDQo+ID4+Pj4+ICAgZHJpdmVycy9n cHUvZHJtL2k5MTUvZ3Z0L2t2bWd0LmMgICAgICAgICAgICAgIHwgNTMgKysrKysrKysrKysrLQ0K PiA+Pj4+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC92Z3B1LmMgICAgICAgICAgICAgICB8 IDU2ICsrKysrKysrKysrKy0NCj4gPj4+Pj4gICBkcml2ZXJzL3ZmaW8vbWRldi9tZGV2X2NvcmUu YyAgICAgICAgICAgICAgICAgfCAzNiArKysrKysrKy0NCj4gPj4+Pj4gICBkcml2ZXJzL3ZmaW8v bWRldi9tZGV2X3ByaXZhdGUuaCAgICAgICAgICAgICAgfCAgNiArLQ0KPiA+Pj4+PiAgIGRyaXZl cnMvdmZpby9tZGV2L21kZXZfc3lzZnMuYyAgICAgICAgICAgICAgICB8IDc5ICsrKysrKysrKysr KysrKysrKy0NCj4gPj4+Pj4gICBpbmNsdWRlL2xpbnV4L21kZXYuaCAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAxOSArKysrKw0KPiA+Pj4+PiAgIDEwIGZpbGVzIGNoYW5nZWQsIDI5NCBpbnNl cnRpb25zKCspLCAxNyBkZWxldGlvbnMoLSkNCj4gPj4+Pj4NCj4gPj4+Pj4gLS0NCj4gPj4+Pj4g Mi4yNC4wLnJjMA0KPiA+Pj4gLS0NCj4gPj4+IE9wZW4gU291cmNlIFRlY2hub2xvZ3kgQ2VudGVy LCBJbnRlbCBsdGQuDQo+ID4+Pg0KPiA+Pj4gJGdwZyAtLWtleXNlcnZlciB3d3drZXlzLnBncC5u ZXQgLS1yZWN2LWtleXMgNEQ3ODE4MjcNCg0K