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 0D94BA0548; Tue, 20 Apr 2021 14:55:09 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id CAD1C41749; Tue, 20 Apr 2021 14:55:08 +0200 (CEST) Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2075.outbound.protection.outlook.com [40.107.244.75]) by mails.dpdk.org (Postfix) with ESMTP id E72BB41735 for ; Tue, 20 Apr 2021 14:55:06 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iJU7Q/SXKfuGDkYuwVxk4jU4VInGGn/Kna6G2T/a4GXDq9ZgMLHya0b510DWPxKIPgz55zLsW8sy+WwTnpe0DlDA6thebA8erYZhQuPbHNA6hOmM7ZOpWXPFU++lsA6bOfX9X+8tg9VgAg08iMMT95gp0EZCRcFrvvtTRMrpdX7zQ4XUDaE3kCjjlWLNSXf5UltfVfi/f6OvUs03JFpwykKZIFTGMYFwwCOZ8BU/LIes+rIi+9tGKbU9zklZ9uxM0+qs1b+Vms7CZJnMcglBQ8v8AEJ8Vc9BsZdswOXSLdjOVTWzF9RTNh6EWexJ7Hj/cX30gk3+dLMtdlqgfhQUsQ== 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=P8gZ1IjGHDSowcx1YNI2kXLH0TSH4/VIt8ZjKZzX4oc=; b=GQUUtCqeIFyJHBDakDESwKuSIZGyuXULXW9q6KuXaBjos0XG1AhyjOGaFL7r74N53YgJK9cTdUP56kOUN+AwBAQo6P0BCe+r4O5hqAv3/7hIAZx7RyM4Vt+713VDTmsaXK0w6uCU35/2BWeuKkk6Su0M02cSmiebzQ3eOfyKxK9ol5OarLm7N72fkaE9D8xYrKtcC5fdz0kk2qmpUSwQjzea2dxCPXtRLL0P3jn89LKZt9bmgGzkoJUnisM+RDaB5IHHZ5KKX+v01T/+yEQa49KBncXPPijeLGGZTG9meN0sedNMCoUWySv177tef6Zb9mknclOcEqjVE5YsKhhi/g== 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=P8gZ1IjGHDSowcx1YNI2kXLH0TSH4/VIt8ZjKZzX4oc=; b=InHTiMMuP2JebC8bBwY6oLsna7KPkoI/bEOpxExl/64U+ZC8o1y5zaDWnirQu90JEW/fsUWCSlXC439l71eXxbhFtIQJXC+CMrlFgylZJYGCQuVWM4gKwjmcQOTwXsDhXGNWmiUDcIhX/e6hi4iVKzokEEGkWre8iQmlBafvweNlhTyOMp9r+bR/5IsrtqVkE675ZMYxUVqP9yGtBmTZ2ojlpiOiCa9pxEg5bpoLdh6aXEBkqLOfbzivrJZA9+qNwHYcHa+acGMNCC9w2TfYIqF+w1UNceDn0hzmaxaLFtrvuMEhfwzTc6j/L3Ur3p1xqEpYjP7x+zkcmG6OBPApIQ== Received: from DM5PR12MB2406.namprd12.prod.outlook.com (2603:10b6:4:b7::23) by DM6PR12MB3339.namprd12.prod.outlook.com (2603:10b6:5:119::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4042.24; Tue, 20 Apr 2021 12:55:04 +0000 Received: from DM5PR12MB2406.namprd12.prod.outlook.com ([fe80::296c:7adb:3a40:a762]) by DM5PR12MB2406.namprd12.prod.outlook.com ([fe80::296c:7adb:3a40:a762%7]) with mapi id 15.20.4042.024; Tue, 20 Apr 2021 12:55:04 +0000 From: Asaf Penso To: "Dumitrescu, Cristian" , "Jiawei(Jonny) Wang" , Matan Azrad , Ori Kam , Slava Ovsiienko , Shahaf Shuler , Wisam Monther , "Li, Xiaoyun" , "Singh, Jasvinder" , NBU-Contact-Thomas Monjalon , "Yigit, Ferruh" , Andrew Rybchenko , Ray Kinsella , Neil Horman CC: "dev@dpdk.org" , Raslan Darawsheh , Roni Bar Yanai , Li Zhang , Haifei Luo Thread-Topic: [PATCH v9 1/2] ethdev: add pre-defined meter policy API Thread-Index: AQHXNdb9SfL6t49OqESdx39QFnX4Dqq9XPFg Date: Tue, 20 Apr 2021 12:55:04 +0000 Message-ID: References: <20210415092023.2089541-1-lizh@nvidia.com> <1618848506-37569-1-git-send-email-jiaweiw@nvidia.com> <1618848506-37569-2-git-send-email-jiaweiw@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: [87.71.141.78] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 40fecd56-7edc-4456-b9aa-08d903fb84b6 x-ms-traffictypediagnostic: DM6PR12MB3339: 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:9508; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: jGgJyvjO3s5P6QznxY6fnQ1u7WEwyM3Ig3EB+Y8+NdcWcMd5J2yZFd5EzyWgXMvRRHidmUPxg1Rm+yDhIP4qKlLfw/kYIysizZ6Fl/QzpLJ0i/JX/MUHl0hoGnpU4CYZoSUlQ/ORyEfx/UWjC4l5Va7tyYUOlf3M+EvW1fTrspyQL+LruyGzRtFKKf3Pcimau2K6vvvF9fekJS6724EE9rHZNXCcC5G6aFG536Qxxfe21L8GCs7SN3qFHzVxowc3vSov6q2toomeOkUvAmh3GdAnKfp24+ua5O6ejFI5j1TzRNcRpqmqnCRZIDacPqmIIJ8a3izYF/X25hy+6dAZ9d+pgoszqhLcnQvkIgTTuOVl4bWfS4QJd/d063NVEziCzh/WCld8B43nul3pTuMtPu1REAyEUGix7ZhlZUwLO1QSh3m8WiXVATJMNpX/Hw8fg1Jy/gb3Rbrw3UdW/pSkjG75NfCqzPIQu+1RB2Illl0wqbNdXv5RYQO/jp0Dkw7NvCqGa1o23d4ZcQs6WgErk01WhI8BrKj0hpa5jT9W9REdo6+PuOdHmmzLQp9qRmzF9BNJdtbaVsyjhcUeKlRWkU5htOS31MAGTOsctZDoo7ForxaRM2a3A3eqoUA+aoG4fOxpCOdB40LxGxVmpVJ23Q== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM5PR12MB2406.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(396003)(39860400002)(346002)(376002)(366004)(136003)(71200400001)(26005)(76116006)(6506007)(110136005)(66446008)(66946007)(66476007)(64756008)(66556008)(33656002)(52536014)(478600001)(107886003)(86362001)(38100700002)(316002)(2906002)(54906003)(8936002)(5660300002)(8676002)(83380400001)(186003)(122000001)(9686003)(4326008)(7696005)(55016002)(53546011)(921005); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?utf-8?B?L1pvS04zSGd5aWxNb0hKWVgra2ZqUWQ4ZzdoZDdsVG1Td1RZbkRQd0ZXSGtH?= =?utf-8?B?WGdCQThYejhBVHhzOXllYktnYmF1RVZwUXFsbU8xS01yWGxFRHpYcGVBZUxn?= =?utf-8?B?ZDF6LzZuNitEMHRDVStiUDk0TGk3V1VMOVRrM0F0dWZFcXZ6TlN4OFZuU1By?= =?utf-8?B?TGJvSVpwTEVKK0FVSGtyWk9LbmlQZjN0VHplQVd1VVdIQUVrMFNtZDBBUUdB?= =?utf-8?B?THdBWXZWUFBrT2xyczByNWVyRFFVQlJKWWNnNkpndzgwYUwydnp4anVzTkhL?= =?utf-8?B?aFgrMkJKN0twdERQa3ZPMDA2YkEzRzlFazJkdUg3ZEkzUjlHbWptbDhBZmd1?= =?utf-8?B?UW9aYXoyRzVxZFBUaWJSc0pMWWxsV1Y0aCtzaVBtK2E2NklySk5GUFZWUWhW?= =?utf-8?B?cFB3cFFleEVEazRLRmttMWdPclZrSGpoQUpRWFkwKzFRZlBIMkRGRXYwV01q?= =?utf-8?B?VGpuZmpNU2tCODBJQkErUUtuTUkxeks0enFwL2s4QUlMWlBvaG11VGpSTTdx?= =?utf-8?B?eXhUY1l5dXV0N1BmVkl0K0RtZGIxc3FkTitiQVpPWE5xak5Cc25kbThkRGhl?= =?utf-8?B?czk2Sjlta2NIZEN1cHRIZ3d6WWtpY2dYVDhwRnZkTE9ldm16TThSS05EY3M3?= =?utf-8?B?WE8rSFJHenVVa0NUNmkrMW1qRWwvU3FrTklQaXVZN0dvTDFTSll3TE02a1pl?= =?utf-8?B?Tm5OTDFreDZKeElIM2VqaTFXaGpHeWdPY2JBK3RUay9Ya2FUNGZoQ0NHVTBq?= =?utf-8?B?YS80ZVBzZGJTZUtjOE1DOUw2ZldIWE8vY2UvOENxd090ZGJ5YTE5TkFlM0t6?= =?utf-8?B?R2pGRmM0c1hIbEdjd0J4aXg4WU15Y254ZCtucFd1RUhhWlJlTVBGMGdmK2ZX?= =?utf-8?B?YmJjT2J0V200aDN4NXBURUxETXhwWGZwUEYzSjNPYXh3ek96cWFrK1BTYzk0?= =?utf-8?B?b3VHR0QyQ2o2d0Vmdk9uVWM0eml0NHRreno4a2lQeU5JcU9lUHhBL0hjNGh0?= =?utf-8?B?aDl6VldBSFNTNEszZzFsdERvR3FLSnJwQ0dRSjF2SXIycXZsNW1SOHBpaUJI?= =?utf-8?B?M3pPeno0MEdtK01yNy9qbC93djRFdk1Sc2FlZ1RkYW5FbFlkRmp6M1RSdWFK?= =?utf-8?B?ZWhPaG5yZDhOa2Vmeng0MmJGcDBiQmdIRVF5SG9rOVF5elBOVkJ2RmtSUksw?= =?utf-8?B?a1VBT2t6dHZsdUQxRWRPdkNWbytGV245UlRtd2RKYXZqMytjek5KSE80T2lX?= =?utf-8?B?WWw2b2J1YnUzZ3RvY1A3dXRoc2FFaG5DdkJIMUJHc3F1eituZjVaVEN5V0VC?= =?utf-8?B?RWxBeC9oOHlZNFo0RTFaVWwvSWtScVFYZ2M1QXJhdGttOEhjait5eEZsQ1Nm?= =?utf-8?B?K29jMlFHREw3U2lpSXRGdEk3bXRmMFAvUFQ0SzVOY09TZXBsU0lpc2lmbXhG?= =?utf-8?B?VVRWVStFcmNNTWg4MmVrR3Z2MHV2TGxwNjNVN2VNaktxbzhGQm1kb3RrL2tJ?= =?utf-8?B?NjZoZVdVNzJ3citQbEE5UUl6VkpxR3VYZWFreW5JYVViVWU1QUdGeUdxS2xt?= =?utf-8?B?OWF4VnRKcUFzVDhaTTltM3Q5QjFLQmdMTUdJb0FJREI0anhzZVkxUjlWQXI5?= =?utf-8?B?eUhoVlkrZWpPazBrU2grUlpHNHIzTXQ3YjRFVGJCRjZUc2VOZlFreHg5YUJ6?= =?utf-8?B?Y1BOa3ZKUThkVUhYckhrUktMNkplTGRNdGsrMUdJb04yVnAybjFYSVEvNXBS?= =?utf-8?Q?BcERRvleYRYW9vVY5UGq1ZiaBa7PYHOt9k5QGpi?= 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: DM5PR12MB2406.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 40fecd56-7edc-4456-b9aa-08d903fb84b6 X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Apr 2021 12:55:04.6478 (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: xSCcNZEgeqpSuPFjjWG6pwDDqNyMGn2A3QqvROTyatOALJ05GzWYEtFut6qcc1pv7cBNGnHj8SsoHvQ1LlaZLA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB3339 Subject: Re: [dpdk-dev] [PATCH v9 1/2] 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" VGhhbmsgeW91LCBDcmlzdGlhbiwgYXBwcmVjaWF0ZSB0aGlzIGV4dHJhIGVmZm9ydCENCg0KUmVn YXJkcywNCkFzYWYgUGVuc28NCg0KPi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+RnJvbTog ZGV2IDxkZXYtYm91bmNlc0BkcGRrLm9yZz4gT24gQmVoYWxmIE9mIER1bWl0cmVzY3UsIENyaXN0 aWFuDQo+U2VudDogVHVlc2RheSwgQXByaWwgMjAsIDIwMjEgMjoxOCBQTQ0KPlRvOiBKaWF3ZWko Sm9ubnkpIFdhbmcgPGppYXdlaXdAbnZpZGlhLmNvbT47IE1hdGFuIEF6cmFkDQo+PG1hdGFuQG52 aWRpYS5jb20+OyBPcmkgS2FtIDxvcmlrYUBudmlkaWEuY29tPjsgU2xhdmEgT3ZzaWllbmtvDQo+ PHZpYWNoZXNsYXZvQG52aWRpYS5jb20+OyBTaGFoYWYgU2h1bGVyIDxzaGFoYWZzQG52aWRpYS5j b20+OyBXaXNhbQ0KPk1vbnRoZXIgPHdpc2FtbUBudmlkaWEuY29tPjsgTGksIFhpYW95dW4gPHhp YW95dW4ubGlAaW50ZWwuY29tPjsgU2luZ2gsDQo+SmFzdmluZGVyIDxqYXN2aW5kZXIuc2luZ2hA aW50ZWwuY29tPjsgTkJVLUNvbnRhY3QtVGhvbWFzIE1vbmphbG9uDQo+PHRob21hc0Btb25qYWxv bi5uZXQ+OyBZaWdpdCwgRmVycnVoIDxmZXJydWgueWlnaXRAaW50ZWwuY29tPjsgQW5kcmV3DQo+ UnliY2hlbmtvIDxhbmRyZXcucnliY2hlbmtvQG9rdGV0bGFicy5ydT47IFJheSBLaW5zZWxsYQ0K PjxtZHJAYXNocm9lLmV1PjsgTmVpbCBIb3JtYW4gPG5ob3JtYW5AdHV4ZHJpdmVyLmNvbT4NCj5D YzogZGV2QGRwZGsub3JnOyBSYXNsYW4gRGFyYXdzaGVoIDxyYXNsYW5kQG52aWRpYS5jb20+OyBS b25pIEJhciBZYW5haQ0KPjxyb25pYmFAbnZpZGlhLmNvbT47IExpIFpoYW5nIDxsaXpoQG52aWRp YS5jb20+OyBIYWlmZWkgTHVvDQo+PGhhaWZlaWxAbnZpZGlhLmNvbT4NCj5TdWJqZWN0OiBSZTog W2RwZGstZGV2XSBbUEFUQ0ggdjkgMS8yXSBldGhkZXY6IGFkZCBwcmUtZGVmaW5lZCBtZXRlciBw b2xpY3kNCj5BUEkNCj4NCj4NCj4NCj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+PiBG cm9tOiBKaWF3ZWkgV2FuZyA8amlhd2Vpd0BudmlkaWEuY29tPg0KPj4gU2VudDogTW9uZGF5LCBB cHJpbCAxOSwgMjAyMSA1OjA4IFBNDQo+PiBUbzogbWF0YW5AbnZpZGlhLmNvbTsgb3Jpa2FAbnZp ZGlhLmNvbTsgdmlhY2hlc2xhdm9AbnZpZGlhLmNvbTsNCj4+IHNoYWhhZnNAbnZpZGlhLmNvbTsg V2lzYW0gSmFkZG8gPHdpc2FtbUBudmlkaWEuY29tPjsgTGksIFhpYW95dW4NCj4+IDx4aWFveXVu LmxpQGludGVsLmNvbT47IFNpbmdoLCBKYXN2aW5kZXIgPGphc3ZpbmRlci5zaW5naEBpbnRlbC5j b20+Ow0KPj4gRHVtaXRyZXNjdSwgQ3Jpc3RpYW4gPGNyaXN0aWFuLmR1bWl0cmVzY3VAaW50ZWwu Y29tPjsgVGhvbWFzIE1vbmphbG9uDQo+PiA8dGhvbWFzQG1vbmphbG9uLm5ldD47IFlpZ2l0LCBG ZXJydWggPGZlcnJ1aC55aWdpdEBpbnRlbC5jb20+OyBBbmRyZXcNCj4+IFJ5YmNoZW5rbyA8YW5k cmV3LnJ5YmNoZW5rb0Bva3RldGxhYnMucnU+OyBSYXkgS2luc2VsbGENCj4+IDxtZHJAYXNocm9l LmV1PjsgTmVpbCBIb3JtYW4gPG5ob3JtYW5AdHV4ZHJpdmVyLmNvbT4NCj4+IENjOiBkZXZAZHBk ay5vcmc7IHJhc2xhbmRAbnZpZGlhLmNvbTsgcm9uaWJhQG52aWRpYS5jb207IExpIFpoYW5nDQo+ PiA8bGl6aEBudmlkaWEuY29tPjsgSGFpZmVpIEx1byA8aGFpZmVpbEBudmlkaWEuY29tPg0KPj4g U3ViamVjdDogW1BBVENIIHY5IDEvMl0gZXRoZGV2OiBhZGQgcHJlLWRlZmluZWQgbWV0ZXIgcG9s aWN5IEFQSQ0KPj4NCj4+IEZyb206IExpIFpoYW5nIDxsaXpoQG52aWRpYS5jb20+DQo+Pg0KPj4g Q3VycmVudGx5LCB0aGUgZmxvdyBtZXRlciBwb2xpY3kgZG9lcyBub3Qgc3VwcG9ydCBtdWx0aXBs ZSBhY3Rpb25zIHBlcg0KPj4gY29sb3I7IGFsc28gdGhlIGFsbG93ZWQgYWN0aW9uIHR5cGVzIHBl ciBjb2xvciBhcmUgdmVyeSBsaW1pdGVkLg0KPj4gSW4gYWRkaXRpb24sIHRoZSBwb2xpY3kgY2Fu bm90IGJlIHByZS1kZWZpbmVkLg0KPj4NCj4+IER1ZSB0byB0aGUgZ3Jvd2luZyBpbiBmbG93IGFj dGlvbnMgb2ZmbG9hZCBhYmlsaXRpZXMgdGhlcmUgaXMgYQ0KPj4gcG90ZW50aWFsIGZvciB0aGUg dXNlciB0byB1c2UgdmFyaWV0eSBvZiBhY3Rpb25zIHBlciBjb2xvciBkaWZmZXJlbnRseS4NCj4+ IFRoaXMgbmV3IG1ldGVyIHBvbGljeSBBUEkgY29tZXMgdG8gYWxsb3cgdGhpcyBwb3RlbnRpYWwg aW4gdGhlIG1vc3QNCj4+IGV0aGRldiBjb21tb24gd2F5IHVzaW5nIHJ0ZV9mbG93IGFjdGlvbiBk ZWZpbml0aW9uLg0KPj4gQSBsaXN0IG9mIHJ0ZV9mbG93IGFjdGlvbnMgd2lsbCBiZSBwcm92aWRl ZCBieSB0aGUgdXNlciBwZXIgY29sb3IgaW4NCj4+IG9yZGVyIHRvIGNyZWF0ZSBhIG1ldGVyIHBv bGljeS4NCj4+IEluIGFkZGl0aW9uLCB0aGUgQVBJIGZvcmNlcyB0byBwcmUtZGVmaW5lIHRoZSBw b2xpY3kgYmVmb3JlIHRoZSBtZXRlcnMNCj4+IGNyZWF0aW9uIGluIG9yZGVyIHRvIGFsbG93IHNo YXJpbmcgb2Ygc2luZ2xlIHBvbGljeSB3aXRoIG11bHRpcGxlDQo+PiBtZXRlcnMgZWZmaWNpZW50 bHkuDQo+Pg0KPj4gbWV0ZXJfcG9saWN5X2lkIGlzIGFkZGVkIGludG8gc3RydWN0IHJ0ZV9tdHJf cGFyYW1zLg0KPj4gU28gdGhhdCBpdCBjYW4gZ2V0IHRoZSBwb2xpY3kgZHVyaW5nIHRoZSBtZXRl cnMgY3JlYXRpb24uDQo+Pg0KPj4gQWxsb3cgY29sb3JpbmcgdGhlIHBhY2tldCB1c2luZyBhIG5l dyBydGVfZmxvd19hY3Rpb25fY29sb3IgYXMgY291bGQNCj4+IGJlIGRvbmUgYnkgdGhlIG9sZCBw b2xpY3kgQVBJLg0KPj4NCj4+IEFkZCB0d28gY29tbW9uIHBvbGljeSB0ZW1wbGF0ZSBhcyBtYWNy b3MgaW4gdGhlIGhlYWQgZmlsZS4NCj4+DQo+PiBUaGUgbmV4dCBBUEkgZnVuY3Rpb24gd2VyZSBh ZGRlZDoNCj4+IC0gcnRlX210cl9tZXRlcl9wb2xpY3lfYWRkDQo+PiAtIHJ0ZV9tdHJfbWV0ZXJf cG9saWN5X2RlbGV0ZQ0KPj4gLSBydGVfbXRyX21ldGVyX3BvbGljeV91cGRhdGUNCj4+IC0gcnRl X210cl9tZXRlcl9wb2xpY3lfdmFsaWRhdGUNCj4+IFRoZSBuZXh0IHN0cnVjdCB3YXMgY2hhbmdl ZDoNCj4+IC0gcnRlX210cl9wYXJhbXMNCj4+IC0gcnRlX210cl9jYXBhYmlsaXRpZXMNCj4+IFRo ZSBuZXh0IEFQSSB3YXMgZGVsZXRlZDoNCj4+IC0gcnRlX210cl9wb2xpY2VyX2FjdGlvbnNfdXBk YXRlDQo+Pg0KPj4gVG8gc3VwcG9ydCB0aGlzIEFQSSB0aGUgZm9sbG93aW5nIGFwcCB3ZXJlIGNo YW5nZWQ6DQo+PiBhcHAvdGVzdC1mbG93LXBlcmY6IGNsZWFuIG1ldGVyIHBvbGljZXINCj4+IGFw cC90ZXN0cG1kOiBjbGVhbiBtZXRlciBwb2xpY2VyDQo+Pg0KPj4gVG8gc3VwcG9ydCB0aGlzIEFQ SSB0aGUgZm9sbG93aW5nIGRyaXZlcnMgd2VyZSBjaGFuZ2VkOg0KPj4gbmV0L3NvZnRuaWM6IHN1 cHBvcnQgbWV0ZXIgcG9saWN5IEFQSQ0KPj4gMS4gQ2xlYW5zIG1ldGVyIHJ0ZV9tdHJfcG9saWNl cl9hY3Rpb24uDQo+PiAyLiBTdXBwb3J0cyBwb2xpY3kgQVBJIHRvIGdldCBjb2xvciBhY3Rpb24g YXMgcG9saWNlciBhY3Rpb24gZGlkLg0KPj4gICAgVGhlIGNvbG9yIGFjdGlvbiB3aWxsIGJlIG1h cHBlZCBpbnRvIHJ0ZV90YWJsZV9hY3Rpb25fcG9saWNlci4NCj4+DQo+PiBuZXQvbWx4NTogY2xl YW4gbWV0ZXIgY3JlYXRpb24gbWFuYWdlbWVudCBDbGVhbnMgYW5kIGJyZWFrcyBwYXJ0IG9mDQo+ PiB0aGUgY3VycmVudCBtZXRlciBtYW5hZ2VtZW50IGluIG9yZGVyIHRvIGFsbG93IGJldHRlciBk ZXNpZ24gd2l0aA0KPj4gcG9saWN5IEFQSS4NCj4+DQo+PiBTaWduZWQtb2ZmLWJ5OiBMaSBaaGFu ZyA8bGl6aEBudmlkaWEuY29tPg0KPj4gU2lnbmVkLW9mZi1ieTogSGFpZmVpIEx1byA8aGFpZmVp bEBudmlkaWEuY29tPg0KPj4gU2lnbmVkLW9mZi1ieTogSmlhd2VpIFdhbmcgPGppYXdlaXdAbnZp ZGlhLmNvbT4NCj4+IEFja2VkLWJ5OiBNYXRhbiBBenJhZCA8bWF0YW5AbnZpZGlhLmNvbT4NCj4+ IEFja2VkLWJ5OiBSYXkgS2luc2VsbGEgPG1kckBhc2hyb2UuZXU+DQo+PiBBY2tlZC1ieTogT3Jp IEthbSA8b3Jpa2FAbnZpZGlhLmNvbT4NCj4+IEFja2VkLWJ5OiBKYXN2aW5kZXIgU2luZ2ggPGph c3ZpbmRlci5zaW5naEBpbnRlbC5jb20+DQo+DQo+QWNrZWQtYnk6IENyaXN0aWFuIER1bWl0cmVz Y3UgPGNyaXN0aWFuLmR1bWl0cmVzY3VAaW50ZWwuY29tPg0KDQo=