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 97085A054D; Tue, 16 Feb 2021 17:35:51 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 29471160753; Tue, 16 Feb 2021 17:35:51 +0100 (CET) Received: from hqnvemgate26.nvidia.com (hqnvemgate26.nvidia.com [216.228.121.65]) by mails.dpdk.org (Postfix) with ESMTP id ED8E040690 for ; Tue, 16 Feb 2021 17:35:49 +0100 (CET) Received: from hqpgpgate101.nvidia.com (Not Verified[216.228.121.13]) by hqnvemgate26.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA) id ; Tue, 16 Feb 2021 08:35:48 -0800 Received: from HQMAIL107.nvidia.com ([172.20.161.6]) by hqpgpgate101.nvidia.com (PGP Universal service); Tue, 16 Feb 2021 08:35:48 -0800 X-PGP-Universal: processed; by hqpgpgate101.nvidia.com on Tue, 16 Feb 2021 08:35:48 -0800 Received: from HKMAIL104.nvidia.com (10.18.16.13) by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Tue, 16 Feb 2021 16:35:46 +0000 Received: from HKMAIL103.nvidia.com (10.18.16.12) by HKMAIL104.nvidia.com (10.18.16.13) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Tue, 16 Feb 2021 16:35:42 +0000 Received: from NAM04-MW2-obe.outbound.protection.outlook.com (104.47.73.170) by HKMAIL103.nvidia.com (10.18.16.12) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Tue, 16 Feb 2021 16:35:42 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UApuif5DLqD/ap1fvvp1m9PzSaFFjTf5sBmTtCj3gZtlpmAApiFME8WJ6Ko1py7IGzeuJfw3R2lwCJYxpP5jR10hTmYwEhljqeYeXwidANvswhaaJyuu2hm2xi3wc+Hv32GDpej3TQO725I29KFnG8ZHO+dww+2t3oCWDiEqfabDojUWt1VqcYrJJV0GJQDjxUEJDzjymaj2sxplzC8WJCMjXWcn1LLVJuAHcfwdKCELSnowraUjWI+IdBUnWPYAGHjCy2EM41C73SRNI9UnrrmIEaTgviRAGXQvF1J5PU4Z6zYvgK2BSWmBpnSzN8GE0tI3u83uNA3aXrGS05B8Iw== 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=8/oGxJW6VezHpXwtkWbp67dZcC18vQVEJMF4oGzAZrM=; b=iN+SoCvYbICgVGYH/I9DF0IcSd9iwev4+WOhNRaYZHCEC7+s9Pc8GSlhSoLym6/xZk3kQvsY2GlIooFec48CCz81b1yYNesNgEeUEDASOm8NTCXn6hfTk95Og0szKm5+smmtuTCBXUZIQ8WuJXdqy83/LpCBZUzdIx0TPJXkVOgnStqB8jC+xTOz0UHUBAawBso4QlJPos9QkrPcoKZAjk4jKhO4wYJw+Nzxf/rFjUNlEIKOs4HAclIFKzlCM/RqcO0YCEHPW9zF0XNFQUSy7DtU4yW3jRju2wlrf1LTJpFd1y7Vd76W/UhHaf8pRZExkYP6ThDb8ZJf7erMtmvy/Q== 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 Received: from CH2PR12MB4326.namprd12.prod.outlook.com (2603:10b6:610:af::11) by CH2PR12MB4246.namprd12.prod.outlook.com (2603:10b6:610:a9::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3846.27; Tue, 16 Feb 2021 16:35:39 +0000 Received: from CH2PR12MB4326.namprd12.prod.outlook.com ([fe80::95cb:38a4:56fe:bbb0]) by CH2PR12MB4326.namprd12.prod.outlook.com ([fe80::95cb:38a4:56fe:bbb0%6]) with mapi id 15.20.3846.042; Tue, 16 Feb 2021 16:35:39 +0000 From: "Xueming(Steven) Li" To: Andrew Rybchenko CC: "dev@dpdk.org" , Slava Ovsiienko , Asaf Penso , NBU-Contact-Thomas Monjalon , Ferruh Yigit , Ray Kinsella , Neil Horman Thread-Topic: [PATCH v6 8/9] ethdev: representor iterator compare complete info Thread-Index: AQHXAoDYUVYyYkrjikKJZYJu9nuBiapY9bgAgAHzRFA= Date: Tue, 16 Feb 2021 16:35:39 +0000 Message-ID: References: <1613272907-22563-1-git-send-email-xuemingl@nvidia.com> <1613272907-22563-9-git-send-email-xuemingl@nvidia.com> In-Reply-To: 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-originating-ip: [103.74.125.162] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: b8b66f0a-2093-45fc-ea52-08d8d298e56f x-ms-traffictypediagnostic: CH2PR12MB4246: x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-header: ProcessedBy-CMR-outbound x-ms-oob-tlc-oobclassifiers: OLM:2657; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 9FjL+xerCJmH42IKuu1bHdnLf12FqmpCWhImteLcDXq6icoNtgD/tEdRzU1cLibI4p6DQ8hva1Sp6JFkdgRvd0azaQ7nqm345Nf/rJJCOq1Hc4MnHh496xEjt0DhBaHzXOB2yrcgB+fyC5TBfR9DYjPyCm/lE9nd1UFqa/7h5OzHqAUNWiBmmCjuu7+Kv0LhpUw15F1boVJoItuyb7I7LrmdtH2GniA9ggfS+ErlIGdYY0aBP/69wUGdOkv0ZisOVQ0ncf8MU6nuSqvUmoKoTIRUr0juKQ0Ku9Ca6a6jjM9Dfu++VLWGJjPfJIGBVpmAXfT3SjKGNMJiX10RkqfCDJTQZPx7PIgt8utKeEiAbeOxUnVodLWofgILNfy1MxlYsL0M0XRB3zxRbLrwtTBPBXEKATz/ZdK0aBd1m/idjGBs5DSvU7j9/rp+ItZQvoNsXQXq9L/SjgpoKG5+4UW23q6ktQKzt+fTKFUwQZnqMH7uDXFH24GHiw8id4i3efUQdFliftUN1nuT2KQuSCSkxQ== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CH2PR12MB4326.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(39860400002)(136003)(396003)(346002)(366004)(376002)(5660300002)(54906003)(55016002)(26005)(6916009)(52536014)(9686003)(30864003)(8676002)(83380400001)(86362001)(8936002)(316002)(66556008)(66946007)(33656002)(186003)(76116006)(2906002)(66446008)(66476007)(4326008)(6506007)(64756008)(71200400001)(478600001)(7696005); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?utf-8?B?TUFJdTFTMXQ2ZzBwam92TTdzckRtSEU1REtHTy9FdnMzQ1ZUTkZCVVVTYlEy?= =?utf-8?B?Vk8wdmZoYmZ1cmc0czEzZFlJVDRRaVA4R05OOEI2UEZ1VGg5NzMyUVlUS3FF?= =?utf-8?B?ZW5saDZCSHI1WC9xZUp0TVB2YXB4NGpsdlJjR1FRUDU3V1hpMnAyOHNWU3JQ?= =?utf-8?B?cVhzS0lMTmRKeGpla1EreFBsVTFDYXU1b1JEbUZjazNqWVhZV0Y5YnpVTHQ1?= =?utf-8?B?dGFhcHZZcXZpUHJ3RitBT3UyUjFiYmd3K1lJUGV5K3RyT0lYdExqUjdoMXdz?= =?utf-8?B?bHBmLzYxZ1lQcUFKWkNJZFh1c04ySUc0aFQyMFdUWkRHV3AvWHJJWmVWM3Ns?= =?utf-8?B?VVdiQllUU0NQdld4M0RPNExWUVpsUG91d3ZoZVhCUWkwZ1l5eUovSEZoMzJx?= =?utf-8?B?bmlKRDBSc1NjOERESlpDWHM5S0wvakE3a0NSMmE1VVdVSnJBQTBvNXVPaGFX?= =?utf-8?B?eHpFOEs4dWhXOThaWDRTVFBybDR3K2k1bDNqVkUxckZFME9JbE9MOU5CMys5?= =?utf-8?B?enFCTzhKZ3lObFozWjJpY1hvNU5DKzJZZDhMWlJwRmN3YjlDemN4dDRqcXNU?= =?utf-8?B?VGdKSURuVk5ZSGNTR3czYy9ZWXU1Rm5XOHovV21wOTBpZVQ1dHR2bjFrZzJM?= =?utf-8?B?VGIwLzJoVHVhS1ptWUtzbTZxYzhzbis5UmplMkRKcUpHNnN1RjV5eDN4MXZx?= =?utf-8?B?cndwMlFzZXhLbXhMVWxuRVBmVEZmV0xBOXREZWF1KzRRTkVGdkNnQnNSZi9y?= =?utf-8?B?djQyM0ttZXdKejhqTkdMWTNwdzErcHVMeHlGNUtxVklQOThFNGtoTG1Hd0lr?= =?utf-8?B?VERaaCtRVDJBL3JCb3BhcENxMmwzVWpHWWtkQ2FrR1NkZUJ3OWNnNHZ3cDkx?= =?utf-8?B?UVNLaE5SYkJMNGpsTmM5cEVTN2NzQm8zMlFTQ1dLK1lrSmZMZTl1T1dhcXpr?= =?utf-8?B?WkhGbjBjMFJLc0E4S2xGbG9meGpKRTNqcmJLRUNPQlB1amRXbnZtcm1jTFdu?= =?utf-8?B?MFZwWUY2b2dSVldoV1hRWWMyNHh0dnV5bGc0ZEtwZ3diZVc4cEJ4aEZyZVYz?= =?utf-8?B?czFwUFJYbm1PQ0V4YUQ3Wkx5OVV3bi9zWG9UbVZwdEJNSXkwVUJaRUZjYkVm?= =?utf-8?B?SDYzbDVKK1AvR2dQOUJVNUdobjZkdC9rYWpSMHJqQzIzaHdKVEVvUENZeXNa?= =?utf-8?B?S09UdlRQSFp1VFIzbFhmdDV2K1ZMSWVwQk12bWk2RU5KSENHWFQzSStkRmVZ?= =?utf-8?B?NXJGOWxlMWJXR0x6N3NvT1dFMUZVbzhZbitYejV5Tytzc3hGQnV1U1JaSW9X?= =?utf-8?B?ZjFXeVFMcW5VRkZiN1lKR0NsSldlcXZvN0xjSU0wQmhLU2Zwc2FtcUJzcGFH?= =?utf-8?B?TEpEYW9uMW9XdCt6U1JnNFRpUGtCeFFzWlV4dTluTUdNbm5nOER0NGltM25h?= =?utf-8?B?Zkk0eFdHaDk4TnB4elRFU1REem9WWDB0UVo1UTFWSWdvVmJ5M0VOZkRpTndQ?= =?utf-8?B?TjYvSXYwbExXWERxUVJuYXlhQ2xGS1R5blM3QlJtSko3NjA1VzlIWHRMTWtN?= =?utf-8?B?NE9CdUJnTi9FUDZ6Zm41c2hsWTRNV1J2T2tjWEZRa09KMlRDMFB4SHNyUTBj?= =?utf-8?B?UDFFcUFZb2hISUdUVGtOTkFwemhWZ0IxQ096aHJaZ2tSWG03NDA2UGRjUjVw?= =?utf-8?B?aHFWbm9rMmdXTVM4cDU1Rm9NL1VOcVd1K0JJNWV5MEZZbnNkVXlYR29pMzFn?= =?utf-8?Q?GoeIRiUDkqEQ2jv63uVKU0sgcBUiVZp6pqERcDm?= 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: CH2PR12MB4326.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b8b66f0a-2093-45fc-ea52-08d8d298e56f X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Feb 2021 16:35:39.8108 (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: uGVhOnfKy4Tj+praxzeJLdOgDJbAENdcPdJWTDWE+WiWrbQVNnr0ma6a4L/NyRMLrb3ImiMo9Zp9c9D0LD4mGA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB4246 X-OriginatorOrg: Nvidia.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; t=1613493349; bh=8/oGxJW6VezHpXwtkWbp67dZcC18vQVEJMF4oGzAZrM=; h=X-PGP-Universal:ARC-Seal:ARC-Message-Signature: ARC-Authentication-Results:From:To:CC:Subject:Thread-Topic: Thread-Index:Date:Message-ID:References:In-Reply-To: Accept-Language:Content-Language:X-MS-Has-Attach: X-MS-TNEF-Correlator:authentication-results:x-originating-ip: x-ms-publictraffictype:x-ms-office365-filtering-correlation-id: x-ms-traffictypediagnostic:x-ld-processed: x-ms-exchange-transport-forked:x-microsoft-antispam-prvs:x-header: x-ms-oob-tlc-oobclassifiers:x-ms-exchange-senderadcheck: x-microsoft-antispam:x-microsoft-antispam-message-info: x-forefront-antispam-report:x-ms-exchange-antispam-messagedata: Content-Type:Content-Transfer-Encoding:MIME-Version: X-MS-Exchange-CrossTenant-AuthAs: X-MS-Exchange-CrossTenant-AuthSource: X-MS-Exchange-CrossTenant-Network-Message-Id: X-MS-Exchange-CrossTenant-originalarrivaltime: X-MS-Exchange-CrossTenant-fromentityheader: X-MS-Exchange-CrossTenant-id:X-MS-Exchange-CrossTenant-mailboxtype: X-MS-Exchange-CrossTenant-userprincipalname: X-MS-Exchange-Transport-CrossTenantHeadersStamped:X-OriginatorOrg; b=rZPKLKwmw6PuT+AVILeBpeCAQUKZeHUnl1v79GQSXeHMLiM8vQ/9b/o9yllxgIgWQ S0j+xmUzsUiiLQtQuKObasC0+jJA4DXJDo+kE5EsfcOXg/oYqrqyxJjY3Q6yohokzx cS+r6Fa66Qa4THk5YpYqf+6AeFjGufLQDy5Fhrd5HJtOCCldNVwH/XIZHDubTiOubL HguQ8VTeUgL3kBckGfQ23f0Dt+az/+CHo5Y9aqHdePEVe72arAS3pOYtId7cY1d9T+ ZLmxYPLPM/+eofsXZh7zq3RFBBCHTjkM9Kvh/8O0UaLTaQ9hTvfwgDSrmTiq4pY5T3 mELvpVIUvzUMA== Subject: Re: [dpdk-dev] [PATCH v6 8/9] ethdev: representor iterator compare complete info 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" DQo+LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj5Gcm9tOiBBbmRyZXcgUnliY2hlbmtvIDxh bmRyZXcucnliY2hlbmtvQG9rdGV0bGFicy5ydT4NCj5TZW50OiBNb25kYXksIEZlYnJ1YXJ5IDE1 LCAyMDIxIDU6MzIgUE0NCj5UbzogWHVlbWluZyhTdGV2ZW4pIExpIDx4dWVtaW5nbEBudmlkaWEu Y29tPg0KPkNjOiBkZXZAZHBkay5vcmc7IFNsYXZhIE92c2lpZW5rbyA8dmlhY2hlc2xhdm9AbnZp ZGlhLmNvbT47IEFzYWYgUGVuc28gPGFzYWZwQG52aWRpYS5jb20+OyBOQlUtQ29udGFjdC1UaG9t YXMgTW9uamFsb24NCj48dGhvbWFzQG1vbmphbG9uLm5ldD47IEZlcnJ1aCBZaWdpdCA8ZmVycnVo LnlpZ2l0QGludGVsLmNvbT47IFJheSBLaW5zZWxsYSA8bWRyQGFzaHJvZS5ldT47IE5laWwgSG9y bWFuDQo+PG5ob3JtYW5AdHV4ZHJpdmVyLmNvbT4NCj5TdWJqZWN0OiBSZTogW1BBVENIIHY2IDgv OV0gZXRoZGV2OiByZXByZXNlbnRvciBpdGVyYXRvciBjb21wYXJlIGNvbXBsZXRlIGluZm8NCj4N Cj5PbiAyLzE0LzIxIDY6MjEgQU0sIFh1ZW1pbmcgTGkgd3JvdGU6DQo+PiBUaGUgTklDIGNhbiBo YXZlIG11bHRpcGxlIFBDSWUgbGlua3MgYW5kIGNhbiBiZSBhdHRhY2hlZCB0byBtdWx0aXBsZQ0K Pj4gaG9zdHMsIGZvciBleGFtcGxlIHRoZSBzYW1lIHNpbmdsZSBOSUMgY2FuIGJlIHNoYXJlZCBm b3IgbXVsdGlwbGUNCj4+IHNlcnZlciB1bml0cyBpbiB0aGUgcmFjay4gT24gZWFjaCBQQ0llIGxp bmsgTklDIGNhbiBwcm92aWRlIG11bHRpcGxlDQo+PiBQRnMgYW5kIFZGcy9TRnMgYmFzZWQgb24g dGhlc2Ugb25lcy4gVGhlIGZ1bGwgcmVwcmVzZW50b3IgaWRlbnRpZmllcg0KPj4gY29uc2lzdHMg b2YgdGhyZWUgaW5kaWNlcyAtIGNvbnRyb2xsZXIgaW5kZXgsIFBGIGluZGV4LCBhbmQgVkYgb3Ig U0YgaW5kZXggKGlmIGFueSkuDQo+Pg0KPj4gU1ItSU9WIGFuZCBTdWJGdW5jdGlvbiBhcmUgY3Jl YXRlZCBvbiB0b3Agb2YgUEYuIFBGIGluZGV4IGlzDQo+PiBpbnRyb2R1Y2VkIGJlY2F1c2UgdGhl cmUgbWlnaHQgYmUgbXVsdGlwbGUgUEZzIGluIHRoZSBib25kaW5nDQo+PiBjb25maWd1cmF0aW9u IGFuZCBvbmx5IGJvbmRpbmcgZGV2aWNlIGlzIHByb2JlZC4NCj4+DQo+PiBJbiBldGggcmVwcmVz ZW50b3IgY29tcGFyYXRvciBjYWxsYmFjaywgZXRoZGV2IHJlcHJlc2VudG9yIElEIHdhcw0KPj4g Y29tcGFyZWQgd2l0aCBkZXZhcmcuIFNpbmNlIGNvbnRyb2xsZXIgaW5kZXggYW5kIFBGIGluZGV4 IG5vdA0KPj4gY29tcGFyZWQsIGNhbGxiYWNrIHJldHVybmVkIHJlcHJlc2VudG9yIGZyb20gb3Ro ZXIgUEYgb3IgY29udHJvbGxlci4NCj4+DQo+PiBUaGlzIHBhdGNoIGFkZHMgbmV3IEFQSSB0byBj b252ZXJ0IHJlcHJlc2VudG9yIGNvbnRyb2xsZXIsIHBmIGFuZA0KPj4gdmYvc2YgaW5kZXggdG8g cmVwcmVzZW50b3IgSUQuIFJlcHJlc2VudG9yIGNvbXBhcmVyIGNhbGxiYWNrIGNvbnZlcnQNCj4+ IHJlcHJlc2VudG9yIGluZm8gaW50byBJRCBhbmQgY29tcGFyZSB3aXRoIGRldmljZSByZXByZXNl bnRvciBJRC4NCj4+DQo+PiBTaWduZWQtb2ZmLWJ5OiBYdWVtaW5nIExpIDx4dWVtaW5nbEBudmlk aWEuY29tPg0KPj4gLS0tDQo+PiAgbGliL2xpYnJ0ZV9ldGhkZXYvZXRoZGV2X2RyaXZlci5oIHwg MzIgKysrKysrKysrKysrDQo+PiBsaWIvbGlicnRlX2V0aGRldi9ydGVfY2xhc3NfZXRoLmMgfCAz OCArKysrKysrKysrLS0tLQ0KPj4gIGxpYi9saWJydGVfZXRoZGV2L3J0ZV9ldGhkZXYuYyAgICB8 IDgzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4+ICBsaWIvbGlicnRlX2V0aGRl di92ZXJzaW9uLm1hcCAgICAgfCAgMSArDQo+PiAgNCBmaWxlcyBjaGFuZ2VkLCAxNDUgaW5zZXJ0 aW9ucygrKSwgOSBkZWxldGlvbnMoLSkNCj4+DQo+PiBkaWZmIC0tZ2l0IGEvbGliL2xpYnJ0ZV9l dGhkZXYvZXRoZGV2X2RyaXZlci5oDQo+PiBiL2xpYi9saWJydGVfZXRoZGV2L2V0aGRldl9kcml2 ZXIuaA0KPj4gaW5kZXggYWJjYmMzMTEyZC4uMjMzNDJmMWJlMiAxMDA2NDQNCj4+IC0tLSBhL2xp Yi9saWJydGVfZXRoZGV2L2V0aGRldl9kcml2ZXIuaA0KPj4gKysrIGIvbGliL2xpYnJ0ZV9ldGhk ZXYvZXRoZGV2X2RyaXZlci5oDQo+PiBAQCAtMTI0Myw2ICsxMjQzLDM4IEBAIHN0cnVjdCBydGVf ZXRoX2RldmFyZ3Mgew0KPj4gIAllbnVtIHJ0ZV9ldGhfcmVwcmVzZW50b3JfdHlwZSB0eXBlOyAv KiB0eXBlIG9mIHJlcHJlc2VudG9yICovICB9Ow0KPj4NCj4+ICsvKioNCj4+ICsgKiBQTUQgaGVs cGVyIGZ1bmN0aW9uIHRvIGNvbnZlcnQgcmVwcmVzZW50b3IgSUQgZnJvbSBsb2NhdGlvbiBkZXRh aWwNCj4+ICsgKg0KPj4gKyAqIENvbnZlcnQgcmVwcmVzZW50b3IgSUQgZnJvbSBjb250cm9sbGVy LCBwZiBhbmQgKHNmIG9yIHZmKS4NCj4+ICsgKiBUaGUgbWFwcGluZyBpcyByZXRyaWV2ZWQgZnJv bSBydGVfZXRoX3JlcHJlc2VudG9yX2luZm9fZ2V0KCkuDQo+PiArICoNCj4+ICsgKiBJZiBQTUQg ZG9lc24ndCByZXR1cm4gcmVwcmVzZW50b3IgcmFuZ2UgaW5mbywgc2ltcGx5IGlnbm9yZQ0KPj4g K2NvbnRyb2xsZXINCj4+ICsgKiBhbmQgcGYgdG8ga2VlcCBiYWNrd2FyZCBjb21wYXRpYmlsaXR5 Lg0KPg0KPkl0IGRvZXMgbm90IHNvdW5kIHJpZ2h0LiBJZiBjb250cm9sbGVyIGFuZC9vciBwZiBp cyBzcGVjaWZpZWQsIGl0IG11c3Qgbm90IGJlIGlnbm9yZWQuDQoNCk9rYXksIHJldHVybiBlcnJv ciBpZiBpbmZvIG5vdCBmb3VuZC4NCg0KPg0KPj4gKyAqDQo+PiArICogQHBhcmFtIGV0aGRldg0K Pj4gKyAqICBIYW5kbGUgb2YgZXRoZGV2IHBvcnQuDQo+PiArICogQHBhcmFtIGlkDQo+DQo+TWF5 IEkgc3VnZ2VzdCB0byBuYW1lIGl0ICdyZXByX2lkJyB0byBtYWtlIGl0IGxlc3MgYW1iZ3VvdXMu DQoNCkFjY2VwdC4NCg0KPg0KPj4gKyAqICBQb2ludGVyIHRvIGNvbnZlcnRlZCByZXByZXNlbnRv ciBJRC4NCj4NCj5JJ2QgcHJlZmVyIGRvIG5vdCBtaXggaW4gYW5kIG91dCBwYXJhbXRlcnMuIEkg c3VnZ2VzdCB0byBtYWtlIGl0IHRoZSBsYXN0IHBhcmFtZXRlci4NCj4NCj4+ICsgKiBAcGFyYW0g dHlwZQ0KPj4gKyAqICBSZXByZXNlbnRvciB0eXBlLg0KPj4gKyAqIEBwYXJhbSBjb250cm9sbGVy DQo+PiArICogIENvbnRyb2xsZXIgSUQsIC0xIGlmIHVuc3BlY2lmaWVkLg0KPj4gKyAqIEBwYXJh bSBwZg0KPj4gKyAqICBQRiBwb3J0IElELCAtMSBpZiB1bnNwZWNpZmllZC4NCj4+ICsgKiBAcGFy YW0gcmVwcmVzZW50b3JfcG9ydA0KPj4gKyAqICBSZXByZXNlbnRvciBwb3J0IElELCAtMSBpZiB1 bnNwZWNpZmllZC4NCj4NCj5Ob3Qgc3VyZSB0aGF0IEkgdW5kZXJzdGFuZCB3aGF0IGlzIGl0PyBJ cyBpdCB2ZiBvciBzZiBudW1iZXI/DQoNClllcywgd2lsbCBtYWtlIGl0IGNsZWFyLg0KDQo+DQo+ PiArICoNCj4+ICsgKiBAcmV0dXJuDQo+PiArICogIE5lZ2F0aXZlIGVycm5vIHZhbHVlIG9uIGVy cm9yLCAwIG9uIHN1Y2Nlc3MuDQo+PiArICovDQo+PiArX19ydGVfaW50ZXJuYWwNCj4+ICtpbnQN Cj4+ICtydGVfZXRoX3JlcHJlc2VudG9yX2lkX2NvbnZlcnQoY29uc3Qgc3RydWN0IHJ0ZV9ldGhf ZGV2ICpldGhkZXYsDQo+PiArCQkJICAgICAgIHVpbnQxNl90ICppZCwNCj4+ICsJCQkgICAgICAg ZW51bSBydGVfZXRoX3JlcHJlc2VudG9yX3R5cGUgdHlwZSwNCj4+ICsJCQkgICAgICAgaW50IGNv bnRyb2xsZXIsIGludCBwZiwgaW50IHJlcHJlc2VudG9yX3BvcnQpOw0KPj4gKw0KPj4gIC8qKg0K Pj4gICAqIFBNRCBoZWxwZXIgZnVuY3Rpb24gdG8gcGFyc2UgZXRoZGV2IGFyZ3VtZW50cw0KPj4g ICAqDQo+PiBkaWZmIC0tZ2l0IGEvbGliL2xpYnJ0ZV9ldGhkZXYvcnRlX2NsYXNzX2V0aC5jDQo+ PiBiL2xpYi9saWJydGVfZXRoZGV2L3J0ZV9jbGFzc19ldGguYw0KPj4gaW5kZXggMDUxYzg5MmI0 MC4uZjdiN2U2NTllNyAxMDA2NDQNCj4+IC0tLSBhL2xpYi9saWJydGVfZXRoZGV2L3J0ZV9jbGFz c19ldGguYw0KPj4gKysrIGIvbGliL2xpYnJ0ZV9ldGhkZXYvcnRlX2NsYXNzX2V0aC5jDQo+PiBA QCAtNjUsOSArNjUsMTAgQEAgZXRoX3JlcHJlc2VudG9yX2NtcChjb25zdCBjaGFyICprZXkgX19y dGVfdW51c2VkLA0KPj4gew0KPj4gIAlpbnQgcmV0Ow0KPj4gIAljaGFyICp2YWx1ZXM7DQo+PiAt CWNvbnN0IHN0cnVjdCBydGVfZXRoX2Rldl9kYXRhICpkYXRhID0gb3BhcXVlOw0KPj4gLQlzdHJ1 Y3QgcnRlX2V0aF9kZXZhcmdzIHJlcHJlc2VudG9yczsNCj4+IC0JdWludDE2X3QgaW5kZXg7DQo+ PiArCWNvbnN0IHN0cnVjdCBydGVfZXRoX2RldiAqZWRldiA9IG9wYXF1ZTsNCj4+ICsJY29uc3Qg c3RydWN0IHJ0ZV9ldGhfZGV2X2RhdGEgKmRhdGEgPSBlZGV2LT5kYXRhOw0KPj4gKwlzdHJ1Y3Qg cnRlX2V0aF9kZXZhcmdzIGV0aF9kYTsNCj4+ICsJdWludDE2X3QgaWQsIG5jLCBucCwgbmYsIGks IGMsIHAsIGY7DQo+Pg0KPj4gIAlpZiAoKGRhdGEtPmRldl9mbGFncyAmIFJURV9FVEhfREVWX1JF UFJFU0VOVE9SKSA9PSAwKQ0KPj4gIAkJcmV0dXJuIC0xOyAvKiBub3QgYSByZXByZXNlbnRvciBw b3J0ICovIEBAIC03NiwxNyArNzcsMzYgQEANCj4+IGV0aF9yZXByZXNlbnRvcl9jbXAoY29uc3Qg Y2hhciAqa2V5IF9fcnRlX3VudXNlZCwNCj4+ICAJdmFsdWVzID0gc3RyZHVwKHZhbHVlKTsNCj4+ ICAJaWYgKHZhbHVlcyA9PSBOVUxMKQ0KPj4gIAkJcmV0dXJuIC0xOw0KPj4gLQltZW1zZXQoJnJl cHJlc2VudG9ycywgMCwgc2l6ZW9mKHJlcHJlc2VudG9ycykpOw0KPj4gLQlyZXQgPSBydGVfZXRo X2RldmFyZ3NfcGFyc2VfcmVwcmVzZW50b3JfcG9ydHModmFsdWVzLCAmcmVwcmVzZW50b3JzKTsN Cj4+ICsJbWVtc2V0KCZldGhfZGEsIDAsIHNpemVvZihldGhfZGEpKTsNCj4+ICsJcmV0ID0gcnRl X2V0aF9kZXZhcmdzX3BhcnNlX3JlcHJlc2VudG9yX3BvcnRzKHZhbHVlcywgJmV0aF9kYSk7DQo+ PiAgCWZyZWUodmFsdWVzKTsNCj4+ICAJaWYgKHJldCAhPSAwKQ0KPj4gIAkJcmV0dXJuIC0xOyAv KiBpbnZhbGlkIGRldmFyZ3MgdmFsdWUgKi8NCj4+DQo+PiArCWlmIChldGhfZGEubmJfbWhfY29u dHJvbGxlcnMgPT0gMCAmJiBldGhfZGEubmJfcG9ydHMgPT0gMCAmJg0KPj4gKwkgICAgZXRoX2Rh Lm5iX3JlcHJlc2VudG9yX3BvcnRzID09IDApDQo+PiArCQlyZXR1cm4gLTE7DQo+PiArCW5jID0g ZXRoX2RhLm5iX21oX2NvbnRyb2xsZXJzID4gMCA/IGV0aF9kYS5uYl9taF9jb250cm9sbGVycyA6 IDE7DQo+PiArCW5wID0gZXRoX2RhLm5iX3BvcnRzID4gMCA/IGV0aF9kYS5uYl9wb3J0cyA6IDE7 DQo+PiArCW5mID0gZXRoX2RhLm5iX3JlcHJlc2VudG9yX3BvcnRzID4gMCA/IGV0aF9kYS5uYl9y ZXByZXNlbnRvcl9wb3J0cyA6DQo+PiArMTsNCj4+ICsNCj4+ICAJLyogUmV0dXJuIDAgaWYgcmVw cmVzZW50b3IgaWQgaXMgbWF0Y2hpbmcgb25lIG9mIHRoZSB2YWx1ZXMuICovDQo+PiAtCWZvciAo aW5kZXggPSAwOyBpbmRleCA8IHJlcHJlc2VudG9ycy5uYl9yZXByZXNlbnRvcl9wb3J0czsgaW5k ZXgrKykNCj4+IC0JCWlmIChkYXRhLT5yZXByZXNlbnRvcl9pZCA9PQ0KPj4gLQkJCQlyZXByZXNl bnRvcnMucmVwcmVzZW50b3JfcG9ydHNbaW5kZXhdKQ0KPj4gKwlmb3IgKGkgPSAwOyBpIDwgbmMg KiBucCAqIG5mOyArK2kpIHsNCj4+ICsJCWMgPSBpIC8gKG5wICogbmYpOw0KPj4gKwkJcCA9IChp IC8gbmYpICUgbnA7DQo+PiArCQlmID0gaSAlIG5mOw0KPj4gKwkJaWYgKHJ0ZV9ldGhfcmVwcmVz ZW50b3JfaWRfY29udmVydChlZGV2LA0KPj4gKwkJCSZpZCwNCj4+ICsJCQlldGhfZGEudHlwZSwN Cj4+ICsJCQlldGhfZGEubmJfbWhfY29udHJvbGxlcnMgPT0gMCA/IC0xIDoNCj4+ICsJCQkJCWV0 aF9kYS5taF9jb250cm9sbGVyc1tjXSwNCj4+ICsJCQlldGhfZGEubmJfcG9ydHMgPT0gMCA/IC0x IDogZXRoX2RhLnBvcnRzW3BdLA0KPj4gKwkJCWV0aF9kYS5uYl9yZXByZXNlbnRvcl9wb3J0cyA9 PSAwID8gLTEgOg0KPj4gKwkJCQkJZXRoX2RhLnJlcHJlc2VudG9yX3BvcnRzW2ZdKSA8IDApDQo+ PiArCQkJY29udGludWU7DQo+PiArCQlpZiAoZGF0YS0+cmVwcmVzZW50b3JfaWQgPT0gaWQpDQo+ PiAgCQkJcmV0dXJuIDA7DQo+PiArCX0NCj4+ICAJcmV0dXJuIC0xOyAvKiBubyBtYXRjaCAqLw0K Pj4gIH0NCj4+DQo+PiBAQCAtMTEyLDcgKzEzMiw3IEBAIGV0aF9kZXZfbWF0Y2goY29uc3Qgc3Ry dWN0IHJ0ZV9ldGhfZGV2ICplZGV2LA0KPj4NCj4+ICAJcmV0ID0gcnRlX2t2YXJnc19wcm9jZXNz KGt2bGlzdCwNCj4+ICAJCQlldGhfcGFyYW1zX2tleXNbUlRFX0VUSF9QQVJBTV9SRVBSRVNFTlRP Ul0sDQo+PiAtCQkJZXRoX3JlcHJlc2VudG9yX2NtcCwgZWRldi0+ZGF0YSk7DQo+PiArCQkJZXRo X3JlcHJlc2VudG9yX2NtcCwgKHZvaWQgKikodWludHB0cl90KWVkZXYpOw0KPj4gIAlpZiAocmV0 ICE9IDApDQo+PiAgCQlyZXR1cm4gLTE7DQo+PiAgCS8qIHNlYXJjaCBmb3IgcmVwcmVzZW50b3Ig a2V5ICovDQo+PiBkaWZmIC0tZ2l0IGEvbGliL2xpYnJ0ZV9ldGhkZXYvcnRlX2V0aGRldi5jDQo+ PiBiL2xpYi9saWJydGVfZXRoZGV2L3J0ZV9ldGhkZXYuYyBpbmRleCAwN2M2ZGViYjU4Li5kYTBj ZjFhOTIwIDEwMDY0NA0KPj4gLS0tIGEvbGliL2xpYnJ0ZV9ldGhkZXYvcnRlX2V0aGRldi5jDQo+ PiArKysgYi9saWIvbGlicnRlX2V0aGRldi9ydGVfZXRoZGV2LmMNCj4+IEBAIC01NjE3LDYgKzU2 MTcsODkgQEAgcnRlX2V0aF9kZXZhcmdzX3BhcnNlKGNvbnN0IGNoYXIgKmRhcmdzLCBzdHJ1Y3Qg cnRlX2V0aF9kZXZhcmdzICpldGhfZGEpDQo+PiAgCXJldHVybiByZXN1bHQ7DQo+PiAgfQ0KPj4N Cj4+ICtpbnQNCj4+ICtydGVfZXRoX3JlcHJlc2VudG9yX2lkX2NvbnZlcnQoY29uc3Qgc3RydWN0 IHJ0ZV9ldGhfZGV2ICpldGhkZXYsDQo+PiArCQkJICAgICAgIHVpbnQxNl90ICppZCwNCj4+ICsJ CQkgICAgICAgZW51bSBydGVfZXRoX3JlcHJlc2VudG9yX3R5cGUgdHlwZSwNCj4+ICsJCQkgICAg ICAgaW50IGNvbnRyb2xsZXIsIGludCBwZiwgaW50IHJlcHJlc2VudG9yX3BvcnQpIHsNCj4+ICsJ aW50IHJldCwgbiwgaSwgY291bnQ7DQo+PiArCXN0cnVjdCBydGVfZXRoX3JlcHJlc2VudG9yX2lu Zm8gKmluZm8gPSBOVUxMOw0KPj4gKwlzaXplX3Qgc2l6ZTsNCj4+ICsNCj4+ICsJaWYgKHR5cGUg PT0gUlRFX0VUSF9SRVBSRVNFTlRPUl9OT05FKQ0KPj4gKwkJcmV0dXJuIDA7DQo+PiArCWlmIChp ZCA9PSBOVUxMKQ0KPj4gKwkJcmV0dXJuIC1FSU5WQUw7DQo+PiArDQo+PiArCS8qIEdldCBQTUQg cmVwcmVzZW50b3IgcmFuZ2UgaW5mby4gKi8NCj4+ICsJcmV0ID0gcnRlX2V0aF9yZXByZXNlbnRv cl9pbmZvX2dldChldGhkZXYtPmRhdGEtPnBvcnRfaWQsIE5VTEwpOw0KPj4gKwlpZiAocmV0IDwg MCkgew0KPj4gKwkJLyogRmFsbGJhY2sgdG8gZGlyZWN0IG1hcHBpbmcgZm9yIGNvbXBhdGliaWxp dHkuICovDQo+PiArCQkqaWQgPSByZXByZXNlbnRvcl9wb3J0Ow0KPg0KPkkgdGhpbmsgaXQgaXMg YSBiYWQgYmVoYXZpb3VyIGFzIEkgc3RhdGVkIGFib3ZlLiBJdCBpcyBvbmx5IGlmIGFuZCBvbmx5 IGlmIHR5cGUgaXMgVkYsIGNvbnRyb2xsZXIgYW5kIFBGIGFyZSB1bnNwZWNpZmllZCBhbmQgcmVw cmVzZW50b3JfcG9ydA0KPmlzIHNwZWNpZmllZC4NCg0KQWdyZWUsIHdpbGwgbWFrZSBpdCBvbmx5 IHZhbGlkIGZvciBsZWdhY3kgVkYgcmVwcmVzZW50b3IuDQoNCj4NCj4+ICsJfQ0KPj4gKwluID0g cmV0Ow0KPj4gKwlzaXplID0gc2l6ZW9mKCppbmZvKSArIG4gKiBzaXplb2YoaW5mby0+cmFuZ2Vz WzBdKTsNCj4+ICsJaW5mbyA9IGNhbGxvYygxLCBzaXplKTsNCj4+ICsJaWYgKGluZm8gPT0gTlVM TCkNCj4+ICsJCXJldHVybiAtRU5PTUVNOw0KPj4gKwlyZXQgPSBydGVfZXRoX3JlcHJlc2VudG9y X2luZm9fZ2V0KGV0aGRldi0+ZGF0YS0+cG9ydF9pZCwgaW5mbyk7DQo+PiArCWlmIChyZXQgPCAw KQ0KPj4gKwkJZ290byBvdXQ7DQo+PiArDQo+PiArCS8qIERlZmF1bHQgY29udHJvbGxlciBhbmQg cGYgdG8gY2FsbGVyLiAqLw0KPj4gKwlpZiAoY29udHJvbGxlciA9PSAtMSkNCj4+ICsJCWNvbnRy b2xsZXIgPSBpbmZvLT5jb250cm9sbGVyOw0KPj4gKwlpZiAocGYgPT0gLTEpDQo+PiArCQlwZiA9 IGluZm8tPnBmOw0KPj4gKw0KPj4gKwkvKiBMb2NhdGUgcmVwcmVzZW50b3IgSUQuICovDQo+PiAr CWZvciAoaSA9IDA7IGkgPCBuOyArK2kpIHsNCj4+ICsJCWlmIChpbmZvLT5yYW5nZXNbaV0udHlw ZSAhPSB0eXBlKQ0KPj4gKwkJCWNvbnRpbnVlOw0KPj4gKwkJLyogUE1EIGhpdDogaWdub3JlIGNv bnRyb2xsZXIgaWYgLTEuICovDQo+PiArCQlpZiAoaW5mby0+cmFuZ2VzW2ldLmNvbnRyb2xsZXIg IT0gLTEgJiYNCj4+ICsJCSAgICBpbmZvLT5yYW5nZXNbaV0uY29udHJvbGxlciAhPSAodWludDE2 X3QpY29udHJvbGxlcikNCj4+ICsJCQljb250aW51ZTsNCj4NCj5JIHRoaW5rIGl0IGlzIGluY29y cmVjdCB0byBpZ25vcmUgY29udHJvbGxlciBpbiByYW5nZSBpZiBjb250cm9sbGVyIGlzIHNwZWNp ZmllZCBpbiByZXF1ZXN0LiBJdCBtdXN0IG1hdGNoLg0KDQpUaGlzIGlzIGEgcmVhbCByZXF1aXJl bWVudCBJJ20gZmFjaW5nIGZyb20gb3JjaGVzdHJhdGlvbiwgYmVmb3JlIG9yY2hlc3RyYXRpb24g aGF2aW5nIGtub3dsZWRnZSBvbiBwb3J0DQpzdGF0dXMsIGl0IGFsd2F5cyBzZW5kICJwZiN2ZiMi IHRvIE9WUy0+RFBESywgYWx0aG91Z2ggInBmIyIgaXMgbWVhbmluZ2xlc3MgaW4gc3RhbmRhcmQg bW9kZS4gSXQgd2lsbCB0YWtlDQp0aW1lIGZvciBvcmNoZXN0cmF0aW9uIGFuZCBPVlMgdG8gZXZv bHZlLi4uIFBNRCB1c2VzIHRoaXMgb3B0aW9uIHRvIGRlY2lkZSBpZ25vcmUgdGhlbSBvciBub3Qu DQoNCj4NCj4+ICsJCWNvdW50ID0gaW5mby0+cmFuZ2VzW2ldLmlkX2VuZCAtIGluZm8tPnJhbmdl c1tpXS5pZF9iYXNlICsgMTsNCj4+ICsJCWlmIChpbmZvLT5yYW5nZXNbaV0udHlwZSA9PSBSVEVf RVRIX1JFUFJFU0VOVE9SX1BGKSB7DQo+PiArCQkJLyogUEYuICovDQo+PiArCQkJaWYgKHBmID49 IGluZm8tPnJhbmdlc1tpXS5wZiArIGNvdW50KQ0KPj4gKwkJCQljb250aW51ZTsNCj4+ICsJCQkq aWQgPSBpbmZvLT5yYW5nZXNbaV0uaWRfYmFzZSArDQo+PiArCQkJICAgICAgKHBmIC0gaW5mby0+ cmFuZ2VzW2ldLnBmKTsNCj4+ICsJCQlnb3RvIG91dDsNCj4+ICsJCX0NCj4+ICsJCS8qIFZGIG9y IFNGLiAqLw0KPj4gKwkJLyogUE1EIGhpdDogaWdub3JlIHBmIGlmIC0xLiAqLw0KPj4gKwkJaWYg KGluZm8tPnJhbmdlc1tpXS5wZiAhPSAtMSAmJg0KPj4gKwkJICAgIGluZm8tPnJhbmdlc1tpXS5w ZiAhPSAodWludDE2X3QpcGYpDQo+PiArCQkJY29udGludWU7DQo+DQo+U2FtZSBmb3IgUEYuDQo+ DQo+PiArCQlpZiAoaW5mby0+cmFuZ2VzW2ldLnR5cGUgPT0gUlRFX0VUSF9SRVBSRVNFTlRPUl9W Rikgew0KPg0KPlR5cGljYWxseSBzd2l0Y2gvY2FzZSBsb29rcyBhIGJpdCBhIGJpdHRlciBmb3Ig c3VjaCBjb2RlLg0KDQonYml0dGVyJz8gOikgd2lsbCB1cGRhdGUuDQoNCj4NCj4+ICsJCQkvKiBW Ri4gKi8NCj4NCj5UaGUgY29tbWVudCBpcyB1c2VsZXNzDQoNCkFjY2VwdCB0aGlzIG9uZSBhbmQg YmVsbG93cy4NCg0KPg0KPj4gKwkJCWlmIChyZXByZXNlbnRvcl9wb3J0ID49IGluZm8tPnJhbmdl c1tpXS52ZiArIGNvdW50KQ0KPj4gKwkJCQljb250aW51ZTsNCj4+ICsJCQkqaWQgPSBpbmZvLT5y YW5nZXNbaV0uaWRfYmFzZSArDQo+PiArCQkJICAgICAgKHJlcHJlc2VudG9yX3BvcnQgLSBpbmZv LT5yYW5nZXNbaV0udmYpOw0KPj4gKwkJCWdvdG8gb3V0Ow0KPj4gKwkJfSBlbHNlIGlmIChpbmZv LT5yYW5nZXNbaV0udHlwZSA9PSBSVEVfRVRIX1JFUFJFU0VOVE9SX1NGKSB7DQo+PiArCQkJLyog U0YuICovDQo+DQo+VGhlIGNvbW1lbnQgaXMgdXNlbGVzcw0KPg0KPj4gKwkJCWlmIChyZXByZXNl bnRvcl9wb3J0ID49IGluZm8tPnJhbmdlc1tpXS5zZiArIGNvdW50KQ0KPj4gKwkJCQljb250aW51 ZTsNCj4+ICsJCQkqaWQgPSBpbmZvLT5yYW5nZXNbaV0uaWRfYmFzZSArDQo+PiArCQkJICAgICAg KHJlcHJlc2VudG9yX3BvcnQgLSBpbmZvLT5yYW5nZXNbaV0uc2YpOw0KPj4gKwkJCWdvdG8gb3V0 Ow0KPj4gKwkJfQ0KPj4gKwl9DQo+PiArCS8qIE5vdCBtYXRjaGluZyByZXByZXNlbnRvciBJRCBy YW5nZS4gKi8NCj4+ICsJcmV0ID0gLUVOT0VOVDsNCj4+ICsNCj4+ICtvdXQ6DQo+PiArCWlmIChp bmZvICE9IE5VTEwpDQo+PiArCQlmcmVlKGluZm8pOw0KPg0KPlRoZXJlIGlzIG5vIG5lY2Vzc2l0 eSB0byBjaGVjayBhZ2FpbnN0IE5VTEwgYWJvdmUsIGZyZWUoKSBkb2VzIGl0IGluIGFueSBjYXNl Lg0KPg0KPj4gKwlyZXR1cm4gcmV0Ow0KPj4gK30NCj4+ICsNCj4+ICBzdGF0aWMgaW50DQo+PiAg ZXRoX2Rldl9oYW5kbGVfcG9ydF9saXN0KGNvbnN0IGNoYXIgKmNtZCBfX3J0ZV91bnVzZWQsDQo+ PiAgCQljb25zdCBjaGFyICpwYXJhbXMgX19ydGVfdW51c2VkLA0KPj4gZGlmZiAtLWdpdCBhL2xp Yi9saWJydGVfZXRoZGV2L3ZlcnNpb24ubWFwDQo+PiBiL2xpYi9saWJydGVfZXRoZGV2L3ZlcnNp b24ubWFwIGluZGV4IGJiNmY3NDM2YzIuLjI4OTFmNTczNGUgMTAwNjQ0DQo+PiAtLS0gYS9saWIv bGlicnRlX2V0aGRldi92ZXJzaW9uLm1hcA0KPj4gKysrIGIvbGliL2xpYnJ0ZV9ldGhkZXYvdmVy c2lvbi5tYXANCj4+IEBAIC0yNjgsNiArMjY4LDcgQEAgSU5URVJOQUwgew0KPj4gIAlydGVfZXRo X2hhaXJwaW5fcXVldWVfcGVlcl9iaW5kOw0KPj4gIAlydGVfZXRoX2hhaXJwaW5fcXVldWVfcGVl cl91bmJpbmQ7DQo+PiAgCXJ0ZV9ldGhfaGFpcnBpbl9xdWV1ZV9wZWVyX3VwZGF0ZTsNCj4+ICsJ cnRlX2V0aF9yZXByZXNlbnRvcl9pZF9jb252ZXJ0Ow0KPj4gIAlydGVfZXRoX3N3aXRjaF9kb21h aW5fYWxsb2M7DQo+PiAgCXJ0ZV9ldGhfc3dpdGNoX2RvbWFpbl9mcmVlOw0KPj4gIH07DQo+Pg0K DQo=