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 EDB7542493; Thu, 26 Jan 2023 16:15:18 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9947040223; Thu, 26 Jan 2023 16:15:18 +0100 (CET) Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2044.outbound.protection.outlook.com [40.107.94.44]) by mails.dpdk.org (Postfix) with ESMTP id C2AC5400D7 for ; Thu, 26 Jan 2023 16:15:16 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Wr3Cp9iNbTb+FpaePsm5Ly8c/1P6MWwoeV7rXcs2Ta5ASwUg6nNEhIaNkrWmuoUC/BWq77R0HwnFzuFKBnWIA42X3dp87Ca6in0w5IXpdgXrJhvrMiMI8isXiQ9o+J0lE2tvfm3924y4DtL9ntZgy8BaWLWu3gc9yihbmkqdrtrrgmnZj073Z+6RtnBWLOLvnQZ+aqwDdoUK+wuIPdCqP54Gs6ntDgqSEjE0u8oOINxa6F3xE0ugWrnZ+tJwCjWhEeftH+bsGQf+0wEAss1SCqHw5jU6glY5rkaJO4v3JzYMob/jv9/S2DAmiZMstpRDAPN8EDad2kfju3Q6NEhQVA== 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=nLkFhPg0znQS6l3GgHsdw8fVlT6cyPDutj5otZbKbUA=; b=mO40VWxjtTIym72w94Qoma5lrUp88wGs4VC/CFEWQXjZcVebnQ1xK6NRnKuZNzU9Snihud5FsM0wrTgRfn8p6/up2e4howTVuRFXLF0PgZZndA0rN4i7xH95TNkQ9OMTPJhKlfeeAGov882Qz1Td5rg9inLRZC06QQgprfVrBGL0t4HLlvyCGP9Bk/KWuldSeZsxmTj/xNZDolwwaa+ks78lG6oSd1XR7a7drq854qrzlpSanT4wfqkVqtRL65f6PpvNXlDhlAjwgNl1s22tyY5SUyFiooSkTyVMp9sgeY+QSEEo6JXSzwV8bArXpiuGZ/4Ma3mJAtEykxEI3g2DRQ== 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=nLkFhPg0znQS6l3GgHsdw8fVlT6cyPDutj5otZbKbUA=; b=qBzVi3xQvjN4ymMs3xBKq9yOnnoTGdX1iz29HJqw1FAUH9zF//Ry5qPwIrGnS6+TC+c5vrEKhTDP1vZsohmmY7+FuOgGU2qyj3zSW23+Xy6LqlQfMmZOBx2IHus1tauQLz/7b0IY5XTHOh/UJpyw4S5jUvetYNDtmW1aeh9uOQas4eVO/ateRVnKHZMhr6k/32v48eskVaWnaMYHOaeaVrIi7eq326BSGUSlHdkPn9kVNvYcudVO6+nHajm3roRWeJcwjnTJkYWTvApbEIPuTGDRKV/6asZt3gdIiFWVp3jH4voVrpEm78KmHu5K2X6fq3CcvUWr9V8EUitpw0hOOg== Received: from MW2PR12MB4666.namprd12.prod.outlook.com (2603:10b6:302:13::22) by CH3PR12MB8510.namprd12.prod.outlook.com (2603:10b6:610:15b::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6043.22; Thu, 26 Jan 2023 15:15:14 +0000 Received: from MW2PR12MB4666.namprd12.prod.outlook.com ([fe80::6ba4:b9e8:d439:59e4]) by MW2PR12MB4666.namprd12.prod.outlook.com ([fe80::6ba4:b9e8:d439:59e4%4]) with mapi id 15.20.6043.017; Thu, 26 Jan 2023 15:15:14 +0000 From: Ori Kam To: Andrew Rybchenko , Slava Ovsiienko , "NBU-Contact-Thomas Monjalon (EXTERNAL)" CC: "dev@dpdk.org" , Matan Azrad , Raslan Darawsheh , "ivan.malov@oktetlabs.ru" , "ferruh.yigit@amd.com" Subject: RE: [RFC] ethdev: sharing indirect actions between ports Thread-Topic: [RFC] ethdev: sharing indirect actions between ports Thread-Index: AQHZGt0dfOSLW1KspUikjp8CX9qjUK6kNRwAgAAzfuCAABOZAIAABE0AgALdgYCACZ3l8A== Date: Thu, 26 Jan 2023 15:15:14 +0000 Message-ID: References: <20221228165433.18185-1-viacheslavo@nvidia.com> <12784039.iMDcRRXYNz@thomas> <5033552.JsnAkG3lO3@thomas> <22e1d57d-37bd-2eae-4347-79147f644c27@oktetlabs.ru> In-Reply-To: <22e1d57d-37bd-2eae-4347-79147f644c27@oktetlabs.ru> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MW2PR12MB4666:EE_|CH3PR12MB8510:EE_ x-ms-office365-filtering-correlation-id: 3e4de360-1951-4be2-534f-08daffb02021 x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: s5mrrJRP1/rTEZkCi4bMy0RcCTHoKk/NolyehtfX0MPTMWBDHDvJ9m8uzu6GEFqF9qTvjsH0HuZoG5ZbSv/NiEST0QZSdc5qJJGtVB1t9Nnfk7wOqsyQs4qIhAgM5AOIlINQ3vtV1/QAAaGSprHSFeBUyFJ5SD2s/4Cln/PS8rziDL6l5xKFK0bZXe9BP6MBjMqZhXm+921S7kgyECPiaclocuOo17SSyh5YlYosDo7j+zI5j+D46SdnQqBGr7FtD+svMRbExRCRYW71Xe9UpoXoMuO5YnR7aK8dEh6mI+OYgxG5zBdT5/jYjbeXA+kqURf+NOsynRc3520OyeWS26Z8llevX7/BMx3lRvtlsqeS8x0tIGLoz3Ysi7duURYOc9xdlNAIPw1X8fukV0/EDgm7hyGu/IfkChx52lMPWXImC6V4Vot6/U0I2btBYE/o9oEG7KIC568RZ3HwYgusK+0HbvGmeOAwGyp/koriJ2TOGNu0tySubz00XLko44mRNgda0VHd04f8Qq04OVqgIQa9OBPejLmoV0OVE7uNAdk7gyH8fFUJNSbiEawIkAN3j8erQFSfegcTp4JdwdAbpDJtbkfCRhAJJc5tGZxCWPIu5VyROgBtDzsmmh5WDX63Z+Q2rP5/n3TvWLSOWUubVLHiBlQjduXhUsXbibBfm9jdl7ALcXo0njjlahL5pM5Wl/MZDtRgCqj+J3NUUtiHIA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MW2PR12MB4666.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230025)(4636009)(396003)(39860400002)(136003)(346002)(366004)(376002)(451199018)(33656002)(7696005)(71200400001)(8676002)(54906003)(316002)(478600001)(6506007)(53546011)(5660300002)(66946007)(2906002)(4326008)(76116006)(66556008)(64756008)(66476007)(52536014)(8936002)(41300700001)(66446008)(38070700005)(55016003)(122000001)(38100700002)(26005)(83380400001)(86362001)(9686003)(186003)(110136005); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?VnpmeWZ6eDdZN2MwclNCa3RBeGtDME5Eb1lQTUQrWVY5bGduOHlBblRLRkVD?= =?utf-8?B?V2pQYlV5TS9nSEU1by85eng0UlI4anhMZFh4bkpJblVQWGpQaXNmUDBrTk5s?= =?utf-8?B?Q1FjbGhzVmtCd3k3OWttczhQcTdpeFJmV09iNlFhOUhjM2hia3ptUTUzRFlw?= =?utf-8?B?cUhFdHlQOGVuaEVPYVdtSWg2ZkUwcmg0WWJaajlQTldvdHJrQ01SemY1TWRs?= =?utf-8?B?L0VLUzhTZ2NZZmxabXJpcXJnVVBIWmZMYlNlbExYc2FRTXY4dHlEc2NPY0VT?= =?utf-8?B?Ump5bnpCdU02WTFFdFVISVNsQmdzN3paZkNDRVhzc3UyOXRpR3pzRjBody9Y?= =?utf-8?B?L0FMS0JiR1NiZm9JcG5uTG5KMjBJajlQbmtVdHJzeWJYWkt0NFdCMkFQWlVn?= =?utf-8?B?MUhZSVZPNHhPd0R0czN0cWpWM2hteGl3aG93MXRaVmlQRmRuREExekM0a1Iy?= =?utf-8?B?bUlTa2twSDRnTTZVNGxiZE5GNVBWc0tLT3E0SFFuclhEemlSS3YyTUp5SmhG?= =?utf-8?B?anJOSXh5NHZpcUFBOWhNSzhkQ1Fyb29Xdkd4TUJYSXM4ZGJGakYyamwxYk45?= =?utf-8?B?VnhqbFZKYVduZ25hK2xqMGlENVozcEFlc3pDNElwK2E5TVhhcTNzT2NGdm5h?= =?utf-8?B?RFc2K1FFWTI2RkxnWTdXNzRDOUk5Q2VkMnRuejRyNG13L0xwckFLaGlLZTZ2?= =?utf-8?B?Um1MNmZoYlRKdkxZUXNIdTBkNVB2SnFHS3dEbHNnZEV0cEFJRmx1ZVRNeEtP?= =?utf-8?B?akhIVExrVVRvb2tlUk1ITWVhaUJuRmFscHpKUE1jeGtXTWxmVkpvck5aU3lS?= =?utf-8?B?OHRET2htRzlyaUJpU21HcG5sVTJZK0RGZGkrblZBU25kYTBGMXNGUG1JTHJW?= =?utf-8?B?ajA3UHBERjJuY2UyMEg5R04yenpQSFBONWdCVzFiQ3c0UXJiUDMvejIyeDds?= =?utf-8?B?S0xzZGdkazZ3c2hjcTVFT0k2b2pmSUJ5b0MrNnlhT2xZa1RSQTErajMzWnlu?= =?utf-8?B?UDhXeHhtSnB3QkFPcmFjZ2dvS29NQ0Q3ZWlsOHN1ZU53QUNRYVA0blhBU2k5?= =?utf-8?B?bTN5YXlLd0hwMmorYnVZSk1MRE13Y2piR0plN29pVVlUOUJBV0F5MDNXNzZB?= =?utf-8?B?eDNZNVkyVVJ1bmZ1VmpTU1VWR3BaREpTS1VvLzltd0UzZmxpaktsQ1pBZUFw?= =?utf-8?B?V0MyQ09MeGhKNnoweHU5QkpUVXE5TkVnY21Tc0x6NldYcnhpZmhHVTVEdVB4?= =?utf-8?B?eHRVRDNCQWZ4RWxtUjl6cENxVUFleXdyd1h5aWtPellWcjNMYUdISWxVaTI1?= =?utf-8?B?VUdnNHIwWnhUSEJER1VxcXpJSGcwY0pxU2YxQytNRDUrUVJ5dUQxdk5tUVZj?= =?utf-8?B?NnB1ZlUzSUJ0K05abCtmUEY1Ykt5eHd3Mm8rL0VPL2ZIdTY4azZzSlRSdVNl?= =?utf-8?B?QVh3bUhoVnlGdUhHR3h0ZGE3ckpCMmF5aFp1bTlUQ3NvWW8yUTRKOVA2RlhI?= =?utf-8?B?NHFrQmVuN1BKUFd1eW1FK3NMcnRqREx0RG5jbG5FNyt2WFZMZXk5b3BiaXNM?= =?utf-8?B?TjVnZG1EcXNvNUU1QjZsS1NrWGlzdUhpZ2tzc2N3NkRBVEFMcHBzQnZuM29h?= =?utf-8?B?TEF6L2w0aS82a3lrQ2xBWVVRVXBHQ09Nck94dDFxL3hjdmlRNlZRTDdZVzBo?= =?utf-8?B?MGI3S2FMNzJubElzdE1oSWMwNkRQbTRWRkl2Tkxramc3bE5LeURmZ2h3Qndn?= =?utf-8?B?ZUF5eWY4SGtCeFpjUWNlOWwzR2U5STdqMW1GVW9rbm5YTWdFcGVwM0RMRGQw?= =?utf-8?B?OEJZYjg0d25TMVpObDJrNDJxcHp2Tm9QQVIvZ0xySWxyM3A1TWYxRnMzbjYx?= =?utf-8?B?YmtzTjdhWjBHc3c2cXdObHI2SndXbnduUFZnYmh0WUpBMklCOEdUT3crK3Zq?= =?utf-8?B?b0g0VmM1eWJOTUpFMXhhTHBYVUZ6Nm83cW16VjR6ejdLd210QThLOFU2NFVG?= =?utf-8?B?YlRZNTVWNVVvZCtFd1d3cEVsQmRnWGUzWHNRMGpDUHNFSXpiN2xFcGJlUmpJ?= =?utf-8?B?YkJCaVEzcTdVWDlDVkVJbDFuZTRaWkhEVU91SHMxN0ErcjhtNlZYcGJPZ2x2?= =?utf-8?Q?iuiA=3D?= 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: MW2PR12MB4666.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3e4de360-1951-4be2-534f-08daffb02021 X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Jan 2023 15:15:14.4259 (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: AabCgR5e2VnX05XMBE606UORtGQgg8mrjkZ7HSTXCkLa5H70L90hcC7oUTrTo3R0hKP5LlBhmdjE1Zpm+LyJmg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB8510 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 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogQW5kcmV3IFJ5YmNoZW5r byA8YW5kcmV3LnJ5YmNoZW5rb0Bva3RldGxhYnMucnU+DQo+IFNlbnQ6IEZyaWRheSwgMjAgSmFu dWFyeSAyMDIzIDE0OjIzDQo+IA0KPiBPbiAxLzE4LzIzIDE5OjM3LCBTbGF2YSBPdnNpaWVua28g d3JvdGU6DQo+ID4NCj4gPg0KPiA+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+PiBG cm9tOiBUaG9tYXMgTW9uamFsb24gPHRob21hc0Btb25qYWxvbi5uZXQ+DQo+ID4+IFNlbnQ6IFdl ZG5lc2RheSwgSmFudWFyeSAxOCwgMjAyMyA2OjIyIFBNDQo+ID4+IFRvOiBTbGF2YSBPdnNpaWVu a28gPHZpYWNoZXNsYXZvQG52aWRpYS5jb20+OyBPcmkgS2FtDQo+ID4+IDxvcmlrYUBudmlkaWEu Y29tPg0KPiA+PiBDYzogZGV2QGRwZGsub3JnOyBNYXRhbiBBenJhZCA8bWF0YW5AbnZpZGlhLmNv bT47IFJhc2xhbg0KPiBEYXJhd3NoZWgNCj4gPj4gPHJhc2xhbmRAbnZpZGlhLmNvbT47IGFuZHJl dy5yeWJjaGVua29Ab2t0ZXRsYWJzLnJ1Ow0KPiA+PiBpdmFuLm1hbG92QG9rdGV0bGFicy5ydTsg ZmVycnVoLnlpZ2l0QGFtZC5jb20NCj4gPj4gU3ViamVjdDogUmU6IFtSRkNdIGV0aGRldjogc2hh cmluZyBpbmRpcmVjdCBhY3Rpb25zIGJldHdlZW4gcG9ydHMNCj4gPj4NCj4gPj4gMTgvMDEvMjAy MyAxNjoxNywgT3JpIEthbToNCj4gPj4+IEZyb206IFRob21hcyBNb25qYWxvbiA8dGhvbWFzQG1v bmphbG9uLm5ldD4NCj4gPj4+PiAyOC8xMi8yMDIyIDE3OjU0LCBWaWFjaGVzbGF2IE92c2lpZW5r bzoNCj4gPj4+Pj4gVGhlIFJURSBGbG93IEFQSSBpbXBsZW1lbnRzIHRoZSBjb25jZXB0IG9mIHNo YXJlZCBvYmplY3RzLCBrbm93bg0KPiA+Pj4+PiBhcyBpbmRpcmVjdCBhY3Rpb25zIChSVEVfRkxP V19BQ1RJT05fVFlQRV9JTkRJUkVDVCkuDQo+ID4+Pj4+IEFuIGFwcGxpY2F0aW9uIGNhbiBjcmVh dGUgdGhlIGluZGlyZWN0IGFjdGlvbiBvZiBkZXNpcmVkIHR5cGUgYW5kDQo+ID4+Pj4+IGNvbmZp Z3VyYXRpb24gd2l0aCBydGVfZmxvd19hY3Rpb25faGFuZGxlX2NyZWF0ZSBjYWxsIGFuZCB0aGVu DQo+ID4+Pj4+IHNwZWNpZnkgdGhlIG9idGFpbmVkIGFjdGlvbiBoYW5kbGUgaW4gbXVsdGlwbGUg Zmxvd3MuDQo+ID4+Pj4+DQo+ID4+Pj4+IFRoZSBpbml0aWFsIGNvbmNlcHQgc3VwcG9zZXMgdGhl IGFjdGlvbiBoYW5kbGUgaGFzIHN0cmljdA0KPiA+Pj4+PiBhdHRhY2htZW50IHRvIHRoZSBwb3J0 IGl0IHdhcyBjcmVhdGVkIG9uIGFuZCB0byBiZSB1c2VkDQo+ID4+Pj4+IGV4Y2x1c2l2ZWx5IGlu IHRoZSBmbG93cyBiZWluZyBpbnN0YWxsZWQgb24gdGhlIHBvcnQuDQo+ID4+Pj4+DQo+ID4+Pj4+ IE5vd2FkYXlzIHRoZSBtdWx0aXBhdGggbmV0d29yayB0b3BvbG9naWVzIGFyZSBxdWl0ZSBjb21t b24sDQo+ID4+Pj4+IHBhY2tldHMgYmVsb25naW5nIHRvIHRoZSBzYW1lIGNvbm5lY3Rpb24gbWln aHQgYXJyaXZlIGFuZCBiZSBzZW50DQo+ID4+Pj4+IG92ZXIgbXVsdGlwbGUgcG9ydHMsIGFuZCB0 aGVyZSBpcyB0aGUgcmFpc2luZyBkZW1hbmQgdG8gaGFuZGxlDQo+ID4+Pj4+IHRoZXNlICJzcHJl YWQiIGNvbm5lY3Rpb25zLiBUbyBmdWxmaWwgdGhpcyBkZW1hbmQgaXQgaXMgcHJvcG9zZWQNCj4g Pj4+Pj4gdG8gZXh0ZW5kIGluZGlyZWN0IGFjdGlvbiBzaGFyaW5nIGFjcm9zcyB0aGUgbXVsdGlw bGUgcG9ydHMuIFRoaXMNCj4gPj4+Pj4ga2luZCBvZiBzaGFyaW5nIHdvdWxkIGJlIGV4dHJlbWVs eSB1c2VmdWwgZm9yIHRoZSBtZXRlcnMgYW5kDQo+ID4+Pj4+IGNvdW50ZXJzLCBhbGxvd2luZyB0 byBtYW5hZ2UgdGhlIHNpbmdsZSBjb25uZWN0aW9uIG92ZXIgdGhlDQo+ID4+Pj4+IG11bHRpcGxl IHBvcnRzLg0KPiA+Pj4+Pg0KPiA+Pj4+PiBUaGlzIGNyb3NzLXBvcnQgb2JqZWN0IHNoYXJpbmcg aXMgaGFyZCB0byBpbXBsZW1lbnQgaW4gZ2VuZXJpYyB3YXkNCj4gPj4+Pj4gbWVyZWx5IHdpdGgg c29mdHdhcmUgb24gdGhlIHVwcGVyIGxheWVycywgYnV0IGNhbiBiZSBwcm92aWRlZCBieQ0KPiA+ Pj4+PiB0aGUgZHJpdmVyIG92ZXIgdGhlIHNpbmdsZSBoYXJkd2FyZSBpbnN0YW5jZSwgd2hlcmUg IG11bHRpcGxlDQo+ID4+Pj4+IHBvcnRzIHJlc2lkZSBvbiB0aGUgc2FtZSBwaHlzaWNhbCBOSUMg YW5kIHNoYXJlIHRoZSBzYW1lIGhhcmR3YXJlDQo+ID4+Pj4+IGNvbnRleHQuDQo+ID4+Pj4+DQo+ ID4+Pj4+IFRvIGFsbG93IHRoaXMgYWN0aW9uIHNoYXJpbmcgYXBwbGljYXRpb24gc2hvdWxkIHNw ZWNpZnkgdGhlICJob3N0DQo+ID4+Pj4+IHBvcnQiIGR1cmluZyBmbG93IGNvbmZpZ3VyaW5nIHRv IGNsYWltIHRoZSBpbnRlbnRpb24gdG8gc2hhcmUgdGhlDQo+ID4+Pj4+IGluZGlyZWN0IGFjdGlv bnMuIEFsbCBpbmRpcmVjdCBhY3Rpb25zIHJlc2lkZSB3aXRoaW4gImhvc3QgcG9ydCINCj4gPj4+ Pj4gY29udGV4dCBhbmQgY2FuIGJlIHNoYXJlZCBpbiBmbG93cyBiZWluZyBpbnN0YWxsZWQNCj4g Pj4+Pg0KPiA+Pj4+IEkgZG9uJ3QgbGlrZSB0aGUgd29yZCAiaG9zdCIgYmVjYXVzZSBpdCBtYXkg cmVmZXIgdG8gdGhlIGhvc3QgQ1BVLg0KPiA+Pj4+IEFsc28gaWYgSSB1bmRlcnN0YW5kIHdlbGws IHRoZSBhcHBsaWNhdGlvbiBtdXN0IGNob29zZSBvbmUgcG9ydA0KPiA+Pj4+IGJldHdlZW4gYWxs IHBvcnRzIG9mIHRoZSBOSUMgYW5kIGtlZXAgdXNpbmcgdGhlIHNhbWUuDQo+ID4+Pj4gSSBndWVz cyB3ZSBkb24ndCB3YW50IHRvIGNyZWF0ZSBhIE5JQyBpZC4NCj4gPj4+PiBTbyBJIHdvdWxkIHN1 Z2dlc3QgdG8gcmVuYW1lIHRvIG5pY19yZWZfcG9ydCBvciBzb21ldGhpbmcgbGlrZSB0aGF0Lg0K PiA+Pj4+DQo+ID4+Pg0KPiA+Pj4gSSB0aGluayB0aGF0IGhvc3QgaXMgdGhlIGNvcnJlY3Qgd29y ZCBzaW5jZSB0aGlzIHBvcnQgaG9zdHMgYWxsDQo+ID4+PiByZXNvdXJjZXMgZm9yIG90aGVyIHBv cnRzLiAodGhpcyBpcyBhbHNvIHdoeSB0aGUgaG9zdCBpcyB1c2VkIGluIGNhc2UNCj4gPj4+IG9m IENQVSDwn5iKKQ0KPiA+Pj4gSSBkb24ndCB0aGluayBpdCBpcyBjb3JyZWN0IHRvIHVzZSBiYWQg d29yZGluZyBkdWUgdG8gdGhlIGZhY3QgdGhhdA0KPiA+Pj4gc29tZSBvbmUgZWxzZSBhbHNvIHVz ZXMgdGhpcyB3b3JkLg0KPiA+Pj4gaW4gcnRlX2Zsb3cgd2UgbmV2ZXIgdGFsayBhYm91dCBob3N0 IENQVSBzbyBJIGRvbid0IHRoaW5rIHRoaXMgaXMNCj4gY29uZnVzaW5nLg0KPiA+Pg0KPiA+PiBU aGUgY29uZnVzaW9uIGlzIHRoYXQgd2UgY2FuIHRoaW5rIG9mIGEgcG9ydCBvbiB0aGUgaG9zdC4N Cj4gPg0KPiA+IEluIG15IGh1bWJsZSBvcGluaW9uLCAiX3BvcnRfaWQiIHN1ZmZpeCBleHBsaWNp dGx5IHNwZWNpZmllcyB3aGF0IGZpZWxkIGlzIGFuZA0KPiBkb2VzIG5vdCBsZWF2ZQ0KPiA+IHRv byBtdWNoIHNwYWNlIGZvciBjb25mdXNpb24uDQo+ID4NCj4gPiAicm9vdF9wb3J0X2lkIj8gImJh c2VfcG9ydF9pZCI/ICAiY29udGFpbmVyX3BvcnRfaWQiID8gIm1nbW50X3BvcnRfaWQiDQo+ID8N Cj4gPiAgIExvb2tzIHdvcnNlIGFzIGZvciBtZSBhbmQgZG9lcyBub3QgcmVmbGVjdCB0aGUgZXhh Y3QgbWVhbmluZy4NCj4gPiBBcyBPcmkgbWVudGlvbmVkIHRoaXMgaXMgRFBESyBwb3J0IElEIHRo YXQgZW1icmFjZXMgYWxsIHRoZSBzaGFyZWQgYWN0aW9ucy4NCj4gPiBJdCBwbGF5cyBhIGhvc3Qg cm9sZSBmb3IgdGhlbS4NCj4gDQo+IE1heWJlICdvd25lcl9wb3J0X2lkJyBvciAncnNyY19wb3J0 X2lkJyA/DQo+IA0KUnNyYz8NCk93bmVyX3BvcnQgbG9va3MgTy5LIGJ1dCBJJ20gbm90IHN1cmUg d2hhdCBpcyB0aGUgaXNzdWUgd2l0aCB0aGUgb3JpZ2luYWwgc3VnZ2VzdGlvbi4NCg0KQmVzdCwN Ck9yaQ0K