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 BC40FA00C2; Fri, 11 Feb 2022 19:47:53 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 63D484068E; Fri, 11 Feb 2022 19:47:53 +0100 (CET) Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2069.outbound.protection.outlook.com [40.107.243.69]) by mails.dpdk.org (Postfix) with ESMTP id DF95540140 for ; Fri, 11 Feb 2022 19:47:51 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Fj9RzfR6C9nlF5CwNgZuq0Gy0P/wOzrkwJuFstiLJcD/LubjCQPPTFgbUrBBZmc+5hYwDw5tzyYdw5GEGprBdBYs8bDJNSRp1P/ZZEnfRwuvpnB2Su1/Fkym4PLgpuzTdfy9FHLhtdjqi0xT5xNIq+9NAbRQfhHXKVmtFQEr3capg7sB0p2OOzZJKu9CtGYdS8l42+D/FUoGPgovXMq7MrTz05DI4aUwYSQTuoDg4dtmVUS8hd4vFANEfjySd8Xjl7cvOVKpt+Oi9PKyuqPz1lAlozTi9WnAdWlWrwWBIklWnrssKMkGbhhPLEFxTYlFYokkwAVFpuDD18ORh8gFPA== 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=Ret+brfgial5BJbQezfqp4wrvWCUU46SOR0l9xkk2JA=; b=ASSJkQHarKVp3A2dW4VkhLnN5lQs4/UzoTD0qyUKZ0AquYiwOVZXZAcAme+QL1YDxJVeKZnssX3yNLmnPKX2ry/tfwqsPTGhiyb4OUSvS4Ax4KFshUrHVqJP+RfsDeQY01TpUbTxknSrNLn6AlC9dscOOFv15IXWchdvKFJd+8g1jsKnvnWTNSrCFPk3DZmJTAF8T9X2AXg44JaZcQFQwv6neVKRC7gaqll13eqz2/F9/naPRxUipT6NuyUoOPark7I/g7OSjzxTAnbkScHI6gH5tyNupXpvi/LG2KHpV3pTf4P65w1R6gXhKC3L8Zv3XLHK8wdEN6QFBcjaVzPeNg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; 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=Ret+brfgial5BJbQezfqp4wrvWCUU46SOR0l9xkk2JA=; b=MSQFhK/ifv6X4MZP3Pie70CoiUwVNu/JI+PMx5Zhrn/TEEqDvCgwnPDus8rLh94+R2oLVk0sz/m9492j4bXUVhMYFYEtnuzuKvOnzLeaxI+eOEIL1IO+vtFj1lG95VKyznDLEYMxgT6wpA+fdyqB5rnfT8SxXpr01iNp2dFi0FLY/prlBTSyXc0Ucw/FG7QhH4G7N+D/c8SrXiVZh+AsDR1teogaBG4cnmRPcoRR2Ydoe9NOII5XYbDFIrw7Wkv6eocBypcfy9MaIYkWfTi798WA6+Xxo1DigGva+SXZK+YkM/WZvd7W5N6t9q8ND88k6HpKE3Gng4Qixq3pETOWsw== Received: from BN6PR12MB1889.namprd12.prod.outlook.com (2603:10b6:404:105::23) by MN0PR12MB5716.namprd12.prod.outlook.com (2603:10b6:208:373::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4951.18; Fri, 11 Feb 2022 18:47:50 +0000 Received: from DM5PR12MB2405.namprd12.prod.outlook.com (2603:10b6:4:b2::20) by BN6PR12MB1889.namprd12.prod.outlook.com (2603:10b6:404:105::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4975.11; Fri, 11 Feb 2022 18:47:49 +0000 Received: from DM5PR12MB2405.namprd12.prod.outlook.com ([fe80::cd5b:cd8d:cd38:8c31]) by DM5PR12MB2405.namprd12.prod.outlook.com ([fe80::cd5b:cd8d:cd38:8c31%6]) with mapi id 15.20.4975.011; Fri, 11 Feb 2022 18:47:49 +0000 From: Alexander Kozyrev To: Andrew Rybchenko , "dev@dpdk.org" CC: Ori Kam , "NBU-Contact-Thomas Monjalon (EXTERNAL)" , "ivan.malov@oktetlabs.ru" , "ferruh.yigit@intel.com" , "mohammad.abdul.awal@intel.com" , "qi.z.zhang@intel.com" , "jerinj@marvell.com" , "ajit.khaparde@broadcom.com" , "bruce.richardson@intel.com" Subject: RE: [PATCH v5 01/10] ethdev: introduce flow pre-configuration hints Thread-Topic: [PATCH v5 01/10] ethdev: introduce flow pre-configuration hints Thread-Index: AQHYHu74Fr2JrYUORU+YNesqTwDZ6KyOIxYAgACLEZA= Date: Fri, 11 Feb 2022 18:47:49 +0000 Message-ID: References: <20220209213809.1208269-1-akozyrev@nvidia.com> <20220211022653.1372318-1-akozyrev@nvidia.com> <20220211022653.1372318-2-akozyrev@nvidia.com> <920abf38-3cb6-cea2-7667-f785becd0751@oktetlabs.ru> In-Reply-To: <920abf38-3cb6-cea2-7667-f785becd0751@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-office365-filtering-correlation-id: cf68d2c9-fa25-4a0f-05aa-08d9ed8f0057 x-ms-traffictypediagnostic: BN6PR12MB1889:EE_|MN0PR12MB5716:EE_ x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr,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: PzkW/6gh9+z7JsSZDrVRu3UCu4CykMbFopqdz9GyDnCsdZCXbIFMTT+lYthqbHWG+i6MrYqy7Xhfq118soP/Spvz5RNClxEDsp9wRGxUaseKDiy/tJeOnQToIKAHucTeGv6phKU3odnvnjh7F9rt04elAmoxdLxFghT97BWoL11YjiZpW+EWKcrkXBa7V3+Sd1TjxbQ/FmzCTzEUu+kRdniNN42laoOeRL0VDPIBnwQ6LbieqQ0mx4BbbdkFY2qKVFX6GW5u0UTb4L2PqM3Y0bxOuswwf7yG1H9OYFXTB3b9tUzlt8lOm/4yY6X/fVzafXRtLb1x96yWD7FFJPN0dwLDglKIsuej+ZDb35K60NHyipUdIsozLYkV8uhHXWy6L5wHKXIFRfTwWSmW4/YCjMPP5mF1Cy5Maz0iL63u97yIPCJV3yBwrpjFGiZCFtwyMKgLvwovtwXXo49RUNSUxZufxVG95A+0dTvtnROwEWaCtItBlegzMMVgJi39LLLNtzo3dTmyj9t123txZETFyM2ohH2LQSN8U3r26E0W3GOXGuUxsKb8r2pbl1p0N3OoBA0f7q/0go2GEdxJhz/+qm9E2RxA2A+ncCU7v1kCenE1P3E/zMdR5hkLrIl3+Ue4fokuo70+0HptEgKYoHTTxH87qbpUaSHA/NrG/LsjOcjIRbGjSlCjNVTuIzYwCmvGRSsnRNylAXgbQzHZ+OQgkw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BN6PR12MB1889.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(33656002)(53546011)(186003)(122000001)(38100700002)(7696005)(9686003)(6506007)(55016003)(83380400001)(71200400001)(5660300002)(7416002)(30864003)(52536014)(64756008)(86362001)(110136005)(66446008)(66476007)(66946007)(66556008)(316002)(8676002)(8936002)(54906003)(76116006)(508600001)(4326008)(38070700005)(2906002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?WnNMNlUxRXBPb2FuTGdRZEFFYkdTL1Fsb0hHNEZtTXVGWHlrVzd4L2FqenhI?= =?utf-8?B?YWtaYVQrdUFRVUZVSmpqQXNRVEdlZWR6VmVIRHFHV2Joc05EWG1UWkMzUFNu?= =?utf-8?B?NmJYTm5oUWhpamVUQmZkS1NzMzdqWkVseXFEK3RRMXZJZDNuVkRIdW0xT0d2?= =?utf-8?B?TWp2QmhkQ1hIbmNBQ1J5R1VjWG1OQUhuRVNVWC92aXhTWHIvZnBIc3FubWVa?= =?utf-8?B?Z1EvWjMrdXRBUHFpbXhrZUtDelFiaVRodC9jWXp3K3djOE5YTENMeW9MYTRw?= =?utf-8?B?VU9rT1gvS1gzT01IaGlhbWVkSGlqMEt6NXluaTVXUkJwSjBoUDlieHVSSXla?= =?utf-8?B?dGZZV0NRdzFsNk5TMkxpakRxdldVY3hKUGw0ckhrSllrWVVnTjF1VnRVZkda?= =?utf-8?B?MmlSK2h0eUF4dVBBU1ZOeGRlWG1WZHE0VUFGY1JHV1RhdHhnd01jeE5xMkZE?= =?utf-8?B?aUt0WGNxTzJDWmpYeWhRZUljVUxtRXMrRUpqbWZJRnFPL0RGcC9BSlFxZ1lB?= =?utf-8?B?MXk0dVR1a21PQk82Zko1VVNsMHBsei9ENWN6T3Z2YUxWZXhzMWhlM3duRjVv?= =?utf-8?B?eUtUS1lJSk9vZWdHeGRpaVJXelZHUEJjY2ZrVmFpdWFNZC9GbHBYREk0U1Yy?= =?utf-8?B?aStSRlFMUzExNVlPd2s4MytRSXpHUjhrU2NFY0hxM3hxcXNGQkwrYjBSRTRz?= =?utf-8?B?TXlUQjhOUFlHTGxJMlNKNEtNVWpQTjBlQVhwL3VweHNaaUJZaUs2eDBNMDkz?= =?utf-8?B?TFpldFB5MnNBcFpvOHVuRHJtYWlzSmxKM3pFR3B0WXJUOGMyWjFTKzBvem1V?= =?utf-8?B?QVhYanFvVW1xUGFScTZ2TVVqZTJzYmFjMHFrNWJLdkt3OGx6d1BQdjhpdzQ4?= =?utf-8?B?Myt3TThGMlg1cG55eElFbHROcHNRZVU1WWZhUHFJQituZnpQRlNhSDdiV29l?= =?utf-8?B?R3VCbjVTN1ByWVc2Rk5nODdWL2dOQXpjWDB1a2NqY0o3Z0FMZWxONlJncnRU?= =?utf-8?B?OUVqczhUYlozdkJNOHJ2OGl0YnhSM3pEQnhpMytqTzkxSS8yL1k4RGh3VU9t?= =?utf-8?B?Nlk3S3JkZGNLb3EyS09SU0VZUEJPdlNKa2NMMUYwUHhjTWxESDJwSHB3Mngr?= =?utf-8?B?bXpNTGkvbWQycENFWXhVUDZtekM0OVZIbnA2c0wyVWFlanBQZDdzRlFpeW84?= =?utf-8?B?bFBjY1MreEUrTERoenlTNWJpZXhVQWFiOEQ2dlpTUHU0dVJFQUd5c3JMM1Zo?= =?utf-8?B?U0dJQm5pZGYwN0ZySVVaZzhjejY4UUJJYTFSNXB3Y3lmMXB1WGJZOXNOcW9i?= =?utf-8?B?UVdHdU5NVmZ3RTZzNjZETEpFVFpTck15YnBjRk1FUzg1TDV2cEl1S0xHTEZS?= =?utf-8?B?V05yUVZzRVFmbk8zRlJRVVEwMVY2RUVUeTFEbnVrYnAxNEp4MGQ0UTdWbU9K?= =?utf-8?B?bW9wdnQ2QndwRjYzdmpXbkttSGxST3UxOCtoblR6aGVVTkpHZ2dXUmtpWWMw?= =?utf-8?B?blhyL09zZUNKUzNHdXE1RDJWMDJrOGc1disvNkRpdEoxVUJRemNuRGVJM0FW?= =?utf-8?B?cUNiSFhEdG5VUVJ3bmxuSER1blR4MGN1MmU2eGpBT0xDWFlFUE4yZlFpc0di?= =?utf-8?B?MHYxcnZVb1I4Y0lmK1liRy9GZmVnNksyc3RRTjBkVExUVy9SMjQra29PSUlt?= =?utf-8?B?ZHNPenA5WWo4MnM5SkI0UnA0ZFlISEJMN0tTRHdDMmlLRnFXQWlSOS95cVRE?= =?utf-8?B?V1U0T3oxSHVRT1JWRGZkazY1emV5OE1qR1ZGRjlSL0VJQVNZcEJyVUhVdk5W?= =?utf-8?B?SFJDRVV3ZEFmU1l4aW9pSDV5VnFJeDhpWVZiWGVBTXV3azBJb2pEb21USHU3?= =?utf-8?B?eTFjUGtGckxqZGpUQXV2S1FTTE5wcGs2V1huOEd6UkR3a3BoQXF2OHl5bXBC?= =?utf-8?B?UTIzMGFIUXJZUHN5TG1DNUFTRlBuUEV5ajJabExwVUUzaU5zcmhha3pMN056?= =?utf-8?B?UDZKaTY5RC90RHlHejVvekVjRkFnSmJCai9RYlFuZFdJdyt3Z2JUd0ZZUGkw?= =?utf-8?B?ekZ5blJEUStad3crMkF5VDJ0NUR5RzZva3pEdEdhYjkwNHBNMXpRcGtRUUJB?= =?utf-8?B?eUlNY01CL3cvOVBlV3VLUHltZnI5OW9sUlh2aVRnZW5SNjJOYS9rTXh4LzF0?= =?utf-8?B?cjcvK0lQZXBOY2dTemZHcEVLc0FLTVhPdTBwL29QRW4rVlpJMk9IdlVlaEpp?= =?utf-8?Q?Lwwm+Bc+BWzU7+9FJZ15u+egC9QWuuSsNeE2FdIj+w=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: DM5PR12MB2405.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: cf68d2c9-fa25-4a0f-05aa-08d9ed8f0057 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Feb 2022 18:47:49.0351 (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: qNo7AAaTdjjFGC6P/pghdIWf5SM3hQlew54AIoeCJ8XpKTNQzlg1139cUG+GNpeC3vevKY/YTU3E41+GCiFICQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB5716 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 T24gRnJpZGF5LCBGZWJydWFyeSAxMSwgMjAyMiA1OjE3IEFuZHJldyBSeWJjaGVua28gPGFuZHJl dy5yeWJjaGVua29Ab2t0ZXRsYWJzLnJ1PiB3cm90ZToNCj4gU2VudDogRnJpZGF5LCBGZWJydWFy eSAxMSwgMjAyMiA1OjE3DQo+IFRvOiBBbGV4YW5kZXIgS296eXJldiA8YWtvenlyZXZAbnZpZGlh LmNvbT47IGRldkBkcGRrLm9yZw0KPiBDYzogT3JpIEthbSA8b3Jpa2FAbnZpZGlhLmNvbT47IE5C VS1Db250YWN0LVRob21hcyBNb25qYWxvbiAoRVhURVJOQUwpDQo+IDx0aG9tYXNAbW9uamFsb24u bmV0PjsgaXZhbi5tYWxvdkBva3RldGxhYnMucnU7IGZlcnJ1aC55aWdpdEBpbnRlbC5jb207DQo+ IG1vaGFtbWFkLmFiZHVsLmF3YWxAaW50ZWwuY29tOyBxaS56LnpoYW5nQGludGVsLmNvbTsgamVy aW5qQG1hcnZlbGwuY29tOw0KPiBhaml0LmtoYXBhcmRlQGJyb2FkY29tLmNvbTsgYnJ1Y2Uucmlj aGFyZHNvbkBpbnRlbC5jb20NCj4gU3ViamVjdDogUmU6IFtQQVRDSCB2NSAwMS8xMF0gZXRoZGV2 OiBpbnRyb2R1Y2UgZmxvdyBwcmUtY29uZmlndXJhdGlvbiBoaW50cw0KPiANCj4gT24gMi8xMS8y MiAwNToyNiwgQWxleGFuZGVyIEtvenlyZXYgd3JvdGU6DQo+ID4gVGhlIGZsb3cgcnVsZXMgY3Jl YXRpb24vZGVzdHJ1Y3Rpb24gYXQgYSBsYXJnZSBzY2FsZSBpbmN1cnMgYSBwZXJmb3JtYW5jZQ0K PiA+IHBlbmFsdHkgYW5kIG1heSBuZWdhdGl2ZWx5IGltcGFjdCB0aGUgcGFja2V0IHByb2Nlc3Np bmcgd2hlbiB1c2VkDQo+ID4gYXMgcGFydCBvZiB0aGUgZGF0YXBhdGggbG9naWMuIFRoaXMgaXMg bWFpbmx5IGJlY2F1c2Ugc29mdHdhcmUvaGFyZHdhcmUNCj4gPiByZXNvdXJjZXMgYXJlIGFsbG9j YXRlZCBhbmQgcHJlcGFyZWQgZHVyaW5nIHRoZSBmbG93IHJ1bGUgY3JlYXRpb24uDQo+ID4NCj4g PiBJbiBvcmRlciB0byBvcHRpbWl6ZSB0aGUgaW5zZXJ0aW9uIHJhdGUsIFBNRCBtYXkgdXNlIHNv bWUgaGludHMgcHJvdmlkZWQNCj4gPiBieSB0aGUgYXBwbGljYXRpb24gYXQgdGhlIGluaXRpYWxp emF0aW9uIHBoYXNlLiBUaGUgcnRlX2Zsb3dfY29uZmlndXJlKCkNCj4gPiBmdW5jdGlvbiBhbGxv d3MgdG8gcHJlLWFsbG9jYXRlIGFsbCB0aGUgbmVlZGVkIHJlc291cmNlcyBiZWZvcmVoYW5kLg0K PiA+IFRoZXNlIHJlc291cmNlcyBjYW4gYmUgdXNlZCBhdCBhIGxhdGVyIHN0YWdlIHdpdGhvdXQg Y29zdGx5IGFsbG9jYXRpb25zLg0KPiA+IEV2ZXJ5IFBNRCBtYXkgdXNlIG9ubHkgdGhlIHN1YnNl dCBvZiBoaW50cyBhbmQgaWdub3JlIHVudXNlZCBvbmVzIG9yDQo+ID4gZmFpbCBpbiBjYXNlIHRo ZSByZXF1ZXN0ZWQgY29uZmlndXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkLg0KPiA+DQo+ID4gVGhl IHJ0ZV9mbG93X2luZm9fZ2V0KCkgaXMgYXZhaWxhYmxlIHRvIHJldHJpZXZlIHRoZSBpbmZvcm1h dGlvbiBhYm91dA0KPiA+IHN1cHBvcnRlZCBwcmUtY29uZmlndXJhYmxlIHJlc291cmNlcy4gQm90 aCB0aGVzZSBmdW5jdGlvbnMgbXVzdCBiZSBjYWxsZWQNCj4gPiBiZWZvcmUgYW55IG90aGVyIHVz YWdlIG9mIHRoZSBmbG93IEFQSSBlbmdpbmUuDQo+ID4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBBbGV4 YW5kZXIgS296eXJldiA8YWtvenlyZXZAbnZpZGlhLmNvbT4NCj4gPiBBY2tlZC1ieTogT3JpIEth bSA8b3Jpa2FAbnZpZGlhLmNvbT4NCj4gPiAtLS0NCj4gPiAgIGRvYy9ndWlkZXMvcHJvZ19ndWlk ZS9ydGVfZmxvdy5yc3QgICAgIHwgIDM3ICsrKysrKysrKw0KPiA+ICAgZG9jL2d1aWRlcy9yZWxf bm90ZXMvcmVsZWFzZV8yMl8wMy5yc3QgfCAgIDYgKysNCj4gPiAgIGxpYi9ldGhkZXYvcnRlX2Zs b3cuYyAgICAgICAgICAgICAgICAgIHwgIDQwICsrKysrKysrKw0KPiA+ICAgbGliL2V0aGRldi9y dGVfZmxvdy5oICAgICAgICAgICAgICAgICAgfCAxMDggKysrKysrKysrKysrKysrKysrKysrKysr Kw0KPiA+ICAgbGliL2V0aGRldi9ydGVfZmxvd19kcml2ZXIuaCAgICAgICAgICAgfCAgMTAgKysr DQo+ID4gICBsaWIvZXRoZGV2L3ZlcnNpb24ubWFwICAgICAgICAgICAgICAgICB8ICAgMiArDQo+ ID4gICA2IGZpbGVzIGNoYW5nZWQsIDIwMyBpbnNlcnRpb25zKCspDQo+ID4NCj4gPiBkaWZmIC0t Z2l0IGEvZG9jL2d1aWRlcy9wcm9nX2d1aWRlL3J0ZV9mbG93LnJzdA0KPiBiL2RvYy9ndWlkZXMv cHJvZ19ndWlkZS9ydGVfZmxvdy5yc3QNCj4gPiBpbmRleCBiNGFhOWM0N2MyLi43MmZiMTEzMmFj IDEwMDY0NA0KPiA+IC0tLSBhL2RvYy9ndWlkZXMvcHJvZ19ndWlkZS9ydGVfZmxvdy5yc3QNCj4g PiArKysgYi9kb2MvZ3VpZGVzL3Byb2dfZ3VpZGUvcnRlX2Zsb3cucnN0DQo+ID4gQEAgLTM1ODks NiArMzU4OSw0MyBAQCBSZXR1cm4gdmFsdWVzOg0KPiA+DQo+ID4gICAtIDAgb24gc3VjY2Vzcywg YSBuZWdhdGl2ZSBlcnJubyB2YWx1ZSBvdGhlcndpc2UgYW5kIGBgcnRlX2Vycm5vYGAgaXMgc2V0 Lg0KPiA+DQo+ID4gK0Zsb3cgZW5naW5lIGNvbmZpZ3VyYXRpb24NCj4gPiArLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQ0KPiA+ICsNCj4gPiArQ29uZmlndXJlIGZsb3cgQVBJIG1hbmFnZW1lbnQu DQo+ID4gKw0KPiA+ICtBbiBhcHBsaWNhdGlvbiBtYXkgcHJvdmlkZSBzb21lIHBhcmFtZXRlcnMg YXQgdGhlIGluaXRpYWxpemF0aW9uIHBoYXNlIGFib3V0DQo+ID4gK3J1bGVzIGVuZ2luZSBjb25m aWd1cmF0aW9uIGFuZC9vciBleHBlY3RlZCBmbG93IHJ1bGVzIGNoYXJhY3RlcmlzdGljcy4NCj4g PiArVGhlc2UgcGFyYW1ldGVycyBtYXkgYmUgdXNlZCBieSBQTUQgdG8gcHJlYWxsb2NhdGUgcmVz b3VyY2VzIGFuZA0KPiBjb25maWd1cmUgTklDLg0KPiA+ICsNCj4gPiArQ29uZmlndXJhdGlvbg0K PiA+ICt+fn5+fn5+fn5+fn5+DQo+ID4gKw0KPiA+ICtUaGlzIGZ1bmN0aW9uIHBlcmZvcm1zIHRo ZSBmbG93IEFQSSBtYW5hZ2VtZW50IGNvbmZpZ3VyYXRpb24gYW5kDQo+ID4gK3ByZS1hbGxvY2F0 ZXMgbmVlZGVkIHJlc291cmNlcyBiZWZvcmVoYW5kIHRvIGF2b2lkIGNvc3RseSBhbGxvY2F0aW9u cyBsYXRlci4NCj4gPiArRXhwZWN0ZWQgbnVtYmVyIG9mIGNvdW50ZXJzIG9yIG1ldGVycyBpbiBh biBhcHBsaWNhdGlvbiwgZm9yIGV4YW1wbGUsDQo+ID4gK2FsbG93IFBNRCB0byBwcmVwYXJlIGFu ZCBvcHRpbWl6ZSBOSUMgbWVtb3J5IGxheW91dCBpbiBhZHZhbmNlLg0KPiA+ICtgYHJ0ZV9mbG93 X2NvbmZpZ3VyZSgpYGAgbXVzdCBiZSBjYWxsZWQgYmVmb3JlIGFueSBmbG93IHJ1bGUgaXMgY3Jl YXRlZCwNCj4gPiArYnV0IGFmdGVyIGFuIEV0aGVybmV0IGRldmljZSBpcyBjb25maWd1cmVkLg0K PiA+ICsNCj4gPiArLi4gY29kZS1ibG9jazo6IGMNCj4gPiArDQo+ID4gKyAgIGludA0KPiA+ICsg ICBydGVfZmxvd19jb25maWd1cmUodWludDE2X3QgcG9ydF9pZCwNCj4gPiArICAgICAgICAgICAg ICAgICAgICAgY29uc3Qgc3RydWN0IHJ0ZV9mbG93X3BvcnRfYXR0ciAqcG9ydF9hdHRyLA0KPiA+ ICsgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2Zsb3dfZXJyb3IgKmVycm9yKTsNCj4g PiArDQo+ID4gK0luZm9ybWF0aW9uIGFib3V0IHJlc291cmNlcyB0aGF0IGNhbiBiZW5lZml0IGZy b20gcHJlLWFsbG9jYXRpb24gY2FuIGJlDQo+ID4gK3JldHJpZXZlZCB2aWEgYGBydGVfZmxvd19p bmZvX2dldCgpYGAgQVBJLiBJdCByZXR1cm5zIHRoZSBtYXhpbXVtIG51bWJlcg0KPiA+ICtvZiBw cmUtY29uZmlndXJhYmxlIHJlc291cmNlcyBmb3IgYSBnaXZlbiBwb3J0IG9uIGEgc3lzdGVtLg0K PiA+ICsNCj4gPiArLi4gY29kZS1ibG9jazo6IGMNCj4gPiArDQo+ID4gKyAgIGludA0KPiA+ICsg ICBydGVfZmxvd19pbmZvX2dldCh1aW50MTZfdCBwb3J0X2lkLA0KPiA+ICsgICAgICAgICAgICAg ICAgICAgICBzdHJ1Y3QgcnRlX2Zsb3dfcG9ydF9pbmZvICpwb3J0X2luZm8sDQo+ID4gKyAgICAg ICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfZmxvd19lcnJvciAqZXJyb3IpOw0KPiA+ICsNCj4g PiAgIC4uIF9mbG93X2lzb2xhdGVkX21vZGU6DQo+ID4NCj4gPiAgIEZsb3cgaXNvbGF0ZWQgbW9k ZQ0KPiA+IGRpZmYgLS1naXQgYS9kb2MvZ3VpZGVzL3JlbF9ub3Rlcy9yZWxlYXNlXzIyXzAzLnJz dA0KPiBiL2RvYy9ndWlkZXMvcmVsX25vdGVzL3JlbGVhc2VfMjJfMDMucnN0DQo+ID4gaW5kZXgg ZjAzMTgzZWU4Ni4uMmE0N2EzN2YwYSAxMDA2NDQNCj4gPiAtLS0gYS9kb2MvZ3VpZGVzL3JlbF9u b3Rlcy9yZWxlYXNlXzIyXzAzLnJzdA0KPiA+ICsrKyBiL2RvYy9ndWlkZXMvcmVsX25vdGVzL3Jl bGVhc2VfMjJfMDMucnN0DQo+ID4gQEAgLTY5LDYgKzY5LDEyIEBAIE5ldyBGZWF0dXJlcw0KPiA+ ICAgICBOZXcgQVBJcywgYGBydGVfZXRoX2Rldl9wcmlvcml0eV9mbG93X2N0cmxfcXVldWVfaW5m b19nZXQoKWBgIGFuZA0KPiA+ICAgICBgYHJ0ZV9ldGhfZGV2X3ByaW9yaXR5X2Zsb3dfY3RybF9x dWV1ZV9jb25maWd1cmUoKWBgLCB3YXMgYWRkZWQuDQo+ID4NCj4gPiArKiAqKiBBZGRlZCBmdW5j dGlvbnMgdG8gY29uZmlndXJlIEZsb3cgQVBJIGVuZ2luZQ0KPiA+ICsNCj4gPiArICAqIGV0aGRl djogQWRkZWQgYGBydGVfZmxvd19jb25maWd1cmVgYCBBUEkgdG8gY29uZmlndXJlIEZsb3cgTWFu YWdlbWVudA0KPiA+ICsgICAgZW5naW5lLCBhbGxvd2luZyB0byBwcmUtYWxsb2NhdGUgc29tZSBy ZXNvdXJjZXMgZm9yIGJldHRlciBwZXJmb3JtYW5jZS4NCj4gPiArICAgIEFkZGVkIGBgcnRlX2Zs b3dfaW5mb19nZXRgYCBBUEkgdG8gcmV0cmlldmUgcHJlLWNvbmZpZ3VyYWJsZSByZXNvdXJjZXMu DQo+ID4gKw0KPiA+ICAgKiAqKlVwZGF0ZWQgQUZfWERQIFBNRCoqDQo+ID4NCj4gPiAgICAgKiBB ZGRlZCBzdXBwb3J0IGZvciBsaWJ4ZHAgPj12MS4yLjIuDQo+ID4gZGlmZiAtLWdpdCBhL2xpYi9l dGhkZXYvcnRlX2Zsb3cuYyBiL2xpYi9ldGhkZXYvcnRlX2Zsb3cuYw0KPiA+IGluZGV4IGE5M2Y2 OGFiYmMuLjY2NjE0YWUyOWIgMTAwNjQ0DQo+ID4gLS0tIGEvbGliL2V0aGRldi9ydGVfZmxvdy5j DQo+ID4gKysrIGIvbGliL2V0aGRldi9ydGVfZmxvdy5jDQo+ID4gQEAgLTEzOTEsMyArMTM5MSw0 MyBAQCBydGVfZmxvd19mbGV4X2l0ZW1fcmVsZWFzZSh1aW50MTZfdCBwb3J0X2lkLA0KPiA+ICAg CXJldCA9IG9wcy0+ZmxleF9pdGVtX3JlbGVhc2UoZGV2LCBoYW5kbGUsIGVycm9yKTsNCj4gPiAg IAlyZXR1cm4gZmxvd19lcnIocG9ydF9pZCwgcmV0LCBlcnJvcik7DQo+ID4gICB9DQo+ID4gKw0K PiA+ICtpbnQNCj4gPiArcnRlX2Zsb3dfaW5mb19nZXQodWludDE2X3QgcG9ydF9pZCwNCj4gPiAr CQkgIHN0cnVjdCBydGVfZmxvd19wb3J0X2luZm8gKnBvcnRfaW5mbywNCj4gPiArCQkgIHN0cnVj dCBydGVfZmxvd19lcnJvciAqZXJyb3IpDQo+ID4gK3sNCj4gPiArCXN0cnVjdCBydGVfZXRoX2Rl diAqZGV2ID0gJnJ0ZV9ldGhfZGV2aWNlc1twb3J0X2lkXTsNCj4gPiArCWNvbnN0IHN0cnVjdCBy dGVfZmxvd19vcHMgKm9wcyA9IHJ0ZV9mbG93X29wc19nZXQocG9ydF9pZCwgZXJyb3IpOw0KPiA+ ICsNCj4gPiArCWlmICh1bmxpa2VseSghb3BzKSkNCj4gPiArCQlyZXR1cm4gLXJ0ZV9lcnJubzsN Cj4gPiArCWlmIChsaWtlbHkoISFvcHMtPmluZm9fZ2V0KSkgew0KPiANCj4gZXhwZWN0ZWQgZXRo ZGV2IHN0YXRlIG11c3QgYmUgdmFsaWRhdGVkLiBKdXN0IGNvbmZpZ3VyZWQ/DQo+IA0KPiA+ICsJ CXJldHVybiBmbG93X2Vycihwb3J0X2lkLA0KPiA+ICsJCQkJb3BzLT5pbmZvX2dldChkZXYsIHBv cnRfaW5mbywgZXJyb3IpLA0KPiANCj4gcG9ydF9pbmZvIG11c3QgYmUgY2hlY2tlZCB2cyBOVUxM DQoNCldlIGRvbuKAmXQgaGF2ZSBhbnkgTlVMTCBjaGVja3MgZm9yIHBhcmFtZXRlcnMgaW4gdGhl IHdob2xlIHJldCBmbG93IEFQSSBsaWJyYXJ5Lg0KU2VlIHJ0ZV9mbG93X2NyZWF0ZSgpIGZvciBl eGFtcGxlLiBhdHRyaWJ1dGVzLCBwYXR0ZXJuIGFuZCBhY3Rpb25zIGFyZSBwYXNzZWQgdG8gUE1E IHVuY2hlY2tlZC4NCg0KPiA+ICsJCQkJZXJyb3IpOw0KPiA+ICsJfQ0KPiA+ICsJcmV0dXJuIHJ0 ZV9mbG93X2Vycm9yX3NldChlcnJvciwgRU5PVFNVUCwNCj4gPiArCQkJCSAgUlRFX0ZMT1dfRVJS T1JfVFlQRV9VTlNQRUNJRklFRCwNCj4gPiArCQkJCSAgTlVMTCwgcnRlX3N0cmVycm9yKEVOT1RT VVApKTsNCj4gPiArfQ0KPiA+ICsNCj4gPiAraW50DQo+ID4gK3J0ZV9mbG93X2NvbmZpZ3VyZSh1 aW50MTZfdCBwb3J0X2lkLA0KPiA+ICsJCSAgIGNvbnN0IHN0cnVjdCBydGVfZmxvd19wb3J0X2F0 dHIgKnBvcnRfYXR0ciwNCj4gPiArCQkgICBzdHJ1Y3QgcnRlX2Zsb3dfZXJyb3IgKmVycm9yKQ0K PiA+ICt7DQo+ID4gKwlzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiA9ICZydGVfZXRoX2RldmljZXNb cG9ydF9pZF07DQo+ID4gKwljb25zdCBzdHJ1Y3QgcnRlX2Zsb3dfb3BzICpvcHMgPSBydGVfZmxv d19vcHNfZ2V0KHBvcnRfaWQsIGVycm9yKTsNCj4gPiArDQo+ID4gKwlpZiAodW5saWtlbHkoIW9w cykpDQo+ID4gKwkJcmV0dXJuIC1ydGVfZXJybm87DQo+ID4gKwlpZiAobGlrZWx5KCEhb3BzLT5j b25maWd1cmUpKSB7DQo+IA0KPiBUaGUgQVBJIG11c3QgdmFsaWRhdGUgZXRoZGV2IHN0YXRlLiBj b25maWd1cmVkIGFuZCBub3Qgc3RhcnRlZD8NCkFnYWluLCB3ZSBoYXZlIG5vIHN1Y2ggdmFsaWRh dGlvbiBmb3IgYW55IHJ0ZSBmbG93IEFQSSB0b2RheS4NCg0KPiANCj4gPiArCQlyZXR1cm4gZmxv d19lcnIocG9ydF9pZCwNCj4gPiArCQkJCW9wcy0+Y29uZmlndXJlKGRldiwgcG9ydF9hdHRyLCBl cnJvciksDQo+IA0KPiBwb3J0X2F0dHIgbXVzdCBiZSBjaGVja2VkIHZzIE5VTEwNClNhbWUuDQoN Cj4gPiArCQkJCWVycm9yKTsNCj4gPiArCX0NCj4gPiArCXJldHVybiBydGVfZmxvd19lcnJvcl9z ZXQoZXJyb3IsIEVOT1RTVVAsDQo+ID4gKwkJCQkgIFJURV9GTE9XX0VSUk9SX1RZUEVfVU5TUEVD SUZJRUQsDQo+ID4gKwkJCQkgIE5VTEwsIHJ0ZV9zdHJlcnJvcihFTk9UU1VQKSk7DQo+ID4gK30N Cj4gPiBkaWZmIC0tZ2l0IGEvbGliL2V0aGRldi9ydGVfZmxvdy5oIGIvbGliL2V0aGRldi9ydGVf Zmxvdy5oDQo+ID4gaW5kZXggMTAzMWZiMjQ2Yi4uOTJiZTJhOWE4OSAxMDA2NDQNCj4gPiAtLS0g YS9saWIvZXRoZGV2L3J0ZV9mbG93LmgNCj4gPiArKysgYi9saWIvZXRoZGV2L3J0ZV9mbG93LmgN Cj4gPiBAQCAtNDg1Myw2ICs0ODUzLDExNCBAQCBydGVfZmxvd19mbGV4X2l0ZW1fcmVsZWFzZSh1 aW50MTZfdCBwb3J0X2lkLA0KPiA+ICAgCQkJICAgY29uc3Qgc3RydWN0IHJ0ZV9mbG93X2l0ZW1f ZmxleF9oYW5kbGUgKmhhbmRsZSwNCj4gPiAgIAkJCSAgIHN0cnVjdCBydGVfZmxvd19lcnJvciAq ZXJyb3IpOw0KPiA+DQo+ID4gKy8qKg0KPiA+ICsgKiBAd2FybmluZw0KPiA+ICsgKiBAYiBFWFBF UklNRU5UQUw6IHRoaXMgQVBJIG1heSBjaGFuZ2Ugd2l0aG91dCBwcmlvciBub3RpY2UuDQo+ID4g KyAqDQo+ID4gKyAqIEluZm9ybWF0aW9uIGFib3V0IGF2YWlsYWJsZSBwcmUtY29uZmlndXJhYmxl IHJlc291cmNlcy4NCj4gPiArICogVGhlIHplcm8gdmFsdWUgbWVhbnMgYSByZXNvdXJjZSBjYW5u b3QgYmUgcHJlLWFsbG9jYXRlZC4NCj4gPiArICoNCj4gPiArICovDQo+ID4gK3N0cnVjdCBydGVf Zmxvd19wb3J0X2luZm8gew0KPiA+ICsJLyoqDQo+ID4gKwkgKiBOdW1iZXIgb2YgcHJlLWNvbmZp Z3VyYWJsZSBjb3VudGVyIGFjdGlvbnMuDQo+ID4gKwkgKiBAc2VlIFJURV9GTE9XX0FDVElPTl9U WVBFX0NPVU5UDQo+ID4gKwkgKi8NCj4gPiArCXVpbnQzMl90IG5iX2NvdW50ZXJzOw0KPiANCj4g TmFtZSBzYXlzIHRoYXQgaXQgaXMgYSBudW1iZXIgb2YgY291bnRlcnMsIGJ1dCBkZXNjcmlwdGlv bg0KPiBzYXlzIHRoYXQgaXQgaXMgYWJvdXQgYWN0aW9ucy4NCj4gQWxzbyBJIGRvbid0IHVuZGVy c3RhbmQgd2hhdCBkb2VzICJwcmUtY29uZmlndXJhYmxlIiBtZWFuLg0KPiBJc24ndCBpdCBhIG1h eGltdW0gbnVtYmVyIG9mIGF2YWlsYWJsZSBjb3VudGVycz8NCj4gSWYgbm8sIGhvdyBjYW4gSSBm aW5kIGEgbWF4aW11bT8NCkl0IGlzIG51bWJlciBvZiBwcmUtYWxsb2NhdGVkIGFuZCBwcmUtY29u ZmlndXJlZCBhY3Rpb25zLg0KSG93IGFyZSB0aGV5IHByLWNvbmZpZ3VyZWQgaXMgdXAgdG8gUERN IGRyaXZlci4NCkJ1dCBsZXQncyBjaGFuZ2UgdG8gInByZS1jb25maWd1cmVkIiBldmVyeXdoZXJl Lg0KQ29uZmlndXJhdGlvbiBpbmNsdWRlcyBzb21lIG1lbW9yeSBhbGxvY2F0aW9uIGFueXdheS4g DQoNCj4gDQo+ID4gKwkvKioNCj4gPiArCSAqIE51bWJlciBvZiBwcmUtY29uZmlndXJhYmxlIGFn aW5nIGZsb3dzIGFjdGlvbnMuDQo+ID4gKwkgKiBAc2VlIFJURV9GTE9XX0FDVElPTl9UWVBFX0FH RQ0KPiA+ICsJICovDQo+ID4gKwl1aW50MzJfdCBuYl9hZ2luZ19mbG93czsNCj4gDQo+IFNhbWUN CkRpdHRvLg0KIA0KPiA+ICsJLyoqDQo+ID4gKwkgKiBOdW1iZXIgb2YgcHJlLWNvbmZpZ3VyYWJs ZSB0cmFmZmljIG1ldGVyaW5nIGFjdGlvbnMuDQo+ID4gKwkgKiBAc2VlIFJURV9GTE9XX0FDVElP Tl9UWVBFX01FVEVSDQo+ID4gKwkgKi8NCj4gPiArCXVpbnQzMl90IG5iX21ldGVyczsNCj4gDQo+ IFNhbWUNCkRpdHRvLg0KDQo+ID4gK307DQo+ID4gKw0KPiA+ICsvKioNCj4gPiArICogQHdhcm5p bmcNCj4gPiArICogQGIgRVhQRVJJTUVOVEFMOiB0aGlzIEFQSSBtYXkgY2hhbmdlIHdpdGhvdXQg cHJpb3Igbm90aWNlLg0KPiA+ICsgKg0KPiA+ICsgKiBSZXRyaWV2ZSBjb25maWd1cmF0aW9uIGF0 dHJpYnV0ZXMgc3VwcG9ydGVkIGJ5IHRoZSBwb3J0Lg0KPiANCj4gRGVzY3JpcHRpb24gc2hvdWxk IGJlIGEgYml0IG1vcmUgZmxvdyBBUEkgYXdhcmUuDQo+IFJpZ2h0IG5vdyBpdCBzb3VuZHMgdG9v IGdlbmVyaWMuDQpPaywgaG93IGFib3V0DQoiR2V0IGluZm9ybWF0aW9uIGFib3V0IGZsb3cgZW5n aW5lIHByZS1jb25maWd1cmFibGUgcmVzb3VyY2VzLiINCiANCj4gPiArICoNCj4gPiArICogQHBh cmFtIHBvcnRfaWQNCj4gPiArICogICBQb3J0IGlkZW50aWZpZXIgb2YgRXRoZXJuZXQgZGV2aWNl Lg0KPiA+ICsgKiBAcGFyYW1bb3V0XSBwb3J0X2luZm8NCj4gPiArICogICBBIHBvaW50ZXIgdG8g YSBzdHJ1Y3R1cmUgb2YgdHlwZSAqcnRlX2Zsb3dfcG9ydF9pbmZvKg0KPiA+ICsgKiAgIHRvIGJl IGZpbGxlZCB3aXRoIHRoZSBjb250ZXh0dWFsIGluZm9ybWF0aW9uIG9mIHRoZSBwb3J0Lg0KPiA+ ICsgKiBAcGFyYW1bb3V0XSBlcnJvcg0KPiA+ICsgKiAgIFBlcmZvcm0gdmVyYm9zZSBlcnJvciBy ZXBvcnRpbmcgaWYgbm90IE5VTEwuDQo+ID4gKyAqICAgUE1EcyBpbml0aWFsaXplIHRoaXMgc3Ry dWN0dXJlIGluIGNhc2Ugb2YgZXJyb3Igb25seS4NCj4gPiArICoNCj4gPiArICogQHJldHVybg0K PiA+ICsgKiAgIDAgb24gc3VjY2VzcywgYSBuZWdhdGl2ZSBlcnJubyB2YWx1ZSBvdGhlcndpc2Ug YW5kIHJ0ZV9lcnJubyBpcyBzZXQuDQo+ID4gKyAqLw0KPiA+ICtfX3J0ZV9leHBlcmltZW50YWwN Cj4gPiAraW50DQo+ID4gK3J0ZV9mbG93X2luZm9fZ2V0KHVpbnQxNl90IHBvcnRfaWQsDQo+ID4g KwkJICBzdHJ1Y3QgcnRlX2Zsb3dfcG9ydF9pbmZvICpwb3J0X2luZm8sDQo+ID4gKwkJICBzdHJ1 Y3QgcnRlX2Zsb3dfZXJyb3IgKmVycm9yKTsNCj4gPiArDQo+ID4gKy8qKg0KPiA+ICsgKiBAd2Fy bmluZw0KPiA+ICsgKiBAYiBFWFBFUklNRU5UQUw6IHRoaXMgQVBJIG1heSBjaGFuZ2Ugd2l0aG91 dCBwcmlvciBub3RpY2UuDQo+ID4gKyAqDQo+ID4gKyAqIFJlc291cmNlIHByZS1hbGxvY2F0aW9u IGFuZCBwcmUtY29uZmlndXJhdGlvbiBzZXR0aW5ncy4NCj4gDQo+IFdoYXQgaXMgdGhlIGRpZmZl cmVuY2UgYmV0d2VlbiBwcmUtYWxsb2NhdGlvbiBhbmQgcHJlLWNvbmZpZ3VyYXRpb24/DQo+IFdo eSBhcmUgYm90aCBtZW50aW9uZWQgYWJvdmUsIGJ1dCBqdXN0IHByZS1jb25maWd1cmVkIGFjdGlv bnMgYXJlDQo+IG1lbnRpb25lZCBiZWxvdz8NClBsZWFzZSBzZWUgYW5zd2VyIHRvIHRoaXMgcXVl c3Rpb24gYWJvdmUuDQogDQo+ID4gKyAqIFRoZSB6ZXJvIHZhbHVlIG1lYW5zIG9uIGRlbWFuZCBy ZXNvdXJjZSBhbGxvY2F0aW9ucyBvbmx5Lg0KPiA+ICsgKg0KPiA+ICsgKi8NCj4gPiArc3RydWN0 IHJ0ZV9mbG93X3BvcnRfYXR0ciB7DQo+ID4gKwkvKioNCj4gPiArCSAqIE51bWJlciBvZiBjb3Vu dGVyIGFjdGlvbnMgcHJlLWNvbmZpZ3VyZWQuDQo+ID4gKwkgKiBAc2VlIFJURV9GTE9XX0FDVElP Tl9UWVBFX0NPVU5UDQo+ID4gKwkgKi8NCj4gPiArCXVpbnQzMl90IG5iX2NvdW50ZXJzOw0KPiA+ ICsJLyoqDQo+ID4gKwkgKiBOdW1iZXIgb2YgYWdpbmcgZmxvd3MgYWN0aW9ucyBwcmUtY29uZmln dXJlZC4NCj4gPiArCSAqIEBzZWUgUlRFX0ZMT1dfQUNUSU9OX1RZUEVfQUdFDQo+ID4gKwkgKi8N Cj4gPiArCXVpbnQzMl90IG5iX2FnaW5nX2Zsb3dzOw0KPiA+ICsJLyoqDQo+ID4gKwkgKiBOdW1i ZXIgb2YgdHJhZmZpYyBtZXRlcmluZyBhY3Rpb25zIHByZS1jb25maWd1cmVkLg0KPiA+ICsJICog QHNlZSBSVEVfRkxPV19BQ1RJT05fVFlQRV9NRVRFUg0KPiA+ICsJICovDQo+ID4gKwl1aW50MzJf dCBuYl9tZXRlcnM7DQo+ID4gK307DQo+ID4gKw0KPiA+ICsvKioNCj4gPiArICogQHdhcm5pbmcN Cj4gPiArICogQGIgRVhQRVJJTUVOVEFMOiB0aGlzIEFQSSBtYXkgY2hhbmdlIHdpdGhvdXQgcHJp b3Igbm90aWNlLg0KPiA+ICsgKg0KPiA+ICsgKiBDb25maWd1cmUgdGhlIHBvcnQncyBmbG93IEFQ SSBlbmdpbmUuDQo+ID4gKyAqDQo+ID4gKyAqIFRoaXMgQVBJIGNhbiBvbmx5IGJlIGludm9rZWQg YmVmb3JlIHRoZSBhcHBsaWNhdGlvbg0KPiA+ICsgKiBzdGFydHMgdXNpbmcgdGhlIHJlc3Qgb2Yg dGhlIGZsb3cgbGlicmFyeSBmdW5jdGlvbnMuDQo+ID4gKyAqDQo+ID4gKyAqIFRoZSBBUEkgY2Fu IGJlIGludm9rZWQgbXVsdGlwbGUgdGltZXMgdG8gY2hhbmdlIHRoZQ0KPiA+ICsgKiBzZXR0aW5n cy4gVGhlIHBvcnQsIGhvd2V2ZXIsIG1heSByZWplY3QgdGhlIGNoYW5nZXMuDQo+ID4gKyAqDQo+ ID4gKyAqIFBhcmFtZXRlcnMgaW4gY29uZmlndXJhdGlvbiBhdHRyaWJ1dGVzIG11c3Qgbm90IGV4 Y2VlZA0KPiA+ICsgKiBudW1iZXJzIG9mIHJlc291cmNlcyByZXR1cm5lZCBieSB0aGUgcnRlX2Zs b3dfaW5mb19nZXQgQVBJLg0KPiA+ICsgKg0KPiA+ICsgKiBAcGFyYW0gcG9ydF9pZA0KPiA+ICsg KiAgIFBvcnQgaWRlbnRpZmllciBvZiBFdGhlcm5ldCBkZXZpY2UuDQo+ID4gKyAqIEBwYXJhbVtp bl0gcG9ydF9hdHRyDQo+ID4gKyAqICAgUG9ydCBjb25maWd1cmF0aW9uIGF0dHJpYnV0ZXMuDQo+ ID4gKyAqIEBwYXJhbVtvdXRdIGVycm9yDQo+ID4gKyAqICAgUGVyZm9ybSB2ZXJib3NlIGVycm9y IHJlcG9ydGluZyBpZiBub3QgTlVMTC4NCj4gPiArICogICBQTURzIGluaXRpYWxpemUgdGhpcyBz dHJ1Y3R1cmUgaW4gY2FzZSBvZiBlcnJvciBvbmx5Lg0KPiA+ICsgKg0KPiA+ICsgKiBAcmV0dXJu DQo+ID4gKyAqICAgMCBvbiBzdWNjZXNzLCBhIG5lZ2F0aXZlIGVycm5vIHZhbHVlIG90aGVyd2lz ZSBhbmQgcnRlX2Vycm5vIGlzIHNldC4NCj4gPiArICovDQo+ID4gK19fcnRlX2V4cGVyaW1lbnRh bA0KPiA+ICtpbnQNCj4gPiArcnRlX2Zsb3dfY29uZmlndXJlKHVpbnQxNl90IHBvcnRfaWQsDQo+ ID4gKwkJICAgY29uc3Qgc3RydWN0IHJ0ZV9mbG93X3BvcnRfYXR0ciAqcG9ydF9hdHRyLA0KPiA+ ICsJCSAgIHN0cnVjdCBydGVfZmxvd19lcnJvciAqZXJyb3IpOw0KPiA+ICsNCj4gPiAgICNpZmRl ZiBfX2NwbHVzcGx1cw0KPiA+ICAgfQ0KPiA+ICAgI2VuZGlmDQo+ID4gZGlmZiAtLWdpdCBhL2xp Yi9ldGhkZXYvcnRlX2Zsb3dfZHJpdmVyLmggYi9saWIvZXRoZGV2L3J0ZV9mbG93X2RyaXZlci5o DQo+ID4gaW5kZXggZjY5MWIwNGFmNC4uN2MyOTkzMGQwZiAxMDA2NDQNCj4gPiAtLS0gYS9saWIv ZXRoZGV2L3J0ZV9mbG93X2RyaXZlci5oDQo+ID4gKysrIGIvbGliL2V0aGRldi9ydGVfZmxvd19k cml2ZXIuaA0KPiA+IEBAIC0xNTIsNiArMTUyLDE2IEBAIHN0cnVjdCBydGVfZmxvd19vcHMgew0K PiA+ICAgCQkoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsDQo+ID4gICAJCSBjb25zdCBzdHJ1Y3Qg cnRlX2Zsb3dfaXRlbV9mbGV4X2hhbmRsZSAqaGFuZGxlLA0KPiA+ICAgCQkgc3RydWN0IHJ0ZV9m bG93X2Vycm9yICplcnJvcik7DQo+ID4gKwkvKiogU2VlIHJ0ZV9mbG93X2luZm9fZ2V0KCkgKi8N Cj4gPiArCWludCAoKmluZm9fZ2V0KQ0KPiA+ICsJCShzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwN Cj4gPiArCQkgc3RydWN0IHJ0ZV9mbG93X3BvcnRfaW5mbyAqcG9ydF9pbmZvLA0KPiA+ICsJCSBz dHJ1Y3QgcnRlX2Zsb3dfZXJyb3IgKmVycik7DQo+ID4gKwkvKiogU2VlIHJ0ZV9mbG93X2NvbmZp Z3VyZSgpICovDQo+ID4gKwlpbnQgKCpjb25maWd1cmUpDQo+ID4gKwkJKHN0cnVjdCBydGVfZXRo X2RldiAqZGV2LA0KPiA+ICsJCSBjb25zdCBzdHJ1Y3QgcnRlX2Zsb3dfcG9ydF9hdHRyICpwb3J0 X2F0dHIsDQo+ID4gKwkJIHN0cnVjdCBydGVfZmxvd19lcnJvciAqZXJyKTsNCj4gPiAgIH07DQo+ ID4NCj4gPiAgIC8qKg0KPiA+IGRpZmYgLS1naXQgYS9saWIvZXRoZGV2L3ZlcnNpb24ubWFwIGIv bGliL2V0aGRldi92ZXJzaW9uLm1hcA0KPiA+IGluZGV4IGNkMGM0YzQyOGQuLmYxMjM1YWE5MTMg MTAwNjQ0DQo+ID4gLS0tIGEvbGliL2V0aGRldi92ZXJzaW9uLm1hcA0KPiA+ICsrKyBiL2xpYi9l dGhkZXYvdmVyc2lvbi5tYXANCj4gPiBAQCAtMjYwLDYgKzI2MCw4IEBAIEVYUEVSSU1FTlRBTCB7 DQo+ID4gICAJIyBhZGRlZCBpbiAyMi4wMw0KPiA+ICAgCXJ0ZV9ldGhfZGV2X3ByaW9yaXR5X2Zs b3dfY3RybF9xdWV1ZV9jb25maWd1cmU7DQo+ID4gICAJcnRlX2V0aF9kZXZfcHJpb3JpdHlfZmxv d19jdHJsX3F1ZXVlX2luZm9fZ2V0Ow0KPiA+ICsJcnRlX2Zsb3dfaW5mb19nZXQ7DQo+ID4gKwly dGVfZmxvd19jb25maWd1cmU7DQo+ID4gICB9Ow0KPiA+DQo+ID4gICBJTlRFUk5BTCB7DQoNCg==