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 EDD1143B7A;
	Thu, 22 Feb 2024 17:44:46 +0100 (CET)
Received: from mails.dpdk.org (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id BAB2540281;
	Thu, 22 Feb 2024 17:44:46 +0100 (CET)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2045.outbound.protection.outlook.com [40.107.20.45])
 by mails.dpdk.org (Postfix) with ESMTP id F107D4027F
 for <dev@dpdk.org>; Thu, 22 Feb 2024 17:44:44 +0100 (CET)
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=VTpfhFE3wx3ANeOCLAzEk+3XAbfr1HiF0uys58mspUVZ8Tuqzhdt7Uwo5a7st5gaSWggf60NgRGM0Wef8WPosn3RorJzpfNVGWMK9/Grr+7EfvNDwjQtEOXNq/pxwmotg+ADIhq5XWFCnCN5Q+7zQdHtws2mvjFkSSvA1iwLMx+BQ8RPH7VVCbcy/jRHER2GhnYiinlY+6cOdQ0JQi/GaI5O2D1rKsnKVRL3retR1XIrAzMB6MG2MycNC38+oVizC9T6k+mPsHNbBklIc1FbNWgwvwx60aRTv3AjsiyWBGuKJpyuKcWIqsAcgMm5oAaluy7fUlYW58TirJUUDq/3tw==
ARC-Message-Signature: i=2; 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=qWy7Ms2sN8Ar+Ufvmxl3SY9s8mugSOftDdRusKa8SKE=;
 b=N36ezDP7/+5KB42Jp0I/J+mgkfnSv7bBuZP97ximIrPY5hDs1xCElzE9tbjesyeab9u17itXdEG7e5j1jZJ8N58E53YZGabjUk9YaMzMYksBmMdC/am7KwErDnjW4eryXD3ESRu7Tm9bFNaLZR+T0znSsZM36dNi1r8XsTOkQZNxEUAJGhtQPpQ3YowWKcC8HcuWaMvaeuTeb79anzGk2Ekbxlr08E40Wv6acKqGi5xpaQHpPEget6Vybb7d88Sxx8fuOfzbKwje7GKyyZBDrsJ92/ylVA/hCbhu7w4yeEvTmwgk7VElkgMbcwTNXUm8FkuaFj4WYwl3ZQa0XuAx/w==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=dpdk.org smtp.mailfrom=arm.com; dmarc=pass
 (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass
 (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0 oda=1
 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
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=qWy7Ms2sN8Ar+Ufvmxl3SY9s8mugSOftDdRusKa8SKE=;
 b=kdps+nk1KSJvJShcf0I+8Ofs/Y05gYrFlu9UCQWSbuip4GHLrRGuEjqPFSqXzro3ZffwpQydJ+bvV7GFKF1Q8DWDBd5xtmGUqqw/PapuJX6fBfVXgepNG590MGSY7Vje/oSqDxZQHLzwiw2wMT+TiSSV5xoO4ysLNqtiqgKAeSA=
Received: from AS9PR05CA0118.eurprd05.prod.outlook.com (2603:10a6:20b:498::7)
 by AS8PR08MB6405.eurprd08.prod.outlook.com (2603:10a6:20b:332::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7316.22; Thu, 22 Feb
 2024 16:44:39 +0000
Received: from AM3PEPF0000A79C.eurprd04.prod.outlook.com
 (2603:10a6:20b:498:cafe::96) by AS9PR05CA0118.outlook.office365.com
 (2603:10a6:20b:498::7) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7292.41 via Frontend
 Transport; Thu, 22 Feb 2024 16:44:39 +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
 AM3PEPF0000A79C.mail.protection.outlook.com (10.167.16.107) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7292.25 via Frontend Transport; Thu, 22 Feb 2024 16:44:38 +0000
Received: ("Tessian outbound 081d54b8cc4c:v228");
 Thu, 22 Feb 2024 16:44:38 +0000
X-CheckRecipientChecked: true
X-CR-MTA-CID: 88f279ba39895b75
X-CR-MTA-TID: 64aa7808
Received: from d39f21a02c9c.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 CADB1600-FDF7-4548-8ACB-E5847A05B2D1.1; 
 Thu, 22 Feb 2024 16:44:31 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id d39f21a02c9c.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 22 Feb 2024 16:44:31 +0000
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fYPJwOizpxqj+HACLaJ5v/wZ/js6FWLPHYW0dPEj6nKkQ822/anJWjkAll/6wplhhMr8WbacWN/eDdy13OoDYaWZAqlVol5uvjaB0+QXkRkxe/6UXbxawIy1CeO5qNc4uZ+gDGMOr8jx+g+t01r4MK65CrDJD4YXbNBc/sIjIm5xc27+Cy0iRSKjdDU+Qk+nQyuZBqBOTIMSjV4oDw7/GpHeee2ArUGFW5ZP3Ud3bErNsBH5l2atn3fGZamc+38cA0kqEUMfn1qqeiYEL/kPsloCA6MpKSV8ZFVH8CqvJjlVhuZnqE8Cka3Jyg7sV3WdiIx5n74ASO2g8QKPKjU4HQ==
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=qWy7Ms2sN8Ar+Ufvmxl3SY9s8mugSOftDdRusKa8SKE=;
 b=bYs8QZLu8ylELTd1+u0uVenUOBDfyBfggqJxcohNG98FYOANy7dREj0+qz5YPNXWd0b6WkiOsksiK3vxv74tvneQaNA3TCt4ye9cfPGwURxaAyp8zCKa2IHw/feCkVzxAaPzzyLFMytYhREmmOTSfQKZ7A1/n1ojC9+ofAN7NOvw1r1EsjZdcCpxnA7jAAmx5zVb+VL4lgFcCs+K9X8l1bhCkXPxygyH3crppJ+WrCvXLkSKfYxfyhPegTudIty4ZCkf3yZNFaZF2ZVfNt8/rKmYRgiPJV3d0/Gb0PG0g0PzZ3S9p+wP6BlWrbPlaMGMuvU73CdyCz1NsxgowIlyTg==
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=qWy7Ms2sN8Ar+Ufvmxl3SY9s8mugSOftDdRusKa8SKE=;
 b=kdps+nk1KSJvJShcf0I+8Ofs/Y05gYrFlu9UCQWSbuip4GHLrRGuEjqPFSqXzro3ZffwpQydJ+bvV7GFKF1Q8DWDBd5xtmGUqqw/PapuJX6fBfVXgepNG590MGSY7Vje/oSqDxZQHLzwiw2wMT+TiSSV5xoO4ysLNqtiqgKAeSA=
Received: from DBAPR08MB5814.eurprd08.prod.outlook.com (2603:10a6:10:1b1::6)
 by PAXPR08MB6509.eurprd08.prod.outlook.com (2603:10a6:102:12e::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7316.23; Thu, 22 Feb
 2024 16:44:29 +0000
Received: from DBAPR08MB5814.eurprd08.prod.outlook.com
 ([fe80::ee47:c96a:3e95:14b6]) by DBAPR08MB5814.eurprd08.prod.outlook.com
 ([fe80::ee47:c96a:3e95:14b6%6]) with mapi id 15.20.7316.023; Thu, 22 Feb 2024
 16:44:29 +0000
From: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>
To: =?utf-8?B?QWJkdWxsYWggw5ZtZXIgWWFtYcOn?= <aomeryamac@gmail.com>
CC: "Medvedkin, Vladimir" <vladimir.medvedkin@intel.com>, "dev@dpdk.org"
 <dev@dpdk.org>, Yipeng Wang <yipeng1.wang@intel.com>, Sameh Gobriel
 <sameh.gobriel@intel.com>, Bruce Richardson <bruce.richardson@intel.com>,
 "thomas@monjalon.net" <thomas@monjalon.net>, nd <nd@arm.com>
Subject: Re: [PATCH] lib/hash,lib/rcu: feature hidden key count in hash
Thread-Topic: [PATCH] lib/hash,lib/rcu: feature hidden key count in hash
Thread-Index: AQHaWdsUp7R5SbED7k6jnkoiEtQNR7ESAJEAgABBAICAACNMgIABRSOAgACM8wCAATV1gIAAT/gAgACoMYCAAER7gA==
Date: Thu, 22 Feb 2024 16:44:29 +0000
Message-ID: <508D578D-7B2D-485A-A408-AB3513FBBBD5@arm.com>
References: <20240207153340.34146-1-aomeryamac@gmail.com>
 <cc8ac134-3c87-4f4e-9b21-261dad19b740@intel.com>
 <CA+sj1i-HXEt6jGLyUEbO8oj46Q215DPSFvFo1rZwivW1kJDJ=g@mail.gmail.com>
 <4CC50196-1F8F-40E2-8280-261783FDCFC8@arm.com>
 <CA+sj1i-LverDff3YKOjZ-52NNoUkwQqG2yCCxxPM4CjU0d135w@mail.gmail.com>
 <CA06E482-DAFA-4AEB-98E5-4500A249149E@arm.com>
 <CA+sj1i9iW8E+U7Y+wVJUrZ1cJAgXRTRP363rD4_i_COwV0J+tQ@mail.gmail.com>
 <772E05E7-716C-4A41-8C75-7323D9D745BC@arm.com>
 <CA+sj1i-1Wz0cmQaN6ZtP+=bD+xJCgJ2C5wp559kcQUKrB2eSvA@mail.gmail.com>
In-Reply-To: <CA+sj1i-1Wz0cmQaN6ZtP+=bD+xJCgJ2C5wp559kcQUKrB2eSvA@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-mailer: Apple Mail (2.3774.400.31)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic: DBAPR08MB5814:EE_|PAXPR08MB6509:EE_|AM3PEPF0000A79C:EE_|AS8PR08MB6405:EE_
X-MS-Office365-Filtering-Correlation-Id: 2145891c-732a-4b87-3ddd-08dc33c58f90
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: Ci0qOzA422/eBvCUAROlIEjiQQADEHVlXcVztjmaanno53RjuOBQDKM+M5hUrc9xQYtIPDECf9Dwv2DuzmibPRdjoDlMCclcGT1X25wNnuosMzOtrZdlr4rTuSzG4MJwNwD9h+2KN1U3fLhorMuIcemPZg8rsVE39rmJCFsZqkLvpKUz8giHqYSJ3Q41P0nMbbJoyPmCwrXNiw+NMrJ/h+eXyqFj7YdQNCNA5Z2OzdfaD7jx6wtwcWq4pA9CYvMiP1hZsrzFjf7b6eHPazp8MnX35PYmBuNT6bwLlpyaNZM9uFf+XwawCM05MHboqkPRiovVMOqCZAiqIbK8F3UhrizvaWIQf1zFilq1+e6cuCn/y1zbqWLBRs00Sh/DpA0z194NHxCXS/hBJsELMs60Q7hmMZAeTey4DdYRyg+rw41yaFD2j17ZEzzsWW9WA7CcDWgmP6KG38xY0ktjjUEQU/6iejCn9YIP/8wd6KDGIoQIVQYU22mJDaQ79GxLuoUCGHwTA4P2LrL96RC6NptnzIPnTvideEo9hLXtkaVuvG84GftIji00XKmnyXbUzWUIJUMwM2D8FOldiyNL25PBjr7beiU3uSuXxrTy+Es5jHp6+M9l3vveYJAncZBUGYnW
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:(13230031)(38070700009); DIR:OUT; SFP:1101; 
Content-Type: text/plain; charset="utf-8"
Content-ID: <197B698B47C2D841A5886A5460994BD5@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB6509
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: AM3PEPF0000A79C.eurprd04.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs: e1291b30-5f6a-4bad-9a07-08dc33c589e1
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: txtzW3gSjJYznsg/StUK/gEKpb+4YzuXosPa9sR0BXq+DLPFc7Ai80ZKxmbT2xZQWR/RbDLa8Cpe1MYddO1iWM7zD57Fzhc3Y0m6M5PdjLV2n30uJhC+Yce4VshISnrVLcuPNYLm764c+ST6+R7S5jNAxHbqlG4EpKHEOiVbiC9U8U3K3qxx6IoPZgwI1d2NQFU451oxGEqTrOfcbPm+2ye44YQcFEJvCjfTC2pIW2b3mc2Vzukv8HpHtBZICfeafiXJRlrBYB1SZmDJO0IrW9EcT3KFO+XjbsoIehpAR5F1O3Qolx3PgcUxk2YAtLBZ1wj8xkS1s5YBABXSuxw4lmpzFWkXoCGiN9mcXszYP8YpH16uEed3iu/hAv+KVtnE65kb4vWEVsFIX3YJcLL7+0B0jNBUg1DRKyoaRAEVfLnsDwMplj0+5yOBEvtnHmVMi6pqVnOzHLzMDmIlNOIg2k7D6UydN09nNCu6YxZsPQzzeo3GkOHCfBfZx+L9c2xVI3PjSOhAFq7qjGsscghXD71rDA8I8165M69rnEPEbYDREMBGeusZITFrT0EfYPGWL7m5irDuTks7/5HMluMNaN9+VC5kCblIg8OXQU5cjHOlS24UL2bVW9rbnn2GGvxExaPzEGU2zsGL5EUxRvQ5wAZWofwLXyqt87fQLPePgMA=
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:(13230031)(36860700004)(40470700004)(46966006); DIR:OUT; SFP:1101; 
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Feb 2024 16:44:38.9311 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2145891c-732a-4b87-3ddd-08dc33c58f90
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: AM3PEPF0000A79C.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6405
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

DQoNCj4gT24gRmViIDIyLCAyMDI0LCBhdCA2OjM54oCvQU0sIEFiZHVsbGFoIMOWbWVyIFlhbWHD
pyA8YW9tZXJ5YW1hY0BnbWFpbC5jb20+IHdyb3RlOg0KPiANCj4gQXMgYSBmaW5hbCBkZWNpc2lv
biwgSSB3aWxsIGFkZCBhIG5ldyBoYXNoIEFQSSB0aGF0IGZvcmNlcyB0aGUgcmVjbGFpbS4gSXMg
aXQgb2sgZm9yIGV2ZXJ5b25lPw0KQWNrIGZyb20gbXkgc2lkZQ0KDQo+IA0KPiBPbiBUaHUsIEZl
YiAyMiwgMjAyNCBhdCA1OjM34oCvQU0gSG9ubmFwcGEgTmFnYXJhaGFsbGkgPEhvbm5hcHBhLk5h
Z2FyYWhhbGxpQGFybS5jb20+IHdyb3RlOg0KPiANCj4gDQo+ID4gT24gRmViIDIxLCAyMDI0LCBh
dCAzOjUx4oCvUE0sIEFiZHVsbGFoIMOWbWVyIFlhbWHDpyA8YW9tZXJ5YW1hY0BnbWFpbC5jb20+
IHdyb3RlOg0KPiA+IA0KPiA+IA0KPiA+IA0KPiA+IE9uIFdlZCwgRmViIDIxLCAyMDI0IGF0IDY6
MjTigK9BTSBIb25uYXBwYSBOYWdhcmFoYWxsaSA8SG9ubmFwcGEuTmFnYXJhaGFsbGlAYXJtLmNv
bT4gd3JvdGU6DQo+ID4gDQo+ID4gDQo+ID4gPiBPbiBGZWIgMjAsIDIwMjQsIGF0IDEyOjU44oCv
UE0sIEFiZHVsbGFoIMOWbWVyIFlhbWHDpyA8YW9tZXJ5YW1hY0BnbWFpbC5jb20+IHdyb3RlOg0K
PiA+ID4gDQo+ID4gPiBJIGFwcHJlY2lhdGUgdGhhdCB5b3UgZ2F2ZSBtZSBzdWdnZXN0aW9ucyBh
bmQgY29tbWVudHMuIEkgd2lsbCBtYWtlIGNoYW5nZXMgYWNjb3JkaW5nIHRvIGFsbCB5b3VyIHJl
Y29tbWVuZGF0aW9ucywgYnV0IGJlZm9yZSB0aGF0LCBJIHdhbnQgdG8gbWFrZSBldmVyeW9uZSdz
IG1pbmRzIGNsZWFyLiBUaGVuLCBJIHdpbGwgYXBwbHkgbW9kaWZpY2F0aW9ucy4gDQo+ID4gPiAN
Cj4gPiA+IE9uIFR1ZSwgRmViIDIwLCAyMDI0IGF0IDI6MzXigK9BTSBIb25uYXBwYSBOYWdhcmFo
YWxsaSA8SG9ubmFwcGEuTmFnYXJhaGFsbGlAYXJtLmNvbT4gd3JvdGU6DQo+ID4gPiANCj4gPiA+
IA0KPiA+ID4gPiBPbiBGZWIgMTksIDIwMjQsIGF0IDM6MjjigK9QTSwgQWJkdWxsYWggw5ZtZXIg
WWFtYcOnIDxhb21lcnlhbWFjQGdtYWlsLmNvbT4gd3JvdGU6DQo+ID4gPiA+IA0KPiA+ID4gPiBI
ZWxsbywNCj4gPiA+ID4gDQo+ID4gPiA+IExldCBtZSBleHBsYWluIGEgdXNlIGNhc2U7DQo+ID4g
PiA+IA0KPiA+ID4gPiBJIGhhdmUgYSBoYXNoIHRhYmxlIHdob3NlIGtleSB2YWx1ZSBpcyBJUCBh
ZGRyZXNzZXMsIGFuZCBkYXRhIChsZXQncyBzYXkgdGhlIHVzZXJuYW1lIG9mIHRoZSBJUCkgaXMg
cmVsYXRlZCB0byB0aGUgSVAgYWRkcmVzcy4gVGhlIGtleSBwb2ludCBpcyBtYXRjaGluZyB0aGVz
ZSBkYXRhIHdpdGggZmxvd3MuIEZsb3dzIGFyZSBkeW5hbWljLCBhbmQgdGhpcyBoYXNoIHRhYmxl
IGlzIGR5bmFtaWMsIGFzIHdlbGw7IGJvdGggY2FuIGNoYW5nZSBhbnl0aW1lLiBGb3IgZXhhbXBs
ZSwgd2hlbiBhIGZsb3cgc3RhcnRzLCB3ZSBsb29rIHVwIHRoZSBoYXNoIHRhYmxlIHdpdGggdGhl
IGNvcnJlc3BvbmRpbmcgSVAgYW5kIHJldHJpZXZlIHRoZSB1c2VybmFtZS4gV2UgbmVlZCB0byBo
b2xkIHRoaXMgdXNlcm5hbWUgdW50aWwgdGhlIGZsb3cgdGVybWluYXRlcywgYWx0aG91Z2ggd2Ug
cmVtb3ZlZCB0aGlzIElQIGtleSBmcm9tIHRoZSBoYXNoIHRhYmxlIChtdWx0aXRocmVhZCkuIFRo
YXQncyB3aHkgd2UgaGF2ZSBSQ1UgYW5kIGRlZmVyIHF1ZXVlIGlzIG5lY2Vzc2FyeSBmb3IgaGln
aCBwZXJmb3JtYW5jZS4gSW4gbXkgYXBwbGljYXRpb24sIEkgbmVlZCB0byBrbm93IHRoZSBudW1i
ZXIgb2YgSVAtdXNlcm5hbWUgZW50cmllcy4gVGhlc2UgbnVtYmVycyBjYW4gYmUgY2FsY3VsYXRl
ZCBieSBydGVfaGFzaF9jb3VudCAtIGRlZmVyIHF1ZXVlIHNpemUuDQo+ID4gPiBUaGUgZW50cmll
cyBpbiB0aGUgZGVmZXIgcXVldWUgYXJlIG5vdCByZWNsYWltZWQgKHRoZXJlIGlzIGEgcHJvYmFi
aWxpdHkgdGhhdCBhbGwgb2YgdGhlbSBjYW4gYmUgcmVjbGFpbWVkKSBhbmQgaGVuY2UgdGhleSBh
cmUgbm90IGF2YWlsYWJsZSBmb3IgYWxsb2NhdGlvbi4gU28sIHJ0ZV9oYXNoX2NvdW50IC0gZGVm
ZXIgcXVldWUgc2l6ZSBtaWdodCBub3QgZ2l2ZSB5b3UgdGhlIGNvcnJlY3QgbnVtYmVyIHlvdSBh
cmUgZXhwZWN0aW5nLg0KPiA+ID4gDQo+ID4gPiBDdXJyZW50bHksIHRoZXJlIGlzIG5vIEFQSSBp
biBoYXNoIGxpYnJhcnkgdGhhdCBmb3JjZXMgYSByZWNsYWltLiBEb2VzIGl0IG1ha2VzIHNlbnNl
IHRvIGhhdmUgYW4gQVBJIHRoYXQganVzdCBkb2VzIHRoZSByZWNsYWltIChhbmQgcmV0dXJucyB0
aGUgbnVtYmVyIG9mIGVudHJpZXMgcGVuZGluZyBpbiB0aGUgZGVmZXIgcXVldWUpPyBBIGNhbGwg
dG8gcnRlX2hhc2hfY291bnQgc2hvdWxkIHByb3ZpZGUgdGhlIGV4YWN0IGNvdW50IHlvdSBhcmUg
bG9va2luZyBmb3IuDQo+ID4gPiBZb3UgYXJlIHJpZ2h0OyBubyBBUEkgaW4gdGhlIGhhc2ggbGli
cmFyeSBmb3JjZXMgYSByZWNsYWltLiBJbiBteSBhcHBsaWNhdGlvbiwgSSBwZXJpb2RpY2FsbHkg
Y2FsbCBydGVfY291bnQgdG8gcmV0cmlldmUgaGFzaCBzaXplLCBhbmQgdGhpcyBkYXRhIGlzIHNo
b3duIGluIG15IEdVSS4gU28gdGhhdCBtZWFucyBJIG5lZWQgdG8gY2FsbCByZWd1bGFybHkgcmVj
bGFpbS4gSSBhbSB0cnlpbmcgdG8gZmlndXJlIG91dCB3aGljaCBpcyBiZXR0ZXIsIGNhbGxpbmcg
cmVjbGFpbSBvciByZXRyaWV2aW5nIHRoZSBkZWZlciBxdWV1ZSBzaXplLiBBbnkgY29tbWVudCBh
Ym91dCB0aGlzPw0KPiA+IFJldHJpZXZpbmcgdGhlIGRlZmVyIHF1ZXVlIHNpemUgd2lsbCBiZSBj
aGVhcGVyLiBIb3dldmVyLCBjYWxsaW5nIHRoZSByZWNsYWltIEFQSSB3aWxsIGVuc3VyZSB0aGUg
ZW50cmllcyBhcmUgZnJlZWQgaGVuY2UgcHJvdmlkaW5nIGFuIGFjY3VyYXRlIG51bWJlci4gQ2Fs
bGluZyB0aGUgcmVjbGFpbSBBUEkgb24gYW4gZW1wdHkgZGVmZXIgcXVldWUgZG9lcyBub3QgY29u
c3VtZSBtYW55IGN5Y2xlcy4gSWYgbmVlZGVkIHdlIGNvdWxkIGFkZCBhIGNoZWNrIGZvciBlbXB0
eSBkZWZlciBxdWV1ZSBpbiB0aGUgcmVjbGFpbSBBUEkgYW5kIHJldHVybiBlYXJseS4NCj4gPiAN
Cj4gPiBJIGFtIGFsc28gd29uZGVyaW5nIGlmIGEgcmVjbGFpbSBBUEkgaW4gaGFzaCBsaWJyYXJ5
IGlzIG5lZWRlZC4gV2h5IG5vdCBjYWxsIHJ0ZV9yY3VfcXNicl9kcV9yZWNsYWltIEFQSSBmcm9t
IHRoZSBhcHBsaWNhdGlvbj8NCj4gPiBUaGUgcmVhc29uIGlzIHNpbXBsZS4gc3RydWN0IHJ0ZV9o
YXNoICpoIGlzIGFuIGludGVybmFsIHN0cnVjdHVyZSBhbmQgd2UgY2Fubm90IGFjY2VzcyB0aGUg
aC0+ZHEuIFNvIGl0IGlzIG5vdCBwb3NzaWJsZSB0byBjYWxsIHJlY2xhaW0uDQo+IEFjay4gVGhp
cyB3aWxsIGJlIGp1c3QgYSB3cmFwcGVyIGFyb3VuZCB0aGUgcnRlX3JjdV9xc2JyX2RxX3JlY2xh
aW0uDQo+IA0KPiA+IA0KPiA+IA0KPiA+ID4gPiANCj4gPiA+ID4gSSB0aGluayBpZiB5b3UgbmVl
ZCBhIG5vbi1ibG9ja2luZyBhbmQgbXVsdGl0aHJlYWRlZCBoYXNoIHRhYmxlLCBhbiBSQ1UtZW5h
YmxlZCBoYXNoIHRhYmxlIGlzIG5lY2Vzc2FyeS4gQWxzbywgdGhpcyBBUEkgaXMgbmVjZXNzYXJ5
IGlmIHlvdSBuZWVkIHRvIGdldCB0aGUgYWN0dWFsIG1hdGNoYWJsZSBzaXplLg0KPiA+ID4gPiAN
Cj4gPiA+ID4gDQo+ID4gPiA+IA0KPiA+ID4gPiANCj4gPiA+ID4gDQo+ID4gPiA+IE9uIE1vbiwg
RmViIDE5LCAyMDI0IGF0IDg6MzbigK9QTSBNZWR2ZWRraW4sIFZsYWRpbWlyIDx2bGFkaW1pci5t
ZWR2ZWRraW5AaW50ZWwuY29tPiB3cm90ZToNCj4gPiA+ID4gSGkgQWJkdWxsYWgsDQo+ID4gPiA+
IA0KPiA+ID4gPiBDb3VsZCB5b3UgcGxlYXNlIHRlbGwgbW9yZSBhYm91dCB1c2UgY2FzZXMgd2hl
cmUgdGhpcyBBUEkgbWF5IGJlIHVzZWZ1bD8NCj4gPiA+ID4gDQo+ID4gPiA+ID5hIG5ldyBBUEkg
dG8gZ2V0IHRoZSBoaWRkZW4ga2V5IGNvdW50IGluIHRoZSBoYXNoIHRhYmxlIGlmIHRoZSByY3Ug
cXNiciBpcyBlbmFibGVkDQo+ID4gPiA+IA0KPiA+ID4gPiBIZXJlIGluIGNvbW1pdCBtZXNzYWdl
IGFuZCBkb3duIGJlbG93IGluIGRveHlnZW4gY29tbWVudHMsIEkgdGhpbmsgdGhpcyANCj4gPiA+
ID4gc3RhdGVtZW50IHNob3VsZCBiZSBtb3JlIHNwZWNpZmljIGJlY2F1c2UgcmN1IGNhbiBiZSBj
cmVhdGVkIHdpdGggDQo+ID4gPiA+IFJURV9IQVNIX1FTQlJfTU9ERV9TWU5DIG1vZGUgaS5lLiB3
aXRob3V0IGRlZmVyIHF1ZXVlLg0KPiA+ID4gPiANCj4gPiA+ID4gQWxzbywgbmV3IEFQSSBtdXN0
IGJlIHJlZmxlY3RlZCBpbiByZWxlYXNlIG5vdGVzDQo+ID4gPiA+IA0KPiA+ID4gPiBPbiAwNy8w
Mi8yMDI0IDE1OjMzLCBBYmR1bGxhaCDDlm1lciBZYW1hw6cgd3JvdGU6DQo+ID4gPiA+ID4gVGhp
cyBwYXRjaCBpbnRyb2R1Y2UgYSBuZXcgQVBJIHRvIGdldCB0aGUgaGlkZGVuIGtleSBjb3VudCBp
biB0aGUgaGFzaA0KPiA+ID4gPiA+IHRhYmxlIGlmIHRoZSByY3UgcXNiciBpcyBlbmFibGVkLiBX
aGVuIHVzaW5nIHJ0ZV9oYXNoX2NvdW50IHdpdGggcmN1DQo+ID4gPiA+ID4gcXNiciBlbmFibGVk
LCBpdCB3aWxsIHJldHVybiB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzIHRoYXQgYXJlIG5vdCBpbiB0
aGUNCj4gPiA+ID4gPiBmcmVlIHF1ZXVlLiBVbmxlc3MgcnRlX3JjdV9xc2JyX2RxX3JlY2xhaW0g
aXMgY2FsbGVkLCB0aGUgbnVtYmVyIG9mDQo+ID4gPiA+ID4gZWxlbWVudHMgaW4gdGhlIGRlZmVy
IHF1ZXVlIHdpbGwgbm90IGJlIGNvdW50ZWQgYW5kIGZyZWVkLiBUaGVyZWZvcmUgSQ0KPiA+ID4g
PiA+IGFkZGVkIGEgbmV3IEFQSSB0byBnZXQgdGhlIG51bWJlciBvZiBoaWRkZW4gKGRlZmVyIHF1
ZXVlKSBlbGVtZW50cw0KPiA+ID4gPiA+IGluIHRoZSBoYXNoIHRhYmxlLiBUaGVuIHRoZSB1c2Vy
IGNhbiBjYWxjdWxhdGUgdGhlIHRvdGFsIG51bWJlciBvZg0KPiA+ID4gPiA+IGVsZW1lbnRzIHRo
YXQgYXJlIGF2YWlsYWJsZSBpbiB0aGUgaGFzaCB0YWJsZS4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+
IFNpZ25lZC1vZmYtYnk6IEFiZHVsbGFoIMOWbWVyIFlhbWHDpyA8YW9tZXJ5YW1hY0BnbWFpbC5j
b20+DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiAtLS0NCj4gPiA+ID4gPiBDYzogSG9ubmFwcGEgTmFn
YXJhaGFsbGkgPGhvbm5hcHBhLm5hZ2FyYWhhbGxpQGFybS5jb20+DQo+ID4gPiA+ID4gQ2M6IFlp
cGVuZyBXYW5nIDx5aXBlbmcxLndhbmdAaW50ZWwuY29tPg0KPiA+ID4gPiA+IENjOiBTYW1laCBH
b2JyaWVsIDxzYW1laC5nb2JyaWVsQGludGVsLmNvbT4NCj4gPiA+ID4gPiBDYzogQnJ1Y2UgUmlj
aGFyZHNvbiA8YnJ1Y2UucmljaGFyZHNvbkBpbnRlbC5jb20+DQo+ID4gPiA+ID4gQ2M6IFZsYWRp
bWlyIE1lZHZlZGtpbiA8dmxhZGltaXIubWVkdmVka2luQGludGVsLmNvbT4NCj4gPiA+ID4gPiAt
LS0NCj4gPiA+ID4gPiAgIGxpYi9oYXNoL3J0ZV9jdWNrb29faGFzaC5jIHwgIDkgKysrKysrKysr
DQo+ID4gPiA+ID4gICBsaWIvaGFzaC9ydGVfaGFzaC5oICAgICAgICB8IDEzICsrKysrKysrKysr
KysNCj4gPiA+ID4gPiAgIGxpYi9oYXNoL3ZlcnNpb24ubWFwICAgICAgIHwgIDEgKw0KPiA+ID4g
PiA+ICAgbGliL3JjdS9ydGVfcmN1X3FzYnIuYyAgICAgfCAgOCArKysrKysrKw0KPiA+ID4gPiA+
ICAgbGliL3JjdS9ydGVfcmN1X3FzYnIuaCAgICAgfCAxMSArKysrKysrKysrKw0KPiA+ID4gPiA+
ICAgbGliL3JjdS92ZXJzaW9uLm1hcCAgICAgICAgfCAgMSArDQo+ID4gPiA+ID4gICA2IGZpbGVz
IGNoYW5nZWQsIDQzIGluc2VydGlvbnMoKykNCj4gPiA+ID4gPg0KPiA+ID4gPiA+IGRpZmYgLS1n
aXQgYS9saWIvaGFzaC9ydGVfY3Vja29vX2hhc2guYyBiL2xpYi9oYXNoL3J0ZV9jdWNrb29faGFz
aC5jDQo+ID4gPiA+ID4gaW5kZXggNzA0NTY3NTRjNC4uMzU1M2YzZWZjNyAxMDA2NDQNCj4gPiA+
ID4gPiAtLS0gYS9saWIvaGFzaC9ydGVfY3Vja29vX2hhc2guYw0KPiA+ID4gPiA+ICsrKyBiL2xp
Yi9oYXNoL3J0ZV9jdWNrb29faGFzaC5jDQo+ID4gPiA+ID4gQEAgLTU1NSw2ICs1NTUsMTUgQEAg
cnRlX2hhc2hfbWF4X2tleV9pZChjb25zdCBzdHJ1Y3QgcnRlX2hhc2ggKmgpDQo+ID4gPiA+ID4g
ICAgICAgICAgICAgICByZXR1cm4gaC0+ZW50cmllczsNCj4gPiA+ID4gPiAgIH0NCj4gPiA+ID4g
PiAgIA0KPiA+ID4gPiA+ICtpbnQzMl90DQo+ID4gPiA+ID4gK3J0ZV9oYXNoX2RxX2NvdW50KGNv
bnN0IHN0cnVjdCBydGVfaGFzaCAqaCkNCj4gPiA+ID4gPiArew0KPiA+ID4gPiA+ICsgICAgIGlm
IChoLT5kcSA9PSBOVUxMKQ0KPiA+ID4gPiBpbnB1dCBhcmd1bWVudHMgbXVzdCBiZSBjaGVja2Vk
IHNpbmNlIHRoaXMgaXMgYSBwdWJsaWMgQVBJLCB0aGUgc2FtZSBpcyANCj4gPiA+ID4gdHJ1ZSBm
b3IgcnRlX3JjdV9xc2JyX2RxX2NvdW50KCkNCj4gPiA+ID4gPiArICAgICAgICAgICAgIHJldHVy
biAtRUlOVkFMOw0KPiA+ID4gPiB3aHkgbm90IGp1c3QgcmV0dXJuIDA/DQo+ID4gPiA+ID4gKw0K
PiA+ID4gPiA+ICsgICAgIHJldHVybiBydGVfcmN1X3FzYnJfZHFfY291bnQoaC0+ZHEpOw0KPiA+
ID4gPiA+ICt9DQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICAgaW50MzJfdA0KPiA+ID4gPiA+ICAg
cnRlX2hhc2hfY291bnQoY29uc3Qgc3RydWN0IHJ0ZV9oYXNoICpoKQ0KPiA+ID4gPiA+ICAgew0K
PiA+ID4gPiA+IGRpZmYgLS1naXQgYS9saWIvaGFzaC9ydGVfaGFzaC5oIGIvbGliL2hhc2gvcnRl
X2hhc2guaA0KPiA+ID4gPiA+IGluZGV4IDdlY2MwMjExMTEuLjhlYTk3ZTI5N2QgMTAwNjQ0DQo+
ID4gPiA+ID4gLS0tIGEvbGliL2hhc2gvcnRlX2hhc2guaA0KPiA+ID4gPiA+ICsrKyBiL2xpYi9o
YXNoL3J0ZV9oYXNoLmgNCj4gPiA+ID4gPiBAQCAtMTkzLDYgKzE5MywxOSBAQCBydGVfaGFzaF9m
cmVlKHN0cnVjdCBydGVfaGFzaCAqaCk7DQo+ID4gPiA+ID4gICB2b2lkDQo+ID4gPiA+ID4gICBy
dGVfaGFzaF9yZXNldChzdHJ1Y3QgcnRlX2hhc2ggKmgpOw0KPiA+ID4gPiA+ICAgDQo+ID4gPiA+
ID4gKw0KPiA+ID4gPiA+ICsvKioNCj4gPiA+ID4gPiArICogUmV0dXJuIHRoZSBudW1iZXIgb2Yg
cmVjb3JkcyBpbiB0aGUgZGVmZXIgcXVldWUgb2YgdGhlIGhhc2ggdGFibGUNCj4gPiA+ID4gPiAr
ICogaWYgUkNVIGlzIGVuYWJsZWQuDQo+ID4gPiA+ID4gKyAqIEBwYXJhbSBoDQo+ID4gPiA+ID4g
KyAqICBIYXNoIHRhYmxlIHRvIHF1ZXJ5IGZyb20NCj4gPiA+ID4gPiArICogQHJldHVybg0KPiA+
ID4gPiA+ICsgKiAgIC0gLUVJTlZBTCBpZiBwYXJhbWV0ZXJzIGFyZSBpbnZhbGlkDQo+ID4gPiA+
ID4gKyAqICAgLSBBIHZhbHVlIGluZGljYXRpbmcgaG93IG1hbnkgcmVjb3JkcyB3ZXJlIGluc2Vy
dGVkIGluIHRoZSB0YWJsZS4NCj4gPiA+ID4gZGlkIHlvdSBtZWFuIGhvdyBtYW55IHJlY29yZHMg
YXJlIGtlcHQgaW4gZGVmZXIgcXVldWU/DQo+ID4gPiA+ID4gKyAqLw0KPiA+ID4gPiA+ICtpbnQz
Ml90DQo+ID4gPiA+ID4gK3J0ZV9oYXNoX2RxX2NvdW50KGNvbnN0IHN0cnVjdCBydGVfaGFzaCAq
aCk7DQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICAgLyoqDQo+ID4gPiA+ID4gICAgKiBSZXR1cm4g
dGhlIG51bWJlciBvZiBrZXlzIGluIHRoZSBoYXNoIHRhYmxlDQo+ID4gPiA+ID4gICAgKiBAcGFy
YW0gaA0KPiA+ID4gPiA+IGRpZmYgLS1naXQgYS9saWIvaGFzaC92ZXJzaW9uLm1hcCBiL2xpYi9o
YXNoL3ZlcnNpb24ubWFwDQo+ID4gPiA+ID4gaW5kZXggNmIyYWZlYmY2Yi4uN2Y3YjE1OGNmMSAx
MDA2NDQNCj4gPiA+ID4gPiAtLS0gYS9saWIvaGFzaC92ZXJzaW9uLm1hcA0KPiA+ID4gPiA+ICsr
KyBiL2xpYi9oYXNoL3ZlcnNpb24ubWFwDQo+ID4gPiA+ID4gQEAgLTksNiArOSw3IEBAIERQREtf
MjQgew0KPiA+ID4gPiA+ICAgICAgIHJ0ZV9oYXNoX2FkZF9rZXlfd2l0aF9oYXNoOw0KPiA+ID4g
PiA+ICAgICAgIHJ0ZV9oYXNoX2FkZF9rZXlfd2l0aF9oYXNoX2RhdGE7DQo+ID4gPiA+ID4gICAg
ICAgcnRlX2hhc2hfY291bnQ7DQo+ID4gPiA+ID4gKyAgICAgcnRlX2hhc2hfZHFfY291bnQ7DQo+
ID4gPiA+IG5ldyBBUEkgbXVzdCBpbnRyb2R1Y2VkIGFzIGFuIGV4cGVyaW1lbnRhbCBBUEkuIFRo
ZSBzYW1lIGlzIHRydWUgZm9yIA0KPiA+ID4gPiBydGVfcmN1X3FzYnJfZHFfY291bnQoKQ0KPiA+
ID4gPiA+ICAgICAgIHJ0ZV9oYXNoX2NyYzMyX2FsZzsNCj4gPiA+ID4gPiAgICAgICBydGVfaGFz
aF9jcmNfc2V0X2FsZzsNCj4gPiA+ID4gPiAgICAgICBydGVfaGFzaF9jcmVhdGU7DQo+ID4gPiA+
ID4gZGlmZiAtLWdpdCBhL2xpYi9yY3UvcnRlX3JjdV9xc2JyLmMgYi9saWIvcmN1L3J0ZV9yY3Vf
cXNici5jDQo+ID4gPiA+ID4gaW5kZXggYmQwYjgzYmUwYy4uODlmOGRhNGM0YyAxMDA2NDQNCj4g
PiA+ID4gPiAtLS0gYS9saWIvcmN1L3J0ZV9yY3VfcXNici5jDQo+ID4gPiA+ID4gKysrIGIvbGli
L3JjdS9ydGVfcmN1X3FzYnIuYw0KPiA+ID4gPiA+IEBAIC00NTAsNiArNDUwLDE0IEBAIHJ0ZV9y
Y3VfcXNicl9kcV9yZWNsYWltKHN0cnVjdCBydGVfcmN1X3FzYnJfZHEgKmRxLCB1bnNpZ25lZCBp
bnQgbiwNCj4gPiA+ID4gPiAgICAgICByZXR1cm4gMDsNCj4gPiA+ID4gPiAgIH0NCj4gPiA+ID4g
PiAgIA0KPiA+ID4gPiA+ICsvKioNCj4gPiA+ID4gPiArICogUmV0dXJuIHRoZSBudW1iZXIgb2Yg
ZW50cmllcyBpbiBhIGRlZmVyIHF1ZXVlLg0KPiA+ID4gPiA+ICsgKi8NCj4gPiA+ID4gPiArdW5z
aWduZWQgaW50IHJ0ZV9yY3VfcXNicl9kcV9jb3VudChzdHJ1Y3QgcnRlX3JjdV9xc2JyX2RxICpk
cSkNCj4gPiA+ID4gPiArew0KPiA+ID4gUGxlYXNlIHZhbGlkYXRlIGRxIGhlcmUuDQo+ID4gPiAN
Cj4gPiA+ID4gPiArICAgICByZXR1cm4gcnRlX3JpbmdfY291bnQoZHEtPnIpOw0KPiA+ID4gPiA+
ICt9DQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICAgLyogRGVsZXRlIGEgZGVmZXIgcXVldWUuICov
DQo+ID4gPiA+ID4gICBpbnQNCj4gPiA+ID4gPiAgIHJ0ZV9yY3VfcXNicl9kcV9kZWxldGUoc3Ry
dWN0IHJ0ZV9yY3VfcXNicl9kcSAqZHEpDQo+ID4gPiA+ID4gZGlmZiAtLWdpdCBhL2xpYi9yY3Uv
cnRlX3JjdV9xc2JyLmggYi9saWIvcmN1L3J0ZV9yY3VfcXNici5oDQo+ID4gPiA+ID4gaW5kZXgg
MjNjOWY4OTgwNS4uZWQ1YTU5MGVkZCAxMDA2NDQNCj4gPiA+ID4gPiAtLS0gYS9saWIvcmN1L3J0
ZV9yY3VfcXNici5oDQo+ID4gPiA+ID4gKysrIGIvbGliL3JjdS9ydGVfcmN1X3FzYnIuaA0KPiA+
ID4gPiA+IEBAIC03OTQsNiArNzk0LDE3IEBAIGludA0KPiA+ID4gPiA+ICAgcnRlX3JjdV9xc2Jy
X2RxX3JlY2xhaW0oc3RydWN0IHJ0ZV9yY3VfcXNicl9kcSAqZHEsIHVuc2lnbmVkIGludCBuLA0K
PiA+ID4gPiA+ICAgICAgIHVuc2lnbmVkIGludCAqZnJlZWQsIHVuc2lnbmVkIGludCAqcGVuZGlu
ZywgdW5zaWduZWQgaW50ICphdmFpbGFibGUpOw0KPiA+ID4gPiA+ICAgDQo+ID4gPiA+ID4gKy8q
Kg0KPiA+ID4gPiA+ICsgKiBSZXR1cm4gdGhlIG51bWJlciBvZiBlbnRyaWVzIGluIGEgZGVmZXIg
cXVldWUuDQo+ID4gPiA+ID4gKyAqDQo+ID4gPiA+ID4gKyAqIEBwYXJhbSBkcQ0KPiA+ID4gPiA+
ICsgKiAgIERlZmVyIHF1ZXVlLg0KPiA+ID4gPiA+ICsgKiBAcmV0dXJuDQo+ID4gPiA+ID4gKyAq
ICAgVGhlIG51bWJlciBvZiBlbnRyaWVzIGluIHRoZSBkZWZlciBxdWV1ZS4NCj4gPiA+ID4gPiAr
ICovDQo+ID4gPiA+ID4gK3Vuc2lnbmVkIGludA0KPiA+ID4gPiA+ICtydGVfcmN1X3FzYnJfZHFf
Y291bnQoc3RydWN0IHJ0ZV9yY3VfcXNicl9kcSAqZHEpOw0KPiA+ID4gQWdyZWUgb24gdGhlIG5l
ZWQgZm9yIHRoaXMgQVBJIGluIFJDVQ0KPiA+ID4gDQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICAg
LyoqDQo+ID4gPiA+ID4gICAgKiBEZWxldGUgYSBkZWZlciBxdWV1ZS4NCj4gPiA+ID4gPiAgICAq
DQo+ID4gPiA+ID4gZGlmZiAtLWdpdCBhL2xpYi9yY3UvdmVyc2lvbi5tYXAgYi9saWIvcmN1L3Zl
cnNpb24ubWFwDQo+ID4gPiA+ID4gaW5kZXggOTgyZmZkNTlkOS4uZjQxMGFiNDFlNyAxMDA2NDQN
Cj4gPiA+ID4gPiAtLS0gYS9saWIvcmN1L3ZlcnNpb24ubWFwDQo+ID4gPiA+ID4gKysrIGIvbGli
L3JjdS92ZXJzaW9uLm1hcA0KPiA+ID4gPiA+IEBAIC01LDYgKzUsNyBAQCBEUERLXzI0IHsNCj4g
PiA+ID4gPiAgICAgICBydGVfcmN1X3FzYnJfZHFfY3JlYXRlOw0KPiA+ID4gPiA+ICAgICAgIHJ0
ZV9yY3VfcXNicl9kcV9kZWxldGU7DQo+ID4gPiA+ID4gICAgICAgcnRlX3JjdV9xc2JyX2RxX2Vu
cXVldWU7DQo+ID4gPiA+ID4gKyAgICAgcnRlX3JjdV9xc2JyX2RxX2NvdW50Ow0KPiA+ID4gPiA+
ICAgICAgIHJ0ZV9yY3VfcXNicl9kcV9yZWNsYWltOw0KPiA+ID4gPiA+ICAgICAgIHJ0ZV9yY3Vf
cXNicl9kdW1wOw0KPiA+ID4gPiA+ICAgICAgIHJ0ZV9yY3VfcXNicl9nZXRfbWVtc2l6ZTsNCj4g
PiA+ID4gDQo+ID4gPiA+IC0tIA0KPiA+ID4gPiBSZWdhcmRzLA0KPiA+ID4gPiBWbGFkaW1pcg0K
PiA+ID4gPiANCj4gPiA+IA0KPiA+IA0KPiANCg0K