From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id BBF29A0561; Mon, 20 Apr 2020 16:55:34 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 484ED1D688; Mon, 20 Apr 2020 16:55:34 +0200 (CEST) Received: from smartserver.smartsharesystems.com (smartserver.smartsharesystems.com [77.243.40.215]) by dpdk.org (Postfix) with ESMTP id 769741D686 for ; Mon, 20 Apr 2020 16:55:33 +0200 (CEST) X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Date: Mon, 20 Apr 2020 16:55:30 +0200 Message-ID: <98CBD80474FA8B44BF855DF32C47DC35C60F73@smartserver.smartshare.dk> In-Reply-To: <20200420131841.GA1714@bricha3-MOBL.ger.corp.intel.com> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [dpdk-dev] [PATCH v2 00/16] update and simplifytelemetrylibrary. Thread-Index: AdYXFj2M9Nl/bRGwRwq9UAnNIj7qvQADRGFA References: <20200319171907.60891-1-ciara.power@intel.com> <20200408164956.47864-1-ciara.power@intel.com> <98CBD80474FA8B44BF855DF32C47DC35C60F4D@smartserver.smartshare.dk> <781B8E53-97B9-44E0-88D7-69A9035D9AD9@intel.com> <98CBD80474FA8B44BF855DF32C47DC35C60F50@smartserver.smartshare.dk> <20200420131841.GA1714@bricha3-MOBL.ger.corp.intel.com> From: =?utf-8?B?TW9ydGVuIEJyw7hydXA=?= To: "Bruce Richardson" , Cc: "Wiles, Keith" , "Power, Ciara" , , "Laatz, Kevin" , "Pattan, Reshma" , , , Subject: Re: [dpdk-dev] [PATCH v2 00/16] update and simplifytelemetrylibrary. 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" PiBGcm9tOiBkZXYgW21haWx0bzpkZXYtYm91bmNlc0BkcGRrLm9yZ10gT24gQmVoYWxmIE9mIEJy dWNlIFJpY2hhcmRzb24NCj4gU2VudDogTW9uZGF5LCBBcHJpbCAyMCwgMjAyMCAzOjE5IFBNDQo+ IA0KPiBPbiBGcmksIEFwciAxMCwgMjAyMCBhdCAwODowNjoyM1BNICswMjAwLCBNb3J0ZW4gQnLD uHJ1cCB3cm90ZToNCj4gPiA+IEZyb206IGRldiBbbWFpbHRvOmRldi1ib3VuY2VzQGRwZGsub3Jn XSBPbiBCZWhhbGYgT2YgV2lsZXMsIEtlaXRoDQo+ID4gPiBTZW50OiBGcmlkYXksIEFwcmlsIDEw LCAyMDIwIDQ6MjIgUE0NCj4gPiA+DQo+ID4gPiA+IE9uIEFwciAxMCwgMjAyMCwgYXQgNTo0OSBB TSwgTW9ydGVuIEJyw7hydXANCj4gPG1iQHNtYXJ0c2hhcmVzeXN0ZW1zLmNvbT4NCj4gPiA+IHdy b3RlOg0KPiA+ID4gPg0KPiA+ID4gPj4gRnJvbTogQ2lhcmEgUG93ZXIgW21haWx0bzpjaWFyYS5w b3dlckBpbnRlbC5jb21dDQo+ID4gPiA+PiBTZW50OiBXZWRuZXNkYXksIEFwcmlsIDgsIDIwMjAg Njo1MCBQTQ0KPiA+ID4gPj4NCj4gPiA+ID4+IFRoaXMgcGF0Y2hzZXQgZXh0ZW5zaXZlbHkgcmV3 b3JrcyB0aGUgdGVsZW1ldHJ5IGxpYnJhcnkgYWRkaW5nDQo+IG5ldw0KPiA+ID4gPj4gZnVuY3Rp b25hbGl0eSBhbmQgc2ltcGxpZnlpbmcgbXVjaCBvZiB0aGUgZXhpc3RpbmcgY29kZSwgd2hpbGUN Cj4gPiA+ID4+IG1haW50YWluaW5nIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkuDQo+ID4gPiA+Pg0K PiA+ID4gPj4gVGhpcyB3b3JrIGlzIGJhc2VkIG9uIHRoZSBwcmV2aW91c2x5IHNlbnQgUkZDIGZv ciBhICJwcm9jZXNzDQo+IGluZm8iDQo+ID4gPiA+PiBsaWJyYXJ5Og0KPiBodHRwczovL3BhdGNo d29yay5kcGRrLm9yZy9wcm9qZWN0L2RwZGsvbGlzdC8/c2VyaWVzPTc3NDENCj4gPiA+ID4+IEhv d2V2ZXIsIHJhdGhlciB0aGFuIGNyZWF0aW5nIGEgbmV3IGxpYnJhcnksIHRoaXMgcGF0Y2hzZXQg dGFrZXMNCj4gPiA+ID4+IHRoYXQgd29yayBhbmQgbWVyZ2VzIGl0IGludG8gdGhlIGV4aXN0aW5n IHRlbGVtZXRyeSBsaWJyYXJ5LCBhcw0KPiA+ID4gPj4gbWVudGlvbmVkIGFib3ZlLg0KPiA+ID4g Pj4NCj4gPiA+ID4+IFRoZSB0ZWxlbWV0cnkgbGlicmFyeSBhcyBzaGlwcGVkIGluIDE5LjExIGlz IGJhc2VkIHVwb24gdGhlDQo+IG1ldHJpY3MNCj4gPiA+ID4+IGxpYnJhcnkgYW5kIG91dHB1dHMg YWxsIHN0YXRpc3RpY3MgYmFzZWQgb24gdGhhdCBhcyBhIHNvdXJjZS4NCj4gSG93ZXZlciwNCj4g PiA+ID4+IHRoaXMgbGltaXRzIHRoZSB0ZWxlbWV0cnkgb3V0cHV0IHRvIG9ubHkgcG9ydC1sZXZl bCBzdGF0aXN0aWNzDQo+ID4gPiA+PiBpbmZvcm1hdGlvbiwgcmF0aGVyIHRoYW4gYWxsb3dpbmcg aXQgdG8gYmUgdXNlZCBhcyBhIGdlbmVyYWwNCj4gc2NoZW1lIGZvcg0KPiA+ID4gPj4gdGVsZW1l dHJ5IGluZm9ybWF0aW9uIGFjcm9zcyBhbGwgRFBESyBsaWJyYXJpZXMuDQo+ID4gPiA+Pg0KPiA+ ID4gPj4gV2l0aCB0aGlzIHBhdGNoc2V0IGFwcGxpZWQsIHJhdGhlciB0aGFuIHRoZSB0ZWxlbWV0 cnkgbGlicmFyeQ0KPiBiZWluZw0KPiA+ID4gPj4gcmVzcG9uc2libGUgZm9yIHB1bGxpbmcgZXRo ZGV2IHN0YXRzIGFuZCBwdXNoaW5nIHRoZW0gaW50byB0aGUNCj4gbWV0cmljcw0KPiA+ID4gPj4g bGlicmFyeSBmb3IgcmV0cmlldmFsIGxhdGVyLCBlYWNoIGxpYnJhcnkgZS5nLiBldGhkZXYsIHJh d2RldiwNCj4gYW5kIGV2ZW4NCj4gPiA+ID4+IHRoZSBtZXRyaWNzIGxpYnJhcnkgaXRzZWxmIChm b3IgYmFja3dhcmRzIGNvbXBhdGlibGl0eSkgbm93DQo+IGhhbmRsZQ0KPiA+ID4gPj4gdGhlaXIN Cj4gPiA+ID4+IG93biBzdGF0cy4gIEFueSBsaWJyYXJ5IG9yIGFwcCBjYW4gcmVnaXN0ZXIgYSBj YWxsYmFjayBmdW5jdGlvbg0KPiB3aXRoDQo+ID4gPiA+PiB0ZWxlbWV0cnksIHdoaWNoIHdpbGwg YmUgY2FsbGVkIGlmIHJlcXVlc3RlZCBieSB0aGUgY2xpZW50DQo+IGNvbm5lY3RlZA0KPiA+ID4g Pj4gdmlhDQo+ID4gPiA+PiB0aGUgdGVsZW1ldHJ5IHNvY2tldC4NCj4gPiA+ID4NCj4gPiA+ID4g R3JlYXQuIFN0YW5kYXJkaXphdGlvbiBhY3Jvc3MgbGlicmFyaWVzIGlzIGEgZ29vZCBpbXByb3Zl bWVudC4NCj4gPiA+ID4NCj4gPiA+ID4+IFRoZSBjYWxsYmFjayBmdW5jdGlvbiBpbiB0aGUgbGli cmFyeS9hcHAgdGhlbg0KPiA+ID4gPj4gZm9ybWF0cyBpdHMgc3RhdHMsIG9yIG90aGVyIGRhdGEs IGludG8gYSBKU09OIHN0cmluZywgYW5kDQo+IHJldHVybnMgaXQgdG8NCj4gPiA+ID4+IHRlbGVt ZXRyeSB0byBiZSBzZW50IHRvIHRoZSBjbGllbnQuDQo+ID4gPiA+DQo+ID4gPiA+IEkgYW0gc3Ry b25nbHkgb3Bwb3NlZCB0byB1c2luZyBKU09OIGFzIHRoZSBzdGFuZGFyZCBmb3JtYXQgaW4NCj4g RFBESywgYW5kDQo+ID4gPiBpbnN0ZWFkIHByZWZlciBhIGJpbmFyeSBmb3JtYXQgd2l0aCB6ZXJv IChvciBtaW5pbWFsKSB0eXBlDQo+IGNvbnZlcnNpb24uDQo+ID4gPiA+DQo+ID4gPiA+IEhlcmUg aXMgb25lIHJlYXNvbiB3aHkgSSBkaXNsaWtlIEpTT04gZm9yIHRoaXM6IEEgcGFydCBvZiBvdXIN Cj4gYXBwbGljYXRpb24NCj4gPiA+IHNhbXBsZXMgMTAwaysgY291bnRlcnMgZXZlcnkgc2Vjb25k IHRvIGJlIGFibGUgdG8gcHJvdmlkZSBkcmlsbC0NCj4gZG93bg0KPiA+ID4gc3RhdGlzdGljcyB0 aHJvdWdoIHRoZSBHVUkuIENvbnZlcnRpbmcgdGhlc2UgY291bnRlcnMgZnJvbSB1aW50NjRfdA0K PiB0byBKU09ODQo+ID4gPiBhbmQgYmFjayB0byB1aW50NjRfdCBmb3IgZGF0YSBwcm9jZXNzaW5n IGlzIG5vdCBnb2luZyB0byBmbHkuIEFuZCBJDQo+IGFzc3VtZQ0KPiA+ID4gdGhhdCB3ZSBhcmUg bm90IHRoZSBvbmx5IGNvbXBhbnkgZGV2ZWxvcGluZyBlcXVpcG1lbnQgd2l0aCBkcmlsbC0NCj4g ZG93bg0KPiA+ID4gc3RhdGlzdGljcy4NCj4gPiA+ID4NCj4gPiA+ID4gSSBhbSBhd2FyZSB0aGF0 IHRoZXJlIGlzIGEgZGlmZmVyZW5jZSBiZXR3ZWVuIHN0YXRpc3RpY3MgZm9yDQo+ICpkcmlsbC1k b3duDQo+ID4gPiBhbmQgZGF0YSBwcm9jZXNzaW5nKiBwdXJwb3NlcyBhbmQgc3RhdGlzdGljcyBm b3IgKnRlbGVtZXRyeSBleWViYWxsDQo+IHZpZXdpbmcNCj4gPiA+IG9ubHkqIHB1cnBvc2VzLCBi dXQgdGhlIGxpbmUgaXMgYmx1cnJ5LCBhbmQgSSBzZWUgYSBiaWcgcmlzayBvZg0KPiBzZXR0aW5n IGENCj4gPiA+IHBhdGggdGhhdCBsZWFkcyB0byBKU09OIGJlaW5nIHVzZWQgaW4gcGxhY2VzIHdo ZXJlIGl0IHNob3VsZG4ndC4NCj4gPiA+ID4NCj4gPiA+ID4gSGVyZSBpcyBhbm90aGVyIHJlYXNv biB3aHkgSSBkaXNsaWtlIEpTT04gZm9yIHRoaXM6IEpTT04gaXMgZmluZQ0KPiBmb3IgdGhlDQo+ ID4gPiBMQU1QIHN0YWNrIHdpdGggUkVTVCBwcm90b2NvbHMuIEJ1dCBvdGhlciBzeXN0ZW1zIHVz ZSBvdGhlcg0KPiBwcm90b2NvbHMgd2l0aA0KPiA+ID4gb3RoZXIgZm9ybWF0cywgZS5nLiB0aGUg VElDSyBzdGFjayB1c2VzIGFuIGV2ZW4gc2ltcGxlciB0ZXh0IGJhc2VkDQo+IGZvcm1hdC4NCj4g PiA+IFNvIERQREsgYmFzZWQgc3lzdGVtcyBzdXBwb3J0aW5nIHRoZSBUSUNLIHN0YWNrIHdpbGwg bmVlZCB0bw0KPiBjb252ZXJ0IHRvDQo+ID4gPiBmaXJzdCBKU09OIGZvcm1hdCAoaW4gdGhlIERQ REsgbGlicmFyaWVzKSwgYW5kIHRoZW4gZnJvbSBKU09ODQo+IGZvcm1hdCB0bw0KPiA+ID4gSW5m bHV4REIgZm9ybWF0IChpbiB0aGUgRFBESyBhcHBsaWNhdGlvbikuDQo+ID4gPiA+DQo+ID4gPiA+ IEkgdGhpbmsgdGhhdCB0eXBlIGNvbnZlcnNpb24gZG9lcyBub3QgYmVsb25nIGluc2lkZSBkZWVw IGluc2lkZQ0KPiB0aGUgRFBESw0KPiA+ID4gbGlicmFyaWVzLCBidXQgaXMgYSBqb2IgZm9yIHRo ZSBEUERLIGFwcGxpY2F0aW9uLiBIb3dldmVyLCBEUERLDQo+IGNvdWxkDQo+ID4gPiBwcm92aWRl IGxpYnJhcmllcyBmb3IgZWZmaWNpZW50IGJ1bGsgY29udmVyc2lvbiB0byBwb3B1bGFyIGZvcm1h dHMNCj4gbGlrZQ0KPiA+ID4gSlNPTi4gQW5kIG90aGVyIGZvcm1hdHMsIGlmIHRoZXkgYXJlIHJl bGV2YW50LCBlLmcuIEFTTi4xIHVzZWQgYnkNCj4gb2xkDQo+ID4gPiBzY2hvb2wgU05NUC4NCj4g PiA+DQo+ID4gPiBJIGJlbGlldmUgSlNPTiBoYXMgaXQgcGxhY2UgaW4gdGhpcyBsaWJyYXJ5IGFu ZCBpbiBEUERLIGFzIGl0IGlzIGENCj4gZ29vZA0KPiA+ID4gY29udmVyc2lvbiB0b29sIGFuZCBl YXN5IHRvIHV0aWxpemUgd2l0aCBhIGh1Z2UgbnVtYmVyIG9mDQo+IHRvb2xzL2xhbmd1YWdlcy4N Cj4gPg0KPiA+IEpTT04gaXMgZXh0cmVtZWx5IGhlYXZ5IGNvbXBhcmVkIHRvIGEgcmF3IGJpbmFy eSBmb3JtYXQuDQo+ID4NCj4gPiBJdCBtYWtlcyBzZW5zZSBmb3IgbG93IHZvbHVtZSwgaGllcmFy Y2hpY2FsIHN0cnVjdHVyZWQgZGF0YSwgYnV0IG5vdA0KPiBmb3IgbGFyZ2UgdGFibGVzIG9yIGFy cmF5cyBvZiBjb3VudGVycy4NCj4gPg0KPiA+ID4gQmluYXJ5IG91dHB1dCBnZXRzIGludG8gZW5k aWFubmVzcyBpc3N1ZXMgYW5kIGEgbnVtYmVyIG9mIG90aGVyDQo+IHByb2JsZW1zLA0KPiA+ID4g c28gSSB3b3VsZCBub3Qgd2FudCBhbGwgb2YgdGhlIGRhdGEgZXhwb3J0ZWQgZnJvbSBEUERLIHRv IGJlIGluDQo+IGJpbmFyeQ0KPiA+ID4gZm9ybWF0Lg0KPiA+DQo+ID4gRW5kaWFubmVzcyBjb25z aWRlcmF0aW9ucyBhcmUgb25seSByZWxldmFudCBmb3IgZGF0YSBleGNoYW5nZWQgYWNyb3NzDQo+ IHRoZSBuZXR3b3JrOyBub3QgZGF0YSBleGNoYW5nZWQgYWNyb3NzIHByb2Nlc3NlcyBpbnNpZGUg dGhlIHNhbWUNCj4gbWFjaGluZS4NCj4gPg0KPiA+IEFuZCBpZiB5b3UgYXJlIGV4Y2hhbmdpbmcg ZGF0YSBhY3Jvc3MgdGhlIG5ldHdvcmssIHlvdSB3b3VsZCB1c3VhbGx5DQo+IGltcGxlbWVudCBv bmUgb3IgbW9yZSB3ZWxsIGtub3duIHByb3RvY29scyBmb3IgdGhhdCwgZS5nLiBKU09OIG92ZXIN Cj4gSFRUUFMsIG9yIEFTTi4xIG92ZXIgU05NUCwgb3IgSW5mbHV4REIgb3ZlciBVRFAuIFRoaXMg bWVhbnMgdGhhdCB0aGUNCj4gYXBwbGljYXRpb24gbmVlZHMgdG8gaW1wbGVtZW50IGEgcHJvdG9j b2wgaGFuZGxlciwgd2hpY2ggLSBpbiBteQ0KPiBvcGluaW9uIC0gc2hvdWxkIGhhbmRsZSB0aGUg cmVsZXZhbnQgZGF0YSB0eXBlIGNvbnZlcnNpb25zIGZyb20gdGhlIHJhdw0KPiBmb3JtYXQgcHJv dmlkZWQgYnkgRFBESy4NCj4gPg0KPiA+IEkgdGhpbmsgaXQgd291bGQgYmUgc2lsbHkgZm9yIERQ REsgY29yZSBsaWJyYXJpZXMgdG8gcHJvdmlkZSBjb3VudGVycw0KPiBpbiBKU09OIGZvcm1hdCwg c28gYW4gU05NUCBBZ2VudCB3b3VsZCBuZWVkIHRvIGNvbnZlcnQgdGhlbSBmcm9tIEpTT04NCj4g YmFjayB0byBiaW5hcnkgYW5kIHRoZW4gdG8gQVNOLjEuDQo+ID4NCj4gPiA+IElmIHRoZSBsYXlv dXQgb2YgdGhlIHN0cnVjdHVyZSBjaGFuZ2VzIHRoZW4gdGhlIGNvZGUgd291bGQgbmVlZCB0bw0K PiA+ID4ga25vdyB0aGF0IG9uIGJvdGggc2lkZSB0byBiZSBhYmxlIHRvIGNvbnZlcnQgdGhlIGRh dGEgaW50byB0aGUNCj4gY29ycmVjdA0KPiA+ID4gdmFsdWVzLg0KPiA+DQo+ID4gSSBtYXkgYmUg ZXhhZ2dlcmF0aW5nIGhlcmUsIGJ1dCB0cnlpbmcgdG8gcHJvdmUgYSBwb2ludDogVGhpcyBpcyB3 aGF0DQo+IHdlIGhhdmUgQUJJIHN0YWJpbGl0eSBmb3IuIFN0cnVjdHVyZXMgc2hvdWxkIGJlIGRl c2lnbmVkIGNsZXZlcmx5IGFuZA0KPiBmdXR1cmUgcHJvb2YsIGUuZy4gbGlrZSB0aGUgZXRoZGV2 IHhzdGF0cy4gVXNpbmcgdGV4dCBiYXNlZCBBUElzIGlzIGENCj4gY2lyY3VtdmVudGlvbiBvZiBB Qkkgc3RhYmlsaXR5Lg0KPiA+DQo+ID4gPg0KPiA+ID4gV2l0aCB0aGF0IHN0YXRlZCwgdGhlIG5l dyB0ZWxlbWV0cnkgY29kZSBhbGxvd3MgdGhlIGFwcGxpY2F0aW9uIHRvDQo+IGFkZCBuZXcNCj4g PiA+IGNvbW1hbmRzIGFuZCB3aXRoIHRoYXQgeW91IGNhbiBjcmVhdGUgYSBiaW5hcnkgc2V0IG9m IGNvbW1hbmRzDQo+IGFsb25nIHNpZGUNCj4gPiA+IHRoZSBKU09OIG9yIGFueSBvdGhlciBvdXRw dXQgZm9ybWF0LiBXaXRoIHRoZSBuZXcgcmVnaXN0ZXIgY29tbWFuZA0KPiB3ZSBjYW4NCj4gPiA+ IGNyZWF0ZSBzYXkgYSDigJgvZXRoZGV2cmF3L3N0YXRzLFjigJkgc2V0IG9mIGNvbW1hbmRzIHRo YXQgY2FuIGVtaXQNCj4gYmluYXJ5DQo+ID4gPiBmb3JtYXQuDQo+ID4NCj4gPiBUaGF0IHdvdWxk IGJlIHNpbGx5LiBUaGUgcHJvdG9jb2wgaGFuZGxlciBzaG91bGQgbWFrZSB0aGUgcHJvdG9jb2wN Cj4gc3BlY2lmaWMgY29udmVyc2lvbiwgbm90IHRoZSBkcml2ZXIhIEFnYWluLCBnb2luZyB0byB0 aGUgZXh0cmVtZSB0bw0KPiBwcm92ZSBhIHBvaW50OiBJZiBJIHVuZGVyc3RhbmQgeW91IGNvcnJl Y3RseSwgdGhpcyB3b3VsZCBtZWFuIHRoYXQgUE1Ecw0KPiB3b3VsZCBoYXZlIHByb3ZpZGUgY291 bnRlcnMgaW4gQVNOLjEgZm9ybWF0IGZvciBTTk1QLg0KPiA+DQo+ID4gT3VyIGFwcGxpY2F0aW9u IHByb3ZpZGVzIGEgSFRUUFMvUkVTVCBiYXNlZCBjb21tdW5pY2F0aW9uIGludGVyZmFjZQ0KPiBm b3IgbXVsdGlwbGUgcHVycG9zZXMsIGUuZy4gZ2V0dGluZyB0YWJsZXMgb2YgZGF0YS4gQW5kIGlm IHlvdSB3YW50IHRvDQo+IGdldCBhIHRhYmxlIG9mIHNvbWUgZGF0YSB2aWEgdGhpcyBpbnRlcmZh Y2UsIHlvdSBjYW4gc3BlY2lmeSB0aGUgb3V0cHV0DQo+IGZvcm1hdCBpbiB0aGUgcmVxdWVzdCwg c28geW91IGNhbiBnZXQgaXQgaW4gZS5nLiBUU1YgZm9ybWF0ICh0YWJ1bGF0b3INCj4gc2VwYXJh dGVkIHdpdGggYSBoZWFkbGluZSkgZm9yIHNjcmlwdHMsIEhUTUwgZm9ybWF0IGZvciBodW1hbiBl eWViYWxscy4NCj4gVGhpcyBkYXRhIGNvbnZlcnNpb24gaGFwcGVucyBhdCBhIGNvbW1vbiBsb2Nh dGlvbiwgc28gd2UgY2FuIGVhc2lseSBhZGQNCj4gb3RoZXIgb3V0cHV0IGZvcm1hdHMuIFlvdSBk b24ndCB3YW50IHRvIHB1c2ggdGhpcyBhbGwgdGhlIHdheSBkb3duIHRvDQo+IHRoZSBvcmlnaW5h dG9yIG9mIHRoZSBkYXRhLg0KPiA+DQo+ID4gPg0KPiA+ID4gVXNpbmcgdGhpcyBtZXRob2Qgd2Ug Z2V0IHRoZSBiZXN0IG9mIGJvdGggd29ybGRzIGFuZCB3aGVuIHVzaW5nDQo+IGxhbmd1YWdlcw0K PiA+ID4gbGlrZSBHbyBvciBQeXRob24gdG8gY29sbGVjdCB0aGVzZSBzdGF0cyB3ZSBoYXZlIGEg c3RhbmRhcmQgZm9ybWF0DQo+IGZvcg0KPiA+ID4gY29udmVyc2lvbi4gSW4gR28gaXQgaXMgcHJl dHR5IGhhcmQgdG8gZG8gYmluYXJ5IGNvbnZlcnNpb24gYW5kDQo+IEpTT04NCj4gPiA+IGNvbnZl cnNpb24gaXMganVzdCBhIGZldyBsaW5lcy4NCj4gPg0KPiA+IEkgZG9uJ3QgdGhpbmsgRFBESyBz aG91bGQgcHJvdmlkZSBwcmVmZXJlbnRpYWwgdHJlYXRtZW50IHRvIEdvIG9yDQo+IFB5dGhvbi4g RFBESyBpcyBiYXNlZCBvbiBDLCBhbmQgc2hvdWxkIG1haW5seSBjYXRlciBmb3IgQy4NCj4gPg0K PiA+ID4gSlNPTiBtYXkgbm90IGJlIHRoZSBmYXN0ZXN0LCBidXQgaWYgeW91IGFyZQ0KPiA+ID4g cmVxdWVzdGluZyBzdGF0cyBmYXN0ZXIgdGhhbiBhIHNlY29uZCB0aGVuIHVzZSB0aGUgcmF3IGNv bW1hbmRzIHRvDQo+IGdldCB0aGUNCj4gPiA+IGRhdGEsIHdoaWNoIGFueW9uZSBjYW4gYWRkIHRv IGl0cyBhcHBsaWNhdGlvbiBvciB3ZSBjYW4gYWRkIHRoZW0gdG8NCj4gRFBESyBhcw0KPiA+ID4g YSBzdGFuZGFyZCBjb21tYW5kIHNldC4NCj4gPg0KPiA+IEFQSXMgaW4gdGhlIGxpYnJhcmllcyBh cmUgY3VycmVudGx5IGF2YWlsYWJsZSB0byBnZXQgZGF0YSBpbiByYXcNCj4gZm9ybWF0LiBNeSBt YWluIGNvbmNlcm4gaXMgdGhhdCBsaWJyYXJpZXMgaW4gdGhlIGZ1dHVyZSB3aWxsIG5vdA0KPiBw cm92aWRlIGZ1bmN0aW9ucyB0byBnZXQgcmF3IGRhdGEsIGxpa2UgdGhleSBkbyBub3csIGJ1dCBv bmx5IEpTT04NCj4gZm9ybWF0dGVkIGRhdGEgZm9yIHRoZSB0ZWxlbWV0cnkgbGlicmFyeS4gVGhp cyBpcyB3aGF0IEkgd2FudCB0byBhdm9pZC4NCj4gPg0KPiANCj4gSGkgTW9ydGVuLA0KPiANCj4g dGhhbmtzIGZvciBhbGwgdGhlIGZlZWRiYWNrLg0KPiANCj4gRmlyc3RseSBvbiB0aGUgcGVyZm9y bWFuY2Ugc2lkZSwgd2UgZGlkIHNvbWUgYmFzaWMgYmVuY2htYXJraW5nIG9mIHRoZQ0KPiBvdXRw dXQgY2FwYWJpbGl0aWVzIG9mIHRoZSBjdXJyZW50IHByb3Bvc2FsLiBVc2luZyBhIGR1bW15IGNs aWVudCB0aGF0DQo+IGhhZA0KPiB0d28gcXVlcmllcyBjb25zdGFudGx5IG91dHN0YW5kaW5nICh0 byBhdm9pZCBkZWFkIHRpbWUgYmV0d2VlbiBvbmUNCj4gcmVzcG9uc2UNCj4gYW5kIG5leHQgcmVx dWVzdCksIHdlIG1lYXN1cmVkIHRoZSBudW1iZXIgb2YgcmVwbGllcyBwZXIgc2Vjb25kIGZyb20N Cj4gdGhlDQo+IGV0aGRldiB4c3RhdHMgY2FsbC4NCj4gKiB3aXRoIGEgMi4zIEdIeiBYZW9uIHN5 c3RlbSwgd2UgZ290IDMsNTAwIHJlc3BvbnNlcyBwZXIgc2Vjb25kLCB3aXRoDQo+IDE0Ng0KPiAg IHN0YXRzIHBlciByZXNwb25zZSwgZ2l2aW5nIGEgdG90YWwgb2YgPjUwMGsgc3RhdHMgcGVyIHNl Y29uZCBlbmNvZGVkDQo+IGFuZA0KPiAgIHRyYW5zbWl0dGVkLg0KPiAqIGZvciB0aG9zZSA1MDBr IHN0YXRzLCBsb29raW5nIGF0IHRoZSBjcHUgdGltZSBvbiB0aGUgY29yZSBkb2luZyB0aGUNCj4g ICB0ZWxlbWV0cnkgd29yaywgfjgwJSBvZiBDUFUgdGltZSB3YXMgc3BlbnQgaW5zaWRlIHRoZSBp eGdiZSBkcml2ZXINCj4gICBnZXR0aW5nIHRoZSBzdGF0cyBmcm9tIHRoZSBOSUMgY2FyZCBpdHNl bGYuDQo+ICogcmVwbGFjaW5nIHRoZSBpeGdiZSBOSUMgd2l0aCBhIHJpbmcgdmRldiBpbmNyZWFz ZWQgdGhlIHJlc3BvbnNlcyBwZXINCj4gICBzZWNvbmQgdG8gPjEwMGssIHRob3VnaCB3aXRoIG9u bHkgMTMgc3RhdHMgcGVyIHJlc3BvbnNlIHRoaXMgdGltZSwNCj4gZ2l2aW5nDQo+ICAgMS4zTSBz dGF0cyBwZXIgc2Vjb25kLg0KPiAqIFNwbGl0dGluZyB0aGUgZXhpc3RpbmcgeHN0YXRzIGNhbGwg aW4gdGhpcyBSRkMgaW50byBzZXBhcmF0ZSB4c3RhdA0KPiAgIG5hbWVzIGFuZCB4c3RhdCB2YWx1 ZXMgY2FsbHMgKHNvbWV0aGluZyBJIHRoaW5rIGlzIGEgZ29vZCBpZGVhIHRvIGRvDQo+ICAgZ2Vu ZXJhbGx5KSwgYW5kIG9ubHkgY2FsbGluZyB0aGUgeHN0YXQgdmFsdWVzIGNhbGwgZWFjaCB0aW1l LCBnaXZlcw0KPiAgIGZ1cnRoZXIgcGVyZiBpbmNyZWFzZXMgdG8gMTYzayByZXNwb25zZXMgcGVy IHNlY29uZC4NCj4gDQo+IE92ZXJhbGwgc28sIGF0IGxlYXN0IG9uIHRoZSBqc29uIGdlbmVyYXRp b24gc2lkZSwgaXQgYXBwZWFycyB3ZSBjYW4gZG8NCj4gdGhpbmdzIHJhdGhlciBxdWlja2x5LCB0 aG91Z2ggSSBhZG1pdCB0aGF0IHdlIGRpZCBub3QgbG9vayBpbnRvIHRoZQ0KPiBwYXJzaW5nDQo+ IGNvc3Qgb24gdGhlIG90aGVyIHNpZGUuDQo+IA0KPiBBbGwgdGhhdCBiZWluZyBzYWlkLCBob3dl dmVyLCBJIGRvIHVuZGVyc3RhbmQgeW91ciBwb2ludCBhYm91dCBoYXZpbmcNCj4gZXZlcnl0aGlu ZyB3b3JrIGludGVybmFsbHkgaW4ganNvbiAtIHNvbWV0aGluZyB0aGF0IHRpZXMgaW4gd2l0aCBU aG9tYXMNCj4gY29uY2VybiBhYm91dCBoYXZpbmcgZmxleGliaWxpdHkuIFRoZXJlZm9yZSwgd2hp bGUgd2Ugd2lsbCB1cHN0cmVhbSBhDQo+IHYzDQo+IHZlcnkgc2hvcnRseSB3aXRoIHRoZSBmZXcg aW5jcmVtZW50YWwgY29tbWVudHMgb24gdjIsIHdlIGNhbiB0aGVyZWFmdGVyDQo+IGxvb2sgdG8g c3dpdGNoIHRoZSBpbnRlcm5hbCBjb21tdW5pY2F0aW9uIGJldHdlZW4gY2FsbGJhY2tzIGFuZA0K PiB0ZWxlbWV0cnkNCj4gbGlicmFyeSB0byB1c2UgYSByZWd1bGFyIGRhdGEgc3RydWN0dXJlLCBh bmQgdGhlbiBsZWF2ZSB0aGUganNvbg0KPiBlbmNvZGluZw0KPiB0byB0aGUgbGlicmFyeSBpdHNl bGYganVzdCBiZWZvcmUgb3V0cHV0LiBUaGF0IHdvdWxkOg0KPiBhKSBhbGxvdyB0aGUgYWRkaXRp b24gb2Ygb3RoZXIgb3V0cHV0IHR5cGVzIGluIHRoZSBmdXR1cmUgd2l0aG91dA0KPiBuZWVkaW5n DQo+ICAgIG5ldyBjYWxsYmFja3MuDQo+IGIpIGFsbG93IG1vcmUgZmxleGliaWxpdHkgZm9yIGlu dGVncmF0aW5nIHdpdGggYSBmdXR1cmUgb25lLUlQQw0KPiBtZWNoYW5pc20NCj4gICAgZm9yIERQ REsuDQo+IA0KPiBJIGhvcGUgdGhpcyBvcHRpb24gd2lsbCByZXNvbHZlIG1vc3QgY29uY2VybnMg YW5kIGFsbG93IGZvciBhIDIwLjA1DQo+IGludGVncmF0aW9uLg0KPiANCj4gUmVnYXJkcy4NCj4g L0JydWNlDQoNClllcy4gVGhhbmsgeW91Lg0KDQpNZWQgdmVubGlnIGhpbHNlbiAvIGtpbmQgcmVn YXJkcw0KLSBNb3J0ZW4gQnLDuHJ1cA0KDQoNCg0K