From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 8A2BFA0C53; Wed, 3 Nov 2021 14:43:01 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 66A68426DD; Wed, 3 Nov 2021 14:43:01 +0100 (CET) Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2075.outbound.protection.outlook.com [40.107.92.75]) by mails.dpdk.org (Postfix) with ESMTP id C7AF341134 for ; Wed, 3 Nov 2021 14:42:59 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XO9XbNcZGc0cp+G5LMemRbIXp7BtiNNfOt6Dxl+vFpEOhm6m5crDb72rNl1TUo77LSpFd2aQyvsyLDwftlPTSCgL3rvfu6ManGWeyQN3DydrEaGWK2BrZVFpbbs9dJg8BJb7EQSN9vfQp9OIm6I1n+KiZB/WCrWCq/6x9THdCJK4WFrnHo/TzxAGNt3AyokuuAvWGs2c6AfYk8GfBt78y43PbpNwxLdO6J7SxsNtisulJkcqhZ48sRd0VCh6oQStHhX14M1JiLTs8O2xcePoa2wiPspdn8GHResN3OPrtfPnB/noqLs0i1CRVwugjIFTZxcJr9pcHUYLiiVL6lJU4Q== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=6/1l92Rx2hZzZENYx8+tt9gBryARkmSHqB3FP7gPP+A=; b=nIK6OnzhrtnHrfAsP7E/TZyKN3m3ms0ULjfEY+mawC87aTCH96NPX7ftbLHJb09SL5W2bPnRb+lQ25ZSCYF+wNdom2ZwcQjJwknkCr9awDZTR2TYJhnOB6tobMMpYewiJ5s0+KSPfCC7tm/ztlcgNAspa5hmH1Y1IllcHdr/jtwBsBzrUzfNYyzwgZ9nIln67tpQkBtW0urPeosLM2y8Q1whsKKsxZ32SrOvWUYsxGAj8HSKMPD3HTsLsGIFbJ/JuaBj+WzsdGPVaqpHqO5w9bRMsmgbLlwk5bK+81pnDT7GtHQEUXxameiugpISsMJK8lsmKHsVYOaYEnQa5uMqyQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=6/1l92Rx2hZzZENYx8+tt9gBryARkmSHqB3FP7gPP+A=; b=ppnIrzZCK0IwmjW5Npst6wVGQlFC2WlahhkzzK3htdr4XZvbZa9oLPDpUULauUTA/OjsrEOc5I+Yx5DJBaJXBZ9Z727L4DhlQga9JqWVwnifRnAbNn2H47EJMyNctSvJn938VGr1cupzLYLWNshJfNAE9dPnd3WItiT62UQBXJnE5+WHhVAT5VRinjE4PFTIqGdW2vsNs32wuABEH10MTAK1L+FQ68oshhxnoWckPjMUuRbT/Rr9fjEhUNTcduFsvG8VkQaZWHDYuacf3PSOpQrNvZjLZwFft00C3SHYzcHpl2lDsn/N8gDmRyij0oZ8cTe873BK3J3OBruOlz1NgQ== Received: from DM4PR12MB5373.namprd12.prod.outlook.com (2603:10b6:5:39a::17) by DM4PR12MB5373.namprd12.prod.outlook.com (2603:10b6:5:39a::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4649.15; Wed, 3 Nov 2021 13:42:57 +0000 Received: from DM4PR12MB5373.namprd12.prod.outlook.com ([fe80::584f:672a:653f:fe25]) by DM4PR12MB5373.namprd12.prod.outlook.com ([fe80::584f:672a:653f:fe25%5]) with mapi id 15.20.4649.019; Wed, 3 Nov 2021 13:42:57 +0000 From: "Xueming(Steven) Li" To: "chenbo.xia@intel.com" , "maxime.coquelin@redhat.com" , "dev@dpdk.org" Thread-Topic: [PATCH] vhost: add vDPA resource cleanup callback Thread-Index: AQHXxN4gU2J6wOCiM0eB5jWsNOhBN6vdXOKAgAAJuwCAFCy+AIAAVFIA Date: Wed, 3 Nov 2021 13:42:57 +0000 Message-ID: <5c004eade308bacc0037ce7783f1b16f735b508c.camel@nvidia.com> References: <20211019113956.2254537-1-xuemingl@nvidia.com> <2bfda127-f6de-d3fa-0903-566b8ec69be4@redhat.com> <04f60f8da1819b8a0196cfca20127107bd0b835c.camel@nvidia.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.40.4 authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: ce820266-d8d1-4181-af11-08d99ecfd893 x-ms-traffictypediagnostic: DM4PR12MB5373: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:7691; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: RqB4nYBfU1EWHCkWeECh0Ai5pA9mB9LOZedovLexAq3OVWeaROOSTJQutZu1Vwis116cyLwGWtjToAf2U53awebqbLqA899suak+godR3Ap94w8hlz+GQzXt6aaI6fz+Nj1OzanBztcxOPsvyoYu4ko10Jn13J+JHF4JpXK2BDWq8Uiz0M8bMJC7B54iahusXCM3NiDLZPR//fX3ju8SzjO4vMwccEPzLUQTZfEReYQ0vwcOW528knRUkx0ACJy6oBF45PvvkX0RXYLEFUit5ci7ff+h0MgME7tyR/zW8xg2Kf5bGK0iXvqpCqa/qS7aHBXEiHhsuWqTdWQqRI1J00XDwJfWsDIni/eKbg5j4M9+i8Pqq6B3pLNKPm7uPtvNuStKRHnyDF+Hq65GDekwTD/E+hBT8SyZr+Kv4z7wQr1CapA95EoblvdL1q0vb2BprUSGYUI398KEB8VtVtmV/yZa7DGuHKt5xrsYcknCjbLVLx0kFAlRaMqRMhQzz6ocSwDkynkd1va4j4qw59YIQyvs6pKAzXKGy0iE3T93WRmXUw0nyOAobx3qEYlSwk0+l8OIu84kABTWOub9bFL3GMr0iSb79pYL7KGL03WLDyxQ8QOQK9dCXsKTivsf/95Prx4DqFSYXQNx+McKwJ0+t0sc14q9uLFlsgXOX6Fh55VteEoODxNzzSdIBqrjsfHZBqhPUfJAJQjlie4WfuM7vw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM4PR12MB5373.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(6506007)(53546011)(8936002)(122000001)(38100700002)(2906002)(83380400001)(8676002)(36756003)(110136005)(2616005)(316002)(5660300002)(508600001)(86362001)(6486002)(91956017)(64756008)(38070700005)(4001150100001)(6512007)(66556008)(66946007)(71200400001)(66476007)(76116006)(186003)(26005)(66446008); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?aVhVVHd0bGZWRzhkVDY0WnZHa291V1FhcCtjckVTeXdNWExIbE1ERUZUd01R?= =?utf-8?B?aE1nMUJVeElBVXE1MTVLRHA0QXA1VlBzSS9QYWhNVW0xaVRFOHh5eXZRSXhy?= =?utf-8?B?OE9IUTlObWJPalJwUTZVM0RlaGRhaGJyeEFDQ0RueGExUDBiM01sT3BKQUd0?= =?utf-8?B?eVFGSmhmcDZNeG51YTNTT0wzenFzdDRKZ3lQejN2bGdQejkzcHN3d3ZQemlG?= =?utf-8?B?YndERWduTkRsRWU1UDdLZ2p2UXhqTllPbDRiNndBL2NNdWdQUk9DRnZKbEE0?= =?utf-8?B?VE9FSUNyaXRXMUpOeEhEUjdXYWgzSktGdDlLYzAvRnNoRlJONXJkdXMzQ0hC?= =?utf-8?B?QTIzNUN0TEJtTG0vUUdieWlVZE8zbVc0Y2lFUE0xV1VqSFBGaDFnaURwKzR4?= =?utf-8?B?TnFVS3c2RHpYMEhrUmxTSUt6bisxMEEySCt3TENVZnV5cHFyaDQ5Qkc3Q2Vz?= =?utf-8?B?NjFVazREeTUxVGN3ZnprbzkxQXFZZWE4SUFIbVp6M1FxVXpjOW1VVmpGUzdC?= =?utf-8?B?eDNna0NzOUJXQTZLQUROQXhkc0JmNTdMY1FXNGwwVFh0SUxEaURjcys3OW15?= =?utf-8?B?a3lWK2NZRzJTODZRZUV5OC9mbGg2YTRvcFAycmtEUkdGTlkwSHpkbndSenBq?= =?utf-8?B?Z1JWOHRJWXF1a2xYR2RhNVZlM1V0cG9aN0xqbGF0akpNL0tPRG84OWZHNUhJ?= =?utf-8?B?UlRiR2VpYWw1R3B3cytadGVPZVFUZUJhb00vYmNCMzJCSm1XRjY5VXFSZm9a?= =?utf-8?B?NHd6aGF6bVovL2g0SU5DVnBjSkMreVUyb3ROL3dMakppMDBWNzdDVVE1Ky9r?= =?utf-8?B?NFZkbUxQZkRUbVR2VnlMcmhkTExCYXZWS21MR1FacnVYOFRKVHZFM2xVM0NM?= =?utf-8?B?dzYyZTd1YXFaR0x0Qk1jZFhnVS94cGgwNzUvdFB3Q2FUYzROOWZmR2ozVDJH?= =?utf-8?B?M0FOclVJTS9DSG0yMHZ5WFQybUlIcGJDUmJaRG92K0MwelV4a01XMjBTK3dC?= =?utf-8?B?SVRYT29RRnphWkE3N2VMVUtYb25kS2o3b2Q1OTB2czZMRE1nV29pOHlGWXp2?= =?utf-8?B?RlJTdFlBVU81SXVsRGhsVTdDSTNBYUJ5eFkyY0tHYitpV0pXVmVVbk1DVzRB?= =?utf-8?B?MGhYc3Y0ajlJajI3TkFWNXoydmdad3pTYSsvQjFxa3NMd2MvS2ZGa0JOK3pC?= =?utf-8?B?YXg0WGR6Yi9NQjI5SmpBbWJyYTZoeFc0cjUrMUQrYnBGV0NnbHdieFVlbnVx?= =?utf-8?B?WUtMaTBEWHhGaTR6N1ZEM3VzL21nSG5Kem5wU21LZmk3djI3ZDhFZE5WYnY1?= =?utf-8?B?QjlSeHhoTFcyN3dUb1kvNXlPSTVJK3FBN0ljRHlPbnpyLzZxaHFiZzh3dmFI?= =?utf-8?B?KzFjUkhxZTJRTHBaOGs2TnpyTURvaU83NWx0bytaUzhTZkhzUDJXdTRwOU9X?= =?utf-8?B?S201eW5pdmlGcHFRcDFRWVpUZ25BVXBEYVV1UDdWQWJ4T2h1WVlldUoxM2I5?= =?utf-8?B?eUtza1ZBSE8yQTdiTlpWOENpdnhpR2VHVHVSK0U0b2FDU1YycVBES3N2ck02?= =?utf-8?B?S05uYlZMQWhJN3R4WnFFVEJkTFByZ3FBSU55dXR1bG9IaUxVTElaT2NPUjQ3?= =?utf-8?B?WitvRDdNdWdsV1ZQaUJWa2RCYmJLcmh4U0tOSEgxMjZ0UmdiNzBUOTRWaWxT?= =?utf-8?B?ZnUweTdNYjlPYmM2cU5zVDQ2YVZxVlpMWk53UjFrNG82TFAxMjJqK1A5TExI?= =?utf-8?B?VTB0MHR6Z243bmQxajFMRTJvZ2szVnd1dHBROVFxalZIYmxWcXF4Y09abHVZ?= =?utf-8?B?UHVwdmJqOTVtblpJN25XQW9hbnEyeXJjUnFlMWU1VmpxYlJVS0pCQSt4ei9s?= =?utf-8?B?Z0ZuWUtZdnR2VVJUcmxHRWIyMVRxNTlTZUlkVWQrRDVCUWZGNXBuQWNHSENq?= =?utf-8?B?QlVDdUxSdFppN1JneSttK1hpSkFHM2R4WXpXWlZ0UjJYeERZa0RMYWRRRlFj?= =?utf-8?B?Z0VlYkRyVmpnenlrdXQ1cG5ZQWl6dGRJcVFLd1RFMGdMVXBTcWZMVHROQUMx?= =?utf-8?B?MHYvTkdJanFQMXZNMklUMlJhRUFScHNhQm44ZHJvRXBkVERrc251UEY5TGJ1?= =?utf-8?B?TklsZWFxS2llOVJBWk51SktUQVkyaTBqaldhL0FNZk9ueTRpQ2VxRzNwa2lU?= =?utf-8?Q?demhyudBCOQIxgdH3kqRAdfc7unqBfQ4Dw8WS7esT8XA?= Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM4PR12MB5373.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ce820266-d8d1-4181-af11-08d99ecfd893 X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Nov 2021 13:42:57.7088 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: FGZosVUaVlPCQwAAPDACfG0byNYUXClSEncipv7o4kheIlGxkE40qsrv4qPl6Brl81DnlMZujs3TjjbFg1mtpg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5373 Subject: Re: [dpdk-dev] [PATCH] vhost: add vDPA resource cleanup callback X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" T24gV2VkLCAyMDIxLTExLTAzIGF0IDA4OjQxICswMDAwLCBYaWEsIENoZW5ibyB3cm90ZToNCj4g SGkgWHVlbWluZywNCj4gDQo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiBGcm9t OiBYdWVtaW5nKFN0ZXZlbikgTGkgPHh1ZW1pbmdsQG52aWRpYS5jb20+DQo+ID4gU2VudDogVGh1 cnNkYXksIE9jdG9iZXIgMjEsIDIwMjEgODozNiBQTQ0KPiA+IFRvOiBtYXhpbWUuY29xdWVsaW5A cmVkaGF0LmNvbTsgZGV2QGRwZGsub3JnDQo+ID4gQ2M6IFhpYSwgQ2hlbmJvIDxjaGVuYm8ueGlh QGludGVsLmNvbT4NCj4gPiBTdWJqZWN0OiBSZTogW1BBVENIXSB2aG9zdDogYWRkIHZEUEEgcmVz b3VyY2UgY2xlYW51cCBjYWxsYmFjaw0KPiA+IA0KPiA+IE9uIFRodSwgMjAyMS0xMC0yMSBhdCAx NDowMCArMDIwMCwgTWF4aW1lIENvcXVlbGluIHdyb3RlOg0KPiA+ID4gSGkgWHVlbWluZywNCj4g PiA+IA0KPiA+ID4gT24gMTAvMTkvMjEgMTM6MzksIFh1ZW1pbmcgTGkgd3JvdGU6DQo+ID4gPiA+ IFRoaXMgcGF0Y2ggYWRkcyB2RFBBIGRldmljZSBjbGVhbnVwIGNhbGxiYWNrIHRvIHJlbGVhc2Ug cmVzb3VyY2VzIG9uDQo+ID4gPiA+IHZob3N0IHVzZXIgY29ubmVjdGlvbiBjbG9zZS4NCj4gPiA+ ID4gDQo+ID4gPiA+IFNpZ25lZC1vZmYtYnk6IFh1ZW1pbmcgTGkgPHh1ZW1pbmdsQG52aWRpYS5j b20+DQo+ID4gPiA+IC0tLQ0KPiA+ID4gPiAgIGxpYi92aG9zdC9ydGVfdmRwYV9kZXYuaCB8IDMg KysrDQo+ID4gPiA+ICAgbGliL3Zob3N0L3Zob3N0X3VzZXIuYyAgIHwgNiArKysrKysNCj4gPiA+ ID4gICAyIGZpbGVzIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKQ0KPiA+ID4gPiANCj4gPiA+ID4g ZGlmZiAtLWdpdCBhL2xpYi92aG9zdC9ydGVfdmRwYV9kZXYuaCBiL2xpYi92aG9zdC9ydGVfdmRw YV9kZXYuaA0KPiA+ID4gPiBpbmRleCBiMGY0OTQ4MTVmYS4uMjcxMTAwNGZlMDUgMTAwNjQ0DQo+ ID4gPiA+IC0tLSBhL2xpYi92aG9zdC9ydGVfdmRwYV9kZXYuaA0KPiA+ID4gPiArKysgYi9saWIv dmhvc3QvcnRlX3ZkcGFfZGV2LmgNCj4gPiA+ID4gQEAgLTMyLDYgKzMyLDkgQEAgc3RydWN0IHJ0 ZV92ZHBhX2Rldl9vcHMgew0KPiA+ID4gPiAgIAkvKiogRHJpdmVyIGNsb3NlIHRoZSBkZXZpY2Ug KE1hbmRhdG9yeSkgKi8NCj4gPiA+ID4gICAJaW50ICgqZGV2X2Nsb3NlKShpbnQgdmlkKTsNCj4g PiA+ID4gDQo+ID4gPiA+ICsJLyoqIENvbm5lY3Rpb24gY2xvc2VkLCBjbGVhbiB1cCByZXNvdXJj ZXMgKi8NCj4gPiA+ID4gKwlpbnQgKCpkZXZfY2xlYW51cCkoaW50IHZpZCk7DQo+ID4gPiA+ICsN Cj4gPiA+ID4gICAJLyoqIEVuYWJsZS9kaXNhYmxlIHRoaXMgdnJpbmcgKE1hbmRhdG9yeSkgKi8N Cj4gPiA+ID4gICAJaW50ICgqc2V0X3ZyaW5nX3N0YXRlKShpbnQgdmlkLCBpbnQgdnJpbmcsIGlu dCBzdGF0ZSk7DQo+ID4gPiA+IA0KPiA+ID4gPiBkaWZmIC0tZ2l0IGEvbGliL3Zob3N0L3Zob3N0 X3VzZXIuYyBiL2xpYi92aG9zdC92aG9zdF91c2VyLmMNCj4gPiA+ID4gaW5kZXggNWE4OTRjYTBj YzcuLjAzMmI2MjFjODZjIDEwMDY0NA0KPiA+ID4gPiAtLS0gYS9saWIvdmhvc3Qvdmhvc3RfdXNl ci5jDQo+ID4gPiA+ICsrKyBiL2xpYi92aG9zdC92aG9zdF91c2VyLmMNCj4gPiA+ID4gQEAgLTE2 Miw2ICsxNjIsMTIgQEAgZnJlZV9tZW1fcmVnaW9uKHN0cnVjdCB2aXJ0aW9fbmV0ICpkZXYpDQo+ ID4gPiA+ICAgdm9pZA0KPiA+ID4gPiAgIHZob3N0X2JhY2tlbmRfY2xlYW51cChzdHJ1Y3Qgdmly dGlvX25ldCAqZGV2KQ0KPiA+ID4gPiAgIHsNCj4gPiA+ID4gKwlzdHJ1Y3QgcnRlX3ZkcGFfZGV2 aWNlICp2ZHBhX2RldjsNCj4gPiA+ID4gKw0KPiA+ID4gPiArCXZkcGFfZGV2ID0gZGV2LT52ZHBh X2RldjsNCj4gPiA+ID4gKwlpZiAodmRwYV9kZXYgJiYgdmRwYV9kZXYtPm9wcy0+ZGV2X2NsZWFu dXAgIT0gTlVMTCkNCj4gPiA+ID4gKwkJdmRwYV9kZXYtPm9wcy0+ZGV2X2NsZWFudXAoZGV2LT52 aWQpOw0KPiA+ID4gPiArDQo+ID4gPiA+ICAgCWlmIChkZXYtPm1lbSkgew0KPiA+ID4gPiAgIAkJ ZnJlZV9tZW1fcmVnaW9uKGRldik7DQo+ID4gPiA+ICAgCQlydGVfZnJlZShkZXYtPm1lbSk7DQo+ ID4gPiA+IA0KPiA+ID4gDQo+ID4gPiBXaGF0IHdpbGwgYmUgZG9uZSB0aGVyZSB0aGF0IGNhbm5v dCBiZSBkb25lIGluIC5kZXZfY2xvc2UoKT8NCj4gPiANCj4gPiAuZGV2X2Nsb3NlKCkgbWFpbmx5 IGhhbmRsZXMgVk0gc3VzcGVuZCBhbmQgZHJpdmVyIHJlc2V0LiBJZiByZWxlYXNlDQo+ID4gZXZl cnl0aGluZyBpbnNpZGUgZGV2X2Nsb3NlKCksIHRoZSBzdXNwZW5kIGFuZCByZXN1bWUgdGFrZXMg bG9uZ2VyIHRpbWUNCj4gPiBpZiBudW1iZXIgb2YgVlFzIGFyZSBodWdlLiBDdXN0b21lciB3YW50 IHRvIHVwZ3JhZGUgVk0gY29uZmlndXJhdGlvbg0KPiA+IHVzaW5nIHN1c3BlbmQgYW5kIHJlc3Vt ZSwgcGF1c2UgY3VzdG9tZXIgVk0gdG9vIGxvbmcgY2FuJ3QgYmUgYWNjZXB0ZWQuDQo+IA0KPiBC eSBzYXlpbmcgJ3VwZ3JhZGUgVk0gY29uZmlndXJhdGlvbicsIGRvIHlvdSBtZWFuIFZNIG1lbW9y eSBob3RwbHVnPyBPciBzb21ldGhpbmcNCj4gbW9yZT8NCj4gDQo+IElzIHRoaXMgcGF0Y2ggYSBu ZXh0LXN0ZXAgaW1wcm92ZW1lbnQgb2YgdGhpcyBjb21taXQ/DQoNCkhpIENoZW5ibywNCg0KQmFz aWNhbGx5IGlycmVsZXZhbnQgSUlVQywgVk0gY291bGQgYmUgcGF1c2VkIGZvciBtb3JlIHJlYXNv bnMgbGlrZQ0KZGlzayB1cGdyYWRlIG9yIHNvbWV0aGluZyBzaW1pbGFyLiBUbyBzcGVlZCB1cCBk ZXZpY2UgY2xvc2UsIHJlc291cmNlcw0KdGhhdCBjb3VsZCBiZSByZXVzZWQgaW4gcmVzdW1lIGlz IG5vdCByZWxlYXNlZC4gVGhhdCdzIHdoeSB3ZSBuZWVkIGENCmNhbGxiYWNrIHRvIGZyZWUgcmVz b3VyY2VzIGNvbXBsZXRlbHkuDQoNCj4gDQo+IGNvbW1pdCAxMjdmOWM2ZjdiNzhhNDdiNzNiM2Ux YzM5ZTAyMWNjODFhMzBiNGM5DQo+IEF1dGhvcjogTWF0YW4gQXpyYWQgPG1hdGFuQG1lbGxhbm94 LmNvbT4NCj4gRGF0ZTogICBNb24gSnVuIDI5IDE0OjA4OjE5IDIwMjAgKzAwMDANCj4gDQo+ICAg ICB2aG9zdDogaGFuZGxlIG1lbW9yeSBob3RwbHVnIHdpdGggdkRQQSBkZXZpY2VzDQo+IA0KPiAg ICAgU29tZSB2RFBBIGRyaXZlcnMnIGJhc2ljIGNvbmZpZ3VyYXRpb25zIHNob3VsZCBiZSB1cGRh dGVkIHdoZW4gdGhlDQo+ICAgICBndWVzdCBtZW1vcnkgaXMgaG90cGx1Z2dlZC4NCj4gDQo+ICAg ICBDbG9zZSB2RFBBIGRldmljZSBiZWZvcmUgaG90cGx1ZyBvcGVyYXRpb24gYW5kIHJlY3JlYXRl IGl0IGFmdGVyIHRoZQ0KPiAgICAgaG90cGx1ZyBvcGVyYXRpb24gaXMgZG9uZS4NCj4gDQo+ICAg ICBTaWduZWQtb2ZmLWJ5OiBNYXRhbiBBenJhZCA8bWF0YW5AbWVsbGFub3guY29tPg0KPiAgICAg UmV2aWV3ZWQtYnk6IE1heGltZSBDb3F1ZWxpbiA8bWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb20+ DQo+ICAgICBSZXZpZXdlZC1ieTogQ2hlbmJvIFhpYSA8Y2hlbmJvLnhpYUBpbnRlbC5jb20+DQo+ IA0KPiA+IFNvIHRoZSBpZGVhIGlzIHRvIGNhY2hlIGFuZCByZXVzZSByZXNvdXJjZSBiZXR3ZWVu IGRldl9jbG9zZSgpIGFuZA0KPiA+IGRldl9jb25mKCkuIEFjdHVhbGx5LCB0aGUgdHdvIGZ1bmN0 aW9ucyBsb29rcyBtb3JlIGxpa2UgZGV2X3N0b3AoKSBhbmQNCj4gPiBkZXZfc3RhcnQoKS4NCj4g PiANCj4gPiBkZXZfY2xlYW51cCBob29rcyB0byB2aG9zdCBiYWNrZW5kIGNsZWFudXAgd2hpY2gg Y2FsbGVkIHdoZW4gc29ja2V0DQo+ID4gY2xvc2VkIGZvciBib3RoIGNsaWVudCBhbmQgc2VydmVy IG1vZGUsIGEgc2FmZSBwb2ludCB0byBjbGVhbnVwIGFsbA0KPiA+IGNhY2hlZCByZXNvdXJjZXMu DQo+ID4gDQo+ID4gPiBIYXZpbmcgdGhlIG1seDUgaW1wbGVtZW50YXRpb24gb2YgdGhpcyBjYWxs YmFjayBhbG9uZ3NpZGUgdGhpcyBwYXRjaCBtYXkNCj4gPiA+IGhlbHAgdG8gdW5kZXJzdGFuZC4N Cj4gPiANCj4gPiBUaGUgbWx4NSBpbXBsZW1lbnRhdGlvbiBzdGlsbCBhIHByb3RvdHlwZSwgcGVu ZGluZyBvbiBpbnRlcm5hbCByZXZpZXcuDQo+ID4gU28gSSBqdXN0IHBvc3QgdGhlIHZob3N0IHBh cnQgdG8gZ2V0IHN1Z2dlc3Rpb24vY29tbWVudC4gTGV0IG1lIGtub3cgaWYNCj4gPiB0aGUgdWds eSBjb2RlIGRvZXMgaGVscCA6KQ0KPiANCj4gSSB3b3VsZCBwcmVmZXIgdG8gc2VlIHRoZSBtbHgg aW1wbGVtZW50YXRpb24gd2l0aCB0aGlzIHBhdGNoIGluIHRoZSBzYW1lDQo+IHBhdGNoc2V0IHRv IHVuZGVyc3RhbmQgdGhlIHByb2JsZW0uIEEgbmV3IGNhbGxiYWNrIGlzIGZpbmUgaWYgdGhlIHBy b2JsZW0NCj4gaXRzZWxmIG1ha2VzIHNlbnNlIDopDQoNCldpbGwgcG9zdCBvbmNlIHJlYWR5LCB0 aGFua3MhDQoNCj4gDQo+IFRoYW5rcywNCj4gQ2hlbmJvIA0KPiANCj4gPiANCj4gPiA+IA0KPiA+ ID4gVGhhbmtzLA0KPiA+ID4gTWF4aW1lDQo+ID4gPiANCj4gDQoNCg==