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 CD75B46528; Mon, 7 Apr 2025 14:25:51 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6247E40156; Mon, 7 Apr 2025 14:25:51 +0200 (CEST) Received: from dkmailrelay1.smartsharesystems.com (smartserver.smartsharesystems.com [77.243.40.215]) by mails.dpdk.org (Postfix) with ESMTP id 1902040041 for ; Mon, 7 Apr 2025 14:25:50 +0200 (CEST) Received: from smartserver.smartsharesystems.com (smartserver.smartsharesys.local [192.168.4.10]) by dkmailrelay1.smartsharesystems.com (Postfix) with ESMTP id BD87C20748; Mon, 7 Apr 2025 14:25:49 +0200 (CEST) Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 Subject: RE: [PATCH v2 0/3] allow easier use of high lcore-ids X-MimeOLE: Produced By Microsoft Exchange V6.5 Date: Mon, 7 Apr 2025 14:25:46 +0200 Message-ID: <98CBD80474FA8B44BF855DF32C47DC35E9FB9E@smartserver.smartshare.dk> In-Reply-To: X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [PATCH v2 0/3] allow easier use of high lcore-ids Thread-Index: AduntCGPqQ2tSM58RnW00k6E3zV6GgAAHqNg References: <20250313113829.1480907-1-bruce.richardson@intel.com> <20250324173030.3733517-1-bruce.richardson@intel.com> <98CBD80474FA8B44BF855DF32C47DC35E9FB99@smartserver.smartshare.dk> <98CBD80474FA8B44BF855DF32C47DC35E9FB9A@smartserver.smartshare.dk> From: =?UTF-8?B?TW9ydGVuIEJyw7hydXA=?= To: "Bruce Richardson" Cc: "David Marchand" , 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 PiBGcm9tOiBCcnVjZSBSaWNoYXJkc29uIFttYWlsdG86YnJ1Y2UucmljaGFyZHNvbkBpbnRlbC5j b21dDQo+IFNlbnQ6IE1vbmRheSwgNyBBcHJpbCAyMDI1IDEzLjU2DQo+IA0KPiBPbiBNb24sIEFw ciAwNywgMjAyNSBhdCAwMTozMjo1OVBNICswMjAwLCBNb3J0ZW4gQnLDuHJ1cCB3cm90ZToNCj4g PiA+IEZyb206IEJydWNlIFJpY2hhcmRzb24gW21haWx0bzpicnVjZS5yaWNoYXJkc29uQGludGVs LmNvbV0NCj4gPiA+IFNlbnQ6IE1vbmRheSwgNyBBcHJpbCAyMDI1IDEyLjQxDQo+ID4gPg0KPiA+ ID4gT24gTW9uLCBBcHIgMDcsIDIwMjUgYXQgMTI6MTU6MTNQTSArMDIwMCwgTW9ydGVuIEJyw7hy dXAgd3JvdGU6DQo+ID4gPiA+ID4gRnJvbTogQnJ1Y2UgUmljaGFyZHNvbiBbbWFpbHRvOmJydWNl LnJpY2hhcmRzb25AaW50ZWwuY29tXQ0KPiBTZW50Og0KPiA+ID4gPiA+IE1vbmRheSwgNyBBcHJp bCAyMDI1IDExLjQ5DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBPbiBNb24sIEFwciAwNywgMjAyNSBh dCAwOTowNDowNUFNICswMjAwLCBEYXZpZCBNYXJjaGFuZCB3cm90ZToNCj4gPiA+ID4gPiA+IEhl bGxvIEJydWNlLA0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IE9uIFR1ZSwgQXByIDEsIDIwMjUg YXQgNDowOOKAr1BNIEJydWNlIFJpY2hhcmRzb24NCj4gPiA+ID4gPiA+IDxicnVjZS5yaWNoYXJk c29uQGludGVsLmNvbT4gd3JvdGU6DQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+IE9uIE1v biwgTWFyIDI0LCAyMDI1IGF0IDA1OjMwOjI2UE0gKzAwMDAsIEJydWNlIFJpY2hhcmRzb24NCj4g PiA+IHdyb3RlOg0KPiA+ID4gPiA+ID4gPiA+IFRyYWRpdGlvbmFsbHksIERQREsgaGFzIGhhZCBh IGRpcmVjdCBtYXBwaW5nIG9mIGludGVybmFsDQo+ID4gPiBsY29yZS0NCj4gPiA+ID4gPiBpZHMs IHRvDQo+ID4gPiA+ID4gPiA+ID4gdGhlIGFjdHVhbCBjb3JlIG51bWJlcnMgaW4gdXNlLiBXaXRo IGhpZ2hlciBjb3JlIGNvdW50DQo+ID4gPiBzZXJ2ZXJzDQo+ID4gPiA+ID4gYmVjb21pbmcNCj4g PiA+ID4gPiA+ID4gPiBtb3JlIHByZXZhbGVudCB0aGUgaXNzdWUgYmVjb21lcyBvbmUgb2YgaW5j cmVhc2luZyBtZW1vcnkNCj4gPiA+ID4gPiBmb290cHJpbnQgd2hlbg0KPiA+ID4gPiA+ID4gPiA+ IHVzaW5nIHN1Y2ggYSBzY2hlbWUsIGR1ZSB0byB0aGUgbmVlZCB0byBoYXZlIGFsbCBhcnJheXMN Cj4gPiA+ID4gPiBkaW1lbnNpb25lZCBmb3INCj4gPiA+ID4gPiA+ID4gPiBhbGwgY29yZXMgb24g dGhlIHN5c3RlbSwgd2hldGhlciBvciBub3QgdGhvc2UgY29yZXMgYXJlDQo+IGluDQo+ID4gPiB1 c2UgYnkNCj4gPiA+ID4gPiB0aGUNCj4gPiA+ID4gPiA+ID4gPiBhcHAuDQo+ID4gPiA+ID4gPiA+ ID4NCj4gPiA+ID4gPiA+ID4gPiBUaGVyZWZvcmUsIHRoZSBkZWNpc2lvbiB3YXMgbWFkZSBpbiB0 aGUgcGFzdCB0byBub3QNCj4gZXhwYW5kDQo+ID4gPiB0aGUNCj4gPiA+ID4gPiA+ID4gPiBidWls ZC10aW1lIFJURV9NQVhfTENPUkUgdmFsdWUgYmV5b25kIDEyOC4gSW5zdGVhZCwgaXQNCj4gd2Fz DQo+ID4gPiA+ID4gcmVjb21tZW5kZWQNCj4gPiA+ID4gPiA+ID4gPiB0aGF0IHVzZXJzIHVzZSB0 aGUgIi0tbGNvcmVzIiBFQUwgcGFyYW1ldGVyIHRvIHRha2UgdGhlDQo+IGhpZ2gtDQo+ID4gPiA+ ID4gbnVtYmVyZWQNCj4gPiA+ID4gPiA+ID4gPiBjb3JlcyB0aGV5IHdpc2ggdG8gdXNlIGFuZCBt YXAgdGhlbSB0byBsY29yZS1pZHMgd2l0aGluDQo+IHRoZSAwDQo+ID4gPiAtDQo+ID4gPiA+ID4g MTI4DQo+ID4gPiA+ID4gPiA+ID4gcmFuZ2UuIFdoaWxlIHRoaXMgd29ya3MsIHRoaXMgaXMgYSBs aXR0bGUgY2x1bmt5IGFzIGl0DQo+IG1lYW5zDQo+ID4gPiB0aGF0DQo+ID4gPiA+ID4gPiA+ID4g aW5zdGVhZCBvZiBqdXN0IHBhc3NpbmcsIGZvciBleGFtcGxlLCAiLWwgMTMwLTEzOSIsIHRoZQ0K PiB1c2VyDQo+ID4gPiBtdXN0DQo+ID4gPiA+ID4gPiA+ID4gaW5zdGVhZCBwYXNzICItLWxjb3Jl cyAwQDEzMCwxQDEzMSwyQDEzMiwzQDEzMywuLi4uIg0KPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ ID4gPiA+ID4gVGhpcyBwYXRjaHNldCBhdHRlbXB0cyB0byBzaW1wbGlmeSB0aGUgc2l0dWF0aW9u IGJ5DQo+IGFkZGluZyBhDQo+ID4gPiBuZXcNCj4gPiA+ID4gPiBmbGFnIHRvDQo+ID4gPiA+ID4g PiA+ID4gZG8gdGhpcyBtYXBwaW5nIGF1dG9tYXRpY2FsbHkuIFRvIHVzZSBjb3JlcyAxMzAtMTM5 IGFuZA0KPiBtYXANCj4gPiA+IHRoZW0NCj4gPiA+ID4gPiB0byBpZHMNCj4gPiA+ID4gPiA+ID4g PiAwLTkgaW50ZXJuYWxseSwgdGhlIEVBTCBhcmdzIG5vdyBiZWNvbWU6ICItbCAxMzAtMTM5IC0t DQo+IG1hcC0NCj4gPiA+IGxjb3JlLQ0KPiA+ID4gPiA+IGlkcyIsDQo+ID4gPiA+ID4gPiA+ID4g b3IgdXNpbmcgdGhlIHNob3J0ZXIgIi1NIiB2ZXJzaW9uIG9mIHRoZSBmbGFnOiAiLU1sIDEzMC0N Cj4gMTM5Ii4NCj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+IEFkZGluZyB0aGlzIG5l dyBwYXJhbWV0ZXIgcmVxdWlyZWQgc29tZSByZXdvcmsgb2YgdGhlDQo+ID4gPiBleGlzdGluZw0K PiA+ID4gPiA+IGFyZw0KPiA+ID4gPiA+ID4gPiA+IHBhcnNpbmcgY29kZSwgYmVjYXVzZSBpbiBj dXJyZW50IERQREsgdGhlIGFyZ3MgYXJlIHBhcnNlZA0KPiBhbmQNCj4gPiA+ID4gPiBjaGVja2Vk IGluDQo+ID4gPiA+ID4gPiA+ID4gdGhlIG9yZGVyIHRoZXkgYXBwZWFyIG9uIHRoZSBjb21tYW5k bGluZS4gVGhpcyBtZWFucyB0aGF0DQo+ID4gPiB1c2luZw0KPiA+ID4gPiA+IHRoZQ0KPiA+ID4g PiA+ID4gPiA+IGV4YW1wbGUgYWJvdmUsIHRoZSBjb3JlIHBhcmFtZXRlciAxMzAtMTM5IHdpbGwg YmUNCj4gcmVqZWN0ZWQNCj4gPiA+ID4gPiBpbW1lZGlhdGVseQ0KPiA+ID4gPiA+ID4gPiA+IGJl Zm9yZSB0aGUgIm1hcC1sY29yZS1pZHMiIHBhcmFtZXRlciBpcyBzZWVuLiBUbyB3b3JrDQo+IGFy b3VuZA0KPiA+ID4gPiA+IHRoaXMsIHRoZQ0KPiA+ID4gPiA+ID4gPiA+IGNvcmUgKGFuZCBzZXJ2 aWNlIGNvcmUpIHBhcmFtZXRlcnMgYXJlIG5vdCBwYXJzZWQgd2hlbg0KPiBzZWVuLA0KPiA+ID4g PiA+IGluc3RlYWQNCj4gPiA+ID4gPiA+ID4gPiB0aGV5IGFyZSBvbmx5IHNhdmVkIG9mZiBhbmQg cGFyc2VkIGFmdGVyIGFsbCBhcmd1bWVudHMNCj4gYXJlDQo+ID4gPiA+ID4gcGFyc2VkLiBUaGUN Cj4gPiA+ID4gPiA+ID4gPiAiLWwiIGFuZCAiLWMiIHBhcmFtZXRlcnMgYXJlIGNvbnZlcnRlZCBp bnRvICItLWxjb3JlcyINCj4gPiA+IGFyZ3VtZW50cywNCj4gPiA+ID4gPiBzbyBhbGwNCj4gPiA+ ID4gPiA+ID4gPiBhc3NpZ25pbmcgb2YgbGNvcmUgaWRzIGlzIGRvbmUgdGhlcmUgaW4gYWxsIGNh c2VzLg0KPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gUkZDLT52MjogKiBjb252ZXJ0 ZWQgcHJpbnRmIHRvIERFQlVHIGxvZyAqIGFkZGVkICItTSIgYXMNCj4gPiA+IHNob3J0ZXINCj4g PiA+ID4gPiA+ID4gPiB2ZXJzaW9uIG9mIGZsYWcgKiBhZGRlZCBkb2N1bWVudGF0aW9uICogcmVu YW1lZCBpbnRlcm5hbA0KPiBBUEkNCj4gPiA+IHRoYXQNCj4gPiA+ID4gPiA+ID4gPiB3YXMgY2hh bmdlZCB0byBhdm9pZCBhbnkgcG90ZW50aWFsDQo+ID4gPiA+ID4gaGlkZGVuDQo+ID4gPiA+ID4g PiA+ID4gICBydW50aW1lIGlzc3Vlcy4NCj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ IEJydWNlIFJpY2hhcmRzb24gKDMpOiBlYWw6IGNlbnRyYWxpemUgY29yZSBwYXJhbWV0ZXINCj4g cGFyc2luZw0KPiA+ID4gZWFsOg0KPiA+ID4gPiA+ID4gPiA+IGNvbnZlcnQgY29yZSBtYXNrcyBh bmQgbGlzdHMgdG8gY29yZSBzZXRzIGVhbDogYWxsb3cNCj4gPiA+IGF1dG9tYXRpYw0KPiA+ID4g PiA+ID4gPiA+IG1hcHBpbmcgb2YgaGlnaCBsY29yZSBpZHMNCj4gPiA+ID4gPiA+ID4gPg0KPiA+ ID4gPiA+ID4gPiBQaW5nIGZvciByZXZpZXcuDQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ IEF0IGEgaGlnaCBsZXZlbCwgZG9lcyB0aGlzIGZlYXR1cmUgc2VlbSB1c2VmdWwgdG8gdXNlcnM/ DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gVGhpcyBzZWVtcyB1c2VmdWwsIHRob3VnaCBJIGFt IG5vdCBJIHdvdWxkIHRvdWNoIHRoZSBleGlzdGluZw0KPiA+ID4gPiA+IG9wdGlvbnMuDQo+ID4g PiA+ID4gPiBJIHdvdWxkIGhhdmUgZ29uZSB3aXRoIGEgc2ltcGxlIC1MIG9wdGlvbiAodGFraW5n IHRoZSBzYW1lDQo+IGtpbmQNCj4gPiA+IG9mDQo+ID4gPiA+ID4gPiBpbnB1dCB0aGFuIC1sIGJ1 dCB3aXRoIG5ldyBiZWhhdmlvciksIGFuZCBub3QgY29tYmluZSBhIGZsYWcNCj4gd2l0aA0KPiA+ ID4gPiA+ID4gZXhpc3Rpbmcgb3B0aW9ucy4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4NCj4gPiA+ ID4gPiBUaGF0IHdvdWxkIGJlIGFuIGVhc2llciBwYXRjaHNldCB0byBkbyB1cC4gSG93ZXZlciwg aXQgd291bGQNCj4gdGhlbg0KPiA+ID4gbWVhbg0KPiA+ID4gPiA+IHRoYXQgd2UgaGF2ZSBubyBs ZXNzIHRoYW4gNCBkaWZmZXJlbnQgd2F5cyB0byBzcGVjaWZ5IHRoZSBjb3Jlcw0KPiB0bw0KPiA+ ID4gdXNlOg0KPiA+ID4gPiA+ICItIGMiLCAiLWwiLCAiLUwiLCAiLS1sY29yZXMiIC0gYW5kIHRo ZXJlZm9yZSBuZWVkIDQgZGlmZmVyZW50DQo+IHNldHMNCj4gPiA+IG9mDQo+ID4gPiA+ID4gcGFy c2luZyBvcHRpb25zIGZvciB0aGVtLCBhbmQgbW9yZSBjaGVja3MgdG8gZW5zdXJlIHdlIGhhdmUN Cj4gb25seQ0KPiA+ID4gb25lIG9mDQo+ID4gPiA+ID4gdGhlIDQgc3BlY2lmaWVkIGluIGFueSBy dW4uIFRoYXQncyB3aHkgSSBjaG9zZSB0aGUgbW9kaWZpZXINCj4gb3B0aW9uLA0KPiA+ID4gYW5k DQo+ID4gPiA+ID4gdG8gdHJ5IGFuZCBjb25zb2xpZGF0ZSB0aGUgY29yZSBzZXR1cCBhIGJpdC4N Cj4gPiA+ID4gPg0KPiA+ID4gPiA+IEhvd2V2ZXIsIGlmIGhhdmluZyBhIGNvbXBsZXRlbHkgbmV3 IG9wdGlvbiBpcyBwcmVmZXJyZWQsIEkgYW0NCj4gaGFwcHkNCj4gPiA+ID4gPiBlbm91Z2ggdG8g ZG8gdXAgYSBkaWZmZXJlbnQgcGF0Y2hzZXQgZm9yIHRoYXQuDQo+ID4gPiA+ID4NCj4gPiA+ID4g PiA+IEkgc2Nhbm5lZCB0aHJvdWdoIHRoZSBzZXJpZXMsIG5vdCBtdWNoIHRvIHNheS4gIE1heWJl IGFkZCBhDQo+IHVuaXQNCj4gPiA+IHRlc3QNCj4gPiA+ID4gPiA+IGZvciBuZXcgY21kbGluZSBv cHRpb24uDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+IFN1cmUuIE9uY2UgaXQncyBkZWNpZGVkIHdo YXQgYXBwcm9hY2ggKGlmIGFueSkgdG8gdGFrZSwgSSdsbCBkbw0KPiB1cA0KPiA+ID4gYQ0KPiA+ ID4gPiA+IG5ldyBwYXRjaHNldCwgdGFraW5nIGludG8gYWNjb3VudCBhbnkgcmVsZXZhbnQgZmVl ZGJhY2sgb24gdGhpcw0KPiA+ID4gc2V0Lg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gL0JydWNlDQo+ ID4gPiA+DQo+ID4gPiA+IENoYW5naW5nIHRoZSBFQUwgcGFyYW1ldGVyIHBhcnNlciB0byBhICJ0 d28gcGFzcyBwYXJzZXIiIG1ha2VzDQo+IHNlbnNlLg0KPiA+ID4gSQ0KPiA+ID4gPiB0aGluayBj aGVja2luZyBmb3IgZXhpc3RlbmNlIG9mIG1vcmUgdGhhbiBvbmUgbGNvcmUgc3BlY2lmaWNhdGlv bg0KPiA+ID4gb3B0aW9ucw0KPiA+ID4gPiBzaG91bGQgc3VmZmljZTsgd2UgZG9uJ3QgbmVlZCB0 byBhY2NlcHQgbXVsdGlwbGUgbGNvcmUNCj4gc3BlY2lmaWNhdGlvbg0KPiA+ID4gPiBvcHRpb25z IGFuZCBjaGVjayBmb3IgY29uZmxpY3RzLg0KPiA+ID4gPg0KPiA+ID4gPiBXaGVuIHJlbWFwcGlu ZywgZG8gd2UgbmVlZCB0byBzdXBwb3J0IGdhcHMgaW4gdGhlICJsY29yZSINCj4gKGxvZ2ljYWwN Cj4gPiA+IGNvcmVzKQ0KPiA+ID4gPiBhcnJheSwgZS5nLiBmb3Igc2Vjb25kYXJ5IHByb2Nlc3Nl cywgb3IgY2FuIGl0IGJlIGNvbnRpbnVvdXMgZnJvbQ0KPiAwDQo+ID4gPiB0bw0KPiA+ID4gPiB0 aGUgbnVtYmVyIG9mIHNwZWNpZmllZCBsY29yZXM/DQo+ID4gPiA+DQo+ID4gPiA+IEFuZCBhcmUg bmV3IEVBTCBwYXJhbWV0ZXJzIGZvciB0aGlzIHJlYWxseSBiZW5lZmljaWFsPyAgRG9lc24ndA0K PiBlLmcuDQo+ID4gPiAiLWwNCj4gPiA+ID4gMC05QDEzMC0xMzksMTAwQDE0MCIgc3VmZmljZT8N Cj4gPiA+ID4NCj4gPiA+IEFjdHVhbGx5LCBJIGJlbGlldmUgIjAtOUAxMzAtMTM5IlsxXSAgaXMg bm90IHRoZSBzYW1lIGFzDQo+ID4gPiAiMEAxMzAsMUAxMzEsMkAxMzIsLi4uIi4gVGhlIGxhdHRl ciBhZmZpbml0aWVzIG9uZSB0aHJlYWQgdG8gb25lDQo+IGNvcmUNCj4gPiA+IHRlbg0KPiA+ID4g dGltZXMgb3Zlciwgd2hpbGUgdGhlIGZvcm1lciBhZmZpbml0aXplcyAxMCB0aHJlYWRzIHRvIDEw IGNvcmVzIC0NCj4gPiA+IGxlYXZpbmcNCj4gPiA+IHRob3NlIHRocmVhZHMgZnJlZSB0byBtb3Zl IGFib3V0IHdpdGhpbiB0aGUgMTAgY29yZXMgc3BlY2lmaWVkLg0KPiA+DQo+ID4gSW50ZXJlc3Rp bmcuIFRoZSBkb2N1bWVudGF0aW9uIFtHU0ddIGlzbid0IGNsZWFyIHRvIG1lIGFib3V0IHRoaXM7 IGENCj4gZXhhbXBsZSB0aGVyZSBjb3VsZCBoZWxwIGNsYXJpZnkuDQo+ID4NCj4gPiBbR1NHXToN Cj4gaHR0cHM6Ly9kb2MuZHBkay5vcmcvZ3VpZGVzL2xpbnV4X2dzZy9saW51eF9lYWxfcGFyYW1l dGVycy5odG1sI2xjb3JlLQ0KPiByZWxhdGVkLW9wdGlvbnMNCj4gPg0KPiANCj4gWWVwLCBhZ3Jl ZWQuDQo+IA0KPiA+IElmIHVzZXJzIGFyZSBtYW51YWxseSBwYXNzaW5nIGxjb3JlIHBhcmFtZXRl cnMgdG8gdGhlIEVBTCwgdGhlbiBJIHNlZQ0KPiB3aHkgc29tZSBzb3J0IG9mIHJlbWFwcGluZyBz aG9ydGhhbmQgaXMgdXNlZnVsLg0KPiA+IElNTywgaWYgdGhlIG1hcHBpbmdzIGFyZSByZWxhdGl2 ZWx5IGV4b3RpYywgaXQgc2hvdWxkIGJlIGFjY2VwdGFibGUNCj4gcmVxdWlyaW5nIGFuIGV4dGVy bmFsIHNjcmlwdCB0byBidWlsZCBhIGxvbmcgbGlzdCBvZiBtYXBwaW5nIHBhcmFtZXRlcnMNCj4g YW5kIHRoZW4gaW52b2tlIHRoZSBhcHBsaWNhdGlvbiB3aXRoIHRob3NlIHNjcmlwdC1nZW5lcmF0 ZWQgRUFMDQo+IHBhcmFtZXRlcnMuDQo+ID4gVGhpcyB3b3VsZCByZWR1Y2UgdGhlIHNjb3BlIHRv IHN1cHBvcnQgcmVsYXRpdmVseSBzaW1wbGUsIGNvbW1vbg0KPiBtYXBwaW5ncy4NCj4gPg0KPiA+ IENvdWxkIHdlIGV4cGFuZCB0aGUgLS1sY29yZXMgc3ludGF4IHRvIHN1cHBvcnQgY29tbW9uIG1h cHBpbmdzPw0KPiA+DQo+ID4gRS5nLiAiMC05QDEzMCsiIHRvIGRvIHdoYXQgSSB0aG91Z2h0Lg0K PiA+IFRoZSBsYWNrIG9mICIoKSIgdHJlYXRzIHRoZSBlbnRyaWVzIGluZGl2aWR1YWxseSAobm90 IGFzIGEgZ3JvdXApLA0KPiBhbmQgdGhlICIrIiBpbmRpY2F0ZXMgYXV0by1pbmNyZW1lbnQuDQo+ ID4NCj4gPiBBIG1vcmUgYWR2YW5jZWQgZXhhbXBsZToNCj4gPiAiMC05QCgxMzAtMTMxKSsiLCBt ZWFuaW5nIGxjb3JlIDAgZ2V0cyBjcHVzIDEzMC0xMzEsIGxjb3JlIDEgZ2V0cw0KPiBjcHVzIDEz Mi0xMzMsIGV0Yy4NCj4gPg0KPiANCj4gTXkgaXNzdWVzIHdpdGggdGhlIGFib3ZlIHN5bnRheCBp ZGVhIGlzOg0KPiAqIEkgdGhpbmsgaXQncyBvdmVybHkgY29tcGxpY2F0aW5nIHRoZSBsY29yZXMg cGFyYW1ldGVyIGFkZGluZyBpbiB0aGUNCj4gICBzdXBwb3J0IGZvciB0aGUgIisiIHN5bWJvbCAt IGVzcGVjaWFsbHkgaW4gdGhlIGFkdmFuY2VkIGNhc2UgZXhhbXBsZQ0KPiB5b3UNCj4gICBwcm92 aWRlLiBJIHdvcnJ5IGFib3V0IGNvZGUgbWFpbnRhaW5hYmlsaXR5IGhlcmUuDQo+ICogTW9yZSBz aWduaWZpY2FudGx5IGZvciBtZSwgSSB0aGluayBpdCdzIGFsc28gZ2V0dGluZyB0aGluZ3MgYmFj a3dhcmRzDQo+IGluDQo+ICAgdGhhdCBpdCBpcyBmb2N1c2luZyBtb3JlIG9uIHRoZSBsY29yZSBp ZHMgdmlzaWJsZSB0byB0aGUgYXBwLCByYXRoZXINCj4gdGhhbg0KPiAgIHRoZSBwaHlzaWNhbCBj b3JlcyB0byBiZSB1c2VkLiBGb3IgdGhlIGV4YW1wbGUgYWJvdmUgb2YgMC05QDEzMCssDQo+IHdo YXQgSQ0KPiAgIHdvdWxkIGV4cGVjdCBpcyB0aGF0IHRoZSB1c2VyIGlzIG1haW5seSB0aGlua2lu ZyBhYm91dCB0aGUgY29yZXMgaGUNCj4gd2FudHMNCj4gICB0byB1c2UgMTMwLTEzOSwgd2hpY2gg YXJlIHRoZW4gdG8gYmUgbWFwcGVkIHRvIGxvd2VyIGlkcy4gSWYgd2UgaGFkDQo+IHRoZQ0KPiAg IHN5bnRheCByZXZlcnNlZCB3aGVyZSB0aGUgcGh5c2ljYWwgY29yZXMgd2VyZSBmaXJzdCwgSSdk IHNheSBpdCB3b3VsZA0KPiAgIG1ha2UgbW9yZSBzZW5zZSwgZS5nLiAxMzAtMTM5QDArDQoNCkkg MTAwICUgYWdyZWUgb24gdGhlIHN5bnRheCBiZWluZyBiYWNrd2FyZHMuDQpBIGdvb2QgcmVhc29u IGZvciBpbnRyb2R1Y2luZyBhIG5ldyBwYXJhbWV0ZXIsIHJhdGhlciB0aGFuIGV4cGFuZGluZyBv biAiLS1sY29yZXMiLg0KDQpXZSBzaG91bGQgY29uc2lkZXIgZGVwcmVjYXRpbmcgdGhlIG9sZCAo YmFja3dhcmRzKSBzeW50YXgsIHNvIHVzZXJzIGRvbuKAmXQgZ2V0IGNvbmZ1c2VkIGFib3V0IG9u ZSBFQUwgcGFyYW1ldGVyIGJlaW5nICJiYWNrd2FyZHMiIG9mIHRoZSBvdGhlci4NCg0KPiAqIGZp bmFsbHksIGFzIEkgZm91bmQgb3V0IGxhc3QgbW9udGgsIHRoZXJlIGFyZSBzeXN0ZW1zIG9uIHdo aWNoIHRoZQ0KPiBjb3Jlcw0KPiAgIGFyZSBzcHJlYWQgYWNyb3NzIG51bWEtbm9kZXMgb24gb2Rk L2V2ZW4gYm91bmRhcmllcywgc28gdG8gaGF2ZSBhbg0KPiBhcHANCj4gICBydW5uaW5nIG9uIHNv Y2tldCAwLCB5b3UgbmVlZCB0byBnaXZlIHRoZSBjb3JlIGlkcyBhcyBhIGxpc3QgaS5lLg0KPiAg IDAsMiw0LDYsIGFuZCBjYW5ub3QgdXNlIHJhbmdlcy4gW1RoaXMgYWxzbyByZWVuZm9yY2VzIHRo ZSBwb2ludCBhYm92ZQ0KPiAgIHRvbywgd2hlcmUgYWdhaW4gaXQncyB0aGUgaW50ZXJuYWwgaWRz IHdlIG5lZWQgdG8gZ2VuZXJhbGl6ZSwgbm90IHRoZQ0KPiAgIHBoeXNpY2FsIGNwdXNdDQoNCkZv ciB0aGlzLCB3ZSBjb3VsZCB1c2UgIi8yIiAobGlrZSBpbiBzdWJuZXRzKSwgb3IgIisyIiBhcyBp bmNyZW1lbnQgcGFyYW1ldGVyLg0KDQo+IA0KPiBNeSB0aGlua2luZyBvbiB0aGUgbWF0dGVyLCBh bmQgSSdtIGhhcHB5IHRvIGJlIGNvcnJlY3RlZCBpZiBJJ20gd3JvbmcNCj4gaGVyZSwNCj4gaXMg dGhhdCBlbmQtdXNlcnMgYXJlIHVubGlrZWx5IHRvIHNpZ25pZmljYW50bHkgY2FyZSB3aGF0IHRo ZSBhY3R1YWwNCj4gbGNvcmUNCj4gaWRzIGFyZSBpbnRlcm5hbGx5IGluIHRoZSBwcm9ncmFtLCBz byBsb25nIGFzIHRoZXkgd29yayBhbmQgYXJlIHVuaXF1ZS4NCg0KR2VuZXJhbGx5IHllcy4NCk5v dGUgdGhhdCB3ZSBzaG91bGQgYWxsb3cgdGhlIHNhbWUgcGh5c2ljYWwgQ1BVIGNvcmUgdG8gYmUg YXNzaWduZWQgdG8gbXVsdGlwbGUgbGNvcmVzLi4uDQpJZiBhIENQVSBjb3JlIGlzIHNoYXJlZCBi ZXR3ZWVuIG11bHRpcGxlIHdvcmtlciBsY29yZXMsIHRoZW4gaXQgY291bGQgYmUgcHJvYmxlbWF0 aWMsIGJ1dCB3aXRoIGEgbWl4IG9mIGxjb3JlIHJvbGVzLCB0aGlzIG1pZ2h0IGJlIGhhbmR5IGZv ciBzb21lIGFwcGxpY2F0aW9ucy4gRS5nLiBhIHZpcnR1YWwgbWFjaGluZSB3aXRoIG9ubHkgb25l IENQVSBjb3JlIGNvdWxkIHVzZSB0aGF0IHNpbmdsZSBDUFUgY29yZSBhcyBib3RoIG1haW4gYW5k IHdvcmtlciBsY29yZSwgb3IgYXMgbWFpbiBhbmQgc2VydmljZSBsY29yZS4NClNoYXJpbmcgYW4g bGNvcmUgYmV0d2VlbiB0aHJlYWRzIHJlcXVpcmVzIHRoZSBkZXZlbG9wZXIgdG8gdGFrZSBzcGVj aWFsIGNhcmUgb2YgZS5nLiBzcGlubG9ja3MsIGJ1dCB0aGUgRUFMIHBhcmFtZXRlciBwYXJzZXIg c2hvdWxkIG5vdCBwcm9oaWJpdCBpdC4gSXQgbWlnaHQgbG9nIGEgbm90aWNlLCB0aG91Z2guDQoN Cj4gV2hhdCBkb2VzIG1hdHRlciBpcyB0aGUgcGh5c2ljYWwgY3B1cyBvbiB3aGljaCB0aGUgY29k ZSBpcyB0byBydW4uDQo+IFRoZXJlZm9yZSwgbXkgYXBwcm9hY2ggdG8gdGhpcyBpcyB0byBmaW5k IHRoZSBzaW1wbGVzdCBwb3NzaWJsZQ0KPiBzb2x1dGlvbg0KPiB3aGVyZWJ5IHRoZSB1c2VyIGNh biBqdXN0IHByb3ZpZGUgYSBsaXN0IG9mIGNvcmVzIGFuZCB0ZWxsIEVBTCB0byBqdXN0DQo+IG1h cA0KPiB0aGVtIHRvIHJlYXNvbmFibGUgdmFsdWVzLiBGb3IgdGhlICJyZWFzb25hYmxlIiB2YWx1 ZXMsIEkgd291bGQgaW1hZ2luZQ0KPiB0aGF0IGZvciB0aGUgdmFzdCBtYWpvcml0eSBvZiBjYXNl cyBzdGFydGluZyAiMCIgaXMgd2hhdCBpcyB3YW50ZWQuIEZvcg0KPiBhbnl0aGluZyBiZXlvbmQg dGhhdCwgd2UgYWxyZWFkeSBoYXZlIHRoZSBleGlzdGluZyAtLWxjb3JlcyBzeW50YXggdG8NCj4g YmUNCj4gdXNlZC4NCg0KQWdyZWUgd2l0aCBhbGwgb2YgdGhlIGFib3ZlLiA6LSkNCg0KPiANCj4g TXkgMmMuDQo+IA0KPiAvQnJ1Y2UNCg==