From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id 10A4AC704 for ; Thu, 16 Jun 2016 22:19:05 +0200 (CEST) Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga101.jf.intel.com with ESMTP; 16 Jun 2016 13:19:04 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.26,481,1459839600"; d="scan'208";a="1003536229" Received: from fmsmsx107.amr.corp.intel.com ([10.18.124.205]) by fmsmga002.fm.intel.com with ESMTP; 16 Jun 2016 13:19:04 -0700 Received: from FMSMSX110.amr.corp.intel.com (10.18.116.10) by fmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP Server (TLS) id 14.3.248.2; Thu, 16 Jun 2016 13:19:03 -0700 Received: from fmsmsx113.amr.corp.intel.com ([169.254.13.58]) by FMSMSX110.amr.corp.intel.com ([169.254.14.65]) with mapi id 14.03.0248.002; Thu, 16 Jun 2016 13:19:02 -0700 From: "Wiles, Keith" To: Take Ceara CC: "dev@dpdk.org" Thread-Topic: [dpdk-dev] Performance hit - NICs on different CPU sockets Thread-Index: AQHRxhDhfoYvP50+jku6GweXVdn2qp/pHBMAgAOGFoD//7JsgIAAWKgA//+v1wCAAGIogP//tkMAAAAU+gAADVN5AP//wHsAgABbZwD//7CiAIAAAMKA Date: Thu, 16 Jun 2016 20:19:02 +0000 Message-ID: <20C18CE3-21D5-4DAA-9E01-1AF3CD6B930C@intel.com> References: <1DB024A9-9185-41C8-9FA5-67C41891189A@intel.com> <2A957DA5-72A6-45B0-8B76-FE0DBDE758FD@intel.com> <9FD66398-C7F0-43AF-89F6-79BB95A16A37@intel.com> <914ABD39-039F-4142-8ADB-BE20465676C1@intel.com> <5A730B5F-BD52-4DDD-828C-62468439E1CF@intel.com> <04F75F9D-425C-4D7C-955C-4A1456521341@intel.com> In-Reply-To: <04F75F9D-425C-4D7C-955C-4A1456521341@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.254.176.56] Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dpdk-dev] Performance hit - NICs on different CPU sockets 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, 16 Jun 2016 20:19:07 -0000 DQpPbiA2LzE2LzE2LCAzOjE2IFBNLCAiZGV2IG9uIGJlaGFsZiBvZiBXaWxlcywgS2VpdGgiIDxk ZXYtYm91bmNlc0BkcGRrLm9yZyBvbiBiZWhhbGYgb2Yga2VpdGgud2lsZXNAaW50ZWwuY29tPiB3 cm90ZToNCg0KPg0KPk9uIDYvMTYvMTYsIDM6MDAgUE0sICJUYWtlIENlYXJhIiA8ZHVtaXRydS5j ZWFyYUBnbWFpbC5jb20+IHdyb3RlOg0KPg0KPj5PbiBUaHUsIEp1biAxNiwgMjAxNiBhdCA5OjMz IFBNLCBXaWxlcywgS2VpdGggPGtlaXRoLndpbGVzQGludGVsLmNvbT4gd3JvdGU6DQo+Pj4gT24g Ni8xNi8xNiwgMToyMCBQTSwgIlRha2UgQ2VhcmEiIDxkdW1pdHJ1LmNlYXJhQGdtYWlsLmNvbT4g d3JvdGU6DQo+Pj4NCj4+Pj5PbiBUaHUsIEp1biAxNiwgMjAxNiBhdCA2OjU5IFBNLCBXaWxlcywg S2VpdGggPGtlaXRoLndpbGVzQGludGVsLmNvbT4gd3JvdGU6DQo+Pj4+Pg0KPj4+Pj4gT24gNi8x Ni8xNiwgMTE6NTYgQU0sICJkZXYgb24gYmVoYWxmIG9mIFdpbGVzLCBLZWl0aCIgPGRldi1ib3Vu Y2VzQGRwZGsub3JnIG9uIGJlaGFsZiBvZiBrZWl0aC53aWxlc0BpbnRlbC5jb20+IHdyb3RlOg0K Pj4+Pj4NCj4+Pj4+Pg0KPj4+Pj4+T24gNi8xNi8xNiwgMTE6MjAgQU0sICJUYWtlIENlYXJhIiA8 ZHVtaXRydS5jZWFyYUBnbWFpbC5jb20+IHdyb3RlOg0KPj4+Pj4+DQo+Pj4+Pj4+T24gVGh1LCBK dW4gMTYsIDIwMTYgYXQgNToyOSBQTSwgV2lsZXMsIEtlaXRoIDxrZWl0aC53aWxlc0BpbnRlbC5j b20+IHdyb3RlOg0KPj4+Pj4+Pg0KPj4+Pj4+Pj4NCj4+Pj4+Pj4+IFJpZ2h0IG5vdyBJIGRvIG5v dCBrbm93IHdoYXQgdGhlIGlzc3VlIGlzIHdpdGggdGhlIHN5c3RlbS4gQ291bGQgYmUgdG9vIG1h bnkgUngvVHggcmluZyBwYWlycyBwZXIgcG9ydCBhbmQgbGltaXRpbmcgdGhlIG1lbW9yeSBpbiB0 aGUgTklDcywgd2hpY2ggaXMgd2h5IHlvdSBnZXQgYmV0dGVyIHBlcmZvcm1hbmNlIHdoZW4geW91 IGhhdmUgOCBjb3JlIHBlciBwb3J0LiBJIGFtIG5vdCByZWFsbHkgc2VlaW5nIHRoZSB3aG9sZSBw aWN0dXJlIGFuZCBob3cgRFBESyBpcyBjb25maWd1cmVkIHRvIGhlbHAgbW9yZS4gU29ycnkuDQo+ Pj4+Pj4+DQo+Pj4+Pj4+SSBkb3VidCB0aGF0IHRoZXJlIGlzIGEgbGltaXRhdGlvbiB3cnQgcnVu bmluZyAxNiBjb3JlcyBwZXIgcG9ydCB2cyA4DQo+Pj4+Pj4+Y29yZXMgcGVyIHBvcnQgYXMgSSd2 ZSB0cmllZCB3aXRoIHR3byBkaWZmZXJlbnQgbWFjaGluZXMgY29ubmVjdGVkDQo+Pj4+Pj4+YmFj ayB0byBiYWNrIGVhY2ggd2l0aCBvbmUgWDcxMCBwb3J0IGFuZCAxNiBjb3JlcyBvbiBlYWNoIG9m IHRoZW0NCj4+Pj4+Pj5ydW5uaW5nIG9uIHRoYXQgcG9ydC4gSW4gdGhhdCBjYXNlIG91ciBwZXJm b3JtYW5jZSBkb3VibGVkIGFzDQo+Pj4+Pj4+ZXhwZWN0ZWQuDQo+Pj4+Pj4+DQo+Pj4+Pj4+Pg0K Pj4+Pj4+Pj4gTWF5YmUgc2VlaW5nIHRoZSBEUERLIGNvbW1hbmQgbGluZSB3b3VsZCBoZWxwLg0K Pj4+Pj4+Pg0KPj4+Pj4+PlRoZSBjb21tYW5kIGxpbmUgSSB1c2Ugd2l0aCBwb3J0cyAwMTowMC4z IGFuZCA4MTowMC4zIGlzOg0KPj4+Pj4+Pi4vd2FycDE3IC1jIDB4RkZGRkZGRkZGMyAgIC1tIDMy NzY4IC13IDAwMDA6ODE6MDAuMyAtdyAwMDAwOjAxOjAwLjMgLS0NCj4+Pj4+Pj4tLXFtYXAgMC4w eDAwM0ZGMDAzRjAgLS1xbWFwIDEuMHgwRkMwMEZGQzAwDQo+Pj4+Pj4+DQo+Pj4+Pj4+T3VyIG93 biBxbWFwIGFyZ3MgYWxsb3cgdGhlIHVzZXIgdG8gY29udHJvbCBleGFjdGx5IGhvdyBjb3JlcyBh cmUNCj4+Pj4+Pj5zcGxpdCBiZXR3ZWVuIHBvcnRzLiBJbiB0aGlzIGNhc2Ugd2UgZW5kIHVwIHdp dGg6DQo+Pj4+Pj4+DQo+Pj4+Pj4+d2FycDE3PiBzaG93IHBvcnQgbWFwDQo+Pj4+Pj4+UG9ydCAw W3NvY2tldDogMF06DQo+Pj4+Pj4+ICAgQ29yZSA0W3NvY2tldDowXSAoVHg6IDAsIFJ4OiAwKQ0K Pj4+Pj4+PiAgIENvcmUgNVtzb2NrZXQ6MF0gKFR4OiAxLCBSeDogMSkNCj4+Pj4+Pj4gICBDb3Jl IDZbc29ja2V0OjBdIChUeDogMiwgUng6IDIpDQo+Pj4+Pj4+ICAgQ29yZSA3W3NvY2tldDowXSAo VHg6IDMsIFJ4OiAzKQ0KPj4+Pj4+PiAgIENvcmUgOFtzb2NrZXQ6MF0gKFR4OiA0LCBSeDogNCkN Cj4+Pj4+Pj4gICBDb3JlIDlbc29ja2V0OjBdIChUeDogNSwgUng6IDUpDQo+Pj4+Pj4+ICAgQ29y ZSAyMFtzb2NrZXQ6MF0gKFR4OiA2LCBSeDogNikNCj4+Pj4+Pj4gICBDb3JlIDIxW3NvY2tldDow XSAoVHg6IDcsIFJ4OiA3KQ0KPj4+Pj4+PiAgIENvcmUgMjJbc29ja2V0OjBdIChUeDogOCwgUng6 IDgpDQo+Pj4+Pj4+ICAgQ29yZSAyM1tzb2NrZXQ6MF0gKFR4OiA5LCBSeDogOSkNCj4+Pj4+Pj4g ICBDb3JlIDI0W3NvY2tldDowXSAoVHg6IDEwLCBSeDogMTApDQo+Pj4+Pj4+ICAgQ29yZSAyNVtz b2NrZXQ6MF0gKFR4OiAxMSwgUng6IDExKQ0KPj4+Pj4+PiAgIENvcmUgMjZbc29ja2V0OjBdIChU eDogMTIsIFJ4OiAxMikNCj4+Pj4+Pj4gICBDb3JlIDI3W3NvY2tldDowXSAoVHg6IDEzLCBSeDog MTMpDQo+Pj4+Pj4+ICAgQ29yZSAyOFtzb2NrZXQ6MF0gKFR4OiAxNCwgUng6IDE0KQ0KPj4+Pj4+ PiAgIENvcmUgMjlbc29ja2V0OjBdIChUeDogMTUsIFJ4OiAxNSkNCj4+Pj4+Pj4NCj4+Pj4+Pj5Q b3J0IDFbc29ja2V0OiAxXToNCj4+Pj4+Pj4gICBDb3JlIDEwW3NvY2tldDoxXSAoVHg6IDAsIFJ4 OiAwKQ0KPj4+Pj4+PiAgIENvcmUgMTFbc29ja2V0OjFdIChUeDogMSwgUng6IDEpDQo+Pj4+Pj4+ ICAgQ29yZSAxMltzb2NrZXQ6MV0gKFR4OiAyLCBSeDogMikNCj4+Pj4+Pj4gICBDb3JlIDEzW3Nv Y2tldDoxXSAoVHg6IDMsIFJ4OiAzKQ0KPj4+Pj4+PiAgIENvcmUgMTRbc29ja2V0OjFdIChUeDog NCwgUng6IDQpDQo+Pj4+Pj4+ICAgQ29yZSAxNVtzb2NrZXQ6MV0gKFR4OiA1LCBSeDogNSkNCj4+ Pj4+Pj4gICBDb3JlIDE2W3NvY2tldDoxXSAoVHg6IDYsIFJ4OiA2KQ0KPj4+Pj4+PiAgIENvcmUg MTdbc29ja2V0OjFdIChUeDogNywgUng6IDcpDQo+Pj4+Pj4+ICAgQ29yZSAxOFtzb2NrZXQ6MV0g KFR4OiA4LCBSeDogOCkNCj4+Pj4+Pj4gICBDb3JlIDE5W3NvY2tldDoxXSAoVHg6IDksIFJ4OiA5 KQ0KPj4+Pj4+PiAgIENvcmUgMzBbc29ja2V0OjFdIChUeDogMTAsIFJ4OiAxMCkNCj4+Pj4+Pj4g ICBDb3JlIDMxW3NvY2tldDoxXSAoVHg6IDExLCBSeDogMTEpDQo+Pj4+Pj4+ICAgQ29yZSAzMltz b2NrZXQ6MV0gKFR4OiAxMiwgUng6IDEyKQ0KPj4+Pj4+PiAgIENvcmUgMzNbc29ja2V0OjFdIChU eDogMTMsIFJ4OiAxMykNCj4+Pj4+Pj4gICBDb3JlIDM0W3NvY2tldDoxXSAoVHg6IDE0LCBSeDog MTQpDQo+Pj4+Pj4+ICAgQ29yZSAzNVtzb2NrZXQ6MV0gKFR4OiAxNSwgUng6IDE1KQ0KPj4+Pj4+ DQo+Pj4+Pj5PbiBlYWNoIHNvY2tldCB5b3UgaGF2ZSAxMCBwaHlzaWNhbCBjb3JlcyBvciAyMCBs Y29yZXMgcGVyIHNvY2tldCBmb3IgNDAgbGNvcmVzIHRvdGFsLg0KPj4+Pj4+DQo+Pj4+Pj5UaGUg YWJvdmUgaXMgbGlzdGluZyB0aGUgTENPUkVTIChvciBoeXBlci10aHJlYWRzKSBhbmQgbm90IENP UkVzLCB3aGljaCBJIHVuZGVyc3RhbmQgc29tZSBsaWtlIHRvIHRoaW5rIHRoZXkgYXJlIGludGVy Y2hhbmdlYWJsZS4gVGhlIHByb2JsZW0gaXMgdGhlIGh5cGVyLXRocmVhZHMgYXJlIGxvZ2ljYWxs eSBpbnRlcmNoYW5nZWFibGUsIGJ1dCBub3QgcGVyZm9ybWFuY2Ugd2lzZS4gSWYgeW91IGhhdmUg dHdvIHJ1bi10by1jb21wbGV0aW9uIHRocmVhZHMgb24gYSBzaW5nbGUgcGh5c2ljYWwgY29yZSBl YWNoIG9uIGEgZGlmZmVyZW50IGh5cGVyLXRocmVhZCBvZiB0aGF0IGNvcmUgWzAsMV0sIHRoZW4g dGhlIHNlY29uZCBsY29yZSBvciB0aHJlYWQgKDEpIG9uIHRoYXQgcGh5c2ljYWwgY29yZSB3aWxs IG9ubHkgZ2V0IGF0IG1vc3QgYWJvdXQgMzAtMjAlIG9mIHRoZSBDUFUgY3ljbGVzLiBOb3JtYWxs eSBpdCBpcyBtdWNoIGxlc3MsIHVubGVzcyB5b3UgdHVuZSB0aGUgY29kZSB0byBtYWtlIHN1cmUg ZWFjaCB0aHJlYWQgaXMgbm90IHRyeWluZyB0byBzaGFyZSB0aGUgaW50ZXJuYWwgZXhlY3V0aW9u IHVuaXRzLCBidXQgc29tZSBpbnRlcm5hbCBleGVjdXRpb24gdW5pdHMgYXJlIGFsd2F5cyBzaGFy ZWQuDQo+Pj4+Pj4NCj4+Pj4+PlRvIGdldCB0aGUgYmVzdCBwZXJmb3JtYW5jZSB3aGVuIGh5cGVy LXRocmVhZGluZyBpcyBlbmFibGUgaXMgdG8gbm90IHJ1biBib3RoIHRocmVhZHMgb24gYSBzaW5n bGUgcGh5c2ljYWwgY29yZSwgYnV0IG9ubHkgcnVuIG9uZSBoeXBlci10aHJlYWQtMC4NCj4+Pj4+ Pg0KPj4+Pj4+SW4gdGhlIHRhYmxlIGJlbG93IHRoZSB0YWJsZSBsaXN0cyB0aGUgcGh5c2ljYWwg Y29yZSBpZCBhbmQgZWFjaCBvZiB0aGUgbGNvcmUgaWRzIHBlciBzb2NrZXQuIFVzZSB0aGUgZmly c3QgbGNvcmUgcGVyIHNvY2tldCBmb3IgdGhlIGJlc3QgcGVyZm9ybWFuY2U6DQo+Pj4+Pj5Db3Jl IDEgWzEsIDIxXSAgICBbMTEsIDMxXQ0KPj4+Pj4+VXNlIGxjb3JlIDEgb3IgMTEgZGVwZW5kaW5n IG9uIHRoZSBzb2NrZXQgeW91IGFyZSBvbi4NCj4+Pj4+Pg0KPj4+Pj4+VGhlIGluZm8gYmVsb3cg aXMgbW9zdCBsaWtlbHkgdGhlIGJlc3QgcGVyZm9ybWFuY2UgYW5kIHV0aWxpemF0aW9uIG9mIHlv dXIgc3lzdGVtLiBJZiBJIGdvdCB0aGUgdmFsdWVzIHJpZ2h0IOKYug0KPj4+Pj4+DQo+Pj4+Pj4u L3dhcnAxNyAtYyAweDAwMDAwRkZGZTAgICAtbSAzMjc2OCAtdyAwMDAwOjgxOjAwLjMgLXcgMDAw MDowMTowMC4zIC0tDQo+Pj4+Pj4tLXFtYXAgMC4weDAwMDAwMDAzRkUgLS1xbWFwIDEuMHgwMDAw MEZGRTAwDQo+Pj4+Pj4NCj4+Pj4+PlBvcnQgMFtzb2NrZXQ6IDBdOg0KPj4+Pj4+ICAgQ29yZSAy W3NvY2tldDowXSAoVHg6IDAsIFJ4OiAwKQ0KPj4+Pj4+ICAgQ29yZSAzW3NvY2tldDowXSAoVHg6 IDEsIFJ4OiAxKQ0KPj4+Pj4+ICAgQ29yZSA0W3NvY2tldDowXSAoVHg6IDIsIFJ4OiAyKQ0KPj4+ Pj4+ICAgQ29yZSA1W3NvY2tldDowXSAoVHg6IDMsIFJ4OiAzKQ0KPj4+Pj4+ICAgQ29yZSA2W3Nv Y2tldDowXSAoVHg6IDQsIFJ4OiA0KQ0KPj4+Pj4+ICAgQ29yZSA3W3NvY2tldDowXSAoVHg6IDUs IFJ4OiA1KQ0KPj4+Pj4+ICAgQ29yZSA4W3NvY2tldDowXSAoVHg6IDYsIFJ4OiA2KQ0KPj4+Pj4+ ICAgQ29yZSA5W3NvY2tldDowXSAoVHg6IDcsIFJ4OiA3KQ0KPj4+Pj4+DQo+Pj4+Pj44IGNvcmVz IG9uIGZpcnN0IHNvY2tldCBsZWF2aW5nIDAtMSBsY29yZXMgZm9yIExpbnV4Lg0KPj4+Pj4NCj4+ Pj4+IDkgY29yZXMgYW5kIGxlYXZpbmcgdGhlIGZpcnN0IGNvcmUgb3IgdHdvIGxjb3JlcyBmb3Ig TGludXgNCj4+Pj4+Pg0KPj4+Pj4+UG9ydCAxW3NvY2tldDogMV06DQo+Pj4+Pj4gICBDb3JlIDEw W3NvY2tldDoxXSAoVHg6IDAsIFJ4OiAwKQ0KPj4+Pj4+ICAgQ29yZSAxMVtzb2NrZXQ6MV0gKFR4 OiAxLCBSeDogMSkNCj4+Pj4+PiAgIENvcmUgMTJbc29ja2V0OjFdIChUeDogMiwgUng6IDIpDQo+ Pj4+Pj4gICBDb3JlIDEzW3NvY2tldDoxXSAoVHg6IDMsIFJ4OiAzKQ0KPj4+Pj4+ICAgQ29yZSAx NFtzb2NrZXQ6MV0gKFR4OiA0LCBSeDogNCkNCj4+Pj4+PiAgIENvcmUgMTVbc29ja2V0OjFdIChU eDogNSwgUng6IDUpDQo+Pj4+Pj4gICBDb3JlIDE2W3NvY2tldDoxXSAoVHg6IDYsIFJ4OiA2KQ0K Pj4+Pj4+ICAgQ29yZSAxN1tzb2NrZXQ6MV0gKFR4OiA3LCBSeDogNykNCj4+Pj4+PiAgIENvcmUg MThbc29ja2V0OjFdIChUeDogOCwgUng6IDgpDQo+Pj4+Pj4gICBDb3JlIDE5W3NvY2tldDoxXSAo VHg6IDksIFJ4OiA5KQ0KPj4+Pj4+DQo+Pj4+Pj5BbGwgMTAgY29yZXMgb24gdGhlIHNlY29uZCBz b2NrZXQuDQo+Pj4+DQo+Pj4+VGhlIHZhbHVlcyB3ZXJlIGFsbW9zdCByaWdodCA6KSBCdXQgdGhh dCdzIGJlY2F1c2Ugd2UgcmVzZXJ2ZSB0aGUNCj4+Pj5maXJzdCB0d28gbGNvcmVzIHRoYXQgYXJl IHBhc3NlZCB0byBkcGRrIGZvciBvdXIgb3duIG1hbmFnZW1lbnQgcGFydC4NCj4+Pj5JIHdhcyBh d2FyZSB0aGF0IGxjb3JlcyBhcmUgbm90IHBoeXNpY2FsIGNvcmVzIHNvIHdlIGRvbid0IGV4cGVj dA0KPj4+PnBlcmZvcm1hbmNlIHRvIHNjYWxlIGxpbmVhcmx5IHdpdGggdGhlIG51bWJlciBvZiBs Y29yZXMuIEhvd2V2ZXIsIGlmDQo+Pj4+dGhlcmUncyBhIGNoYW5jZSB0aGF0IGFub3RoZXIgaHlw ZXJ0aHJlYWQgY2FuIHJ1biB3aGlsZSB0aGUgcGFpcmVkIG9uZQ0KPj4+PmlzIHN0YWxsaW5nIHdl J2QgbGlrZSB0byB0YWtlIGFkdmFudGFnZSBvZiB0aG9zZSBjeWNsZXMgaWYgcG9zc2libGUuDQo+ Pj4+DQo+Pj4+TGVhdmluZyB0aGF0IGFzaWRlIEkganVzdCByYW4gdHdvIG1vcmUgdGVzdHMgd2hp bGUgdXNpbmcgb25seSBvbmUgb2YNCj4+Pj50aGUgdHdvIGh3dGhyZWFkcyBpbiBhIGNvcmUuDQo+ Pj4+DQo+Pj4+YS4gMiBwb3J0cyBvbiBkaWZmZXJlbnQgc29ja2V0cyB3aXRoIDggY29yZXMvcG9y dDoNCj4+Pj4uL2J1aWxkL3dhcnAxNyAtYyAweEZGM0ZGICAgLW0gMzI3NjggLXcgMDAwMDo4MTow MC4zIC13IDAwMDA6MDE6MDAuMw0KPj4+Pi0tIC0tcW1hcCAwLjB4M0ZDIC0tcW1hcCAxLjB4RkYw MDANCj4+Pj53YXJwMTc+IHNob3cgcG9ydCBtYXANCj4+Pj5Qb3J0IDBbc29ja2V0OiAwXToNCj4+ Pj4gICBDb3JlIDJbc29ja2V0OjBdIChUeDogMCwgUng6IDApDQo+Pj4+ICAgQ29yZSAzW3NvY2tl dDowXSAoVHg6IDEsIFJ4OiAxKQ0KPj4+PiAgIENvcmUgNFtzb2NrZXQ6MF0gKFR4OiAyLCBSeDog MikNCj4+Pj4gICBDb3JlIDVbc29ja2V0OjBdIChUeDogMywgUng6IDMpDQo+Pj4+ICAgQ29yZSA2 W3NvY2tldDowXSAoVHg6IDQsIFJ4OiA0KQ0KPj4+PiAgIENvcmUgN1tzb2NrZXQ6MF0gKFR4OiA1 LCBSeDogNSkNCj4+Pj4gICBDb3JlIDhbc29ja2V0OjBdIChUeDogNiwgUng6IDYpDQo+Pj4+ICAg Q29yZSA5W3NvY2tldDowXSAoVHg6IDcsIFJ4OiA3KQ0KPj4+Pg0KPj4+PlBvcnQgMVtzb2NrZXQ6 IDFdOg0KPj4+PiAgIENvcmUgMTJbc29ja2V0OjFdIChUeDogMCwgUng6IDApDQo+Pj4+ICAgQ29y ZSAxM1tzb2NrZXQ6MV0gKFR4OiAxLCBSeDogMSkNCj4+Pj4gICBDb3JlIDE0W3NvY2tldDoxXSAo VHg6IDIsIFJ4OiAyKQ0KPj4+PiAgIENvcmUgMTVbc29ja2V0OjFdIChUeDogMywgUng6IDMpDQo+ Pj4+ICAgQ29yZSAxNltzb2NrZXQ6MV0gKFR4OiA0LCBSeDogNCkNCj4+Pj4gICBDb3JlIDE3W3Nv Y2tldDoxXSAoVHg6IDUsIFJ4OiA1KQ0KPj4+PiAgIENvcmUgMThbc29ja2V0OjFdIChUeDogNiwg Ung6IDYpDQo+Pj4+ICAgQ29yZSAxOVtzb2NrZXQ6MV0gKFR4OiA3LCBSeDogNykNCj4+Pj4NCj4+ Pj5UaGlzIGdpdmVzIGEgc2Vzc2lvbiBzZXR1cCByYXRlIG9mIG9ubHkgMk0gc2Vzc2lvbnMvcy4N Cj4+Pj4NCj4+Pj5iLiAyIHBvcnRzIG9uIHNvY2tldCAwIHdpdGggNCBjb3Jlcy9wb3J0Og0KPj4+ Pi4vYnVpbGQvd2FycDE3IC1jIDB4M0ZGICAgLW0gMzI3NjggLXcgMDAwMDowMjowMC4wIC13IDAw MDA6MDM6MDAuMCAtLQ0KPj4+Pi0tcW1hcCAwLjB4M0MwIC0tcW1hcCAxLjB4MDNDDQo+Pj4NCj4+ PiBPbmUgbW9yZSB0aGluZyB0byB0cnkgY2hhbmdlIHRoZSDigJNtIDMyNzY4IHRvIOKAk3NvY2tl dC1tZW0gMTYzODQsMTYzODQgdG8gbWFrZSBzdXJlIHRoZSBtZW1vcnkgaXMgc3BsaXQgYmV0d2Vl biB0aGUgc29ja2V0cy4gWW91IG1heSBuZWVkIHRvIHJlbW92ZSB0aGUgL2Rldi9odWVwYWdlcy8q IGZpbGVzIG9yIHdoZXJldmVyIHlvdSBwdXQgdGhlbS4NCj4+Pg0KPj4+IFdoYXQgaXMgdGhlIGRw ZGsg4oCTbiBvcHRpb24gc2V0IHRvIG9uIHlvdXIgc3lzdGVtPyBNaW5lIGlzIHNldCB0byDigJji gJNuIDTigJkNCj4+Pg0KPj4NCj4+SSB0cmllZCB3aXRoIOKAk3NvY2tldC1tZW0gMTYzODQsMTYz ODQgYnV0IGl0IGRvZXNuJ3QgbWFrZSBhbnkNCj4+ZGlmZmVyZW5jZS4gV2UgY2FsbCBhbnl3YXkg cnRlX21hbGxvY19zb2NrZXQgZm9yIGV2ZXJ5dGhpbmcgdGhhdCBtaWdodA0KPj5iZSBhY2Nlc3Nl ZCBpbiBmYXN0IHBhdGggYW5kIHRoZSBtZW1wb29scyBhcmUgcGVyLWNvcmUgYW5kIGNyZWF0ZWQN Cj4+d2l0aCB0aGUgY29ycmVjdCBzb2NrZXQtaWQuIEV2ZW4gd2hlbiBzdGFydGluZyB3aXRoICct bSAzMjc2OCcgSSBzZWUNCj4+dGhhdCAxNiBodWdlcGFnZXMgZ2V0IGFsbG9jYXRlZCBvbiBlYWNo IG9mIHRoZSBzb2NrZXRzLg0KPj4NCj4+T24gdGhlIHRlc3Qgc2VydmVyIEkgaGF2ZSA0IG1lbW9y eSBjaGFubmVscyBzbyAnLW4gNCcuDQo+Pg0KPj4+PndhcnAxNz4gc2hvdyBwb3J0IG1hcA0KPj4+ PlBvcnQgMFtzb2NrZXQ6IDBdOg0KPj4+PiAgIENvcmUgNltzb2NrZXQ6MF0gKFR4OiAwLCBSeDog MCkNCj4+Pj4gICBDb3JlIDdbc29ja2V0OjBdIChUeDogMSwgUng6IDEpDQo+Pj4+ICAgQ29yZSA4 W3NvY2tldDowXSAoVHg6IDIsIFJ4OiAyKQ0KPj4+PiAgIENvcmUgOVtzb2NrZXQ6MF0gKFR4OiAz LCBSeDogMykNCj4+Pj4NCj4+Pj5Qb3J0IDFbc29ja2V0OiAwXToNCj4+Pj4gICBDb3JlIDJbc29j a2V0OjBdIChUeDogMCwgUng6IDApDQo+Pj4+ICAgQ29yZSAzW3NvY2tldDowXSAoVHg6IDEsIFJ4 OiAxKQ0KPj4+PiAgIENvcmUgNFtzb2NrZXQ6MF0gKFR4OiAyLCBSeDogMikNCj4+Pj4gICBDb3Jl IDVbc29ja2V0OjBdIChUeDogMywgUng6IDMpDQo+DQo+SSBkbyBub3Qga25vdyBub3cuIEl0IHNl ZW1zIGxpa2Ugc29tZXRoaW5nIGVsc2UgaXMgZ29pbmcgb24gaGVyZSB0aGF0IHdlIGhhdmUgbm90 IGlkZW50aWZpZWQuDQoNCk1heWJlIHZUdW5lIG9yIHNvbWUgb3RoZXIgdHlwZSBvZiBkZWJ1ZyBw ZXJmb3JtYW5jZSB0b29sIHdvdWxkIGJlIHRoZSBuZXh0IHN0ZXAgaGVyZS4NCg0KPg0KPj4+Pg0K Pj4+PlN1cnByaXNpbmdseSB0aGlzIGdpdmVzIGEgc2Vzc2lvbiBzZXR1cCByYXRlIG9mIDNNIHNl c3MvcyEhDQo+Pj4+DQo+Pj4+VGhlIHBhY2tldCBwcm9jZXNzaW5nIGNvcmVzIGFyZSB0b3RhbGx5 IGluZGVwZW5kZW50IGFuZCBvbmx5IGFjY2Vzcw0KPj4+PmxvY2FsIHNvY2tldCBtZW1vcnkvcG9y dHMuDQo+Pj4+VGhlcmUgaXMgbm8gbG9ja2luZyBvciBhdG9taWMgdmFyaWFibGUgYWNjZXNzIGlu IGZhc3QgcGF0aCBpbiBvdXIgY29kZS4NCj4+Pj5UaGUgbWJ1ZiBwb29scyBhcmUgbm90IHNoYXJl ZCBiZXR3ZWVuIGNvcmVzIGhhbmRsaW5nIHRoZSBzYW1lIHBvcnQgc28NCj4+Pj50aGVyZSBzaG91 bGQgYmUgbm8gY29udGVudGlvbiB3aGVuIGFsbG9jYXRpbmcvZnJlZWluZyBtYnVmcy4NCj4+Pj5J biB0aGlzIHNwZWNpZmljIHRlc3Qgc2NlbmFyaW8gYWxsIHRoZSBjb3JlcyBoYW5kbGluZyBwb3J0 IDAgYXJlDQo+Pj4+ZXNzZW50aWFsbHkgZXhlY3V0aW5nIHRoZSBzYW1lIGNvZGUgKFRDUCBjbGll bnRzKSBhbmQgdGhlIGNvcmVzIG9uDQo+Pj4+cG9ydCAxIGFzIHdlbGwgKFRDUCBzZXJ2ZXJzKS4N Cj4+Pj4NCj4+Pj5EbyB5b3UgaGF2ZSBhbnkgdGlwcyBhYm91dCB3aGF0IG90aGVyIHRoaW5ncyB0 byBjaGVjayBmb3I/DQo+Pj4+DQo+Pj4+VGhhbmtzLA0KPj4+PkR1bWl0cnUNCj4+Pj4NCj4+Pj4N Cj4+Pj4NCj4+Pj4+Pg0KPj4+Pj4+KytLZWl0aA0KPj4+Pj4+DQo+Pj4+Pj4+DQo+Pj4+Pj4+SnVz dCBmb3IgcmVmZXJlbmNlLCB0aGUgY3B1X2xheW91dCBzY3JpcHQgc2hvd3M6DQo+Pj4+Pj4+JCAk UlRFX1NESy90b29scy9jcHVfbGF5b3V0LnB5DQo+Pj4+Pj4+PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQo+Pj4+Pj4+Q29yZSBhbmQg U29ja2V0IEluZm9ybWF0aW9uIChhcyByZXBvcnRlZCBieSAnL3Byb2MvY3B1aW5mbycpDQo+Pj4+ Pj4+PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09DQo+Pj4+Pj4+DQo+Pj4+Pj4+Y29yZXMgPSAgWzAsIDEsIDIsIDMsIDQsIDgsIDksIDEw LCAxMSwgMTJdDQo+Pj4+Pj4+c29ja2V0cyA9ICBbMCwgMV0NCj4+Pj4+Pj4NCj4+Pj4+Pj4gICAg ICAgIFNvY2tldCAwICAgICAgICBTb2NrZXQgMQ0KPj4+Pj4+PiAgICAgICAgLS0tLS0tLS0gICAg ICAgIC0tLS0tLS0tDQo+Pj4+Pj4+Q29yZSAwICBbMCwgMjBdICAgICAgICAgWzEwLCAzMF0NCj4+ Pj4+Pj5Db3JlIDEgIFsxLCAyMV0gICAgICAgICBbMTEsIDMxXQ0KPj4+Pj4+PkNvcmUgMiAgWzIs IDIyXSAgICAgICAgIFsxMiwgMzJdDQo+Pj4+Pj4+Q29yZSAzICBbMywgMjNdICAgICAgICAgWzEz LCAzM10NCj4+Pj4+Pj5Db3JlIDQgIFs0LCAyNF0gICAgICAgICBbMTQsIDM0XQ0KPj4+Pj4+PkNv cmUgOCAgWzUsIDI1XSAgICAgICAgIFsxNSwgMzVdDQo+Pj4+Pj4+Q29yZSA5ICBbNiwgMjZdICAg ICAgICAgWzE2LCAzNl0NCj4+Pj4+Pj5Db3JlIDEwIFs3LCAyN10gICAgICAgICBbMTcsIDM3XQ0K Pj4+Pj4+PkNvcmUgMTEgWzgsIDI4XSAgICAgICAgIFsxOCwgMzhdDQo+Pj4+Pj4+Q29yZSAxMiBb OSwgMjldICAgICAgICAgWzE5LCAzOV0NCj4+Pj4+Pj4NCj4+Pj4+Pj5JIGtub3cgaXQgbWlnaHQg YmUgY29tcGxpY2F0ZWQgdG8gZ2lndXJlIG91dCBleGFjdGx5IHdoYXQncyBoYXBwZW5pbmcNCj4+ Pj4+Pj5pbiBvdXIgc2V0dXAgd2l0aCBvdXIgb3duIGNvZGUgc28gcGxlYXNlIGxldCBtZSBrbm93 IGlmIHlvdSBuZWVkDQo+Pj4+Pj4+YWRkaXRpb25hbCBpbmZvcm1hdGlvbi4NCj4+Pj4+Pj4NCj4+ Pj4+Pj5JIGFwcHJlY2lhdGUgdGhlIGhlbHAhDQo+Pj4+Pj4+DQo+Pj4+Pj4+VGhhbmtzLA0KPj4+ Pj4+PkR1bWl0cnUNCj4+Pj4+Pj4NCj4+Pj4+Pg0KPj4+Pj4+DQo+Pj4+Pj4NCj4+Pj4+Pg0KPj4+ Pj4NCj4+Pj4+DQo+Pj4+Pg0KPj4+Pg0KPj4+DQo+Pj4NCj4+Pg0KPj4NCj4NCj4NCj4NCj4NCg0K DQoNCg==