From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id DE750A052A; Tue, 10 Nov 2020 08:16:03 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 36E5FF90; Tue, 10 Nov 2020 08:16:02 +0100 (CET) Received: from smartserver.smartsharesystems.com (smartserver.smartsharesystems.com [77.243.40.215]) by dpdk.org (Postfix) with ESMTP id 1971E2AB; Tue, 10 Nov 2020 08:16:00 +0100 (CET) Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Date: Tue, 10 Nov 2020 08:15:58 +0100 X-MimeOLE: Produced By Microsoft Exchange V6.5 Message-ID: <98CBD80474FA8B44BF855DF32C47DC35C6140B@smartserver.smartshare.dk> In-Reply-To: <20201109100430.5edb39f3@hermes.local> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [dpdk-techboard] [dpdk-dev] [PATCH 1/1] mbuf: move pool pointer in first half Thread-Index: Ada2wtHiyklU/YCJTQywm2zblCZArwAbDV2A References: <20201107155306.463148-1-thomas@monjalon.net><4509916.LqRtgDRpI1@thomas><6088267.6fNGb03Fmp@thomas><98CBD80474FA8B44BF855DF32C47DC35C61405@smartserver.smartshare.dk><20201109100605.GB831@bricha3-MOBL.ger.corp.intel.com><98CBD80474FA8B44BF855DF32C47DC35C61407@smartserver.smartshare.dk> <20201109100430.5edb39f3@hermes.local> From: =?utf-8?B?TW9ydGVuIEJyw7hydXA=?= To: "Stephen Hemminger" Cc: "Bruce Richardson" , "Jerin Jacob" , "Thomas Monjalon" , "dpdk-dev" , "David Marchand" , "Ferruh Yigit" , "Olivier Matz" , "Ananyev, Konstantin" , "Andrew Rybchenko" , "Viacheslav Ovsiienko" , "Ajit Khaparde" , "Jerin Jacob" , "Hemant Agrawal" , "Ray Kinsella" , "Neil Horman" , "Nithin Dabilpuram" , "Kiran Kumar K" , Subject: Re: [dpdk-dev] [dpdk-techboard] [PATCH 1/1] mbuf: move pool pointer in first half X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 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" PiBGcm9tOiBTdGVwaGVuIEhlbW1pbmdlciBbbWFpbHRvOnN0ZXBoZW5AbmV0d29ya3BsdW1iZXIu b3JnXQ0KPiBTZW50OiBNb25kYXksIE5vdmVtYmVyIDksIDIwMjAgNzowNSBQTQ0KPiANCj4gT24g TW9uLCA5IE5vdiAyMDIwIDExOjIxOjAyICswMTAwDQo+IE1vcnRlbiBCcsO4cnVwIDxtYkBzbWFy dHNoYXJlc3lzdGVtcy5jb20+IHdyb3RlOg0KPiANCj4gPiA+IEZyb206IGRldiBbbWFpbHRvOmRl di1ib3VuY2VzQGRwZGsub3JnXSBPbiBCZWhhbGYgT2YgQnJ1Y2UNCj4gUmljaGFyZHNvbg0KPiA+ ID4gU2VudDogTW9uZGF5LCBOb3ZlbWJlciA5LCAyMDIwIDExOjA2IEFNDQo+ID4gPg0KPiA+ID4g T24gTW9uLCBOb3YgMDksIDIwMjAgYXQgMDk6MTY6MjdBTSArMDEwMCwgTW9ydGVuIEJyw7hydXAg d3JvdGU6DQo+ID4gPiA+ICtDQyB0ZWNoYm9hcmQNCj4gPiA+ID4NCj4gPiA+ID4gPiBGcm9tOiBK ZXJpbiBKYWNvYiBbbWFpbHRvOmplcmluamFjb2JrQGdtYWlsLmNvbV0NCj4gPiA+ID4gPiBTZW50 OiBNb25kYXksIE5vdmVtYmVyIDksIDIwMjAgNjoxOCBBTQ0KPiA+ID4gPiA+DQo+ID4gPiA+ID4g T24gU3VuLCBOb3YgOCwgMjAyMCBhdCAyOjAzIEFNIFRob21hcyBNb25qYWxvbg0KPiA+ID4gPHRo b21hc0Btb25qYWxvbi5uZXQ+DQo+ID4gPiA+ID4gd3JvdGU6DQo+ID4gPiA+ID4gPg0KPiA+ID4g PiA+ID4gMDcvMTEvMjAyMCAyMDowNSwgSmVyaW4gSmFjb2I6DQo+ID4gPiA+ID4gPiA+IE9uIFN1 biwgTm92IDgsIDIwMjAgYXQgMTI6MDkgQU0gVGhvbWFzIE1vbmphbG9uDQo+ID4gPiA+ID4gPHRo b21hc0Btb25qYWxvbi5uZXQ+IHdyb3RlOg0KPiA+ID4gPiA+ID4gPiA+IDA3LzExLzIwMjAgMTg6 MTIsIEplcmluIEphY29iOg0KPiA+ID4gPiA+ID4gPiA+ID4gT24gU2F0LCBOb3YgNywgMjAyMCBh dCAxMDowNCBQTSBUaG9tYXMgTW9uamFsb24NCj4gPiA+ID4gPiA8dGhvbWFzQG1vbmphbG9uLm5l dD4gd3JvdGU6DQo+ID4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiA+IFRoZSBt ZW1wb29sIHBvaW50ZXIgaW4gdGhlIG1idWYgc3RydWN0IGlzIG1vdmVkDQo+ID4gPiA+ID4gPiA+ ID4gPiA+IGZyb20gdGhlIHNlY29uZCB0byB0aGUgZmlyc3QgaGFsZi4NCj4gPiA+ID4gPiA+ID4g PiA+ID4gSXQgc2hvdWxkIGluY3JlYXNlIHBlcmZvcm1hbmNlIG9uIG1vc3Qgc3lzdGVtcyBoYXZp bmcNCj4gNjQtDQo+ID4gPiBieXRlDQo+ID4gPiA+ID4gY2FjaGUgbGluZSwNCj4gPiA+ID4gPiA+ ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiA+IGkuZS4gbWJ1ZiBpcyBzcGxpdCBpbiB0d28gY2Fj aGUgbGluZXMuDQo+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gQnV0IEluIGFu eSBldmVudCwgVHggbmVlZHMgdG8gdG91Y2ggdGhlIHBvb2wgdG8gZnJlZWluZw0KPiA+ID4gYmFj ayB0bw0KPiA+ID4gPiA+IHRoZQ0KPiA+ID4gPiA+ID4gPiA+ID4gcG9vbCB1cG9uICBUeCBjb21w bGV0aW9uLiBSaWdodD8NCj4gPiA+ID4gPiA+ID4gPiA+IE5vdCBhYmxlIHRvIHVuZGVyc3RhbmQg dGhlIG1vdGl2YXRpb24gZm9yIG1vdmluZyBpdCB0bw0KPiB0aGUNCj4gPiA+ID4gPiBmaXJzdCA2 NEIgY2FjaGUgbGluZT8NCj4gPiA+ID4gPiA+ID4gPiA+IFRoZSBnYWluIHZhcmllcyBmcm9tIGRy aXZlciB0byBkcml2ZXIuIEZvciBleGFtcGxlLCBhDQo+ID4gPiBUeXBpY2FsDQo+ID4gPiA+ID4g PiA+ID4gPiBBUk0tYmFzZWQgTlBVIGRvZXMgbm90IG5lZWQgdG8NCj4gPiA+ID4gPiA+ID4gPiA+ IHRvdWNoIHRoZSBwb29sIGluIFJ4IGFuZCBpdHMgYmVlbiBmaWxsZWQgYnkgSFcuIFdoZXJlYXMN Cj4gaXQNCj4gPiA+ID4gPiBuZWVkcyB0bw0KPiA+ID4gPiA+ID4gPiA+ID4gdG91Y2ggaW4gVHgg aWYgdGhlIHJlZmVyZW5jZSBjb3VudCBpcyBpbXBsZW1lbnRlZC4NCj4gPiA+ID4gPiA+ID4NCj4g PiA+ID4gPiA+ID4gU2VlIGJlbG93Lg0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4N Cj4gPiA+ID4gPiA+ID4gPiA+ID4gRHVlIHRvIHRoaXMgY2hhbmdlLCB0eF9vZmZsb2FkIGlzIG1v dmVkLCBzbyBzb21lDQo+IHZlY3Rvcg0KPiA+ID4gZGF0YQ0KPiA+ID4gPiA+IHBhdGhzDQo+ID4g PiA+ID4gPiA+ID4gPiA+IG1heSBuZWVkIHRvIGJlIGFkanVzdGVkLiBOb3RlOiBPQ1RFT04gVFgy IGNoZWNrIGlzDQo+ID4gPiByZW1vdmVkDQo+ID4gPiA+ID4gdGVtcG9yYXJpbHkhDQo+ID4gPiA+ ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gSXQgd2lsbCBiZSBicmVha2luZyB0aGUgVHgg cGF0aCwgUGxlYXNlIGp1c3QgZG9uJ3QNCj4gcmVtb3ZlDQo+ID4gPiB0aGUNCj4gPiA+ID4gPiBz dGF0aWMNCj4gPiA+ID4gPiA+ID4gPiA+IGFzc2VydCB3aXRob3V0IGFkanVzdGluZyB0aGUgY29k ZS4NCj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+IE9mIGNvdXJzZSBub3QuDQo+ID4g PiA+ID4gPiA+ID4gSSBsb29rZWQgYXQgdGhlIHZlY3RvciBUeCBwYXRoIG9mIE9DVEVPTiBUWDIs DQo+ID4gPiA+ID4gPiA+ID4gaXQncyBjbG9zZSB0byBiZSBpbXBvc3NpYmxlIHRvIHVuZGVyc3Rh bmQgOikNCj4gPiA+ID4gPiA+ID4gPiBQbGVhc2UgaGVscCENCj4gPiA+ID4gPiA+ID4NCj4gPiA+ ID4gPiA+ID4gT2ZmIGNvdXJzZS4gQ291bGQgeW91IGNoZWNrIHRoZSBhYm92ZSBzZWN0aW9uIGFu eSBzaGFyZSB0aGUNCj4gPiA+ID4gPiByYXRpb25hbGUNCj4gPiA+ID4gPiA+ID4gZm9yIHRoaXMg Y2hhbmdlDQo+ID4gPiA+ID4gPiA+IGFuZCB3aGVyZSBpdCBoZWxwcyBhbmQgaG93IG11Y2ggaXQg aGVscHM/DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gSXQgaGFzIGJlZW4gY29uY2x1ZGVkIGlu IHRoZSB0ZWNoYm9hcmQgbWVldGluZyB5b3Ugd2VyZSBwYXJ0DQo+IG9mLg0KPiA+ID4gPiA+ID4g SSBkb24ndCB1bmRlcnN0YW5kIHdoeSB3ZSByZXN0YXJ0IHRoaXMgZGlzY3Vzc2lvbiBhZ2Fpbi4N Cj4gPiA+ID4gPiA+IEkgd29uJ3QgaGF2ZSB0aGUgZW5lcmd5IHRvIHJlc3RhcnQgdGhpcyBwcm9j ZXNzIG15c2VsZi4NCj4gPiA+ID4gPiA+IElmIHlvdSBkb24ndCB3YW50IHRvIGFwcGx5IHRoZSB0 ZWNoYm9hcmQgZGVjaXNpb24sIHRoZW4NCj4gcGxlYXNlDQo+ID4gPiA+ID4gPiBkbyB0aGUgbmVj ZXNzYXJ5IHRvIHJlcXVlc3QgYW5vdGhlciBxdWljayBkZWNpc2lvbi4NCj4gPiA+ID4gPg0KPiA+ ID4gPiA+IFllcy4gSW5pdGlhbGx5LCBJIHRob3VnaHQgaXQgaXMgT0sgYXMgd2UgaGF2ZSAxMjhC IENMLCBBZnRlcg0KPiA+ID4gbG9va2luZw0KPiA+ID4gPiA+IGludG8gVGhvbWFzJ3MgY2hhbmdl LCBJIHJlYWxpemVkDQo+ID4gPiA+ID4gaXQgaXMgbm90IGdvb2QgZm9yIEFSTTY0IDY0QiBjYXRj aGxpbmVzIGJhc2VkIE5QVSBhcw0KPiA+ID4gPiA+IC0gQSBUeXBpY2FsICBBUk0tYmFzZWQgTlBV IGRvZXMgbm90IG5lZWQgdG8gdG91Y2ggdGhlIHBvb2wgaW4NCj4gUngNCj4gPiA+IGFuZA0KPiA+ ID4gPiA+IGl0cyBiZWVuIGZpbGxlZCBieSBIVy4gV2hlcmVhcyBpdCBuZWVkcyB0bw0KPiA+ID4g PiA+IHRvdWNoIGluIFR4IGlmIHRoZSByZWZlcmVuY2UgY291bnQgaXMgaW1wbGVtZW50ZWQuDQo+ ID4gPiA+DQo+ID4gPiA+IEplcmluLCBJIGRvbid0IHVuZGVyc3RhbmQgd2hhdCB0aGUgcHJvYmxl bSBpcyBoZXJlLi4uDQo+ID4gPiA+DQo+ID4gPiA+IFNpbmNlIFJYIGRvZXNuJ3QgdG91Y2ggbS0+ cG9vbCwgaXQgc2hvdWxkbid0IG1hdHRlciBmb3IgUlggd2hpY2gNCj4gPiA+IGNhY2hlIGxpbmUg bS0+cG9vbCByZXNpZGVzIGluLiBJIGdldCB0aGF0Lg0KPiA+ID4gPg0KPiA+ID4gPiBZb3UgYXJl IHNheWluZyB0aGF0IFRYIG5lZWRzIHRvIHRvdWNoIG0tPnBvb2wgaWYgdGhlIHJlZmVyZW5jZQ0K PiBjb3VudA0KPiA+ID4gaXMgaW1wbGVtZW50ZWQuIEkgZ2V0IHRoYXQuIEJ1dCBJIGRvbid0IHVu ZGVyc3RhbmQgd2h5IGl0IGlzIHdvcnNlDQo+ID4gPiBoYXZpbmcgbS0+cG9vbCBpbiB0aGUgZmly c3QgY2FjaGUgbGluZSB0aGFuIGluIHRoZSBzZWNvbmQgY2FjaGUNCj4gbGluZTsNCj4gPiA+IGNh biB5b3UgcGxlYXNlIGNsYXJpZnk/DQo+ID4gPiA+DQo+ID4gPiA+ID4gLSBBbHNvIGl0IHdpbGwg YmUgZWZmZWN0aW5nIGV4aXRpbmcgdmVjdG9yIHJvdXRpbmVzDQo+ID4gPiA+DQo+ID4gPiA+IFRo YXQgaXMgdW5hdm9pZGFibGUgaWYgd2UgbW92ZSBzb21ldGhpbmcgZnJvbSB0aGUgc2Vjb25kIHRv IHRoZQ0KPiBmaXJzdA0KPiA+ID4gY2FjaGUgbGluZS4NCj4gPiA+ID4NCj4gPiA+ID4gSXQgbWF5 IHJlcXVpcmUgc29tZSByZXdvcmsgb24gdGhlIHZlY3RvciByb3V0aW5lcywgYnV0IGl0DQo+IHNo b3VsZG4ndA0KPiA+ID4gYmUgdG9vIGRpZmZpY3VsdCBmb3Igd2hvZXZlciB3cm90ZSB0aGVzZSB2 ZWN0b3Igcm91dGluZXMuDQo+ID4gPiA+DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBJIHJlcXVlc3Qg dG8gcmVjb25zaWRlciB0aGUgdGVjaCBib2FyZCBkZWNpc2lvbi4NCj4gPiA+ID4NCj4gPiA+ID4g SSB3YXMgb24gdGhlIHRlY2hib2FyZCBtZWV0aW5nIGFzIGFuIG9ic2VydmVyIChvciB3aGF0ZXZl ciB0aGUNCj4gPiA+IGNvcnJlY3QgdGVybSB3b3VsZCBiZSBmb3Igbm9uLW1lbWJlcnMpLCBhbmQg dGhpcyBpcyBteSBpbXByZXNzaW9uDQo+IG9mDQo+ID4gPiB0aGUgZGVjaXNpb24gb24gdGhlIG1l ZXRpbmc6DQo+ID4gPiA+DQo+ID4gPiA+IFRoZSB0ZWNoYm9hcmQgY2xlYXJseSBkZWNpZGVkIG5v dCB0byBtb3ZlIGFueSBkeW5hbWljIGZpZWxkcyBpbg0KPiB0aGUNCj4gPiA+IGZpcnN0IGNhY2hl IGxpbmUsIG9uIHRoZSBncm91bmRzIHRoYXQgaWYgd2UgbW92ZSB0aGVtIGF3YXkgYWdhaW4gaW4N Cj4gYQ0KPiA+ID4gbGF0ZXIgdmVyc2lvbiwgRFBESyB1c2VycyB1dGlsaXppbmcgYSBkeW5hbWlj IGZpZWxkIGluIHRoZSBmaXJzdA0KPiBjYWNoZQ0KPiA+ID4gbGluZSBtaWdodCBleHBlcmllbmNl IGEgcGVyZm9ybWFuY2UgZHJvcCBhdCB0aGF0IGxhdGVyIHRpbWUuIEFuZA0KPiB0aGlzDQo+ID4g PiB3aWxsIGJlIGEgdmVyeSBiYWQgdXNlciBleHBlcmllbmNlLCBjYXVzaW5nIGdyaWVmIGFuZCBj b21wbGFpbnRzLg0KPiBUbw0KPiA+ID4gbWUsIHRoaXMgc2VlbWVkIGxpa2UgYSBmaXJtIGRlY2lz aW9uLCBiYXNlZCBvbiBzb2xpZCBhcmd1bWVudHMuDQo+ID4gPiA+DQo+ID4gPiA+IFRoZW4gdGhl IHRlY2hib2FyZCBkaXNjdXNzZWQgd2hpY2ggb3RoZXIgZmllbGQgdG8gbW92ZSB0byB0aGUNCj4g ZnJlZWQNCj4gPiA+IHVwIHNwYWNlIGluIHRoZSBmaXJzdCBjYWNoZSBsaW5lLiBUaGVyZSB3ZXJl IG5vIHBlcmZvcm1hbmNlIHJlcG9ydHMNCj4gPiA+IHNob3dpbmcgYW55IGltcHJvdmVtZW50cyBi eSBtb3ZpbmcgdGhlIGFueSBvZiB0aGUgc3VnZ2VzdGVkIGZpZWxkcw0KPiAobS0NCj4gPiA+ID5w b29sLCBtLT5uZXh0LCBtLT50eF9vZmZsb2FkKSwgYW5kIHRoZXJlIHdhcyBhIHBlcmZvcm1hbmNl IHJlcG9ydA0KPiA+ID4gc2hvd2luZyBubyBpbXByb3ZlbWVudHMgYnkgbW92aW5nIG0tPm5leHQg aW4gYSB0ZXN0IGNhc2Ugd2l0aCBsYXJnZQ0KPiA+ID4gc2VnbWVudGVkIHBhY2tldHMuIFRoZSB0 ZWNoYm9hcmQgZGVjaWRlZCB0byBtb3ZlIG0tPnBvb2wgYXMNCj4gb3JpZ2luYWxseQ0KPiA+ID4g c3VnZ2VzdGVkLiBUbyBtZSwgdGhpcyBzZWVtZWQgbGlrZSBhIHNvbWV3aGF0IHJhbmRvbSBjaG9p Y2UgYmV0d2Vlbg0KPiBBLA0KPiA+ID4gQiBhbmQgQywgb24gdGhlIGdyb3VuZHMgdGhhdCBtb3Zp bmcgb25lIG9mIHRoZW0gaXMgcHJvYmFibHkgYmV0dGVyDQo+IHRoYW4NCj4gPiA+IG1vdmluZyBu b25lIG9mIHRoZW0uDQo+ID4gPiA+DQo+ID4gPg0KPiA+ID4gVGhpcyBsYXJnZWx5IHRhbGxpZXMg d2l0aCB3aGF0IEkgcmVtZW1iZXIgb2YgdGhlIGRpc2N1c3Npb24gdG9vLg0KPiA+ID4NCj4gPiA+ IEknZCBhbHNvIGFkZCB0aG91Z2ggdGhhdCB0aGUgY2hvaWNlIGJldHdlZW4gdGhlIG5leHQgcG9p bnRlciBhbmQNCj4gdGhlDQo+ID4gPiBwb29sDQo+ID4gPiBwb2ludGVyIGNhbWUgZG93biB0byB0 aGUgZmFjdCB0aGF0IHRoZSBuZXh0IHBvaW50ZXIgaXMgb25seSB1c2VkDQo+IGZvcg0KPiA+ID4g Y2hhaW5lZCwgbXVsdGktc2VnbWVudCwgcGFja2V0cyAtIHdoaWNoIGFsc28gdGVuZCB0byBiZSBs YXJnZXINCj4gcGFja2V0cw0KPiA+ID4gLQ0KPiA+ID4gd2hpbGUgdGhlIHBvb2wgcG9pbnRlciBp cyBvZiByZWxldmFuY2UgdG8gYWxsIHBhY2tldHMsIGJpZyBhbmQNCj4gc21hbGwsDQo+ID4gPiBz aW5nbGUgYW5kIG11bHRpLXNlZ21lbnQuDQo+ID4NCj4gPiBJIHdpc2ggdGhhdCB3YXMgdGhlIGNh c2UsIGJ1dCBJIGFtIG5vdCBzbyBzdXJlLi4uDQo+ID4NCj4gPiBJdCBpcyB0cnVlIHRoYXQgbS0+ bmV4dCBpcyBOVUxMIGZvciBub24tc2VnbWVudGVkIHBhY2tldHMuDQo+IA0KPiBZZXMgbS0+bmV4 dCBpcyBOVUxMIGZvciBub24tc2VnbWVudGVkIHBhY2tldHMuDQo+IERvIHdlIG5lZWQgdG8gbW9k aWZ5IHJ0ZV9tYnVmX2NoZWNrKCkgdG8gZW5mb3JjZSB0aGVzZSBjaGVja3M/DQoNCkkgd2VudCB0 aHJvdWdoIHJ0ZV9tYnVmX2NoZWNrKCkgaW4gbXkgaGVhZCwgYW5kIGl0IGFscmVhZHkgZW5mb3Jj ZXMgdGhpcyBjaGVjazoNCldoZW4gY2FsbGVkIHdpdGggaXNfaGVhZGVyIHNldCwgdGhlIGZ1bmN0 aW9uIHByb2NlZWRzIHRvIGNvdW50IHRoZSBudW1iZXIgb2Ygc2VnbWVudHMgYnkgZm9sbG93aW5n IHRoZSBtLT5uZXh0IGNoYWluICh3aGlsZSBtLT5uZXh0IGlzIG5vdCBOVUxMKSwgYW5kIGNoZWNr cyB0aGF0IHRoZSBjb3VudCBtYXRjaGVzIG0tPm5iX3NlZ3MuDQpUaGUgbG9vcCBpbiB0aGUgZnVu Y3Rpb24gKHVzZWQgd2hlbiBjYWxsZWQgd2l0aCBpc19oZWFkZXIgc2V0KSBpcyBpbXBsZW1lbnRl ZCB0byBhbHNvIGNoZWNrIHRoYXQgbS0+bmJfc2VncyA9PSAxIHdoZW4gbS0+bmV4dCA9PSBOVUxM Lg0KDQoNCg==