From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by dpdk.org (Postfix) with ESMTP id C79C998 for ; Tue, 28 Aug 2018 18:50:04 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 28 Aug 2018 09:50:03 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.53,300,1531810800"; d="scan'208";a="84104511" Received: from irsmsx109.ger.corp.intel.com ([163.33.3.23]) by fmsmga004.fm.intel.com with ESMTP; 28 Aug 2018 09:50:02 -0700 Received: from irsmsx102.ger.corp.intel.com ([169.254.2.180]) by IRSMSX109.ger.corp.intel.com ([169.254.13.156]) with mapi id 14.03.0319.002; Tue, 28 Aug 2018 17:50:01 +0100 From: "Van Haaren, Harry" To: Shreyansh Jain , "Power, Ciara" , "Archbold, Brian" , "Kenny, Emma" CC: "dev@dpdk.org" Thread-Topic: [dpdk-dev] [PATCH 01/11] telemetry: initial telemetry infrastructure Thread-Index: AQHUOtoEXDtlvjLRJkGIcpB5svJvXaTOz02AgAaYexA= Date: Tue, 28 Aug 2018 16:50:00 +0000 Message-ID: References: <1535026093-101872-1-git-send-email-ciara.power@intel.com> <1535026093-101872-2-git-send-email-ciara.power@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiZDhkNGY2MTQtODhjZi00ZTljLWJhZmItZmJmYWRmNDMwZjI0IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiRGZxTFlrcm5ycVpJMitCU05qeDlDcWk1YTRpNG5JVWlkSDhueThMUWlhSUVcL0d0S3VhVUIrZzhpYXB5aVptbloifQ== x-ctpclassification: CTP_NT dlp-product: dlpe-windows dlp-version: 11.0.400.15 dlp-reaction: no-action x-originating-ip: [163.33.239.181] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH 01/11] telemetry: initial telemetry infrastructure 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, 28 Aug 2018 16:50:05 -0000 PiBGcm9tOiBTaHJleWFuc2ggSmFpbiBbbWFpbHRvOnNocmV5YW5zaC5qYWluQG54cC5jb21dDQo+ IFNlbnQ6IEZyaWRheSwgQXVndXN0IDI0LCAyMDE4IDI6MDQgUE0NCj4gVG86IFBvd2VyLCBDaWFy YSA8Y2lhcmEucG93ZXJAaW50ZWwuY29tPjsgVmFuIEhhYXJlbiwgSGFycnkNCj4gPGhhcnJ5LnZh bi5oYWFyZW5AaW50ZWwuY29tPjsgQXJjaGJvbGQsIEJyaWFuIDxicmlhbi5hcmNoYm9sZEBpbnRl bC5jb20+Ow0KPiBLZW5ueSwgRW1tYSA8ZW1tYS5rZW5ueUBpbnRlbC5jb20+DQo+IENjOiBkZXZA ZHBkay5vcmcNCj4gU3ViamVjdDogUmU6IFtkcGRrLWRldl0gW1BBVENIIDAxLzExXSB0ZWxlbWV0 cnk6IGluaXRpYWwgdGVsZW1ldHJ5DQo+IGluZnJhc3RydWN0dXJlDQo+IA0KPiBPbiBUaHVyc2Rh eSAyMyBBdWd1c3QgMjAxOCAwNTozOCBQTSwgQ2lhcmEgUG93ZXIgd3JvdGU6DQo+ID4gVGhpcyBw YXRjaCBhZGRzIHRoZSBpbmZyYXN0cnVjdHVyZSBhbmQgaW5pdGlhbCBjb2RlIGZvciB0aGUNCj4g PiB0ZWxlbWV0cnkgbGlicmFyeS4NCj4gPg0KPiA+IEEgdmlydHVhbCBkZXZpY2UgaXMgdXNlZCBm b3IgdGVsZW1ldHJ5LCB3aGljaCBpcyBpbmNsdWRlZCBpbg0KPiA+IHRoaXMgcGF0Y2guIFRvIHVz ZSB0ZWxlbWV0cnksIGEgY29tbWFuZC1saW5lIGFyZ3VtZW50IG11c3QgYmUNCj4gPiB1c2VkIC0g Ii0tdmRldj10ZWxlbWV0cnkiLg0KPiA+DQo+ID4gQ29udHJvbCB0aHJlYWRzIGFyZSB1c2VkIHRv IGdldCBDUFUgY3ljbGVzIGZvciB0ZWxlbWV0cnksIHdoaWNoDQo+ID4gYXJlIGNvbmZpZ3VyZWQg aW4gdGhpcyBwYXRjaCBhbHNvLg0KPiA+DQo+ID4gU2lnbmVkLW9mZi1ieTogQ2lhcmEgUG93ZXIg PGNpYXJhLnBvd2VyQGludGVsLmNvbT4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBCcmlhbiBBcmNoYm9s ZCA8YnJpYW4uYXJjaGJvbGRAaW50ZWwuY29tPg0KPiA+IC0tLQ0KPiANCj4gWy4uLl0NCj4gDQo+ IC9ydGVfcG1kX3RlbGVtZXRyeV92ZXJzaW9uLm1hcA0KPiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0 DQo+ID4gaW5kZXggMDAwMDAwMC4uYTczZTBmMg0KPiA+IC0tLSAvZGV2L251bGwNCj4gPiArKysg Yi9kcml2ZXJzL3RlbGVtZXRyeS90ZWxlbWV0cnkvcnRlX3BtZF90ZWxlbWV0cnlfdmVyc2lvbi5t YXANCj4gPiBAQCAtMCwwICsxLDkgQEANCj4gPiArRFBES18xOC4wNSB7DQo+IA0KPiAgICAgICAg ICBeXl5eXg0KPiBJIHRoaW5rIHlvdSB3YW50IDE4LjExIGhlcmUuDQoNClllcyBpbmRlZWQuDQoN Cg0KPiA+ICsJZ2xvYmFsOg0KPiA+ICsNCj4gPiArCXRlbGVtZXRyeV9wcm9iZTsNCj4gPiArCXRl bGVtZXRyeV9yZW1vdmU7DQo+ID4gKw0KPiA+ICsJbG9jYWw6ICo7DQo+ID4gKw0KPiA+ICt9Ow0K PiANCj4gDQo+IFsuLi5dDQo+IA0KPiA+IGRpZmYgLS1naXQgYS9saWIvTWFrZWZpbGUgYi9saWIv TWFrZWZpbGUNCj4gPiBpbmRleCBhZmE2MDRlLi44Y2JkMDM1IDEwMDY0NA0KPiA+IC0tLSBhL2xp Yi9NYWtlZmlsZQ0KPiA+ICsrKyBiL2xpYi9NYWtlZmlsZQ0KPiA+IEBAIC0xMDUsNiArMTA1LDgg QEAgREVQRElSUy1saWJydGVfZ3NvIDo9IGxpYnJ0ZV9lYWwgbGlicnRlX21idWYNCj4gbGlicnRl X2V0aGRldiBsaWJydGVfbmV0DQo+ID4gICBERVBESVJTLWxpYnJ0ZV9nc28gKz0gbGlicnRlX21l bXBvb2wNCj4gPiAgIERJUlMtJChDT05GSUdfUlRFX0xJQlJURV9CUEYpICs9IGxpYnJ0ZV9icGYN Cj4gPiAgIERFUERJUlMtbGlicnRlX2JwZiA6PSBsaWJydGVfZWFsIGxpYnJ0ZV9tZW1wb29sIGxp YnJ0ZV9tYnVmDQo+IGxpYnJ0ZV9ldGhkZXYNCj4gPiArRElSUy0kKENPTkZJR19SVEVfTElCUlRF X1RFTEVNRVRSWSkgKz0gbGlicnRlX3RlbGVtZXRyeQ0KPiA+ICtERVBESVJTLWxpYnJ0ZV90ZWxl bWV0cnkgOj0gbGlicnRlX2VhbCBsaWJydGVfbWV0cmljcyBsaWJydGVfZXRoZGV2DQo+ID4NCj4g PiAgIGlmZXEgKCQoQ09ORklHX1JURV9FWEVDX0VOVl9MSU5VWEFQUCkseSkNCj4gPiAgIERJUlMt JChDT05GSUdfUlRFX0xJQlJURV9LTkkpICs9IGxpYnJ0ZV9rbmkNCj4gPiBkaWZmIC0tZ2l0IGEv bGliL2xpYnJ0ZV90ZWxlbWV0cnkvTWFrZWZpbGUgYi9saWIvbGlicnRlX3RlbGVtZXRyeS9NYWtl ZmlsZQ0KPiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ID4gaW5kZXggMDAwMDAwMC4uYmRhMzc4 OA0KPiA+IC0tLSAvZGV2L251bGwNCj4gPiArKysgYi9saWIvbGlicnRlX3RlbGVtZXRyeS9NYWtl ZmlsZQ0KPiA+IEBAIC0wLDAgKzEsMjYgQEANCj4gPiArIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmll cjogQlNELTMtQ2xhdXNlDQo+ID4gKyMgQ29weXJpZ2h0KGMpIDIwMTggSW50ZWwgQ29ycG9yYXRp b24NCj4gPiArDQo+ID4gK2luY2x1ZGUgJChSVEVfU0RLKS9tay9ydGUudmFycy5taw0KPiA+ICsN Cj4gPiArIyBsaWJyYXJ5IG5hbWUNCj4gPiArTElCID0gbGlicnRlX3RlbGVtZXRyeS5hDQo+ID4g Kw0KPiA+ICtDRkxBR1MgKz0gLU8zDQo+ID4gK0NGTEFHUyArPSAtSSQoU1JDRElSKQ0KPiA+ICtD RkxBR1MgKz0gLURBTExPV19FWFBFUklNRU5UQUxfQVBJDQo+ID4gKw0KPiA+ICtMRExJQlMgKz0g LWxydGVfZWFsIC1scnRlX2V0aGRldg0KPiA+ICtMRExJQlMgKz0gLWxydGVfbWV0cmljcw0KPiA+ ICsNCj4gPiArRVhQT1JUX01BUCA6PSBydGVfdGVsZW1ldHJ5X3ZlcnNpb24ubWFwDQo+ID4gKw0K PiA+ICtMSUJBQklWRVIgOj0gMQ0KPiA+ICsNCj4gPiArIyBsaWJyYXJ5IHNvdXJjZSBmaWxlcw0K PiA+ICtTUkNTLSQoQ09ORklHX1JURV9MSUJSVEVfVEVMRU1FVFJZKSA6PSBydGVfdGVsZW1ldHJ5 LmMNCj4gPiArDQo+ID4gKyMgZXhwb3J0IGluY2x1ZGUgZmlsZXMNCj4gPiArU1lNTElOSy0kKENP TkZJR19SVEVfTElCUlRFX1RFTEVNRVRSWSktaW5jbHVkZSA6PSBydGVfdGVsZW1ldHJ5LmgNCj4g PiArDQo+ID4gK2luY2x1ZGUgJChSVEVfU0RLKS9tay9ydGUubGliLm1rDQo+ID4gZGlmZiAtLWdp dCBhL2xpYi9saWJydGVfdGVsZW1ldHJ5L21lc29uLmJ1aWxkDQo+IGIvbGliL2xpYnJ0ZV90ZWxl bWV0cnkvbWVzb24uYnVpbGQNCj4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiA+IGluZGV4IDAw MDAwMDAuLjc3MTYwNzYNCj4gPiAtLS0gL2Rldi9udWxsDQo+ID4gKysrIGIvbGliL2xpYnJ0ZV90 ZWxlbWV0cnkvbWVzb24uYnVpbGQNCj4gPiBAQCAtMCwwICsxLDcgQEANCj4gPiArIyBTUERYLUxp Y2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlDQo+ID4gKyMgQ29weXJpZ2h0KGMpIDIwMTgg SW50ZWwgQ29ycG9yYXRpb24NCj4gPiArDQo+ID4gK3NvdXJjZXMgPSBmaWxlcygncnRlX3RlbGVt ZXRyeS5jJykNCj4gPiAraGVhZGVycyA9IGZpbGVzKCdydGVfdGVsZW1ldHJ5LmgnLCAncnRlX3Rl bGVtZXRyeV9pbnRlcm5hbC5oJykNCj4gPiArZGVwcyArPSBbJ21ldHJpY3MnLCAnZXRoZGV2J10N Cj4gPiArY2ZsYWdzICs9ICctREFMTE9XX0VYUEVSSU1FTlRBTF9BUEknDQo+ID4gZGlmZiAtLWdp dCBhL2xpYi9saWJydGVfdGVsZW1ldHJ5L3J0ZV90ZWxlbWV0cnkuYw0KPiBiL2xpYi9saWJydGVf dGVsZW1ldHJ5L3J0ZV90ZWxlbWV0cnkuYw0KPiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ID4g aW5kZXggMDAwMDAwMC4uOGQ3YjBlMw0KPiA+IC0tLSAvZGV2L251bGwNCj4gPiArKysgYi9saWIv bGlicnRlX3RlbGVtZXRyeS9ydGVfdGVsZW1ldHJ5LmMNCj4gPiBAQCAtMCwwICsxLDEwOCBAQA0K PiA+ICsvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlDQo+ID4gKyAqIENv cHlyaWdodChjKSAyMDE4IEludGVsIENvcnBvcmF0aW9uDQo+ID4gKyAqLw0KPiA+ICsNCj4gPiAr I2luY2x1ZGUgPHVuaXN0ZC5oPg0KPiA+ICsNCj4gPiArI2luY2x1ZGUgPHJ0ZV9lYWwuaD4NCj4g PiArI2luY2x1ZGUgPHJ0ZV9ldGhkZXYuaD4NCj4gPiArI2luY2x1ZGUgPHJ0ZV9tZXRyaWNzLmg+ DQo+ID4gKw0KPiA+ICsjaW5jbHVkZSAicnRlX3RlbGVtZXRyeS5oIg0KPiA+ICsjaW5jbHVkZSAi cnRlX3RlbGVtZXRyeV9pbnRlcm5hbC5oIg0KPiA+ICsNCj4gPiArI2RlZmluZSBTTEVFUF9USU1F IDEwDQo+ID4gKw0KPiA+ICtzdGF0aWMgdGVsZW1ldHJ5X2ltcGwgKnN0YXRpY190ZWxlbWV0cnk7 DQo+ID4gKw0KPiA+ICtzdGF0aWMgaW50MzJfdA0KPiA+ICtydGVfdGVsZW1ldHJ5X3J1bih2b2lk ICp1c2VyZGF0YSkNCj4gPiArew0KPiA+ICsJc3RydWN0IHRlbGVtZXRyeV9pbXBsICp0ZWxlbWV0 cnkgPSAoc3RydWN0IHRlbGVtZXRyeV9pbXBsICopdXNlcmRhdGE7DQo+ID4gKwlpZiAoIXRlbGVt ZXRyeSkgew0KPiA+ICsJCVRFTEVNRVRSWV9MT0dfV0FSTigiV2FybmluZyAtIFRFTEVNRVRSWSBj b3VsZCBub3QgYmUgIg0KPiA+ICsJCQkiaW5pdGlhbGlzZWRcbiIpOw0KPiANCj4gWW91ciAnVEVM RU1FVFJZX0xPR19XQVJOSU5HJyBhbHJlYWR5IGluY2x1ZGVzIGEgJ1xuJyBpbiBpdHMgZGVmaW5p dGlvbi4NCj4gVGhpcyB3b3VsZCBhZGQgYW5vdGhlciBvbmUuIENhbiB5b3UgcmUtY2hlY2s/DQoN ClllcywgYXMgU3RlcGhlbiBub3RlZCB0b28uIFdpbGwgZml4IQ0KDQo+IA0KPiA+ICsJCXJldHVy biAtMTsNCj4gPiArCX0NCj4gPiArDQo+ID4gKwlyZXR1cm4gMDsNCj4gPiArfQ0KPiA+ICsNCj4g PiArc3RhdGljIHZvaWQNCj4gPiArKnJ0ZV90ZWxlbWV0cnlfcnVuX3RocmVhZF9mdW5jKHZvaWQg KnVzZXJkYXRhKQ0KPiA+ICt7DQo+ID4gKwlpbnQgcmV0Ow0KPiA+ICsJc3RydWN0IHRlbGVtZXRy eV9pbXBsICp0ZWxlbWV0cnkgPSAoc3RydWN0IHRlbGVtZXRyeV9pbXBsICopdXNlcmRhdGE7DQo+ ID4gKw0KPiA+ICsJaWYgKCF0ZWxlbWV0cnkpIHsNCj4gPiArCQlURUxFTUVUUllfTE9HX0VSUigi RXJyb3IgLSAlcyBwYXNzZWQgYSBOVUxMIGluc3RhbmNlXG4iLA0KPiA+ICsJCQlfX2Z1bmNfXyk7 DQo+IA0KPiBJIG1pZ2h0IGJlIHBpY2t5IC0gYnV0IHRoaXMgaXMgYW4gaW50ZXJuYWwgZnVuY3Rp b24gc3Bhd25lZCB1c2luZw0KPiBydGVfY3RybF90aHJlYWRfY3JlYXRlIHdoaWNoIGFscmVhZHkg aGFzIGEgY2hlY2sgd2hldGhlciB0aGUgYXJndW1lbnQNCj4gKHN0YXRpY190ZWxlbWV0cnkpIGlz IE5VTEwgb3Igbm90LiBTbywgdGhpcyBpcyBsaWtlIGR1cGxpY2F0aW5nIHRoYXQgd29yay4NCj4g DQo+ID4gKwkJcHRocmVhZF9leGl0KDApOw0KPiA+ICsJfQ0KPiA+ICsNCj4gPiArCXdoaWxlICh0 ZWxlbWV0cnktPnRocmVhZF9zdGF0dXMpIHsNCj4gPiArCQlydGVfdGVsZW1ldHJ5X3J1bih0ZWxl bWV0cnkpOw0KPiA+ICsJCXJldCA9IHVzbGVlcChTTEVFUF9USU1FKTsNCj4gPiArCQlpZiAocmV0 IDwgMCkNCj4gPiArCQkJVEVMRU1FVFJZX0xPR19FUlIoIkVycm9yIC0gQ2FsbGluZyB0aHJlYWQg Y291bGQgbm90IGJlIg0KPiA+ICsJCQkJIiBwdXQgdG8gc2xlZXBcbiIpOw0KPiANCj4gSWYgdGhl IGNhbGxpbmcgdGhyZWFkIGNvdWxkbid0IGJlIHB1dCB0byBzbGVlcCwgeW91IHdvdWxkIGNvbnRp bnVlDQo+IGxvb3Bpbmcgd2l0aG91dCBzbGVlcGluZz8gV291bGRuJ3QgdGhhdCBzaW1wbHkgaG9n IHlvdXIgQ1BVPyBPciwgaXMgdGhhdA0KPiBleHBlY3RlZCBkZXNpZ24/DQoNCldpbGwgbG9vayBp bnRvIHRoaXMuDQoNCg0KPiA+ICsJfQ0KPiA+ICsJcHRocmVhZF9leGl0KDApOw0KPiA+ICt9DQo+ ID4gKw0KPiA+ICtpbnQzMl90DQo+ID4gK3J0ZV90ZWxlbWV0cnlfaW5pdCh1aW50MzJfdCBzb2Nr ZXRfaWQpDQo+ID4gK3sNCj4gPiArCWludCByZXQ7DQo+ID4gKwlwdGhyZWFkX2F0dHJfdCBhdHRy Ow0KPiA+ICsJY29uc3QgY2hhciAqdGVsZW1ldHJ5X2N0cmxfdGhyZWFkID0gInRlbGVtZXRyeSI7 DQo+ID4gKw0KPiA+ICsJaWYgKHN0YXRpY190ZWxlbWV0cnkpIHsNCj4gPiArCQlURUxFTUVUUllf TE9HX1dBUk4oIldhcm5pbmcgLSBURUxFTUVUUlkgc3RydWN0dXJlIGFscmVhZHkgIg0KPiA+ICsJ CQkiaW5pdGlhbGlzZWRcbiIpOw0KPiA+ICsJCXJldHVybiAtRUFMUkVBRFk7DQo+ID4gKwl9DQo+ ID4gKw0KPiA+ICsJc3RhdGljX3RlbGVtZXRyeSA9IGNhbGxvYygxLCBzaXplb2Yoc3RydWN0IHRl bGVtZXRyeV9pbXBsKSk7DQo+ID4gKwlpZiAoIXN0YXRpY190ZWxlbWV0cnkpIHsNCj4gPiArCQlU RUxFTUVUUllfTE9HX0VSUigiRXJyb3IgLSBNZW1vcnkgY291bGQgbm90IGJlIGFsbG9jYXRlZFxu Iik7DQo+ID4gKwkJcmV0dXJuIC1FTk9NRU07DQo+ID4gKwl9DQo+ID4gKw0KPiA+ICsJc3RhdGlj X3RlbGVtZXRyeS0+c29ja2V0X2lkID0gc29ja2V0X2lkOw0KPiA+ICsJcnRlX21ldHJpY3NfaW5p dChzdGF0aWNfdGVsZW1ldHJ5LT5zb2NrZXRfaWQpOw0KPiA+ICsJcHRocmVhZF9hdHRyX2luaXQo JmF0dHIpOw0KPiA+ICsJcmV0ID0gcnRlX2N0cmxfdGhyZWFkX2NyZWF0ZSgmc3RhdGljX3RlbGVt ZXRyeS0+dGhyZWFkX2lkLA0KPiA+ICsJCXRlbGVtZXRyeV9jdHJsX3RocmVhZCwgJmF0dHIsIHJ0 ZV90ZWxlbWV0cnlfcnVuX3RocmVhZF9mdW5jLA0KPiA+ICsJCSh2b2lkICopc3RhdGljX3RlbGVt ZXRyeSk7DQo+ID4gKwlzdGF0aWNfdGVsZW1ldHJ5LT50aHJlYWRfc3RhdHVzID0gMTsNCj4gPiAr CWlmIChyZXQgPCAwKSB7DQo+ID4gKwkJcmV0ID0gcnRlX3RlbGVtZXRyeV9jbGVhbnVwKCk7DQo+ ID4gKwkJaWYgKHJldCA8IDApDQo+ID4gKwkJCVRFTEVNRVRSWV9MT0dfRVJSKCJFcnJvciAtIFRF TEVNRVRSWSBjbGVhbnVwIGZhaWxlZFxuIik7DQo+ID4gKwkJcmV0dXJuIC1FUEVSTTsNCj4gPiAr CX0NCj4gPiArCXJldHVybiAwOw0KPiA+ICt9DQo+ID4gKw0KPiA+ICtpbnQzMl90DQo+ID4gK3J0 ZV90ZWxlbWV0cnlfY2xlYW51cCh2b2lkKQ0KPiA+ICt7DQo+ID4gKwlzdHJ1Y3QgdGVsZW1ldHJ5 X2ltcGwgKnRlbGVtZXRyeSA9IHN0YXRpY190ZWxlbWV0cnk7DQo+ID4gKwl0ZWxlbWV0cnktPnRo cmVhZF9zdGF0dXMgPSAwOw0KPiA+ICsJcHRocmVhZF9qb2luKHRlbGVtZXRyeS0+dGhyZWFkX2lk LCBOVUxMKTsNCj4gPiArCWZyZWUodGVsZW1ldHJ5KTsNCj4gPiArCXN0YXRpY190ZWxlbWV0cnkg PSBOVUxMOw0KPiA+ICsJcmV0dXJuIDA7DQo+IA0KPiBNYXliZSBpZiB5b3UgY291bGQgdXNlIGJl IGEgbGl0dGxlIG1vcmUgbGliZXJhbCB3aXRoIG5ldyBsaW5lcywgaXQgd291bGQNCj4gYmUgc2xp Z2h0bHkgZWFzaWVyIHRvIHJlYWQuDQo+IEJ1dCBhZ2FpbiwgdGhhdCBpcyBteSBwZXJzb25hbCBv cGluaW9uLg0KDQpUaGFua3MgZm9yIHRoZSBpbnB1dCwgd2lsbCBiZSBrZXB0IGluIG1pbmQuDQoN Cj4gPiArfQ0KPiA+ICsNCj4gPiAraW50IHRlbGVtZXRyeV9sb2dfbGV2ZWw7DQo+ID4gK1JURV9J TklUKHJ0ZV90ZWxlbWV0cnlfbG9nX2luaXQpOw0KPiA+ICsNCj4gPiArc3RhdGljIHZvaWQNCj4g PiArcnRlX3RlbGVtZXRyeV9sb2dfaW5pdCh2b2lkKQ0KPiA+ICt7DQo+ID4gKwl0ZWxlbWV0cnlf bG9nX2xldmVsID0gcnRlX2xvZ19yZWdpc3RlcigibGliLnRlbGVtZXRyeSIpOw0KPiA+ICsJaWYg KHRlbGVtZXRyeV9sb2dfbGV2ZWwgPj0gMCkNCj4gPiArCQlydGVfbG9nX3NldF9sZXZlbCh0ZWxl bWV0cnlfbG9nX2xldmVsLCBSVEVfTE9HX0VSUik7DQo+ID4gK30NCj4gDQo+IFsuLi5dDQo+IA0K PiA+ICsjZW5kaWYNCj4gPiBkaWZmIC0tZ2l0IGEvbGliL2xpYnJ0ZV90ZWxlbWV0cnkvcnRlX3Rl bGVtZXRyeV92ZXJzaW9uLm1hcA0KPiBiL2xpYi9saWJydGVfdGVsZW1ldHJ5L3J0ZV90ZWxlbWV0 cnlfdmVyc2lvbi5tYXANCj4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiA+IGluZGV4IDAwMDAw MDAuLmVmZDQzN2QNCj4gPiAtLS0gL2Rldi9udWxsDQo+ID4gKysrIGIvbGliL2xpYnJ0ZV90ZWxl bWV0cnkvcnRlX3RlbGVtZXRyeV92ZXJzaW9uLm1hcA0KPiA+IEBAIC0wLDAgKzEsNiBAQA0KPiA+ ICtEUERLXzE4LjA1IHsNCj4gDQo+ICAgICAgICAgIF5eXl5eXg0KPiBJIHRoaW5rIHlvdSB3YW50 IGl0IHRvIGJlIDE4LjExIGhlcmUuDQoNCkNvcnJlY3QuDQoNClRoYW5rcyBmb3IgcmV2aWV3LCBo b3BlZnVsbHkgc2VlIHlvdSBhdCBVc2Vyc3BhY2Ugd2hlcmUNCnRoZXJlIHdpbGwgYmUgYSBsaWdo dG5pbmcgdGFsayBhYm91dCB0aGlzIHBhdGNoc2V0Lg0KDQpDaGVlcnMsIC1IYXJyeQ0K