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 DF352A058A; Fri, 17 Apr 2020 10:18:39 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 67DCE1DE8E; Fri, 17 Apr 2020 10:18:39 +0200 (CEST) Received: from EUR03-AM5-obe.outbound.protection.outlook.com (mail-eopbgr30057.outbound.protection.outlook.com [40.107.3.57]) by dpdk.org (Postfix) with ESMTP id 7510E1D163 for ; Fri, 17 Apr 2020 10:18:37 +0200 (CEST) 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=y9OWmGUchjcr39uFBmPnoimpyLXH50m5Ur7bKHnFl/8=; b=S4/GyLg2dk8ho07F4vHhPEfBu9rKuNW6MGiDU5uKWo3CynIfgMeWCzwxxe83vJ/fhScC6kYeYU6nGNO3QUJM8Dyda9NqeCUyVqOjTKOLS/K1hoxzCDi3v3o3Vd6AboJ+mG0y1J/mUTCHVsouwebI7cACuBP7u0CIjfcCmaWjJc4= Received: from DB6PR0802CA0046.eurprd08.prod.outlook.com (2603:10a6:4:a3::32) by DB7PR08MB3913.eurprd08.prod.outlook.com (2603:10a6:10:7c::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2921.27; Fri, 17 Apr 2020 08:18:35 +0000 Received: from DB5EUR03FT061.eop-EUR03.prod.protection.outlook.com (2603:10a6:4:a3:cafe::fd) by DB6PR0802CA0046.outlook.office365.com (2603:10a6:4:a3::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2921.25 via Frontend Transport; Fri, 17 Apr 2020 08:18:35 +0000 Authentication-Results: spf=pass (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=bestguesspass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 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 DB5EUR03FT061.mail.protection.outlook.com (10.152.21.234) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2900.18 via Frontend Transport; Fri, 17 Apr 2020 08:18:35 +0000 Received: ("Tessian outbound a45624f5910b:v50"); Fri, 17 Apr 2020 08:18:35 +0000 X-CR-MTA-TID: 64aa7808 Received: from d5d68cdcd669.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 41FBDC99-9A5F-4738-B387-715C8E175C1B.1; Fri, 17 Apr 2020 08:18:30 +0000 Received: from EUR01-DB5-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id d5d68cdcd669.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Fri, 17 Apr 2020 08:18:30 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GqAJZPibFVoCDGgGDlfpGksnz5NLKnwHXppmAjPDuYqtmXqS8cC+lAR0L+0bo+PLShywwTuGOlbS21YLXUK58y/+EdBlwlhsFp+2CrK6X0Elqc3OWuqt98JR5UJtmRpQh/tDwhSl2gKuhNtcp/cqX1CGn0YDxI1lJxA3XFMiHgLTlF4j4zpEYcmy3URHah4Og8H8PiigsPtPpx7s5365vBjlXTv7aMS0R3PylbageECd4wUK+3Tw4Nn4RjmOBA8XTIjhFXSy5whzKFaEZFcoDfIoBlf5DZYFxVPNFGZDfqcFM7M4NLRVHDV4m+kMDXtdoVUACRkr5BI4C6/fzJ8aPw== 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=y9OWmGUchjcr39uFBmPnoimpyLXH50m5Ur7bKHnFl/8=; b=BjmTLER4u7uBH0nyveOmC/fQIb/I/CO/EchNLHQyZpnIpAnnS9WctA8PrmH6m+Fi/LPQQMlD4uUkAbYLRPwdkcNmZ7e3SulEJBCnJbJXA5iP9sN9VmwJsTaxDWp5NSX4Uy3zG5uFXDhMMkXCgGsXmPOY+adDC/mUHyelJ29ktXml2V1Qkc1UI0LGTORKVWo5kbc8OeJl7Zv1NWWfAXUfsRZQqqyFTfAwC38H9KsthbWL9BD2RH9c3Hemx0Fc3SVTtFm7ea+dWCH+popI2vw/vMLisfXUeCKyWC1RYlO5ol2yRnaH+Us9RHCjEC2mr30zaNYKT5zfrbRTCvTjJyk5og== 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=y9OWmGUchjcr39uFBmPnoimpyLXH50m5Ur7bKHnFl/8=; b=S4/GyLg2dk8ho07F4vHhPEfBu9rKuNW6MGiDU5uKWo3CynIfgMeWCzwxxe83vJ/fhScC6kYeYU6nGNO3QUJM8Dyda9NqeCUyVqOjTKOLS/K1hoxzCDi3v3o3Vd6AboJ+mG0y1J/mUTCHVsouwebI7cACuBP7u0CIjfcCmaWjJc4= Received: from DB7PR08MB3307.eurprd08.prod.outlook.com (2603:10a6:5:1b::32) by DB7PR08MB3802.eurprd08.prod.outlook.com (2603:10a6:10:77::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2900.20; Fri, 17 Apr 2020 08:18:25 +0000 Received: from DB7PR08MB3307.eurprd08.prod.outlook.com ([fe80::dc88:50dc:97a2:69bd]) by DB7PR08MB3307.eurprd08.prod.outlook.com ([fe80::dc88:50dc:97a2:69bd%7]) with mapi id 15.20.2900.030; Fri, 17 Apr 2020 08:18:25 +0000 From: Joyce Kong To: =?utf-8?B?TW9ydGVuIEJyw7hydXA=?= CC: nd , "dev@dpdk.org" , "thomas@monjalon.net" , "stephen@networkplumber.org" , "david.marchand@redhat.com" , "jerinj@marvell.com" , "bruce.richardson@intel.com" , "ravi1.kumar@amd.com" , "rmody@marvell.com" , "shshaikh@marvell.com" , "xuanziyang2@huawei.com" , "cloud.wangxiaoyun@huawei.com" , "zhouguoyang@huawei.com" , Honnappa Nagarahalli , Gavin Hu , Phil Yang Thread-Topic: [dpdk-dev] [PATCH v8 1/6] lib/eal: implement the family of commonbit operation APIs Thread-Index: AQHWFCCQ5RnoOtCgCkio4zRlF2vrXKh8+HHw Date: Fri, 17 Apr 2020 08:18:25 +0000 Message-ID: References: <1571125801-45773-1-git-send-email-joyce.kong@arm.com> <20200416053853.440-2-joyce.kong@arm.com> <98CBD80474FA8B44BF855DF32C47DC35C60F63@smartserver.smartshare.dk> In-Reply-To: <98CBD80474FA8B44BF855DF32C47DC35C60F63@smartserver.smartshare.dk> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: 726f027b-8a04-4b29-8d93-0fabbfb41622.0 x-checkrecipientchecked: true Authentication-Results-Original: spf=none (sender IP is ) smtp.mailfrom=Joyce.Kong@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: 0348fba6-91f7-4aab-216c-08d7e2a7ecd4 x-ms-traffictypediagnostic: DB7PR08MB3802:|DB7PR08MB3802:|DB7PR08MB3913: x-ld-processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:7691;OLM:7691; x-forefront-prvs: 0376ECF4DD X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB7PR08MB3307.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(10009020)(4636009)(39860400002)(346002)(376002)(366004)(396003)(136003)(33656002)(5660300002)(7696005)(66574012)(64756008)(66556008)(66476007)(66446008)(66946007)(76116006)(2906002)(26005)(4326008)(52536014)(478600001)(55016002)(71200400001)(55236004)(9686003)(6506007)(53546011)(54906003)(7416002)(86362001)(6916009)(81156014)(8676002)(8936002)(316002)(186003); DIR:OUT; SFP:1101; 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: jdSSRQXYrIycAGKD+cnM2e8JPOWJaw1qCDHbJofu9GcUaso8Edc8UyeInfDLsDpTsa5ge6Gv58sh9aUVBYKCZZSu2ybq4fNv6xBm9ALsBV/ax5smmNihVTogxcUuLuCtYbEJHc4gEQwv56Rj/N0CcXXpRl6zWWwUgtVCPagoweuvXAODgtA7Hr3PG5yICDV8So8+pD1cZ6Uo+tEp6AWhL+nrEiiQ/GF4hM4wJnHlTEhhdT99VN/ecv06Z5yx3E1rxmCZdAkMzZEMKnMhoWhZLI6rtbUdD0+YOxkmZhvOIVhMpXII+5jnpqUc3f7d01AAE3YjxJpixYjAnAHFFsGgZm/XiXaRKnem2qDAdnlNSjzEC5/BBOf1OYuXW7SwgQEUgk6ZV8YpN30mNY3U2MPJC45kMlL+z3h7PV3rURxfY3xYdqRC4eNBcr87OuNTjGZq x-ms-exchange-antispam-messagedata: ZZenbHF4TJfNbObL4sRGKejl602WH76XRwiGl7oPTq2P0GrwYi0N+3ezgN3gUUBPPWGYPba70K57k3cI7PTz6g9QKhsN1Gtn2n+K/JYFDadGousPj+klE+QASyuRzF0Tt6tsysXgx8O1hwGx0Y9LWQ== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB3802 Original-Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Joyce.Kong@arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5EUR03FT061.eop-EUR03.prod.protection.outlook.com X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFTY:; SFS:(10009020)(4636009)(346002)(376002)(136003)(39860400002)(396003)(46966005)(316002)(54906003)(7696005)(336012)(186003)(2906002)(26005)(82740400003)(8936002)(53546011)(33656002)(8676002)(81156014)(6506007)(66574012)(55016002)(4326008)(81166007)(5660300002)(478600001)(47076004)(356005)(6862004)(70586007)(70206006)(9686003)(52536014)(86362001); DIR:OUT; SFP:1101; X-MS-Office365-Filtering-Correlation-Id-Prvs: 2e4f325c-5eb4-4567-d584-08d7e2a7e6a1 X-Forefront-PRVS: 0376ECF4DD X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: sswHuygh4dPqarbgU1NkNNkNiawaDa5A+ElTYfd0laEb0hp6yANMShmjKWwU7TQ4jTwPMj3AIPUBoBAzwhNRPyE2rBcCdpZOqTq/yFrw237mLomZ5FLHwpvKKVTo0lRD+sBJypK3lW35cZKUVX8vZ43Ln6mGe0hyPVvJChy6Um4ccgXXa2IwqqORxH7IKvNcqpomIBfCXtf2cIALZvrgu73TlU2DYkQx+CGSQlgN/TX4h1/429CCdlxm97M2XVJssWeYkYhBoZJxCUi6kuevpkTfe1dfMBkHVSaPzKjz5MXvdjra1OJvEcoGbXbN7jOGYHYQFlXzvykQESX3+zKHL1vpbj5jLT+aQPWel0NLC3zV9AW9dru8T/JbYy2m9E4GIt+W95WnPCkYg4qz2KkuKZKd7xdcV7LShhW4tOhdSZ2gza9ZjuLX03C1ya+e3AnAyQGApv3hXdQQvJsVwk+BjNfK/kd1/jpF2Prp0Rklf5GIFuob6uQnB8X0mdGJcs9eeFTy03tWtt0yUZ6rdoGspw== X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Apr 2020 08:18:35.6885 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0348fba6-91f7-4aab-216c-08d7e2a7ecd4 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: DB7PR08MB3913 Subject: Re: [dpdk-dev] [PATCH v8 1/6] lib/eal: implement the family of commonbit operation APIs 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 c21hcnRzaGFyZXN5c3RlbXMuY29tPg0KPiBTZW50OiBGcmlkYXksIEFwcmlsIDE3LCAyMDIwIDI6 NTUgQU0NCj4gVG86IEpveWNlIEtvbmcgPEpveWNlLktvbmdAYXJtLmNvbT47IHRob21hc0Btb25q YWxvbi5uZXQ7DQo+IHN0ZXBoZW5AbmV0d29ya3BsdW1iZXIub3JnOyBkYXZpZC5tYXJjaGFuZEBy ZWRoYXQuY29tOw0KPiBqZXJpbmpAbWFydmVsbC5jb207IGJydWNlLnJpY2hhcmRzb25AaW50ZWwu Y29tOyByYXZpMS5rdW1hckBhbWQuY29tOw0KPiBybW9keUBtYXJ2ZWxsLmNvbTsgc2hzaGFpa2hA bWFydmVsbC5jb207IHh1YW56aXlhbmcyQGh1YXdlaS5jb207DQo+IGNsb3VkLndhbmd4aWFveXVu QGh1YXdlaS5jb207IHpob3VndW95YW5nQGh1YXdlaS5jb207IEhvbm5hcHBhDQo+IE5hZ2FyYWhh bGxpIDxIb25uYXBwYS5OYWdhcmFoYWxsaUBhcm0uY29tPjsgR2F2aW4gSHUNCj4gPEdhdmluLkh1 QGFybS5jb20+OyBQaGlsIFlhbmcgPFBoaWwuWWFuZ0Bhcm0uY29tPg0KPiBDYzogbmQgPG5kQGFy bS5jb20+OyBkZXZAZHBkay5vcmcNCj4gU3ViamVjdDogUkU6IFtkcGRrLWRldl0gW1BBVENIIHY4 IDEvNl0gbGliL2VhbDogaW1wbGVtZW50IHRoZSBmYW1pbHkgb2YNCj4gY29tbW9uYml0IG9wZXJh dGlvbiBBUElzDQo+IA0KPiA+IEZyb206IGRldiBbbWFpbHRvOmRldi1ib3VuY2VzQGRwZGsub3Jn XSBPbiBCZWhhbGYgT2YgSm95Y2UgS29uZw0KPiA+IFNlbnQ6IFRodXJzZGF5LCBBcHJpbCAxNiwg MjAyMCA3OjM5IEFNDQo+ID4NCj4gPiBCaXR3aXNlIG9wZXJhdGlvbiBBUElzIGFyZSBkZWZpbmVk IGFuZCB1c2VkIGluIGEgbG90IG9mIFBNRHMsIHdoaWNoDQo+ID4gY2F1c2VkIGEgaHVnZSBjb2Rl IGR1cGxpY2F0aW9uLiBUbyByZWR1Y2UgZHVwbGljYXRpb24sIHRoaXMgcGF0Y2gNCj4gPiBjb25z b2xpZGF0ZXMgdGhlbSBpbnRvIGEgY29tbW9uIEFQSSBmYW1pbHkuDQo+ID4NCj4gDQo+IFsuLi5d DQo+IA0KPiA+ICsvKioNCj4gPiArICogQHdhcm5pbmcNCj4gPiArICogQGIgRVhQRVJJTUVOVEFM OiB0aGlzIEFQSSBtYXkgY2hhbmdlLCBvciBiZSByZW1vdmVkLCB3aXRob3V0IHByaW9yDQo+ID4g bm90aWNlDQo+ID4gKyAqDQo+ID4gKyAqIFJldHVybiB0aGUgb3JpZ2luYWwgYml0IGZyb20gYSAz Mi1iaXQgdmFsdWUsIHRoZW4gc2V0IGl0IHRvIDENCj4gPiArd2l0aG91dA0KPiA+ICsgKiBtZW1v cnkgb3JkZXJpbmcuDQo+ID4gKyAqDQo+ID4gKyAqIEBwYXJhbSBucg0KPiA+ICsgKiAgIFRoZSB0 YXJnZXQgYml0IHRvIGdldCBhbmQgc2V0Lg0KPiA+ICsgKiBAcGFyYW0gYWRkcg0KPiA+ICsgKiAg IFRoZSBhZGRyZXNzIGhvbGRpbmcgdGhlIGJpdC4NCj4gPiArICogQHJldHVybg0KPiA+ICsgKiAg IFRoZSBvcmlnaW5hbCBiaXQuDQo+ID4gKyAqLw0KPiA+ICtfX3J0ZV9leHBlcmltZW50YWwNCj4g PiArc3RhdGljIGlubGluZSB1aW50MzJfdA0KPiA+ICtydGVfdGVzdF9hbmRfc2V0X2JpdDMyX3Jl bGF4ZWQodW5zaWduZWQgaW50IG5yLCB2b2xhdGlsZSB1aW50MzJfdA0KPiA+ICsqYWRkcikgew0K PiA+ICsJUlRFX0FTU0VSVChuciA8IDMyKTsNCj4gPiArDQo+ID4gKwl1aW50MzJfdCBtYXNrID0g VUlOVDMyX0MoMSkgPDwgbnI7DQo+ID4gKwl1aW50MzJfdCB2YWwgPSAqYWRkcjsNCj4gPiArCSph ZGRyID0gKCphZGRyKSB8IG1hc2s7DQo+IA0KPiBTdWdnZXN0aW9uOg0KPiAtCSphZGRyID0gKCph ZGRyKSB8IG1hc2s7DQo+ICsJKmFkZHIgPSB2YWwgfCBtYXNrOw0KPiANCg0KU2hhbGwgdGFrZSB0 aGUgYWR2aWNlIGluIHY5Lg0KVGhhbmtzLA0KSm95Y2UNCg0KPiA+ICsJcmV0dXJuIHZhbCAmIG1h c2s7DQo+ID4gK30NCj4gPiArDQo+ID4gKy8qKg0KPiA+ICsgKiBAd2FybmluZw0KPiA+ICsgKiBA YiBFWFBFUklNRU5UQUw6IHRoaXMgQVBJIG1heSBjaGFuZ2UsIG9yIGJlIHJlbW92ZWQsIHdpdGhv dXQgcHJpb3INCj4gPiBub3RpY2UNCj4gPiArICoNCj4gPiArICogUmV0dXJuIHRoZSBvcmlnaW5h bCBiaXQgZnJvbSBhIDMyLWJpdCB2YWx1ZSwgdGhlbiBjbGVhciBpdCB0byAwDQo+ID4gK3dpdGhv dXQNCj4gPiArICogbWVtb3J5IG9yZGVyaW5nLg0KPiA+ICsgKg0KPiA+ICsgKiBAcGFyYW0gbnIN Cj4gPiArICogICBUaGUgdGFyZ2V0IGJpdCB0byBnZXQgYW5kIGNsZWFyLg0KPiA+ICsgKiBAcGFy YW0gYWRkcg0KPiA+ICsgKiAgIFRoZSBhZGRyZXNzIGhvbGRpbmcgdGhlIGJpdC4NCj4gPiArICog QHJldHVybg0KPiA+ICsgKiAgIFRoZSBvcmlnaW5hbCBiaXQuDQo+ID4gKyAqLw0KPiA+ICtfX3J0 ZV9leHBlcmltZW50YWwNCj4gPiArc3RhdGljIGlubGluZSB1aW50MzJfdA0KPiA+ICtydGVfdGVz dF9hbmRfY2xlYXJfYml0MzJfcmVsYXhlZCh1bnNpZ25lZCBpbnQgbnIsIHZvbGF0aWxlIHVpbnQz Ml90DQo+ID4gKyphZGRyKSB7DQo+ID4gKwlSVEVfQVNTRVJUKG5yIDwgMzIpOw0KPiA+ICsNCj4g PiArCXVpbnQzMl90IG1hc2sgPSBVSU5UMzJfQygxKSA8PCBucjsNCj4gPiArCXVpbnQzMl90IHZh bCA9ICphZGRyOw0KPiA+ICsJKmFkZHIgPSAoKmFkZHIpICYgKH5tYXNrKTsNCj4gDQo+IFN1Z2dl c3Rpb246DQo+IC0JKmFkZHIgPSAoKmFkZHIpICYgKH5tYXNrKTsNCj4gKwkqYWRkciA9IHZhbCAm ICh+bWFzayk7DQo+IA0KDQpTaGFsbCB0YWtlIHRoZSBhZHZpY2UgaW4gdjkuDQoNCj4gPiArCXJl dHVybiB2YWwgJiBtYXNrOw0KPiA+ICt9DQo+ID4gKw0KPiA+ICsvKi0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0gNjQgYml0IG9wZXJhdGlvbnMNCj4gPiArLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQ0KPiA+IC0tLSovDQo+ID4gKw0KPiANCj4gWy4uLl0NCj4gDQo+ID4gKy8qKg0KPiA+ICsg KiBAd2FybmluZw0KPiA+ICsgKiBAYiBFWFBFUklNRU5UQUw6IHRoaXMgQVBJIG1heSBjaGFuZ2Us IG9yIGJlIHJlbW92ZWQsIHdpdGhvdXQgcHJpb3INCj4gPiBub3RpY2UNCj4gPiArICoNCj4gPiAr ICogUmV0dXJuIHRoZSBvcmlnaW5hbCBiaXQgZnJvbSBhIDY0LWJpdCB2YWx1ZSwgdGhlbiBzZXQg aXQgdG8gMQ0KPiA+ICt3aXRob3V0DQo+ID4gKyAqIG1lbW9yeSBvcmRlcmluZy4NCj4gPiArICoN Cj4gPiArICogQHBhcmFtIG5yDQo+ID4gKyAqICAgVGhlIHRhcmdldCBiaXQgdG8gZ2V0IGFuZCBz ZXQuDQo+ID4gKyAqIEBwYXJhbSBhZGRyDQo+ID4gKyAqICAgVGhlIGFkZHJlc3MgaG9sZGluZyB0 aGUgYml0Lg0KPiA+ICsgKiBAcmV0dXJuDQo+ID4gKyAqICAgVGhlIG9yaWdpbmFsIGJpdC4NCj4g PiArICovDQo+ID4gK19fcnRlX2V4cGVyaW1lbnRhbA0KPiA+ICtzdGF0aWMgaW5saW5lIHVpbnQ2 NF90DQo+ID4gK3J0ZV90ZXN0X2FuZF9zZXRfYml0NjRfcmVsYXhlZCh1bnNpZ25lZCBpbnQgbnIs IHZvbGF0aWxlIHVpbnQ2NF90DQo+ID4gKyphZGRyKSB7DQo+ID4gKwlSVEVfQVNTRVJUKG5yIDwg NjQpOw0KPiA+ICsNCj4gPiArCXVpbnQ2NF90IG1hc2sgPSBVSU5UNjRfQygxKSA8PCBucjsNCj4g PiArCXVpbnQ2NF90IHZhbCA9ICphZGRyOw0KPiA+ICsJKmFkZHIgPSAoKmFkZHIpIHwgbWFzazsN Cj4gDQo+IFN1Z2dlc3Rpb246DQo+IC0JKmFkZHIgPSAoKmFkZHIpIHwgbWFzazsNCj4gKwkqYWRk ciA9IHZhbCB8IG1hc2s7DQo+IA0KDQpTaGFsbCB0YWtlIHRoZSBhZHZpY2UgaW4gdjkuDQoNCj4g PiArCXJldHVybiB2YWw7DQo+ID4gK30NCj4gPiArDQo+ID4gKy8qKg0KPiA+ICsgKiBAd2Fybmlu Zw0KPiA+ICsgKiBAYiBFWFBFUklNRU5UQUw6IHRoaXMgQVBJIG1heSBjaGFuZ2UsIG9yIGJlIHJl bW92ZWQsIHdpdGhvdXQgcHJpb3INCj4gPiBub3RpY2UNCj4gPiArICoNCj4gPiArICogUmV0dXJu IHRoZSBvcmlnaW5hbCBiaXQgZnJvbSBhIDY0LWJpdCB2YWx1ZSwgdGhlbiBjbGVhciBpdCB0byAw DQo+ID4gK3dpdGhvdXQNCj4gPiArICogbWVtb3J5IG9yZGVyaW5nLg0KPiA+ICsgKg0KPiA+ICsg KiBAcGFyYW0gbnINCj4gPiArICogICBUaGUgdGFyZ2V0IGJpdCB0byBnZXQgYW5kIGNsZWFyLg0K PiA+ICsgKiBAcGFyYW0gYWRkcg0KPiA+ICsgKiAgIFRoZSBhZGRyZXNzIGhvbGRpbmcgdGhlIGJp dC4NCj4gPiArICogQHJldHVybg0KPiA+ICsgKiAgIFRoZSBvcmlnaW5hbCBiaXQuDQo+ID4gKyAq Lw0KPiA+ICtfX3J0ZV9leHBlcmltZW50YWwNCj4gPiArc3RhdGljIGlubGluZSB1aW50NjRfdA0K PiA+ICtydGVfdGVzdF9hbmRfY2xlYXJfYml0NjRfcmVsYXhlZCh1bnNpZ25lZCBpbnQgbnIsIHZv bGF0aWxlIHVpbnQ2NF90DQo+ID4gKyphZGRyKSB7DQo+ID4gKwlSVEVfQVNTRVJUKG5yIDwgNjQp Ow0KPiA+ICsNCj4gPiArCXVpbnQ2NF90IG1hc2sgPSBVSU5UNjRfQygxKSA8PCBucjsNCj4gPiAr CXVpbnQ2NF90IHZhbCA9ICphZGRyOw0KPiA+ICsJKmFkZHIgPSAoKmFkZHIpICYgKH5tYXNrKTsN Cj4gDQo+IFN1Z2dlc3Rpb246DQo+IC0JKmFkZHIgPSAoKmFkZHIpICYgKH5tYXNrKTsNCj4gKwkq YWRkciA9IHZhbCAmICh+bWFzayk7DQo+IA0KDQpTaGFsbCB0YWtlIHRoZSBhZHZpY2UgaW4gdjku DQoNCj4gPiArCXJldHVybiB2YWwgJiBtYXNrOw0KPiA+ICt9DQo+ID4gKw0KPiA+ICsjZW5kaWYg LyogX1JURV9CSVRPUFNfSF8gKi8NCj4gPiAtLQ0KPiA+IDIuMTcuMQ0KPiA+DQoNCg==