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 77EF0A0547; Sun, 4 Apr 2021 15:48:33 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id F3A08140E4D; Sun, 4 Apr 2021 15:48:32 +0200 (CEST) Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2089.outbound.protection.outlook.com [40.107.93.89]) by mails.dpdk.org (Postfix) with ESMTP id A655140141 for ; Sun, 4 Apr 2021 15:48:31 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OT+MHcii7T0iaS8hoFPFFzjq48wYw7F31W6sNMRjxb/Vf1v7fENNHO6HMbgWX0BZyEuaoot9uQJGN98J0BCjXlRYtZY0I+WJ7YuQ3Ad33ezF/fn26SWxM3KN9uzKAg0qqUMq8mUgvQo7Ot7pWLnWaSvSgW5nl7aE+3KwtVRAG3BODnI4R6bAMIS3Sh5y/tWLI/JklXJYnIz41FL5nwLXT+uh2wkAA0iMH7KfASwcJTIjvd/7oxJzDDykFraBH1MTKTnjptTAaDKojmL7As2Rvo1Hmfj8nwYa31u1h/OwSNMF++yUPeicYjtU1Bj5kxb549+LS6xifPoCiHd2uNXpQg== 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=u+vIoA5BKiDQhtYaxLiFaD+2iTNDVemOASBgZndhQf4=; b=eOZJiYfJRhDDIyi9CjUZ3bwAquGPefrrQrTHMHBBhuAMDfe77jjp29Grx7hEM21T4RwWxVcHHxqeQGq8thD2hp6n1gnv20xk6/xP8VvXCuYEJAVeqk+mmlOtHVd2uGFOFhXCKDjlSUfkC3OuOfPTJnvaYlzJXkMu/7NJGV2YiGudSLamES+yvMP5lKOPw7uG69KiTSL+XhSXSOAazrdw84Sm8WDbrY3PgQyPjy1jHMqGYOR7a4n1RuFP9A/Qw/eqhVAEJpVejVaCzUWilYbqQfITcpfRBaCFCaHN8Rbq2MRid2Arb9FQ3fPgrF518yUlx1kf4cJtjYCQ30S8B6AR8Q== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=u+vIoA5BKiDQhtYaxLiFaD+2iTNDVemOASBgZndhQf4=; b=GxfIVaZlrhvYt/1mZ7GXIiG446IXKoGL4aHSqDdV46eL3mnlE/sXti5NX2sA83OA4P2Rcbnix8l5z7K5OUgWGqqydYxA7/RwhbCqyfZKbmeo0Dnr/ltIvFWdL8oWIkAkEE+gPHqcWelBHoaDT2mIGBku7ES0a8jmelRpQ4ogdc4rtwye+d2kvBeXatwCSFOH4iQebKFsU6PzkO08vOp8qxItaTbWjQFE0rb8y9fuID1qCqACPxYGZPvAEzvcSrEehUOM287BOtzcPhFGdUwY4E/LZIr/aN4DheLNC/blmFd9E64ZUKAnvdiywtEAAmo6Tvmrfj9Z2erhAwv0WBMGvg== Received: from MW2PR12MB2492.namprd12.prod.outlook.com (2603:10b6:907:8::19) by MW3PR12MB4458.namprd12.prod.outlook.com (2603:10b6:303:5d::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3999.29; Sun, 4 Apr 2021 13:48:29 +0000 Received: from MW2PR12MB2492.namprd12.prod.outlook.com ([fe80::997d:63f4:b22c:8d90]) by MW2PR12MB2492.namprd12.prod.outlook.com ([fe80::997d:63f4:b22c:8d90%7]) with mapi id 15.20.3999.032; Sun, 4 Apr 2021 13:48:29 +0000 From: Matan Azrad To: "Dumitrescu, Cristian" , Li Zhang , Dekel Peled , Ori Kam , Slava Ovsiienko , Shahaf Shuler , "lironh@marvell.com" , "Singh, Jasvinder" , NBU-Contact-Thomas Monjalon , "Yigit, Ferruh" , Andrew Rybchenko , Jerin Jacob , Hemant Agrawal , Ajit Khaparde CC: "dev@dpdk.org" , Raslan Darawsheh , Roni Bar Yanai Thread-Topic: [PATCH 1/2] [RFC]: ethdev: add pre-defined meter policy API Thread-Index: AQHXG9TfQQoAjqHHdkiTwqLR9JFkW6qSGBmAgAIzQrCABuiXAIAASU2ggALU/YCABiZFkA== Date: Sun, 4 Apr 2021 13:48:28 +0000 Message-ID: References: <20210318085815.804896-1-lizh@nvidia.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=nvidia.com; x-originating-ip: [216.228.117.191] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: bfefd419-dac0-4f3e-d4f0-08d8f7705429 x-ms-traffictypediagnostic: MW3PR12MB4458: x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: IPb+RFzRlSVfRqynghL1oilFJYmW1ZJOOszDKlPVEu/ftQPsgLD5hJnkDdq6mQypRi5oWxdM8+QrYbrL22P3u8X2tsh7P1QPe73eNV9hYsRJT8Qt27SLQTEs7XZHmvSakZuq1xv0qyXbG3jJLS/8EVOjB7GvwsJjMAyLYSnmDxqIB3iJzD5o0QhTeOu8Mu1Yus+zJfK2nzyKEUtDQfQMLWTZtXw/iT4DvZLsk5hQ2i3GPaLimEZAnvru5wiLYILtDLTL0E3C7Bi9CNFTUsk7B5dGZO4VfahCYw3UU76UpQnamf12HymegZR89ONW0dznxwGU2RNj2xv/YsUigBcKQc9oIGtsX5jtYfwIlyJrV5IEVmF3QtSFBDuV1LTY2MbuV/jVQ1/8A0qWUpJTAiuevsLTHp8Gy+fJF07K0fk8vv7/rwyHBeoBp2GP2L8p5EVHa/TtlNljEj++k7frL2YPQjlhCHzH3BBnS6K/0bqVE5yzlfyt26SCYnYP4kuyhhQBQpAeUL8uQGlyDPMIrVLnLIhkIwPuvD0rAnQ5Gi3Ne6i95tR1qLBT1olw+xVr4keoy8XWNCj9l0hH/fJpypeXPneCDPZQKOkaFtBc0tlCaSsaD81DKwr51XB6lEZwp/GSnNMA1OKZzFzfsgcRq7Vk9oSmG4IwxiHU5yYVn//CLzXcwB3k1ETFOhlYhXd12qDs x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MW2PR12MB2492.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(136003)(346002)(376002)(396003)(39860400002)(366004)(66946007)(66476007)(64756008)(66446008)(76116006)(53546011)(7416002)(9686003)(6506007)(66556008)(52536014)(107886003)(8676002)(7696005)(316002)(4326008)(83380400001)(38100700001)(110136005)(186003)(26005)(86362001)(5660300002)(2906002)(54906003)(71200400001)(55016002)(8936002)(921005)(478600001)(33656002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?utf-8?B?WHFuZWw0Ky91dTJ0eVZFMlNtM1VoVmFBdDlBN1djYzZUSFpIZk04VHFnM043?= =?utf-8?B?SWlLNEs0SlhyTDlhNWtSWHozb1h3dGREU0U0aUwyYzZlSEQ0dnJiOTJHME9v?= =?utf-8?B?VXZ6WHE3dlBvZXFZSlZDTUNNd1AzeEdaUnFTWkVvd1A3ZkFub2NNR0ZpY3gr?= =?utf-8?B?V1Fzc05KdTZocGRGK09nL01nNTdqTENjWEhpVkZXbkRobTV3NW9EZWRhK3kx?= =?utf-8?B?TzgxZjVNWitEYVZ1bU1aT1AvWUJScFdwV0lUSDB3ajErK1o2Q0h6WTFLUS9F?= =?utf-8?B?clJMbDdiaGc3YTFRVkl0bzl4akx3a0dZK1RFVTZBeWZwOHpEM2dROWE3ekpv?= =?utf-8?B?WG1halljcSsrRFQzaFZBTEtZNGJqQmVLcnlnWVB0OGtVMFJLREtqM3RnNjUv?= =?utf-8?B?MGlrbnJiYWhSenRibkgzd25RdEVVL0dKRWxxVzdJWnNEZ2VRMDdhL0RjTWJa?= =?utf-8?B?SkczdHlwQW02WjFPbTdYdjRFWmt4Wk5rZVY0VFF5bFdKQ0FPTWNhdURXZFBv?= =?utf-8?B?a3FOajhPZ0Uya0E0SEYyS1lmM2dFbjdYeFBsQUpDUzVsVVBlcHMyZ0lTWU1w?= =?utf-8?B?aVdKeUdRTndVRmRuZW53VmpPdnFuMWJuWnB2b0QzVW9palhBclp0eFpFaWNZ?= =?utf-8?B?QTlPdzJoZXNKUUJyUk1Ca3lLYU5TQ3VJUUhHYytoS1BVKzh5M3A3NzRjekti?= =?utf-8?B?TGRBUXVKNG8wQm92WDVTT1dBZ3ZvTFQ5TjBjaEUvbUwrNmtJdEx1QUFLSktl?= =?utf-8?B?NWtsRFhCREtyaDBvOENXbzJtNW1tUzNSaUJxU01tbm9RZFVEM1UxamFxTUcx?= =?utf-8?B?NlJYUFZGOVhHUjlLbXFsMWNRSVR1NVJnaHVjTmQwUGJKWlhOdTQ5RDdTblph?= =?utf-8?B?WUdCQmRDVjI3dStKNUhhK1BGU1VzVU01OUg4a0dLbGVSREZ3OVdvZnUyU1l4?= =?utf-8?B?Q0pWV3pjMkRFaU12T1dXUVAyWkJiVGJqU0o3Y1BFNkpKOS9pRU93R1N0RVNE?= =?utf-8?B?ZmxKd1EwOGc1L2pGdzhpcEF4c3BqYXFoc2thdWVTRDN3Ni9Rd2hnWEJFbldJ?= =?utf-8?B?SldsWUsrZXZOSEtGL2lBYkVQQTBrTS9DM1ZGRlFwOTBGdWRTMFZJbk1RQW13?= =?utf-8?B?NkNOeXZDaVVvZENuV0JRcWN3S3drZ3NCQ3MrdFRld3ZtclEyOFVaZDhJTXY1?= =?utf-8?B?Y0tkdWRvbnJCcXEwUGhGYVNiaDU4V09NSUZFelBCN3QxekcxVUFQWE4wTG9W?= =?utf-8?B?QlJib3dyK21QdWtRM1YxcVdqSXE3NzRsZnk2MGtEeDc4VjVMbGZIaU8rUCtD?= =?utf-8?B?Ri93U09VMU0zNlVsTHYwb2NlNi9JRDJkU3ZzeXdKbzlyZGM5dWVSdm1oTS8v?= =?utf-8?B?dVFZRTJiTFNaUGRLYm43SnRhdW15azhKaTNibXpaMHNaQUlrOERWZWVCc1FK?= =?utf-8?B?cG9DWEljZXdudWx0M2VVNTljRElQSktQWElJb2RDQ2Y1QVVybElCUXFqVVJD?= =?utf-8?B?VC9RaEZCa0lZdHVtNTdpYzl0eHJkNVpna0YvWE5mYTk1R1ZHK3VRdlB0cEJn?= =?utf-8?B?TWViS3o4OGxoZUQ0T1hMMEN2VXhoTzNwKzU0WGxlWkZXbjJ2L0xubnJWVkFO?= =?utf-8?B?RDN1YXVUVzYxT2NZU0hvUmpGYXdmOVoyV2pPK1VXNGRkK0RQSTFGSnovaS9U?= =?utf-8?B?eklEZzhIS0V6d0pZQTBSek5jSlBFamEwdEJLSmpiVUw4Q1UzcFNzMXprcGJH?= =?utf-8?Q?/tRBiNyIBOJxhhVcJjL3DvtUL8h9bn53ei+o7hD?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW2PR12MB2492.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: bfefd419-dac0-4f3e-d4f0-08d8f7705429 X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Apr 2021 13:48:28.9083 (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: yh3PtqMSy2CeHLUwmlUNmLdyj6C2VwXCJ0nPbfWzoDtm52A966cm7SdOVJTZmvxzv1454bziGJiRLxmCGCpyIw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR12MB4458 Subject: Re: [dpdk-dev] [PATCH 1/2] [RFC]: ethdev: add pre-defined meter policy API 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" DQpIaSBDcmlzdGlhbg0KDQpGcm9tOiBEdW1pdHJlc2N1LCBDcmlzdGlhbg0KPiBIaSBNYXRhbiwN Cj4gDQo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiBGcm9tOiBNYXRhbiBBenJh ZCA8bWF0YW5AbnZpZGlhLmNvbT4NCj4gPiBTZW50OiBNb25kYXksIE1hcmNoIDI5LCAyMDIxIDk6 NDQgUE0NCj4gPiBUbzogRHVtaXRyZXNjdSwgQ3Jpc3RpYW4gPGNyaXN0aWFuLmR1bWl0cmVzY3VA aW50ZWwuY29tPjsgTGkgWmhhbmcNCj4gPiA8bGl6aEBudmlkaWEuY29tPjsgRGVrZWwgUGVsZWQg PGRla2VscEBudmlkaWEuY29tPjsgT3JpIEthbQ0KPiA+IDxvcmlrYUBudmlkaWEuY29tPjsgU2xh dmEgT3ZzaWllbmtvIDx2aWFjaGVzbGF2b0BudmlkaWEuY29tPjsgU2hhaGFmDQo+ID4gU2h1bGVy IDxzaGFoYWZzQG52aWRpYS5jb20+OyBsaXJvbmhAbWFydmVsbC5jb207IFNpbmdoLCBKYXN2aW5k ZXINCj4gPiA8amFzdmluZGVyLnNpbmdoQGludGVsLmNvbT47IE5CVS1Db250YWN0LVRob21hcyBN b25qYWxvbg0KPiA+IDx0aG9tYXNAbW9uamFsb24ubmV0PjsgWWlnaXQsIEZlcnJ1aCA8ZmVycnVo LnlpZ2l0QGludGVsLmNvbT47IEFuZHJldw0KPiA+IFJ5YmNoZW5rbyA8YW5kcmV3LnJ5YmNoZW5r b0Bva3RldGxhYnMucnU+OyBKZXJpbiBKYWNvYg0KPiA+IDxqZXJpbmphY29ia0BnbWFpbC5jb20+ OyBIZW1hbnQgQWdyYXdhbCA8aGVtYW50LmFncmF3YWxAbnhwLmNvbT47DQo+IEFqaXQNCj4gPiBL aGFwYXJkZSA8YWppdC5raGFwYXJkZUBicm9hZGNvbS5jb20+DQo+ID4gQ2M6IGRldkBkcGRrLm9y ZzsgUmFzbGFuIERhcmF3c2hlaCA8cmFzbGFuZEBudmlkaWEuY29tPjsgUm9uaSBCYXINCj4gPiBZ YW5haSA8cm9uaWJhQG52aWRpYS5jb20+DQo+ID4gU3ViamVjdDogUkU6IFtQQVRDSCAxLzJdIFtS RkNdOiBldGhkZXY6IGFkZCBwcmUtZGVmaW5lZCBtZXRlciBwb2xpY3kNCj4gPiBBUEkNCj4gPg0K PiA+DQo+ID4NCj4gPiBGcm9tOiBEdW1pdHJlc2N1LCBDcmlzdGlhbg0KPiA+ID4gSGkgTWF0YW4s DQo+ID4gPg0KPiA+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gPiBGcm9t OiBNYXRhbiBBenJhZCA8bWF0YW5AbnZpZGlhLmNvbT4NCj4gPiA+ID4gU2VudDogVGh1cnNkYXks IE1hcmNoIDI1LCAyMDIxIDY6NTcgQU0NCj4gPiA+ID4gVG86IER1bWl0cmVzY3UsIENyaXN0aWFu IDxjcmlzdGlhbi5kdW1pdHJlc2N1QGludGVsLmNvbT47IExpIFpoYW5nDQo+ID4gPiA+IDxsaXpo QG52aWRpYS5jb20+OyBEZWtlbCBQZWxlZCA8ZGVrZWxwQG52aWRpYS5jb20+OyBPcmkgS2FtDQo+ ID4gPiA+IDxvcmlrYUBudmlkaWEuY29tPjsgU2xhdmEgT3ZzaWllbmtvIDx2aWFjaGVzbGF2b0Bu dmlkaWEuY29tPjsNCj4gPiA+ID4gU2hhaGFmIFNodWxlciA8c2hhaGFmc0BudmlkaWEuY29tPjsg bGlyb25oQG1hcnZlbGwuY29tOyBTaW5naCwNCj4gPiA+ID4gSmFzdmluZGVyIDxqYXN2aW5kZXIu c2luZ2hAaW50ZWwuY29tPjsgTkJVLUNvbnRhY3QtVGhvbWFzIE1vbmphbG9uDQo+ID4gPiA+IDx0 aG9tYXNAbW9uamFsb24ubmV0PjsgWWlnaXQsIEZlcnJ1aCA8ZmVycnVoLnlpZ2l0QGludGVsLmNv bT47DQo+ID4gQW5kcmV3DQo+ID4gPiA+IFJ5YmNoZW5rbyA8YW5kcmV3LnJ5YmNoZW5rb0Bva3Rl dGxhYnMucnU+OyBKZXJpbiBKYWNvYg0KPiA+ID4gPiA8amVyaW5qYWNvYmtAZ21haWwuY29tPjsg SGVtYW50IEFncmF3YWwNCj4gPiA8aGVtYW50LmFncmF3YWxAbnhwLmNvbT47DQo+ID4gPiBBaml0 DQo+ID4gPiA+IEtoYXBhcmRlIDxhaml0LmtoYXBhcmRlQGJyb2FkY29tLmNvbT4NCj4gPiA+ID4g Q2M6IGRldkBkcGRrLm9yZzsgUmFzbGFuIERhcmF3c2hlaCA8cmFzbGFuZEBudmlkaWEuY29tPjsg Um9uaSBCYXINCj4gPiA+ID4gWWFuYWkgPHJvbmliYUBudmlkaWEuY29tPg0KPiA+ID4gPiBTdWJq ZWN0OiBSRTogW1BBVENIIDEvMl0gW1JGQ106IGV0aGRldjogYWRkIHByZS1kZWZpbmVkIG1ldGVy DQo+ID4gPiA+IHBvbGljeSBBUEkNCj4gPiA+ID4NCj4gPiA+ID4gSGkgQ3Jpc3RpYW4NCj4gPiA+ ID4NCj4gPiA+ID4gVGhhbmsgeW91IGZvciB5b3VyIGltcG9ydGFudCByZXZpZXchDQo+ID4gPiA+ IEkgYWdyZWUgd2l0aCBhbGwgeW91ciBjb21tZW50cyBleGNlcHQgb25lLCBwbGVhc2Ugc2VlIGlu bGluZS4NCj4gPiA+ID4NCj4gPiA+ID4gRnJvbTogRHVtaXRyZXNjdSwgQ3Jpc3RpYW4NCj4gPiA+ ID4gPiBIaSBMaSBhbmQgTWF0YW4sDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBUaGFuayB5b3UgZm9y IHlvdXIgcHJvcG9zYWwsIHNvbWUgY29tbWVudHMgYmVsb3cuDQo+ID4gPiA+ID4NCj4gPiA+ID4g PiBJIGFtIGFsc28gYWRkaW5nIEplcmluIGFuZCBIZW1hbnQgdG8gdGhpcyB0aHJlYWQsIGFzIHRo ZXkgYWxzbw0KPiA+ID4gPiA+IHBhcnRpY2lwYXRlZA0KPiA+ID4gPiBpbg0KPiA+ID4gPiA+IHRo ZSBkZWZpbml0aW9uIG9mIHRoZSBydGVfbXRyIEFQSSBpbiAyMDE3LiBBbHNvIEFqaXQgZXhwcmVz c2VkDQo+ID4gPiA+ID4gc29tZSBpbnRlcmVzdA0KPiA+ID4gPiBpbiBhDQo+ID4gPiA+ID4gcHJl dmlvdXMgZW1haWwuDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2Fn ZS0tLS0tDQo+ID4gPiA+ID4gPiBGcm9tOiBMaSBaaGFuZyA8bGl6aEBudmlkaWEuY29tPg0KPiA+ ID4gPiA+ID4gU2VudDogVGh1cnNkYXksIE1hcmNoIDE4LCAyMDIxIDg6NTggQU0NCj4gPiA+ID4g PiA+IFRvOiBkZWtlbHBAbnZpZGlhLmNvbTsgb3Jpa2FAbnZpZGlhLmNvbTsNCj4gPiA+ID4gPiA+ IHZpYWNoZXNsYXZvQG52aWRpYS5jb207IG1hdGFuQG52aWRpYS5jb207IHNoYWhhZnNAbnZpZGlh LmNvbTsNCj4gPiA+ID4gPiA+IGxpcm9uaEBtYXJ2ZWxsLmNvbTsgU2luZ2gsIEphc3ZpbmRlcg0K PiA+ID4gPiA+ID4gPGphc3ZpbmRlci5zaW5naEBpbnRlbC5jb20+OyBUaG9tYXMgTW9uamFsb24N Cj4gPiA+ID4gPiA+IDx0aG9tYXNAbW9uamFsb24ubmV0PjsgWWlnaXQsIEZlcnJ1aCA8ZmVycnVo LnlpZ2l0QGludGVsLmNvbT47DQo+ID4gPiA+IEFuZHJldw0KPiA+ID4gPiA+ID4gUnliY2hlbmtv IDxhbmRyZXcucnliY2hlbmtvQG9rdGV0bGFicy5ydT47IER1bWl0cmVzY3UsDQo+ID4gPiA+ID4g PiBDcmlzdGlhbiA8Y3Jpc3RpYW4uZHVtaXRyZXNjdUBpbnRlbC5jb20+DQo+ID4gPiA+ID4gPiBD YzogZGV2QGRwZGsub3JnOyByYXNsYW5kQG52aWRpYS5jb207IHJvbmliYUBudmlkaWEuY29tDQo+ ID4gPiA+ID4gPiBTdWJqZWN0OiBbUEFUQ0ggMS8yXSBbUkZDXTogZXRoZGV2OiBhZGQgcHJlLWRl ZmluZWQgbWV0ZXINCj4gPiA+ID4gPiA+IHBvbGljeSBBUEkNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ ID4gPiBDdXJyZW50bHksIHRoZSBmbG93IG1ldGVyIHBvbGljeSBkb2VzIG5vdCBzdXBwb3J0IG11 bHRpcGxlDQo+ID4gPiA+ID4gPiBhY3Rpb25zIHBlciBjb2xvcjsgYWxzbyB0aGUgYWxsb3dlZCBh Y3Rpb24gdHlwZXMgcGVyIGNvbG9yIGFyZSB2ZXJ5DQo+IGxpbWl0ZWQuDQo+ID4gPiA+ID4gPiBJ biBhZGRpdGlvbiwgdGhlIHBvbGljeSBjYW5ub3QgYmUgcHJlLWRlZmluZWQuDQo+ID4gPiA+ID4g Pg0KPiA+ID4gPiA+ID4gRHVlIHRvIHRoZSBncm93aW5nIGluIGZsb3cgYWN0aW9ucyBvZmZsb2Fk IGFiaWxpdGllcyB0aGVyZSBpcw0KPiA+ID4gPiA+ID4gYSBwb3RlbnRpYWwgZm9yIHRoZSB1c2Vy IHRvIHVzZSB2YXJpZXR5IG9mIGFjdGlvbnMgcGVyIGNvbG9yIGRpZmZlcmVudGx5Lg0KPiA+ID4g PiA+ID4gVGhpcyBuZXcgbWV0ZXIgcG9saWN5IEFQSSBjb21lcyB0byBhbGxvdyB0aGlzIHBvdGVu dGlhbCBpbiB0aGUNCj4gPiA+ID4gPiA+IG1vc3QgZXRoZGV2IGNvbW1vbiB3YXkgdXNpbmcgcnRl X2Zsb3cgYWN0aW9uIGRlZmluaXRpb24uDQo+ID4gPiA+ID4gPiBBIGxpc3Qgb2YgcnRlX2Zsb3cg YWN0aW9ucyB3aWxsIGJlIHByb3ZpZGVkIGJ5IHRoZSB1c2VyIHBlcg0KPiA+ID4gPiA+ID4gY29s b3IgaW4gb3JkZXIgdG8gY3JlYXRlIGEgbWV0ZXIgcG9saWN5Lg0KPiA+ID4gPiA+ID4gSW4gYWRk aXRpb24sIHRoZSBBUEkgZm9yY2VzIHRvIHByZS1kZWZpbmUgdGhlIHBvbGljeSBiZWZvcmUNCj4g PiA+ID4gPiA+IHRoZSBtZXRlcnMgY3JlYXRpb24gaW4gb3JkZXIgdG8gYWxsb3cgc2hhcmluZyBv ZiBzaW5nbGUgcG9saWN5DQo+ID4gPiA+ID4gPiB3aXRoIG11bHRpcGxlIG1ldGVycyBlZmZpY2ll bnRseS4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBtZXRlcl9wb2xpY3lfaWQgaXMgYWRkZWQg aW50byBzdHJ1Y3QgcnRlX210cl9wYXJhbXMuDQo+ID4gPiA+ID4gPiBTbyB0aGF0IGl0IGNhbiBn ZXQgdGhlIHBvbGljeSBkdXJpbmcgdGhlIG1ldGVycyBjcmVhdGlvbi4NCj4gPiA+ID4gPiA+DQo+ ID4gPiA+ID4gPiBQb2xpY3kgaWQgMCBpcyBkZWZhdWx0IHBvbGljeS4gQWN0aW9uIHBlciBjb2xv ciBhcyBiZWxvdzoNCj4gPiA+ID4gPiA+IGdyZWVuIC0gbm8gYWN0aW9uLCB5ZWxsb3cgLSBubyBh Y3Rpb24sIHJlZCAtIGRyb3ANCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBBbGxvdyBjb2xvcmlu ZyB0aGUgcGFja2V0IHVzaW5nIGEgbmV3IHJ0ZV9mbG93X2FjdGlvbl9jb2xvciBhcw0KPiA+ID4g PiA+ID4gY291bGQgYmUgZG9uZSBieSB0aGUgb2xkIHBvbGljeSBBUEksDQo+ID4gPiA+ID4gPg0K PiA+ID4gPiA+DQo+ID4gPiA+ID4gVGhlIHByb3Bvc2FsIGVzc2VudGlhbGx5IGlzIHRvIGRlZmlu ZSB0aGUgbWV0ZXIgcG9saWN5IGJhc2VkIG9uDQo+ID4gPiA+ID4gcnRlX2Zsb3cNCj4gPiA+ID4g YWN0aW9ucw0KPiA+ID4gPiA+IHJhdGhlciB0aGFuIGEgcmVkdWNlZCBhY3Rpb24gc2V0IGRlZmlu ZWQgc3BlY2lmaWNhbGx5IGp1c3QgZm9yDQo+ID4gPiA+ID4gbWV0ZXINCj4gPiBvYmplY3QuDQo+ ID4gPiA+IFRoaXMNCj4gPiA+ID4gPiBtYWtlcyBzZW5zZSB0byBtZS4NCj4gPiA+ID4gPg0KPiA+ ID4gPiA+ID4gVGhlIG5leHQgQVBJIGZ1bmN0aW9uIHdlcmUgYWRkZWQ6DQo+ID4gPiA+ID4gPiAt IHJ0ZV9tdHJfbWV0ZXJfcG9saWN5X2FkZA0KPiA+ID4gPiA+ID4gLSBydGVfbXRyX21ldGVyX3Bv bGljeV9kZWxldGUNCj4gPiA+ID4gPiA+IC0gcnRlX210cl9tZXRlcl9wb2xpY3lfdXBkYXRlDQo+ ID4gPiA+ID4gPiAtIHJ0ZV9tdHJfbWV0ZXJfcG9saWN5X3ZhbGlkYXRlIFRoZSBuZXh0IHN0cnVj dCB3YXMgY2hhbmdlZDoNCj4gPiA+ID4gPiA+IC0gcnRlX210cl9wYXJhbXMNCj4gPiA+ID4gPiA+ IC0gcnRlX210cl9jYXBhYmlsaXRpZXMNCj4gPiA+ID4gPiA+IFRoZSBuZXh0IEFQSSB3YXMgZGVs ZXRlZDoNCj4gPiA+ID4gPiA+IC0gcnRlX210cl9wb2xpY2VyX2FjdGlvbnNfdXBkYXRlDQo+ID4g PiA+ID4gPg0KPiA+ID4gPiA+ID4gU2lnbmVkLW9mZi1ieTogTGkgWmhhbmcgPGxpemhAbnZpZGlh LmNvbT4NCj4gPiA+ID4gPiA+IC0tLQ0KPiA+ID4gPiA+ID4gIGxpYi9saWJydGVfZXRoZGV2L3J0 ZV9mbG93LmggICAgICAgfCAgMTggKysrKw0KPiA+ID4gPiA+ID4gIGxpYi9saWJydGVfZXRoZGV2 L3J0ZV9tdHIuYyAgICAgICAgfCAgNTUgKysrKysrKystLQ0KPiA+ID4gPiA+ID4gIGxpYi9saWJy dGVfZXRoZGV2L3J0ZV9tdHIuaCAgICAgICAgfCAxNjYgKysrKysrKysrKysrKysrKysrKystLS0t LS0tDQo+ID4gLS0NCj4gPiA+ID4gPiA+ICBsaWIvbGlicnRlX2V0aGRldi9ydGVfbXRyX2RyaXZl ci5oIHwgIDQ1ICsrKysrKy0tDQo+ID4gPiA+ID4gPiAgNCBmaWxlcyBjaGFuZ2VkLCAyMTAgaW5z ZXJ0aW9ucygNCj4gPiA8c25pcD4NCj4gPiA+ID4gPiA+ICsvKioNCj4gPiA+ID4gPiA+ICsgKiBQ b2xpY3kgaWQgMCBpcyBkZWZhdWx0IHBvbGljeS4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IEkgc3Vn Z2VzdCB5b3UgZG8gbm90IHJlZHVuZGFudGx5IHNwZWNpZnkgdGhlIHZhbHVlIG9mIHRoZQ0KPiA+ ID4gPiA+IGRlZmF1bHQgcG9saWN5IElEDQo+ID4gPiA+IGluIHRoZQ0KPiA+ID4gPiA+IGNvbW1l bnQuIFJlcGxhY2UgYnkgIkRlZmF1bHQgcG9saWN5IElELiINCj4gPiA+ID4gPg0KPiA+ID4gPiA+ ID4gKyAqIEFjdGlvbiBwZXIgY29sb3IgYXMgYmVsb3c6DQo+ID4gPiA+ID4gPiArICogZ3JlZW4g LSBubyBhY3Rpb24sIHllbGxvdyAtIG5vIGFjdGlvbiwgcmVkIC0gZHJvcA0KPiA+ID4gPiA+DQo+ ID4gPiA+ID4gVGhpcyBkb2VzIG5vdCBtYWtlIHNlbnNlIHRvIG1lIGFzIHRoZSBkZWZhdWx0IHBv bGljeS4gVGhlDQo+ID4gPiA+ID4gZGVmYXVsdCBwb2xpY3kNCj4gPiA+ID4gc2hvdWxkDQo+ID4g PiA+ID4gYmUgIm5vIGNoYW5nZSIsIGkuZS4gZ3JlZW4gLT4gZ3JlZW4gKG5vIGNoYW5nZSksIHll bGxvdyAtPg0KPiA+ID4gPiA+IHllbGxvdyAobm8NCj4gPiA+ID4gY2hhbmdlKSwNCj4gPiA+ID4g PiByZWQgLT4gcmVkIChubyBjaGFuZ2UpLg0KPiA+ID4gPg0KPiA+ID4gPiBDYW4geW91IGV4cGxh aW4gd2h5IGl0IGRvZXNuJ3QgbWFrZSBzZW5zZSB0byB5b3U/DQo+ID4gPiA+DQo+ID4gPiA+IE1l dGVyIHdpdGggIm5vIGNoYW5nZSIgZm9yIGFsbCBjb2xvcnMgaGFzIG5vIGVmZmVjdCBvbiB0aGUg cGFja2V0cw0KPiA+ID4gPiBzbyBpdCBpcyByZWR1bmRhbnQgYWN0aW9uIHdoaWNoIGp1c3QgY29z dHMgcGVyZm9ybWFuY2UgYW5kDQo+ID4gPiA+IHJlc291cmNlcyAtIHByb2JhYmx5IG5ldmVyIGJl IHVzZWQuDQo+ID4gPiA+DQo+ID4gPg0KPiA+ID4gVGhlIG1idWY6OnNjaGVkOjpjb2xvciBuZWVk cyB0byBiZSBzZXQgZm9yIHRoZSBwYWNrZXQsIGFuZCB0aGUgb25seQ0KPiA+ID4gd2F5IHRvDQo+ ID4gZG8NCj4gPiA+IHRoaXMgaXMgYnkgYXBwbHlpbmcgdGhlIFJURV9GTE9XX0FDVElPTl9UWVBF X0NPTE9SIEFjdGlvbiwgcmlnaHQ/IEl0DQo+ID4gd291bGQNCj4gPiA+IG1ha2Ugc2Vuc2UgdGhh dCB0aGUgZGVmYXVsdCBwb2xpY3kgaXMgdG8gc2ltcGx5IGFwcGx5IHRvIHRoZSBwYWNrZXQNCj4g PiA+IHRoZSBjb2xvciB0aGF0IHRoZSBtZXRlciBqdXN0IGNvbXB1dGVkIGZvciB0aGUgY3VycmVu dCBwYWNrZXQgd2l0aCBubw0KPiBjaGFuZ2UsIHJpZ2h0Pw0KPiA+DQo+ID4gSSBkb24ndCB0aGlu ayBzby4NCj4gPiBXaGVuIHdlIGFyZSB3b3JraW5nIHdpdGggSFcgb2ZmbG9hZHMgKHRoaXMgaXMg dGhlIG1haW4gZ29hbCBvZg0KPiA+IHJ0ZV9mbG93IGFuZCB0aGlzIG1ldGVyIEFQSSkgdGhlIG1v dGl2YXRpb24gaXMgdG8gZG8gdGhlIGFjdGlvbnMgZGlyZWN0bHkgaW4gdGhlDQo+IE5JQyBIVy4N Cj4gPiBNb3ZpbmcgdGhlIGNvbG9yIGluZm9ybWF0aW9uIHRvIHRoZSBTVyBpcyBsaWtlIGRvaW5n ICJwYXJ0aWFsIG9mZmxvYWQiLg0KPiA+DQo+IA0KPiBTb3JyeSwgTWF0YW4sIGJ1dCBhcyB0aGUg YnVsayBvZiB0aGUgcGFja2V0cyBhcmUgcGFzc2VkIGJ5IHRoZSBOSUMgdG8gdGhlIENQVSBhcw0K PiBvcHBvc2VkIHRvIGJlaW5nIHJldHVybmVkIHRvIHRoZSBuZXR3b3JrIHdpdGhvdXQgdGhlIENQ VSBldmVyIHNlZWluZyB0aGVtLA0KPiB0aGUgcnRlX2Zsb3cgQVBJIGlzIGEgcGFydGlhbCBvZmZs b2FkIEFQSSwgbm90IGEgZnVsbCBvZmZsb2FkIEFQSSwgbm90IHN1cmUgd2h5IHdlDQo+IGRpc2Fn cmVlIGhlcmUuDQo+IA0KDQpJIHNhaWQgdGhhdCB0aGUgZGlyZWN0aW9uIGlzIHRvIGRvICJmdWxs IG9mZmxvYWQiLCBmb3Igc3VyZSAicGFydGlhbCBvZmZsb2FkIiBpcyBleGlzdHMgdG9vLCB1c2lu ZyBNQVJLLCBNRVRBREFUQSwgZXRjLi4gYWN0aW9ucy4NCkV4YW1wbGUgZm9yICJmdWxsIG9mZmxv YWQiIGlzIGFsbCB0aGUgaGFpcnBpbiBmZWF0dXJlcywgYWRkZWQgbGFzdGx5Lg0KDQoNCj4gSnVz dCB0byBtYWtlIHN1cmUgd2UgYXJlIG9uIHRoZSBzYW1lIHBhZ2UgYW5kIG5vdCBnZXR0aW5nIHJv dW5kIGluIGNpcmNsZXM6IEkNCj4gdGhpbmsgeW91IGFncmVlIHRoYXQgd2Ugc2hvdWxkIGhhdmUg dGhpcyBhY3Rpb24NCj4gUlRFX0ZMT1dfQUNUSU9OX1RZUEVfQ09MT1IgdG8gc2V0dXAgdGhlIGNv bG9yIGZvciB0aGUgQ1BVIHRvIHNlZSBpbg0KPiBtYnVmOjpzY2hlZDpjb2xvciwgYnV0IHlvdSBk b24ndCBhZ3JlZSB0aGlzIGFjdGlvbiBzaG91bGQgYmUgcGFydCBvZiB0aGUgZGVmYXVsdA0KPiBw b2xpY3ksIGRpZCBJIGdldCB5b3VyIHBvc2l0aW9uIGNvcnJlY3RseT8NCg0KWWVzLg0KDQo+ID4N Cj4gPiA+ID4gVGhlIG1vc3QgY29tbW9uIHVzYWdlIGZvciBtZXRlciBpcyB0byBkcm9wIGFsbCB0 aGUgcGFja2V0cyBjb21lDQo+ID4gPiA+IGFib3ZlIHRoZSBkZWZpbmVkIHJhdGUgbGltaXQgLSBz byBpdCBtYWtlcyBzZW5zZSB0byB0YWtlIHRoaXMgYmVoYXZpb3IgYXMNCj4gZGVmYXVsdC4NCj4g PiA+ID4NCj4gPiA+DQo+ID4gPiBJIGRvbid0IGFncmVlIHdpdGggdGhpcyBhc3NlcnRpb24gZWl0 aGVyLiBPbmUgdHlwaWNhbCB1c2FnZSBvZiB0aGUNCj4gPiA+IGNvbG9yIGlzIHRvIGFjY2VwdCBh bGwgaW5wdXQgcGFja2V0cyBmcm9tIHRoZSB1c2VyLCBlaXRoZXIgZ3JlZW4sDQo+ID4gPiB5ZWxs b3cgb3IgcmVkIGluIHRoZSBhYnNlbmNlIG9mIGFueSBjb25nZXN0aW9uLCBhbmQgY2hhcmdlIHRo ZSB1c2VyDQo+ID4gPiBmb3IgdGhpcyB0cmFmZmljOyBpbiBjYXNlIG9mIGNvbmdlc3Rpb24sIGFz IHR5cGljYWxseSBkZXRlY3RlZCBsYXRlcg0KPiA+ID4gKHR5cGljYWxseSBvbiBzY2hlZHVsaW5n IGFuZCBtYXliZQ0KPiA+IG9uIGENCj4gPiA+IGRpZmZlcmVudCBuZXR3b3JrIG5vZGUsIGRlcGVu ZGluZyBvbiB0aGUgYXBwbGljYXRpb24pLCB0aGUgcGFja2V0DQo+ID4gPiBjb2xvciBpcw0KPiA+ IHVzZWQNCj4gPiA+IHRvIHByaW9yaXRpemUgYmV0d2VlbiBwYWNrZXRzLCBpLmUuIGRyb3AgcmVk IHBhY2tldHMgZmlyc3QgYmVmb3JlDQo+ID4gPiBkcm9wcGluZw0KPiA+IGFueQ0KPiA+ID4geWVs bG93IG9yIGdyZWVuIHBhY2tldHMuIEluIHRoaXMgY2FzZSwgdGhlcmUgaXMgbm8gcHJlLWRlZmlu ZWQgImRyb3ANCj4gPiA+IGFsbCByZWQgcGFja2V0cyBzdHJhaWdodCBhd2F5IiBwb2xpY3kuDQo+ ID4NCj4gPg0KPiA+IEkgZmFtaWxpYXIgd2l0aCBhIGxvdCBvZiBtZXRlciB1c2VycyhhdCBsZWFz dCA1IGFwcGxpY2F0aW9ucykgaW4gdGhlDQo+ID4gaW5kdXN0cnksIG5vIG9uZSB1c2UgdGhlIGNv bG9yIGFjdGlvbnMuDQo+ID4gQWxsIG9mIHRoZW0gZHJvcCByZWQgcGFja2V0cyBhbmQgY29udGlu dWUgdG8gdGhlIG5leHQgZmxvdw0KPiA+IGFjdGlvbnMoYWZ0ZXINCj4gPiBtZXRlcikgb3RoZXJ3 aXNlLg0KPiA+DQo+IA0KPiBJIHBvbGl0ZWx5IGJ1dCBmaXJtbHkgZGlzYWdyZWUuIE5vbmUgb2Yg dGhlIGFwcHMgdGhhdCBJIGhhdmUgc2VlbiBpcyBkcm9wcGluZyB0aGUNCj4gcmVkIHBhY2tldHMg c3RyYWlnaHQgYXdheSwgdGhleSBzaW1wbHkgdXNlIHRoZSBjb2xvciBhcyBhbiBpbmRpY2F0aW9u IG9mIHRoZQ0KPiBwYWNrZXQgZHJvcCBwcmlvcml0eSBhdCBhIGxhdGVyIHN0YWdlIGluIHRoZSBw aXBlbGluZSB3aGVuIGNvbmdlc3Rpb24gaXMNCj4gZGV0ZWN0ZWQuDQo+IA0KPiA+DQo+ID4gSWYg eW91IGluc2lzdCwgd2UgY2FuIGRlZmluZSAyIGRlZmF1bHQgSURzLi4uDQo+ID4NCj4gDQo+IE1h eWJlIHdlIHNob3VsZCBub3QgaGF2ZSBhbnkgcHJlLXJlZ2lzdGVyZWQgcG9saWNpZXMgYXQgYWxs Pw0KPiANCg0KT0ssIGZvciB0aGF0Lg0KDQo+IEZvciB0aGUgdXNlcidzIGNvbnZlbmllbmNlLCB3 ZSBjb3VsZCBwcm92aWRlIHRoZSBjb25maWd1cmF0aW9uIHBhcmFtZXRlcnMgZm9yDQo+IHNvbWUg b2YgdGhlIGNvbW1vbiBwb2xpY2llcywgbGlrZSB0aGUgb25lcyBtZW50aW9uZWQgaGVyZSwgaW4g dGhlIEFQSSBhbmQgbGV0DQo+IHRoZSB1c2VycyBkZWNpZGUgd2hpY2ggb25lKHMpLCBpZiBhbnks IHRoZXkgd2FudCB0byByZWdpc3Rlcj8NCg0KR29vZCBkaXJlY3Rpb24NCkkgdGhpbmsgaXQgaXMg YmV0dGVyIHRvIGdpdmUgdGhlc2UgMiBleGFtcGxlcyBpbiB0aGUgcG9saWN5IGNyZWF0ZVx2YWxp ZGF0ZSBkZXNjcmlwdGlvbiBvciBpbiBleGFtcGxlIGFwcGxpY2F0aW9uLA0KVGhlbiB0aGUgdXNl ciBqdXN0IGNhbiBjb3B5IGl0IHRvIGNyZWF0ZSBhIHBvbGljeS4uLi4NCg0KPiA+ID4gPg0KPiA+ ID4gPiA+IEkgc3VnZ2VzdCB3ZSBhdm9pZCB0aGUgIm5vIGFjdGlvbiIgc3RhdGVtZW50LCBhcyBp dCBtaWdodCBiZSBjb25mdXNpbmcuDQo+ID4gPiA+DQo+ID4gPiA+IE1heWJlICJkbyBub3RoaW5n IiBpcyBiZXR0ZXI/DQo+ID4gPiA+DQo+ID4gPg0KPiA+ID4gWWVzLCBtYWtlcyBzZW5zZSB0byBt ZS4NCj4gPg0KPiA+IDxzbmlwPg0KPiANCj4gUmVnYXJkcywNCj4gQ3Jpc3RpYW4NCg==