From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 79B7CC433B4 for ; Wed, 31 Mar 2021 15:46:11 +0000 (UTC) Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by mail.kernel.org (Postfix) with ESMTP id B344A601FB for ; Wed, 31 Mar 2021 15:46:10 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B344A601FB Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=dev-bounces@dpdk.org Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 92B4F140E93; Wed, 31 Mar 2021 17:46:09 +0200 (CEST) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by mails.dpdk.org (Postfix) with ESMTP id 7F029140E8A for ; Wed, 31 Mar 2021 17:46:07 +0200 (CEST) IronPort-SDR: c2HSLHsVv2vWuyx4PgvLZTeqPHv/QxFXVEo/w1PZoq7PKNUjy9YTuFPewKbBSg/c3c8pC6B9zf zOSENLKzoDJg== X-IronPort-AV: E=McAfee;i="6000,8403,9940"; a="171448271" X-IronPort-AV: E=Sophos;i="5.81,293,1610438400"; d="scan'208";a="171448271" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 31 Mar 2021 08:46:05 -0700 IronPort-SDR: eAARAI4LuBXa9By1rmrmUaBBLj+EZRNENt0hnLZKZHGf3Vp48W7Y20Jgh2PoleisKdNdjwqjmk TCBN82VmMFfA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,293,1610438400"; d="scan'208";a="516952630" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by fmsmga001.fm.intel.com with ESMTP; 31 Mar 2021 08:46:04 -0700 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2; Wed, 31 Mar 2021 08:46:04 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2 via Frontend Transport; Wed, 31 Mar 2021 08:46:04 -0700 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.44) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2106.2; Wed, 31 Mar 2021 08:46:03 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RIP4p6aGLMxktC2yIk5Zipii6p8TAvSeq6zVPn1B0CKZyTVQsZz19MIC5g0mpDdGpO78FDFNQlfsysFM2VcM4m/UG3DmoKUXkovwGF0E3WfPlNcE2tNamxSoMB/eIqwDvNC11KGxcG4Qr1Em1ZtnoAw0muA8NopP5iAV0ilCj9vPkrie0LcqmhIQinGYqNp0M4C1gX8dmsteQIwgK2q55uO2bWrzMzXkRF4nSdTOtNkkFtEg0viHyEnSSGpGDxQQHDlUuU0HuLZ8nyD6KNtfLFwKt/f0JU+V9KZvP00PR6wB5NkBNb99p0E4HjKfImilVcKfPsFjCu0uic3dXTGDfA== 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=Uc/4Zxq4FWZjh28NLN5jTs6BzyCP4cevuYzxG6IxbCA=; b=dLdcHtLzS4ZEaUFsVtHivqE4+iDQ9Xum1hFHhf0/s13/w2hqgBRpoCkGMwjvurBQrj5+7xXgNMp8MWhk951kOQAt5T+fd5/BoYKCgIA0buU2xfCd2n/cX7zg1V/l2LGQP9hnbs7IizXbmF0q57RbZM3Y6QDlkeRUYwVDB/pRln7CmNGzNWmkWKz9mYYvwA9RdZssgfFPLYVLT6CIttGDeXTi5CYajJnYh2PPbVunYn37sOya1Lg902NRLe0wteL77y/bBkuAX2gAVv8CIYerZkM/G+JWerQfvrpmsLrbsTWencTU20SweGRL8hiTEyAp4yuOAkjShedl0v+aol2Q0w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Uc/4Zxq4FWZjh28NLN5jTs6BzyCP4cevuYzxG6IxbCA=; b=FYhOCPBMJRwJpS1QJKIUpgArlbfq8YAxniQiUX14UJ7hySLOXKpOgqHpJszC+BjlFBvKmuu/IgDbmUC2SP7LbqghujKWGoGKmt+Vgam+aB0KDo68lD/j9DAPv51/aEQsK7fWdmITp3XnE1pDwour1magzHu1T6vHtL17hd54JXg= Received: from DM6PR11MB2796.namprd11.prod.outlook.com (2603:10b6:5:c8::23) by DM6PR11MB3434.namprd11.prod.outlook.com (2603:10b6:5:70::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3999.27; Wed, 31 Mar 2021 15:46:01 +0000 Received: from DM6PR11MB2796.namprd11.prod.outlook.com ([fe80::b5d2:6f20:3c0:3627]) by DM6PR11MB2796.namprd11.prod.outlook.com ([fe80::b5d2:6f20:3c0:3627%7]) with mapi id 15.20.3999.028; Wed, 31 Mar 2021 15:46:01 +0000 From: "Dumitrescu, Cristian" To: Matan Azrad , 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: AQHXG9Tf/DPc1Me1jEakhj0VntDGc6qR9aKwgAJatoCABt/gwIAAUIqAgALMPbA= Date: Wed, 31 Mar 2021 15:46:01 +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: dlp-version: 11.5.1.3 dlp-reaction: no-action dlp-product: dlpe-windows authentication-results: nvidia.com; dkim=none (message not signed) header.d=none;nvidia.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [109.79.23.215] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 98510e9b-f755-4d17-7cc5-08d8f45c15cc x-ms-traffictypediagnostic: DM6PR11MB3434: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,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: tq/ElhpqFTAF91WaYMn4q9FQCozWdxwwPwFGbEQOrjQdlI6nhgy2UgiIX4VCuRdBr4L1keOzPECTDXg88+1MOtXMP2XkBYUD+4j5rKQGsCv96FAsQCUDJrsWNQWhs364fRKnD0Wq85b9Tsr+c5UvT9rythE+runCo5luXOg/CZVQXtx2sfkwUjAyWQO4sqKRq5N1oMYQg7SWzWFZHM33zaJ77XUruMkzZt7cACgHc0ykc5zwP9KEvuJqXTZ9l3JhwiCnv47Sj9DmctmbtZqwtlaucfm7f9bS4WTRaFpnNc8NN6gBQzaUp+0onh1k8B2+1YqBKkqNk0HtSNiAFf1xyz8cE+tkwzukBjJ8QoKR/YunT213RzU+rnXGmvp1RSHzTHKSlPPK9v3RH4Q1cmLLVOfxoWkj7bFVFCyCfGVcIHZMIZnkHWwGE+tr4EWxmdOP/+6S26sbgBOAyVhdIuhqilUa3cjsOl6+DVjrxYMZ+TIjOp+anacgQZlr1hZ+DmmZmSh9C+Vz4WNZcMZ5dgnmQ1keISP0nc+1jXWkP+LNz6L3O1n7Gcey8ukv56CdMaMZUbXmiZuPBvrbejdAmZfFZqAB6HUyJiCnfZVWzkDpBlLBcPVS1Js4sNJdjlELpZDD1SfJqFYwjH6YYTXIZVh8RiYSc+eyWT+VgWYe/K/A90luTi3XMm4Bg14r4imaCf1A x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR11MB2796.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(39860400002)(396003)(366004)(376002)(346002)(136003)(5660300002)(921005)(71200400001)(86362001)(4326008)(26005)(33656002)(54906003)(66556008)(7696005)(8676002)(8936002)(110136005)(9686003)(6506007)(38100700001)(55016002)(186003)(53546011)(66476007)(66446008)(64756008)(316002)(66946007)(7416002)(76116006)(83380400001)(2906002)(52536014)(478600001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?c0JSalJWd2FyYkJ3MzlsdGFwZFpvQlE5Q0U5UjFBQjJ6Q3ZqM09RT3gydVR5?= =?utf-8?B?anphTUJDd2lXY0ZGZ1Q4ZUJqajBkY056aGRlSWVwMDZva0tzc2tsM0d0S3Z5?= =?utf-8?B?K1Y2RUcwSXhrV2JFcFdYb3hiNHMzYkFwU25LNHBlcW5lQm1lZjZ1WExhK2p1?= =?utf-8?B?N1UrYmVIK1hudzlldnR3NEpObnJZa3NpWVRHTGx2dVhNamFjbW9ST01RTExo?= =?utf-8?B?Wk1TQTdoN3ZhbVlXMjhDSWJiNGlGTWJWempLVFM2dkt4SFdIV1ArTkgyQWRr?= =?utf-8?B?bWgxUHZvR0lxSWdtSWE2VTFQdG9TcFBMbCtDUG1CYklSZThiMnNQb2xlODh1?= =?utf-8?B?R01idjVUUTF4bkZJRnhNd2F3ZndMUDdTdG1oMHZzcnROMm5RSFIxTUhJemh3?= =?utf-8?B?M0ZTMzEya3pLL0hWcEFDVTRpZTZjWVhyN0N4VEFQSFRWWFdYK0cxVGZhWVJC?= =?utf-8?B?c3cycVFzK0h4UUhrb21uVUJSNzlsTlluOWRJV0xrc1pQTmhqUzlaMlJKVVgz?= =?utf-8?B?ZjNpclRqM1owc2FScjRMK1JTMWJjNlJEaDdsSGp2akUycDJLOFE2Qk9wd0Fv?= =?utf-8?B?VHF0eHhwa1BVaTdqQXFDQzZjM0JNZ3o2NWRtb3lidVo5MnpoOFJxZlYzcm1R?= =?utf-8?B?eEV3cE5NRFNCMEI5SFRXUjNLTFZxSm5vZDJXcVFWYUlkSHcwbFRCNUxaOFRv?= =?utf-8?B?NFNuN2svQzZUbnJrYjFTaGdBek9ZQ2NVb1FsUzZQSUVJM0ZwRWVvM1V3UENL?= =?utf-8?B?NmRreTJIMW9rLzJuVU1qb1pEQkRyQWtpLzJ2UlVOcTQ2NFJ1TG93b0lYQTcy?= =?utf-8?B?dDRPdjkwQ2JQVTZOOUI2VnkzM3FUcVVsbzZTY0NlbDdNNUdZRzgxRDlsdjZQ?= =?utf-8?B?MmdmK0lCS3NHWUU1VmNlanA2N2VadkhQQUNIV28wQ1BtWnppUEJFejNNMHBO?= =?utf-8?B?UUtQaXZTaWQ1UWJ4M1NYc1dWdDVTaEZHeEVjc3Z4aHZ4UWVlT2p0S25IQ2Jx?= =?utf-8?B?T2xtNFltdFFOR1VFOWNpOFIwSHFMM056MWdBVjVtbHFKaWh2UjV3bE9nVUFH?= =?utf-8?B?MkJsWnpxZmk5bjF5RVVkVE9qTW0rRWcxUnJJRnMvWVRBY0hEcUQ1Y0VNSHAr?= =?utf-8?B?UzNTVFdPSk1YWXc5Q1puQ3cxR2p1Q0NuNmZ5Zlg3R0lKUGlaN29lZS9OYzlL?= =?utf-8?B?MHRuQUJONldJTDVDYUE3M2M5cTRWWkFBM0N0STg0djN3blVrdzBZeDNOWERu?= =?utf-8?B?Y2FWY0QyaVg4a1FWNm8zbkFuYlFKRmN6SlF5THNOem9WaHZzbmlvUEkwVnF1?= =?utf-8?B?MUNFZllQODRJbjYwczgwM0Q0a3VUNEtTVFlGZzNRdUR5WmhxblZCb29aYU9p?= =?utf-8?B?NFFOQUV2RXo1cGRhWkswSDdDbUJVVVlweFA2NGt6L2NsVzgyM3VGSjVyTjg5?= =?utf-8?B?L250S3kraG1Zb2VoWDRqUTNLWHh0MWlxUzgzeVJxTEJhLzVTTGpGNGE3RTl2?= =?utf-8?B?T1l5ZlhLUHJsMjdZZDYyUzQyNlJqUFRlaFYyTVBzREY4OE1YZ3NoVGdWcW5X?= =?utf-8?B?KzFjSEpKTWk3VWVkYUlENG44MXNTMHdLNE1DSXBvZzVlSi90S0NMVVFTMEda?= =?utf-8?B?OXl3cjRveHMvZTJGdEEzYnM5N1N0SDh3TnJ6bCtFM3RObHc4RWJaNnRXRGdm?= =?utf-8?B?S3FuYVZjNXptSElPS0ZxTU9udlVoQVRMMjFuV3dhZkhOa1hIRmljbE5DRytK?= =?utf-8?Q?QpozUO37nLZpagffD7ZWKubGw5+0UKY40R/lN06?= 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: DM6PR11MB2796.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 98510e9b-f755-4d17-7cc5-08d8f45c15cc X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Mar 2021 15:46:01.1557 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: aVzDLCMrjuCGYfwLqTYhyOgPZJYhtkS/IrG+Pz/xbLWWYHM2B6uzjuKnJlnUXQVmUM0BkbHxnUqcxZfbx9Npyus4l+cq16wNdrM4i5xJM/M= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB3434 X-OriginatorOrg: intel.com 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" SGkgTWF0YW4sDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogTWF0YW4g QXpyYWQgPG1hdGFuQG52aWRpYS5jb20+DQo+IFNlbnQ6IE1vbmRheSwgTWFyY2ggMjksIDIwMjEg OTo0NCBQTQ0KPiBUbzogRHVtaXRyZXNjdSwgQ3Jpc3RpYW4gPGNyaXN0aWFuLmR1bWl0cmVzY3VA aW50ZWwuY29tPjsgTGkgWmhhbmcNCj4gPGxpemhAbnZpZGlhLmNvbT47IERla2VsIFBlbGVkIDxk ZWtlbHBAbnZpZGlhLmNvbT47IE9yaSBLYW0NCj4gPG9yaWthQG52aWRpYS5jb20+OyBTbGF2YSBP dnNpaWVua28gPHZpYWNoZXNsYXZvQG52aWRpYS5jb20+OyBTaGFoYWYNCj4gU2h1bGVyIDxzaGFo YWZzQG52aWRpYS5jb20+OyBsaXJvbmhAbWFydmVsbC5jb207IFNpbmdoLCBKYXN2aW5kZXINCj4g PGphc3ZpbmRlci5zaW5naEBpbnRlbC5jb20+OyBOQlUtQ29udGFjdC1UaG9tYXMgTW9uamFsb24N Cj4gPHRob21hc0Btb25qYWxvbi5uZXQ+OyBZaWdpdCwgRmVycnVoIDxmZXJydWgueWlnaXRAaW50 ZWwuY29tPjsgQW5kcmV3DQo+IFJ5YmNoZW5rbyA8YW5kcmV3LnJ5YmNoZW5rb0Bva3RldGxhYnMu cnU+OyBKZXJpbiBKYWNvYg0KPiA8amVyaW5qYWNvYmtAZ21haWwuY29tPjsgSGVtYW50IEFncmF3 YWwgPGhlbWFudC5hZ3Jhd2FsQG54cC5jb20+Ow0KPiBBaml0IEtoYXBhcmRlIDxhaml0LmtoYXBh cmRlQGJyb2FkY29tLmNvbT4NCj4gQ2M6IGRldkBkcGRrLm9yZzsgUmFzbGFuIERhcmF3c2hlaCA8 cmFzbGFuZEBudmlkaWEuY29tPjsgUm9uaSBCYXIgWWFuYWkNCj4gPHJvbmliYUBudmlkaWEuY29t Pg0KPiBTdWJqZWN0OiBSRTogW1BBVENIIDEvMl0gW1JGQ106IGV0aGRldjogYWRkIHByZS1kZWZp bmVkIG1ldGVyIHBvbGljeSBBUEkNCj4gDQo+IA0KPiANCj4gRnJvbTogRHVtaXRyZXNjdSwgQ3Jp c3RpYW4NCj4gPiBIaSBNYXRhbiwNCj4gPg0KPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0t LS0NCj4gPiA+IEZyb206IE1hdGFuIEF6cmFkIDxtYXRhbkBudmlkaWEuY29tPg0KPiA+ID4gU2Vu dDogVGh1cnNkYXksIE1hcmNoIDI1LCAyMDIxIDY6NTcgQU0NCj4gPiA+IFRvOiBEdW1pdHJlc2N1 LCBDcmlzdGlhbiA8Y3Jpc3RpYW4uZHVtaXRyZXNjdUBpbnRlbC5jb20+OyBMaSBaaGFuZw0KPiA+ ID4gPGxpemhAbnZpZGlhLmNvbT47IERla2VsIFBlbGVkIDxkZWtlbHBAbnZpZGlhLmNvbT47IE9y aSBLYW0NCj4gPiA+IDxvcmlrYUBudmlkaWEuY29tPjsgU2xhdmEgT3ZzaWllbmtvIDx2aWFjaGVz bGF2b0BudmlkaWEuY29tPjsgU2hhaGFmDQo+ID4gPiBTaHVsZXIgPHNoYWhhZnNAbnZpZGlhLmNv bT47IGxpcm9uaEBtYXJ2ZWxsLmNvbTsgU2luZ2gsIEphc3ZpbmRlcg0KPiA+ID4gPGphc3ZpbmRl ci5zaW5naEBpbnRlbC5jb20+OyBOQlUtQ29udGFjdC1UaG9tYXMgTW9uamFsb24NCj4gPiA+IDx0 aG9tYXNAbW9uamFsb24ubmV0PjsgWWlnaXQsIEZlcnJ1aCA8ZmVycnVoLnlpZ2l0QGludGVsLmNv bT47DQo+IEFuZHJldw0KPiA+ID4gUnliY2hlbmtvIDxhbmRyZXcucnliY2hlbmtvQG9rdGV0bGFi cy5ydT47IEplcmluIEphY29iDQo+ID4gPiA8amVyaW5qYWNvYmtAZ21haWwuY29tPjsgSGVtYW50 IEFncmF3YWwNCj4gPGhlbWFudC5hZ3Jhd2FsQG54cC5jb20+Ow0KPiA+IEFqaXQNCj4gPiA+IEto YXBhcmRlIDxhaml0LmtoYXBhcmRlQGJyb2FkY29tLmNvbT4NCj4gPiA+IENjOiBkZXZAZHBkay5v cmc7IFJhc2xhbiBEYXJhd3NoZWggPHJhc2xhbmRAbnZpZGlhLmNvbT47IFJvbmkgQmFyDQo+ID4g PiBZYW5haSA8cm9uaWJhQG52aWRpYS5jb20+DQo+ID4gPiBTdWJqZWN0OiBSRTogW1BBVENIIDEv Ml0gW1JGQ106IGV0aGRldjogYWRkIHByZS1kZWZpbmVkIG1ldGVyIHBvbGljeQ0KPiA+ID4gQVBJ DQo+ID4gPg0KPiA+ID4gSGkgQ3Jpc3RpYW4NCj4gPiA+DQo+ID4gPiBUaGFuayB5b3UgZm9yIHlv dXIgaW1wb3J0YW50IHJldmlldyENCj4gPiA+IEkgYWdyZWUgd2l0aCBhbGwgeW91ciBjb21tZW50 cyBleGNlcHQgb25lLCBwbGVhc2Ugc2VlIGlubGluZS4NCj4gPiA+DQo+ID4gPiBGcm9tOiBEdW1p dHJlc2N1LCBDcmlzdGlhbg0KPiA+ID4gPiBIaSBMaSBhbmQgTWF0YW4sDQo+ID4gPiA+DQo+ID4g PiA+IFRoYW5rIHlvdSBmb3IgeW91ciBwcm9wb3NhbCwgc29tZSBjb21tZW50cyBiZWxvdy4NCj4g PiA+ID4NCj4gPiA+ID4gSSBhbSBhbHNvIGFkZGluZyBKZXJpbiBhbmQgSGVtYW50IHRvIHRoaXMg dGhyZWFkLCBhcyB0aGV5IGFsc28NCj4gPiA+ID4gcGFydGljaXBhdGVkDQo+ID4gPiBpbg0KPiA+ ID4gPiB0aGUgZGVmaW5pdGlvbiBvZiB0aGUgcnRlX210ciBBUEkgaW4gMjAxNy4gQWxzbyBBaml0 IGV4cHJlc3NlZCBzb21lDQo+ID4gPiA+IGludGVyZXN0DQo+ID4gPiBpbiBhDQo+ID4gPiA+IHBy ZXZpb3VzIGVtYWlsLg0KPiA+ID4gPg0KPiA+ID4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0t LS0tDQo+ID4gPiA+ID4gRnJvbTogTGkgWmhhbmcgPGxpemhAbnZpZGlhLmNvbT4NCj4gPiA+ID4g PiBTZW50OiBUaHVyc2RheSwgTWFyY2ggMTgsIDIwMjEgODo1OCBBTQ0KPiA+ID4gPiA+IFRvOiBk ZWtlbHBAbnZpZGlhLmNvbTsgb3Jpa2FAbnZpZGlhLmNvbTsgdmlhY2hlc2xhdm9AbnZpZGlhLmNv bTsNCj4gPiA+ID4gPiBtYXRhbkBudmlkaWEuY29tOyBzaGFoYWZzQG52aWRpYS5jb207IGxpcm9u aEBtYXJ2ZWxsLmNvbTsgU2luZ2gsDQo+ID4gPiA+ID4gSmFzdmluZGVyIDxqYXN2aW5kZXIuc2lu Z2hAaW50ZWwuY29tPjsgVGhvbWFzIE1vbmphbG9uDQo+ID4gPiA+ID4gPHRob21hc0Btb25qYWxv bi5uZXQ+OyBZaWdpdCwgRmVycnVoIDxmZXJydWgueWlnaXRAaW50ZWwuY29tPjsNCj4gPiA+IEFu ZHJldw0KPiA+ID4gPiA+IFJ5YmNoZW5rbyA8YW5kcmV3LnJ5YmNoZW5rb0Bva3RldGxhYnMucnU+ OyBEdW1pdHJlc2N1LCBDcmlzdGlhbg0KPiA+ID4gPiA+IDxjcmlzdGlhbi5kdW1pdHJlc2N1QGlu dGVsLmNvbT4NCj4gPiA+ID4gPiBDYzogZGV2QGRwZGsub3JnOyByYXNsYW5kQG52aWRpYS5jb207 IHJvbmliYUBudmlkaWEuY29tDQo+ID4gPiA+ID4gU3ViamVjdDogW1BBVENIIDEvMl0gW1JGQ106 IGV0aGRldjogYWRkIHByZS1kZWZpbmVkIG1ldGVyIHBvbGljeQ0KPiA+ID4gPiA+IEFQSQ0KPiA+ ID4gPiA+DQo+ID4gPiA+ID4gQ3VycmVudGx5LCB0aGUgZmxvdyBtZXRlciBwb2xpY3kgZG9lcyBu b3Qgc3VwcG9ydCBtdWx0aXBsZSBhY3Rpb25zDQo+ID4gPiA+ID4gcGVyIGNvbG9yOyBhbHNvIHRo ZSBhbGxvd2VkIGFjdGlvbiB0eXBlcyBwZXIgY29sb3IgYXJlIHZlcnkgbGltaXRlZC4NCj4gPiA+ ID4gPiBJbiBhZGRpdGlvbiwgdGhlIHBvbGljeSBjYW5ub3QgYmUgcHJlLWRlZmluZWQuDQo+ID4g PiA+ID4NCj4gPiA+ID4gPiBEdWUgdG8gdGhlIGdyb3dpbmcgaW4gZmxvdyBhY3Rpb25zIG9mZmxv YWQgYWJpbGl0aWVzIHRoZXJlIGlzIGENCj4gPiA+ID4gPiBwb3RlbnRpYWwgZm9yIHRoZSB1c2Vy IHRvIHVzZSB2YXJpZXR5IG9mIGFjdGlvbnMgcGVyIGNvbG9yIGRpZmZlcmVudGx5Lg0KPiA+ID4g PiA+IFRoaXMgbmV3IG1ldGVyIHBvbGljeSBBUEkgY29tZXMgdG8gYWxsb3cgdGhpcyBwb3RlbnRp YWwgaW4gdGhlDQo+ID4gPiA+ID4gbW9zdCBldGhkZXYgY29tbW9uIHdheSB1c2luZyBydGVfZmxv dyBhY3Rpb24gZGVmaW5pdGlvbi4NCj4gPiA+ID4gPiBBIGxpc3Qgb2YgcnRlX2Zsb3cgYWN0aW9u cyB3aWxsIGJlIHByb3ZpZGVkIGJ5IHRoZSB1c2VyIHBlciBjb2xvcg0KPiA+ID4gPiA+IGluIG9y ZGVyIHRvIGNyZWF0ZSBhIG1ldGVyIHBvbGljeS4NCj4gPiA+ID4gPiBJbiBhZGRpdGlvbiwgdGhl IEFQSSBmb3JjZXMgdG8gcHJlLWRlZmluZSB0aGUgcG9saWN5IGJlZm9yZSB0aGUNCj4gPiA+ID4g PiBtZXRlcnMgY3JlYXRpb24gaW4gb3JkZXIgdG8gYWxsb3cgc2hhcmluZyBvZiBzaW5nbGUgcG9s aWN5IHdpdGgNCj4gPiA+ID4gPiBtdWx0aXBsZSBtZXRlcnMgZWZmaWNpZW50bHkuDQo+ID4gPiA+ ID4NCj4gPiA+ID4gPiBtZXRlcl9wb2xpY3lfaWQgaXMgYWRkZWQgaW50byBzdHJ1Y3QgcnRlX210 cl9wYXJhbXMuDQo+ID4gPiA+ID4gU28gdGhhdCBpdCBjYW4gZ2V0IHRoZSBwb2xpY3kgZHVyaW5n IHRoZSBtZXRlcnMgY3JlYXRpb24uDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBQb2xpY3kgaWQgMCBp cyBkZWZhdWx0IHBvbGljeS4gQWN0aW9uIHBlciBjb2xvciBhcyBiZWxvdzoNCj4gPiA+ID4gPiBn cmVlbiAtIG5vIGFjdGlvbiwgeWVsbG93IC0gbm8gYWN0aW9uLCByZWQgLSBkcm9wDQo+ID4gPiA+ ID4NCj4gPiA+ID4gPiBBbGxvdyBjb2xvcmluZyB0aGUgcGFja2V0IHVzaW5nIGEgbmV3IHJ0ZV9m bG93X2FjdGlvbl9jb2xvciBhcw0KPiA+ID4gPiA+IGNvdWxkIGJlIGRvbmUgYnkgdGhlIG9sZCBw b2xpY3kgQVBJLA0KPiA+ID4gPiA+DQo+ID4gPiA+DQo+ID4gPiA+IFRoZSBwcm9wb3NhbCBlc3Nl bnRpYWxseSBpcyB0byBkZWZpbmUgdGhlIG1ldGVyIHBvbGljeSBiYXNlZCBvbg0KPiA+ID4gPiBy dGVfZmxvdw0KPiA+ID4gYWN0aW9ucw0KPiA+ID4gPiByYXRoZXIgdGhhbiBhIHJlZHVjZWQgYWN0 aW9uIHNldCBkZWZpbmVkIHNwZWNpZmljYWxseSBqdXN0IGZvciBtZXRlcg0KPiBvYmplY3QuDQo+ ID4gPiBUaGlzDQo+ID4gPiA+IG1ha2VzIHNlbnNlIHRvIG1lLg0KPiA+ID4gPg0KPiA+ID4gPiA+ IFRoZSBuZXh0IEFQSSBmdW5jdGlvbiB3ZXJlIGFkZGVkOg0KPiA+ID4gPiA+IC0gcnRlX210cl9t ZXRlcl9wb2xpY3lfYWRkDQo+ID4gPiA+ID4gLSBydGVfbXRyX21ldGVyX3BvbGljeV9kZWxldGUN Cj4gPiA+ID4gPiAtIHJ0ZV9tdHJfbWV0ZXJfcG9saWN5X3VwZGF0ZQ0KPiA+ID4gPiA+IC0gcnRl X210cl9tZXRlcl9wb2xpY3lfdmFsaWRhdGUNCj4gPiA+ID4gPiBUaGUgbmV4dCBzdHJ1Y3Qgd2Fz IGNoYW5nZWQ6DQo+ID4gPiA+ID4gLSBydGVfbXRyX3BhcmFtcw0KPiA+ID4gPiA+IC0gcnRlX210 cl9jYXBhYmlsaXRpZXMNCj4gPiA+ID4gPiBUaGUgbmV4dCBBUEkgd2FzIGRlbGV0ZWQ6DQo+ID4g PiA+ID4gLSBydGVfbXRyX3BvbGljZXJfYWN0aW9uc191cGRhdGUNCj4gPiA+ID4gPg0KPiA+ID4g PiA+IFNpZ25lZC1vZmYtYnk6IExpIFpoYW5nIDxsaXpoQG52aWRpYS5jb20+DQo+ID4gPiA+ID4g LS0tDQo+ID4gPiA+ID4gIGxpYi9saWJydGVfZXRoZGV2L3J0ZV9mbG93LmggICAgICAgfCAgMTgg KysrKw0KPiA+ID4gPiA+ICBsaWIvbGlicnRlX2V0aGRldi9ydGVfbXRyLmMgICAgICAgIHwgIDU1 ICsrKysrKysrLS0NCj4gPiA+ID4gPiAgbGliL2xpYnJ0ZV9ldGhkZXYvcnRlX210ci5oICAgICAg ICB8IDE2NiArKysrKysrKysrKysrKysrKysrKy0tLS0tLS0NCj4gLS0NCj4gPiA+ID4gPiAgbGli L2xpYnJ0ZV9ldGhkZXYvcnRlX210cl9kcml2ZXIuaCB8ICA0NSArKysrKystLQ0KPiA+ID4gPiA+ ICA0IGZpbGVzIGNoYW5nZWQsIDIxMCBpbnNlcnRpb25zKA0KPiA8c25pcD4NCj4gPiA+ID4gPiAr LyoqDQo+ID4gPiA+ID4gKyAqIFBvbGljeSBpZCAwIGlzIGRlZmF1bHQgcG9saWN5Lg0KPiA+ID4g Pg0KPiA+ID4gPiBJIHN1Z2dlc3QgeW91IGRvIG5vdCByZWR1bmRhbnRseSBzcGVjaWZ5IHRoZSB2 YWx1ZSBvZiB0aGUgZGVmYXVsdA0KPiA+ID4gPiBwb2xpY3kgSUQNCj4gPiA+IGluIHRoZQ0KPiA+ ID4gPiBjb21tZW50LiBSZXBsYWNlIGJ5ICJEZWZhdWx0IHBvbGljeSBJRC4iDQo+ID4gPiA+DQo+ ID4gPiA+ID4gKyAqIEFjdGlvbiBwZXIgY29sb3IgYXMgYmVsb3c6DQo+ID4gPiA+ID4gKyAqIGdy ZWVuIC0gbm8gYWN0aW9uLCB5ZWxsb3cgLSBubyBhY3Rpb24sIHJlZCAtIGRyb3ANCj4gPiA+ID4N Cj4gPiA+ID4gVGhpcyBkb2VzIG5vdCBtYWtlIHNlbnNlIHRvIG1lIGFzIHRoZSBkZWZhdWx0IHBv bGljeS4gVGhlIGRlZmF1bHQNCj4gPiA+ID4gcG9saWN5DQo+ID4gPiBzaG91bGQNCj4gPiA+ID4g YmUgIm5vIGNoYW5nZSIsIGkuZS4gZ3JlZW4gLT4gZ3JlZW4gKG5vIGNoYW5nZSksIHllbGxvdyAt PiB5ZWxsb3cNCj4gPiA+ID4gKG5vDQo+ID4gPiBjaGFuZ2UpLA0KPiA+ID4gPiByZWQgLT4gcmVk IChubyBjaGFuZ2UpLg0KPiA+ID4NCj4gPiA+IENhbiB5b3UgZXhwbGFpbiB3aHkgaXQgZG9lc24n dCBtYWtlIHNlbnNlIHRvIHlvdT8NCj4gPiA+DQo+ID4gPiBNZXRlciB3aXRoICJubyBjaGFuZ2Ui IGZvciBhbGwgY29sb3JzIGhhcyBubyBlZmZlY3Qgb24gdGhlIHBhY2tldHMgc28NCj4gPiA+IGl0 IGlzIHJlZHVuZGFudCBhY3Rpb24gd2hpY2gganVzdCBjb3N0cyBwZXJmb3JtYW5jZSBhbmQgcmVz b3VyY2VzIC0NCj4gPiA+IHByb2JhYmx5IG5ldmVyIGJlIHVzZWQuDQo+ID4gPg0KPiA+DQo+ID4g VGhlIG1idWY6OnNjaGVkOjpjb2xvciBuZWVkcyB0byBiZSBzZXQgZm9yIHRoZSBwYWNrZXQsIGFu ZCB0aGUgb25seSB3YXkgdG8NCj4gZG8NCj4gPiB0aGlzIGlzIGJ5IGFwcGx5aW5nIHRoZSBSVEVf RkxPV19BQ1RJT05fVFlQRV9DT0xPUiBBY3Rpb24sIHJpZ2h0PyBJdA0KPiB3b3VsZA0KPiA+IG1h a2Ugc2Vuc2UgdGhhdCB0aGUgZGVmYXVsdCBwb2xpY3kgaXMgdG8gc2ltcGx5IGFwcGx5IHRvIHRo ZSBwYWNrZXQgdGhlIGNvbG9yDQo+ID4gdGhhdCB0aGUgbWV0ZXIganVzdCBjb21wdXRlZCBmb3Ig dGhlIGN1cnJlbnQgcGFja2V0IHdpdGggbm8gY2hhbmdlLCByaWdodD8NCj4gDQo+IEkgZG9uJ3Qg dGhpbmsgc28uDQo+IFdoZW4gd2UgYXJlIHdvcmtpbmcgd2l0aCBIVyBvZmZsb2FkcyAodGhpcyBp cyB0aGUgbWFpbiBnb2FsIG9mIHJ0ZV9mbG93IGFuZA0KPiB0aGlzIG1ldGVyIEFQSSkgdGhlIG1v dGl2YXRpb24gaXMgdG8gZG8gdGhlIGFjdGlvbnMgZGlyZWN0bHkgaW4gdGhlIE5JQyBIVy4NCj4g TW92aW5nIHRoZSBjb2xvciBpbmZvcm1hdGlvbiB0byB0aGUgU1cgaXMgbGlrZSBkb2luZyAicGFy dGlhbCBvZmZsb2FkIi4NCj4gDQoNClNvcnJ5LCBNYXRhbiwgYnV0IGFzIHRoZSBidWxrIG9mIHRo ZSBwYWNrZXRzIGFyZSBwYXNzZWQgYnkgdGhlIE5JQyB0byB0aGUgQ1BVIGFzIG9wcG9zZWQgdG8g YmVpbmcgcmV0dXJuZWQgdG8gdGhlIG5ldHdvcmsgd2l0aG91dCB0aGUgQ1BVIGV2ZXIgc2VlaW5n IHRoZW0sIHRoZSBydGVfZmxvdyBBUEkgaXMgYSBwYXJ0aWFsIG9mZmxvYWQgQVBJLCBub3QgYSBm dWxsIG9mZmxvYWQgQVBJLCBub3Qgc3VyZSB3aHkgd2UgZGlzYWdyZWUgaGVyZS4NCg0KSnVzdCB0 byBtYWtlIHN1cmUgd2UgYXJlIG9uIHRoZSBzYW1lIHBhZ2UgYW5kIG5vdCBnZXR0aW5nIHJvdW5k IGluIGNpcmNsZXM6IEkgdGhpbmsgeW91IGFncmVlIHRoYXQgd2Ugc2hvdWxkIGhhdmUgdGhpcyBh Y3Rpb24gUlRFX0ZMT1dfQUNUSU9OX1RZUEVfQ09MT1IgdG8gc2V0dXAgdGhlIGNvbG9yIGZvciB0 aGUgQ1BVIHRvIHNlZSBpbiBtYnVmOjpzY2hlZDpjb2xvciwgYnV0IHlvdSBkb24ndCBhZ3JlZSB0 aGlzIGFjdGlvbiBzaG91bGQgYmUgcGFydCBvZiB0aGUgZGVmYXVsdCBwb2xpY3ksIGRpZCBJIGdl dCB5b3VyIHBvc2l0aW9uIGNvcnJlY3RseT8NCg0KPiANCj4gPiA+IFRoZSBtb3N0IGNvbW1vbiB1 c2FnZSBmb3IgbWV0ZXIgaXMgdG8gZHJvcCBhbGwgdGhlIHBhY2tldHMgY29tZSBhYm92ZQ0KPiA+ ID4gdGhlIGRlZmluZWQgcmF0ZSBsaW1pdCAtIHNvIGl0IG1ha2VzIHNlbnNlIHRvIHRha2UgdGhp cyBiZWhhdmlvciBhcyBkZWZhdWx0Lg0KPiA+ID4NCj4gPg0KPiA+IEkgZG9uJ3QgYWdyZWUgd2l0 aCB0aGlzIGFzc2VydGlvbiBlaXRoZXIuIE9uZSB0eXBpY2FsIHVzYWdlIG9mIHRoZSBjb2xvciBp cyB0bw0KPiA+IGFjY2VwdCBhbGwgaW5wdXQgcGFja2V0cyBmcm9tIHRoZSB1c2VyLCBlaXRoZXIg Z3JlZW4sIHllbGxvdyBvciByZWQgaW4gdGhlDQo+ID4gYWJzZW5jZSBvZiBhbnkgY29uZ2VzdGlv biwgYW5kIGNoYXJnZSB0aGUgdXNlciBmb3IgdGhpcyB0cmFmZmljOyBpbiBjYXNlIG9mDQo+ID4g Y29uZ2VzdGlvbiwgYXMgdHlwaWNhbGx5IGRldGVjdGVkIGxhdGVyICh0eXBpY2FsbHkgb24gc2No ZWR1bGluZyBhbmQgbWF5YmUNCj4gb24gYQ0KPiA+IGRpZmZlcmVudCBuZXR3b3JrIG5vZGUsIGRl cGVuZGluZyBvbiB0aGUgYXBwbGljYXRpb24pLCB0aGUgcGFja2V0IGNvbG9yIGlzDQo+IHVzZWQN Cj4gPiB0byBwcmlvcml0aXplIGJldHdlZW4gcGFja2V0cywgaS5lLiBkcm9wIHJlZCBwYWNrZXRz IGZpcnN0IGJlZm9yZSBkcm9wcGluZw0KPiBhbnkNCj4gPiB5ZWxsb3cgb3IgZ3JlZW4gcGFja2V0 cy4gSW4gdGhpcyBjYXNlLCB0aGVyZSBpcyBubyBwcmUtZGVmaW5lZCAiZHJvcCBhbGwgcmVkDQo+ ID4gcGFja2V0cyBzdHJhaWdodCBhd2F5IiBwb2xpY3kuDQo+IA0KPiANCj4gSSBmYW1pbGlhciB3 aXRoIGEgbG90IG9mIG1ldGVyIHVzZXJzKGF0IGxlYXN0IDUgYXBwbGljYXRpb25zKSBpbiB0aGUg aW5kdXN0cnksIG5vDQo+IG9uZSB1c2UgdGhlIGNvbG9yIGFjdGlvbnMuDQo+IEFsbCBvZiB0aGVt IGRyb3AgcmVkIHBhY2tldHMgYW5kIGNvbnRpbnVlIHRvIHRoZSBuZXh0IGZsb3cgYWN0aW9ucyhh ZnRlcg0KPiBtZXRlcikgb3RoZXJ3aXNlLg0KPiANCg0KSSBwb2xpdGVseSBidXQgZmlybWx5IGRp c2FncmVlLiBOb25lIG9mIHRoZSBhcHBzIHRoYXQgSSBoYXZlIHNlZW4gaXMgZHJvcHBpbmcgdGhl IHJlZCBwYWNrZXRzIHN0cmFpZ2h0IGF3YXksIHRoZXkgc2ltcGx5IHVzZSB0aGUgY29sb3IgYXMg YW4gaW5kaWNhdGlvbiBvZiB0aGUgcGFja2V0IGRyb3AgcHJpb3JpdHkgYXQgYSBsYXRlciBzdGFn ZSBpbiB0aGUgcGlwZWxpbmUgd2hlbiBjb25nZXN0aW9uIGlzIGRldGVjdGVkLiANCg0KPiANCj4g SWYgeW91IGluc2lzdCwgd2UgY2FuIGRlZmluZSAyIGRlZmF1bHQgSURzLi4uDQo+IA0KDQpNYXli ZSB3ZSBzaG91bGQgbm90IGhhdmUgYW55IHByZS1yZWdpc3RlcmVkIHBvbGljaWVzIGF0IGFsbD8N Cg0KRm9yIHRoZSB1c2VyJ3MgY29udmVuaWVuY2UsIHdlIGNvdWxkIHByb3ZpZGUgdGhlIGNvbmZp Z3VyYXRpb24gcGFyYW1ldGVycyBmb3Igc29tZSBvZiB0aGUgY29tbW9uIHBvbGljaWVzLCBsaWtl IHRoZSBvbmVzIG1lbnRpb25lZCBoZXJlLCBpbiB0aGUgQVBJIGFuZCBsZXQgdGhlIHVzZXJzIGRl Y2lkZSB3aGljaCBvbmUocyksIGlmIGFueSwgdGhleSB3YW50IHRvIHJlZ2lzdGVyPw0KDQo+ID4g Pg0KPiA+ID4gPiBJIHN1Z2dlc3Qgd2UgYXZvaWQgdGhlICJubyBhY3Rpb24iIHN0YXRlbWVudCwg YXMgaXQgbWlnaHQgYmUgY29uZnVzaW5nLg0KPiA+ID4NCj4gPiA+IE1heWJlICJkbyBub3RoaW5n IiBpcyBiZXR0ZXI/DQo+ID4gPg0KPiA+DQo+ID4gWWVzLCBtYWtlcyBzZW5zZSB0byBtZS4NCj4g DQo+IDxzbmlwPg0KDQpSZWdhcmRzLA0KQ3Jpc3RpYW4NCg==