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 A12AFA00BE; Thu, 17 Feb 2022 12:08:42 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 39A2641150; Thu, 17 Feb 2022 12:08:42 +0100 (CET) Received: from NAM04-BN8-obe.outbound.protection.outlook.com (mail-bn8nam08on2088.outbound.protection.outlook.com [40.107.100.88]) by mails.dpdk.org (Postfix) with ESMTP id B2F904114F for ; Thu, 17 Feb 2022 12:08:41 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=n1tUVXnhTkgToQdyfHvM2EheLHzHLIacARV+Gus7imI7gZqGasxQFxCZHBQY1EBCZZcr5dBrdQJyg8AZlAQwJsjrT4SDqinzu0/lqkEWuz0dlQsHS3NHttyOybmkpK30mmbYLMpMAocESgCrhLx8Na2mheSJwfSAfAxiHc9sRwBam9Je88jLjZqS0hdtKP2CtAFeiFpU1CVohgU1aCMivcahbmWI+csXWAgLyFqh5AZb/vPTdo7BwFuveSe2BBBxXD7GhRRZbf5/FW9MkUWp9wveurf3wQKQZHVsNJhJ2wSZuN7xdKCwedEzzWYhNfF6bFHyyxu4FAQR1b+L2kI5SQ== 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=4O6HaoFt1wTmMr8CUDFMz+MV1MhHnW4ceiQxyXLhUMU=; b=VJn2hFkPt9ynpnz71tGm4vxyUI36eFM+DLZQ/UHwrbZ5m8WJornpPVh1BvX2VJaULRHRcWm/k5I8VIxM+r85klUZfKBWj4Mb5inEcpn6BMa5nAfTbB1ZYjr9dVbabsltZG/Ro7STSs5md4kU8AXKgBnQmc3tPNCc+wlb6evPK2NmjOrLYJspb705eOzGf4sm+B6Lk4NLq4Ihv0GGT8pCHQ28VoMsJZazRg/3hc8zE7UY7uqb1E1Al4mf1txlEyflWOmSW3yLRk7vQMbj1Z/28Ihsl1uKOSa6DrD0d8fBmnSqw+uy1+ETbQgwH25D93/sEJyWUVRZ1+H+CH8BX8sjMg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; 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=4O6HaoFt1wTmMr8CUDFMz+MV1MhHnW4ceiQxyXLhUMU=; b=Z37+pzAImDM2LhLzhzYDV16f9VwyxUnUftsVI1MS25mpWPhjWhNPmmGHfPcKlHEIWPbxF6ZEWD/+YPF162R/uL4w3f5FzocVkZ7g8qgmZkiNS0Xq6h1pHykmT7O0yBYJU/ots5oiWR7lOtDtwBwFS9CpFdbeLNLn3sgly1wzz4eBV+BErMIM2jJvHvUmaZs0sfx7Xn/M2+UmwtUEn/TN9ZDcVgxN8dRPcmEt2Dw+eWU5ix9EAWLAPuLlQN47YGLUZ8hJVhVkqEmzL/NbUamP49W7Vkf0I/4uAa/otgCNhGyQ7vrXs4/3vAv4/GML3O4MWp4zIqwSqLpbcZcTsj3r5Q== Received: from CY4PR12MB1592.namprd12.prod.outlook.com (2603:10b6:910:d::9) by DM6PR12MB3419.namprd12.prod.outlook.com (2603:10b6:5:3c::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4975.18; Thu, 17 Feb 2022 11:08:39 +0000 Received: from MW2PR12MB4666.namprd12.prod.outlook.com (52.132.153.150) by CY4PR12MB1592.namprd12.prod.outlook.com (10.172.70.137) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4975.18; Thu, 17 Feb 2022 11:08:38 +0000 Received: from MW2PR12MB4666.namprd12.prod.outlook.com ([fe80::9d4e:649c:c6b8:b353]) by MW2PR12MB4666.namprd12.prod.outlook.com ([fe80::9d4e:649c:c6b8:b353%5]) with mapi id 15.20.4975.017; Thu, 17 Feb 2022 11:08:38 +0000 From: Ori Kam To: Andrew Rybchenko , Alexander Kozyrev , "dev@dpdk.org" CC: "NBU-Contact-Thomas Monjalon (EXTERNAL)" , "ivan.malov@oktetlabs.ru" , "ferruh.yigit@intel.com" , "mohammad.abdul.awal@intel.com" , "qi.z.zhang@intel.com" , "jerinj@marvell.com" , "ajit.khaparde@broadcom.com" , "bruce.richardson@intel.com" Subject: RE: [PATCH v5 03/10] ethdev: bring in async queue-based flow rules operations Thread-Topic: [PATCH v5 03/10] ethdev: bring in async queue-based flow rules operations Thread-Index: AQHYHu7ttP3kPP/blEaJd5ixXtdyv6yOS7WAgADkTQCABwXkAIAADQOAgAFYNoCAAAMQ8A== Date: Thu, 17 Feb 2022 11:08:38 +0000 Message-ID: References: <20220209213809.1208269-1-akozyrev@nvidia.com> <20220211022653.1372318-1-akozyrev@nvidia.com> <20220211022653.1372318-4-akozyrev@nvidia.com> <6eac9cbe-cebf-f33f-eabd-79a4375916b6@oktetlabs.ru> <71bd0d78-d5b3-6692-f66f-95b4114853fb@oktetlabs.ru> <532d4476-b48f-5c17-bff6-4fc3c854e746@oktetlabs.ru> In-Reply-To: <532d4476-b48f-5c17-bff6-4fc3c854e746@oktetlabs.ru> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 85ebe369-262f-4b4d-67d2-08d9f205d975 x-ms-traffictypediagnostic: CY4PR12MB1592:EE_|DM6PR12MB3419:EE_ x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr,ExtAddr x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: oIGP9c0ERqC2gW1k1D8gDwgAiaBigsljqyfk1ANBUdMWu1pn+2VP8KYajy9dV/Ybp/TV3izv5qCCAyXDyAIjiK2/3fnGB+GXD0OBPk2AQNArihc1slEWKSiodtW59wse2JsnCFqG8yD6ZxQPj/IbQNBe+cvhTBEfU1Db6TjN4KFItFdRyWepQGFKFGzTmJfr4DISWgu8k1DieKes6IsXw8T0Gzym7K0nPlNnGH/5Jc06PSe6BsTV8T7HlsNWuo/0ZT42CSs6VGQcL35aDsaqyF6UmUKMRIhftV+aVkGOxb+b4F76+FqBgC8LTKzWF1E9pfagKU8+2jMIZOYgmMD2RaZohA14HOEIv0rP5iWybxbBOJ4JZZWIDDMFukobFPCtYJHT9hb+9E8jNAs8uePTZB6HnXi11ELeJykowkbaxtE271UsNK5xmPJOP7GNe0e9DgI3WIPIFMEYhOesl/DFHqzYm32YvLDHfRUuDNHlTNlgzmXi2kN9T6zYsYveUetntTqYs0IaXL/Bg7pQhgYCQyZ4FhJ1jyQ2/z2ofYJ3qPS/7lFekSZn6mRSUBOfNjXonT+Um07ObDLKQoft1mj4DjPF41FV0PWaqsnrSAR7XvcBpBtElmsPJBfBa8v5yYdfzhwCfhvC/Cc6t42piEiTDw8NXWLZZ9MfeqAh9pdD0vBsO57Otgi5mDVka6UK0BGYRbZSxsAdQJ8s4RpDqgWTzw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CY4PR12MB1592.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(54906003)(4326008)(7416002)(186003)(7696005)(64756008)(55016003)(5660300002)(38070700005)(86362001)(66946007)(2906002)(66556008)(66446008)(76116006)(8676002)(66476007)(38100700002)(122000001)(33656002)(8936002)(71200400001)(9686003)(508600001)(52536014)(26005)(6506007)(110136005)(316002)(53546011)(83380400001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?THlNcVhTN0NabDJ0WGFDUTlpaWxGZFVxdDFTMWVQYkpiZnlTSUZxd3hXSDJv?= =?utf-8?B?aWRHTTF1N1l3c1JrYnNtZHJrajQvYlZkMXR2MFBoNUpKb3pqVXVVMDRnOE1S?= =?utf-8?B?WTBzSkVnbGtURjRaQXNsRlhwdElKVTUzeG1WYnlDN0pnTHVtYUpVMlJEOHVH?= =?utf-8?B?dWduMktuUWR0ZGFTeVBHK2lEQ0FyOGcrdzdlUnBZZTNZQmRsKzFuUVpDMnVo?= =?utf-8?B?dm8xS3VSNnNhRlF0RGM1SGtzeFRuQkRNSUdJdWMvTGk0R1pYNjlFUlR0Mm9K?= =?utf-8?B?c1JUcDI2TUU5cFVNOFBYaVlEZVVqcW5IcUh6NGJJVDVDck1RYlMrMnU5YmZs?= =?utf-8?B?MEZDMnhlckJ2VFd1dXZZNnhWZDV5dXBOWXFFNXJtSlRhdkpUZDc1Zk85S2pV?= =?utf-8?B?cUhzMzJLNjBaVm14YWZIK2xNaURocVhDRUt1TlRuQ2dtVktvZmN5MnQyVldN?= =?utf-8?B?ckFCa05mSG5TcmdNemdYS3c0SWFCSWVMRE43V0FIaGpPcE85V3BsMGlsOWUr?= =?utf-8?B?ZmcyVk9vQnp0VDYzT1UybFYxRDA3emYwWnR0SlJkVzA5amFxdFBtVy9CY0M4?= =?utf-8?B?SXVPOHJWRkJxaTl6SC8xSU9vUlVkWHc5MGpKZHhZc0RWbEZUSkhpMFk1dG5v?= =?utf-8?B?TlNPbC80YnZDZ2ZTU2QxZkZpeERNYlNvMzF4VUtsTzNFenVtamxleC9DMTlP?= =?utf-8?B?SVNtUHdNaCtKNFhhMWJxTWlQVG96NkJTbTVrd3RTTG1maTBtWlFPY1BUOE83?= =?utf-8?B?OU9wMVNwdXdtUm9Zdzg3VnB1ZWVRQ1FJVnF5eEVhQldFOVZweFNhODV0REZn?= =?utf-8?B?Y3dmL1ovMWp1VmQ2MnU2UnhIb2FJSmF1SWY2VUtvS3Z6OE0wZW11MkNMZVo2?= =?utf-8?B?WmlRRE5LSFk1M3ZTS3lSZzlIdTVqL05tQ05obW44Y0IvUjJqcHRkcjB2Q2dO?= =?utf-8?B?bUdoZGsvbzhTLzZaQlc5MFgxYitxc1pMNlg3b2pGNXFMcS9GSGtMTnBWSzU2?= =?utf-8?B?RWdLbHRyMG9qaWY4Mm54d0F2NndtVTl1WWFlejBvaEZxZ1lsc1RUWkwvNmRR?= =?utf-8?B?Sm5oKzVVZGxrZEREN2EyNDZIYlI1dytkeTV2MlpBMk5ad0xySDVEcW1FR2JZ?= =?utf-8?B?aXlBZGhrSmhlTnY0S1EyYWp6Uk9EM2V6d0liQjlDbjF2Zm83OFJIUUZjc3FN?= =?utf-8?B?dVk3ekx2NkRaZ2Y0eHNZZENrUSswTTlrQmVPUjFER2piN2F3SitvUTBNN0Jy?= =?utf-8?B?dWRwUkppZTlWeUE5OG1FWGxQdm9aQlVVem01RG84STBvNm4zb2QzL2pEM2FR?= =?utf-8?B?Z3J6V3dsUWk1Z3Z1UlVxSWVHMTMybGlGOTh2VlFxQitjd1NMQVdyUzFud3ZC?= =?utf-8?B?Q251WEp5YlhtTzV1VzdwVGdhekU3Z2VUZUlqM2dmb2pHV3F6RGExNFVzM0I4?= =?utf-8?B?Qis5a0RMVE5KSkNDT05WSzNOTjRsQUErUTE0M0llS1BycW9UVlZTVXRHMUlB?= =?utf-8?B?V1NnUTJyb29CS09FL05hdzNOOEwwRzFJYmtGWWk1T0tybHpYaXROQVlyZmxr?= =?utf-8?B?S2xhSjhPKzJqc21KSS9xWlBvL2FEelZUclBuQ3pqS1ZQMklvQVk2Z3V2UGpq?= =?utf-8?B?TDZ1YVRxcUNkaFVqejhjckNyYzROZDRMSWxUUEVVYVB6R1h1ZlZCMHg1L2FG?= =?utf-8?B?OGt6NFdxS3FuYnNDcmhCVXJYUVQ3QkxYVXhvRzI1UDEweEdKYUlmWDdHMXVU?= =?utf-8?B?M3d3bVhvUGVidG9Nc25STDZKcFdiSldPSGc0NDFBY2tJRCtndncxRklTcFZs?= =?utf-8?B?Q3d4VVpIamFOVnM1Mmx0Mmw4OVlQaHNLejFyenZpb3dxQllkTGxWbm5Jcldr?= =?utf-8?B?d1I3UEswUG1JNVN4SHorNitqVDFUcFVzT0dzZjBERGs2eFduaHFSdWNjaDFN?= =?utf-8?B?VXVyWHpkL3h6S2haenV2UDdUcis0RU9MaGR1ZGs2QjdOd2J2K3JUU0lVaURr?= =?utf-8?B?KzdyWjA1TEVab05GQ2FCZ0krZHJJdURGMENrb3gvZUhERkRhMGRFdk9BNGl6?= =?utf-8?B?VkRra0ptUXVac0UvcHhQemFLRmNXeDg1aVBnSlEwQUpRcEc3NVlDL0hFbU11?= =?utf-8?B?d20vOVBYQmJGK05YdFNjd0N4N1FYeFkxR0tVbkxIWm0vUTdkR3lheUFRSDFT?= =?utf-8?B?alE9PQ==?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW2PR12MB4666.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 85ebe369-262f-4b4d-67d2-08d9f205d975 X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Feb 2022 11:08:38.5494 (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: KTItPJjSR4u9J9EPBLJJ2PFH61c+VpqkXIMUpNmlQ9QWzO57YFyDHtgUxtLzRZOS6nOi2EpTCA9cZ/slpUP2rA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB3419 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 SGkgQW5kcmV3LA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEFuZHJl dyBSeWJjaGVua28gPGFuZHJldy5yeWJjaGVua29Ab2t0ZXRsYWJzLnJ1Pg0KPiBTZW50OiBUaHVy c2RheSwgRmVicnVhcnkgMTcsIDIwMjIgMTI6NTMgUE0NCj4gU3ViamVjdDogUmU6IFtQQVRDSCB2 NSAwMy8xMF0gZXRoZGV2OiBicmluZyBpbiBhc3luYyBxdWV1ZS1iYXNlZCBmbG93IHJ1bGVzIG9w ZXJhdGlvbnMNCj4gDQo+IEhpIE9yaSwNCj4gDQo+IE9uIDIvMTYvMjIgMTc6NTMsIE9yaSBLYW0g d3JvdGU6DQo+ID4gSGkgQW5kZXcsDQo+ID4NCj4gPj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0t LS0NCj4gPj4gRnJvbTogQW5kcmV3IFJ5YmNoZW5rbyA8YW5kcmV3LnJ5YmNoZW5rb0Bva3RldGxh YnMucnU+DQo+ID4+IFNlbnQ6IFdlZG5lc2RheSwgRmVicnVhcnkgMTYsIDIwMjIgMzozNCBQTQ0K PiA+PiBTdWJqZWN0OiBSZTogW1BBVENIIHY1IDAzLzEwXSBldGhkZXY6IGJyaW5nIGluIGFzeW5j IHF1ZXVlLWJhc2VkIGZsb3cgcnVsZXMgb3BlcmF0aW9ucw0KPiA+Pg0KPiA+PiBPbiAyLzEyLzIy IDA1OjE5LCBBbGV4YW5kZXIgS296eXJldiB3cm90ZToNCj4gPj4+IE9uIEZyaSwgRmViIDExLCAy MDIyIDc6NDIgQW5kcmV3IFJ5YmNoZW5rbyA8YW5kcmV3LnJ5YmNoZW5rb0Bva3RldGxhYnMucnU+ Og0KPiA+Pj4+IE9uIDIvMTEvMjIgMDU6MjYsIEFsZXhhbmRlciBLb3p5cmV2IHdyb3RlOg0KPiA+ Pj4+PiBBIG5ldywgZmFzdGVyLCBxdWV1ZS1iYXNlZCBmbG93IHJ1bGVzIG1hbmFnZW1lbnQgbWVj aGFuaXNtIGlzIG5lZWRlZA0KPiA+Pj4+IGZvcg0KPiA+Pj4+PiBhcHBsaWNhdGlvbnMgb2ZmbG9h ZGluZyBydWxlcyBpbnNpZGUgdGhlIGRhdGFwYXRoLiBUaGlzIGFzeW5jaHJvbm91cw0KPiA+Pj4+ PiBhbmQgbG9ja2xlc3MgbWVjaGFuaXNtIGZyZWVzIHRoZSBDUFUgZm9yIGZ1cnRoZXIgcGFja2V0 IHByb2Nlc3NpbmcgYW5kDQo+ID4+Pj4+IHJlZHVjZXMgdGhlIHBlcmZvcm1hbmNlIGltcGFjdCBv ZiB0aGUgZmxvdyBydWxlcyBjcmVhdGlvbi9kZXN0cnVjdGlvbg0KPiA+Pj4+PiBvbiB0aGUgZGF0 YXBhdGguIE5vdGUgdGhhdCBxdWV1ZXMgYXJlIG5vdCB0aHJlYWQtc2FmZSBhbmQgdGhlIHF1ZXVl DQo+ID4+Pj4+IHNob3VsZCBiZSBhY2Nlc3NlZCBmcm9tIHRoZSBzYW1lIHRocmVhZCBmb3IgYWxs IHF1ZXVlIG9wZXJhdGlvbnMuDQo+ID4+Pj4+IEl0IGlzIHRoZSByZXNwb25zaWJpbGl0eSBvZiB0 aGUgYXBwIHRvIHN5bmMgdGhlIHF1ZXVlIGZ1bmN0aW9ucyBpbiBjYXNlDQo+ID4+Pj4+IG9mIG11 bHRpLXRocmVhZGVkIGFjY2VzcyB0byB0aGUgc2FtZSBxdWV1ZS4NCj4gPj4+Pj4NCj4gPj4+Pj4g VGhlIHJ0ZV9mbG93X3FfZmxvd19jcmVhdGUoKSBmdW5jdGlvbiBlbnF1ZXVlcyBhIGZsb3cgY3Jl YXRpb24gdG8gdGhlDQo+ID4+Pj4+IHJlcXVlc3RlZCBxdWV1ZS4gSXQgYmVuZWZpdHMgZnJvbSBh bHJlYWR5IGNvbmZpZ3VyZWQgcmVzb3VyY2VzIGFuZCBzZXRzDQo+ID4+Pj4+IHVuaXF1ZSB2YWx1 ZXMgb24gdG9wIG9mIGl0ZW0gYW5kIGFjdGlvbiB0ZW1wbGF0ZXMuIEEgZmxvdyBydWxlIGlzIGVu cXVldWVkDQo+ID4+Pj4+IG9uIHRoZSBzcGVjaWZpZWQgZmxvdyBxdWV1ZSBhbmQgb2ZmbG9hZGVk IGFzeW5jaHJvbm91c2x5IHRvIHRoZQ0KPiA+Pj4+IGhhcmR3YXJlLg0KPiA+Pj4+PiBUaGUgZnVu Y3Rpb24gcmV0dXJucyBpbW1lZGlhdGVseSB0byBzcGFyZSBDUFUgZm9yIGZ1cnRoZXIgcGFja2V0 DQo+ID4+Pj4+IHByb2Nlc3NpbmcuIFRoZSBhcHBsaWNhdGlvbiBtdXN0IGludm9rZSB0aGUgcnRl X2Zsb3dfcV9wdWxsKCkgZnVuY3Rpb24NCj4gPj4+Pj4gdG8gY29tcGxldGUgdGhlIGZsb3cgcnVs ZSBvcGVyYXRpb24gb2ZmbG9hZGluZywgdG8gY2xlYXIgdGhlIHF1ZXVlLCBhbmQgdG8NCj4gPj4+ Pj4gcmVjZWl2ZSB0aGUgb3BlcmF0aW9uIHN0YXR1cy4gVGhlIHJ0ZV9mbG93X3FfZmxvd19kZXN0 cm95KCkgZnVuY3Rpb24NCj4gPj4+Pj4gZW5xdWV1ZXMgYSBmbG93IGRlc3RydWN0aW9uIHRvIHRo ZSByZXF1ZXN0ZWQgcXVldWUuDQo+ID4+Pj4+DQo+ID4+Pj4+IFNpZ25lZC1vZmYtYnk6IEFsZXhh bmRlciBLb3p5cmV2IDxha296eXJldkBudmlkaWEuY29tPg0KPiA+Pj4+PiBBY2tlZC1ieTogT3Jp IEthbSA8b3Jpa2FAbnZpZGlhLmNvbT4NCj4gPj4NCj4gPj4gW3NuaXBdDQo+ID4+DQo+ID4+Pj4+ ICsNCj4gPj4+Pj4gKy0gQXZhaWxhYmxlIG9wZXJhdGlvbiB0eXBlczogcnVsZSBjcmVhdGlvbiwg cnVsZSBkZXN0cnVjdGlvbiwNCj4gPj4+Pj4gKyAgaW5kaXJlY3QgcnVsZSBjcmVhdGlvbiwgaW5k aXJlY3QgcnVsZSBkZXN0cnVjdGlvbiwgaW5kaXJlY3QgcnVsZSB1cGRhdGUuDQo+ID4+Pj4+ICsN Cj4gPj4+Pj4gKy0gT3BlcmF0aW9ucyBtYXkgYmUgcmVvcmRlcmVkIHdpdGhpbiBhIHF1ZXVlLg0K PiA+Pj4+DQo+ID4+Pj4gRG8gd2Ugd2FudCB0byBoYXZlIGJhcnJpZXJzPw0KPiA+Pj4+IEUuZy4g Y3JlYXRlIHJ1bGUsIGRlc3Ryb3kgdGhlIHNhbWUgcnVsZSAtPiByZW9kZXIgLT4gZGVzdHJveSBm YWlscywgcnVsZQ0KPiA+Pj4+IGxpdmVzIGZvcmV2ZXIuDQo+ID4+Pg0KPiA+Pj4gQVBJIGRlc2ln biBpcyBjcmFmdGVyIHdpdGggdGhlIHRocm91Z2hwdXQgYXMgdGhlIG1haW4gZ29hbCBpbiBtaW5k Lg0KPiA+Pj4gV2UgYWxsb3cgdXNlciB0byBlbmZvcmNlIGFueSBvcmRlcmluZyBvdXRzaWRlIHRo ZXNlIGZ1bmN0aW9ucy4NCj4gPj4+IEFub3RoZXIgcG9pbnQgdGhhdCBub3QgYWxsIFBNRHMvTklD IHdpbGwgaGF2ZSB0aGlzIG91dC1vZi1vcmRlciBleGVjdXRpb24uDQo+ID4+DQo+ID4+IFRocm91 Z2hwdXQgaXMgbmljZSwgYnV0IHRoZXJlIG1vcmUgaW1wb3J0YW50IHJlcXVpcmVtZW50cw0KPiA+ PiB3aGljaCBtdXN0IGJlIHNhdGlzdGllZCBiZWZvcmUgdGFsa2luZyBhYm91dCBwZXJmb3JtYW5j ZS4NCj4gPj4gQ291bGQgeW91IGV4cGxhaW4gbWUgd2hhdCBJIHNob3VsZCBkbyBiYXNlZCBvbiB3 aGljaA0KPiA+PiBpbmZvcm1hdGlvbiBmcm9tIE5JQyBpbiBvcmRlciB0byBzb2x2ZSBhYm92ZSBw cm9ibGVtPw0KPiA+Pg0KPiA+DQo+ID4gVGhlIGlkZWEgaXMgdGhhdCBpZiBhcHBsaWNhdGlvbiBo YXMgZGVwZW5kZW5jeSBiZXR3ZWVuIHRoZSBydWxlcy8gcnVsZXMgb3BlcmF0aW9ucy4NCj4gPiBJ dCBzaG91bGQgd2FpdCBmb3IgdGhlIGNvbXBsZXRpb24gb2YgdGhlIG9wZXJhdGlvbiBiZWZvcmUg c2VuZGluZyB0aGUgZGVwZW5kZW50IG9wZXJhdGlvbi4NCj4gPiBJbiB0aGUgZXhhbXBsZSB5b3Ug cHJvdmlkZWQgYWJvdmUsIGFjY29yZGluZyB0byB0aGUgZG9jdW1lYXRpb24gYXBwbGljYXRpb24g c2hvdWxkIHdhaXQNCj4gPiBmb3IgdGhlIGNvbXBsZXRpb24gb2YgdGhlIGZsb3cgY3JlYXRpb24g YmVmb3JlIGRlc3Ryb3lpbmcgaXQuDQo+IA0KPiBJIHNlZSwgdGhhbmtzLiBNYXkgYmUgSSByZWFk IGRvY3VtZW50YXRpb24gbm90IHRoYXQgYXR0ZW50aXZlLg0KPiBJJ2xsIHJlcmVhZCBvbiB0aGUg bmV4dCB2ZXJzaW9uIHJldmlldyBjeWNsZS4NCj4gDQo+ID4+Pj4+ICsNCj4gPj4+Pj4gKy0gT3Bl cmF0aW9ucyBjYW4gYmUgcG9zdHBvbmVkIGFuZCBwdXNoZWQgdG8gTklDIGluIGJhdGNoZXMuDQo+ ID4+Pj4+ICsNCj4gPj4+Pj4gKy0gUmVzdWx0cyBwdWxsaW5nIG11c3QgYmUgZG9uZSBvbiB0aW1l IHRvIGF2b2lkIHF1ZXVlIG92ZXJmbG93cy4NCj4gPj4+Pg0KPiA+Pj4+IHBvbGxpbmc/IChhcyBs aWJjIHBvbGwoKSB3aGljaCBjaGVja3Mgc3RhdHVzIG9mIGZpbGUgZGVzY3JpcHRvcnMpDQo+ID4+ Pj4gaXQgaXMgbm90IHB1bGxpbmcgdGhlIGRvb3IgdG8gb3BlbiBpdCA6KQ0KPiA+Pj4NCj4gPj4+ IHBvbGwgd2FpdHMgZm9yIHNvbWUgZXZlbnQgb24gYSBmaWxlIGRlc2NyaXB0b3IgYXMgaXQgdGl0 bGUgc2F5cy4NCj4gPj4+IEFuZCB0aGVuIHVzZXIgaGFzIHRvIGludm9rZSByZWFkKCkgdG8gYWN0 dWFsbHkgZ2V0IGFueSBpbmZvIGZyb20gdGhlIGZkLg0KPiA+Pj4gVGhlIHBvaW50IG9mIG91ciBm dW5jdGlvbiBpcyB0byByZXR1cm4gdGhlIHJlc3VsdCBpbW1lZGlhdGVseSwgdGh1cyBwdWxsaW5n Lg0KPiA+Pj4gV2UgaGFkIG1hbnkgbmFtZXMgYXBwZWFyaW5nIGluIHRoZSB0aHJlYWQgZm9yIHRo ZXNlIGZ1bmN0aW9ucy4NCj4gPj4+IEFzIHdlIGtub3csIG5hbWluZyB2YXJpYWJsZXMgaXMgdGhl IHNlY29uZCBoYXJkZXN0IHRoaW5nIGluIHByb2dyYW1taW5nLg0KPiA+Pj4gSSB3YW50ZWQgdGhp cyBwdWxsIGZvciByZXN1bHRzIHB1bGxpbmcgYmUgYSBjb3VudGVycGFydCBmb3IgdGhlIHB1c2gg Zm9yDQo+ID4+PiBwdXNoaW5nIHRoZSBvcGVyYXRpb25zIHRvIGEgTklDLiBBbm90aGVyIGlkZWEg aXMgcG9wL3B1c2ggcGFpciwgYnV0IHRoZXkgYXJlDQo+ID4+PiBtb3JlIGxpa2UgZm9yIG9wZXJh dGlvbnMgb25seSwgbm90IGZvciByZXN1bHRzLg0KPiA+Pj4gSGF2aW5nIHNhaWQgdGhhdCBJJ20g YXQgdGhlIHBvaW50IG9mIGFjY2VwdGluZyBhbnkgbmFtZSBoZXJlLg0KPiA+Pg0KPiA+PiBJIGFn cmVlIHRoYXQgaXQgaXMgaGFyZCB0byBjaG9vc2UgZ29vZCBuYW1pbmcuDQo+ID4+IEp1c3Qgd2Fu dCB0byBzYXkgdGhhdCBwb2xsaW5nIGlzIG5vdCBhbHdheSB3YWl0aW5nLg0KPiA+Pg0KPiA+PiBw b2xsIC0gY2hlY2sgdGhlIHN0YXR1cyBvZiAoYSBkZXZpY2UpLCBlc3BlY2lhbGx5IGFzIHBhcnQg b2YgYSByZXBlYXRlZA0KPiA+PiBjeWNsZS4NCj4gPj4NCj4gPj4gSGVyZSB3ZSdyZSBjaGVja2lu ZyBzdGF0dXMgb2YgZmxvdyBlbmdpbmUgcmVxdWVzdHMgYW5kIHllcywNCj4gPj4gZmluYWxseSBp biBhIHJlcGVhdGVkIGN5Y2xlLg0KPiA+Pg0KPiA+PiBbc25pcF0NCj4gPj4NCj4gPj4+Pj4gKy8q Kg0KPiA+Pj4+PiArICogQHdhcm5pbmcNCj4gPj4+Pj4gKyAqIEBiIEVYUEVSSU1FTlRBTDogdGhp cyBBUEkgbWF5IGNoYW5nZSB3aXRob3V0IHByaW9yIG5vdGljZS4NCj4gPj4+Pj4gKyAqDQo+ID4+ Pj4+ICsgKiBRdWV1ZSBvcGVyYXRpb24gYXR0cmlidXRlcy4NCj4gPj4+Pj4gKyAqLw0KPiA+Pj4+ PiArc3RydWN0IHJ0ZV9mbG93X3Ffb3BzX2F0dHIgew0KPiA+Pj4+PiArCS8qKg0KPiA+Pj4+PiAr CSAqIFRoZSB1c2VyIGRhdGEgdGhhdCB3aWxsIGJlIHJldHVybmVkIG9uIHRoZSBjb21wbGV0aW9u IGV2ZW50cy4NCj4gPj4+Pj4gKwkgKi8NCj4gPj4+Pj4gKwl2b2lkICp1c2VyX2RhdGE7DQo+ID4+ Pj4NCj4gPj4+PiBJTUhPIGl0IG11c3Qgbm90IGJlIGhpZGRuZSBpbiBhdHRycy4gSXQgaXMgYSBr ZXkgaW5mb3JtYXRpb24NCj4gPj4+PiB3aGljaCBpcyB1c2VkIHRvIHVuZGVyc3RhbmQgdGhlIG9w cmF0aW9uIHJlc3VsdC4gSXQgc2hvdWxkDQo+ID4+Pj4gYmUgcGFzc2VkIHNlcGFyYXRlbHkuDQo+ ID4+Pg0KPiA+Pj4gTWF5YmUsIG9uIHRoZSBvdGhlciBoYW5kIGl0IGlzIG9wdGlvbmFsIGFuZCBt YXkgbm90IGJlIG5lZWRlZCBieSBhbiBhcHBsaWNhdGlvbi4NCj4gPj4NCj4gPj4gSSBkb24ndCB1 bmRlcnN0YW5kIGhvdyBpdCBpcyBwb3NzaWJsZS4gV2l0aG91dCBpdCBhcHBsaWNhdGlvbg0KPiA+ PiBkb24ndCBrbm93IGZhdGUgb2YgaXRzIHJlcXVlc3RzLg0KPiA+Pg0KPiA+IElNSE8gc2luY2Ug dXNlcl9kYXRhIHNob3VsZCBiZSBpbiBhbGwgcmVsYXRlZCBvcGVyYXRpb25zIEFQSQ0KPiA+IGFs b25nIHdpdGggdGhlIGF0dHIsIHNwbGl0dGluZyB0aGUgdXNlcl9kYXRhIHdpbGwganVzdCBhZGQg ZXh0cmEgcGFyYW1ldGVyDQo+ID4gdG8gZWFjaCBmdW5jdGlvbiBjYWxsLiBTaW5jZSB3ZSBoYXZl IG51bWJlciBvZiBmdW5jdGlvbnMgYW5kIHdpbGwgYWRkDQo+ID4gbW9yZSBpbiBmdXR1cmUgSSB0 aGluayBpdCB3aWxsIGJlIGJlc3QgdG8ga2VlcCBpdCBpbiB0aGlzIGxvY2F0aW9uLg0KPiANCj4g TXkgcHJvYmxlbSB3aXRoIGhpZGluZyB1c2VyX2RhdGEgaW5zaWRlIGF0dHIgaXMgdGhhdA0KPiAn dXNlcl9kYXRhJyBpcyBub3QgYW4gYXV4aWxpYXJ5IGF0dHJpYnV0ZSBkZWZpbmluZyBleHRyYQ0K PiBwcm9wZXJ0aWVzIG9mIHRoZSByZXF1ZXN0LiBJdCBpcyBhIGtleSBpbmZvcm1hdGlvbi4NCj4g TWF5IGJlIGF0dHIgaXMgbm90IGFuIGlkZWFsIG5hbWUgZm9yIHN1Y2ggZ3JvdXBpbmcNCj4gb2Yg cGFyYW1ldGVycy4gVW5mb3J0dW5hdGVseSBJIGhhdmUgbm8gYmV0dGVyIGlkZWFzIHJpZ2h0IG5v dy4NCj4gDQpJIHVuZGVyc3RhbmQgeW91ciBwb2ludCwgaWYgeW91IGRvbid0IGhhdmUgb2JqZWN0 aW9ucyBsZXRzIGtlZXAgdGhlIGN1cnJlbnQgb25lDQphbmQgaWYgbmVlZGVkIHdlIHdpbGwgbW9k aWZ5Lg0KSXMgdGhhdCBPLks/DQoNCj4gQW5kcmV3Lg0K