From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id EAED5A055D; Mon, 1 Mar 2021 04:16:41 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6B76840684; Mon, 1 Mar 2021 04:16:41 +0100 (CET) Received: from hqnvemgate24.nvidia.com (hqnvemgate24.nvidia.com [216.228.121.143]) by mails.dpdk.org (Postfix) with ESMTP id 981A24014E for ; Mon, 1 Mar 2021 04:16:39 +0100 (CET) Received: from hqpgpgate102.nvidia.com (Not Verified[216.228.121.13]) by hqnvemgate24.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA) id ; Sun, 28 Feb 2021 19:16:38 -0800 Received: from HQMAIL105.nvidia.com ([172.20.161.6]) by hqpgpgate102.nvidia.com (PGP Universal service); Sun, 28 Feb 2021 19:16:38 -0800 X-PGP-Universal: processed; by hqpgpgate102.nvidia.com on Sun, 28 Feb 2021 19:16:38 -0800 Received: from HKMAIL101.nvidia.com (10.18.16.10) by HQMAIL105.nvidia.com (172.20.187.12) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Mon, 1 Mar 2021 03:16:35 +0000 Received: from HKMAIL103.nvidia.com (10.18.16.12) by HKMAIL101.nvidia.com (10.18.16.10) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Mon, 1 Mar 2021 03:16:30 +0000 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.100) by HKMAIL103.nvidia.com (10.18.16.12) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Mon, 1 Mar 2021 03:16:30 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YaDeOcFfJal4DJ3hZNqoIfq6UZI2mqc/rsXJaTfYcaZfl7QtxU2jB65x+A164L5GsHRa7gxtFgmBiJiYckCloTeH8K1hLe546d3fs9dyww7IBF9166f198BjyKDzBD+lUXv1yATULFwhWek6uBnkwRLM72bRMJEwCcjO5LYIsYF344+fFJcFTZVrodbuPWsVRn+IEH1Tiw5mrbOb3hZqq8QsV3RueSZAa0JS81GgSkGk6SwjWfUER3wLsz0WhWQcw8dTARRptNF3k4ndrQDODDSCkaG+s+m9P24mxUJ4QNXrgJIM1AqprkDY04xPruJfLH3567C4eXzulC80/5bD1w== 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=rf0tt7G/A0VQ/9UqXAU/nRsZITIkq5Z0BYcSDToyaQc=; b=lDzg7k7+Mj5ZI7kSEhc0M1CztSKWhfiuHN6Ts3QaTvGV4MbM8bRoM/YK1CQVGIdtm3sNV/qCldQPB+HhmhEksD25TBvUE/bkN5nagLLFIwRPmto+v5v4QyQYW+bS961IyaGLb5+J94L7s6Sz6mBwoqfZL+ydQnUiNbwb5N1oRwS29QaGqjLG3vwtLW4m1g667/NUctH+HbFIIiV+E9YfRSa2Bp7++CD0Sk0MXgQgMYBiY7MSwwgtpKwzE41Iq4FWYRMuNj7oiZWgJV+4570p3Zm/sqfUlAKQi667RMn/M7O7gK+mqvbEWaiWJhr448INkqOp5FktsCDd0bEnyTCqvQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none Received: from DM6PR12MB4090.namprd12.prod.outlook.com (2603:10b6:5:217::11) by DM5PR12MB1275.namprd12.prod.outlook.com (2603:10b6:3:75::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3890.19; Mon, 1 Mar 2021 03:16:28 +0000 Received: from DM6PR12MB4090.namprd12.prod.outlook.com ([fe80::6db7:9c8b:8a98:44b2]) by DM6PR12MB4090.namprd12.prod.outlook.com ([fe80::6db7:9c8b:8a98:44b2%4]) with mapi id 15.20.3890.028; Mon, 1 Mar 2021 03:16:28 +0000 From: Li Zhang To: =?utf-8?B?TW9ydGVuIEJyw7hydXA=?= , Ferruh Yigit , Dekel Peled , Ori Kam , Slava Ovsiienko , Matan Azrad , "Dumitrescu, Cristian" CC: "dev@dpdk.org" , NBU-Contact-Thomas Monjalon , Raslan Darawsheh Thread-Topic: [dpdk-dev] [PATCH] [RFC, v2]: adds support PPS(packet per second) on meter Thread-Index: AQHW8rhPP7jTAVlP/EirmjGX12+Hhqo9YSUAgBbeOYCAEOuXgIAAVwpQgAkqKuA= Date: Mon, 1 Mar 2021 03:16:28 +0000 Message-ID: References: <20210125010235.1768333-2-lizh@nvidia.com> <20210125012023.1769769-1-lizh@nvidia.com> <20210125012023.1769769-2-lizh@nvidia.com> <8eb6bf7a-f317-68e0-2cdc-e0b7d675a8f1@intel.com> <98CBD80474FA8B44BF855DF32C47DC35C615E0@smartserver.smartshare.dk> <98CBD80474FA8B44BF855DF32C47DC35C61614@smartserver.smartshare.dk> In-Reply-To: <98CBD80474FA8B44BF855DF32C47DC35C61614@smartserver.smartshare.dk> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: smartsharesystems.com; dkim=none (message not signed) header.d=none; smartsharesystems.com; dmarc=none action=none header.from=nvidia.com; x-originating-ip: [139.227.47.201] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 6c2da485-b5ce-48db-61fe-08d8dc60676e x-ms-traffictypediagnostic: DM5PR12MB1275: x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-header: ProcessedBy-CMR-outbound x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: nP38dK7qXubWek5tGSCrAdxyGk/R94MyiSlJQnU6OI5LDgMJDzbdKTUMrUBRP8cHNj/HEK8Rl0v4PNvJWzoFJNznOd6fRoajOALhEZ0E8jEuAYKJjut1quddut4gi8hCwt47K2a708OZgOBkLlfK9WxsToiIKid91jZNadnmJrOc3y9efr/euZwY+Y7azBqSnTryfAlAD/TIPlzDLnwsM260E+s5oM3A1VVX+kW37xcBw72Rkp4TWMiBtgv+OfRGNcvNCIYr0gcbUdRTu+z00OjmcLlixTYo82E/d52ShCPLjLYNzjDdjBq+JJfWubA383F0q6Scj4tf299gPBz6W+I0hvOCvhQvg5Zc1qnfN/ViDWktaMVcSqa3i1J2Ct0cbbPkPUKcf5vgmMnCmrSLtVqcZGi1Xn670p/G3+RvCg6kkVBoiyz/GbhZngZA/945rgNRZkVrLQr/G0QyPCmH4NpnRE+xmC7HIt9C9bb2BNgX88mq15Nh6/kWtS0hxANeDLFxlItSj7lRUQQ4Wtfz1A== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR12MB4090.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(346002)(366004)(376002)(136003)(39860400002)(396003)(316002)(107886003)(52536014)(5660300002)(66574015)(4326008)(54906003)(86362001)(71200400001)(478600001)(8676002)(110136005)(66556008)(83380400001)(26005)(53546011)(66476007)(6506007)(66946007)(66446008)(55016002)(8936002)(2906002)(64756008)(186003)(33656002)(76116006)(7696005)(9686003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?utf-8?B?U3RCbmYwZzhxQnZOUS95cVJYVXo3V21jUWVXTFZjOElJcDF6Nlc0RTVRK2Mv?= =?utf-8?B?T09TUkZVdlJTZFJ2WjZjNzRGWElDSGM5TmVVRlptOGVnT0ZqemMyNytiMno1?= =?utf-8?B?V3UxOU9ZcEg5TnUwakJoRnVRc3lLL2FQelhKcS8wNFlkNkl3aE4yaXd2Vzgy?= =?utf-8?B?MXovaU4vSlMrVEpkRVBwcUdpVXA1b2NaZnQ2TUVRMXRtQlIrMWpzZkRYSEZF?= =?utf-8?B?dkdxWDVheGI0dU1lb1IzeVVpaVYrWHI5aVQ4WWhyTTdCVzZ5bExhM1E3RXIz?= =?utf-8?B?ejQ2R1EwRmJTK21PWVFYK1lpL0gyaUNXbU5tbWpmMmJOZTM3eHA2d3ZCNG0x?= =?utf-8?B?ZFVXYkJSRDFqdUZZeVJCY1NZQ1lrNzkrOFc2a0FJQk5PTyt4R25xK0xiNWFK?= =?utf-8?B?S1B3Qys4cytubzcxcWorNHY2ZWJqMnBLTkVTcFhKUTdGb2xTdnlSNVJWYmZ5?= =?utf-8?B?VnBRcCsxNmNEWlJMMzQ0QjNnZWdxd3Q1YXF0QWMyWDE4eDZRV1J3d1ZXdzFK?= =?utf-8?B?SEhlREFRcFJ2QTRkR2UvWHl1RG1wNE5Ub3pZczdubk9OblFHYlQ1SmVmYnpR?= =?utf-8?B?ZWNHWTJobkk2eit2ZDUyckFCaGp6VVhrdjhrY05EbnV1bHZ5S0ZpSlVuOTVa?= =?utf-8?B?dHB0cEdFT21Pc2VlRklrSzFKZGh6U1R6WXdNaC9RMGhRajlJRldMb09tRDBK?= =?utf-8?B?TXRLYnhYUXoyQTF3blNkSi9uWktOaHNMR2JVLzZrQ0FtU1E5Y0NNVjNORnZO?= =?utf-8?B?SEhuUWJ2V01QbEF1cjl3ck1IK2s1cEFyaGFsYnc1NlNaMnRQRWJrRW4vbzc1?= =?utf-8?B?NVFHOGdsbHBUSXUyVGVhWkovS0hzaVBpTFl2VHJlT1NUaCtZNVZLdXJ2azlr?= =?utf-8?B?blhwUzhxdkVqeWIxQlJ2UktnQlVQMnZqSC9PaGJqTWhNRG5CbFFibnRFK0pJ?= =?utf-8?B?OUtQY295eGdCQWxrQ0xXQ1VRaC93ckhQZjkvVXhqT1NXUkxvb3JabWl1ME1k?= =?utf-8?B?RTA4WUN0M0J2WFhEcVpOUk1RNWo2cmIrU1lOQ1Rka0JOL0haaVB3VlZHTGxH?= =?utf-8?B?WnBOSmpIZm8rWjdWZytIRHNVNjV6eElkRHpEalBXOHkyZUxRS25QY0ZocUlW?= =?utf-8?B?QUhOTG44V2Rja0lpYXNwUDVaZHlHcy9MV3FETGdIOG90ai8zcVo0OW9WSkVH?= =?utf-8?B?RVVDaHpKV3hKZ29ycDliTEdtdm03TXpXeVF3WjBCcGVLZ2hwYlpZMEZGeHZW?= =?utf-8?B?Q1BpNzlXV1lMdklaaWI1UWVDRSsxdGdQZnhuWVMzd25HdGV1dytNc3NMMENq?= =?utf-8?B?VlVWejZlWHVMWU15UWN5SDhBa0FEUkNDNXRIYktHY2wvOTAxdUdUd2xvMFlI?= =?utf-8?B?b1YwdjZNdU1RYVVMZTd5TE1OQngxTjdvZlZRcXpnaFo0SDhmZ3FTUE5pZHp6?= =?utf-8?B?SjRGdlMxL0xQU2w2ZzRMS04xN3daUzQ0WXVSaFdPeENrSlhYK1puRXNaMUMz?= =?utf-8?B?QzV1WUJqN2lwaFRVZFFOWU84T3B1WGhGYktQZnl1WmNoY0M1bjBrbGxXMGI3?= =?utf-8?B?VXhnTnlQTmd1ZmFFWVl3dWFLSHhDdUQ0aEtHQm14MTExa0JwbzY2QlBZY1ZE?= =?utf-8?B?Q3FqNlE4aWhJWmdMbDNVcDlpd0toZnozVXpNSWRMaEc2RFArU1d5MjFDTFRB?= =?utf-8?B?U3NrcktRUlFxSm9XbDVCeG83RXVmbDBvNTlPZWsrM2hWcHhVWVhXQ0JCMS9a?= =?utf-8?Q?1amzA0iWTwJwLDx9FMMn9QJvLvrcB5da/Kn/EMa?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR12MB4090.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6c2da485-b5ce-48db-61fe-08d8dc60676e X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Mar 2021 03:16:28.1520 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: NN9EQpJhzgF8ffyWSTZmSItPDI7q2V49JoUmMcIiaBCFn1Fmn/zXk0uvv4DoX48W X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR12MB1275 X-OriginatorOrg: Nvidia.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; t=1614568598; bh=rf0tt7G/A0VQ/9UqXAU/nRsZITIkq5Z0BYcSDToyaQc=; h=X-PGP-Universal:ARC-Seal:ARC-Message-Signature: ARC-Authentication-Results:From:To:CC:Subject:Thread-Topic: Thread-Index:Date:Message-ID:References:In-Reply-To: Accept-Language:Content-Language:X-MS-Has-Attach: X-MS-TNEF-Correlator:authentication-results:x-originating-ip: x-ms-publictraffictype:x-ms-office365-filtering-correlation-id: x-ms-traffictypediagnostic:x-ld-processed: x-ms-exchange-transport-forked:x-microsoft-antispam-prvs:x-header: x-ms-oob-tlc-oobclassifiers:x-ms-exchange-senderadcheck: x-microsoft-antispam:x-microsoft-antispam-message-info: x-forefront-antispam-report:x-ms-exchange-antispam-messagedata: Content-Type:Content-Transfer-Encoding:MIME-Version: X-MS-Exchange-CrossTenant-AuthAs: X-MS-Exchange-CrossTenant-AuthSource: X-MS-Exchange-CrossTenant-Network-Message-Id: X-MS-Exchange-CrossTenant-originalarrivaltime: X-MS-Exchange-CrossTenant-fromentityheader: X-MS-Exchange-CrossTenant-id:X-MS-Exchange-CrossTenant-mailboxtype: X-MS-Exchange-CrossTenant-userprincipalname: X-MS-Exchange-Transport-CrossTenantHeadersStamped:X-OriginatorOrg; b=Zs+KiRsiw3tWb++8iMBHsKGwiTVlNMrPd0Gs6q3lH5AXDccwqaZDQjnFeVQE4Dypz pqsKZEqNAApLi7WMv2/5ujKe+Fw9Z14A+hd3UPEyN+ZCLRFbuM7foZLqYNo/gyYoNC h/XVZlmHvX2ExHe/J7D4I6T7LoV06d/7tReBFchQKMFa8ylAH4RJYy2/MdkW5zIZaj EwsYwSum45+2/1tE3+y0O78dWHLJ4TCZfN4ITX3BwDcZ0RHSHTx11h2soQmk3YMReG m2qsPo2bQVJXVwaGphGbDgymtuiJfo8w7D3lESYDhknJxj+h+ICU+FU8AKN9CaJ1dR mCOVnZWkOcJQw== Subject: Re: [dpdk-dev] [PATCH] [RFC, v2]: adds support PPS(packet per second) on meter X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 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" SGkgTW9ydGVuLA0KDQpUaGFuayB5b3UgZm9yIHlvdXIgY29tbWVudHMuDQpJdCBpcyBwYWNrZXQg Y291bnQgaW5zdGVhZCBvZiBmcmFtZXMgY291bnQuDQpTbyA0SyBUQ1AgcGFja2V0IHNob3VsZCBi ZSBoYW5kbGUgYXMgb25lIGluc3RlYWQgb2YgMyBFdGhlcm5ldCBGcmFtZXMuDQoNCldlIHdpbGwg dXBkYXRlIHRoZSBzdHJ1Y3QgYXMgYmVsb3c6DQplbnVtIHJ0ZV9tdHJfYWxnb3JpdGhtIHsNCi4u Li4uLg0KCS8qKiBTaW5nbGUgUmF0ZSBUaHJlZSBDb2xvciBNYXJrZXIsIFBhY2tldCBiYXNlZCAo c3JUQ01wKS4NCgkgKiAtIC0gc2ltaWxhciB0byBJRVRGIFJGQyAyNjk3IGJ1dCByYXRlIGlzIHBh Y2tldCBwZXIgc2Vjb25kLg0KCSAqLw0KCVJURV9NVFJfU1JUQ01QLA0KfQ0KCQ0Kc3RydWN0IHJ0 ZV9tdHJfbWV0ZXJfcHJvZmlsZSB7DQouLi4uLi4JCQ0KCQkvKiogSXRlbXMgb25seSB2YWxpZCB3 aGVuICphbGcqIGlzIHNldCB0byBzclRDTXAuICovDQoJCXN0cnVjdCB7DQoJCQkvKiogQ29tbWl0 dGVkIEluZm9ybWF0aW9uIFJhdGUgKENJUikNCgkJCSAqIChwYWNrZXRzL3NlY29uZCkuDQoJCQkg Ki8NCgkJCXVpbnQ2NF90IGNpcjsNCg0KCQkJLyoqIENvbW1pdHRlZCBCdXJzdCBTaXplIChDQlMp IChwYWNrZXRzKS4gKi8NCgkJCXVpbnQ2NF90IGNiczsNCg0KCQkJLyoqIEV4Y2VzcyBCdXJzdCBT aXplIChFQlMpIChwYWNrZXRzKS4gKi8NCgkJCXVpbnQ2NF90IGViczsNCgkJfSBzcnRjbXA7DQp9 DQoNClJlZ2FyZHMsDQpMaSBaaGFuZw0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBG cm9tOiBkZXYgPGRldi1ib3VuY2VzQGRwZGsub3JnPiBPbiBCZWhhbGYgT2YgTW9ydGVuIEJyP3J1 cA0KPiBTZW50OiBUdWVzZGF5LCBGZWJydWFyeSAyMywgMjAyMSA0OjI1IFBNDQo+IFRvOiBMaSBa aGFuZyA8bGl6aEBudmlkaWEuY29tPjsgRmVycnVoIFlpZ2l0IDxmZXJydWgueWlnaXRAaW50ZWwu Y29tPjsgRGVrZWwNCj4gUGVsZWQgPGRla2VscEBudmlkaWEuY29tPjsgT3JpIEthbSA8b3Jpa2FA bnZpZGlhLmNvbT47IFNsYXZhIE92c2lpZW5rbw0KPiA8dmlhY2hlc2xhdm9AbnZpZGlhLmNvbT47 IE1hdGFuIEF6cmFkIDxtYXRhbkBudmlkaWEuY29tPjsgRHVtaXRyZXNjdSwNCj4gQ3Jpc3RpYW4g PGNyaXN0aWFuLmR1bWl0cmVzY3VAaW50ZWwuY29tPg0KPiBDYzogZGV2QGRwZGsub3JnOyBOQlUt Q29udGFjdC1UaG9tYXMgTW9uamFsb24gPHRob21hc0Btb25qYWxvbi5uZXQ+Ow0KPiBSYXNsYW4g RGFyYXdzaGVoIDxyYXNsYW5kQG52aWRpYS5jb20+DQo+IFN1YmplY3Q6IFJlOiBbZHBkay1kZXZd IFtQQVRDSF0gW1JGQywgdjJdOiBhZGRzIHN1cHBvcnQgUFBTKHBhY2tldCBwZXIgc2Vjb25kKQ0K PiBvbiBtZXRlcg0KPiANCj4gPiBGcm9tOiBkZXYgW21haWx0bzpkZXYtYm91bmNlc0BkcGRrLm9y Z10gT24gQmVoYWxmIE9mIExpIFpoYW5nDQo+ID4gU2VudDogVHVlc2RheSwgRmVicnVhcnkgMjMs IDIwMjEgMzowNyBBTQ0KPiA+DQo+ID4gVGhhbmtzIGZvciB5b3VyIGNvbW1lbnRzLg0KPiA+IFdl IGNoYW5nZWQgdGhlIHN0cnVjdCBhcyBiZWxvdzoNCj4gPiBzdHJ1Y3QgcnRlX210cl9tZXRlcl9w cm9maWxlIHsNCj4gPiAgLi4uLi4uDQo+ID4gCQkvKiogSXRlbXMgb25seSB2YWxpZCB3aGVuIGFs ZyBpcyBzZXQgdG8gc3ByVENNLiAqLw0KPiA+IAkJc3RydWN0IHsNCj4gPiAJCQkvKiogQ29tbWl0 dGVkIEluZm9ybWF0aW9uIFBhY2tldCBSYXRlIChDSVBSKS4gKi8NCj4gPiAJCQl1aW50NjRfdCBj aXByOw0KPiA+DQo+ID4gCQkJLyoqIENvbW1pdHRlZCBQYWNrZXQgQnVyc3QgU2l6ZSAoQ1BCUyku ICovDQo+ID4gCQkJdWludDY0X3QgY3BiczsNCj4gPg0KPiA+IAkJCS8qKiBFeGNlc3MgUGFja2V0 IEJ1cnN0IFNpemUgKEVQQlMpLiAqLw0KPiA+IAkJCXVpbnQ2NF90IGVwYnM7DQo+ID4gCQl9IHNw cnRjbTsNCj4gPiB9DQo+IA0KPiBUaGF0IGlzIGNlcnRhaW5seSBub3QgYW4gaW1wcm92ZW1lbnQh IFBsZWFzZSBzdGljayB3aXRoIHRoZSBicm9hZGx5IGFjY2VwdGVkDQo+IGluZHVzdHJ5IHN0YW5k YXJkIG5hbWVzIChDSVIsIENCUywgRUJTLCBldGMuKS4gTmV3bHkgaW52ZW50ZWQgbmFtZXMgbGlr ZSBDSVBSDQo+IHdpbGwgb25seSBjYXVzZSBjb25mdXNpb24uIFBsZWFzZSBub3RlIHRoYXQgQ0lS LCBDQlMsIEVCUyBkb24ndCBzYXkgYW55dGhpbmcNCj4gYWJvdXQgdGhlaXIgdW5pdHM7IGl0IGNv dWxkIGJlIGJ5dGVzLCBwYWNrZXRzLCBjZWxscywgZnJhbWVzLCBtZXNzYWdlcyBvcg0KPiBhbnl0 aGluZyBlbHNlLiBTbyBpdCBpcyBwZXJmZWN0bHkgbmF0dXJhbCB1c2luZyB0aGUgc2FtZSBuYW1l cyBmb3IgcGFja2V0cw0KPiBpbnN0ZWFkIG9mIGJ5dGVzLg0KPiANCj4gSSBwcm9wb3NlIHRoZSBm b2xsb3dpbmcgbW9kaWZpY2F0aW9ucyBpbnN0ZWFkLg0KPiANCj4gRm9yIHRoZSBhbGdvcml0aG0s IGtlZXAgdGhlICJTaW5nbGUgUmF0ZSBUaHJlZSBDb2xvciBNYXJrZXIiIG5hbWUgbWVudGlvbmVk DQo+IGluIHRoZSBSRkNzLCBidXQgaW5kaWNhdGUgdGhhdCB0aGUgdmFyaWFudCBpcyBwYWNrZXQg YmFzZWQ6DQo+IA0KPiAJLyoqIFNpbmdsZSBSYXRlIFRocmVlIENvbG9yIE1hcmtlciwgUGFja2V0 IGJhc2VkIChzclRDTXApLiAqLw0KPiAJUlRFX01UUl9TUlRDTVAsDQo+IA0KPiBPciBpZiB5b3Ug cHJlZmVyIHRoZSBwYWNrZXQgYmFzZWQgaW5kaWNhdG9yIGF0IHRoZSBmcm9udCBpbnN0ZWFkOg0K PiANCj4gCS8qKiBQYWNrZXQgYmFzZWQgU2luZ2xlIFJhdGUgVGhyZWUgQ29sb3IgTWFya2VyIChw c3JUQ00pLiAqLw0KPiAJUlRFX01UUl9QU1JUQ00sDQo+IA0KPiBBbmQgZm9yIHRoZSBtZXRlciBw cm9maWxlLCBrZWVwIHRoZSBpbmR1c3RyeSBzdGFuZGFyZCBuYW1lcywgYnV0IHVwZGF0ZSB0aGUN Cj4gZGVzY3JpcHRpb25zOg0KPiANCj4gIAkJLyoqIEl0ZW1zIG9ubHkgdmFsaWQgd2hlbiAqYWxn KiBpcyBzZXQgdG8gc3JUQ01wLiAqLw0KPiAgCQlzdHJ1Y3Qgew0KPiAgCQkJLyoqIENvbW1pdHRl ZCBJbmZvcm1hdGlvbiBSYXRlIChDSVIpDQo+IChwYWNrZXRzL3NlY29uZCkuICovDQo+ICAJCQl1 aW50NjRfdCBjaXI7DQo+IA0KPiAgCQkJLyoqIENvbW1pdHRlZCBCdXJzdCBTaXplIChDQlMpIChw YWNrZXRzKS4gKi8NCj4gIAkJCXVpbnQ2NF90IGNiczsNCj4gDQo+ICAJCQkvKiogRXhjZXNzIEJ1 cnN0IFNpemUgKEVCUykgKHBhY2tldHMpLiAqLw0KPiAgCQkJdWludDY0X3QgZWJzOw0KPiAgCQl9 IHNydGNtcDsNCj4gDQo+IA0KPiBDb21lIHRvIHRoaW5rIG9mIGl0OiBJcyB0aGUgdW5pdCBwYWNr ZXRzLCBvciBpcyBpdCBhY3R1YWxseSBFdGhlcm5ldCBmcmFtZXM/IEluDQo+IG90aGVyIHdvcmRz OiBEb2VzIGEgNCBLQiBUQ1AgcGFja2V0IHRoYXQgdGhlIE5JQydzIG9mZmxvYWQgZnVuY3Rpb24g Y2hvcHMgdXANCj4gaW50byB0aHJlZSBFdGhlcm5ldCBmcmFtZXMgY291bnQgYXMgb25lIG9yIHRo cmVlIGluIHRoaXMgYWxnb3JpdGhtPw0KPiANCj4gDQo+IE1lZCB2ZW5saWcgaGlsc2VuIC8ga2lu ZCByZWdhcmRzDQo+IC0gTW9ydGVuIEJyw7hydXANCj4gDQo+ID4NCj4gPiBSZWdhcmRzLA0KPiA+ IExpIFpoYW5nDQo+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gRnJvbTog ZGV2IDxkZXYtYm91bmNlc0BkcGRrLm9yZz4gT24gQmVoYWxmIE9mIE1vcnRlbiBCcj9ydXANCj4g PiA+IFNlbnQ6IEZyaWRheSwgRmVicnVhcnkgMTIsIDIwMjEgMzo0MSBQTQ0KPiA+ID4gVG86IEZl cnJ1aCBZaWdpdCA8ZmVycnVoLnlpZ2l0QGludGVsLmNvbT47IExpIFpoYW5nDQo+ID4gPGxpemhA bnZpZGlhLmNvbT47IERla2VsDQo+ID4gPiBQZWxlZCA8ZGVrZWxwQG52aWRpYS5jb20+OyBPcmkg S2FtIDxvcmlrYUBudmlkaWEuY29tPjsgU2xhdmENCj4gPiBPdnNpaWVua28NCj4gPiA+IDx2aWFj aGVzbGF2b0BudmlkaWEuY29tPjsgTWF0YW4gQXpyYWQgPG1hdGFuQG52aWRpYS5jb20+Ow0KPiA+ ID4gRHVtaXRyZXNjdSwgQ3Jpc3RpYW4gPGNyaXN0aWFuLmR1bWl0cmVzY3VAaW50ZWwuY29tPg0K PiA+ID4gQ2M6IGRldkBkcGRrLm9yZzsgTkJVLUNvbnRhY3QtVGhvbWFzIE1vbmphbG9uDQo+IDx0 aG9tYXNAbW9uamFsb24ubmV0PjsNCj4gPiA+IFJhc2xhbiBEYXJhd3NoZWggPHJhc2xhbmRAbnZp ZGlhLmNvbT4NCj4gPiA+IFN1YmplY3Q6IFJlOiBbZHBkay1kZXZdIFtQQVRDSF0gW1JGQywgdjJd OiBhZGRzIHN1cHBvcnQgUFBTKHBhY2tldA0KPiA+IHBlciBzZWNvbmQpDQo+ID4gPiBvbiBtZXRl cg0KPiA+ID4NCj4gPiA+ID4gRnJvbTogZGV2IFttYWlsdG86ZGV2LWJvdW5jZXNAZHBkay5vcmdd IE9uIEJlaGFsZiBPZiBGZXJydWggWWlnaXQNCj4gPiA+ID4gU2VudDogVGh1cnNkYXksIEphbnVh cnkgMjgsIDIwMjEgNzoyOCBQTQ0KPiA+ID4gPg0KPiA+ID4gPiBPbiAxLzI1LzIwMjEgMToyMCBB TSwgTGkgWmhhbmcgd3JvdGU6DQo+ID4gPiA+ID4gQ3VycmVudGx5IHRoZSBmbG93IE1ldGVyIGFs Z29yaXRobXMgaW4gcnRlX2Zsb3cgb25seSBzdXBwb3J0cw0KPiA+IGJ5dGVzDQo+ID4gPiA+ID4g cGVyIHNlY29uZChCUFMpLg0KPiA+ID4gPiA+IFN1Y2ggYXMgU2luZ2xlIFJhdGUgVGhyZWUgQ29s b3IgTWFya2VyIChzclRDTSByZmMyNjk3KSBUaGlzIFJGQw0KPiA+IGFkZHMNCj4gPiA+ID4gPiB0 aGUgcGFja2V0IHBlciBzZWNvbmQgZGVmaW5pdGlvbiBpbiBNZXRlciBhbGdvcml0aG1zIHN0cnVj dHVyZSwNCj4gPiB0bw0KPiA+ID4gPiA+IHN1cHBvcnQgdGhlIHJ0ZV9tdHIgQVBJcyB3aXRoIHR5 cGUgc3JUQ00gcHBzIG1vZGUuDQo+ID4gPiA+ID4gVGhlIGJlbG93IHN0cnVjdHVyZSB3aWxsIGJl IGV4dGVuZGVkOg0KPiA+ID4gPiA+IHJ0ZV9tdHJfYWxnb3JpdGhtDQo+ID4gPiA+ID4gcnRlX210 cl9tZXRlcl9wcm9maWxlDQo+ID4gPiA+ID4gU2lnbmVkLW9mZi1ieTogTGkgWmhhbmcgPGxpemhA bnZpZGlhLmNvbT4NCj4gPiA+ID4NCj4gPiA+ID4gY2MnZWQgQ3Jpc3RpYW4gZm9yIHJldmlldy9j b21tZW50Lg0KPiA+ID4gPg0KPiA+ID4gPiA+IC0tLQ0KPiA+ID4gPiA+ICAgbGliL2xpYnJ0ZV9l dGhkZXYvcnRlX210ci5oIHwgMjggKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KPiA+ID4g PiA+ICAgMSBmaWxlIGNoYW5nZWQsIDI4IGluc2VydGlvbnMoKykNCj4gPiA+ID4gPg0KPiA+ID4g PiA+IGRpZmYgLS1naXQgYS9saWIvbGlicnRlX2V0aGRldi9ydGVfbXRyLmgNCj4gPiA+ID4gYi9s aWIvbGlicnRlX2V0aGRldi9ydGVfbXRyLmgNCj4gPiA+ID4gPiBpbmRleCA5MTZhMDljNWMzLi4z ZTg4OTA0ZmFmIDEwMDY0NA0KPiA+ID4gPiA+IC0tLSBhL2xpYi9saWJydGVfZXRoZGV2L3J0ZV9t dHIuaA0KPiA+ID4gPiA+ICsrKyBiL2xpYi9saWJydGVfZXRoZGV2L3J0ZV9tdHIuaA0KPiA+ID4g PiA+IEBAIC0xMTksNiArMTE5LDkgQEAgZW51bSBydGVfbXRyX2FsZ29yaXRobSB7DQo+ID4gPiA+ ID4NCj4gPiA+ID4gPiAgIAkvKiogVHdvIFJhdGUgVGhyZWUgQ29sb3IgTWFya2VyICh0clRDTSkg LSBJRVRGIFJGQyA0MTE1LiAqLw0KPiA+ID4gPiA+ICAgCVJURV9NVFJfVFJUQ01fUkZDNDExNSwN Cj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gKwkvKiogU2luZ2xlIFJhdGUgVGhyZWUgQ29sb3IgTWFy a2VyIChzclRDTSkgaW4gUGFja2V0IHBlcg0KPiA+IHNlY29uZA0KPiA+ID4gPiBtb2RlICovDQo+ ID4gPiA+ID4gKwlSVEVfTVRSX1NSVENNX1BQUywNCj4gPiA+ID4gPiAgIH07DQo+ID4gPiA+ID4N Cj4gPiA+ID4gPiAgIC8qKg0KPiA+ID4gPiA+IEBAIC0xNzEsNiArMTc0LDE4IEBAIHN0cnVjdCBy dGVfbXRyX21ldGVyX3Byb2ZpbGUgew0KPiA+ID4gPiA+ICAgCQkJLyoqIEV4Y2VzcyBCdXJzdCBT aXplIChFQlMpIChieXRlcykuICovDQo+ID4gPiA+ID4gICAJCQl1aW50NjRfdCBlYnM7DQo+ID4g PiA+ID4gICAJCX0gdHJ0Y21fcmZjNDExNTsNCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gKwkJLyoq IEl0ZW1zIG9ubHkgdmFsaWQgd2hlbiAqYWxnKiBpcyBzZXQgdG8gc3JUQ00gLQ0KPiA+IFBQUy4g Ki8NCj4gPiA+ID4gPiArCQlzdHJ1Y3Qgew0KPiA+ID4gPiA+ICsJCQkvKiogQ29tbWl0dGVkIElu Zm9ybWF0aW9uIFJhdGUNCj4gPiA+IChDSVIpKHBhY2tldHMvc2Vjb25kKS4NCj4gPiA+ID4gKi8N Cj4gPiA+ID4gPiArCQkJdWludDY0X3QgY2lyOw0KPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiArCQkJ LyoqIENvbW1pdHRlZCBCdXJzdCBTaXplIChDQlMpIChieXRlcykuICovDQo+ID4gPiA+ID4gKwkJ CXVpbnQ2NF90IGNiczsNCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gKwkJCS8qKiBFeGNlc3MgQnVy c3QgU2l6ZSAoRUJTKSAoYnl0ZXMpLiAqLw0KPiA+ID4gPiA+ICsJCQl1aW50NjRfdCBlYnM7DQo+ ID4gPiA+ID4gKwkJfSBzcnRjbV9wcHM7DQo+ID4gPg0KPiA+ID4gSW4gUFBTIG1vZGUsIHRoZSBi dXJzdCBzaXplcyAoZWJzLCBlYnMpIG11c3QgYmUgcGFja2V0cywgbm90IGJ5dGVzLg0KPiA+ID4N Cj4gPiA+ID4gPiAgIAl9Ow0KPiA+ID4gPiA+ICAgfTsNCj4gPiA+ID4gPg0KPiA+ID4gPiA+IEBA IC0zMTcsNiArMzMyLDEzIEBAIHN0cnVjdCBydGVfbXRyX2NhcGFiaWxpdGllcyB7DQo+ID4gPiA+ ID4gICAJICovDQo+ID4gPiA+ID4gICAJdWludDMyX3QgbWV0ZXJfdHJ0Y21fcmZjNDExNV9uX21h eDsNCj4gPiA+ID4gPg0KPiA+ID4gPiA+ICsJLyoqIE1heGltdW0gbnVtYmVyIG9mIE1UUiBvYmpl Y3RzIHRoYXQgY2FuIGhhdmUgdGhlaXINCj4gbWV0ZXINCj4gPiA+ID4gY29uZmlndXJlZA0KPiA+ ID4gPiA+ICsJICogdG8gcnVuIHRoZSBzclRDTSBwYWNrZXQgcGVyIHNlY29uZCBhbGdvcml0aG0u IFRoZSB2YWx1ZQ0KPiA+IG9mIDANCj4gPiA+ID4gPiArCSAqIGluZGljYXRlcyB0aGlzIG1ldGVy aW5nIGFsZ29yaXRobSBpcyBub3Qgc3VwcG9ydGVkLg0KPiA+ID4gPiA+ICsJICogVGhlIG1heGlt dW0gdmFsdWUgaXMgKm5fbWF4Ki4NCj4gPiA+ID4gPiArCSAqLw0KPiA+ID4gPiA+ICsJdWludDMy X3QgbWV0ZXJfc3J0Y21fcHBzX25fbWF4Ow0KPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiAgIAkvKiog TWF4aW11bSB0cmFmZmljIHJhdGUgdGhhdCBjYW4gYmUgbWV0ZXJlZCBieSBhIHNpbmdsZQ0KPiA+ IE1UUg0KPiA+ID4gPiBvYmplY3QuIEZvcg0KPiA+ID4gPiA+ICAgCSAqIHNyVENNIFJGQyAyNjk3 LCB0aGlzIGlzIHRoZSBtYXhpbXVtIENJUiByYXRlLiBGb3IgdHJUQ00NCj4gPiBSRkMNCj4gPiA+ ID4gMjY5OCwNCj4gPiA+ID4gPiAgIAkgKiB0aGlzIGlzIHRoZSBtYXhpbXVtIFBJUiByYXRlLiBG b3IgdHJUQ00gUkZDIDQxMTUsIHRoaXMNCj4gPiBpcyB0aGUNCj4gPiA+ID4gbWF4aW11bQ0KPiA+ ID4gPiA+IEBAIC0zNDIsNiArMzY0LDEyIEBAIHN0cnVjdCBydGVfbXRyX2NhcGFiaWxpdGllcyB7 DQo+ID4gPiA+ID4gICAJICovDQo+ID4gPiA+ID4gICAJaW50IGNvbG9yX2F3YXJlX3RydGNtX3Jm YzQxMTVfc3VwcG9ydGVkOw0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gKwkvKioNCj4gPiA+ID4gPiAr CSAqIFdoZW4gbm9uLXplcm8sIGl0IGluZGljYXRlcyB0aGF0IGNvbG9yIGF3YXJlIG1vZGUgaXMN Cj4gPiBzdXBwb3J0ZWQNCj4gPiA+ID4gZm9yDQo+ID4gPiA+ID4gKwkgKiB0aGUgc3JUQ00gcGFj a2V0IHBlciBzZWNvbmQgIG1ldGVyaW5nIGFsZ29yaXRobS4NCj4gPiA+DQo+ID4gPiBObyBuZWVk IGZvciB0d28gc3BhY2VzIGJldHdlZW4gdGhlIHdvcmRzIHNlY29uZCBhbmQgbWV0ZXJpbmcuDQo+ ID4gPg0KPiA+ID4gPiA+ICsJICovDQo+ID4gPiA+ID4gKwlpbnQgY29sb3JfYXdhcmVfc3J0Y21f cHBzX3N1cHBvcnRlZDsNCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gICAJLyoqIFdoZW4gbm9uLXpl cm8sIGl0IGluZGljYXRlcyB0aGF0IHRoZSBwb2xpY2VyIHBhY2tldA0KPiA+IHJlY29sb3INCj4g PiA+ID4gYWN0aW9ucw0KPiA+ID4gPiA+ICAgCSAqIGFyZSBzdXBwb3J0ZWQuDQo+ID4gPiA+ID4g ICAJICogQHNlZSBlbnVtIHJ0ZV9tdHJfcG9saWNlcl9hY3Rpb24NCj4gPiA+ID4gPg0KPiA+ID4g Pg0KDQo=