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 23F7FA0487
	for <public@inbox.dpdk.org>; Mon, 29 Jul 2019 08:25:27 +0200 (CEST)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id E1BAF1BEC9;
	Mon, 29 Jul 2019 08:25:26 +0200 (CEST)
Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com
 [67.231.156.173]) by dpdk.org (Postfix) with ESMTP id 1AC611BE87
 for <dev@dpdk.org>; Mon, 29 Jul 2019 08:25:25 +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
 x6T6PPWK014241; Sun, 28 Jul 2019 23:25:25 -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=N7abjKtVfvDLa4LAvQVpR05Ufzr047XvCDbRRnKrCZ4=;
 b=XwMDggYlTLNBu8ipON9oCqyHdEGDqFOH0ki+d+WfbJo/lDwcYN3daIoCEVKMByfgOHhI
 w2o5pUn0VsQVMt7enuNDlHbIMogEvuEt9KSu66t6auVhGzKG3NXv+zgu+RzzVXz9nWkQ
 t8YCv8aVZKpBTn2sVQd4kwt2o4iy/5qVCnZIuyhiuOjFUesMzFqaQE1/GjBPsFHdAgVV
 PcBCUAHGDR1eOasPTMUfAawfgoiN/DsKKxU79CTiJCvfPkRmHEVjtPpyRPXzFudhf1r7
 x+69XFVvInCNUF45e3G3BrKhSVevJgnlfjrrjFa2CoVlud2VnCbqB/gGmpEhbN98KF06 7g== 
Received: from sc-exch01.marvell.com ([199.233.58.181])
 by mx0b-0016f401.pphosted.com with ESMTP id 2u0p4kx2ga-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT);
 Sun, 28 Jul 2019 23:25:24 -0700
Received: from SC-EXCH02.marvell.com (10.93.176.82) by SC-EXCH01.marvell.com
 (10.93.176.81) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Sun, 28 Jul
 2019 23:25:18 -0700
Received: from NAM03-CO1-obe.outbound.protection.outlook.com (104.47.40.54) by
 SC-EXCH02.marvell.com (10.93.176.82) with Microsoft SMTP Server
 (TLS) id
 15.0.1367.3 via Frontend Transport; Sun, 28 Jul 2019 23:25:18 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=D6i5kHcqEUvmk3tj5AtHsJsq1fnPz+qWIc8HGU0O6fBbB87DHp6hI9xqmacuWfmlvpe5FRhykw1oJzUhaoEes0tJG8AqcpbQW9B/+7iTW5LBLjVfgJw4LkZaxbPuRjPxGLj5XKgFK1/epALX0rMW7so3HScfUXj+I0bEf+mnVk3qWYczOTZxhhu9r3MFN6T3+s6J3W5qiKSL3ua58Xq1VO+zV7z0BOrFBtwzzpbhazMAF8Pn4kmrkp/ZMD+VKqgqJWzYELAx1CqRAWjAWqi+AcPoxWQxihuzSWj4UVTLkl3P//xv4bdpoXqiSrNgNnCu2pzKjgya6nNNnVnWHW+65Q==
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=N7abjKtVfvDLa4LAvQVpR05Ufzr047XvCDbRRnKrCZ4=;
 b=Pn4i3QKW/T/kS6JM/6xPFJD+GFUIG3XBUYWYQIqLy2yYEMTmaGtRwfsb2AJm4uZeThJKRGmZlpmYegjevLZ/dcgaAlCwREUH4vD019hqIrAM1Zwh4EVTwp8PzHrAgwEz6F0B58RRJTJLg+vlIMRyseaMy9h0f6Wi0Cmnwk1nJ9LQ56VQES+4kbztJfoisA+24XSn6HEmpdXr/XvTMXM4SkS3vQC3uQgT4s6j55K9ktiDJ0lkdZghytkvYr7B4EjtOzghG5aoQ3nAPru8xTzYUw+j3nR0wNKMfPv3h6PNUr1eor//ceUP0vjrR7CZkWdqiTcmx7+FGTVmrEL2j0/3Zg==
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=selector2-marvell-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=N7abjKtVfvDLa4LAvQVpR05Ufzr047XvCDbRRnKrCZ4=;
 b=UIZf1QYFpZZIkItig//cGVvffdHnF1cMSQ51+/9gfKeZxEPuVVFCsBpdkVaHIIwM0Xf+3ceTLr0BfHPuZynTy5D3ZJXwtHJW9YQJmmB3QYWFSa/Rnt2gMPKiuRPcLo9ujqmiuTpEGe19bYSSbEs6vXCrmw1zTJl8EwCrubJ0P0c=
Received: from CH2PR18MB3381.namprd18.prod.outlook.com (52.132.246.204) by
 CH2PR18MB3253.namprd18.prod.outlook.com (52.132.245.91) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.2115.14; Mon, 29 Jul 2019 06:25:14 +0000
Received: from CH2PR18MB3381.namprd18.prod.outlook.com
 ([fe80::189c:3889:b207:8922]) by CH2PR18MB3381.namprd18.prod.outlook.com
 ([fe80::189c:3889:b207:8922%5]) with mapi id 15.20.2115.005; Mon, 29 Jul 2019
 06:25:14 +0000
From: Vamsi Krishna Attunuru <vattunuru@marvell.com>
To: Andrew Rybchenko <arybchenko@solarflare.com>
CC: "thomas@monjalon.net" <thomas@monjalon.net>, Jerin Jacob Kollanukkaran
 <jerinj@marvell.com>, "olivier.matz@6wind.com" <olivier.matz@6wind.com>,
 "ferruh.yigit@intel.com" <ferruh.yigit@intel.com>,
 "anatoly.burakov@intel.com" <anatoly.burakov@intel.com>, "Kiran Kumar
 Kokkilagadda" <kirankumark@marvell.com>, "dev@dpdk.org" <dev@dpdk.org>
Thread-Topic: [dpdk-dev] [PATCH v8 1/5] mempool: populate mempool with page
 sized chunks of memory
Thread-Index: AQHVQRjlH/HjuNGYjEOIEzqTLatfH6bYC6KAgAATbeCAAHnHAIAAv2oQgAAIMACAB8ZywA==
Date: Mon, 29 Jul 2019 06:25:14 +0000
Message-ID: <CH2PR18MB3381C6C6919EE1BEE5BF775BA6DD0@CH2PR18MB3381.namprd18.prod.outlook.com>
References: <20190717090408.13717-1-vattunuru@marvell.com>
 <20190723053821.30227-1-vattunuru@marvell.com>
 <20190723053821.30227-2-vattunuru@marvell.com>
 <4b9cec50-348a-3359-04ee-3b567b49aa9f@solarflare.com>
 <CH2PR18MB3381BF1EB386EA03889F8039A6C70@CH2PR18MB3381.namprd18.prod.outlook.com>
 <ebb88b37-b4f2-3e82-b192-ad6cd2b3ceb2@solarflare.com>
 <CH2PR18MB338101FB57C8EB1CCFA2DDE0A6C60@CH2PR18MB3381.namprd18.prod.outlook.com>
 <0b77d853-48f7-6c6d-8687-3bd46b91e19d@solarflare.com>
In-Reply-To: <0b77d853-48f7-6c6d-8687-3bd46b91e19d@solarflare.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [14.140.231.66]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 8bf3983c-2214-4549-8e49-08d713ed8456
x-microsoft-antispam: BCL:0; PCL:0;
 RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(2017052603328)(7193020);
 SRVR:CH2PR18MB3253; 
x-ms-traffictypediagnostic: CH2PR18MB3253:
x-microsoft-antispam-prvs: <CH2PR18MB325358356BDD4B757C3ECBC3A6DD0@CH2PR18MB3253.namprd18.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:8273;
x-forefront-prvs: 01136D2D90
x-forefront-antispam-report: SFV:NSPM;
 SFS:(10009020)(4636009)(366004)(136003)(396003)(39850400004)(376002)(346002)(189003)(199004)(13464003)(99286004)(102836004)(186003)(66066001)(5660300002)(26005)(2906002)(54906003)(6506007)(11346002)(53546011)(4326008)(25786009)(55016002)(316002)(9686003)(76176011)(81166006)(256004)(478600001)(52536014)(81156014)(486006)(7696005)(3846002)(14444005)(6116002)(8676002)(74316002)(7736002)(305945005)(76116006)(6916009)(64756008)(66446008)(68736007)(33656002)(8936002)(66556008)(66476007)(66946007)(86362001)(55236004)(14454004)(6246003)(476003)(446003)(53936002)(229853002)(71190400001)(71200400001)(6436002);
 DIR:OUT; SFP:1101; SCL:1; SRVR:CH2PR18MB3253;
 H:CH2PR18MB3381.namprd18.prod.outlook.com; FPR:; SPF:None; LANG:en;
 PTR:InfoNoRecords; MX:1; A:1; 
received-spf: None (protection.outlook.com: marvell.com does not designate
 permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam-message-info: Qlq12hgoVftxv8H5Jtj2KRBjV+7+brEN8JcbNISLnYYCC4GEn9vpvdAqLWw/Ga//ZqYr8k0p22pzDzcygOfSf8flSgUN0O90UsYRIxwwMl7QRNwSq9v0WbbYiJNj5gDkuNJ95X9LJvKTKLbYUQ1QmgN2Jfh7c3MCXHLx4O/vwP2zbA0FlKfd0ZBck7npcWlwVy2cvd1NAxEobG1ruE8/0am4jf5dQ4aX9cGtH5j7JNmvnNgyebVeUiHTzdE1KHqGhsWo+C8+Zgn2Dr4sJ447B78QGRoNbqwRVhbKQvjzzo1HSWrLyp5S2+/j3bEm8m7hcUwpgDbXH9iRpfpnz1PwZq333Vbaj8RE4zCL1J4lnSSWatCo3mlpIRJoPRdFxWD53lgbbo8SrO2n8sB7PXOe81QoMA0gUTofsFqzlgAS43k=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-Network-Message-Id: 8bf3983c-2214-4549-8e49-08d713ed8456
X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Jul 2019 06:25:14.3657 (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: vattunuru@marvell.com
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR18MB3253
X-OriginatorOrg: marvell.com
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:5.22.84,1.0.8
 definitions=2019-07-29_03:2019-07-26,2019-07-29 signatures=0
Subject: Re: [dpdk-dev] [PATCH v8 1/5] mempool: populate mempool with page
 sized chunks of memory
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>

SGksDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogQW5kcmV3IFJ5YmNo
ZW5rbyA8YXJ5YmNoZW5rb0Bzb2xhcmZsYXJlLmNvbT4NCj4gU2VudDogV2VkbmVzZGF5LCBKdWx5
IDI0LCAyMDE5IDEyOjU4IFBNDQo+IFRvOiBWYW1zaSBLcmlzaG5hIEF0dHVudXJ1IDx2YXR0dW51
cnVAbWFydmVsbC5jb20+OyBkZXZAZHBkay5vcmcNCj4gQ2M6IHRob21hc0Btb25qYWxvbi5uZXQ7
IEplcmluIEphY29iIEtvbGxhbnVra2FyYW4gPGplcmluakBtYXJ2ZWxsLmNvbT47DQo+IG9saXZp
ZXIubWF0ekA2d2luZC5jb207IGZlcnJ1aC55aWdpdEBpbnRlbC5jb207IGFuYXRvbHkuYnVyYWtv
dkBpbnRlbC5jb207DQo+IEtpcmFuIEt1bWFyIEtva2tpbGFnYWRkYSA8a2lyYW5rdW1hcmtAbWFy
dmVsbC5jb20+DQo+IFN1YmplY3Q6IFJlOiBbZHBkay1kZXZdIFtQQVRDSCB2OCAxLzVdIG1lbXBv
b2w6IHBvcHVsYXRlIG1lbXBvb2wgd2l0aCBwYWdlDQo+IHNpemVkIGNodW5rcyBvZiBtZW1vcnkN
Cj4gDQo+IE9uIDcvMjQvMTkgMTA6MDkgQU0sIFZhbXNpIEtyaXNobmEgQXR0dW51cnUgd3JvdGU6
DQo+ID4NCj4gPj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4gRnJvbTogQW5kcmV3
IFJ5YmNoZW5rbyA8YXJ5YmNoZW5rb0Bzb2xhcmZsYXJlLmNvbT4NCj4gPj4gU2VudDogV2VkbmVz
ZGF5LCBKdWx5IDI0LCAyMDE5IDE6MDQgQU0NCj4gPj4gVG86IFZhbXNpIEtyaXNobmEgQXR0dW51
cnUgPHZhdHR1bnVydUBtYXJ2ZWxsLmNvbT47IGRldkBkcGRrLm9yZw0KPiA+PiBDYzogdGhvbWFz
QG1vbmphbG9uLm5ldDsgSmVyaW4gSmFjb2IgS29sbGFudWtrYXJhbg0KPiA+PiA8amVyaW5qQG1h
cnZlbGwuY29tPjsgb2xpdmllci5tYXR6QDZ3aW5kLmNvbTsgZmVycnVoLnlpZ2l0QGludGVsLmNv
bTsNCj4gPj4gYW5hdG9seS5idXJha292QGludGVsLmNvbTsgS2lyYW4gS3VtYXIgS29ra2lsYWdh
ZGRhDQo+ID4+IDxraXJhbmt1bWFya0BtYXJ2ZWxsLmNvbT4NCj4gPj4gU3ViamVjdDogUmU6IFtk
cGRrLWRldl0gW1BBVENIIHY4IDEvNV0gbWVtcG9vbDogcG9wdWxhdGUgbWVtcG9vbCB3aXRoDQo+
ID4+IHBhZ2Ugc2l6ZWQgY2h1bmtzIG9mIG1lbW9yeQ0KPiA+Pg0KPiA+PiBPbiA3LzIzLzE5IDM6
MjggUE0sIFZhbXNpIEtyaXNobmEgQXR0dW51cnUgd3JvdGU6DQo+ID4+Pj4gLS0tLS1PcmlnaW5h
bCBNZXNzYWdlLS0tLS0NCj4gPj4+PiBGcm9tOiBBbmRyZXcgUnliY2hlbmtvIDxhcnliY2hlbmtv
QHNvbGFyZmxhcmUuY29tPg0KPiA+Pj4+IFNlbnQ6IFR1ZXNkYXksIEp1bHkgMjMsIDIwMTkgNDoz
OCBQTQ0KPiA+Pj4+IFRvOiBWYW1zaSBLcmlzaG5hIEF0dHVudXJ1IDx2YXR0dW51cnVAbWFydmVs
bC5jb20+OyBkZXZAZHBkay5vcmcNCj4gPj4+PiBDYzogdGhvbWFzQG1vbmphbG9uLm5ldDsgSmVy
aW4gSmFjb2IgS29sbGFudWtrYXJhbg0KPiA+Pj4+IDxqZXJpbmpAbWFydmVsbC5jb20+OyBvbGl2
aWVyLm1hdHpANndpbmQuY29tOw0KPiA+Pj4+IGZlcnJ1aC55aWdpdEBpbnRlbC5jb207IGFuYXRv
bHkuYnVyYWtvdkBpbnRlbC5jb207IEtpcmFuIEt1bWFyDQo+ID4+Pj4gS29ra2lsYWdhZGRhIDxr
aXJhbmt1bWFya0BtYXJ2ZWxsLmNvbT4NCj4gPj4+PiBTdWJqZWN0OiBSZTogW2RwZGstZGV2XSBb
UEFUQ0ggdjggMS81XSBtZW1wb29sOiBwb3B1bGF0ZSBtZW1wb29sDQo+ID4+Pj4gd2l0aCBwYWdl
IHNpemVkIGNodW5rcyBvZiBtZW1vcnkNCj4gPj4+Pg0KPiA+Pj4+IE9uIDcvMjMvMTkgODozOCBB
TSwgdmF0dHVudXJ1QG1hcnZlbGwuY29tIHdyb3RlOg0KPiA+Pj4+PiBGcm9tOiBWYW1zaSBBdHR1
bnVydSA8dmF0dHVudXJ1QG1hcnZlbGwuY29tPg0KPiA+Pj4+Pg0KPiA+Pj4+PiBQYXRjaCBhZGRz
IGEgcm91dGluZSB0byBwb3B1bGF0ZSBtZW1wb29sIGZyb20gcGFnZSBhbGlnbmVkIGFuZA0KPiA+
Pj4+PiBwYWdlIHNpemVkIGNodW5rcyBvZiBtZW1vcnkgdG8gZW5zdXJlcyBtZW1vcnkgb2JqcyBk
byBub3QgZmFsbA0KPiA+Pj4+PiBhY3Jvc3MgdGhlIHBhZ2UgYm91bmRhcmllcy4gSXQncyB1c2Vm
dWwgZm9yIGFwcGxpY2F0aW9ucyB0aGF0DQo+ID4+Pj4+IHJlcXVpcmUgcGh5c2ljYWxseSBjb250
aWd1b3VzIG1idWYgbWVtb3J5IHdoaWxlIHJ1bm5pbmcgaW4gSU9WQT1WQQ0KPiBtb2RlLg0KPiA+
Pj4+Pg0KPiA+Pj4+PiBTaWduZWQtb2ZmLWJ5OiBWYW1zaSBBdHR1bnVydSA8dmF0dHVudXJ1QG1h
cnZlbGwuY29tPg0KPiA+Pj4+PiBTaWduZWQtb2ZmLWJ5OiBLaXJhbiBLdW1hciBLIDxraXJhbmt1
bWFya0BtYXJ2ZWxsLmNvbT4NCj4gPj4+Pj4gLS0tDQo+ID4+IDwuLi4+DQo+ID4+DQo+ID4+Pj4+
ICsJaW50IHJldDsNCj4gPj4+Pj4gKw0KPiA+Pj4+PiArCXJldCA9IG1lbXBvb2xfb3BzX2FsbG9j
X29uY2UobXApOw0KPiA+Pj4+PiArCWlmIChyZXQgIT0gMCkNCj4gPj4+Pj4gKwkJcmV0dXJuIHJl
dDsNCj4gPj4+Pj4gKw0KPiA+Pj4+PiArCWlmIChtcC0+bmJfbWVtX2NodW5rcyAhPSAwKQ0KPiA+
Pj4+PiArCQlyZXR1cm4gLUVFWElTVDsNCj4gPj4+Pj4gKw0KPiA+Pj4+PiArCXBnX3N6ID0gZ2V0
X21pbl9wYWdlX3NpemUobXAtPnNvY2tldF9pZCk7DQo+ID4+Pj4+ICsJcGdfc2hpZnQgPSBydGVf
YnNmMzIocGdfc3opOw0KPiA+Pj4+PiArDQo+ID4+Pj4+ICsJZm9yIChtel9pZCA9IDAsIG4gPSBt
cC0+c2l6ZTsgbiA+IDA7IG16X2lkKyssIG4gLT0gcmV0KSB7DQo+ID4+Pj4+ICsNCj4gPj4+Pj4g
KwkJcnRlX21lbXBvb2xfb3BfY2FsY19tZW1fc2l6ZV9kZWZhdWx0KG1wLCBuLCBwZ19zaGlmdCwN
Cj4gPj4+Pj4gKwkJCSAgICAgJmNodW5rX3NpemUsICZhbGlnbik7DQo+ID4+Pj4gSXQgaXMgaW5j
b3JyZWN0IHRvIGlnbm9yZSBtZW1wb29sIHBvb2wgb3BzIGFuZCBlbmZvcmNlIGRlZmF1bHQNCj4g
Pj4+PiBoYW5kbGVyLiBVc2UgcnRlX21lbXBvb2xfb3BzX2NhbGNfbWVtX3NpemUoKS4NCj4gPj4+
PiBBbHNvIGl0IGlzIGJldHRlciB0byB0cmVhdCBuZWdhdGl2ZSByZXR1cm4gdmFsdWUgYXMgYW4g
ZXJyb3IgYXMNCj4gPj4+PiBkZWZhdWx0IGZ1bmN0aW9uIGRvZXMuDQo+ID4+Pj4gKE1heSBiZSBp
dCBteSBtaXN0YWtlIGluIHJldHVybiB2YWx1ZSBkZXNjcmlwdGlvbiB0aGF0IGl0IGlzIG5vdCBt
ZW50aW9uZWQpLg0KPiA+Pj4+DQo+ID4+PiBZZXMsIEkgdGhvdWdodCBzbywgYnV0IG9wc19jYWxj
X21lbV9zaXplKCkgd291bGQgaW4gdHVybiBjYWxsDQo+ID4+PiBtZW1wb29sIHBtZCdzIGNhbGNf
bWVtX3NpemUoKSBvcCB3aGljaCBtYXkvbWF5IG5vdCByZXR1cm4gcmVxdWlyZWQNCj4gPj4+IGNo
dW5rX3NpemUgYW5kIGFsaWduIHZhbHVlcyBpbiB0aGlzIGNhc2UuIE9yIGVsc2UgaXQgd291bGQg
YmUNCj4gPj4+IHNraXBwZWQgY29tcGxldGVseSBhbmQgdXNlDQo+ID4+IHBnX3N6IGZvciBib3Ro
IG1lbXpvbmUgbGVuIGFuZCBhbGlnbiwgYW55d2F5cyB0aGlzICBwYWdlIHNpemVkDQo+ID4+IGFs
aWdubWVudCB3aWxsIHN1aXRzIHRoZSBwbWQncyBzcGVjaWZpYyBhbGlnbiByZXF1aXJlbWVudHMu
DQo+ID4+DQo+ID4+IEFueXdheSBpdCBpcyBpbmNvcnJlY3QgdG8gdmlvbGF0ZSBkcml2ZXIgb3Bz
LiBkZWZhdWx0IGlzIGRlZmluaXRlbHkNCj4gPj4gd3JvbmcgZm9yIGJ1Y2tldC4NCj4gPj4gbWlu
X2NodW5rX3NpemUgYW5kIGFsaWduIGlzIG1lbXBvb2wgZHJpdmVyIHJlcXVpcmVtZW50cy4gWW91
IGNhbg0KPiA+PiBoYXJkZW4gaXQsIGJ1dCBzaG91bGQgbm90IHZpb2xhdGUgaXQuDQo+ID4gZmlu
ZSwgSSB3aWxsIG1vZGlmeSB0aGUgcm91dGluZSBhcyBiZWxvdywgIGNhbGwgcG1kJ3MgY2FsY19t
ZW1fc2l6ZSgpIG9wIGFuZA0KPiBvdmVyIHdyaXRlIG1pbl9jaHVua19zaXplIGlmIGl0IGRvZXMg
bm90IHN1aXQgZm9yIHRoaXMgZnVuY3Rpb24ncyBwdXJwb3NlLg0KPiA+DQo+ID4gKyAgICAgICB0
b3RhbF9lbHRfc3ogPSBtcC0+aGVhZGVyX3NpemUgKyBtcC0+ZWx0X3NpemUgKyBtcC0+dHJhaWxl
cl9zaXplOw0KPiA+ICsgICAgICAgaWYgKHRvdGFsX2VsdF9zeiA+IHBnX3N6KQ0KPiA+ICsgICAg
ICAgICAgICAgICByZXR1cm4gcmV0Ow0KPiA+DQo+ID4gKyAgICAgICBmb3IgKG16X2lkID0gMCwg
biA9IG1wLT5zaXplOyBuID4gMDsgbXpfaWQrKywgbiAtPSByZXQpIHsNCj4gPg0KPiA+IC0gICAg
ICAgICAgICAgICBydGVfbWVtcG9vbF9vcF9jYWxjX21lbV9zaXplX2RlZmF1bHQobXAsIG4sIHBn
X3NoaWZ0LA0KPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgJmNodW5rX3NpemUsICZh
bGlnbik7DQo+ID4gKyAgICAgICAgICAgICAgIHJldCA9IHJ0ZV9tZW1wb29sX29wc19jYWxjX21l
bV9zaXplKG1wLCBuLCBwZ19zaGlmdCwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICZtaW5fY2h1bmtfc2l6ZSwgJmFsaWduKTsNCj4gPiArDQo+ID4gKyAgICAgICAgICAgICAg
IGlmIChyZXQgPCAwKQ0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGZhaWw7DQo+
ID4NCj4gPiArICAgICAgICAgICAgICAgaWYgKG1pbl9jaHVua19zaXplID4gcGdfc3opDQo+ID4g
KyAgICAgICAgICAgICAgICAgICAgICAgbWluX2NodW5rX3NpemUgPSBwZ19zejsNCj4gPg0KPiA+
IENoYW5nZXMgbG9vayBmaW5lLj8NCj4gDQo+IE5vLCB5b3UgY2FuJ3QgdmlvbGF0ZSBtaW5fY2h1
bmtfc2l6ZSByZXF1aXJlbWVudC4gSWYgaXQgaXMgdW5hY2NlcHRhYmxlLCBlcnJvcg0KPiBzaG91
bGQgYmUgcmV0dXJuZWQuIFNvLCB5b3Ugc2hvdWxkIG5vdCBjaGVjayB0b3RhbF9lbHRfc3ogYWJv
dmUgc2VwYXJhdGVseS4NCg0KRmluZSwgd2lsbCBwdXQgbWluX2NodW5rX3NpemUgcmVxIGNoZWNr
IGFuZCByZXR1cm4gZXJyb3IgaWYgaXQncyBpbmFwcHJvcHJpYXRlLg0KSSB3aWxsIHNlbmQgVjkg
d2l0aCBhZGRyZXNzaW5nIGFsbCBvdGhlciBjb21tZW50cy4NCkJ0dywgc29ycnkgZm9yIGRlbGF5
ZWQgcmVzcG9uc2UuDQoNCg0K