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 DB920A04DB; Thu, 15 Oct 2020 07:26:29 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id ABC521DB96; Thu, 15 Oct 2020 07:26:27 +0200 (CEST) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by dpdk.org (Postfix) with ESMTP id 31F351DA63 for ; Thu, 15 Oct 2020 07:26:23 +0200 (CEST) IronPort-SDR: NCJ2JrvN+BRDKR6ZiNuNc9y9D5JCeiulokgqRvrK74QM8Ll2wf59GGdJMn1UVjyFpTuGkuG7eA uMFGWzPODJ5Q== X-IronPort-AV: E=McAfee;i="6000,8403,9774"; a="145571175" X-IronPort-AV: E=Sophos;i="5.77,377,1596524400"; d="scan'208";a="145571175" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Oct 2020 22:26:23 -0700 IronPort-SDR: mApzbSTlHlBRZgsMciHZGsM+sU5Pp7r+36Jv5MSSwqrGxUX7Y4wUw4f3msNqj4QaEaXAJjy13K wdnXUZKW8sCg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,377,1596524400"; d="scan'208";a="345946039" Received: from fmsmsx604.amr.corp.intel.com ([10.18.126.84]) by fmsmga004.fm.intel.com with ESMTP; 14 Oct 2020 22:26:23 -0700 Received: from shsmsx602.ccr.corp.intel.com (10.109.6.142) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Wed, 14 Oct 2020 22:26:21 -0700 Received: from shsmsx601.ccr.corp.intel.com (10.109.6.141) by SHSMSX602.ccr.corp.intel.com (10.109.6.142) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Thu, 15 Oct 2020 13:26:19 +0800 Received: from shsmsx601.ccr.corp.intel.com ([10.109.6.141]) by SHSMSX601.ccr.corp.intel.com ([10.109.6.141]) with mapi id 15.01.1713.004; Thu, 15 Oct 2020 13:26:19 +0800 From: "Guo, Jia" To: "Yigit, Ferruh" , "Wu, Jingjing" , "Zhang, Qi Z" , "Xing, Beilei" CC: "dev@dpdk.org" , "Wang, Haiyue" , "Richardson, Bruce" , Olivier Matz Thread-Topic: [PATCH v8] net/iavf: support flex desc metadata extraction Thread-Index: AQHWoTosrATJDADdOEaLfCYF1kC8NamWg1yAgAGeyVA= Date: Thu, 15 Oct 2020 05:26:19 +0000 Message-ID: <82ad9cd928c24e798de6dd6fe2001099@intel.com> References: <20200909025415.6185-1-jia.guo@intel.com> <20201013081734.47507-1-jia.guo@intel.com> <0257ccb2-88eb-a49a-77f9-9e611f3c266a@intel.com> In-Reply-To: <0257ccb2-88eb-a49a-77f9-9e611f3c266a@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.5.1.3 x-originating-ip: [10.239.127.36] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH v8] net/iavf: support flex desc metadata extraction 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" DQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEZlcnJ1aCBZaWdpdCA8ZmVy cnVoLnlpZ2l0QGludGVsLmNvbT4NCj4gU2VudDogV2VkbmVzZGF5LCBPY3RvYmVyIDE0LCAyMDIw IDg6MzIgUE0NCj4gVG86IEd1bywgSmlhIDxqaWEuZ3VvQGludGVsLmNvbT47IFd1LCBKaW5namlu ZyA8amluZ2ppbmcud3VAaW50ZWwuY29tPjsNCj4gWmhhbmcsIFFpIFogPHFpLnouemhhbmdAaW50 ZWwuY29tPjsgWGluZywgQmVpbGVpIDxiZWlsZWkueGluZ0BpbnRlbC5jb20+DQo+IENjOiBkZXZA ZHBkay5vcmc7IFdhbmcsIEhhaXl1ZSA8aGFpeXVlLndhbmdAaW50ZWwuY29tPjsgUmljaGFyZHNv biwNCj4gQnJ1Y2UgPGJydWNlLnJpY2hhcmRzb25AaW50ZWwuY29tPjsgT2xpdmllciBNYXR6IDxv bGl2aWVyLm1hdHpANndpbmQuY29tPg0KPiBTdWJqZWN0OiBSZTogW1BBVENIIHY4XSBuZXQvaWF2 Zjogc3VwcG9ydCBmbGV4IGRlc2MgbWV0YWRhdGEgZXh0cmFjdGlvbg0KPiANCj4gT24gMTAvMTMv MjAyMCA5OjE3IEFNLCBKZWZmIEd1byB3cm90ZToNCj4gPiBFbmFibGUgbWV0YWRhdGEgZXh0cmFj dGlvbiBmb3IgZmxleGlibGUgZGVzY3JpcHRvcnMgaW4gQVZGLCB0aGF0IHdvdWxkDQo+ID4gYWxs b3cgbmV0d29yayBmdW5jdGlvbiBkaXJlY3RseSBnZXQgbWV0YWRhdGEgd2l0aG91dCBhZGRpdGlv bmFsDQo+ID4gcGFyc2luZyB3aGljaCB3b3VsZCByZWR1Y2UgdGhlIENQVSBjb3N0IGZvciBWRnMu IFRoZSBlbmFibGluZyBtZXRhZGF0YQ0KPiA+IGV4dHJhY3Rpb25zIGludm9sdmUgdGhlIG1ldGFk YXRhIG9mIFZMQU4vSVB2NC9JUHY2L0lQdjYtDQo+IEZMT1cvVENQL01QTFMNCj4gPiBmbGV4aWJs ZSBkZXNjcmlwdG9ycywgYW5kIHRoZSBWRiBjb3VsZCBuZWdvdGlhdGUgdGhlIGNhcGFiaWxpdHkg b2YgdGhlDQo+ID4gZmxleGlibGUgZGVzY3JpcHRvciB3aXRoIFBGIGFuZCBjb3JyZXNwb25kaW5n bHkgY29uZmlndXJlIHRoZSBzcGVjaWZpYw0KPiA+IG9mZmxvYWQgYXQgcmVjZWl2aW5nIHF1ZXVl cy4NCj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6IEplZmYgR3VvIDxqaWEuZ3VvQGludGVsLmNvbT4N Cj4gPiBBY2tlZC1ieTogSGFpeXVlIFdhbmcgPGhhaXl1ZS53YW5nQGludGVsLmNvbT4NCj4gPiAt LS0NCj4gPiB2ODoNCj4gPiByZWJhc2UgcGF0Y2ggZm9yIGFwcGx5IGlzc3VlDQo+ID4NCj4gPiB2 NzoNCj4gPiBjbGVhbiBzb21lIHVzZWxlc3MgYW5kIGFkZCBkb2MNCj4gPg0KPiA+IHY2Og0KPiA+ IHJlYmFzZSBwYXRjaA0KPiA+DQo+ID4gdjU6DQo+ID4gcmVtb3ZlIG92cyBjb25maWd1cmUgc2lu Y2Ugb3ZzIGlzIG5vdCBwcm90b2NvbCBleHRyYWN0aW9uDQo+ID4NCj4gPiB2NDoNCj4gPiBhZGQg ZmxleCBkZXNjIHR5cGUgaW4gcnggcXVldWUgZm9yIGhhbmRsaW5nIHZlY3RvciBwYXRoIGhhbmRs ZSBvdnMNCj4gPiBmbGV4IHR5cGUNCj4gPg0KPiA+IHYzOg0KPiA+IGV4cG9ydCB0aGVzZSBnbG9i YWwgc3ltYm9scyBpbnRvIC5tYXANCj4gPg0KPiA+IHYyOg0KPiA+IHJlbW92ZSBtYWtlZmlsZSBj aGFuZ2UgYW5kIG1vZGlmeSB0aGUgcnhkaWQgaGFuZGxpbmcNCj4gPiAtLS0NCj4gPiAgIGNvbmZp Zy9ydGVfY29uZmlnLmggICAgICAgICAgICAgICAgICAgICAgIHwgICAzICsNCj4gPiAgIGRvYy9n dWlkZXMvbmljcy9pbnRlbF92Zi5yc3QgICAgICAgICAgICAgIHwgIDE2ICsNCj4gPiAgIGRvYy9n dWlkZXMvcmVsX25vdGVzL3JlbGVhc2VfMjBfMTEucnN0ICAgIHwgICA2ICsNCj4gPiAgIGRyaXZl cnMvbmV0L2lhdmYvaWF2Zi5oICAgICAgICAgICAgICAgICAgIHwgIDI0ICstDQo+ID4gICBkcml2 ZXJzL25ldC9pYXZmL2lhdmZfZXRoZGV2LmMgICAgICAgICAgICB8IDM5NCArKysrKysrKysrKysr KysrKysrKysrDQo+ID4gICBkcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jICAgICAgICAgICAg ICB8IDI1MiArKysrKysrKysrKystLQ0KPiA+ICAgZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHgu aCAgICAgICAgICAgICAgfCAxNjggKysrKystLS0tDQo+ID4gICBkcml2ZXJzL25ldC9pYXZmL2lh dmZfcnh0eF92ZWNfY29tbW9uLmggICB8ICAgMyArDQo+ID4gICBkcml2ZXJzL25ldC9pYXZmL2lh dmZfdmNobmwuYyAgICAgICAgICAgICB8ICAyMiArLQ0KPiA+ICAgZHJpdmVycy9uZXQvaWF2Zi9t ZXNvbi5idWlsZCAgICAgICAgICAgICAgfCAgIDIgKw0KPiA+ICAgZHJpdmVycy9uZXQvaWF2Zi9y dGVfcG1kX2lhdmYuaCAgICAgICAgICAgfCAyNTAgKysrKysrKysrKysrKysNCj4gPiAgIGRyaXZl cnMvbmV0L2lhdmYvcnRlX3BtZF9pYXZmX3ZlcnNpb24ubWFwIHwgIDEzICsNCj4gPiAgIDEyIGZp bGVzIGNoYW5nZWQsIDEwMzkgaW5zZXJ0aW9ucygrKSwgMTE0IGRlbGV0aW9ucygtKQ0KPiA+ICAg Y3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvbmV0L2lhdmYvcnRlX3BtZF9pYXZmLmgNCj4gPg0K PiA+IGRpZmYgLS1naXQgYS9jb25maWcvcnRlX2NvbmZpZy5oIGIvY29uZmlnL3J0ZV9jb25maWcu aCBpbmRleA0KPiA+IDAzZDkwZDc4YmMuLjJjNTMwNzJjM2QgMTAwNjQ0DQo+ID4gLS0tIGEvY29u ZmlnL3J0ZV9jb25maWcuaA0KPiA+ICsrKyBiL2NvbmZpZy9ydGVfY29uZmlnLmgNCj4gPiBAQCAt MTI3LDYgKzEyNyw5IEBADQo+ID4gICAjZGVmaW5lIFJURV9MSUJSVEVfSTQwRV9RVUVVRV9OVU1f UEVSX1ZGIDQNCj4gPiAgICNkZWZpbmUgUlRFX0xJQlJURV9JNDBFX1FVRVVFX05VTV9QRVJfVk0g NA0KPiA+DQo+ID4gKy8qIGlhdmYgZGVmaW5lcyAqLw0KPiA+ICsjdW5kZWYgUlRFX0xJQlJURV9J QVZGXzE2QllURV9SWF9ERVNDDQo+ID4gKw0KPiANCj4gSGkgSmVmZiwNCj4gDQo+IFRoZSAnUlRF X0xJQlJURV9JQVZGXzE2QllURV9SWF9ERVNDJyB3YXMgYWxyZWFkeSB0aGVyZSwgbm90IGludHJv ZHVjZWQNCj4gd2l0aCB0aGlzIHBhdGNoLCBzbyBJIHRoaW5rIGJldHRlciB0byBhZGQgdGhpcyBj aGFuZ2UgYXMgZGlmZmVyZW50IHBhdGNoLg0KPiANCj4gQWxzbyBub3Qgc3VyZSBpZiB3ZSB3YW50 IHRvIGFkZCBtb3JlIGNvbmZpZyBvcHRpb25zIHRvIHRoZSAncnRlX2NvbmZpZy5oJywNCj4gaW5k ZWVkIG90aGVyd2F5IGFyb3VuZCBhbmQgd2UgYXJlIHRyeWluZyB0byBnZXQgcmlkIG9mIGFzIG11 Y2ggYXMgY29tcGlsZQ0KPiB0aW1lIG9wdGlvcy4NCj4gY2MnZWQgQnJ1Y2UgdG9vLg0KPiANCj4g PiAgIC8qIFJpbmcgbmV0IFBNRCBzZXR0aW5ncyAqLw0KPiA+ICAgI2RlZmluZSBSVEVfUE1EX1JJ TkdfTUFYX1JYX1JJTkdTIDE2DQo+ID4gICAjZGVmaW5lIFJURV9QTURfUklOR19NQVhfVFhfUklO R1MgMTYgZGlmZiAtLWdpdA0KPiA+IGEvZG9jL2d1aWRlcy9uaWNzL2ludGVsX3ZmLnJzdCBiL2Rv Yy9ndWlkZXMvbmljcy9pbnRlbF92Zi5yc3QgaW5kZXgNCj4gPiBhZGU1MTUyNTk1Li4yMDdmNDU2 MTQzIDEwMDY0NA0KPiA+IC0tLSBhL2RvYy9ndWlkZXMvbmljcy9pbnRlbF92Zi5yc3QNCj4gPiAr KysgYi9kb2MvZ3VpZGVzL25pY3MvaW50ZWxfdmYucnN0DQo+ID4gQEAgLTYxNSwzICs2MTUsMTkg QEAgd2hpY2ggYmVsb25ncyB0byB0aGUgZGVzdGluYXRpb24gVkYgb24gdGhlIFZNLg0KPiA+ICAg Li4gZmlndXJlOjogaW1nL2ludGVyX3ZtX2NvbW1zLioNCj4gPg0KPiA+ICAgICAgSW50ZXItVk0g Q29tbXVuaWNhdGlvbg0KPiA+ICsNCj4gPiArDQo+ID4gK1ByZS1JbnN0YWxsYXRpb24gQ29uZmln dXJhdGlvbg0KPiA+ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gPiArDQo+ID4g K0NvbmZpZyBGaWxlIE9wdGlvbnMNCj4gPiArfn5+fn5+fn5+fn5+fn5+fn5+fg0KPiA+ICsNCj4g PiArVGhlIGZvbGxvd2luZyBvcHRpb25zIGNhbiBiZSBtb2RpZmllZCBpbiB0aGUgYGBjb25maWdg YCBmaWxlLg0KPiA+ICtQbGVhc2Ugbm90ZSB0aGF0IGVuYWJsaW5nIGRlYnVnZ2luZyBvcHRpb25z IG1heSBhZmZlY3Qgc3lzdGVtDQo+IHBlcmZvcm1hbmNlLg0KPiA+ICsNCj4gPiArLSBgYENPTkZJ R19SVEVfTElCUlRFX0lBVkZfMTZCWVRFX1JYX0RFU0NgYCAoZGVmYXVsdCBgYG5gYCkNCj4gDQo+ IFRoZXJlIGlzIG5vICdDT05GSUdfUlRFX0xJQlJURV9JQVZGXzE2QllURV9SWF9ERVNDJyBhbnlt b3JlLCB0aGlzIGlzDQo+IGZyb20gbWFrZSBkYXlzIG5hbWluZy4NCj4gDQo+IEluc3RlYWQsIHdo YXQgZG8geW91IHRoaW5rIG5vdCBhZGRpbmcgdGhlDQo+ICdSVEVfTElCUlRFX0lBVkZfMTZCWVRF X1JYX0RFU0MnIHRvIHRoZSAncnRlX2NvbmZpZy5oJywgYnV0IGRvY3VtZW50DQo+IGhvdyB0aGlz IGZsYWcgY2FuIGJlIHByb3ZpZGVkIGJ5IG1lc29uIGR1cmluZw0KPiBidWlsZDoNCj4gbWVzb24g LURjX2FyZ3M9Ii1EUlRFX0xJQlJURV9JQVZGXzE2QllURV9SWF9ERVNDIg0KPiANCj4gQW5kIHdl IHNob3VsZCBwbGFuIGZvciBsb25nIHRlcm0gdG8gY29udmVydCB0aGlzIGNvbXBpbGUgdGltZSBm bGFnIHRvIHJ1bnRpbWUNCj4gZGV2YXJncy4NCj4gDQo+IFdoYXQgZG8geW91IHRoaW5rPw0KPiAN Cg0KU29ycnksIEkgbWlzcyB0aGlzIGNvbW1lbnQuIEFuZCwgSSBhZ3JlZSBvbi4gVG9vIG1vcmUg Y29tcGlsZSB0aW1lIGZsYWcgaXMgbm90IGZyaWVuZGx5IHRvIHVzZS4gRG8geW91IGFncmVlIHRv IGRvIHRoZSBydW50aW1lIGRldmFyZ3Mgb24gbmV4dCBzZXBhcmF0ZSBwYXRjaCBzZXQ/DQoNCj4g PiArDQo+ID4gKyAgVG9nZ2xlIHRvIHVzZSBhIDE2LWJ5dGUgUlggZGVzY3JpcHRvciwgYnkgZGVm YXVsdCB0aGUgUlggZGVzY3JpcHRvciBpcyAzMg0KPiBieXRlLg0KPiA+ICsgIENvbmZpZ3VyZSB0 byAxNi1ieXRlIFJ4IGRlc2NyaXB0b3IgbWF5IGNhdXNlIGEgbmVnb3RpYXRpb24gZmFpbHVyZQ0K PiA+ICsgZHVyaW5nIFZGIGRyaXZlciBpbml0aWFsaXphdGlvbiAgaWYgdGhlIFBGIGRyaXZlciBk b2Vzbid0IHN1cHBvcnQuDQo+ID4gZGlmZiAtLWdpdCBhL2RvYy9ndWlkZXMvcmVsX25vdGVzL3Jl bGVhc2VfMjBfMTEucnN0DQo+ID4gYi9kb2MvZ3VpZGVzL3JlbF9ub3Rlcy9yZWxlYXNlXzIwXzEx LnJzdA0KPiA+IGluZGV4IGU3NjkxZWU3MzIuLjkzZDNjY2M2MGEgMTAwNjQ0DQo+ID4gLS0tIGEv ZG9jL2d1aWRlcy9yZWxfbm90ZXMvcmVsZWFzZV8yMF8xMS5yc3QNCj4gPiArKysgYi9kb2MvZ3Vp ZGVzL3JlbF9ub3Rlcy9yZWxlYXNlXzIwXzExLnJzdA0KPiA+IEBAIC0xNjAsNiArMTYwLDEyIEBA IE5ldyBGZWF0dXJlcw0KPiA+ICAgICBwYWNrZXRzIHdpdGggc3BlY2lmaWVkIHJhdGlvLCBhbmQg YXBwbHkgd2l0aCBvd24gc2V0IG9mIGFjdGlvbnMgd2l0aCBhIGZhdGUNCj4gPiAgICAgYWN0aW9u LiBXaGVuIHRoZSByYXRpbyBpcyBzZXQgdG8gMSB0aGVuIHRoZSBwYWNrZXRzIHdpbGwgYmUgMTAw JSBtaXJyb3JlZC4NCj4gPg0KPiA+ICsqICoqVXBkYXRlZCBJbnRlbCBpYXZmIGRyaXZlci4qKg0K PiA+ICsNCj4gPiArICBVcGRhdGVkIGlhdmYgUE1EIHdpdGggbmV3IGZlYXR1cmVzIGFuZCBpbXBy b3ZlbWVudHMsIGluY2x1ZGluZzoNCj4gPiArDQo+ID4gKyAgKiBBZGRlZCBzdXBwb3J0IGZvciBm bGV4aWJsZSBkZXNjcmlwdG9yIG1ldGFkYXRhIGV4dHJhY3Rpb24uDQo+ID4gKw0KPiANCj4gQ2Fu IHlvdSBwbGVhc2UgbW92ZSB0aGUgdXBkYXRlIHRvIHRoZSBuZXQgZHJpdmVycyBibG9jaywgaW5z dGVhZCBvZiB2ZXJ5DQo+IGJvdHRvbS4NCj4gVGhlcmUgaXMgYW4gb3JkZXIgaW4gdGhlIHJlbGVh c2Ugbm90ZXMgKGFzIGNvbW1lbnRlZCBpbiBzZWN0aW9uIGhlYWRlcikgbGlrZToNCj4gLSBjb3Jl IGxpYnMNCj4gLSBldGhkZXYgbGliIHJlbGF0ZWQgY2hhbmdlcw0KPiAtIGV0aGRldiBQTURTIGNo YW5nZQ0KPiAtIC4uLg0KPiANCg0KU3VyZSwgd2lsbCB1cGRhdGUgaXQgaW4gdjEwLg0KDQo+IDwu Li4+DQo+IA0KPiA+ICsNCj4gPiArRVhQRVJJTUVOVEFMIHsNCj4gPiArICAgICAgICBnbG9iYWw6 DQo+ID4gKw0KPiA+ICsgICAgICAgICMgYWRkZWQgaW4gMjAuMTENCj4gPiArICAgICAgICBydGVf bmV0X2lhdmZfZHluZmllbGRfcHJvdG9feHRyX21ldGFkYXRhX29mZnM7DQo+ID4gKyAgICAgICAg cnRlX25ldF9pYXZmX2R5bmZsYWdfcHJvdG9feHRyX3ZsYW5fbWFzazsNCj4gPiArICAgICAgICBy dGVfbmV0X2lhdmZfZHluZmxhZ19wcm90b194dHJfaXB2NF9tYXNrOw0KPiA+ICsgICAgICAgIHJ0 ZV9uZXRfaWF2Zl9keW5mbGFnX3Byb3RvX3h0cl9pcHY2X21hc2s7DQo+ID4gKyAgICAgICAgcnRl X25ldF9pYXZmX2R5bmZsYWdfcHJvdG9feHRyX2lwdjZfZmxvd19tYXNrOw0KPiA+ICsgICAgICAg IHJ0ZV9uZXRfaWF2Zl9keW5mbGFnX3Byb3RvX3h0cl90Y3BfbWFzazsNCj4gPiArICAgICAgICBy dGVfbmV0X2lhdmZfZHluZmxhZ19wcm90b194dHJfaXBfb2Zmc2V0X21hc2s7DQo+IA0KPiBBcyBh IG5hbWVzcGFjZSBwcmV2aW91c2x5ICJydGVfcG1kX3h4eCIgd2FzIHVzZWQgZm9yIFBNRCBzcGVj aWZpYyBBUElzLA0KPiBjYW4geW91IHBsZWFzZSBzd2l0Y2ggdG8gdGhhdD8NCj4gJ3J0ZV9uZXRf JyBpcyB1c2VkIGJ5IHRoZSAnbGlicnRlX25ldCcgbGlicmFyeS4NCj4gDQoNCk1ha2Ugc2Vuc2Uu DQoNCj4gQWJvdmUgbGlzdCBpcyB0aGUgZHluZmllbGQgdmFsdWVzLCB3aGF0IGlzIHRoZSBjb3Jy ZWN0IHVzYWdlIGZvciBkeW5maWVsZHMsDQo+IDEtIFB1dCBkeW5maWxlZHMgbmFtZXMgaW4gdG8g dGhlIGhlYWRlciwgYW5kIGFwcGxpY2F0aW9uIGRvZXMgYSBsb29rdXANCj4gKCdydGVfbWJ1Zl9k eW5maWVsZF9sb29rdXAoKScpIHRvIGdldCB0aGUgZHluZmllbGQgdmFsdWVzLg0KPiBvcg0KPiAy LSBFeHBvc2UgZHluZmllbGQgdmFsdWVzIHRvIGJlIGFjY2Vzc2VkIGRpcmVjdGx5IGZyb20gYXBw bGljYXRpb24sIGFzIGRvbmUNCj4gYWJvdmUuDQo+IA0KPiBAT2xpdmVyLCBjYW4geW91IHBsZWFz ZSBzdXBwb3J0Lg0KPiANCj4gSSBjYW4gc2VlICgxKSBoYXMgYWR2YW50YWdlIG9mIHBvcnRhYmls aXR5IGlmIG1vcmUgdGhhbiBvbmUgUE1EIHN1cHBvcnRzDQo+IHNhbWUgZHluZmllbGQgbmFtZXMs IGJ1dCB0aGF0IHNlZXMgbm90IGEgY2FzZSBmb3IgYWJvdmUgb25lcy4NCg==