From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 007AB43792;
	Wed, 27 Dec 2023 16:20:24 +0100 (CET)
Received: from mails.dpdk.org (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id 79D1A402B0;
	Wed, 27 Dec 2023 16:20:24 +0100 (CET)
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on2083.outbound.protection.outlook.com [40.107.92.83])
 by mails.dpdk.org (Postfix) with ESMTP id 243814029C
 for <dev@dpdk.org>; Wed, 27 Dec 2023 16:20:23 +0100 (CET)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TwlbkRsQd8pbyoBbjWI3L7AMPBBS331HlFPP8Frx4buMjf3Ds2mDrz12Hv/zVIjsxJxe6sMAikb7u98kyxzviNzu4qHKA1biATp+HaXRZi7h8nchVfAa+0OUPI5dx+Ea0HtiUhrlEClQwFDTAZR+NGEbvgmLIArh8vswOQIrrglMq3lLkBC0BrSwdNOUVMOghq2OE9UCmBCdfTUW7166Rf72JrcnodOl26xS2Bl57i1MLeqWfRr/8yjCReCRKSIvI/27FgEcxarRYrHpY7Za6BrbwOLg4UFjxElkaiPna7jWad+XJfHwznubDedqyE4vrIQoT31In/gCdGWgHRMCHQ==
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=rgO+XLXqbzU/ktwSPQfxvLZBTd6h2Bxr/MuLyE0RAjs=;
 b=RCYioYfM/rKRyC6nAWGDB81H4Ysx69Yigd9EmuYziTjPhXb4nFvZfue3wdkhTwYC0H36pUHfLYVJrkN1MAdhM+vlUC2HDTp1YqvEahBWwlr3ogquFG/QQDfJr5oQdRHltAiJl7xyafUcruQYX39KiAVBa3e8rNi0wF6xPHgQ0z8UyDxd6lLTMpXbZ/N+8YpESjAKSk+Ozdg41Peb9v9mjaj6jOmvXndlC3mypo8B7mD7U4c/u7BLs6ahZKn0QeKjnKHKL2yu1/SZ4nY9vPL6edej3rx097FkY+Db0kO6X1BT7ebBLhZnx4OKkXtX5Z2sizB7XzuyRSmWJGImxnOBcw==
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=rgO+XLXqbzU/ktwSPQfxvLZBTd6h2Bxr/MuLyE0RAjs=;
 b=YAiJwr83TzUU1SQ/JfkWbndGalbAulRIhNRfb7nf799SzQuKMOfe4p1hjfcHY7gw7HX667f29bb/uD7CnXUhAvyQa2NlvFJAY0FXnURDQ6i1JqoJNxbe0WpUqNh23Gv9KpcugGovGbuK8xT9cn+pj7bQE+LtIXIgEox3TPlX7JDuqI4UipsjKuqzbQ0MyAJxokb53TBq1AzXUSCyXEOkbbNFQktXWBUDJtxnF2FB3p3GMhRIB3etQS9oLAtVNtgRszen+GOS1HMnNRBfXnlT/U2ERhApKCu/Z3iTPcBxcdDEDSlxxqyBe/SxMBSTSis2dMd/+uHFUmrSnezaT6+Nqw==
Received: from MW2PR12MB4666.namprd12.prod.outlook.com (2603:10b6:302:13::22)
 by MN6PR12MB8591.namprd12.prod.outlook.com (2603:10b6:208:471::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7135.19; Wed, 27 Dec
 2023 15:20:20 +0000
Received: from MW2PR12MB4666.namprd12.prod.outlook.com
 ([fe80::51e0:745c:8c3:d168]) by MW2PR12MB4666.namprd12.prod.outlook.com
 ([fe80::51e0:745c:8c3:d168%4]) with mapi id 15.20.7113.027; Wed, 27 Dec 2023
 15:20:20 +0000
From: Ori Kam <orika@nvidia.com>
To: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>, "NBU-Contact-Thomas
 Monjalon (EXTERNAL)" <thomas@monjalon.net>, Stephen Hemminger
 <stephen@networkplumber.org>, Ferruh Yigit <ferruh.yigit@amd.com>
CC: "Dumitrescu, Cristian" <cristian.dumitrescu@intel.com>, Dariusz Sosnowski
 <dsosnowski@nvidia.com>, "dev@dpdk.org" <dev@dpdk.org>, Raslan Darawsheh
 <rasland@nvidia.com>
Subject: RE: [RFC] ethdev: introduce entropy calculation
Thread-Topic: [RFC] ethdev: introduce entropy calculation
Thread-Index: AQHaK0NZdeihLGfV/EOfSNHR8xriGrCorISAgAABZrCAAD8WgIAAEQ+ggAAQqoCAAVRGAIAAK/SAgAEYC4CAEbImsA==
Date: Wed, 27 Dec 2023 15:20:19 +0000
Message-ID: <MW2PR12MB4666153DF36A82D62827C927D69FA@MW2PR12MB4666.namprd12.prod.outlook.com>
References: <20231210083100.7893-1-orika@nvidia.com>
 <20231214092609.1b109278@hermes.local>
 <09acf24d-fc48-44cd-aa4c-9e810bd96f85@amd.com> <7755907.4vTCxPXJkl@thomas>
 <c7c9fdf1-9e09-47e4-8bd1-90e896e320d7@oktetlabs.ru>
In-Reply-To: <c7c9fdf1-9e09-47e4-8bd1-90e896e320d7@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-traffictypediagnostic: MW2PR12MB4666:EE_|MN6PR12MB8591:EE_
x-ms-office365-filtering-correlation-id: 0d6a9caf-6fe6-4f0d-6373-08dc06ef566b
x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: CVK7TJSjnkRULcl5BP8pox/BZKrI/vo2oFZ+a6BfRNsVkQsFCAHaIJF+9u6es4A7rDUTTcV0TLhvaO2anbJ6St3Kz0N1F4HN71/aEGEePi2em5aQgWEzhdKqq2huUsthppT9VgjhOBGctgJgsiIAaTSwgg4hPs9sEp/KLD7bNet+zjlbTp45vY+6CWNt2J0hRYJL734mGkTxVBJOM9pCOFgGuxSRdWyNnInni6ykDA1z0m9eWTtKDYmZELd8C3rDV1j+HQ+uwi9+5/spYRaB7dv7B/5cVzOjaptdLpfWnhQbK//WXISPfKXyprLrv8jV3zINokxu0ZmHoiDBL4DWuK+3E5SNpQ9XWPLpifvcjtE4EFajK0ocN/pMVZ0Xyhn8mr6BUe67XltA5St88lJPvOIfUkq9YeeaCCAD0X6Cf4U/hhoPi662QWC8OqHAONRdbfV01jzMW1LNhUlnQt8QqfBcsfWJLGAK5/mF/6zaimSZeGRqp14Nft1GYjER3/y2thXy3j289Ur51bkkaGse4nARjtlmYW2yAamyNTCr/N+udJguju5gMAePWQfek6f5N9uCZDcL88z/auKUu/jCt9b1dVhrF1p32/RkuhVSaLifRgnhYDwpm7Y6XUhjBmOi
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:(13230031)(376002)(396003)(366004)(346002)(39860400002)(136003)(230922051799003)(451199024)(1800799012)(64100799003)(186009)(55016003)(6506007)(7696005)(26005)(107886003)(86362001)(38070700009)(122000001)(33656002)(38100700002)(83380400001)(52536014)(8676002)(4326008)(5660300002)(9686003)(53546011)(71200400001)(478600001)(110136005)(66446008)(54906003)(76116006)(316002)(66476007)(66556008)(64756008)(66946007)(41300700001)(2906002)(8936002);
 DIR:OUT; SFP:1101; 
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?aWJtUXpYcDZPNHB0ZlFENUp3YVNJZWxCUmljVHR2elo3b0lxNjlDNDRkcUIr?=
 =?utf-8?B?b1R2emszT0d6bndEMDRjMS9ZYWV0bGNBVEdoc0xpc2lGSnZZWUtsVFdCMEF3?=
 =?utf-8?B?WWFVdG96WnRrRjcrdVlxdTBSMFZkeHBOUlhObnVWZU1PN1VtS01kbXhKNmk5?=
 =?utf-8?B?Qnp6aWJ0bFFKcktlV3FLUWFGTUFLbUJia1FhNU4vSENsVDBXcGgzakQ3MmlZ?=
 =?utf-8?B?NjExZVRYNXIxWmZ3d0xwL2NLcDlIRU1oRTYwaFAvMnB0YWp0UjJDZEF6NUh4?=
 =?utf-8?B?cDYxNTN3cGZzOWdYc0R0WWpYQmp2Nmc3WHg2UWhMQ2VwbUtkcUpqL25BeVA2?=
 =?utf-8?B?ZTNEK3hnMld1Y3hHKzVnU21LdkRkYVdBNDZFMllSaFpzcTdNYWlmcCtYUFVW?=
 =?utf-8?B?S2VxTlROeWV5L0lkTlkwcEFCMHJLZ3pmRHloRHdsSk1IQUpQemczQ1NnYkFC?=
 =?utf-8?B?QWlzV1dPUXV1YjAwVVRmZDAyU2tra2lmYzZ0ZEVvcElML0svSWtkazRKTy9C?=
 =?utf-8?B?WHprMFJrYUFENmwvUnFpbGsvaGw2N0tCQlo0V0ZzeEthMjd4YS9rWHlERk5Y?=
 =?utf-8?B?d2tCblZaN2NtQnRjM2hpZFZvbHBtWFpTVi80L0ZSMUNob0Q2WU93cE9nRk5s?=
 =?utf-8?B?ZTdSY3hZNVJqdVJDMWgvTDVmVEIzbVF2VTc2OTAwcElPSGZjMktzbFRuUlh3?=
 =?utf-8?B?WFZOTTVlOHZKVmNPZ0czUDdVU1l0KzlYeFJveUhKK3A5M2NYY2M4ZUdadWlD?=
 =?utf-8?B?S1J6dFh5Y282TFFUWlpTeGJqZEFmSjQrb2FuWmp2TVh5azZRcHFJSE83czNv?=
 =?utf-8?B?VkVDMHdwNElPZWh0UlNzNnp1M1Y3U291ait0bTJVRFpWRkNwbmlWc0R3MDVt?=
 =?utf-8?B?dy93eGgrYkdJOXRuejhZQ0Y1bFZWaHFkOW5HbXRhWlluN2NEWjFrZnR1SzVm?=
 =?utf-8?B?YWxlK0JRT2pzZmNxSlpKSkY0bTNPRk0wcHlnbDgvT1lHM1k3QTgxbUZwY2xl?=
 =?utf-8?B?TkZiT2pmT2dJYXpzY1cvKzRBUklJTjFCNndBRkVZQVVFTWNrcmx1Tk14MTRL?=
 =?utf-8?B?TkdsUzJnYkNNb1N1R05SdFZrZ2Q5aWV6KzkyYWhMeEVxMDFFVk5Hdkc2aUxK?=
 =?utf-8?B?a0hHOEdDUlA5UDQ1SFNPU1EybUdCbGttNDVOdUJ6MFNrNVlCZ3pJOUZuNm51?=
 =?utf-8?B?NCsvaW9reFJ1OXpTeWwvMVR5ZXJqdFVLYzBWd3JxOWo3UkxheFI5OXRtWWF4?=
 =?utf-8?B?emhTUWtxaFF4cEpmVG9PTjlsOWdla0xPR2o5SnZZSlhqVlY4VUNMeUFXL2JU?=
 =?utf-8?B?SFFNalJGbkYyNXFxNkY0cjhlMnZsdHM3L1VvaVoyTCt1WVV2VmtNTE5JZUI3?=
 =?utf-8?B?Y2pLNStXcjV2VG4zaGMvVmtIRUFBUS8xbUphQk9RSzJhenR3WTNyd3VkK2V5?=
 =?utf-8?B?eGpmaWRFbDkzN2RuMXBSU2FISElraTl6UXV0SmdpUzJPRzR6ZmNjL1NTSnNa?=
 =?utf-8?B?bmt5azd0SzhxdFRLQmJoUnEvS1MrdDVOY1Y0QzkxU3Z0anZYbVBqZHdZQWZw?=
 =?utf-8?B?bXQ0MGFmT01kNDk2MDJmdlBUZG5RV2tNKzZaOC9DL2NlZmJFWUpjcHcyQXQ1?=
 =?utf-8?B?UmJMNDIyRnZCSS9kSnhPSmdDdjA1RTNXRUkxeXd3dVY4ZkRZOUpMS0NWY3V6?=
 =?utf-8?B?ZkgwVVp4cWFSV05namtlb3lSY1VzVWVnL3VIbllpMkhsQk5LQk1KMUxQTXNZ?=
 =?utf-8?B?bUIxd01aajQ1Z2JXbGRnem9kSURPZ3g2SlowVXZ5S3JjUkJ3Uis3Yys1bjA1?=
 =?utf-8?B?TzlQTmp1Yjlac1BKWFZaT2JSV09iM04vWnFzVjd0cHMrb2tacC9Odml6Tytn?=
 =?utf-8?B?UVhzaGxJMXlMU0RYVjg2L1BKYUJpQ084c3AzNml2TGExdGZNVGV4Zms1NEhN?=
 =?utf-8?B?SC9OTkJjUlRseG1YbFozYVp5dUh1WFk3bTNpaXdFZFlhTHVZTmNVR2lOVXV3?=
 =?utf-8?B?NHU0bGxWV25MV2M2dTBsKzVwQmlmTjRpRmV2TXkwUnY0aXJtK0hlK01vbmo1?=
 =?utf-8?B?dyttRHZZd2svaXJya0pFY3lSOWgzT2Vsc2RKZXBVd0hXZWY4RDBIbytyVTRs?=
 =?utf-8?Q?HaEQ=3D?=
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: 0d6a9caf-6fe6-4f0d-6373-08dc06ef566b
X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Dec 2023 15:20:19.6132 (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: lVxDu9QOfWQ/TA1eFC4jw3bY1qsSb/69LRNVLbOi41M+Dmji7A1EzzitttU03aE0ozIdK6XtztcmXZDWCmY9ng==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN6PR12MB8591
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org

SGkgQW5kcmV3LCBTdGVwaGVuLCBGZXJydWggYW5kIFRob21hcywNCg0KPiAtLS0tLU9yaWdpbmFs
IE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBBbmRyZXcgUnliY2hlbmtvIDxhbmRyZXcucnliY2hlbmtv
QG9rdGV0bGFicy5ydT4NCj4gU2VudDogU2F0dXJkYXksIERlY2VtYmVyIDE2LCAyMDIzIDExOjA0
IEFNDQo+IA0KPiBPbiAxMi8xNS8yMyAxOToyMSwgVGhvbWFzIE1vbmphbG9uIHdyb3RlOg0KPiA+
IDE1LzEyLzIwMjMgMTQ6NDQsIEZlcnJ1aCBZaWdpdDoNCj4gPj4gT24gMTIvMTQvMjAyMyA1OjI2
IFBNLCBTdGVwaGVuIEhlbW1pbmdlciB3cm90ZToNCj4gPj4+IE9uIFRodSwgMTQgRGVjIDIwMjMg
MTc6MTg6MjUgKzAwMDANCj4gPj4+IE9yaSBLYW0gPG9yaWthQG52aWRpYS5jb20+IHdyb3RlOg0K
PiA+Pj4NCj4gPj4+Pj4+IFNpbmNlIGVuY2FwIGdyb3VwcyBudW1iZXIgb2YgZGlmZmVyZW50IDUg
dHVwbGVzIHRvZ2V0aGVyLCBpZiBIVw0KPiBkb2VzbuKAmXQga25vdw0KPiA+Pj4+Pj4gaG93IHRv
IFJTUw0KPiA+Pj4+Pj4gYmFzZWQgb24gdGhlIGlubmVyIGFwcGxpY2F0aW9uIHdpbGwgbm90IGJl
IGFibGUgdG8gZ2V0IGFueSBkaXN0cmlidXRpb24gb2YNCj4gPj4+Pj4gcGFja2V0cy4NCj4gPj4+
Pj4+DQo+ID4+Pj4+PiBUaGlzIHZhbHVlIGlzIHVzZWQgdG8gcmVmbGVjdCB0aGUgaW5uZXIgcGFj
a2V0IG9uIHRoZSBvdXRlciBoZWFkZXIsIHNvDQo+ID4+Pj4+IGRpc3RyaWJ1dGlvbg0KPiA+Pj4+
Pj4gd2lsbCBiZSBwb3NzaWJsZS4NCj4gPj4+Pj4+DQo+ID4+Pj4+PiBUaGUgbWFpbiB1c2UgY2Fz
ZSBpcywgaWYgYXBwbGljYXRpb24gZG9lcyBmdWxsIG9mZmxvYWQgYW5kIGltcGxlbWVudHMNCj4g
dGhlIGVuY2FwDQo+ID4+Pj4+IG9uDQo+ID4+Pj4+PiB0aGUgUlguDQo+ID4+Pj4+PiBGb3IgZXhh
bXBsZToNCj4gPj4+Pj4+IEluZ3Jlc3MvRkRCICBtYXRjaCBvbiA1IHR1cGxlIGVuY2FwIHNlbmQg
dG8gaGFpcnBpbiAvIGRpZmZlcmVudCBwb3J0IGluDQo+IGNhc2Ugb2YNCj4gPj4+Pj4+IHN3aXRj
aC4NCj4gPj4+Pj4+DQo+ID4+Pj4+DQo+ID4+Pj4+IFNtYXJ0IGlkZWEhIFNvIGJhc2ljYWxseSB0
aGUgdXNlciBpcyBhYmxlIHRvIGdldCBhbiBpZGVhIG9uIGhvdyBnb29kIHRoZQ0KPiBSU1MNCj4g
Pj4+Pj4gZGlzdHJpYnV0aW9uIGlzLCBjb3JyZWN0Pw0KPiA+Pj4+Pg0KPiA+Pj4+DQo+ID4+Pj4g
Tm90IGV4YWN0bHksIHRoaXMgc2ltcGx5IGFsbG93cyB0aGUgZGlzdHJpYnV0aW9uLg0KPiA+Pj4+
IE1heWJlIGVudHJvcHkgaXMgYSBiYWQgbmFtZSwgdGhpcyBpcyB0aGUgbmFtZSB0aGV5IHVzZSBp
biB0aGUgcHJvdG9jb2wsDQo+IGJ1dCBpbiByZWFsaXR5DQo+ID4+Pj4gdGhpcyBpcyBzb21lIGhh
c2ggY2FsY3VsYXRlZCBvbiB0aGUgcGFja2V0IGhlYWRlciBiZWZvcmUgdGhlIGVuY2FwIGFuZA0K
PiBzZXQgaW4gdGhlIGVuY2FwIGhlYWRlci4NCj4gPj4+PiBVc2luZyB0aGlzIGhhc2ggcmVzdWx0
cyBpbiBlbnRyb3B5IGZvciB0aGUgcGFja2V0cy4gV2hpY2ggY2FuIGJlIHVzZWQgZm9yDQo+IGxv
YWQgYmFsYW5jaW5nLg0KPiA+Pj4+DQo+ID4+Pj4gTWF5YmUgYmV0dGVyIG5hbWUgd291bGQgYmU6
DQo+ID4+Pj4gUnRlX2Zsb3dfY2FsY19lbnRyb3B5X2hhc2g/DQo+ID4+Pj4NCj4gPj4+PiBvciBt
YXliZSBydGVfZmxvd19jYWxjX2VuY2FwX2hhc2ggKEkgbGlrZSBpdCBsZXNzIHNpbmNlIGl0IGxv
b2tzIGxpa2Ugd2UNCj4gY2FsY3VsYXRlIHRoZSBoYXNoIG9uIHRoZSBlbmNhcCBkYXRhIGFuZCBu
b3QgdGhlIGlubmVyIHBhcnQpDQo+ID4+Pj4NCj4gPj4+PiB3aGF0IGRvIHlvdSB0aGluaz8NCj4g
Pj4+DQo+ID4+PiBFbnRyb3B5IGhhcyBtZWFuaW5nIGluIGNyeXB0byBhbmQgcmFuZG9tIG51bWJl
cnMgZ2VuZXJhdG9ycyB0aGF0IGlzDQo+IGRpZmZlcmVudCBmcm9tDQo+ID4+PiB0aGlzIHVzYWdl
LiBTbyBlbnRyb3B5IGlzIGJhZCBuYW1lIHRvIHVzZS4gTWF5YmUNCj4gcnRlX2Zsb3dfaGFzaF9k
aXN0cmlidXRpb24/DQo+ID4+Pg0KPiA+Pg0KPiA+PiBIaSBPcmksDQo+ID4+DQo+ID4+IFRoYW5r
IHlvdSBmb3IgdGhlIGRlc2NyaXB0aW9uLCBpdCBpcyBtb3JlIGNsZWFyIG5vdy4NCj4gPj4NCj4g
Pj4gQW5kIHVubGVzcyB0aGlzIGlzIHNwZWNpZmljYWxseSBkZWZpbmVkIGFzICdlbnRyb3B5JyBp
biBzcGVjLCBJIGFtIHRvbw0KPiA+PiBmb3IgcmVuYW1lLg0KPiA+Pg0KPiA+PiBBdCBsZWFzdCBp
biBWWExBTiBzcGVjLCBpdCBpcyBtZW50aW9uZWQgdGhhdCB0aGlzIGZpZWxkIGlzIHRvICJlbmFi
bGUgYQ0KPiA+PiBsZXZlbCBvZiBlbnRyb3B5IiwgYnV0IG5vdCBleGFjdGx5IG5hbWVzIGl0IGFz
IGVudHJvcHkuDQo+ID4NCj4gPiBFeGFjdGx5IG15IHRob3VnaHQgYWJvdXQgdGhlIG5hbWluZy4N
Cj4gPiBHb29kIHRvIHNlZSBJIGFtIG5vdCBhbG9uZSB0aGlua2luZyB0aGlzIG5hbWluZyBpcyBk
aXN0dXJiaW5nIDopDQo+IA0KPiBJJ2QgYXZvaWQgdXNhZ2Ugb2YgdGVybSAiZW50cm9weSIgaW4g
dGhpcyBwYXRjaC4gSXQgaXMgdmVyeSBjb25mdXNpbmcuDQoNCldoYXQgYWJvdXQgcnRlX2Zsb3df
Y2FsY19lbmNhcF9oYXNoPw0KDQoNCg0K