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 C372EA04FF for ; Tue, 22 Mar 2022 13:25:48 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9E18D40694; Tue, 22 Mar 2022 13:25:48 +0100 (CET) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by mails.dpdk.org (Postfix) with ESMTP id 662C540694 for ; Tue, 22 Mar 2022 13:25:47 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1647951947; x=1679487947; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=loWep6xgxGTs+k8n9gtljGTI1bQTMp8cL6IsIWKT0pE=; b=j7pjcg/TKN08I9Zkl0lWVxeP7ViRGvMAbaPHhP4gXtar1T/KKdFxKpQW kTUIsl/T2VXel5NwXD3xCpqhM3NP5iCJu7hvqoezilHPABeAGkws58arm 037sHpjCK53dzATDkpn18rQRS3Tq+gbHlYFOVAcm7Bob94z/AT+tMrwgU 3eC3pHoAt07yPCYse1BJ/AUuLESueJhqSqhD4fT4TFRN709m1M27rzshp kPoxuqGekFh38r7+MVyFK0McmEZSlUNJsR6ANKcgF/dV3il/UBR/D2Hf0 H+rNppbLSIRIsQ2Co5i8W722ii8bNQXCejjxlHxO2lYYPekLmkDOGs+OQ Q==; X-IronPort-AV: E=McAfee;i="6200,9189,10293"; a="257753449" X-IronPort-AV: E=Sophos;i="5.90,201,1643702400"; d="scan'208";a="257753449" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Mar 2022 05:25:46 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,201,1643702400"; d="scan'208";a="500551197" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by orsmga003.jf.intel.com with ESMTP; 22 Mar 2022 05:25:46 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Tue, 22 Mar 2022 05:25:45 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.21 via Frontend Transport; Tue, 22 Mar 2022 05:25:45 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.172) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.21; Tue, 22 Mar 2022 05:25:45 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=a8wf7YRkYYiEdV/i2tuUICOTMMkIMRf1rYCZe8NeqBkxBFsHMoXovlZMVctBvlvxW7PMSBciCdbaOJ3LO6PdcTE81SvaHiSjqB0WdlL923nwAh2w3gsaWHXm/vEdEalUn2NTclZQfQFR0xpTFWvqVIeGx9b1p4fMRTZKSvrObmNAeXg2Qqv+Oy5OtMykV3gk2su70vpsVwHVeV8ghpNsK7r9flFXcWpFx3IEIDwXnTIYTFTz+PzF/HPM4wf8nVQFw9LL1uALr1XAwURghlgXihrpLBa0ftGB/8icwTOh1ladzashmPoS/0V/dC0y85S4SNTs3goSCcFUi+A5WyGBYQ== 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=loWep6xgxGTs+k8n9gtljGTI1bQTMp8cL6IsIWKT0pE=; b=cjW+HbbvKIf0gnGwLlHdkbrAlbIGvjaegNONf+UlV/4ydRTq7S5HVMoBEAIjESZDJ0jIaP49WPjQtXLds8ZcChkT4XKrhLaeJUO+e2GAg/DpqJTI03dUt0q2gQCU4p+THM+qBNN91P/X0M2GrEN3BC5zjrQCiHP4QMdLHwmVkdqafnlxEXgDXxuQlH6alktyp78QPBqIe9pKQZhh2HwO9NXuAWmxnMf7rbFEqIF+njVkoKECI/OIlL3qaN9pgHos6L+k1PpeiWqHYjcVSYA6hBxpAXxxCiNaRgmNnX5DfQuvZMFksAnem7Cs29uLELcl8hFq6j7nWZkOAND/mrU/Cg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from DM8PR11MB5591.namprd11.prod.outlook.com (2603:10b6:8:38::23) by PH0PR11MB5593.namprd11.prod.outlook.com (2603:10b6:510:e0::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5081.14; Tue, 22 Mar 2022 12:25:43 +0000 Received: from DM8PR11MB5591.namprd11.prod.outlook.com ([fe80::197a:9bb0:bd82:d69a]) by DM8PR11MB5591.namprd11.prod.outlook.com ([fe80::197a:9bb0:bd82:d69a%6]) with mapi id 15.20.5081.023; Tue, 22 Mar 2022 12:25:42 +0000 From: "De Lara Guarch, Pablo" To: Kevin Traynor , Luca Boccassi CC: "stable@dpdk.org" Subject: RE: [PATCH 20.11 1/2] crypto/ipsec_mb: fix length and offset settings Thread-Topic: [PATCH 20.11 1/2] crypto/ipsec_mb: fix length and offset settings Thread-Index: AQHYN5ONNddM8oO9mUi3RsTVZk3hOqy+zI6AgAt+kxCAACc5gIAA0MmAgAAdVNA= Date: Tue, 22 Mar 2022 12:25:42 +0000 Message-ID: References: <20220314110559.1502861-1-pablo.de.lara.guarch@intel.com> In-Reply-To: Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.6.401.20 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 875eec8a-5827-4d05-50df-08da0bff1563 x-ms-traffictypediagnostic: PH0PR11MB5593:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: faUaII2Vk0JfO/NoA8DvG3UaTfiEFlHna95E73H4I2LNsuxIUhUdkh7BcD04g4txp/ResXWlbcEVSH922yjuTgDm3JBjEkpFr1bs1T6lWeqgdjS7D/kDR5/BZ3Jy0th+ucKUs1TnfqSTTUQeLMB6qkf8rp4Q+UunnEVkOsZjhhwZBUtpIIYISaMlBgH8YgCe1onnuAtcjnbmge26E9urU1vzthehLlC5ho+IiQ2y9n8ZZPJaDgAiySxrLIFw2cZ5tCl5OMZfgSofs8mQp9c/tljZ3WApPmUiT56mHIF85gz7TVc0NyRhOV8FZiHSCFJI+V0neTr4IDknI3I2B5gy3gpHh24VF+yod34AMfCrSLi206bBH2e40K2gBIBlCpF0ApwUb6b4A7ut1u1AhzHLT6jrfc/c2yUovxWCSDMpfDZvLr/96JSkuCMsOzjq6njP1M+Qwul12U3tGm7ZQr74psWVLQzzw9+6gdhi9TwXmWVo6wFAYHFRVbsHkkquKn487wb5JJROTXmtV6VPzpyAGiycEfHLvLyfXG6xfnOlZI9e2FUL/uBJDdVgmSyMsXqurhnamNKpELtS8SMRgINLCZ4eHAmw8y42DgJpiaGfblVlZFh8F7dCUxvbgd8RR6DtYrvuwHwihFaP2Uy9p5xA/N911v744tv5SWW3kzp1VaPtDAsF7hUb354RfhaN4b2TjXbACMu9pif4/g+GJ2Aw/64cAM5zJjWOAVhgv5m+UHJzBrJ5cn9LI/0nLI2KsBwimFvoyGP44WpjVN5OE9K1LdgqDVTQguKWpC/smQ95TFw= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM8PR11MB5591.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(83380400001)(82960400001)(186003)(26005)(86362001)(38070700005)(55016003)(508600001)(33656002)(6506007)(7696005)(66946007)(110136005)(316002)(66476007)(966005)(76116006)(38100700002)(71200400001)(5660300002)(66446008)(64756008)(30864003)(4326008)(52536014)(8936002)(2906002)(8676002)(9686003)(66556008)(53546011)(55236004)(122000001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?OGgxcVR2cjJxRUo4dUhoOW9MS29iQlNYaVkwZGJ5SzhVVzBueDFpNVlFVDl5?= =?utf-8?B?WVV2QWgwNDNWWUtIR2pFZ01aQUIyRGlJamxucW91MGM2UzMycEtCT25nWEg3?= =?utf-8?B?WkpIS3FJMzRMMVZBbmJGK0RsbUsyaWVqMmwvMTNOcmlnU1dQczMwOTN4VXFM?= =?utf-8?B?T0NQeWtMSjNjZi9tZTNRR0ljZ1dKMEZ1SHJOOG05WU15MGJDWDNIN2Y5VXo0?= =?utf-8?B?M1ZsWTlEclE4RWhNRnRCNlRsWW1KSSsvcTJwZ2prdHVKeEpvek9nQkh1bVBL?= =?utf-8?B?RmdvdDFoemNsSmVLVEcxeXY1dlZ2WGh2cStrS1Q2bFRabGFaV0o2STJRSGsy?= =?utf-8?B?RjdVVFB6RnM2VUltQld2Skk0N3laVWhtUkhOMVRKTjdES0Z5SHFEOWxnTXVv?= =?utf-8?B?aHZ4LzVWTmUweDl6VGJTYis2WHVzejRadkxTYTIyUUtyZjFNM2RLMnBGWStz?= =?utf-8?B?aDJwc3hpb1diSEd0ZUYvU0FLZCtmeW9ia0NJbU56c2ZMRGNVTE15R2J4ckl3?= =?utf-8?B?V01QQXd3cDRyTFBZbkt3Uk9SUW10QlR5VUtwZTZMZXRpVDB0S05SaE5FVE1t?= =?utf-8?B?RzQ2a1BtM0dVaVRoUitqWmVvYnVFS1ZJRG1ySzBrdXA3RDB3Yk1TTXdSUHpU?= =?utf-8?B?bmZzYlNNVWxIVDc4cUFRYksram82MUJSdXFhVUlTdTB6TWM5WDJVUDdlY3M4?= =?utf-8?B?QW1EQnZ6ci85VG5PVEsrZ1ZpbGpjekt1S0xJM1pjWU9yeld2RnIrS2t0K3Bj?= =?utf-8?B?OEhNdGx3cS9XV2RpUmYvSEZQNTZRV2I1ek54MlFsWGxNYkZSWEZvQ2M5ZWRD?= =?utf-8?B?NEs4NDRndEVuamhSZlhNS2tzMHhhYWtybjY1bjB1MnFvNzlia2s0YncrQklX?= =?utf-8?B?b1Y5MFdmK3E4Wmt4RmxDcGdxaEc4cE9nMkM0TUlWaUwzbm1mYnpEeDNmYkVF?= =?utf-8?B?RDFUcE9DZWEzdTRQc0lqSllSMmJXZVRDWjNvUXJuMTdSdmg0V0FTc1NSbG5W?= =?utf-8?B?b3R1ZzhtLzRiUE1qdmNxNTRkbXI1QllSTjJ2bytoMHRBL0pEQ2IyelJMYnUr?= =?utf-8?B?N2JZa2w0eFNCNUxSZzFkOGgrcGdUVjZqQVZTOW1lczk2ZkRTZmRIYXNlVmhl?= =?utf-8?B?L1RCYUdpRk1XOGhqcVV3RUFMamc1bFhsbFllaW5yVEQ3SHkvMC9DeGxLZG1o?= =?utf-8?B?aXQxVjViSk5wZFZFUll6TTNDamdWdFFscExuUnBtUjRJa0FHSDlLS0FxdGNs?= =?utf-8?B?d1R2TzcveWM2YW5OUWg5NnZCUnZic0FobG1Jd0FnN2h0SGQvY1RKYUdIZ2dO?= =?utf-8?B?QTVjWHBjeTFiWCtKWDF4TDNiR1g1djYvR0hyL1pUSVBqdHdLajdGQmdMbzVP?= =?utf-8?B?OVJ3TmhhQy9FeDV0SzZMVGFDS3VoU1pUdFVTWmdDV0JDQllhMTlQT2dYM0Ra?= =?utf-8?B?UCtoR09kUkpWaVh6SWFzOE5PSDJtWmlacE03S3UxbVIrd1hyWHRMbHk1dlFX?= =?utf-8?B?L2dlVkg5NGJiSlBZWHhHNDFEZG8zbEJ1OUlLYjR6R1FoclViaUhkS2RQRmh4?= =?utf-8?B?Y0pjYUNCbGZMNm1JdVJ1ajlzYTI5TmRYbnhtZyt5YitabWRoWDgzYWR0aHRx?= =?utf-8?B?cUlERFdmTmpaeUdTQU1Eb0Y2Rnd3RS8vQUxEYlhwR1p0aXN0bS9kOXpseVAv?= =?utf-8?B?clk4SWNwdDZXK29XdDA2U0xQUTBqMnIrc2srN2oxRkpXMmw0cFhRbktyQnlC?= =?utf-8?B?MURjZ3F3bnNBRkMyUzU3Mm1RZGdDWHJ2eE02Q1ZmZDhGM2JoUlJRRWx1NUxQ?= =?utf-8?B?VElFM3ErRlk2Zzh1aGpLdUY4Z0tjbTRwcGs2WmlXeFIxS2tZS2VuQWFnTGJB?= =?utf-8?B?a1l0MTR6bU1GSWVLeGVtczB4bFJ5STJnV21aUU1vTUplQ0RaMnNNNkkrWW5o?= =?utf-8?B?UExFMFE5QjVoTXBxSzduUC9GRmJtRm1GVjRPZnVuZDFQek5zNW5ueVN6a3hJ?= =?utf-8?B?N1FNSHVCWGlBPT0=?= 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: DM8PR11MB5591.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 875eec8a-5827-4d05-50df-08da0bff1563 X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Mar 2022 12:25:42.8805 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 0hckqqRmY/msA3mPlNYWEaEwOMRePJu8MJ5GoF0yVSxfF6jJtz/U428uMT742ZnL83wImqSCiyKSCBHi9VpEpZvMLBvxBbzH54CJZ8L2ZxQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB5593 X-OriginatorOrg: intel.com X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org SGkgS2V2aW4vTHVjYSwNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBL ZXZpbiBUcmF5bm9yIDxrdHJheW5vckByZWRoYXQuY29tPg0KPiBTZW50OiBUdWVzZGF5LCBNYXJj aCAyMiwgMjAyMiAxMDo0MCBBTQ0KPiBUbzogTHVjYSBCb2NjYXNzaSA8Ymx1Y2FAZGViaWFuLm9y Zz47IERlIExhcmEgR3VhcmNoLCBQYWJsbw0KPiA8cGFibG8uZGUubGFyYS5ndWFyY2hAaW50ZWwu Y29tPg0KPiBDYzogc3RhYmxlQGRwZGsub3JnDQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggMjAuMTEg MS8yXSBjcnlwdG8vaXBzZWNfbWI6IGZpeCBsZW5ndGggYW5kIG9mZnNldCBzZXR0aW5ncw0KPiAN Cj4gT24gMjEvMDMvMjAyMiAyMjoxMiwgTHVjYSBCb2NjYXNzaSB3cm90ZToNCj4gPiBPbiBNb24s IDIxIE1hciAyMDIyIGF0IDE5OjU3LCBEZSBMYXJhIEd1YXJjaCwgUGFibG8NCj4gPiA8cGFibG8u ZGUubGFyYS5ndWFyY2hAaW50ZWwuY29tPiB3cm90ZToNCj4gPj4NCj4gPj4gSGkgTHVjYSwNCj4g Pj4NCj4gPj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+PiBGcm9tOiBMdWNhIEJv Y2Nhc3NpIDxibHVjYUBkZWJpYW4ub3JnPg0KPiA+Pj4gU2VudDogTW9uZGF5LCBNYXJjaCAxNCwg MjAyMiAxMjoyMCBQTQ0KPiA+Pj4gVG86IERlIExhcmEgR3VhcmNoLCBQYWJsbyA8cGFibG8uZGUu bGFyYS5ndWFyY2hAaW50ZWwuY29tPjsNCj4gPj4+IHN0YWJsZUBkcGRrLm9yZw0KPiA+Pj4gU3Vi amVjdDogUmU6IFtQQVRDSCAyMC4xMSAxLzJdIGNyeXB0by9pcHNlY19tYjogZml4IGxlbmd0aCBh bmQNCj4gPj4+IG9mZnNldCBzZXR0aW5ncw0KPiA+Pj4NCj4gPj4+IE9uIE1vbiwgMjAyMi0wMy0x NCBhdCAxMTowNSArMDAwMCwgUGFibG8gZGUgTGFyYSB3cm90ZToNCj4gPj4+PiBbIHVwc3RyZWFt IGNvbW1pdCBhNTAxNjA5ZWE2NDY2ZWQ4NTI2YzBkZmFkZWRlZTMzMmE0ZDRhNDUxIF0NCj4gPj4+ Pg0KPiA+Pj4+IEtBU1VNSSwgU05PVzNHIGFuZCBaVUMgcmVxdWlyZSBsZW5ndGhzIGFuZCBvZmZz ZXRzIHRvIGJlIHNldCBpbg0KPiA+Pj4+IGJpdHMgb3IgYnl0ZXMgZGVwZW5kaW5nIG9uIHRoZSBh bGdvcml0aG0uDQo+ID4+Pj4gVGhlcmUgd2VyZSBzb21lIGFsZ29yaXRobXMgdGhhdCB3ZXJlIG1p eGluZyB0aGVzZSB0d28sIHNvIHRoaXMNCj4gPj4+PiBjb21taXQgaXMgZml4aW5nIHRoaXMgaXNz dWUuDQo+ID4+Pj4NCj4gPj4+PiBGaXhlczogYWU4ZTA4NWM2MDhkICgiY3J5cHRvL2Flc25pX21i OiBzdXBwb3J0IEtBU1VNSSBGOC9GOSIpDQo+ID4+Pj4gRml4ZXM6IDZjNDJlMGNmNGQxMiAoImNy eXB0by9hZXNuaV9tYjogc3VwcG9ydCBTTk9XM0ctVUVBMi9VSUEyIikNCj4gPj4+PiBGaXhlczog ZmQ4ZGY4NTQ4N2M0ICgiY3J5cHRvL2Flc25pX21iOiBzdXBwb3J0IFpVQy1FRUEzL0VJQTMiKQ0K PiA+Pj4+DQo+ID4+Pj4gU2lnbmVkLW9mZi1ieTogUGFibG8gZGUgTGFyYSA8cGFibG8uZGUubGFy YS5ndWFyY2hAaW50ZWwuY29tPg0KPiA+Pj4+IC0tLQ0KPiA+Pj4+ICAgZHJpdmVycy9jcnlwdG8v YWVzbmlfbWIvcnRlX2Flc25pX21iX3BtZC5jIHwgMTIxDQo+ID4+Pj4gKysrKysrKysrKysrKysr LS0tLS0tDQo+ID4+Pj4gICAxIGZpbGUgY2hhbmdlZCwgODYgaW5zZXJ0aW9ucygrKSwgMzUgZGVs ZXRpb25zKC0pDQo+ID4+Pj4NCj4gPj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9jcnlwdG8vYWVz bmlfbWIvcnRlX2Flc25pX21iX3BtZC5jDQo+ID4+Pj4gYi9kcml2ZXJzL2NyeXB0by9hZXNuaV9t Yi9ydGVfYWVzbmlfbWJfcG1kLmMNCj4gPj4+PiBpbmRleCBmNGZmYjIxZTEwLi4wN2Y1Y2FhNzZm IDEwMDY0NA0KPiA+Pj4+IC0tLSBhL2RyaXZlcnMvY3J5cHRvL2Flc25pX21iL3J0ZV9hZXNuaV9t Yl9wbWQuYw0KPiA+Pj4+ICsrKyBiL2RyaXZlcnMvY3J5cHRvL2Flc25pX21iL3J0ZV9hZXNuaV9t Yl9wbWQuYw0KPiA+Pj4+IEBAIC0xMDU3LDcgKzEwNTcsOSBAQCBnZXRfc2Vzc2lvbihzdHJ1Y3Qg YWVzbmlfbWJfcXAgKnFwLCBzdHJ1Y3QNCj4gPj4+PiBydGVfY3J5cHRvX29wICpvcCkNCj4gPj4+ Pg0KPiA+Pj4+DQo+ID4+Pj4gICBzdGF0aWMgaW5saW5lIHVpbnQ2NF90DQo+ID4+Pj4gICBhdXRo X3N0YXJ0X29mZnNldChzdHJ1Y3QgcnRlX2NyeXB0b19vcCAqb3AsIHN0cnVjdA0KPiA+Pj4+IGFl c25pX21iX3Nlc3Npb24NCj4gPj4+ICpzZXNzaW9uLA0KPiA+Pj4+IC0gICAgICAgICAgIHVpbnQz Ml90IG9vcCkNCj4gPj4+PiArICAgICAgICAgICB1aW50MzJfdCBvb3AsIGNvbnN0IHVpbnQzMl90 IGF1dGhfb2Zmc2V0LA0KPiA+Pj4+ICsgICAgICAgICAgIGNvbnN0IHVpbnQzMl90IGNpcGhlcl9v ZmZzZXQsIGNvbnN0IHVpbnQzMl90IGF1dGhfbGVuZ3RoLA0KPiA+Pj4+ICsgICAgICAgICAgIGNv bnN0IHVpbnQzMl90IGNpcGhlcl9sZW5ndGgpDQo+ID4+Pj4gICB7DQo+ID4+Pj4gICAgICBzdHJ1 Y3QgcnRlX21idWYgKm1fc3JjLCAqbV9kc3Q7DQo+ID4+Pj4gICAgICB1aW50OF90ICpwX3NyYywg KnBfZHN0Ow0KPiA+Pj4+IEBAIC0xMDY2LDcgKzEwNjgsNyBAQCBhdXRoX3N0YXJ0X29mZnNldChz dHJ1Y3QgcnRlX2NyeXB0b19vcCAqb3AsDQo+ID4+Pj4gc3RydWN0IGFlc25pX21iX3Nlc3Npb24g KnNlc3Npb24sDQo+ID4+Pj4NCj4gPj4+Pg0KPiA+Pj4+ICAgICAgLyogT25seSBjaXBoZXIgdGhl biBoYXNoIG5lZWRzIHNwZWNpYWwgY2FsY3VsYXRpb24uICovDQo+ID4+Pj4gICAgICBpZiAoIW9v cCB8fCBzZXNzaW9uLT5jaGFpbl9vcmRlciAhPSBDSVBIRVJfSEFTSCkNCj4gPj4+PiAtICAgICAg ICAgICByZXR1cm4gb3AtPnN5bS0+YXV0aC5kYXRhLm9mZnNldDsNCj4gPj4+PiArICAgICAgICAg ICByZXR1cm4gYXV0aF9vZmZzZXQ7DQo+ID4+Pj4NCj4gPj4+Pg0KPiA+Pj4+ICAgICAgbV9zcmMg PSBvcC0+c3ltLT5tX3NyYzsNCj4gPj4+PiAgICAgIG1fZHN0ID0gb3AtPnN5bS0+bV9kc3Q7DQo+ ID4+Pj4gQEAgLTEwNzQsMjQgKzEwNzYsMjMgQEAgYXV0aF9zdGFydF9vZmZzZXQoc3RydWN0IHJ0 ZV9jcnlwdG9fb3AgKm9wLA0KPiA+Pj4gc3RydWN0IGFlc25pX21iX3Nlc3Npb24gKnNlc3Npb24s DQo+ID4+Pj4gICAgICBwX3NyYyA9IHJ0ZV9wa3RtYnVmX210b2QobV9zcmMsIHVpbnQ4X3QgKik7 DQo+ID4+Pj4gICAgICBwX2RzdCA9IHJ0ZV9wa3RtYnVmX210b2QobV9kc3QsIHVpbnQ4X3QgKik7 DQo+ID4+Pj4gICAgICB1X3NyYyA9ICh1aW50cHRyX3QpcF9zcmM7DQo+ID4+Pj4gLSAgIHVfZHN0 ID0gKHVpbnRwdHJfdClwX2RzdCArIG9wLT5zeW0tPmF1dGguZGF0YS5vZmZzZXQ7DQo+ID4+Pj4g KyAgIHVfZHN0ID0gKHVpbnRwdHJfdClwX2RzdCArIGF1dGhfb2Zmc2V0Ow0KPiA+Pj4+DQo+ID4+ Pj4NCj4gPj4+PiAgICAgIC8qKg0KPiA+Pj4+ICAgICAgICogQ29weSB0aGUgY29udGVudCBiZXR3 ZWVuIGNpcGhlciBvZmZzZXQgYW5kIGF1dGggb2Zmc2V0IGZvcg0KPiA+Pj4gZ2VuZXJhdGluZw0K PiA+Pj4+ICAgICAgICogY29ycmVjdCBkaWdlc3QuDQo+ID4+Pj4gICAgICAgKi8NCj4gPj4+PiAt ICAgaWYgKG9wLT5zeW0tPmNpcGhlci5kYXRhLm9mZnNldCA+IG9wLT5zeW0tPmF1dGguZGF0YS5v ZmZzZXQpDQo+ID4+Pj4gLSAgICAgICAgICAgbWVtY3B5KHBfZHN0ICsgb3AtPnN5bS0+YXV0aC5k YXRhLm9mZnNldCwNCj4gPj4+PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgcF9zcmMgKyBv cC0+c3ltLT5hdXRoLmRhdGEub2Zmc2V0LA0KPiA+Pj4+IC0gICAgICAgICAgICAgICAgICAgICAg ICAgICBvcC0+c3ltLT5jaXBoZXIuZGF0YS5vZmZzZXQgLQ0KPiA+Pj4+IC0gICAgICAgICAgICAg ICAgICAgICAgICAgICBvcC0+c3ltLT5hdXRoLmRhdGEub2Zmc2V0KTsNCj4gPj4+PiAtDQo+ID4+ Pj4gKyAgIGlmIChjaXBoZXJfb2Zmc2V0ID4gYXV0aF9vZmZzZXQpDQo+ID4+Pj4gKyAgICAgICAg ICAgbWVtY3B5KHBfZHN0ICsgYXV0aF9vZmZzZXQsDQo+ID4+Pj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgIHBfc3JjICsgYXV0aF9vZmZzZXQsDQo+ID4+Pj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgIGNpcGhlcl9vZmZzZXQgLQ0KPiA+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICBhdXRoX29mZnNldCk7DQo+ID4+Pj4gICAgICAvKioNCj4gPj4+PiAgICAgICAqIENvcHkg dGhlIGNvbnRlbnQgYmV0d2VlbiAoY2lwaGVyIG9mZnNldCArIGxlbmd0aCkgYW5kIChhdXRoIG9m ZnNldCArDQo+ID4+Pj4gICAgICAgKiBsZW5ndGgpIGZvciBnZW5lcmF0aW5nIGNvcnJlY3QgZGln ZXN0DQo+ID4+Pj4gICAgICAgKi8NCj4gPj4+PiAtICAgY2lwaGVyX2VuZCA9IG9wLT5zeW0tPmNp cGhlci5kYXRhLm9mZnNldCArIG9wLT5zeW0tDQo+ID4+Pj4gY2lwaGVyLmRhdGEubGVuZ3RoOw0K PiA+Pj4+IC0gICBhdXRoX2VuZCA9IG9wLT5zeW0tPmF1dGguZGF0YS5vZmZzZXQgKyBvcC0+c3lt LT5hdXRoLmRhdGEubGVuZ3RoOw0KPiA+Pj4+ICsgICBjaXBoZXJfZW5kID0gY2lwaGVyX29mZnNl dCArIGNpcGhlcl9sZW5ndGg7DQo+ID4+Pj4gKyAgIGF1dGhfZW5kID0gYXV0aF9vZmZzZXQgKyBh dXRoX2xlbmd0aDsNCj4gPj4+PiAgICAgIGlmIChjaXBoZXJfZW5kIDwgYXV0aF9lbmQpDQo+ID4+ Pj4gICAgICAgICAgICAgIG1lbWNweShwX2RzdCArIGNpcGhlcl9lbmQsIHBfc3JjICsgY2lwaGVy X2VuZCwNCj4gPj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dGhfZW5kIC0gY2lw aGVyX2VuZCk7IEBAIC0xMjQ2LDYNCj4gPj4+PiArMTI0NywxMCBAQCBzZXRfbWJfam9iX3BhcmFt cyhKT0JfQUVTX0hNQUMgKmpvYiwgc3RydWN0DQo+ID4+PiBhZXNuaV9tYl9xcCAqcXAsDQo+ID4+ Pj4gICAgICBzdHJ1Y3QgcnRlX21idWYgKm1fc3JjID0gb3AtPnN5bS0+bV9zcmMsICptX2RzdDsN Cj4gPj4+PiAgICAgIHN0cnVjdCBhZXNuaV9tYl9zZXNzaW9uICpzZXNzaW9uOw0KPiA+Pj4+ICAg ICAgdWludDMyX3QgbV9vZmZzZXQsIG9vcDsNCj4gPj4+PiArICAgdWludDMyX3QgYXV0aF9vZmZf aW5fYnl0ZXM7DQo+ID4+Pj4gKyAgIHVpbnQzMl90IGNpcGhfb2ZmX2luX2J5dGVzOw0KPiA+Pj4+ ICsgICB1aW50MzJfdCBhdXRoX2xlbl9pbl9ieXRlczsNCj4gPj4+PiArICAgdWludDMyX3QgY2lw aF9sZW5faW5fYnl0ZXM7DQo+ID4+Pj4NCj4gPj4+Pg0KPiA+Pj4+ICAgICAgc2Vzc2lvbiA9IGdl dF9zZXNzaW9uKHFwLCBvcCk7DQo+ID4+Pj4gICAgICBpZiAoc2Vzc2lvbiA9PSBOVUxMKSB7DQo+ ID4+Pj4gQEAgLTEzNjIsNiArMTM2Nyw3IEBAIHNldF9tYl9qb2JfcGFyYW1zKEpPQl9BRVNfSE1B QyAqam9iLA0KPiBzdHJ1Y3QNCj4gPj4+IGFlc25pX21iX3FwICpxcCwNCj4gPj4+PiAgICAgIGlm IChqb2ItPmNpcGhlcl9tb2RlID09IElNQl9DSVBIRVJfWlVDX0VFQTMpIHsNCj4gPj4+PiAgICAg ICAgICAgICAgam9iLT5hZXNfZW5jX2tleV9leHBhbmRlZCA9IHNlc3Npb24tPmNpcGhlci56dWNf Y2lwaGVyX2tleTsNCj4gPj4+PiAgICAgICAgICAgICAgam9iLT5hZXNfZGVjX2tleV9leHBhbmRl ZCA9DQo+ID4+Pj4gc2Vzc2lvbi0+Y2lwaGVyLnp1Y19jaXBoZXJfa2V5Ow0KPiA+Pj4+ICsgICAg ICAgICAgIG1fb2Zmc2V0ID4+PSAzOw0KPiA+Pj4+ICAgICAgfSBlbHNlIGlmIChqb2ItPmNpcGhl cl9tb2RlID09IElNQl9DSVBIRVJfU05PVzNHX1VFQTJfQklUTEVOKSB7DQo+ID4+Pj4gICAgICAg ICAgICAgIGpvYi0+ZW5jX2tleXMgPSAmc2Vzc2lvbi0+Y2lwaGVyLnBLZXlTY2hlZF9zbm93M2df Y2lwaGVyOw0KPiA+Pj4+ICAgICAgICAgICAgICBtX29mZnNldCA9IDA7DQo+ID4+Pj4gQEAgLTE0 MTgsOSArMTQyNCw2IEBAIHNldF9tYl9qb2JfcGFyYW1zKEpPQl9BRVNfSE1BQyAqam9iLA0KPiBz dHJ1Y3QNCj4gPj4+PiBhZXNuaV9tYl9xcCAqcXAsDQo+ID4+Pj4NCj4gPj4+Pg0KPiA+Pj4+ICAg ICAgc3dpdGNoIChqb2ItPmhhc2hfYWxnKSB7DQo+ID4+Pj4gICAgICBjYXNlIEFFU19DQ006DQo+ ID4+Pj4gLSAgICAgICAgICAgam9iLT5jaXBoZXJfc3RhcnRfc3JjX29mZnNldF9pbl9ieXRlcyA9 DQo+ID4+Pj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wLT5zeW0tPmFlYWQuZGF0YS5v ZmZzZXQ7DQo+ID4+Pj4gLSAgICAgICAgICAgam9iLT5tc2dfbGVuX3RvX2NpcGhlcl9pbl9ieXRl cyA9IG9wLT5zeW0tDQo+ID4+Pj4gYWVhZC5kYXRhLmxlbmd0aDsNCj4gPj4+PiAgICAgICAgICAg ICAgam9iLT5oYXNoX3N0YXJ0X3NyY19vZmZzZXRfaW5fYnl0ZXMgPSBvcC0+c3ltLQ0KPiA+Pj4+ IGFlYWQuZGF0YS5vZmZzZXQ7DQo+ID4+Pj4gICAgICAgICAgICAgIGpvYi0+bXNnX2xlbl90b19o YXNoX2luX2J5dGVzID0NCj4gPj4+PiBvcC0+c3ltLT5hZWFkLmRhdGEubGVuZ3RoOw0KPiA+Pj4+ DQo+ID4+Pj4NCj4gPj4+PiBAQCAtMTQzMCwxOSArMTQzMywxMSBAQCBzZXRfbWJfam9iX3BhcmFt cyhKT0JfQUVTX0hNQUMgKmpvYiwNCj4gc3RydWN0DQo+ID4+Pj4gYWVzbmlfbWJfcXAgKnFwLA0K PiA+Pj4+DQo+ID4+Pj4NCj4gPj4+PiAgICAgIGNhc2UgQUVTX0dNQUM6DQo+ID4+Pj4gICAgICAg ICAgICAgIGlmIChzZXNzaW9uLT5jaXBoZXIubW9kZSA9PSBHQ00pIHsNCj4gPj4+PiAtICAgICAg ICAgICAgICAgICAgIGpvYi0+Y2lwaGVyX3N0YXJ0X3NyY19vZmZzZXRfaW5fYnl0ZXMgPQ0KPiA+ Pj4+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wLT5zeW0tPmFlYWQuZGF0 YS5vZmZzZXQ7DQo+ID4+Pj4gICAgICAgICAgICAgICAgICAgICAgam9iLT5oYXNoX3N0YXJ0X3Ny Y19vZmZzZXRfaW5fYnl0ZXMgPQ0KPiA+Pj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBvcC0+c3ltLT5hZWFkLmRhdGEub2Zmc2V0Ow0KPiA+Pj4+IC0gICAgICAgICAgICAg ICAgICAgam9iLT5tc2dfbGVuX3RvX2NpcGhlcl9pbl9ieXRlcyA9DQo+ID4+Pj4gLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgb3AtPnN5bS0+YWVhZC5kYXRhLmxlbmd0aDsNCj4g Pj4+PiAgICAgICAgICAgICAgICAgICAgICBqb2ItPm1zZ19sZW5fdG9faGFzaF9pbl9ieXRlcyA9 DQo+ID4+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wLT5zeW0tPmFl YWQuZGF0YS5sZW5ndGg7DQo+ID4+Pj4gICAgICAgICAgICAgIH0gZWxzZSB7DQo+ID4+Pj4gLSAg ICAgICAgICAgICAgICAgICBqb2ItPmNpcGhlcl9zdGFydF9zcmNfb2Zmc2V0X2luX2J5dGVzID0N Cj4gPj4+PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcC0+c3ltLT5hdXRo LmRhdGEub2Zmc2V0Ow0KPiA+Pj4+IC0gICAgICAgICAgICAgICAgICAgam9iLT5oYXNoX3N0YXJ0 X3NyY19vZmZzZXRfaW5fYnl0ZXMgPQ0KPiA+Pj4+IC0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIG9wLT5zeW0tPmF1dGguZGF0YS5vZmZzZXQ7DQo+ID4+Pj4gICAgICAgICAgICAg ICAgICAgICAgam9iLT5tc2dfbGVuX3RvX2NpcGhlcl9pbl9ieXRlcyA9IDA7DQo+ID4+Pj4gICAg ICAgICAgICAgICAgICAgICAgam9iLT5tc2dfbGVuX3RvX2hhc2hfaW5fYnl0ZXMgPSAwOw0KPiA+ Pj4+ICAgICAgICAgICAgICB9DQo+ID4+Pj4gQEAgLTE0NTMsMTAgKzE0NDgsNyBAQCBzZXRfbWJf am9iX3BhcmFtcyhKT0JfQUVTX0hNQUMgKmpvYiwNCj4gc3RydWN0DQo+ID4+Pj4gYWVzbmlfbWJf cXAgKnFwLA0KPiA+Pj4+DQo+ID4+Pj4NCj4gPj4+PiAgICNpZiBJTUJfVkVSU0lPTigwLCA1NCwg MykgPD0gSU1CX1ZFUlNJT05fTlVNDQo+ID4+Pj4gICAgICBjYXNlIElNQl9BVVRIX0NIQUNIQTIw X1BPTFkxMzA1Og0KPiA+Pj4+IC0gICAgICAgICAgIGpvYi0+Y2lwaGVyX3N0YXJ0X3NyY19vZmZz ZXRfaW5fYnl0ZXMgPSBvcC0+c3ltLQ0KPiA+Pj4+IGFlYWQuZGF0YS5vZmZzZXQ7DQo+ID4+Pj4g ICAgICAgICAgICAgIGpvYi0+aGFzaF9zdGFydF9zcmNfb2Zmc2V0X2luX2J5dGVzID0gb3AtPnN5 bS0NCj4gPj4+PiBhZWFkLmRhdGEub2Zmc2V0Ow0KPiA+Pj4+IC0gICAgICAgICAgIGpvYi0+bXNn X2xlbl90b19jaXBoZXJfaW5fYnl0ZXMgPQ0KPiA+Pj4+IC0gICAgICAgICAgICAgICAgICAgICAg ICAgICBvcC0+c3ltLT5hZWFkLmRhdGEubGVuZ3RoOw0KPiA+Pj4+ICAgICAgICAgICAgICBqb2It Pm1zZ19sZW5fdG9faGFzaF9pbl9ieXRlcyA9DQo+ID4+Pj4gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIG9wLT5zeW0tPmFlYWQuZGF0YS5sZW5ndGg7DQo+ID4+Pj4NCj4gPj4+ Pg0KPiA+Pj4+IEBAIC0xNDY0LDI2ICsxNDU2LDg1IEBAIHNldF9tYl9qb2JfcGFyYW1zKEpPQl9B RVNfSE1BQyAqam9iLA0KPiBzdHJ1Y3QNCj4gPj4+IGFlc25pX21iX3FwICpxcCwNCj4gPj4+PiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlc3Npb24tPml2Lm9mZnNldCk7DQo+ID4+Pj4g ICAgICAgICAgICAgIGJyZWFrOw0KPiA+Pj4+ICAgI2VuZGlmDQo+ID4+Pj4gLSAgIGRlZmF1bHQ6 DQo+ID4+Pj4gLSAgICAgICAgICAgLyogRm9yIFNOT1czRywgbGVuZ3RoIGFuZCBvZmZzZXRzIGFy ZSBhbHJlYWR5IGluIGJpdHMgKi8NCj4gPj4+PiAtICAgICAgICAgICBqb2ItPmNpcGhlcl9zdGFy dF9zcmNfb2Zmc2V0X2luX2J5dGVzID0NCj4gPj4+PiAtICAgICAgICAgICAgICAgICAgICAgICAg ICAgb3AtPnN5bS0+Y2lwaGVyLmRhdGEub2Zmc2V0Ow0KPiA+Pj4+IC0gICAgICAgICAgIGpvYi0+ bXNnX2xlbl90b19jaXBoZXJfaW5fYnl0ZXMgPSBvcC0+c3ltLQ0KPiA+Pj4+IGNpcGhlci5kYXRh Lmxlbmd0aDsNCj4gPj4+PiArI2lmIElNQl9WRVJTSU9OKDAsIDUzLCAzKSA8PSBJTUJfVkVSU0lP Tl9OVU0NCj4gPj4+PiArICAgLyogWlVDIGFuZCBTTk9XM0cgcmVxdWlyZSBsZW5ndGggaW4gYml0 cyBhbmQgb2Zmc2V0IGluIGJ5dGVzICovDQo+ID4+Pj4gKyAgIGNhc2UgSU1CX0FVVEhfWlVDX0VJ QTNfQklUTEVOOg0KPiA+Pj4+ICsgICBjYXNlIElNQl9BVVRIX1NOT1czR19VSUEyX0JJVExFTjoN Cj4gPj4+PiArICAgICAgICAgICBhdXRoX29mZl9pbl9ieXRlcyA9IG9wLT5zeW0tPmF1dGguZGF0 YS5vZmZzZXQgPj4gMzsNCj4gPj4+PiArICAgICAgICAgICBjaXBoX29mZl9pbl9ieXRlcyA9IG9w LT5zeW0tPmNpcGhlci5kYXRhLm9mZnNldCA+PiAzOw0KPiA+Pj4+ICsgICAgICAgICAgIGF1dGhf bGVuX2luX2J5dGVzID0gb3AtPnN5bS0+YXV0aC5kYXRhLmxlbmd0aCA+PiAzOw0KPiA+Pj4+ICsg ICAgICAgICAgIGNpcGhfbGVuX2luX2J5dGVzID0gb3AtPnN5bS0+Y2lwaGVyLmRhdGEubGVuZ3Ro ID4+IDM7DQo+ID4+Pj4gKw0KPiA+Pj4+ICsgICAgICAgICAgIGpvYi0+aGFzaF9zdGFydF9zcmNf b2Zmc2V0X2luX2J5dGVzID0gYXV0aF9zdGFydF9vZmZzZXQob3AsDQo+ID4+Pj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgIHNlc3Npb24sIG9vcCwgYXV0aF9vZmZfaW5fYnl0ZXMsDQo+ID4+ Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGNpcGhfb2ZmX2luX2J5dGVzLCBhdXRoX2xl bl9pbl9ieXRlcywNCj4gPj4+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgY2lwaF9sZW5f aW5fYnl0ZXMpOw0KPiA+Pj4+ICsgICAgICAgICAgIGpvYi0+bXNnX2xlbl90b19oYXNoX2luX2Jp dHMgPQ0KPiA+Pj4+ICsgb3AtPnN5bS0+YXV0aC5kYXRhLmxlbmd0aDsNCj4gPj4+PiArDQo+ID4+ Pj4gKyAgICAgICAgICAgam9iLT5pdiA9IHJ0ZV9jcnlwdG9fb3BfY3RvZF9vZmZzZXQob3AsIHVp bnQ4X3QgKiwNCj4gPj4+PiArICAgICAgICAgICAgICAgICAgIHNlc3Npb24tPml2Lm9mZnNldCk7 DQo+ID4+Pj4gKyAgICAgICAgICAgYnJlYWs7DQo+ID4+Pj4gKw0KPiA+Pj4+ICsgICAvKiBLQVNV TUkgcmVxdWlyZXMgbGVuZ3RocyBhbmQgb2Zmc2V0IGluIGJ5dGVzICovDQo+ID4+Pj4gKyAgIGNh c2UgSU1CX0FVVEhfS0FTVU1JX1VJQTE6DQo+ID4+Pj4gKyAgICAgICAgICAgYXV0aF9vZmZfaW5f Ynl0ZXMgPSBvcC0+c3ltLT5hdXRoLmRhdGEub2Zmc2V0ID4+IDM7DQo+ID4+Pj4gKyAgICAgICAg ICAgY2lwaF9vZmZfaW5fYnl0ZXMgPSBvcC0+c3ltLT5jaXBoZXIuZGF0YS5vZmZzZXQgPj4gMzsN Cj4gPj4+PiArICAgICAgICAgICBhdXRoX2xlbl9pbl9ieXRlcyA9IG9wLT5zeW0tPmF1dGguZGF0 YS5sZW5ndGggPj4gMzsNCj4gPj4+PiArICAgICAgICAgICBjaXBoX2xlbl9pbl9ieXRlcyA9IG9w LT5zeW0tPmNpcGhlci5kYXRhLmxlbmd0aCA+PiAzOw0KPiA+Pj4+DQo+ID4+Pj4NCj4gPj4+PiAg ICAgICAgICAgICAgam9iLT5oYXNoX3N0YXJ0X3NyY19vZmZzZXRfaW5fYnl0ZXMgPSBhdXRoX3N0 YXJ0X29mZnNldChvcCwNCj4gPj4+PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vzc2lv biwgb29wKTsNCj4gPj4+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vzc2lvbiwgb29w LCBhdXRoX29mZl9pbl9ieXRlcywNCj4gPj4+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAg Y2lwaF9vZmZfaW5fYnl0ZXMsIGF1dGhfbGVuX2luX2J5dGVzLA0KPiA+Pj4+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICBjaXBoX2xlbl9pbl9ieXRlcyk7DQo+ID4+Pj4gKyAgICAgICAgICAg am9iLT5tc2dfbGVuX3RvX2hhc2hfaW5fYnl0ZXMgPSBhdXRoX2xlbl9pbl9ieXRlczsNCj4gPj4+ PiArDQo+ID4+Pj4gKyAgICAgICAgICAgam9iLT5pdiA9IHJ0ZV9jcnlwdG9fb3BfY3RvZF9vZmZz ZXQob3AsIHVpbnQ4X3QgKiwNCj4gPj4+PiArICAgICAgICAgICAgICAgICAgIHNlc3Npb24tPml2 Lm9mZnNldCk7DQo+ID4+Pj4gKyAgICAgICAgICAgYnJlYWs7DQo+ID4+Pj4gKyNlbmRpZg0KPiA+ Pj4+ICsNCj4gPj4+PiArICAgZGVmYXVsdDoNCj4gPj4+PiArICAgICAgICAgICBqb2ItPmhhc2hf c3RhcnRfc3JjX29mZnNldF9pbl9ieXRlcyA9IGF1dGhfc3RhcnRfb2Zmc2V0KG9wLA0KPiA+Pj4+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXNzaW9uLCBvb3AsIG9wLT5zeW0tPmF1dGgu ZGF0YS5vZmZzZXQsDQo+ID4+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wLT5zeW0t PmNpcGhlci5kYXRhLm9mZnNldCwNCj4gPj4+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAg b3AtPnN5bS0+YXV0aC5kYXRhLmxlbmd0aCwNCj4gPj4+PiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgb3AtPnN5bS0+Y2lwaGVyLmRhdGEubGVuZ3RoKTsNCj4gPj4+PiAgICAgICAgICAgICAg am9iLT5tc2dfbGVuX3RvX2hhc2hfaW5fYnl0ZXMgPQ0KPiA+Pj4+IG9wLT5zeW0tPmF1dGguZGF0 YS5sZW5ndGg7DQo+ID4+Pj4NCj4gPj4+Pg0KPiA+Pj4+ICAgICAgICAgICAgICBqb2ItPml2ID0g cnRlX2NyeXB0b19vcF9jdG9kX29mZnNldChvcCwgdWludDhfdCAqLA0KPiA+Pj4+ICAgICAgICAg ICAgICAgICAgICAgIHNlc3Npb24tPml2Lm9mZnNldCk7DQo+ID4+Pj4gICAgICB9DQo+ID4+Pj4N Cj4gPj4+Pg0KPiA+Pj4+ICsgICBzd2l0Y2ggKGpvYi0+Y2lwaGVyX21vZGUpIHsNCj4gPj4+PiAg ICNpZiBJTUJfVkVSU0lPTigwLCA1MywgMykgPD0gSU1CX1ZFUlNJT05fTlVNDQo+ID4+Pj4gLSAg IGlmIChqb2ItPmNpcGhlcl9tb2RlID09IElNQl9DSVBIRVJfWlVDX0VFQTMpDQo+ID4+Pj4gLSAg ICAgICAgICAgam9iLT5tc2dfbGVuX3RvX2NpcGhlcl9pbl9ieXRlcyA+Pj0gMzsNCj4gPj4+PiAt ICAgZWxzZSBpZiAoam9iLT5oYXNoX2FsZyA9PSBJTUJfQVVUSF9LQVNVTUlfVUlBMSkNCj4gPj4+ PiAtICAgICAgICAgICBqb2ItPm1zZ19sZW5fdG9faGFzaF9pbl9ieXRlcyA+Pj0gMzsNCj4gPj4+ PiArICAgLyogWlVDIHJlcXVpcmVzIGxlbmd0aCBhbmQgb2Zmc2V0IGluIGJ5dGVzICovDQo+ID4+ Pj4gKyAgIGNhc2UgSU1CX0NJUEhFUl9aVUNfRUVBMzoNCj4gPj4+PiArICAgICAgICAgICBqb2It PmNpcGhlcl9zdGFydF9zcmNfb2Zmc2V0X2luX2J5dGVzID0NCj4gPj4+PiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBvcC0+c3ltLT5jaXBoZXIuZGF0YS5vZmZzZXQgPj4gMzsN Cj4gPj4+PiArICAgICAgICAgICBqb2ItPm1zZ19sZW5fdG9fY2lwaGVyX2luX2J5dGVzID0NCj4g Pj4+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcC0+c3ltLT5jaXBoZXIu ZGF0YS5sZW5ndGggPj4gMzsNCj4gPj4+PiArICAgICAgICAgICBicmVhazsNCj4gPj4+PiArICAg LyogWlVDIGFuZCBTTk9XM0cgcmVxdWlyZSBsZW5ndGggYW5kIG9mZnNldCBpbiBiaXRzICovDQo+ ID4+Pj4gKyAgIGNhc2UgSU1CX0NJUEhFUl9TTk9XM0dfVUVBMl9CSVRMRU46DQo+ID4+Pj4gKyAg IGNhc2UgSU1CX0NJUEhFUl9LQVNVTUlfVUVBMV9CSVRMRU46DQo+ID4+Pj4gKyAgICAgICAgICAg am9iLT5jaXBoZXJfc3RhcnRfc3JjX29mZnNldF9pbl9iaXRzID0NCj4gPj4+PiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBvcC0+c3ltLT5jaXBoZXIuZGF0YS5vZmZzZXQ7DQo+ ID4+Pj4gKyAgICAgICAgICAgam9iLT5tc2dfbGVuX3RvX2NpcGhlcl9pbl9iaXRzID0NCj4gPj4+ PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcC0+c3ltLT5jaXBoZXIuZGF0 YS5sZW5ndGg7DQo+ID4+Pj4gKyAgICAgICAgICAgYnJlYWs7DQo+ID4+Pj4gICAjZW5kaWYNCj4g Pj4+PiArICAgY2FzZSBJTUJfQ0lQSEVSX0NDTToNCj4gPj4+PiArICAgY2FzZSBJTUJfQ0lQSEVS X0dDTToNCj4gPj4+PiArICAgY2FzZSBJTUJfQ0lQSEVSX0NIQUNIQTIwX1BPTFkxMzA1Og0KPiA+ Pj4+ICsgICAgICAgICAgIGpvYi0+Y2lwaGVyX3N0YXJ0X3NyY19vZmZzZXRfaW5fYnl0ZXMgPQ0K PiA+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICBvcC0+c3ltLT5hZWFkLmRhdGEub2Zm c2V0Ow0KPiA+Pj4+ICsgICAgICAgICAgIGpvYi0+bXNnX2xlbl90b19jaXBoZXJfaW5fYnl0ZXMg PSBvcC0+c3ltLQ0KPiA+Pj4+IGFlYWQuZGF0YS5sZW5ndGg7DQo+ID4+Pj4gKyAgICAgICAgICAg YnJlYWs7DQo+ID4+Pj4gKyAgIGRlZmF1bHQ6DQo+ID4+Pj4gKyAgICAgICAgICAgam9iLT5jaXBo ZXJfc3RhcnRfc3JjX29mZnNldF9pbl9ieXRlcyA9DQo+ID4+Pj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgb3AtPnN5bS0+Y2lwaGVyLmRhdGEub2Zmc2V0Ow0KPiA+Pj4+ICsg ICAgICAgICAgIGpvYi0+bXNnX2xlbl90b19jaXBoZXJfaW5fYnl0ZXMgPSBvcC0+c3ltLQ0KPiA+ Pj4+IGNpcGhlci5kYXRhLmxlbmd0aDsNCj4gPj4+PiArICAgfQ0KPiA+Pj4+DQo+ID4+Pj4NCj4g Pj4+PiAgICAgIC8qIFNldCB1c2VyIGRhdGEgdG8gYmUgY3J5cHRvIG9wZXJhdGlvbiBkYXRhIHN0 cnVjdCAqLw0KPiA+Pj4+ICAgICAgam9iLT51c2VyX2RhdGEgPSBvcDsNCj4gPj4+DQo+ID4+PiBU aGlzIGJyZWFrcyB0aGUgYnVpbGQgb24gVWJ1bnR1IDIwLjA0Og0KPiA+Pj4NCj4gPj4+IFsgMTk0 NHNdIC4uL2RyaXZlcnMvY3J5cHRvL2Flc25pX21iL3J0ZV9hZXNuaV9tYl9wbWQuYzogSW4gZnVu Y3Rpb24NCj4gPj4+IOKAmHNldF9tYl9qb2JfcGFyYW1z4oCZOg0KPiA+Pj4gWyAxOTQ0c10gLi4v ZHJpdmVycy9jcnlwdG8vYWVzbmlfbWIvcnRlX2Flc25pX21iX3BtZC5jOjE1MjY6NzogZXJyb3I6 DQo+ID4+PiDigJhJTUJfQ0lQSEVSX0dDTeKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhp cyBmdW5jdGlvbikgWyAxOTQ0c10NCj4gPj4+IDE1MjYgfCAgY2FzZQ0KPiA+Pj4gSU1CX0NJUEhF Ul9HQ006DQo+ID4+PiBbIDE5NDRzXSAgICAgICB8ICAgICAgIF5+fn5+fn5+fn5+fn5+DQo+ID4+ PiBbIDE5NDRzXSAuLi9kcml2ZXJzL2NyeXB0by9hZXNuaV9tYi9ydGVfYWVzbmlfbWJfcG1kLmM6 MTUyNjo3OiBub3RlOg0KPiA+Pj4gZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0 ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uDQo+ID4+PiBpdCBhcHBlYXJzIGluIFsgMTk0 NHNdDQo+IC4uL2RyaXZlcnMvY3J5cHRvL2Flc25pX21iL3J0ZV9hZXNuaV9tYl9wbWQuYzoxNTI3 OjMxOiBlcnJvcjoNCj4gPj4+IOKAmElNQl9DSVBIRVJfTlVMTOKAmSB1bmRlY2xhcmVkIChmaXJz dCB1c2UgaW4gdGhpcyBmdW5jdGlvbikNCj4gPj4+IFsgMTk0NHNdICAxNTI3IHwgICBpZiAoc2Vz c2lvbi0+Y2lwaGVyLm1vZGUgPT0gSU1CX0NJUEhFUl9OVUxMKSB7DQo+ID4+PiBbIDE5NDRzXSAg ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fg0KPiA+ Pj4gWyAxOTQ0c10gLi4vZHJpdmVycy9jcnlwdG8vYWVzbmlfbWIvcnRlX2Flc25pX21iX3BtZC5j OjE1Mzg6NzogZXJyb3I6DQo+ID4+PiDigJhJTUJfQ0lQSEVSX0NDTeKAmSB1bmRlY2xhcmVkIChm aXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikgWyAxOTQ0c10NCj4gPj4+IDE1MzggfCAgY2FzZQ0K PiA+Pj4gSU1CX0NJUEhFUl9DQ006DQo+ID4+PiBbIDE5NDRzXSAgICAgICB8ICAgICAgIF5+fn5+ fn5+fn5+fn5+DQo+ID4+PiBbIDE5NDRzXSAuLi9kcml2ZXJzL2NyeXB0by9hZXNuaV9tYi9ydGVf YWVzbmlfbWJfcG1kLmM6MTUzOTo3OiBlcnJvcjoNCj4gPj4+IOKAmElNQl9DSVBIRVJfQ0hBQ0hB MjBfUE9MWTEzMDXigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMNCj4gPj4+IGZ1bmN0 aW9uKTsgZGlkIHlvdSBtZWFuIOKAmFJURV9DUllQVE9fQUVBRF9DSEFDSEEyMF9QT0xZMTMwNeKA mT8NCj4gPj4+IFsgMTk0NHNdICAxNTM5IHwgIGNhc2UgSU1CX0NJUEhFUl9DSEFDSEEyMF9QT0xZ MTMwNToNCj4gPj4+IFsgMTk0NHNdICAgICAgIHwgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fg0KPiA+Pj4gWyAxOTQ0c10gICAgICAgfCAgICAgICBSVEVfQ1JZUFRPX0FFQURfQ0hB Q0hBMjBfUE9MWTEzMDUNCj4gPj4+DQo+ID4+PiBodHRwczovL2J1aWxkLm9wZW5zdXNlLm9yZy9w YWNrYWdlL2xpdmVfYnVpbGRfbG9nL2hvbWU6Ymx1Y2E6ZHBkay9kcA0KPiA+Pj4gZGstDQo+ID4+ PiAyMC4xMS9VYnVudHVfMjAuMDQveDg2XzY0DQo+ID4+DQo+ID4+IEFwb2xvZ2llcywgSSBkaWQg bm90IHNlZSB0aGlzIHRpbGwgdG9kYXkuIEkgZG9uJ3QgdGhpbmsgdGhpcyBwYXRjaCBpcyBhY3R1 YWxseQ0KPiBicmVha2luZyB0aGUgYnVpbGQuDQo+ID4+IFRvIG1lLCBpdCBsb29rcyBsaWtlIGFu IGVudmlyb25tZW50IGlzc3VlIChJTUJfQ0lQSEVSX0dDTSBmb3IgaW5zdGFuY2UgaXMNCj4gYWxy ZWFkeSBwcmVzZW50IGluIHRoZSBjb2RlKS4NCj4gPj4gSSB3b25kZXIgaWYgdGhhdCBzeXN0ZW0g aGFzIHRoZSByaWdodCB2ZXJzaW9uIG9mIElQU2VjIE11bHRpIGJ1ZmZlciBsaWJyYXJ5Lg0KPiA+ PiBPbmx5IHZlcnNpb25zIGZyb20gdjEuMCBvbndhcmRzIGFyZSBzdXBwb3J0ZWQuDQo+ID4+DQo+ ID4+IFRoYW5rcywNCj4gPj4gUGFibG8NCj4gPg0KPiA+IEluIDIwLjExIGlwc2VjLW1iIHYwLjUy LjAgYW5kIG92ZXIgYXJlIHN1cHBvcnRlZDoNCj4gPg0KPiA+IGh0dHBzOi8vZ2l0LmRwZGsub3Jn L2RwZGstc3RhYmxlL3RyZWUvZHJpdmVycy9jcnlwdG8vYWVzbmlfbWIvbWVzb24uYnUNCj4gPiBp bGQ/aD0yMC4xMSNuNA0KPiA+DQo+ID4gSWYgdGhpcyBwYXRjaCByZXF1aXJlcyBhIG5ldyB2ZXJz aW9uIGFuZCBicmVha3MgYmFja3dhcmQNCj4gPiBjb21wYXRpYmlsaXR5LCB0aGVuIGl0IGRvZXMg bm90IGFwcGVhciB0byBiZSBub3Qgc3VpdGFibGUgZm9yDQo+ID4gYmFja3BvcnRpbmcuDQo+ID4N Cj4gDQo+ICsxDQo+IA0KPiBKdXN0IHRvIGNvbmZpcm0gZm9yIDIxLjExIHRoZXJlIHdhcyBhbHJl YWR5IGEgZGVwZW5kZW5jeSBvZiAxLjAuMCwgc28gcGF0Y2hlcw0KPiB3b3VsZCBiZSBzdWl0YWJs ZSBmb3IgaXQuDQoNCkdvdCBpdCEgU28gSSB3aWxsIHN1Ym1pdCBmaXhlZCB2ZXJzaW9ucyBmb3Ig MjAuMTEgYW5kIHNlY29uZCBwYXRjaCBmb3IgMjEuMTEuDQoNClRoYW5rcywNClBhYmxvDQoNCg==