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 C4034A0C41; Tue, 5 Oct 2021 08:20:34 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 540DC410DC; Tue, 5 Oct 2021 08:20:34 +0200 (CEST) Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2066.outbound.protection.outlook.com [40.107.237.66]) by mails.dpdk.org (Postfix) with ESMTP id EF6244068F for ; Tue, 5 Oct 2021 08:20:32 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FiDOUm9Wv4hNcjDDEwwTMzk7amVLJL0VaG2FcajrW/+CqMsj0TgR1irLu1RmZu/MnJqgsa3KcnqrIFJB9e6t+7u8wqQLf55m93i40r2LUXB5z3tou73W2OoaEOQfIqjiK6ig5ekq9W17z+LgNI6dqeH7Oa2iA9NOKc/VTbYST923Jr35gP9iRG0rKp3xanuS96u0kpgzfzJt1geXWlUAvc1GeCfJa1hrLO7hqt6ZCNR1ppy1aKYxi03RjONvxYvU8IbI/rWe4Vc0W4Lcacf4ta5iVa8QICVcuArCIKAaGzeAfPnm4j9RG3s9NcdbWncdWqX4tb94wxt5+wvD0/eHpg== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=nh9pacTz6oOXdMkf7KY4ZXSFgKONe1rItyYRv2agTXc=; b=hW83Hhj4G3coZV6tjI1hhf9j9PmNfZi+gucW3pbaqcQJpLaRbQmjdvmPjITYOT5XHWKUOClpRbliTggqHzRpRfohE5W1zaG5N679QQh9PID9GaxnmTwxQkBwKDKB4xwZjWmDcB7W3CKV2zgKht+1SyGKMKNQTDZK2dFDUPRzVT8yFQBmzz9XlfBn3tqeJl/rfxNTRAEo3bXBkXpzjri6H1d1zbEcSRE0GvIaK8fzNmj1ZQCSlyp/RKJv0pi6lalGiCIzdI5gyLRIooGhkRq7zjnWLpZZHPEDDSovkwZ5cr9+E3CTEo5kfN0VZWuyQJIdypm4dg7PSSM/QLslwh3coA== 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=nh9pacTz6oOXdMkf7KY4ZXSFgKONe1rItyYRv2agTXc=; b=YIXKUoF32QacZjLeoG97wlRjK95irVoOlwzBQdVAKmxvwl5W1ZZ+N1eQ33rYl4SuT6mfTmr+Fxe+k3Gi44tcflHz8nU1q/CpyMx0vHX8+vX63GEgvlzhp4HRJ2meRMBj39oA0MorhdB0ROayoT3AJQswq8dQh5TKiWDDn7/Rm3mVryR+XbA23XZ52tGXiBHWaEHDpdxBnOJU0baK1jSBFCR+RvXHnlqRyGy4OFGB6il82XlqxGZvxYTxym3pEawvuYsyCleRvv7wI2C42O8+9eOjHbzHt2G1x3jODjaaaVxK8BzSsz4qma5jVEtZEukdRju41DcT/uPJVsepnm+coA== Received: from DM8PR12MB5400.namprd12.prod.outlook.com (2603:10b6:8:3b::12) by DM4PR12MB5118.namprd12.prod.outlook.com (2603:10b6:5:391::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.14; Tue, 5 Oct 2021 06:20:31 +0000 Received: from DM8PR12MB5400.namprd12.prod.outlook.com ([fe80::d03d:1f75:ca20:6a32]) by DM8PR12MB5400.namprd12.prod.outlook.com ([fe80::d03d:1f75:ca20:6a32%5]) with mapi id 15.20.4566.022; Tue, 5 Oct 2021 06:20:31 +0000 From: Ori Kam To: Ivan Malov , Andrew Rybchenko , Xiaoyun Li , NBU-Contact-Thomas Monjalon , Ferruh Yigit CC: "dev@dpdk.org" Thread-Topic: [PATCH v1 02/12] ethdev: add eswitch port item to flow API Thread-Index: AQHXtsrq3m61at/Ih0W5n/zl4hs4qKvBLmeggABn7YCAADNicIAA6EKAgAABbgCAAA1GAIAABbFw Date: Tue, 5 Oct 2021 06:20:31 +0000 Message-ID: References: <20210907125157.3843-1-ivan.malov@oktetlabs.ru> <20211001134716.1608857-1-andrew.rybchenko@oktetlabs.ru> <20211001134716.1608857-3-andrew.rybchenko@oktetlabs.ru> <98369ad5-f6d8-dadb-194a-fe4f87a34a11@oktetlabs.ru> In-Reply-To: <98369ad5-f6d8-dadb-194a-fe4f87a34a11@oktetlabs.ru> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: oktetlabs.ru; dkim=none (message not signed) header.d=none;oktetlabs.ru; dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 76d6d498-1fa9-48d6-3405-08d987c83be2 x-ms-traffictypediagnostic: DM4PR12MB5118: x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: jj1aHxocuwssVirsU1gWv+h2REEX4fQNVisRkNlDIw2DZBPCFityTtKh4lAkYnVqs1h+ryHhUy0wSjO6HYADvu1C+fNhgTLHFPHjMQ53943vcD0jM9/SOEF+yXfQuRubHnFnNLDYu1AP2x+OjyQRhL37QHCS8jekNhopCbns3q6pY5/64EVN90er+Dd0skf2mFxg47V6vEVCAxwxIyaq+ChwWnkQH6RIxBCRCVW3SoEI85lS3KQnepOKG6EU2MkwvTcUT23kmtvtnvtvLgBBxm0WlXF+Bjb74GXuYgtgk+QuviVTNZfNLlsJGYTImxbCqAjPFoJxJX528dDcUOG+JJXExyLd/t8H3f3xzBD/5CNSPy+txnMnxm7pLSZjCyqo/kN4k/JAPt7HYGmEn8Eh4Aw5W8sQLEpC+8bk3ZIAfU43ZryP0rmCWPv+CpMOcF2fdDHejDfAtPB7fih/O4rK7CC9Bv44r+z/VXpZqj3XAl5ER/UIZNDr664MzrlRKvC4Sh51dSlAbVyqhrwrp8iJXFAVwA77CNMrcaJ8Ch19XM1hN7d9jz1d8nOJhfKFrCn7Sg/zdX1yasKnRT5smkuCuFZsbeWID4UsMHh8ZQZCgtioLTbgNcD6vg9YYyC3XqBAvsK1MC2BrnjmJtiZ+zGq6qa1UobVuCZAl80eEq7z4aPDWmfrvSCynUAWPap5sqZXlFi35Zk1+3xaz9em+0XvKg== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM8PR12MB5400.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(76116006)(5660300002)(8676002)(508600001)(66446008)(66476007)(33656002)(64756008)(66946007)(9686003)(6506007)(7696005)(52536014)(55016002)(71200400001)(53546011)(66556008)(186003)(8936002)(83380400001)(316002)(38100700002)(4326008)(38070700005)(86362001)(2906002)(122000001)(110136005); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?M3c5dEhLOE5vck55MGVUMXNnWXMvTVdJY2tBUkdNMXUzVllyT0ZENUpKZCt3?= =?utf-8?B?a0t4WHQ5UGRxRVcwbjNGMFVKcUZKWlV5MEJHNXp0K1EvRHZmMVpoOTQ4WnRp?= =?utf-8?B?RTRDSThIZExrS0tmblRxaUg1WUV1MEFHMG5BWUhpbzFjb2lWbURpUnd6Q29P?= =?utf-8?B?TlJma3ZRY3hjY3pPYURPb1dVYUtkOHJVV0cvR2ZuSkNkVHJHMjBGT3E0NGdW?= =?utf-8?B?TEY4aGhPQ01XcVJ3SGFlcVlUWHY5TUQzMzJiYVZTb0U3RzFnblpQMDhxUUhX?= =?utf-8?B?MzJzbHJaMEFZR3JMVzM0aVZncW1Vemg1OHIrUWFIb1N6VzV3ZE4yZHU5TlNR?= =?utf-8?B?Ujk4RTZFc3d4S0dSZnVRZ2J2QnB0cnZiVG5Ib1BlKzZkMWMxQSsvaTZCUUI0?= =?utf-8?B?b3AxQXd5Qk9JT28xbzI1Y004OTk2VGtPb3lSMTdNVloxTlNremhJelgwaGda?= =?utf-8?B?TVlVamV6WjVISlNiaGJTRjh6TVdpWDNsSUJqY0pET3pCWS9ZbE1Ga0RpcmRX?= =?utf-8?B?NHlGTWI5K3NwUW0xU2pEOUc0WGdTNkZiZkswUkNkRzZTQUpPTlpydFZGNmtk?= =?utf-8?B?eVlQT2U5SGxKYktOMWZsbkJINkJiTkJmc2Z2YlNXRHAyM1pweU5oYnd6V0FD?= =?utf-8?B?alBxWjRuVDFQdlVxRCtGa1Fkc09SZXFVNEJrYytXbjVwU1dyNjU5Y21xOWJy?= =?utf-8?B?QlkydkVnaHBzYW9MY2dieUJ2RUVCdVlvbnQwc3FzNUlWbnpWZGVOdTlvME8w?= =?utf-8?B?OVhnU2tTb3RSOVJ0U1AxQkxKYTV3aiszaGVVSGNvV1lSdU4rRG1SbEtXcG81?= =?utf-8?B?SVJDNzd1WUY1bnE2M2h1NzJlV25ObjRtN0VjUDVmTjZFTGZ0SVB4L1Q3cGtB?= =?utf-8?B?blJHQ2VSWlF3YlNwRG1xMndqc3JLTnhjUHZiOEFIcUFTQ2U0aSt0NjdOMFdL?= =?utf-8?B?U2RNb2crdkpUSmxmTjR3ekY3UHJWMHRRQ2J0SDFwVWZTSElnenllZXJ2YnIr?= =?utf-8?B?S2ZsVHhsOFZZV0VrSU13OXJkSTNhbHBhcTkveCttTklQQ1N1VVdsUzl5anI2?= =?utf-8?B?a0xscTNVMmNISHVydmZkZnBCVkxmTFhOZEtaT2x3c1c2VHZBKy9Uc0NFL250?= =?utf-8?B?V2xmRHRaTWhwVmVaTm56cjRFc0piVjRSSUVZdk43Q3c0dHVJQlE1VTdHak1i?= =?utf-8?B?c3BlMTlVVFhjakF4WGRUdm9uWEdGK0YzNTFWaHFJTmxtU0xmMkFFUEVEaDRr?= =?utf-8?B?ZTJWSUV4RWhkc2xQQWw5MlIxUU5JZ2diaG9mb3RsaG1NNStOdGRibkpaNW5F?= =?utf-8?B?K2NzcnRVYTZOSlJ0OTZUR0xEcTJ6TVN2OU1zRW5ScVZZUU5tYjB0TlJSQ1BT?= =?utf-8?B?dXVzajMxZzg0d2pNTDRZeDZoTGdGb2QxbmFVNnhRODZRdmdYa2Z6SnBFaGNB?= =?utf-8?B?bHAzRklDMWtXWHVrQzhsQTdRcUY3dFY1WTZQVEQxYVBqMVl3aTF2VDlINWV2?= =?utf-8?B?Y1dlQVkrRm04MkNKSzlQUk02b3hmRndVSFJWc0lGQkNXUkZLeG9FVXZwZ0M4?= =?utf-8?B?aHBIT2JGVjRxUmpGVjQ5SjI5eTEwaGhFc0lWUFpmZEdvblhlZS9nZUJ4R0k4?= =?utf-8?B?MTVzUGFPekxSSHlER1RXckgyVjMzaXlyd3kwcDBSTlJIVE9aYWJFSVZWbFJs?= =?utf-8?B?MUxMV3dkdGs0S2x1TnA4Mkc1ZndzbTRGSSt5TGJ6NnY3RFBYMVNucHg2SmlZ?= =?utf-8?B?a3VtdTVkeTBjTlhoQjRNZnpUM2dnQTEzY0xXM2dLMzkyR25VeFRKV3lSS3pm?= =?utf-8?B?TmtINjE5NzdwY0ZXcTZOODlHN2t6a3REdVFZcW5WSWJiWjM3QkpKZmw1TXJo?= =?utf-8?Q?77mYi1mnMjZRm?= x-ms-exchange-transport-forked: True 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: DM8PR12MB5400.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 76d6d498-1fa9-48d6-3405-08d987c83be2 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Oct 2021 06:20:31.6479 (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: JuySei/akt7th9HtLg31J2+CLIHPo5kXYXHgwjzmSl4OXUrV31X03fK/q/yGR3kXUumms8oHN2CybQibkobpXw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5118 Subject: Re: [dpdk-dev] [PATCH v1 02/12] ethdev: add eswitch port item to flow 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" SGkgSXZhbiwNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBJdmFuIE1h bG92IDxJdmFuLk1hbG92QG9rdGV0bGFicy5ydT4NCj4gQ2M6IGRldkBkcGRrLm9yZw0KPiBTdWJq ZWN0OiBSZTogW1BBVENIIHYxIDAyLzEyXSBldGhkZXY6IGFkZCBlc3dpdGNoIHBvcnQgaXRlbSB0 byBmbG93IEFQSQ0KPiANCj4gSGkgT3JpLA0KPiANCj4gT24gMDQvMTAvMjAyMSAxNDozNywgT3Jp IEthbSB3cm90ZToNCj4gPiBIaSBJdmFuLA0KPiA+DQo+ID4+IC0tLS0tT3JpZ2luYWwgTWVzc2Fn ZS0tLS0tDQo+ID4+IEZyb206IEl2YW4gTWFsb3YgPEl2YW4uTWFsb3ZAb2t0ZXRsYWJzLnJ1Pg0K PiA+PiBTZW50OiBNb25kYXksIE9jdG9iZXIgNCwgMjAyMSAyOjA2IFBNDQo+ID4+IENjOiBkZXZA ZHBkay5vcmcNCj4gPj4gU3ViamVjdDogUmU6IFtQQVRDSCB2MSAwMi8xMl0gZXRoZGV2OiBhZGQg ZXN3aXRjaCBwb3J0IGl0ZW0gdG8gZmxvdw0KPiA+PiBBUEkNCj4gPj4NCj4gPj4gSGkgT3JpLA0K PiA+Pg0KPiA+PiBPbiAwNC8xMC8yMDIxIDA4OjQ1LCBPcmkgS2FtIHdyb3RlOg0KPiA+Pj4gSGkg SXZhbiwNCj4gPj4+DQo+ID4+Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4+PiBG cm9tOiBJdmFuIE1hbG92IDxJdmFuLk1hbG92QG9rdGV0bGFicy5ydT4NCj4gPj4+PiBTZW50OiBT dW5kYXksIE9jdG9iZXIgMywgMjAyMSA5OjExIFBNDQo+ID4+Pj4gU3ViamVjdDogUmU6IFtQQVRD SCB2MSAwMi8xMl0gZXRoZGV2OiBhZGQgZXN3aXRjaCBwb3J0IGl0ZW0gdG8gZmxvdw0KPiA+Pj4+ IEFQSQ0KPiA+Pj4+DQo+ID4+Pj4NCj4gPj4+Pg0KPiA+Pj4+IE9uIDAzLzEwLzIwMjEgMTU6NDAs IE9yaSBLYW0gd3JvdGU6DQo+ID4+Pj4+IEhpIEFuZHJldyBhbmQgSXZhbiwNCj4gPj4+Pj4NCj4g Pj4+Pj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+Pj4+PiBGcm9tOiBBbmRyZXcg UnliY2hlbmtvIDxhbmRyZXcucnliY2hlbmtvQG9rdGV0bGFicy5ydT4NCj4gPj4+Pj4+IFNlbnQ6 IEZyaWRheSwgT2N0b2JlciAxLCAyMDIxIDQ6NDcgUE0NCj4gPj4+Pj4+IFN1YmplY3Q6IFtQQVRD SCB2MSAwMi8xMl0gZXRoZGV2OiBhZGQgZXN3aXRjaCBwb3J0IGl0ZW0gdG8gZmxvdw0KPiA+Pj4+ Pj4gQVBJDQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gRnJvbTogSXZhbiBNYWxvdiA8aXZhbi5tYWxvdkBv a3RldGxhYnMucnU+DQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gRm9yIHVzZSB3aXRoICJ0cmFuc2ZlciIg Zmxvd3MuIFN1cHBvc2VkIHRvIG1hdGNoIHRyYWZmaWMgZW50ZXJpbmcNCj4gPj4+Pj4+IHRoZSBl LXN3aXRjaCBmcm9tIHRoZSBleHRlcm5hbCB3b3JsZCAobmV0d29yaywgZ3Vlc3RzKSB2aWEgdGhl DQo+ID4+Pj4+PiBwb3J0IHdoaWNoIGlzIGxvZ2ljYWxseSBjb25uZWN0ZWQgd2l0aCB0aGUgZ2l2 ZW4gZXRoZGV2Lg0KPiA+Pj4+Pj4NCj4gPj4+Pj4+IE11c3Qgbm90IGJlIGNvbWJpbmVkIHdpdGgg YXR0cmlidXRlcyAiaW5ncmVzcyIgLyAiZWdyZXNzIi4NCj4gPj4+Pj4+DQo+ID4+Pj4+PiBUaGlz IGl0ZW0gaXMgbWVhbnQgdG8gdXNlIHRoZSBzYW1lIHN0cnVjdHVyZSBhcyBldGhkZXYgaXRlbS4N Cj4gPj4+Pj4+DQo+ID4+Pj4+DQo+ID4+Pj4+IEluIGNhc2UgdGhlIGFwcCBpcyBub3Qgd29ya2lu ZyB3aXRoIHJlcHJlc2VudG9ycywgbWVhbmluZyBlYWNoDQo+ID4+Pj4+IHN3aXRjaCBwb3J0IGlz IG1hcHBlZCB0byBldGhkZXYuDQo+ID4+Pj4+IGJvdGggaXRlbXMgKGV0aGRldiBhbmQgZXN3aXRj aCBwb3J0ICkgaGF2ZSB0aGUgc2FtZSBtZWFuaW5nPw0KPiA+Pj4+DQo+ID4+Pj4gTm8uIEV0aGRl diBtZWFucyBldGhkZXYsIGFuZCBlLXN3aXRjaCBwb3J0IGlzIHRoZSBwb2ludCB3aGVyZSB0aGlz DQo+ID4+Pj4gZXRoZGV2IGlzIHBsdWdnZWQgdG8uIEZvciBleGFtcGxlLCAidHJhbnNmZXIgKyBF U1dJVENIX1BPUlQiIGZvciBhDQo+ID4+Pj4gcmVndWxhciBQRiBldGhkZXYgdHlwaWNhbGx5IG1l YW5zIHRoZSBuZXR3b3JrIHBvcnQgKG1heWJlIHlvdSBjYW4NCj4gPj4+PiByZWNhbGwgdGhlIGlk ZWEgdGhhdCBhIFBGIGV0aGRldiAicmVwcmVzZW50cyIgdGhlIG5ldHdvcmsgcG9ydCBpdCdzDQo+ ID4+IGFzc29jaWF0ZWQgd2l0aCkuDQo+ID4+Pj4NCj4gPj4+PiBJIGJlbGlldmUsIHRoYXQgZGlh Z3JhbXMgd2hpY2ggdGhlc2UgcGF0Y2hlcyBhZGQgdG8NCj4gPj4+PiAiZG9jL2d1aWRlcy9wcm9n X2d1aWRlL3J0ZV9mbG93LnJzdCIgbWF5IGNvbWUgaW4gaGFuZHkgdG8NCj4gPj4+PiB1bmRlcnN0 YW5kIHRoZSBtZWFuaW5nLiBBbHNvLCB5b3UgY2FuIHRha2UgYSBsb29rIGF0IG91ciBsYXJnZXIN Cj4gPj4+PiBkaWFncmFtIGZyb20gdGhlIFNlcCAxNCBnYXRoZXJpbmcuDQo+ID4+Pj4NCj4gPj4+ DQo+ID4+PiBMZXRzIGxvb2sgYXQgdGhlIGZvbGxvd2luZyBzeXN0ZW06DQo+ID4+PiBFLVN3aXRj aCBoYXMgMyBwb3J0cyAtIFBGLCBWRjEsIFZGMg0KPiA+Pj4gVGhlIHBvcnRzIGFyZSBkaXN0cmli dXRlZCBhcyBmb2xsb3dzOg0KPiA+Pj4gRFBESyBhcHBsaWNhdGlvbjoNCj4gPj4+IGV0aGRldigw KSBwZiwNCj4gPj4+IGV0aGRldigxKSByZXByZXNlbnRvciB0byBWRjENCj4gPj4+IGV0aGRldigy KSByZXByZXNlbnRvciB0byBWRjINCj4gPj4+IGV0aGRldigzKSBWRjENCj4gPj4+DQo+ID4+PiBW TToNCj4gPj4+IFZGMg0KPiA+Pj4NCj4gPj4+IEFzIHdlIGtub3cgYWxsIHJlcHJlc2VudG9ycyBh cmUgcmVhbHkgY29ubmVjdGVkIHRvIHRoZSBQRihhdCBsZWFzdA0KPiA+Pj4gaW4gdGhpcyBleGFt cGxlKQ0KPiA+Pg0KPiA+PiBUaGlzIGV4YW1wbGUgdHJpZXMgdG8gc2F5IHRoYXQgdGhlIGUtc3dp dGNoIGhhcyAzIHBvcnRzIGluIHRvdGFsLA0KPiA+PiBhbmQsIGdpdmVuIHlvdXIgZXhwbGFuYXRp b24sIG9uZSBtYXkgaW5kZWVkIGFncmVlIHRoYXQgKmluIHRoaXMNCj4gPj4gZXhhbXBsZSogcmVw cmVzZW50b3JzIHJlLXVzZSBlLXN3aXRjaCBwb3J0IG9mIGV0aGRldj0wICh3aXRoIHNvbWUNCj4g Pj4gbWV0YWRhdGEgdG8gZGlzdGluZ3Vpc2ggcGFja2V0cywgZXRjLikuIEJ1dCBvbmUgY2FuIGhh cmRseSBhc3N1bWUNCj4gPj4gdGhhdCAqYWxsKiByZXByZXNlbnRvcnMgd2l0aCBhbnkgdmVuZG9y J3MgTklDIGFyZSBjb25uZWN0ZWQgdG8gdGhlDQo+ID4+IGUtc3dpdGNoIHRoZSBzYW1lIHdheS4g SXQncyB2ZW5kb3Igc3BlY2lmaWMuIFdlbGwsIGF0IGxlYXN0LA0KPiA+PiBhcHBsaWNhdGlvbnMg ZG9uJ3QgaGF2ZSB0aGlzIGtub3dsZWRnZSBhbmQgZG9uJ3QgbmVlZCB0by4NCj4gPj4NCj4gPj4+ DQo+ID4+PiBTbyBtYXRjaGluZyBvbiBldGhkZXYoMykgIG1lYW5zIG1hdGNoaW5nIG9uIHRyYWZm aWMgc2VudCBmcm9tIERQREsNCj4gPj4+IHBvcnQNCj4gPj4gMyByaWdodD8NCj4gPj4NCj4gPj4g SXRlbSBFVEhERVYgKGV0aGRldl9pZD0zKSBtYXRjaGVzIHRyYWZmaWMgc2VudCBieSBEUERLIHBv cnQgMy4gTG9va3MNCj4gPj4gbGlrZSB3ZSdyZSBvbiB0aGUgc2FtZSBwYWdlIGhlcmUuDQo+ID4+ DQo+ID4NCj4gPiBHb29kLg0KPiA+DQo+ID4+PiBBbmQgbWF0Y2hpbmcgb24gZXN3aXRjaF9wb3J0 KDMpIG1lYW5zIG1hdGNoaW5nIGluIHRyYWZmaWMgdGhhdCBnb2VzDQo+ID4+PiBpbnRvIFZGMSB3 aGljaCBpcyB0aGUgc2FtZSB0cmFmZmljIGFzIGV0aGRldigzKSByaWdodD8NCj4gPj4NCj4gPj4g SSBkaWRuJ3QgY2F0Y2ggdGhlIHRob3VnaHQgYWJvdXQgInRoZSBzYW1lIHRyYWZmaWMiLiBEaXJl Y3Rpb24gaXMgbm90IHRoZQ0KPiBzYW1lLg0KPiA+PiBJdGVtIEVTV0lUQ0hfUE9SVCAoZXRoZGV2 X2lkPTMpIG1hdGNoZXMgdHJhZmZpYyBzZW50IGJ5IERQREsgcG9ydCAxLg0KPiA+Pg0KPiA+IFRo aXMgaXMgdGhlIGNyaXRpY2FsIHBhcnQgZm9yIG15IHVuZGVyc3RhbmRpbmcuDQo+ID4gTWF0Y2hp bmcgb24gZXRoZGV2X2lkKDMpIG1lYW5zIG1hdGNoaW5nIG9uIHRyYWZmaWMgdGhhdCBpcyBjb21p bmcgZnJvbQ0KPiBEUERLIHBvcnQzLg0KPiANCj4gUmlnaHQuDQo+IA0KPiA+IFNvIGZyb20gRS1T d2l0Y2ggdmlldyBwb2ludCBpdCBpcyB0cmFmZmljIHRoYXQgZ29lcyBpbnRvIFZGMT8NCj4gDQo+ IE5vLiBBYm92ZSB5b3UgY2xlYXJseSBzYXkgImNvbWluZyBmcm9tIERQREsgcG9ydDMiLiBUaGF0 IGlzLCBmcm9tIHRoZSBWRjEuDQo+ICpOb3QqIGdvaW5nIGludG8gaXQuIFBvcnQgMyAoZXRoZGV2 X2lkPTMpICppcyogVkYxLg0KPiANCkJ1dCB0YWZmaWMgdGhhdCBnb2VzIGZyb20gRFBESyBwb3J0 IDMgZ29lcyBpbnRvIFZGMSwNCndoYXQgYW0gSSBtaXNzaW5nPw0KDQo+ID4gV2hpbGUgbWF0Y2hp bmcgb24gRS1Td2l0Y2hfcG9ydCgzKSBtZWFucyBtYXRjaGluZyBvbiB0cmFmZmljIGNvbWluZw0K PiBmcm9tIFZGMT8NCj4gDQo+IE5vLiBJdCBtZWFucyBtYXRjaGluZyBvbiB0cmFmZmljIGNvbWlu ZyBmcm9tIGV0aGRldiAxLiBGcm9tIHRoZSBWRjEncw0KPiByZXByZXNlbnRvci4NCj4gDQo+ID4N Cj4gPiBBbmQgYnkgdGhlIHNhbWUgbG9naWMgbWF0Y2hpbmcgb24gZXRoZGV2X2lkKDEpIG1lYW5z IG1hdGNoaW5nIG9uDQo+ID4gdGFmZmljIHRoYXQgd2FzIHNlbnQgZnJvbSBEUERLIHBvcnQgMSBh bmQgbWF0Y2hpbmcgb24gRS1Td2l0Y2hfcG9ydCgxKQ0KPiA+IG1lYW5zIG1hdGNoaW5nIG9uIHRy YWZmaWMgY29taW5nIGZyb20NCj4gPiBWRjENCj4gDQo+IEluIHRoaXMgY2FzZSwgeW91J3ZlIGdv dCB0aGlzIHJpZ2h0LiBCdXQgcGxlYXNlIHNlZSBteSBhYm92ZSBub3Rlcy4gQnkgdGhlDQo+IGxv b2tzIG9mIGl0LCB5b3UgbWlnaHQgaGF2ZSBydW4gaW50byBjb25mdXNpb24gb3ZlciB0aGVyZS4N Cj4gDQpUaGF0IGlzIHRoZSBpc3N1ZSBJJ20gbm90IHN1cmUgSSB1bmRlcnN0YW5kLCBhbmQgSSB0 aGluayB0aGF0IA0KaWYgSSBkb24ndCB1bmRlcmRhbmQgdGhpcywgdGhpcyBtaXNzIHVuZGVyZGFu ZGluZyB3aWxsIGJlIHNoYXJlZCBieSBvdGhlcnMuDQoNCj4gPg0KPiA+IFNvIGluIHRoaXMgY2Fz ZSBlc3dpdGNoX3BvcnQoMykgaXMgZXF1YWwgb3QgZXN3aXRjaF9wb3J0KDEpIHJpZ2h0Pw0KPiA+ IFdoaWxlIGV0aGRldigxKSBpcyBub3QgZXF1YWwgdG8gZXRoZGV2KDMpDQo+IA0KPiBOby4NCj4g DQo+IEl0ZW0gRVRIREVWIChldGhkZXZfaWQ9MSkgZXF1YWxzIGl0ZW0gRVNXSVRDSF9QT1JUIChl dGhkZXZfaWQ9MykuDQo+IEl0ZW0gRVRIREVWIChldGhkZXZfaWQ9MykgZXF1YWxzIGl0ZW0gRVNX SVRDSF9QT1JUIChldGhkZXZfaWQ9MSkuDQo+IA0KSSB0aGluayB0aGlzIHdhcyBteSBmaXJzdCB1 bmRlc3RhbmluZywgbGV0cyBzZWUgaWYgSSBjYW4gZXhwbGFpbiBpdCB1c2luZyBteSB3b3Jkcy4N CkVUSERFViAtIG1lYW5zIHRoYXQgdGhlIHNvdXJjZSBwb3J0IHRoYXQgd2UgYXJlIG1hdGNoaW5n IG9uIGlzIHRoZSBjbG9zZXN0IG9uZQ0KdGhlIGRwZGsgYXBwbGljYXRpb24uIEV4YW1wbGUgbGlr ZSBhYm92ZSBFVEhERVYoZXRoZGV2X2lkPTEpIG1lYW5zIG1hdGNoaW5nDQpvbiB0cmFmZmljIGNv bWluZyBmcm9tIHRoZSBQRiB3aXRoIHNvbWUgbWV0YWRhdGEgdGhhdCBtYXJrcyB0aGlzIERQREsg cG9ydC4NCkVUSERFVihldGhkZXZfaWQ9MykgbWVhbnMgbWF0Y2hpbmcgb24gdHJhZmZpYyBjb21p bmcgZnJvbSBWRjEuDQoNCkVTV0lUQ0hfUE9SVCBtZWFuaW5nIG1hdGNoaW5nIG9uIHRoZSBwb3J0 IHRoYXQgaXMgY29ubmVjdGVkIHRvIHRoZSBEUERLIHBvcnQNCih0aGUgb3RoZXIgc2lkZSBvZiB0 aGUgd2lyZSkuIEV4YW1wbGUgRVNXSVRDSF9QT1JUKGV0aGRldl9pZD0xKSBtZWFucyBtYXRjaGlu Zw0Kb24gdHJhZmZpYyBjb21pbmcgZnJvbSBWRjENCldoaWxlIG1hdGNoaW5nIG9uIEVTV0lUQ0hf UE9SVChldGhkZXZfaWQ9MykgbWVhbnMgbWF0Y2hpbmcgb24gUEYgd2l0aCBzb21lDQptZXRhZGF0 YS4NCg0KRXZlcnl0aGluZyBhc3N1bWUgdGhhdCByZXByZXNlbnRvcnMgYXJlIG9uIHRoZSBQRiBh bmQgdXNlIHNvbWUgbWV0YWRhdGEuDQoNCkRpZCBJIGdldCBpdCByaWdodD8NCg0KPiA+DQo+ID4g QW5kIGp1c3QgdG8gY29tcGxldGUgdGhlIHBpY3R1cmUsIG1hdGNoaW5nIG9uIGV0aGRldigyKSB3 aWxsIHJlc3VsdCBpbg0KPiA+IHRyYWZmaWMgY29taW5nIGZyb20gdGhlIGRwZGsgcG9ydCBhbmQg bWF0Y2hpbmcgb24gZXN3aXRjaF9wb3J0KDIpIHdpbGwNCj4gPiBtYXRjaCBvbiB0cmFmZmljIGNv bWluZyBmcm9tIFZGMg0KPiANCj4gRXhhY3RseS4NCj4gDQo+IA0KPiBCdXQsIE9yaSwgbGV0IG1l IGRyYXcgeW91ciBhdHRlbnRpb24gdG8gdGhlIGZvbGxvd2luZyBpc3N1ZS4gSW4gb3JkZXIgdG8N Cj4gc2ltcGxpZnkgdW5kZXJzdGFuZGluZywgSSBzdWdnZXN0IHRoYXQgd2UgcmVmcmFpbiBmcm9t IHNheWluZyAidHJhZmZpYyB0aGF0DQo+IEdPRVMgVE8iLiBXaGVyZSBpdCBnb2VzIGRlcGVuZHMg b24gZGVmYXVsdCBydWxlcyB0aGF0IGFyZSBzdXBwb3NlZCB0byBiZQ0KPiBtYWludGFpbmVkIGJ5 IHRoZSBQTUQgd2hlbiBwb3J0cyBnZXQgcGx1Z2dlZCAvIHVucGx1Z2dlZC4NCj4gDQo+IFRoZSBm bG93IGl0ZW1zIEVUSERFViBhbmQgRVNXSVRIX1BPUlQgZGVmaW5lIHRoZSBTT1VSQ0Ugb2YgdHJh ZmZpYy4NCj4gVGhhdCdzIGl0LiBUaGV5IGRlZmluZSB3aGVyZSB0aGUgdHJhZmZpYyAiZ29lcyBG Uk9NIi4NCj4gDQo+IFNheSwgdGhlIERQREsgYXBwbGljYXRpb24gc2VuZHMgYSBwYWNrZXQgZnJv bSBldGhkZXYgMC4gVGhpcyBwYWNrZXQgZW50ZXJzDQo+IHRoZSBlLXN3aXRjaC4gTWF0Y2ggZW5n aW5lIHNpdHMgaW4gdGhlIGUtc3dpdGNoIGFuZCBpbnRlcmNlcHRzIHRoZSBwYWNrZXQuIEl0DQo+ IGRvZXNuJ3QgY2FyZSB3aGVyZSB0aGUgcGFja2V0ICp3b3VsZCBnbyogaWYgaXQgd2Fzbid0IGlu dGVyY2VwdGVkLiBJdCBjYXJlcw0KPiBhYm91dCB3aGVyZSB0aGUgcGFja2V0IGNvbWVzIGZyb20u IEFuZCBpdCBjb21lcyBmcm9tIGV0aGRldiAwLiBTbywgaW4gdGhlDQo+IGZvY3VzLCB3ZSBoYXZl IHRoZSBTT1VSQ0Ugb2YgdGhlIHBhY2tldC4NCj4gDQoNCkFncmVlIHdpdGggeW91IHdlIHNob3Vs ZCBvbmx5IGxvb2sgYXQgY29taW5nIGZyb20sDQpidXQgc29tZXRoaW5nIGluIHRoZSBwYXRjaCBt YWRlIG1lIHRoaW5nIG90aGVyd2lzZSAobm90IHN1cmUgd2hhdCBwYXJ0KQ0KDQo+IA0KPiA+DQo+ ID4+IFllcywgaW4gdGhpcyBjYXNlIG5laXRoZXIgb2YgdGhlIHBvcnRzICgxLCAzKSBpcyB0cnVs eSAiZXh0ZXJuYWwiDQo+ID4+ICh0aGV5IGJvdGggaW50ZXJmYWNlIHRoZSBEUERLIGFwcGxpY2F0 aW9uKSwgYnV0LCB0aGUgdGhpbmcgaXMsDQo+ID4+IHRoZXkncmUgImV4dGVybmFsIiAqdG8gZWFj aA0KPiA+PiBvdGhlciogaW4gdGhlIHNlbnNlIHRoYXQgdGhleSBzaXQgYXQgdGhlIG9wcG9zaXRl IGVuZHMgb2YgdGhlIHdpcmUuDQo+ID4+DQo+ID4+Pg0KPiA+Pj4gTWF0Y2hpbmcgb24gZXRoZGV2 KDEpIG1lYW5zIG1hdGNoaW5nIG9uIHRoZSBQRiBwb3J0IGluIHRoZSBFLVN3aXRjaA0KPiA+Pj4g YnV0DQo+ID4+IHdpdGggc29tZQ0KPiA+Pj4gbWV0YWRhdGEgdGhhdCBtYXJrcyB0aGUgdHJhZmZp YyBhcyBjb21pbmcgZnJvbSBEUERLIHBvcnQgMSBhbmQgbm90DQo+ID4+PiBmcm9tDQo+ID4+IFZG MSBFLVN3aXRjaA0KPiA+Pj4gcG9ydCByaWdodD8NCj4gPj4NCj4gPj4gVGhhdCdzIHZlbmRvciBz cGVjaWZpYy4gVGhlIGFwcGxpY2F0aW9uIGRvZXNuJ3QgaGF2ZSB0byBrbm93IGhvdw0KPiA+PiBl eGFjdGx5IHRoaXMgcGFydGljdWxhciBldGhkZXYgaXMgY29ubmVjdGVkIHRvIHRoZSBlLXN3aXRj aCAtIHdoZXRoZXINCj4gPj4gaXQgcmUtdXNlcyB0aGUgUEYncyBlLXN3aXRjaCBwb3J0IG9yIGhh cyBpdHMgb3duLiBUaGUgZS1zd2l0Y2ggcG9ydA0KPiA+PiB0aGF0IGNvbm5lY3RzIHRoZSBldGhk ZXYgd2l0aCB0aGUgZS1zd2l0Y2ggaXMganVzdCBhc3N1bWVkIHRvIGV4aXN0DQo+IGxvZ2ljYWxs eS4NCj4gPj4NCj4gPj4+DQo+ID4+PiBXaGlsZSBtYXRjaGluZyBvbiBlc3dpdGNoX3BvcnQoMikg bWVhbnMgbWF0Y2hpbmcgb24gdHJhZmZpYyBjb21pbmcNCj4gPj4+IGZyb20NCj4gPj4gdGhlIFZN IHJpZ2h0Pw0KPiA+Pg0KPiA+PiBSaWdodC4NCj4gPj4NCj4gPg0KPiA+IEkgdGhpbmsgdGhlIG15 IGFib3ZlIHF1ZXN0aW9uIHdpbGwgY2xlYXIgZXZlcnl0aGluZyBmb3IgbWUuDQo+ID4NCg0KW1Nu aXBdDQo+ID4+Pj4+DQo+ID4+Pj4+IEJlc3QsDQo+ID4+Pj4+IE9yaQ0KPiA+Pj4+Pg0KPiA+Pj4+ DQo+ID4+Pj4gLS0NCj4gPj4+PiBJdmFuIE0NCj4gPj4NCj4gPj4gLS0NCj4gPj4gSXZhbiBNDQo+ ID4NCj4gPiBUaGFua3MsDQo+ID4gT3JpDQo+ID4NCj4gDQo+IC0tDQo+IEl2YW4gTQ0K