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 2D5C2A0503; Thu, 19 May 2022 10:41:48 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D778C40150; Thu, 19 May 2022 10:41:47 +0200 (CEST) Received: from NAM04-BN8-obe.outbound.protection.outlook.com (mail-bn8nam08on2071.outbound.protection.outlook.com [40.107.100.71]) by mails.dpdk.org (Postfix) with ESMTP id 7057240140 for ; Thu, 19 May 2022 10:41:46 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FuxIyz6VwZiQ1Nee7rGRgJhneIA+2UWveYMj9B3O0Yu79fpbCXNBh+td0GZn/hHAfaZJ4AevuJ3qLy7dBY25ixkoYKW6yOC6QPPi0nj9JDbv01cFFLB1i9FT9gXcOqSDqMSLxOgVYKXP0rOwGEhKdZP7KsdQkID5ejVcGppSRf431qwGItBOUgfVwdzHV0SbM3jaue5tn1HupdnpUyiZPt6WRTbnlPt2kFFX5uMsfAwRBRBG9Lc7M8lSFmshuh+qWeCh/5cyjheyDaLL1zE6kX1RSyVpxjT2LkDiD3vDqP8Httey+tUECv7w69HAjoJ5xBDKqF0rcYr4gvsKNmEFFQ== 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=sPFAzYrbFXlKVOLmwxHKfnVFNxO5tjwNce+IcudkL0Q=; b=CbF3LNiOWoOVdjxKzXqRc/J7C+GuChqGtxEn1OGrK7tvMbdMVSb2P7EVRfFcKLyiteYVctE1JFOPewGfdbcKpQV9SRzLZoAzpTwP5+6HZMTbNuoomkIly/W6lsFBYMVNUY3ktzRYHUp3cPBA50PvBP2WzP8PHpw33cv1b/F3SD+w7Hd1a92p/H1zZAtS2V61B9TUTotgYW88/RLAO0Ep1nEfAXj+ygU7euuQ3k2yiMyLZ3OZ8n/WY8BhqDil8nzs8HrbY/hIHpSmFnJJuusMyx5vmVDOIrECX5CUNaJGTnc/TxJPIlN5npWYxZD5xECPTLf7GIWfUMhgXrk9kx9ZHg== 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=sPFAzYrbFXlKVOLmwxHKfnVFNxO5tjwNce+IcudkL0Q=; b=OQo/3/+cg/xtDbEWfwbOzWXP/9sdXtl1uBveUsRPRcQvHwU1uxG4hZDk5mlIulxWzxCz9C/nQtyMKIUplIrJ9tzvjCuG/Hkl6CFuIdmvj1o/1ZWjGZJZVSFts/0+k3bWQnzUIf2HxdTrHYjXedCQ0ZZ4Vnpp5sTOVk3gufsTmAa16T4fEt6L64zl/ZDQ8RCjih47NdWkasT8WI8KoEPAFywh5ug9aw2MA3KuE6trylyT7TOAckcbA8PZ4mW/oHDeekVzuOkqpHGAuDTOG1Ei2Vm2JGPm5WU77u/XuU8EoI0tnRNwLPdweIATLgQABSeAC4h1Xgf750uhU+1rpSJNPg== Received: from MW2PR12MB4666.namprd12.prod.outlook.com (2603:10b6:302:13::22) by DM5PR12MB1292.namprd12.prod.outlook.com (2603:10b6:3:73::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5273.14; Thu, 19 May 2022 08:41:44 +0000 Received: from MW2PR12MB4666.namprd12.prod.outlook.com ([fe80::b0:d7de:9b4:432a]) by MW2PR12MB4666.namprd12.prod.outlook.com ([fe80::b0:d7de:9b4:432a%5]) with mapi id 15.20.5273.014; Thu, 19 May 2022 08:41:44 +0000 From: Ori Kam To: Andrew Rybchenko , Alexander Kozyrev , Jerin Jacob , Cristian Dumitrescu , "NBU-Contact-Thomas Monjalon (EXTERNAL)" , "Vipin.Varghese@amd.com" , Ajit Khaparde , Ferruh Yigit CC: Ray Kinsella , Sunil Kumar Kori , Ivan Malov , "Awal, Mohammad Abdul" , "Zhang, Qi Z" , "Richardson, Bruce" , Konstantin Ananyev , "Singh, Jasvinder" , "dev@dpdk.org" Subject: RE: [RFC] ethdev: datapath-focused meter actions, continue Thread-Topic: [RFC] ethdev: datapath-focused meter actions, continue Thread-Index: AQHYaVDsRZG6pHheSAGvOP6NbrvKkQAADvXArSTb7QCAAJ4QAIAASs+AgAAbiTA= Date: Thu, 19 May 2022 08:41:44 +0000 Message-ID: References: In-Reply-To: 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: 6396482e-6e95-4707-1859-08da3973675d x-ms-traffictypediagnostic: DM5PR12MB1292:EE_ x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Rwaii6poLwGsvvo7lHgdb1g8wTZkgxMH6xKSfeC6uVf2+qarqxKhG//Iz8vIKWg7TdWRy/WPzv3O6kdb/gSS1OpAEVaH5SZI97dFQZn7zBeGsdGlCwmef5DekceCJVarttYxrqOnAPknolSkn3essMSo6VwaQvmmB6CN59+8Wn/D8tUSk7x3T3taDgcMFn36QLBUMAPpEaz+w6lrFscVRdSOZFsOjpP1uMpt9LIfGCvYXfvWL+AP0Ks8E6BrlyOBHTqOOHmTkeh391g1rBC1xm2fyJW9YOx6yeqWPcV9Z73wnsEXhF4dKyY0NEVUO2Gp/1LXLgpZFne3Q5XwaLZCeF5T+aY2m2vDteHKUipSPulBoyVF+f9QN07bs8BFltzSurhkpBRl+7O11zVULEFog4V0Kg9di4GpgiMEWB2N+8MYw6VAqXTWc2UcKgZh1ou8CQndkE4Txq8xuQ0lzAZk5KTIPpfDKadRfOCbxT9b6RN4eGGi0dHRAzRodN1ZOA1bC6ygg8Qrkd98oB4Nq9SNysCE9ZnsZ/RARGUqEEwaadkmL86Nwp1q8ltUGzIRfpQxJ4S7vb5Xz5YIUKbKZ1bVjy7icCduomASQjIICL1xiJPMusECzsnrfG9YEq0KzxsnEzHnlk53t2IO5seuzuBy6e99YCQPL4+OFRrg6c7mQMddNB4YNKxNS8yDocaOGbWDk2zMRAvVr8kLmv8PJieCGA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MW2PR12MB4666.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(5660300002)(7416002)(8936002)(7696005)(38070700005)(6506007)(53546011)(9686003)(52536014)(76116006)(86362001)(508600001)(38100700002)(26005)(122000001)(2906002)(64756008)(66446008)(66476007)(66946007)(186003)(66556008)(83380400001)(33656002)(55016003)(71200400001)(316002)(110136005)(54906003)(8676002)(4326008); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?SUd6anFTTnovYVcwQnZFTi9LREF1bUdROXVBY3NnZ04yblJaS2lDZnltbG1L?= =?utf-8?B?dnJwakJlcWs4MkVyS0JiS3QvRW5vb01BT0hhSlkwSVp0eHU5Tk90YXQ0VVpa?= =?utf-8?B?VGhpSkVva0VsRSt1MWUzNzRiUjM1em13TnJ1TjFXNWRYZFo5dGtXL0I1S1I3?= =?utf-8?B?Rldia2xseDNJNlFYbEhMRW90NkRaUDhuaUwreWttZDdJcDM1RnZwbW5CTllk?= =?utf-8?B?eDRJVDg4UTlYbnlnQXlPaUZCVnQ4dHVLNHlPQkdwNUROOFExbjFveW5zM2Uv?= =?utf-8?B?Q0h1UGwxOU1DSi9GRmlOcWJ0eWMwUGFzaWc4WFZzYm5rN2VlV0FMVm1xdG9s?= =?utf-8?B?ZGNrUWp0cUdlVzc4dVpDcHRVbWY5eTN1Y0Y5ZUlEUjBGL1RDNktBTE8yT0FF?= =?utf-8?B?LzJCTVRGWHlvM1ZyNERTVnBORDBEVXVJdjFRcGNldHJoeGViSGhXN0NrUytK?= =?utf-8?B?K1FGTCtCTnkxL1dxdXNWOVYyTk9temx0bGJkZ0lkNzVaSXlKTS9nWmEyZUhw?= =?utf-8?B?bmVmV0VoblcwOCtqYXVmOEIxSXZXQkM2N2VRb3R1ZWRqaUQ5U3hiekJDR3pn?= =?utf-8?B?UU5MRXFqbHBWUVJqd1g2YnZjSWpEa05HOS9zNWVTaEkxdHBWd0MwRTZIWUdO?= =?utf-8?B?SXRjaTQvQTNYQk16L1d2SEYzSkZNdkFiajFDVGVRZUhZK1BKNVEvWUp2OC83?= =?utf-8?B?OUFXRjhsOU1CWi82Q2tTL2JRUW9QNWpmM3d1a2JHYWNEU2pseXRqQ0lQakE0?= =?utf-8?B?YytZR1p6R2s5SUdnN240RWNjVU9HeVllT0UvQVVZNjNZY3JzL05qQ0FoYyt4?= =?utf-8?B?dHRlTG9ZNC9wRFMvd09lQkhUTjB2R3JsQzhqT3V2eE1XWUJJeVM0NFZ1eGFM?= =?utf-8?B?ZkhVQU1zYjdTcDJBRXBadWJlNDJHbmY0cHRXb2pURUdhaFBhWGtsM0dSOVYw?= =?utf-8?B?UXNhcnV6NGRWdGxwd2JqeHk0SDRKa3lSSlF0Ny9FK1FDRnlLWG1RZU4xZmVV?= =?utf-8?B?UHNTTkk2SHJObUMydGZkYWZKRmhmVDZjOVp6WFpXajIvdlNiWm10Ujh6MkRF?= =?utf-8?B?aU9mbTlMZjE2M3NsN3F5Y1BjM21Ua1ZrbGFIVzBvTGJ3cVUwQ1ZZN2VrZzdT?= =?utf-8?B?Z3IvakU0eXhNUkIxQ09BdUhiOC8zZmxTc0p2R2lRL1ppTFZaQThvNHArajJR?= =?utf-8?B?MFl2YXorL051OFBFY0FUVHduSVJWRnR4Mk9KZHlqeE9XVU5pejlINlF5RWs0?= =?utf-8?B?bkR0Wk1NZUZhcVVpYjZRNUVYYldId3hjTlU2cUlXUGw2UllLaGlwSWtPY2tx?= =?utf-8?B?dWJ6UkhJbDlDQ2tESzlCZGdURjA1MEJrb29CcFFiVmF2LzNXS1dWd01GNlk4?= =?utf-8?B?SkdQeGxNRys2Y2F5WVdncUFGTGRpcXEvYkM5SmpwdDhGWUE5dXNFMnpONXZr?= =?utf-8?B?SFFscDU2a050KzV1UGdEeUFjNS9ZUDRMZ3BDcnZCZ1BSeHhGbmhPNmwvK3ZG?= =?utf-8?B?TzFHYlFyOVltMU9xSjhMaUc4MVhHVVl0N1hNaHVJeXlqMTFNL0ZXU1FJS0dY?= =?utf-8?B?RDVsTVpKelNCUjdRcUpYRTRKa1pXNGxJMkVTUlJNWnNVZnhwRXFhMjg0R3Rj?= =?utf-8?B?eGx6UHo4WEdKWFc2Wkp3MThhMjV4WHo2OWIxNS9ZMWVRWkpsNHZiV2h4RW5l?= =?utf-8?B?REhsVkxGL0dQdCtGTTJkeG9qVTJOZ0NFQ3VCc0JqNGxEVWd1ZEtBajN3WmtJ?= =?utf-8?B?S1ZVc1luekFNVDV0ODNsWGRCcXoxTEFNeGVwWUVnWHZSVnFlaVB6cVZsRS8r?= =?utf-8?B?dUt6UXEwRTRtTzE4TE5IUzVzNmlsUmQzVWdYN1FWNGN6UXFxa0pCZ3JJL3hX?= =?utf-8?B?T1F5QlluYU1CcllkdTFQa2RDSG5zWnI2d3BwRHgrbjZtVThONHhHaTZ0ZGFh?= =?utf-8?B?clhjRVZ2ckxiUVcrK010L25ZcTI5R25qc1RBeXJ2MGFiVHIwQ0lWRUFxZnll?= =?utf-8?B?UkNKSHNad0xQdDhTWnZIOXlsRE4zbTRHOEVsV0xJcHhPczA0QmRtU2R5NVJx?= =?utf-8?B?UnN3SURPdFliUmVsKzB5dFZjMy8zS0s1SmdZdklWNjFjVTl2QTJEY2twSFlU?= =?utf-8?B?bmNnUmJlUnhXcnN5ZTAyZytDa2pOdDFOM3pBRk51SWR1UHgzZDh4UThjVUpk?= =?utf-8?B?OGx4Tm9Ddjh4WVhFbmVBYU5mRXJTMkRLSnRaNnB5U0lCVE43bXdpVUNLbWJj?= =?utf-8?B?RnNNSno2RitHZjI0MGoyU01XT3JzV3NWZFQxbVhlNE9vT1BNQzFJMFAxNVIx?= =?utf-8?B?M2huTEszUW9pL01RUzVCaGN1ZGk1eTI3QnhUV0d4SW5MUGxEeGhGZz09?= 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: 6396482e-6e95-4707-1859-08da3973675d X-MS-Exchange-CrossTenant-originalarrivaltime: 19 May 2022 08:41:44.4054 (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: l0ODIaFEnCHeg9KCqJHPtNUGc7M7rNNaveANR/TlMuYo9sN3t+NT77qs7g2P0ndNfB4Uo7AtM7j2KuKtMruyrg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR12MB1292 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 c2RheSwgTWF5IDE5LCAyMDIyIDk6NDUgQU0NCj4gU3ViamVjdDogUmU6IFtSRkNdIGV0aGRldjog ZGF0YXBhdGgtZm9jdXNlZCBtZXRlciBhY3Rpb25zLCBjb250aW51ZQ0KPiANCj4gT24gNS8xOS8y MiAwNToxNywgQWxleGFuZGVyIEtvenlyZXYgd3JvdGU6DQo+ID4gT24gV2VkLCBNYXkgMTgsIDIw MjIgMTI6NTEgQW5kcmV3IFJ5YmNoZW5rbyA8YW5kcmV3LnJ5YmNoZW5rb0Bva3RldGxhYnMucnU+ Og0KPiA+PiBJJ20gc29ycnksIEknbSBub3Qgc3VyZSB0aGF0IEkgY2FuIHRha2UgcGFydCBpbiB0 b21vcnJvdyBtZWV0aW5nLCBzbywNCj4gPj4gSSdkIGxpa2UgdG8gZHJvcCBteSB0aG91Z2h0cyBv biB0aGUgdG9waWMgdmlhIEUtbWFpbC4NCj4gPg0KPiA+IFRoYW5rIHlvdSBmb3IgdGFraW5nIHNv bWUgdGltZSBhbmQgcmV2aWV3aW5nIHRoaXMgUkZDLg0KPiA+DQo+ID4+IEV4aXN0aW5nICJtZXRl ciIgb2JqZWN0IHdoaWNoIHB1bGxzIHByb2ZpbGUgYW5kIHBvbGljeSB0b2dldGhlciBhbGxvd3MN Cj4gPj4gZG8gYXBwbHkgbWV0ZXJpbmcgaW4gb25lIGZsb3ctYmFzZWQgbG9va3VwIGZvciBkaWZm ZXJlbnQgZmxvd3MuDQo+ID4+IEkuZS4gd2UgY2FuIHJvdXRlIGFic29sdXRlbHkgZGlmZmVyZW50 IGZsb3dzIHRvIG9uZSBtZXRlciBvYmplY3QgdG8NCj4gPj4gc2hhcmUgbWV0ZXJpbmcgY291bnRl cnMuIFdoZW4gd2Uga25vdyBtZXRlciBJRCBmb3IgYSBmbG93LCBldmVyeXRoaW5nDQo+ID4+IGJl Y29tZXMgc2ltcGxlIC0ganVzdCBnZXQgY29ycmVzcG9uZGluZyBtZXRlcmluZyBjb3VudGVycywg YXBwbHkgaXQgYW5kDQo+ID4+IGRvIGFjdGlvbnMgYmFzZWQgb24gY29sb3IuIFllcywgaXQgaXMg bm90IGZsZXhpYmxlLCBidXQgdmVyeSBzaW1wbGUuIEFzDQo+ID4+IEkgdW5kZXJzdGFuZCB0aGUg Y29uZmlndXJhdGlvbiBtb2RlbCBlbmZvcmNlcyB0byBkZWZpbmUgYWN0aW9ucyBmb3IgYWxsDQo+ ID4+IGNvbG9ycy4NCj4gPg0KPiA+IFllcywgYW5kIHdoYXQgSSBwcm9wb3NlIGlzIHRoZSBmbGV4 aWJsZSB2ZXJzaW9uIG9mIE1ldGVycyB3aGVyZSBib3RoDQo+ID4gcHJvZmlsZXMgYW5kIHBvbGlj aWVzIGNhbiBiZSB1c2VkIHNlcGFyYXRlbHkuIEJ1dCBmbGV4aWJpbGl0eSBjb21lcyB3aXRoDQo+ ID4gYSBwcmljZSBvZiB0YWtpbmcgY2FyZSBvZiBib3RoIG9mIHRoZW0gc2VwYXJhdGVseSBhcyB3 ZWxsLCBvZiBjb3Vyc2UuDQo+ID4NCj4gPj4gQSBuZXcgbW9kZWwsIGlmIEknbSBub3QgbWlzdGFr ZW4sIHdpbGwgcmVxdWlyZSB0aHJlZSBmbG93LWJhc2VkIGxvb2t1cHM6DQo+ID4+ICAgwqAxLiBU byBhc3NpZ24gYSBUQUcgYmFzZWQgb24gZmxvdyBmaWVsZHMgKHRvIGhhbmRsZSBkaWZmZXJlbnQg Zmxvd3MgaW4NCj4gPj4gb25lIG1ldGVyKQ0KPiA+PiAgIMKgMi4gVG8gZG8gbWV0ZXJpbmcgZm9y IHBhY2tldHMgd2l0aCBhIFRBRw0KPiA+PiAgIMKgMy4gVG8gZmluZCBhY3Rpb25zIGJhc2VkIG9u IGNvbG9yDQo+ID4+IE9mIGNvdXJzZSwgKDIpIGFuZCAoMykgYXJlIGRvbmUgaW4gZXhpc3Rpbmcg bW9kZWwgd2l0aCBtZXRlciBJRCwgYnV0DQo+ID4+IGhlcmUgaXQgaXMgYSBnZW5lcmljIGZsb3ct YmFzZWQgbG9va3VwcyB3aXRoIGV4dHJhIG1hdGNoaW5nIGNyaXRlcmlhLg0KPiA+PiBZZXMsIGl0 IGlzIHRydWUgdGhhdCBpdCBnaXZlcyBleHRyYSBmbGV4aWJpbGl0eSwgYnV0IGV2ZXJ5dGhpbmcg aGFzIGl0cw0KPiA+PiBwcmljZS4NCj4gPg0KPiA+IFdlIGRvbid0IG5lZWQgdG8gYXNzaWduIGEg VEFHLiBJIHVzZWQgdGhlIFRBRyBhcyBleGFtcGxlIG9uIGhvdyB3ZSBjYW4NCj4gPiBjb21iaW5l IGNvbG9yIG1hdGNoaW5nIHdpdGggYW55IG90aGVyIGl0ZW0gbWF0Y2hpbmcuICBNb2RlbCBzdGF5 cyB0aGUgc2FtZS4NCj4gPiBZb3Ugc3RpbGwgZG8gY29sb3IgbWFya2luZyB3aXRoIGEgbWV0ZXIg YW5kIGZpbmQgYWN0aW9ucyBiYXNlZCBvbiBhIGNvbG9yLg0KPiANCj4gSSBnZW5lcmFsIHllcywg YnV0IEkndmUgdHJpZWQgdG8gaGlnaGxpZ2h0IHRoZSBjYXNlIHdoZW4gdGhlDQo+IHNhbWUgbWV0 ZXIgc2hvdWxkIGJlIGFwcGxpZWQgdG8gZGlmZmVyZW50IGZsb3dzLiBJZiBzbywgeW91DQo+IG5l ZWQgYSB3YXkgdG8gY29tYmluZS4gT2xkIHdheSBhbGxvd3MgdG8gZG8gaXQgaW4gYSBzaW5nbGUg c3RlcCAtIGp1c3QNCj4gc3BlY2lmeSBtZXRlciBJRC4gTmV3IHdheSBuZWVkcyBleHRyYSBydWxl LCBmb3IgZXhhbXBsZSwNCj4gdXNpbmcgVEFHIG9yIE1BUksuDQo+IA0KSWYgeW91IHdhbnQgdGhl IHNhbWUgbWV0ZXIgdG8gYmUgdXNlZCBieSBkaWZmZXJlbnQgcnVsZXMsIHlvdSBjYW4ganVzdA0K dXNlIHRoZSBhY3Rpb24gaGFuZGxlIChpbmRpcmVjdCBhY3Rpb24pLg0KVGhlIHRhZyBpcyB1c2Vk IGluIG9yZGVyIHRvIGRlbXV4IHRoZSBydWxlcyBhZnRlciB0aGUgY29sb3IgbWF0Y2hpbmcuDQoN CkV4YW1wbGUgZm9yIHN1Y2ggdXNlIGNhc2U6DQpZb3UgaGF2ZSBhIHNoYXJlIG1ldGVyIGZvciBh IHVzZXIsIFRoZSB1c2VyIGhhcyBudW1iZXIgb2YgY29ubmVjdGlvbnMsDQooWW91dHViZSwgd2Vi LCBnYW1lKQ0KU28gdGhlIGZpcnN0IHRoaW5nIHRoZSBhcHBsaWNhdGlvbiBkb2VzIGl0IGNoZWNr cyB0aGUgdXNlciBtZXRlcg0KR3JvdXAgMDoNCk1hdGNoICh1c2VyIHlvdXR1YmUgNSB0dXBsZSkg YWN0aW9ucyBzaGFyZWRfbWV0ZXIgc2V0X3RhZyh5b3V0dWJlKSBqdW1wIHRvIGdyb3VwIDENCk1h dGNoICh1c2VyIHdlYiA1IHR1cGxlKSBhY3Rpb25zIHNoYXJlZF9tZXRlciBzZXRfdGFnKHdlYikg anVtcCB0byBncm91cCAxDQpNYXRjaCAodXNlciBnYW1lIDUgdHVwbGUpIGFjdGlvbnMgc2hhcmVk X21ldGVyIHNldF90YWcoZ2FtZSkganVtcCB0byBncm91cCAxDQoNCkdyb3VwIDE6ICAodGhpcyBp cyB3aGF0IHdlIGN1cnJlbnRseSBjYWxsIHByb2ZpbGUsKQ0KTWF0Y2ggY29sb3IgPT0gZ3JlZW4g anVtcCBncm91cCAyDQpNYXRjaCBjb2xvciA9PSByZWQgZHJvcA0KDQpHcm91cCAyOg0KTWF0Y2gg dGFnID09IHlvdXR1YmUgYWN0aW9ucyB5b3V0dWJlIHJlbGF0ZWQgYWN0aW9ucw0KTWF0Y2ggdGFn ID09IHdlYiBhY3Rpb25zIHdlYiByZWxhdGVkIGFjdGlvbnMNCk1hdGNoIHRhZyA9PSBnYW1lIGFj dGlvbnMgZ2FtZSByZWxhdGVkIGFjdGlvbnMNCg0KVXNpbmcgdGhlIG5ldyBBUEkgeW91IGNhbiBj b21iaW5lIEdyb3VwIDEgYW5kIDIgKGdyb3VwIDIgd2lsbCBubyBiZSBuZWVkZWQgYW55bW9yZSkN Ckdyb3VwIDEnOg0KTWF0Y2ggdGFnID09IHlvdXR1YmUgYW5kIGNvbG9yID09IGdyZWVuICBhY3Rp b25zIHlvdXR1YmUgcmVsYXRlZCBhY3Rpb25zDQpNYXRjaCB0YWcgPT0gd2ViYW5kIGNvbG9yID09 IGdyZWVuIGFjdGlvbnMgd2ViIHJlbGF0ZWQgYWN0aW9ucw0KTWF0Y2ggdGFnID09IGdhbWUgYW5k IGNvbG9yID09IGdyZWVuIGFjdGlvbnMgZ2FtZSByZWxhdGVkIGFjdGlvbnMNCk1hdGNoIGNvbG9y ID09IHJlZCBkcm9wDQoNCkFzIHlvdSBjYW4gc2VlLCB0byBpbXBsZW1lbnQgdGhlIGxvZ2ljIGlu IGN1cnJlbnQgQVBJIHdlIG11c3QgdXNlIDMgZ3JvdXBzIHdoaWxlLA0KdXNpbmcgdGhlIHN1Z2dl c3RlZCBBUGkgd2UgY2FuIGp1c3QgdXNlIDIgZ3JvdXBzLg0KDQoNCj4gPg0KPiA+PiBUaGVvcmV0 aWNhbGx5IG9sZCBtb2RlbCBjb3VsZCBiZSBleHByZXNzZWQgdXNpbmcgbmV3IG9uZSAoYW5kLA0K PiA+PiB0aGVyZWZvcmUsIHN1cHBvcnRlZCBvbiBvbGQgSFcpLCBidXQgaXQgaXMgYSBiaXQgdHJp Y2t5IGFuZCByYWlzZXMgbWFueQ0KPiA+PiBxdWVzdGlvbnMgb24gaG93IHRvIGhhbmRsZSBpdCBj b3JyZWN0bHkgaW4gYWxsIGNhc2VzLiBFLmcuIGlmIGEgVEFHIGlzDQo+ID4+IHRoZSBvbmx5IHBh dHRlcm4gaW4gbm9uLXplcm8gdGFibGUgYW5kIHVzZWQgZm9yIG1ldGVyK2p1bXAgYWN0aW9ucyBv bmx5LA0KPiA+PiBpdCBjb3VsZCBiZSBhc3NvY2lhdGVkIHdpdGggbWV0ZXIgSUQuDQo+ID4+IEFi b3ZlIGp1bXAgdGFibGUgc3BlY2lmaWVkIGFmdGVyIG1ldGVyIGFjdGlvbiBjb3VsZCBiZSBhc3Nv Y2lhdGVkIHdpdGggYQ0KPiA+PiBwb2xpY3kgSUQuIElmIGFjdGlvbiBmb3IgYSBjb2xvciBpcyBu b3Qgc3BlY2lmaWVkIGluIGEgdGFibGUsIGl0IHNob3VsZA0KPiA+PiBiZSBkcm9wIGJ5IGRlZmF1 bHQuDQo+ID4NCj4gPiBZZXMsIG9sZCBtb2RlbCBjYW4gYmUgZXhwcmVzc2VkIHZpYSBuZXcgQVBJ IGFuZCBuZXcgbW9kZWwgY2FuIGJlDQo+ID4gc2ltdWxhdGVkIHdpdGggdGhlIG9sZCBBUEkuIEVm ZmljaWVuY3kgYW5kIHBlcmZvcm1hbmNlIGlzIHRoZSBrZXkuDQo+ID4NCj4gPj4gSW5kaXJlY3Qg YWN0aW9ucyBvciBhY3Rpb24gdGVtcGxhdGVzIGNvdWxkIGhlbHAgdG8gZG8gbWV0ZXIgcHJvZmls ZSBqb2INCj4gPj4gLSBkZWZpbmUgcHJvZmlsZSBpbiBzaW5nbGUgcGxhY2UuDQo+ID4NCj4gPiBU cnVlLCBtZXRlciBjb2xvciBtYXJraW5nIG1heSBiZSB1c2VkIGZvciBtZXRlciBzaGFyaW5nLCBm b3IgZXhhbXBsZS4NCj4gPg0KPiA+PiBUbyBzdW0gdXAsIHNpbmNlIHNvbWUgSFcgY291bGQgc3Vw cG9ydCB0aGUgZmxleGliaWxpdHkgcHJvdmlkZWQgYnkNCj4gPj4gc3VnZ2VzdGVkIGZsb3cgQVBJ IGl0ZW1zL2FjdGlvbnMuIEkgc2VlIG5vIHJlYXNvbiB0byBibG9jayBpdC4gU29sdXRpb24NCj4g Pj4gbG9va3MgZ29vZCBmcm9tIGZsb3cgQVBJIGRlc2lnbiBwb2ludCBvZiB2aWV3Lg0KPiA+DQo+ ID4gVGhhbmsgeW91Lg0KPiA+DQo+ID4+IE1heSBiZSBJJ20gbWlzc2luZyBzb21ldGhpbmcgc2lu Y2UgSSdtIG5vdCBleHBlcnQgaW4gUW9TIGFuZCBoYXZlIG5vDQo+ID4+IGhhbmRzLW9uIGV4cGVy aWVuY2Ugd2l0aCBtZXRlcnMgaW4gRFBESy4NCj4gPj4NCj4gPj4gQW5kcmV3Lg0KPiA+DQoNCg==