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 855ECA0C4B;
	Mon,  4 Oct 2021 07:45:57 +0200 (CEST)
Received: from [217.70.189.124] (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id 1FA62412AB;
	Mon,  4 Oct 2021 07:45:57 +0200 (CEST)
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on2071.outbound.protection.outlook.com [40.107.237.71])
 by mails.dpdk.org (Postfix) with ESMTP id 3E91040688
 for <dev@dpdk.org>; Mon,  4 Oct 2021 07:45:55 +0200 (CEST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XvrC0nqZovKuy9sNRdwFBD28DSCuU2D44kOsLoCj6cs5yMv34Qag2VbW78ekrBeY/n3a+Prlcmtz7suO/+a4skniTTaenqMnCFd4WFR3kZ5nm6bX6Dq4hIOnvF2u0WhLQLn5fHsMIJWNP+0Fpn5LzQvObipBQL5vtujkIg2NBFD1jDMdTSDXKHVx3GLF8lTOc/Lmgm6gYNsiyr/Z3xohrk0hdyhP3PnRiJsNt5NhR/3dR6D/y5d1uPH852o1fm5Zy853Igr2mnJXLtSS3liT1q1j7Gn+ZMBG671wsdlCbqDW2bIRjIbIWOSgObsuY2hvj33I6s1bP9fWMyX27h7h3g==
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=F+NSeUXlufn4JpRFaEHrEBXiCe55LH5jEORMvEZ+IXQ=;
 b=MpPYXGlH3RKcPNbiclnxk+LhFPnfFbRAbbyuL/NSMJXLg4g9EnSP1NdBGsINGdD+tUx27whrJ1Ss/SnagYSqrOygBp9Eeufwo0ikHo0sJfwj7lvV0yF7R7Zecbkw2Z3uDtZdBP4gsZ+Fzi6v26Wqtg3igx13arLxNnIdtzxP4bvXd+hpxXIRiquk//6Q8fVGykiLeEku5+ca0hPZtlK1MhPOfL3FSZOyvyYAoFVohU4kvPExm2xBVx8PVuWf0v9D+cGPhW97g0JQ/6P2ocnyIkUWEUJ4RFklhz3WsJxcHnFI4lEECPNMG+hsR8UgrMuUnAikEWRNZzJV6vlBIiFf7Q==
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=F+NSeUXlufn4JpRFaEHrEBXiCe55LH5jEORMvEZ+IXQ=;
 b=tg+lnUv4u96n0L8+8V38DBa/lPnzNt7ljA4Wij7puRtaaVQSDmzRx5vvlN1t9k7Ws3LakvbBDvv8/lR6A+qvV4A96zowMA8GPlQzVNXgHoT+ogw5QVKo70IemwKHtXlv5HJO0Qsj5OATurKC0mqHv1jd2Plr+g+N4H8Qrwp5OO6mavXEwguVmZgM7UeGYIZR2r3S9hN1koDmOWAAOVzx+W7p+g/kScs0VsMAICVlAmPrITD8lLR8F78HBQ1CnX2lNaKISThDD5XfDi/48J5qubqO9bi2ozYFcFz6Dv2gWTbG2330nHV+Pxbd8QNqdFwTzDR4JYGRV3xCbABR7xDubA==
Received: from DM8PR12MB5400.namprd12.prod.outlook.com (2603:10b6:8:3b::12) by
 DM8PR12MB5480.namprd12.prod.outlook.com (2603:10b6:8:24::17) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4566.14; Mon, 4 Oct 2021 05:45:53 +0000
Received: from DM8PR12MB5400.namprd12.prod.outlook.com
 ([fe80::d03d:1f75:ca20:6a32]) by DM8PR12MB5400.namprd12.prod.outlook.com
 ([fe80::d03d:1f75:ca20:6a32%5]) with mapi id 15.20.4566.022; Mon, 4 Oct 2021
 05:45:53 +0000
From: Ori Kam <orika@nvidia.com>
To: Ivan Malov <Ivan.Malov@oktetlabs.ru>, Andrew Rybchenko
 <andrew.rybchenko@oktetlabs.ru>, Xiaoyun Li <xiaoyun.li@intel.com>,
 NBU-Contact-Thomas Monjalon <thomas@monjalon.net>, Ferruh Yigit
 <ferruh.yigit@intel.com>
CC: "dev@dpdk.org" <dev@dpdk.org>
Thread-Topic: [PATCH v1 02/12] ethdev: add eswitch port item to flow API
Thread-Index: AQHXtsrq3m61at/Ih0W5n/zl4hs4qKvBLmeggABn7YCAADNicA==
Date: Mon, 4 Oct 2021 05:45:53 +0000
Message-ID: <DM8PR12MB5400AE7F6D4EE6FF1FF22A0FD6AE9@DM8PR12MB5400.namprd12.prod.outlook.com>
References: <20210907125157.3843-1-ivan.malov@oktetlabs.ru>
 <20211001134716.1608857-1-andrew.rybchenko@oktetlabs.ru>
 <20211001134716.1608857-3-andrew.rybchenko@oktetlabs.ru>
 <DM8PR12MB54003C8FEED03D8D8EF4023DD6AD9@DM8PR12MB5400.namprd12.prod.outlook.com>
 <e9278457-4909-a9b7-4401-e6f375e0f2f4@oktetlabs.ru>
In-Reply-To: <e9278457-4909-a9b7-4401-e6f375e0f2f4@oktetlabs.ru>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
authentication-results: oktetlabs.ru; dkim=none (message not signed)
 header.d=none;oktetlabs.ru; dmarc=none action=none header.from=nvidia.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 4325ef5e-b259-4085-33cc-08d986fa3af3
x-ms-traffictypediagnostic: DM8PR12MB5480:
x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr
x-microsoft-antispam-prvs: <DM8PR12MB5480AEA3CDD935C717E52EE1D6AE9@DM8PR12MB5480.namprd12.prod.outlook.com>
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: 6aih9cJpGsahjqPu243glxUZGa0ajdf1Of+rxsk6jZut1UVrAGwW2egnmDbftfxqIO5d104H6moUmCHPrBbrhxvBim84jXEkVBjUk9/+FGkSrEABX+MaxLGCjF27edX0C/PmaMalhqfBvrocnRWwmHGdhS3+gc57O/hNDwNvlk39locLvoBLqCShnQLggC4X4F4kYGV1j6UhpwEgCXfWEV0bfYfIvs9cevAdo9yLKTI0/aPV1nSBUD8UPPmjvA4dZNnJ/JQwD/7OQi5aG7fnuOqwU2p0iJ5qgQaG26XxZz0IhMFa/bWNzzMqvIuFKXAdNTvwu7S6f77K0KdTRIsQcu+vB5SOxO3C0833YhMqpckI5JtAi+9O8Xm79duJF+WZzoYbzWaOC35lihgBgV+6oq+ushDYQ7gMIi6OJcTfR/CyRdN7707XXt+2RCQlIbtrcD3OBUOkRHpw0ojsGl1RP1M5ErM94Z2pCcWIRofZXHQ0IM24Ky4kbd2/FE5xOu01F0GPkMH17twPnLtFnCIFTzirM7fS5iq0i1893SHIkVl8O6M19m5rW7LuOF4x81VN33R8bRwhJoilbk2ExX1RgxfhV+xMj61N5btuciHlza/FubUWPj33CGhLwYoCKXmWVDZDhGfaCa8j2sbkZs6t1+HvajcWiiqGWtD6N22Tj933GtFz9nrSP1x2eHrTpdZVhmqJQb8KjWjVJPsqK7pE9Q==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:DM8PR12MB5400.namprd12.prod.outlook.com; PTR:; CAT:NONE;
 SFS:(4636009)(366004)(86362001)(4326008)(8676002)(38100700002)(38070700005)(30864003)(83380400001)(122000001)(8936002)(52536014)(186003)(5660300002)(71200400001)(33656002)(7696005)(110136005)(2906002)(55016002)(76116006)(66556008)(53546011)(9686003)(6506007)(64756008)(66446008)(316002)(66946007)(66476007)(508600001);
 DIR:OUT; SFP:1101; 
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?RW9xRGZ5cmdSYTN3STNlNmp5d3NURnZ0UWJ0dm5DMGlQb21WTllwaGpKc1k3?=
 =?utf-8?B?aDFEVmFmbnJ6WmNTWTFBbTE0WHZMUm10bmNFbThYblVxVGgzSUJHRVh6UjRX?=
 =?utf-8?B?UWpCNTdjeXpZdVAzSlhCalYzNWtCMDRucmtCVk9CTWxvbm9xUjdjaTBSekds?=
 =?utf-8?B?cGxnc0E1V3V2TzBmV0NnbEpFZkVJUDZOMC9USXJsTEptQ01VNUFHMGFrSVZi?=
 =?utf-8?B?anZ4YXgyTVp4UXQ0SjVRaFJDRmdWRTdMVldvYkM1QXJUY0FpNmp3UmZNd1p1?=
 =?utf-8?B?NnpxbWRndjVKUnl6UFAvTllPaCtXMERMVGxIczhldm0wdHJSaGtmak9ZRWoz?=
 =?utf-8?B?V1FBa0J3d244KzVOc0Y1Z3lIc3JZeUlKTmVmUGFBRERadXFHTHNRWUhhcno0?=
 =?utf-8?B?VEk3aUtlRTlZRXdaQ2dvb2IzMzNZOExSWVQxUGNJS1ZCdEx6UFRaQXR4SEk0?=
 =?utf-8?B?MEFxZTk4UXk5THZod2tkd0RFZ3BwcHFmM3EyTWthcXcvTlFUTGJaS1lmSlda?=
 =?utf-8?B?MHRCYmR1enpFQUhyU3ZjWllCekp0QkY1VEdTdHhPUVhEa2NyVFBPR2xxaFFB?=
 =?utf-8?B?TitTeStsTjZieCtGK2UzcDU3bTBtSzBaaVhDOElzdnBveEdLQ1BHYXVmOFV6?=
 =?utf-8?B?YVFCTHRwUjR6cGsySW5QdEVPRUVaT2xMcVB6bUJsYzRzK1ZhRkFRWHpsK1BJ?=
 =?utf-8?B?bzVQZTAvc2g5OFNmeWVVelZPalRIL3pJamNpa1hhcDBsbWtLQ1o0NDdzTDAv?=
 =?utf-8?B?OVlSTTBhbHVsWlZUaEdCUGJtWEk2T0pQU2tEcnZ4SUUyQzcraytnb0Z5eVBk?=
 =?utf-8?B?dVJ4cGFjUDlENzhzTEp1QmpTNUxHOVgrYkJadERya0pPQ1lpTHZORS9reGJF?=
 =?utf-8?B?RVRGN0ZUQ0xMY3dWdjJKNVhtd0YyZFhzK09jT2loRlJNYURnbHEvVlQwUzQx?=
 =?utf-8?B?bzJzS2dPVDR6Zzlidy8xS2FMNVVBNDVxd05Qd2dEa0tKUkVnVWVqb0dxL2pu?=
 =?utf-8?B?NVdjeWZhNUdlenVpdXJERFl4bUNtZDFEbXE2NnpWaGRrOTVoYkF3cFo2MWJn?=
 =?utf-8?B?Uzc3ZVQyd1hUR2pObnJ0c0dFVy9LVkdISkxEOG1XYnVlb09DZ21vQW4wbXlR?=
 =?utf-8?B?blBLM3RDOElqWnlUOVY1Z2M2S25TdVJRbjc5a29RbEszUHR6WUMxSXdBNURS?=
 =?utf-8?B?eFkzKzQwbnRIZVlKb2pFOHIxemhJQ3FmWnordVkrZ1JWVElDL3lTOTNLNUZW?=
 =?utf-8?B?QTFVM1J4blB2Kyt2LzdqSWNLc1Y1Q000UEVUUk1HTVB1Ym9FU3RtRU5OOUlO?=
 =?utf-8?B?YUpSb0JPdUM1UE10Q3dTcDJobXVvU1dLK3ByQ2xJNmxMd2tHR2p1VE0yR2Ir?=
 =?utf-8?B?MWJ0M3VnUm8yQUFzdnNRcjN3V0VJbElFS0NxU2M5clo4NDZUMmVwandmTGhD?=
 =?utf-8?B?ZUJTOWpLdmZqN0dwVFdtbFlhbnQ4NW9ESjhaaFJKY2Niamd2SXRVc2RYd1BL?=
 =?utf-8?B?Wmhyb21SS3VhcFJRNnFqMUVRV2J6QmpEd1NGWEhDM1dOZ3hHckRQcmVza1Mr?=
 =?utf-8?B?U092Unp0UUxHdDVEWitXU3pNRHdFNmx4bC9MbEg0Wm9XSnRtS3lMVDVnaWJz?=
 =?utf-8?B?SUtyWUpBSmpIamo5NUhSMGJENmZkWDZHMXdKbm5tbllMSk1kZ25vK2o5UXcr?=
 =?utf-8?B?ZzNYdGZxNE1GR3QrU2R6bmQwWjBER09UOFdBUjF2MllhUURXUWNUWktlSUg5?=
 =?utf-8?B?Zk9yYXV0K0lybWxrbDdjUTZTWmhhNDd2M29VcGtTRnZxeWF2YkV4eERPZDhK?=
 =?utf-8?B?TURRUEVwRUxYMXRjcnF2eUJuRDN2ZXRXUXBoTXJZekxBUUh5dDBnUVVhN3dm?=
 =?utf-8?Q?7uj5YW9XcxnDY?=
x-ms-exchange-transport-forked: True
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: DM8PR12MB5400.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4325ef5e-b259-4085-33cc-08d986fa3af3
X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Oct 2021 05:45:53.7125 (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: E9QwI4nJQPHCb83ToqR9YRwO3NaKo7dguEz04gQrqSmvl9GICwpCifp+/vlLTElUtyIVr0FORSCDrQoyFJY2/A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM8PR12MB5480
Subject: Re: [dpdk-dev] [PATCH v1 02/12] ethdev: add eswitch port item to
 flow API
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
Sender: "dev" <dev-bounces@dpdk.org>

SGkgSXZhbiwNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBJdmFuIE1h
bG92IDxJdmFuLk1hbG92QG9rdGV0bGFicy5ydT4NCj4gU2VudDogU3VuZGF5LCBPY3RvYmVyIDMs
IDIwMjEgOToxMSBQTQ0KPiBTdWJqZWN0OiBSZTogW1BBVENIIHYxIDAyLzEyXSBldGhkZXY6IGFk
ZCBlc3dpdGNoIHBvcnQgaXRlbSB0byBmbG93IEFQSQ0KPiANCj4gDQo+IA0KPiBPbiAwMy8xMC8y
MDIxIDE1OjQwLCBPcmkgS2FtIHdyb3RlOg0KPiA+IEhpIEFuZHJldyBhbmQgSXZhbiwNCj4gPg0K
PiA+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+PiBGcm9tOiBBbmRyZXcgUnliY2hl
bmtvIDxhbmRyZXcucnliY2hlbmtvQG9rdGV0bGFicy5ydT4NCj4gPj4gU2VudDogRnJpZGF5LCBP
Y3RvYmVyIDEsIDIwMjEgNDo0NyBQTQ0KPiA+PiBTdWJqZWN0OiBbUEFUQ0ggdjEgMDIvMTJdIGV0
aGRldjogYWRkIGVzd2l0Y2ggcG9ydCBpdGVtIHRvIGZsb3cgQVBJDQo+ID4+DQo+ID4+IEZyb206
IEl2YW4gTWFsb3YgPGl2YW4ubWFsb3ZAb2t0ZXRsYWJzLnJ1Pg0KPiA+Pg0KPiA+PiBGb3IgdXNl
IHdpdGggInRyYW5zZmVyIiBmbG93cy4gU3VwcG9zZWQgdG8gbWF0Y2ggdHJhZmZpYyBlbnRlcmlu
ZyB0aGUNCj4gPj4gZS1zd2l0Y2ggZnJvbSB0aGUgZXh0ZXJuYWwgd29ybGQgKG5ldHdvcmssIGd1
ZXN0cykgdmlhIHRoZSBwb3J0IHdoaWNoDQo+ID4+IGlzIGxvZ2ljYWxseSBjb25uZWN0ZWQgd2l0
aCB0aGUgZ2l2ZW4gZXRoZGV2Lg0KPiA+Pg0KPiA+PiBNdXN0IG5vdCBiZSBjb21iaW5lZCB3aXRo
IGF0dHJpYnV0ZXMgImluZ3Jlc3MiIC8gImVncmVzcyIuDQo+ID4+DQo+ID4+IFRoaXMgaXRlbSBp
cyBtZWFudCB0byB1c2UgdGhlIHNhbWUgc3RydWN0dXJlIGFzIGV0aGRldiBpdGVtLg0KPiA+Pg0K
PiA+DQo+ID4gSW4gY2FzZSB0aGUgYXBwIGlzIG5vdCB3b3JraW5nIHdpdGggcmVwcmVzZW50b3Jz
LCBtZWFuaW5nIGVhY2ggc3dpdGNoDQo+ID4gcG9ydCBpcyBtYXBwZWQgdG8gZXRoZGV2Lg0KPiA+
IGJvdGggaXRlbXMgKGV0aGRldiBhbmQgZXN3aXRjaCBwb3J0ICkgaGF2ZSB0aGUgc2FtZSBtZWFu
aW5nPw0KPiANCj4gTm8uIEV0aGRldiBtZWFucyBldGhkZXYsIGFuZCBlLXN3aXRjaCBwb3J0IGlz
IHRoZSBwb2ludCB3aGVyZSB0aGlzIGV0aGRldg0KPiBpcyBwbHVnZ2VkIHRvLiBGb3IgZXhhbXBs
ZSwgInRyYW5zZmVyICsgRVNXSVRDSF9QT1JUIiBmb3IgYSByZWd1bGFyIFBGDQo+IGV0aGRldiB0
eXBpY2FsbHkgbWVhbnMgdGhlIG5ldHdvcmsgcG9ydCAobWF5YmUgeW91IGNhbiByZWNhbGwgdGhl
IGlkZWEgdGhhdA0KPiBhIFBGIGV0aGRldiAicmVwcmVzZW50cyIgdGhlIG5ldHdvcmsgcG9ydCBp
dCdzIGFzc29jaWF0ZWQgd2l0aCkuDQo+IA0KPiBJIGJlbGlldmUsIHRoYXQgZGlhZ3JhbXMgd2hp
Y2ggdGhlc2UgcGF0Y2hlcyBhZGQgdG8NCj4gImRvYy9ndWlkZXMvcHJvZ19ndWlkZS9ydGVfZmxv
dy5yc3QiIG1heSBjb21lIGluIGhhbmR5IHRvIHVuZGVyc3RhbmQgdGhlDQo+IG1lYW5pbmcuIEFs
c28sIHlvdSBjYW4gdGFrZSBhIGxvb2sgYXQgb3VyIGxhcmdlciBkaWFncmFtIGZyb20gdGhlIFNl
cCAxNA0KPiBnYXRoZXJpbmcuDQo+IA0KDQpMZXRzIGxvb2sgYXQgdGhlIGZvbGxvd2luZyBzeXN0
ZW06DQpFLVN3aXRjaCBoYXMgMyBwb3J0cyAtIFBGLCBWRjEsIFZGMg0KVGhlIHBvcnRzIGFyZSBk
aXN0cmlidXRlZCBhcyBmb2xsb3dzOg0KRFBESyBhcHBsaWNhdGlvbjoNCmV0aGRldigwKSBwZiwN
CmV0aGRldigxKSByZXByZXNlbnRvciB0byBWRjENCmV0aGRldigyKSByZXByZXNlbnRvciB0byBW
RjINCmV0aGRldigzKSBWRjENCg0KVk06DQpWRjINCg0KQXMgd2Uga25vdyBhbGwgcmVwcmVzZW50
b3JzIGFyZSByZWFseSBjb25uZWN0ZWQgdG8gdGhlIFBGKGF0IGxlYXN0IGluIHRoaXMgZXhhbXBs
ZSkNCg0KU28gbWF0Y2hpbmcgb24gZXRoZGV2KDMpICBtZWFucyBtYXRjaGluZyBvbiB0cmFmZmlj
IHNlbnQgZnJvbSBEUERLIHBvcnQgMyByaWdodD8NCkFuZCBtYXRjaGluZyBvbiBlc3dpdGNoX3Bv
cnQoMykgbWVhbnMgbWF0Y2hpbmcgaW4gdHJhZmZpYyB0aGF0IGdvZXMgaW50byBWRjEgd2hpY2gN
CmlzIHRoZSBzYW1lIHRyYWZmaWMgYXMgZXRoZGV2KDMpIHJpZ2h0Pw0KDQpNYXRjaGluZyBvbiBl
dGhkZXYoMSkgbWVhbnMgbWF0Y2hpbmcgb24gdGhlIFBGIHBvcnQgaW4gdGhlIEUtU3dpdGNoIGJ1
dCB3aXRoIHNvbWUNCm1ldGFkYXRhIHRoYXQgbWFya3MgdGhlIHRyYWZmaWMgYXMgY29taW5nIGZy
b20gRFBESyBwb3J0IDEgYW5kIG5vdCBmcm9tIFZGMSBFLVN3aXRjaA0KcG9ydCByaWdodD8NCg0K
V2hpbGUgbWF0Y2hpbmcgb24gZXN3aXRjaF9wb3J0KDIpIG1lYW5zIG1hdGNoaW5nIG9uIHRyYWZm
aWMgY29taW5nIGZyb20gdGhlIFZNIHJpZ2h0Pw0KIA0KPiA+DQo+ID4+IFNpZ25lZC1vZmYtYnk6
IEl2YW4gTWFsb3YgPGl2YW4ubWFsb3ZAb2t0ZXRsYWJzLnJ1Pg0KPiA+PiBTaWduZWQtb2ZmLWJ5
OiBBbmRyZXcgUnliY2hlbmtvIDxhbmRyZXcucnliY2hlbmtvQG9rdGV0bGFicy5ydT4NCj4gPj4g
LS0tDQo+ID4+ICAgYXBwL3Rlc3QtcG1kL2NtZGxpbmVfZmxvdy5jICAgICAgICAgICAgICAgICB8
IDI3ICsrKysrKysrKysrKysrKysrKysrKw0KPiA+PiAgIGRvYy9ndWlkZXMvcHJvZ19ndWlkZS9y
dGVfZmxvdy5yc3QgICAgICAgICAgfCAyMiArKysrKysrKysrKysrKysrKw0KPiA+PiAgIGRvYy9n
dWlkZXMvcmVsX25vdGVzL3JlbGVhc2VfMjFfMTEucnN0ICAgICAgfCAgMiArLQ0KPiA+PiAgIGRv
Yy9ndWlkZXMvdGVzdHBtZF9hcHBfdWcvdGVzdHBtZF9mdW5jcy5yc3QgfCAgNCArKysNCj4gPj4g
ICBsaWIvZXRoZGV2L3J0ZV9mbG93LmMgICAgICAgICAgICAgICAgICAgICAgIHwgIDEgKw0KPiA+
PiAgIGxpYi9ldGhkZXYvcnRlX2Zsb3cuaCAgICAgICAgICAgICAgICAgICAgICAgfCAxMiArKysr
KysrKy0NCj4gPj4gICA2IGZpbGVzIGNoYW5nZWQsIDY2IGluc2VydGlvbnMoKyksIDIgZGVsZXRp
b25zKC0pDQo+ID4+DQo+ID4+IGRpZmYgLS1naXQgYS9hcHAvdGVzdC1wbWQvY21kbGluZV9mbG93
LmMgYi9hcHAvdGVzdC0NCj4gcG1kL2NtZGxpbmVfZmxvdy5jDQo+ID4+IGluZGV4IGUwNWIwZDgz
ZDIuLjE4OGQwZWUzOWQgMTAwNjQ0DQo+ID4+IC0tLSBhL2FwcC90ZXN0LXBtZC9jbWRsaW5lX2Zs
b3cuYw0KPiA+PiArKysgYi9hcHAvdGVzdC1wbWQvY21kbGluZV9mbG93LmMNCj4gPj4gQEAgLTMw
OCw2ICszMDgsOCBAQCBlbnVtIGluZGV4IHsNCj4gPj4gICAJSVRFTV9QT0xfUE9MSUNZLA0KPiA+
PiAgIAlJVEVNX0VUSERFViwNCj4gPj4gICAJSVRFTV9FVEhERVZfSUQsDQo+ID4+ICsJSVRFTV9F
U1dJVENIX1BPUlQsDQo+ID4+ICsJSVRFTV9FU1dJVENIX1BPUlRfRVRIREVWX0lELA0KPiA+DQo+
ID4gTGlrZSBteSBjb21tZW50IGZyb20gcHJldmlvdXMgcGF0Y2gsIEknbSBub3Qgc3VyZSB0aGUg
Y29ycmVjdA0KPiA+IHRlcm0gZm9yIEVUSERFViBpcyBJRCBpcyBzaG91bGQgYmUgcG9ydC4NCj4g
DQo+IFBsZWFzZSBzZWUgbXkgcmVwbHkgaW4gdGhlIHByZXZpb3VzIHRocmVhZC4gImV0aGRldiIg
aGVyZSBpcyBhbg0KPiAiYW5jaG9yIiwgYSAiYmVhY29uIiBvZiBzb3J0cyB3aGljaCBhbGxvd3Mg
ZWl0aGVyIHRvIHJlZmVyIG5hbWVseSB0bw0KPiB0aGlzIGV0aGRldiBvciB0byB0aGUgZS1zd2l0
Y2ggcG9ydCBhc3NvY2lhdGVkIHdpdGggaXQuDQo+IA0KPiA+DQo+ID4+DQo+ID4+ICAgCS8qIFZh
bGlkYXRlL2NyZWF0ZSBhY3Rpb25zLiAqLw0KPiA+PiAgIAlBQ1RJT05TLA0KPiA+PiBAQCAtMTAw
Myw2ICsxMDA1LDcgQEAgc3RhdGljIGNvbnN0IGVudW0gaW5kZXggbmV4dF9pdGVtW10gPSB7DQo+
ID4+ICAgCUlURU1fSU5URUdSSVRZLA0KPiA+PiAgIAlJVEVNX0NPTk5UUkFDSywNCj4gPj4gICAJ
SVRFTV9FVEhERVYsDQo+ID4+ICsJSVRFTV9FU1dJVENIX1BPUlQsDQo+ID4+ICAgCUVORF9TRVQs
DQo+ID4+ICAgCVpFUk8sDQo+ID4+ICAgfTsNCj4gPj4gQEAgLTEzNzcsNiArMTM4MCwxMiBAQCBz
dGF0aWMgY29uc3QgZW51bSBpbmRleCBpdGVtX2V0aGRldltdID0gew0KPiA+PiAgIAlaRVJPLA0K
PiA+PiAgIH07DQo+ID4+DQo+ID4+ICtzdGF0aWMgY29uc3QgZW51bSBpbmRleCBpdGVtX2Vzd2l0
Y2hfcG9ydFtdID0gew0KPiA+PiArCUlURU1fRVNXSVRDSF9QT1JUX0VUSERFVl9JRCwNCj4gPj4g
KwlJVEVNX05FWFQsDQo+ID4+ICsJWkVSTywNCj4gPj4gK307DQo+ID4+ICsNCj4gPj4gICBzdGF0
aWMgY29uc3QgZW51bSBpbmRleCBuZXh0X2FjdGlvbltdID0gew0KPiA+PiAgIAlBQ1RJT05fRU5E
LA0KPiA+PiAgIAlBQ1RJT05fVk9JRCwNCj4gPj4gQEAgLTM2MzIsNiArMzY0MSwyMSBAQCBzdGF0
aWMgY29uc3Qgc3RydWN0IHRva2VuIHRva2VuX2xpc3RbXSA9IHsNCj4gPj4gICAJCQkgICAgIGl0
ZW1fcGFyYW0pLA0KPiA+PiAgIAkJLmFyZ3MgPSBBUkdTKEFSR1NfRU5UUlkoc3RydWN0IHJ0ZV9m
bG93X2l0ZW1fZXRoZGV2LA0KPiBpZCkpLA0KPiA+PiAgIAl9LA0KPiA+PiArCVtJVEVNX0VTV0lU
Q0hfUE9SVF0gPSB7DQo+ID4+ICsJCS5uYW1lID0gImVzd2l0Y2hfcG9ydCIsDQo+ID4+ICsJCS5o
ZWxwID0gIm1hdGNoIHRyYWZmaWMgYXQgZS1zd2l0Y2ggZ29pbmcgZnJvbSB0aGUgZXh0ZXJuYWwg
cG9ydA0KPiA+PiBhc3NvY2lhdGVkIHdpdGggdGhlIGdpdmVuIGV0aGRldiIsDQo+ID4NCj4gPiBN
aXNzaW5nIHRoZSB3b3JkIGxvZ2ljYWxseSBzaW5jZSBpZiB3ZSBhcmUgdGFsa2luZyBhYm91dCBy
ZXByZXNlbnRvciB0aGUNCj4gY29ubmVjdGVkIHBvcnQNCj4gPiBpcyB0aGUgUEYgd2hpbGUgd2Ug
d2FudCB0byBtYXRjaCB0cmFmZmljIG9uIG9uZSBvZiB0aGUgRlZzLg0KPiANCj4gRG9lc24ndCB0
aGUgd29yZCAiZXh0ZXJuYWwiIHNheSBpdCBhbGw/DQo+IA0KPiBSZXByZXNlbnRvciBFdGhkZXYg
PC0tPiBBZG1pbiBldGhkZXYncyBQRiA8LS0+IEUtU3dpdGNoIDwtLT4gVkYNCj4gKGV4dGVybmFs
IC8gdGhlIG1vc3QgcmVtb3RlIGVuZHBvaW50KS4NCj4gDQoNClVudGlsIHRoZSBsYXN0IGNvbW1l
bnQgRXh0ZXJuYWwgaGFkIHRvdGFsbHkgZGlmZmVyZW50IG1lYW5pbmcgdG8gbWUuDQpJIHRoaW5r
IHlvdSBzaG91bGQgYWRkIHNvbWUgcGxhY2UgdGhlIG1lYW5pbmcgb2YgZXh0ZXJuYWwgb3IgdXNl
DQp0aGUgbW9zdCByZW1vdGUgZW5kcG9pbnQuDQoNCj4gPg0KPiA+PiArCQkucHJpdiA9IFBSSVZf
SVRFTShFU1dJVENIX1BPUlQsDQo+ID4+ICsJCQkJICBzaXplb2Yoc3RydWN0IHJ0ZV9mbG93X2l0
ZW1fZXRoZGV2KSksDQo+ID4+ICsJCS5uZXh0ID0gTkVYVChpdGVtX2Vzd2l0Y2hfcG9ydCksDQo+
ID4+ICsJCS5jYWxsID0gcGFyc2VfdmMsDQo+ID4+ICsJfSwNCj4gPj4gKwlbSVRFTV9FU1dJVENI
X1BPUlRfRVRIREVWX0lEXSA9IHsNCj4gPj4gKwkJLm5hbWUgPSAiZXRoZGV2X2lkIiwNCj4gPj4g
KwkJLmhlbHAgPSAiZXRoZGV2IElEIiwNCj4gPj4gKwkJLm5leHQgPSBORVhUKGl0ZW1fZXN3aXRj
aF9wb3J0LA0KPiA+PiBORVhUX0VOVFJZKENPTU1PTl9VTlNJR05FRCksDQo+ID4+ICsJCQkgICAg
IGl0ZW1fcGFyYW0pLA0KPiA+PiArCQkuYXJncyA9IEFSR1MoQVJHU19FTlRSWShzdHJ1Y3QgcnRl
X2Zsb3dfaXRlbV9ldGhkZXYsDQo+IGlkKSksDQo+ID4+ICsJfSwNCj4gPj4gICAJLyogVmFsaWRh
dGUvY3JlYXRlIGFjdGlvbnMuICovDQo+ID4+ICAgCVtBQ1RJT05TXSA9IHsNCj4gPj4gICAJCS5u
YW1lID0gImFjdGlvbnMiLA0KPiA+PiBAQCAtODM3MCw2ICs4Mzk0LDkgQEAgZmxvd19pdGVtX2Rl
ZmF1bHRfbWFzayhjb25zdCBzdHJ1Y3QNCj4gPj4gcnRlX2Zsb3dfaXRlbSAqaXRlbSkNCj4gPj4g
ICAJY2FzZSBSVEVfRkxPV19JVEVNX1RZUEVfRVRIREVWOg0KPiA+PiAgIAkJbWFzayA9ICZydGVf
Zmxvd19pdGVtX2V0aGRldl9tYXNrOw0KPiA+PiAgIAkJYnJlYWs7DQo+ID4+ICsJY2FzZSBSVEVf
RkxPV19JVEVNX1RZUEVfRVNXSVRDSF9QT1JUOg0KPiA+PiArCQltYXNrID0gJnJ0ZV9mbG93X2l0
ZW1fZXRoZGV2X21hc2s7DQo+ID4+ICsJCWJyZWFrOw0KPiA+DQo+ID4gTm90IHN1cmUgbWF5YmUg
bWVyZ2VkIHRoZSB0d28gY2FzZXM/DQo+IA0KPiBBIG5vYmxlIGlkZWEuDQo+IA0KPiA+DQo+ID4+
ICAgCWRlZmF1bHQ6DQo+ID4+ICAgCQlicmVhazsNCj4gPj4gICAJfQ0KPiA+PiBkaWZmIC0tZ2l0
IGEvZG9jL2d1aWRlcy9wcm9nX2d1aWRlL3J0ZV9mbG93LnJzdA0KPiA+PiBiL2RvYy9ndWlkZXMv
cHJvZ19ndWlkZS9ydGVfZmxvdy5yc3QNCj4gPj4gaW5kZXggYWI2MjhkOTEzOS4uMjkyYmI0MjQx
MCAxMDA2NDQNCj4gPj4gLS0tIGEvZG9jL2d1aWRlcy9wcm9nX2d1aWRlL3J0ZV9mbG93LnJzdA0K
PiA+PiArKysgYi9kb2MvZ3VpZGVzL3Byb2dfZ3VpZGUvcnRlX2Zsb3cucnN0DQo+ID4+IEBAIC0x
NDYwLDYgKzE0NjAsMjggQEAgVXNlIHRoaXMgd2l0aCBhdHRyaWJ1dGUgKip0cmFuc2ZlcioqLiBB
dHRyaWJ1dGVzDQo+ID4+ICoqaW5ncmVzcyoqIGFuZA0KPiA+PiAgICAgIHwgYGBtYXNrYGAgfCBg
YGlkYGAgICB8IHplcm9lZCBmb3Igd2lsZGNhcmQgbWF0Y2ggfA0KPiA+PiAgICAgICstLS0tLS0t
LS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KPiA+Pg0KPiA+PiAr
SXRlbTogYGBFU1dJVENIX1BPUlRgYA0KPiA+PiArXl5eXl5eXl5eXl5eXl5eXl5eXl5eXg0KPiA+
PiArDQo+ID4+ICtNYXRjaGVzIHRyYWZmaWMgYXQgZS1zd2l0Y2ggZ29pbmcgZnJvbSB0aGUgZXh0
ZXJuYWwgcG9ydCBhc3NvY2lhdGVkDQo+ID4+ICt3aXRoIHRoZSBnaXZlbiBldGhkZXYsIGZvciBl
eGFtcGxlLCB0cmFmZmljIGZyb20gbmV0LiBwb3J0IG9yIGd1ZXN0Lg0KPiA+DQo+ID4gTWF5YmUg
cmVwbGFjZSBleHRlcm5hbCB3aXRoIGUtc3dpdGNoPw0KPiANCj4gVGhlIHdvcmQgImUtc3dpdGNo
IiBpcyBhbHJlYWR5IGhlcmUuIEJhc2ljYWxseSwgYWxsICJleHRlcm5hbCIgcG9ydHMgYXJlDQo+
ICJlLXN3aXRjaCBleHRlcm5hbCBwb3J0cyIgPSBwb3J0cyB3aGljaCBjb25uZWN0IHRoZSBlLXN3
aXRjaCB3aXRoDQo+IG5vbi1EUERLIHdvcmxkOiBuZXR3b3JrIHBvcnRzLCBWRnMgcGFzc2VkIHRv
IGd1ZXN0cywgZXRjLg0KPiANCg0KUGxlYXNlIHNlZSBjb21tZW50IGFib3ZlLCB0aGUgd29yZCBl
eHRlcm5hbCBpcyBub3QgY2xlYXJseSBkZWZpbmVkLg0KDQo+ID4NCj4gPj4gKw0KPiA+PiArOjoN
Cj4gPj4gKw0KPiA+PiArICAgKiAgICAoRXRoZGV2KSB+fn5+fn5+fn5+fn4gKEludGVybmFsIFBv
cnQpIH5+fn4gW10gPDw8PCAoRXh0ZXJuYWwNCj4gUG9ydCkNCj4gPj4gKyAgICogICAgOiAgU1cg
ICAgICAgICAgICAgICAgIDogICBMb2dpY2FsICAgICAgICAgICAgICAgICAgICBOZXQgLyBHdWVz
dCA6DQo+ID4+ICsgICAqICAgIDogICAgICAgICAgICAgICAgICAgICA6ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgOg0KPiA+PiArICAgKiAgICB8IC0tLS0gUE1EIExh
eWVyIC0tLS0gfCAtLS0tLS0tLS0tLS0gRS1Td2l0Y2ggTGF5ZXIgLS0tLS0tLS0tLS0tIHwNCj4g
Pj4gKyAgICoNCj4gPj4gKyAgICogICAgW10gc2hvd3MgdGhlIGVmZmVjdGl2ZSAoInRyYW5zZmVy
Iikgc3RhbmRwb2ludCwgdGhlIG1hdGNoIGVuZ2luZTsNCj4gPj4gKyAgICogICAgPDwgc2hvd3Mg
dGhlIHRyYWZmaWMgZmxvdyBpbiBxdWVzdGlvbiBoaXR0aW5nIHRoZSBtYXRjaCBlbmdpbmU7DQo+
ID4+ICsgICAqICAgIH5+IHNob3dzIGxvZ2ljYWwgaW50ZXJjb25uZWN0cyBiZXR3ZWVuIHRoZSBl
bmRwb2ludHMuDQo+ID4+ICsNCj4gPg0KPiA+IEknbSBub3Qgc3VyZSBJIHVuZGVyc3RhbmQgdGhp
cyBkaWFncmFtLg0KPiANCj4gVGhhbmtzIGZvciB0aGUgZmVlZGJhY2suIEkgaGF2ZSBubyB3YXkg
d2l0aCBkcmF3aW5nIGZhbmN5IGRpYWdyYW1zLCBzbw0KPiB0aGlzIG9uZSBtYXkgbm90IGJlIGlk
ZWFsLCB5ZXMuIEJ1dCBjb3VsZCB5b3UgcGxlYXNlIGVsYWJvcmF0ZSBvbiB5b3VyDQo+IGNvbmNl
cm5zLiBNYXliZSB5b3UgdW5kZXJzdGFuZCBpdCB0aGUgcmlnaHQgd2F5IGJ1dCBqdXN0IHVuc3Vy
ZS4gSWYgeW91DQo+IGRlc2NyaWJlIHdoYXQgeW91IHNlZSB3aGVuIGxvb2tpbmcgYXQgdGhlIGRp
YWdyYW0sIEknbGwgYmUgYWJsZSB0bw0KPiBlaXRoZXIgY29uZmlybSB5b3VyIHZpc2lvbiBvciBk
ZWJ1bmsgYW55IG1pc3VuZGVyc3RhbmRpbmcgYW5kIHBvc3NpYmx5DQo+IGltcHJvdmUgdGhlIGRy
YXdpbmcuDQo+IA0KDQoNCkkgd2lsbCB0cnksDQpFdGhkZXYgaXMgdGhlIHBvcnQgdGhhdCB0aGUg
YXBwbGljYXRpb24gc2VlcyBpbiBEUERLIHJpZ2h0Pw0KSW50ZXJuYWwgcG9ydCBpcyB3aGF0IHRo
ZSBQTUQgc2VlcywgZm9yIGV4YW1wbGUgaW4gY2FzZSBvZiByZXByZXNlbnRvciBpdCB3aWxsIHNl
ZSB0aGUgUEYgcG9ydC4NCkV4dGVybmFsIChhbHNvIGR1ZSB0byBhIGRyYXdpbmcgaW4gb25lIG9m
IHlvdXIgY29tbWVudHMpIGlzIHRoZSBFLVN3aXRjaCBlbmQgcG9pbnQuDQpTbyB0aGlzIGRyYXdp
bmcgc2hvd3MgdGhhdCB0aGUgYXBwIHNlbGVjdCB0aGUgZXh0ZXJuYWwgcG9ydCB0aGF0IGlzIGNv
bm5lY3RlZCB0byB0aGUNCmludGVybmFsIHBvcnQgd2hpY2ggaXMgY29ubmVjdGVkIHRvIHRoZSBl
dGhkZXYgcG9ydD8NCg0KVGhhbmtzLA0KT3JpDQo+ID4NCj4gPj4gK1VzZSB0aGlzIHdpdGggYXR0
cmlidXRlICoqdHJhbnNmZXIqKi4gQXR0cmlidXRlcyAqKmluZ3Jlc3MqKiBhbmQNCj4gPj4gKyoq
ZWdyZXNzKiogKGBBdHRyaWJ1dGU6IFRyYWZmaWMgZGlyZWN0aW9uYF8pIG11c3Qgbm90IGJlIHVz
ZWQuDQo+ID4+ICsNCj4gPj4gK1RoaXMgaXRlbSBpcyBtZWFudCB0byB1c2UgdGhlIHNhbWUgc3Ry
dWN0dXJlIGFzIGBJdGVtOiBFVEhERVZgXy4NCj4gPj4gKw0KPiA+PiAgIEFjdGlvbnMNCj4gPj4g
ICB+fn5+fn5+DQo+ID4+DQo+ID4+IGRpZmYgLS1naXQgYS9kb2MvZ3VpZGVzL3JlbF9ub3Rlcy9y
ZWxlYXNlXzIxXzExLnJzdA0KPiA+PiBiL2RvYy9ndWlkZXMvcmVsX25vdGVzL3JlbGVhc2VfMjFf
MTEucnN0DQo+ID4+IGluZGV4IDkxNjMxYWRiNGUuLmIyYjI3ZGUzZjAgMTAwNjQ0DQo+ID4+IC0t
LSBhL2RvYy9ndWlkZXMvcmVsX25vdGVzL3JlbGVhc2VfMjFfMTEucnN0DQo+ID4+ICsrKyBiL2Rv
Yy9ndWlkZXMvcmVsX25vdGVzL3JlbGVhc2VfMjFfMTEucnN0DQo+ID4+IEBAIC0xNjcsNyArMTY3
LDcgQEAgQVBJIENoYW5nZXMNCj4gPj4gICAgICBBbHNvLCBtYWtlIHN1cmUgdG8gc3RhcnQgdGhl
IGFjdHVhbCB0ZXh0IGF0IHRoZSBtYXJnaW4uDQo+ID4+DQo+ID09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCj4gPj4NCj4gPj4gLSogZXRoZGV2
OiBBZGRlZCBpdGVtIGBgRVRIREVWYGAgdG8gZmxvdyBBUEkuDQo+ID4+ICsqIGV0aGRldjogQWRk
ZWQgaXRlbXMgYGBFVEhERVZgYCwgYGBFU1dJVENIX1BPUlRgYCB0byBmbG93IEFQSS4NCj4gPj4N
Cj4gPj4gICAqIGNyeXB0b2RldjogVGhlIEFQSSBydGVfY3J5cHRvZGV2X3BtZF9pc192YWxpZF9k
ZXYgaXMgbW9kaWZpZWQgdG8NCj4gPj4gICAgIHJ0ZV9jcnlwdG9kZXZfaXNfdmFsaWRfZGV2IGFz
IGl0IGNhbiBiZSB1c2VkIGJ5IHRoZSBhcHBsaWNhdGlvbiBhcyBkaWZmIC0tDQo+IGdpdA0KPiA+
PiBhL2RvYy9ndWlkZXMvdGVzdHBtZF9hcHBfdWcvdGVzdHBtZF9mdW5jcy5yc3QNCj4gPj4gYi9k
b2MvZ3VpZGVzL3Rlc3RwbWRfYXBwX3VnL3Rlc3RwbWRfZnVuY3MucnN0DQo+ID4+IGluZGV4IDZk
NWRlNTQ1N2MuLjlhNWMyYTJkODIgMTAwNjQ0DQo+ID4+IC0tLSBhL2RvYy9ndWlkZXMvdGVzdHBt
ZF9hcHBfdWcvdGVzdHBtZF9mdW5jcy5yc3QNCj4gPj4gKysrIGIvZG9jL2d1aWRlcy90ZXN0cG1k
X2FwcF91Zy90ZXN0cG1kX2Z1bmNzLnJzdA0KPiA+PiBAQCAtMzgyNCw2ICszODI0LDEwIEBAIFRo
aXMgc2VjdGlvbiBsaXN0cyBzdXBwb3J0ZWQgcGF0dGVybiBpdGVtcyBhbmQNCj4gPj4gdGhlaXIg
YXR0cmlidXRlcywgaWYgYW55Lg0KPiA+Pg0KPiA+PiAgICAgLSBgYGlkIHt1bnNpZ25lZH1gYDog
ZXRoZGV2IElEDQo+ID4+DQo+ID4+ICstIGBgZXN3aXRjaF9wb3J0YGA6IG1hdGNoIHRyYWZmaWMg
YXQgZS1zd2l0Y2ggZ29pbmcgZnJvbSB0aGUgZXh0ZXJuYWwNCj4gPj4gK3BvcnQgYXNzb2NpYXRl
ZCB3aXRoIHRoZSBnaXZlbiBldGhkZXYNCj4gPj4gKw0KPiA+PiArICAtIGBgZXRoZGV2X2lkIHt1
bnNpZ25lZH1gYDogZXRoZGV2IElEDQo+ID4+ICsNCj4gPj4gICBBY3Rpb25zIGxpc3QNCj4gPj4g
ICBeXl5eXl5eXl5eXl4NCj4gPj4NCj4gPj4gZGlmZiAtLWdpdCBhL2xpYi9ldGhkZXYvcnRlX2Zs
b3cuYyBiL2xpYi9ldGhkZXYvcnRlX2Zsb3cuYyBpbmRleA0KPiA+PiA4NGViNjFjYjZjLi5jNGFl
YTU2MjVmIDEwMDY0NA0KPiA+PiAtLS0gYS9saWIvZXRoZGV2L3J0ZV9mbG93LmMNCj4gPj4gKysr
IGIvbGliL2V0aGRldi9ydGVfZmxvdy5jDQo+ID4+IEBAIC0xMDEsNiArMTAxLDcgQEAgc3RhdGlj
IGNvbnN0IHN0cnVjdCBydGVfZmxvd19kZXNjX2RhdGENCj4gPj4gcnRlX2Zsb3dfZGVzY19pdGVt
W10gPSB7DQo+ID4+ICAgCU1LX0ZMT1dfSVRFTShJTlRFR1JJVFksIHNpemVvZihzdHJ1Y3QgcnRl
X2Zsb3dfaXRlbV9pbnRlZ3JpdHkpKSwNCj4gPj4gICAJTUtfRkxPV19JVEVNKENPTk5UUkFDSywg
c2l6ZW9mKHVpbnQzMl90KSksDQo+ID4+ICAgCU1LX0ZMT1dfSVRFTShFVEhERVYsIHNpemVvZihz
dHJ1Y3QgcnRlX2Zsb3dfaXRlbV9ldGhkZXYpKSwNCj4gPj4gKwlNS19GTE9XX0lURU0oRVNXSVRD
SF9QT1JULCBzaXplb2Yoc3RydWN0DQo+ID4+IHJ0ZV9mbG93X2l0ZW1fZXRoZGV2KSksDQo+ID4+
ICAgfTsNCj4gPj4NCj4gPj4gICAvKiogR2VuZXJhdGUgZmxvd19hY3Rpb25bXSBlbnRyeS4gKi8N
Cj4gPj4gZGlmZiAtLWdpdCBhL2xpYi9ldGhkZXYvcnRlX2Zsb3cuaCBiL2xpYi9ldGhkZXYvcnRl
X2Zsb3cuaCBpbmRleA0KPiA+PiA4ODA1MDIwOThlLi4xYTdlNGMyZTNkIDEwMDY0NA0KPiA+PiAt
LS0gYS9saWIvZXRoZGV2L3J0ZV9mbG93LmgNCj4gPj4gKysrIGIvbGliL2V0aGRldi9ydGVfZmxv
dy5oDQo+ID4+IEBAIC01ODMsNiArNTgzLDE2IEBAIGVudW0gcnRlX2Zsb3dfaXRlbV90eXBlIHsN
Cj4gPj4gICAJICogQHNlZSBzdHJ1Y3QgcnRlX2Zsb3dfaXRlbV9ldGhkZXYNCj4gPj4gICAJICov
DQo+ID4+ICAgCVJURV9GTE9XX0lURU1fVFlQRV9FVEhERVYsDQo+ID4+ICsNCj4gPj4gKwkvKioN
Cj4gPj4gKwkgKiBbTUVUQV0NCj4gPj4gKwkgKg0KPiA+PiArCSAqIE1hdGNoZXMgdHJhZmZpYyBh
dCBlLXN3aXRjaCBnb2luZyBmcm9tIHRoZSBleHRlcm5hbCBwb3J0IGFzc29jaWF0ZWQNCj4gPj4g
KwkgKiB3aXRoIHRoZSBnaXZlbiBldGhkZXYsIGZvciBleGFtcGxlLCB0cmFmZmljIGZyb20gbmV0
LiBwb3J0IG9yIGd1ZXN0Lg0KPiA+PiArCSAqDQo+ID4+ICsJICogQHNlZSBzdHJ1Y3QgcnRlX2Zs
b3dfaXRlbV9ldGhkZXYNCj4gPj4gKwkgKi8NCj4gPj4gKwlSVEVfRkxPV19JVEVNX1RZUEVfRVNX
SVRDSF9QT1JULA0KPiA+PiAgIH07DQo+ID4+DQo+ID4+ICAgLyoqDQo+ID4+IEBAIC0xODEzLDcg
KzE4MjMsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHJ0ZV9mbG93X2l0ZW1fY29ubnRyYWNrDQo+
ID4+IHJ0ZV9mbG93X2l0ZW1fY29ubnRyYWNrX21hc2sgPSB7DQo+ID4+ICAgICogQGIgRVhQRVJJ
TUVOVEFMOiB0aGlzIHN0cnVjdHVyZSBtYXkgY2hhbmdlIHdpdGhvdXQgcHJpb3Igbm90aWNlDQo+
ID4+ICAgICoNCj4gPj4gICAgKiBQcm92aWRlcyBhbiBldGhkZXYgSUQgZm9yIHVzZSB3aXRoIGl0
ZW1zIHdoaWNoIGFyZSBhcyBmb2xsb3dzOg0KPiA+PiAtICogUlRFX0ZMT1dfSVRFTV9UWVBFX0VU
SERFVi4NCj4gPj4gKyAqIFJURV9GTE9XX0lURU1fVFlQRV9FVEhERVYsDQo+ID4+IFJURV9GTE9X
X0lURU1fVFlQRV9FU1dJVENIX1BPUlQuDQo+ID4+ICAgICovDQo+ID4+ICAgc3RydWN0IHJ0ZV9m
bG93X2l0ZW1fZXRoZGV2IHsNCj4gPj4gICAJdWludDE2X3QgaWQ7IC8qKjwgRXRoZGV2IElEICov
DQo+ID4+IC0tDQo+ID4+IDIuMzAuMg0KPiA+DQo+ID4gQmVzdCwNCj4gPiBPcmkNCj4gPg0KPiAN
Cj4gLS0NCj4gSXZhbiBNDQo=