From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smartserver.smartsharesystems.com (smartserver.smartsharesystems.com [77.243.40.215]) by dpdk.org (Postfix) with ESMTP id B176B2E8B for ; Wed, 12 Jul 2017 11:50:40 +0200 (CEST) X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Date: Wed, 12 Jul 2017 11:50:38 +0200 Message-ID: <98CBD80474FA8B44BF855DF32C47DC359EB28F@smartserver.smartshare.dk> In-Reply-To: X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [dpdk-dev] [PATCH v2 6/8] mbuf: use 2 bytes for port andnbsegments Thread-Index: AQHS+uAQ7QuKh0MM2kuml7DlGGNAbqJP5H4ggAAL1CA= References: <1488966121-22853-1-git-send-email-olivier.matz@6wind.com> <130C769A-180F-4C74-A974-EA51E7FAD1EC@intel.com> <98CBD80474FA8B44BF855DF32C47DC359EB27E@smartserver.smartshare.dk> <53564501.0VCaTE2lYi@xps> <98CBD80474FA8B44BF855DF32C47DC359EB285@smartserver.smartshare.dk> <98CBD80474FA8B44BF855DF32C47DC359EB28A@smartserver.smartshare.dk> From: =?utf-8?B?TW9ydGVuIEJyw7hydXA=?= To: "Yang, Zhiyong" , "Wiles, Keith" Cc: "Thomas Monjalon" , "DPDK" , "Olivier Matz" , "Wang, Zhihong" , "Yuanhan Liu" , "Ananyev, Konstantin" , "Richardson, Bruce" , "Chilikin, Andrey" , "Jan Blunck" , =?utf-8?B?TsOpbGlvIExhcmFuamVpcm8=?= , , Subject: Re: [dpdk-dev] [PATCH v2 6/8] mbuf: use 2 bytes for port andnbsegments 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: , X-List-Received-Date: Wed, 12 Jul 2017 09:50:41 -0000 PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBZYW5nLCBaaGl5b25nIFttYWls dG86emhpeW9uZy55YW5nQGludGVsLmNvbV0NCj4gU2VudDogV2VkbmVzZGF5LCBKdWx5IDEyLCAy MDE3IDExOjAyIEFNDQo+IFRvOiBNb3J0ZW4gQnLDuHJ1cDsgV2lsZXMsIEtlaXRoDQo+IENjOiBU aG9tYXMgTW9uamFsb247IERQREs7IE9saXZpZXIgTWF0ejsgV2FuZywgWmhpaG9uZzsgWXVhbmhh biBMaXU7DQo+IEFuYW55ZXYsIEtvbnN0YW50aW47IFJpY2hhcmRzb24sIEJydWNlOyBDaGlsaWtp biwgQW5kcmV5OyBKYW4gQmx1bmNrOw0KPiBOw6lsaW8gTGFyYW5qZWlybzsgYXJ5YmNoZW5rb0Bz b2xhcmZsYXJlLmNvbTsNCj4gamVyaW4uamFjb2JAY2F2aXVtbmV0d29ya3MuY29tDQo+IFN1Ympl Y3Q6IFJFOiBbZHBkay1kZXZdIFtQQVRDSCB2MiA2LzhdIG1idWY6IHVzZSAyIGJ5dGVzIGZvciBw b3J0DQo+IGFuZG5ic2VnbWVudHMNCj4gDQo+IA0KPiANCj4gPiAtLS0tLU9yaWdpbmFsIE1lc3Nh Z2UtLS0tLQ0KPiA+IEZyb206IGRldiBbbWFpbHRvOmRldi1ib3VuY2VzQGRwZGsub3JnXSBPbiBC ZWhhbGYgT2YgTW9ydGVuIEJyw7hydXANCj4gPiBTZW50OiBXZWRuZXNkYXksIEp1bHkgMTIsIDIw MTcgMzoyNSBQTQ0KPiA+IFRvOiBXaWxlcywgS2VpdGggPGtlaXRoLndpbGVzQGludGVsLmNvbT4N Cj4gPiBDYzogVGhvbWFzIE1vbmphbG9uIDx0aG9tYXNAbW9uamFsb24ubmV0PjsgRFBESyA8ZGV2 QGRwZGsub3JnPjsNCj4gPiBPbGl2aWVyIE1hdHogPG9saXZpZXIubWF0ekA2d2luZC5jb20+OyBX YW5nLCBaaGlob25nDQo+ID4gPHpoaWhvbmcud2FuZ0BpbnRlbC5jb20+OyBZdWFuaGFuIExpdSA8 eXVhbmhhbi5saXVAbGludXguaW50ZWwuY29tPjsNCj4gPiBBbmFueWV2LCBLb25zdGFudGluIDxr b25zdGFudGluLmFuYW55ZXZAaW50ZWwuY29tPjsgUmljaGFyZHNvbiwgQnJ1Y2UNCj4gPiA8YnJ1 Y2UucmljaGFyZHNvbkBpbnRlbC5jb20+OyBDaGlsaWtpbiwgQW5kcmV5DQo+ID4gPGFuZHJleS5j aGlsaWtpbkBpbnRlbC5jb20+OyBKYW4gQmx1bmNrIDxqYmx1bmNrQGluZnJhZGVhZC5vcmc+Ow0K PiBOw6lsaW8NCj4gPiBMYXJhbmplaXJvIDxuZWxpby5sYXJhbmplaXJvQDZ3aW5kLmNvbT47IGFy eWJjaGVua29Ac29sYXJmbGFyZS5jb207DQo+ID4gamVyaW4uamFjb2JAY2F2aXVtbmV0d29ya3Mu Y29tDQo+ID4gU3ViamVjdDogUmU6IFtkcGRrLWRldl0gW1BBVENIIHYyIDYvOF0gbWJ1ZjogdXNl IDIgYnl0ZXMgZm9yIHBvcnQgYW5kDQo+ID4gbmJzZWdtZW50cw0KPiA+DQo+ID4gPiAtLS0tLU9y aWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gRnJvbTogZGV2IFttYWlsdG86ZGV2LWJvdW5jZXNA ZHBkay5vcmddIE9uIEJlaGFsZiBPZiBXaWxlcywgS2VpdGgNCj4gPiA+IFNlbnQ6IFR1ZXNkYXks IEp1bHkgMTEsIDIwMTcgNjo0OCBQTQ0KPiA+ID4gVG86IE1vcnRlbiBCcsO4cnVwDQo+ID4gPiBD YzogVGhvbWFzIE1vbmphbG9uOyBEUERLOyBPbGl2aWVyIE1hdHo7IFdhbmcsIFpoaWhvbmc7IFl1 YW5oYW4NCj4gTGl1Ow0KPiA+ID4gQW5hbnlldiwgS29uc3RhbnRpbjsgUmljaGFyZHNvbiwgQnJ1 Y2U7IENoaWxpa2luLCBBbmRyZXk7IEphbg0KPiA+ID4gQmx1bmNrOyBOw6lsaW8gTGFyYW5qZWly bzsgYXJ5YmNoZW5rb0Bzb2xhcmZsYXJlLmNvbTsNCj4gPiA+IGplcmluLmphY29iQGNhdml1bW5l dHdvcmtzLmNvbQ0KPiA+ID4gU3ViamVjdDogUmU6IFtkcGRrLWRldl0gW1BBVENIIHYyIDYvOF0g bWJ1ZjogdXNlIDIgYnl0ZXMgZm9yIHBvcnQNCj4gPiA+IGFuZCBuYnNlZ21lbnRzDQo+ID4gPg0K PiA+ID4NCj4gPiA+ID4gT24gSnVsIDExLCAyMDE3LCBhdCAxMDoyMyBBTSwgTW9ydGVuIEJyw7hy dXANCj4gPiA+IDxtYkBzbWFydHNoYXJlc3lzdGVtcy5jb20+IHdyb3RlOg0KPiA+ID4gPg0KPiA+ ID4gPj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ID4+IEZyb206IGRldiBbbWFp bHRvOmRldi1ib3VuY2VzQGRwZGsub3JnXSBPbiBCZWhhbGYgT2YgVGhvbWFzDQo+ID4gPiA+PiBN b25qYWxvbg0KPiA+ID4gPj4gU2VudDogVHVlc2RheSwgSnVseSAxMSwgMjAxNyA1OjA2IFBNDQo+ ID4gPiA+PiBUbzogTW9ydGVuIEJyw7hydXANCj4gPiA+ID4+IENjOiBkZXZAZHBkay5vcmc7IFdp bGVzLCBLZWl0aDsgT2xpdmllciBNYXR6OyBXYW5nLCBaaGlob25nOw0KPiA+ID4gPj4gWXVhbmhh biBMaXU7IEFuYW55ZXYsIEtvbnN0YW50aW47IFJpY2hhcmRzb24sIEJydWNlOyBDaGlsaWtpbiwN Cj4gPiA+ID4+IEFuZHJleTsgSmFuIEJsdW5jazsgbmVsaW8ubGFyYW5qZWlyb0A2d2luZC5jb207 DQo+ID4gPiA+PiBhcnliY2hlbmtvQHNvbGFyZmxhcmUuY29tOyBqZXJpbi5qYWNvYkBjYXZpdW1u ZXR3b3Jrcy5jb20NCj4gPiA+ID4+IFN1YmplY3Q6IFJlOiBbZHBkay1kZXZdIFtQQVRDSCB2MiA2 LzhdIG1idWY6IHVzZSAyIGJ5dGVzIGZvcg0KPiBwb3J0DQo+ID4gPiBhbmQNCj4gPiA+ID4+IG5i c2VnbWVudHMNCj4gPiA+ID4+DQo+ID4gPiA+PiAxMS8wNy8yMDE3IDE1OjMwLCBNb3J0ZW4gQnLD uHJ1cDoNCj4gPiA+ID4+PiBNb3J0ZW4gQnLDuHJ1cCB3cm90ZToNCj4gPiA+ID4+Pj4gT2xpdmll ciBNYXR6IHdyb3RlOg0KPiA+ID4gPj4+Pj4gQXMgSSBzYWlkIGluIGEgcHJldmlvdXMgbWVzc2Fn ZSwgSSB0aGluayBhIGdvb2QgZmlyc3Qgc3RlcA0KPiA+ID4gPj4+Pj4gd291bGQgYmUgdG8gaW50 cm9kdWNlIGEgdHlwZWRlZiBmb3IgdGhlIHBvcnQgbnVtYmVyOg0KPiA+ID4gPj4gcnRlX2V0aF9w b3J0X251bV90Lg0KPiA+ID4gPj4+Pj4gSXQgY2FuIHN0aWxsIGJlIHVpbnQ4X3QgZm9yIG5vdywg YW5kIGNhbiBiZSBzd2l0Y2hlZCB0byAxNg0KPiA+ID4gPj4+Pj4gYml0cw0KPiA+ID4gPj4gaW4N Cj4gPiA+ID4+Pj4+IG9uZSBzdGVwIHdoZW4gZXZlcnlvbmUgdXNlcyB0aGlzIG5ldyB0eXBlLg0K PiA+ID4gPj4+Pg0KPiA+ID4gPj4+PiBJIHRoaW5rIHRoYXQgRFBESyBmb2xsb3dzIHRoZSBMaW51 eCB0cmFkaXRpb24gb2YgZXhwb3NpbmcgdGhlDQo+ID4gPiA+Pj4+IHZhcmlhYmxlIHR5cGVzLCBh cyBvcHBvc2VkIHRvIGhpZGluZyB0aGVtIGJlaGluZCB0eXBlZGVmcy4NCj4gVGhpcw0KPiA+ID4g aGFzDQo+ID4gPiA+Pj4+IHRoZSB1bmZvcnR1bmF0ZSBjb25zZXF1ZW5jZSB0aGF0IHdoZW4gYSB2 YXJpYWJsZSB0eXBlIGNoYW5nZXMsDQo+ID4gPiA+Pj4+IGl0IGhhcyB0byBiZSBjaGFuZ2VkIGV2 ZXJ5d2hlcmUuDQo+ID4gPiA+Pj4+DQo+ID4gPiA+Pj4+IEludHJvZHVjaW5nIGEgcnRlX2V0aF9w b3J0X251bV90IHdpbGwgcmVxdWlyZSBjaGFuZ2luZyB0aGUNCj4gc2FtZQ0KPiA+ID4gPj4+PiBm aWxlcyBhdCB0aGUgc2FtZSBsb2NhdGlvbnMgZXZlcnl3aGVyZSwgc28gbm90IGV2ZW4gYXMgYQ0K PiA+ID4gPj4+PiB0ZW1wb3Jhcnkgc29sdXRpb24gd2lsbCBpdCBiZSBiZW5lZmljaWFsLg0KPiA+ ID4gPj4gWy4uLl0NCj4gPiA+ID4+PiBXaGF0IEkgd2FzIHRyeWluZyB0byBjb21tdW5pY2F0ZSB3 aXRoIG15IGxvbmcgYXJndW1lbnQgYWJvdXQNCj4gPiA+ID4+PiB0eXBlDQo+ID4gPiA+PiBkZWZp bml0aW9ucyB3YXM6IFdoZW4gdGhlIHR5cGUgY2hhbmdlZCBmcm9tIDggYml0IHRvIDE2IGJpdCwg dGhlDQo+ID4gPiB0eXBlDQo+ID4gPiA+PiBuZWVkcyB0byBjaGFuZ2UgZnJvbSB1aW50OF90IHRv IHVpbnQxNl90IGV2ZXJ5d2hlcmUgdG9vLA0KPiA+ID4gPj4gaW5jbHVkaW5nDQo+ID4gPiBpbg0K PiA+ID4gPj4gdGhlIGV0aGRldiBBUElzLg0KPiA+ID4gPj4+DQo+ID4gPiA+Pj4gRG9uJ3Qgc3Rh cnQgYnJlYWtpbmcgY29kaW5nIGNvbnZlbnRpb25zIGhlcmUgYnkgaGlkaW5nIHRoZSB0eXBlDQo+ ID4gPiA+Pj4gb2YNCj4gPiA+ID4+IHRoaXMgdmFyaWFibGUuDQo+ID4gPiA+Pg0KPiA+ID4gPj4g U28sIE1vcnRlbiwgeW91IGFyZSBhZ2FpbnN0IHRoZSB0eXBlZGVmLCByaWdodD8NCj4gPiA+ID4+ IEJlY2F1c2Ugd2UgbmVlZCB0byBjaGFuZ2UgaXQgZXZlcnl3aGVyZSBhbnl3YXksIHJpZ2h0Pw0K PiA+ID4gPj4NCj4gPiA+ID4+IE5vdGU6IEkgaGF2ZSBubyBzdHJvbmcgb3Bpbmlvbi4NCj4gPiA+ ID4NCj4gPiA+ID4gSSdtIGFnYWluc3QgdGhlIHR5cGVkZWYgYmVjYXVzZSBpdCB3b3VsZCBicmVh ayBjb252ZW50aW9uLCBhbmQNCj4gSSdtDQo+ID4gPiA+IGENCj4gPiA+IHN0cm9uZyBwcm9wb25l bnQgb2YgY29udmVudGlvbnMuIEluIG90aGVyIHByb2plY3RzLCBJJ20gYWxsIGZvcg0KPiA+ID4g dHlwZWRlZnMsIHZpcnR1YWwgY2xhc3NlcywgaW5oZXJpdGFuY2UgZXRjLiwgYnV0IERQREsgZm9s bG93cyB0aGUNCj4gPiA+IExpbnV4IGNvbnZlbnRpb24gb2Ygbm90IGhpZGluZyBzaW1wbGUgdHlw ZXMuDQo+ID4gPiA+DQo+ID4gPiA+IFdlIG5lZWQgdG8gY2hhbmdlIGl0IGZyb20gdWludDhfdCBl dmVyeXdoZXJlLCByZWdhcmRsZXNzIHdoYXQgd2UNCj4gPiA+ID4gY2hhbmdlIGl0IHRvLiAoQnV0 IGlmIHdlIG5lZWQgdG8gY2hhbmdlIGl0IGFnYWluIHNvbWV0aW1lIGluIHRoZQ0KPiA+ID4gPiBm dXR1cmUsIHRoZW4gYSB0eXBlZGVmIHdpbGwgc2F2ZSB1cyBuZXh0IHRpbWUuKQ0KPiA+ID4NCj4g PiA+IElmIHRoZSBudW1iZXIgb2YgcG9ydHMgZ28gYmV5b25kIDY0SyB0aGVuIEkgd2lsbCBiZSB0 aGUgZmlyc3Qgb25lDQo+ID4gPiAoaWYgc3RpbGwgYWxpdmUpIHRvIGVhdCB0aGlzIGVtYWlsLiA6 LSkgVGhlIG9ubHkgcmVhc29uIHRvIGhhdmUNCj4gbW9yZQ0KPiA+ID4gdGhlbg0KPiA+ID4gMiBi eXRlcyB3b3VsZCBiZSB0byBlbmNvZGUgc29tZXRoaW5nIGludG8gdGhlIHBvcnQgaWQgdmFsdWUs IHdoaWNoDQo+IEkNCj4gPiA+IGNvdWxkIHNlZSwgYnV0IGEgdmVyeSBzbGltIGNoYW5jZSBJTUhP Lg0KPiA+ID4NCj4gPiA+ID4NCj4gPiA+ID4gSG93ZXZlciwgaWYgd2UgY2hhbmdlIHRoZSBjb252 ZW50aW9uIGFuZCBzdGFydCBoaWRpbmcgc2ltcGxlDQo+ID4gPiA+IHR5cGVzLA0KPiA+ID4gdGhl eSBzdGlsbCBuZWVkIHRoZSBydGVfIHByZWZpeCByZWdhcmRsZXNzIGlmIHRoZXkgYXJlIHBvcHVs YXIgb3INCj4gPiA+IG9ic2N1cmUgdHlwZXMuIEV2ZW4gc3RydWN0IHJ0ZV9tYnVmIGhhcyB0aGUg cnRlXyBwcmVmaXgsIGFuZCBJDQo+ID4gPiBjb25zaWRlciB0aGF0IGEgdmVyeSBwb3B1bGFyIHR5 cGUuIElmIHNvLCBydGVfcG9ydF90IHdvdWxkIGJlIGENCj4gZ29vZA0KPiA+ID4gbmFtZSBmb3Ig dGhpcyB0eXBlLg0KPiA+ID4gPg0KPiA+ID4gPiBNeSBwcmVmZXJlbmNlOiBGb2xsb3cgY29udmVu dGlvbiBhbmQgY2hhbmdlIGl0IHRvIHVpbnQxNl90DQo+ID4gPiBldmVyeXdoZXJlLg0KPiA+ID4g Pg0KPiA+ID4gPiBNZWQgdmVubGlnIGhpbHNlbiAvIGtpbmQgcmVnYXJkcw0KPiA+ID4gPiAtIE1v cnRlbiBCcsO4cnVwDQo+ID4gPiA+DQo+ID4gPg0KPiA+ID4gQXMgd2UgbXVzdCBjaGFuZ2UgdGhl IHVpbnQ4X3QgdG8gdWludDE2X3QsIHRoZW4gSSB3b3VsZCBsaWtlIGl0IHRvDQo+ID4gPiBiZSBt b3JlIGRlc2NyaXB0aXZlIHZpYSBhIHR5cGVkZWYuIEkgcmVhbGx5IGRvIG5vdCBzZWUgdXMgbmVl ZGluZw0KPiB0bw0KPiA+ID4gY2hhbmdlIGl0IGFnYWluIGluIHRoZSBuZWFyIGZ1dHVyZS4gVGhl IG9ubHkgcmVhc29uIHRvIG1ha2UgaXQgYQ0KPiA+ID4gdHlwZWRlZiBpcyB0byBiZSBhYmxlIHRv IGlkZW50aWZ5IGZyb20ganVzdCB0aGUgcHJvdG90eXBlIG9mIHRoZQ0KPiA+ID4gZnVuY3Rpb24g dGhhdCBpdCB0YWtlcyBhIHBvcnQgSUQgdmFsdWUsIHdoaWNoIEkgYW0gaW4gZmF2b3Igb2YNCj4g ZG9pbmcNCj4gPiA+IGhlcmUgZm9yIHRoYXQgcmVhc29uLg0KPiA+DQo+ID4gVGhhdCBpcyBub3Qg YSB2ZXJ5IGdvb2QgcmVhc29uOiBXaGVuIHVzZWQgYXMgYSBmdW5jdGlvbiBwYXJhbWV0ZXIsDQo+ IHRoZQ0KPiA+IHR5cGUgaXMgb25seSBzaG93biBpbiB0aGUgZnVuY3Rpb24gZGVjbGFyYXRpb24s IHdoZXJlYXMgdGhlIHZhcmlhYmxlDQo+ID4gbmFtZSBpcyBzaG93biBldmVyeSB0aW1lIGl0IGlz IHVzZWQgaW5zaWRlIHRoZSBmdW5jdGlvbi4gU28gcmVtZW1iZXINCj4gPiB0byBhbHdheXMgdXNl IG1lYW5pbmdmdWwgdmFyaWFibGUgbmFtZXMsIHN1Y2ggYXMgInBvcnQiIChsaWtlIGluIHRoZQ0K PiA+IG1idWYgc3RydWN0dXJlKSBvciAicG9ydF9pZCIgKHVzZWQgaW4gb3RoZXIgcGxhY2VzKS4N Cj4gPg0KPiA+ID4NCj4gPiA+IEFzIGZvciBPbGl2aWVy4oCZcyBzdGF0ZW1lbnQgYWJvdXQgdGhl IHR5cGVkZWYgbmFtZSBJIGRvIG5vdCBzZWUgdGhlDQo+ID4gPiBuZWVkIGZvciDigJhfZXRoXycg dG8gYmUgcGFydCBvZiB0aGUgdHlwZWRlZiBhcyBpdCBjb252ZXlzIG5vIGV4dHJhDQo+ID4gPiBp bmZvcm1hdGlvbiBpbiB0aGUgbmFtZS4gRXZlcnl0aGluZyBwb3J0IHJlbGF0ZWQgaW4gRFBESyBp cyBhDQo+ID4gPiBldGhlcm5ldCB0eXBlIGRldmljZSBvciBwb3J0LiBJZiB3ZSBkbyBhZGQgc29t ZXRoaW5nIGxpa2UgZmliZXINCj4gPiA+IGNoYW5uZWwgbWF5YmUgcnRlX3BpZF90IGlzIHJlYXNv biB0byB0aGF0IHRvbywgYnV0IGlmIGl0IGNvbnRhaW5zDQo+ID4gPiDigJhfZXRoX+KAmSBpdCB3 b3VsZCBub3QuDQo+ID4gPg0KPiA+ID4gSSB3b3VsZCBsaWtlIHRvIHNlZSBuYW1lcyB0aGF0IGFy ZSBqdXN0IHNob3J0IGVub3VnaCB0byBjb252ZXkgdGhlDQo+ID4gPiBpbmZvcm1hdGlvbiBhbmQg bm90IGJlIHJlZHVuZGFudC4gSU1ITyBydGVfcGlkX3QgaXMgZmluZSwgYnV0IGlmIHdlDQo+ID4g PiB1c2Ugc29tZSBzb21ldGhpbmcgc2ltaWxhciB0byB0aGUgbGVuZ3RoIG9mIHVpbnQ4X3QgKDcp IG9yIHVpbnQxNl90DQo+ID4gPiAoOCkgY2hhcmFjdGVycyB0aGVuIHdlIHdvdWxkIG5vdCBoYXZl IHRvIGFsc28gcmVmb3JtYXQgdGhlIGxpbmUNCj4gbW9yZQ0KPiA+ID4gdGhlbiBuZWVkZWQuIFVz aW5nIHJ0ZV9waWRfdCAocGlkID09IHBvcnRfaWQpIHdlIG9ubHkgZXh0ZW5kIHRoZQ0KPiA+ID4g bGVuZ3RoIGJ5IG9uZSAob3IgdHdvKSBjaGFyYWN0ZXJzIGFuZCBtb3N0IGxpa2VseSB0aGUgYWRk ZWQgYnl0ZShzKQ0KPiA+ID4gd2lsbCBub3QgY2F1c2UgbW9yZSBmb3JtYXQgcHJvYmxlbXMgaW4g dGhlIGNvZGUuDQo+ID4NCj4gPiBJIHN0aWxsIGRvbid0IHN1cHBvcnQgdHlwZWRlZnMgZm9yIHNj YWxhciB0eXBlcy4gSSBjb25zaWRlciBpdA0KPiBhZ2FpbnN0DQo+ID4gdGhlIGNvZGluZyBzdHls ZSwgYWx0aG91Z2ggYWZ0ZXIgcmV2aWV3aW5nIHRoZSBvZmZpY2lhbCBEUERLIENvZGluZw0KPiA+ IFN0eWxlIGRvY3VtZW50YXRpb24NCj4gPiAoaHR0cDovL2RwZGsub3JnL2RvYy9ndWlkZXMvY29u dHJpYnV0aW5nL2NvZGluZ19zdHlsZS5odG1sKSwgSSBjYW4NCj4gc2VlDQo+ID4gdGhhdCBpdCBp cyBub3QgZXhwbGljaXRseSBzdGF0ZWQuIFBsZWFzZSBhbHNvIG5vdGUgdGhhdCBzZWN0aW9uIDEu NS43DQo+ID4gb2YgdGhlIERQREsgQ29kaW5nIFN0eWxlIGRvY3VtZW50YXRpb24gc2F5cyB0aGF0 IHRoZSBfdCBwb3N0Zml4DQo+IHNob3VsZA0KPiA+IGJlIGF2b2lkZWQuIEFueXdheSwgaWYgd2Ug ZW5kIHVwIHdpdGggYSB0eXBlZGVmLCBwbGVhc2UgZG9uJ3QgdXNlDQo+ID4gc29tZXRoaW5nIHJl c2VtYmxpbmcgcGlkX3Qga25vd24gZnJvbSBQT1NJWA0KPiA+IChodHRwczovL3d3dy5nbnUub3Jn L3NvZnR3YXJlL2xpYmMvbWFudWFsL2h0bWxfbm9kZS9Qcm9jZXNzLQ0KPiA+IElkZW50aWZpY2F0 aW9uLmh0bWwpLg0KPiA+DQo+IA0KPiBIb3cgYWJvdXQgcnRlX2Rldl9pZF90Pw0KPiANCj4gVGhh bmtzDQo+IFpoaXlvbmcNCj4gDQo+ID4NCj4gPiA+DQo+ID4gPiBSZWdhcmRzLA0KPiA+ID4gS2Vp dGgNCg0KSWYgdGhlIERQREsgQ29kaW5nIFN0eWxlIGlzIGJhc2VkIG9uIExpbnV4IENvZGluZyBT dHlsZSwgd2Ugc2hvdWxkIGF2b2lkIHR5cGVkZWZzIGluIGdlbmVyYWwsIG5vdCBqdXN0IGZvciBz dHJ1Y3R1cmVzLiBQbGVhc2UgcmVhZCBMaW51cyBUb3J2YWxkcycgb3BpbmlvbnMgYWJvdXQgaXQ6 IGh0dHA6Ly95YXJjaGl2ZS5uZXQvY29tcC9saW51eC90eXBlZGVmcy5odG1sDQoNClBlcmhhcHMg dGhlIERQREsgQ29kaW5nIFN0eWxlIHNob3VsZCBiZSB1cGRhdGVkIHRvIGNsYXJpZnkgdGhpcy4g KE9yIGlmIHdlIGRlY2lkZSBvdGhlcndpc2UsIHRvIGV4cGxpY2l0bHkgbWVudGlvbiB0aGlzIGRl dmlhdGlvbiBmcm9tIHRoZSBMaW51eCBjb2Rpbmcgc3R5bGUuKQ0KDQoNCk1lZCB2ZW5saWcgaGls c2VuIC8ga2luZCByZWdhcmRzDQotIE1vcnRlbiBCcsO4cnVwDQoNCg==