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 5285EA00D7; Thu, 31 Oct 2019 11:40:14 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id E94C01C214; Thu, 31 Oct 2019 11:40:12 +0100 (CET) Received: from EUR02-VE1-obe.outbound.protection.outlook.com (mail-eopbgr20067.outbound.protection.outlook.com [40.107.2.67]) by dpdk.org (Postfix) with ESMTP id B04441C20F for ; Thu, 31 Oct 2019 11:40:11 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=GcEybt2rle+8nHCjyWs6m/bxr8twdDOOXUTcIY8iISw=; b=n9EdVpG4v/nB8Aivnzz18IwknjaG/9xlCPBnsOeAeGEAp3EkNSYRJ36UoQuzhK4qjSWyVTzMRXPylVtR/aKvMytXWaEBsh8RDy9J62h42kPuOk3fO60QgFLeOrgH81t6isnndWc8TsMJczQ1NFaUyhs8unNaZb1eRxWs9ln9NQk= Received: from DB7PR08CA0011.eurprd08.prod.outlook.com (2603:10a6:5:16::24) by VE1PR08MB4941.eurprd08.prod.outlook.com (2603:10a6:803:112::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2387.20; Thu, 31 Oct 2019 10:40:08 +0000 Received: from DB5EUR03FT049.eop-EUR03.prod.protection.outlook.com (2a01:111:f400:7e0a::202) by DB7PR08CA0011.outlook.office365.com (2603:10a6:5:16::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2408.20 via Frontend Transport; Thu, 31 Oct 2019 10:40:07 +0000 Authentication-Results: spf=fail (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dpdk.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dpdk.org; dmarc=none action=none header.from=arm.com; Received-SPF: Fail (protection.outlook.com: domain of arm.com does not designate 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DB5EUR03FT049.mail.protection.outlook.com (10.152.20.191) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2387.20 via Frontend Transport; Thu, 31 Oct 2019 10:40:07 +0000 Received: ("Tessian outbound 081de437afc7:v33"); Thu, 31 Oct 2019 10:40:07 +0000 X-CR-MTA-TID: 64aa7808 Received: from e35707b005ff.2 (cr-mta-lb-1.cr-mta-net [104.47.2.55]) by 64aa7808-outbound-1.mta.getcheckrecipient.com id 9D05D9DB-0346-42CC-90C6-ABEA560CDFAC.1; Thu, 31 Oct 2019 10:40:02 +0000 Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01lp2055.outbound.protection.outlook.com [104.47.2.55]) by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id e35707b005ff.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384); Thu, 31 Oct 2019 10:40:01 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=khALKlXyOz4cZjX5jzaUw/zrokcls69mMU8CsOjg42zFH4KbUfg63mG2m+i8JScoUFpAoezlbaSNinq1l+J7aAR0X7YIb36r3M8U3dQ7EvCxWbpIdkJpvaSUnOYLXN9L9p8xuvfrtt29rAuAoJxOocmiydhqalYJcGh/MH0xSWLwEq10oLCFEpDl2cIfr7YJtiQOt1yYAFRCc5NRbDEd8Yvnn3bAvcTPWjxOd/Xm+rLMXaJ1BHCbKVVBk7zwk+tK1Aaw1Oivz1o3gQ1+Je9CQnp8QRM3QHmBymnYbn5HvFtBgUhAfe6HSOfnw3ZQHdMnmndGY0VR0nUQB4sOIfw6hA== 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=GcEybt2rle+8nHCjyWs6m/bxr8twdDOOXUTcIY8iISw=; b=Q+G6I6FzhhGiTE2hvKmvIDZEARuIw3gqIO/B/Ehf0znA49KZE7/q3MPWfkOMffEt1IENtseVeh+LbWCT3FSCUOe7ZbM2hAhcAoGHGou/LmmNGL7zmtxLIHeR9LrCzW98EgoT/Pr6hQsNOK2NGT5P8zM0fcAfpQgRuqSGtsxnmLX85bs19hZzojxysfVd/WMzzaMqLRNl8kQK15ffubScRRagfEp9lA9eaulCY9Dkt+LOm4gLjM8VeBkAYL5yWCoJdwLfjmw6GJ1JhimEntyq9EDlhgUx/RyI15AJn2qfbmcH+lhz5N3KbCGVsTR8RpQH59fpYeWJ3m5Lgmxc27rlQA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=GcEybt2rle+8nHCjyWs6m/bxr8twdDOOXUTcIY8iISw=; b=n9EdVpG4v/nB8Aivnzz18IwknjaG/9xlCPBnsOeAeGEAp3EkNSYRJ36UoQuzhK4qjSWyVTzMRXPylVtR/aKvMytXWaEBsh8RDy9J62h42kPuOk3fO60QgFLeOrgH81t6isnndWc8TsMJczQ1NFaUyhs8unNaZb1eRxWs9ln9NQk= Received: from VI1PR08MB5376.eurprd08.prod.outlook.com (10.255.196.79) by VI1PR08MB5325.eurprd08.prod.outlook.com (10.255.196.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2387.24; Thu, 31 Oct 2019 10:40:00 +0000 Received: from VI1PR08MB5376.eurprd08.prod.outlook.com ([fe80::709e:c2c9:139d:9df3]) by VI1PR08MB5376.eurprd08.prod.outlook.com ([fe80::709e:c2c9:139d:9df3%4]) with mapi id 15.20.2408.019; Thu, 31 Oct 2019 10:40:00 +0000 From: "Gavin Hu (Arm Technology China)" To: =?utf-8?B?TW9ydGVuIEJyw7hydXA=?= , Jerin Jacob CC: "thomas@monjalon.net" , "Joyce Kong (Arm Technology China)" , "dev@dpdk.org" , nd , "jerinj@marvell.com" , "stephen@networkplumber.org" , Honnappa Nagarahalli , "ravi1.kumar@amd.com" , "rmody@marvell.com" , "shshaikh@marvell.com" , "xuanziyang2@huawei.com" , "cloud.wangxiaoyun@huawei.com" , "zhouguoyang@huawei.com" , "adrien.mazarguil@6wind.com" , nd Thread-Topic: [dpdk-dev] [PATCH v2 0/6] implement common rte bit operation APIs in PMDs Thread-Index: AQHViU1UM0uj6oNhQ0q+uQCkGAZqladx3SOAgAEax7CAADHNAIAACDIAgAFYUjA= Date: Thu, 31 Oct 2019 10:39:59 +0000 Message-ID: References: <1571125801-45773-1-git-send-email-joyce.kong@arm.com> <1571799298-18873-1-git-send-email-joyce.kong@arm.com> <2670371.SxHcXEKB0j@xps> <98CBD80474FA8B44BF855DF32C47DC35C60BB7@smartserver.smartshare.dk> In-Reply-To: <98CBD80474FA8B44BF855DF32C47DC35C60BB7@smartserver.smartshare.dk> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: af567a39-d615-4370-b85d-e13e8e06e202.0 x-checkrecipientchecked: true Authentication-Results-Original: spf=none (sender IP is ) smtp.mailfrom=Gavin.Hu@arm.com; x-originating-ip: [113.29.88.7] x-ms-publictraffictype: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: da9f2486-8478-4abc-9468-08d75deeb2a9 X-MS-TrafficTypeDiagnostic: VI1PR08MB5325:|VI1PR08MB5325:|VE1PR08MB4941: X-MS-Exchange-PUrlCount: 3 x-ld-processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true x-ms-oob-tlc-oobclassifiers: OLM:8882;OLM:8882; x-forefront-prvs: 02070414A1 X-Forefront-Antispam-Report-Untrusted: SFV:NSPM; SFS:(10009020)(4636009)(39860400002)(366004)(376002)(136003)(396003)(346002)(189003)(199004)(13464003)(14454004)(9686003)(14444005)(76176011)(186003)(8676002)(6436002)(6306002)(476003)(446003)(86362001)(55016002)(256004)(3846002)(6116002)(229853002)(74316002)(7736002)(6246003)(305945005)(81166006)(8936002)(81156014)(66066001)(102836004)(4326008)(486006)(66446008)(52536014)(54906003)(66476007)(26005)(25786009)(64756008)(110136005)(33656002)(7696005)(76116006)(66946007)(11346002)(71190400001)(5660300002)(6506007)(71200400001)(53546011)(966005)(316002)(66556008)(2906002)(478600001)(99286004)(55236004)(7416002)(66574012); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR08MB5325; H:VI1PR08MB5376.eurprd08.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: DEeGp3lB8iYE/Ooul9MXzSVQ+K/nn+5XhBHLfYrrYuztRnWjVlNGXDOwaHhNFi2vayOGVcEVx9fnhnwj/o4xRnaRAgb/dlOYlMiQ53aK0W7mVdSDV3t9kDeBPVnEw10Lr1eAid7D/G1nwXxbGUarQGyCziH3y2XueaQVR+akd0l5Q8h1TL3IVvG78bZ4eP6CBrIx7bjOh5aP6Ojs3t25pi4H3bABp3ayfFzXQv5Ojs5O7BppLEtXQ2rE+V9sDO7hBBLytZcJoNTHxq2pTivE3nObkoi+tbyu+kCtkyXac6R4Wxt4+4nCMLSXORdkG9Bm+ea6MEQb9QLG8IfBxDJZH+u20QTzsgb+/h0PEGv0s/CB9JfKC+qc06aDVL20JLwCSSqJFS6i+rWiXbO9vrEZPqi0tbmRSMhzjRnCvpHzkZNJCrgxd1rlnjTXIlO7ZNRSi22z3tYDthWj4gE5a3S3khUs2YW9xLvEYeBHnKuvltA= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB5325 Original-Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Gavin.Hu@arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5EUR03FT049.eop-EUR03.prod.protection.outlook.com X-Forefront-Antispam-Report: CIP:63.35.35.123; IPV:CAL; SCL:-1; CTRY:IE; EFV:NLI; SFV:NSPM; SFS:(10009020)(4636009)(39860400002)(376002)(396003)(136003)(346002)(1110001)(339900001)(13464003)(189003)(199004)(4326008)(23676004)(66066001)(7696005)(229853002)(9686003)(54906003)(105606002)(6506007)(102836004)(305945005)(76176011)(99286004)(81156014)(47776003)(186003)(70586007)(26005)(8676002)(6116002)(6246003)(70206006)(53546011)(110136005)(8936002)(5660300002)(74316002)(81166006)(76130400001)(55016002)(2486003)(7736002)(6306002)(86362001)(3846002)(52536014)(50466002)(436003)(14444005)(33656002)(25786009)(66574012)(2906002)(22756006)(446003)(476003)(356004)(11346002)(126002)(316002)(14454004)(478600001)(26826003)(966005)(486006)(336012); DIR:OUT; SFP:1101; SCL:1; SRVR:VE1PR08MB4941; H:64aa7808-outbound-1.mta.getcheckrecipient.com; FPR:; SPF:Fail; LANG:en; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; MX:1; A:1; X-MS-Office365-Filtering-Correlation-Id-Prvs: a0da7bc8-bdbf-409d-6237-08d75deeae2a NoDisclaimer: True X-Forefront-PRVS: 02070414A1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: BOhFk360cwABmDpQquCexikqNUOGE7QTqJfMXYWkrr04RQBGaIqQgdiwsUJ53/+jzXiPAOlWy/g2XaIEzwXs802vJZstp/K/Wn/KlpM0H1Tp9RxhTZKIZuiiKttF0krGRk/84OkrR63A2kv8WOoqzvbeSEKTvZR/g7VkHrlv5YmrT9i/YncjqJQDLkA3VjIUHh9nGIkguoZqmANACqFQbD6ocxp8DhtxE5oC0vMFMU4Zan9sz1Aw9TWhcaF7fX6Q2kyAkhDZZTX87W6cL0SBEepYMA7gAutrJtZUGfqGb0rF5q3yBLLvgOyUEGmZ43dKkWzcL69WPcV5qv1ngLyVN/QnIOzun98OXhi/aWdGiKaJSyo27O6Lcd5OPlBgHRzPAS9YPFv005nRPf5NZ+x64O9vm163f+L2CjjwlSddsdUC1HQYzTrIJSMszkvOqgwF6B7kPB3xLRpI8XS7yYGt14gWUf4hXUWiN+3d2QRZrC0= X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Oct 2019 10:40:07.6711 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: da9f2486-8478-4abc-9468-08d75deeb2a9 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB4941 Subject: Re: [dpdk-dev] [PATCH v2 0/6] implement common rte bit operation APIs in PMDs 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" PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBNb3J0ZW4gQnLDuHJ1cCA8bWJA c21hcnRzaGFyZXN5c3RlbXMuY29tPg0KPiBTZW50OiBXZWRuZXNkYXksIE9jdG9iZXIgMzAsIDIw MTkgOTowMiBQTQ0KPiBUbzogSmVyaW4gSmFjb2IgPGplcmluamFjb2JrQGdtYWlsLmNvbT47IEdh dmluIEh1IChBcm0gVGVjaG5vbG9neSBDaGluYSkNCj4gPEdhdmluLkh1QGFybS5jb20+DQo+IENj OiB0aG9tYXNAbW9uamFsb24ubmV0OyBKb3ljZSBLb25nIChBcm0gVGVjaG5vbG9neSBDaGluYSkN Cj4gPEpveWNlLktvbmdAYXJtLmNvbT47IGRldkBkcGRrLm9yZzsgbmQgPG5kQGFybS5jb20+Ow0K PiBqZXJpbmpAbWFydmVsbC5jb207IHN0ZXBoZW5AbmV0d29ya3BsdW1iZXIub3JnOyBIb25uYXBw YSBOYWdhcmFoYWxsaQ0KPiA8SG9ubmFwcGEuTmFnYXJhaGFsbGlAYXJtLmNvbT47IHJhdmkxLmt1 bWFyQGFtZC5jb207DQo+IHJtb2R5QG1hcnZlbGwuY29tOyBzaHNoYWlraEBtYXJ2ZWxsLmNvbTsg eHVhbnppeWFuZzJAaHVhd2VpLmNvbTsNCj4gY2xvdWQud2FuZ3hpYW95dW5AaHVhd2VpLmNvbTsg emhvdWd1b3lhbmdAaHVhd2VpLmNvbTsNCj4gYWRyaWVuLm1hemFyZ3VpbEA2d2luZC5jb20NCj4g U3ViamVjdDogUkU6IFtkcGRrLWRldl0gW1BBVENIIHYyIDAvNl0gaW1wbGVtZW50IGNvbW1vbiBy dGUgYml0IG9wZXJhdGlvbg0KPiBBUElzIGluIFBNRHMNCj4gDQo+ID4gLS0tLS1PcmlnaW5hbCBN ZXNzYWdlLS0tLS0NCj4gPiBGcm9tOiBkZXYgW21haWx0bzpkZXYtYm91bmNlc0BkcGRrLm9yZ10g T24gQmVoYWxmIE9mIEplcmluIEphY29iDQo+ID4gU2VudDogV2VkbmVzZGF5LCBPY3RvYmVyIDMw LCAyMDE5IDE6MzMgUE0NCj4gPg0KPiA+IE9uIFdlZCwgT2N0IDMwLCAyMDE5IGF0IDM6MjUgUE0g R2F2aW4gSHUgKEFybSBUZWNobm9sb2d5IENoaW5hKQ0KPiA+IDxHYXZpbi5IdUBhcm0uY29tPiB3 cm90ZToNCj4gPiA+DQo+ID4gPiBIaSBUaG9tYXMsDQo+ID4gPg0KPiA+ID4gPiAtLS0tLU9yaWdp bmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gPiBGcm9tOiBUaG9tYXMgTW9uamFsb24gPHRob21hc0Bt b25qYWxvbi5uZXQ+DQo+ID4gPiA+IFNlbnQ6IFdlZG5lc2RheSwgT2N0b2JlciAzMCwgMjAxOSAx Mjo0MyBBTQ0KPiA+ID4gPg0KPiA+ID4gPiAyMy8xMC8yMDE5IDA0OjU0LCBKb3ljZSBLb25nOg0K PiA+ID4gPiA+IFRoZXJlIGFyZSBhIGxvdCBmdW5jdGlvbnMgb2YgYml0IG9wZXJhdGlvbnMgc2Nh dHRlcmVkIGluIFBNRHMsDQo+ID4gPiA+ID4gY29uc29saWRhdGUgdGhlbSBpbnRvIGEgY29tbW9u IEFQSSBmYW1pbHkgYW5kIGFwcGxpZWQgaW4gZGlmZmVyZW50DQo+ID4gPiA+ID4gUE1EcyB0byBy ZWR1Y2UgY29kZSBkdXBsaWNhdGlvbi4NCj4gPiA+ID4NCj4gPiA+ID4gUGxlYXNlLCBjb3VsZCB5 b3UgbG9vayBhdCB3aGF0IEFkcmllbiBkaWQgaW4gdGhlIE1lbGxhbm94IFBNRD8NCj4gPiA+ID4N Cj4gPiA+ID4NCj4gPiBodHRwOi8vY29kZS5kcGRrLm9yZy9kcGRrL2xhdGVzdC9zb3VyY2UvZHJp dmVycy9uZXQvbWx4NS9tbHg1X3V0aWxzLmgjTDI4DQo+ID4gPiBUaGUgY29kZSBoYXMgbGVzcyBk dXBsaWNhdGlvbiwgYnV0IGl0IHJlcXVpcmVzIGEgbGVzcyBuYXR1cmFsIGRlY2xhcmF0aW9uDQo+ ID4gb2YgdmFyaWFibGVzDQo+ID4gPiBodHRwOi8vY29kZS5kcGRrLm9yZy9kcGRrL2xhdGVzdC9z b3VyY2UvZHJpdmVycy9uZXQvbWx4NS9tbHg1LmgjTDYwNw0KPiA+ID4gU2hvdWxkIHdlIHRha2Ug dGhpcyB3YXk/DQo+ID4NCj4gPg0KPiA+IElNTywgV2UgbmVlZCB0byBjb25zaWRlciB0aGUgTUFD Uk8gYmFzZWQgc2NoZW1lIG9ubHkgYXMgb2YgdGhlIGxhc3QgcmVzb3J0Lg0KPiA+DQo+IA0KPiBJ IGFncmVlLg0KPiANCj4gVGhlIEVBTCBsaWJyYXJ5IGFscmVhZHkgaGFzIGFuIEkvTyBkZXZpY2Ug bWVtb3J5IGFjY2VzcyBBUEksIGkuZS4gd2l0aA0KPiBmdW5jdGlvbmFsaXR5IGNsb3NlbHkgcmVs YXRlZCB0byB0aGUgcHJvcG9zZWQgSS9PIGRldmljZSBiaXQgb3BlcmF0aW9uIEFQSToNCj4gaHR0 cDovL2NvZGUuZHBkay5vcmcvZHBkay9sYXRlc3Qvc291cmNlL2xpYi9saWJydGVfZWFsL2NvbW1v bi9pbmNsdWRlL2dlbmUNCj4gcmljL3J0ZV9pby5oDQo+IA0KPiBJIHdvdWxkIHByZWZlciBhIHNp bWlsYXIgYXBwcm9hY2gsIGFuZCBBUEkgZmFtaWxpYXJpdHkgd291bGQgYmUgbXkgc3Ryb25nZXN0 DQo+IGFyZ3VtZW50Lg0KWWVzLCB0aGlzIGlzIGEgbW9yZSBuYXR1cmFsIHdheSwgYW5kIGVuZ2lu ZWVycyBhcmUgbW9yZSBmYW1pbGlhciB3aXRoIHRoZSBBUElzLg0KV2Ugd2lsbCB0YWtlIHRoaXMg d2F5IGFzIG1vcmUgcGVvcGxlIHZvdGUgZm9yIHRoaXMuDQpUaGFua3MgVGhvbWFzIGFsc28gZm9y IHlvdXIgY29tbWVudCwgd2UgYXJlIGluc3BpcmVkIGJ5IHRoaXMgY29kZSwgd2Ugd2lsbCBhZGQg YXNzZXJ0KCkgYWxzbyB0byBndWFyYW50ZWUgdGhlICdiaXQnIGFyZ3VtZW50IGlzIGluIHRoZSB2 YWxpZCByYW5nZS4NCldlIHVzZWQgdGhpcyBjb21tb24gQVBJIGZvciBzb21lIFBNRHMsIGJ1dCBu b3QgZXh0ZW5zaXZlbHksIHRoZSByZWFzb24gaXMgd2Ugd2FudCB0byBmaW5hbGl6ZSB0aGUgQVBJ IGZpcnN0bHkod2l0aCB5b3VyIGNvbW1lbnRzIGNvbWluZykgYW5kIHRoZW4gcHJvcGFnYXRlIGxh dGVyLg0KL0dhdmluICAgDQoNCg0K