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 E826842361; Wed, 11 Oct 2023 14:44:18 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C000A40279; Wed, 11 Oct 2023 14:44:18 +0200 (CEST) Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2069.outbound.protection.outlook.com [40.107.94.69]) by mails.dpdk.org (Postfix) with ESMTP id 8E10B40266 for ; Wed, 11 Oct 2023 14:44:16 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=k1bnlgUrwQYP2sTaapKw3v3C1hHcFc/kdFBRAgF3qttou/v/CZ7O2WaExVlEKV/8Uw3qYzjY3srE7TpQz8GY0CeBx5ep1IBYG3qZ4mJ3ShEDqwXxWB5B/CKeipslYg82psP2ACVNADzqvqc64b+ZigBeG+kNeg27qKFkQ9hD0/Ohbue/OcrMshLPKw8VCx5A2BIwJtOrs6D9TakXpDUjEpFEPYXTQ/PkDlLpoqtWDX8VFxPd6lO9dwoaRkpWZjt3yb4xMmiZWZ6yJYtuFGuV4v8uKzYALwLTiKf3WcbBA8tUNu2pnmoKzQZ8BqpEFKj3b4s1lPBYrg75pytOIX//BQ== 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=iKm6uSjp+kg4KrMUEdB1/ep7i9l/mel/n49JCm7jiKU=; b=ZkM5qH6nGkRZVwoEn6JHRNhUNIjyBAmMg9pfQTd48imEP6h0gaboj+vpJPjRNGbtQXkP9T4ZnlOIbfGbhnNhRNUfLM6lt2pFkqf0DTVkszXN5YX5EHhcpwf5GOsjiaKsGhbzf7c/nOIQ/Tzc+HcyaL9o5BpwJbvBtEXKdOJhKhCDhfFwVgcRVtoVWYDcfkGk8JV8s3jfGEJCVT5PMJTq7936BxBSBd+CzRGF2BAq4KiEo9k/7ch06RJCejiDlB1OPYpfHg3R7jOiJpvwMX/7ExNoz3ytSmufkBhdVp9gSjwtJoawTHnllRzQdrsQpci1N6esY0zDBbOifkNwiNfk4A== 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=iKm6uSjp+kg4KrMUEdB1/ep7i9l/mel/n49JCm7jiKU=; b=FtMnoz9pr9zI/B6SV1SWtYy+hUhzZPge69QBWoMbAVdP+J0lBKlgMpStFNNp+den+fywHVoXfungPOO9pt0xsLZdLOVW3W+t7Aitv0GOGssVaQUYQvBdBHTkIjP7TTEURPVADT5kvsKU1qs337ijl4wQr2XbAQlAl5tBq5L87IkciU/UCTW6GCa46TQMZAVwBetUNkpkoswITvKtixCUHkdVoNSl6IorvTPY5wqu8852do1oECQKVMMxD9WKqwZUUNzSKed/rz5QgEDcBOanqM+x5mjFONQw6I2Jx9lRMglKMvqZK2fb0RdWMMgFdb1ec6RgYGMJSPevWZugepLcfQ== Received: from MW2PR12MB4666.namprd12.prod.outlook.com (2603:10b6:302:13::22) by PH7PR12MB6979.namprd12.prod.outlook.com (2603:10b6:510:1b9::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6863.36; Wed, 11 Oct 2023 12:44:14 +0000 Received: from MW2PR12MB4666.namprd12.prod.outlook.com ([fe80::c3e3:2876:cc01:884f]) by MW2PR12MB4666.namprd12.prod.outlook.com ([fe80::c3e3:2876:cc01:884f%6]) with mapi id 15.20.6863.032; Wed, 11 Oct 2023 12:44:14 +0000 From: Ori Kam To: Stephen Hemminger , "dev@dpdk.org" Subject: RE: [PATCH v2 25/29] regexdev: remove experimental tag Thread-Topic: [PATCH v2 25/29] regexdev: remove experimental tag Thread-Index: AQHZylX4x00GovR5H02zUpcCzAEMWbBE6znQ Date: Wed, 11 Oct 2023 12:44:13 +0000 Message-ID: References: <20230808173527.186042-1-stephen@networkplumber.org> <20230809001017.293037-1-stephen@networkplumber.org> <20230809001017.293037-26-stephen@networkplumber.org> In-Reply-To: <20230809001017.293037-26-stephen@networkplumber.org> 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_|PH7PR12MB6979:EE_ x-ms-office365-filtering-correlation-id: f3f70517-3461-4db9-392c-08dbca57c612 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 7bUkTbJsBwBhahqiUvddblb+A88o3wg/+r7vtuK171urI8iVY18QlYa22LzsLJLLVJFvYw89JeXtP8aBGi1AQ8MzADoj7wUPYkZks55OOv1KRxWCENYmSV+BdGatGcaSUHGDd6C5x7x4x5yk0H7rchMV/Xh3yKM9RHMdt5XMMBMZflRbvPyGz/xqR635TFPsjHMRS7xEzIFe/siVwdoboMPRAX1blFPEnq7TXbluk0Dlc6lgtZk2n/Lowuvp5gG7Am/7K42LLc8TAg+GzXX543g7/FiI49y5Y9SxA2aqcoBdi0K/vrC+yJVaXwVSfrihE939RKgA/vWas/a850SGXY6kwtbKAZGYqBrAmsDLHb8VwnySUWl6+LJdlYIIcjFxPHR3zZjcBLTSzbrRgO4dnr1yScGwFB5xG3qGTnJuMvrKY4yWtS8g1ujxJ0ZLDhv+m4ozHRQjGkSGePCpTfY1j0EZau7cxTsX3Cy3LJdkQRfvZV9C4tMDWlGPD/KFyfUj6wL341V1qK2kCokhL9Ce6P/YptZ/SJp0N8HIXhFN6ZYxzWJSLZ2j+FDjFn1qEinQoV82mTH179XmIRFfwv6G9rDppe/O9t7BvfytcwxJJCPiq0V+eL2R8YSrDcDajf+S 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:(13230031)(136003)(39860400002)(376002)(366004)(346002)(396003)(230922051799003)(64100799003)(451199024)(1800799009)(186009)(83380400001)(9686003)(26005)(53546011)(71200400001)(38070700005)(122000001)(38100700002)(55016003)(86362001)(33656002)(76116006)(66446008)(478600001)(30864003)(2906002)(8936002)(5660300002)(8676002)(7696005)(110136005)(66556008)(41300700001)(66476007)(6506007)(316002)(64756008)(66946007)(52536014); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ZkFVVGE5UUtEUmpRQzFxZG9ldjZOUTBtUXovaENjR2tBUU1lbDBzSFNsaFZx?= =?utf-8?B?VU5yQ1k2TDk0K3puQWF5K3hpODIvbFdEdUR1M1Q3d0FLRysrYTEzMHk0dzcy?= =?utf-8?B?R1ZocjlNRm9wY2Y2MnRHaG1obDIydTNhaUwyZnJJWHR3Mkt5TzVJUUgxREUz?= =?utf-8?B?UnZ1cWR5SmZUODAydi9EQlpIQ1dvM3JRNkRNbkJncHJDdkZ1dTBpTzBrbElN?= =?utf-8?B?UlZLOThRaTJhL2JvaTV6M0JPMXJqZkxoOWlsSTY0QlNXbFlldXBncmxGdlRY?= =?utf-8?B?cnRqWUFTRko5VEgzRmhrQXd2V21uYU1wL09SV0ZyVVVkaFppTVNlRExxYU5V?= =?utf-8?B?T2JDbm9FaHBLV1ZzckJjaDlldUFQZkFQYUxNaXBrL0JMbDNKWThwWWtpZHFk?= =?utf-8?B?ZnhBeWw5UTV3VFhUZ0d0Y2RhdnIrbGEraGxLVTVIU1hWL3RZUk9tVk41UnVr?= =?utf-8?B?eklMMzZGQ0cwV3lXOVhraERoTmNncGFPNnhZTEhaeFcxdnZaSi9URDlJdHJp?= =?utf-8?B?T0ZtSkFKTThkenZ4RG1hdUtFSDl1RTB3Z1MxNkNLV3l0SnJkeExqMXBJK1U1?= =?utf-8?B?SEFubEp5L3g0VnFuMDl0RFlsUElwUXZOOVp3aU51Y2l1QXdWcklVOFlab2xB?= =?utf-8?B?QkNIWGNmVkNaZ1VIN081WUk1cUpuMERkRFF3TmR0bmc2SWZRTE1QZSt5Yk40?= =?utf-8?B?R3MyelNBM0xqcVN5NXhGZmhrQzJaUFN2TXF0bHhHTGJUWVBWYzdsYXA4TCtZ?= =?utf-8?B?ODA4bi81dGw0V2Q2Q2pCZkozNHB5MkFWRlc1VDd4OGRabi9ETU9xRU5xVnpX?= =?utf-8?B?RkxONkJZZUg2eXNib0hSVms5ZUR3TUlXOTdFL0d6all3M0dFbUwydTJjY3h4?= =?utf-8?B?bGtLTmdTR3ZmZEl6Yy8xTGdpdUlnb1lKcjdmemt5Q0VLcTlqeGpWM0FsQ3Ex?= =?utf-8?B?MC9yRUlPN3RzcEFEK3VhWWhRQ3dYZCtlS044d000ZU4zRXRlSzhNVjBPZFRG?= =?utf-8?B?bGsyaVEvZ3BsTmdMeDZWNktVRXVTYm5HZEU2bUo3SUtrYjRFNHR5WGlhY3dL?= =?utf-8?B?K01LYkZTSTY0MFRLb0szL3J4SjZzK1Nuazk0eWowOWltdzI4QzZweE5tNjJB?= =?utf-8?B?Z3ZDdkFWVWFxOWVyUldjUjRRb3lnU0lDdkx6dmhzNDJKT2EzVlV2dCtZQ2Jl?= =?utf-8?B?ZytYOUkrWWszNDFkRnVUdnZPdEFVYnorSytGb0xzZkZWSFJSTzJzT216VHhs?= =?utf-8?B?cjNsMGJjMEU2djJYWnNKb2tVVmQvNE5sL3hnZHE4Rm5PbGNZdnd4VlFHQXJp?= =?utf-8?B?TjBWMWErY1hwNVhzTHJtNjZuUjZkc25yZzJ4aTBFV0laSGhZVlJhUVRiQ29n?= =?utf-8?B?WVRia1Q2SUMvOUtycGl1U0xLdnFnZFhVSTlhaEY0US9YeFFTUDJESTlSaSsy?= =?utf-8?B?ZUdrdVBmbXV4RFdwaUJrNlM3T3dBMC9qNW44bjZPa0pkdDlCVCtFVTRxVnYx?= =?utf-8?B?QlYwNTRxWUNaS3ZLZzJKbmVxdHlhQTF0YWZBTGZ5T2ZYUElUT2dOOFpRdzNU?= =?utf-8?B?bUdnMzh0amdLUkplSkMwdis0UWkrcWhsM2grMFhTaldEcGdaeTljUi9ITzQv?= =?utf-8?B?UW43TUNzZi9ldk42ZXdTVU9VOHcwWklCQ0JTWVZzcjBKSlVTa21DYkVWblJD?= =?utf-8?B?L0NCdVo2V0F2anpRTUZVNEJ4QU1nSmk4WG5zVk1NVkEyeXliTlBpd0pnSThn?= =?utf-8?B?RXFKZU1kWlVqbWFNRkNXT2JhUW9LV255SzEzT0NCSWlvRVh0S0JFNC9nWTVx?= =?utf-8?B?Rlh6YkcrTUIrUUpqV2pPekN5aEZNK0VTcXFNVUpLSjl5NGo5TWJXY3c1dUU4?= =?utf-8?B?dnVsZ25XZHhncXc4MklKTTJCMWhwbTFrUHgxSUJudGlORndudThqcWFhcnRk?= =?utf-8?B?QTJNd3V6cVhRdG9QcVBkS29IcmJpc0M4QjZaY0VWQ3NYOVRFVUtPc2taNGJk?= =?utf-8?B?cDhKcmZDQ3pPamltaHVIWVhGMjlldG1EemZCRE1FcmNxaWtqMGkvYnVaVjUy?= =?utf-8?B?aXZITi8wdTFCQlo3Qm5sUWk0T2NrbnlLVERsUGxKZmN4MXdDdis3N0xWb3lv?= =?utf-8?Q?LZgI=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: f3f70517-3461-4db9-392c-08dbca57c612 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Oct 2023 12:44:13.6663 (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: FolnCSZnzbmfHuqxeJgBx/9S8JUQIEwfFdeBOoW50qd1ZWjTukrVg84urP7xW5gugvwa2qQZQKTwGTEsKcKBVA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB6979 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 SGkgU3RlcGhlbiwNCg0KSSBrbm93IHRoYXQgTnZpZGlhLCBpcyBnb2luZyB0byByZW1vdmUgdGhl IHN1cHBvcnQgZm9yIHJlZ2V4IGluIHRoZSBmdXR1cmUuDQpUaGUgb25seSBvdGhlciBIVyB0aGF0 IGltcGxlbWVudHMgdGhpcyBpcyBNYXJ2ZWwuDQoNCkkgZG9uJ3Qga25vdyBhYm91dCBvdGhlciBt YW51ZmFjdHVyZXJzIHBsYW4gdG8gc3VwcG9ydCBpdC4gSSBzdWdnZXN0IGtlZXBpbmcgaXQgYXMg aXMgZm9yIG5vdywgYW5kIG1heWJlDQp3ZSB3aWxsIG5lZWQgdG8gcmVtb3ZlIHRoaXMgbGliLg0K DQpBbnlvbmUgZnJvbSBNYXJ2ZWwgY2FuIGNvbW1lbnQgb24gdGhpcyBsaWIgc3VwcG9ydD8NCg0K VGhhbmtzLA0KT3JpDQoNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBT dGVwaGVuIEhlbW1pbmdlciA8c3RlcGhlbkBuZXR3b3JrcGx1bWJlci5vcmc+DQo+IFNlbnQ6IFdl ZG5lc2RheSwgQXVndXN0IDksIDIwMjMgMzoxMCBBTQ0KPiBUbzogZGV2QGRwZGsub3JnDQo+IENj OiBTdGVwaGVuIEhlbW1pbmdlciA8c3RlcGhlbkBuZXR3b3JrcGx1bWJlci5vcmc+OyBPcmkgS2Ft DQo+IDxvcmlrYUBudmlkaWEuY29tPg0KPiBTdWJqZWN0OiBbUEFUQ0ggdjIgMjUvMjldIHJlZ2V4 ZGV2OiByZW1vdmUgZXhwZXJpbWVudGFsIHRhZw0KPiANCj4gVGhpcyBsaWJyYXJ5IHdhcyBhZGRl ZCBpbiAyMi4xMS4NCj4gVGltZSB0byBtYWtlIGl0IG5vdCBleHBlcmltZW50YWwuDQo+IA0KPiBT aWduZWQtb2ZmLWJ5OiBTdGVwaGVuIEhlbW1pbmdlciA8c3RlcGhlbkBuZXR3b3JrcGx1bWJlci5v cmc+DQo+IC0tLQ0KPiAgbGliL3JlZ2V4ZGV2L3J0ZV9yZWdleGRldi5oIHwgOTIgLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiAgbGliL3JlZ2V4ZGV2L3ZlcnNpb24ubWFw ICAgIHwgIDIgKy0NCj4gIDIgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDkzIGRlbGV0 aW9ucygtKQ0KPiANCj4gZGlmZiAtLWdpdCBhL2xpYi9yZWdleGRldi9ydGVfcmVnZXhkZXYuaCBi L2xpYi9yZWdleGRldi9ydGVfcmVnZXhkZXYuaA0KPiBpbmRleCAyNTQ3NmYxZjczOWQuLmU4ZTE5 NGUyOTU0MCAxMDA2NDQNCj4gLS0tIGEvbGliL3JlZ2V4ZGV2L3J0ZV9yZWdleGRldi5oDQo+ICsr KyBiL2xpYi9yZWdleGRldi9ydGVfcmVnZXhkZXYuaA0KPiBAQCAtMjI2LDkgKzIyNiw2IEBAIGV4 dGVybiBpbnQgcnRlX3JlZ2V4ZGV2X2xvZ3R5cGU7DQo+ICB9IHdoaWxlICgwKQ0KPiANCj4gIC8q Kg0KPiAtICogQHdhcm5pbmcNCj4gLSAqIEBiIEVYUEVSSU1FTlRBTDogdGhpcyBBUEkgbWF5IGNo YW5nZSB3aXRob3V0IHByaW9yIG5vdGljZS4NCj4gLSAqDQo+ICAgKiBDaGVjayBpZiBkZXZfaWQg aXMgcmVhZHkuDQo+ICAgKg0KPiAgICogQHBhcmFtIGRldl9pZA0KPiBAQCAtMjM4LDI3ICsyMzUs MTkgQEAgZXh0ZXJuIGludCBydGVfcmVnZXhkZXZfbG9ndHlwZTsNCj4gICAqICAgLSAwIGlmIGRl dmljZSBzdGF0ZSBpcyBub3QgaW4gcmVhZHkgc3RhdGUuDQo+ICAgKiAgIC0gMSBpZiBkZXZpY2Ug c3RhdGUgaXMgcmVhZHkgc3RhdGUuDQo+ICAgKi8NCj4gLV9fcnRlX2V4cGVyaW1lbnRhbA0KPiAg aW50IHJ0ZV9yZWdleGRldl9pc192YWxpZF9kZXYodWludDE2X3QgZGV2X2lkKTsNCj4gDQo+ICAv KioNCj4gLSAqIEB3YXJuaW5nDQo+IC0gKiBAYiBFWFBFUklNRU5UQUw6IHRoaXMgQVBJIG1heSBj aGFuZ2Ugd2l0aG91dCBwcmlvciBub3RpY2UuDQo+IC0gKg0KPiAgICogR2V0IHRoZSB0b3RhbCBu dW1iZXIgb2YgUmVnRXggZGV2aWNlcyB0aGF0IGhhdmUgYmVlbiBzdWNjZXNzZnVsbHkNCj4gICAq IGluaXRpYWxpc2VkLg0KPiAgICoNCj4gICAqIEByZXR1cm4NCj4gICAqICAgVGhlIHRvdGFsIG51 bWJlciBvZiB1c2FibGUgUmVnRXggZGV2aWNlcy4NCj4gICAqLw0KPiAtX19ydGVfZXhwZXJpbWVu dGFsDQo+ICB1aW50OF90DQo+ICBydGVfcmVnZXhkZXZfY291bnQodm9pZCk7DQo+IA0KPiAgLyoq DQo+IC0gKiBAd2FybmluZw0KPiAtICogQGIgRVhQRVJJTUVOVEFMOiB0aGlzIEFQSSBtYXkgY2hh bmdlIHdpdGhvdXQgcHJpb3Igbm90aWNlLg0KPiAtICoNCj4gICAqIEdldCB0aGUgZGV2aWNlIGlk ZW50aWZpZXIgZm9yIHRoZSBuYW1lZCBSZWdFeCBkZXZpY2UuDQo+ICAgKg0KPiAgICogQHBhcmFt IG5hbWUNCj4gQEAgLTI2OCw3ICsyNTcsNiBAQCBydGVfcmVnZXhkZXZfY291bnQodm9pZCk7DQo+ ICAgKiAgIFJldHVybnMgUmVnRXggZGV2aWNlIGlkZW50aWZpZXIgb24gc3VjY2Vzcy4NCj4gICAq ICAgLSA8MDogRmFpbHVyZSB0byBmaW5kIG5hbWVkIFJlZ0V4IGRldmljZS4NCj4gICAqLw0KPiAt X19ydGVfZXhwZXJpbWVudGFsDQo+ICBpbnQNCj4gIHJ0ZV9yZWdleGRldl9nZXRfZGV2X2lkKGNv bnN0IGNoYXIgKm5hbWUpOw0KPiANCj4gQEAgLTYyOCw5ICs2MTYsNiBAQCBzdHJ1Y3QgcnRlX3Jl Z2V4ZGV2X2luZm8gew0KPiAgfTsNCj4gDQo+ICAvKioNCj4gLSAqIEB3YXJuaW5nDQo+IC0gKiBA YiBFWFBFUklNRU5UQUw6IHRoaXMgQVBJIG1heSBjaGFuZ2Ugd2l0aG91dCBwcmlvciBub3RpY2Uu DQo+IC0gKg0KPiAgICogUmV0cmlldmUgdGhlIGNvbnRleHR1YWwgaW5mb3JtYXRpb24gb2YgYSBS ZWdFeCBkZXZpY2UuDQo+ICAgKg0KPiAgICogQHBhcmFtIGRldl9pZA0KPiBAQCAtNjQ0LDcgKzYy OSw2IEBAIHN0cnVjdCBydGVfcmVnZXhkZXZfaW5mbyB7DQo+ICAgKiAgIC0gMDogU3VjY2Vzcywg ZHJpdmVyIHVwZGF0ZXMgdGhlIGNvbnRleHR1YWwgaW5mb3JtYXRpb24gb2YgdGhlIFJlZ0V4IGRl dmljZQ0KPiAgICogICAtIDwwOiBFcnJvciBjb2RlIHJldHVybmVkIGJ5IHRoZSBkcml2ZXIgaW5m byBnZXQgZnVuY3Rpb24uDQo+ICAgKi8NCj4gLV9fcnRlX2V4cGVyaW1lbnRhbA0KPiAgaW50DQo+ ICBydGVfcmVnZXhkZXZfaW5mb19nZXQodWludDhfdCBkZXZfaWQsIHN0cnVjdCBydGVfcmVnZXhk ZXZfaW5mbyAqZGV2X2luZm8pOw0KPiANCj4gQEAgLTcyMyw5ICs3MDcsNiBAQCBzdHJ1Y3QgcnRl X3JlZ2V4ZGV2X2NvbmZpZyB7DQo+ICB9Ow0KPiANCj4gIC8qKg0KPiAtICogQHdhcm5pbmcNCj4g LSAqIEBiIEVYUEVSSU1FTlRBTDogdGhpcyBBUEkgbWF5IGNoYW5nZSB3aXRob3V0IHByaW9yIG5v dGljZS4NCj4gLSAqDQo+ICAgKiBDb25maWd1cmUgYSBSZWdFeCBkZXZpY2UuDQo+ICAgKg0KPiAg ICogVGhpcyBmdW5jdGlvbiBtdXN0IGJlIGludm9rZWQgZmlyc3QgYmVmb3JlIGFueSBvdGhlciBm dW5jdGlvbiBpbiB0aGUNCj4gQEAgLTc0Myw3ICs3MjQsNiBAQCBzdHJ1Y3QgcnRlX3JlZ2V4ZGV2 X2NvbmZpZyB7DQo+ICAgKiBAcmV0dXJuDQo+ICAgKiAgIC0gMDogU3VjY2VzcywgZGV2aWNlIGNv bmZpZ3VyZWQuIE90aGVyd2lzZSBuZWdhdGl2ZSBlcnJubyBpcyByZXR1cm5lZC4NCj4gICAqLw0K PiAtX19ydGVfZXhwZXJpbWVudGFsDQo+ICBpbnQNCj4gIHJ0ZV9yZWdleGRldl9jb25maWd1cmUo dWludDhfdCBkZXZfaWQsIGNvbnN0IHN0cnVjdCBydGVfcmVnZXhkZXZfY29uZmlnICpjZmcpOw0K PiANCj4gQEAgLTc4Miw5ICs3NjIsNiBAQCBzdHJ1Y3QgcnRlX3JlZ2V4ZGV2X3FwX2NvbmYgew0K PiAgfTsNCj4gDQo+ICAvKioNCj4gLSAqIEB3YXJuaW5nDQo+IC0gKiBAYiBFWFBFUklNRU5UQUw6 IHRoaXMgQVBJIG1heSBjaGFuZ2Ugd2l0aG91dCBwcmlvciBub3RpY2UuDQo+IC0gKg0KPiAgICog QWxsb2NhdGUgYW5kIHNldCB1cCBhIFJlZ0V4IHF1ZXVlIHBhaXIgZm9yIGEgUmVnRXggZGV2aWNl Lg0KPiAgICoNCj4gICAqIEBwYXJhbSBkZXZfaWQNCj4gQEAgLTc5OSwxNSArNzc2LDExIEBAIHN0 cnVjdCBydGVfcmVnZXhkZXZfcXBfY29uZiB7DQo+ICAgKiBAcmV0dXJuDQo+ICAgKiAgIDAgb24g c3VjY2Vzcy4gT3RoZXJ3aXNlIG5lZ2F0aXZlIGVycm5vIGlzIHJldHVybmVkLg0KPiAgICovDQo+ IC1fX3J0ZV9leHBlcmltZW50YWwNCj4gIGludA0KPiAgcnRlX3JlZ2V4ZGV2X3F1ZXVlX3BhaXJf c2V0dXAodWludDhfdCBkZXZfaWQsIHVpbnQxNl90IHF1ZXVlX3BhaXJfaWQsDQo+ICAJCQkgICAg ICBjb25zdCBzdHJ1Y3QgcnRlX3JlZ2V4ZGV2X3FwX2NvbmYgKnFwX2NvbmYpOw0KPiANCj4gIC8q Kg0KPiAtICogQHdhcm5pbmcNCj4gLSAqIEBiIEVYUEVSSU1FTlRBTDogdGhpcyBBUEkgbWF5IGNo YW5nZSB3aXRob3V0IHByaW9yIG5vdGljZS4NCj4gLSAqDQo+ICAgKiBTdGFydCBhIFJlZ0V4IGRl dmljZS4NCj4gICAqDQo+ICAgKiBUaGUgZGV2aWNlIHN0YXJ0IHN0ZXAgaXMgdGhlIGxhc3Qgb25l IGFuZCBjb25zaXN0cyBvZiBzZXR0aW5nIHRoZSBSZWdFeA0KPiBAQCAtODIyLDE0ICs3OTUsMTAg QEAgcnRlX3JlZ2V4ZGV2X3F1ZXVlX3BhaXJfc2V0dXAodWludDhfdCBkZXZfaWQsDQo+IHVpbnQx Nl90IHF1ZXVlX3BhaXJfaWQsDQo+ICAgKiBAcmV0dXJuDQo+ICAgKiAgIDAgb24gc3VjY2Vzcy4g T3RoZXJ3aXNlIG5lZ2F0aXZlIGVycm5vIGlzIHJldHVybmVkLg0KPiAgICovDQo+IC1fX3J0ZV9l eHBlcmltZW50YWwNCj4gIGludA0KPiAgcnRlX3JlZ2V4ZGV2X3N0YXJ0KHVpbnQ4X3QgZGV2X2lk KTsNCj4gDQo+ICAvKioNCj4gLSAqIEB3YXJuaW5nDQo+IC0gKiBAYiBFWFBFUklNRU5UQUw6IHRo aXMgQVBJIG1heSBjaGFuZ2Ugd2l0aG91dCBwcmlvciBub3RpY2UuDQo+IC0gKg0KPiAgICogU3Rv cCBhIFJlZ0V4IGRldmljZS4NCj4gICAqDQo+ICAgKiBTdG9wIGEgUmVnRXggZGV2aWNlLiBUaGUg ZGV2aWNlIGNhbiBiZSByZXN0YXJ0ZWQgd2l0aCBhIGNhbGwgdG8NCj4gQEAgLTg0NSwxNCArODE0 LDEwIEBAIHJ0ZV9yZWdleGRldl9zdGFydCh1aW50OF90IGRldl9pZCk7DQo+ICAgKiBAcmV0dXJu DQo+ICAgKiAgIDAgb24gc3VjY2Vzcy4gT3RoZXJ3aXNlIG5lZ2F0aXZlIGVycm5vIGlzIHJldHVy bmVkLg0KPiAgICovDQo+IC1fX3J0ZV9leHBlcmltZW50YWwNCj4gIGludA0KPiAgcnRlX3JlZ2V4 ZGV2X3N0b3AodWludDhfdCBkZXZfaWQpOw0KPiANCj4gIC8qKg0KPiAtICogQHdhcm5pbmcNCj4g LSAqIEBiIEVYUEVSSU1FTlRBTDogdGhpcyBBUEkgbWF5IGNoYW5nZSB3aXRob3V0IHByaW9yIG5v dGljZS4NCj4gLSAqDQo+ICAgKiBDbG9zZSBhIFJlZ0V4IGRldmljZS4gVGhlIGRldmljZSBjYW5u b3QgYmUgcmVzdGFydGVkIQ0KPiAgICoNCj4gICAqIEBwYXJhbSBkZXZfaWQNCj4gQEAgLTg2MSw3 ICs4MjYsNiBAQCBydGVfcmVnZXhkZXZfc3RvcCh1aW50OF90IGRldl9pZCk7DQo+ICAgKiBAcmV0 dXJuDQo+ICAgKiAgIDAgb24gc3VjY2Vzcy4gT3RoZXJ3aXNlIG5lZ2F0aXZlIGVycm5vIGlzIHJl dHVybmVkLg0KPiAgICovDQo+IC1fX3J0ZV9leHBlcmltZW50YWwNCj4gIGludA0KPiAgcnRlX3Jl Z2V4ZGV2X2Nsb3NlKHVpbnQ4X3QgZGV2X2lkKTsNCj4gDQo+IEBAIC04OTcsOSArODYxLDYgQEAg ZW51bSBydGVfcmVnZXhkZXZfYXR0cl9pZCB7DQo+ICB9Ow0KPiANCj4gIC8qKg0KPiAtICogQHdh cm5pbmcNCj4gLSAqIEBiIEVYUEVSSU1FTlRBTDogdGhpcyBBUEkgbWF5IGNoYW5nZSB3aXRob3V0 IHByaW9yIG5vdGljZS4NCj4gLSAqDQo+ICAgKiBHZXQgYW4gYXR0cmlidXRlIGZyb20gYSBSZWdF eCBkZXZpY2UuDQo+ICAgKg0KPiAgICogQHBhcmFtIGRldl9pZA0KPiBAQCAtOTE1LDE1ICs4NzYs MTEgQEAgZW51bSBydGVfcmVnZXhkZXZfYXR0cl9pZCB7DQo+ICAgKiAgIC0gLUVJTlZBTDogSW52 YWxpZCBkZXZpY2Ugb3IgICphdHRyX2lkKiBwcm92aWRlZCwgb3IgKmF0dHJfdmFsdWUqIGlzIE5V TEwuDQo+ICAgKiAgIC0gLUVOT1RTVVA6IGlmIHRoZSBkZXZpY2UgZG9lc24ndCBzdXBwb3J0IHNw ZWNpZmljICphdHRyX2lkKi4NCj4gICAqLw0KPiAtX19ydGVfZXhwZXJpbWVudGFsDQo+ICBpbnQN Cj4gIHJ0ZV9yZWdleGRldl9hdHRyX2dldCh1aW50OF90IGRldl9pZCwgZW51bSBydGVfcmVnZXhk ZXZfYXR0cl9pZCBhdHRyX2lkLA0KPiAgCQkgICAgICB2b2lkICphdHRyX3ZhbHVlKTsNCj4gDQo+ ICAvKioNCj4gLSAqIEB3YXJuaW5nDQo+IC0gKiBAYiBFWFBFUklNRU5UQUw6IHRoaXMgQVBJIG1h eSBjaGFuZ2Ugd2l0aG91dCBwcmlvciBub3RpY2UuDQo+IC0gKg0KPiAgICogU2V0IGFuIGF0dHJp YnV0ZSB0byBhIFJlZ0V4IGRldmljZS4NCj4gICAqDQo+ICAgKiBAcGFyYW0gZGV2X2lkDQo+IEBA IC05MzksNyArODk2LDYgQEAgcnRlX3JlZ2V4ZGV2X2F0dHJfZ2V0KHVpbnQ4X3QgZGV2X2lkLCBl bnVtDQo+IHJ0ZV9yZWdleGRldl9hdHRyX2lkIGF0dHJfaWQsDQo+ICAgKiAgIC0gLUVJTlZBTDog SW52YWxpZCBkZXZpY2Ugb3IgICphdHRyX2lkKiBwcm92aWRlZCwgb3IgKmF0dHJfdmFsdWUqIGlz IE5VTEwuDQo+ICAgKiAgIC0gLUVOT1RTVVA6IGlmIHRoZSBkZXZpY2UgZG9lc24ndCBzdXBwb3J0 IHNwZWNpZmljICphdHRyX2lkKi4NCj4gICAqLw0KPiAtX19ydGVfZXhwZXJpbWVudGFsDQo+ICBp bnQNCj4gIHJ0ZV9yZWdleGRldl9hdHRyX3NldCh1aW50OF90IGRldl9pZCwgZW51bSBydGVfcmVn ZXhkZXZfYXR0cl9pZCBhdHRyX2lkLA0KPiAgCQkgICAgICBjb25zdCB2b2lkICphdHRyX3ZhbHVl KTsNCj4gQEAgLTk3NSw5ICs5MzEsNiBAQCBzdHJ1Y3QgcnRlX3JlZ2V4ZGV2X3J1bGUgew0KPiAg fTsNCj4gDQo+ICAvKioNCj4gLSAqIEB3YXJuaW5nDQo+IC0gKiBAYiBFWFBFUklNRU5UQUw6IHRo aXMgQVBJIG1heSBjaGFuZ2Ugd2l0aG91dCBwcmlvciBub3RpY2UuDQo+IC0gKg0KPiAgICogVXBk YXRlIHRoZSBsb2NhbCBydWxlIHNldC4NCj4gICAqIFRoaXMgZnVuY3Rpb25zIG9ubHkgbW9kaWZ5 IHRoZSBydWxlIHNldCBpbiBtZW1vcnkuDQo+ICAgKiBJbiBvcmRlciBmb3IgdGhlIGNoYW5nZXMg dG8gdGFrZSBlZmZlY3QsIHRoZSBmdW5jdGlvbg0KPiBAQCAtMTAwOCwxNiArOTYxLDEyIEBAIHN0 cnVjdCBydGVfcmVnZXhkZXZfcnVsZSB7DQo+ICAgKiBAc2VlIHJ0ZV9yZWdleGRldl9ydWxlX2Ri X2ltcG9ydCgpLCBydGVfcmVnZXhkZXZfcnVsZV9kYl9leHBvcnQoKSwNCj4gICAqICAgcnRlX3Jl Z2V4ZGV2X3J1bGVfZGJfY29tcGlsZV9hY3RpdmF0ZSgpDQo+ICAgKi8NCj4gLV9fcnRlX2V4cGVy aW1lbnRhbA0KPiAgaW50DQo+ICBydGVfcmVnZXhkZXZfcnVsZV9kYl91cGRhdGUodWludDhfdCBk ZXZfaWQsDQo+ICAJCQkgICAgY29uc3Qgc3RydWN0IHJ0ZV9yZWdleGRldl9ydWxlICpydWxlcywN Cj4gIAkJCSAgICB1aW50MzJfdCBuYl9ydWxlcyk7DQo+IA0KPiAgLyoqDQo+IC0gKiBAd2Fybmlu Zw0KPiAtICogQGIgRVhQRVJJTUVOVEFMOiB0aGlzIEFQSSBtYXkgY2hhbmdlIHdpdGhvdXQgcHJp b3Igbm90aWNlLg0KPiAtICoNCj4gICAqIENvbXBpbGUgbG9jYWwgcnVsZSBzZXQgYW5kIGJ1cm4g dGhlIGNvbXBsaWVkIHJlc3VsdCB0byB0aGUNCj4gICAqIFJlZ0V4IGRldmljZS4NCj4gICAqDQo+ IEBAIC0xMDMwLDE0ICs5NzksMTAgQEAgcnRlX3JlZ2V4ZGV2X3J1bGVfZGJfdXBkYXRlKHVpbnQ4 X3QgZGV2X2lkLA0KPiAgICogQHNlZSBydGVfcmVnZXhkZXZfcnVsZV9kYl9pbXBvcnQoKSwgcnRl X3JlZ2V4ZGV2X3J1bGVfZGJfZXhwb3J0KCksDQo+ICAgKiAgIHJ0ZV9yZWdleGRldl9ydWxlX2Ri X3VwZGF0ZSgpDQo+ICAgKi8NCj4gLV9fcnRlX2V4cGVyaW1lbnRhbA0KPiAgaW50DQo+ICBydGVf cmVnZXhkZXZfcnVsZV9kYl9jb21waWxlX2FjdGl2YXRlKHVpbnQ4X3QgZGV2X2lkKTsNCj4gDQo+ ICAvKioNCj4gLSAqIEB3YXJuaW5nDQo+IC0gKiBAYiBFWFBFUklNRU5UQUw6IHRoaXMgQVBJIG1h eSBjaGFuZ2Ugd2l0aG91dCBwcmlvciBub3RpY2UuDQo+IC0gKg0KPiAgICogSW1wb3J0IGEgcHJl YnVpbHQgcnVsZSBkYXRhYmFzZSBmcm9tIGEgYnVmZmVyIHRvIGEgUmVnRXggZGV2aWNlLg0KPiAg ICoNCj4gICAqIEBwYXJhbSBkZXZfaWQNCj4gQEAgLTEwNTUsMTUgKzEwMDAsMTEgQEAgcnRlX3Jl Z2V4ZGV2X3J1bGVfZGJfY29tcGlsZV9hY3RpdmF0ZSh1aW50OF90DQo+IGRldl9pZCk7DQo+ICAg Kg0KPiAgICogQHNlZSBydGVfcmVnZXhkZXZfcnVsZV9kYl91cGRhdGUoKSwgcnRlX3JlZ2V4ZGV2 X3J1bGVfZGJfZXhwb3J0KCkNCj4gICAqLw0KPiAtX19ydGVfZXhwZXJpbWVudGFsDQo+ICBpbnQN Cj4gIHJ0ZV9yZWdleGRldl9ydWxlX2RiX2ltcG9ydCh1aW50OF90IGRldl9pZCwgY29uc3QgY2hh ciAqcnVsZV9kYiwNCj4gIAkJCSAgICB1aW50MzJfdCBydWxlX2RiX2xlbik7DQo+IA0KPiAgLyoq DQo+IC0gKiBAd2FybmluZw0KPiAtICogQGIgRVhQRVJJTUVOVEFMOiB0aGlzIEFQSSBtYXkgY2hh bmdlIHdpdGhvdXQgcHJpb3Igbm90aWNlLg0KPiAtICoNCj4gICAqIEV4cG9ydCB0aGUgcHJlYnVp bHQgcnVsZSBkYXRhYmFzZSBmcm9tIGEgUmVnRXggZGV2aWNlIHRvIHRoZSBidWZmZXIuDQo+ICAg Kg0KPiAgICogQHBhcmFtIGRldl9pZA0KPiBAQCAtMTA4MCw3ICsxMDIxLDYgQEAgcnRlX3JlZ2V4 ZGV2X3J1bGVfZGJfaW1wb3J0KHVpbnQ4X3QgZGV2X2lkLCBjb25zdA0KPiBjaGFyICpydWxlX2Ri LA0KPiAgICoNCj4gICAqIEBzZWUgcnRlX3JlZ2V4ZGV2X3J1bGVfZGJfdXBkYXRlKCksIHJ0ZV9y ZWdleGRldl9ydWxlX2RiX2ltcG9ydCgpDQo+ICAgKi8NCj4gLV9fcnRlX2V4cGVyaW1lbnRhbA0K PiAgaW50DQo+ICBydGVfcmVnZXhkZXZfcnVsZV9kYl9leHBvcnQodWludDhfdCBkZXZfaWQsIGNo YXIgKnJ1bGVfZGIpOw0KPiANCj4gQEAgLTExMDIsOSArMTA0Miw2IEBAIHN0cnVjdCBydGVfcmVn ZXhkZXZfeHN0YXRzX21hcCB7DQo+ICB9Ow0KPiANCj4gIC8qKg0KPiAtICogQHdhcm5pbmcNCj4g LSAqIEBiIEVYUEVSSU1FTlRBTDogdGhpcyBBUEkgbWF5IGNoYW5nZSB3aXRob3V0IHByaW9yIG5v dGljZS4NCj4gLSAqDQo+ICAgKiBSZXRyaWV2ZSBuYW1lcyBvZiBleHRlbmRlZCBzdGF0aXN0aWNz IG9mIGEgcmVnZXggZGV2aWNlLg0KPiAgICoNCj4gICAqIEBwYXJhbSBkZXZfaWQNCj4gQEAgLTEx MjAsMTUgKzEwNTcsMTEgQEAgc3RydWN0IHJ0ZV9yZWdleGRldl94c3RhdHNfbWFwIHsNCj4gICAq ICAgICAgLUVOT0RFViBmb3IgaW52YWxpZCAqZGV2X2lkKg0KPiAgICogICAgICAtRU5PVFNVUCBp ZiB0aGUgZGV2aWNlIGRvZXNuJ3Qgc3VwcG9ydCB0aGlzIGZ1bmN0aW9uLg0KPiAgICovDQo+IC1f X3J0ZV9leHBlcmltZW50YWwNCj4gIGludA0KPiAgcnRlX3JlZ2V4ZGV2X3hzdGF0c19uYW1lc19n ZXQodWludDhfdCBkZXZfaWQsDQo+ICAJCQkgICAgICBzdHJ1Y3QgcnRlX3JlZ2V4ZGV2X3hzdGF0 c19tYXAgKnhzdGF0c19tYXApOw0KPiANCj4gIC8qKg0KPiAtICogQHdhcm5pbmcNCj4gLSAqIEBi IEVYUEVSSU1FTlRBTDogdGhpcyBBUEkgbWF5IGNoYW5nZSB3aXRob3V0IHByaW9yIG5vdGljZS4N Cj4gLSAqDQo+ICAgKiBSZXRyaWV2ZSBleHRlbmRlZCBzdGF0aXN0aWNzIG9mIGFuIHJlZ2V4IGRl dmljZS4NCj4gICAqDQo+ICAgKiBAcGFyYW0gZGV2X2lkDQo+IEBAIC0xMTQ3LDE1ICsxMDgwLDEx IEBAIHJ0ZV9yZWdleGRldl94c3RhdHNfbmFtZXNfZ2V0KHVpbnQ4X3QgZGV2X2lkLA0KPiAgICog ICAgICAtRU5PREVWIGZvciBpbnZhbGlkICpkZXZfaWQqDQo+ICAgKiAgICAgIC1FTk9UU1VQIGlm IHRoZSBkZXZpY2UgZG9lc24ndCBzdXBwb3J0IHRoaXMgZnVuY3Rpb24uDQo+ICAgKi8NCj4gLV9f cnRlX2V4cGVyaW1lbnRhbA0KPiAgaW50DQo+ICBydGVfcmVnZXhkZXZfeHN0YXRzX2dldCh1aW50 OF90IGRldl9pZCwgY29uc3QgdWludDE2X3QgKmlkcywNCj4gIAkJCXVpbnQ2NF90ICp2YWx1ZXMs IHVpbnQxNl90IG5iX3ZhbHVlcyk7DQo+IA0KPiAgLyoqDQo+IC0gKiBAd2FybmluZw0KPiAtICog QGIgRVhQRVJJTUVOVEFMOiB0aGlzIEFQSSBtYXkgY2hhbmdlIHdpdGhvdXQgcHJpb3Igbm90aWNl Lg0KPiAtICoNCj4gICAqIFJldHJpZXZlIHRoZSB2YWx1ZSBvZiBhIHNpbmdsZSBzdGF0IGJ5IHJl cXVlc3RpbmcgaXQgYnkgbmFtZS4NCj4gICAqDQo+ICAgKiBAcGFyYW0gZGV2X2lkDQo+IEBAIC0x MTc0LDE1ICsxMTAzLDExIEBAIHJ0ZV9yZWdleGRldl94c3RhdHNfZ2V0KHVpbnQ4X3QgZGV2X2lk LCBjb25zdA0KPiB1aW50MTZfdCAqaWRzLA0KPiAgICogICAtIC1FSU5WQUw6IGludmFsaWQgcGFy YW1ldGVycw0KPiAgICogICAtIC1FTk9UU1VQOiBpZiBub3Qgc3VwcG9ydGVkLg0KPiAgICovDQo+ IC1fX3J0ZV9leHBlcmltZW50YWwNCj4gIGludA0KPiAgcnRlX3JlZ2V4ZGV2X3hzdGF0c19ieV9u YW1lX2dldCh1aW50OF90IGRldl9pZCwgY29uc3QgY2hhciAqbmFtZSwNCj4gIAkJCQl1aW50MTZf dCAqaWQsIHVpbnQ2NF90ICp2YWx1ZSk7DQo+IA0KPiAgLyoqDQo+IC0gKiBAd2FybmluZw0KPiAt ICogQGIgRVhQRVJJTUVOVEFMOiB0aGlzIEFQSSBtYXkgY2hhbmdlIHdpdGhvdXQgcHJpb3Igbm90 aWNlLg0KPiAtICoNCj4gICAqIFJlc2V0IHRoZSB2YWx1ZXMgb2YgdGhlIHhzdGF0cyBvZiB0aGUg c2VsZWN0ZWQgY29tcG9uZW50IGluIHRoZSBkZXZpY2UuDQo+ICAgKg0KPiAgICogQHBhcmFtIGRl dl9pZA0KPiBAQCAtMTE5OCwxNSArMTEyMywxMSBAQCBydGVfcmVnZXhkZXZfeHN0YXRzX2J5X25h bWVfZ2V0KHVpbnQ4X3QNCj4gZGV2X2lkLCBjb25zdCBjaGFyICpuYW1lLA0KPiAgICogICAtIC1F SU5WQUw6IGludmFsaWQgcGFyYW1ldGVycy4NCj4gICAqICAgLSAtRU5PVFNVUDogaWYgbm90IHN1 cHBvcnRlZC4NCj4gICAqLw0KPiAtX19ydGVfZXhwZXJpbWVudGFsDQo+ICBpbnQNCj4gIHJ0ZV9y ZWdleGRldl94c3RhdHNfcmVzZXQodWludDhfdCBkZXZfaWQsIGNvbnN0IHVpbnQxNl90ICppZHMs DQo+ICAJCQkgIHVpbnQxNl90IG5iX2lkcyk7DQo+IA0KPiAgLyoqDQo+IC0gKiBAd2FybmluZw0K PiAtICogQGIgRVhQRVJJTUVOVEFMOiB0aGlzIEFQSSBtYXkgY2hhbmdlIHdpdGhvdXQgcHJpb3Ig bm90aWNlLg0KPiAtICoNCj4gICAqIFRyaWdnZXIgdGhlIFJlZ0V4IGRldmljZSBzZWxmIHRlc3Qu DQo+ICAgKg0KPiAgICogQHBhcmFtIGRldl9pZA0KPiBAQCAtMTIxNiwxNCArMTEzNywxMCBAQCBy dGVfcmVnZXhkZXZfeHN0YXRzX3Jlc2V0KHVpbnQ4X3QgZGV2X2lkLCBjb25zdA0KPiB1aW50MTZf dCAqaWRzLA0KPiAgICogICAtIC1FTk9UU1VQIGlmIHRoZSBkZXZpY2UgZG9lc24ndCBzdXBwb3J0 IHNlbGZ0ZXN0Lg0KPiAgICogICAtIG90aGVyIHZhbHVlcyA8IDAgb24gZmFpbHVyZS4NCj4gICAq Lw0KPiAtX19ydGVfZXhwZXJpbWVudGFsDQo+ICBpbnQNCj4gIHJ0ZV9yZWdleGRldl9zZWxmdGVz dCh1aW50OF90IGRldl9pZCk7DQo+IA0KPiAgLyoqDQo+IC0gKiBAd2FybmluZw0KPiAtICogQGIg RVhQRVJJTUVOVEFMOiB0aGlzIEFQSSBtYXkgY2hhbmdlIHdpdGhvdXQgcHJpb3Igbm90aWNlLg0K PiAtICoNCj4gICAqIER1bXAgaW50ZXJuYWwgaW5mb3JtYXRpb24gYWJvdXQgKmRldl9pZCogdG8g dGhlIEZJTEUqIHByb3ZpZGVkIGluICpmKi4NCj4gICAqDQo+ICAgKiBAcGFyYW0gZGV2X2lkDQo+ IEBAIC0xMjM0LDcgKzExNTEsNiBAQCBydGVfcmVnZXhkZXZfc2VsZnRlc3QodWludDhfdCBkZXZf aWQpOw0KPiAgICogQHJldHVybg0KPiAgICogICAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIGVycm5v IG9uIGZhaWx1cmUuDQo+ICAgKi8NCj4gLV9fcnRlX2V4cGVyaW1lbnRhbA0KPiAgaW50DQo+ICBy dGVfcmVnZXhkZXZfZHVtcCh1aW50OF90IGRldl9pZCwgRklMRSAqZik7DQo+IA0KPiBAQCAtMTQz Miw5ICsxMzQ4LDYgQEAgc3RydWN0IHJ0ZV9yZWdleF9vcHMgew0KPiAgI2luY2x1ZGUgInJ0ZV9y ZWdleGRldl9jb3JlLmgiDQo+IA0KPiAgLyoqDQo+IC0gKiBAd2FybmluZw0KPiAtICogQGIgRVhQ RVJJTUVOVEFMOiB0aGlzIEFQSSBtYXkgY2hhbmdlIHdpdGhvdXQgcHJpb3Igbm90aWNlLg0KPiAt ICoNCj4gICAqIEVucXVldWUgYSBidXJzdCBvZiBzY2FuIHJlcXVlc3Qgb24gYSBSZWdFeCBkZXZp Y2UuDQo+ICAgKg0KPiAgICogVGhlIHJ0ZV9yZWdleGRldl9lbnF1ZXVlX2J1cnN0KCkgZnVuY3Rp b24gaXMgaW52b2tlZCB0byBwbGFjZQ0KPiBAQCAtMTQ2OCw3ICsxMzgxLDYgQEAgc3RydWN0IHJ0 ZV9yZWdleF9vcHMgew0KPiAgICogICByZW1haW5pbmcgb3BzIGF0IHRoZSBlbmQgb2YgKm9wcyog YXJlIG5vdCBjb25zdW1lZCBhbmQgdGhlIGNhbGxlciBoYXMNCj4gICAqICAgdG8gdGFrZSBjYXJl IG9mIHRoZW0uDQo+ICAgKi8NCj4gLV9fcnRlX2V4cGVyaW1lbnRhbA0KPiAgc3RhdGljIGlubGlu ZSB1aW50MTZfdA0KPiAgcnRlX3JlZ2V4ZGV2X2VucXVldWVfYnVyc3QodWludDhfdCBkZXZfaWQs IHVpbnQxNl90IHFwX2lkLA0KPiAgCQkJICAgc3RydWN0IHJ0ZV9yZWdleF9vcHMgKipvcHMsIHVp bnQxNl90IG5iX29wcykNCj4gQEAgLTE0ODcsOSArMTM5OSw2IEBAIHJ0ZV9yZWdleGRldl9lbnF1 ZXVlX2J1cnN0KHVpbnQ4X3QgZGV2X2lkLA0KPiB1aW50MTZfdCBxcF9pZCwNCj4gIH0NCj4gDQo+ ICAvKioNCj4gLSAqIEB3YXJuaW5nDQo+IC0gKiBAYiBFWFBFUklNRU5UQUw6IHRoaXMgQVBJIG1h eSBjaGFuZ2Ugd2l0aG91dCBwcmlvciBub3RpY2UuDQo+IC0gKg0KPiAgICogRGVxdWV1ZSBhIGJ1 cnN0IG9mIHNjYW4gcmVzcG9uc2UgZnJvbSBhIHF1ZXVlIG9uIHRoZSBSZWdFeCBkZXZpY2UuDQo+ ICAgKiBUaGUgZGVxdWV1ZWQgb3BlcmF0aW9uIGFyZSBzdG9yZWQgaW4gKnJ0ZV9yZWdleGRldl9v cCogc3RydWN0dXJlcw0KPiAgICogd2hvc2UgcG9pbnRlcnMgYXJlIHN1cHBsaWVkIGluIHRoZSAq b3BzKiBhcnJheS4NCj4gQEAgLTE1MjgsNyArMTQzNyw2IEBAIHJ0ZV9yZWdleGRldl9lbnF1ZXVl X2J1cnN0KHVpbnQ4X3QgZGV2X2lkLA0KPiB1aW50MTZfdCBxcF9pZCwNCj4gICAqICAgb3BzIGF0 IHRoZSBlbmQgb2YgKm9wcyogYXJlIG5vdCBjb25zdW1lZCBhbmQgdGhlIGNhbGxlciBoYXMgdG8g dGFrZSBjYXJlDQo+ICAgKiAgIG9mIHRoZW0uDQo+ICAgKi8NCj4gLV9fcnRlX2V4cGVyaW1lbnRh bA0KPiAgc3RhdGljIGlubGluZSB1aW50MTZfdA0KPiAgcnRlX3JlZ2V4ZGV2X2RlcXVldWVfYnVy c3QodWludDhfdCBkZXZfaWQsIHVpbnQxNl90IHFwX2lkLA0KPiAgCQkJICAgc3RydWN0IHJ0ZV9y ZWdleF9vcHMgKipvcHMsIHVpbnQxNl90IG5iX29wcykNCj4gZGlmZiAtLWdpdCBhL2xpYi9yZWdl eGRldi92ZXJzaW9uLm1hcCBiL2xpYi9yZWdleGRldi92ZXJzaW9uLm1hcA0KPiBpbmRleCAzYzZl OWZmZmExZjUuLjkxNGJkMTlkZmQ5NCAxMDA2NDQNCj4gLS0tIGEvbGliL3JlZ2V4ZGV2L3ZlcnNp b24ubWFwDQo+ICsrKyBiL2xpYi9yZWdleGRldi92ZXJzaW9uLm1hcA0KPiBAQCAtMSw0ICsxLDQg QEANCj4gLUVYUEVSSU1FTlRBTCB7DQo+ICtEUERLXzI0IHsNCj4gIAlnbG9iYWw6DQo+IA0KPiAg CXJ0ZV9yZWdleF9kZXZpY2VzOw0KPiAtLQ0KPiAyLjM5LjINCg0K