From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <konstantin.ananyev@intel.com>
Received: from mga07.intel.com (mga07.intel.com [134.134.136.100])
 by dpdk.org (Postfix) with ESMTP id 054F95B12
 for <dev@dpdk.org>; Fri, 16 Mar 2018 10:45:44 +0100 (CET)
X-Amp-Result: SKIPPED(no attachment in message)
X-Amp-File-Uploaded: False
Received: from fmsmga001.fm.intel.com ([10.253.24.23])
 by orsmga105.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;
 16 Mar 2018 02:45:43 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.48,315,1517904000"; d="scan'208";a="38501839"
Received: from irsmsx101.ger.corp.intel.com ([163.33.3.153])
 by fmsmga001.fm.intel.com with ESMTP; 16 Mar 2018 02:45:42 -0700
Received: from irsmsx156.ger.corp.intel.com (10.108.20.68) by
 IRSMSX101.ger.corp.intel.com (163.33.3.153) with Microsoft SMTP Server (TLS)
 id 14.3.319.2; Fri, 16 Mar 2018 09:45:42 +0000
Received: from irsmsx105.ger.corp.intel.com ([169.254.7.216]) by
 IRSMSX156.ger.corp.intel.com ([169.254.3.229]) with mapi id 14.03.0319.002;
 Fri, 16 Mar 2018 09:45:41 +0000
From: "Ananyev, Konstantin" <konstantin.ananyev@intel.com>
To: "alejandro.lucero@netronome.com" <alejandro.lucero@netronome.com>
CC: "dev@dpdk.org" <dev@dpdk.org>
Thread-Topic: [dpdk-dev] [PATCH v1 0/5] add framework to load and execute
 BPF code
Thread-Index: AQHTt8W2+yJ/L3MNsE+9zyb6KeSlIqPP930AgAGH8iCAAABisA==
Date: Fri, 16 Mar 2018 09:45:41 +0000
Message-ID: <2601191342CEEE43887BDE71AB977258A0AB018E@irsmsx105.ger.corp.intel.com>
References: <1520613725-9176-1-git-send-email-konstantin.ananyev@intel.com>
 <CAD+H992pi2cVhq59-WiQdn+53hnOyqmQo9CWu1Sz=k2v8_eknQ@mail.gmail.com>
 <2601191342CEEE43887BDE71AB9772589E29032C@irsmsx105.ger.corp.intel.com>
In-Reply-To: <2601191342CEEE43887BDE71AB9772589E29032C@irsmsx105.ger.corp.intel.com>
Accept-Language: en-IE, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiZjU3OGY1ZmUtMDI0NC00NjFhLWI0YTMtZDc5NWZmZjA0MDUzIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE2LjUuOS4zIiwiVHJ1c3RlZExhYmVsSGFzaCI6Inc3cnNHQXU1QTRkZGFNN2NQR29RdjZhUzNZeU0yMW1ETmNPRFFFb05zSmM9In0=
x-ctpclassification: CTP_NT
dlp-product: dlpe-windows
dlp-version: 11.0.0.116
dlp-reaction: no-action
x-originating-ip: [163.33.239.182]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Subject: Re: [dpdk-dev] [PATCH v1 0/5] add framework to load and execute BPF
 code
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Mar 2018 09:45:45 -0000

PiANCj4gSSB0cmllZCB0byBzdGFydCBhIGRpc2N1c3Npb24gYWJvdXQgZUJQRiBzdXBwb3J0IHdp
dGggRFBESyBpbiBsYXN0IERQREsgbWVldGluZyBpbiBTYW50YSBDbGFyYToNCj4gDQo+IGh0dHBz
Oi8vZHBka3N1bW1pdC5jb20vQXJjaGl2ZS9wZGYvMjAxN1VTQS9EUERLJTIwc3VwcG9ydCUyMGZv
ciUyMG5ldyUyMGhhcmR3YXJlJTIwb2ZmbG9hZHMucGRmDQo+IA0KPiBJbiBzbGlkZSAxNyBJIGhh
dmUgc29tZSBwb2ludHMgd2hpY2gsIElNSE8sIGFyZSB3b3J0aCB0byBkaXNjdXNzIGJlZm9yZSBh
ZGRpbmcgdGhpcyBzdXBwb3J0Lg0KPiANCj4gSSBjYW4gc2VlIGNvbXBhdGliaWxpdHkgd2l0aCBl
QlBGIHByb2dyYW1zIHVzZWQgd2l0aCB0aGUga2VybmVsIGJlaW5nIGp1c3QgZW5vdWdoIGZvciBh
ZGRpbmcgdGhpcyB0byBEUERLLCBidXQgaWYgSSB1bmRlcnN0YW5kIHdoZXJlIGVCUEYNCj4gaW5z
aWRlIHRoZSBrZXJuZWwgaXMgZ29pbmcgKHJlZ2FyZGluZyBuZXR3b3JrIHN0YWNrKSwgdGhvc2Ug
cHJvZ3JhbXMgYXJlIGdvaW5nIHRvIChvciBjb3VsZCkgcmVmZXIgdG8ga2VybmVsICJjb2RlIiwg
c28gbWF5YmUgdGhpcw0KPiBjb21wYXRpYmlsaXR5IGlzIGp1c3QgaW1wb3NzaWJsZSB0byBzdXBw
b3J0LiBUaGF0IHdvdWxkIGZvcmNlIGEgY2hlY2sgZm9yIGF2b2lkaW5nIHRob3NlIHByb2dyYW1z
IHdpdGggc3VjaCByZWZlcmVuY2VzIGFuZCBJIGNhbiBzZWUgdGhpcw0KPiB3b3VsZCBiZWNvbWUg
aW4gYSBtZXNzIHF1aWNrbHkuDQoNCkluc2lkZSBEUERLIHdlIGNhbiAoYW5kIHNob3VsZCwgSSB0
aGluaykgc3VwcG9ydCBlQlBGIElTQQ0KKGh0dHBzOi8vZ2l0aHViLmNvbS9pb3Zpc29yL2JwZi1k
b2NzL2Jsb2IvbWFzdGVyL2VCUEYubWQpLg0KVGhvdWdoIG9mIGNvdXJzZSBpdCB3b3VsZCBiZSBo
YXJkIChpZiBwb3NzaWJsZSBhdCBhbGwpIHRvIHN1cHBvcnQga2VybmVsIHNwZWNpZmljIHN0cnVj
dHVyZXMgYW5kIGZ1bmN0aW9ucy4NCkFuZCBJIGRvbid0IHRoaW5rIHdlIGhhdmUgdG8gZ28gdGhh
dCB3YXksIGluc3RlYWQgaXQgd291bGQgbXVjaCBwbGF1c2libGUgZm9yIERQREsgdXNlcnMgdG8g
YWxsb3cgZUJQRiBpbnNpZGUgRFBESw0KdG8gcmVmZXIgRFBESyBzcGVjaWZpYyBzdHJ1Y3R1cmVz
L2Z1bmN0aW9ucyAocnRlX21idWYsIGV0Yy4pLiANClNvIGlmIHdlIGhhdmUgYSBlQlBGIHByb2dy
YW0gdGhhdCBhY2NlcHRzIHBvaW50ZXIgdG8gcmF3IHBhY2tldCBkYXRhIGFzIGFuIGlucHV0IGFu
ZCBkb2Vzbid0IHJlZmVyIGFueQ0KZXh0ZXJuYWwgc3ltYm9scyAtIGl0IHNob3VsZCBydW4gdW5t
b2RpZmllZCB3aXRoIGJvdGgga2VybmVsIGFuZCBEUERLIEJQRiBWTS4NCkluIG90aGVyIGNhc2Vz
IHdlIHdvdWxkbid0IGhhdmUgZnVsbCBjb21wYXRpYmlsaXR5IGhlcmUuICAgIA0KDQo+IA0KPiBB
c3N1bWluZyB0aGlzIGlzc3VlIGNvdWxkIGJlIG92ZXJjb21lIChvciBub3QgYW4gaXNzdWUgYXQg
YWxsKSwgbWF5YmUgaXQgbWFrZXMgc2Vuc2UgdG8gZXhlY3V0ZSBlQlBGIHByb2dyYW1zIGJ1dCwg
ZG9lcyBpdCBtYWtlIHNlbnNlIHRvDQo+IGV4ZWN1dGUgZUJQRiBjb2RlPyBUbyBzdGFydCB3aXRo
LCB3ZSBhcmUgZ29pbmcgdG8gZXhlY3V0ZSB1c2Vyc3BhY2UgY29kZSBpbiB1c2Vyc3BhY2UgY29u
dGV4dCwgc28gc29tZSAoSSB3b3VsZCBzYXkgbWFpbikgcmVhc29ucyBiZWhpbmQNCj4gZUJQRiBk
byBub3QgYXBwbHkuDQoNCldlbGwsIHRoZXNlIGRheXMgQlBGIHVzZWQgZm9yIG1hbnkgZGlmZmVy
ZW50IHB1cnBvc2VzIGluc2lkZSBrZXJuZWwuDQpTb21lIG9mIHRoZXNlIHB1cnBvc2VzIHdvdWxk
IGJlIHZhbGlkIGZvciBEUERLIGFwcHMgdG9vLCBvdGhlcnMgcHJvYmFibHkgd291bGRuJ3QuDQpG
b3IgZXhhbXBsZSAtIGFiaWxpdHkgdG8gZHluYW1pY2FsbHkgY3JlYXRlL2Rlc3Ryb3kgcGFja2V0
IGZpbHRlcnMgdG8gY2xhc3NpZnkvdHJhY2UvZHJvcC9jb2xsZWN0IHN0YXRpc3RpY3MNCmluIGEg
dXNlciBkZWZpbmVkIHdheSAtIHRoYXQgSSB0aGluayB3aGF0IG1hbnkgdXNlcnMgd291bGQgYmUg
aW50ZXJlc3RlZCBpbiBhbmQgdGhhdCB3aGF0IERQREsgaXMgbWlzc2luZyB0aGVzZSBkYXlzLg0K
QWdhaW4sIG5vdGhpbmcgcHJldmVudHMgcGVvcGxlIHRvIHVzZSBCUEYgaW5zaWRlIERQREsgZm9y
IHNvbWV0aGluZyB0b3RhbGx5IGRpZmZlcmVudCBmcm9tIGN1cnJlbnQga2VybmVsIHVzYWdlcy4N
Cg0KPiBBbmQgZnJvbSBhIHBlcmZvcm1hbmNlIHBvaW50IG9mIHZpZXcsIGNhbiB3ZSBlbnN1cmUg
ZUJQRiBjb2RlIGV4ZWN1dGlvbiBpcyBnb2luZyB0byBiZSBhdCBzYW1lIGxldmVsIHRoYW4NCj4g
RFBESz/CoCANCg0KT2J2aW91c2x5IHBlcmZvcm1hbmNlIGRlcGVuZHMgZnJvbSBtYW55IHRoaW5n
czoNCiAgLSBhY3R1YWwgZUJQRiBjb2RlIHlvdSBhcmUgZ29pbmcgdG8gZXhlY3V0ZQ0KICAtIGlu
dGVycHJldGVyL0pJVC9IVyBvZmZsb2FkIHlvdSBhcmUgZ29pbmcgdG8gdXNlIGZvciB0aGF0DQog
IC0gY29udGV4dCBhdCB3aGljaCBlQlBGIFZNIHdpbGwgYmUgZXhlY3V0ZWQNCiAgLSBldGMuDQoN
CkluIGdlbmVyYWwsIGlmIHlvdSBsb2FkIGEgbmV3IHBhY2tldCBmaWx0ZXIgcnVubmluZyBpbiBT
VyAtDQp5ZXMgdGhhdCB3b3VsZCBjb25zdW1lIHNvbWUgZXh0cmEgQ1BVIGN5Y2xlcyBhbmQgbWln
aHQgYWZmZWN0IHBlcmZvcm1hbmNlLg0KQnV0IGluIG1hbnkgY2FzZXMgaXQgaXMgYW4gYWNjZXB0
YWJsZSB0cmFkZW9mZiAtIGZ1bmN0aW9uYWxpdHkgdnMgcGVyZm9ybWFuY2UuDQpBZ2FpbiwgaXQg
aXMgdG90YWxseSB1cCB0byB1c2VyIC0gaWYgaGUgZmVlbHMgaGUgZG9lc24ndCBuZWVkIHRoYXQg
ZnVuY3Rpb25hbGl0eSwNCmhlIGp1c3Qgd291bGRuJ3QgbG9hZCBCUEYgcHJvZ3JhbXMuDQoNCj5X
b3VsZCBub3QgaXQgYmUgYSBiZXR0ZXIgaWRlYSB0byB0cmFuc2xhdGUgZWJwZiBwcm9ncmFtcyB0
byBvdGhlciBsYW5ndWFnZSBsaWtlIC4uLiBDPw0KDQpjbGFuZyAoc3RhcnRpbmcgZnJvbSB2IDMu
Nykgc3VwcG9ydHMgZUJQRiBhcyBvbmUgb2YgaXRzIGJhY2tlbmQgdGFyZ2V0cywgc28gbm93IGl0
IGlzIHBvc3NpYmxlIHRvDQp3cml0ZSBlQlBGIHByb2NlZHVyZXMgdXNpbmcgQyAocmVzdHJpY3Rl
ZCB2ZXJzaW9uKS4NCkluIGZhY3QsIGFsbCBzYW1wbGVzIGluIHBhdGNoICM1IGFyZSB3cml0dGVu
IGluIHB1cmUgQy4NCg0KPiANCj4gRG9uJ3QgdGFrZSBtZSB3cm9uZy4gSSdtIG5vdCBhZ2FpbnN0
IGFkZGluZyBlQlBGIGF0IGFsbC4gSW4gZmFjdCwgZnJvbSBteSBjb21wYW55J3MgcG9pbnQgb2Yg
dmlldywgTmV0cm9ub21lLCB3ZSB3b3VsZCBiZSBoYXBweSB0byBoYXZlDQo+IHRoaXMgd2l0aCBE
UERLIGFuZCB0byBzdXBwb3J0IGVCUEYgb2ZmbG9hZCBhcyB0aGlzIGlzIHBvc3NpYmxlIG5vdyB3
aXRoIHRoZSBuZXRkZXYgZHJpdmVyLg0KDQpLb25zdGFudGluDQoNCg0KPiANCj4gDQo+IE9uIEZy
aSwgTWFyIDksIDIwMTggYXQgNDo0MiBQTSwgS29uc3RhbnRpbiBBbmFueWV2IDxrb25zdGFudGlu
LmFuYW55ZXZAaW50ZWwuY29tPiB3cm90ZToNCj4gQlBGIGlzIHVzZWQgcXVpdGUgaW50ZW5zaXZl
bHkgaW5zaWRlIExpbnV4IChhbmQgQlNEKSBrZXJuZWxzDQo+IGZvciB2YXJpb3VzIGRpZmZlcmVu
dCBwdXJwb3NlcyBhbmQgcHJvdmVkIHRvIGJlIGV4dHJlbWVseSB1c2VmdWwuDQo+IA0KPiBCUEYg
aW5zaWRlIERQREsgbWlnaHQgYWxzbyBiZSB1c2VkIGluIGEgbG90IG9mIHBsYWNlcw0KPiBmb3Ig
YSBsb3Qgb2Ygc2ltaWxhciB0aGluZ3MuDQo+IMKgQXMgYW4gZXhhbXBsZSB0bzoNCj4gLSBwYWNr
ZXQgZmlsdGVyaW5nL3RyYWNpbmcgKGFrYSB0Y3BkdW1wKQ0KPiAtIHBhY2tldCBjbGFzc2lmaWNh
dGlvbg0KPiAtIHN0YXRpc3RpY3MgY29sbGVjdGlvbg0KPiAtIEhXL1BNRCBsaXZlLXN5c3RlbSBk
ZWJ1Z2dpbmcvcHJvdG90eXBpbmcgLSB0cmFjZSBIVyBkZXNjcmlwdG9ycywNCj4gwqAgaW50ZXJu
YWwgUE1EIFNXIHN0YXRlLCBldGMuDQo+IMKgLi4uDQo+IA0KPiBBbGwgb2YgdGhhdCBpbiBhIGR5
bmFtaWMsIHVzZXItZGVmaW5lZCBhbmQgZXh0ZW5zaWJsZSBtYW5uZXIuDQo+IA0KPiBTbyB0aGVz
ZSBzZXJpZXMgaW50cm9kdWNlIG5ldyBsaWJyYXJ5IC0gbGlicnRlX2JwZi4NCj4gbGlicnRlX2Jw
ZiBwcm92aWRlcyBBUEkgdG8gbG9hZCBhbmQgZXhlY3V0ZSBCUEYgYnl0ZWNvZGUgd2l0aGluDQo+
IHVzZXItc3BhY2UgZHBkayBhcHAuDQo+IEl0IHN1cHBvcnRzIGJhc2ljIHNldCBvZiBmZWF0dXJl
cyBmcm9tIGVCUEYgc3BlYy4NCj4gQWxzbyBpdCBpbnRyb2R1Y2VzIGJhc2ljIGZyYW1ld29yayB0
byBsb2FkL3VubG9hZCBCUEYtYmFzZWQgZmlsdGVycw0KPiBvbiBldGggZGV2aWNlcyAocmlnaHQg
bm93IHZpYSBTVyBSWC9UWCBjYWxsYmFja3MpLg0KPiANCj4gSG93IHRvIHRyeSBpdDoNCj4gPT09
PT09PT09PT09PT09DQo+IA0KPiAxKSBydW4gdGVzdHBtZCBhcyB1c3VhbCBhbmQgc3RhcnQgeW91
ciBmYXZvcml0ZSBmb3J3YXJkaW5nIGNhc2UuDQo+IDIpIGJ1aWxkIGJwZiBwcm9ncmFtIHlvdSdk
IGxpa2UgdG8gbG9hZA0KPiAoeW91J2xsIG5lZWQgY2xhbmcgdjMuNyBvciBhYm92ZSk6DQo+ICQg
Y2QgdGVzdC9icGYNCj4gJCBjbGFuZyAtTzIgLXRhcmdldCBicGYgLWMgdDEuYw0KPiANCj4gMykg
bG9hZCBicGYgcHJvZ3JhbShzKToNCj4gdGVzdHBtZD4gYnBmLWxvYWQgcnh8dHggPHBvcnRpZD4g
PHF1ZXVlaWQ+IDxsb2FkLWZsYWdzPiA8YnBmLXByb2ctZmlsZW5hbWU+DQo+IA0KPiA8bG9hZC1m
bGFncz46wqAgWy1dW0pdW01dDQo+IEogLSB1c2UgSklUIGdlbmVyYXRlZCBuYXRpdmUgY29kZSwg
b3RoZXJ3aXNlIEJQRiBpbnRlcnByZXRlciB3aWxsIGJlIHVzZWQuDQo+IE0gLSBhc3N1bWUgaW5w
dXQgcGFyYW1ldGVyIGlzIGEgcG9pbnRlciB0byBydGVfbWJ1ZiwNCj4gwqAgwqAgb3RoZXJ3aXNl
IGFzc3VtZSBpdCBpcyBhIHBvaW50ZXIgdG8gZmlyc3Qgc2VnbWVudCdzIGRhdGEuDQo+IA0KPiBG
ZXcgZXhhbXBsZXM6DQo+IA0KPiAjIHRvIGxvYWQgKG5vdCBKSVRlZCkgZHVtbXkubyBhdCBUWCBx
dWV1ZSAwLCBwb3J0IDA6DQo+IHRlc3RwbWQ+IGJwZi1sb2FkIHR4IDAgMCAtIC4vZHBkay5vcmcv
dGVzdC9icGYvZHVtbXkubw0KPiANCj4gI3RvIGxvYWQgKGFuZCBKSVQgY29tcGlsZSkgdDEubyBh
dCBSWCBxdWV1ZSAwLCBwb3J0IDE6DQo+IHRlc3RwbWQ+IGJwZi1sb2FkIHJ4IDEgMCBKIC4vZHBk
ay5vcmcvdGVzdC9icGYvdDEubw0KPiANCj4gI3RvIGxvYWQgYW5kIEpJVCB0My5vIChub3RlIHRo
YXQgaXQgZXhwZWN0cyBtYnVmIGFzIGFuIGlucHV0KToNCj4gdGVzdHBtZD4gYnBmLWxvYWQgcngg
MiAwIEpNIC4vZHBkay5vcmcvdGVzdC9icGYvdDMubw0KPiANCj4gSWYgeW91IGFyZSBjdXJpb3Vz
IHRvIGNoZWNrIEpJVCBnZW5lcmF0ZWQgbmF0aXZlIGNvZGU6DQo+IGdkYiAtcCBgcGdyZXAgdGVz
dHBtZGANCj4gKGdkYikgZGlzYXMgMHg3ZmQxNzNjNWYwMDAsKzc2DQo+IER1bXAgb2YgYXNzZW1i
bGVyIGNvZGUgZnJvbSAweDdmZDE3M2M1ZjAwMCB0byAweDdmZDE3M2M1ZjA0YzoNCj4gwqAgwqAw
eDAwMDA3ZmQxNzNjNWYwMDA6wqAgbW92wqAgwqAgJXJkaSwlcnNpDQo+IMKgIMKgMHgwMDAwN2Zk
MTczYzVmMDAzOsKgIG1vdnp3cSAweDEwKCVyc2kpLCVyZGkNCj4gwqAgwqAweDAwMDA3ZmQxNzNj
NWYwMDg6wqAgbW92wqAgwqAgMHgwKCVyc2kpLCVyZHgNCj4gwqAgwqAweDAwMDA3ZmQxNzNjNWYw
MGM6wqAgYWRkwqAgwqAgJXJkaSwlcmR4DQo+IMKgIMKgMHgwMDAwN2ZkMTczYzVmMDBmOsKgIG1v
dnpicSAweGMoJXJkeCksJXJkaQ0KPiDCoCDCoDB4MDAwMDdmZDE3M2M1ZjAxNDrCoCBtb3Z6YnEg
MHhkKCVyZHgpLCVyZHgNCj4gwqAgwqAweDAwMDA3ZmQxNzNjNWYwMTk6wqAgc2hswqAgwqAgJDB4
OCwlcmR4DQo+IMKgIMKgMHgwMDAwN2ZkMTczYzVmMDFkOsKgIG9ywqAgwqAgwqAlcmRpLCVyZHgN
Cj4gwqAgwqAweDAwMDA3ZmQxNzNjNWYwMjA6wqAgY21wwqAgwqAgJDB4NjA4LCVyZHgNCj4gwqAg
wqAweDAwMDA3ZmQxNzNjNWYwMjc6wqAgam5lwqAgwqAgMHg3ZmQxNzNjNWYwNDQNCj4gwqAgwqAw
eDAwMDA3ZmQxNzNjNWYwMjk6wqAgbW92wqAgwqAgJDB4YjcxMmU4LCVyZGkNCj4gwqAgwqAweDAw
MDA3ZmQxNzNjNWYwMzA6wqAgbW92wqAgwqAgMHgwKCVyZGkpLCVyZGkNCj4gwqAgwqAweDAwMDA3
ZmQxNzNjNWYwMzQ6wqAgbW92wqAgwqAgJDB4NDAsJXJkeA0KPiDCoCDCoDB4MDAwMDdmZDE3M2M1
ZjAzYjrCoCBtb3bCoCDCoCAkMHg0ZGIyZjAsJXJheA0KPiDCoCDCoDB4MDAwMDdmZDE3M2M1ZjA0
MjrCoCBjYWxsccKgIColcmF4DQo+IMKgIMKgMHgwMDAwN2ZkMTczYzVmMDQ0OsKgIG1vdsKgIMKg
ICQweDEsJXJheA0KPiDCoCDCoDB4MDAwMDdmZDE3M2M1ZjA0YjrCoCByZXRxDQo+IEVuZCBvZiBh
c3NlbWJsZXIgZHVtcC4NCj4gDQo+IDQpIG9ic2VydmUgY2hhbmdlZCB0cmFmZmljIGJlaGF2aW9y
DQo+IExldCBzYXkgd2l0aCB0aGUgZXhhbXBsZXMgYWJvdmU6DQo+IMKgIC0gZHVtbXkub8KgIGRv
ZXMgbGl0ZXJhbGx5IG5vdGhpbmcsIHNvIG5vIGNoYW5nZXMgc2hvdWxkIGJlIGhlcmUsDQo+IMKg
IMKgIGV4Y2VwdCBzb21lIHBvc3NpYmxlIHNsb3dkb3duLg0KPiDCoC0gdDEubyAtIHNob3VsZCBm
b3JjZSB0byBkcm9wIGFsbCBwYWNrZXRzIHRoYXQgZG9lc24ndCBtYXRjaDoNCj4gwqAgwqAnZHN0
IDEuMi4zLjQgJiYgdWRwICYmIGRzdCBwb3J0IDUwMDAnIGZpbHRlci4NCj4gwqAtIHQzLm8gLSBz
aG91bGQgZHVtcCB0byBzdGRvdXQgQVJQIHBhY2tldHMuDQo+IA0KPiA1KSB1bmxvYWQgc29tZSBv
ciBhbGwgYnBmIHByb2dyYW1zOg0KPiB0ZXN0cG1kPiBicGYtdW5sb2FkIHR4IDAgMA0KPiANCj4g
NikgY29udGludWUgd2l0aCBzdGVwIDMpIG9yIGV4aXQNCj4gDQo+IFRPRE8gbGlzdDoNCj4gPT09
PT09PT09PQ0KPiAtIG1lc29uIGJ1aWxkDQo+IC0gVVQgZm9yIGl0DQo+IC0gaW1wbGVtZW50IHBy
b3BlciB2YWxpZGF0ZSgpDQo+IC0gYWxsb3cgSklUIHRvIGdlbmVyYXRlIGJ1bGsgdmVyc2lvbg0K
PiAtIEZyZWVCU0Qgc3VwcG9ydA0KPiANCj4gTm90IGN1cnJlbnRseSBzdXBwb3J0ZWQgZmVhdHVy
ZXM6DQo+ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KPiAtIGNCUEYNCj4gLSB0
YWlsLXBvaW50ZXIgY2FsbA0KPiAtIGVCUEYgTUFQDQo+IC0gSklUIGZvciBub24gWDg2XzY0IHRh
cmdldHMNCj4gLSBza2INCj4gDQo+IEtvbnN0YW50aW4gQW5hbnlldiAoNSk6DQo+IMKgIGJwZjog
YWRkIEJQRiBsb2FkaW5nIGFuZCBleGVjdXRpb24gZnJhbWV3b3JrDQo+IMKgIGJwZjogYWRkIEpJ
VCBjb21waWxhdGlvbiBmb3IgeDg2XzY0IElTQS4NCj4gwqAgYnBmOiBpbnRyb2R1Y2UgYmFzaWMg
UlgvVFggQlBGIGZpbHRlcnMNCj4gwqAgdGVzdHBtZDogbmV3IGNvbW1hbmRzIHRvIGxvYWQvdW5s
b2FkIEJQRiBmaWx0ZXJzDQo+IMKgIHRlc3Q6IGFkZCBmZXcgZUJQRiBzYW1wbGVzDQo+IA0KPiDC
oGFwcC90ZXN0LXBtZC9icGZfc3VwLmjCoCDCoCDCoCDCoCDCoCDCoCDCoHzCoCDCoDI1ICsNCj4g
wqBhcHAvdGVzdC1wbWQvY21kbGluZS5jwqAgwqAgwqAgwqAgwqAgwqAgwqB8wqAgMTQ2ICsrKysN
Cj4gwqBjb25maWcvY29tbW9uX2Jhc2XCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoHzCoCDCoCA1
ICsNCj4gwqBjb25maWcvY29tbW9uX2xpbnV4YXBwwqAgwqAgwqAgwqAgwqAgwqAgwqB8wqAgwqAg
MSArDQo+IMKgbGliL01ha2VmaWxlwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqB8
wqAgwqAgMiArDQo+IMKgbGliL2xpYnJ0ZV9icGYvTWFrZWZpbGXCoCDCoCDCoCDCoCDCoCDCoCB8
wqAgwqAzNSArDQo+IMKgbGliL2xpYnJ0ZV9icGYvYnBmLmPCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oHzCoCDCoDUyICsrDQo+IMKgbGliL2xpYnJ0ZV9icGYvYnBmX2V4ZWMuY8KgIMKgIMKgIMKgIMKg
IHzCoCA0NTIgKysrKysrKysrKysrDQo+IMKgbGliL2xpYnJ0ZV9icGYvYnBmX2ltcGwuaMKgIMKg
IMKgIMKgIMKgIHzCoCDCoDM3ICsNCj4gwqBsaWIvbGlicnRlX2JwZi9icGZfaml0X3g4Ni5jwqAg
wqAgwqAgwqB8IDEzMjkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrDQo+IMKg
bGliL2xpYnJ0ZV9icGYvYnBmX2xvYWQuY8KgIMKgIMKgIMKgIMKgIHzCoCAzODAgKysrKysrKysr
KysNCj4gwqBsaWIvbGlicnRlX2JwZi9icGZfcGt0LmPCoCDCoCDCoCDCoCDCoCDCoHzCoCA1MjQg
KysrKysrKysrKysrKysNCj4gwqBsaWIvbGlicnRlX2JwZi9icGZfdmFsaWRhdGUuY8KgIMKgIMKg
IHzCoCDCoDU1ICsrDQo+IMKgbGliL2xpYnJ0ZV9icGYvcnRlX2JwZi5owqAgwqAgwqAgwqAgwqAg
wqB8wqAgMTU4ICsrKysrDQo+IMKgbGliL2xpYnJ0ZV9icGYvcnRlX2JwZl9ldGhkZXYuaMKgIMKg
IHzCoCDCoDUwICsrDQo+IMKgbGliL2xpYnJ0ZV9icGYvcnRlX2JwZl92ZXJzaW9uLm1hcCB8wqAg
wqAxNiArDQo+IMKgbWsvcnRlLmFwcC5ta8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IHzCoCDCoCAyICsNCj4gwqB0ZXN0L2JwZi9kdW1teS5jwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqB8wqAgwqAyMCArDQo+IMKgdGVzdC9icGYvbWJ1Zi5owqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgfMKgIDU1NiArKysrKysrKysrKysrKysNCj4gwqB0ZXN0L2JwZi90MS5jwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgfMKgIMKgNTMgKysNCj4gwqB0ZXN0L2JwZi90Mi5j
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgfMKgIMKgMzAgKw0KPiDCoHRlc3QvYnBm
L3QzLmPCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCB8wqAgwqAzNiArDQo+IMKgMjIg
ZmlsZXMgY2hhbmdlZCwgMzk2NCBpbnNlcnRpb25zKCspDQo+IMKgY3JlYXRlIG1vZGUgMTAwNjQ0
IGFwcC90ZXN0LXBtZC9icGZfc3VwLmgNCj4gwqBjcmVhdGUgbW9kZSAxMDA2NDQgbGliL2xpYnJ0
ZV9icGYvTWFrZWZpbGUNCj4gwqBjcmVhdGUgbW9kZSAxMDA2NDQgbGliL2xpYnJ0ZV9icGYvYnBm
LmMNCj4gwqBjcmVhdGUgbW9kZSAxMDA2NDQgbGliL2xpYnJ0ZV9icGYvYnBmX2V4ZWMuYw0KPiDC
oGNyZWF0ZSBtb2RlIDEwMDY0NCBsaWIvbGlicnRlX2JwZi9icGZfaW1wbC5oDQo+IMKgY3JlYXRl
IG1vZGUgMTAwNjQ0IGxpYi9saWJydGVfYnBmL2JwZl9qaXRfeDg2LmMNCj4gwqBjcmVhdGUgbW9k
ZSAxMDA2NDQgbGliL2xpYnJ0ZV9icGYvYnBmX2xvYWQuYw0KPiDCoGNyZWF0ZSBtb2RlIDEwMDY0
NCBsaWIvbGlicnRlX2JwZi9icGZfcGt0LmMNCj4gwqBjcmVhdGUgbW9kZSAxMDA2NDQgbGliL2xp
YnJ0ZV9icGYvYnBmX3ZhbGlkYXRlLmMNCj4gwqBjcmVhdGUgbW9kZSAxMDA2NDQgbGliL2xpYnJ0
ZV9icGYvcnRlX2JwZi5oDQo+IMKgY3JlYXRlIG1vZGUgMTAwNjQ0IGxpYi9saWJydGVfYnBmL3J0
ZV9icGZfZXRoZGV2LmgNCj4gwqBjcmVhdGUgbW9kZSAxMDA2NDQgbGliL2xpYnJ0ZV9icGYvcnRl
X2JwZl92ZXJzaW9uLm1hcA0KPiDCoGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0L2JwZi9kdW1teS5j
DQo+IMKgY3JlYXRlIG1vZGUgMTAwNjQ0IHRlc3QvYnBmL21idWYuaA0KPiDCoGNyZWF0ZSBtb2Rl
IDEwMDY0NCB0ZXN0L2JwZi90MS5jDQo+IMKgY3JlYXRlIG1vZGUgMTAwNjQ0IHRlc3QvYnBmL3Qy
LmMNCj4gwqBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdC9icGYvdDMuYw0KPiANCj4gLS0NCj4gMi4x
My42DQoNCg==