From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-eopbgr10064.outbound.protection.outlook.com [40.107.1.64]) by dpdk.org (Postfix) with ESMTP id 0FAAB1B1B4 for ; Tue, 26 Sep 2017 12:32:05 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=wybVV+PxpdZAmyAqekKvUKvdvlxbfCR/Ga7W2c8gjnE=; b=tgyskh814moWUi8umytdiHetyX9DmozLqql+lZNGq1CnKFE6Zs0WLE7BZLEubCVuY+s2dpx10HBiTvgV5xwISqPLwrQge9gGvsBTfc7YrhsL9WTvAS9OXXBQ0fCSVPTM/p+ZdFTLM0juw4G2wv8B6UBn4IrqZz/Zkpkc1ycrxtI= Received: from DB6PR0501MB2757.eurprd05.prod.outlook.com (10.172.226.9) by AM2PR05MB1220.eurprd05.prod.outlook.com (10.163.148.146) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.77.7; Tue, 26 Sep 2017 10:32:01 +0000 Received: from DB6PR0501MB2757.eurprd05.prod.outlook.com ([fe80::806d:844f:cf3a:af41]) by DB6PR0501MB2757.eurprd05.prod.outlook.com ([fe80::806d:844f:cf3a:af41%14]) with mapi id 15.20.0077.011; Tue, 26 Sep 2017 10:32:01 +0000 From: Olga Shern To: Martin Weiser , Adrien Mazarguil , =?utf-8?B?TsOpbGlvIExhcmFuamVpcm8=?= CC: "dev@dpdk.org" , Raslan Darawsheh Thread-Topic: [dpdk-dev] Mellanox ConnectX-5 crashes and mbuf leak Thread-Index: AQHTNqks4HEoKQtzuUyQ3LF1bKt83qLG9v4Q Date: Tue, 26 Sep 2017 10:32:00 +0000 Message-ID: References: <5d1f07c4-5933-806d-4d11-8fdfabc701d7@allegro-packets.com> In-Reply-To: <5d1f07c4-5933-806d-4d11-8fdfabc701d7@allegro-packets.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=olgas@mellanox.com; x-originating-ip: [31.216.236.195] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; AM2PR05MB1220; 6:lMcDBisYyQVnk2rntz6UQNkLINQbDcFpsPEW/PRkN+E83ZmbL5gHMkUYgR2zlUbDnv6P8iinL4brRMWWxCJWvKgFXRv6lxHjuZO1+3a9cyFv9omcrwX802rlyIqH2fSuFmw0BGq3/nSUA1+3omRSP3lopwgnP9eVs2jJvapD0AUwCqahsKV4d1jsnxGYpc9n2Ia3dLKHrpoIMPRb9ut5w0pwcS4b4iYbv1p3G/kt8XMSh1i1MafNWub7bM5I5jrmTir9kbp+KMpWnaE8UxD8ilG/56MoW4uRhly1/+mziZxnW9WCVkszwqD84pfqoJmkvggIyoZDw1rQHIYdwfU9nw==; 5:c10ElvVPqX8+tmePOb1BccPgblPh2zbLnLiYAEaHWBIoCWsuJCLo54KNF6ev4muQHEUJM1cQxZuIE58a6xl1MfyIl5eKBkwZbTcqEDtaBdihQldTbrIp+NaJoW8/KJkMjYCY0uV3GXLd1e3ui/VnIA==; 24:3afGy+bXGZAGlX5h2nbme318adlYqULGaVy3Fwtn1YOl9G4K9rHKGcw5jR7bPC4BcVriHkHseOYsajKhvVR8eWZklOuVBCX0u0f2Gq0AYkY=; 7:l7XEe30jddjIJgtwXKgrcOwNo7u8OFQDqeVxJe4aptW00MCIIqKRlpiKBDJkKAyLKxEdnhKydUXJOGklULM39anNXd3FtB0G7lZFQIrVYyHYpJqlUz5mTG7Z1XkOWrniMm1aCxT35LqIMvjSK890jF50lvCCzkFMptmt0nQdTZ7KY6R6OTT9ksDHIV55ydFz6h3hocOHDiZuhvoNjT+2/LFMwmLS7ZjHAHMlz28PQoA= x-ms-exchange-antispam-srfa-diagnostics: SSOS; x-ms-office365-filtering-correlation-id: 30ac97d7-36ea-4cbf-b074-08d504c9d291 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254152)(48565401081)(2017052603199)(201703131423075)(201703031133081)(201702281549075); SRVR:AM2PR05MB1220; x-ms-traffictypediagnostic: AM2PR05MB1220: x-ld-processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr x-exchange-antispam-report-test: UriScan:(158342451672863); x-microsoft-antispam-prvs: x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(10201501046)(3002001)(100000703101)(100105400095)(93006095)(93001095)(6055026)(6041248)(20161123560025)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(20161123555025)(20161123562025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:AM2PR05MB1220; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:AM2PR05MB1220; x-forefront-prvs: 0442E569BC x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(6009001)(376002)(346002)(377454003)(13464003)(189002)(199003)(25786009)(81156014)(8936002)(6436002)(81166006)(6116002)(50986999)(7736002)(305945005)(102836003)(2950100002)(99286003)(55016002)(101416001)(3846002)(53936002)(2900100001)(53546010)(106356001)(74316002)(54356999)(6506006)(76176999)(14454004)(5250100002)(5890100001)(66066001)(9686003)(7696004)(5660300001)(33656002)(6246003)(68736007)(107886003)(4326008)(575784001)(105586002)(189998001)(86362001)(229853002)(97736004)(478600001)(54906003)(3280700002)(316002)(3660700001)(110136005)(8676002)(2906002); DIR:OUT; SFP:1101; SCL:1; SRVR:AM2PR05MB1220; H:DB6PR0501MB2757.eurprd05.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Sep 2017 10:32:00.9087 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM2PR05MB1220 Subject: Re: [dpdk-dev] Mellanox ConnectX-5 crashes and mbuf leak 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: Tue, 26 Sep 2017 10:32:05 -0000 SGkgTWFydGluLCANCg0KV2Ugd2lsbCBsb29rIGludG8gdGhpcyBpc3N1ZSBhbmQgd2lsbCB0cnkg dG8gcmVwcm9kdWNlLg0KV2lsbCB1cGRhdGUgeW91IGFzIHNvb24gYXMgd2UgaGF2ZSBhbnkgbmV3 cy4NCg0KQ2FuIHlvdSBwbGVhc2Ugc2VuZCBrZXJuZWwgY3J1c2ggc3RhY2sgdGhhdCB5b3UgYXJl IHNlZWluZy4NCg0KQmVzdCBSZWdhcmRzLA0KT2xnYQ0KDQpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQpPbGdhIFNoZXJuIA0K U1cgRGlyZWN0b3IgRFBESyANCk1lbGxhbm94IFRlY2hub2xvZ2llcywgUmFhbmFuYSBJc3JhZWwN Cg0KDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogZGV2IFttYWlsdG86 ZGV2LWJvdW5jZXNAZHBkay5vcmddIE9uIEJlaGFsZiBPZiBNYXJ0aW4gV2Vpc2VyDQo+IFNlbnQ6 IFR1ZXNkYXksIFNlcHRlbWJlciAyNiwgMjAxNyAxMjoyNCBQTQ0KPiBUbzogQWRyaWVuIE1hemFy Z3VpbCA8YWRyaWVuLm1hemFyZ3VpbEA2d2luZC5jb20+OyBOw6lsaW8gTGFyYW5qZWlybw0KPiA8 bmVsaW8ubGFyYW5qZWlyb0A2d2luZC5jb20+DQo+IENjOiBkZXZAZHBkay5vcmcNCj4gU3ViamVj dDogW2RwZGstZGV2XSBNZWxsYW5veCBDb25uZWN0WC01IGNyYXNoZXMgYW5kIG1idWYgbGVhaw0K PiANCj4gSGksDQo+IA0KPiB3ZSBhcmUgY3VycmVudGx5IHRlc3RpbmcgdGhlIE1lbGxhbm94IENv bm5lY3RYLTUgMTAwRyBOSUMgd2l0aCBEUERLDQo+IDE3LjA4IGFzIHdlbGwgYXMgZHBkay1uZXQt bmV4dCBhbmQgYXJlDQo+IGV4cGVyaWVuY2luZyBtYnVmIGxlYWtzIGFzIHdlbGwgYXMgY3Jhc2hl cyAoYW5kIGluIHNvbWUgaW5zdGFuY2VzIGV2ZW4NCj4ga2VybmVsIHBhbmljcyBpbiBhIG1seDUg bW9kdWxlKSB1bmRlciBjZXJ0YWluIGxvYWQgY29uZGl0aW9ucy4NCj4gDQo+IFdlIGluaXRpYWxs eSBzYXcgdGhlc2UgaXNzdWVzIG9ubHkgaW4gb3VyIG93biBEUERLLWJhc2VkIGFwcGxpY2F0aW9u IGFuZCBpdA0KPiB0b29rIHNvbWUgZWZmb3J0IHRvIHJlcHJvZHVjZSB0aGlzIGluIG9uZSBvZiB0 aGUgRFBESyBleGFtcGxlIGFwcGxpY2F0aW9ucy4NCj4gSG93ZXZlciB3aXRoIHRoZSBhdHRhY2hl ZCBwYXRjaCB0byB0aGUgbG9hZC1iYWxhbmNlciBleGFtcGxlIHdlIGNhbg0KPiByZXByb2R1Y2Ug dGhlIGlzc3VlcyByZWxpYWJseS4NCj4gDQo+IFRoZSBwYXRjaCBtYXkgbG9vayB3ZWlyZCBhdCBm aXJzdCBidXQgSSB3aWxsIGV4cGxhaW4gd2h5IEkgbWFkZSB0aGVzZQ0KPiBjaGFuZ2VzOg0KPiAN Cj4gKiB0aGUgc2xlZXAgaW50cm9kdWNlZCBpbiB0aGUgd29ya2VyIHRocmVhZHMgc2ltdWxhdGVz IGhlYXZ5IHByb2Nlc3NpbmcNCj4gd2hpY2ggY2F1c2VzIHRoZSBzb2Z0d2FyZSByeCByaW5ncyB0 byBmaWxsDQo+IMKgIHVwIHVuZGVyIGxvYWQuIElmIHRoZSByaW5ncyBhcmUgbGFyZ2UgZW5vdWdo IChJIGluY3JlYXNlZCB0aGUgcmluZyBzaXplIHdpdGgNCj4gdGhlIGxvYWQtYmFsYW5jZXIgY29t bWFuZCBsaW5lIG9wdGlvbg0KPiDCoCBhcyB5b3UgY2FuIHNlZSBpbiB0aGUgZXhhbXBsZSBjYWxs IGZ1cnRoZXIgZG93bikgdGhlIG1idWYgcG9vbCBtYXkgcnVuDQo+IGVtcHR5IGFuZCBJIGJlbGll dmUgdGhpcyBsZWFkcyB0byBhIG1hbGZ1bmN0aW9uDQo+IMKgIGluIHRoZSBtbHg1IGRyaXZlci4g QXMgc29vbiBhcyB0aGlzIGhhcHBlbnMgdGhlIE5JQyB3aWxsIHN0b3AgZm9yd2FyZGluZw0KPiB0 cmFmZmljLCBwcm9iYWJseSBiZWNhdXNlIHRoZSBkcml2ZXINCj4gwqAgY2Fubm90IGFsbG9jYXRl IG1idWZzIGZvciB0aGUgcGFja2V0cyByZWNlaXZlZCBieSB0aGUgTklDLg0KPiBVbmZvcnR1bmF0 ZWx5IHdoZW4gdGhpcyBoYXBwZW5zIG1vc3Qgb2YgdGhlIG1idWZzIHdpbGwNCj4gwqAgbmV2ZXIg cmV0dXJuIHRvIHRoZSBtYnVmIHBvb2wgc28gdGhhdCBldmVuIHdoZW4gdGhlIHRyYWZmaWMgc3Rv cHMgdGhlIHBvb2wNCj4gd2lsbCByZW1haW4gYWxtb3N0IGVtcHR5IGFuZCB0aGUNCj4gwqAgYXBw bGljYXRpb24gd2lsbCBub3QgZm9yd2FyZCB0cmFmZmljIGV2ZW4gYXQgYSB2ZXJ5IGxvdyByYXRl Lg0KPiANCj4gKiB0aGUgdXNlIG9mIHRoZSByZWZlcmVuY2UgY291bnQgaW4gdGhlIG1idWYgaW4g YWRkaXRpb24gdG8gdGhlIHNpdHVhdGlvbg0KPiBkZXNjcmliZWQgYWJvdmUgaXMgd2hhdCBtYWtl cyB0aGUNCj4gwqAgbWx4NSBEUERLIGRyaXZlciBjcmFzaCBhbG1vc3QgaW1tZWRpYXRlbHkgdW5k ZXIgbG9hZC4gSW4gb3VyIGFwcGxpY2F0aW9uDQo+IHdlIHJlbHkgb24gdGhpcyBmZWF0dXJlIHRv IGJlIGFibGUgdG8gZm9yd2FyZA0KPiDCoCB0aGUgcGFja2V0IHF1aWNrbHkgYW5kIHN0aWxsIHNl bmQgdGhlIHBhY2tldCB0byBhIHdvcmtlciB0aHJlYWQgZm9yIGFuYWx5c2lzDQo+IGFuZCBmaW5h bGx5IGZyZWUgdGhlIHBhY2tldCB3aGVuIGFuYWx5c2lzIGlzDQo+IMKgIGRvbmUuIEhlcmUgSSBz aW11bGF0ZWQgdGhpcyBieSBpbmNyZWFzaW5nIHRoZSBtYnVmIHJlZmVyZW5jZSBjb3VudA0KPiBp bW1lZGlhdGVseSBhZnRlciByZWNlaXZpbmcgdGhlIG1idWYgZnJvbSB0aGUNCj4gwqAgZHJpdmVy IGFuZCB0aGVuIGNhbGxpbmcgcnRlX3BrdG1idWZfZnJlZSBpbiB0aGUgd29ya2VyIHRocmVhZCB3 aGljaCBzaG91bGQNCj4gb25seSBkZWNyZW1lbnQgdGhlIHJlZmVyZW5jZSBjb3VudCBhZ2Fpbg0K PiDCoCBhbmQgbm90IGFjdHVhbGx5IGZyZWUgdGhlIG1idWYuDQo+IA0KPiBXZSBleGVjdXRlZCB0 aGUgcGF0Y2hlZCBsb2FkLWJhbGFuY2VyIGFwcGxpY2F0aW9uIHdpdGggdGhlIGZvbGxvd2luZw0K PiBjb21tYW5kIGxpbmU6DQo+IA0KPiDCoMKgwqAgLi9idWlsZC9sb2FkX2JhbGFuY2VyIC1sIDMt NyAtbiA0IC0tIC0tcnggIigwLDAsMyksKDEsMCwzKSIgLS10eCAiKDAsMyksKDEsMykiIC0tdw0K PiAiNCIgLS1scG0gIjE2LjAuMC4wLzg9PjA7IDQ4LjAuMC4wLzg9PjE7IiAtLXBvcy1sYiAyOSAt LXJzeiAiMTAyNCwgMzI3NjgsIDEwMjQsDQo+IDEwMjQiDQo+IA0KPiBUaGVuIHdlIGdlbmVyYXRl ZCB0cmFmZmljIHVzaW5nIHRoZSB0LXJleCB0cmFmZmljIGdlbmVyYXRvciBhbmQgdGhlIHNmciB0 ZXN0DQo+IGNhc2UuIE9uIG91ciBtYWNoaW5lIHRoZSBpc3N1ZXMgc3RhcnQgdG8gaGFwcGVuIHdo ZW4gdGhlIHRyYWZmaWMgZXhjZWVkcyB+Ng0KPiBHYnBzIGJ1dCB0aGlzIG1heSB2YXJ5IGRlcGVu ZGluZyBvbiBob3cgcG93ZXJmdWwgdGhlIHRlc3QgbWFjaGluZSBpcyAoYnkNCj4gdGhlIHdheSB3 ZSB3ZXJlIGFibGUgdG8gcmVwcm9kdWNlIHRoaXMgb24gZGlmZmVyZW50IHR5cGVzIG9mIGhhcmR3 YXJlKS4NCj4gDQo+IEEgdHlwaWNhbCBzdGFja3RyYWNlIGxvb2tzIGxpa2UgdGhpczoNCj4gDQo+ IMKgwqDCoCBUaHJlYWQgMSAibG9hZF9iYWxhbmNlciIgcmVjZWl2ZWQgc2lnbmFsIFNJR1NFR1Ys IFNlZ21lbnRhdGlvbiBmYXVsdC4NCj4gwqDCoMKgIDB4MDAwMDAwMDAwMDYxNDQ3NSBpbiBfbW1f c3RvcmV1X3NpMTI4IChfX0I9Li4uLCBfX1A9PG9wdGltaXplZA0KPiBvdXQ+KSBhdCAvdXNyL2xp Yi9nY2MveDg2XzY0LWxpbnV4LWdudS81L2luY2x1ZGUvZW1taW50cmluLmg6NzE2DQo+IMKgwqDC oCA3MTbCoMKgwqAgwqAgX19idWlsdGluX2lhMzJfc3RvcmVkcXUgKChjaGFyICopX19QLCAoX192 MTZxaSlfX0IpOw0KPiDCoMKgwqAgKGdkYikgYnQNCj4gwqDCoMKgICMwwqAgMHgwMDAwMDAwMDAw NjE0NDc1IGluIF9tbV9zdG9yZXVfc2kxMjggKF9fQj0uLi4sIF9fUD08b3B0aW1pemVkDQo+IG91 dD4pIGF0IC91c3IvbGliL2djYy94ODZfNjQtbGludXgtZ251LzUvaW5jbHVkZS9lbW1pbnRyaW4u aDo3MTYNCj4gwqDCoMKgICMxwqAgcnhxX2NxX2RlY29tcHJlc3NfdiAoZWx0cz0weDdmZmYzNzMy YmVmMCwgY3E9MHg3ZmZmZjdmOTkzODAsDQo+IHJ4cT0weDdmZmYzNzMyYTk4MCkgYXQNCj4gL3Jv b3QvZHBkay1uZXh0LW5ldC9kcml2ZXJzL25ldC9tbHg1L21seDVfcnh0eF92ZWNfc3NlLmM6Njc5 DQo+IMKgwqDCoCAjMsKgIHJ4cV9idXJzdF92IChwa3RzX249PG9wdGltaXplZCBvdXQ+LCBwa3Rz PTB4YTdjN2IwIDxhcHArNDMyOTQ0PiwNCj4gcnhxPTB4N2ZmZjM3MzJhOTgwKSBhdA0KPiAvcm9v dC9kcGRrLW5leHQtbmV0L2RyaXZlcnMvbmV0L21seDUvbWx4NV9yeHR4X3ZlY19zc2UuYzoxMjQy DQo+IMKgwqDCoCAjM8KgIG1seDVfcnhfYnVyc3RfdmVjIChkcGRrX3J4cT0weDdmZmYzNzMyYTk4 MCwgcGt0cz08b3B0aW1pemVkDQo+IG91dD4sIHBrdHNfbj08b3B0aW1pemVkIG91dD4pIGF0DQo+ IC9yb290L2RwZGstbmV4dC1uZXQvZHJpdmVycy9uZXQvbWx4NS9tbHg1X3J4dHhfdmVjX3NzZS5j OjEyNzcNCj4gwqDCoMKgICM0wqAgMHgwMDAwMDAwMDAwNDNjMTFkIGluIHJ0ZV9ldGhfcnhfYnVy c3QgKG5iX3BrdHM9MzU5OSwNCj4gcnhfcGt0cz0weGE3YzdiMCA8YXBwKzQzMjk0ND4sIHF1ZXVl X2lkPTAsIHBvcnRfaWQ9MCAnXDAwMCcpDQo+IMKgwqDCoCBhdA0KPiAvcm9vdC9kcGRrLW5leHQt bmV0Ly94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLQ0KPiBnY2MvaW5jbHVkZS9ydGVfZXRoZGV2Lmg6 Mjc4MQ0KPiDCoMKgwqAgIzXCoCBhcHBfbGNvcmVfaW9fcnggKGxwPWxwQGVudHJ5PTB4YTdjNzAw IDxhcHArNDMyNzY4PiwNCj4gbl93b3JrZXJzPW5fd29ya2Vyc0BlbnRyeT0xLCBic3pfcmQ9YnN6 X3JkQGVudHJ5PTE0NCwNCj4gYnN6X3dyPWJzel93ckBlbnRyeT0xNDQsIHBvc19sYj1wb3NfbGJA ZW50cnk9MjkgJ1wwMzUnKQ0KPiDCoMKgwqAgYXQgL3Jvb3QvZHBkay1uZXh0LW5ldC9leGFtcGxl cy9sb2FkX2JhbGFuY2VyL3J1bnRpbWUuYzoxOTgNCj4gwqDCoMKgICM2wqAgMHgwMDAwMDAwMDAw NDQ3ZGMwIGluIGFwcF9sY29yZV9tYWluX2xvb3BfaW8gKCkgYXQNCj4gL3Jvb3QvZHBkay1uZXh0 LW5ldC9leGFtcGxlcy9sb2FkX2JhbGFuY2VyL3J1bnRpbWUuYzo0ODUNCj4gwqDCoMKgICM3wqAg YXBwX2xjb3JlX21haW5fbG9vcCAoYXJnPTxvcHRpbWl6ZWQgb3V0PikgYXQNCj4gL3Jvb3QvZHBk ay1uZXh0LW5ldC9leGFtcGxlcy9sb2FkX2JhbGFuY2VyL3J1bnRpbWUuYzo2NjkNCj4gwqDCoMKg ICM4wqAgMHgwMDAwMDAwMDAwNDk1ZThiIGluIHJ0ZV9lYWxfbXBfcmVtb3RlX2xhdW5jaCAoKQ0K PiDCoMKgwqAgIznCoCAweDAwMDAwMDAwMDA0NDFlMGQgaW4gbWFpbiAoYXJnYz08b3B0aW1pemVk IG91dD4sIGFyZ3Y9PG9wdGltaXplZA0KPiBvdXQ+KSBhdA0KPiAvcm9vdC9kcGRrLW5leHQtbmV0 L2V4YW1wbGVzL2xvYWRfYmFsYW5jZXIvbWFpbi5jOjk5DQo+IA0KPiBUaGUgY3Jhc2ggZG9lcyBu b3QgYWx3YXlzIGhhcHBlbiBhdCB0aGUgZXhhY3Qgc2FtZSBzcG90IGJ1dCBpbiBvdXIgdGVzdHMN Cj4gYWx3YXlzIGluIHRoZSBzYW1lIGZ1bmN0aW9uLg0KPiBJbiBhIGZldyBpbnN0YW5jZXMgaW5z dGVhZCBvZiBhbiBhcHBsaWNhdGlvbiBjcmFzaCB0aGUgc3lzdGVtIGZyb3plDQo+IGNvbXBsZXRl bHkgd2l0aCB3aGF0IGFwcGVhcmVkIHRvIGJlIGEga2VybmVsIHBhbmljLiBUaGUgbGFzdCBvdXRw dXQgbG9va2VkDQo+IGxpa2UgYSBjcmFzaCBpbiB0aGUgaW50ZXJydXB0IGhhbmRsZXIgb2YgYQ0K PiBtbHg1IG1vZHVsZSBidXQgdW5mb3J0dW5hdGVseSBJIGNhbm5vdA0KPiBwcm92aWRlIHRoZSBl eGFjdCBvdXRwdXQgcmlnaHQgbm93Lg0KPiANCj4gQWxsIHRlc3RzIHdlcmUgcGVyZm9ybWVkIHVu ZGVyIFVidW50dSAxNi4wNCBzZXJ2ZXIgcnVubmluZyBhIDQuNC4wLTk2LQ0KPiBnZW5lcmljIGtl cm5lbCBhbmQgdGhlIGxhc3RlZCBNZWxsYW5veCBPRkVEDQo+IE1MTlhfT0ZFRF9MSU5VWC00LjEt MS4wLjIuMC11YnVudHUxNi4wNC14ODZfNjQgd2FzIHVzZWQuDQo+IA0KPiBBbnkgaGVscCB3aXRo IHRoaXMgaXNzdWUgaXMgZ3JlYXRseSBhcHByZWNpYXRlZC4NCj4gDQo+IEJlc3QgcmVnYXJkcywN Cj4gTWFydGluDQoNCg==