From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from dpdk.org (dpdk.org [92.243.14.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 02646A00C2;
	Wed, 22 Apr 2020 18:35:18 +0200 (CEST)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id AE71F1C2F8;
	Wed, 22 Apr 2020 18:35:17 +0200 (CEST)
Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com
 [67.231.156.173]) by dpdk.org (Postfix) with ESMTP id C13741C2F0
 for <dev@dpdk.org>; Wed, 22 Apr 2020 18:35:16 +0200 (CEST)
Received: from pps.filterd (m0045851.ppops.net [127.0.0.1])
 by mx0b-0016f401.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id
 03MGVamn016101; Wed, 22 Apr 2020 09:35:16 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com;
 h=from : to : cc :
 subject : date : message-id : references : in-reply-to : content-type :
 content-transfer-encoding : mime-version; s=pfpt0818;
 bh=7Z3Xah5pmEXEYVemmyT4+LOGriB+sYjzO8PKpaMBlco=;
 b=LHogHG5B+B2jIvpuR0XQw83/Ei1lz9oj1qYDTiopQSJ4pEvcdpi1wyrM5EeswSu43gXy
 9gGRoCnXROWxnVQcMvK6v0gspaoU0CcCg975DKwOwVg3Bj4iXpY/Dq+1EAB8XjgbXaEq
 DAtF7qbtVbw3kY+2zNEHA1wYsxH6Qzck/SeYI4SHadbIkFQwmtnpH6FBi6Xfr/hA7kEm
 eXy/EQ37mXI/WjwPv/28tdWPDwk36mJmnwsETgge32ocIxNQPblr9ICMFqdROgK7fwAp
 d5N9I6J61h2HC0eZW3ycL1oOwPOuwFMHD3s8U35T2ZMsO0Qo79RdS0DFHq6qef13L9AR nA== 
Received: from sc-exch04.marvell.com ([199.233.58.184])
 by mx0b-0016f401.pphosted.com with ESMTP id 30jd012y9p-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT);
 Wed, 22 Apr 2020 09:35:15 -0700
Received: from SC-EXCH01.marvell.com (10.93.176.81) by SC-EXCH04.marvell.com
 (10.93.176.84) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 22 Apr
 2020 09:35:13 -0700
Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.169)
 by SC-EXCH01.marvell.com (10.93.176.81) with Microsoft SMTP Server (TLS) id
 15.0.1497.2 via Frontend Transport; Wed, 22 Apr 2020 09:35:13 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=oedxUYbKLVmRcw8cjCCGayrfZd8jOcwu/CDzAta2eS47+/tgITAiHBN0aJwEFzTcbeJuJgokKdWc5DiJ3psdDp71izcnbEIrIg5dNomavrfib+4cEEyzioWZZS5q6EutLsn1KyP5H1vqDFlC39IA+ysqgksgxFrDtnU4FONLEg6RGS90uZLlzjTVjs1LRsbSZxaEBe8CTP13vEKcnjcPKgfDydCEwPNk1e+PnIxS7npePArwGS3aOsfS0IS11bpbSZ7ryy3N1AEzj5zZjPerSYTumpv2BEN4PE7OrGJgWIykgBkCYR+WhrIaWeNgkc9P182d3T8KNAxPTwgmn89c7Q==
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-SenderADCheck;
 bh=7Z3Xah5pmEXEYVemmyT4+LOGriB+sYjzO8PKpaMBlco=;
 b=eiuGs6KxeTg0AQsAPu3gsfLvw6oinGCCEqlic7Ar7bLVZQQyHj18UciXUc9dlbM9OE4p+++djOJYm5ctGkfk+yH2tF8jGKH9zU7KjSCLkpYA/8sXKmh8qSlewQ4CzHMru+EMHappqZUwHshmMA5OEzAZmAl0QBRSW9tFaA/eRN2Y7y971NMiKF67K76Hn7iZ3LcqAjNdlnGvsIRWYgTPz2he2We9pc+uYRVhXURJWrxXSJKA1qR50PEIz6VmKXUKY/HGL0jtAKWaCzWLRHBzvVO3P4C75WHBr1xcxZPB+2IqH7M9G576q5irZck9uEVASG3MvcKSEO3veQHU34kWOA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com;
 dkim=pass header.d=marvell.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=marvell.onmicrosoft.com; s=selector1-marvell-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7Z3Xah5pmEXEYVemmyT4+LOGriB+sYjzO8PKpaMBlco=;
 b=QLlwKJ9ZVvUJeDzHT2rMM7VBn9lj1V4cuWNFkJmXzud3etWaurBLW8PJTM3JNcpDnTuYZdrrTIu6dc7zSfe8pS1nHtpt21Lfe9VEAhglTKhCBAOMZ2J4AaLPzvo1ZHx4G4cxEPMmamsg7FobsFH35WeiXEolXZM0wqn9B9oNMqA=
Received: from MN2PR18MB2877.namprd18.prod.outlook.com (2603:10b6:208:3b::26)
 by MN2PR18MB3008.namprd18.prod.outlook.com (2603:10b6:208:10a::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2921.29; Wed, 22 Apr
 2020 16:35:12 +0000
Received: from MN2PR18MB2877.namprd18.prod.outlook.com
 ([fe80::648f:e7fa:f95e:191b]) by MN2PR18MB2877.namprd18.prod.outlook.com
 ([fe80::648f:e7fa:f95e:191b%2]) with mapi id 15.20.2921.030; Wed, 22 Apr 2020
 16:35:12 +0000
From: Anoob Joseph <anoobj@marvell.com>
To: "Ananyev, Konstantin" <konstantin.ananyev@intel.com>, "Lukas Bartosik [C]"
 <lbartosik@marvell.com>
CC: "akhil.goyal@nxp.com" <akhil.goyal@nxp.com>, "Nicolau, Radu"
 <radu.nicolau@intel.com>, Narayana Prasad Raju Athreya
 <pathreya@marvell.com>, "dev@dpdk.org" <dev@dpdk.org>, "orika@mellanox.com"
 <orika@mellanox.com>, "Doherty, Declan" <declan.doherty@intel.com>
Thread-Topic: [dpdk-dev] [EXT] RE: [PATCH] examples/ipsec-secgw: fix dropping
 of initial IPsec pkts
Thread-Index: AQHWF+P6mavo3sqEaUyJ/nwp9IcJ6KiDsFwAgAGXrnA=
Date: Wed, 22 Apr 2020 16:35:11 +0000
Message-ID: <MN2PR18MB28777C77E8C4B1847A35E954DFD20@MN2PR18MB2877.namprd18.prod.outlook.com>
References: <1586345520-3205-1-git-send-email-lbartosik@marvell.com>
 <139b63ab-6ce0-1657-2754-37e1347143bc@marvell.com>
 <BYAPR11MB3301AC8468BAA0B9999E4B039ADB0@BYAPR11MB3301.namprd11.prod.outlook.com>
 <9bde6651-8dc2-30df-036e-a0670327b6a8@marvell.com>
 <97c667bb-e6fa-808b-107a-c94b5917aabc@marvell.com>
 <BYAPR11MB3301E1E659240179E8DD067F9AD50@BYAPR11MB3301.namprd11.prod.outlook.com>
In-Reply-To: <BYAPR11MB3301E1E659240179E8DD067F9AD50@BYAPR11MB3301.namprd11.prod.outlook.com>
Accept-Language: en-IN, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [27.34.246.85]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: b8f398a6-d318-4883-0d23-08d7e6db20e5
x-ms-traffictypediagnostic: MN2PR18MB3008:
x-ms-exchange-transport-forked: True
x-microsoft-antispam-prvs: <MN2PR18MB30087E682A26724590CE1872DFD20@MN2PR18MB3008.namprd18.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:9508;
x-forefront-prvs: 03818C953D
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:MN2PR18MB2877.namprd18.prod.outlook.com; PTR:; CAT:NONE;
 SFTY:;
 SFS:(10009020)(4636009)(366004)(396003)(39850400004)(376002)(346002)(136003)(33656002)(6636002)(9686003)(316002)(19627235002)(186003)(8676002)(966005)(52536014)(81156014)(8936002)(5660300002)(66446008)(66476007)(64756008)(66556008)(478600001)(76116006)(86362001)(2906002)(66946007)(54906003)(30864003)(4326008)(55016002)(7696005)(110136005)(26005)(6506007)(71200400001)(53546011);
 DIR:OUT; SFP:1101; 
received-spf: None (protection.outlook.com: marvell.com does not designate
 permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: H1ABChHLKutDMBvu96PG16wx3kDU69WblYB+Zta7C/CrcBxGiLrCM4DG+QMLFCN51wkYQ7FvevkPgZ11VvaHmrIGmGTpLR4s5r8cBTJVEXpedSqX4Z5Tjiak0DsQ0IHzsQi0Id1Gjswln+bRzkb/zQtzG30ys6WxWhjaOzuEOn8+0x2NrSEBXL3fgNQBF8GASB1OWNx5CaLwqIO/by2gPjTFs6QL/X35rEh3ehr6tY0/cCY2gckjDlQTJywger+rEdqUcB4nsvUqn1ZGKKkhPa5OBxyoGi23l3Q5yCQ4GSJDdZwn7mNRjBuE8Wo7b2rRMU3tc3uitGyIQiPipG0SYvw8vVRbzE1t23iGApYaKkxoDayPX8dhxEGNjrn3yoWIV3xer5D4vs767dDuic0uuwijcHpmjYiRlH00TwKQj1h6urNOeRVoRCetEPGm3biu1MNrv3J0v/ZiWGMBd8vQgoGwabc1yPA/dPDauecUPKvDVXFwi0AY2lmFw+Emvoa7Vec4x87Zrc9bDRWpBAlQvw==
x-ms-exchange-antispam-messagedata: SHS7AFGJj4mTrpFnfJvgS8jy1ZQmPNC5xg3XE0KW2Hbg65TG5tCNcFic3byhRp4SL2rOnIPuo6VlOzlx6Qdhd8zP4dgnCoL+dAxPx+0loPVXdyy5f05sM7jNhS9/S9+6jpiZQjuGPui1NmHx+1b0Aw==
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-Network-Message-Id: b8f398a6-d318-4883-0d23-08d7e6db20e5
X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Apr 2020 16:35:11.8673 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: dqV0rP1afV3mwOCeBmtw7PHRpKYdx4Lw/ZnLzI8houmH8CCRw2UJYszRBtXHuPrL9jkRBplHwWtz6fjXQ2gU9Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR18MB3008
X-OriginatorOrg: marvell.com
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.138, 18.0.676
 definitions=2020-04-22_06:2020-04-22,
 2020-04-22 signatures=0
Subject: Re: [dpdk-dev] [EXT] RE: [PATCH] examples/ipsec-secgw: fix dropping
 of initial IPsec pkts
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
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>

SGkgS29uc3RhbnRpbiwNCg0KUGxlYXNlIHNlZSBpbmxpbmUuDQoNClRoYW5rcywNCkFub29iDQoN
Cj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogQW5hbnlldiwgS29uc3RhbnRp
biA8a29uc3RhbnRpbi5hbmFueWV2QGludGVsLmNvbT4NCj4gU2VudDogVHVlc2RheSwgQXByaWwg
MjEsIDIwMjAgODo0OCBQTQ0KPiBUbzogTHVrYXMgQmFydG9zaWsgW0NdIDxsYmFydG9zaWtAbWFy
dmVsbC5jb20+DQo+IENjOiBha2hpbC5nb3lhbEBueHAuY29tOyBOaWNvbGF1LCBSYWR1IDxyYWR1
Lm5pY29sYXVAaW50ZWwuY29tPjsgQW5vb2INCj4gSm9zZXBoIDxhbm9vYmpAbWFydmVsbC5jb20+
OyBOYXJheWFuYSBQcmFzYWQgUmFqdSBBdGhyZXlhDQo+IDxwYXRocmV5YUBtYXJ2ZWxsLmNvbT47
IGRldkBkcGRrLm9yZzsgb3Jpa2FAbWVsbGFub3guY29tOyBEb2hlcnR5LA0KPiBEZWNsYW4gPGRl
Y2xhbi5kb2hlcnR5QGludGVsLmNvbT4NCj4gU3ViamVjdDogUkU6IFtkcGRrLWRldl0gW0VYVF0g
UkU6IFtQQVRDSF0gZXhhbXBsZXMvaXBzZWMtc2VjZ3c6IGZpeCBkcm9wcGluZw0KPiBvZiBpbml0
aWFsIElQc2VjIHBrdHMNCj4gDQo+IA0KPiBIaSBMdWthcywNCj4gDQo+IEFwb2xvZ2llcyBmb3Ig
ZGVsYXkgd2l0aCByZXNwb25zZS4NCj4gDQo+ID4gRG8geW91IGhhdmUgYW55IHRob3VnaHRzIGhv
dyBib3RoIGNhc2VzIGNvdWxkIGJlIGNvdmVyZWQ6DQo+ID4gMS4gSW5saW5lIG5vdCBhcHBsaWVk
IHRvIGluYm91bmQgSVBzZWMgcGt0cyBmb3Igc2hvcnQgZHVyYXRpb24gb2YgdGltZQ0KPiA+IGFm
dGVyIHJ0ZV9ldGhfZGV2X3N0YXJ0KCkgYnV0IGJlZm9yZSBzYV9pbml0KCkgaXMgZXhlY3V0ZWQg
KHdoaWNoIGNyZWF0ZXMgU0FzKS4NCj4gPiAyLiBTQXMgbm90IHN1cnZpdmluZyBydGVfZXRoX2Rl
dl9zdGFydCgpIG9uIGl4Z2JlIGRyaXZlci4NCj4gDQo+IE5vLCByaWdodCBub3cgSSBkb24ndCBo
YXZlIGFuIGlkZWEgaG93IGJvdGggY2FuIGJlIHNhdGlzZmllZC4NCj4gQWJvdXQgMSkgLSB3aHkg
ZG8geW91IGNvbnNpZGVyIHRoYXQgYXMgcHJvYmxlbT8NCj4gQXMgSSB1bmRlcnN0YW5kIHdoZW4g
aW5saW5lIGRldmljZSBpcyBzdGFydGVkIGJ5IG5vdCBwcm9wZXJseSBwcm9ncmFtbWVkIHlldCwN
Cj4gdGhlc2UgcGFja2V0cyB3aWxsIGJlIHRyZWF0ZWQgYnkgZGV2aWNlIGFzIG5vbi1pcHNlYyBv
bmVzIChqdXN0IHBsYWluLXRleHQNCj4gcGFja2V0cykuDQo+IFRoZW4gbGF0ZXIgaW4gaXBzZWMt
c2VjZ3cgUlggcGF0aCB0aGV5IHdpbGwgcHJvYmFibHkgYmUganVzdCBkcm9wcGVkLg0KPiBTbyBu
byBoYXJtIGhlcmUsIG5vPw0KDQpbQW5vb2JdIFllcywgd2hlbiBTQXMgYXJlIG5vdCB5ZXQgY3Jl
YXRlZCBhbmQgZGV2aWNlIGlzIHN0YXJ0ZWQgdGhlbiBIVyB0cmVhdHMgSVBzZWMgcGFja2V0cyBh
cyBjbGVhciBwYWNrZXRzIGFuZCBkb2VzIG5vdCBhcHBseSBpbmxpbmUgdG8gdGhlbS4gVGhlIElQ
c2VjIHBhY2tldHMgYXJyaXZlIGF0IGFwcGxpY2F0aW9uIGxldmVsLiBUaGlzIHBvaW50cyBhdCBh
IHNlcmlvdXMgaGFyZHdhcmUgaXNzdWUgYXMgYSBwYWNrZXQgaW50ZW5kZWQgZm9yIElQc2VjIGhh
cyByZWFjaGVkIGFwcGxpY2F0aW9uIHdpdGhvdXQgYmVpbmcgSVBzZWMgcHJvY2Vzc2VkLiBBcHBs
aWNhdGlvbiB3b3VsZCBjaGVjayBpZiBzZXNzaW9uIGlzIGNyZWF0ZWQgYW5kIHNpbmNlIHRoZSBz
ZXNzaW9uIGlzIGF2YWlsYWJsZSBhdCB0aGUgdGltZSBvZiBwcm9jZXNzaW5nIHRoZSBwYWNrZXQg
KGluIHRoZSBhcHBsaWNhdGlvbiksIGl0IHdvdWxkIGxvb2sgbGlrZSBhIGhhcmR3YXJlIGlzc3Vl
IHdoZW4gaXQgaXMganVzdCBhIGZhbHNlIHBvc2l0aXZlLg0KDQo+IA0KPiBBYm91dCAyKSAtIGxv
b2tpbmcgYXQgaXhnYmUgY29kZSwgSSB0aGluayBpdCBjYW4gYmUgY2hhbmdlZCB0byBtYWtlIGlw
c2VjIGZsb3dzIHRvDQo+IHN1cnZpdmUgZGV2aWNlIHN0YXJ0L3N0b3AgKHRob3VnaCBtb3N0IGxp
a2VseSBub3QgaW4gMjAuMDUgdGltZWZyYW1lKS4NCj4gU28gSSBhbSBub3Qgc3VyZSBzaG91bGQg
d2UgZG8gaXQgYXQgYWxsLg0KPiBPYnZpb3VzbHkgZm9yIGl4Z2JlICh3aXRoIDFLIG1heCBTQSkg
aXQgaXMgbm90IGEgcHJvYmxlbSB0byBzYXZlIGV4dHJhIGluZm8gYWJvdXQNCj4gSFcgZmxvd3Mg
YW5kIHJlc3RvcmUgdGhlbSBhZnRlciBzdG9wL3N0YXJ0Lg0KPiBUaG91Z2ggZm9yIG1vZGVybiBk
ZXZpY2VzIHRoYXQgbWlnaHQgaGF2ZSBtaWxsaW9ucyBvZiBmbG93cyBtYWludGFpbmluZyBzdWNo
DQo+IGluZm8gaW4gUE1EIG1pZ2h0IGJlY29tZSBhIHNpZ25pZmljYW50IG92ZXJoZWFkLg0KPiBB
cyBnZW5lcmljIHF1ZXN0aW9uIC0gaG93IFBNRCBzaG91bGQgYmVoYXZlIGluIHN1Y2ggc2l0dWF0
aW9uPw0KPiBTaG91bGQgaXQgc3VwcG9ydCBmbG93cyBzdXJ2aXZhbCB0aHJvdWdoIGRldl9zdGFy
dC9kZXZfc3RvcCwgb3Igc2hvdWxkIGl0IGJlIGFwcA0KPiByZXNwb25zaWJpbGl0eSB0byByZXBy
b2dyYW0gZmxvd3MgYWZ0ZXIgZGV2LXN0YXJ0L2Rldl9zdG9wLg0KDQpbQW5vb2JdIEkgYmVsaWV2
ZSB0aGUgc3BlYyB0YWxrcyBhYm91dCB0aGUgYmVoYXZpb3IgZHVyaW5nIHN0YXJ0L3N0b3AgYW5k
IGluaXRpYWxpemF0aW9uLg0KDQoiRmxvdyBydWxlcyBhcmUgbm90IG1haW50YWluZWQgYmV0d2Vl
biBzdWNjZXNzaXZlIHBvcnQgaW5pdGlhbGl6YXRpb25zLiBBbiBhcHBsaWNhdGlvbiBleGl0aW5n
IHdpdGhvdXQgcmVsZWFzaW5nIHRoZW0gYW5kIHJlc3RhcnRpbmcgbXVzdCByZS1jcmVhdGUgdGhl
bSBmcm9tIHNjcmF0Y2guIg0KDQoiUE1Ecywgbm90IGFwcGxpY2F0aW9ucywgYXJlIHJlc3BvbnNp
YmxlIGZvciBtYWludGFpbmluZyBmbG93IHJ1bGVzIGNvbmZpZ3VyYXRpb24gd2hlbiBzdG9wcGlu
ZyBhbmQgcmVzdGFydGluZyBhIHBvcnQgb3IgcGVyZm9ybWluZyBvdGhlciBhY3Rpb25zIHdoaWNo
IG1heSBhZmZlY3QgdGhlbS4iDQoNCkZyb20gdGhlIGFib3ZlIHR3bywgZm9sbG93aW5nIGlzIHdo
YXQgSSBjb3VsZCBjb25jbHVkZSwNCjEuIEFjcm9zcyBpbml0aWFsaXphdGlvbnMgcnRlX2Zsb3cg
cnVsZXMgYXJlIG5vdCBleHBlY3RlZCB0byBiZSByZXRhaW5lZC4NCjIuIEFjcm9zcyByZXN0YXJ0
cyAoZGV2IHN0YXJ0L3N0b3ApLCBQTURzIGhhdmUgdG8gZW5zdXJlIHJ0ZV9mbG93IHJ1bGVzIHN1
cnZpdmUuDQoNCkkgaGF2ZW4ndCBsb29rZWQgYXQgdGhlIGl4Z2JlIFBNRCB5ZXQsIGJ1dCB0ZWNo
bmljYWxseSBzdGFydC9zdG9wIHNob3VsZCBvbmx5IGJlIGFib3V0IHdoZXRoZXIgdGhlIGRldmlj
ZSBpcyBydW5uaW5nLiBJIGJlbGlldmUgdGhlcmUgYXJlIG90aGVyIHNldHRpbmdzIGFsc28gd2hp
Y2ggbmVlZCB0byBiZSByZXRhaW5lZCBiZXR3ZWVuIHN0YXJ0L3N0b3AuDQoNCkZyb20gaHR0cHM6
Ly9kb2MuZHBkay5vcmcvYXBpL3J0ZV9fZXRoZGV2XzhoLmh0bWwNCg0KUGxlYXNlIG5vdGUgdGhh
dCBzb21lIGNvbmZpZ3VyYXRpb24gaXMgbm90IHN0b3JlZCBiZXR3ZWVuIGNhbGxzIHRvIHJ0ZV9l
dGhfZGV2X3N0b3AoKS9ydGVfZXRoX2Rldl9zdGFydCgpLiBUaGUgZm9sbG93aW5nIGNvbmZpZ3Vy
YXRpb24gd2lsbCBiZSByZXRhaW5lZDoNCg0KLSBNVFUNCi0gZmxvdyBjb250cm9sIHNldHRpbmdz
DQotIHJlY2VpdmUgbW9kZSBjb25maWd1cmF0aW9uIChwcm9taXNjdW91cyBtb2RlLCBhbGwtbXVs
dGljYXN0IG1vZGUsDQogIGhhcmR3YXJlIGNoZWNrc3VtIG1vZGUsIFJTUy9WTURRIHNldHRpbmdz
IGV0Yy4pDQotIFZMQU4gZmlsdGVyaW5nIGNvbmZpZ3VyYXRpb24NCi0gZGVmYXVsdCBNQUMgYWRk
cmVzcw0KLSBNQUMgYWRkcmVzc2VzIHN1cHBsaWVkIHRvIE1BQyBhZGRyZXNzIGFycmF5DQotIGZs
b3cgZGlyZWN0b3IgZmlsdGVyaW5nIG1vZGUgKGJ1dCBub3QgZmlsdGVyaW5nIHJ1bGVzKQ0KLSBO
SUMgcXVldWUgc3RhdGlzdGljcyBtYXBwaW5ncw0KDQpGbG93IGRpcmVjdG9yIHJlZmVycyB0byBy
dGVfZmxvdywgcmlnaHQ/IA0KDQo+IEkgbG9va2VkIHRocm91Z2ggUEcgZm9yIHJ0ZV9mbG93LCBh
bmQgaXQgc2VlbXMgYSBiaXQgY29udmVyc2lvbmFsIGhlcmUgKGF0IGxlYXN0DQo+IGZvciBtZSk6
DQo+IGh0dHBzOi8vdXJsZGVmZW5zZS5wcm9vZnBvaW50LmNvbS92Mi91cmw/dT1odHRwcy0NCj4g
M0FfX2RvYy5kcGRrLm9yZ19ndWlkZXNfcHJvZy01Rmd1aWRlX3J0ZS0NCj4gNUZmbG93Lmh0bWwm
ZD1Ed0lHYVEmYz1uS2pXZWMyYjZSMG1PeVBhejd4dGZRJnI9alBmQjhyd3d2aVJTeHlMV3MNCj4g
Mm42Qi0NCj4gV1lMbjF2OVN5VE1yVDVFUXFoMlRVJm09cFVhNlhIendWQTJJUDdVRWU1Yjk4aG9z
SG1IanhsTE9tbjNJeEgNCj4gaFpRQUEmcz0yQk00aXlTTnlTMHN2ekcyNkIwUGlHOGhRb0FUMmNs
QXRreGlKcnl0ZGFJJmU9ICAoMTEuNyk6DQo+IEZvcm0gb25lIHNpZGU6DQo+IC0gRFBESyBkb2Vz
IG5vdCBrZWVwIHRyYWNrIG9mIGZsb3cgcnVsZXMgZGVmaW5pdGlvbnMgb3IgZmxvdyBydWxlIG9i
amVjdHMNCj4gYXV0b21hdGljYWxseS4NCj4gICBBcHBsaWNhdGlvbnMgbWF5IGtlZXAgdHJhY2sg
b2YgdGhlIGZvcm1lciBhbmQgbXVzdCBrZWVwIHRyYWNrIG9mIHRoZSBsYXR0ZXIuDQo+ICAgUE1E
cyBtYXkgYWxzbyBkbyBpdCBmb3IgaW50ZXJuYWwgbmVlZHMsIGhvd2V2ZXIgdGhpcyBtdXN0IG5v
dCBiZSByZWxpZWQgb24gYnkNCj4gYXBwbGljYXRpb25zLg0KPiBCdXQgYSBiaXQgYmVsb3c6DQo+
IC0gUE1Ecywgbm90IGFwcGxpY2F0aW9ucywgYXJlIHJlc3BvbnNpYmxlIGZvciBtYWludGFpbmlu
ZyBmbG93IHJ1bGVzDQo+IGNvbmZpZ3VyYXRpb24NCj4gICAgd2hlbiBzdG9wcGluZyBhbmQgcmVz
dGFydGluZyBhIHBvcnQgb3IgcGVyZm9ybWluZyBvdGhlciBhY3Rpb25zIHdoaWNoIG1heQ0KPiBh
ZmZlY3QgdGhlbS4NCj4gICBUaGV5IGNhbiBvbmx5IGJlIGRlc3Ryb3llZCBleHBsaWNpdGx5IGJ5
IGFwcGxpY2F0aW9ucy4NCj4gDQo+IFdvdWxkIGxpa2UgdG8ga25vdyB3aGF0IHJ0ZV9mbG93IG1h
aW50YWluZXJzIGFuZCBvdGhlciBpbnRlcmVzdGVkIHBhcnRpZXMgdGhpbmsNCj4gYWJvdXQgaXQ/
DQoNCltBbm9vYl0gSSBkbyBhZ3JlZSB0aGF0IHRoZSBhYm92ZSB0d28gcG9pbnRzIGNhbiBiZSBt
aXNsZWFkaW5nLiBCdXQgaXQgYWN0dWFsbHkgZGVzY3JpYmVzIHRoZSB1c2FnZSBvZiBydGVfZmxv
dyBBUEkuDQoNCjEuICJEUERLIGRvZXMgbm90IGtlZXAgdHJhY2sgb2YgZmxvdyBydWxlcyBkZWZp
bml0aW9ucyBvciBmbG93IHJ1bGUgb2JqZWN0cyBhdXRvbWF0aWNhbGx5LiBBcHBsaWNhdGlvbnMg
bWF5IGtlZXAgdHJhY2sgb2YgdGhlIGZvcm1lciBhbmQgbXVzdCBrZWVwIHRyYWNrIG9mIHRoZSBs
YXR0ZXIuIg0KRFBESyBydGVfZmxvdyBzcGVjIGRvZXNuJ3QgcHJvdmlkZSBhbiBBUEkgdG8gY2hl
Y2sgaWYgYSBydWxlIGlzIGFscmVhZHkgY3JlYXRlZC4gQXBwbGljYXRpb24gaXMgY29uZmlndXJp
bmcgaGFyZHdhcmUgcmVzb3VyY2VzIHVzaW5nIHJ0ZV9mbG93IGFuZCBpdCBoYXMgdG8ga2VlcCB0
cmFjayBvZiB3aGF0IGlzIGNvbmZpZ3VyZWQuIA0KDQoyLiAiUE1Ecywgbm90IGFwcGxpY2F0aW9u
cywgYXJlIHJlc3BvbnNpYmxlIGZvciBtYWludGFpbmluZyBmbG93IHJ1bGVzIGNvbmZpZ3VyYXRp
b24gd2hlbiBzdG9wcGluZyBhbmQgcmVzdGFydGluZyBhIHBvcnQgb3IgcGVyZm9ybWluZyBvdGhl
ciBhY3Rpb25zIHdoaWNoIG1heSBhZmZlY3QgdGhlbS4iDQpJbiB0aGlzIGNhc2UsIHdlIGFyZSB0
YWxraW5nIGFib3V0IHRoZSBzdGF0ZSBvZiB0aGUgaGFyZHdhcmUuIE9uY2UgdGhlIHJ1bGVzIGFy
ZSBjb25maWd1cmVkLCBpdCBzaG91bGQgc3Vydml2ZSBhY3Jvc3Mgc3RvcC1zdGFydC4gQXBwbGlj
YXRpb24gaXMgbm90IHJlcXVpcmVkIHRvIGRlc3Ryb3kgYW5kIGNyZWF0ZSBydGVfZmxvd3MgaW4g
c3VjaCBjYXNlLg0KDQpJbiBmaXJzdCBjYXNlLCB3ZSBhcmUgdGFsa2luZyBhYm91dCBydGVfZmxv
dyBvYmplY3RzICYgcnVsZXMgKGxpa2Ugc2Vzc2lvbiBpbiBjYXNlIG9mIHJ0ZV9zZWN1cml0eSkg
YW5kIGluIHRoZSBzZWNvbmQgd2UgYXJlIHRhbGtpbmcgYWJvdXQgaGFyZHdhcmUgc3RhdGUuDQoN
CkkgdGhpbmsgdGhpcyBwYXRjaCBjYW4gYmUgZGVsYXllZCB0aWxsIGl4Z2JlIGNhbiBiZSBmaXhl
ZC4gSGF2aW5nIGl0IGluIDIwLjA4IHRpbWVmcmFtZSBzaG91bGQgYmUgZmluZS4NCg0KPiANCj4g
S29uc3RhbnRpbg0KPiANCj4gPg0KPiA+IFRoYW5rcywNCj4gPiBMdWthc3oNCj4gPg0KPiA+IE9u
IDE2LjA0LjIwMjAgMTQ6MjgsIEx1a2FzIEJhcnRvc2lrIFtDXSB3cm90ZToNCj4gPiA+IEhpIEtv
bnN0YW50aW4sDQo+ID4gPg0KPiA+ID4gUGxlYXNlIHNlZSBteSBhbnN3ZXIgYmVsb3cuDQo+ID4g
Pg0KPiA+ID4gVGhhbmtzLA0KPiA+ID4gTHVrYXN6DQo+ID4gPg0KPiA+ID4gT24gMTYuMDQuMjAy
MCAwMTo0NywgQW5hbnlldiwgS29uc3RhbnRpbiB3cm90ZToNCj4gPiA+PiBFeHRlcm5hbCBFbWFp
bA0KPiA+ID4+DQo+ID4gPj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ID4+IC0tLQ0KPiA+ID4+DQo+ID4gPj4N
Cj4gPiA+PiBIaSBMdWthc3osDQo+ID4gPj4NCj4gPiA+Pj4gSGkgS29uc3RhbnRpbiwNCj4gPiA+
Pj4NCj4gPiA+Pj4gSW4gdGhpcyBwYXRjaCBJIG1vdmVkIHRoZSBzYV9pbml0KCkgYmVmb3JlIHJ0
ZV9ldGhfZGV2X3N0YXJ0KCkgaW4NCj4gPiA+Pj4gb3JkZXIgdG8gYXZvaWQgZHJvcHBpbmcgb2Yg
SVBzZWMgcGt0cyB3aGVuIGEgdHJhZmZpYyBmbG93cyBhbmQgdGhlIGlwc2VjLQ0KPiBzZWNndyBh
cHBsaWNhdGlvbiBpcyBzdGFydGVkLg0KPiA+ID4+Pg0KPiA+ID4+PiBIb3dldmVyIEkgcmVtZW1i
ZXIgdGhhdCBkdXJpbmcgcmV2aWV3IG9mIGV2ZW50IG1vZGUgcGF0Y2hlcyB5b3UNCj4gPiA+Pj4g
bWVudGlvbmVkIHRoYXQgbW92aW5nIHNhX2luaXQoKSBiZWZvcmUgcnRlX2V0aF9kZXZfc3RhcnQo
KSBpcyBhbg0KPiA+ID4+PiBpc3N1ZSBmb3Igb25lIG9mIHRoZSBJbnRlbCBkcml2ZXJzLg0KPiA+
ID4+DQo+ID4gPj4gWWVzLCBJIHRoaW5rIHNvLg0KPiA+ID4+IGh0dHBzOi8vdXJsZGVmZW5zZS5w
cm9vZnBvaW50LmNvbS92Mi91cmw/dT1odHRwLTNBX19tYWlscy5kcGRrLm9yZ18NCj4gPiA+PiBh
cmNoaXZlc19kZXZfMjAxOS0NCj4gPg0KPiAyRERlY2VtYmVyXzE1MzkwOC5odG1sJmQ9RHdJR2FR
JmM9bktqV2VjMmI2UjBtT3lQYXo3eHRmUSZyPVNjaFINCj4gSGhFN0dMQw0KPiA+IGpFWTRpMmEx
YnlqQ19GcFdnUkx0cTQtDQo+ID4ga0x2S3AzXzg0Jm09dzN4aDk0T3g0eEloYWJmRS0NCj4gbkQy
VmJFV2JoMkpUbWlzY1ZNYjZwSlpjWW8mcz05ckR0UlBHSzJRQkQNCj4gPiBBY1k4VlFmMEhRelhJ
TnRRenVjd0l4VTdEQjJORDVzJmU9DQo+ID4gPj4gTW92aW5nIHRoYXQgcGllY2Ugb2YgY29kZSAo
ZGV2X3N0YXJ0KSBhZnRlciBzYV9pbml0KCkgYnJlYWtzIGl4Z2JlIGlubGluZS0NCj4gY3J5cHRv
IHN1cHBvcnQuDQo+ID4gPj4gQXMgSSB1bmRlcnN0YW5kLCBiZWNhdXNlIGNvbmZpZ3VyZWQgaXBz
ZWMgZmxvd3MgZG9uJ3QgcGVyc2lzdCBkZXZfc3RhcnQoKS4NCj4gPiA+PiBBdCBsZWFzdCBmb3Ig
aXhnYmUgUE1ELg0KPiA+ID4+IEFueSByZWFzb24gd2h5IHRvIG1vdmUgdGhhdCBjb2RlIGF0IGFs
bD8NCj4gPiA+Pg0KPiA+ID4NCj4gPiA+IFtMdWthc3pdIFdlJ3JlIG9ic2VydmluZyBpc3N1ZSBp
biBpbmxpbmUgbW9kZS4gV2hlbiB0cmFmZmljIGZsb3dzDQo+ID4gPiBhbmQgaXBzZWMtc2VjZ3cg
YXBwbGljYXRpb24gaXMgc3RhcnRlZCB0aGVuIGZvciBzaG9ydCBwZXJpb2Qgb2YgdGltZQ0KPiA+
ID4gaW5saW5lIGlzIG5vdCBhcHBsaWVkIGJ5IEhXIGFuZCBJUHNlYyBwYWNrZXRzIHJlYWNoIHRo
ZSBhcHBsaWNhdGlvbi4NCj4gPiA+IFRoaXMgaXMgYmVjYXVzZQ0KPiA+ID4gc2FfaW5pdCgpICh3
aGljaCBjcmVhdGVzIHNlY3VyaXR5IGFzc29jaWF0aW9ucyBTQXMgZm9yIEhXKSBpcyBleGVjdXRl
ZCBhZnRlcg0KPiBydGVfZXRoX2Rldl9zdGFydCgpLg0KPiA+ID4gVGhhdCdzIHRoZSByZWFzb24g
SSBtb3ZlZCB0aGUgY29kZS4gQW5kIHRoYXQgbW92ZW1lbnQgZml4ZXMgdGhlDQo+ID4gPiBpc3N1
ZSBiZWNhdXNlIG5vdyBTQXMgYXJlIGFscmVhZHkgY3JlYXRlZCB3aGVuIGV0aCBwb3J0cyBhcmUg
c3RhcnRlZC4NCj4gPiA+DQo+ID4gPiBXb3VsZCBpdCBiZSBwb3NzaWJsZSB0byBmaXggdGhlIGl4
Z2JlIHNvIHRoYXQgU0FzIHdvdWxkIHN1cnZpdmUNCj4gcnRlX2V0aF9kZXZfc3RhcnQoKSA/DQo+
ID4gPiBEbyB5b3UgaGF2ZSBhbnkgb3RoZXIgaWRlYSBob3cgd2UgY291bGQgY292ZXIgYm90aCBj
YXNlcyA/DQo+ID4gPg0KPiA+ID4+ICA+IElzIHRoaXMgc3RpbGwgdGhlIGNhc2UgPw0KPiA+ID4+
DQo+ID4gPj4gQUZBSUssIHllcy4NCj4gPiA+PiBUaGFua3MgZm9yIGJyaW5naW5nIGl0IHRvIGF0
dGVudGlvbi4NCj4gPiA+PiBLb25zdGFudGluDQo+ID4gPj4NCj4gPiA+Pg0KPiA+ID4+Pg0KPiA+
ID4+PiBUaGFua3MsDQo+ID4gPj4+IEx1a2Fzeg0KPiA+ID4+Pg0KPiA+ID4+PiBPbiAwOC4wNC4y
MDIwIDEzOjMyLCBMdWthc3ogQmFydG9zaWsgd3JvdGU6DQo+ID4gPj4+PiBJbiBpbmxpbmUgZXZl
bnQgbW9kZSB3aGVuIHRyYWZmaWMgZmxvd3MgYW5kIHRoZSBpcHNlYy1zZWNndyBhcHANCj4gPiA+
Pj4+IGlzIHN0YXJ0ZWQgdGhlbiBmb3Igc2hvcnQgcGVyaW9kIG9mIHRpbWUgSVBzZWMgcGFja2V0
cyBhcnJpdmUgYXQNCj4gPiA+Pj4+IGFwcGxpY2F0aW9uIHdpdGhvdXQgYmVpbmcgZGVjcnlwdGVk
IGFuZCBhcmUgZHJvcHBlZCBieSB0aGUNCj4gPiA+Pj4+IGFwcGxpY2F0aW9uLiBUaGlzIGhhcHBl
bnMgYmVjYXVzZSBldGggcG9ydHMgYXJlIHN0YXJ0ZWQgYmVmb3JlDQo+ID4gPj4+PiBjcmVhdGlv
biBvZiBpbmxpbmUgc2Vzc2lvbnMgYW5kIElQc2VjIGZsb3dzLiBUaGlzIGZpeCByZWFycmFuZ2Vz
DQo+ID4gPj4+PiB0aGUgY29kZSBpbiBzdWNoIGEgd2F5IHRoYXQgZXRoIHBvcnRzIGFyZSBhbHdh
eXMgc3RhcnRlZCBhZnRlcg0KPiA+ID4+Pj4gY3JlYXRpb24gb2YgaW5saW5lIHNlc3Npb25zIGFu
ZCBJUHNlYyBmbG93cy4NCj4gPiA+Pj4+DQo+ID4gPj4+PiBDaGFuZ2UtSWQ6IElmZGRjNDQ2MDgy
ZmIyODk3ZjgxNTU5NTE3ZjkwZTFlZTYwM2UxM2YzDQo+ID4gPj4+PiBTaWduZWQtb2ZmLWJ5OiBM
dWthc3ogQmFydG9zaWsgPGxiYXJ0b3Npa0BtYXJ2ZWxsLmNvbT4NCj4gPiA+Pj4+IC0tLQ0KPiA+
ID4+Pj4gIGV4YW1wbGVzL2lwc2VjLXNlY2d3L2V2ZW50X2hlbHBlci5jIHwgMjYNCj4gPiA+Pj4+
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICBleGFtcGxlcy9pcHNlYy1zZWNndy9pcHNlYy1z
ZWNndy5jICB8DQo+ID4gPj4+PiAyNiArKysrKysrKysrKysrLS0tLS0tLS0tLS0tLQ0KPiA+ID4+
Pj4gIDIgZmlsZXMgY2hhbmdlZCwgMTMgaW5zZXJ0aW9ucygrKSwgMzkgZGVsZXRpb25zKC0pDQo+
ID4gPj4+Pg0KPiA+ID4+Pj4gZGlmZiAtLWdpdCBhL2V4YW1wbGVzL2lwc2VjLXNlY2d3L2V2ZW50
X2hlbHBlci5jDQo+ID4gPj4+PiBiL2V4YW1wbGVzL2lwc2VjLXNlY2d3L2V2ZW50X2hlbHBlci5j
DQo+ID4gPj4+PiBpbmRleCAwNzZmMWYyLi5kYTg2MWU0IDEwMDY0NA0KPiA+ID4+Pj4gLS0tIGEv
ZXhhbXBsZXMvaXBzZWMtc2VjZ3cvZXZlbnRfaGVscGVyLmMNCj4gPiA+Pj4+ICsrKyBiL2V4YW1w
bGVzL2lwc2VjLXNlY2d3L2V2ZW50X2hlbHBlci5jDQo+ID4gPj4+PiBAQCAtMTUyNiw3ICsxNTI2
LDYgQEAgaW50MzJfdA0KPiA+ID4+Pj4gIGVoX2RldnNfaW5pdChzdHJ1Y3QgZWhfY29uZiAqY29u
ZikgIHsNCj4gPiA+Pj4+ICAJc3RydWN0IGV2ZW50bW9kZV9jb25mICplbV9jb25mOw0KPiA+ID4+
Pj4gLQl1aW50MTZfdCBwb3J0X2lkOw0KPiA+ID4+Pj4gIAlpbnQgcmV0Ow0KPiA+ID4+Pj4NCj4g
PiA+Pj4+ICAJaWYgKGNvbmYgPT0gTlVMTCkgew0KPiA+ID4+Pj4gQEAgLTE1NTgsMTYgKzE1NTcs
NiBAQCBlaF9kZXZzX2luaXQoc3RydWN0IGVoX2NvbmYgKmNvbmYpDQo+ID4gPj4+PiAgCS8qIERp
c3BsYXkgdGhlIGN1cnJlbnQgY29uZmlndXJhdGlvbiAqLw0KPiA+ID4+Pj4gIAllaF9kaXNwbGF5
X2NvbmYoY29uZik7DQo+ID4gPj4+Pg0KPiA+ID4+Pj4gLQkvKiBTdG9wIGV0aCBkZXZpY2VzIGJl
Zm9yZSBzZXR0aW5nIHVwIGFkYXB0ZXIgKi8NCj4gPiA+Pj4+IC0JUlRFX0VUSF9GT1JFQUNIX0RF
Vihwb3J0X2lkKSB7DQo+ID4gPj4+PiAtDQo+ID4gPj4+PiAtCQkvKiBVc2Ugb25seSB0aGUgcG9y
dHMgZW5hYmxlZCAqLw0KPiA+ID4+Pj4gLQkJaWYgKChjb25mLT5ldGhfcG9ydG1hc2sgJiAoMSA8
PCBwb3J0X2lkKSkgPT0gMCkNCj4gPiA+Pj4+IC0JCQljb250aW51ZTsNCj4gPiA+Pj4+IC0NCj4g
PiA+Pj4+IC0JCXJ0ZV9ldGhfZGV2X3N0b3AocG9ydF9pZCk7DQo+ID4gPj4+PiAtCX0NCj4gPiA+
Pj4+IC0NCj4gPiA+Pj4+ICAJLyogU2V0dXAgZXZlbnRkZXYgKi8NCj4gPiA+Pj4+ICAJcmV0ID0g
ZWhfaW5pdGlhbGl6ZV9ldmVudGRldihlbV9jb25mKTsNCj4gPiA+Pj4+ICAJaWYgKHJldCA8IDAp
IHsNCj4gPiA+Pj4+IEBAIC0xNTg5LDIxICsxNTc4LDYgQEAgZWhfZGV2c19pbml0KHN0cnVjdCBl
aF9jb25mICpjb25mKQ0KPiA+ID4+Pj4gIAkJcmV0dXJuIHJldDsNCj4gPiA+Pj4+ICAJfQ0KPiA+
ID4+Pj4NCj4gPiA+Pj4+IC0JLyogU3RhcnQgZXRoIGRldmljZXMgYWZ0ZXIgc2V0dGluZyB1cCBh
ZGFwdGVyICovDQo+ID4gPj4+PiAtCVJURV9FVEhfRk9SRUFDSF9ERVYocG9ydF9pZCkgew0KPiA+
ID4+Pj4gLQ0KPiA+ID4+Pj4gLQkJLyogVXNlIG9ubHkgdGhlIHBvcnRzIGVuYWJsZWQgKi8NCj4g
PiA+Pj4+IC0JCWlmICgoY29uZi0+ZXRoX3BvcnRtYXNrICYgKDEgPDwgcG9ydF9pZCkpID09IDAp
DQo+ID4gPj4+PiAtCQkJY29udGludWU7DQo+ID4gPj4+PiAtDQo+ID4gPj4+PiAtCQlyZXQgPSBy
dGVfZXRoX2Rldl9zdGFydChwb3J0X2lkKTsNCj4gPiA+Pj4+IC0JCWlmIChyZXQgPCAwKSB7DQo+
ID4gPj4+PiAtCQkJRUhfTE9HX0VSUigiRmFpbGVkIHRvIHN0YXJ0IGV0aCBkZXYgJWQsICVkIiwN
Cj4gPiA+Pj4+IC0JCQkJICAgcG9ydF9pZCwgcmV0KTsNCj4gPiA+Pj4+IC0JCQlyZXR1cm4gcmV0
Ow0KPiA+ID4+Pj4gLQkJfQ0KPiA+ID4+Pj4gLQl9DQo+ID4gPj4+PiAtDQo+ID4gPj4+PiAgCXJl
dHVybiAwOw0KPiA+ID4+Pj4gIH0NCj4gPiA+Pj4+DQo+ID4gPj4+PiBkaWZmIC0tZ2l0IGEvZXhh
bXBsZXMvaXBzZWMtc2VjZ3cvaXBzZWMtc2VjZ3cuYw0KPiA+ID4+Pj4gYi9leGFtcGxlcy9pcHNl
Yy1zZWNndy9pcHNlYy1zZWNndy5jDQo+ID4gPj4+PiBpbmRleCA1ZmRlNGY3Li5lMDNiZDg5IDEw
MDY0NA0KPiA+ID4+Pj4gLS0tIGEvZXhhbXBsZXMvaXBzZWMtc2VjZ3cvaXBzZWMtc2VjZ3cuYw0K
PiA+ID4+Pj4gKysrIGIvZXhhbXBsZXMvaXBzZWMtc2VjZ3cvaXBzZWMtc2VjZ3cuYw0KPiA+ID4+
Pj4gQEAgLTI4MjksNiArMjgyOSwxOSBAQCBtYWluKGludDMyX3QgYXJnYywgY2hhciAqKmFyZ3Yp
DQo+ID4gPj4+PiAgCWlmIChyZXQgPCAwKQ0KPiA+ID4+Pj4gIAkJcnRlX2V4aXQoRVhJVF9GQUlM
VVJFLCAiZWhfZGV2c19pbml0IGZhaWxlZCwgZXJyPSVkXG4iLCByZXQpOw0KPiA+ID4+Pj4NCj4g
PiA+Pj4+ICsJLyogUmVwbGljYXRlIGVhY2ggY29udGV4dCBwZXIgc29ja2V0ICovDQo+ID4gPj4+
PiArCWZvciAoaSA9IDA7IGkgPCBOQl9TT0NLRVRTICYmIGkgPCBydGVfc29ja2V0X2NvdW50KCk7
IGkrKykgew0KPiA+ID4+Pj4gKwkJc29ja2V0X2lkID0gcnRlX3NvY2tldF9pZF9ieV9pZHgoaSk7
DQo+ID4gPj4+PiArCQlpZiAoKHNvY2tldF9jdHhbc29ja2V0X2lkXS5tYnVmX3Bvb2wgIT0gTlVM
TCkgJiYNCj4gPiA+Pj4+ICsJCQkoc29ja2V0X2N0eFtzb2NrZXRfaWRdLnNhX2luID09IE5VTEwp
ICYmDQo+ID4gPj4+PiArCQkJKHNvY2tldF9jdHhbc29ja2V0X2lkXS5zYV9vdXQgPT0gTlVMTCkp
IHsNCj4gPiA+Pj4+ICsJCQlzYV9pbml0KCZzb2NrZXRfY3R4W3NvY2tldF9pZF0sIHNvY2tldF9p
ZCk7DQo+ID4gPj4+PiArCQkJc3A0X2luaXQoJnNvY2tldF9jdHhbc29ja2V0X2lkXSwgc29ja2V0
X2lkKTsNCj4gPiA+Pj4+ICsJCQlzcDZfaW5pdCgmc29ja2V0X2N0eFtzb2NrZXRfaWRdLCBzb2Nr
ZXRfaWQpOw0KPiA+ID4+Pj4gKwkJCXJ0X2luaXQoJnNvY2tldF9jdHhbc29ja2V0X2lkXSwgc29j
a2V0X2lkKTsNCj4gPiA+Pj4+ICsJCX0NCj4gPiA+Pj4+ICsJfQ0KPiA+ID4+Pj4gKw0KPiA+ID4+
Pj4gIAkvKiBzdGFydCBwb3J0cyAqLw0KPiA+ID4+Pj4gIAlSVEVfRVRIX0ZPUkVBQ0hfREVWKHBv
cnRpZCkgew0KPiA+ID4+Pj4gIAkJaWYgKChlbmFibGVkX3BvcnRfbWFzayAmICgxIDw8IHBvcnRp
ZCkpID09IDApIEBAIC0yODY2LDE5DQo+ID4gPj4+PiArMjg3OSw2IEBAIG1haW4oaW50MzJfdCBh
cmdjLCBjaGFyICoqYXJndikNCj4gPiA+Pj4+ICAJCQlydGVfZXhpdChFWElUX0ZBSUxVUkUsICJm
YWlsZWQgYXQgcmVhc3NlbWJsZSBpbml0Iik7DQo+ID4gPj4+PiAgCX0NCj4gPiA+Pj4+DQo+ID4g
Pj4+PiAtCS8qIFJlcGxpY2F0ZSBlYWNoIGNvbnRleHQgcGVyIHNvY2tldCAqLw0KPiA+ID4+Pj4g
LQlmb3IgKGkgPSAwOyBpIDwgTkJfU09DS0VUUyAmJiBpIDwgcnRlX3NvY2tldF9jb3VudCgpOyBp
KyspIHsNCj4gPiA+Pj4+IC0JCXNvY2tldF9pZCA9IHJ0ZV9zb2NrZXRfaWRfYnlfaWR4KGkpOw0K
PiA+ID4+Pj4gLQkJaWYgKChzb2NrZXRfY3R4W3NvY2tldF9pZF0ubWJ1Zl9wb29sICE9IE5VTEwp
ICYmDQo+ID4gPj4+PiAtCQkJKHNvY2tldF9jdHhbc29ja2V0X2lkXS5zYV9pbiA9PSBOVUxMKSAm
Jg0KPiA+ID4+Pj4gLQkJCShzb2NrZXRfY3R4W3NvY2tldF9pZF0uc2Ffb3V0ID09IE5VTEwpKSB7
DQo+ID4gPj4+PiAtCQkJc2FfaW5pdCgmc29ja2V0X2N0eFtzb2NrZXRfaWRdLCBzb2NrZXRfaWQp
Ow0KPiA+ID4+Pj4gLQkJCXNwNF9pbml0KCZzb2NrZXRfY3R4W3NvY2tldF9pZF0sIHNvY2tldF9p
ZCk7DQo+ID4gPj4+PiAtCQkJc3A2X2luaXQoJnNvY2tldF9jdHhbc29ja2V0X2lkXSwgc29ja2V0
X2lkKTsNCj4gPiA+Pj4+IC0JCQlydF9pbml0KCZzb2NrZXRfY3R4W3NvY2tldF9pZF0sIHNvY2tl
dF9pZCk7DQo+ID4gPj4+PiAtCQl9DQo+ID4gPj4+PiAtCX0NCj4gPiA+Pj4+IC0NCj4gPiA+Pj4+
ICAJY2hlY2tfYWxsX3BvcnRzX2xpbmtfc3RhdHVzKGVuYWJsZWRfcG9ydF9tYXNrKTsNCj4gPiA+
Pj4+DQo+ID4gPj4+PiAgCS8qIGxhdW5jaCBwZXItbGNvcmUgaW5pdCBvbiBldmVyeSBsY29yZSAq
Lw0KPiA+ID4+PiA+DQo=