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 A88A0A052E; Sun, 1 Mar 2020 15:10:17 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id AF4DB1C045; Sun, 1 Mar 2020 15:10:16 +0100 (CET) Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2063.outbound.protection.outlook.com [40.107.21.63]) by dpdk.org (Postfix) with ESMTP id 9DD2E1BF76 for ; Sun, 1 Mar 2020 15:10:15 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TaF9BzBSYiCxNgt/vg2/NVWddXIT2MPygmtuTH+5E0dASk1ciW6V1P4fcBF+whRfTt1/laYvV+gUnfMKyVyG+MsDrJqYQTbKW59KhK9j1BTGypAOhZZRURNS4oVvshZJpWOMAXAM//kzOcdO2ancyRWM2YTfToNgsyMQ0mbeIwIvNwxl0uODBoV+P0D7QQyGvdyZPM3u64tYUaOUJd0miKROmnWS977bypLkcm9HdXHfXO67IyKlH/iYFnCausdQn1i0P9rxfnDPwn2SASxgbgBsD/um3oeBlRQuHbwiAsoN9JN3qCFcwmcq1O4TJp+cdLV91HmcAgnmaOx5xNZIJg== 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=ahC0A/5hEHB2nCvSz76lz4IwpUk6o26JGqI/qZtka7g=; b=n4PVTnYPZ/KtDNhIgLKFd9liV31s6L4zHppYeefVqUqtNh73CQDiep0S3K+xQoIrroKR5hQbqnkpEoqcf2b7af0G8o/8CnFLHi8xNU9+Wd3eGPiQobPYY25aKnkfo6JIziy1G64hh7wtYDy8HSA+AHCnMdCXP1wh5vcTuqGeGDh/pe7JslaLnRrEE+SFj7UaFuH+Da3dAG2UwTvD0g7PVkP8zSyCpBfuExPuc3+JQVAzxZKjRrAJ8Sh/ADquyl3vOMC1Vvot9gAFJfGYbFJL1OstGpLWyePc8+wJ3N9xFgEbhXv4jchyCWKuUJIjNh1cBJpQ4TbEnczc+014mKXYiQ== 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=ahC0A/5hEHB2nCvSz76lz4IwpUk6o26JGqI/qZtka7g=; b=DkXOw6jkaypkZMQNL8J4jcHxU0I8m/oH6j34mrOSDXxF0B7RO03tvFg26b835tv8LgRgNnJrgiWGHAhBPR4LLtEJ1wIefADqEu7psdNLxu0se9G5nNlMQZQwiYaEl86HPztBIXCi1XMC9j1VgYLGhaBUe6BLDOyGX++o4WZT6OI= Received: from AM6PR05MB5176.eurprd05.prod.outlook.com (20.177.196.158) by AM6PR05MB5320.eurprd05.prod.outlook.com (20.177.191.147) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2772.19; Sun, 1 Mar 2020 14:10:14 +0000 Received: from AM6PR05MB5176.eurprd05.prod.outlook.com ([fe80::1888:dbf5:a84e:c53b]) by AM6PR05MB5176.eurprd05.prod.outlook.com ([fe80::1888:dbf5:a84e:c53b%6]) with mapi id 15.20.2772.019; Sun, 1 Mar 2020 14:10:14 +0000 From: Ori Kam To: Pavan Nikhilesh Bhagavatula , Jerin Jacob Kollanukkaran , "xiang.w.wang@intel.com" CC: "dev@dpdk.org" , Shahaf Shuler , "hemant.agrawal@nxp.com" , Opher Reviv , Alex Rosenbaum , Dovrat Zifroni , Prasun Kapoor , "nipun.gupta@nxp.com" , "bruce.richardson@intel.com" , "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" , Thomas Monjalon Thread-Topic: [EXT] [RFC v5] regexdev: introduce regexdev subsystem Thread-Index: AQHV7X/S8OFPtiIdU0S3b2gAwOWtcagzRfYAgAASjvCAAGWiAIAADOFQ Date: Sun, 1 Mar 2020 14:10:14 +0000 Message-ID: References: <20190627155036.56940-1-jerinj@marvell.com> <1582816115-95871-1-git-send-email-orika@mellanox.com> In-Reply-To: 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: [193.47.165.251] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 13f8c2f8-72ff-4903-5393-08d7bdea435a x-ms-traffictypediagnostic: AM6PR05MB5320:|AM6PR05MB5320: x-ld-processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-forefront-prvs: 0329B15C8A x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(396003)(346002)(136003)(376002)(366004)(39860400002)(199004)(189003)(66946007)(7416002)(76116006)(110136005)(54906003)(316002)(55016002)(8676002)(4326008)(66446008)(66556008)(33656002)(478600001)(66476007)(64756008)(71200400001)(8936002)(9686003)(186003)(81166006)(81156014)(86362001)(7696005)(26005)(2906002)(52536014)(6506007)(53546011)(5660300002); DIR:OUT; SFP:1101; SCL:1; SRVR:AM6PR05MB5320; H:AM6PR05MB5176.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX: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: z9W33om5tjvQJqYmv4doF/U3ukKK2gsYtZzPzlGiwwmrZxVdzn2bhoXsdKb3PLCifCodAlnFxYPrYoU8sdeZwUtq9CJYEuCfOI08wwov21tXhpK6R1ePTpz3eZdDN/Yzv9xSh3EP8SyKnqs9xzLB3QP2lUGLnH03t2GKrajJP75paocM003mSn3cWJ1LnkwL7Ml+7NqXqbWFyEIrZjLqcnn/i1G7sfuwjkjn9Xoz7SR4rW5nzI6KTEinCwCuqBHvgbAoHHb/Dvz80U3vLxyV8IpRzuextA+E8SbOiwwXAnH6K7NlvK0S6KMbTfEu1d5YUdwdfB3aaKMARut8ZiPRTDCIIWJOCZzSm9dCY2GkNSp8muoqLtjzQOz6Mvfxk/H9I546z/KCfA1/OylrMl6vMv4iOCOS1x/VEeWk9xx2sNHUPLidjPT/pXO8zjrafddY x-ms-exchange-antispam-messagedata: xwWcimLZwsK75lvLBOV3O+MqSJhhXWUKSr2xSaMxKxpda3KnKqEcVyOiCxYGZ92FXWRGSCkegXEIa5szkSPrsFoBdgBvgB0m5tiM918GnDjFIMSo/v1XmQQQcOchis1HET2N0EEQRYqSpulZ+kDChw== 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: 13f8c2f8-72ff-4903-5393-08d7bdea435a X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Mar 2020 14:10:14.4745 (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: g50gLLj5VJD2APo0to+6HPGO2HSLlceVGospplAEeBYrOYDJ46odoj4/oGUUORPjeujxFQhIksblMEgbvmVgkQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR05MB5320 Subject: Re: [dpdk-dev] [EXT] [RFC v5] 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" SGkgUGF2YW4sDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogZGV2IDxk ZXYtYm91bmNlc0BkcGRrLm9yZz4gT24gQmVoYWxmIE9mIFBhdmFuIE5pa2hpbGVzaCBCaGFnYXZh dHVsYQ0KPiBTZW50OiBTdW5kYXksIE1hcmNoIDEsIDIwMjAgMzoyMyBQTQ0KPiBUbzogT3JpIEth bSA8b3Jpa2FAbWVsbGFub3guY29tPjsgSmVyaW4gSmFjb2IgS29sbGFudWtrYXJhbg0KPiA8amVy aW5qQG1hcnZlbGwuY29tPjsgeGlhbmcudy53YW5nQGludGVsLmNvbQ0KPiBDYzogZGV2QGRwZGsu b3JnOyBTaGFoYWYgU2h1bGVyIDxzaGFoYWZzQG1lbGxhbm94LmNvbT47DQo+IGhlbWFudC5hZ3Jh d2FsQG54cC5jb207IE9waGVyIFJldml2IDxvcGhlckBtZWxsYW5veC5jb20+OyBBbGV4DQo+IFJv c2VuYmF1bSA8YWxleHJAbWVsbGFub3guY29tPjsgRG92cmF0IFppZnJvbmkgPGRvdnJhdEBtYXJ2 ZWxsLmNvbT47DQo+IFByYXN1biBLYXBvb3IgPHBrYXBvb3JAbWFydmVsbC5jb20+OyBuaXB1bi5n dXB0YUBueHAuY29tOw0KPiBicnVjZS5yaWNoYXJkc29uQGludGVsLmNvbTsgeWFuZy5hLmhvbmdA aW50ZWwuY29tOyBoYXJyeS5jaGFuZ0BpbnRlbC5jb207DQo+IGd1LmppYW4xQHp0ZS5jb20uY247 IHNoYW5qaWFuZ2hAY2hpbmF0ZWxlY29tLmNuOw0KPiB6aGFuZ3kueXVuQGNoaW5hdGVsZWNvbS5j bjsgbGl4aW5nZnVAaHVhY2hlbnRlbC5jb207IHd1c2h1YWlAaW5zcHVyLmNvbTsNCj4geXV5aW5n eGlhQHl4bGluay5jb207IGZhbmNoZW5nZ2FuZ0BzdW55YWluZm8uY29tOw0KPiBkYXZpZGZnYW9A dGVuY2VudC5jb207IGxpdXpob25nMUBjaGluYXVuaWNvbS5jbjsNCj4gemhhb3lvbmcxMUBodWF3 ZWkuY29tOyBvY0B5dW5pZnkuY29tOyBqaW1AbmV0Z2F0ZS5jb207DQo+IGhvbmdqdW4ubmlAaW50 ZWwuY29tOyBqLmJyb21oZWFkQHRpdGFuLWljLmNvbTsgZGVyaUBudG9wLm9yZzsNCj4gZmNAbmFw YXRlY2guY29tOyBhcnRodXIuc3VAbGlvbmljLmNvbTsgVGhvbWFzIE1vbmphbG9uDQo+IDx0aG9t YXNAbW9uamFsb24ubmV0Pg0KPiBTdWJqZWN0OiBSZTogW2RwZGstZGV2XSBbRVhUXSBbUkZDIHY1 XSByZWdleGRldjogaW50cm9kdWNlIHJlZ2V4ZGV2IHN1YnN5c3RlbQ0KPiANCj4gSGkgT3JpLA0K PiANCj4gPg0KPiA+SGkgUGF2YW4sDQo+ID5UaGFua3MgZm9yIHRoZSBjb21tZW50cyBwbGVhc2Ug c2VlIGJlbG93Lg0KPiA+DQo+ID4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+IEZy b206IGRldiA8ZGV2LWJvdW5jZXNAZHBkay5vcmc+IE9uIEJlaGFsZiBPZiBQYXZhbiBOaWtoaWxl c2gNCj4gPkJoYWdhdmF0dWxhDQo+ID4+IFNlbnQ6IFN1bmRheSwgTWFyY2ggMSwgMjAyMCA4OjEz IEFNDQo+ID4+IFRvOiBPcmkgS2FtIDxvcmlrYUBtZWxsYW5veC5jb20+OyBKZXJpbiBKYWNvYiBL b2xsYW51a2thcmFuDQo+ID4+IDxqZXJpbmpAbWFydmVsbC5jb20+OyB4aWFuZy53LndhbmdAaW50 ZWwuY29tDQo+ID4+IENjOiBkZXZAZHBkay5vcmc7IFNoYWhhZiBTaHVsZXIgPHNoYWhhZnNAbWVs bGFub3guY29tPjsNCj4gPj4gaGVtYW50LmFncmF3YWxAbnhwLmNvbTsgT3BoZXIgUmV2aXYgPG9w aGVyQG1lbGxhbm94LmNvbT47DQo+ID5BbGV4DQo+ID4+IFJvc2VuYmF1bSA8YWxleHJAbWVsbGFu b3guY29tPjsgRG92cmF0IFppZnJvbmkNCj4gPjxkb3ZyYXRAbWFydmVsbC5jb20+Ow0KPiA+PiBQ cmFzdW4gS2Fwb29yIDxwa2Fwb29yQG1hcnZlbGwuY29tPjsgbmlwdW4uZ3VwdGFAbnhwLmNvbTsN Cj4gPj4gYnJ1Y2UucmljaGFyZHNvbkBpbnRlbC5jb207IHlhbmcuYS5ob25nQGludGVsLmNvbTsN Cj4gPmhhcnJ5LmNoYW5nQGludGVsLmNvbTsNCj4gPj4gZ3UuamlhbjFAenRlLmNvbS5jbjsgc2hh bmppYW5naEBjaGluYXRlbGVjb20uY247DQo+ID4+IHpoYW5neS55dW5AY2hpbmF0ZWxlY29tLmNu OyBsaXhpbmdmdUBodWFjaGVudGVsLmNvbTsNCj4gPnd1c2h1YWlAaW5zcHVyLmNvbTsNCj4gPj4g eXV5aW5neGlhQHl4bGluay5jb207IGZhbmNoZW5nZ2FuZ0BzdW55YWluZm8uY29tOw0KPiA+PiBk YXZpZGZnYW9AdGVuY2VudC5jb207IGxpdXpob25nMUBjaGluYXVuaWNvbS5jbjsNCj4gPj4gemhh b3lvbmcxMUBodWF3ZWkuY29tOyBvY0B5dW5pZnkuY29tOyBqaW1AbmV0Z2F0ZS5jb207DQo+ID4+ IGhvbmdqdW4ubmlAaW50ZWwuY29tOyBqLmJyb21oZWFkQHRpdGFuLWljLmNvbTsgZGVyaUBudG9w Lm9yZzsNCj4gPj4gZmNAbmFwYXRlY2guY29tOyBhcnRodXIuc3VAbGlvbmljLmNvbTsgVGhvbWFz IE1vbmphbG9uDQo+ID4+IDx0aG9tYXNAbW9uamFsb24ubmV0Pg0KPiA+PiBTdWJqZWN0OiBSZTog W2RwZGstZGV2XSBbRVhUXSBbUkZDIHY1XSByZWdleGRldjogaW50cm9kdWNlIHJlZ2V4ZGV2DQo+ ID5zdWJzeXN0ZW0NCj4gPj4NCj4gPj4gSGkgT3JpLA0KPiA+Pg0KPiA+PiBNaW5vciBjb21tZW50 cyBiZWxvdy4NCj4gPj4NCj4gPj4gPHNuaXA+DQo+ID4+DQo+ID4+ID4rLyoqDQo+ID4+ID4rICog VGhlIGdlbmVyaWMgKnJ0ZV9yZWdleF9vcHMqIHN0cnVjdHVyZSB0byBob2xkIHRoZSBSZWdFeA0K PiA+YXR0cmlidXRlcw0KPiA+PiA+KyAqIGZvciBlbnF1ZXVlIGFuZCBkZXF1ZXVlIG9wZXJhdGlv bi4NCj4gPj4gPisgKi8NCj4gPj4gPitzdHJ1Y3QgcnRlX3JlZ2V4X29wcyB7DQo+ID4+ID4rCS8q IFcwICovDQo+ID4+ID4rCXVpbnQxNl90IHJlcV9mbGFnczsNCj4gPj4gPisJLyoqPCBSZXF1ZXN0 IGZsYWdzIGZvciB0aGUgUmVnRXggb3BzLg0KPiA+PiA+KwkgKiBAc2VlIFJURV9SRUdFWF9PUFNf UkVRXyoNCj4gPj4gPisJICovDQo+ID4+ID4rCXVpbnQxNl90IHJzcF9mbGFnczsNCj4gPj4gPisJ LyoqPCBSZXNwb25zZSBmbGFncyBmb3IgdGhlIFJlZ0V4IG9wcy4NCj4gPj4gPisJICogQHNlZSBS VEVfUkVHRVhfT1BTX1JTUF8qDQo+ID4+ID4rCSAqLw0KPiA+PiA+Kwl1aW50MTZfdCBuYl9hY3R1 YWxfbWF0Y2hlczsNCj4gPj4gPisJLyoqPCBUaGUgdG90YWwgbnVtYmVyIG9mIGFjdHVhbCBtYXRj aGVzIGRldGVjdGVkIGJ5IHRoZQ0KPiA+PiA+UmVnZXggZGV2aWNlLiovDQo+ID4+ID4rCXVpbnQx Nl90IG5iX21hdGNoZXM7DQo+ID4+ID4rCS8qKjwgVGhlIHRvdGFsIG51bWJlciBvZiBtYXRjaGVz IHJldHVybmVkIGJ5IHRoZSBSZWdFeA0KPiA+PiA+ZGV2aWNlIGZvciB0aGlzDQo+ID4+ID4rCSAq IHNjYW4uIFRoZSBzaXplIG9mICpydGVfcmVnZXhfb3BzOjptYXRjaGVzKiB6ZXJvIGxlbmd0aCBh cnJheQ0KPiA+PiA+d2lsbCBiZQ0KPiA+PiA+KwkgKiB0aGlzIHZhbHVlLg0KPiA+PiA+KwkgKg0K PiA+PiA+KwkgKiBAc2VlIHN0cnVjdCBydGVfcmVnZXhfb3BzOjptYXRjaGVzLCBzdHJ1Y3QNCj4g Pj4gPnJ0ZV9yZWdleF9tYXRjaA0KPiA+PiA+KwkgKi8NCj4gPj4gPisNCj4gPj4gPisJLyogVzEg Ki8NCj4gPj4gPisJc3RydWN0IHJ0ZV9tYnVmIG1idWY7IC8qKjwgc291cmNlIG1idWYsIHRvIHNl YXJjaCBpbi4gKi8NCj4gPj4NCj4gPj4gVGhpcyBzaG91bGQgYmUgKm1idWYuDQo+ID4NCj4gPlll cyB5b3UgYXJlIGNvcnJlY3Qgd2lsbCBmaXguDQo+ID4NCj4gPj4NCj4gPj4gPisNCj4gPj4gPisJ LyogVzIgKi8NCj4gPj4gPisJdWludDE2X3QgZ3JvdXBfaWQwOw0KPiA+Pg0KPiA+PiBUaGlzIHNo b3VsZCBiZSBncm91cF9pZDEuDQo+ID4+DQo+ID5ObyB0aGlzIGlzIGNvcnJlY3QgaXMgc2hvdWxk IGJlIGlkMC4gV2UgYXJlIHN0YXJ0aW5nIGZyb20gZ3JvdXAgMC4NCj4gPlRoZSBjb21tZW50IGJl bG93IHN0YXRlcyB0aGF0IHRoZSBmaXJzdCBncm91cCwgbWVhbmluZyBncm91cCAwIG11c3QNCj4g PmJlDQo+ID52YWxpZCBncm91cCB3aGlsZSBncm91cCAxIGRvZXNu4oCZdCBoYXZlIHRvIGJlIHZh aWxkLg0KPiANCj4gV291bGQgdGhhdCBtZWFuIHRoYXQgZ3JvdXBfaWQwIGlzIGFsd2F5cyB2YWxp ZD8NCj4gU2luY2UgdGhlcmUgaXMgbm8gYFJURV9SRUdFWF9PUFNfUkVRX0dST1VQX0lEMF9WQUxJ RF9GYCBmbGFnLg0KPiANClllcywgeW91IG11c3QgaGF2ZSBhdCBsZWFzdCBvbmUgZ3JvdXAuDQoN Cj4gPg0KPiA+PiA+KwkvKio8IEZpcnN0IGdyb3VwX2lkIHRvIG1hdGNoIHRoZSBydWxlIGFnYWlu c3QuIE1pbmltdW0gb25lDQo+ID4+ID5ncm91cCBpZA0KPiA+PiA+KwkgKiBtdXN0IGJlIHByb3Zp ZGVkIGJ5IGFwcGxpY2F0aW9uLg0KPiA+PiA+KwkgKiBXaGVuIFJURV9SRUdFWF9PUFNfUkVRX0dS T1VQX0lEMV9WQUxJRF9GIHNldCB0aGVuDQo+ID4+ID5ncm91cF9pZDENCj4gPj4gPisJICogaXMg dmFsaWQsIHJlc3BlY3RpdmVseSBzaW1pbGFyIGZsYWdzIGZvciBncm91cF9pZDIgYW5kIGdyb3Vw X2lkMy4NCj4gPj4gPisJICogVXBvbiB0aGUgbWF0Y2gsIHN0cnVjdCBydGVfcmVnZXhfbWF0Y2g6 Omdyb3VwX2lkIHNoYWxsIGJlDQo+ID4+ID51cGRhdGVkDQo+ID4+ID4rCSAqIHdpdGggbWF0Y2hp bmcgZ3JvdXAgSUQgYnkgdGhlIGRldmljZS4gR3JvdXAgSUQgc2NoZW1lDQo+ID4+ID5wcm92aWRl cw0KPiA+PiA+KwkgKiBydWxlIGlzb2xhdGlvbiBhbmQgZWZmZWN0aXZlIHBhdHRlcm4gbWF0Y2hp bmcuDQo+ID4+ID4rCSAqLw0KPiA+PiA+Kwl1aW50MTZfdCBncm91cF9pZDE7DQo+ID4+ID4rCS8q KjwgU2Vjb25kIGdyb3VwX2lkIHRvIG1hdGNoIHRoZSBydWxlIGFnYWluc3QuDQo+ID4+ID4rCSAq DQo+ID4+ID4rCSAqIEBzZWUgUlRFX1JFR0VYX09QU19SRVFfR1JPVVBfSUQxX1ZBTElEX0YNCj4g Pj4gPisJICovDQo+ID4+DQo+ID4+IFRoZSBhYm92ZSBgZ3JvdXBfaWQxYCBzaG91bGQgYmUgcmVt b3ZlZCBhcyBpdHMgZHVwbGljYXRlLg0KPiA+Pg0KPiA+DQo+ID5UaGlzIGlzIG5vdCBkdXBsaWNh dGUsIHNlZSBhYm92ZSBjb21tZW50Lg0KPiA+DQo+ID4+ID4rCXVpbnQxNl90IGdyb3VwX2lkMjsN Cj4gPj4gPisJLyoqPCBUaGlyZCBncm91cF9pZCB0byBtYXRjaCB0aGUgcnVsZSBhZ2FpbnN0Lg0K PiA+PiA+KwkgKg0KPiA+PiA+KwkgKiBAc2VlIFJURV9SRUdFWF9PUFNfUkVRX0dST1VQX0lEMl9W QUxJRF9GDQo+ID4+ID4rCSAqLw0KPiA+PiA+Kwl1aW50MTZfdCBncm91cF9pZDM7DQo+ID4+ID4r CS8qKjwgRm9ydGggZ3JvdXBfaWQgdG8gbWF0Y2ggdGhlIHJ1bGUgYWdhaW5zdC4NCj4gPj4gPisJ ICoNCj4gPj4gPisJICogQHNlZSBSVEVfUkVHRVhfT1BTX1JFUV9HUk9VUF9JRDNfVkFMSURfRg0K PiA+PiA+KwkgKi8NCj4gPj4gPisNCj4gPj4gPisJLyogVzMgKi8NCj4gPj4gPisJUlRFX1NURF9D MTENCj4gPj4gPisJdW5pb24gew0KPiA+PiA+KwkJdWludDY0X3QgdXNlcl9pZDsNCj4gPj4gPisJ CS8qKjwgQXBwbGljYXRpb24gc3BlY2lmaWMgb3BhcXVlIHZhbHVlLiBBbiBhcHBsaWNhdGlvbg0K PiA+PiA+bWF5IHVzZQ0KPiA+PiA+KwkJICogdGhpcyBmaWVsZCB0byBob2xkIGFwcGxpY2F0aW9u IHNwZWNpZmljIHZhbHVlIHRvIHNoYXJlDQo+ID4+ID4rCQkgKiBiZXR3ZWVuIGRlcXVldWUgYW5k IGVucXVldWUgb3BlcmF0aW9uLg0KPiA+PiA+KwkJICogSW1wbGVtZW50YXRpb24gc2hvdWxkIG5v dCBtb2RpZnkgdGhpcyBmaWVsZC4NCj4gPj4gPisJCSAqLw0KPiA+PiA+KwkJdm9pZCAqdXNlcl9w dHI7DQo+ID4+ID4rCQkvKio8IFBvaW50ZXIgcmVwcmVzZW50YXRpb24gb2YgKnVzZXJfaWQqICov DQo+ID4+ID4rCX07DQo+ID4+ID4rDQo+ID4+ID4rCS8qIFc0ICovDQo+ID4+ID4rCXN0cnVjdCBy dGVfcmVnZXhfbWF0Y2ggbWF0Y2hlc1tdOw0KPiA+PiA+KwkvKio8IFplcm8gbGVuZ3RoIGFycmF5 IHRvIGhvbGQgdGhlIG1hdGNoIHR1cGxlcy4NCj4gPj4gPisJICogVGhlIHN0cnVjdCBydGVfcmVn ZXhfb3BzOjpuYl9tYXRjaGVzIHZhbHVlIGhvbGRzIHRoZQ0KPiA+PiA+bnVtYmVyIG9mDQo+ID4+ ID4rCSAqIGVsZW1lbnRzIGluIHRoaXMgYXJyYXkuDQo+ID4+ID4rCSAqDQo+ID4+ID4rCSAqIEBz ZWUgc3RydWN0IHJ0ZV9yZWdleF9vcHM6Om5iX21hdGNoZXMNCj4gPj4gPisJICovDQo+ID4+ID4r fTsNCg==