From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id 49B0E58F3 for ; Thu, 23 Apr 2015 13:16:28 +0200 (CEST) Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga103.fm.intel.com with ESMTP; 23 Apr 2015 04:16:27 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.11,630,1422950400"; d="scan'208";a="718042302" Received: from irsmsx154.ger.corp.intel.com ([163.33.192.96]) by orsmga002.jf.intel.com with ESMTP; 23 Apr 2015 04:16:26 -0700 Received: from irsmsx105.ger.corp.intel.com ([169.254.7.178]) by IRSMSX154.ger.corp.intel.com ([169.254.12.138]) with mapi id 14.03.0224.002; Thu, 23 Apr 2015 12:16:25 +0100 From: "Ananyev, Konstantin" To: Vladislav Zolotarov Thread-Topic: [dpdk-dev] [PATCH v8 0/3]: Add LRO support to ixgbe PMD Thread-Index: AQHQfbT6iei3DFVEDkiZudJgftmtrp1acbDwgAAAJ1A= Date: Thu, 23 Apr 2015 11:16:25 +0000 Message-ID: <2601191342CEEE43887BDE71AB9772582142101E@irsmsx105.ger.corp.intel.com> References: <1426701144-21231-1-git-send-email-vladz@cloudius-systems.com> <55372A8A.1080902@cloudius-systems.com> <553767A0.4040707@cloudius-systems.com> <2601191342CEEE43887BDE71AB97725821420FA7@irsmsx105.ger.corp.intel.com> <2601191342CEEE43887BDE71AB9772582142100A@irsmsx105.ger.corp.intel.com> In-Reply-To: <2601191342CEEE43887BDE71AB9772582142100A@irsmsx105.ger.corp.intel.com> Accept-Language: en-IE, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [163.33.239.181] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Cc: "dev@dpdk.org" Subject: Re: [dpdk-dev] [PATCH v8 0/3]: Add LRO support to ixgbe PMD X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 23 Apr 2015 11:16:29 -0000 DQoNCj4gRnJvbTogVmxhZGlzbGF2IFpvbG90YXJvdiBbbWFpbHRvOnZsYWR6QGNsb3VkaXVzLXN5 c3RlbXMuY29tXQ0KPiBTZW50OiBUaHVyc2RheSwgQXByaWwgMjMsIDIwMTUgMTI6MDIgUE0NCj4g VG86IEFuYW55ZXYsIEtvbnN0YW50aW4NCj4gQ2M6IFpoYW5nLCBIZWxpbjsgZGV2QGRwZGsub3Jn DQo+IFN1YmplY3Q6IFJFOiBbZHBkay1kZXZdIFtQQVRDSCB2OCAwLzNdOiBBZGQgTFJPIHN1cHBv cnQgdG8gaXhnYmUgUE1EDQo+IA0KPiANCj4gT24gQXByIDIzLCAyMDE1IDEyOjIwIFBNLCAiQW5h bnlldiwgS29uc3RhbnRpbiIgPGtvbnN0YW50aW4uYW5hbnlldkBpbnRlbC5jb20+IHdyb3RlOg0K PiA+DQo+ID4gQXJnaCwgeWVwIG15IGJhZCAtwqAgc29tZWhvdyBtaXNzZWQgdGhhdCBpeGdiZS9p eGdiZV90eXBlLmggd2FzIG1vZGlmaWVkLg0KPiA+IFllcCwgSSBzdXBwb3NlIGl0IGhhcyB0byBi ZSBmaXhlZCBhc2FwLg0KPiA+IFZsYWQsIGNhbiB5b3UgcHJvdmlkZSBhIHBhdGNoIGFuZCBtb3Zl IGl0IGludG8gc3RydWN0IGl4Z2JlX2FkYXB0ZXIsIGFzIHdhcyBzdWdnZXN0ZWQ/DQo+IEkgc3Vk ZGVubHkgcmVjYWxsZWQgdGhhdCBpIGhhZCBwcm9taXNlZCB1IHNvbWV0aGluZyBpbiByZWdhcmQg dG8gcmVjdl9zY2F0dGVyZWQoKS4uLiA7KQ0KPiBJJ2xsIHByZXBhcmUgYSBjbGVhbnVwIHNlcmll cyB0aGF0IGZpeGVzIGJvdGggdGhpcyAiaXNzdWUiIGFuZCBraWxscyB0aGUgaXhnYmVfc2NhdHRl cmVkX3h4eCgpIHJlcGxhY2luZyB0aGVtIHdpdGggX2xybygpIGNhbGxiYWNrcy4NCg0KU291bmRz IGdyZWF0IDopDQpUaGFua3MNCktvbnN0YW50aW4NCg0KPiA+IFRoYW5rcw0KPiA+IEtvbnN0YW50 aW4NCj4gPg0KPiA+DQo+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gRnJv bTogWmhhbmcsIEhlbGluDQo+ID4gPiBTZW50OiBUaHVyc2RheSwgQXByaWwgMjMsIDIwMTUgMToy OCBBTQ0KPiA+ID4gVG86IFZsYWQgWm9sb3Rhcm92OyBkZXZAZHBkay5vcmcNCj4gPiA+IENjOiBB bmFueWV2LCBLb25zdGFudGluDQo+ID4gPiBTdWJqZWN0OiBSRTogW2RwZGstZGV2XSBbUEFUQ0gg djggMC8zXTogQWRkIExSTyBzdXBwb3J0IHRvIGl4Z2JlIFBNRA0KPiA+ID4NCj4gPiA+IFZsYWQN Cj4gPiA+DQo+ID4gPiBPSy4gVGhhbmtzISBXZSB3aWxsIHRyeSB0byBzZWUgaWYgYSBmb2xsb3cg dXAgcGF0Y2ggc2V0IGNhbiBiZSBzdWJtaXR0ZWQgc29vbi4NCj4gPiA+DQo+ID4gPiBSZWdhcmRz LA0KPiA+ID4gSGVsaW4NCj4gPiA+DQo+ID4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0t DQo+ID4gPiA+IEZyb206IFZsYWQgWm9sb3Rhcm92IFttYWlsdG86dmxhZHpAY2xvdWRpdXMtc3lz dGVtcy5jb21dDQo+ID4gPiA+IFNlbnQ6IFdlZG5lc2RheSwgQXByaWwgMjIsIDIwMTUgNToxOSBQ TQ0KPiA+ID4gPiBUbzogWmhhbmcsIEhlbGluOyBkZXZAZHBkay5vcmcNCj4gPiA+ID4gQ2M6IEFu YW55ZXYsIEtvbnN0YW50aW4NCj4gPiA+ID4gU3ViamVjdDogUmU6IFtkcGRrLWRldl0gW1BBVENI IHY4IDAvM106IEFkZCBMUk8gc3VwcG9ydCB0byBpeGdiZSBQTUQNCj4gPiA+ID4NCj4gPiA+ID4N Cj4gPiA+ID4NCj4gPiA+ID4gT24gMDQvMjIvMTUgMDg6MjgsIFpoYW5nLCBIZWxpbiB3cm90ZToN Cj4gPiA+ID4gPiBWbGFkLCBob3cgYWJvdXQgdGhlIG5ldyBlbGVtZW50cyBhZGRlZD8gRS5nLiBy eF92ZWNfYWxsb3dlZCB3YXMgYWRkZWQgaW4NCj4gPiA+ID4gc3RydWN0IGl4Z2JlX2h3IGluIGl4 Z2JlX3R5cGUuaC4NCj4gPiA+ID4NCj4gPiA+ID4gSWYgbWVtb3J5IChhbmQgc2lnaHQpIHNlcnZl cyBtZSB3ZWxsIHRoaXMgd2Fzbid0IGluIHRoaXMgc2VyaWVzLi4uIEkgc3VnZ2VzdCB3ZQ0KPiA+ ID4gPiBtb3ZlIHRvIHRoZSByZWxldmFudCB0aHJlYWQgKCJidWcgZml4ZXMgaW4gdGhlIGl4Z2Jl IFBGIFBNRCBSeCBmbG93IikuDQo+ID4gPiA+IEluIGFueSBjYXNlLCBib3RoIHRoaXMgYW5kIHRo YXQgc2VyaWVzIHdlcmUgYWxyZWFkeSBjb21taXR0ZWQ6IHRoaXMgdG8NCj4gPiA+ID4gMi4xIHRy ZWUgYW5kIHRoZSBvbmUgd2l0aCB0aGUgaXNzdWUgdSByIHJlZmVycmluZyAtIHRvIDIuMC4gVSBh cmUgd2VsY29tZSB0byBwb3N0DQo+ID4gPiA+IGEgZm9sbG93IHVwIHNlcmllcy4NCj4gPiA+ID4N Cj4gPiA+ID4gTW92aW5nIHRoZW0gc2F5IHRvIGl4Z2JlX2FkYXB0ZXIgd291bGQgYWRkcmVzcyB0 aGUgaXNzdWUgSSBndWVzcy4gSXQgd291bGQgYmUNCj4gPiA+ID4gbmljZSBpZiB1IGNvdWxkIEND IG1lIHdoZW4gdSBzZW5kIHRoZSBzZXJpZXMuDQo+ID4gPiA+DQo+ID4gPiA+IHRoYW5rcywNCj4g PiA+ID4gdmxhZA0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gUmVnYXJkcywNCj4gPiA+ID4gPiBIZWxp bg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4g PiA+ID4+IEZyb206IFZsYWQgWm9sb3Rhcm92IFttYWlsdG86dmxhZHpAY2xvdWRpdXMtc3lzdGVt cy5jb21dDQo+ID4gPiA+ID4+IFNlbnQ6IFdlZG5lc2RheSwgQXByaWwgMjIsIDIwMTUgMTI6NTkg UE0NCj4gPiA+ID4gPj4gVG86IFpoYW5nLCBIZWxpbjsgZGV2QGRwZGsub3JnDQo+ID4gPiA+ID4+ IENjOiBBbmFueWV2LCBLb25zdGFudGluDQo+ID4gPiA+ID4+IFN1YmplY3Q6IFJlOiBbZHBkay1k ZXZdIFtQQVRDSCB2OCAwLzNdOiBBZGQgTFJPIHN1cHBvcnQgdG8gaXhnYmUgUE1EDQo+ID4gPiA+ ID4+DQo+ID4gPiA+ID4+DQo+ID4gPiA+ID4+DQo+ID4gPiA+ID4+IE9uIDA0LzIyLzE1IDA0OjIz LCBaaGFuZywgSGVsaW4gd3JvdGU6DQo+ID4gPiA+ID4+PiBIaSBWbGFkDQo+ID4gPiA+ID4+Pg0K PiA+ID4gPiA+Pj4gSSBoYXZlIGEgY29uY2VybiBhYm91dCB0aGUgY29kZSBjaGFuZ2VzIHlvdSBh ZGRlZCBpbiBpeGdiZV90eXBlLmguDQo+ID4gPiA+ID4+IEhlbGluLCB2OSBvZiB0aGlzIHNlcmll cyBoYXMgYWRkcmVzc2VkIGV4YWN0bHkgdGhpcyAiaXNzdWUiIGFsbCBuZXcNCj4gPiA+ID4gPj4g bWFjcm9zIGhhdmUgYmVlbiBtb3ZlZCB0byBpeGdiZV9ldGhkZXYuaC4NCj4gPiA+ID4gPj4NCj4g PiA+ID4gPj4+IEZvciBpeGdiZSwgYWxsIHNvdXJjZSBmaWxlcyBpbiBsaWJydGVfcG1kX2l4Z2Jl L2l4Z2JlLCBleGNlcHQNCj4gPiA+ID4gPj4+IGl4Z2JlX29zZGVwLmgNCj4gPiA+ID4gPj4gd2Vy ZSBjYWxsZWQgYXMgImJhc2UgZHJpdmVyIiwgd2hpY2ggd2FzIG5vdCBkZXZlbG9wZWQgYnkgRFBE Sw0KPiA+ID4gPiA+PiBkZXZlbG9wZXJzLCBhbmQgcmVsZWFzZWQgYnkgdGhlIG90aGVyIHRlYW0u IFdlIG5ldmVyIG1vZGlmeSBhbnkgY29kZQ0KPiA+ID4gPiA+PiBpbiB0aG9zZSBiYXNlIGRyaXZl ciBzb3VyY2UgZmlsZXMsIGFuZCBqdXN0IGNvcHkgdGhvc2UgZmlsZSBpbnRvIERQREsgcHJvamVj dC4NCj4gPiA+ID4gPj4+IFdlIGRpZCBldmVyeXRoaW5nIGluIERQREsgZGV2ZWxvcGVkIHNvdXJj ZSBmaWxlcy4gQXMgd2UgZGVwZW5kcyBvbg0KPiA+ID4gPiA+Pj4gdGhhdA0KPiA+ID4gPiA+PiB0 ZWFtIHRvIHVwZGF0ZSBmdXR1cmUgYmFzZSBkcml2ZXIgZm9yIHVzLCBhbmQgd2UgZG9uJ3Qgd2Fu dCB0bw0KPiA+ID4gPiA+PiBtYWludGFpbiBhbnkgY29kZSBjaGFuZ2VzIGluICJiYXNlIGRyaXZl ciIuIFNvIHdlIG5lZWQgdG8gdGhpbmsgdG8NCj4gPiA+ID4gPj4gbW92ZSB5b3VyIGNvZGUgY2hh bmdlcyBpbiBpeGdiZV90eXBlLmggdG8gb3RoZXIgRFBESyBkZXZlbG9wZWQgc291cmNlDQo+ID4g PiA+IGZpbGVzLg0KPiA+ID4gPiA+Pj4gVGhvdWdoIHlvdXIgY29kZSBjaGFuZ2VzIGlzIGdvb2Qg ZW5vdWdoLCBidXQgd2UgbWF5IG5lZWQgdG8gY29tcGx5DQo+ID4gPiA+ID4+PiB3aXRoDQo+ID4g PiA+ID4+IHdoYXQgd2UgZGlkIGJlZm9yZS4gVGhpcyB3aWxsIHNhdmUgb3VyIG1haW50YWluaW5n IGVmZm9ydHMgaW4gdGhlDQo+ID4gPiA+ID4+IGZ1dHVyZS4gQWxzbyB3ZSBoYXZlIHNpbWlsYXIg cnVsZXMgZm9yIGUxMDAwLCBpNDBlLCBmbTEway4gVGhhbmsgeW91IHZlcnkNCj4gPiA+ID4gbXVj aCENCj4gPiA+ID4gPj4+IFJlZ2FyZHMsDQo+ID4gPiA+ID4+PiBIZWxpbg0KPiA+ID4gPiA+Pj4N Cj4gPiA+ID4gPj4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gPiA+Pj4+IEZy b206IGRldiBbbWFpbHRvOmRldi1ib3VuY2VzQGRwZGsub3JnXSBPbiBCZWhhbGYgT2YgVmxhZCBa b2xvdGFyb3YNCj4gPiA+ID4gPj4+PiBTZW50OiBUaHVyc2RheSwgTWFyY2ggMTksIDIwMTUgMTo1 MiBBTQ0KPiA+ID4gPiA+Pj4+IFRvOiBkZXZAZHBkay5vcmcNCj4gPiA+ID4gPj4+PiBTdWJqZWN0 OiBbZHBkay1kZXZdIFtQQVRDSCB2OCAwLzNdOiBBZGQgTFJPIHN1cHBvcnQgdG8gaXhnYmUgUE1E DQo+ID4gPiA+ID4+Pj4NCj4gPiA+ID4gPj4+PiBUaGlzIHNlcmllcyBhZGRzIHRoZSBtaXNzaW5n IGZsb3cgZm9yIGVuYWJsaW5nIHRoZSBMUk8gaW4gdGhlDQo+ID4gPiA+ID4+Pj4gZXRoZGV2IGFu ZCBhZGRzIGEgc3VwcG9ydCBmb3IgdGhpcyBmZWF0dXJlIGluIHRoZSBpeGdiZSBQTUQuIFRoZXJl DQo+ID4gPiA+ID4+Pj4gaXMgYSBiaWcgaG9wZSB0aGF0IHRoaXMgaW5pdGlhdGl2ZSBpcyBnb2lu ZyB0byBiZSBwaWNrZWQgdXAgYnkgc29tZQ0KPiA+ID4gPiA+Pj4+IEludGVsIGRldmVsb3BlciB0 aGF0IHdvdWxkIGFkZCB0aGUgTFJPIHN1cHBvcnQgdG8gb3RoZXIgSW50ZWwgUE1Ecy4NCj4gPiA+ ID4gPj4+Pg0KPiA+ID4gPiA+Pj4+IFRoZSBzZXJpZXMgc3RhcnRzIHdpdGggc29tZSBjbGVhbnVw IHdvcmsgaW4gdGhlIGNvZGUgdGhlIGZpbmFsDQo+ID4gPiA+ID4+Pj4gcGF0Y2ggKHRoZSBhY3R1 YWwgYWRkaW5nIG9mIHRoZSBMUk8gc3VwcG9ydCkgaXMgZ29pbmcgdG8NCj4gPiA+ID4gdG91Y2gv dXNlL2NoYW5nZS4NCj4gPiA+ID4gPj4+PiBUaGVyZSBhcmUgc3RpbGwgcXVpdGUgYSBmZXcgaXNz dWVzIGluIHRoZSBpeGdiZSBQTUQgY29kZSBsZWZ0IGJ1dA0KPiA+ID4gPiA+Pj4+IHRoZXkgaGF2 ZSB0byBiZSBhIG1hdHRlciBvZiBhIGRpZmZlcmVudCBzZXJpZXMgYW5kIEkndmUgbGVmdCBhIGZl dyAiVE9ETyINCj4gPiA+ID4gPj4+PiByZW1hcmtzIGluIHRoZSBjb2RlLg0KPiA+ID4gPiA+Pj4+ DQo+ID4gPiA+ID4+Pj4gVGhlIExSTyAoIlJTQyIgaW4gSW50ZWwncyBjb250ZXh0KSBQTUQgY29t cGxldGlvbiBoYW5kbGluZyBjb2RlDQo+ID4gPiA+ID4+Pj4gZm9sbG93cyB0aGUgc2FtZSBkZXNp Z24gYXMgdGhlIGNvcnJlc3BvbmRpbmcgTGludXggYW5kIEZyZWVCU0QNCj4gPiA+ID4gPj4+PiBp bXBsZW1lbnRhdGlvbjogcGFzcyB0aGUgYWdncmVnYXRpb24ncyBjbHVzdGVyIEhFQUQgYnVmZmVy IHRvIHRoZQ0KPiA+ID4gPiA+Pj4+IE5FWFRQIGVudHJ5IG9mIHRoZSBzb2Z0d2FyZSByaW5nIHRp bGwgRU9QIGlzIG1ldC4NCj4gPiA+ID4gPj4+Pg0KPiA+ID4gPiA+Pj4+IEhXIGNvbmZpZ3VyYXRp b24gZm9sbG93cyB0aGUgY29ycmVzcG9uZGluZyBzcGVjczogdGhpcyBmZWF0dXJlIGlzDQo+ID4g PiA+ID4+Pj4gc3VwcG9ydGVkIG9ubHkgYnkgeDU0MCBhbmQNCj4gPiA+ID4gPj4+PiA4MjU5OSBQ RiBkZXZpY2VzLg0KPiA+ID4gPiA+Pj4+DQo+ID4gPiA+ID4+Pj4gVGhlIGZlYXR1cmUgaGFzIGJl ZW4gdGVzdGVkIHdpdGggc2Vhc3RhciBUQ1Agc3RhY2sgd2l0aCB0aGUNCj4gPiA+ID4gPj4+PiBm b2xsb3dpbmcgY29uZmlndXJhdGlvbiBvbiBUeCBzaWRlOg0KPiA+ID4gPiA+Pj4+wqAgwqAgwqAg LSBNVFU6IDQwMEINCj4gPiA+ID4gPj4+PsKgIMKgIMKgIC0gMTAwIGNvbmN1cnJlbnQgVENQIGNv bm5lY3Rpb25zLg0KPiA+ID4gPiA+Pj4+DQo+ID4gPiA+ID4+Pj4gVGhlIHJlc3VsdHMgd2VyZToN Cj4gPiA+ID4gPj4+PsKgIMKgIMKgIC0gV2l0aG91dCBMUk86IHRvdGFsIHRocm91Z2hwdXQ6IDAu MTJHYnBzLCBjb2VmZmljaWVudCBvZiB2YXJpYW5jZToNCj4gPiA+ID4gPj4gMS40MSUNCj4gPiA+ ID4gPj4+PsKgIMKgIMKgIC0gV2l0aCBMUk86wqAgwqAgdG90YWwgdGhyb3VnaHB1dDogOC4yMUdi cHMsIGNvZWZmaWNpZW50IG9mDQo+ID4gPiA+IHZhcmlhbmNlOg0KPiA+ID4gPiA+PiAwLjU5JQ0K PiA+ID4gPiA+Pj4+IFRoaXMgaXMgYW4gYWxtb3N0IGZhY3RvciA4MCBpbXByb3ZlbWVudC4NCj4g PiA+ID4gPj4+Pg0KPiA+ID4gPiA+Pj4+IE5ldyBpbiB2ODoNCj4gPiA+ID4gPj4+PsKgIMKgIMKg IC0gRml4ZWQgdGhlIHN0cnVjdHMgbmFtaW5nOiBpZ2JfeHh4IC0+IGl4Z2JlX3h4eCAoc29tZQ0K PiA+ID4gPiA+Pj4+IGxlZnRvdmVycyBpbg0KPiA+ID4gPiA+PiBQQVRDSDIpLg0KPiA+ID4gPiA+ Pj4+wqAgwqAgwqAgLSBUb29rIHRoZSBSU0MgY29uZmlndXJhdGlvbiBjb2RlIGZyb20gaXhnYmVf ZGV2X3J4X2luaXQoKQ0KPiA+ID4gPiA+Pj4+IGludG8gYQ0KPiA+ID4gPiA+PiBzZXBhcmF0ZQ0K PiA+ID4gPiA+Pj4+wqAgwqAgwqAgwqAgZnVuY3Rpb24gLSBpeGdiZV9zZXRfcnNjKCkuDQo+ID4g PiA+ID4+Pj7CoCDCoCDCoCAtIEFkZGVkIHNvbWUgbWlzc2luZyBtYWNyb3MgZm9yIEhXIGNvbmZp Z3VyYXRpb24uDQo+ID4gPiA+ID4+Pj7CoCDCoCDCoCAtIFN0eWxpbmcgYWRqdXN0bWVudHM6DQo+ ID4gPiA+ID4+Pj7CoCDCoCDCoCDCoCDCoC0gRnVuY3Rpb25zIG5hbWVzLg0KPiA+ID4gPiA+Pj4+ wqAgwqAgwqAgwqAgwqAtIEZ1bmN0aW9ucyBkZXNjcmlwdGlvbnMuDQo+ID4gPiA+ID4+Pj7CoCDC oCDCoCAtIFJld29ya2VkIHRoZSBpeGdiZV9mcmVlX3JzY19jbHVzdGVyKCkgY29kZSB0byBtYWtl IGl0IG1vcmUNCj4gPiA+ID4gPj4gcmVhZGFibGUuDQo+ID4gPiA+ID4+Pj7CoCDCoCDCoCAtIEtp bGwgdGhlIEhFQURFUl9TUExJVCBmbG93IGluIGl4Z2JlX3NldF9yc2MoKSBzaW5jZSBpdCdzIG5v dA0KPiA+ID4gPiA+Pj4+IHN1cHBvcnRlZA0KPiA+ID4gPiA+PiBieQ0KPiA+ID4gPiA+Pj4+wqAg wqAgwqAgwqAgaXhnYmUgUE1ELg0KPiA+ID4gPiA+Pj4+DQo+ID4gPiA+ID4+Pj4gTmV3IGluIHY3 Og0KPiA+ID4gPiA+Pj4+wqAgwqAgwqAgLSBGcmVlIG5vdC15ZXQtY29tcGxldGVkIFJTQyBhZ2dy ZWdhdGlvbnMgaW4gcnRlX2V0aF9kZXZfc3RvcCgpDQo+ID4gPiA+IGZsb3cuDQo+ID4gPiA+ID4+ Pj7CoCDCoCDCoCAtIEZpeGVkIHJ4X2J1bGtfYWxsb2NfYWxsb3dlZCBhbmQgcnhfdmVjX2FsbG93 ZWQgaW5pdGlhbGl6YXRpb246DQo+ID4gPiA+ID4+Pj7CoCDCoCDCoCDCoCDCoC0gRG9uJ3Qgc2V0 IHRoZW0gdG8gRkFMU0UgaW4gcnRlX2V0aF9kZXZfc3RvcCgpIGZsb3cgLSB0aGUNCj4gPiA+ID4g Zm9sbG93aW5nDQo+ID4gPiA+ID4+Pj7CoCDCoCDCoCDCoCDCoCDCoHJ0ZV9ldGhfZGV2X3N0YXJ0 KCkgd2lsbCBuZWVkIHRoZW0uDQo+ID4gPiA+ID4+Pj7CoCDCoCDCoCDCoCDCoC0gUmVzZXQgdGhl bSB0byBUUlVFIGluIHJ0ZV9ldGhfZGV2X2NvbmZpZ3VyZSgpIGFuZCBub3QgaW4NCj4gPiA+ID4g Pj4+PiBhDQo+ID4gPiA+ID4+Pj4gcHJvYmUoKSBmbG93Lg0KPiA+ID4gPiA+Pj4+wqAgwqAgwqAg wqAgwqAgwqBUaGlzIHdpbGwgZW5zdXJlIHRoZSBwcm9wZXIgYmVoYXZpb3VyIGlmIHBvcnQgaXMg cmUtY29uZmlndXJlZC4NCj4gPiA+ID4gPj4+PsKgIMKgIMKgIC0gUmVzZXQgdGhlIHN3X3Jpbmdb XS5tYnVmIGVudHJ5IGluIGEgYnVsayBhbGxvY2F0aW9uIGNhc2UuDQo+ID4gPiA+ID4+Pj7CoCDC oCDCoCDCoCBUaGlzIGlzIG5lZWRlZCBmb3IgaXhnYmVfcnhfcXVldWVfcmVsZWFzZV9tYnVmcygp Lg0KPiA+ID4gPiA+Pj4+wqAgwqAgwqAgLSBfcmVjdl9wa3RzX2xybygpOiBhZGRlZCB0aGUgbWlz c2luZyBtZW1vcnkgYmFycmllciBiZWZvcmUNCj4gPiA+ID4gPj4+PiBSRFQgdXBkYXRlIGluIGEN Cj4gPiA+ID4gPj4+PsKgIMKgIMKgIMKgIG5vbi1idWxrIGFsbG9jYXRpb24gY2FzZS4NCj4gPiA+ ID4gPj4+PsKgIMKgIMKgIC0gRG9uJ3QgYWxsb3cgUlNDIHdoZW4gZGV2aWNlIGlzIGNvbmZpZ3Vy ZWQgaW4gYW4gU1ItSU9WIG1vZGUuDQo+ID4gPiA+ID4+Pj4NCj4gPiA+ID4gPj4+PiBOZXcgaW4g djY6DQo+ID4gPiA+ID4+Pj7CoCDCoCDCoCAtIEZpeCBvZiB0aGUgdHlwbyBpbiB0aGUgImJ1ZyBm aXhlcyIgc2VyaWVzIHRoYXQgYnJva2UgdGhlDQo+ID4gPiA+ID4+Pj4gY29tcGlsYXRpb24gY2F1 c2VkIGENCj4gPiA+ID4gPj4+PsKgIMKgIMKgIMKgIG1pbm9yIGNoYW5nZSBpbiB0aGlzIGZvbGxv dy11cCBzZXJpZXMuDQo+ID4gPiA+ID4+Pj4NCj4gPiA+ID4gPj4+PiBOZXcgaW4gdjU6DQo+ID4g PiA+ID4+Pj7CoCDCoCDCoCAtIFNwbGl0IHRoZSBzZXJpZXMgaW50byAiYnVnIGZpeGVzIiBhbmQg ImFsbCB0aGUgcmVzdCIgc28gdGhhdA0KPiA+ID4gPiA+Pj4+IHRoZSBmb3JtZXIgY291bGQgYmUN Cj4gPiA+ID4gPj4+PsKgIMKgIMKgIMKgIGludGVncmF0ZWQgaW50byBhIDIuMCByZWxlYXNlLg0K PiA+ID4gPiA+Pj4+wqAgwqAgwqAgLSBQdXQgdGhlIFJURV9FVEhERVZfSEFTX0xST19TVVBQT1JU IGRlZmluaXRpb24gYXQgdGhlDQo+ID4gPiA+ID4+Pj4gYmVnaW5uaW5nIG9mIHJ0ZV9ldGhkZXYu aC4NCj4gPiA+ID4gPj4+PsKgIMKgIMKgIC0gUmVtb3ZlZCB0aGUgIlRPRE86IFJlbW92ZSBtZSIg Y29tbWVudCBuZWFyDQo+ID4gPiA+ID4+Pj4gUlRFX0VUSERFVl9IQVNfTFJPX1NVUFBPUlQuDQo+ ID4gPiA+ID4+Pj4NCj4gPiA+ID4gPj4+PiBOZXcgaW4gdjQ6DQo+ID4gPiA+ID4+Pj7CoCDCoCDC oCAtIFJlbW92ZSBDT05GSUdfUlRFX0VUSERFVl9MUk9fU1VQUE9SVCBmcm9tDQo+ID4gPiA+ID4+ Pj4gY29uZmlnL2NvbW1vbl9saW51eGFwcC4NCj4gPiA+ID4gPj4+PsKgIMKgIMKgIC0gRGVmaW5l IFJURV9FVEhERVZfSEFTX0xST19TVVBQT1JUIGluIHJ0ZV9ldGhkZXYuaC4NCj4gPiA+ID4gPj4+ PsKgIMKgIMKgIC0gQXMgYSByZXN1bHQgb2YgIml4Z2JlOiBjaGVjayByeGQgbnVtYmVyIHRvIGF2 b2lkIG1idWYgbGVhayINCj4gPiA+ID4gPj4+PiAoMzUyMDc4ZThlKSBWZWN0b3IgUngNCj4gPiA+ ID4gPj4+PsKgIMKgIMKgIMKgIGhhZCB0byBnZXQgdGhlIHNhbWUgdHJlYXRtZW50IGFzIFJ4IEJ1 bGsgQWxsb2MgKHNlZSBQQVRDSDQNCj4gPiA+ID4gPj4+PiBmb3IgbW9yZSBkZXRhaWxzKS4NCj4g PiA+ID4gPj4+Pg0KPiA+ID4gPiA+Pj4+IE5ldyBpbiB2MzoNCj4gPiA+ID4gPj4+PsKgIMKgIMKg IC0gaXhnYmVfcnhfYWxsb2NfYnVmcygpOiBBbHdheXMgcmVzZXQgcmVmY250IG9mIHRoZSBidWZm ZXJzIHRvIDEuDQo+ID4gPiA+ID4+Pj4gT3RoZXJ3aXNlDQo+ID4gPiA+ID4+Pj4gcnRlX3BrdG1i dWZfZnJlZSgpDQo+ID4gPiA+ID4+Pj7CoCDCoCDCoCDCoCB3b24ndCBmcmVlIHRoZW0uDQo+ID4g PiA+ID4+Pj4NCj4gPiA+ID4gPj4+PiBOZXcgaW4gdjI6DQo+ID4gPiA+ID4+Pj7CoCDCoCDCoCAt IFJlbW92ZWQgcnRlX2V0aF9kZXZfZGF0YS5scm9fYnVsa19hbGxvYyBhbmQgYWRkZWQNCj4gPiA+ ID4gPj4+PiBpeGdiZV9ody5yeF9idWxrX2FsbG9jX2FsbG93ZWQNCj4gPiA+ID4gPj4+PsKgIMKg IMKgIMKgIGluc3RlYWQuDQo+ID4gPiA+ID4+Pj7CoCDCoCDCoCAtIFVuaWZpZWQgdGhlIHJ4X3Br dF9idWxrIGNhbGxiYWNrIHNldHRpbmcgKGEgc2VwYXJhdGUgbmV3IHBhdGNoKS4NCj4gPiA+ID4g Pj4+PsKgIMKgIMKgIC0gRml4ZWQgYSBmZXcgc3R5bGluZyBhbmQgc3BlbGxpbmcgaXNzdWVzLg0K PiA+ID4gPiA+Pj4+DQo+ID4gPiA+ID4+Pj4NCj4gPiA+ID4gPj4+PiBWbGFkIFpvbG90YXJvdiAo Myk6DQo+ID4gPiA+ID4+Pj7CoCDCoCDCoGl4Z2JlOiBDbGVhbnVwcw0KPiA+ID4gPiA+Pj4+wqAg wqAgwqBpeGdiZTogQ29kZSByZWZhY3RvcmluZw0KPiA+ID4gPiA+Pj4+wqAgwqAgwqBpeGdiZTog QWRkIExSTyBzdXBwb3J0DQo+ID4gPiA+ID4+Pj4NCj4gPiA+ID4gPj4+PsKgIMKgIGxpYi9saWJy dGVfZXRoZXIvcnRlX2V0aGRldi5owqAgwqAgwqAgwqAgwqAgwqB8wqAgwqA5ICstDQo+ID4gPiA+ ID4+Pj7CoCDCoCBsaWIvbGlicnRlX25ldC9ydGVfaXAuaMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgfMKgIMKgMyArDQo+ID4gPiA+ID4+Pj7CoCDCoCBsaWIvbGlicnRlX3BtZF9peGdiZS9peGdi ZS9peGdiZV90eXBlLmggfMKgIMKgNiArDQo+ID4gPiA+ID4+Pj7CoCDCoCBsaWIvbGlicnRlX3Bt ZF9peGdiZS9peGdiZV9ldGhkZXYuY8KgIMKgIMKgfMKgIDExICsNCj4gPiA+ID4gPj4+PsKgIMKg IGxpYi9saWJydGVfcG1kX2l4Z2JlL2l4Z2JlX2V0aGRldi5owqAgwqAgwqB8wqAgwqA1ICsNCj4g PiA+ID4gPj4+PsKgIMKgIGxpYi9saWJydGVfcG1kX2l4Z2JlL2l4Z2JlX3J4dHguY8KgIMKgIMKg IMKgfCA3NjYNCj4gPiA+ID4gPj4+PiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLQ0K PiA+ID4gPiA+Pj4+wqAgwqAgbGliL2xpYnJ0ZV9wbWRfaXhnYmUvaXhnYmVfcnh0eC5owqAgwqAg wqAgwqB8wqAgwqA2ICsNCj4gPiA+ID4gPj4+PsKgIMKgIDcgZmlsZXMgY2hhbmdlZCwgNzM3IGlu c2VydGlvbnMoKyksIDY5IGRlbGV0aW9ucygtKQ0KPiA+ID4gPiA+Pj4+DQo+ID4gPiA+ID4+Pj4g LS0NCj4gPiA+ID4gPj4+PiAyLjEuMA0KPiA+DQo=