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 5FF41A0521; Tue, 3 Nov 2020 15:03:05 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 41658CAB6; Tue, 3 Nov 2020 15:03:04 +0100 (CET) Received: from hqnvemgate26.nvidia.com (hqnvemgate26.nvidia.com [216.228.121.65]) by dpdk.org (Postfix) with ESMTP id 84F34CABF; Tue, 3 Nov 2020 15:03:01 +0100 (CET) Received: from hqmail.nvidia.com (Not Verified[216.228.121.13]) by hqnvemgate26.nvidia.com (using TLS: TLSv1.2, AES256-SHA) id ; Tue, 03 Nov 2020 06:03:03 -0800 Received: from HQMAIL107.nvidia.com (172.20.187.13) by HQMAIL109.nvidia.com (172.20.187.15) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Tue, 3 Nov 2020 14:02:40 +0000 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.176) by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via Frontend Transport; Tue, 3 Nov 2020 14:02:40 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=n2q0VGS+nHwPSlfcwxQTcZUCMhLoZE91Uf7839Bbi68fIz3Opo+cW+tGpFXlopTMK9Wheh151c5VLRhPcW2qgNO+11d5bG/EUmwuf2G64YFv6Hscj/Acz2sE7+ovVKJ3aPEKWamaYZfM05m+2j27wUYokMXCuq5Xh3bVHHRH02LQZRW+iX7aUdoyVZg/wEvaSOWtcla1xXAehUODSthL3GiBStrgp6Y4WNeqgNmp6nVnXebgw6jMtvZsAB8m6/p1IBuPD0biv1CAEMzkiAqjUwQTfYXJOfazrjgKf8CT98ZyqCEWyxXeNqHzeBrWlm2A4blek4LuLfq7irsKp/qiWQ== 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=m+9+hMrmNQAqsrOUbpPkQeD9kuXw69XIWuw/54CN/S8=; b=VE5jjdyEU8SN202IIAHLscBqPbIl1NbpsEy2cMTUG5YLhP4wUurt4A2xbYtYp5Lku025rzx7xnF7mXKDA9MuEs8HcO+8YiDs/g1dGcImsxCaxtY9Fg9I/FI4h7kYAjT7JtNhDu12aIc6XpyFMruEc3I0HoAmV6C9YC0yNnPtQmwVLlRxhUxGyD3Zz0Dlic/drjgxnwejhwctvcXbSDeAGTmJ4Ip+d8UgLDuU420QFJe/0PbksEU8P2Rc26nnTZr99HDPtKiJi7szjYl0/knlln+b2qOLO6MI62QpmuQkjPmhnRhLyQubXt9MOFrKtQzhMb62hRMjemGjF90q8fpYUw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none Received: from MWHPR12MB1501.namprd12.prod.outlook.com (2603:10b6:301:f::18) by MWHPR12MB1424.namprd12.prod.outlook.com (2603:10b6:300:13::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3499.18; Tue, 3 Nov 2020 14:02:39 +0000 Received: from MWHPR12MB1501.namprd12.prod.outlook.com ([fe80::ec4d:f17d:402c:78b4]) by MWHPR12MB1501.namprd12.prod.outlook.com ([fe80::ec4d:f17d:402c:78b4%6]) with mapi id 15.20.3499.030; Tue, 3 Nov 2020 14:02:38 +0000 From: Slava Ovsiienko To: =?utf-8?B?TW9ydGVuIEJyw7hydXA=?= , NBU-Contact-Thomas Monjalon , "dev@dpdk.org" , "techboard@dpdk.org" CC: Ajit Khaparde , "Ananyev, Konstantin" , Andrew Rybchenko , "dev@dpdk.org" , "Yigit, Ferruh" , "david.marchand@redhat.com" , "Richardson, Bruce" , "olivier.matz@6wind.com" , "jerinj@marvell.com" , "honnappa.nagarahalli@arm.com" , "maxime.coquelin@redhat.com" , "stephen@networkplumber.org" , "hemant.agrawal@nxp.com" , Matan Azrad , Shahaf Shuler Thread-Topic: [dpdk-dev] [PATCH 15/15] mbuf: move pool pointer in hotterfirst half Thread-Index: AQHWr7KXTn2+3kU3gEmve7K5iz/ia6myLNIAgADSGICAAHx6AIAASNyAgAE+RACAAVKegIAAF2JQ Date: Tue, 3 Nov 2020 14:02:38 +0000 Message-ID: References: <20201029092751.3837177-1-thomas@monjalon.net> <3086227.yllCKDRCEA@thomas> <98CBD80474FA8B44BF855DF32C47DC35C613CD@smartserver.smartshare.dk> <13044489.RHGIMAnax8@thomas> <98CBD80474FA8B44BF855DF32C47DC35C613DB@smartserver.smartshare.dk> In-Reply-To: <98CBD80474FA8B44BF855DF32C47DC35C613DB@smartserver.smartshare.dk> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: smartsharesystems.com; dkim=none (message not signed) header.d=none; smartsharesystems.com; dmarc=none action=none header.from=nvidia.com; x-originating-ip: [95.164.10.10] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: c5b494ee-f8d3-42f0-2e60-08d880011fc6 x-ms-traffictypediagnostic: MWHPR12MB1424: x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ZAcEYEKcQyno3+hWUWVrCsIt/8Nro5zBM3hAk2yBB11uB1MVtCvKK1JyEuhAUh1Xs+MtB04A/w8eS8S1AMfErib6hwZ3S/TSTi2dm9GV/ebU8G2eECdcDmX/ov7sCjIodCFhuu+NEAUFGYzF6G4vYXMAIm3bozYtX0o9qHry4Dw5n7BLImWDlm+wgTzUOvFE7xji+vEJWht8aLQcpFBSnF1hGMzBg274Ye8bMyEg37OoffFhxUrvTMA2eaKYBSFJNqhafGF2gn5wH0aUuiLshsPj/4v02hfRezKVZ11L1TcWIdtJ/T+O67XRp/jXiUkpxJZOGQA2pHICSDJ5+Fawjw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MWHPR12MB1501.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(396003)(136003)(376002)(346002)(39860400002)(7416002)(66574015)(2906002)(52536014)(76116006)(66556008)(6506007)(66946007)(66476007)(64756008)(66446008)(83380400001)(8676002)(26005)(8936002)(55016002)(186003)(53546011)(478600001)(71200400001)(110136005)(30864003)(316002)(4326008)(7696005)(9686003)(33656002)(5660300002)(107886003)(86362001)(54906003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: faISpPEd2OB0SCtfLdxWQBzvm3AlC/KcHaWl+8Pg/pasYZn5bGzghM1+B8qKTaQ+RJlYXMoUGOA3JnPT/HTUdwmP+JWTCvPrlnM4WY1ekl56HncRCbLm+13yGCut1rH8UEcDdYP7F7MLEsfjIzIndBxxpMwoQS1Jei24swKlp0af7SLMH/T0fw0mW5oz2Ip0D9B47vqdYSoa/gqtqbwtrxes94Jxvyh99tDIfTTMK2g6/l8w7ja5NqCq3G39oXiuoboQLNbcDQ/Z8H6zdBbMaABdGWFQKcaSgxDXyVq/euCuVapvLQJJlAMB8J2rkjfLBOGdQ9Ckh2IeA/brOKiEl8/IoW9XIEFAq+CfZAuMbCqvGHFHVlHjNOVNriVRGucACW1V9mWRKh75w4mZkW+g5OMnO1VkDl0kM6En5IgD9K8qQsbJ2bSMOEin7cU/EKtZg/7NKNTrdmu6BnobSbY3ls6qeZyculLanhGtRwVX/kKiVwd/bzjqG4b18UO6SV+rkpSJD2AlJq0DU0VCY3EQwtfxr3haSjv7FgR8QZcRSXsWWZX31Avsj0toU7v1Jm4Qk4QV5YjNqxuUmLh6m/aXuaQEM8UNTNVcsD7b+YcwI8oftP9dMeAeqZMhhActPHKsOWwWw9xuGJ/LrWSCZnaw4w== 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: MWHPR12MB1501.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: c5b494ee-f8d3-42f0-2e60-08d880011fc6 X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Nov 2020 14:02:38.8259 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: I3EgRna9oilpmdVKmu9g6BgzTc01hiQXr29j99oBkupoizrDPqFrCR4Gsv//2l9n1x5oFeViFoxdAOQ5U/0ICw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR12MB1424 X-OriginatorOrg: Nvidia.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; t=1604412183; bh=m+9+hMrmNQAqsrOUbpPkQeD9kuXw69XIWuw/54CN/S8=; h=ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:From:To: CC:Subject:Thread-Topic:Thread-Index:Date:Message-ID:References: In-Reply-To:Accept-Language:Content-Language:X-MS-Has-Attach: X-MS-TNEF-Correlator:authentication-results:x-originating-ip: x-ms-publictraffictype:x-ms-office365-filtering-correlation-id: x-ms-traffictypediagnostic:x-ld-processed: x-ms-exchange-transport-forked:x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers:x-ms-exchange-senderadcheck: x-microsoft-antispam:x-microsoft-antispam-message-info: x-forefront-antispam-report:x-ms-exchange-antispam-messagedata: Content-Type:Content-Transfer-Encoding:MIME-Version: X-MS-Exchange-CrossTenant-AuthAs: X-MS-Exchange-CrossTenant-AuthSource: X-MS-Exchange-CrossTenant-Network-Message-Id: X-MS-Exchange-CrossTenant-originalarrivaltime: X-MS-Exchange-CrossTenant-fromentityheader: X-MS-Exchange-CrossTenant-id:X-MS-Exchange-CrossTenant-mailboxtype: X-MS-Exchange-CrossTenant-userprincipalname: X-MS-Exchange-Transport-CrossTenantHeadersStamped:X-OriginatorOrg; b=VFnqpR1s/IC5UsM1EszUu3Fw946sK/8cDXVqxVVb3bsTSkC+/yXa1F0SALrSCMFNm MCEYB4qcNirnBoutbOuSSK4NtHFoUi5Y3+F7yhiKyTRJAW+XhSiAasafz5HtrS9wZI 5+V+Glq9xxJCCCYprajLWcAMjQVjETB6cpHwz0XP/VQ8Wko82s+YiFieXvrRIIdDcZ efWruR9Cns9M3z6tOfm02pxujQM0ocvQHUga9X2vI+LlzpRmVRVvzMcQ2qZVExI8hk IKTxZeD4tGD5zWPEvsY1fHj5wIM/qqqpbF2CUf/L080caVarVvYHdCdNXQL2yvooeF Ox9paje8c3w4w== Subject: Re: [dpdk-dev] [PATCH 15/15] mbuf: move pool pointer in hotterfirst 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" SGksIE1vcnRlbg0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IE1vcnRl biBCcsO4cnVwIDxtYkBzbWFydHNoYXJlc3lzdGVtcy5jb20+DQo+IFNlbnQ6IFR1ZXNkYXksIE5v dmVtYmVyIDMsIDIwMjAgMTQ6MTANCj4gVG86IE5CVS1Db250YWN0LVRob21hcyBNb25qYWxvbiA8 dGhvbWFzQG1vbmphbG9uLm5ldD47IGRldkBkcGRrLm9yZzsNCj4gdGVjaGJvYXJkQGRwZGsub3Jn DQo+IENjOiBBaml0IEtoYXBhcmRlIDxhaml0LmtoYXBhcmRlQGJyb2FkY29tLmNvbT47IEFuYW55 ZXYsIEtvbnN0YW50aW4NCj4gPGtvbnN0YW50aW4uYW5hbnlldkBpbnRlbC5jb20+OyBBbmRyZXcg UnliY2hlbmtvDQo+IDxhbmRyZXcucnliY2hlbmtvQG9rdGV0bGFicy5ydT47IGRldkBkcGRrLm9y ZzsgWWlnaXQsIEZlcnJ1aA0KPiA8ZmVycnVoLnlpZ2l0QGludGVsLmNvbT47IGRhdmlkLm1hcmNo YW5kQHJlZGhhdC5jb207IFJpY2hhcmRzb24sIEJydWNlDQo+IDxicnVjZS5yaWNoYXJkc29uQGlu dGVsLmNvbT47IG9saXZpZXIubWF0ekA2d2luZC5jb207IGplcmluakBtYXJ2ZWxsLmNvbTsNCj4g U2xhdmEgT3ZzaWllbmtvIDx2aWFjaGVzbGF2b0BudmlkaWEuY29tPjsgaG9ubmFwcGEubmFnYXJh aGFsbGlAYXJtLmNvbTsNCj4gbWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb207IHN0ZXBoZW5AbmV0 d29ya3BsdW1iZXIub3JnOw0KPiBoZW1hbnQuYWdyYXdhbEBueHAuY29tOyBTbGF2YSBPdnNpaWVu a28gPHZpYWNoZXNsYXZvQG52aWRpYS5jb20+OyBNYXRhbg0KPiBBenJhZCA8bWF0YW5AbnZpZGlh LmNvbT47IFNoYWhhZiBTaHVsZXIgPHNoYWhhZnNAbnZpZGlhLmNvbT4NCj4gU3ViamVjdDogUkU6 IFtkcGRrLWRldl0gW1BBVENIIDE1LzE1XSBtYnVmOiBtb3ZlIHBvb2wgcG9pbnRlciBpbiBob3R0 ZXJmaXJzdA0KPiBoYWxmDQo+IA0KPiA+IEZyb206IFRob21hcyBNb25qYWxvbiBbbWFpbHRvOnRo b21hc0Btb25qYWxvbi5uZXRdDQo+ID4gU2VudDogTW9uZGF5LCBOb3ZlbWJlciAyLCAyMDIwIDQ6 NTggUE0NCj4gPg0KPiA+ICtDYyB0ZWNoYm9hcmQNCj4gPg0KPiA+IFdlIG5lZWQgYmVuY2htYXJr IG51bWJlcnMgaW4gb3JkZXIgdG8gdGFrZSBhIGRlY2lzaW9uLg0KPiA+IFBsZWFzZSBhbGwsIHBy ZXBhcmUgc29tZSBhcmd1bWVudHMgYW5kIG51bWJlcnMgc28gd2UgY2FuIGRpc2N1c3MgdGhlDQo+ ID4gbWJ1ZiBsYXlvdXQgaW4gdGhlIG5leHQgdGVjaGJvYXJkIG1lZXRpbmcuDQo+IA0KPiBJIHBy b3Bvc2UgdGhhdCB0aGUgdGVjaGJvYXJkIGNvbnNpZGVycyB0aGlzIGZyb20gdHdvIGFuZ2VsczoN Cj4gDQo+IDEuIExvbmcgdGVybSBnb2FscyBhbmQgdGhlaXIgcmVsYXRpdmUgcHJpb3JpdHkuIEku ZS4gd2hhdCBjYW4gYmUgYWNoaWV2ZWQgd2l0aA0KPiB3aWRlLXJhbmdpbmcgbW9kaWZpY2F0aW9u cywgcmVxdWlyaW5nIHlldCBhbm90aGVyIEFCSSBicmVhayBhbmQgZHVlIG5vdGljZXMuDQo+IA0K PiAyLiBTaG9ydCB0ZXJtIGdvYWxzLCBpLmUuIHdoYXQgY2FuIGJlIGFjaGlldmVkIGZvciB0aGlz IHJlbGVhc2UuDQo+IA0KPiANCj4gTXkgc3VnZ2VzdGlvbnMgZm9sbG93Li4uDQo+IA0KPiAxLiBS ZWdhcmRpbmcgbG9uZyB0ZXJtIGdvYWxzOg0KPiANCj4gSSBoYXZlIGFyZ3VlZCB0aGF0IHNpbXBs ZSBmb3J3YXJkaW5nIG9mIG5vbi1zZWdtZW50ZWQgcGFja2V0cyB1c2luZyBvbmx5IHRoZQ0KPiBm aXJzdCBtYnVmIGNhY2hlIGxpbmUgY2FuIGJlIGFjaGlldmVkIGJ5IG1ha2luZyB0aHJlZQ0KPiBt b2RpZmljYXRpb25zOg0KPiANCj4gYSkgTW92ZSBtLT50eF9vZmZsb2FkIHRvIHRoZSBmaXJzdCBj YWNoZSBsaW5lLg0KTm90IGFsbCBQTURzIHVzZSB0aGlzIGZpZWxkIG9uIFR4LiBIVyBtaWdodCBz dXBwb3J0IHRoZSBjaGVja3N1bSBvZmZsb2Fkcw0KZGlyZWN0bHksIG5vdCByZXF1aXJpbmcgdGhl c2UgZmllbGRzIGF0IGFsbC4gDQoNCg0KPiBiKSBVc2UgYW4gOCBiaXQgcGt0bWJ1ZiBtZW1wb29s IGluZGV4IGluIHRoZSBmaXJzdCBjYWNoZSBsaW5lLA0KPiAgICBpbnN0ZWFkIG9mIHRoZSA2NCBi aXQgbS0+cG9vbCBwb2ludGVyIGluIHRoZSBzZWNvbmQgY2FjaGUgbGluZS4NCjI1NiBtcG9vbCBs b29rcyBlbm91Z2gsIGFzIGZvciBtZS4gUmVnYXJkaW5nIHRoZSBpbmRpcmVjdCBhY2Nlc3MgdG8g dGhlIHBvb2wNCih2aWEgc29tZSB0YWJsZSkgLSBpdCBtaWdodCBpbnRyb2R1Y2Ugc29tZSBwZXJm b3JtYW5jZSBpbXBhY3QuIEZvciBleGFtcGxlLCANCm1seDUgUE1EIHN0cm9uZ2x5IHJlbGllcyBv biBwb29sIGZpZWxkIGZvciBhbGxvY2F0aW5nIG1idWZzIGluIFJ4IGRhdGFwYXRoLg0KV2UncmUg Z29pbmcgdG8gdXBkYXRlIChvLW8sIHdlIGZvdW5kIHBvaW50IHRvIG9wdGltaXplKSwgYnV0IGZv ciBub3cgaXQgZG9lcy4NCg0KPiBjKSBEbyBub3QgYWNjZXNzIG0tPm5leHQgd2hlbiB3ZSBrbm93 IHRoYXQgaXQgaXMgTlVMTC4NCj4gICAgV2UgY2FuIHVzZSBtLT5uYl9zZWdzID09IDEgb3Igc29t ZSBvdGhlciBpbnZhcmlhbnQgYXMgdGhlIGdhdGUuDQo+ICAgIEl0IGNhbiBiZSBpbXBsZW1lbnRl ZCBieSBhZGRpbmcgYW4gbS0+bmV4dCBhY2Nlc3NvciBmdW5jdGlvbjoNCj4gICAgc3RydWN0IHJ0 ZV9tYnVmICogcnRlX21idWZfbmV4dChzdHJ1Y3QgcnRlX21idWYgKiBtKQ0KPiAgICB7DQo+ICAg ICAgICByZXR1cm4gbS0+bmJfc2VncyA9PSAxID8gTlVMTCA6IG0tPm5leHQ7DQo+ICAgIH0NCg0K U29ycnksIG5vdCBzdXJlIGFib3V0IHRoaXMuIElJUkMsIG5iX3NlZ3MgaXMgdmFsaWQgaW4gdGhl IGZpcnN0IHNlZ21lbnQvbWJ1ZiAgb25seS4NCklmIHdlIGhhdmUgdGhlIDQgc2VnbWVudHMgaW4g dGhlIHBrdCB3ZSBzZWUgbmJfc2VnPTQgaW4gdGhlIGZpcnN0IG9uZSwgYW5kIHRoZSBuYl9zZWc9 MQ0KaW4gdGhlIG90aGVycy4gVGhlIG5leHQgZmllbGQgaXMgTlVMTCBpbiB0aGUgbGFzdCBtYnVm IG9ubHkuIEFtIEkgd3JvbmcgYW5kIG1pc3Mgc29tZXRoaW5nID8NCg0KPiBSZWdhcmRpbmcgdGhl IHByaW9yaXR5IG9mIHRoaXMgZ29hbCwgSSBndWVzcyB0aGF0IHNpbXBsZSBmb3J3YXJkaW5nIG9m IG5vbi0NCj4gc2VnbWVudGVkIHBhY2tldHMgaXMgcHJvYmFibHkgdGhlIHBhdGggdGFrZW4gYnkg dGhlIG1ham9yaXR5IG9mIHBhY2tldHMNCj4gaGFuZGxlZCBieSBEUERLLg0KPiANCj4gQW4gYWx0 ZXJuYXRpdmUgZ29hbCBjb3VsZCBiZToNCj4gRG8gbm90IHRvdWNoIHRoZSBzZWNvbmQgY2FjaGUg bGluZSBkdXJpbmcgUlguDQo+IEEgY29tbWVudCBpbiB0aGUgbWJ1ZiBzdHJ1Y3R1cmUgc2F5cyBz bywgYnV0IGl0IGlzIG5vdCB0cnVlIGFueW1vcmUuDQo+IA0KPiAoSSBndWVzcyB0aGF0IHJlZ3Jl c3Npb24gdGVzdGluZyBkaWRuJ3QgY2F0Y2ggdGhpcyBiZWNhdXNlIHRoZSB0ZXN0cyBwZXJmb3Jt IFRYDQo+IGltbWVkaWF0ZWx5IGFmdGVyIFJYLCBzbyB0aGUgY2FjaGUgbWlzcyBqdXN0IG1vdmVz IGZyb20gdGhlIFRYIHRvIHRoZSBSWCBwYXJ0DQo+IG9mIHRoZSB0ZXN0IGFwcGxpY2F0aW9uLikN Cj4gDQo+IA0KPiAyLiBSZWdhcmRpbmcgc2hvcnQgdGVybSBnb2FsczoNCj4gDQo+IFRoZSBjdXJy ZW50IERQREsgc291cmNlIGNvZGUgbG9va3MgdG8gbWUgbGlrZSBtLT5uZXh0IGlzIHRoZSBtb3N0 IGZyZXF1ZW50bHkNCj4gYWNjZXNzZWQgZmllbGQgaW4gdGhlIHNlY29uZCBjYWNoZSBsaW5lLCBz byBpdCBtYWtlcyBzZW5zZSBtb3ZpbmcgdGhpcyB0byB0aGUNCj4gZmlyc3QgY2FjaGUgbGluZSwg cmF0aGVyIHRoYW4gbS0+cG9vbC4NCj4gQmVuY2htYXJraW5nIG1heSBoZWxwIGhlcmUuDQoNCk1v cmVvdmVyLCBmb3IgdGhlIHNlZ21lbnRlZCBwYWNrZXRzIHRoZSBwYWNrZXQgc2l6ZSBpcyBzdXBw b3NlZCB0byBiZSBsYXJnZSwNCmFuZCBpdCBpbXBvc2VzIHRoZSByZWxhdGl2ZWx5IGxvdyBwYWNr ZXQgcmF0ZSwgc28gcHJvYmFibHkgb3B0aW1pemF0aW9uIG9mDQptb3ZpbmcgbmV4dCB0byB0aGUg MXN0IGNhY2hlIGxpbmUgbWlnaHQgYmUgbmVnbGlnaWJsZSBhdCBhbGwuIEp1c3QgY29tcGFyZSAx NDhNcHBzIG9mDQo2NEIgcGt0cyBhbmQgNE1wcHMgb2YgMzAwMEIgcGt0cyBvdmVyIDEwMEdicHMg bGluay4gQ3VycmVudGx5IHdlIGFyZSBvbiBiZW5jaG1hcmtpbmcNCmFuZCBkaWQgbm90IHN1Y2Nl ZWQgeWV0IG9uIGRpZmZlcmVuY2UgZmluZGluZy4gVGhlIGJlbmVmaXQgY2FuJ3QgYmUgZXhwcmVz c2VkIGluIG1wcHMgZGVsdGEsDQp3ZSBzaG91bGQgbWVhc3VyZSBDUFUgY2xvY2tzLCBidXQgUngg cXVldWUgaXMgYWxtb3N0IGFsd2F5cyBlbXB0eSAtIHdlIGhhdmUgYW4gZW1wdHkNCmxvb3BzLiBT bywgaWYgd2UgaGF2ZSB0aGUgYm9vc3QgLSBpdCBpcyBleHRyZW1lbHkgaGFyZCB0byBjYXRjaCBv bmUuDQoNCldpdGggYmVzdCByZWdhcmRzLCBTbGF2YQ0KDQo+DQo+IA0KPiBJZiB3ZSAtIHdpdGhv dXQgYnJlYWtpbmcgdGhlIEFCSSAtIGNhbiBpbnRyb2R1Y2UgYSBnYXRlIHRvIGF2b2lkIGFjY2Vz c2luZyBtLQ0KPiA+bmV4dCB3aGVuIHdlIGtub3cgdGhhdCBpdCBpcyBOVUxMLCB3ZSBzaG91bGQg a2VlcCBpdCBpbiB0aGUgc2Vjb25kIGNhY2hlDQo+IGxpbmUuDQo+IA0KPiBJbiB0aGlzIGNhc2Us IEkgd291bGQgcHJlZmVyIHRvIG1vdmUgbS0+dHhfb2ZmbG9hZCB0byB0aGUgZmlyc3QgY2FjaGUg bGluZSwNCj4gdGhlcmVieSBwcm92aWRpbmcgYSBmaWVsZCBhdmFpbGFibGUgZm9yIGFwcGxpY2F0 aW9uIHVzZSwgdW50aWwgdGhlIGFwcGxpY2F0aW9uDQo+IHByZXBhcmVzIHRoZSBwYWNrZXQgZm9y IHRyYW5zbWlzc2lvbi4NCj4gDQo+IA0KPiA+DQo+ID4NCj4gPiAwMS8xMS8yMDIwIDIxOjU5LCBN b3J0ZW4gQnLDuHJ1cDoNCj4gPiA+ID4gRnJvbTogVGhvbWFzIE1vbmphbG9uIFttYWlsdG86dGhv bWFzQG1vbmphbG9uLm5ldF0NCj4gPiA+ID4gU2VudDogU3VuZGF5LCBOb3ZlbWJlciAxLCAyMDIw IDU6MzggUE0NCj4gPiA+ID4NCj4gPiA+ID4gMDEvMTEvMjAyMCAxMDoxMiwgTW9ydGVuIEJyw7hy dXA6DQo+ID4gPiA+ID4gT25lIHRoaW5nIGhhcyBhbHdheXMgcHV6emxlZCBtZToNCj4gPiA+ID4g PiBXaHkgZG8gd2UgdXNlIDY0IGJpdHMgdG8gaW5kaWNhdGUgd2hpY2ggbWVtb3J5IHBvb2wgYW4g bWJ1Zg0KPiA+ID4gPiA+IGJlbG9uZ3MgdG8/DQo+ID4gPiA+ID4gVGhlIHBvcnRpZCBvbmx5IHVz ZXMgMTYgYml0cyBhbmQgYW4gaW5kaXJlY3Rpb24gaW5kZXguDQo+ID4gPiA+ID4gV2h5IGRvbid0 IHdlIHVzZSB0aGUgc2FtZSBraW5kIG9mIGluZGlyZWN0aW9uIGluZGV4IGZvciBtYnVmDQo+ID4g cG9vbHM/DQo+ID4gPiA+DQo+ID4gPiA+IEkgd29uZGVyIHdoYXQgd291bGQgYmUgdGhlIGNvc3Qg b2YgaW5kaXJlY3Rpb24uIFByb2JhYmx5DQo+ID4gbmVnbGVjdGlibGUuDQo+ID4gPg0KPiA+ID4g UHJvYmFibHkuIFRoZSBwb3J0aWQgZG9lcyBpdCwgYW5kIHRoYXQgaW5kaXJlY3Rpb24gaXMgaGVh dmlseSB1c2VkDQo+ID4gZXZlcnl3aGVyZS4NCj4gPiA+DQo+ID4gPiBUaGUgc2l6ZSBvZiBtYnVm IG1lbW9yeSBwb29sIGluZGlyZWN0aW9uIGFycmF5IHNob3VsZCBiZSBjb21waWxlDQo+ID4gPiB0 aW1lDQo+ID4gY29uZmlndXJhYmxlLCBsaWtlIHRoZSBzaXplIG9mIHRoZSBwb3J0aWQgaW5kaXJl Y3Rpb24gYXJyYXkuDQo+ID4gPg0KPiA+ID4gQW5kIGZvciByZWZlcmVuY2UsIHRoZSBpbmRpcmVj dGlvbiBhcnJheSB3aWxsIGZpdCBpbnRvIG9uZSBjYWNoZQ0KPiA+ID4gbGluZQ0KPiA+IGlmIHdl IGRlZmF1bHQgdG8gOCBtYnVmIHBvb2xzLCB0aHVzIHN1cHBvcnRpbmcgYW4gOCBDUFUgc29ja2V0 IHN5c3RlbQ0KPiA+IHdpdGggb25lIG1idWYgcG9vbCBwZXIgQ1BVIHNvY2tldCwgb3IgYSA0IENQ VSBzb2NrZXQgc3lzdGVtIHdpdGggdHdvDQo+ID4gbWJ1ZiBwb29scyBwZXIgQ1BVIHNvY2tldC4N Cj4gPiA+DQo+ID4gPiAoQW5kIGFzIGEgc2lkZSBub3RlOiBPdXIgYXBwbGljYXRpb24gaXMgb3B0 aW1pemVkIGZvciBzaW5nbGUtc29ja2V0DQo+ID4gc3lzdGVtcywgYW5kIHdlIG9ubHkgdXNlIG9u ZSBtYnVmIHBvb2wuIEkgZ3Vlc3MgbWFueSBhcHBsaWNhdGlvbnMgd2VyZQ0KPiA+IGRldmVsb3Bl ZCB3aXRob3V0IGNhcmVmdWxseSBvcHRpbWl6aW5nIGZvciBtdWx0aS1zb2NrZXQgc3lzdGVtcywg YW5kDQo+ID4gYWxzbyBqdXN0IHVzZSBvbmUgbWJ1ZiBwb29sLiBJbiB0aGVzZSBjYXNlcywgdGhl IG1idWYgc3RydWN0dXJlDQo+ID4gZG9lc24ndCByZWFsbHkgbmVlZCBhIHBvb2wgZmllbGQuIEJ1 dCBpdCBpcyBzdGlsbCB0aGVyZSwgYW5kIHRoZSBEUERLDQo+ID4gbGlicmFyaWVzIHVzZSBpdCwg c28gd2UgZGlkbid0IGJvdGhlciByZW1vdmluZyBpdC4pDQo+ID4gPg0KPiA+ID4gPiBJIHRoaW5r IGl0IGlzIGEgZ29vZCBwcm9wb3NhbC4uLg0KPiA+ID4gPiAuLi4gZm9yIG5leHQgeWVhciwgYWZ0 ZXIgYSBkZXByZWNhdGlvbiBub3RpY2UuDQo+ID4gPiA+DQo+ID4gPiA+ID4gSSBjYW4gZWFzaWx5 IGltYWdpbmUgdXNpbmcgb25lIG1idWYgcG9vbCAob3IgcGVyaGFwcyBhIGZldw0KPiA+ID4gPiA+ IHBvb2xzKSBwZXIgQ1BVIHNvY2tldCAob3IgcGVyIHBoeXNpY2FsIG1lbW9yeSBidXMgY2xvc2Vz dCB0byBhbg0KPiA+ID4gPiA+IGF0dGFjaGVkDQo+ID4gTklDKSwNCj4gPiA+ID4gPiBidXQgbm90 IG1vcmUgdGhhbiAyNTYgbWJ1ZiBtZW1vcnkgcG9vbHMgaW4gdG90YWwuDQo+ID4gPiA+ID4gU28s IGxldCdzIGludHJvZHVjZSBhbiBtYnVmcG9vbGlkIGxpa2UgdGhlIHBvcnRpZCwgYW5kIGN1dCB0 aGlzDQo+ID4gPiA+ID4gbWJ1ZiBmaWVsZCBkb3duIGZyb20gNjQgdG8gOCBiaXRzLg0KPiA+DQo+ ID4gV2Ugd2lsbCBuZWVkIHRvIG1lYXN1cmUgdGhlIHBlcmYgb2YgdGhlIHNvbHV0aW9uLg0KPiA+ IFRoZXJlIGlzIGEgY2hhbmNlIGZvciB0aGUgY29zdCB0byBiZSB0b28gbXVjaCBoaWdoLg0KPiA+ DQo+ID4NCj4gPiA+ID4gPiBJZiB3ZSBhbHNvIGN1dCBkb3duIG0tPnBrdF9sZW4gZnJvbSAzMiB0 byAyNCBiaXRzLA0KPiA+ID4gPg0KPiA+ID4gPiBXaG8gaXMgdXNpbmcgcGFja2V0cyBsYXJnZXIg dGhhbiA2NGs/IEFyZSAxNiBiaXRzIGVub3VnaD8NCj4gPiA+DQo+ID4gPiBJIHBlcnNvbmFsbHkg Y29uc2lkZXIgNjRrIGEgcmVhc29uYWJsZSBwYWNrZXQgc2l6ZSBsaW1pdC4gRXhvdGljDQo+ID4g YXBwbGljYXRpb25zIHdpdGggZXZlbiBsYXJnZXIgcGFja2V0cyB3b3VsZCBoYXZlIHRvIGxpdmUg d2l0aCB0aGlzDQo+ID4gY29uc3RyYWludC4gQnV0IGxldCdzIHNlZSBpZiB0aGVyZSBhcmUgYW55 IG9iamVjdGlvbnMuIEZvciByZWZlcmVuY2UsDQo+ID4gNjRrIGNvcnJlc3BvbmRzIHRvIGNhLiA0 NCBFdGhlcm5ldCAoMTUwMCBieXRlKSBwYWNrZXRzLg0KPiA+ID4NCj4gPiA+IChUaGUgbGltaXQg Y291bGQgYmUgNjU1MzUgYnl0ZXMsIHRvIGF2b2lkIHRyYW5zbGF0aW9uIG9mIHRoZSB2YWx1ZSAw DQo+ID4gaW50byA2NTUzNiBieXRlcy4pDQo+ID4gPg0KPiA+ID4gVGhpcyBtb2RpZmljYXRpb24g d291bGQgZ28gbmljZWx5IGhhbmQgaW4gaGFuZCB3aXRoIHRoZSBtYnVmIHBvb2wNCj4gPiBpbmRp cmVjdGlvbiBtb2RpZmljYXRpb24uDQo+ID4gPg0KPiA+ID4gLi4uIGFmdGVyIHlldCBhbm90aGVy IHJvdW5kIG9mIEFCSSBzdGFiaWxpdHkgZGlzY3Vzc2lvbnMsDQo+ID4gZGVwcmVjaWF0aW9uIG5v dGljZXMsIGFuZCBzbyBvbi4gOi0pDQo+ID4NCj4gPiBBZnRlciBtb3JlIHRob3VnaHRzLCBJJ20g YWZyYWlkIDY0ayBpcyB0b28gc21hbGwgaW4gc29tZSBjYXNlcy4NCj4gPiBBbmQgMjQtYml0IG1h bmlwdWxhdGlvbiB3b3VsZCBwcm9iYWJseSBicmVhayBwZXJmb3JtYW5jZS4NCj4gPiBJJ20gYWZy YWlkIHdlIGFyZSBzdHVjayB3aXRoIDMyLWJpdCBsZW5ndGguDQo+IA0KPiBZZXMsIDI0IGJpdCBt YW5pcHVsYXRpb24gd291bGQgcHJvYmFibHkgYnJlYWsgcGVyZm9ybWFuY2UuDQo+IA0KPiBQZXJo YXBzIGEgc29sdXRpb24gZXhpc3RzIHdpdGggMTYgYml0cyAobGVhc3Qgc2lnbmlmaWNhbnQgYml0 cykgZm9yIHRoZSBjb21tb24NCj4gY2FzZXMsIGFuZCA4IGJpdHMgbW9yZSAobW9zdCBzaWduaWZp Y2FudCBiaXRzKSBmb3IgdGhlIGxlc3MgY29tbW9uIGNhc2VzLiBKdXN0DQo+IHRoaW5raW5nIG91 dCBsb3VkIGhlcmUuLi4NCj4gDQo+ID4NCj4gPiA+ID4gPiB3ZSBjYW4gZ2V0IHRoZSA4IGJpdCBt YnVmIHBvb2wgaW5kZXggaW50byB0aGUgZmlyc3QgY2FjaGUgbGluZQ0KPiA+ID4gPiA+IGF0IG5v IGFkZGl0aW9uYWwgY29zdC4NCj4gPiA+ID4NCj4gPiA+ID4gSSBsaWtlIHRoZSBpZGVhLg0KPiA+ ID4gPiBJdCBtZWFucyB3ZSBkb24ndCBuZWVkIHRvIG1vdmUgdGhlIHBvb2wgcG9pbnRlciBub3cs IGkuZS4gaXQgZG9lcw0KPiA+ID4gPiBub3QgaGF2ZSB0byByZXBsYWNlIHRoZSB0aW1lc3RhbXAg ZmllbGQuDQo+ID4gPg0KPiA+ID4gQWdyZWVkISBEb24ndCBtb3ZlIG0tPnBvb2wgdG8gdGhlIGZp cnN0IGNhY2hlIGxpbmU7IGl0IGlzIG5vdCB1c2VkDQo+ID4gZm9yIFJYLg0KPiA+ID4NCj4gPiA+ ID4NCj4gPiA+ID4gPiBJbiBvdGhlciB3b3JkczogVGhpcyB3b3VsZCBmcmVlIHVwIGFub3RoZXIg NjQgYml0IGZpZWxkIGluIHRoZQ0KPiA+IG1idWYNCj4gPiA+ID4gc3RydWN0dXJlIQ0KPiA+ID4g Pg0KPiA+ID4gPiBUaGF0IHdvdWxkIGJlIGdyZWF0IQ0KPiA+ID4gPg0KPiA+ID4gPg0KPiA+ID4g PiA+IEFuZCBldmVuIHRob3VnaCB0aGUgbS0+bmV4dCBwb2ludGVyIGZvciBzY2F0dGVyZWQgcGFj a2V0cw0KPiA+ID4gPiA+IHJlc2lkZXMgaW4gdGhlIHNlY29uZCBjYWNoZSBsaW5lLCB0aGUgbGli cmFyaWVzIGFuZCBhcHBsaWNhdGlvbg0KPiA+ID4gPiA+IGtub3dzIHRoYXQgbS0+bmV4dCBpcyBO VUxMIHdoZW4gbS0+bmJfc2VncyBpcyAxLg0KPiA+ID4gPiA+IFRoaXMgcHJvdmVzIHRoYXQgbXkg c3VnZ2VzdGlvbiB3b3VsZCBtYWtlIHRvdWNoaW5nIHRoZSBzZWNvbmQNCj4gPiA+ID4gPiBjYWNo ZSBsaW5lIHVubmVjZXNzYXJ5IChpbiBzaW1wbGUgY2FzZXMpLCBldmVuIGZvcg0KPiA+ID4gPiA+ IHJlLWluaXRpYWxpemluZyB0aGUgbWJ1Zi4NCj4gPiA+ID4NCj4gPiA+ID4gU28geW91IHRoaW5r IHRoZSAibmV4dCIgcG9pbnRlciBzaG91bGQgc3RheSBpbiB0aGUgc2Vjb25kIGhhbGYgb2YNCj4g PiBtYnVmPw0KPiA+ID4gPg0KPiA+ID4gPiBJIGZlZWwgeW91IHdvdWxkIGxpa2UgdG8gbW92ZSB0 aGUgVHggb2ZmbG9hZHMgaW4gdGhlIGZpcnN0IGhhbGYgdG8NCj4gPiA+ID4gaW1wcm92ZSBwZXJm b3JtYW5jZSBvZiB2ZXJ5IHNpbXBsZSBhcHBzLg0KPiA+ID4NCj4gPiA+ICJWZXJ5IHNpbXBsZSBh cHBzIiBzb3VuZHMgbGlrZSBhIG1pbm9yaXR5IG9mIGFwcHMuIEkgd291bGQgcmF0aGVyDQo+ID4g PiBzYXkNCj4gPiAidmVyeSBzaW1wbGUgcGFja2V0IGhhbmRsaW5nIHNjZW5hcmlvcyIsIGUuZy4g Zm9yd2FyZGluZyBvZiBub3JtYWwNCj4gPiBzaXplIG5vbi1zZWdtZW50ZWQgcGFja2V0cy4gSSB3 b3VsZCBndWVzcyB0aGF0IHRoZSB2YXN0IG1ham9yaXR5IG9mDQo+ID4gcGFja2V0cyBoYW5kbGVk IGJ5IERQREsgYXBwbGljYXRpb25zIGFjdHVhbGx5IG1hdGNoIHRoaXMgc2NlbmFyaW8uIFNvDQo+ ID4gSSdtIHByb3Bvc2luZyB0byBvcHRpbWl6ZSBmb3Igd2hhdCBJIHRoaW5rIGlzIHRoZSBtb3N0 IGNvbW1vbiBzY2VuYXJpby4NCj4gPiA+DQo+ID4gPiBJZiBzZWdtZW50ZWQgcGFja2V0cyBhcmUg Y29tbW9uLCB0aGVuIG0tPm5leHQgY291bGQgYmUgbW92ZWQgdG8gdGhlDQo+ID4gZmlyc3QgY2Fj aGUgbGluZS4gQnV0IGl0IHdpbGwgb25seSBpbXByb3ZlIHRoZSBwdXJlIFJYIHN0ZXBzIG9mIHRo ZQ0KPiA+IHBpcGVsaW5lLiBXaGVuIHByZXBhcmluZyB0aGUgcGFja2V0IGZvciBUWCwgbS0+dHhf b2ZmbG9hZHMgd2lsbCBuZWVkDQo+ID4gdG8gYmUgc2V0LCBhbmQgdGhlIHNlY29uZCBjYWNoZSBs aW5lIGNvbWVzIGludG8gcGxheS4gU28gSSdtIHdvbmRlcmluZw0KPiA+IGhvdyBiaWcgdGhlIGJl bmVmaXQgb2YgaGF2aW5nIG0tPm5leHQgaW4gdGhlIGZpcnN0IGNhY2hlIGxpbmUgcmVhbGx5DQo+ ID4gaXMgLSBhc3N1bWluZyB0aGF0IG0tPm5iX3NlZ3Mgd2lsbCBiZSBjaGVja2VkIGJlZm9yZSBh Y2Nlc3NpbmcgbS0+bmV4dC4NCj4gPiA+DQo+ID4gPiA+IEkgYW0gdGhpbmtpbmcgdGhlIG9wcG9z aXRlOiB3ZSBjb3VsZCBoYXZlIHNvbWUgZHluYW1pYyBmaWVsZHMNCj4gPiA+ID4gc3BhY2UgaW4g dGhlIGZpcnN0IGhhbGYgdG8gaW1wcm92ZSBwZXJmb3JtYW5jZSBvZiBjb21wbGV4IFJ4Lg0KPiA+ ID4gPiBOb3RlOiB3ZSBjYW4gYWRkIGEgZmxhZyBoaW50IGZvciBmaWVsZCByZWdpc3RyYXRpb24g aW4gdGhpcyBmaXJzdA0KPiA+IGhhbGYuDQo+ID4gPiA+DQo+ID4gPg0KPiA+ID4gSSBoYXZlIGhh ZCB0aGUgc2FtZSB0aG91Z2h0cy4gSG93ZXZlciwgSSB3b3VsZCBwcmVmZXIgYmVpbmcgYWJsZSB0 bw0KPiA+IGZvcndhcmQgb3JkaW5hcnkgcGFja2V0cyB3aXRob3V0IHVzaW5nIHRoZSBzZWNvbmQg bWJ1ZiBjYWNoZSBsaW5lIGF0DQo+ID4gYWxsIChhbHRob3VnaCBvbmx5IGluIHNwZWNpZmljIHNj ZW5hcmlvcyBsaWtlIG15IGV4YW1wbGUgYWJvdmUpLg0KPiA+ID4NCj4gPiA+IEZ1cnRoZXJtb3Jl LCB0aGUgYXBwbGljYXRpb24gY2FuIGFidXNlIHRoZSA2NCBiaXQgbS0+dHhfb2ZmbG9hZA0KPiA+ ID4gZmllbGQNCj4gPiBmb3IgcHJpdmF0ZSBwdXJwb3NlcyB1bnRpbCBpdCBpcyB0aW1lIHRvIHBy ZXBhcmUgdGhlIHBhY2tldCBmb3IgVFggYW5kDQo+ID4gcGFzcyBpdCBvbiB0byB0aGUgZHJpdmVy LiBUaGlzIGhhY2sgc29tZXdoYXQgcmVzZW1ibGVzIGEgZHluYW1pYyBmaWVsZA0KPiA+IGluIHRo ZSBmaXJzdCBjYWNoZSBsaW5lLCBhbmQgd2lsbCBub3QgYmUgcG9zc2libGUgaWYgdGhlIG0tPnBv b2wgb3IgbS0NCj4gPiA+bmV4dCBmaWVsZCBpcyBtb3ZlZCB0aGVyZS4NCj4gPg0KPiA+DQo+ID4N Cg0K