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 CE918A2EDB for ; Wed, 2 Oct 2019 10:32:12 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id F11231BDFD; Wed, 2 Oct 2019 10:32:11 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by dpdk.org (Postfix) with ESMTP id 03A2F1B952 for ; Wed, 2 Oct 2019 10:32:09 +0200 (CEST) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id x928UWqo011805; Wed, 2 Oct 2019 01:31:59 -0700 Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-0016f401.pphosted.com with ESMTP id 2vcjbn1449-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 02 Oct 2019 01:31:59 -0700 Received: from m0045849.ppops.net (m0045849.ppops.net [127.0.0.1]) by pps.reinject (8.16.0.36/8.16.0.36) with SMTP id x928VxPT021081; Wed, 2 Oct 2019 01:31:59 -0700 Received: from sc-exch01.marvell.com ([199.233.58.181]) by mx0a-0016f401.pphosted.com with ESMTP id 2vcjbn1447-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Wed, 02 Oct 2019 01:31:59 -0700 Received: from SC-EXCH04.marvell.com (10.93.176.84) by SC-EXCH01.marvell.com (10.93.176.81) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Wed, 2 Oct 2019 01:31:58 -0700 Received: from NAM03-CO1-obe.outbound.protection.outlook.com (104.47.40.51) by SC-EXCH04.marvell.com (10.93.176.84) with Microsoft SMTP Server (TLS) id 15.0.1367.3 via Frontend Transport; Wed, 2 Oct 2019 01:31:58 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UH5+Y9hChZnJE8X6htCuiBLapqwlTbaeFtzEK2b3iSXdcSVyDspOWaHqDZ9J5noiYpgEn1jAhGkWE4lPII06v9WSOMMkMsBApP1+pC+VSgZyuxq9ouSk/X/PmuD2IL+R2ckqAj9ncQuk3GVKiAsGHJUdZL96ach94cC4akOLHVSW8tKKlRc+GmI+k1+5DKF1viZGfhfl6YlrulFlIHUgaANgXU4THE9zhvAqEkPZJPOv5ZNI61meqj8C4Y0jVxVEUMehZRNhiGXl0Cf/uq1pMmqE8zXHK1ZZMdrIikgSvshXIayZVVQu3Tkqs/9+PQYUtDuoqgWDTWEoMkcpzyxD7w== 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=VLy8D6Jd6FBFOXJVbaJDPpzLB0XIgd0A8izu4fnpuc0=; b=PfzZlAJ58BqYh8qpSHlS3AuAdWOEHsuicMl1iOR1Ap7zDapSFLxKYhIfoNtxVecA0iE3aP2ykOsA3EnUFVLkoAsehR640wsN0fOXfsfO+BT9rZzQU/Asbe3K06JJsK6BrTIxLtgM1qyWeuqqxQVcIiYHZTbH5F2ZLxdZheK53L/VNKRgI3Ub8OJbtHXDAjMesVueEx9z9lTf7T/Nvd+OUPqctnT6vvNwaNuFBj5F5yacEyUxnyl8NoMoLLVlwGKN7YWibtsWLj3gWD92jbH6dShczb2q4HQZ6Y4iVCuHZkcb2/PLmf1VCxBC2f132JO5sz9cdAWtJyd11YwGbEyr6Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com; dkim=pass header.d=marvell.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector2-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=VLy8D6Jd6FBFOXJVbaJDPpzLB0XIgd0A8izu4fnpuc0=; b=PhfH498hrqiQxfR1CuBaFQ56kvugB9gsrVtB5o5bSfmxFOa9Sx+MSnoxMuHFT2VZKkw6dEa2jQekMqlXtAX3EuxV2upLkIG5dMSK8p7FN/MQ7CMQjQBl5VRJLw9irDNr2t8dDltAEpKqMZUzAl6A8RI8XVQa5iGYIOrw4TK2T3U= Received: from BYAPR18MB2424.namprd18.prod.outlook.com (20.179.91.149) by BYAPR18MB3045.namprd18.prod.outlook.com (20.179.60.29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2305.20; Wed, 2 Oct 2019 08:31:56 +0000 Received: from BYAPR18MB2424.namprd18.prod.outlook.com ([fe80::c9e7:5cd0:547a:6de2]) by BYAPR18MB2424.namprd18.prod.outlook.com ([fe80::c9e7:5cd0:547a:6de2%3]) with mapi id 15.20.2305.023; Wed, 2 Oct 2019 08:31:55 +0000 From: Jerin Jacob Kollanukkaran To: Shahaf Shuler , Thomas Monjalon , "'dev@dpdk.org'" CC: Pavan Nikhilesh Bhagavatula , 'Hemant Agrawal' , Opher Reviv , Alex Rosenbaum , Dovrat Zifroni , Prasun Kapoor , 'Nipun Gupta' , "'Wang, Xiang W'" , "'Richardson, Bruce'" , "'yang.a.hong@intel.com'" , "'harry.chang@intel.com'" , "'gu.jian1@zte.com.cn'" , "'shanjiangh@chinatelecom.cn'" , "'zhangy.yun@chinatelecom.cn'" , "'lixingfu@huachentel.com'" , "'wushuai@inspur.com'" , "'yuyingxia@yxlink.com'" , "'fanchenggang@sunyainfo.com'" , "'davidfgao@tencent.com'" , "'liuzhong1@chinaunicom.cn'" , "'zhaoyong11@huawei.com'" , "'oc@yunify.com'" , "'jim@netgate.com'" , "'hongjun.ni@intel.com'" , "'j.bromhead@titan-ic.com'" , "'deri@ntop.org'" , "'fc@napatech.com'" , "'arthur.su@lionic.com'" Thread-Topic: [dpdk-dev] [RFC PATCH v1] regexdev: introduce regexdev subsystem Thread-Index: AQHVU11rzFGXGDb9TEWOWcBbu1ajBKcFHPIAgB/DLLCAGv0/kIAHRz0AgAAq/cA= Date: Wed, 2 Oct 2019 08:31:55 +0000 Message-ID: References: <20190627155036.56940-1-jerinj@marvell.com> <8285913.8xKIzI91KM@xps> <1922242.dABWq9CbNQ@xps> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [223.226.98.10] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: c58bf8cb-a846-467b-0557-08d74712fc05 x-ms-traffictypediagnostic: BYAPR18MB3045: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-forefront-prvs: 0178184651 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(39860400002)(376002)(136003)(396003)(366004)(346002)(199004)(189003)(13464003)(486006)(11346002)(6506007)(66066001)(55016002)(52536014)(5660300002)(2906002)(86362001)(9686003)(3846002)(6116002)(229853002)(6436002)(446003)(4326008)(14454004)(8936002)(316002)(6246003)(81166006)(81156014)(8676002)(33656002)(76116006)(54906003)(305945005)(7416002)(14444005)(256004)(476003)(7736002)(74316002)(66446008)(64756008)(66556008)(66476007)(66946007)(110136005)(7696005)(478600001)(53546011)(102836004)(76176011)(25786009)(55236004)(186003)(71190400001)(71200400001)(99286004)(26005)(491001); DIR:OUT; SFP:1101; SCL:1; SRVR:BYAPR18MB3045; H:BYAPR18MB2424.namprd18.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: marvell.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 2Lh4GOET/OkwveQf3whfq8z1y5hjchYc0/exW1TxSwevoEL+C7h0YuR5lkoWs9VMKSTiVxUa/1lcIWfDJ0P78tRhgLpcyfLUKxkQD658sscDSAXcGhEwzKPK7jZ9K/fEscKSCie94wTOOFtNfxDEvrGfezEzCpD0WbjvF2/hyHmr+TqHfEXYExymSubBhtFMlRALnGC9V05ouzo8eHALzRKtnjO+sLrXfi2CA93PJtgkaT6KVKPLP4sQa8pacgzsAuvk8ZnEMoxH8JzIuxY+BeQs+3Xa7RaZuJy3A92r2QrO2reLqJikNCrmeoh9B7BMkd0o7SZml8zf0iiKMQ9qkdEQYvQC4kx/9SHWF14xmzhEIACt8nPtPO5AUQbl4EgVoaAX75OXCJR+de17mwOOO9kjO2mz3rUiMmhqJdSnpYY= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: c58bf8cb-a846-467b-0557-08d74712fc05 X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Oct 2019 08:31:55.5967 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: LDVbKRoyP37BZZtGOGrvvRqqAoh0nntuNCKflAlzqpoKniX06dFTqP7lNVk1/aSukGp8hpw4uvgL0dQb1jWgWQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR18MB3045 X-OriginatorOrg: marvell.com X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.95,1.0.8 definitions=2019-10-02_04:2019-10-01,2019-10-02 signatures=0 Subject: Re: [dpdk-dev] [RFC PATCH v1] regexdev: introduce regexdev subsystem 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" PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBTaGFoYWYgU2h1bGVyIDxzaGFo YWZzQG1lbGxhbm94LmNvbT4NCj4gU2VudDogV2VkbmVzZGF5LCBPY3RvYmVyIDIsIDIwMTkgMTE6 MjMgQU0NCj4gVG86IEplcmluIEphY29iIEtvbGxhbnVra2FyYW4gPGplcmluakBtYXJ2ZWxsLmNv bT47IFRob21hcyBNb25qYWxvbg0KPiA8dGhvbWFzQG1vbmphbG9uLm5ldD47ICdkZXZAZHBkay5v cmcnIDxkZXZAZHBkay5vcmc+DQo+IENjOiBQYXZhbiBOaWtoaWxlc2ggQmhhZ2F2YXR1bGEgPHBi aGFnYXZhdHVsYUBtYXJ2ZWxsLmNvbT47ICdIZW1hbnQNCj4gQWdyYXdhbCcgPGhlbWFudC5hZ3Jh d2FsQG54cC5jb20+OyBPcGhlciBSZXZpdiA8b3BoZXJAbWVsbGFub3guY29tPjsNCj4gQWxleCBS b3NlbmJhdW0gPGFsZXhyQG1lbGxhbm94LmNvbT47IERvdnJhdCBaaWZyb25pDQo+IDxkb3ZyYXRA bWFydmVsbC5jb20+OyBQcmFzdW4gS2Fwb29yIDxwa2Fwb29yQG1hcnZlbGwuY29tPjsgJ05pcHVu DQo+IEd1cHRhJyA8bmlwdW4uZ3VwdGFAbnhwLmNvbT47ICdXYW5nLCBYaWFuZyBXJyA8eGlhbmcu dy53YW5nQGludGVsLmNvbT47DQo+ICdSaWNoYXJkc29uLCBCcnVjZScgPGJydWNlLnJpY2hhcmRz b25AaW50ZWwuY29tPjsgJ3lhbmcuYS5ob25nQGludGVsLmNvbScNCj4gPHlhbmcuYS5ob25nQGlu dGVsLmNvbT47ICdoYXJyeS5jaGFuZ0BpbnRlbC5jb20nIDxoYXJyeS5jaGFuZ0BpbnRlbC5jb20+ Ow0KPiAnZ3UuamlhbjFAenRlLmNvbS5jbicgPGd1LmppYW4xQHp0ZS5jb20uY24+OyAnc2hhbmpp YW5naEBjaGluYXRlbGVjb20uY24nDQo+IDxzaGFuamlhbmdoQGNoaW5hdGVsZWNvbS5jbj47ICd6 aGFuZ3kueXVuQGNoaW5hdGVsZWNvbS5jbicNCj4gPHpoYW5neS55dW5AY2hpbmF0ZWxlY29tLmNu PjsgJ2xpeGluZ2Z1QGh1YWNoZW50ZWwuY29tJw0KPiA8bGl4aW5nZnVAaHVhY2hlbnRlbC5jb20+ OyAnd3VzaHVhaUBpbnNwdXIuY29tJyA8d3VzaHVhaUBpbnNwdXIuY29tPjsNCj4gJ3l1eWluZ3hp YUB5eGxpbmsuY29tJyA8eXV5aW5neGlhQHl4bGluay5jb20+Ow0KPiAnZmFuY2hlbmdnYW5nQHN1 bnlhaW5mby5jb20nIDxmYW5jaGVuZ2dhbmdAc3VueWFpbmZvLmNvbT47DQo+ICdkYXZpZGZnYW9A dGVuY2VudC5jb20nIDxkYXZpZGZnYW9AdGVuY2VudC5jb20+Ow0KPiAnbGl1emhvbmcxQGNoaW5h dW5pY29tLmNuJyA8bGl1emhvbmcxQGNoaW5hdW5pY29tLmNuPjsNCj4gJ3poYW95b25nMTFAaHVh d2VpLmNvbScgPHpoYW95b25nMTFAaHVhd2VpLmNvbT47ICdvY0B5dW5pZnkuY29tJw0KPiA8b2NA eXVuaWZ5LmNvbT47ICdqaW1AbmV0Z2F0ZS5jb20nIDxqaW1AbmV0Z2F0ZS5jb20+Ow0KPiAnaG9u Z2p1bi5uaUBpbnRlbC5jb20nIDxob25nanVuLm5pQGludGVsLmNvbT47ICdqLmJyb21oZWFkQHRp dGFuLWljLmNvbScNCj4gPGouYnJvbWhlYWRAdGl0YW4taWMuY29tPjsgJ2RlcmlAbnRvcC5vcmcn IDxkZXJpQG50b3Aub3JnPjsNCj4gJ2ZjQG5hcGF0ZWNoLmNvbScgPGZjQG5hcGF0ZWNoLmNvbT47 ICdhcnRodXIuc3VAbGlvbmljLmNvbScNCj4gPGFydGh1ci5zdUBsaW9uaWMuY29tPg0KPiBTdWJq ZWN0OiBSRTogW2RwZGstZGV2XSBbUkZDIFBBVENIIHYxXSByZWdleGRldjogaW50cm9kdWNlIHJl Z2V4ZGV2DQo+IHN1YnN5c3RlbQ0KPiANCj4gPiA+ID4gSSB0aGluayB0aGUgZnVuY3Rpb24gbmFt ZSBpcyBub3QgdG9vIGluZm9ybWF0aXZlLiBJZiB0aGlzIGZ1bmN0aW9uDQo+ID4gPiA+IG1lYW50 IHRvIGNvbXBpbGUgdGhlIHJ1bGUgdGhlbiBpdCBzaG91bGQgYmUgZXhwbGljaXQgb24gdGhlDQo+ ID4gPiA+IGZ1bmN0aW9uDQo+ID4gbmFtZS4NCj4gPiA+DQo+ID4gPiBJdCBpcyBtZWFudCB0byBi ZSBjb21waWxlIHRoZSBydWxlcyBhbmQgdGhlbiAgdXBkYXRlIHRoZSBydWxlIGRhdGFiYXNlLg0K PiA+ID4NCj4gPiA+IEkgdGhpbmssIHdlIGNhbiBoYXZlIGVpdGhlciAxIG9yIDIuIExldCBtZSBr bm93IHlvdXIgcHJlZmVyZW5jZSBvcg0KPiA+ID4gSWYgeW91IGhhdmUgYW55IG5hbWUgc3VnZ2Vz dGlvbi4gSSB3aWxsIGNoYW5nZSBpdCBhY2NvcmRpbmdseS4NCj4gPiA+DQo+ID4gPiAxLiBydGVf cmVnZXhfcnVsZV9kYl9jb21waWxlKCkNCj4gPiA+IDIuIHJ0ZV9yZWdleF9ydWxlX2RiX2NvbXBp bGVfdXBkYXRlKCkNCj4gPg0KPiA+DQo+ID4gQFNoYWhhZiBTaHVsZXIsIFRob3VnaHRzPw0KPiAN Cj4gSU1PIHdlIHNob3VsZCBoYXZlIHR3byBzZXBhcmF0ZSBmdW5jdGlvbnMgLSBvbmUgdG8gb25s eSBjb21waWxlLiBPbmUgdG8gb25seQ0KPiB1cGRhdGUuDQo+IA0KPiBTbyBJIHdvdWxkIHByZWZl ciAjMSwgd2l0aCBhZGRpdGlvbiAoaWYgbm90IGFscmVhZHkgcHJlc2VudCkgb2YgQVBJIHRvIHVw ZGF0ZQ0KPiBydWxlcy4NCg0KDQpPSy4gV2lsbCBjaGFuZ2UgaXQgaW4gbmV4dCB2ZXJzaW9uLg0K DQoNCj4gDQo+ID4NCj4gPg0KPiA+ID4NCj4gPiA+DQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICsg Ki8NCj4gPiA+ID4gPiArc3RydWN0IHJ0ZV9yZWdleF9vcHMgew0KPiA+ID4gPiA+ICsNCj4gPiA+ ID4gPiArCS8qIFc0ICovDQo+ID4gPiA+ID4gKwlSVEVfU1REX0MxMQ0KPiA+ID4gPiA+ICsJdW5p b24gew0KPiA+ID4gPiA+ICsJCXVpbnQ2NF90IHVzZXJfaWQ7DQo+ID4gPiA+ID4gKwkJLyoqPCBB cHBsaWNhdGlvbiBzcGVjaWZpYyBvcGFxdWUgdmFsdWUuIEFuIGFwcGxpY2F0aW9uDQo+IG1heQ0K PiA+ID4gPiA+IHVzZQ0KPiA+ID4gPiA+ICsJCSAqIHRoaXMgZmllbGQgdG8gaG9sZCBhcHBsaWNh dGlvbiBzcGVjaWZpYyB2YWx1ZSB0byBzaGFyZQ0KPiA+ID4gPiA+ICsJCSAqIGJldHdlZW4gZGVx dWV1ZSBhbmQgZW5xdWV1ZSBvcGVyYXRpb24uDQo+ID4gPiA+ID4gKwkJICogSW1wbGVtZW50YXRp b24gc2hvdWxkIG5vdCBtb2RpZnkgdGhpcyBmaWVsZC4NCj4gPiA+ID4gPiArCQkgKi8NCj4gPiA+ ID4gPiArCQl2b2lkICp1c2VyX3B0cjsNCj4gPiA+ID4gPiArCQkvKio8IFBvaW50ZXIgcmVwcmVz ZW50YXRpb24gb2YgKnVzZXJfaWQqICovDQo+ID4gPiA+ID4gKwl9Ow0KPiA+ID4gPg0KPiA+ID4g PiBTaW5jZSB3ZSB0YXJnZXQgdGhlIHJlZ2V4IHN1YnN5c3RlbSBmb3IgYm90aCByZWdleCBhbmQg RFBJIEkgdGhpbmsNCj4gPiA+ID4gaXQgd2lsbCBiZSBnb29kIHRvIGFkZCBhbm90aGVyIHVpbnQ2 NF90IGZpZWxkIGNhbGxlZCBjb25uZWN0aW9uX2lkLg0KPiA+ID4gPiBEZXZpY2UgdGhhdCBzdXBw b3J0IERQSSBjYW4gcmVmZXIgdG8gaXQgYXMgYW5vdGhlciBtYXRjaCBhYmxlDQo+ID4gPiA+IGZp ZWxkIHdoZW4gbG9va2luZyB1cCBmb3IgbWF0Y2hlcyBvbiB0aGUgZ2l2ZW4gYnVmZmVyLg0KPiA+ ID4gPg0KPiA+ID4gPiBUaGlzIGZpZWxkIGlzIGRpZmZlcmVudCBmcm9tIHRoZSB1c2VyX2lkLCBh cyBpdCBpcyBub3Qgb3BhcXVlIGZvciB0aGUgZGV2aWNlLg0KPiA+ID4NCj4gPiA+IElzIHRoaXMg ZHJpdmVyIHNwZWNpZmljIHN0b3JhZ2UgcGxhY2Ugd2hlcmUgYXBwbGljYXRpb24gc2hvdWxkIG5v dCB0b3VjaCBpdD8NCj4gPiA+DQo+ID4gPiBJZiBub3QsIENvdWxkIHlvdSBzaGFyZSB0aGUgZGF0 YSBmbG93IG9mIHRoaXMgZmllbGQ/IEllLiBXaG8gIndyaXRlIg0KPiA+ID4gdGhpcyBGaWVsZCBh bmQgd2hvICJyZWFkIiB0aGlzIGZpZWxkLg0KPiANCj4gQXBwbGljYXRpb24gd3JpdGVzIHRvIHRo ZSBmaWVsZC4gRGV2aWNlIHJlYWRzIGZyb20gdGhpcyBmaWVsZHMuDQo+IFVubGlrZSB0aGUgdXNl cl9wdHIgd2hpY2ggaXMgY29tcGxldGUgb3BhcXVlIHRvIHRoZSBkZXZpY2UsIGNvbm5lY3Rpb25f aWQgZmllbGQNCj4gd2lsbCBoYXZlIHNvbWUgbWVhbmluZyAoZS5nLiBEUEkgcnVsZXMgY2FuIGFw cGx5IG9uIGl0KS4NCg0KV2lsbCB5b3UgYmUgY29ubmVjdGluZyB0aGUgdmFsdWUgdG8gcnRlX2Zs b3cgZXRjIHRvIGdldCB0aGUgY29tcGxldGUgZGF0YSBmbG93Lg0KSSB1bmRlcnN0YW5kIGFwcGxp Y2F0aW9ucyB3cml0ZXMgdG8gdGhpcyBmaWVsZCwgQnV0IEkgYW0gbm90IHN1cmUgd2hhdCB2YWx1 ZXMgDQpOZWVkcyB0byBiZSB3cml0dGVuIGFuZCBob3cgaXQgd2lsbCBiZSBjb25uZWN0ZWQgaW4g b3ZlcmFsbCBzY2hlbWUgb2YgdGhpbmdzLg0KSSBhbSBub3Qgc3VyZSBldmVuIHdoYXQgdG8gd3Jp dGUgZG94Z3lnZW4gY29tbWVudCBmb3IgdGhpcyBmaWVsZC4NCg0KQ2FuIHdlIGFkZCB0aGlzIGZp ZWxkIG9uY2Ugd2UgaGF2ZSB0aGUgY29tcGxldGUgZGF0YSBmbG93Py4gU2luY2UgaXQgaXMNCkV4 cGVyaW1lbnRhbCB3ZSBjYW4gYWx3YXlzIGFkZCBuZXcgZmllbGQuDQoNCg0K