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 CAA68A0547; Mon, 21 Jun 2021 14:30:59 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4577E41158; Mon, 21 Jun 2021 14:30:59 +0200 (CEST) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by mails.dpdk.org (Postfix) with ESMTP id 18FED40040 for ; Mon, 21 Jun 2021 14:30:57 +0200 (CEST) IronPort-SDR: UqPn4bFFRogyUI8dMX9Cvh0jBoi46taG0joafiJBq1rvmmbZcIbF+GzDh99Ln70ESAe5Z0PShS xOnLVR8P7cqQ== X-IronPort-AV: E=McAfee;i="6200,9189,10021"; a="194142317" X-IronPort-AV: E=Sophos;i="5.83,289,1616482800"; d="scan'208";a="194142317" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Jun 2021 05:30:55 -0700 IronPort-SDR: n7wNI/YPqZHncq6bzKVjM7DhcbWsrudcUbi7Sx39q0hqt40vkEDaRPAVYj9u48h+EsWFU24HAm +dC2Xd9VAUBw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.83,289,1616482800"; d="scan'208";a="556228040" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by fmsmga001.fm.intel.com with ESMTP; 21 Jun 2021 05:30:55 -0700 Received: from fmsmsx605.amr.corp.intel.com (10.18.126.85) by fmsmsx601.amr.corp.intel.com (10.18.126.81) 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 05:30:54 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx605.amr.corp.intel.com (10.18.126.85) 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 05:30:54 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.175) by edgegateway.intel.com (192.55.55.71) 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 05:30:52 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PEgniH1k6JKptR7ORjzMv3QyY+XP2AUt/UFNEkdNtTIcehIlBrd7N2iJBnX/EkdsD6VvMNri/o8Sb8djG0i8Y9NZdLyzA5fPLeFdoZ8uldCkASjYzJOV3AZ6Zc5Hz6W3MjMBKP3DwS30EhXUnw+u7MG+2pnKXkfIAxCL1wtpn6GSBW46qBmOmkRc8Veur9t33ZuR5ybbqEkgw/NJL30VSmO35lD7C5kxTiDCGBXkQYcE+texlz0GKwd97WLAxnHRFel2Cd4qOAM+E4FuLeFw34eFkxEQOWUXadD5YcEFxO3yr6mJBZZl/1QoQNx6nzfJOFg1yNlzlImfh6YrfOmDPA== 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=FVFZTiMthcbLhSznX2Fa/+zo0yWJXLJLFGvcCVeeVHc=; b=nvpQjknc/HCX64HIBDocyAwNrHXSyqnjDK5b76eCO9OBcvPs12pww+DocyAAqNiSoh0Om/XrqZljmSKHa+9Ik2+hFZBgPMrvKz/r3MdZEK9f9kwGlVb5QgHc1gdxTaUhR/aHL2hm5rhYWN0xfUcluijvlCB5OhVrZqC02CiQEHLRh8TyC7Ft9ATX1vy5eTYsAgI50EIUv/u+P1VTrLHH4dSsFPyeJ5/R5KkOklT1BQO478JgOu0UuPC+t5vSTUTZXsk6OfWa8lkQIwGWj0NV2mUcwJjsubkkpGJ8KUho/roQr5m21BIXlyU65QBJU5OS1YPe7KrGjPBVJlejYYLRqw== 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=FVFZTiMthcbLhSznX2Fa/+zo0yWJXLJLFGvcCVeeVHc=; b=P8eOjLLYd8J6S3EqPbPY5n0o16DZynchWTHG29s2QGXnzrHLRXoAR5ZBCPed42Xe4789h4NkXdHssYOD9XWy81mGHFysbZhK7H9nH0RTU4eoh8aBYZshs8tF6HHc4Pm7C3A2hozUdS0bikGTQKFeoBXUaW63MgCcCkSQ7Sv9u4s= Received: from DM6PR11MB4491.namprd11.prod.outlook.com (2603:10b6:5:204::19) by DM6PR11MB4690.namprd11.prod.outlook.com (2603:10b6:5:2ae::17) 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 12:30:48 +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 12:30:48 +0000 From: "Ananyev, Konstantin" To: =?utf-8?B?TW9ydGVuIEJyw7hydXA=?= , "Yigit, Ferruh" , 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/CABIvGAIAAHL6ggAAPB4CAATs50IAEplTQgAApWQCAAAaAEA== Date: Mon, 21 Jun 2021 12:30:47 +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> In-Reply-To: <98CBD80474FA8B44BF855DF32C47DC35C6187A@smartserver.smartshare.dk> 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: smartsharesystems.com; dkim=none (message not signed) header.d=none; smartsharesystems.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: dd02f4ce-cf2f-407b-42ed-08d934b06639 x-ms-traffictypediagnostic: DM6PR11MB4690: 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: Tvdr4mXvU9W+lmM+/YbtQ3ZyX1IjXCWawZZVND2MnLio5X4YR20i4otFEz9zZnu1+t0iv2Ub4Th8MSXl0YGSPUVF8p5gQPrRL8XYy5w9l9YuL2Zsb8vbqbcjGOTWwA+NeiDjL2epPNwznbGWX6xKRE4OqGheddfboglaU55aqbqYUbJo6ydc0LeVFbHWGfZxpQalPI1mNrRg/qXTdwYbF6lyGz9LEZ1PE9jbo32APxxxG8a4KooRVdA+nAnCHWnPFdMdIlyjOSZ8a9G6Jffocvu94zVrBCCFQPp/D12naCpg+8WRW4Cq/tVcJxLgh3JEWc9eMIi8Or7/dnsPLCAXxIOhhM8PuyI3JJH1NRAQeQ7c/FTK+pdikKSXWOYnbQXUdyuUXmyUz8hwW7/xcMpzxLV25NQvnkZWbr/BOdosfuDQDf+7cZkFQFZFQdDWO9MAhNPl1Jy7S1R37cMzby6v1/W+iQ9owEFBhhg7uPnwrSVcy/VMDi9wg/OMtMS9Iwh4OVj18cq9HvmpvRfUH6KQsybt0nwObLzpOCLOr2yPBlqWMLYEHrhiYAkXAL8T0cq8+tb5JsIFEf07/uGWwSyqJyXFCjTF7TFvyCypwLVQ314= 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)(366004)(396003)(376002)(136003)(39860400002)(26005)(66446008)(64756008)(66556008)(66476007)(478600001)(55016002)(186003)(52536014)(76116006)(4326008)(83380400001)(2906002)(66946007)(6636002)(5660300002)(38100700002)(6506007)(316002)(8936002)(7696005)(110136005)(71200400001)(9686003)(33656002)(122000001)(54906003)(8676002)(55236004)(86362001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?dnNhbkRWNktCNzZ5OUl5NlNGODFvKzlRQkZ0MlpjTS8xOHR4RStLUk1PNEVE?= =?utf-8?B?aVVZa3RhVTM2bFhDdTBhcmtZRmR3WThIK20vcjBIcVBJYlc3NkI5dCtQWEww?= =?utf-8?B?SzZHQ1JoejBiZ2ZaZ3hZZGZPYlRTenJuQ1VDRzNNM1I2eTlzemxTVTg1TUpN?= =?utf-8?B?TXR0YytDWGt5Z1BmczQ3SThoZWw1RFErei9mVm13empJUkU5c09qOG9URzJY?= =?utf-8?B?WlhvcVE0Qm5STzVqRFBUektlUHpsTXpqR2Z4c1hVcUxsL095SXZySmJtTkN3?= =?utf-8?B?YXhxTU0rdVI5NmIzVFMwMnVjWGdiVHhveHA3bis4Q2FtTEt1SFAwWk5ndk83?= =?utf-8?B?aEZRRU5LNXliWmJUWnNaMXVCaUZaVFNic0ozUU1OSHNIQ1dtb2N2QWpoeTZY?= =?utf-8?B?V3lvellZNGpXbWVQY3pmakF4bjIwSXRVSDZkcU92NUlBY0lMTmFGWGY4ZzdX?= =?utf-8?B?bklpQ3pjL200SHhDU3FvTVphTWdUc1NVNVlIc2JHWVVZRmtzUk1zVS8wTjZN?= =?utf-8?B?VFE0QVkxTi9uU3o2TDBpd1NTNmZiRy9HYUxOaTYyTkU1SVJ5MVQzL1l6dkxo?= =?utf-8?B?N29LZ3ZsRHhtYzlJT1NDS0hyODdVNUZ4WW1TTy80ZTgzNGFNenlnSkRSdDNo?= =?utf-8?B?ZXl3VS9acUZvcHlkUFkxdTV6K0xSWUFwbjVjVDZPVkZJbG5xaTRRU0ZvSFRn?= =?utf-8?B?L1lQMTJOcHZnYmlzR29xeEp1Mzc0eDNHSGVYdk9pdWJyeTdCUlZVQllMbTlu?= =?utf-8?B?Rno5clZpTURJSGZjSDdOTXc5ODBON1pZUlg2SFp1TDZwZkZtNHA0S0dLSEJH?= =?utf-8?B?TTBiMlpWbmdXMVBzd0tSY2JQV0lEeWJvMHk1VWNmdXJxaHB1WXhjS3RBODhP?= =?utf-8?B?WFJlMWdqRFpndHlaT0dZMUdBcmpUK0VQTkQ2VmROUUYrSDdXZmxUb3RxNzlk?= =?utf-8?B?N2RjWERYcUNkTHVvZFEzdmwzUnNrYTlzcCs2L0k3UkRKQmJub3R5cmg3TmJh?= =?utf-8?B?MXlua2I0V3ZuR0NRSmNYVTlxWFNGcXBMbVFKNjN1SmNQODR0OGdqVlNIRmJ1?= =?utf-8?B?cFN3aVVPUVZMN3M4cGhJcUQvL2YrVWJEdlZnSVdWQ2dyUjdPYS9qSm5OWStI?= =?utf-8?B?QUM5elovbHl6MWxwMjBMb2lwTGcySkd5TVlYd0JWdmxkYk1Hc2Zvam1IZS9q?= =?utf-8?B?WjRNKzVGaWpEby9DMWZ4Ni9lYkQ0Q25waUJ1VDB3dVYwdE01eG5Yc1JhVTlT?= =?utf-8?B?eExTQ2hhZ2RjSUE5NCtudnQ2WUh3MWI3eSs3WmJCYVpQM0J3eTQ5RE40OTBn?= =?utf-8?B?U1BRUlBHS1hPYy9TTXlzYlZWajlYQ0FNR1poa0p0R0M3cE9uNWNTeWNsdU5r?= =?utf-8?B?RVdDWUw3c2RkYldGVktrYzA1aFpqLzBjNXJuTEhSczFnblpTSXdTOWtMWFRs?= =?utf-8?B?VCtsNEJFdXZKU0VhdXRUVm5vdnRDN0pJZ3I3YWQxUVN6a1U5Q053dXFwb3RO?= =?utf-8?B?RzBzNE1tRHlXVWdHQVNTMnFIeGw3UnBxZFhnc0JPQjNORVNtbkM5S01xcHZa?= =?utf-8?B?bmI3TzJZR3BSYlhXdTJoMEw0SkdQWkhHTFlsOE9vQXIyYjlGNnVwZ2cxV2xM?= =?utf-8?B?R2kvQVhSZE5IaU9RWC9PYVVZVEp5V3kvTmZIeE5Tajk0VmtSOVdaaFhDMUky?= =?utf-8?B?dmpZOHJaNitxYW53VDNZT2tndFdVTEpDKzl1RFMxZ2N6T3NORlVTd1c2dVp0?= =?utf-8?Q?vMYS30ad9EYhWOhEO0L87+oAdCBQMQhmaj9NUNO?= 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: dd02f4ce-cf2f-407b-42ed-08d934b06639 X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Jun 2021 12:30:47.9145 (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: r8bX5ebTwK5P45qu5Rg48xc6e5I5LvQFFAMXc1tirycQhUr9/pUPGkhM4xrcnKyWXzu2ki73aooHVNh6gnv5w3v24z7yk++E4Ao7QWd8oH0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB4690 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" DQo+IA0KPiA+IEZyb206IGRldiBbbWFpbHRvOmRldi1ib3VuY2VzQGRwZGsub3JnXSBPbiBCZWhh bGYgT2YgQW5hbnlldiwNCj4gPiBLb25zdGFudGluDQo+ID4NCj4gPiA+ID4gSG93IGNhbiB3ZSBo aWRlIHRoZSBjYWxsYmFja3Mgc2luY2UgdGhleSBhcmUgdXNlZCBieSBpbmxpbmUgYnVyc3QNCj4g PiBmdW5jdGlvbnMuDQo+ID4gPg0KPiA+ID4gSSBwcm9iYWJseSBJIG93ZSBhIGJldHRlciBleHBs YW5hdGlvbiB0byB3aGF0IEkgbWVhbnQgaW4gZmlyc3QgbWFpbC4NCj4gPiA+IE90aGVyd2lzZSBp dCBzb3VuZHMgY29uZnVzaW5nLg0KPiA+ID4gSSdsbCB0cnkgdG8gd3JpdGUgYSBtb3JlIGRldGFp bGVkIG9uZSBpbiBuZXh0IGZldyBkYXlzLg0KPiA+DQo+ID4gQWN0dWFsbHkgSSBnYXZlIGl0IGFu b3RoZXIgdGhvdWdodCBvdmVyIHdlZWtlbmQsIGFuZCBtaWdodCBiZSB3ZSBjYW4NCj4gPiBoaWRl IHJ0ZV9ldGhfZGV2X2NiIGV2ZW4gaW4gYSBzaW1wbGVyIHdheS4gSSdkIHVzZSBldGhfcnhfYnVy c3QoKSBhcw0KPiA+IGFuIGV4YW1wbGUsIGJ1dCB0aGUgc2FtZSBwcmluY2lwbGUgYXBwbGllcyB0 byBvdGhlciAnZmFzdCcgZnVuY3Rpb25zLg0KPiA+DQo+ID4gIDEuIE5lZWRlZCBjaGFuZ2VzIGZv ciBQTURzIHJ4X3BrdF9idXJzdCgpOg0KPiA+ICAgICBhKSBjaGFuZ2UgZnVuY3Rpb24gcHJvdG90 eXBlIHRvIGFjY2VwdCAndWludDE2X3QgcG9ydF9pZCcgYW5kDQo+ID4gJ3VpbnQxNl90IHF1ZXVl X2lkJywNCj4gPiAgICAgICAgICBpbnN0ZWFkIG9mIGN1cnJlbnQgJ3ZvaWQgKicuDQo+ID4gICAg IGIpIEVhY2ggUE1EIHJ4X3BrdF9idXJzdCgpIHdpbGwgaGF2ZSB0byBjYWxsIHJ0ZV9ldGhfcnhf ZXBpbG9nKCkNCj4gPiBmdW5jdGlvbiBhdCByZXR1cm4uDQo+ID4gICAgICAgICAgVGhpcyAgaW5s aW5lIGZ1bmN0aW9uIHdpbGwgZG8gYWxsIENCIGNhbGxzIGZvciB0aGF0IHF1ZXVlLg0KPiA+DQo+ ID4gVG8gYmUgbW9yZSBzcGVjaWZpYywgbGV0IHNheSB3ZSBoYXZlIHNvbWUgUE1EOiB4eXogd2l0 aCBSWCBmdW5jdGlvbjoNCj4gPg0KPiA+IHVpbnQxNl90DQo+ID4geHl6X3JlY3ZfcGt0cyh2b2lk ICpyeF9xdWV1ZSwgc3RydWN0IHJ0ZV9tYnVmICoqcnhfcGt0cywgdWludDE2X3QNCj4gPiBuYl9w a3RzKQ0KPiA+IHsNCj4gPiAgICAgIHN0cnVjdCB4eXpfcnhfcXVldWUgKnJ4cSA9IHJ4X3F1ZXVl Ow0KPiA+ICAgICAgdWludDE2X3QgbmJfcnggPSAwOw0KPiA+DQo+ID4gICAgICAvKiBkbyBhY3R1 YWwgc3R1ZmYgaGVyZSAqLw0KPiA+ICAgICAuLi4uDQo+ID4gICAgIHJldHVybiBuYl9yeDsNCj4g PiB9DQo+ID4NCj4gPiBJdCB3aWxsIGJlIHRyYW5zZm9ybWVkIHRvOg0KPiA+DQo+ID4gdWludDE2 X3QNCj4gPiB4eXpfcmVjdl9wa3RzKHVpbnQxNl90IHBvcnRfaWQsIHVpbnQxNl90IHF1ZXVlX2lk LCBzdHJ1Y3QgcnRlX21idWYNCj4gPiAqKnJ4X3BrdHMsIHVpbnQxNl90IG5iX3BrdHMpDQo+ID4g ew0KPiA+ICAgICAgICAgIHN0cnVjdCB4eXpfcnhfcXVldWUgKnJ4cTsNCj4gPiAgICAgICAgICB1 aW50MTZfdCBuYl9yeDsNCj4gPg0KPiA+ICAgICAgICAgIHJ4cSA9IF9ydGVfZXRoX3J4X3Byb2xv Zyhwb3J0X2lkLCBxdWV1ZV9pZCk7DQo+ID4gICAgICAgICAgaWYgKHJ4cSA9PSBOVUxMKQ0KPiA+ ICAgICAgICAgICAgICByZXR1cm4gMDsNCj4gPiAgICAgICAgICBuYl9yeCA9IF94eXpfcmVhbF9y ZWN2X3BrdHMocnhxLCByeF9wa3RzLCBuYl9wa3RzKTsNCj4gPiAgICAgICAgICByZXR1cm4gX3J0 ZV9ldGhfcnhfZXBpbG9nKHBvcnRfaWQsIHF1ZXVlX2lkLCByeF9wa3RzLA0KPiA+IG5iX3BrdHMp Ow0KPiA+IH0NCj4gPg0KPiA+IEFuZCBzb21ld2hlcmUgaW4gZXRoZGV2X3ByaXZhdGUuaDoNCj4g Pg0KPiA+IHN0YXRpYyBpbmxpbmUgdm9pZCAqDQo+ID4gX3J0ZV9ldGhfcnhfcHJvbG9nKHVpbnQx Nl90IHBvcnRfaWQsIHVpbnQxNl90IHF1ZXVlX2lkKTsNCj4gPiB7DQo+ID4gICAgc3RydWN0IHJ0 ZV9ldGhfZGV2ICpkZXYgPSAmcnRlX2V0aF9kZXZpY2VzW3BvcnRfaWRdOw0KPiA+DQo+ID4gI2lm ZGVmIFJURV9FVEhERVZfREVCVUdfUlgNCj4gPiAgICAgICAgIFJURV9FVEhfVkFMSURfUE9SVElE X09SX0VSUl9SRVQocG9ydF9pZCwgTlVMTCk7DQo+ID4gICAgICAgICBSVEVfRlVOQ19QVFJfT1Jf RVJSX1JFVCgqZGV2LT5yeF9wa3RfYnVyc3QsIE5VTEwpOw0KPiA+DQo+ID4gICAgICAgICBpZiAo cXVldWVfaWQgPj0gZGV2LT5kYXRhLT5uYl9yeF9xdWV1ZXMpIHsNCj4gPiAgICAgICAgICAgICAg ICAgUlRFX0VUSERFVl9MT0coRVJSLCAiSW52YWxpZCBSWCBxdWV1ZV9pZD0ldVxuIiwNCj4gPiBx dWV1ZV9pZCk7DQo+ID4gICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOw0KPiA+ICAgICAgICAg fQ0KPiA+ICNlbmRpZg0KPiA+ICAgcmV0dXJuIGRldi0+ZGF0YS0+cnhfcXVldWVzW3F1ZXVlX2lk XTsNCj4gPiB9DQo+ID4NCj4gPiBzdGF0aWMgaW5saW5lIHVpbnQxNl90DQo+ID4gX3J0ZV9ldGhf cnhfZXBpbG9nKHVpbnQxNl90IHBvcnRfaWQsIHVpbnQxNl90IHF1ZXVlX2lkLCBzdHJ1Y3QgcnRl X21idWYNCj4gPiAqKnJ4X3BrdHMsIGNvbnN0IHVpbnQxNl90IG5iX3BrdHMpOw0KPiA+IHsNCj4g PiAgICAgc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYgPSAmcnRlX2V0aF9kZXZpY2VzW3BvcnRfaWRd Ow0KPiA+DQo+ID4gI2lmZGVmIFJURV9FVEhERVZfUlhUWF9DQUxMQkFDS1MNCj4gPiAgICAgICAg IHN0cnVjdCBydGVfZXRoX3J4dHhfY2FsbGJhY2sgKmNiOw0KPiA+DQo+ID4gICAgICAgICAvKiBf X0FUT01JQ19SRUxFQVNFIG1lbW9yeSBvcmRlciB3YXMgdXNlZCB3aGVuIHRoZQ0KPiA+ICAgICAg ICAgICogY2FsbCBiYWNrIHdhcyBpbnNlcnRlZCBpbnRvIHRoZSBsaXN0Lg0KPiA+ICAgICAgICAg ICogU2luY2UgdGhlcmUgaXMgYSBjbGVhciBkZXBlbmRlbmN5IGJldHdlZW4gbG9hZGluZw0KPiA+ ICAgICAgICAgICogY2IgYW5kIGNiLT5mbi9jYi0+bmV4dCwgX19BVE9NSUNfQUNRVUlSRSBtZW1v cnkgb3JkZXIgaXMNCj4gPiAgICAgICAgICAqIG5vdCByZXF1aXJlZC4NCj4gPiAgICAgICAgICAq Lw0KPiA+ICAgICAgICAgY2IgPSBfX2F0b21pY19sb2FkX24oJmRldi0+cG9zdF9yeF9idXJzdF9j YnNbcXVldWVfaWRdLA0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19BVE9N SUNfUkVMQVhFRCk7DQo+ID4NCj4gPiAgICAgICAgIGlmICh1bmxpa2VseShjYiAhPSBOVUxMKSkg ew0KPiA+ICAgICAgICAgICAgICAgICBkbyB7DQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAg bmJfcnggPSBjYi0+Zm4ucngocG9ydF9pZCwgcXVldWVfaWQsIHJ4X3BrdHMsDQo+ID4gbmJfcngs DQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmJf cGt0cywgY2ItPnBhcmFtKTsNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICBjYiA9IGNiLT5u ZXh0Ow0KPiA+ICAgICAgICAgICAgICAgICB9IHdoaWxlIChjYiAhPSBOVUxMKTsNCj4gPiAgICAg ICAgIH0NCj4gPiAjZW5kaWYNCj4gPg0KPiA+ICAgICAgICAgcnRlX2V0aGRldl90cmFjZV9yeF9i dXJzdChwb3J0X2lkLCBxdWV1ZV9pZCwgKHZvaWQgKiopcnhfcGt0cywNCj4gPiBuYl9yeCk7DQo+ ID4gICAgICAgICByZXR1cm4gbmJfcng7DQo+ID4gIH0NCj4gDQo+IFRoYXQgd291bGQgbWFrZSB0 aGUgY29tcGlsZXIgaW5saW5lIF9ydGVfZXRoX3J4X2VwaWxvZygpIGludG8gdGhlIGRyaXZlciB3 aGVuIGNvbXBpbGluZyB0aGUgRFBESyBsaWJyYXJ5LiBCdXQNCj4gUlRFX0VUSERFVl9SWFRYX0NB TExCQUNLUyBpcyBhIGRlZmluaXRpb24gZm9yIHRoZSBhcHBsaWNhdGlvbiBkZXZlbG9wZXIgdG8g dXNlIHdoZW4gY29tcGlsaW5nIHRoZSBEUERLIGFwcGxpY2F0aW9uLg0KDQpJIGJlbGlldmUgaXQg aXMgZm9yIGJvdGggLSB1c2VyIGFwcCBhbmQgRFBESyBkcml2ZXJzLg0KQUZBSUssIHRoZXkgYm90 aCBoYXZlIHRvIHVzZSB0aGUgc2FtZSBydGVfY29uZmlnLmgsIG90aGVyd2lzZSB0aGluZ3Mgd2ls bCBiZSBicm9rZW4uDQpJZiBsZXQgc2F5IFJURV9FVEhERVZfUlhUWF9DQUxMQkFDS1MgaXMgbm90 IGVuYWJsZWQgaW4gZXRoZGV2LCB0aGVuIA0KdXNlciB3b3VsZG4ndCBiZSBhYmxlIHRvIGFkZCBh IGNhbGxiYWNrIGF0IGZpcnN0IHBsYWNlLiANCkJUVywgIHN1Y2ggY2hhbmdlIHdpbGwgYWxsb3cg dXMgdG8gbWFrZSBSVEVfRVRIREVWX1JYVFhfQ0FMTEJBQ0tTDQppbnRlcm5hbCBmb3IgZXRoZGV2 L1BNRCBsYXllciwgd2hpY2ggaXMgYSBnb29kIHRoaW5nIGZyb20gbXkgcGVyc3BlY3RpdmUuIA0K DQo+IA0KPiA+DQo+ID4gTm93LCBhcyB5b3Ugc2FpZCBhYm92ZSwgaW4gcnRlX2V0aGRldi5oIHdl IHdpbGwga2VlcCBvbmx5IGEgZmxhdCBhcnJheQ0KPiA+IHdpdGggcG9pbnRlcnMgdG8gJ2Zhc3Qn IGZ1bmN0aW9uczoNCj4gPiBzdHJ1Y3Qgew0KPiA+ICAgICAgZXRoX3J4X2J1cnN0X3QgICAgICAg ICAgICAgcnhfcGt0X2J1cnN0DQo+ID4gICAgICAgZXRoX3R4X2J1cnN0X3QgICAgICAgICAgICAg dHhfcGt0X2J1cnN0Ow0KPiA+ICAgICAgIGV0aF90eF9wcmVwX3QgICAgICAgICAgICAgIHR4X3Br dF9wcmVwYXJlOw0KPiA+ICAgICAgLi4uLi4NCj4gPiB9IHJ0ZV9ldGhfZGV2X2J1cnN0W107DQo+ ID4NCj4gPiBBbmQgcnRlX2V0aF9yeF9idXJzdCgpIHdpbGwgbG9vayBsaWtlOg0KPiA+DQo+ID4g c3RhdGljIGlubGluZSB1aW50MTZfdA0KPiA+IHJ0ZV9ldGhfcnhfYnVyc3QodWludDE2X3QgcG9y dF9pZCwgdWludDE2X3QgcXVldWVfaWQsDQo+ID4gICAgICAgICAgICAgICAgICBzdHJ1Y3QgcnRl X21idWYgKipyeF9wa3RzLCBjb25zdCB1aW50MTZfdCBuYl9wa3RzKQ0KPiA+IHsNCj4gPiAgICAg aWYgKHBvcnRfaWQgPj0gUlRFX01BWF9FVEhQT1JUUykNCj4gPiAgICAgICAgIHJldHVybiAwOw0K PiA+ICAgIHJldHVybiBydGVfZXRoX2Rldl9idXJzdFtwb3J0X2lkXShwb3J0X2lkLCBxdWV1ZV9p ZCwgcnhfcGt0cywNCj4gPiBuYl9wa3RzKTsNCj4gPiB9DQo+ID4NCj4gPiBZZXMsIGl0IHdpbGwg cmVxdWlyZSBjaGFuZ2VzIGluICphbGwqIFBNRHMsIGJ1dCBhcyBJIHNhaWQgYmVmb3JlIHRoZQ0K PiA+IGNoYW5nZXMgd2lsbCBiZSBhIG1lY2hhbmljIG9uZXMuDQo=