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 7A051A0C53; Wed, 3 Nov 2021 14:45:12 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5A9DF426DD; Wed, 3 Nov 2021 14:45:12 +0100 (CET) Received: from NAM04-BN8-obe.outbound.protection.outlook.com (mail-bn8nam08on2067.outbound.protection.outlook.com [40.107.100.67]) by mails.dpdk.org (Postfix) with ESMTP id EB60F41134 for ; Wed, 3 Nov 2021 14:45:10 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gSW9osYj6uKE0OqIAZ4jw3NdUGAQx9L4nWkPlqL3YcFWIsDD7D+yIFi/0DgNQ/C6uqxu7GS98+uDcCur6MPHw8qVhaKHxNRezYZRZh6/nDDTxTUrUxzmODL4hvFvkgYTnZMwOxDZO0U0QRNrNNvdtXFlF4TeGdB7c6IK1qEKeyq1wwwAYMi/XP4lQl0dc+Icm0CGJKMWlceg8bu1r2+DjxY51VVvTGD5sogJGa6r0EyjWQUR8oadygKY7l0prwPmlp5/v5H/3kkxFurfRRvZ3HRR/PhtzeR9azR707h9DqIRYNnNs+urothyDdJba/Nl4GSbQMoI+p25RpooEbGoPA== 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=tYXBRKc5hyubF5TX8/0CLjPyDH+Ti3mnsbGaVeBccb4=; b=n27cn4ubDuwN61TlWbG1Ctj3AoQVBBjYgnMg2zR16FHcXYA7QtUR5vperA2tWtSBBID5oyMr5FRVwEyCTu7M+N/tlvCOWeCEo65C/C7ujXv+2d90Dy1VU+Q4XoUNwofds1uzcZZn14WW+6AAOGwgDDS03B8InQ0xaaQyotjhpylXfhZpvaVBuYBGW3g3l5H2+Od8wgT4TsHk7X25XUHjjhCHrQl7oq11Uvvgh2mZcxd7dzmo+HZOJ+efA0aQfQ9Mtz6xLtS3696zxyUwc9WLN9eal71FKWwRyRGI1NnV25WEokA5B2gZrcKi8ahT2xBdA1hKoKe1Qo3ZQXNkgO1A9g== 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=tYXBRKc5hyubF5TX8/0CLjPyDH+Ti3mnsbGaVeBccb4=; b=GByAq0T1OY4RwMKmuE8QWYichcZVPXBWbLAd3Sa97+rTv/gRwK3R1LFxHPULshArFnbmxHd7QqGvIx/WP9lyrspqzm1SuNtdl+4MVbatxLk369JGTn1oCkNW500TVBGdD85Uo1l4sc/VUe2GSu2N9p2OtbchhEA6lJNZwyJ8W87IPxNbUbgOdYxKP3bO0yRO5Fqg9iR59yZqECEm1qTtC2fklChHq2sVCTNMo2Mhw7aPruqu3dA11r9PgI2IQf46OaTMlHFNUZzFkLCaJmJNUu+0vz2FHYQIg0kUSPl0SujxMCcGncvQcpbvDcoxkkXlfEYhCSHzct4ngR+PjYBSaw== Received: from DM4PR12MB5373.namprd12.prod.outlook.com (2603:10b6:5:39a::17) by DM4PR12MB5246.namprd12.prod.outlook.com (2603:10b6:5:399::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:45:09 +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:45:09 +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+AIAAAYGAgABTbYA= Date: Wed, 3 Nov 2021 13:45:09 +0000 Message-ID: References: <20211019113956.2254537-1-xuemingl@nvidia.com> <2bfda127-f6de-d3fa-0903-566b8ec69be4@redhat.com> <04f60f8da1819b8a0196cfca20127107bd0b835c.camel@nvidia.com> <9a34fcad-bd05-bcf2-c7e3-5246a51ef400@redhat.com> In-Reply-To: <9a34fcad-bd05-bcf2-c7e3-5246a51ef400@redhat.com> 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: e45a1aa9-2998-4c80-22f9-08d99ed02737 x-ms-traffictypediagnostic: DM4PR12MB5246: 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: tLgrmFhYmEYYxUoCfQduTC85N75xBnrBKH08C9xsI72lzl6SO1ASEyvANefdN1RAVRCbGiUY+oG1bdvTyHAKezoBiIdPX2PXHPgvY4+Pn+UOgl46d3aFFLyf+A+XsEI0DXR1Vq80VsON8WchC7F5T8yDhE87/lOH6KJJGkwAmZzDiafXqDiM2wFFy9spu8SkvIwvozbt71MmSGM+fya75kroxaX1734XdW/PgNcvPV6Q5B6d6JTrYOzubRB0C3Vt6PlVwvyjk0/DMXt7gr0P4mor8Oe0hUfxtzWQ/QONc9A8qPvFjn3ReRdy5TOqBbIBPAKUE4MNvyY4riDio4O07oyKmFRTF0w3c4F2mHs0Fy1nsGIh2d46HOTpByMYCyZdsDe7ZrxkYBZM/yVa3uQSLt/HQ6bmalZ73GiEb86Zv8O/VJ++68wMyGaPc2FvCmGrKbHw5G5HqkhezXXTdlanHHksaYbXvtuYoBcU+QQe31ZewBvZ+0LTc0phB7BYnLPO4qvkYTYc2c55MB5x5Q05roYDKPF/iiovY9qnKN5mRF4/ReCOTpDgRg4Zg7YABwEc+UWYEKprp/sWWXkCqg6joKyzScGY6sQqqtIxsIXtaBqvw8LeXUyOHc6LQE2XMXRsWTCFU9Hkh2yED4w3RqxL/BqRgk8IFG+NNLr/A9yBkEMfseI0dnKVBS12+KKPH1qmRRAtjtzIn7fMoq/M11KGmg== 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)(66446008)(66556008)(76116006)(6486002)(66476007)(2616005)(64756008)(36756003)(66946007)(38100700002)(6506007)(91956017)(83380400001)(53546011)(5660300002)(8676002)(122000001)(71200400001)(8936002)(110136005)(186003)(4001150100001)(26005)(6512007)(38070700005)(316002)(508600001)(86362001)(2906002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?anR6bkdvMktXYnRqK0RZbk9aQXN2K09mWGExL2NXZVlGRythdjUwdEVTQWx2?= =?utf-8?B?T0VhVHhFMUZGVERKcjdsS3pCUWd3K01STkk3TzFDOWZIZDFQQmtUb1grUGNs?= =?utf-8?B?V3N0V2NxUzNjQnVTTzVjanNsUmpFd0p3SmNhcDFLNUwwZktXU25uU1EwOVQ4?= =?utf-8?B?b0dUVGh0Y2NaNnZPYWQ5c0FqeFY4SUZyYW9FR2g3eEFJWU93ZWJmZ0ZjVlZE?= =?utf-8?B?cm5BaW90QittVFVYbHlUMEZJbFV6Rm5rZkd0eGZQMjBjN00yd2s5eWxkOVlF?= =?utf-8?B?TjJCSWtpbmdtWlc5TGlaK2FpdEpaZWZMV3ZnaW5NZHVDQVJCbVFtaVllRi9j?= =?utf-8?B?YVBmZkZ3MnF6aFFHekhFODdyQ3ArQk9GN3hOYXJhbUFKYS9WbERBVzlMZkI5?= =?utf-8?B?dmx5YlRVdXNONDVFcmtKejBPOUkxekJ0MjV3RlhqT084b3RXN085UVcydVN3?= =?utf-8?B?VndmdDhGTDV2MzNCLzA1Z3RuRm0zWEFSMFgzWHN3N3g0YlNPUzFCSlovNU52?= =?utf-8?B?aHpjVE55VERyS3R3b012YUs1MXMvNDZjMEJLZFBjVTRiU0FMaUh3dFZKSGlK?= =?utf-8?B?a01KUjZmaWVmandjZHZCakkxYWdFVElWbTYwWTRva2EyUElURUtSOHdsRy96?= =?utf-8?B?R3VqUG01em9neVJ1TmVtbHVNMTl3S3QwZkxBeDg1V2FlZS9jY1M4aUY1YUNo?= =?utf-8?B?VFZBUjc0cE1leDcvTUZBZGdZTzYwY1B5U244UkwxOXpzK2ZaT1NBWS9JTmJR?= =?utf-8?B?NDMzaFN4Nm1DQTVBMFNyK3grQ0wydmV6OU5OSHl3MzQwamt4N1ZwWE44Smpo?= =?utf-8?B?Tmd6Nm9EZjRqUkpnRlJHUHh5RGMyeXJqaVk1ZmYydEs4NHBsNE5vMEtIZHZR?= =?utf-8?B?dFJka2NXSXZFcm9KSUpPSERKY2tQTVBSYmRqa0F1T1pPeSsvQ0JGSHptelpW?= =?utf-8?B?WjF6Tlg3RHhSVm4yZFRISWQ2S1VMUVNBSDE4eHJTMmJBTmNnUEN5VHhJa2Nq?= =?utf-8?B?OC9acTNjRmRHN3J6N01QZlhZNlRGYkUzTXFFaExkeUZpVmNXdW1HTzVxdTBK?= =?utf-8?B?ckpVSE80alI1ZGpoazhqYVZpbTdUZlczUG5vNUNRQWIwT1FKQnpPK2dDVlhB?= =?utf-8?B?ZHh1cEJna0tnMzZoWlVELzNrdlZGcGlvZXpFd25BQTZPUzRoRk5NMWpyT0I2?= =?utf-8?B?QUZFTEx2aU9qdXJHSEpDbkRJL21HQWhPL21IL2RSTzM2MkhlU1dqaUdGamx1?= =?utf-8?B?b09IVGRndEVGdFo0R0FjWkFrVEJMU2RmOXJrUi8zdVVwaEVibFoyaFh3R3Vk?= =?utf-8?B?RXVGRmx6eWtlUGlXQnhuVDdEQlVaQVNKUSt5bGRENkdnY0ZZT2pWb0xWVjB0?= =?utf-8?B?U0N3MEhzaGdWbWtuZndSRUdOSE1RUk5FZkU4djhhbUhMb3BmU3gxMWFaSExX?= =?utf-8?B?Wm0vakdMeVJSUEdQTG40QkxxdDJuU2NQTFY2K3FpeXdEb3BWUXF5YlozQUZh?= =?utf-8?B?VFlRKzIxOHJrUGNLbUNjUk13UkNjYTRHVTFkLzlkZm8xUXBuaGIveVZ0OUda?= =?utf-8?B?cjdPZDBKNzd5d2NXZStCQUtXM25hTkdXR2RNY2R5YkUwR0twKzkxUW9hZHI0?= =?utf-8?B?eEpZVi8vK3FBWGorY0t3S2MyWUhuN0dQWUJsUDI1LzBqRWJzODc0aG41QTFq?= =?utf-8?B?NkJiQVJZU01pQnAwekJjMGFYdHM2dUIyTkVkbldZTGQwNXhuelZDZ2h4T0dG?= =?utf-8?B?VGEzVlFoMi8zN3REbDhDQUlldU1yd1Voa0FSbEl5VlJEV0RGNGpCRjBTRUor?= =?utf-8?B?T1h5dEo4R0s1UHV2aVFqb2pqVjdJL1RXbVgvalBFR1ZCYUZnY0Jic3F2NGZM?= =?utf-8?B?OVRhdUgxRkJ0MXdud0w2cElBRHJEYlVoVytRc1RPMmhYSEpEU3lWemkwODZI?= =?utf-8?B?M20weW04M292VTZNdzQ4QUhoNTRGMVdCRUk4aHpFZk5tRGp2ZlRuZVUzOStT?= =?utf-8?B?b2FBTW9mcEZTWDdIYjNNTXJMbzdtbjFNS05aQU9ESFBJamRETVBrbHAxcHl4?= =?utf-8?B?NzlWQU92azN0UFhoNGozRTBuclB2b0RjZEFnQXd4TTk0dCtGTDQwdmZnVHdG?= =?utf-8?B?STJRMWRlcE9yYTlrRVl3UHNKNndHQzFHYzQ3SStCMHFnaGplRjg4R1ZQSmFF?= =?utf-8?Q?L0ZWH15/1FLstnNBIOXXed+fVfASjFL3shs1CLlBGMDJ?= Content-Type: text/plain; charset="utf-8" Content-ID: <61C46A59D22A3C4585EF0A76697D76B5@namprd12.prod.outlook.com> 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: e45a1aa9-2998-4c80-22f9-08d99ed02737 X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Nov 2021 13:45:09.7299 (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: NyCTBZHZZBV8R6aLk7Mt1n+nQq7NS76b5Nj/Pz7oPrkwc0WBa5/IQKMNC8FHx9iFND16az4aUJk/YpkZ4qWNow== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5246 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" T24gV2VkLCAyMDIxLTExLTAzIGF0IDA5OjQ2ICswMTAwLCBNYXhpbWUgQ29xdWVsaW4gd3JvdGU6 DQo+IA0KPiBPbiAxMS8zLzIxIDA5OjQxLCBYaWEsIENoZW5ibyB3cm90ZToNCj4gPiBIaSBYdWVt aW5nLA0KPiA+IA0KPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+IEZyb206 IFh1ZW1pbmcoU3RldmVuKSBMaSA8eHVlbWluZ2xAbnZpZGlhLmNvbT4NCj4gPiA+IFNlbnQ6IFRo dXJzZGF5LCBPY3RvYmVyIDIxLCAyMDIxIDg6MzYgUE0NCj4gPiA+IFRvOiBtYXhpbWUuY29xdWVs aW5AcmVkaGF0LmNvbTsgZGV2QGRwZGsub3JnDQo+ID4gPiBDYzogWGlhLCBDaGVuYm8gPGNoZW5i by54aWFAaW50ZWwuY29tPg0KPiA+ID4gU3ViamVjdDogUmU6IFtQQVRDSF0gdmhvc3Q6IGFkZCB2 RFBBIHJlc291cmNlIGNsZWFudXAgY2FsbGJhY2sNCj4gPiA+IA0KPiA+ID4gT24gVGh1LCAyMDIx LTEwLTIxIGF0IDE0OjAwICswMjAwLCBNYXhpbWUgQ29xdWVsaW4gd3JvdGU6DQo+ID4gPiA+IEhp IFh1ZW1pbmcsDQo+ID4gPiA+IA0KPiA+ID4gPiBPbiAxMC8xOS8yMSAxMzozOSwgWHVlbWluZyBM aSB3cm90ZToNCj4gPiA+ID4gPiBUaGlzIHBhdGNoIGFkZHMgdkRQQSBkZXZpY2UgY2xlYW51cCBj YWxsYmFjayB0byByZWxlYXNlIHJlc291cmNlcyBvbg0KPiA+ID4gPiA+IHZob3N0IHVzZXIgY29u bmVjdGlvbiBjbG9zZS4NCj4gPiA+ID4gPiANCj4gPiA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBYdWVt aW5nIExpIDx4dWVtaW5nbEBudmlkaWEuY29tPg0KPiA+ID4gPiA+IC0tLQ0KPiA+ID4gPiA+ICAg IGxpYi92aG9zdC9ydGVfdmRwYV9kZXYuaCB8IDMgKysrDQo+ID4gPiA+ID4gICAgbGliL3Zob3N0 L3Zob3N0X3VzZXIuYyAgIHwgNiArKysrKysNCj4gPiA+ID4gPiAgICAyIGZpbGVzIGNoYW5nZWQs IDkgaW5zZXJ0aW9ucygrKQ0KPiA+ID4gPiA+IA0KPiA+ID4gPiA+IGRpZmYgLS1naXQgYS9saWIv dmhvc3QvcnRlX3ZkcGFfZGV2LmggYi9saWIvdmhvc3QvcnRlX3ZkcGFfZGV2LmgNCj4gPiA+ID4g PiBpbmRleCBiMGY0OTQ4MTVmYS4uMjcxMTAwNGZlMDUgMTAwNjQ0DQo+ID4gPiA+ID4gLS0tIGEv bGliL3Zob3N0L3J0ZV92ZHBhX2Rldi5oDQo+ID4gPiA+ID4gKysrIGIvbGliL3Zob3N0L3J0ZV92 ZHBhX2Rldi5oDQo+ID4gPiA+ID4gQEAgLTMyLDYgKzMyLDkgQEAgc3RydWN0IHJ0ZV92ZHBhX2Rl dl9vcHMgew0KPiA+ID4gPiA+ICAgIAkvKiogRHJpdmVyIGNsb3NlIHRoZSBkZXZpY2UgKE1hbmRh dG9yeSkgKi8NCj4gPiA+ID4gPiAgICAJaW50ICgqZGV2X2Nsb3NlKShpbnQgdmlkKTsNCj4gPiA+ ID4gPiANCj4gPiA+ID4gPiArCS8qKiBDb25uZWN0aW9uIGNsb3NlZCwgY2xlYW4gdXAgcmVzb3Vy Y2VzICovDQo+ID4gPiA+ID4gKwlpbnQgKCpkZXZfY2xlYW51cCkoaW50IHZpZCk7DQo+ID4gPiA+ ID4gKw0KPiA+ID4gPiA+ICAgIAkvKiogRW5hYmxlL2Rpc2FibGUgdGhpcyB2cmluZyAoTWFuZGF0 b3J5KSAqLw0KPiA+ID4gPiA+ICAgIAlpbnQgKCpzZXRfdnJpbmdfc3RhdGUpKGludCB2aWQsIGlu dCB2cmluZywgaW50IHN0YXRlKTsNCj4gPiA+ID4gPiANCj4gPiA+ID4gPiBkaWZmIC0tZ2l0IGEv bGliL3Zob3N0L3Zob3N0X3VzZXIuYyBiL2xpYi92aG9zdC92aG9zdF91c2VyLmMNCj4gPiA+ID4g PiBpbmRleCA1YTg5NGNhMGNjNy4uMDMyYjYyMWM4NmMgMTAwNjQ0DQo+ID4gPiA+ID4gLS0tIGEv bGliL3Zob3N0L3Zob3N0X3VzZXIuYw0KPiA+ID4gPiA+ICsrKyBiL2xpYi92aG9zdC92aG9zdF91 c2VyLmMNCj4gPiA+ID4gPiBAQCAtMTYyLDYgKzE2MiwxMiBAQCBmcmVlX21lbV9yZWdpb24oc3Ry dWN0IHZpcnRpb19uZXQgKmRldikNCj4gPiA+ID4gPiAgICB2b2lkDQo+ID4gPiA+ID4gICAgdmhv c3RfYmFja2VuZF9jbGVhbnVwKHN0cnVjdCB2aXJ0aW9fbmV0ICpkZXYpDQo+ID4gPiA+ID4gICAg ew0KPiA+ID4gPiA+ICsJc3RydWN0IHJ0ZV92ZHBhX2RldmljZSAqdmRwYV9kZXY7DQo+ID4gPiA+ ID4gKw0KPiA+ID4gPiA+ICsJdmRwYV9kZXYgPSBkZXYtPnZkcGFfZGV2Ow0KPiA+ID4gPiA+ICsJ aWYgKHZkcGFfZGV2ICYmIHZkcGFfZGV2LT5vcHMtPmRldl9jbGVhbnVwICE9IE5VTEwpDQo+ID4g PiA+ID4gKwkJdmRwYV9kZXYtPm9wcy0+ZGV2X2NsZWFudXAoZGV2LT52aWQpOw0KPiA+ID4gPiA+ ICsNCj4gPiA+ID4gPiAgICAJaWYgKGRldi0+bWVtKSB7DQo+ID4gPiA+ID4gICAgCQlmcmVlX21l bV9yZWdpb24oZGV2KTsNCj4gPiA+ID4gPiAgICAJCXJ0ZV9mcmVlKGRldi0+bWVtKTsNCj4gPiA+ ID4gPiANCj4gPiA+ID4gDQo+ID4gPiA+IFdoYXQgd2lsbCBiZSBkb25lIHRoZXJlIHRoYXQgY2Fu bm90IGJlIGRvbmUgaW4gLmRldl9jbG9zZSgpPw0KPiA+ID4gDQo+ID4gPiAuZGV2X2Nsb3NlKCkg bWFpbmx5IGhhbmRsZXMgVk0gc3VzcGVuZCBhbmQgZHJpdmVyIHJlc2V0LiBJZiByZWxlYXNlDQo+ ID4gPiBldmVyeXRoaW5nIGluc2lkZSBkZXZfY2xvc2UoKSwgdGhlIHN1c3BlbmQgYW5kIHJlc3Vt ZSB0YWtlcyBsb25nZXIgdGltZQ0KPiA+ID4gaWYgbnVtYmVyIG9mIFZRcyBhcmUgaHVnZS4gQ3Vz dG9tZXIgd2FudCB0byB1cGdyYWRlIFZNIGNvbmZpZ3VyYXRpb24NCj4gPiA+IHVzaW5nIHN1c3Bl bmQgYW5kIHJlc3VtZSwgcGF1c2UgY3VzdG9tZXIgVk0gdG9vIGxvbmcgY2FuJ3QgYmUgYWNjZXB0 ZWQuDQo+ID4gDQo+ID4gQnkgc2F5aW5nICd1cGdyYWRlIFZNIGNvbmZpZ3VyYXRpb24nLCBkbyB5 b3UgbWVhbiBWTSBtZW1vcnkgaG90cGx1Zz8gT3Igc29tZXRoaW5nDQo+ID4gbW9yZT8NCj4gPiAN Cj4gPiBJcyB0aGlzIHBhdGNoIGEgbmV4dC1zdGVwIGltcHJvdmVtZW50IG9mIHRoaXMgY29tbWl0 Pw0KPiA+IA0KPiA+IGNvbW1pdCAxMjdmOWM2ZjdiNzhhNDdiNzNiM2UxYzM5ZTAyMWNjODFhMzBi NGM5DQo+ID4gQXV0aG9yOiBNYXRhbiBBenJhZCA8bWF0YW5AbWVsbGFub3guY29tPg0KPiA+IERh dGU6ICAgTW9uIEp1biAyOSAxNDowODoxOSAyMDIwICswMDAwDQo+ID4gDQo+ID4gICAgICB2aG9z dDogaGFuZGxlIG1lbW9yeSBob3RwbHVnIHdpdGggdkRQQSBkZXZpY2VzDQo+ID4gDQo+ID4gICAg ICBTb21lIHZEUEEgZHJpdmVycycgYmFzaWMgY29uZmlndXJhdGlvbnMgc2hvdWxkIGJlIHVwZGF0 ZWQgd2hlbiB0aGUNCj4gPiAgICAgIGd1ZXN0IG1lbW9yeSBpcyBob3RwbHVnZ2VkLg0KPiA+IA0K PiA+ICAgICAgQ2xvc2UgdkRQQSBkZXZpY2UgYmVmb3JlIGhvdHBsdWcgb3BlcmF0aW9uIGFuZCBy ZWNyZWF0ZSBpdCBhZnRlciB0aGUNCj4gPiAgICAgIGhvdHBsdWcgb3BlcmF0aW9uIGlzIGRvbmUu DQo+ID4gDQo+ID4gICAgICBTaWduZWQtb2ZmLWJ5OiBNYXRhbiBBenJhZCA8bWF0YW5AbWVsbGFu b3guY29tPg0KPiA+ICAgICAgUmV2aWV3ZWQtYnk6IE1heGltZSBDb3F1ZWxpbiA8bWF4aW1lLmNv cXVlbGluQHJlZGhhdC5jb20+DQo+ID4gICAgICBSZXZpZXdlZC1ieTogQ2hlbmJvIFhpYSA8Y2hl bmJvLnhpYUBpbnRlbC5jb20+DQo+ID4gDQo+ID4gPiBTbyB0aGUgaWRlYSBpcyB0byBjYWNoZSBh bmQgcmV1c2UgcmVzb3VyY2UgYmV0d2VlbiBkZXZfY2xvc2UoKSBhbmQNCj4gPiA+IGRldl9jb25m KCkuIEFjdHVhbGx5LCB0aGUgdHdvIGZ1bmN0aW9ucyBsb29rcyBtb3JlIGxpa2UgZGV2X3N0b3Ao KSBhbmQNCj4gPiA+IGRldl9zdGFydCgpLg0KPiA+ID4gDQo+ID4gPiBkZXZfY2xlYW51cCBob29r cyB0byB2aG9zdCBiYWNrZW5kIGNsZWFudXAgd2hpY2ggY2FsbGVkIHdoZW4gc29ja2V0DQo+ID4g PiBjbG9zZWQgZm9yIGJvdGggY2xpZW50IGFuZCBzZXJ2ZXIgbW9kZSwgYSBzYWZlIHBvaW50IHRv IGNsZWFudXAgYWxsDQo+ID4gPiBjYWNoZWQgcmVzb3VyY2VzLg0KPiA+ID4gDQo+ID4gPiA+IEhh dmluZyB0aGUgbWx4NSBpbXBsZW1lbnRhdGlvbiBvZiB0aGlzIGNhbGxiYWNrIGFsb25nc2lkZSB0 aGlzIHBhdGNoIG1heQ0KPiA+ID4gPiBoZWxwIHRvIHVuZGVyc3RhbmQuDQo+ID4gPiANCj4gPiA+ IFRoZSBtbHg1IGltcGxlbWVudGF0aW9uIHN0aWxsIGEgcHJvdG90eXBlLCBwZW5kaW5nIG9uIGlu dGVybmFsIHJldmlldy4NCj4gPiA+IFNvIEkganVzdCBwb3N0IHRoZSB2aG9zdCBwYXJ0IHRvIGdl dCBzdWdnZXN0aW9uL2NvbW1lbnQuIExldCBtZSBrbm93IGlmDQo+ID4gPiB0aGUgdWdseSBjb2Rl IGRvZXMgaGVscCA6KQ0KPiA+IA0KPiA+IEkgd291bGQgcHJlZmVyIHRvIHNlZSB0aGUgbWx4IGlt cGxlbWVudGF0aW9uIHdpdGggdGhpcyBwYXRjaCBpbiB0aGUgc2FtZQ0KPiA+IHBhdGNoc2V0IHRv IHVuZGVyc3RhbmQgdGhlIHByb2JsZW0uIEEgbmV3IGNhbGxiYWNrIGlzIGZpbmUgaWYgdGhlIHBy b2JsZW0NCj4gPiBpdHNlbGYgbWFrZXMgc2Vuc2UgOikNCj4gDQo+IEZZSSwgSSdtIGFib3V0IHRv IGFwcGx5IGEgcGF0Y2ggdGhhdCBtYXJrcyB0aGUgdkRQQSBkcml2ZXIgQVBJIGFzDQo+IGludGVy bmFsLCB3aGVuIHlvdSB3aWxsIHN1Ym1pdCBhIG5ldyB2ZXJzaW9uIHBsZWFzZSBhcHBseSBvbiB0 b3Agb2YgaXQuDQoNCkhhdmVuJ3QgY2hlY2sgeW91ciBwYXRjaCB5ZXQsIGJ1dCBzb3VuZHMgZ29v ZCBmb3JtIHN1YmplY3QgOikNCg0KPiANCj4gVGhhbmtzLA0KPiBNYXhpbWUNCj4gDQo+ID4gVGhh bmtzLA0KPiA+IENoZW5ibw0KPiA+IA0KPiA+ID4gDQo+ID4gPiA+IA0KPiA+ID4gPiBUaGFua3Ms DQo+ID4gPiA+IE1heGltZQ0KPiA+ID4gPiANCj4gPiANCj4gDQoNCg==