From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from dpdk.org (dpdk.org [92.243.14.124])
	by inbox.dpdk.org (Postfix) with ESMTP id E3EA9A0566;
	Tue, 10 Mar 2020 18:00:04 +0100 (CET)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id 3FF601BFF9;
	Tue, 10 Mar 2020 18:00:04 +0100 (CET)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2071.outbound.protection.outlook.com [40.107.22.71])
 by dpdk.org (Postfix) with ESMTP id BFE8D1BFF7
 for <dev@dpdk.org>; Tue, 10 Mar 2020 18:00:02 +0100 (CET)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dLTO/jU7E0gAEdbBq9IrjAD125QX04jRVdTEYUonY7LmdLAbvlRKxBhf+I2eVrnP8dluXHy8XpJd1gmGzIQ5v736PXCiVsNHts7ux029B9/nndE8979FVOUWskSpMIxrh91ODnNXfACkvSAtFz31WEEE2nnyj8o1q96YRMckriTt3aAURYE8CUchWHAAm5GJdRxPrRIe14pi0LSO2hXR10k9T/C1bu/iWwjzciWZl7tZbFkokxxWiK4IrxGQmrKBAg/F9IzyQ7gaOGjTU3PwUyxknXxn5j8NIpwa5iQHDRjQOBgLnBNidjb6jIKUPAPturBh8Fkyyu46vR/YVJ0pJQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nzHCEB7HVOG139inUlXxkMkp3G/IqkEBCZwB2UWd0Rk=;
 b=lqqG+IV9a6PWECSiJS8iQ2qSP2zmEQybGpi+kMIbcAexeGPbyFwfAuuwBVlqB1e6dy19BEbNFiJiWZbuaRTwiL8kPdda/3y+d1aL8kZn4xQN+f8XagWyyJ/rOttJdqSj8lxjr30R1xOvQ5lOeFoxZINm4L+VyCs6TWEyZzoWS8ScCrPSqI2fMjwqoO3+Ans5+O6ylfuDsnEsCFRwhj+FBnNErgudxpr7HJTbRRPMXQmhCon67S2sgIAN8xIV+2/G5C7+NgbCFTtVpduAlfD3fffxMDleodkf7tEMMKKWn1vSTG5IySo0FWYShs4K6Zv1pJQx53VX3vdVHe0akr46IA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=mellanox.com; dmarc=pass action=none header.from=mellanox.com;
 dkim=pass header.d=mellanox.com; arc=none
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:X-MS-Exchange-SenderADCheck;
 bh=nzHCEB7HVOG139inUlXxkMkp3G/IqkEBCZwB2UWd0Rk=;
 b=sdXtfCwWg4iXOvRxHUCfd7O9tIU+b3uZAOJTR+6nLFdQUsV9WrlWztVmQqtXJzkwAT3bjWCMz2TMQZ4FQkg3pBrQ7fn3soW1hUS8zPURzh7PaCCDGASqLL4MaJHo0P4Gruvzo7MomU+vCQxK3NSL02I2UySCq/axkY6ErCsu4xE=
Received: from AM6PR05MB5176.eurprd05.prod.outlook.com (20.177.196.158) by
 AM6PR05MB5571.eurprd05.prod.outlook.com (20.177.189.89) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.2793.17; Tue, 10 Mar 2020 17:00:01 +0000
Received: from AM6PR05MB5176.eurprd05.prod.outlook.com
 ([fe80::80e9:7eb9:e770:941d]) by AM6PR05MB5176.eurprd05.prod.outlook.com
 ([fe80::80e9:7eb9:e770:941d%7]) with mapi id 15.20.2793.018; Tue, 10 Mar 2020
 17:00:01 +0000
From: Ori Kam <orika@mellanox.com>
To: Pavan Nikhilesh Bhagavatula <pbhagavatula@marvell.com>, Jerin Jacob
 Kollanukkaran <jerinj@marvell.com>, "xiang.w.wang@intel.com"
 <xiang.w.wang@intel.com>
CC: "dev@dpdk.org" <dev@dpdk.org>, Shahaf Shuler <shahafs@mellanox.com>,
 "hemant.agrawal@nxp.com" <hemant.agrawal@nxp.com>, Opher Reviv
 <opher@mellanox.com>, Alex Rosenbaum <alexr@mellanox.com>, Dovrat Zifroni
 <dovrat@marvell.com>, Prasun Kapoor <pkapoor@marvell.com>,
 "nipun.gupta@nxp.com" <nipun.gupta@nxp.com>, "bruce.richardson@intel.com"
 <bruce.richardson@intel.com>, "yang.a.hong@intel.com"
 <yang.a.hong@intel.com>, "harry.chang@intel.com" <harry.chang@intel.com>,
 "gu.jian1@zte.com.cn" <gu.jian1@zte.com.cn>, "shanjiangh@chinatelecom.cn"
 <shanjiangh@chinatelecom.cn>, "zhangy.yun@chinatelecom.cn"
 <zhangy.yun@chinatelecom.cn>, "lixingfu@huachentel.com"
 <lixingfu@huachentel.com>, "wushuai@inspur.com" <wushuai@inspur.com>,
 "yuyingxia@yxlink.com" <yuyingxia@yxlink.com>, "fanchenggang@sunyainfo.com"
 <fanchenggang@sunyainfo.com>, "davidfgao@tencent.com"
 <davidfgao@tencent.com>, "liuzhong1@chinaunicom.cn"
 <liuzhong1@chinaunicom.cn>, "zhaoyong11@huawei.com" <zhaoyong11@huawei.com>,
 "oc@yunify.com" <oc@yunify.com>, "jim@netgate.com" <jim@netgate.com>,
 "hongjun.ni@intel.com" <hongjun.ni@intel.com>, "j.bromhead@titan-ic.com"
 <j.bromhead@titan-ic.com>, "deri@ntop.org" <deri@ntop.org>, "fc@napatech.com"
 <fc@napatech.com>, "arthur.su@lionic.com" <arthur.su@lionic.com>, Thomas
 Monjalon <thomas@monjalon.net>
Thread-Topic: [dpdk-dev] [RFC v6] regexdev: introduce regexdev subsystem
Thread-Index: AQHV9sdcdMFlu1KoGkKsbOahinpZ8KhB1coAgAApxrCAAAcPgIAAAbjA
Date: Tue, 10 Mar 2020 17:00:01 +0000
Message-ID: <AM6PR05MB5176FD8FC686F83A9F3EF7FCDBFF0@AM6PR05MB5176.eurprd05.prod.outlook.com>
References: <20190627155036.56940-1-jerinj@marvell.com>
 <1583836353-42867-1-git-send-email-orika@mellanox.com>
 <CY4PR1801MB1863538C12415C62E90F2FFBDEFF0@CY4PR1801MB1863.namprd18.prod.outlook.com>
 <AM6PR05MB517605C125D5D0690004AFDBDBFF0@AM6PR05MB5176.eurprd05.prod.outlook.com>
 <CY4PR1801MB1863026263CD16A8B770F4FBDEFF0@CY4PR1801MB1863.namprd18.prod.outlook.com>
In-Reply-To: <CY4PR1801MB1863026263CD16A8B770F4FBDEFF0@CY4PR1801MB1863.namprd18.prod.outlook.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=orika@mellanox.com; 
x-originating-ip: [185.175.35.255]
x-ms-publictraffictype: Email
x-ms-office365-filtering-ht: Tenant
x-ms-office365-filtering-correlation-id: 83361c77-cd82-423a-96ee-08d7c514791a
x-ms-traffictypediagnostic: AM6PR05MB5571:|AM6PR05MB5571:
x-ld-processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr
x-ms-exchange-transport-forked: True
x-microsoft-antispam-prvs: <AM6PR05MB5571B17F045E81F87F5F9D0FDBFF0@AM6PR05MB5571.eurprd05.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-forefront-prvs: 033857D0BD
x-forefront-antispam-report: SFV:NSPM;
 SFS:(10009020)(4636009)(396003)(39860400002)(136003)(366004)(376002)(346002)(189003)(199004)(8676002)(478600001)(52536014)(64756008)(66946007)(186003)(8936002)(54906003)(81166006)(76116006)(110136005)(66556008)(66476007)(66446008)(316002)(86362001)(81156014)(5660300002)(55016002)(26005)(33656002)(4326008)(71200400001)(9686003)(7696005)(53546011)(2906002)(6506007)(7416002);
 DIR:OUT; SFP:1101; SCL:1; SRVR:AM6PR05MB5571;
 H:AM6PR05MB5176.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en;
 PTR:InfoNoRecords; MX:1; A:1; 
received-spf: None (protection.outlook.com: mellanox.com does not designate
 permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: uOaM07UReEqAO5jwEuxIKE1eCo6YIKzbG8WvVVr7LdKUFvQcRGRhNqDfN3y9pIKRRz/P9C4Gd+uZ2KdymIAorKKRCxn4p55w4+LNj5WI7tKW3esRkjf5mMWInnQEtMqiYsvcWR1/vdrDJkVwX3Vwtl4B+lXypuZQQ084fC/slGN5qYXCbDx4YpxzqRF4pHOGQnyi9Obwk9GeWmudqHcm/UayOYM+Qe4XfzEpW1lf51ouQ3UuJT7pv7qoLAAVnEu0zGZvL3gKH5UKnyTUDdK+ZYG1re1nKk/cHe8Hsvu2JZQAmrPn8rIsysbbnBuSDNIdFXeC+vO+ZvPP+7Gi40ZWS21RLq4T/JzRTz/ufnc+gKihx/R4xJlSmBKKmIqsDF9dMEiHFgIizhu2rXuvcxT4Hy3lRShHMD+oilfMcNv8aP5RRfSrH/uME8x61qUFHstk
x-ms-exchange-antispam-messagedata: ERtUooOoFlMa4+7hVEQ59Kuyn8631lqyJYSDDFO4HGetxlFQi0fXPgVM5eoElDOmaM/4zrWOhqmBO7F43DBwCdAZrrpgW69ImsCsWwnKWWLKUJno6/GZyhid60AIfqynYEBvR++W3Vo/l7nlBp8q9A==
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: Mellanox.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 83361c77-cd82-423a-96ee-08d7c514791a
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Mar 2020 17:00:01.6568 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 0W3vFZd4ztCK6gLpTHJ42w33bp9Eyq4d6IdkMlH7qdxwir9GBbkYMXL7L15s2WzQh9nFRyg7D260cpMnJPZ/9A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR05MB5571
Subject: Re: [dpdk-dev] [RFC v6] regexdev: introduce regexdev subsystem
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://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>

SGkgUGF2YW4sDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogZGV2IDxk
ZXYtYm91bmNlc0BkcGRrLm9yZz4gT24gQmVoYWxmIE9mIFBhdmFuIE5pa2hpbGVzaCBCaGFnYXZh
dHVsYQ0KPiBTZW50OiBUdWVzZGF5LCBNYXJjaCAxMCwgMjAyMCA2OjM3IFBNDQo+IFRvOiBPcmkg
S2FtIDxvcmlrYUBtZWxsYW5veC5jb20+OyBKZXJpbiBKYWNvYiBLb2xsYW51a2thcmFuDQo+IDxq
ZXJpbmpAbWFydmVsbC5jb20+OyB4aWFuZy53LndhbmdAaW50ZWwuY29tDQo+IENjOiBkZXZAZHBk
ay5vcmc7IFNoYWhhZiBTaHVsZXIgPHNoYWhhZnNAbWVsbGFub3guY29tPjsNCj4gaGVtYW50LmFn
cmF3YWxAbnhwLmNvbTsgT3BoZXIgUmV2aXYgPG9waGVyQG1lbGxhbm94LmNvbT47IEFsZXgNCj4g
Um9zZW5iYXVtIDxhbGV4ckBtZWxsYW5veC5jb20+OyBEb3ZyYXQgWmlmcm9uaSA8ZG92cmF0QG1h
cnZlbGwuY29tPjsNCj4gUHJhc3VuIEthcG9vciA8cGthcG9vckBtYXJ2ZWxsLmNvbT47IG5pcHVu
Lmd1cHRhQG54cC5jb207DQo+IGJydWNlLnJpY2hhcmRzb25AaW50ZWwuY29tOyB5YW5nLmEuaG9u
Z0BpbnRlbC5jb207IGhhcnJ5LmNoYW5nQGludGVsLmNvbTsNCj4gZ3UuamlhbjFAenRlLmNvbS5j
bjsgc2hhbmppYW5naEBjaGluYXRlbGVjb20uY247DQo+IHpoYW5neS55dW5AY2hpbmF0ZWxlY29t
LmNuOyBsaXhpbmdmdUBodWFjaGVudGVsLmNvbTsgd3VzaHVhaUBpbnNwdXIuY29tOw0KPiB5dXlp
bmd4aWFAeXhsaW5rLmNvbTsgZmFuY2hlbmdnYW5nQHN1bnlhaW5mby5jb207DQo+IGRhdmlkZmdh
b0B0ZW5jZW50LmNvbTsgbGl1emhvbmcxQGNoaW5hdW5pY29tLmNuOw0KPiB6aGFveW9uZzExQGh1
YXdlaS5jb207IG9jQHl1bmlmeS5jb207IGppbUBuZXRnYXRlLmNvbTsNCj4gaG9uZ2p1bi5uaUBp
bnRlbC5jb207IGouYnJvbWhlYWRAdGl0YW4taWMuY29tOyBkZXJpQG50b3Aub3JnOw0KPiBmY0Bu
YXBhdGVjaC5jb207IGFydGh1ci5zdUBsaW9uaWMuY29tOyBUaG9tYXMgTW9uamFsb24NCj4gPHRo
b21hc0Btb25qYWxvbi5uZXQ+DQo+IFN1YmplY3Q6IFJlOiBbZHBkay1kZXZdIFtSRkMgdjZdIHJl
Z2V4ZGV2OiBpbnRyb2R1Y2UgcmVnZXhkZXYgc3Vic3lzdGVtDQo+IA0KPiBIaSBPcmksDQo+ID4N
Cj4gPkhpIFBhdmFuLA0KPiA+DQo+ID4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+
IEZyb206IGRldiA8ZGV2LWJvdW5jZXNAZHBkay5vcmc+IE9uIEJlaGFsZiBPZiBQYXZhbiBOaWto
aWxlc2gNCj4gPkJoYWdhdmF0dWxhDQo+ID4+IFNlbnQ6IFR1ZXNkYXksIE1hcmNoIDEwLCAyMDIw
IDM6NDIgUE0NCj4gPj4gVG86IE9yaSBLYW0gPG9yaWthQG1lbGxhbm94LmNvbT47IEplcmluIEph
Y29iIEtvbGxhbnVra2FyYW4NCj4gPj4gPGplcmluakBtYXJ2ZWxsLmNvbT47IHhpYW5nLncud2Fu
Z0BpbnRlbC5jb20NCj4gPj4gQ2M6IGRldkBkcGRrLm9yZzsgU2hhaGFmIFNodWxlciA8c2hhaGFm
c0BtZWxsYW5veC5jb20+Ow0KPiA+PiBoZW1hbnQuYWdyYXdhbEBueHAuY29tOyBPcGhlciBSZXZp
diA8b3BoZXJAbWVsbGFub3guY29tPjsNCj4gPkFsZXgNCj4gPj4gUm9zZW5iYXVtIDxhbGV4ckBt
ZWxsYW5veC5jb20+OyBEb3ZyYXQgWmlmcm9uaQ0KPiA+PGRvdnJhdEBtYXJ2ZWxsLmNvbT47DQo+
ID4+IFByYXN1biBLYXBvb3IgPHBrYXBvb3JAbWFydmVsbC5jb20+OyBuaXB1bi5ndXB0YUBueHAu
Y29tOw0KPiA+PiBicnVjZS5yaWNoYXJkc29uQGludGVsLmNvbTsgeWFuZy5hLmhvbmdAaW50ZWwu
Y29tOw0KPiA+aGFycnkuY2hhbmdAaW50ZWwuY29tOw0KPiA+PiBndS5qaWFuMUB6dGUuY29tLmNu
OyBzaGFuamlhbmdoQGNoaW5hdGVsZWNvbS5jbjsNCj4gPj4gemhhbmd5Lnl1bkBjaGluYXRlbGVj
b20uY247IGxpeGluZ2Z1QGh1YWNoZW50ZWwuY29tOw0KPiA+d3VzaHVhaUBpbnNwdXIuY29tOw0K
PiA+PiB5dXlpbmd4aWFAeXhsaW5rLmNvbTsgZmFuY2hlbmdnYW5nQHN1bnlhaW5mby5jb207DQo+
ID4+IGRhdmlkZmdhb0B0ZW5jZW50LmNvbTsgbGl1emhvbmcxQGNoaW5hdW5pY29tLmNuOw0KPiA+
PiB6aGFveW9uZzExQGh1YXdlaS5jb207IG9jQHl1bmlmeS5jb207IGppbUBuZXRnYXRlLmNvbTsN
Cj4gPj4gaG9uZ2p1bi5uaUBpbnRlbC5jb207IGouYnJvbWhlYWRAdGl0YW4taWMuY29tOyBkZXJp
QG50b3Aub3JnOw0KPiA+PiBmY0BuYXBhdGVjaC5jb207IGFydGh1ci5zdUBsaW9uaWMuY29tOyBU
aG9tYXMgTW9uamFsb24NCj4gPj4gPHRob21hc0Btb25qYWxvbi5uZXQ+DQo+ID4+IFN1YmplY3Q6
IFJlOiBbZHBkay1kZXZdIFtSRkMgdjZdIHJlZ2V4ZGV2OiBpbnRyb2R1Y2UgcmVnZXhkZXYNCj4g
PnN1YnN5c3RlbQ0KPiA+Pg0KPiA+PiBIaSBPcmksDQo+ID4+DQo+ID4+IDxzbmlwPg0KPiA+Pg0K
PiA+PiA+Kw0KPiA+PiA+Ky8qKg0KPiA+PiA+KyAqIFRoZSBnZW5lcmljICpydGVfcmVnZXhfb3Bz
KiBzdHJ1Y3R1cmUgdG8gaG9sZCB0aGUgUmVnRXgNCj4gPmF0dHJpYnV0ZXMNCj4gPj4gPisgKiBm
b3IgZW5xdWV1ZSBhbmQgZGVxdWV1ZSBvcGVyYXRpb24uDQo+ID4+ID4rICovDQo+ID4+ID4rc3Ry
dWN0IHJ0ZV9yZWdleF9vcHMgew0KPiA+PiA+KwkvKiBXMCAqLw0KPiA+PiA+Kwl1aW50MTZfdCBy
ZXFfZmxhZ3M7DQo+ID4+ID4rCS8qKjwgUmVxdWVzdCBmbGFncyBmb3IgdGhlIFJlZ0V4IG9wcy4N
Cj4gPj4gPisJICogQHNlZSBSVEVfUkVHRVhfT1BTX1JFUV8qDQo+ID4+ID4rCSAqLw0KPiA+PiA+
Kwl1aW50MTZfdCByc3BfZmxhZ3M7DQo+ID4+ID4rCS8qKjwgUmVzcG9uc2UgZmxhZ3MgZm9yIHRo
ZSBSZWdFeCBvcHMuDQo+ID4+ID4rCSAqIEBzZWUgUlRFX1JFR0VYX09QU19SU1BfKg0KPiA+PiA+
KwkgKi8NCj4gPj4gPisJdWludDE2X3QgbmJfYWN0dWFsX21hdGNoZXM7DQo+ID4+ID4rCS8qKjwg
VGhlIHRvdGFsIG51bWJlciBvZiBhY3R1YWwgbWF0Y2hlcyBkZXRlY3RlZCBieSB0aGUNCj4gPj4g
PlJlZ2V4IGRldmljZS4qLw0KPiA+PiA+Kwl1aW50MTZfdCBuYl9tYXRjaGVzOw0KPiA+PiA+Kwkv
Kio8IFRoZSB0b3RhbCBudW1iZXIgb2YgbWF0Y2hlcyByZXR1cm5lZCBieSB0aGUgUmVnRXgNCj4g
Pj4gPmRldmljZSBmb3IgdGhpcw0KPiA+PiA+KwkgKiBzY2FuLiBUaGUgc2l6ZSBvZiAqcnRlX3Jl
Z2V4X29wczo6bWF0Y2hlcyogemVybyBsZW5ndGggYXJyYXkNCj4gPj4gPndpbGwgYmUNCj4gPj4g
PisJICogdGhpcyB2YWx1ZS4NCj4gPj4gPisJICoNCj4gPj4gPisJICogQHNlZSBzdHJ1Y3QgcnRl
X3JlZ2V4X29wczo6bWF0Y2hlcywgc3RydWN0DQo+ID4+ID5ydGVfcmVnZXhfbWF0Y2gNCj4gPj4g
PisJICovDQo+ID4+ID4rDQo+ID4+ID4rCS8qIFcxICovDQo+ID4+ID4rCXN0cnVjdCBydGVfbWJ1
ZiAqbWJ1ZjsgLyoqPCBzb3VyY2UgbWJ1ZiwgdG8gc2VhcmNoIGluLiAqLw0KPiA+Pg0KPiA+PiBX
aGlsZSBpbXBsZW1lbnRpbmcgcGNyZTIgU1cgZHJpdmVyIEkgY2FtZSBhY3Jvc3MgYW4gb2RkaXR5
IHdoZXJlDQo+ID5oYXZpbmcNCj4gPj4gbWJ1ZiBhbG9uZQ0KPiA+PiB3b3VsZG7igJl0IHN1ZmZp
Y2UsIHdlIG5lZWQgdG8gaGF2ZSBzY2FuIHN0YXJ0IG9mZnNldCBhbmQgc2NhbiBsZW5ndGggYXMN
Cj4gPmdlbmVyYWxseQ0KPiA+PiB3ZSB3b3VsZCBza2lwIHRoZQ0KPiA+PiBMMi9MMyBoZWFkZXIu
DQo+ID4+DQo+ID4NCj4gPlllcyB5b3UgYXJlIGNvcnJlY3QsIGluIG1vc3QgY2FzZXMgdGhlIGFw
cGxpY2F0aW9uIHdpbGwgbmVlZA0KPiA+bm90IHRoZSBhbGwgbWJ1ZiBvciBpdCB3aWxsIGNvbm5l
Y3QgbnVtYmVyIG9mIG1idWYuDQo+ID5UaGlzIGNhbiBiZSBhY2NoaXZlZCBieSBtb2RpZnlpbmcg
dGhlIG1idWYgdG8gcG9pbnQgdG8gdGhlIGNvcnJlY3QgZGF0YQ0KPiA+c3RhcnQsIGFuZCBkZWNy
ZWFzZSB0aGUgbGVuLg0KPiANCj4gV291bGRu4oCZdCB0aGF0IGNvbXBsaWNhdGUgVHhpbmcgdGhl
IHBhY2tldCBsYXRlciBvbiBhZnRlciBkZXF1ZXVlIGZyb20gcmVnZXggaWYNCj4gdGhlIHVzZXIg
ZGVjaWRlcyB0byBkbyBzbz8uDQo+IEluc3RlYWQgd2UgY2FuIGhhdmUgdHdvIGZpZWxkcyBpbiBy
dGVfcmVnZXhfb3BzIGZvciBzdG9yaW5nIHNjYW5fc3RhcnRfb2Zmc2V0DQo+IGFuZA0KPiBzY2Fu
X3NpemUNCj4gDQpUaGUgdXNlciB3aWxsIG5lZWQgdG8gcmV0dXJuIHRoZSBwYWNrZXQgdG8gdGhl
IG9yaWdpbmFsIHN0YXRlLiAgSSBhZ3JlZSB0aGF0DQp0aGF0IGl0IGlzIGEgYml0IGhhcmRlciBm
b3IgdGhlIGFwcGxpY2F0aW9uIChidXQgbm90IGJ5IG11Y2gpLiBCdXQgaW4gYW55IGNhc2UgdGhl
IHVzZXIga25vd3MNCnRoZSBzaXplIGhlIHJlbW92ZWQgc28gd2hlbiBkb25lIGhlIGp1c3QgbmVl
ZCB0byByZXR1cm4gdG8gdGhlIG9yaWdpbmFsIHZhbHVlLg0Kb24gdGhlIG90aGVyIGVuZCBpdCBz
YXZlIHRoZSB1c2VyIHRoZSB3b3JraW5nIHdpdGggaW92IHN0cnVjdHMuDQoNClJlZ2FyZGluZyB5
b3VyIGlkZWEgYWJvdXQgc3RhcnRfb2Zmc2V0IGFuZCBzY2FuX3NpemUuIEl0IGlzIGEgbmljZSBp
ZGVhLA0KQnV0IEkgZG9uJ3QgdGhpbmsgaXQgaXMgd29ydGggaXQsIHNpbmNlIHRoZSBzdGFydF9v
ZmZzZXQgaXMganVzdCB3aGF0IHRoZSB1c2VyDQpuZWVkcyB0byBrZWVwIGluIG9yZGVyIHRvIHJl
dHVybiB0aGUgbWJ1ZiB0byBvcmlnaW5hbCBzdGF0ZS4NCkFsc28gaWYgdGhlIHVzZXIgd2FudHMg
dG8gY29tYmluZSBudW1iZXIgb2YgbWVzc2FnZXMsIGhlIGNhbid0IHVzZSB0aGlzDQphcHByb2Fj
aCAgc2luY2UgaGUgd2lsbCBuZWVkIHRvIHJlbW92ZSB0aGUgaGVhZGVyIGFsc28gZnJvbSB0aGUg
c2Vjb25kDQptZXNzYWdlIGFuZCBiaW5kIHRoZSB0d28gbWVzc2FnZXMuIFNvIGluIGFueSBjYXNl
IHRoZSB1c2VyIG11c3QgaGF2ZSBzb21lDQpsb2dpYy4NCg0KPiA+SW4gb25lIG9mIHRoZSBwcmV2
aW91cyB2ZXJzaW9uIHdlIHVzZWQgYnVmZmVyIGFkZHJlc3MgYW5kIGlvdiB0byBzb2x2ZQ0KPiA+
dGhpcyBpc3N1ZS4gQnV0IGluIG9yZGVyIHRvIGtlZXAgdGhlIEFQSSB0aGUgc2FtZSBhcyBjcnlw
dG8gd2UgZGVjaWRlZA0KPiA+dG8gZ28NCj4gPndpdGggbWJ1Zi4NCj4gDQo+IFRoZSBnZW5lcmFs
IGlkZWEgd2FzIHRvIHNhdmUgY3ljbGVzIGNvbnZlcnRpbmcgbWJ1ZiBhbmQgY2hhaW4gb2YgbWJ1
ZiB0byBpb3YNCj4gYW5kIGJhY2sgbm90DQo+IGp1c3QgdG8gc3RheSBpbiBsaW5lIHdpdGggY3J5
cHRvLg0KPiANCg0KSSBhZ3JlZSBhbmQgdGhpcyB3YXMgYWxzbyBteSBtYWluIHRoaW5raW5nIGJ1
dCBKZXJpbiBhbmQgb3RoZXIgY29tbXVuaXR5IG1lbWJlcnMgcmFpc2VkIA0KdGhpcyBhcHByb2Fj
aC4NCkVhY2ggYXBwcm9hY2ggaGFzIGFkdmFudGFnZXMgYW5kIGRpc2FkdmFudGFnZXMuDQpJZiB0
aGUgdXNlciB3YW50cyBoZSBjYW4ganVzdCBnaXZlIHRoZSBhbGwgbWJ1Zi4gQWxzbyBzaW5jZSBh
dCBsZWFzdCBpbiBzb21lDQpjYXNlcyB0aGUgcmVnZXggd2lsbCBiZSBkb25lIGFmdGVyIGNyeXB0
byBpdCBtYWtlIHNlbnNlIHRvIHVzZSB0aGUgc2FtZSBzdHJ1Y3RzLg0KVGhlcmUgaXMgYWxzbyB0
aGUgYWR2YW50YWdlIG9mIHNoYXJpbmcgY29kZSBiZXR3ZWVuIGFsbCB0aGUgZHJpdmVycy4gKG5l
dC9jcnlwdG8vcmVnZXgpDQp3aGljaCBjYW4gYmUgZG9uZSB3aGVuIHVzaW5nIG1idWYuIChmb3Ig
ZXhhbXBsZSBtZW1vcnkgcmVnaXN0cmF0aW9uKQ0KDQo+ID5UaGlzIEFQSSBpcyBleHBlcmltZW50
YWwgYW5kIGJhc2VkIG9uIHRoZSB1c2FnZSB3ZSBtaWdodCBjaGFuZ2UgaXQgdG8NCj4gPmlvdi4N
Cj4gPg0KPiA+PiA+Kw0KPiA+PiA+KwkvKiBXMiAqLw0KPiA+PiA+Kwl1aW50MTZfdCBncm91cF9p
ZDA7DQo+ID4+ID4rCS8qKjwgRmlyc3QgZ3JvdXBfaWQgdG8gbWF0Y2ggdGhlIHJ1bGUgYWdhaW5z
dC4gQXQgbWluaW11bSBvbmUNCj4gPj4gPmdyb3VwDQo+ID4+ID4rCSAqIHNob3VsZCBiZSB2YWxp
ZC4gQmVoYXZpb3VyIGlzIHVuZGVmaW5lZCBub24gb2YgdGhlIGdyb3VwcyBhcmUNCj4gPj4gPnZh
bGlkLg0KPiA+PiA+KwkgKg0KPiA+PiA+KwkgKiBAc2VlIFJURV9SRUdFWF9PUFNfUkVRX0dST1VQ
X0lEMF9WQUxJRF9GDQo+ID4+ID4rCSAqLw0KPiA+PiA+Kwl1aW50MTZfdCBncm91cF9pZDE7DQo+
ID4+ID4rCS8qKjwgU2Vjb25kIGdyb3VwX2lkIHRvIG1hdGNoIHRoZSBydWxlIGFnYWluc3QuDQo+
ID4+ID4rCSAqDQo+ID4+ID4rCSAqIEBzZWUgUlRFX1JFR0VYX09QU19SRVFfR1JPVVBfSUQxX1ZB
TElEX0YNCj4gPj4gPisJICovDQo+ID4+ID4rCXVpbnQxNl90IGdyb3VwX2lkMjsNCj4gPj4gPisJ
LyoqPCBUaGlyZCBncm91cF9pZCB0byBtYXRjaCB0aGUgcnVsZSBhZ2FpbnN0Lg0KPiA+PiA+Kwkg
Kg0KPiA+PiA+KwkgKiBAc2VlIFJURV9SRUdFWF9PUFNfUkVRX0dST1VQX0lEMl9WQUxJRF9GDQo+
ID4+ID4rCSAqLw0KPiA+PiA+Kwl1aW50MTZfdCBncm91cF9pZDM7DQo+ID4+ID4rCS8qKjwgRm9y
dGggZ3JvdXBfaWQgdG8gbWF0Y2ggdGhlIHJ1bGUgYWdhaW5zdC4NCj4gPj4gPisJICoNCj4gPj4g
PisJICogQHNlZSBSVEVfUkVHRVhfT1BTX1JFUV9HUk9VUF9JRDNfVkFMSURfRg0KPiA+PiA+Kwkg
Ki8NCj4gPj4gPisNCj4gPj4gPisJLyogVzMgKi8NCj4gPj4gPisJUlRFX1NURF9DMTENCj4gPj4g
PisJdW5pb24gew0KPiA+PiA+KwkJdWludDY0X3QgdXNlcl9pZDsNCj4gPj4gPisJCS8qKjwgQXBw
bGljYXRpb24gc3BlY2lmaWMgb3BhcXVlIHZhbHVlLiBBbiBhcHBsaWNhdGlvbg0KPiA+PiA+bWF5
IHVzZQ0KPiA+PiA+KwkJICogdGhpcyBmaWVsZCB0byBob2xkIGFwcGxpY2F0aW9uIHNwZWNpZmlj
IHZhbHVlIHRvIHNoYXJlDQo+ID4+ID4rCQkgKiBiZXR3ZWVuIGRlcXVldWUgYW5kIGVucXVldWUg
b3BlcmF0aW9uLg0KPiA+PiA+KwkJICogSW1wbGVtZW50YXRpb24gc2hvdWxkIG5vdCBtb2RpZnkg
dGhpcyBmaWVsZC4NCj4gPj4gPisJCSAqLw0KPiA+PiA+KwkJdm9pZCAqdXNlcl9wdHI7DQo+ID4+
ID4rCQkvKio8IFBvaW50ZXIgcmVwcmVzZW50YXRpb24gb2YgKnVzZXJfaWQqICovDQo+ID4+ID4r
CX07DQo+ID4+ID4rDQo+ID4+ID4rCS8qIFc0ICovDQo+ID4+ID4rCXN0cnVjdCBydGVfcmVnZXhf
bWF0Y2ggbWF0Y2hlc1tdOw0KPiA+PiA+KwkvKio8IFplcm8gbGVuZ3RoIGFycmF5IHRvIGhvbGQg
dGhlIG1hdGNoIHR1cGxlcy4NCj4gPj4gPisJICogVGhlIHN0cnVjdCBydGVfcmVnZXhfb3BzOjpu
Yl9tYXRjaGVzIHZhbHVlIGhvbGRzIHRoZQ0KPiA+PiA+bnVtYmVyIG9mDQo+ID4+ID4rCSAqIGVs
ZW1lbnRzIGluIHRoaXMgYXJyYXkuDQo+ID4+ID4rCSAqDQo+ID4+ID4rCSAqIEBzZWUgc3RydWN0
IHJ0ZV9yZWdleF9vcHM6Om5iX21hdGNoZXMNCj4gPj4gPisJICovDQo+ID4+ID4rfTsNCj4gPj4g
PisNCj4gPj4NCj4gPj4gVGhhbmtzLA0KPiA+PiBQYXZhbi4NCj4gPg0KPiA+VGhhbmtzLA0KPiA+
T3JpDQo=