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 389A6A04B4; Fri, 8 Nov 2019 15:52:46 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 0A6D81C226; Fri, 8 Nov 2019 15:52:46 +0100 (CET) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by dpdk.org (Postfix) with ESMTP id 938E21C200 for ; Fri, 8 Nov 2019 15:52:44 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 08 Nov 2019 06:52:42 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.68,281,1569308400"; d="scan'208";a="206008220" Received: from irsmsx109.ger.corp.intel.com ([163.33.3.23]) by orsmga003.jf.intel.com with ESMTP; 08 Nov 2019 06:52:38 -0800 Received: from irsmsx104.ger.corp.intel.com ([169.254.5.252]) by IRSMSX109.ger.corp.intel.com ([169.254.13.111]) with mapi id 14.03.0439.000; Fri, 8 Nov 2019 14:52:37 +0000 From: "Ananyev, Konstantin" To: Dekel Peled , Matan Azrad , "Yigit, Ferruh" , "Mcnamara, John" , "Kovacevic, Marko" , "nhorman@tuxdriver.com" , "ajit.khaparde@broadcom.com" , "somnath.kotur@broadcom.com" , "Burakov, Anatoly" , "xuanziyang2@huawei.com" , "cloud.wangxiaoyun@huawei.com" , "zhouguoyang@huawei.com" , "Lu, Wenzhuo" , Shahaf Shuler , Slava Ovsiienko , "rmody@marvell.com" , "shshaikh@marvell.com" , "maxime.coquelin@redhat.com" , "Bie, Tiwei" , "Wang, Zhihong" , "yongwang@vmware.com" , Thomas Monjalon , "arybchenko@solarflare.com" , "Wu, Jingjing" , "Iremonger, Bernard" CC: "dev@dpdk.org" Thread-Topic: [dpdk-dev] [PATCH v4 1/3] ethdev: support API to set max LRO packet size Thread-Index: AQHVlWfj+cSMUFaqAEuNrdvHXqozZqeAJYGAgACygoCAAChigIAADmUAgAAYRICAAAUrgIAACbEwgAAbvYCAAAPJUA== Date: Fri, 8 Nov 2019 14:52:37 +0000 Message-ID: <2601191342CEEE43887BDE71AB97725801A8C8327C@IRSMSX104.ger.corp.intel.com> References: <4c64b7941e1e9416ae7946cb44d50a01888d70c4.1573129825.git.dekelp@mellanox.com> <0523c7d7-bc97-7e30-c024-e578f9548797@intel.com> <0a1708e5-70ba-16f8-29b0-bef8d4f20f80@intel.com> <2601191342CEEE43887BDE71AB97725801A8C83047@IRSMSX104.ger.corp.intel.com> In-Reply-To: Accept-Language: en-IE, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiODc1MDQ5MmMtM2FiYS00MGMxLTliMjgtYmVkMGY5MDdlMGVhIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiNFRhWkhHRkh1TjdXdmFnblwveTFxWUxoeHBVMTZrOXZSQm5zQlBjSmRaNmRjZkx0TmdJK0VQQXV2ZmozTzFFdDUifQ== x-ctpclassification: CTP_NT dlp-product: dlpe-windows dlp-version: 11.2.0.6 dlp-reaction: no-action x-originating-ip: [163.33.239.182] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH v4 1/3] ethdev: support API to set max LRO packet size 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" DQo+ID4gPiA+ID4+Pj4gT24gMTEvNy8yMDE5IDEyOjM1IFBNLCBEZWtlbCBQZWxlZCB3cm90ZToN Cj4gPiA+ID4gPj4+Pj4gQEAgLTEyNjYsNiArMTI4NiwxOCBAQCBzdHJ1Y3QgcnRlX2V0aF9kZXYg Kg0KPiA+ID4gPiA+Pj4+Pg0KPiA+ID4gPiA+Pj4+IAlSVEVfRVRIRVJfTUFYX0xFTjsNCj4gPiA+ ID4gPj4+Pj4gIAl9DQo+ID4gPiA+ID4+Pj4+DQo+ID4gPiA+ID4+Pj4+ICsJLyoNCj4gPiA+ID4g Pj4+Pj4gKwkgKiBJZiBMUk8gaXMgZW5hYmxlZCwgY2hlY2sgdGhhdCB0aGUgbWF4aW11bSBhZ2dy ZWdhdGVkDQo+ID4gPiA+IHBhY2tldA0KPiA+ID4gPiA+Pj4+PiArCSAqIHNpemUgaXMgc3VwcG9y dGVkIGJ5IHRoZSBjb25maWd1cmVkIGRldmljZS4NCj4gPiA+ID4gPj4+Pj4gKwkgKi8NCj4gPiA+ ID4gPj4+Pj4gKwlpZiAoZGV2X2NvbmYtPnJ4bW9kZS5vZmZsb2FkcyAmDQo+ID4gPiA+IERFVl9S WF9PRkZMT0FEX1RDUF9MUk8pIHsNCj4gPiA+ID4gPj4+Pj4gKwkJcmV0ID0gY2hlY2tfbHJvX3Br dF9zaXplKA0KPiA+ID4gPiA+Pj4+PiArCQkJCXBvcnRfaWQsIGRldl9jb25mLQ0KPiA+ID4gPiA+ Pj4+PiByeG1vZGUubWF4X2xyb19wa3Rfc2l6ZSwNCj4gPiA+ID4gPj4+Pj4gKwkJCQlkZXZfaW5m by5tYXhfbHJvX3BrdF9zaXplKTsNCj4gPiA+ID4gPj4+Pj4gKwkJaWYgKHJldCAhPSAwKQ0KPiA+ ID4gPiA+Pj4+PiArCQkJZ290byByb2xsYmFjazsNCj4gPiA+ID4gPj4+Pj4gKwl9DQo+ID4gPiA+ ID4+Pj4+ICsNCj4gPiA+ID4gPj4+Pg0KPiA+ID4gPiA+Pj4+IFRoaXMgY2hlY2sgZm9yY2VzIGFw cGxpY2F0aW9ucyB0aGF0IGVuYWJsZSBMUk8gdG8gcHJvdmlkZQ0KPiA+ID4gPiA+PiAnbWF4X2xy b19wa3Rfc2l6ZScNCj4gPiA+ID4gPj4+PiBjb25maWcgdmFsdWUuDQo+ID4gPiA+ID4+Pg0KPiA+ ID4gPiA+Pj4gWWVzLih3ZSBjYW4gYnJlYWsgYW4gQVBJLCB3ZSBub3RpY2VkIGl0KQ0KPiA+ID4g PiA+Pg0KPiA+ID4gPiA+PiBJIGFtIG5vdCB0YWxraW5nIGFib3V0IEFQSS9BQkkgYnJlYWthZ2Us IHRoYXQgcGFydCBpcyBPSy4NCj4gPiA+ID4gPj4gV2l0aCB0aGlzIGNoZWNrLCBpZiB0aGUgYXBw bGljYXRpb24gcmVxdWVzdGVkIExSTyBvZmZsb2FkIGJ1dCBub3QNCj4gPiA+ID4gPj4gcHJvdmlk ZWQgJ21heF9scm9fcGt0X3NpemUnIHZhbHVlLCBkZXZpY2UgY29uZmlndXJhdGlvbiB3aWxsIGZh aWwuDQo+ID4gPiA+ID4+DQo+ID4gPiA+ID4gWWVzDQo+ID4gPiA+ID4+IENhbiB0aGVyZSBiZSBh IGNhc2UgYXBwbGljYXRpb24gaXMgZ29vZCB3aXRoIHdoYXRldmVyIHRoZSBQTUQgY2FuDQo+ID4g PiA+ID4+IHN1cHBvcnQgYXMgbWF4Pw0KPiA+ID4gPiA+IFllcyBjYW4gYmUgLSB5b3Uga25vdywg d2UgY2FuIGRvIGV2ZXJ5dGhpbmcgd2Ugd2FudCBidXQgaXQgaXMNCj4gPiA+ID4gPiBiZXR0ZXIg dG8gYmUNCj4gPiA+ID4gY29uc2lzdGVudDoNCj4gPiA+ID4gPiBEdWUgdG8gdGhlIGZhY3Qgb2Yg TWF4IHJ4IHBrdCBsZW4gZmllbGQgaXMgbWFuZGF0b3J5IGZvciBKVU1CTw0KPiA+ID4gPiA+IG9m ZmxvYWQsIG1heA0KPiA+ID4gPiBscm8gcGt0IGxlbiBzaG91bGQgYmUgbWFuZGF0b3J5IGZvciBM Uk8gb2ZmbG9hZC4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IFNvIHlvdXIgcXVlc3Rpb24gaXMgYWN0 dWFsbHkgd2h5IGJvdGgsIG5vbi1scm8gcGFja2V0cyBhbmQgTFJPDQo+ID4gPiA+ID4gcGFja2V0 cyBtYXgNCj4gPiA+ID4gc2l6ZSBhcmUgbWFuZGF0b3J5Li4uDQo+ID4gPiA+ID4NCj4gPiA+ID4g Pg0KPiA+ID4gPiA+IEkgdGhpbmsgaXQgc2hvdWxkIGJlIGltcG9ydGFudCB2YWx1ZXMgZm9yIG5l dCBhcHBsaWNhdGlvbnMgbWFuYWdlbWVudC4NCj4gPiA+ID4gPiBBbHNvIGdvb2QgZm9yIG1idWYg c2l6ZSBtYW5hZ2VtZW50cy4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+Pj4NCj4gPiA+ID4gPj4+PiAt IFdoeSBpdCBpcyBtYW5kYXRvcnkgbm93LCBob3cgaXQgd2FzIHdvcmtpbmcgYmVmb3JlIGlmIGl0 IGlzDQo+ID4gPiA+ID4+Pj4gbWFuZGF0b3J5IHZhbHVlPw0KPiA+ID4gPiA+Pj4NCj4gPiA+ID4g Pj4+IEl0IGlzIHRoZSBzYW1lIGFzIG1heF9yeF9wa3RfbGVuIHdoaWNoIGlzIG1hbmRhdG9yeSBm b3IganVtYm8NCj4gPiA+ID4gPj4+IGZyYW1lDQo+ID4gPiA+ID4+IG9mZmxvYWQuDQo+ID4gPiA+ ID4+PiBTbyBub3csIHdoZW4gdGhlIHVzZXIgY29uZmlndXJlcyBhIExSTyBvZmZsb2FkIGhlIG11 c3QgdG8gc2V0DQo+ID4gPiA+ID4+PiBtYXggbHJvIHBrdA0KPiA+ID4gPiA+PiBsZW4uDQo+ID4g PiA+ID4+PiBXZSBkb24ndCB3YW50IHRvIGNvbmZ1c2UgdGhlIHVzZXIgaGVyZSB3aXRoIHRoZSBt YXggcnggcGt0IGxlbg0KPiA+ID4gPiA+PiBjb25maWd1cmF0aW9ucyBhbmQgYmVoYXZpb3JzLCB0 aGV5IHNob3VsZCBiZSB3aXRoIHNhbWUgbG9naWMuDQo+ID4gPiA+ID4+Pg0KPiA+ID4gPiA+Pj4g VGhpcyBwYXJhbWV0ZXIgZGVmaW5lcyB3ZWxsIHRoZSBMUk8gYmVoYXZpb3IuDQo+ID4gPiA+ID4+ PiBCZWZvcmUgdGhpcywgZWFjaCBQTUQgdG9vayBpdHMgb3duIGludGVycHJldGF0aW9uIHRvIHdo YXQgc2hvdWxkDQo+ID4gPiA+ID4+PiBiZSB0aGUNCj4gPiA+ID4gPj4gbWF4aW11bSBzaXplIGZv ciBMUk8gYWdncmVnYXRlZCBwYWNrZXRzLg0KPiA+ID4gPiA+Pj4gTm93LCB0aGUgdXNlciBtdXN0 IHNheSB3aGF0IGlzIGhpcyBpbnRlbnNpb24sIGFuZCB0aGUgZXRoZGV2IGNhbg0KPiA+ID4gPiA+ Pj4gbGltaXQgaXQNCj4gPiA+ID4gPj4gYWNjb3JkaW5nIHRvIHRoZSBkZXZpY2UgY2FwYWJpbGl0 eS4NCj4gPiA+ID4gPj4+IEJ5IHRoaXMgd2F5LCBhbHNvLCB0aGUgUE1EIGNhbiBvcmdhbml6ZVxv cHRpbWl6ZSBpdHMgZGF0YS1wYXRoIG1vcmUuDQo+ID4gPiA+ID4+PiBBbHNvLCB0aGUgYXBwbGlj YXRpb24gY2FuIGNyZWF0ZSBkaWZmZXJlbnQgbWVtcG9vbHMgZm9yIExSTw0KPiA+ID4gPiA+Pj4g cXVldWVzIHRvDQo+ID4gPiA+ID4+IGFsbG93IGJpZ2dlciBwYWNrZXQgcmVjZWl2aW5nIGZvciBM Uk8gdHJhZmZpYy4NCj4gPiA+ID4gPj4+DQo+ID4gPiA+ID4+Pj4gLSBXaGF0IGhhcHBlbnMgaWYg UE1EIGRvZXNuJ3QgcHJvdmlkZSAnbWF4X2xyb19wa3Rfc2l6ZScsIHNvIGl0IGlzDQo+ID4gJzAn Pw0KPiA+ID4gPiA+Pj4gWWVzLCB5b3UgY2FuIHNlZSB0aGUgZmVhdHVyZSBkZXNjcmlwdGlvbiBE ZWtlbCBhZGRlZC4NCj4gPiA+ID4gPj4+IFRoaXMgcGF0Y2ggYWxzbyB1cGRhdGVzIGFsbCB0aGUg UE1EcyBzdXBwb3J0IGFuIExSTyBmb3Igbm9uLTAgdmFsdWUuDQo+ID4gPiA+ID4+DQo+ID4gPiA+ ID4+IE9mIGNvdXJzZSBJIGNhbiBzZWUgdGhlIHVwZGF0ZXMgTWF0YW4sIG15IHBvaW50IGlzICJX aGF0IGhhcHBlbnMNCj4gPiA+ID4gPj4gaWYgUE1EIGRvZXNuJ3QgcHJvdmlkZSAnbWF4X2xyb19w a3Rfc2l6ZSciLA0KPiA+ID4gPiA+PiAxKSBUaGVyZSBpcyBubyBjaGVjayBmb3IgaXQgcmlnaHQs IHNvIGl0IGlzIGFjY2VwdGFibGU/DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBUaGVyZSBpcyBjaGVj ay4NCj4gPiA+ID4gPiBJZiB0aGUgY2FwYWJpbGl0eSBpcyAwLCBhbnkgbm9uLXplcm8gY29uZmln dXJhdGlvbiB3aWxsIGZhaWwuDQo+ID4gPiA+ID4NCj4gPiA+ID4gPj4gMikgQXJlIHdlIG1ha2lu ZyB0aGlzIGZpbGVkIG1hbmRhdG9yeSB0byBwcm92aWRlIGZvciBQTURzLCBpdCBpcw0KPiA+ID4g PiA+PiBlYXN5IHRvIG1ha2UgbmV3IGZpZWxkcyBtYW5kYXRvcnkgZm9yIFBNRHMgYnV0IGlzIHRo aXMgcmVhbGx5DQo+ID4gbmVjZXNzYXJ5Pw0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gWWVzLCBmb3Ig Y29uc2lzdGVuY2UuDQo+ID4gPiA+ID4NCj4gPiA+ID4gPj4+DQo+ID4gPiA+ID4+PiBhcyBzYW1l IGFzIG1heCByeCBwa3QgbGVuLCBubz8NCj4gPiA+ID4gPj4+DQo+ID4gPiA+ID4+Pj4gLSBXaGF0 IGRvIHlvdSB0aGluayBzZXR0aW5nICdtYXhfbHJvX3BrdF9zaXplJyBjb25maWcgdmFsdWUgdG8N Cj4gPiA+ID4gPj4+PiB3aGF0IFBNRCBwcm92aWRlZCBpZiBhcHBsaWNhdGlvbiBkb2Vzbid0IHBy b3ZpZGUgaXQ/DQo+ID4gPiA+ID4+PiBTYW1lIGFuc3dlcnMgYXMgYWJvdmUuDQo+ID4gPiA+ID4+ Pg0KPiA+ID4gPiA+Pg0KPiA+ID4gPiA+PiBJZiBhcHBsaWNhdGlvbiBkb2Vzbid0IGNhcmUgdGhl IHZhbHVlLCBhcyBpdCBoYXMgYmVlbiB0aWxsIG5vdywNCj4gPiA+ID4gPj4gYW5kIG5vdCBwcm92 aWRlZCBleHBsaWNpdCAnbWF4X2xyb19wa3Rfc2l6ZScsIHdoeSBub3QgZXRoZGV2DQo+ID4gPiA+ ID4+IGxldmVsIHVzZSB0aGUgdmFsdWUgcHJvdmlkZWQgYnkgUE1EIGluc3RlYWQgb2YgZmFpbGlu Zz8NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IEFnYWluLCBzYW1lIHF1ZXN0aW9uIHdlIGNhbiBhc2sg b24gbWF4IHJ4IHBrdCBsZW4uDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBMb29rcyBsaWtlIHRoZSBw YWNrZXQgc2l6ZSBpcyB2ZXJ5IGltcG9ydGFudCB2YWx1ZSB3aGljaCBzaG91bGQgYmUNCj4gPiA+ ID4gPiBzZXQgYnkNCj4gPiA+ID4gdGhlIGFwcGxpY2F0aW9uLg0KPiA+ID4gPiA+DQo+ID4gPiA+ ID4gUHJldmlvdXMgYXBwbGljYXRpb25zIGhhdmUgbm8gb3B0aW9uIHRvIGNvbmZpZ3VyZSBpdCwg c28gdGhleQ0KPiA+ID4gPiA+IGhhdmVuJ3QNCj4gPiA+ID4gY29uZmlndXJlIGl0LCAocHJvYmFi bHkgY292ZXIgaXQgc29tZWhvdykgSSB0aGluayBpdCBpcyBvdXIgbWlzcyB0bw0KPiA+ID4gPiBz dXBwbHkgdGhpcyBpbmZvLg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gTGV0J3MgZG8gaXQgaW4gc2Ft ZSB3YXkgYXMgd2UgZG8gbWF4IHJ4IHBrdCBsZW4gKGFzIHRoaXMgcGF0Y2ggbWFpbiBpZGVhKS4N Cj4gPiA+ID4gPiBMYXRlciwgd2UgY2FuIGNoYW5nZSBib3RoIHRvIG90aGVyIG1lYW5pbmcuDQo+ ID4gPiA+ID4NCj4gPiA+ID4NCj4gPiA+ID4gSSB0aGluayBpdCBpcyBub3QgYSBnb29kIHJlYXNv biB0byBpbnRyb2R1Y2UgYSBuZXcgbWFuZGF0b3J5IGNvbmZpZw0KPiA+ID4gPiBvcHRpb24gZm9y IGFwcGxpY2F0aW9uIGJlY2F1c2Ugb2YgJ21heF9yeF9wa3RfbGVuJyBkb2VzIGl0Lg0KPiA+ID4N Cj4gPiA+IEl0IGlzIG1hbmRhdG9yeSBvbmx5IGlmIExSTyBvZmZsb2FkIGlzIGNvbmZpZ3VyZWQu DQo+ID4NCj4gPiBTbyBtYXhfcnhfcGt0X2xlbiB3aWxsIHJlbWFpbiBtYXggc2l6ZSBvZiBvbmUg cGFja2V0LCB3aGlsZSBtYXhfbHJvX2xlbg0KPiA+IHdpbGwgYmUgbWF4IGFjY3VtdWxhdGUgc2l6 ZSBmb3IgZWFjaCBMUk8gc2Vzc2lvbj8NCj4gPg0KPiANCj4gWWVzLg0KPiANCj4gPiBCVFcsIEkg dGhpbmsgdGhhdCBmb3IgaXhnYmUgbWF4IGxybyBpcyBSVEVfSVBWNF9NQVhfUEtUX0xFTi4NCj4g DQo+IFBsZWFzZSBzZWUgbXkgY2hhbmdlIGluIGRyaXZlcnMvbmV0L2l4Z2JlL2l4Z2JlX2V0aGRl di5jLg0KPiBDaGFuZ2UgdG8gUlRFX0lQVjRfTUFYX1BLVF9MRU4/DQo+IA0KPiA+IGl4Z2JlX3Zm LCBhcyBJIHJlbWVtYmVyLCBkb2VzbuKAmXQgc3VwcG9ydCBMUk8gYXQgYWxsLg0KPiANCj4gUGxl YXNlIHNlZSBteSBjaGFuZ2UgaW4gZHJpdmVycy9uZXQvaXhnYmUvaXhnYmVfdmZfcmVwcmVzZW50 b3IuYw0KPiBSZW1vdmUgaXQ/DQoNClllcywgcGxlYXNlIGZvciBib3RoLg0KDQo+IA0KPiA+DQo+ ID4gPg0KPiA+ID4gPiBXaWxsIGl0IHdvcmssIGlmOg0KPiA+ID4gPiAtIElmIGFwcGxpY2F0aW9u IGRvZXNuJ3QgcHJvdmlkZSB0aGlzIHZhbHVlLCB1c2UgdGhlIFBNRCBtYXgNCj4gPiA+DQo+ID4g PiBNYXkgY2F1c2UgYSBwcm9ibGVtIGlmIHRoZSBtYnVmIHNpemUgaXMgbm90IGVub3VnaCBmb3Ig dGhlIFBNRCBtYXhpbXVtLg0KPiA+DQo+ID4gQW5vdGhlciBxdWVzdGlvbiwgd2hhdCB3aWxsIGhh cHBlbiBpZiBQTUQgd2lsbCBpZ25vcmUgdGhhdCB2YWx1ZSBhbmQgd2lsbA0KPiA+IGdlbmVyYXRl IHBhY2tldHMgYmlnZ2VyIHRoZW4gcmVxdWVzdGVkPw0KPiANCj4gUE1EIHNob3VsZCB1c2UgdGhp cyB2YWx1ZSBhbmQgbm90IGlnbm9yZSBpdC4NCg0KSG1tLCBvayBidXQgdGhpcyBwYXRjaCB1cGRh dGVzIG14bCBkcml2ZXIgb25seS4uLg0KSSBzdXBwb3NlIHlvdSBleHBlY3Qgb3RoZXIgUE1EIG1h aW50YWluZXJzIHRvIGRvIHRoZSBqb2IgZm9yIHRoZWlyIFBNRHMsIHJpZ2h0Pw0KSWYgc28sIGFy ZSB0aGV5IGF3YXJlIChhbmQgYWdyZWUpIGZvciB0aGlzIG5ldyBoYXJkIHJlcXVpcmVtZW50IGFu ZCBjaGFuZ2VzIHJlcXVpcmVkPw0KQWdhaW4gd2hhdCBQTUQgc2hvdWxkIGRvIGlmIGl0IGNhbid0 IHN1cHBvcnQgZXhhY3QgdmFsdWU/DQpMZXQgc2F5IHVzZXIgYXNrZWQgbWF4X2xyb19zaXplPTIw S0IgYnV0IFBNRCBjYW4gZG8gb25seSAxNktCIG9yIDI0S0I/DQpTaG91bGQgaXQgZmFpbCwgb3Ig cm91bmQgdG8gc21hbGxlc3QsIG9yIC4uLj8NCg0KQWN0dWFsbHkgSSB3b25kZXIsIHNob3VsZCBp dCByZWFsbHkgYmUgYSBoYXJkIHJlcXVpcmVtZW50IG9yIG1vcmUgbGlrZSBhIGd1aWRhbmNlIHRv IFBNRD8NCldoeSBhcHAgbmVlZHMgYW5kICpleGFjdCogdmFsdWUgZm9yIExSTyBzaXplPw0KIA0K DQo+ID4NCj4gPiA+DQo+ID4gPiA+IC0gSWYgYm90aCBhcHBsaWNhdGlvbiBhbmQgUE1EIGRvZXNu J3QgcHJvdmlkZSB0aGlzIHZhbHVlLCBmYWlsIG9uDQo+ID4gY29uZmlndXJlKCk/DQo+ID4gPg0K PiA+ID4gSXQgd2lsbCB3b3JrLg0KPiA+ID4gSW4gbXkgb3BpbmlvbiAtIG5vdCBpZGVhbC4NCj4g PiA+DQo+ID4gPiBNYXRhbg0KPiA+ID4NCg0K