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 C8D6441B9D; Wed, 1 Feb 2023 10:27:59 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B061B42D0B; Wed, 1 Feb 2023 10:27:59 +0100 (CET) Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2041.outbound.protection.outlook.com [40.107.236.41]) by mails.dpdk.org (Postfix) with ESMTP id 500C34114A for ; Wed, 1 Feb 2023 10:27:57 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Hl/P7AnGs+llrP2hhspO2LsZSguwDWAMnKyiJRCtYadVXC6oNZxPhxBT3gBkM8z1uxmCkxMxQzsGN07RSCSIzysUVnGrSGLiOG2DTWT3DP2xehOwD4r932Bnh03SEZMXFnc2zObIDlUBSIN/RWVtZuJ5NfdmY7Jdxvh8Ax3w+SPf7N7hSxT5hRM/WAbhJXACaoqSVicsHzLh1iUqvG+ixcIYAtyVaechPkUHXpQDZ9+tYXp6eiYDXdwTWSdBOnMUKxH55TCVv+cxEbMpYoPpEJYGe2CZD8nyhxH0xt32fGUpBVwtWEV67Cs/15reU+iJ9kco8OECR/0gFicBXWUWgg== 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=8zP4esghX3h07mtJKP6T/pVYz1eMTFFiwyYCa2xSdO8=; b=a76N43DK5XmqhVh5X2JvLmtp4Bfww+YfmTzt15NDRB+zsUcMy4USeLh8LClLZNnxbsAWSOwLKjBFXu99ggbXzaWj/6X6AyvuCRFrEaQRl/dDeoOF3KT5HGrHKahGleFypdrG7NHb1Rvjoi1/UbgqE2fuyhs4jcjh2c8HmLVicuGHmW2VS1rbI/6oo5nV52rLfyKDN1aLd1EYbfC4y/cRTCDjDOdcnebBbM/blvJsbaTzlONms56UE9XetMS895g6qH97XK6O22Ik51cMXmBObQGVA7zaraMk/TszKLkJNViHOBIkMEvlEFLa5D2UHt5roADoqwMmH+F5hTMsI949tw== 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=8zP4esghX3h07mtJKP6T/pVYz1eMTFFiwyYCa2xSdO8=; b=FUG6hdQEXeMPawQNCPrDmG40n7vyf7ZkSWj0TquZ43Li1D4qm9H3QC4T2ONypMnZ4EgU/lBj9hTlQjvI10n7uHGHjA4lyxPVtZ0vmrY+fk2bZigTJj6Da4pdEYILmPbUnf0QE0VKyUGOlsdta9nymuki1G9jiVSvQSBY8aU0EtXJfr2LagCP06XGn2mQgSkaUQfbgmhccHZzoJWvZ1ZCDevN7wpD0vg1swgwj+UEKOmGE8dzR4N7z4X6Fi7q8zycbmeUNue19SPrBDJNMjAU0VM/0xRLe9AuB1tsN5hTmfcxFb3hXZZv40SWYaoyORthDY9Ye4xtuQEkBon8N6iI2Q== Received: from BN9PR12MB5273.namprd12.prod.outlook.com (2603:10b6:408:11e::22) by PH0PR12MB7096.namprd12.prod.outlook.com (2603:10b6:510:21d::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6043.36; Wed, 1 Feb 2023 09:27:54 +0000 Received: from BN9PR12MB5273.namprd12.prod.outlook.com ([fe80::2296:10b9:2661:d795]) by BN9PR12MB5273.namprd12.prod.outlook.com ([fe80::2296:10b9:2661:d795%5]) with mapi id 15.20.6043.038; Wed, 1 Feb 2023 09:27:54 +0000 From: Rongwei Liu To: Andrew Rybchenko , "dev@dpdk.org" , Matan Azrad , Slava Ovsiienko , Ori Kam , "NBU-Contact-Thomas Monjalon (EXTERNAL)" CC: Raslan Darawsheh , Aman Singh , Yuying Zhang , Ferruh Yigit , Olivier Matz Subject: RE: [PATCH v4 1/3] ethdev: add IPv6 routing extension header definition Thread-Topic: [PATCH v4 1/3] ethdev: add IPv6 routing extension header definition Thread-Index: AQHZNVeqkYqIuCPt/0ymZMcyGxsMB6650m+AgAAAgyA= Date: Wed, 1 Feb 2023 09:27:54 +0000 Message-ID: References: <20230130190218.0f6b1b5c@hermes.local> <20230131093657.2240006-1-rongweil@nvidia.com> <20230131093657.2240006-2-rongweil@nvidia.com> In-Reply-To: Accept-Language: zh-CN, 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: BN9PR12MB5273:EE_|PH0PR12MB7096:EE_ x-ms-office365-filtering-correlation-id: 04b5865e-e4e9-4a93-6fcd-08db04369920 x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 6iO88vTMJ4M0fhfjYA5tIRpDyOxwbPQhSsdnKHq/BXx/b7Fap764N+JsRYiBLi6I3o3KGb/a2oWWWrd2T7TITJWljqa6Sy4MzVd+vp5EO5UFn7IXzZej/ywP1UBu+O4X27OTVtJeG0Efq67z+ZJBofJjCEn3CDZUNcQjjfcqR47W1y9hDUl1WWxudkfQqu9GIhSpMIrP7VFqFWsBcIk00Qr9bVvGX8sFbfusG2ijhP3LdLIqeYVFoRQ2/HHZxQHhJva/p6d3v2TcN7TGLr/zpwVoriPOk7qjyC3Gypr+eVK6pbwcisoYbhceT+KDJmCHxLDyI/WDY9S1xWDucclL0CgTdqRQMWCGk5J8VEh2LG1qAOgJ5VNxnCjw0SUxgcgICfRpkjbWldn9XmoD4Om0G/4y3r7F3qIFTZZiz48zxX+/5ZETa31ws+Sga9K4l0ToHYSqKRMo6ZB9o0GkkYjbtePNudBzvQ5Gas6ZI3WSRvSGsajMhhELV6pillbqLxqt9N4mOCLtTDvzbqS8Bbn4svr/5H2FV3x/pAmVkLiDCZSV8WJKLzkU2bT2uMeAMij1RUKGDyWGrbmh3HcUalTbFCU4Q/cfTarDC0DcXrE9ksmqEdkEWLzx+6FWEmHwKgI0268dmvaLzBhMMPTccvqZCw5tVQkGk4Pv97qX/pQ3Upm6Stu5zCdx8gExPgc450TcFCmWpMQGXKOKWa1VSneaBw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BN9PR12MB5273.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230025)(4636009)(136003)(366004)(376002)(396003)(39860400002)(346002)(451199018)(33656002)(2906002)(110136005)(9686003)(316002)(83380400001)(26005)(186003)(54906003)(6506007)(7696005)(41300700001)(53546011)(64756008)(76116006)(86362001)(55016003)(5660300002)(38070700005)(66446008)(52536014)(66946007)(8676002)(8936002)(4326008)(38100700002)(122000001)(478600001)(71200400001)(66476007)(66556008); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?QlJ2S1FTZUlWaytXTjA4L1ZaUU1Vei9ZNGJBUkZkL0ZLVnpyZk1oVnZnM2Y2?= =?utf-8?B?ZzBzeWloV2E1eDltSVpVZ1V1YmRDaGFHQzU4Vjd1UTVxcjZtc0NWa0tBbTVQ?= =?utf-8?B?bTFxVHFFL3A0NDhmWWh1ZFV1VXRXb09wZlBicmQxQk5ySDB5QWd1bVJHVkI5?= =?utf-8?B?emVoWHM5UWc1TjBvZWl0NnhFc3RKNUpNUkxjcFdweSt1L1QzQnMvWXREakJa?= =?utf-8?B?dDRESktiaG5vU01BaWk0SDRCWTBDVUhZS1U1bHZxUUFFVWQ5cnRwcWJrMnNG?= =?utf-8?B?TldaRWZrNUZuU3Axb3F1dlltWTZUSWx5dW1NU3d0RktvSHZieXNrYkJoWWV5?= =?utf-8?B?WFFHVXA5ajA0TVBWenRIenNyRDBPVDBuak1idnNiR0JzaVgrUUV6V3FhQ2pI?= =?utf-8?B?Q1ByKzRURGEzQWQvOVM2aGVKa2ZBSTRMbUROci9FZEx5SFROZVlaSDJGeTM3?= =?utf-8?B?TUYyS2RSNHRoRjVoSVJJUVlrVEEyaDdaN01yMW9COVV5WjlKdm1nYVNoNkc5?= =?utf-8?B?djV6YTE1VVg5WE9xK3VPZzROVkNNb3pwVy9EWEhmWmlNWnJia2tOeVhQeTF5?= =?utf-8?B?aHpkb3E2U20wdG4rc3I0QkNvNWtrbXNiUDFzOCsyMUlyUUxGZW1aR25CbW5L?= =?utf-8?B?U09FQk5xV3ZPcTAySjd6UVZ6UzJIVmdZNUtuZ3ROd3F3RWJYMDMvcUg2WW1L?= =?utf-8?B?WUg5elFuS2hLZ2lhZWVMcGZBK2xSTEFQTTgyMU9ZUXlYQWJBbThnNFdmV1ll?= =?utf-8?B?ckc2UUkyQ3pGS2xIcTI0Yml1UlF3dis4TmpLc2hOZDZobnJocWltTURiY3h5?= =?utf-8?B?emhzUTZLL0Z3Q1MzT3V6dytHQlhPZ2dxc3NUZSs5NXYzU3BESjRjSG9LdUp3?= =?utf-8?B?d001Y0E0V2VqZ1pKei9lamRNdlVHc1E1bCtNeWlHNytXbFlGMXFoSm5RTk5Y?= =?utf-8?B?eURvMmJaNVFNenFpblFpRnNnYzJmK0gvME5FVE1LRXNXeURWa2xrNCtQZ25P?= =?utf-8?B?SFBWbXd4K1YzK1gvb0FBeXEyYlJ0WTB3ZkNBYzBYeVh5MWt5OEFTdk5qMEJn?= =?utf-8?B?TkJhOEJOMlV4RmU1M1A1enhiVmIrSzZkL29mRWlQRzNmZDNWL3JHYTEzOTNo?= =?utf-8?B?ZHJWWmtEWWg1YUorUElIMlYxOXlrMkU3bG9CQ0c3SHdJbHdlUm9PWnRCVzlB?= =?utf-8?B?dUpCckE5WG00bDRST2g4UUNRQzRXVmk0NFlTQmZTdjN5Q21MUk9ucGJuc21G?= =?utf-8?B?dUhZa201bER5bENoM3R6NjhaWnc2OXJlYnFnUnlCS3FVTzV0ekF2QmV6Q0pR?= =?utf-8?B?cVRkOGZjODRuZWhLd1Vaby9tRjQvaGVaeWk4Z2g0eWpmdnJmNm85VEwxczlm?= =?utf-8?B?SEl5MHhLWm9hZUJDSjVnQTRNMUtPbGRMaGtYT0ZNaGVtdTBpb0c5KzV0cmVE?= =?utf-8?B?L0lKNVREcE5INTlIdFBhRGxydmdkdmphUDZEVUhyMndwcjZXNldjZGV6QUJI?= =?utf-8?B?NlVaZEt0U215dU9Ya0VQVVVHeXBFWmZBRmVyczNVY05ndzNZRVJ5OW4wRUcz?= =?utf-8?B?UkMrM3lTbXUyNjEyd2VBRURCT01HcVljU3ZzUGtaelF2T3k1dms0cE5PemNw?= =?utf-8?B?bFBkRnJLUENiTjVNS1pHRTRxek0zTldOVkJ0UCt3L3c5UzFxb2hha2xzeFdj?= =?utf-8?B?MEJ1M1dqT0hOeW1EcFB6OUdpYjFkQkE3OENFbE1Yd0RXWGU0UGtMcUhROXBD?= =?utf-8?B?dG9ucWZ4c1RvTUNlb0NVM3QwNHgxTXEzV2pCZ3RvT3g4NXJ2WFBiSnJnUUJl?= =?utf-8?B?U0NjamZ2VnUwTkdhSTZja2t3SllFL0h1WlBSMDNnM3AxR0JYOERnZjliZEFr?= =?utf-8?B?Z2dRck5ubXBHYUJNM2dqZm16R2VMdytQNnl2SUNqb1V6ZjhyQ3J3NVZZY2FP?= =?utf-8?B?OXBsa2NCWWxCREY4eDBQdzRZY2JMV1pwRWliV1ljYTRYUEJ5eTRyY2ZLd2pX?= =?utf-8?B?Sk1QNnV6aVh0dXk2b21RWW10bzg1WWJjVXVYVm5kZGtrdk1jNzRBN29VMExE?= =?utf-8?B?ZFhJc0VZT3Z6QytVak94K09tSTNVNndGWVpJOVpnOWdBUmpWY3FkVlJ5cVUz?= =?utf-8?Q?M+tQ=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: BN9PR12MB5273.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 04b5865e-e4e9-4a93-6fcd-08db04369920 X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Feb 2023 09:27:54.6684 (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: 1pmEaM4MZO6uWmrsohZYMpq+18wrTD4PF8u06VqX8RQxdWfhj9H3BLADrbpGe1oeigTK1GXYdNpg6Lul8J8AmQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB7096 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 SEkgQW5kcmV3Og0KDQpCUg0KUm9uZ3dlaQ0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0t DQo+IEZyb206IEFuZHJldyBSeWJjaGVua28gPGFuZHJldy5yeWJjaGVua29Ab2t0ZXRsYWJzLnJ1 Pg0KPiBTZW50OiBXZWRuZXNkYXksIEZlYnJ1YXJ5IDEsIDIwMjMgMTc6MjENCj4gVG86IFJvbmd3 ZWkgTGl1IDxyb25nd2VpbEBudmlkaWEuY29tPjsgZGV2QGRwZGsub3JnOyBNYXRhbiBBenJhZA0K PiA8bWF0YW5AbnZpZGlhLmNvbT47IFNsYXZhIE92c2lpZW5rbyA8dmlhY2hlc2xhdm9AbnZpZGlh LmNvbT47IE9yaSBLYW0NCj4gPG9yaWthQG52aWRpYS5jb20+OyBOQlUtQ29udGFjdC1UaG9tYXMg TW9uamFsb24gKEVYVEVSTkFMKQ0KPiA8dGhvbWFzQG1vbmphbG9uLm5ldD4NCj4gQ2M6IFJhc2xh biBEYXJhd3NoZWggPHJhc2xhbmRAbnZpZGlhLmNvbT47IEFtYW4gU2luZ2gNCj4gPGFtYW4uZGVl cC5zaW5naEBpbnRlbC5jb20+OyBZdXlpbmcgWmhhbmcgPHl1eWluZy56aGFuZ0BpbnRlbC5jb20+ Ow0KPiBGZXJydWggWWlnaXQgPGZlcnJ1aC55aWdpdEBhbWQuY29tPjsgT2xpdmllciBNYXR6IDxv bGl2aWVyLm1hdHpANndpbmQuY29tPg0KPiBTdWJqZWN0OiBSZTogW1BBVENIIHY0IDEvM10gZXRo ZGV2OiBhZGQgSVB2NiByb3V0aW5nIGV4dGVuc2lvbiBoZWFkZXINCj4gZGVmaW5pdGlvbg0KPiAN Cj4gRXh0ZXJuYWwgZW1haWw6IFVzZSBjYXV0aW9uIG9wZW5pbmcgbGlua3Mgb3IgYXR0YWNobWVu dHMNCj4gDQo+IA0KPiBPbiAxLzMxLzIzIDEyOjM2LCBSb25nd2VpIExpdSB3cm90ZToNCj4gPiBB ZGQgSVB2NiByb3V0aW5nIGV4dGVuc2lvbiBoZWFkZXIgZGVmaW5pdGlvbiBhbmQgbm8gVExWIHN1 cHBvcnQgZm9yDQo+ID4gbm93Lg0KPiA+DQo+ID4gQXQgcnRlX2Zsb3cgbGF5ZXIsIHRoZXJlIGFy ZSBuZXcgaXRlbXMgZGVmaW5lZCBmb3IgbWF0Y2hpbmcNCj4gPiB0eXBlL25leHRoZHIvc2VnbWVu dHNfbGVmdCBmaWVsZC4NCj4gPg0KPiA+IEFkZCBjb21tYW5kIGxpbmUgc3VwcG9ydCBmb3IgSVB2 NiByb3V0aW5nIGV4dGVuc2lvbiBoZWFkZXINCj4gPiBtYXRjaGluZzogdHlwZS9uZXh0aGRyL3Nl Z21lbnRfbGlzdC4NCj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6IFJvbmd3ZWkgTGl1IDxyb25nd2Vp bEBudmlkaWEuY29tPg0KPiA+IEFja2VkLWJ5OiBPcmkgS2FtIDxvcmlrYUBudmlkaWEuY29tPg0K PiA+IC0tLQ0KPiA+ICAgYXBwL3Rlc3QtcG1kL2NtZGxpbmVfZmxvdy5jICAgICAgICAgICAgfCA0 NiArKysrKysrKysrKysrKysrKysrKysrKysrKw0KPiA+ICAgZG9jL2d1aWRlcy9wcm9nX2d1aWRl L3J0ZV9mbG93LnJzdCAgICAgfCAgOSArKysrKw0KPiA+ICAgZG9jL2d1aWRlcy9yZWxfbm90ZXMv cmVsZWFzZV8yM18wMy5yc3QgfCAgOSArKysrKw0KPiA+ICAgbGliL2V0aGRldi9ydGVfZmxvdy5j ICAgICAgICAgICAgICAgICAgfCAxOSArKysrKysrKysrKw0KPiA+ICAgbGliL2V0aGRldi9ydGVf Zmxvdy5oICAgICAgICAgICAgICAgICAgfCAyMSArKysrKysrKysrKysNCj4gPiAgIGxpYi9uZXQv cnRlX2lwLmggICAgICAgICAgICAgICAgICAgICAgIHwgMTkgKysrKysrKysrKysNCj4gPiAgIDYg ZmlsZXMgY2hhbmdlZCwgMTIzIGluc2VydGlvbnMoKykNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS9h cHAvdGVzdC1wbWQvY21kbGluZV9mbG93LmMgYi9hcHAvdGVzdC1wbWQvY21kbGluZV9mbG93LmMN Cj4gPiBpbmRleCA4ODEwODQ5OGUwLi43YTg1MTY4MjljIDEwMDY0NA0KPiA+IC0tLSBhL2FwcC90 ZXN0LXBtZC9jbWRsaW5lX2Zsb3cuYw0KPiA+ICsrKyBiL2FwcC90ZXN0LXBtZC9jbWRsaW5lX2Zs b3cuYw0KPiA+IEBAIC0yOTgsNiArMjk4LDEwIEBAIGVudW0gaW5kZXggew0KPiA+ICAgICAgIElU RU1fSVBWNl9TUkMsDQo+ID4gICAgICAgSVRFTV9JUFY2X0RTVCwNCj4gPiAgICAgICBJVEVNX0lQ VjZfSEFTX0ZSQUdfRVhULA0KPiA+ICsgICAgIElURU1fSVBWNl9ST1VUSU5HX0VYVCwNCj4gPiAr ICAgICBJVEVNX0lQVjZfUk9VVElOR19FWFRfVFlQRSwNCj4gPiArICAgICBJVEVNX0lQVjZfUk9V VElOR19FWFRfTkVYVF9IRFIsDQo+ID4gKyAgICAgSVRFTV9JUFY2X1JPVVRJTkdfRVhUX1NFR19M RUZULA0KPiA+ICAgICAgIElURU1fSUNNUCwNCj4gPiAgICAgICBJVEVNX0lDTVBfVFlQRSwNCj4g PiAgICAgICBJVEVNX0lDTVBfQ09ERSwNCj4gPiBAQCAtMTMyNiw2ICsxMzMwLDcgQEAgc3RhdGlj IGNvbnN0IGVudW0gaW5kZXggbmV4dF9pdGVtW10gPSB7DQo+ID4gICAgICAgSVRFTV9BUlBfRVRI X0lQVjQsDQo+ID4gICAgICAgSVRFTV9JUFY2X0VYVCwNCj4gPiAgICAgICBJVEVNX0lQVjZfRlJB R19FWFQsDQo+ID4gKyAgICAgSVRFTV9JUFY2X1JPVVRJTkdfRVhULA0KPiA+ICAgICAgIElURU1f SUNNUDYsDQo+ID4gICAgICAgSVRFTV9JQ01QNl9ORF9OUywNCj4gPiAgICAgICBJVEVNX0lDTVA2 X05EX05BLA0KPiA+IEBAIC0xNDM1LDYgKzE0NDAsMTUgQEAgc3RhdGljIGNvbnN0IGVudW0gaW5k ZXggaXRlbV9pcHY2W10gPSB7DQo+ID4gICAgICAgSVRFTV9JUFY2X1NSQywNCj4gPiAgICAgICBJ VEVNX0lQVjZfRFNULA0KPiA+ICAgICAgIElURU1fSVBWNl9IQVNfRlJBR19FWFQsDQo+ID4gKyAg ICAgSVRFTV9JUFY2X1JPVVRJTkdfRVhULA0KPiA+ICsgICAgIElURU1fTkVYVCwNCj4gPiArICAg ICBaRVJPLA0KPiA+ICt9Ow0KPiA+ICsNCj4gPiArc3RhdGljIGNvbnN0IGVudW0gaW5kZXggaXRl bV9pcHY2X3JvdXRpbmdfZXh0W10gPSB7DQo+ID4gKyAgICAgSVRFTV9JUFY2X1JPVVRJTkdfRVhU X1RZUEUsDQo+ID4gKyAgICAgSVRFTV9JUFY2X1JPVVRJTkdfRVhUX05FWFRfSERSLA0KPiA+ICsg ICAgIElURU1fSVBWNl9ST1VUSU5HX0VYVF9TRUdfTEVGVCwNCj4gPiAgICAgICBJVEVNX05FWFQs DQo+ID4gICAgICAgWkVSTywNCj4gPiAgIH07DQo+ID4gQEAgLTM4NDQsNiArMzg1OCwzOCBAQCBz dGF0aWMgY29uc3Qgc3RydWN0IHRva2VuIHRva2VuX2xpc3RbXSA9IHsNCj4gPiAgICAgICAgICAg ICAgIC5hcmdzID0gQVJHUyhBUkdTX0VOVFJZX0JGKHN0cnVjdCBydGVfZmxvd19pdGVtX2lwdjYs DQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXNfZnJhZ19l eHQsIDEpKSwNCj4gPiAgICAgICB9LA0KPiA+ICsgICAgIFtJVEVNX0lQVjZfUk9VVElOR19FWFRd ID0gew0KPiA+ICsgICAgICAgICAgICAgLm5hbWUgPSAiaXB2Nl9yb3V0aW5nX2V4dCIsDQo+ID4g KyAgICAgICAgICAgICAuaGVscCA9ICJtYXRjaCBJUHY2IHJvdXRpbmcgZXh0ZW5zaW9uIGhlYWRl ciIsDQo+ID4gKyAgICAgICAgICAgICAucHJpdiA9IFBSSVZfSVRFTShJUFY2X1JPVVRJTkdfRVhU LA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKHN0cnVjdCBydGVf Zmxvd19pdGVtX2lwdjZfcm91dGluZ19leHQpKSwNCj4gPiArICAgICAgICAgICAgIC5uZXh0ID0g TkVYVChpdGVtX2lwdjZfcm91dGluZ19leHQpLA0KPiA+ICsgICAgICAgICAgICAgLmNhbGwgPSBw YXJzZV92YywNCj4gPiArICAgICB9LA0KPiA+ICsgICAgIFtJVEVNX0lQVjZfUk9VVElOR19FWFRf VFlQRV0gPSB7DQo+ID4gKyAgICAgICAgICAgICAubmFtZSA9ICJleHRfdHlwZSIsDQo+ID4gKyAg ICAgICAgICAgICAuaGVscCA9ICJtYXRjaCBJUHY2IHJvdXRpbmcgZXh0ZW5zaW9uIGhlYWRlciB0 eXBlIiwNCj4gPiArICAgICAgICAgICAgIC5uZXh0ID0gTkVYVChpdGVtX2lwdjZfcm91dGluZ19l eHQsDQo+IE5FWFRfRU5UUlkoQ09NTU9OX1VOU0lHTkVEKSwNCj4gPiArICAgICAgICAgICAgICAg ICAgICAgICAgICBpdGVtX3BhcmFtKSwNCj4gPiArICAgICAgICAgICAgIC5hcmdzID0gQVJHUyhB UkdTX0VOVFJZX0hUT04oc3RydWN0DQo+IHJ0ZV9mbG93X2l0ZW1faXB2Nl9yb3V0aW5nX2V4dCwN Cj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGRyLnR5cGUp KSwNCj4gPiArICAgICB9LA0KPiA+ICsgICAgIFtJVEVNX0lQVjZfUk9VVElOR19FWFRfTkVYVF9I RFJdID0gew0KPiA+ICsgICAgICAgICAgICAgLm5hbWUgPSAiZXh0X25leHRfaGRyIiwNCj4gPiAr ICAgICAgICAgICAgIC5oZWxwID0gIm1hdGNoIElQdjYgcm91dGluZyBleHRlbnNpb24gaGVhZGVy IG5leHQgaGVhZGVyIHR5cGUiLA0KPiA+ICsgICAgICAgICAgICAgLm5leHQgPSBORVhUKGl0ZW1f aXB2Nl9yb3V0aW5nX2V4dCwNCj4gTkVYVF9FTlRSWShDT01NT05fVU5TSUdORUQpLA0KPiA+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1fcGFyYW0pLA0KPiA+ICsgICAgICAgICAgICAg LmFyZ3MgPSBBUkdTKEFSR1NfRU5UUllfSFRPTihzdHJ1Y3QNCj4gcnRlX2Zsb3dfaXRlbV9pcHY2 X3JvdXRpbmdfZXh0LA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBoZHIubmV4dF9oZHIpKSwNCj4gPiArICAgICB9LA0KPiA+ICsgICAgIFtJVEVNX0lQVjZf Uk9VVElOR19FWFRfU0VHX0xFRlRdID0gew0KPiA+ICsgICAgICAgICAgICAgLm5hbWUgPSAiZXh0 X3NlZ19sZWZ0IiwNCj4gPiArICAgICAgICAgICAgIC5oZWxwID0gIm1hdGNoIElQdjYgcm91dGlu ZyBleHRlbnNpb24gaGVhZGVyIHNlZ21lbnQgbGVmdCIsDQo+ID4gKyAgICAgICAgICAgICAubmV4 dCA9IE5FWFQoaXRlbV9pcHY2X3JvdXRpbmdfZXh0LA0KPiBORVhUX0VOVFJZKENPTU1PTl9VTlNJ R05FRCksDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbV9wYXJhbSksDQo+ID4g KyAgICAgICAgICAgICAuYXJncyA9IEFSR1MoQVJHU19FTlRSWV9IVE9OKHN0cnVjdA0KPiBydGVf Zmxvd19pdGVtX2lwdjZfcm91dGluZ19leHQsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGhkci5zZWdtZW50c19sZWZ0KSksDQo+ID4gKyAgICAgfSwNCj4g PiAgICAgICBbSVRFTV9JQ01QXSA9IHsNCj4gPiAgICAgICAgICAgICAgIC5uYW1lID0gImljbXAi LA0KPiA+ICAgICAgICAgICAgICAgLmhlbHAgPSAibWF0Y2ggSUNNUCBoZWFkZXIiLCBkaWZmIC0t Z2l0DQo+ID4gYS9kb2MvZ3VpZGVzL3Byb2dfZ3VpZGUvcnRlX2Zsb3cucnN0DQo+ID4gYi9kb2Mv Z3VpZGVzL3Byb2dfZ3VpZGUvcnRlX2Zsb3cucnN0DQo+ID4gaW5kZXggM2U2MjQyODAzZC4uNjAy ZmFiMjlkMyAxMDA2NDQNCj4gPiAtLS0gYS9kb2MvZ3VpZGVzL3Byb2dfZ3VpZGUvcnRlX2Zsb3cu cnN0DQo+ID4gKysrIGIvZG9jL2d1aWRlcy9wcm9nX2d1aWRlL3J0ZV9mbG93LnJzdA0KPiA+IEBA IC0xNTQ0LDYgKzE1NDQsMTUgQEAgTWF0Y2hlcyBDb2xvciBNYXJrZXIgc2V0IGJ5IGEgTWV0ZXIu DQo+ID4NCj4gPiAgIC0gYGBjb2xvcmBgOiBNZXRlcmluZyBjb2xvciBtYXJrZXIuDQo+ID4NCj4g PiArSXRlbTogYGBJUFY2X1JPVVRJTkdfRVhUYGANCj4gPiArXl5eXl5eXl5eXl5eXl5eXl5eXl5e Xl5eXl4NCj4gPiArDQo+ID4gK01hdGNoZXMgSVB2NiByb3V0aW5nIGV4dGVuc2lvbiBoZWFkZXIu DQo+ID4gKw0KPiA+ICstIGBgbmV4dF9oZHJgYDogTmV4dCBsYXllciBoZWFkZXIgdHlwZS4NCj4g PiArLSBgYHR5cGVgYDogSVB2NiByb3V0aW5nIGV4dGVuc2lvbiBoZWFkZXIgdHlwZS4NCj4gPiAr LSBgYHNlZ21lbnRzX2xlZnRgYDogSG93IG1hbnkgSVB2NiBkZXN0aW5hdGlvbiBhZGRyZXNzZXMg Y2FycmllcyBvbi4NCj4gPiArDQo+ID4gICBBY3Rpb25zDQo+ID4gICB+fn5+fn5+DQo+ID4NCj4g PiBkaWZmIC0tZ2l0IGEvZG9jL2d1aWRlcy9yZWxfbm90ZXMvcmVsZWFzZV8yM18wMy5yc3QNCj4g PiBiL2RvYy9ndWlkZXMvcmVsX25vdGVzL3JlbGVhc2VfMjNfMDMucnN0DQo+ID4gaW5kZXggYzE1 ZjZmYmI5Zi4uMTMzN2RhNzNiOCAxMDA2NDQNCj4gPiAtLS0gYS9kb2MvZ3VpZGVzL3JlbF9ub3Rl cy9yZWxlYXNlXzIzXzAzLnJzdA0KPiA+ICsrKyBiL2RvYy9ndWlkZXMvcmVsX25vdGVzL3JlbGVh c2VfMjNfMDMucnN0DQo+ID4gQEAgLTY5LDYgKzY5LDExIEBAIE5ldyBGZWF0dXJlcw0KPiA+ICAg ICAgIGBgcnRlX2V2ZW50X2Rldl9jb25maWc6Om5iX3NpbmdsZV9saW5rX2V2ZW50X3BvcnRfcXVl dWVzYGAgcGFyYW1ldGVyDQo+ID4gICAgICAgcmVxdWlyZWQgZm9yIGV0aF9yeCwgZXRoX3R4LCBj cnlwdG8gYW5kIHRpbWVyIGV2ZW50ZGV2IGFkYXB0ZXJzLg0KPiA+DQo+ID4gKyogKipBZGRlZCBy dGVfZmxvdyBzdXBwb3J0IGZvciBtYXRjaGluZyBJUHY2IHJvdXRpbmcgZXh0ZW5zaW9uIGhlYWRl cg0KPiA+ICtmaWVsZHMuKioNCj4gPiArDQo+ID4gKyAgQWRkZWQgYGBpcHY2X3JvdXRpbmdfZXh0 YGAgaXRlbXMgaW4gcnRlX2Zsb3cgdG8gbWF0Y2ggSVB2NiByb3V0aW5nDQo+ID4gKyBleHRlbnNp b24gIGhlYWRlci4NCj4gPiArDQo+ID4NCj4gPiAgIFJlbW92ZWQgSXRlbXMNCj4gPiAgIC0tLS0t LS0tLS0tLS0NCj4gPiBAQCAtOTgsNiArMTAzLDEwIEBAIEFQSSBDaGFuZ2VzDQo+ID4gICAgICBB bHNvLCBtYWtlIHN1cmUgdG8gc3RhcnQgdGhlIGFjdHVhbCB0ZXh0IGF0IHRoZSBtYXJnaW4uDQo+ ID4gICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09DQo+ID4NCj4gPiArKiBuZXQ6IGFkZGVkIGEgbmV3IHN0cnVjdHVyZToNCj4gPiArDQo+ ID4gKyAgICAtIElQdjYgcm91dGluZyBleHRlbnNpb24gaGVhZGVyIGBgcnRlX2lwdjZfcm91dGlu Z19leHRgYC4NCj4gPiArDQo+ID4NCj4gPiAgIEFCSSBDaGFuZ2VzDQo+ID4gICAtLS0tLS0tLS0t LQ0KPiA+IGRpZmYgLS1naXQgYS9saWIvZXRoZGV2L3J0ZV9mbG93LmMgYi9saWIvZXRoZGV2L3J0 ZV9mbG93LmMgaW5kZXgNCj4gPiA3ZDBjMjQzNjZjLi44MzMzODJjNDY2IDEwMDY0NA0KPiA+IC0t LSBhL2xpYi9ldGhkZXYvcnRlX2Zsb3cuYw0KPiA+ICsrKyBiL2xpYi9ldGhkZXYvcnRlX2Zsb3cu Yw0KPiA+IEBAIC03Niw2ICs3NiwyMyBAQCBydGVfZmxvd19pdGVtX2ZsZXhfY29udih2b2lkICpi dWYsIGNvbnN0IHZvaWQgKmRhdGEpDQo+ID4gICAgICAgcmV0dXJuIHNyYy0+bGVuZ3RoOw0KPiA+ ICAgfQ0KPiA+DQo+ID4gK3N0YXRpYyBzaXplX3QNCj4gPiArcnRlX2Zsb3dfaXRlbV9pcHY2X3Jv dXRpbmdfZXh0X2NvbnYodm9pZCAqYnVmLCBjb25zdCB2b2lkICpkYXRhKSB7DQo+ID4gKyAgICAg c3RydWN0IHJ0ZV9mbG93X2l0ZW1faXB2Nl9yb3V0aW5nX2V4dCAqZHN0ID0gYnVmOw0KPiA+ICsg ICAgIGNvbnN0IHN0cnVjdCBydGVfZmxvd19pdGVtX2lwdjZfcm91dGluZ19leHQgKnNyYyA9IGRh dGE7DQo+ID4gKyAgICAgc2l6ZV90IGxlbjsNCj4gPiArDQo+ID4gKyAgICAgaWYgKHNyYy0+aGRy Lmhkcl9sZW4pDQo+IA0KPiBQbGVhc2UsIGNvbXBhcmUgdnMgMA0KPiANCj4gPiArICAgICAgICAg ICAgIGxlbiA9IHNyYy0+aGRyLmhkcl9sZW4gPDwgMzsNCj4gPiArICAgICBlbHNlDQo+ID4gKyAg ICAgICAgICAgICBsZW4gPSBzcmMtPmhkci5zZWdtZW50c19sZWZ0IDw8IDQ7DQo+ID4gKyAgICAg aWYgKGRzdCA9PSBOVUxMKQ0KPiA+ICsgICAgICAgICAgICAgcmV0dXJuIDA7DQo+ID4gKyAgICAg bWVtY3B5KGRzdC0+c2VnbWVudHMsIHNyYy0+c2VnbWVudHMsIGxlbik7DQo+ID4gKyAgICAgcmV0 dXJuIGxlbjsNCj4gPiArfQ0KPiA+ICsNCj4gPiAgIC8qKiBHZW5lcmF0ZSBmbG93X2l0ZW1bXSBl bnRyeS4gKi8NCj4gPiAgICNkZWZpbmUgTUtfRkxPV19JVEVNKHQsIHMpIFwNCj4gPiAgICAgICBb UlRFX0ZMT1dfSVRFTV9UWVBFXyAjIyB0XSA9IHsgXCBAQCAtMTU3LDYgKzE3NCw4IEBAIHN0YXRp Yw0KPiA+IGNvbnN0IHN0cnVjdCBydGVfZmxvd19kZXNjX2RhdGEgcnRlX2Zsb3dfZGVzY19pdGVt W10gPSB7DQo+ID4gICAgICAgTUtfRkxPV19JVEVNKEwyVFBWMiwgc2l6ZW9mKHN0cnVjdCBydGVf Zmxvd19pdGVtX2wydHB2MikpLA0KPiA+ICAgICAgIE1LX0ZMT1dfSVRFTShQUFAsIHNpemVvZihz dHJ1Y3QgcnRlX2Zsb3dfaXRlbV9wcHApKSwNCj4gPiAgICAgICBNS19GTE9XX0lURU0oTUVURVJf Q09MT1IsIHNpemVvZihzdHJ1Y3QNCj4gPiBydGVfZmxvd19pdGVtX21ldGVyX2NvbG9yKSksDQo+ ID4gKyAgICAgTUtfRkxPV19JVEVNX0ZOKElQVjZfUk9VVElOR19FWFQsIHNpemVvZihzdHJ1Y3QN Cj4gcnRlX2Zsb3dfaXRlbV9pcHY2X3JvdXRpbmdfZXh0KSwNCj4gPiArICAgICAgICAgICAgICAg ICAgICAgcnRlX2Zsb3dfaXRlbV9pcHY2X3JvdXRpbmdfZXh0X2NvbnYpLA0KPiA+ICAgfTsNCj4g Pg0KPiA+ICAgLyoqIEdlbmVyYXRlIGZsb3dfYWN0aW9uW10gZW50cnkuICovIGRpZmYgLS1naXQN Cj4gPiBhL2xpYi9ldGhkZXYvcnRlX2Zsb3cuaCBiL2xpYi9ldGhkZXYvcnRlX2Zsb3cuaCBpbmRl eA0KPiA+IGI2MDk4N2RiNGIuLmZmOTI3MDY5MGMgMTAwNjQ0DQo+ID4gLS0tIGEvbGliL2V0aGRl di9ydGVfZmxvdy5oDQo+ID4gKysrIGIvbGliL2V0aGRldi9ydGVfZmxvdy5oDQo+ID4gQEAgLTYy NCw2ICs2MjQsMTMgQEAgZW51bSBydGVfZmxvd19pdGVtX3R5cGUgew0KPiA+ICAgICAgICAqIFNl ZSBzdHJ1Y3QgcnRlX2Zsb3dfaXRlbV9tZXRlcl9jb2xvci4NCj4gPiAgICAgICAgKi8NCj4gPiAg ICAgICBSVEVfRkxPV19JVEVNX1RZUEVfTUVURVJfQ09MT1IsDQo+ID4gKw0KPiA+ICsgICAgIC8q Kg0KPiA+ICsgICAgICAqIE1hdGNoZXMgdGhlIHByZXNlbmNlIG9mIElQdjYgcm91dGluZyBleHRl bnNpb24gaGVhZGVyLg0KPiA+ICsgICAgICAqDQo+ID4gKyAgICAgICogQHNlZSBzdHJ1Y3QgcnRl X2Zsb3dfaXRlbV9pcHY2X3JvdXRpbmdfZXh0Lg0KPiA+ICsgICAgICAqLw0KPiA+ICsgICAgIFJU RV9GTE9XX0lURU1fVFlQRV9JUFY2X1JPVVRJTkdfRVhULA0KPiA+ICAgfTsNCj4gPg0KPiA+ICAg LyoqDQo+ID4gQEAgLTg3Myw2ICs4ODAsMjAgQEAgc3RydWN0IHJ0ZV9mbG93X2l0ZW1faXB2NiB7 DQo+ID4gICAgICAgdWludDMyX3QgcmVzZXJ2ZWQ6MjM7DQo+ID4gICB9Ow0KPiA+DQo+ID4gKy8q Kg0KPiA+ICsgKiBAd2FybmluZw0KPiA+ICsgKiBAYiBFWFBFUklNRU5UQUw6IHRoaXMgc3RydWN0 dXJlIG1heSBjaGFuZ2Ugd2l0aG91dCBwcmlvciBub3RpY2UNCj4gPiArICoNCj4gPiArICogUlRF X0ZMT1dfSVRFTV9UWVBFX0lQVjZfUk9VVElOR19FWFQuDQo+ID4gKyAqDQo+ID4gKyAqIE1hdGNo ZXMgYW4gSVB2NiByb3V0aW5nIGV4dGVuc2lvbiBoZWFkZXIuDQo+ID4gKyAqLw0KPiA+ICtzdHJ1 Y3QgcnRlX2Zsb3dfaXRlbV9pcHY2X3JvdXRpbmdfZXh0IHsNCj4gPiArICAgICBzdHJ1Y3QgcnRl X2lwdjZfcm91dGluZ19leHQgaGRyOw0KPiA+ICsgICAgIF9fZXh0ZW5zaW9uX18NCj4gPiArICAg ICBydGVfYmUzMl90IHNlZ21lbnRzW107IC8qKjwgRWFjaCBob3AgSVB2NiBhZGRyZXNzLiAqLw0K PiANCj4gRG8gd2UgcmVhbGx5IG5lZWQgaXQ/IEFyZSB5b3UgZ29pbmcgdG8gc3VwcG9ydCBpdD8N Cj4gV2lsbCB0ZXN0cG1kIGFuZCBmbG93IGNvbmYgd29yayBjb3JyZWN0bHkgc2luY2UgaXQgdXNl cyBzaXplIG9mIHRoZSBzdHJ1Y3R1cmU/DQo+IA0KSW4gdGhlIHJ0ZV9mbG93LmMgYW5kIHRlc3Rw bWQgcmF3X2VuY2FwKCkgZnVuY3Rpb24sIGl0IHJlbGllcyBvbiB0aGUgaGRyX2xlbiBvciBzZWdt ZW50X2xlZnQgZmlsZCBub3Qgc2l6ZW9mIHRoaXMgc3RydWN0dXJlLg0KPiBJTUhPIHdlIHNob3Vs ZCBqdXN0IHJlbW92ZSBpdCByaWdodCBub3cgaWYgd2UncmUgbm90IGdvaW5nIHRvIHN1cHBvcnQg aXQuDQo+IA0KSW4gbWF0Y2hpbmcsIHdlIGRvbid0IHN1cHBvcnQgc2VnbWVudHMgZmllbGQuIEkg YW0gb2sgdG8gcmVtb3ZlIGl0LiANCj4gPiArfTsNCj4gPiArDQo+ID4gICAvKiogRGVmYXVsdCBt YXNrIGZvciBSVEVfRkxPV19JVEVNX1RZUEVfSVBWNi4gKi8NCj4gPiAgICNpZm5kZWYgX19jcGx1 c3BsdXMNCj4gPiAgIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcnRlX2Zsb3dfaXRlbV9pcHY2IHJ0ZV9m bG93X2l0ZW1faXB2Nl9tYXNrID0gew0KPiA+IGRpZmYgLS1naXQgYS9saWIvbmV0L3J0ZV9pcC5o IGIvbGliL25ldC9ydGVfaXAuaCBpbmRleA0KPiA+IDljOGU4MjA2ZjAuLjc3OGZiNWVmODMgMTAw NjQ0DQo+ID4gLS0tIGEvbGliL25ldC9ydGVfaXAuaA0KPiA+ICsrKyBiL2xpYi9uZXQvcnRlX2lw LmgNCj4gPiBAQCAtNTM5LDYgKzUzOSwyNSBAQCBzdHJ1Y3QgcnRlX2lwdjZfaGRyIHsNCj4gPiAg ICAgICB1aW50OF90ICBkc3RfYWRkclsxNl07ICAvKio8IElQIGFkZHJlc3Mgb2YgZGVzdGluYXRp b24gaG9zdChzKS4gKi8NCj4gPiAgIH0gX19ydGVfcGFja2VkOw0KPiA+DQo+ID4gKy8qKg0KPiA+ ICsgKiBJUHY2IFJvdXRpbmcgRXh0ZW5zaW9uIEhlYWRlcg0KPiA+ICsgKi8NCj4gPiArc3RydWN0 IHJ0ZV9pcHY2X3JvdXRpbmdfZXh0IHsNCj4gPiArICAgICB1aW50OF90IG5leHRfaGRyOyAgICAg ICAgICAgICAgICAgICAgICAgLyoqPCBQcm90b2NvbCwgbmV4dCBoZWFkZXIuICovDQo+ID4gKyAg ICAgdWludDhfdCBoZHJfbGVuOyAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgSGVhZGVyIGxl bmd0aC4gKi8NCj4gPiArICAgICB1aW50OF90IHR5cGU7ICAgICAgICAgICAgICAgICAgICAgICAg ICAgLyoqPCBFeHRlbnNpb24gaGVhZGVyIHR5cGUuICovDQo+ID4gKyAgICAgdWludDhfdCBzZWdt ZW50c19sZWZ0OyAgICAgICAgICAgICAgICAgIC8qKjwgVmFsaWQgc2VnbWVudHMgbnVtYmVyLiAq Lw0KPiA+ICsgICAgIF9fZXh0ZW5zaW9uX18NCj4gPiArICAgICB1bmlvbiB7DQo+ID4gKyAgICAg ICAgICAgICBydGVfYmUzMl90IGZsYWdzOw0KPiANCj4gZmxhZ3Mgc2hvdWxkIGJlIGRvY3VtZW50 ZWQgYXMgd2VsbC4NClN1cmUuDQo+IA0KPiA+ICsgICAgICAgICAgICAgc3RydWN0IHsNCj4gPiAr ICAgICAgICAgICAgICAgICAgICAgdWludDhfdCBsYXN0X2VudHJ5OyAgICAgLyoqPCBUaGUgbGFz dF9lbnRyeSBmaWVsZCBvZiBTUkggKi8NCj4gPiArICAgICAgICAgICAgICAgICAgICAgdWludDhf dCBmbGFnOyAgICAgICAgICAgLyoqPCBQYWNrZXQgZmxhZy4gKi8NCj4gPiArICAgICAgICAgICAg ICAgICAgICAgcnRlX2JlMTZfdCB0YWc7ICAgICAgICAgLyoqPCBQYWNrZXQgdGFnLiAqLw0KPiA+ ICsgICAgICAgICAgICAgfTsNCj4gPiArICAgICB9Ow0KPiANCj4gTWF5IGJlIHdlIHNob3VsZCBh ZGQgYSBjb21tZW50IGhlcmUgdGhhdCBzZWdtZW50cyBmb2xsb3c/DQpTdXJlLg0KPiANCj4gPiAr fSBfX3J0ZV9wYWNrZWQ7DQo+ID4gKw0KPiA+ICAgLyogSVB2NiB2dGNfZmxvdzogSVB2IC8gVEMg LyBmbG93X2xhYmVsICovDQo+ID4gICAjZGVmaW5lIFJURV9JUFY2X0hEUl9GTF9TSElGVCAwDQo+ ID4gICAjZGVmaW5lIFJURV9JUFY2X0hEUl9UQ19TSElGVCAyMA0KDQo=