From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A419EFC6195 for ; Fri, 8 Nov 2019 16:28:45 +0000 (UTC) Received: from dpdk.org (dpdk.org [92.243.14.124]) by mail.kernel.org (Postfix) with ESMTP id 27DE821D6C for ; Fri, 8 Nov 2019 16:28:45 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 27DE821D6C Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=dev-bounces@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 74C1B1C0B1; Fri, 8 Nov 2019 17:28:44 +0100 (CET) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id 585AB1C067 for ; Fri, 8 Nov 2019 17:28:43 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 08 Nov 2019 08:28:42 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.68,282,1569308400"; d="scan'208";a="213266958" Received: from irsmsx106.ger.corp.intel.com ([163.33.3.31]) by fmsmga001.fm.intel.com with ESMTP; 08 Nov 2019 08:28:39 -0800 Received: from irsmsx104.ger.corp.intel.com ([169.254.5.252]) by IRSMSX106.ger.corp.intel.com ([169.254.8.185]) with mapi id 14.03.0439.000; Fri, 8 Nov 2019 16:28:38 +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+cSMUFaqAEuNrdvHXqozZqeAJYGAgACygoCAAChigIAADmUAgAAYRICAAAUrgIAACbEwgAAbvYCAAAPJUIAAHSqAgAAEJkA= Date: Fri, 8 Nov 2019 16:28:37 +0000 Message-ID: <2601191342CEEE43887BDE71AB97725801A8C833C4@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> <2601191342CEEE43887BDE71AB97725801A8C8327C@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: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiNmM1ZmM5YjUtNjY5NC00MDM1LWE1MjUtYzY5ZWNkY2JiNzJhIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiOWU4a2FwaEFvWFA5T1pyaVU4MWw2bkg5b0Z3M29nZ2lGY0pNR0Z1XC9MbUZqR1ZIMkI3RzdvVjQwcm1hRWYxRFoifQ== 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+ID4NCj4gPg0KPiA+ID4gPiA+ID4gPj4+PiBPbiAxMS83LzIwMTkgMTI6MzUgUE0sIERla2Vs IFBlbGVkIHdyb3RlOg0KPiA+ID4gPiA+ID4gPj4+Pj4gQEAgLTEyNjYsNiArMTI4NiwxOCBAQCBz dHJ1Y3QgcnRlX2V0aF9kZXYgKg0KPiA+ID4gPiA+ID4gPj4+Pj4NCj4gPiA+ID4gPiA+ID4+Pj4g CVJURV9FVEhFUl9NQVhfTEVOOw0KPiA+ID4gPiA+ID4gPj4+Pj4gIAl9DQo+ID4gPiA+ID4gPiA+ Pj4+Pg0KPiA+ID4gPiA+ID4gPj4+Pj4gKwkvKg0KPiA+ID4gPiA+ID4gPj4+Pj4gKwkgKiBJZiBM Uk8gaXMgZW5hYmxlZCwgY2hlY2sgdGhhdCB0aGUgbWF4aW11bQ0KPiA+IGFnZ3JlZ2F0ZWQNCj4g PiA+ID4gPiA+IHBhY2tldA0KPiA+ID4gPiA+ID4gPj4+Pj4gKwkgKiBzaXplIGlzIHN1cHBvcnRl ZCBieSB0aGUgY29uZmlndXJlZCBkZXZpY2UuDQo+ID4gPiA+ID4gPiA+Pj4+PiArCSAqLw0KPiA+ ID4gPiA+ID4gPj4+Pj4gKwlpZiAoZGV2X2NvbmYtPnJ4bW9kZS5vZmZsb2FkcyAmDQo+ID4gPiA+ ID4gPiBERVZfUlhfT0ZGTE9BRF9UQ1BfTFJPKSB7DQo+ID4gPiA+ID4gPiA+Pj4+PiArCQlyZXQg PSBjaGVja19scm9fcGt0X3NpemUoDQo+ID4gPiA+ID4gPiA+Pj4+PiArCQkJCXBvcnRfaWQsIGRl dl9jb25mLQ0KPiA+ID4gPiA+ID4gPj4+Pj4gcnhtb2RlLm1heF9scm9fcGt0X3NpemUsDQo+ID4g PiA+ID4gPiA+Pj4+PiArCQkJCWRldl9pbmZvLm1heF9scm9fcGt0X3NpemUpOw0KPiA+ID4gPiA+ ID4gPj4+Pj4gKwkJaWYgKHJldCAhPSAwKQ0KPiA+ID4gPiA+ID4gPj4+Pj4gKwkJCWdvdG8gcm9s bGJhY2s7DQo+ID4gPiA+ID4gPiA+Pj4+PiArCX0NCj4gPiA+ID4gPiA+ID4+Pj4+ICsNCj4gPiA+ ID4gPiA+ID4+Pj4NCj4gPiA+ID4gPiA+ID4+Pj4gVGhpcyBjaGVjayBmb3JjZXMgYXBwbGljYXRp b25zIHRoYXQgZW5hYmxlIExSTyB0byBwcm92aWRlDQo+ID4gPiA+ID4gPiA+PiAnbWF4X2xyb19w a3Rfc2l6ZScNCj4gPiA+ID4gPiA+ID4+Pj4gY29uZmlnIHZhbHVlLg0KPiA+ID4gPiA+ID4gPj4+ DQo+ID4gPiA+ID4gPiA+Pj4gWWVzLih3ZSBjYW4gYnJlYWsgYW4gQVBJLCB3ZSBub3RpY2VkIGl0 KQ0KPiA+ID4gPiA+ID4gPj4NCj4gPiA+ID4gPiA+ID4+IEkgYW0gbm90IHRhbGtpbmcgYWJvdXQg QVBJL0FCSSBicmVha2FnZSwgdGhhdCBwYXJ0IGlzIE9LLg0KPiA+ID4gPiA+ID4gPj4gV2l0aCB0 aGlzIGNoZWNrLCBpZiB0aGUgYXBwbGljYXRpb24gcmVxdWVzdGVkIExSTyBvZmZsb2FkIGJ1dA0K PiA+ID4gPiA+ID4gPj4gbm90IHByb3ZpZGVkICdtYXhfbHJvX3BrdF9zaXplJyB2YWx1ZSwgZGV2 aWNlIGNvbmZpZ3VyYXRpb24gd2lsbA0KPiA+IGZhaWwuDQo+ID4gPiA+ID4gPiA+Pg0KPiA+ID4g PiA+ID4gPiBZZXMNCj4gPiA+ID4gPiA+ID4+IENhbiB0aGVyZSBiZSBhIGNhc2UgYXBwbGljYXRp b24gaXMgZ29vZCB3aXRoIHdoYXRldmVyIHRoZSBQTUQNCj4gPiA+ID4gPiA+ID4+IGNhbiBzdXBw b3J0IGFzIG1heD8NCj4gPiA+ID4gPiA+ID4gWWVzIGNhbiBiZSAtIHlvdSBrbm93LCB3ZSBjYW4g ZG8gZXZlcnl0aGluZyB3ZSB3YW50IGJ1dCBpdCBpcw0KPiA+ID4gPiA+ID4gPiBiZXR0ZXIgdG8g YmUNCj4gPiA+ID4gPiA+IGNvbnNpc3RlbnQ6DQo+ID4gPiA+ID4gPiA+IER1ZSB0byB0aGUgZmFj dCBvZiBNYXggcnggcGt0IGxlbiBmaWVsZCBpcyBtYW5kYXRvcnkgZm9yIEpVTUJPDQo+ID4gPiA+ ID4gPiA+IG9mZmxvYWQsIG1heA0KPiA+ID4gPiA+ID4gbHJvIHBrdCBsZW4gc2hvdWxkIGJlIG1h bmRhdG9yeSBmb3IgTFJPIG9mZmxvYWQuDQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+IFNv IHlvdXIgcXVlc3Rpb24gaXMgYWN0dWFsbHkgd2h5IGJvdGgsIG5vbi1scm8gcGFja2V0cyBhbmQg TFJPDQo+ID4gPiA+ID4gPiA+IHBhY2tldHMgbWF4DQo+ID4gPiA+ID4gPiBzaXplIGFyZSBtYW5k YXRvcnkuLi4NCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gSSB0 aGluayBpdCBzaG91bGQgYmUgaW1wb3J0YW50IHZhbHVlcyBmb3IgbmV0IGFwcGxpY2F0aW9ucw0K PiA+IG1hbmFnZW1lbnQuDQo+ID4gPiA+ID4gPiA+IEFsc28gZ29vZCBmb3IgbWJ1ZiBzaXplIG1h bmFnZW1lbnRzLg0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPj4+DQo+ID4gPiA+ID4gPiA+ Pj4+IC0gV2h5IGl0IGlzIG1hbmRhdG9yeSBub3csIGhvdyBpdCB3YXMgd29ya2luZyBiZWZvcmUg aWYgaXQNCj4gPiA+ID4gPiA+ID4+Pj4gaXMgbWFuZGF0b3J5IHZhbHVlPw0KPiA+ID4gPiA+ID4g Pj4+DQo+ID4gPiA+ID4gPiA+Pj4gSXQgaXMgdGhlIHNhbWUgYXMgbWF4X3J4X3BrdF9sZW4gd2hp Y2ggaXMgbWFuZGF0b3J5IGZvcg0KPiA+ID4gPiA+ID4gPj4+IGp1bWJvIGZyYW1lDQo+ID4gPiA+ ID4gPiA+PiBvZmZsb2FkLg0KPiA+ID4gPiA+ID4gPj4+IFNvIG5vdywgd2hlbiB0aGUgdXNlciBj b25maWd1cmVzIGEgTFJPIG9mZmxvYWQgaGUgbXVzdCB0bw0KPiA+ID4gPiA+ID4gPj4+IHNldCBt YXggbHJvIHBrdA0KPiA+ID4gPiA+ID4gPj4gbGVuLg0KPiA+ID4gPiA+ID4gPj4+IFdlIGRvbid0 IHdhbnQgdG8gY29uZnVzZSB0aGUgdXNlciBoZXJlIHdpdGggdGhlIG1heCByeCBwa3QNCj4gPiA+ ID4gPiA+ID4+PiBsZW4NCj4gPiA+ID4gPiA+ID4+IGNvbmZpZ3VyYXRpb25zIGFuZCBiZWhhdmlv cnMsIHRoZXkgc2hvdWxkIGJlIHdpdGggc2FtZSBsb2dpYy4NCj4gPiA+ID4gPiA+ID4+Pg0KPiA+ ID4gPiA+ID4gPj4+IFRoaXMgcGFyYW1ldGVyIGRlZmluZXMgd2VsbCB0aGUgTFJPIGJlaGF2aW9y Lg0KPiA+ID4gPiA+ID4gPj4+IEJlZm9yZSB0aGlzLCBlYWNoIFBNRCB0b29rIGl0cyBvd24gaW50 ZXJwcmV0YXRpb24gdG8gd2hhdA0KPiA+ID4gPiA+ID4gPj4+IHNob3VsZCBiZSB0aGUNCj4gPiA+ ID4gPiA+ID4+IG1heGltdW0gc2l6ZSBmb3IgTFJPIGFnZ3JlZ2F0ZWQgcGFja2V0cy4NCj4gPiA+ ID4gPiA+ID4+PiBOb3csIHRoZSB1c2VyIG11c3Qgc2F5IHdoYXQgaXMgaGlzIGludGVuc2lvbiwg YW5kIHRoZSBldGhkZXYNCj4gPiA+ID4gPiA+ID4+PiBjYW4gbGltaXQgaXQNCj4gPiA+ID4gPiA+ ID4+IGFjY29yZGluZyB0byB0aGUgZGV2aWNlIGNhcGFiaWxpdHkuDQo+ID4gPiA+ID4gPiA+Pj4g QnkgdGhpcyB3YXksIGFsc28sIHRoZSBQTUQgY2FuIG9yZ2FuaXplXG9wdGltaXplIGl0cyBkYXRh LXBhdGgNCj4gPiBtb3JlLg0KPiA+ID4gPiA+ID4gPj4+IEFsc28sIHRoZSBhcHBsaWNhdGlvbiBj YW4gY3JlYXRlIGRpZmZlcmVudCBtZW1wb29scyBmb3IgTFJPDQo+ID4gPiA+ID4gPiA+Pj4gcXVl dWVzIHRvDQo+ID4gPiA+ID4gPiA+PiBhbGxvdyBiaWdnZXIgcGFja2V0IHJlY2VpdmluZyBmb3Ig TFJPIHRyYWZmaWMuDQo+ID4gPiA+ID4gPiA+Pj4NCj4gPiA+ID4gPiA+ID4+Pj4gLSBXaGF0IGhh cHBlbnMgaWYgUE1EIGRvZXNuJ3QgcHJvdmlkZSAnbWF4X2xyb19wa3Rfc2l6ZScsDQo+ID4gPiA+ ID4gPiA+Pj4+IHNvIGl0IGlzDQo+ID4gPiA+ICcwJz8NCj4gPiA+ID4gPiA+ID4+PiBZZXMsIHlv dSBjYW4gc2VlIHRoZSBmZWF0dXJlIGRlc2NyaXB0aW9uIERla2VsIGFkZGVkLg0KPiA+ID4gPiA+ ID4gPj4+IFRoaXMgcGF0Y2ggYWxzbyB1cGRhdGVzIGFsbCB0aGUgUE1EcyBzdXBwb3J0IGFuIExS TyBmb3Igbm9uLTANCj4gPiB2YWx1ZS4NCj4gPiA+ID4gPiA+ID4+DQo+ID4gPiA+ID4gPiA+PiBP ZiBjb3Vyc2UgSSBjYW4gc2VlIHRoZSB1cGRhdGVzIE1hdGFuLCBteSBwb2ludCBpcyAiV2hhdA0K PiA+ID4gPiA+ID4gPj4gaGFwcGVucyBpZiBQTUQgZG9lc24ndCBwcm92aWRlICdtYXhfbHJvX3Br dF9zaXplJyIsDQo+ID4gPiA+ID4gPiA+PiAxKSBUaGVyZSBpcyBubyBjaGVjayBmb3IgaXQgcmln aHQsIHNvIGl0IGlzIGFjY2VwdGFibGU/DQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+IFRo ZXJlIGlzIGNoZWNrLg0KPiA+ID4gPiA+ID4gPiBJZiB0aGUgY2FwYWJpbGl0eSBpcyAwLCBhbnkg bm9uLXplcm8gY29uZmlndXJhdGlvbiB3aWxsIGZhaWwuDQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ ID4gPiA+PiAyKSBBcmUgd2UgbWFraW5nIHRoaXMgZmlsZWQgbWFuZGF0b3J5IHRvIHByb3ZpZGUg Zm9yIFBNRHMsIGl0DQo+ID4gPiA+ID4gPiA+PiBpcyBlYXN5IHRvIG1ha2UgbmV3IGZpZWxkcyBt YW5kYXRvcnkgZm9yIFBNRHMgYnV0IGlzIHRoaXMNCj4gPiA+ID4gPiA+ID4+IHJlYWxseQ0KPiA+ ID4gPiBuZWNlc3Nhcnk/DQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+IFllcywgZm9yIGNv bnNpc3RlbmNlLg0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPj4+DQo+ID4gPiA+ID4gPiA+ Pj4gYXMgc2FtZSBhcyBtYXggcnggcGt0IGxlbiwgbm8/DQo+ID4gPiA+ID4gPiA+Pj4NCj4gPiA+ ID4gPiA+ID4+Pj4gLSBXaGF0IGRvIHlvdSB0aGluayBzZXR0aW5nICdtYXhfbHJvX3BrdF9zaXpl JyBjb25maWcgdmFsdWUNCj4gPiA+ID4gPiA+ID4+Pj4gdG8gd2hhdCBQTUQgcHJvdmlkZWQgaWYg YXBwbGljYXRpb24gZG9lc24ndCBwcm92aWRlIGl0Pw0KPiA+ID4gPiA+ID4gPj4+IFNhbWUgYW5z d2VycyBhcyBhYm92ZS4NCj4gPiA+ID4gPiA+ID4+Pg0KPiA+ID4gPiA+ID4gPj4NCj4gPiA+ID4g PiA+ID4+IElmIGFwcGxpY2F0aW9uIGRvZXNuJ3QgY2FyZSB0aGUgdmFsdWUsIGFzIGl0IGhhcyBi ZWVuIHRpbGwNCj4gPiA+ID4gPiA+ID4+IG5vdywgYW5kIG5vdCBwcm92aWRlZCBleHBsaWNpdCAn bWF4X2xyb19wa3Rfc2l6ZScsIHdoeSBub3QNCj4gPiA+ID4gPiA+ID4+IGV0aGRldiBsZXZlbCB1 c2UgdGhlIHZhbHVlIHByb3ZpZGVkIGJ5IFBNRCBpbnN0ZWFkIG9mIGZhaWxpbmc/DQo+ID4gPiA+ ID4gPiA+DQo+ID4gPiA+ID4gPiA+IEFnYWluLCBzYW1lIHF1ZXN0aW9uIHdlIGNhbiBhc2sgb24g bWF4IHJ4IHBrdCBsZW4uDQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+IExvb2tzIGxpa2Ug dGhlIHBhY2tldCBzaXplIGlzIHZlcnkgaW1wb3J0YW50IHZhbHVlIHdoaWNoDQo+ID4gPiA+ID4g PiA+IHNob3VsZCBiZSBzZXQgYnkNCj4gPiA+ID4gPiA+IHRoZSBhcHBsaWNhdGlvbi4NCj4gPiA+ ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gUHJldmlvdXMgYXBwbGljYXRpb25zIGhhdmUgbm8gb3B0 aW9uIHRvIGNvbmZpZ3VyZSBpdCwgc28gdGhleQ0KPiA+ID4gPiA+ID4gPiBoYXZlbid0DQo+ID4g PiA+ID4gPiBjb25maWd1cmUgaXQsIChwcm9iYWJseSBjb3ZlciBpdCBzb21laG93KSBJIHRoaW5r IGl0IGlzIG91ciBtaXNzDQo+ID4gPiA+ID4gPiB0byBzdXBwbHkgdGhpcyBpbmZvLg0KPiA+ID4g PiA+ID4gPg0KPiA+ID4gPiA+ID4gPiBMZXQncyBkbyBpdCBpbiBzYW1lIHdheSBhcyB3ZSBkbyBt YXggcnggcGt0IGxlbiAoYXMgdGhpcyBwYXRjaCBtYWluDQo+ID4gaWRlYSkuDQo+ID4gPiA+ID4g PiA+IExhdGVyLCB3ZSBjYW4gY2hhbmdlIGJvdGggdG8gb3RoZXIgbWVhbmluZy4NCj4gPiA+ID4g PiA+ID4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBJIHRoaW5rIGl0IGlzIG5vdCBhIGdvb2Qg cmVhc29uIHRvIGludHJvZHVjZSBhIG5ldyBtYW5kYXRvcnkNCj4gPiA+ID4gPiA+IGNvbmZpZyBv cHRpb24gZm9yIGFwcGxpY2F0aW9uIGJlY2F1c2Ugb2YgJ21heF9yeF9wa3RfbGVuJyBkb2VzIGl0 Lg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gSXQgaXMgbWFuZGF0b3J5IG9ubHkgaWYgTFJPIG9mZmxv YWQgaXMgY29uZmlndXJlZC4NCj4gPiA+ID4NCj4gPiA+ID4gU28gbWF4X3J4X3BrdF9sZW4gd2ls bCByZW1haW4gbWF4IHNpemUgb2Ygb25lIHBhY2tldCwgd2hpbGUNCj4gPiA+ID4gbWF4X2xyb19s ZW4gd2lsbCBiZSBtYXggYWNjdW11bGF0ZSBzaXplIGZvciBlYWNoIExSTyBzZXNzaW9uPw0KPiA+ ID4gPg0KPiA+ID4NCj4gPiA+IFllcy4NCj4gPiA+DQo+ID4gPiA+IEJUVywgSSB0aGluayB0aGF0 IGZvciBpeGdiZSBtYXggbHJvIGlzIFJURV9JUFY0X01BWF9QS1RfTEVOLg0KPiA+ID4NCj4gPiA+ IFBsZWFzZSBzZWUgbXkgY2hhbmdlIGluIGRyaXZlcnMvbmV0L2l4Z2JlL2l4Z2JlX2V0aGRldi5j Lg0KPiA+ID4gQ2hhbmdlIHRvIFJURV9JUFY0X01BWF9QS1RfTEVOPw0KPiA+ID4NCj4gPiA+ID4g aXhnYmVfdmYsIGFzIEkgcmVtZW1iZXIsIGRvZXNu4oCZdCBzdXBwb3J0IExSTyBhdCBhbGwuDQo+ ID4gPg0KPiA+ID4gUGxlYXNlIHNlZSBteSBjaGFuZ2UgaW4gZHJpdmVycy9uZXQvaXhnYmUvaXhn YmVfdmZfcmVwcmVzZW50b3IuYw0KPiA+ID4gUmVtb3ZlIGl0Pw0KPiA+DQo+ID4gWWVzLCBwbGVh c2UgZm9yIGJvdGguDQo+IA0KPiBXaWxsIGNoYW5nZSBpbiB2NS4NCj4gDQo+ID4NCj4gPiA+DQo+ ID4gPiA+DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IFdpbGwgaXQgd29yaywgaWY6DQo+ID4gPiA+ ID4gPiAtIElmIGFwcGxpY2F0aW9uIGRvZXNuJ3QgcHJvdmlkZSB0aGlzIHZhbHVlLCB1c2UgdGhl IFBNRCBtYXgNCj4gPiA+ID4gPg0KPiA+ID4gPiA+IE1heSBjYXVzZSBhIHByb2JsZW0gaWYgdGhl IG1idWYgc2l6ZSBpcyBub3QgZW5vdWdoIGZvciB0aGUgUE1EDQo+ID4gbWF4aW11bS4NCj4gPiA+ ID4NCj4gPiA+ID4gQW5vdGhlciBxdWVzdGlvbiwgd2hhdCB3aWxsIGhhcHBlbiBpZiBQTUQgd2ls bCBpZ25vcmUgdGhhdCB2YWx1ZSBhbmQNCj4gPiA+ID4gd2lsbCBnZW5lcmF0ZSBwYWNrZXRzIGJp Z2dlciB0aGVuIHJlcXVlc3RlZD8NCj4gPiA+DQo+ID4gPiBQTUQgc2hvdWxkIHVzZSB0aGlzIHZh bHVlIGFuZCBub3QgaWdub3JlIGl0Lg0KPiA+DQo+ID4gSG1tLCBvayBidXQgdGhpcyBwYXRjaCB1 cGRhdGVzIG14bCBkcml2ZXIgb25seS4uLg0KPiA+IEkgc3VwcG9zZSB5b3UgZXhwZWN0IG90aGVy IFBNRCBtYWludGFpbmVycyB0byBkbyB0aGUgam9iIGZvciB0aGVpciBQTURzLA0KPiA+IHJpZ2h0 Pw0KPiA+IElmIHNvLCBhcmUgdGhleSBhd2FyZSAoYW5kIGFncmVlKSBmb3IgdGhpcyBuZXcgaGFy ZCByZXF1aXJlbWVudCBhbmQgY2hhbmdlcw0KPiA+IHJlcXVpcmVkPw0KPiA+IEFnYWluIHdoYXQg UE1EIHNob3VsZCBkbyBpZiBpdCBjYW4ndCBzdXBwb3J0IGV4YWN0IHZhbHVlPw0KPiA+IExldCBz YXkgdXNlciBhc2tlZCBtYXhfbHJvX3NpemU9MjBLQiBidXQgUE1EIGNhbiBkbyBvbmx5IDE2S0Ig b3IgMjRLQj8NCj4gPiBTaG91bGQgaXQgZmFpbCwgb3Igcm91bmQgdG8gc21hbGxlc3QsIG9yIC4u Lj8NCj4gPg0KPiA+IEFjdHVhbGx5IEkgd29uZGVyLCBzaG91bGQgaXQgcmVhbGx5IGJlIGEgaGFy ZCByZXF1aXJlbWVudCBvciBtb3JlIGxpa2UgYQ0KPiA+IGd1aWRhbmNlIHRvIFBNRD8NCj4gPiBX aHkgYXBwIG5lZWRzIGFuZCAqZXhhY3QqIHZhbHVlIGZvciBMUk8gc2l6ZT8NCj4gDQo+IFRoZSBl eGFjdCB2YWx1ZSBzaG91bGQgYmUgY29uZmlndXJlZCB0byBIVyBhcyBMUk8gc2Vzc2lvbiBsaW1p dC4NCg0KQnV0IGlmIHRoZSBIVyBjYW4ndCBzdXBwb3J0IHRoaXMgZXhhY3QgdmFsdWUsIHNlZSB0 aGUgZXhhbXBsZSBhYm92ZT8NCkluIGZhY3QsIHNob3VsZG4ndCB3ZSBhbGxvdyBQTUQgdG8gZm9y YmlkIHVzZXIgdG8gY29uZmlndXJlIG1heCBMUk8gc2l6ZT8NCkxldCBzYXkgaWYgaW4gZGV2X2lu Zm8gbWF4X2xyb19zaXplPT0wLCB0aGVuIFBNRCBkb2Vzbid0IHN1cHBvcnQgTFJPIHNpemUNCmNv bmZpZ3VyYXRpb24gYXQgYWxsLg0KVGhhdCB3YXkgUE1EcyB3aG8gZG8gc3VwcG9ydCBMUk8sIGJ1 dCBkb24ndCB3YW50IHRvIChjYW4ndCB0bykNCnN1cHBvcnQgY29uZmlndXJhYmxlIExSTyBzaXpl IHdpbGwgc3RheSB1bnRvdWNoZWQuDQoNCj4gDQo+ID4NCj4gPg0KPiA+ID4gPg0KPiA+ID4gPiA+ DQo+ID4gPiA+ID4gPiAtIElmIGJvdGggYXBwbGljYXRpb24gYW5kIFBNRCBkb2Vzbid0IHByb3Zp ZGUgdGhpcyB2YWx1ZSwgZmFpbA0KPiA+ID4gPiA+ID4gb24NCj4gPiA+ID4gY29uZmlndXJlKCk/ DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBJdCB3aWxsIHdvcmsuDQo+ID4gPiA+ID4gSW4gbXkgb3Bp bmlvbiAtIG5vdCBpZGVhbC4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IE1hdGFuDQo+ID4gPiA+ID4N Cg0K