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 DA16EA0547; Mon, 21 Jun 2021 20:17:40 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6894F40140; Mon, 21 Jun 2021 20:17:40 +0200 (CEST) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mails.dpdk.org (Postfix) with ESMTP id 9885A40040 for ; Mon, 21 Jun 2021 20:17:38 +0200 (CEST) IronPort-SDR: NKB8IhVV7naVO8eWdbQrRJl/FZk9naf/p2Y/RcXh5hQYmrM5CQztbctYAw3563Kf2GK2nfb0Mu PAXW6yk7z0Eg== X-IronPort-AV: E=McAfee;i="6200,9189,10022"; a="292533579" X-IronPort-AV: E=Sophos;i="5.83,289,1616482800"; d="scan'208";a="292533579" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Jun 2021 11:17:37 -0700 IronPort-SDR: 7JMgym6owzjYur/m7lD9YQth6IbqR/UuRU2lwalrhgwp2HjYEh2OKcVuCxj/zQ76OcuZ5oy7Ee p841wLs/WjsA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.83,289,1616482800"; d="scan'208";a="423023017" Received: from orsmsx606.amr.corp.intel.com ([10.22.229.19]) by orsmga002.jf.intel.com with ESMTP; 21 Jun 2021 11:17:36 -0700 Received: from orsmsx609.amr.corp.intel.com (10.22.229.22) by ORSMSX606.amr.corp.intel.com (10.22.229.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4; Mon, 21 Jun 2021 11:17:36 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX609.amr.corp.intel.com (10.22.229.22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4; Mon, 21 Jun 2021 11:17:36 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4 via Frontend Transport; Mon, 21 Jun 2021 11:17:36 -0700 Received: from NAM04-DM6-obe.outbound.protection.outlook.com (104.47.73.47) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.4; Mon, 21 Jun 2021 11:17:34 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JSDv3sl7rfzw/kjEBLK92WiYcIswGVts/NzC552Ekod3Rpw3nuFPJgcxEpxbL7WceaTsz9YXwXDztrnVygu2lxokHK92rL+4RjgAhMgWFgCBQ5x2a8v93eyBOxIsR2Cu1UliPL/RiLYjDEF4fEp+OrH5NQs/FavUIr3ODjVUPKxJDmJV+r2W26v5i6igCDz+Z6igwL9Bs0+AHwvJBvZyPc4FoRfUNFXq1XgR8e7rAHCW1OII/+4T8snYRmEvRt0Vl8vj3Nwbx1pq9mQBaq/OmFoJymMUwdcmoBp5JnCL26cJjo58mKgzft37DMU0+t217qXQNac5WzlWLTDHoVUHYg== 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=FRJDVmMb6Dahiyo4703KRpQ6RUODjtQ35FdX73KGNh4=; b=RTZjHyWyJOe9JFwN/rrywcAtWdbarJ3tdnxVsFL2t6vikhWKjfsQPTHIvD/NZOiVh6rgyfNMg4piolV9sBcZ0Y4XUYL90V5lhZ+ykVm6+iBZmW6FJz1rt/Us0MTMhz7vLSO2mxzInGHrZj0YotrnKIrjmjmY40MdC+NFjpzo8f73SZGrFCIMAiNQ2RJDs1jYwjksFVLbAcjkfpKwDhEwzVbH1kztZHbsZ2zxLaFF9XAiyCXKwndUcmy+ntmosLdP66hWBJpVdJlCkUhpGnHc2sqUu+lSOtWelZ6jeLFBEi5YdSBjkl4Gfh9chakWR/uzkMV97TedahklN3MkaYQwoQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=FRJDVmMb6Dahiyo4703KRpQ6RUODjtQ35FdX73KGNh4=; b=Nqr4IAnb/HQikixc0zyaMDvzGTZlgShDf4fWwl40R761BUbc5E6asfVg+bG6hqLH4nI2ZHTPELOPOYBwUUO5EYjZLECm7KdD9N2xt8q+bMfEbRF9EQKJYgPS2DnQUrnpOaMrAn2Q5uY+J7+iKAkyTuBCLPOBWbDqKufFxb1ymlk= Received: from DM6PR11MB4491.namprd11.prod.outlook.com (2603:10b6:5:204::19) by DM6PR11MB4609.namprd11.prod.outlook.com (2603:10b6:5:28f::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4242.21; Mon, 21 Jun 2021 18:17:31 +0000 Received: from DM6PR11MB4491.namprd11.prod.outlook.com ([fe80::7dc4:66b0:f76b:6d48]) by DM6PR11MB4491.namprd11.prod.outlook.com ([fe80::7dc4:66b0:f76b:6d48%7]) with mapi id 15.20.4242.023; Mon, 21 Jun 2021 18:17:31 +0000 From: "Ananyev, Konstantin" To: "Yigit, Ferruh" , =?utf-8?B?TW9ydGVuIEJyw7hydXA=?= , Thomas Monjalon , "Richardson, Bruce" CC: "dev@dpdk.org" , "olivier.matz@6wind.com" , "andrew.rybchenko@oktetlabs.ru" , "honnappa.nagarahalli@arm.com" , "jerinj@marvell.com" , "gakhil@marvell.com" Thread-Topic: [dpdk-dev] [PATCH] parray: introduce internal API for dynamic arrays Thread-Index: AQHXYQxT3nKj3OToOE+g04oypCLg2asTbdkAgAAOoICAAATCgIAAFeZggAAOq/CABIvGAIAAHL6ggAAPB4CAATs50IAEplTQgAApWQCAAAaAEIAAHYUAgAAHjwCAABYXgIAAIGXw Date: Mon, 21 Jun 2021 18:17:31 +0000 Message-ID: References: <20210614105839.3379790-1-thomas@monjalon.net> <98CBD80474FA8B44BF855DF32C47DC35C6184E@smartserver.smartshare.dk> <2004320.XGyPsaEoyj@thomas> <0bb118ba-2658-a7d7-ad8f-bf27f62849f7@intel.com> <98CBD80474FA8B44BF855DF32C47DC35C6187A@smartserver.smartshare.dk> <5669a171-2bb2-2f99-1dad-e5e0eefb5ddd@intel.com> <42bd6871-c5da-4630-31ee-1916eb823a60@intel.com> In-Reply-To: <42bd6871-c5da-4630-31ee-1916eb823a60@intel.com> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.5.1.3 authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [109.255.184.192] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 7ada1622-8565-4a04-be74-08d934e0d5d3 x-ms-traffictypediagnostic: DM6PR11MB4609: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: KqI1VsHdoggGRvyGeTDJOTb3TCAIFddtmmM6hUd5TRU3VIdiz6TAXYw2/r6U/0hovmAvnF7hAv9dQmicm2EuQ8VZiWsevPJUgrPhaJ6w2p+ddbUPtmE+zNImrSNf+6kt83fZcVpqYajL6CN9Q5TrXHKm5My5J/2tjKXe0KHSePVJaAHDvqZ0g38Ga1zr7Cx8MdsVHAzec+VWPh5vCTBto+5XMRGnM2TsDIwgqiBi8C8cPLo5dn47Z3Gbol7dNXF3uJ1BDBVP8mtAvXKpCbZL1rJ9U1eE4PQo53CeNb5843HSguBkntI7XpdXR3ZXqWWgnjsMvTwfjmvCHU4hhyooIoEutMPdehVNzFQ8yABQ4lUIFOe2Ixy5sKrhKPCD03bWexdz5G48/Fqg8jIvNkw2npZIuEjByJWjbF9P8LoiadfxLJCIak1x/EdhSq/U5Pkr+O7Ia9mn5ztD13dkVNnsvfF0uh/V1ljCX17rkFIOG00dtxojuXa+9riCRDWW5f35MX/Nn7Bwo+Ve91UFk8ufLPhSDkb9b/tO5sNgCNt6wggssu1BVxvjLQpE0Qa6wWcF8+9pD4AUn9ewLzEXVawFcmRgs0CoHRWMRbhuyGVwYUc= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR11MB4491.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(346002)(39860400002)(136003)(376002)(366004)(396003)(26005)(8676002)(5660300002)(8936002)(86362001)(52536014)(66946007)(478600001)(186003)(83380400001)(122000001)(55236004)(7696005)(6506007)(4326008)(33656002)(55016002)(9686003)(76116006)(6636002)(64756008)(54906003)(66556008)(53546011)(110136005)(2906002)(66476007)(71200400001)(38100700002)(316002)(66446008); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?VUZzaFhOajlEWXZnUVI0ei9RbHVuaHl6bktZMUlCc0xoQVA1Z1hmbWdNT0Q4?= =?utf-8?B?K3FCZlJKbmNNYVBVdmNvZ1AwZkFtay9oMWNLYzlQVnZDV2pPeWd0MUNCc0hu?= =?utf-8?B?UVFsZ1ZFbEZFOGxTaGd2dDZRR1FBc2RXVzBwL0pXalZnNTdSTUNqNjk3b2RQ?= =?utf-8?B?d3hlamQ0MzVKcVNqUXEzcjlsdnUyVTd6ZFFDeVNPTzVxazErcGNJb296YUpz?= =?utf-8?B?eXVxME5lR21lMWsxank0bStqVHIySUljblJMeXluM1hCbzV6ZmM2cm05Vzdh?= =?utf-8?B?aDhIRnVsb210TkpLbjl3aUFvWnRCV1NTSGpNS1F5RG45TzdCclpEK0ZwcHZV?= =?utf-8?B?YndVOVJkT2JZOThrUm5nRTJ2VWorek0vdENPVlNPZ3pCcjZCeCtoWDVTRm15?= =?utf-8?B?WWpsZ1pZYjNZMm1GTXZiT0VtUGdWeFVvMy9XRUwvUlVya0VTV3pXNm56VUJs?= =?utf-8?B?U28xWXBPeG9MdEszV1o3MTRHTDdVQTdDNDZ6MHpQbmp6V3hMZGhTdk43R2Ny?= =?utf-8?B?blNFYUlEdm1adXdweEFiYkcvT3BNNnk2blFUcTdQV2ZzdEl3TXV0SUJkaXR5?= =?utf-8?B?eCtJaUVvNE5nZlUwUXczQSt1VFFCei95SE5tMXdYTXoydzNGRnNVV0lDejZ4?= =?utf-8?B?QVNWczBYU1dKZkppTUtPajF4b2lMVGdadlZGb1Z6aCtWWVJzRFpHREVaem56?= =?utf-8?B?RnQ4WGYyL1pIakpTeUJHMExEMUphVUhHQkJyWDI1WHdXQUhHR0pqOGJZM0tQ?= =?utf-8?B?S3kxY2tDL0NpMlVSUHhRcDlOTkdSbzM4ZjQ1ckpKZ0VHMU1hQ0M1QTZ1dno1?= =?utf-8?B?U25SL056cE92N1lGaG82VFdydGYvcHp6OG9qRUlJb2FiL3dCWUV0NDhXNDZM?= =?utf-8?B?RXg4NzdpaGNhMVppdWJPOUNtVGRXeFl4VjV5djltNmZzclVob3hheUhUVGo1?= =?utf-8?B?SzBFRC81RlhRdGdhZFg4d2xqYnUzR0xXOWlXTWc5NnZqN0tJZi8vN1F3SFdJ?= =?utf-8?B?Y0dYN29pZGREbmd6ZURidjB6K1lpZVJoY09jc1Y3b1ZCc05adTA4THEwM2xh?= =?utf-8?B?Z2VpU1FsWXE2MHhPeURlYXZhTGV5TjBhYnBRd2daVzBUVW5VM2RSWjF4ZFk0?= =?utf-8?B?V3VYWHplcnF0MG53R0tEWmw2R3dZMkI5SjZGUlpuTlh4NzhYRy96Zm1yYUhD?= =?utf-8?B?U2c5QTVLWWlXOVdIeEE2aElFd01Vc2F2Q0RIZmNJMHlIaWRNcUJuR3ZJVWhz?= =?utf-8?B?TnU3UVgzV2ZMdzN1Rm1vZEg4aml1R1k1eGd0ZU1WUkdpdktNTkJIbTZROGV4?= =?utf-8?B?R0FISXUzL2FjdlpOOXdNQWJPcUhRSU10MTlVaHlEZm9hL1NxMlo1RVhFQ0xu?= =?utf-8?B?enliTDFHaFJmdXQxRVdrckpqd1g2Yk1FV1p0Y0lLcGFXWnBmeThUNWIvd2Fa?= =?utf-8?B?NDdMeCtESHlEL3BuT1ZUbWNCL2tYM2VnU3RTOWx4czNLOEs4TlUwLzZ5V1dD?= =?utf-8?B?VVVxTmVKeUNMK2FPTmNOdlZidmFOVWpIRDdlWUFJd3Y4bzN1OW1HMDBPWkxX?= =?utf-8?B?Q3RvT3d4ak4vRnlBMEZvU2dkWE4wdEVRMFJhWTgyS2o0TERYV0xWRUw1ODVG?= =?utf-8?B?Z3pzMXMwTFVKVGhiekNpbTVoMXhZSmdIcHQyQkQ1Sk9MK2dxRVhTRm5OeVZF?= =?utf-8?B?bHFGMnFKNXVxWlBnUGV2TkpMUXl6bzB0eDUzdm9tSWpUejFwY0lDZ1ZTZmFJ?= =?utf-8?Q?LNFm3Cq1NGjJgQcdzHLCud5s4Q597dJgqdq9JyU?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR11MB4491.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7ada1622-8565-4a04-be74-08d934e0d5d3 X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Jun 2021 18:17:31.3239 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Un6Fi8M7nKUjisMPJJNkg1H829nY4sPk96TczTlY0MGCIAPNeT2hcrFPilf59QQzEodpUuL3Y0x9N88FvqoU5o1jhwtpFPBvIkuNTLDzzdU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB4609 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH] parray: introduce internal API for dynamic arrays 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 Sender: "dev" DQoNCj4gDQo+IE9uIDYvMjEvMjAyMSAzOjM4IFBNLCBBbmFueWV2LCBLb25zdGFudGluIHdyb3Rl Og0KPiA+DQo+ID4+DQo+ID4+IE9uIDYvMjEvMjAyMSAxOjMwIFBNLCBBbmFueWV2LCBLb25zdGFu dGluIHdyb3RlOg0KPiA+Pj4NCj4gPj4+Pg0KPiA+Pj4+PiBGcm9tOiBkZXYgW21haWx0bzpkZXYt Ym91bmNlc0BkcGRrLm9yZ10gT24gQmVoYWxmIE9mIEFuYW55ZXYsDQo+ID4+Pj4+IEtvbnN0YW50 aW4NCj4gPj4+Pj4NCj4gPj4+Pj4+PiBIb3cgY2FuIHdlIGhpZGUgdGhlIGNhbGxiYWNrcyBzaW5j ZSB0aGV5IGFyZSB1c2VkIGJ5IGlubGluZSBidXJzdA0KPiA+Pj4+PiBmdW5jdGlvbnMuDQo+ID4+ Pj4+Pg0KPiA+Pj4+Pj4gSSBwcm9iYWJseSBJIG93ZSBhIGJldHRlciBleHBsYW5hdGlvbiB0byB3 aGF0IEkgbWVhbnQgaW4gZmlyc3QgbWFpbC4NCj4gPj4+Pj4+IE90aGVyd2lzZSBpdCBzb3VuZHMg Y29uZnVzaW5nLg0KPiA+Pj4+Pj4gSSdsbCB0cnkgdG8gd3JpdGUgYSBtb3JlIGRldGFpbGVkIG9u ZSBpbiBuZXh0IGZldyBkYXlzLg0KPiA+Pj4+Pg0KPiA+Pj4+PiBBY3R1YWxseSBJIGdhdmUgaXQg YW5vdGhlciB0aG91Z2h0IG92ZXIgd2Vla2VuZCwgYW5kIG1pZ2h0IGJlIHdlIGNhbg0KPiA+Pj4+ PiBoaWRlIHJ0ZV9ldGhfZGV2X2NiIGV2ZW4gaW4gYSBzaW1wbGVyIHdheS4gSSdkIHVzZSBldGhf cnhfYnVyc3QoKSBhcw0KPiA+Pj4+PiBhbiBleGFtcGxlLCBidXQgdGhlIHNhbWUgcHJpbmNpcGxl IGFwcGxpZXMgdG8gb3RoZXIgJ2Zhc3QnIGZ1bmN0aW9ucy4NCj4gPj4+Pj4NCj4gPj4+Pj4gIDEu IE5lZWRlZCBjaGFuZ2VzIGZvciBQTURzIHJ4X3BrdF9idXJzdCgpOg0KPiA+Pj4+PiAgICAgYSkg Y2hhbmdlIGZ1bmN0aW9uIHByb3RvdHlwZSB0byBhY2NlcHQgJ3VpbnQxNl90IHBvcnRfaWQnIGFu ZA0KPiA+Pj4+PiAndWludDE2X3QgcXVldWVfaWQnLA0KPiA+Pj4+PiAgICAgICAgICBpbnN0ZWFk IG9mIGN1cnJlbnQgJ3ZvaWQgKicuDQo+ID4+Pj4+ICAgICBiKSBFYWNoIFBNRCByeF9wa3RfYnVy c3QoKSB3aWxsIGhhdmUgdG8gY2FsbCBydGVfZXRoX3J4X2VwaWxvZygpDQo+ID4+Pj4+IGZ1bmN0 aW9uIGF0IHJldHVybi4NCj4gPj4+Pj4gICAgICAgICAgVGhpcyAgaW5saW5lIGZ1bmN0aW9uIHdp bGwgZG8gYWxsIENCIGNhbGxzIGZvciB0aGF0IHF1ZXVlLg0KPiA+Pj4+Pg0KPiA+Pj4+PiBUbyBi ZSBtb3JlIHNwZWNpZmljLCBsZXQgc2F5IHdlIGhhdmUgc29tZSBQTUQ6IHh5eiB3aXRoIFJYIGZ1 bmN0aW9uOg0KPiA+Pj4+Pg0KPiA+Pj4+PiB1aW50MTZfdA0KPiA+Pj4+PiB4eXpfcmVjdl9wa3Rz KHZvaWQgKnJ4X3F1ZXVlLCBzdHJ1Y3QgcnRlX21idWYgKipyeF9wa3RzLCB1aW50MTZfdA0KPiA+ Pj4+PiBuYl9wa3RzKQ0KPiA+Pj4+PiB7DQo+ID4+Pj4+ICAgICAgc3RydWN0IHh5el9yeF9xdWV1 ZSAqcnhxID0gcnhfcXVldWU7DQo+ID4+Pj4+ICAgICAgdWludDE2X3QgbmJfcnggPSAwOw0KPiA+ Pj4+Pg0KPiA+Pj4+PiAgICAgIC8qIGRvIGFjdHVhbCBzdHVmZiBoZXJlICovDQo+ID4+Pj4+ICAg ICAuLi4uDQo+ID4+Pj4+ICAgICByZXR1cm4gbmJfcng7DQo+ID4+Pj4+IH0NCj4gPj4+Pj4NCj4g Pj4+Pj4gSXQgd2lsbCBiZSB0cmFuc2Zvcm1lZCB0bzoNCj4gPj4+Pj4NCj4gPj4+Pj4gdWludDE2 X3QNCj4gPj4+Pj4geHl6X3JlY3ZfcGt0cyh1aW50MTZfdCBwb3J0X2lkLCB1aW50MTZfdCBxdWV1 ZV9pZCwgc3RydWN0IHJ0ZV9tYnVmDQo+ID4+Pj4+ICoqcnhfcGt0cywgdWludDE2X3QgbmJfcGt0 cykNCj4gPj4+Pj4gew0KPiA+Pj4+PiAgICAgICAgICBzdHJ1Y3QgeHl6X3J4X3F1ZXVlICpyeHE7 DQo+ID4+Pj4+ICAgICAgICAgIHVpbnQxNl90IG5iX3J4Ow0KPiA+Pj4+Pg0KPiA+Pj4+PiAgICAg ICAgICByeHEgPSBfcnRlX2V0aF9yeF9wcm9sb2cocG9ydF9pZCwgcXVldWVfaWQpOw0KPiA+Pj4+ PiAgICAgICAgICBpZiAocnhxID09IE5VTEwpDQo+ID4+Pj4+ICAgICAgICAgICAgICByZXR1cm4g MDsNCj4gPj4+Pj4gICAgICAgICAgbmJfcnggPSBfeHl6X3JlYWxfcmVjdl9wa3RzKHJ4cSwgcnhf cGt0cywgbmJfcGt0cyk7DQo+ID4+Pj4+ICAgICAgICAgIHJldHVybiBfcnRlX2V0aF9yeF9lcGls b2cocG9ydF9pZCwgcXVldWVfaWQsIHJ4X3BrdHMsDQo+ID4+Pj4+IG5iX3BrdHMpOw0KPiA+Pj4+ PiB9DQo+ID4+Pj4+DQo+ID4+Pj4+IEFuZCBzb21ld2hlcmUgaW4gZXRoZGV2X3ByaXZhdGUuaDoN Cj4gPj4+Pj4NCj4gPj4+Pj4gc3RhdGljIGlubGluZSB2b2lkICoNCj4gPj4+Pj4gX3J0ZV9ldGhf cnhfcHJvbG9nKHVpbnQxNl90IHBvcnRfaWQsIHVpbnQxNl90IHF1ZXVlX2lkKTsNCj4gPj4+Pj4g ew0KPiA+Pj4+PiAgICBzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiA9ICZydGVfZXRoX2RldmljZXNb cG9ydF9pZF07DQo+ID4+Pj4+DQo+ID4+Pj4+ICNpZmRlZiBSVEVfRVRIREVWX0RFQlVHX1JYDQo+ ID4+Pj4+ICAgICAgICAgUlRFX0VUSF9WQUxJRF9QT1JUSURfT1JfRVJSX1JFVChwb3J0X2lkLCBO VUxMKTsNCj4gPj4+Pj4gICAgICAgICBSVEVfRlVOQ19QVFJfT1JfRVJSX1JFVCgqZGV2LT5yeF9w a3RfYnVyc3QsIE5VTEwpOw0KPiA+Pj4+Pg0KPiA+Pj4+PiAgICAgICAgIGlmIChxdWV1ZV9pZCA+ PSBkZXYtPmRhdGEtPm5iX3J4X3F1ZXVlcykgew0KPiA+Pj4+PiAgICAgICAgICAgICAgICAgUlRF X0VUSERFVl9MT0coRVJSLCAiSW52YWxpZCBSWCBxdWV1ZV9pZD0ldVxuIiwNCj4gPj4+Pj4gcXVl dWVfaWQpOw0KPiA+Pj4+PiAgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7DQo+ID4+Pj4+ICAg ICAgICAgfQ0KPiA+Pj4+PiAjZW5kaWYNCj4gPj4+Pj4gICByZXR1cm4gZGV2LT5kYXRhLT5yeF9x dWV1ZXNbcXVldWVfaWRdOw0KPiA+Pj4+PiB9DQo+ID4+Pj4+DQo+ID4+Pj4+IHN0YXRpYyBpbmxp bmUgdWludDE2X3QNCj4gPj4+Pj4gX3J0ZV9ldGhfcnhfZXBpbG9nKHVpbnQxNl90IHBvcnRfaWQs IHVpbnQxNl90IHF1ZXVlX2lkLCBzdHJ1Y3QgcnRlX21idWYNCj4gPj4+Pj4gKipyeF9wa3RzLCBj b25zdCB1aW50MTZfdCBuYl9wa3RzKTsNCj4gPj4+Pj4gew0KPiA+Pj4+PiAgICAgc3RydWN0IHJ0 ZV9ldGhfZGV2ICpkZXYgPSAmcnRlX2V0aF9kZXZpY2VzW3BvcnRfaWRdOw0KPiA+Pj4+Pg0KPiA+ Pj4+PiAjaWZkZWYgUlRFX0VUSERFVl9SWFRYX0NBTExCQUNLUw0KPiA+Pj4+PiAgICAgICAgIHN0 cnVjdCBydGVfZXRoX3J4dHhfY2FsbGJhY2sgKmNiOw0KPiA+Pj4+Pg0KPiA+Pj4+PiAgICAgICAg IC8qIF9fQVRPTUlDX1JFTEVBU0UgbWVtb3J5IG9yZGVyIHdhcyB1c2VkIHdoZW4gdGhlDQo+ID4+ Pj4+ICAgICAgICAgICogY2FsbCBiYWNrIHdhcyBpbnNlcnRlZCBpbnRvIHRoZSBsaXN0Lg0KPiA+ Pj4+PiAgICAgICAgICAqIFNpbmNlIHRoZXJlIGlzIGEgY2xlYXIgZGVwZW5kZW5jeSBiZXR3ZWVu IGxvYWRpbmcNCj4gPj4+Pj4gICAgICAgICAgKiBjYiBhbmQgY2ItPmZuL2NiLT5uZXh0LCBfX0FU T01JQ19BQ1FVSVJFIG1lbW9yeSBvcmRlciBpcw0KPiA+Pj4+PiAgICAgICAgICAqIG5vdCByZXF1 aXJlZC4NCj4gPj4+Pj4gICAgICAgICAgKi8NCj4gPj4+Pj4gICAgICAgICBjYiA9IF9fYXRvbWlj X2xvYWRfbigmZGV2LT5wb3N0X3J4X2J1cnN0X2Nic1txdWV1ZV9pZF0sDQo+ID4+Pj4+ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgX19BVE9NSUNfUkVMQVhFRCk7DQo+ID4+Pj4+DQo+ ID4+Pj4+ICAgICAgICAgaWYgKHVubGlrZWx5KGNiICE9IE5VTEwpKSB7DQo+ID4+Pj4+ICAgICAg ICAgICAgICAgICBkbyB7DQo+ID4+Pj4+ICAgICAgICAgICAgICAgICAgICAgICAgIG5iX3J4ID0g Y2ItPmZuLnJ4KHBvcnRfaWQsIHF1ZXVlX2lkLCByeF9wa3RzLA0KPiA+Pj4+PiBuYl9yeCwNCj4g Pj4+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmJf cGt0cywgY2ItPnBhcmFtKTsNCj4gPj4+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgY2IgPSBj Yi0+bmV4dDsNCj4gPj4+Pj4gICAgICAgICAgICAgICAgIH0gd2hpbGUgKGNiICE9IE5VTEwpOw0K PiA+Pj4+PiAgICAgICAgIH0NCj4gPj4+Pj4gI2VuZGlmDQo+ID4+Pj4+DQo+ID4+Pj4+ICAgICAg ICAgcnRlX2V0aGRldl90cmFjZV9yeF9idXJzdChwb3J0X2lkLCBxdWV1ZV9pZCwgKHZvaWQgKiop cnhfcGt0cywNCj4gPj4+Pj4gbmJfcngpOw0KPiA+Pj4+PiAgICAgICAgIHJldHVybiBuYl9yeDsN Cj4gPj4+Pj4gIH0NCj4gPj4+Pg0KPiA+Pj4+IFRoYXQgd291bGQgbWFrZSB0aGUgY29tcGlsZXIg aW5saW5lIF9ydGVfZXRoX3J4X2VwaWxvZygpIGludG8gdGhlIGRyaXZlciB3aGVuIGNvbXBpbGlu ZyB0aGUgRFBESyBsaWJyYXJ5LiBCdXQNCj4gPj4+PiBSVEVfRVRIREVWX1JYVFhfQ0FMTEJBQ0tT IGlzIGEgZGVmaW5pdGlvbiBmb3IgdGhlIGFwcGxpY2F0aW9uIGRldmVsb3BlciB0byB1c2Ugd2hl biBjb21waWxpbmcgdGhlIERQREsgYXBwbGljYXRpb24uDQo+ID4+Pg0KPiA+Pj4gSSBiZWxpZXZl IGl0IGlzIGZvciBib3RoIC0gdXNlciBhcHAgYW5kIERQREsgZHJpdmVycy4NCj4gPj4+IEFGQUlL LCB0aGV5IGJvdGggaGF2ZSB0byB1c2UgdGhlIHNhbWUgcnRlX2NvbmZpZy5oLCBvdGhlcndpc2Ug dGhpbmdzIHdpbGwgYmUgYnJva2VuLg0KPiA+Pj4gSWYgbGV0IHNheSBSVEVfRVRIREVWX1JYVFhf Q0FMTEJBQ0tTIGlzIG5vdCBlbmFibGVkIGluIGV0aGRldiwgdGhlbg0KPiA+Pj4gdXNlciB3b3Vs ZG4ndCBiZSBhYmxlIHRvIGFkZCBhIGNhbGxiYWNrIGF0IGZpcnN0IHBsYWNlLg0KPiA+Pj4gQlRX LCAgc3VjaCBjaGFuZ2Ugd2lsbCBhbGxvdyB1cyB0byBtYWtlIFJURV9FVEhERVZfUlhUWF9DQUxM QkFDS1MNCj4gPj4+IGludGVybmFsIGZvciBldGhkZXYvUE1EIGxheWVyLCB3aGljaCBpcyBhIGdv b2QgdGhpbmcgZnJvbSBteSBwZXJzcGVjdGl2ZS4NCj4gPj4+DQo+ID4+DQo+ID4+IEl0IGlzIHBv c3NpYmxlIHRvIHVzZSBiaW5hcnkgZHJpdmVycyAoLnNvKSBhcyBwbHVnaW4uIEN1cnJlbnRseSBh cHBsaWNhdGlvbiBjYW4NCj4gPj4gZGVjaWRlIHRvIHVzZSBvciBub3QgdXNlIFJ4L1R4IGNhbGxi YWNrcyBldmVuIHdpdGggYmluYXJ5IGRyaXZlcnMsIGJ1dCB0aGlzDQo+ID4+IGNoYW5nZSBhZGRz IGEgY29tcGxleGl0eSB0byB0aGlzIHVzZWNhc2UuDQo+ID4NCj4gPiBOb3Qgc3VyZSBJIHVuZGVy c3RhbmQgeW91IGhlcmUuLi4NCj4gPiBDYW4geW91IGV4cGxhaW4gYSBiaXQgbW9yZSB3aGF0IGRv IHlvdSBtZWFuPw0KPiA+DQo+IA0KPiBSaWdodCBub3cgaWYgSSBoYXZlIGEgLnNvIGRyaXZlciwg SSBjYW4gZGVjaWRlIHRvIHVzZSBvciBub3QgdG8gdXNlIHRoZSBSeC9UeA0KPiBjYWxsYmFja3Mg YnkgY29tcGlsaW5nIGFwcGxpY2F0aW9uIHdpdGggcmVsZXZhbnQgY29uZmlnLCBhbmQgLnNvIHdp bGwgd29yayBmb3INCj4gYm90aCB3aXRob3V0IGNoYW5nZS4NCg0KVHJ1ZS4NCg0KPiBXaXRoIHBy b3Bvc2VkIGNoYW5nZSwgaWYgLnNvIG5vdCBlbmFibGVkIFJ4L1R4IGNhbGxiYWNrLCBhcHBsaWNh dGlvbiB3b24ndCBhYmxlDQo+IHRvIHVzZSBpdC4NCj4gDQo+IEFwcGxpY2F0aW9uIGFuZCBkcml2 ZXIgY29uZmlnIHNob3VsZCBiZSBjb21wYXRpYmxlLCBhbmQgYWRkaW5nIG1vcmUgY29tcGlsZSB0 aW1lDQo+IGNvbmZpZyB0byBkcml2ZXJzIHRoYXQgaXMgYWxzbyB1c2VkIGluIGxpYnJhcmllcyBp cyBhZGRpbmcgbW9yZSBwb2ludHMgdG8gc3luYywNCj4gaGVuY2UgYWRkaW5nIG1vcmUgY29tcGxl eGl0eSBJIGJlbGlldmUgdG8gYmluYXJ5IGRyaXZlcnMgdXNlY2FzZS4NCg0KSSBhZ3JlZSAtIHJp Z2h0IG5vdyBQTUQgZG9lc24ndCB1c2UgUlRFX0VUSERFVl9SWFRYX0NBTExCQUNLUywNCmFuZCB3 aXRoIHRoYXQgcHJvcG9zYWwgd2UgYWRkIGV4dHJhIGNvbmZpZyBkZXBlbmRlbmN5IHRvIHRoZSBQ TUQuDQpBbHNvIGl0IG1ha2VzIFBNRCBldmVuIG1vcmUgdGlnaHRseSBjb3VwbGVkIHdpdGggcnRl X2V0aGRldi4NClRob3VnaCBpcyB0aGF0IHJlYWxseSBhbiBvYnN0YWNsZT8NCkZyb20gbXkgdW5k ZXJzdGFuZGluZyBkcGRrIGxpYnMgYW5kIFBNRHMgaGFzIHRvIGJlIGJ1aWxkIHdpdGggdGhlIHNh bWUgY29uZmlnIGFueXdheS4NCk5vdCBmb2xsb3dpbmcgdGhpcyBydWxlIGNhbiBjYXVzZSBhbGwg c29ydHMgb2YgdHJvdWJsZXMuDQoNCj4gPj4NCj4gPj4+Pg0KPiA+Pj4+Pg0KPiA+Pj4+PiBOb3cs IGFzIHlvdSBzYWlkIGFib3ZlLCBpbiBydGVfZXRoZGV2Lmggd2Ugd2lsbCBrZWVwIG9ubHkgYSBm bGF0IGFycmF5DQo+ID4+Pj4+IHdpdGggcG9pbnRlcnMgdG8gJ2Zhc3QnIGZ1bmN0aW9uczoNCj4g Pj4+Pj4gc3RydWN0IHsNCj4gPj4+Pj4gICAgICBldGhfcnhfYnVyc3RfdCAgICAgICAgICAgICBy eF9wa3RfYnVyc3QNCj4gPj4+Pj4gICAgICAgZXRoX3R4X2J1cnN0X3QgICAgICAgICAgICAgdHhf cGt0X2J1cnN0Ow0KPiA+Pj4+PiAgICAgICBldGhfdHhfcHJlcF90ICAgICAgICAgICAgICB0eF9w a3RfcHJlcGFyZTsNCj4gPj4+Pj4gICAgICAuLi4uLg0KPiA+Pj4+PiB9IHJ0ZV9ldGhfZGV2X2J1 cnN0W107DQo+ID4+Pj4+DQo+ID4+Pj4+IEFuZCBydGVfZXRoX3J4X2J1cnN0KCkgd2lsbCBsb29r IGxpa2U6DQo+ID4+Pj4+DQo+ID4+Pj4+IHN0YXRpYyBpbmxpbmUgdWludDE2X3QNCj4gPj4+Pj4g cnRlX2V0aF9yeF9idXJzdCh1aW50MTZfdCBwb3J0X2lkLCB1aW50MTZfdCBxdWV1ZV9pZCwNCj4g Pj4+Pj4gICAgICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX21idWYgKipyeF9wa3RzLCBjb25zdCB1 aW50MTZfdCBuYl9wa3RzKQ0KPiA+Pj4+PiB7DQo+ID4+Pj4+ICAgICBpZiAocG9ydF9pZCA+PSBS VEVfTUFYX0VUSFBPUlRTKQ0KPiA+Pj4+PiAgICAgICAgIHJldHVybiAwOw0KPiA+Pj4+PiAgICBy ZXR1cm4gcnRlX2V0aF9kZXZfYnVyc3RbcG9ydF9pZF0ocG9ydF9pZCwgcXVldWVfaWQsIHJ4X3Br dHMsDQo+ID4+Pj4+IG5iX3BrdHMpOw0KPiA+Pj4+PiB9DQo+ID4+Pj4+DQo+ID4+Pj4+IFllcywg aXQgd2lsbCByZXF1aXJlIGNoYW5nZXMgaW4gKmFsbCogUE1EcywgYnV0IGFzIEkgc2FpZCBiZWZv cmUgdGhlDQo+ID4+Pj4+IGNoYW5nZXMgd2lsbCBiZSBhIG1lY2hhbmljIG9uZXMuDQo+ID4NCg0K