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 7C947428C4;
	Mon,  3 Apr 2023 23:26:05 +0200 (CEST)
Received: from mails.dpdk.org (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id 4B0E04067E;
	Mon,  3 Apr 2023 23:26:04 +0200 (CEST)
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on2042.outbound.protection.outlook.com [40.107.14.42])
 by mails.dpdk.org (Postfix) with ESMTP id 3CD7C40156
 for <dev@dpdk.org>; Mon,  3 Apr 2023 23:26:02 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; 
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6MCedmdoLcbj4H6IxbDK4Pd68Z/ftQmBsMCAkFGN8x0=;
 b=tQAjlHSMl8jka6CZ8AmPbV8pYGi+6WI7toIMzAl7/BcM7uFCWQOCzQpX22lamx/N6eXIUvjW+tArWk3LRDCskXnpYArF+Z3I475EYo34pmfoN9b675+TPrAPsDqm/rlZNBDej8tsyhC07XiRZGz7PTbutmGeMkI4jgXN4S2PSSU=
Received: from AS8P250CA0016.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:330::21)
 by DU0PR08MB9535.eurprd08.prod.outlook.com (2603:10a6:10:44d::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.30; Mon, 3 Apr
 2023 21:25:59 +0000
Received: from AM7EUR03FT030.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:330:cafe::24) by AS8P250CA0016.outlook.office365.com
 (2603:10a6:20b:330::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.22 via Frontend
 Transport; Mon, 3 Apr 2023 21:25:59 +0000
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT030.mail.protection.outlook.com (100.127.140.180) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6222.22 via Frontend Transport; Mon, 3 Apr 2023 21:25:59 +0000
Received: ("Tessian outbound 5154e9d36775:v136");
 Mon, 03 Apr 2023 21:25:59 +0000
X-CR-MTA-TID: 64aa7808
Received: from 5a5f3025b3dc.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 80A2B613-2B6A-4562-8530-46039C3BEB83.1; 
 Mon, 03 Apr 2023 21:25:52 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 5a5f3025b3dc.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 03 Apr 2023 21:25:52 +0000
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IRecwbmT7Gc4h6C2JMzihhmm0V36wMTHSym48ltsk+usBhYCHcJP3EXCMREpE3LYKbr/fVk6z8tvyWhmeuih8EK9ct16M3+MUEBfJsJ4g/938stcQ/3K/Ju3Sp/n8m1ox+HuZawOJMIKh2pqXu828uEHVTDwj+FTEWNoH5olLRXikdjSEZFIvA9HxFR320nGjJZW/IjJ3pUwczA/1lq6JFJSEnnh0Bh5yMsTZv6XoMbGggg7T/a7O68+FczXy4JRwGRaZQNn1Q8CSRPRlWNKsLWMU+W79pTaMD25KUn67yNf4uh0GdbvZnO1xnXoUdHHdcGyQHIMWowTjU2Z21R4tg==
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=6MCedmdoLcbj4H6IxbDK4Pd68Z/ftQmBsMCAkFGN8x0=;
 b=hkuqEIAAb9J9csjynaqIH3diao6nbhKZzcBnnIwJHYNDtDV9ZuLCytHMX1fP7/+nECsOZagkjbTBvordidXgtk/lFHa1C4VqjXAmOLk4yKC3LNn9534STNgOS8yr+3i1srXkHReFxHN3l9U+M/FzdibddwkbCiUwFiZhk/V0VhtSPQEo4lz54MDzgsSXip2uNz2y9OA+v12IFpEXQVBYskylxJTo/49dT5Tun8cxEnodfQU8oKCeLdeTLQ6vr8mo3kjF23HX9CRMy6wg0AhClbmCtAbjIfty1smwNSmUOLS/oigWkdC6wNtyiWZFK0rR1+fOEBUAw+ce16bID/PeFw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; 
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6MCedmdoLcbj4H6IxbDK4Pd68Z/ftQmBsMCAkFGN8x0=;
 b=tQAjlHSMl8jka6CZ8AmPbV8pYGi+6WI7toIMzAl7/BcM7uFCWQOCzQpX22lamx/N6eXIUvjW+tArWk3LRDCskXnpYArF+Z3I475EYo34pmfoN9b675+TPrAPsDqm/rlZNBDej8tsyhC07XiRZGz7PTbutmGeMkI4jgXN4S2PSSU=
Received: from DBAPR08MB5814.eurprd08.prod.outlook.com (2603:10a6:10:1b1::6)
 by DB4PR08MB8175.eurprd08.prod.outlook.com (2603:10a6:10:381::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.33; Mon, 3 Apr
 2023 21:25:48 +0000
Received: from DBAPR08MB5814.eurprd08.prod.outlook.com
 ([fe80::11e6:9bd8:f4e9:7bbb]) by DBAPR08MB5814.eurprd08.prod.outlook.com
 ([fe80::11e6:9bd8:f4e9:7bbb%6]) with mapi id 15.20.6254.033; Mon, 3 Apr 2023
 21:25:48 +0000
From: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>
To: =?utf-8?B?TWF0dGlhcyBSw7ZubmJsb20=?= <hofors@lysator.liu.se>, Tyler
 Retzlaff <roretzla@linux.microsoft.com>, "dev@dpdk.org" <dev@dpdk.org>
CC: "david.marchand@redhat.com" <david.marchand@redhat.com>,
 "thomas@monjalon.net" <thomas@monjalon.net>, "mb@smartsharesystems.com"
 <mb@smartsharesystems.com>, "bruce.richardson@intel.com"
 <bruce.richardson@intel.com>, nd <nd@arm.com>, nd <nd@arm.com>
Subject: RE: [PATCH v2] eal: introduce atomics abstraction
Thread-Topic: [PATCH v2] eal: introduce atomics abstraction
Thread-Index: AQHZZnDmpIPuCenQrUWL6eR7LzSo3a8aGG8Q
Date: Mon, 3 Apr 2023 21:25:48 +0000
Message-ID: <DBAPR08MB581431C5B032184D84A32E0598929@DBAPR08MB5814.eurprd08.prod.outlook.com>
References: <1673558785-24992-1-git-send-email-roretzla@linux.microsoft.com>
 <1675892618-31755-1-git-send-email-roretzla@linux.microsoft.com>
 <1675892618-31755-2-git-send-email-roretzla@linux.microsoft.com>
 <5c2ab2bd-6a73-6c58-e789-83326d7ee129@lysator.liu.se>
In-Reply-To: <5c2ab2bd-6a73-6c58-e789-83326d7ee129@lysator.liu.se>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ts-tracking-id: 6A17ADBB49A94D47B62F698D4A49FEEF.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic: DBAPR08MB5814:EE_|DB4PR08MB8175:EE_|AM7EUR03FT030:EE_|DU0PR08MB9535:EE_
X-MS-Office365-Filtering-Correlation-Id: d38aa619-871a-420f-0ef3-08db348a050b
x-ld-processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original: 7Q8Hvf+o/2RI5hpZvsMvDEhpLTefTqsoP23Pv3Clk9+tfTPeVNzoy/Kt9YxJJSfk9Raz5ucLKC8Mgm6f3sFaDVLfDoEBOf/eBW5Zv00T4kKd8ws53WjnzY9jh6Ku5Q/wEeLULcRy+rpBfmxHC4EJIoKJEB+9BAcwbS48MqN1c0ydWMGiyKYN3p62N6MJNuAyiQmIjUL8O0Bfmiu3VYFvmq9rtC8FcqjQq/CBCqybwyHuvJ/NEzKe5j9wg3mB34rRfWbCyTNtkjHptmRbNvnHBz3oDwED+/AKRN3rN8RrYRvOJ0lEpt9M2WqBjgcLpvDBV8unhtXb1sUQTh4gZh5pD3Vc4aWyzak+OsnDbzNPWZ+4jjw8Jw7Xl5D/MxDVJE+cmUHYFd40W1Dbp5uVsjxLXmKTP+rNOpaqaW0bF5rPKt59H1KzXt1LmnXBKzZrjajAEh0l6WedEr2eaG9vTpJ3yID0VeySyLF4bAValYoJjV6aRTt0JeqosHaZDKihZgg3l326uQNeq6VjjxtwV4laI9/x2YRP2ZsjcGPb05Fb7xoCYIfA8g13UW45IcTn3yDHLsnwT2dI/NG6FlloBg6J1xSVNKTGnsbq3JwxucobzqLfr2yWKm8zQneO1IYaRMsk
X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en;
 SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DBAPR08MB5814.eurprd08.prod.outlook.com;
 PTR:; CAT:NONE;
 SFS:(13230028)(4636009)(396003)(366004)(376002)(346002)(136003)(39850400004)(451199021)(66574015)(478600001)(55016003)(186003)(71200400001)(53546011)(33656002)(9686003)(26005)(6506007)(7696005)(30864003)(2906002)(83380400001)(86362001)(54906003)(110136005)(52536014)(66476007)(66556008)(66946007)(76116006)(64756008)(66446008)(8936002)(5660300002)(8676002)(41300700001)(38100700002)(122000001)(316002)(296002)(4326008)(38070700005);
 DIR:OUT; SFP:1101; 
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR08MB8175
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM7EUR03FT030.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs: 11d357b6-5102-4c9b-e8fd-08db3489fe69
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 3mRd0n6kJgAQ2wq3GUra1XQfSPZlIAeD19jL09R8GPEO/NdZcTghttq5uBS8mPEepfuV9CZaCeBlXtAOXrGve+ywelA08dxJKMCtFwdhDrviq0/wlyW98AadR/Bs63FK54vHjBMREY5GeuTI+ZuYNVvfQUVjYyJ7ZMdfmHZLVHPZlL2Peq4Fu/frMLUh/CtoKRLs3KXDu/XxSZK7qdtMWAlIf33HSrvKMSWmojzKsYysKDYhpK/GS+1Ng1VeRh1rtRjzpFmbw+fC2zCcnPYfdQzi7bxVk5+xy8vOlfKK9lauOdf38r3VH2v+WgU5liUA/rjxgIKZsrk/Hjv9KsSMFVVfi+Jhgb60SiyF50gMXU6dnyX8krpJ1ynR2KPImMUvm8VKWI5ua3SxjklPD1S8JsGvOhWW3VEJq27WBge6TrPkrcLRyHaXoOQrLMmQUNCkBp1On09IZ4SIqpKeO9kcB69XXIUucjd7Xo3E8i5bg5Xt8mCTTZSKGHgTt8ucDeTvv7XMLXCeuRhqMzEzt/SvMRT7Dqgu9uLCJUMKczZRCHnQ9fcD+NuLv+2VsgvlsHvaUzQq/PpEPuMjjw0Hhdc/hAg6JvYU/8ChXWSNj9SbbNrQnuZz0ZVjrEP2aB6ZsXDj0TDIdZsQiCrlkMO2NdaUuCLhc5uSynwCEB4/QBXp1gYXBFVF1EktrfU/V6zDe5Bwus+dD9mvAGQpFcL67v8g5g==
X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:;
 IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com;
 PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE;
 SFS:(13230028)(4636009)(136003)(346002)(396003)(39860400002)(376002)(451199021)(36840700001)(40470700004)(46966006)(2906002)(55016003)(47076005)(40480700001)(33656002)(83380400001)(336012)(66574015)(26005)(6506007)(9686003)(186003)(36860700001)(7696005)(40460700003)(53546011)(81166007)(5660300002)(8936002)(82740400003)(54906003)(316002)(110136005)(356005)(30864003)(70206006)(4326008)(8676002)(52536014)(41300700001)(82310400005)(70586007)(478600001)(86362001);
 DIR:OUT; SFP:1101; 
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Apr 2023 21:25:59.7174 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d38aa619-871a-420f-0ef3-08db348a050b
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123];
 Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource: AM7EUR03FT030.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB9535
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

DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogTWF0dGlhcyBSw7ZubmJs
b20gPGhvZm9yc0BseXNhdG9yLmxpdS5zZT4NCj4gU2VudDogTW9uZGF5LCBBcHJpbCAzLCAyMDIz
IDQ6MTIgUE0NCj4gVG86IFR5bGVyIFJldHpsYWZmIDxyb3JldHpsYUBsaW51eC5taWNyb3NvZnQu
Y29tPjsgZGV2QGRwZGsub3JnDQo+IENjOiBkYXZpZC5tYXJjaGFuZEByZWRoYXQuY29tOyB0aG9t
YXNAbW9uamFsb24ubmV0Ow0KPiBtYkBzbWFydHNoYXJlc3lzdGVtcy5jb207IEhvbm5hcHBhIE5h
Z2FyYWhhbGxpDQo+IDxIb25uYXBwYS5OYWdhcmFoYWxsaUBhcm0uY29tPjsgYnJ1Y2UucmljaGFy
ZHNvbkBpbnRlbC5jb20NCj4gU3ViamVjdDogUmU6IFtQQVRDSCB2Ml0gZWFsOiBpbnRyb2R1Y2Ug
YXRvbWljcyBhYnN0cmFjdGlvbg0KPiANCj4gT24gMjAyMy0wMi0wOCAyMjo0MywgVHlsZXIgUmV0
emxhZmYgd3JvdGU6DQo+ID4gSW50cm9kdWNlIGF0b21pY3MgYWJzdHJhY3Rpb24gdGhhdCBwZXJt
aXRzIG9wdGlvbmFsIHVzZSBvZiBzdGFuZGFyZA0KPiA+IEMxMSBhdG9taWNzIHdoZW4gbWVzb24g
aXMgcHJvdmlkZWQgdGhlIG5ldyBlbmFibGVfc3RkYXRvbWljcz10cnVlIG9wdGlvbi4NCj4gPg0K
PiANCj4gVGVybWlub2xvZ3kgbml0cGlja2luZzogSSBkb24ndCB0aGluayB0aGVzZSBmdW5jdGlv
bnMgcHJvdmlkZSBhbnkgYWJzdHJhY3Rpb24gYXQNCj4gYWxsLiBUaGV5IGFyZSBqdXN0IHdyYXBw
ZXJzLg0KVGhpcyBwYXRjaCBzaG91bGQgYmUgZGVwcmVjYXRlZC4gQXMgcGVyIHRoZSBkZWNpc2lv
biBhdCBUZWNoYm9hcmQsIHdlIHdpbGwgbW92ZSB0byB1c2luZyBhdG9taWMgQVBJcyBmcm9tIHN0
ZGF0b21pY3MuaA0KDQo+IA0KPiA+IFNpZ25lZC1vZmYtYnk6IFR5bGVyIFJldHpsYWZmIDxyb3Jl
dHpsYUBsaW51eC5taWNyb3NvZnQuY29tPg0KPiA+IC0tLQ0KPiA+ICAgY29uZmlnL21lc29uLmJ1
aWxkICAgICAgICAgICAgICAgICAgICAgfCAxMSArKysrDQo+ID4gICBsaWIvZWFsL2FybS9pbmNs
dWRlL3J0ZV9hdG9taWNfMzIuaCAgICB8ICA2ICsrLQ0KPiA+ICAgbGliL2VhbC9hcm0vaW5jbHVk
ZS9ydGVfYXRvbWljXzY0LmggICAgfCAgNiArKy0NCj4gPiAgIGxpYi9lYWwvaW5jbHVkZS9nZW5l
cmljL3J0ZV9hdG9taWMuaCAgIHwgOTYNCj4gKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrLQ0KPiA+ICAgbGliL2VhbC9sb29uZ2FyY2gvaW5jbHVkZS9ydGVfYXRvbWljLmggfCAgNiAr
Ky0NCj4gPiAgIGxpYi9lYWwvcHBjL2luY2x1ZGUvcnRlX2F0b21pYy5oICAgICAgIHwgIDYgKyst
DQo+ID4gICBsaWIvZWFsL3Jpc2N2L2luY2x1ZGUvcnRlX2F0b21pYy5oICAgICB8ICA2ICsrLQ0K
PiA+ICAgbGliL2VhbC94ODYvaW5jbHVkZS9ydGVfYXRvbWljLmggICAgICAgfCAgOCArKy0NCj4g
PiAgIG1lc29uX29wdGlvbnMudHh0ICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKw0KPiA+ICAg
OSBmaWxlcyBjaGFuZ2VkLCAxMzkgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkNCj4gPg0K
PiA+IGRpZmYgLS1naXQgYS9jb25maWcvbWVzb24uYnVpbGQgYi9jb25maWcvbWVzb24uYnVpbGQg
aW5kZXgNCj4gPiAyNmYzMTY4Li4yNWRkNjI4IDEwMDY0NA0KPiA+IC0tLSBhL2NvbmZpZy9tZXNv
bi5idWlsZA0KPiA+ICsrKyBiL2NvbmZpZy9tZXNvbi5idWlsZA0KPiA+IEBAIC0yNTUsNiArMjU1
LDE3IEBAIGVuZGlmDQo+ID4gICAjIGFkZCAtaW5jbHVkZSBydGVfY29uZmlnIHRvIGNmbGFncw0K
PiA+ICAgYWRkX3Byb2plY3RfYXJndW1lbnRzKCctaW5jbHVkZScsICdydGVfY29uZmlnLmgnLCBs
YW5ndWFnZTogJ2MnKQ0KPiA+DQo+ID4gK3N0ZGNfYXRvbWljc19lbmFibGVkID0gZ2V0X29wdGlv
bignZW5hYmxlX3N0ZGF0b21pY3MnKQ0KPiA+ICtkcGRrX2NvbmYuc2V0KCdSVEVfU1REQ19BVE9N
SUNTJywgc3RkY19hdG9taWNzX2VuYWJsZWQpDQo+ID4gKw0KPiA+ICtpZiBzdGRjX2F0b21pY3Nf
ZW5hYmxlZA0KPiA+ICtpZiBjYy5nZXRfaWQoKSA9PSAnZ2NjJyBvciBjYy5nZXRfaWQoKSA9PSAn
Y2xhbmcnDQo+ID4gKyAgICBhZGRfcHJvamVjdF9hcmd1bWVudHMoJy1zdGQ9Z251MTEnLCBsYW5n
dWFnZTogJ2MnKSBlbHNlDQo+ID4gKyAgICBhZGRfcHJvamVjdF9hcmd1bWVudHMoJy1zdGQ9YzEx
JywgbGFuZ3VhZ2U6ICdjJykgZW5kaWYgZW5kaWYNCj4gPiArDQo+ID4gICAjIGVuYWJsZSBleHRy
YSB3YXJuaW5ncyBhbmQgZGlzYWJsZSBhbnkgdW53YW50ZWQgd2FybmluZ3MNCj4gPiAgICMgLVdh
bGwgaXMgYWRkZWQgYnkgZGVmYXVsdCBhdCB3YXJuaW5nIGxldmVsIDEsIGFuZCAtV2V4dHJhDQo+
ID4gICAjIGF0IHdhcm5pbmcgbGV2ZWwgMiAoRFBESyBkZWZhdWx0KQ0KPiA+IGRpZmYgLS1naXQg
YS9saWIvZWFsL2FybS9pbmNsdWRlL3J0ZV9hdG9taWNfMzIuaA0KPiA+IGIvbGliL2VhbC9hcm0v
aW5jbHVkZS9ydGVfYXRvbWljXzMyLmgNCj4gPiBpbmRleCBjMDBhYjc4Li43MDg4YTEyIDEwMDY0
NA0KPiA+IC0tLSBhL2xpYi9lYWwvYXJtL2luY2x1ZGUvcnRlX2F0b21pY18zMi5oDQo+ID4gKysr
IGIvbGliL2VhbC9hcm0vaW5jbHVkZS9ydGVfYXRvbWljXzMyLmgNCj4gPiBAQCAtMzQsOSArMzQs
MTMgQEANCj4gPiAgICNkZWZpbmUgcnRlX2lvX3JtYigpIHJ0ZV9ybWIoKQ0KPiA+DQo+ID4gICBz
dGF0aWMgX19ydGVfYWx3YXlzX2lubGluZSB2b2lkDQo+ID4gLXJ0ZV9hdG9taWNfdGhyZWFkX2Zl
bmNlKGludCBtZW1vcmRlcikNCj4gPiArcnRlX2F0b21pY190aHJlYWRfZmVuY2UocnRlX21lbW9y
eV9vcmRlciBtZW1vcmRlcikNCj4gPiAgIHsNCj4gPiArI2lmZGVmIFJURV9TVERDX0FUT01JQ1MN
Cj4gPiArCWF0b21pY190aHJlYWRfZmVuY2UobWVtb3JkZXIpOw0KPiA+ICsjZWxzZQ0KPiA+ICAg
CV9fYXRvbWljX3RocmVhZF9mZW5jZShtZW1vcmRlcik7DQo+ID4gKyNlbmRpZg0KPiA+ICAgfQ0K
PiA+DQo+ID4gICAjaWZkZWYgX19jcGx1c3BsdXMNCj4gPiBkaWZmIC0tZ2l0IGEvbGliL2VhbC9h
cm0vaW5jbHVkZS9ydGVfYXRvbWljXzY0LmgNCj4gPiBiL2xpYi9lYWwvYXJtL2luY2x1ZGUvcnRl
X2F0b21pY182NC5oDQo+ID4gaW5kZXggNjA0NzkxMS4uN2YwMmM1NyAxMDA2NDQNCj4gPiAtLS0g
YS9saWIvZWFsL2FybS9pbmNsdWRlL3J0ZV9hdG9taWNfNjQuaA0KPiA+ICsrKyBiL2xpYi9lYWwv
YXJtL2luY2x1ZGUvcnRlX2F0b21pY182NC5oDQo+ID4gQEAgLTM4LDkgKzM4LDEzIEBADQo+ID4g
ICAjZGVmaW5lIHJ0ZV9pb19ybWIoKSBydGVfcm1iKCkNCj4gPg0KPiA+ICAgc3RhdGljIF9fcnRl
X2Fsd2F5c19pbmxpbmUgdm9pZA0KPiA+IC1ydGVfYXRvbWljX3RocmVhZF9mZW5jZShpbnQgbWVt
b3JkZXIpDQo+ID4gK3J0ZV9hdG9taWNfdGhyZWFkX2ZlbmNlKHJ0ZV9tZW1vcnlfb3JkZXIgbWVt
b3JkZXIpDQo+ID4gICB7DQo+ID4gKyNpZmRlZiBSVEVfU1REQ19BVE9NSUNTDQo+ID4gKwlhdG9t
aWNfdGhyZWFkX2ZlbmNlKG1lbW9yZGVyKTsNCj4gPiArI2Vsc2UNCj4gPiAgIAlfX2F0b21pY190
aHJlYWRfZmVuY2UobWVtb3JkZXIpOw0KPiA+ICsjZW5kaWYNCj4gPiAgIH0NCj4gPg0KPiA+ICAg
LyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gMTI4IGJpdCBhdG9taWMgb3BlcmF0aW9ucw0KPiA+
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLyBkaWZmIC0tZ2l0DQo+ID4gYS9saWIvZWFsL2lu
Y2x1ZGUvZ2VuZXJpYy9ydGVfYXRvbWljLmgNCj4gPiBiL2xpYi9lYWwvaW5jbHVkZS9nZW5lcmlj
L3J0ZV9hdG9taWMuaA0KPiA+IGluZGV4IGY1YzQ5YTkuLjM5MmQ5MjggMTAwNjQ0DQo+ID4gLS0t
IGEvbGliL2VhbC9pbmNsdWRlL2dlbmVyaWMvcnRlX2F0b21pYy5oDQo+ID4gKysrIGIvbGliL2Vh
bC9pbmNsdWRlL2dlbmVyaWMvcnRlX2F0b21pYy5oDQo+ID4gQEAgLTExMCw2ICsxMTAsMTAwIEBA
DQo+ID4NCj4gPiAgICNlbmRpZiAvKiBfX0RPWFlHRU5fXyAqLw0KPiA+DQo+ID4gKyNpZmRlZiBS
VEVfU1REQ19BVE9NSUNTDQo+ID4gKw0KPiA+ICsjaWYgIWRlZmluZWQoX19TVERDX1ZFUlNJT05f
XykgfHwgX19TVERDX1ZFUlNJT05fXyA8IDIwMTExMkwgfHwNCj4gPiArZGVmaW5lZChfX1NURENf
Tk9fQVRPTUlDU19fKSAjZXJyb3IgY29tcGlsZXIgZG9lcyBub3Qgc3VwcG9ydCBDMTENCj4gPiAr
c3RhbmRhcmQgYXRvbWljcyAjZWxzZSAjaW5jbHVkZSA8c3RkYXRvbWljLmg+ICNlbmRpZg0KPiA+
ICsNCj4gPiArI2RlZmluZSBfX3J0ZV9hdG9taWMgX0F0b21pYw0KPiA+ICsNCj4gPiArdHlwZWRl
ZiBpbnQgcnRlX21lbW9yeV9vcmRlcjsNCj4gPiArDQo+ID4gKyNkZWZpbmUgcnRlX21lbW9yeV9v
cmRlcl9yZWxheGVkIG1lbW9yeV9vcmRlcl9yZWxheGVkICNkZWZpbmUNCj4gPiArcnRlX21lbW9y
eV9vcmRlcl9jb25zdW1lIG1lbW9yeV9vcmRlcl9jb25zdW1lICNkZWZpbmUNCj4gPiArcnRlX21l
bW9yeV9vcmRlcl9hY3F1aXJlIG1lbW9yeV9vcmRlcl9hY3F1aXJlICNkZWZpbmUNCj4gPiArcnRl
X21lbW9yeV9vcmRlcl9yZWxlYXNlIG1lbW9yeV9vcmRlcl9yZWxlYXNlICNkZWZpbmUNCj4gPiAr
cnRlX21lbW9yeV9vcmRlcl9hY3FfcmVsIG1lbW9yeV9vcmRlcl9hY3FfcmVsICNkZWZpbmUNCj4g
PiArcnRlX21lbW9yeV9vcmRlcl9zZXFfY3N0IG1lbW9yeV9vcmRlcl9zZXFfY3N0DQo+ID4gKw0K
PiANCj4gV291bGQgdGhpcyBiZSBiZXR0ZXIgb2YgYXMgYW4gZW51bSwgcmF0aGVyIHRoYW4gYSB0
eXBlZGVmPyBJZiB0eXBlZGVmLCBpdCBzaG91bGQNCj4gaGF2ZSB0aGUgIl90IiBwb3N0Zml4LiBB
bHNvLCB0aGUgI2RlZmluZSBzaG91bGQgYmUgYWxsLWNhcHMuDQo+IA0KPiA+ICsjZGVmaW5lIHJ0
ZV9hdG9taWNfc3RvcmVfZXhwbGljaXQob2JqLCBkZXNpcmVkLCBvcmRlcikgXA0KPiA+ICsJYXRv
bWljX3N0b3JlX2V4cGxpY2l0KG9iaiwgZGVzaXJlZCwgb3JkZXIpDQo+ID4gKw0KPiANCj4gRHJv
cCAiZXhwbGljaXQiIGZyb20gYWxsIHRoZSBuYW1lcy4gSXQncyBqdXN0IG5vaXNlLiBBbHNvLCB0
aGUgbWVtb3J5IG9yZGVycyBoYXZlDQo+IHZlcnkgbG9uZyBuYW1lcy4NCj4gDQo+IFdlIGhhdmVu
J3QgZXZlbiBtb3ZlIGFsbCBEUERLIGNvZGUgb3ZlciBmcm9tIHRoZSBvbGQgQVBJLCB0byB1c2lu
ZyBHQ0MNCj4gQzExIGJ1aWx0LWlucywgYW5kIG5vdyB3ZSBhcmUgc3dpdGNoaW5nIHRvIGEgbmV3
IEFQST8NCj4gDQo+ID4gKyNkZWZpbmUgcnRlX2F0b21pY19sb2FkX2V4cGxpY2l0KG9iaiwgb3Jk
ZXIpIFwNCj4gPiArCWF0b21pY19sb2FkX2V4cGxpY2l0KG9iaiwgb3JkZXIpDQo+ID4gKw0KPiA+
ICsjZGVmaW5lIHJ0ZV9hdG9taWNfZXhjaGFuZ2VfZXhwbGljaXQob2JqLCBkZXNpcmVkLCBvcmRl
cikgXA0KPiA+ICsJYXRvbWljX2V4Y2hhbmdlX2V4cGxpY2l0KG9iaiwgZGVzaXJlZCwgb3JkZXIp
DQo+ID4gKw0KPiA+ICsjZGVmaW5lIHJ0ZV9hdG9taWNfY29tcGFyZV9leGNoYW5nZV9zdHJvbmdf
ZXhwbGljaXQob2JqLCBleHBlY3RlZCwNCj4gZGVzaXJlZCwgc3VjY2VzcywgZmFpbCkgXA0KPiA+
ICsJYXRvbWljX2NvbXBhcmVfZXhjaGFuZ2Vfc3Ryb25nX2V4cGxpY2l0KG9iaiwgZXhwZWN0ZWQs
IGRlc2lyZWQsDQo+ID4gK3N1Y2Nlc3MsIGZhaWwpDQo+ID4gKw0KPiA+ICsjZGVmaW5lIHJ0ZV9h
dG9taWNfY29tcGFyZV9leGNoYW5nZV93ZWFrX2V4cGxpY2l0KG9iaiwgZXhwZWN0ZWQsDQo+IGRl
c2lyZWQsIHN1Y2Nlc3MsIGZhaWwpIFwNCj4gPiArCWF0b21pY19jb21wYXJlX2V4Y2hhbmdlX3dl
YWtfZXhwbGljaXQob2JqLCBleHBlY3RlZCwgZGVzaXJlZCwNCj4gPiArc3VjY2VzcywgZmFpbCkN
Cj4gPiArDQo+ID4gKyNkZWZpbmUgcnRlX2F0b21pY19mZXRjaF9hZGRfZXhwbGljaXQob2JqLCBh
cmcsIG9yZGVyKSBcDQo+ID4gKwlhdG9taWNfZmV0Y2hfYWRkX2V4cGxpY2l0KG9iaiwgYXJnLCBv
cmRlcikNCj4gPiArDQo+ID4gKyNkZWZpbmUgcnRlX2F0b21pY19mZXRjaF9zdWJfZXhwbGljaXQo
b2JqLCBhcmcsIG9yZGVyKSBcDQo+ID4gKwlhdG9taWNfZmV0Y2hfc3ViX2V4cGxpY2l0KG9iaiwg
YXJnLCBvcmRlcikNCj4gPiArDQo+ID4gKyNkZWZpbmUgcnRlX2F0b21pY19mZXRjaF9vcl9leHBs
aWNpdChvYmosIGFyZywgb3JkZXIpIFwNCj4gPiArCWF0b21pY19mZXRjaF9vcl9leHBsaWNpdChv
YmosIGFyZywgb3JkZXIpDQo+ID4gKw0KPiA+ICsjZGVmaW5lIHJ0ZV9hdG9taWNfZmV0Y2hfeG9y
X2V4cGxpY2l0KG9iaiwgYXJnLCBvcmRlcikgXA0KPiA+ICsJYXRvbWljX2ZldGNoX3hvcl9leHBs
aWNpdChvYmosIGFyZywgb3JkZXIpDQo+ID4gKw0KPiA+ICsjZGVmaW5lIHJ0ZV9hdG9taWNfZmV0
Y2hfYW5kX2V4cGxpY2l0KG9iaiwgYXJnLCBvcmRlcikgXA0KPiA+ICsJYXRvbWljX2ZldGNoX2Fu
ZF9leHBsaWNpdChvYmosIGFyZywgb3JkZXIpDQo+ID4gKw0KPiA+ICsjZWxzZQ0KPiA+ICsNCj4g
PiArI2RlZmluZSBfX3J0ZV9hdG9taWMNCj4gPiArDQo+ID4gK3R5cGVkZWYgaW50IHJ0ZV9tZW1v
cnlfb3JkZXI7DQo+ID4gKw0KPiA+ICsjZGVmaW5lIHJ0ZV9tZW1vcnlfb3JkZXJfcmVsYXhlZCBf
X0FUT01JQ19SRUxBWEVEICNkZWZpbmUNCj4gPiArcnRlX21lbW9yeV9vcmRlcl9jb25zdW1lIF9f
QVRPTUlDX0NPTlNVTUUgI2RlZmluZQ0KPiA+ICtydGVfbWVtb3J5X29yZGVyX2FjcXVpcmUgX19B
VE9NSUNfQUNRVUlSRSAjZGVmaW5lDQo+ID4gK3J0ZV9tZW1vcnlfb3JkZXJfcmVsZWFzZSBfX0FU
T01JQ19SRUxFQVNFICNkZWZpbmUNCj4gPiArcnRlX21lbW9yeV9vcmRlcl9hY3FfcmVsIF9fQVRP
TUlDX0FDUV9SRUwgI2RlZmluZQ0KPiA+ICtydGVfbWVtb3J5X29yZGVyX3NlcV9jc3QgX19BVE9N
SUNfU0VRX0NTVA0KPiA+ICsNCj4gPiArI2RlZmluZSBydGVfYXRvbWljX3N0b3JlX2V4cGxpY2l0
KG9iaiwgZGVzaXJlZCwgb3JkZXIpIFwNCj4gPiArCV9fYXRvbWljX3N0b3JlX24ob2JqLCBkZXNp
cmVkLCBvcmRlcikNCj4gPiArDQo+ID4gKyNkZWZpbmUgcnRlX2F0b21pY19sb2FkX2V4cGxpY2l0
KG9iaiwgb3JkZXIpIFwNCj4gPiArCV9fYXRvbWljX2xvYWRfbihvYmosIG9yZGVyKQ0KPiA+ICsN
Cj4gPiArI2RlZmluZSBydGVfYXRvbWljX2V4Y2hhbmdlX2V4cGxpY2l0KG9iaiwgZGVzaXJlZCwg
b3JkZXIpIFwNCj4gPiArCV9fYXRvbWljX2V4Y2hhbmdlX24ob2JqLCBkZXNpcmVkLCBvcmRlcikN
Cj4gPiArDQo+ID4gKyNkZWZpbmUgcnRlX2F0b21pY19jb21wYXJlX2V4Y2hhbmdlX3N0cm9uZ19l
eHBsaWNpdChvYmosIGV4cGVjdGVkLA0KPiBkZXNpcmVkLCBzdWNjZXNzLCBmYWlsKSBcDQo+ID4g
KwlfX2F0b21pY19jb21wYXJlX2V4Y2hhbmdlX24ob2JqLCBleHBlY3RlZCwgZGVzaXJlZCwgMCwg
c3VjY2VzcywNCj4gPiArZmFpbCkNCj4gPiArDQo+ID4gKyNkZWZpbmUgcnRlX2F0b21pY19jb21w
YXJlX2V4Y2hhbmdlX3dlYWtfZXhwbGljaXQob2JqLCBleHBlY3RlZCwNCj4gZGVzaXJlZCwgc3Vj
Y2VzcywgZmFpbCkgXA0KPiA+ICsJX19hdG9taWNfY29tcGFyZV9leGNoYW5nZV9uKG9iaiwgZXhw
ZWN0ZWQsIGRlc2lyZWQsIDEsIHN1Y2Nlc3MsDQo+ID4gK2ZhaWwpDQo+ID4gKw0KPiA+ICsjZGVm
aW5lIHJ0ZV9hdG9taWNfZmV0Y2hfYWRkX2V4cGxpY2l0KG9iaiwgYXJnLCBvcmRlcikgXA0KPiA+
ICsJX19hdG9taWNfZmV0Y2hfYWRkKG9iaiwgYXJnLCBvcmRlcikNCj4gPiArDQo+ID4gKyNkZWZp
bmUgcnRlX2F0b21pY19mZXRjaF9zdWJfZXhwbGljaXQob2JqLCBhcmcsIG9yZGVyKSBcDQo+ID4g
KwlfX2F0b21pY19mZXRjaF9zdWIob2JqLCBhcmcsIG9yZGVyKQ0KPiA+ICsNCj4gPiArI2RlZmlu
ZSBydGVfYXRvbWljX2ZldGNoX29yX2V4cGxpY2l0KG9iaiwgYXJnLCBvcmRlcikgXA0KPiA+ICsJ
X19hdG9taWNfZmV0Y2hfb3Iob2JqLCBhcmcsIG9yZGVyKQ0KPiA+ICsNCj4gPiArI2RlZmluZSBy
dGVfYXRvbWljX2ZldGNoX3hvcl9leHBsaWNpdChvYmosIGFyZywgb3JkZXIpIFwNCj4gPiArCV9f
YXRvbWljX2ZldGNoX3hvcihvYmosIGFyZywgb3JkZXIpDQo+ID4gKw0KPiA+ICsjZGVmaW5lIHJ0
ZV9hdG9taWNfZmV0Y2hfYW5kX2V4cGxpY2l0KG9iaiwgYXJnLCBvcmRlcikgXA0KPiA+ICsJX19h
dG9taWNfZmV0Y2hfYW5kKG9iaiwgYXJnLCBvcmRlcikNCj4gPiArDQo+ID4gKyNlbmRpZg0KPiA+
ICsNCj4gPiAgIC8qKg0KPiA+ICAgICogQ29tcGlsZXIgYmFycmllci4NCj4gPiAgICAqDQo+ID4g
QEAgLTEyMyw3ICsyMTcsNyBAQA0KPiA+ICAgLyoqDQo+ID4gICAgKiBTeW5jaHJvbml6YXRpb24g
ZmVuY2UgYmV0d2VlbiB0aHJlYWRzIGJhc2VkIG9uIHRoZSBzcGVjaWZpZWQgbWVtb3J5DQo+IG9y
ZGVyLg0KPiA+ICAgICovDQo+ID4gLXN0YXRpYyBpbmxpbmUgdm9pZCBydGVfYXRvbWljX3RocmVh
ZF9mZW5jZShpbnQgbWVtb3JkZXIpOw0KPiA+ICtzdGF0aWMgaW5saW5lIHZvaWQgcnRlX2F0b21p
Y190aHJlYWRfZmVuY2UocnRlX21lbW9yeV9vcmRlcg0KPiA+ICttZW1vcmRlcik7DQo+ID4NCj4g
PiAgIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAxNiBiaXQgYXRvbWljIG9wZXJhdGlvbnMN
Cj4gPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCj4gPg0KPiA+IGRpZmYgLS1naXQgYS9s
aWIvZWFsL2xvb25nYXJjaC9pbmNsdWRlL3J0ZV9hdG9taWMuaA0KPiA+IGIvbGliL2VhbC9sb29u
Z2FyY2gvaW5jbHVkZS9ydGVfYXRvbWljLmgNCj4gPiBpbmRleCAzYzgyODQ1Li42NmFhMGM4IDEw
MDY0NA0KPiA+IC0tLSBhL2xpYi9lYWwvbG9vbmdhcmNoL2luY2x1ZGUvcnRlX2F0b21pYy5oDQo+
ID4gKysrIGIvbGliL2VhbC9sb29uZ2FyY2gvaW5jbHVkZS9ydGVfYXRvbWljLmgNCj4gPiBAQCAt
MzUsOSArMzUsMTMgQEANCj4gPiAgICNkZWZpbmUgcnRlX2lvX3JtYigpCXJ0ZV9tYigpDQo+ID4N
Cj4gPiAgIHN0YXRpYyBfX3J0ZV9hbHdheXNfaW5saW5lIHZvaWQNCj4gPiAtcnRlX2F0b21pY190
aHJlYWRfZmVuY2UoaW50IG1lbW9yZGVyKQ0KPiA+ICtydGVfYXRvbWljX3RocmVhZF9mZW5jZShy
dGVfbWVtb3J5X29yZGVyIG1lbW9yZGVyKQ0KPiA+ICAgew0KPiA+ICsjaWZkZWYgUlRFX1NURENf
QVRPTUlDUw0KPiA+ICsJYXRvbWljX3RocmVhZF9mZW5jZShtZW1vcmRlcik7DQo+ID4gKyNlbHNl
DQo+ID4gICAJX19hdG9taWNfdGhyZWFkX2ZlbmNlKG1lbW9yZGVyKTsNCj4gPiArI2VuZGlmDQo+
ID4gICB9DQo+ID4NCj4gPiAgICNpZmRlZiBfX2NwbHVzcGx1cw0KPiA+IGRpZmYgLS1naXQgYS9s
aWIvZWFsL3BwYy9pbmNsdWRlL3J0ZV9hdG9taWMuaA0KPiA+IGIvbGliL2VhbC9wcGMvaW5jbHVk
ZS9ydGVfYXRvbWljLmgNCj4gPiBpbmRleCA2NjNiNGQzLi5hNDI4YTgzIDEwMDY0NA0KPiA+IC0t
LSBhL2xpYi9lYWwvcHBjL2luY2x1ZGUvcnRlX2F0b21pYy5oDQo+ID4gKysrIGIvbGliL2VhbC9w
cGMvaW5jbHVkZS9ydGVfYXRvbWljLmgNCj4gPiBAQCAtMzgsOSArMzgsMTMgQEANCj4gPiAgICNk
ZWZpbmUgcnRlX2lvX3JtYigpIHJ0ZV9ybWIoKQ0KPiA+DQo+ID4gICBzdGF0aWMgX19ydGVfYWx3
YXlzX2lubGluZSB2b2lkDQo+ID4gLXJ0ZV9hdG9taWNfdGhyZWFkX2ZlbmNlKGludCBtZW1vcmRl
cikNCj4gPiArcnRlX2F0b21pY190aHJlYWRfZmVuY2UocnRlX21lbW9yeV9vcmRlciBtZW1vcmRl
cikNCj4gPiAgIHsNCj4gPiArI2lmZGVmIFJURV9TVERDX0FUT01JQ1MNCj4gPiArCWF0b21pY190
aHJlYWRfZmVuY2UobWVtb3JkZXIpOw0KPiA+ICsjZWxzZQ0KPiA+ICAgCV9fYXRvbWljX3RocmVh
ZF9mZW5jZShtZW1vcmRlcik7DQo+ID4gKyNlbmRpZg0KPiA+ICAgfQ0KPiA+DQo+ID4gICAvKi0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gMTYgYml0IGF0b21pYyBvcGVyYXRpb25zDQo+ID4gLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovIGRpZmYgLS1naXQNCj4gPiBhL2xpYi9lYWwvcmlzY3Yv
aW5jbHVkZS9ydGVfYXRvbWljLmgNCj4gPiBiL2xpYi9lYWwvcmlzY3YvaW5jbHVkZS9ydGVfYXRv
bWljLmgNCj4gPiBpbmRleCA0YjQ2MzNjLi4zYzIwM2E5IDEwMDY0NA0KPiA+IC0tLSBhL2xpYi9l
YWwvcmlzY3YvaW5jbHVkZS9ydGVfYXRvbWljLmgNCj4gPiArKysgYi9saWIvZWFsL3Jpc2N2L2lu
Y2x1ZGUvcnRlX2F0b21pYy5oDQo+ID4gQEAgLTQwLDkgKzQwLDEzIEBADQo+ID4gICAjZGVmaW5l
IHJ0ZV9pb19ybWIoKQlhc20gdm9sYXRpbGUoImZlbmNlIGlyLCBpciIgOiA6IDogIm1lbW9yeSIp
DQo+ID4NCj4gPiAgIHN0YXRpYyBfX3J0ZV9hbHdheXNfaW5saW5lIHZvaWQNCj4gPiAtcnRlX2F0
b21pY190aHJlYWRfZmVuY2UoaW50IG1lbW9yZGVyKQ0KPiA+ICtydGVfYXRvbWljX3RocmVhZF9m
ZW5jZShydGVfbWVtb3J5X29yZGVyIG1lbW9yZGVyKQ0KPiA+ICAgew0KPiA+ICsjaWZkZWYgUlRF
X1NURENfQVRPTUlDUw0KPiA+ICsJYXRvbWljX3RocmVhZF9mZW5jZShtZW1vcmRlcik7DQo+ID4g
KyNlbHNlDQo+ID4gICAJX19hdG9taWNfdGhyZWFkX2ZlbmNlKG1lbW9yZGVyKTsNCj4gPiArI2Vu
ZGlmDQo+ID4gICB9DQo+ID4NCj4gPiAgICNpZmRlZiBfX2NwbHVzcGx1cw0KPiA+IGRpZmYgLS1n
aXQgYS9saWIvZWFsL3g4Ni9pbmNsdWRlL3J0ZV9hdG9taWMuaA0KPiA+IGIvbGliL2VhbC94ODYv
aW5jbHVkZS9ydGVfYXRvbWljLmgNCj4gPiBpbmRleCBmMmVlMWE5Li4wMmQ4YjEyIDEwMDY0NA0K
PiA+IC0tLSBhL2xpYi9lYWwveDg2L2luY2x1ZGUvcnRlX2F0b21pYy5oDQo+ID4gKysrIGIvbGli
L2VhbC94ODYvaW5jbHVkZS9ydGVfYXRvbWljLmgNCj4gPiBAQCAtODcsMTIgKzg3LDE2IEBADQo+
ID4gICAgKiB1c2VkIGluc3RlYWQuDQo+ID4gICAgKi8NCj4gPiAgIHN0YXRpYyBfX3J0ZV9hbHdh
eXNfaW5saW5lIHZvaWQNCj4gPiAtcnRlX2F0b21pY190aHJlYWRfZmVuY2UoaW50IG1lbW9yZGVy
KQ0KPiA+ICtydGVfYXRvbWljX3RocmVhZF9mZW5jZShydGVfbWVtb3J5X29yZGVyIG1lbW9yZGVy
KQ0KPiA+ICAgew0KPiA+IC0JaWYgKG1lbW9yZGVyID09IF9fQVRPTUlDX1NFUV9DU1QpDQo+ID4g
KwlpZiAobWVtb3JkZXIgPT0gcnRlX21lbW9yeV9vcmRlcl9zZXFfY3N0KQ0KPiA+ICAgCQlydGVf
c21wX21iKCk7DQo+ID4gICAJZWxzZQ0KPiA+ICsjaWZkZWYgUlRFX1NURENfQVRPTUlDUw0KPiA+
ICsJCWF0b21pY190aHJlYWRfZmVuY2UobWVtb3JkZXIpOw0KPiA+ICsjZWxzZQ0KPiA+ICAgCQlf
X2F0b21pY190aHJlYWRfZmVuY2UobWVtb3JkZXIpOw0KPiA+ICsjZW5kaWYNCj4gPiAgIH0NCj4g
Pg0KPiA+ICAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIDE2IGJpdCBhdG9taWMgb3BlcmF0
aW9ucw0KPiA+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLyBkaWZmIC0tZ2l0IGEvbWVzb25f
b3B0aW9ucy50eHQNCj4gPiBiL21lc29uX29wdGlvbnMudHh0IGluZGV4IDA4NTI4NDkuLmFjYmNi
YjggMTAwNjQ0DQo+ID4gLS0tIGEvbWVzb25fb3B0aW9ucy50eHQNCj4gPiArKysgYi9tZXNvbl9v
cHRpb25zLnR4dA0KPiA+IEBAIC00Niw2ICs0Niw4IEBAIG9wdGlvbignbWJ1Zl9yZWZjbnRfYXRv
bWljJywgdHlwZTogJ2Jvb2xlYW4nLCB2YWx1ZToNCj4gdHJ1ZSwgZGVzY3JpcHRpb246DQo+ID4g
ICAgICAgICAgJ0F0b21pY2FsbHkgYWNjZXNzIHRoZSBtYnVmIHJlZmNudC4nKQ0KPiA+ICAgb3B0
aW9uKCdwbGF0Zm9ybScsIHR5cGU6ICdzdHJpbmcnLCB2YWx1ZTogJ25hdGl2ZScsIGRlc2NyaXB0
aW9uOg0KPiA+ICAgICAgICAgICdQbGF0Zm9ybSB0byBidWlsZCwgZWl0aGVyICJuYXRpdmUiLCAi
Z2VuZXJpYyIgb3IgYSBTb0MuDQo+ID4gUGxlYXNlIHJlZmVyIHRvIHRoZSBMaW51eCBidWlsZCBn
dWlkZSBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nKQ0KPiA+ICtvcHRpb24oJ2VuYWJsZV9zdGRhdG9t
aWNzJywgdHlwZTogJ2Jvb2xlYW4nLCB2YWx1ZTogZmFsc2UsIGRlc2NyaXB0aW9uOg0KPiA+ICsg
ICAgICAgJ2VuYWJsZSB1c2Ugb2Ygc3RhbmRhcmQgQzExIGF0b21pY3MuJykNCj4gPiAgIG9wdGlv
bignZW5hYmxlX3RyYWNlX2ZwJywgdHlwZTogJ2Jvb2xlYW4nLCB2YWx1ZTogZmFsc2UsIGRlc2Ny
aXB0aW9uOg0KPiA+ICAgICAgICAgICdlbmFibGUgZmFzdCBwYXRoIHRyYWNlIHBvaW50cy4nKQ0K
PiA+ICAgb3B0aW9uKCd0ZXN0cycsIHR5cGU6ICdib29sZWFuJywgdmFsdWU6IHRydWUsIGRlc2Ny
aXB0aW9uOg0K