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 7D057A0C55; Wed, 13 Oct 2021 20:26:20 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4BBF240E50; Wed, 13 Oct 2021 20:26:20 +0200 (CEST) Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2063.outbound.protection.outlook.com [40.107.223.63]) by mails.dpdk.org (Postfix) with ESMTP id 47BDE40151 for ; Wed, 13 Oct 2021 20:26:19 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EHNlqwpDyCNS63EBuezSzG9rD9FaUREsFMjK6NS+xTK/mRWGEmTK7b3w7wh+XPxS9JPVgviaei+NDLe2tQt1m7LwUVUJnICkBErYQi5z0J2AhI+kWGBig5PDj1YjOwrd/fELCjxyB78buTaIktEbjXWDHhe+3eqqBGNhjyex+WiyYZYOq3655QY9MM0nVHtNeIH+r43d6oU6nFckAh0gtNeDyBOGohSUvMx9kPemTUbd+3+ahcl++ONjlRzka/xMKzOvPbuA9aYbyKugb/3cOySron3SGf3Dl+mMFNe9NGW9EJGLbouv0BLYGpXh98bFcMQnFDk/2kG+gTL1k7iwFg== 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=OfnTuyQpOz68Kfv467wiZHE1yE2mfEDSSDsSdSjppKo=; b=cETVcKQeTbJU9tgxbnrQDRDqtxTVrFRBXXq7+Bpg3phAtZueYAQMblwiHWMeIcuZwacBM/a6rRf1kmoYKH0f0K3ZdDDuz0a83CIi9AOQcouiLBFzOlIpiXuCm642sE0qbUlcifE10rBs/1ybNba6wMB3gfNWECSrw8pARkmh8J8mpnU3I452bY59sOIQAeyRpOpOaIvvPFjfMKsD/BpbbCIcnzVRUFoU/VNAMI3JrOpKV5suIpTvrgIjdXNTNw/yLiLi3EqHkLrycUoHBzxdWjnt/+P84pfM7P+8/hh7Kn15V8nCJRPPkYr1LChGUNvyjMNIQ9/9GNZ4AMPDYifplg== 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=OfnTuyQpOz68Kfv467wiZHE1yE2mfEDSSDsSdSjppKo=; b=NrsLUM+nuBHdmom5RGD1wcpqGhAw3CCYILut1reVUi7fPPWdj3FISDbKfEKmdyqkUW3/JU/fBtLz9RgZADD/RkPxOaC9DCqXavIl+5g/Oj9o6abbmx213JIklBDHwVfb6lEcwaP3prJHYU+Ft44VCNSowAjMsQSHJKqkYemfDDvAO0wMwGeVInUgT59t8KZAUOCpyA0rDn8/yo9tZ9+pSQLNpjxAXZ5FkRGbJbC6T3RJqjsTY+5kYB+I1fDRZfpWd3HTm8XAghprR28H4wesMsSfmR5KCmcs4uI9YEyhYlq1ZOBs6b8T0v+dRKaMlzmPELmI4ZuBFCgVOr+7yZs53g== Received: from DM6PR12MB3753.namprd12.prod.outlook.com (2603:10b6:5:1c7::18) by DM6PR12MB4927.namprd12.prod.outlook.com (2603:10b6:5:20a::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.19; Wed, 13 Oct 2021 18:26:17 +0000 Received: from DM6PR12MB3753.namprd12.prod.outlook.com ([fe80::e550:35a2:96e5:657f]) by DM6PR12MB3753.namprd12.prod.outlook.com ([fe80::e550:35a2:96e5:657f%4]) with mapi id 15.20.4587.026; Wed, 13 Oct 2021 18:26:17 +0000 From: Slava Ovsiienko To: Ivan Malov , "dev@dpdk.org" CC: NBU-Contact-Thomas Monjalon , Ori Kam , Xiaoyun Li , Ferruh Yigit , Andrew Rybchenko Thread-Topic: [dpdk-dev] [PATCH v3 01/12] ethdev: add port representor item to flow API Thread-Index: AQHXveS7B/PPHN4CjkaOHl9vAkR096vP2oUAgAAnnwCAAUD5MA== Date: Wed, 13 Oct 2021 18:26:17 +0000 Message-ID: References: <20211001134716.1608857-1-andrew.rybchenko@oktetlabs.ru> <20211010143930.4985-1-ivan.malov@oktetlabs.ru> <20211010143930.4985-2-ivan.malov@oktetlabs.ru> <201fb185-17cc-b864-3e81-bf5ec5b837ff@oktetlabs.ru> In-Reply-To: <201fb185-17cc-b864-3e81-bf5ec5b837ff@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: 238482ba-0cfe-4d8c-f41b-08d98e76f2ac x-ms-traffictypediagnostic: DM6PR12MB4927: 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-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: yL1Iwk7tPBfE2sse9YZSN7lRNm0ACBiUTU+aQ6EilzmCm7o8E+7X77Rcf0rzJJ+v3SPxpKddE2asvCV+/7RcgxBg6ab1TBBdmES/oyRvOBN/IVq8ckjIu/9EZcAAYA3D2q/R5PbEeBi2bJ4MF3eIA24e+W2itF28M7naYxWmUUGijivnqg6WFZsBBnVtS6BmH/KGxfk8o7tKZJrwXnmTkh55ZfoHEnIx+GYLWfdPGLK5H/fhMWv3JJUvACbHXi7s+WWyv8cb2IFmdhHXowhC51YGHfm7WQFxaCBPxXiE0je0iOEbgMVfpK4sFN2xveWn93SuWmD99ThERpPaGlN1V6LPkjUwCc/OKaJFbFuIA+D0HYv/jap0iuXifm+cvu6tLGoTatLf7L/vTmKXnkdpYFajCXFeh6J02Dycel2PZ1GC57B8V+9qkKzfb9mUIBHZlGNRPppvyXd+UI5dGwUO1qzih9KscgmDNyhiMnWKGQ1PqJtIMWqBDfhe/zhglvvclN4q3URvf3b4XfyJ2/hZL6zxLvXxIYX1pND1nwu0KM18AxFhYuHBbVoNmkjP7dkmL5HB8tbMEB3QnYNyXfOhy9f51AXSm5fZjXS1eaC27AdZa6u83fcAGcEZ0QUdACrwR8fy7OE3zYZPf6799mde+OuO3pen1r13tN0lcK+t7ytrdgqju79Vm0oW0d0lGnO9hXNAOmwcTv3MudPBcqw7rg== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR12MB3753.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(66556008)(64756008)(66446008)(76116006)(8676002)(122000001)(66476007)(66946007)(53546011)(38100700002)(52536014)(2906002)(5660300002)(71200400001)(508600001)(4326008)(8936002)(186003)(9686003)(316002)(33656002)(38070700005)(55016002)(7696005)(26005)(83380400001)(54906003)(86362001)(6506007)(110136005); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?b3Zuai9jZU1iN1pkekMwOTd2ekFHN0s2NERRUDJIcC9aZjhjRjFKclZqOVhU?= =?utf-8?B?RFBrcmRTZVJHYktXVm9GcFAxcnNjL3VMTGhxbkw1VldrK3daMEtnRkFXaWtk?= =?utf-8?B?V3IwL29IWHE5VnRZd3BRRE1zZjJROUNyQWJ5NCtuQUdMbXVkNk5MTHhpa01P?= =?utf-8?B?Q3E1cG1hUnB4c1pGc2lyelNBS3BLL1RiaElYa3Z6dHNGb2Vya0k1ays2VURo?= =?utf-8?B?UXRYR2xtWjJDQlFrMTFrK29SbWx1L3g1NktQSWVWTlRjNGs0cVBGWkZTTjQ0?= =?utf-8?B?dEJQalJ2OVJUQUh0QXppTC9PRC9uZEw1by92K3ZBSldnR0VqNXQyM1BaNjJo?= =?utf-8?B?eGJxYlNHVG40ZHNwU1ROemNxN2d6NFl1QkZYOFVrVTdER1RObGlZNVJZK2dh?= =?utf-8?B?aElCc0dxbStiVE52ZGhhbmIzbUl0eEVoQVQ3L0luMkppa25TRmJLUFU0VkFE?= =?utf-8?B?aE9vNURVRGZCRXY5SysyYlZXcUUzczUvcTlLS2JRakJwQ2p3Qnd2TnN0akJ2?= =?utf-8?B?dW0rVnFYZHJYZ0VibGJnbUpWbWdnWVpVaTRkVDlzQlV2WWZGYTFqRTlTcmcw?= =?utf-8?B?R2pEcDh1VVZ1RWFXelhKZDd2SU5YVUdwVXVPZ0JPNzJRZlVaYjVJc2JmVUxh?= =?utf-8?B?Z2ZYV3hsZTZPbU9oWlBaWHo0TklLTkpqRGFIMXBKV1NEaTdQcFhWWGdrc0dI?= =?utf-8?B?MmZtMDg5LzRNQzJOWFlEdElvcnVESW15d0xXMGJvanRIZEJKaFVjQVRmQ1VX?= =?utf-8?B?Nzh0ZjgzWmpuY21FNFo3L28vTDVCZ3c1THl1djBtYkQ5aUdXOEQvVERWQldk?= =?utf-8?B?VUN5TEtQVlVaUHZpNWFvTkREOTJhTVptZlkvOUVaUFRtZDZ5dHlURk80anlv?= =?utf-8?B?bHdLcS9lVXF1VVorTnNPcmZUcU95YVJQbGlIYXBWZVVubjNrV3l5aDBNUVFs?= =?utf-8?B?UXNoME5mUHZWRURqM0Y3MUY0ZnNlRkM4RjZ2dmY4QUlacm84VFZsUnpFcjVw?= =?utf-8?B?bEFKRUNjZ1VUVGZqY2xwbnp4QUZ6am1GdkZrVlE4cnpKeTJGeW5sbGlzWHFY?= =?utf-8?B?eWFJcU1lTG5kbXg0c1Jud3hjRjEvYlZ1YTF5UldKSnVSMHJIM1B0WU9mWjVy?= =?utf-8?B?Q01ocUQxRE8xYnJOS3ZLOWVNL0NhOFBjWTZlL3JtS2N5bGE2eUtlZFRkd3pZ?= =?utf-8?B?TytkUSt1N2FKeXVHSWdrOWlOWWNzWnNQTVFkVVZtR1pPOXREMCtXWnVQN3Fv?= =?utf-8?B?NWpNZVBNYVlCb3k3djJYN1ZhelRWVkxiaWlKTzQ3c3FLK1IxT045eFpRY1Bx?= =?utf-8?B?Z29rTzdsd002VXg5Nm5LckRrWGFWU1U3TVoraEl5OEdYb0hDOFFwblNRUUFk?= =?utf-8?B?YnFHY2dNZDBqaDRuVWZCM0tnN05QKytqOCtPZ2xpTzhyVmpYSHJKTndnQW10?= =?utf-8?B?azU2eno3OWdrNnBUWk1wVng4dXVHWVpMbWhFWnpvMitRbzBZWGtUWDRzQ1NZ?= =?utf-8?B?MmdrOHU4aVUycjM0OWpvek1td05OU2Nqc2hoS0duWU12VjhRdnlyaWl4cTJw?= =?utf-8?B?OUdJNHg3Mk85aTVXOXJIM21uUlhkK3RsNHpHMk1ub3o3LzIxVkNTTm1JajN5?= =?utf-8?B?a3hKNDZNWlZ1RkVFN0gyTmxyMkNDN2Y1UzdOOGFWL0wxaGtYNlVDVVdCT3pl?= =?utf-8?B?U214VUFSUXNWODJGaEUrbDZSc3lhR2xRS3hPeituRnJxejdPRFZZaGtBL25J?= =?utf-8?Q?iL8vbig/jkN1KrNAbGak3UlVWGdTysl3UloZrbB?= 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: DM6PR12MB3753.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 238482ba-0cfe-4d8c-f41b-08d98e76f2ac X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Oct 2021 18:26:17.6812 (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: Ldv7M/EXp5LNwuYzKn92oUgACSBvqKs11CdNfoTwE6TdmfeR2Yp0ex9FaTtnvGUKeIEG5SBT7s/duzq7/myr8A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4927 Subject: Re: [dpdk-dev] [PATCH v3 01/12] ethdev: add port representor 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" SGksDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogSXZhbiBNYWxvdiA8 SXZhbi5NYWxvdkBva3RldGxhYnMucnU+DQo+IFNlbnQ6IFdlZG5lc2RheSwgT2N0b2JlciAxMywg MjAyMSAyOjE1DQo+IFRvOiBTbGF2YSBPdnNpaWVua28gPHZpYWNoZXNsYXZvQG52aWRpYS5jb20+ OyBkZXZAZHBkay5vcmcNCj4gQ2M6IE5CVS1Db250YWN0LVRob21hcyBNb25qYWxvbiA8dGhvbWFz QG1vbmphbG9uLm5ldD47IE9yaSBLYW0NCj4gPG9yaWthQG52aWRpYS5jb20+OyBYaWFveXVuIExp IDx4aWFveXVuLmxpQGludGVsLmNvbT47IEZlcnJ1aCBZaWdpdA0KPiA8ZmVycnVoLnlpZ2l0QGlu dGVsLmNvbT47IEFuZHJldyBSeWJjaGVua28NCj4gPGFuZHJldy5yeWJjaGVua29Ab2t0ZXRsYWJz LnJ1Pg0KPiBTdWJqZWN0OiBSZTogW2RwZGstZGV2XSBbUEFUQ0ggdjMgMDEvMTJdIGV0aGRldjog YWRkIHBvcnQgcmVwcmVzZW50b3IgaXRlbQ0KPiB0byBmbG93IEFQSQ0KPiANCj4gSGksDQo+IA0K PiBPbiAxMi8xMC8yMDIxIDIzOjU1LCBTbGF2YSBPdnNpaWVua28gd3JvdGU6DQo+ID4gSGksDQo+ ID4NCj4gPiBQbGVhc2UsIHNlZSBiZWxvdy4NCj4gPg0KPiA+PiAtLS0tLU9yaWdpbmFsIE1lc3Nh Z2UtLS0tLQ0KPiA+PiBGcm9tOiBkZXYgPGRldi1ib3VuY2VzQGRwZGsub3JnPiBPbiBCZWhhbGYg T2YgSXZhbiBNYWxvdg0KPiA+PiBTZW50OiBTdW5kYXksIE9jdG9iZXIgMTAsIDIwMjEgMTc6MzkN Cj4gPj4gVG86IGRldkBkcGRrLm9yZw0KPiA+PiBDYzogTkJVLUNvbnRhY3QtVGhvbWFzIE1vbmph bG9uIDx0aG9tYXNAbW9uamFsb24ubmV0PjsgT3JpIEthbQ0KPiA+PiA8b3Jpa2FAbnZpZGlhLmNv bT47IFhpYW95dW4gTGkgPHhpYW95dW4ubGlAaW50ZWwuY29tPjsgRmVycnVoIFlpZ2l0DQo+ID4+ IDxmZXJydWgueWlnaXRAaW50ZWwuY29tPjsgQW5kcmV3IFJ5YmNoZW5rbw0KPiA+PiA8YW5kcmV3 LnJ5YmNoZW5rb0Bva3RldGxhYnMucnU+DQo+ID4+IFN1YmplY3Q6IFtkcGRrLWRldl0gW1BBVENI IHYzIDAxLzEyXSBldGhkZXY6IGFkZCBwb3J0IHJlcHJlc2VudG9yDQo+ID4+IGl0ZW0gdG8gZmxv dyBBUEkNCj4gPj4NCj4gPj4gRm9yIHVzZSBpbiAidHJhbnNmZXIiIGZsb3dzLiBTdXBwb3NlZCB0 byBtYXRjaCB0cmFmZmljIGVudGVyaW5nIHRoZQ0KPiA+PiBlbWJlZGRlZCBzd2l0Y2ggZnJvbSB0 aGUgZ2l2ZW4gZXRoZGV2Lg0KPiA+Pg0KPiA+PiBNdXN0IG5vdCBiZSBjb21iaW5lZCB3aXRoIGRp cmVjdGlvbiBhdHRyaWJ1dGVzLg0KPiA+Pg0KPiA+PiBTaWduZWQtb2ZmLWJ5OiBJdmFuIE1hbG92 IDxpdmFuLm1hbG92QG9rdGV0bGFicy5ydT4NCj4gPj4gLS0tDQo+ID4+ICAgYXBwL3Rlc3QtcG1k L2NtZGxpbmVfZmxvdy5jICAgICAgICAgICAgICAgICB8IDI3ICsrKysrKysrKysNCj4gPg0KPiA+ IFNob3VsZCB3ZSBzZXBhcmF0ZSB0ZXN0cG1kIGNoYW5nZXMgaW50byBkZWRpY2F0ZWQgY29tbWl0 Pw0KPiA+IFRoaXMgcGF0Y2ggaW50ZXJtaXhlcyBSVEUgRmxvdyBBUEkgdXBkYXRlIGFuZCB0ZXN0 cG1kLg0KPiANCj4gSSdtIG5vIGZhbiBvZiBtaXhpbmcgdGhpbmdzIGxpa2UgdGhhdCwgYnV0IGRv aW5nIHNvIGFwcGVhcnMgdG8gYmUgcmF0aGVyIGxvZ2ljYWwuDQo+IEVhY2ggY29tbWl0IHNob3Vs ZCBiZSBidWlsZCB0ZXN0YWJsZS4gSWYgdGhlIG5ldyBkZWZpbmVzIGhhdmUgbm8gdXNlcnMgaW4g dGhlDQo+IHNhbWUgY29tbWl0LCB0aGV5IGFyZSBkdW1teS4gQW5kIEkgYmVsaWV2ZSB0aGF0IHJl YWRlcnMgdHlwaWNhbGx5IHdhbnQgdG8NCj4gc2VlIHRoZSB1c2UgZXhhbXBsZSBpbiB0aGUgc2Ft ZSBjb21taXQsIHRvby4NClNvbWV0aW1lIHRoZSB0ZXN0cG1kIGNoYW5nZSBpcyBsYXJnZWQgYW5k IHNob3VsZCBiZSByZXZpZXdlZCBjYXJlZnVsbHkuDQpCdXQgdGhpcyBzZXJpZXMgaXMgbm90IGEg Y2FzZSwgYW5kIEkgc2VlIGl0IGlzIGNvbW1vbiBwcmFjdGljZSB0byBpbmNsdWRlDQpzbWFsbCB1 cGRhdGVzIG9mIHRlc3RwbWQgaW4gdGhlIHByaW1hcnkgcGF0Y2guIEkgd29uZGVyIHdoeSBJIGRv IG5vdCBmb2xsb3cNCnRoaXMgcHJhY3RpY2Ug8J+YiQ0KT0ssIHBsZWFzZSwgZGlzcmVnYXJkIG15 IGNvbW1lbnQgaW4gcHJldmlvdXMgbWFpbC4NCg0KV2l0aCBiZXN0IHJlZ2FyZHMsIFNsYXZhDQoN Cj4gDQo+ID4NCj4gPiBXaXRoIGJlc3QgcmVnYXJkcywNCj4gPiBTbGF2YQ0KPiA+DQo+ID4+ICAg ZG9jL2d1aWRlcy9wcm9nX2d1aWRlL3J0ZV9mbG93LnJzdCAgICAgICAgICB8IDU5ICsrKysrKysr KysrKysrKysrKysrKw0KPiA+PiAgIGRvYy9ndWlkZXMvcmVsX25vdGVzL3JlbGVhc2VfMjFfMTEu cnN0ICAgICAgfCAgMiArDQo+ID4+ICAgZG9jL2d1aWRlcy90ZXN0cG1kX2FwcF91Zy90ZXN0cG1k X2Z1bmNzLnJzdCB8ICA0ICsrDQo+ID4+ICAgbGliL2V0aGRldi9ydGVfZmxvdy5jICAgICAgICAg ICAgICAgICAgICAgICB8ICAxICsNCj4gPj4gICBsaWIvZXRoZGV2L3J0ZV9mbG93LmggICAgICAg ICAgICAgICAgICAgICAgIHwgMjcgKysrKysrKysrKw0KPiA+PiAgIDYgZmlsZXMgY2hhbmdlZCwg MTIwIGluc2VydGlvbnMoKykNCj4gPj4NCj4gPj4gZGlmZiAtLWdpdCBhL2FwcC90ZXN0LXBtZC9j bWRsaW5lX2Zsb3cuYyBiL2FwcC90ZXN0LXBtZC9jbWRsaW5lX2Zsb3cuYw0KPiA+PiBpbmRleCBi YjIyMjk0ZGQzLi5hOTEyYThkODE1IDEwMDY0NA0KPiA+PiAtLS0gYS9hcHAvdGVzdC1wbWQvY21k bGluZV9mbG93LmMNCj4gPj4gKysrIGIvYXBwL3Rlc3QtcG1kL2NtZGxpbmVfZmxvdy5jDQo+ID4+ IEBAIC0zMDYsNiArMzA2LDggQEAgZW51bSBpbmRleCB7DQo+ID4+ICAgCUlURU1fUE9MX1BPUlQs DQo+ID4+ICAgCUlURU1fUE9MX01FVEVSLA0KPiA+PiAgIAlJVEVNX1BPTF9QT0xJQ1ksDQo+ID4+ ICsJSVRFTV9QT1JUX1JFUFJFU0VOVE9SLA0KPiA+PiArCUlURU1fUE9SVF9SRVBSRVNFTlRPUl9Q T1JUX0lELA0KPiA+Pg0KPiA+PiAgIAkvKiBWYWxpZGF0ZS9jcmVhdGUgYWN0aW9ucy4gKi8NCj4g Pj4gICAJQUNUSU9OUywNCj4gPj4gQEAgLTEwMDAsNiArMTAwMiw3IEBAIHN0YXRpYyBjb25zdCBl bnVtIGluZGV4IG5leHRfaXRlbVtdID0gew0KPiA+PiAgIAlJVEVNX0dFTkVWRV9PUFQsDQo+ID4+ ICAgCUlURU1fSU5URUdSSVRZLA0KPiA+PiAgIAlJVEVNX0NPTk5UUkFDSywNCj4gPj4gKwlJVEVN X1BPUlRfUkVQUkVTRU5UT1IsDQo+ID4+ICAgCUVORF9TRVQsDQo+ID4+ICAgCVpFUk8sDQo+ID4+ ICAgfTsNCj4gPj4gQEAgLTEzNjgsNiArMTM3MSwxMiBAQCBzdGF0aWMgY29uc3QgZW51bSBpbmRl eCBpdGVtX2ludGVncml0eV9sdltdID0gew0KPiA+PiAgIAlaRVJPLA0KPiA+PiAgIH07DQo+ID4+ DQo+ID4+ICtzdGF0aWMgY29uc3QgZW51bSBpbmRleCBpdGVtX3BvcnRfcmVwcmVzZW50b3JbXSA9 IHsNCj4gPj4gKwlJVEVNX1BPUlRfUkVQUkVTRU5UT1JfUE9SVF9JRCwNCj4gPj4gKwlJVEVNX05F WFQsDQo+ID4+ICsJWkVSTywNCj4gPj4gK307DQo+ID4+ICsNCj4gPj4gICBzdGF0aWMgY29uc3Qg ZW51bSBpbmRleCBuZXh0X2FjdGlvbltdID0gew0KPiA+PiAgIAlBQ1RJT05fRU5ELA0KPiA+PiAg IAlBQ1RJT05fVk9JRCwNCj4gPj4gQEAgLTM2MDgsNiArMzYxNywyMSBAQCBzdGF0aWMgY29uc3Qg c3RydWN0IHRva2VuIHRva2VuX2xpc3RbXSA9IHsNCj4gPj4gICAJCQkgICAgIGl0ZW1fcGFyYW0p LA0KPiA+PiAgIAkJLmFyZ3MgPSBBUkdTKEFSR1NfRU5UUlkoc3RydWN0IHJ0ZV9mbG93X2l0ZW1f Y29ubnRyYWNrLA0KPiA+PiBmbGFncykpLA0KPiA+PiAgIAl9LA0KPiA+PiArCVtJVEVNX1BPUlRf UkVQUkVTRU5UT1JdID0gew0KPiA+PiArCQkubmFtZSA9ICJwb3J0X3JlcHJlc2VudG9yIiwNCj4g Pj4gKwkJLmhlbHAgPSAibWF0Y2ggdHJhZmZpYyBlbnRlcmluZyB0aGUgZW1iZWRkZWQgc3dpdGNo IGZyb20gdGhlDQo+ID4+IGdpdmVuIGV0aGRldiIsDQo+ID4+ICsJCS5wcml2ID0gUFJJVl9JVEVN KFBPUlRfUkVQUkVTRU5UT1IsDQo+ID4+ICsJCQkJICBzaXplb2Yoc3RydWN0IHJ0ZV9mbG93X2l0 ZW1fZXRoZGV2KSksDQo+ID4+ICsJCS5uZXh0ID0gTkVYVChpdGVtX3BvcnRfcmVwcmVzZW50b3Ip LA0KPiA+PiArCQkuY2FsbCA9IHBhcnNlX3ZjLA0KPiA+PiArCX0sDQo+ID4+ICsJW0lURU1fUE9S VF9SRVBSRVNFTlRPUl9QT1JUX0lEXSA9IHsNCj4gPj4gKwkJLm5hbWUgPSAicG9ydF9pZCIsDQo+ ID4+ICsJCS5oZWxwID0gImV0aGRldiBwb3J0IElEIiwNCj4gPj4gKwkJLm5leHQgPSBORVhUKGl0 ZW1fcG9ydF9yZXByZXNlbnRvciwNCj4gPj4gTkVYVF9FTlRSWShDT01NT05fVU5TSUdORUQpLA0K PiA+PiArCQkJICAgICBpdGVtX3BhcmFtKSwNCj4gPj4gKwkJLmFyZ3MgPSBBUkdTKEFSR1NfRU5U Ulkoc3RydWN0IHJ0ZV9mbG93X2l0ZW1fZXRoZGV2LA0KPiA+PiBwb3J0X2lkKSksDQo+ID4+ICsJ fSwNCj4gPj4gICAJLyogVmFsaWRhdGUvY3JlYXRlIGFjdGlvbnMuICovDQo+ID4+ICAgCVtBQ1RJ T05TXSA9IHsNCj4gPj4gICAJCS5uYW1lID0gImFjdGlvbnMiLA0KPiA+PiBAQCAtODM0Myw2ICs4 MzY3LDkgQEAgZmxvd19pdGVtX2RlZmF1bHRfbWFzayhjb25zdCBzdHJ1Y3QNCj4gPj4gcnRlX2Zs b3dfaXRlbSAqaXRlbSkNCj4gPj4gICAJY2FzZSBSVEVfRkxPV19JVEVNX1RZUEVfUEZDUDoNCj4g Pj4gICAJCW1hc2sgPSAmcnRlX2Zsb3dfaXRlbV9wZmNwX21hc2s7DQo+ID4+ICAgCQlicmVhazsN Cj4gPj4gKwljYXNlIFJURV9GTE9XX0lURU1fVFlQRV9QT1JUX1JFUFJFU0VOVE9SOg0KPiA+PiAr CQltYXNrID0gJnJ0ZV9mbG93X2l0ZW1fZXRoZGV2X21hc2s7DQo+ID4+ICsJCWJyZWFrOw0KPiA+ PiAgIAlkZWZhdWx0Og0KPiA+PiAgIAkJYnJlYWs7DQo+ID4+ICAgCX0NCj4gPj4gZGlmZiAtLWdp dCBhL2RvYy9ndWlkZXMvcHJvZ19ndWlkZS9ydGVfZmxvdy5yc3QNCj4gPj4gYi9kb2MvZ3VpZGVz L3Byb2dfZ3VpZGUvcnRlX2Zsb3cucnN0DQo+ID4+IGluZGV4IDJiNDJkNWVjOGMuLjkxZDViZGQ3 MTIgMTAwNjQ0DQo+ID4+IC0tLSBhL2RvYy9ndWlkZXMvcHJvZ19ndWlkZS9ydGVfZmxvdy5yc3QN Cj4gPj4gKysrIGIvZG9jL2d1aWRlcy9wcm9nX2d1aWRlL3J0ZV9mbG93LnJzdA0KPiA+PiBAQCAt MTQyNSw2ICsxNDI1LDY1IEBAIE1hdGNoZXMgYSBjb25udHJhY2sgc3RhdGUgYWZ0ZXIgY29ubnRy YWNrDQo+IGFjdGlvbi4NCj4gPj4gICAtIGBgZmxhZ3NgYDogY29ubnRyYWNrIHBhY2tldCBzdGF0 ZSBmbGFncy4NCj4gPj4gICAtIERlZmF1bHQgYGBtYXNrYGAgbWF0Y2hlcyBhbGwgc3RhdGUgYml0 cy4NCj4gPj4NCj4gPj4gK0l0ZW06IGBgUE9SVF9SRVBSRVNFTlRPUmBgDQo+ID4+ICteXl5eXl5e Xl5eXl5eXl5eXl5eXl5eXl5eXg0KPiA+PiArDQo+ID4+ICtNYXRjaGVzIHRyYWZmaWMgZW50ZXJp bmcgdGhlIGVtYmVkZGVkIHN3aXRjaCBmcm9tIHRoZSBnaXZlbiBldGhkZXYuDQo+ID4+ICsNCj4g Pj4gK1Rlcm0gKipldGhkZXYqKiBhbmQgdGhlIGNvbmNlcHQgb2YgKipwb3J0IHJlcHJlc2VudG9y KiogYXJlDQo+IHN5bm9ueW1vdXMuDQo+ID4+ICtUaGUgKipyZXByZXNlbnRlZCBwb3J0KiogaXMg YW4gKmVudGl0eSogcGx1Z2dlZCB0byB0aGUgZW1iZWRkZWQgc3dpdGNoDQo+ID4+ICthdCB0aGUg b3Bwb3NpdGUgZW5kIG9mIHRoZSAid2lyZSIgbGVhZGluZyB0byB0aGUgZXRoZGV2Lg0KPiA+PiAr DQo+ID4+ICs6Og0KPiA+PiArDQo+ID4+ICsgICAgLi0tLS0tLS0tLS0tLS0tLS0tLS0tLg0KPiA+ PiArICAgIHwgIFBPUlRfUkVQUkVTRU5UT1IgIHwgIEV0aGRldiAoQXBwbGljYXRpb24gUG9ydCBS ZWZlcnJlZCB0byBieSBpdHMNCj4gSUQpDQo+ID4+ICsgICAgJy0tLS0tLS0tLS0tLS0tLS0tLS0t Jw0KPiA+PiArICAgICAgICAgICAgICB8fA0KPiA+PiArICAgICAgICAgICAgICBcLw0KPiA+PiAr ICAgICAgLi0tLS0tLS0tLS0tLS0tLS0uDQo+ID4+ICsgICAgICB8ICBMb2dpY2FsIFBvcnQgIHwN Cj4gPj4gKyAgICAgICctLS0tLS0tLS0tLS0tLS0tJw0KPiA+PiArICAgICAgICAgICAgICB8fA0K PiA+PiArICAgICAgICAgICAgICB8fA0KPiA+PiArICAgICAgICAgICAgICB8fA0KPiA+PiArICAg ICAgICAgICAgICBcLw0KPiA+PiArICAgICAgICAgLi0tLS0tLS0tLS0uDQo+ID4+ICsgICAgICAg ICB8ICBTd2l0Y2ggIHwNCj4gPj4gKyAgICAgICAgICctLS0tLS0tLS0tJw0KPiA+PiArICAgICAg ICAgICAgICA6DQo+ID4+ICsgICAgICAgICAgICAgICA6DQo+ID4+ICsgICAgICAgICAgICAgIDoN Cj4gPj4gKyAgICAgICAgICAgICAgIDoNCj4gPj4gKyAgICAgIC4tLS0tLS0tLS0tLS0tLS0tLg0K PiA+PiArICAgICAgfCAgTG9naWNhbCBQb3J0ICB8DQo+ID4+ICsgICAgICAnLS0tLS0tLS0tLS0t LS0tLScNCj4gPj4gKyAgICAgICAgICAgICAgOg0KPiA+PiArICAgICAgICAgICAgICAgOg0KPiA+ PiArICAgIC4tLS0tLS0tLS0tLS0tLS0tLS0tLS4NCj4gPj4gKyAgICB8ICBSRVBSRVNFTlRFRF9Q T1JUICB8ICBOZXQgLyBHdWVzdCAvIEFub3RoZXIgRXRoZGV2IChTYW1lDQo+ID4+IEFwcGxpY2F0 aW9uKQ0KPiA+PiArICAgICctLS0tLS0tLS0tLS0tLS0tLS0tLScNCj4gPj4gKw0KPiA+PiArDQo+ ID4+ICstIEluY29tcGF0aWJsZSB3aXRoIGBBdHRyaWJ1dGU6IFRyYWZmaWMgZGlyZWN0aW9uYF8u DQo+ID4+ICstIFJlcXVpcmVzIGBBdHRyaWJ1dGU6IFRyYW5zZmVyYF8uDQo+ID4+ICsNCj4gPj4g Ky4uIF90YWJsZV9ydGVfZmxvd19pdGVtX2V0aGRldjoNCj4gPj4gKw0KPiA+PiArLi4gdGFibGU6 OiBgYHN0cnVjdCBydGVfZmxvd19pdGVtX2V0aGRldmBgDQo+ID4+ICsNCj4gPj4gKyAgICstLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KPiA+PiAr ICAgfCBGaWVsZCAgICB8IFN1YmZpZWxkICAgIHwgVmFsdWUgICAgICAgICAgICAgICAgICAgICB8 DQo+ID4+ICsgICArPT09PT09PT09PSs9PT09PT09PT09PT09Kz09PT09PT09PT09PT09PT09PT09 PT09PT09PSsNCj4gPj4gKyAgIHwgYGBzcGVjYGAgfCBgYHBvcnRfaWRgYCB8IGV0aGRldiBwb3J0 IElEICAgICAgICAgICAgfA0KPiA+PiArICAgKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rDQo+ID4+ICsgICB8IGBgbGFzdGBgIHwgYGBwb3J0X2lk YGAgfCB1cHBlciByYW5nZSB2YWx1ZSAgICAgICAgIHwNCj4gPj4gKyAgICstLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KPiA+PiArICAgfCBgYG1h c2tgYCB8IGBgcG9ydF9pZGBgIHwgemVyb2VkIGZvciB3aWxkY2FyZCBtYXRjaCB8DQo+ID4+ICsg ICArLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsN Cj4gPj4gKw0KPiA+PiArLSBEZWZhdWx0IGBgbWFza2BgIHByb3ZpZGVzIGV4YWN0IG1hdGNoIGJl aGF2aW91ci4NCj4gPj4gKw0KPiA+PiAgIEFjdGlvbnMNCj4gPj4gICB+fn5+fn5+DQo+ID4+DQo+ ID4+IGRpZmYgLS1naXQgYS9kb2MvZ3VpZGVzL3JlbF9ub3Rlcy9yZWxlYXNlXzIxXzExLnJzdA0K PiA+PiBiL2RvYy9ndWlkZXMvcmVsX25vdGVzL3JlbGVhc2VfMjFfMTEucnN0DQo+ID4+IGluZGV4 IDg5ZDRiMzNlZjEuLjEyNjFjYjJiZjMgMTAwNjQ0DQo+ID4+IC0tLSBhL2RvYy9ndWlkZXMvcmVs X25vdGVzL3JlbGVhc2VfMjFfMTEucnN0DQo+ID4+ICsrKyBiL2RvYy9ndWlkZXMvcmVsX25vdGVz L3JlbGVhc2VfMjFfMTEucnN0DQo+ID4+IEBAIC0xODgsNiArMTg4LDggQEAgQVBJIENoYW5nZXMN Cj4gPj4gICAgICBBbHNvLCBtYWtlIHN1cmUgdG8gc3RhcnQgdGhlIGFjdHVhbCB0ZXh0IGF0IHRo ZSBtYXJnaW4uDQo+ID4+ICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQ0KPiA+Pg0KPiA+PiArKiBldGhkZXY6IEFkZGVkIGl0ZW0gYGBQ T1JUX1JFUFJFU0VOVE9SYGAgdG8gZmxvdyBBUEkuDQo+ID4+ICsNCj4gPj4gICAqIGt2YXJnczog VGhlIGV4cGVyaW1lbnRhbCBmdW5jdGlvbiBgYHJ0ZV9rdmFyZ3Nfc3RyY21wKClgYCBoYXMgYmVl bg0KPiA+PiAgICAgcmVtb3ZlZC4gSXRzIHVzYWdlcyBoYXZlIGJlZW4gcmVwbGFjZWQgYnkgYSBu ZXcgZnVuY3Rpb24NCj4gPj4gICAgIGBgcnRlX2t2YXJnc19nZXRfd2l0aF92YWx1ZSgpYGAuDQo+ ID4+IGRpZmYgLS1naXQgYS9kb2MvZ3VpZGVzL3Rlc3RwbWRfYXBwX3VnL3Rlc3RwbWRfZnVuY3Mu cnN0DQo+ID4+IGIvZG9jL2d1aWRlcy90ZXN0cG1kX2FwcF91Zy90ZXN0cG1kX2Z1bmNzLnJzdA0K PiA+PiBpbmRleCA4ZWFkN2E0YTcxLi5kY2I5ZjQ3ZDk4IDEwMDY0NA0KPiA+PiAtLS0gYS9kb2Mv Z3VpZGVzL3Rlc3RwbWRfYXBwX3VnL3Rlc3RwbWRfZnVuY3MucnN0DQo+ID4+ICsrKyBiL2RvYy9n dWlkZXMvdGVzdHBtZF9hcHBfdWcvdGVzdHBtZF9mdW5jcy5yc3QNCj4gPj4gQEAgLTM3OTUsNiAr Mzc5NSwxMCBAQCBUaGlzIHNlY3Rpb24gbGlzdHMgc3VwcG9ydGVkIHBhdHRlcm4gaXRlbXMgYW5k DQo+ID4+IHRoZWlyIGF0dHJpYnV0ZXMsIGlmIGFueS4NCj4gPj4NCj4gPj4gICAtIGBgY29ubnRy YWNrYGA6IG1hdGNoIGNvbm50cmFjayBzdGF0ZS4NCj4gPj4NCj4gPj4gKy0gYGBwb3J0X3JlcHJl c2VudG9yYGA6IG1hdGNoIHRyYWZmaWMgZW50ZXJpbmcgdGhlIGVtYmVkZGVkIHN3aXRjaCBmcm9t DQo+ID4+ICt0aGUgZ2l2ZW4gZXRoZGV2DQo+ID4+ICsNCj4gPj4gKyAgLSBgYHBvcnRfaWQge3Vu c2lnbmVkfWBgOiBldGhkZXYgcG9ydCBJRA0KPiA+PiArDQo+ID4+ICAgQWN0aW9ucyBsaXN0DQo+ ID4+ICAgXl5eXl5eXl5eXl5eDQo+ID4+DQo+ID4+IGRpZmYgLS1naXQgYS9saWIvZXRoZGV2L3J0 ZV9mbG93LmMgYi9saWIvZXRoZGV2L3J0ZV9mbG93LmMgaW5kZXgNCj4gPj4gOGNiN2EwNjljOC4u NWU5MzE3YzZkMSAxMDA2NDQNCj4gPj4gLS0tIGEvbGliL2V0aGRldi9ydGVfZmxvdy5jDQo+ID4+ ICsrKyBiL2xpYi9ldGhkZXYvcnRlX2Zsb3cuYw0KPiA+PiBAQCAtMTAwLDYgKzEwMCw3IEBAIHN0 YXRpYyBjb25zdCBzdHJ1Y3QgcnRlX2Zsb3dfZGVzY19kYXRhDQo+ID4+IHJ0ZV9mbG93X2Rlc2Nf aXRlbVtdID0gew0KPiA+PiAgIAlNS19GTE9XX0lURU0oR0VORVZFX09QVCwgc2l6ZW9mKHN0cnVj dA0KPiA+PiBydGVfZmxvd19pdGVtX2dlbmV2ZV9vcHQpKSwNCj4gPj4gICAJTUtfRkxPV19JVEVN KElOVEVHUklUWSwgc2l6ZW9mKHN0cnVjdCBydGVfZmxvd19pdGVtX2ludGVncml0eSkpLA0KPiA+ PiAgIAlNS19GTE9XX0lURU0oQ09OTlRSQUNLLCBzaXplb2YodWludDMyX3QpKSwNCj4gPj4gKwlN S19GTE9XX0lURU0oUE9SVF9SRVBSRVNFTlRPUiwgc2l6ZW9mKHN0cnVjdA0KPiA+PiBydGVfZmxv d19pdGVtX2V0aGRldikpLA0KPiA+PiAgIH07DQo+ID4+DQo+ID4+ICAgLyoqIEdlbmVyYXRlIGZs b3dfYWN0aW9uW10gZW50cnkuICovDQo+ID4+IGRpZmYgLS1naXQgYS9saWIvZXRoZGV2L3J0ZV9m bG93LmggYi9saWIvZXRoZGV2L3J0ZV9mbG93LmggaW5kZXgNCj4gPj4gN2IxZWQ3ZjExMC4uMzYy NWZkMmMxMiAxMDA2NDQNCj4gPj4gLS0tIGEvbGliL2V0aGRldi9ydGVfZmxvdy5oDQo+ID4+ICsr KyBiL2xpYi9ldGhkZXYvcnRlX2Zsb3cuaA0KPiA+PiBAQCAtNTc0LDYgKzU3NCwxNSBAQCBlbnVt IHJ0ZV9mbG93X2l0ZW1fdHlwZSB7DQo+ID4+ICAgCSAqIEBzZWUgc3RydWN0IHJ0ZV9mbG93X2l0 ZW1fY29ubnRyYWNrLg0KPiA+PiAgIAkgKi8NCj4gPj4gICAJUlRFX0ZMT1dfSVRFTV9UWVBFX0NP Tk5UUkFDSywNCj4gPj4gKw0KPiA+PiArCS8qKg0KPiA+PiArCSAqIFtNRVRBXQ0KPiA+PiArCSAq DQo+ID4+ICsJICogTWF0Y2hlcyB0cmFmZmljIGVudGVyaW5nIHRoZSBlbWJlZGRlZCBzd2l0Y2gg ZnJvbSB0aGUgZ2l2ZW4NCj4gPj4gZXRoZGV2Lg0KPiA+PiArCSAqDQo+ID4+ICsJICogQHNlZSBz dHJ1Y3QgcnRlX2Zsb3dfaXRlbV9ldGhkZXYNCj4gPj4gKwkgKi8NCj4gPj4gKwlSVEVfRkxPV19J VEVNX1RZUEVfUE9SVF9SRVBSRVNFTlRPUiwNCj4gPj4gICB9Ow0KPiA+Pg0KPiA+PiAgIC8qKg0K PiA+PiBAQCAtMTc5OSw2ICsxODA4LDI0IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcnRlX2Zsb3df aXRlbV9jb25udHJhY2sNCj4gPj4gcnRlX2Zsb3dfaXRlbV9jb25udHJhY2tfbWFzayA9IHsgIH07 ICAjZW5kaWYNCj4gPj4NCj4gPj4gKy8qKg0KPiA+PiArICogQHdhcm5pbmcNCj4gPj4gKyAqIEBi IEVYUEVSSU1FTlRBTDogdGhpcyBzdHJ1Y3R1cmUgbWF5IGNoYW5nZSB3aXRob3V0IHByaW9yIG5v dGljZQ0KPiA+PiArICoNCj4gPj4gKyAqIFByb3ZpZGVzIGFuIGV0aGRldiBwb3J0IElEIGZvciB1 c2Ugd2l0aCB0aGUgZm9sbG93aW5nIGl0ZW1zOg0KPiA+PiArICogUlRFX0ZMT1dfSVRFTV9UWVBF X1BPUlRfUkVQUkVTRU5UT1IuDQo+ID4+ICsgKi8NCj4gPj4gK3N0cnVjdCBydGVfZmxvd19pdGVt X2V0aGRldiB7DQo+ID4+ICsJdWludDE2X3QgcG9ydF9pZDsgLyoqPCBldGhkZXYgcG9ydCBJRCAq LyB9Ow0KPiA+PiArDQo+ID4+ICsvKiogRGVmYXVsdCBtYXNrIGZvciBpdGVtcyBiYXNlZCBvbiBz dHJ1Y3QgcnRlX2Zsb3dfaXRlbV9ldGhkZXYgKi8NCj4gPj4gKyNpZm5kZWYgX19jcGx1c3BsdXMg c3RhdGljIGNvbnN0IHN0cnVjdCBydGVfZmxvd19pdGVtX2V0aGRldg0KPiA+PiArcnRlX2Zsb3df aXRlbV9ldGhkZXZfbWFzayA9IHsNCj4gPj4gKwkucG9ydF9pZCA9IDB4ZmZmZiwNCj4gPj4gK307 DQo+ID4+ICsjZW5kaWYNCj4gPj4gKw0KPiA+PiAgIC8qKg0KPiA+PiAgICAqIE1hdGNoaW5nIHBh dHRlcm4gaXRlbSBkZWZpbml0aW9uLg0KPiA+PiAgICAqDQo+ID4+IC0tDQo+ID4+IDIuMjAuMQ0K PiANCj4gLS0NCj4gSXZhbiBNDQo=