From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 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 ; 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 To: =?utf-8?B?TWF0dGlhcyBSw7ZubmJsb20=?= , Tyler Retzlaff , "dev@dpdk.org" CC: "david.marchand@redhat.com" , "thomas@monjalon.net" , "mb@smartsharesystems.com" , "bruce.richardson@intel.com" , nd , nd 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: 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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