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 AB1E5426C4; Thu, 5 Oct 2023 19:59:48 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 31553402AE; Thu, 5 Oct 2023 19:59:48 +0200 (CEST) Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.115]) by mails.dpdk.org (Postfix) with ESMTP id D25174028A for ; Thu, 5 Oct 2023 19:59:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1696528786; x=1728064786; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=RYTbXjFeYyG41DklriL51lY4WaClduIFVc5Am7PS+Fw=; b=M546bKpleKdpdLr6KCXyh8epR8xkmrUHvKLkAG1vHY9XEyTTfjirKQ4a AMxqs65RXck29mcce1Bnkphet8cFm60rz5oUJExWwi81XE9j52HJcQoOd Np9hfob0fUqNLqIYcW4luXvavqDWce7ZNnkjufEYNwZJsmZuglpohkSQ8 PIpnUP9QaRUNdLf4bTUkwvBT0sH4yA5vV2Dvmm4r6cMBejeftS6Lvl45V y6JAvR/81mW28h1DlEQM/WeElbqQmjo7v2bilpLIGvLPPP7Lq90vxxycn qztvq9FWo4YxptrYIfqhODUVrKGVPyTVPpu6xEGAUX+llkGH5TFrd7SFk w==; X-IronPort-AV: E=McAfee;i="6600,9927,10854"; a="383468396" X-IronPort-AV: E=Sophos;i="6.03,203,1694761200"; d="scan'208";a="383468396" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Oct 2023 10:59:44 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10854"; a="842504498" X-IronPort-AV: E=Sophos;i="6.03,203,1694761200"; d="scan'208";a="842504498" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by FMSMGA003.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 05 Oct 2023 10:59:44 -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.2507.32; Thu, 5 Oct 2023 10:59:43 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) 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.2507.32 via Frontend Transport; Thu, 5 Oct 2023 10:59:43 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.101) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.32; Thu, 5 Oct 2023 10:59:07 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Hd6wE1/wMe5OnjHmd1boS9eF8KpZn9kVl26xBGP8qDYPtJIcXpR3cBU+viqg5FTIM/Vjy2kGvqJgkdMCgn19Umb9mNiY0I/0wj1jrGcHY+NaSkjIuRnI4w5lhyL1ALMUtUa5OMwIX9dl24dbXd0Tjps2FwBJCoaPyLYOgrvEHK2/3tmZMTpXtwvMv3I+fwiQqvlhRaGcH1a5b/Qrk2afFVSRhjVvzw/rzz4twD4C1Bp7T2UGkw0VhpV0MNZGWrZ+ehCuoCNLOAscFZGZk3XVoCeeEKr38ZUDWF1wcpuWfYM9fx9g0rqW1TkGCsXX97z0LDl09EGmUAH9I6hnPNmewA== 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=RYTbXjFeYyG41DklriL51lY4WaClduIFVc5Am7PS+Fw=; b=VEduaeo+uvFCF4W00NP0m6UunX0JDGh8QRU1/49/J/3N4SkdbPQi5QerpntTvWsfdkv+NCuuJWEjSXXXDwRSetVll8wcn/UYczgvY/GzVejlujsZZLXAHCx+8SIlbg1yLKd9V5HTH2b//pTcxcC14GuecxuRoNBO4an5iVyRnKYNsbm/oDyvR4CzvkWAFuADyX/0EhLRFJoIxcVKLLHH8cLuEiC4k19MLyBFacojOao2MYXT3Y9r8GgIui2yZmHAHzmAzkTNYpDOeOfxVbRdQMNcnYr8XVy+ojNsdW59p/jVLbOQOxv59/Iv6ppWmwS7LDCyM1veHPFPywh/FbYemA== 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 BY5PR11MB4451.namprd11.prod.outlook.com (2603:10b6:a03:1cb::30) by MW6PR11MB8389.namprd11.prod.outlook.com (2603:10b6:303:23d::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6838.34; Thu, 5 Oct 2023 17:59:05 +0000 Received: from BY5PR11MB4451.namprd11.prod.outlook.com ([fe80::c10d:65be:798a:520a]) by BY5PR11MB4451.namprd11.prod.outlook.com ([fe80::c10d:65be:798a:520a%7]) with mapi id 15.20.6838.033; Thu, 5 Oct 2023 17:59:05 +0000 From: "Chautru, Nicolas" To: Maxime Coquelin , "dev@dpdk.org" CC: "hemant.agrawal@nxp.com" , "david.marchand@redhat.com" , "Vargas, Hernan" Subject: RE: [PATCH v3 09/12] baseband/acc: add FFT support to VRB2 variant Thread-Topic: [PATCH v3 09/12] baseband/acc: add FFT support to VRB2 variant Thread-Index: AQHZ8vNW+MPrMblvskisqHkYQNCUuLA4KC0AgAA96jCAANfmAIAA67QAgAEin4CAADgm4A== Date: Thu, 5 Oct 2023 17:59:04 +0000 Message-ID: References: <20230929163516.3636499-1-nicolas.chautru@intel.com> <20230929163516.3636499-10-nicolas.chautru@intel.com> <32b6b788-eae3-8540-07da-ff528b06de2b@redhat.com> <21e67536-887e-4a2e-c650-2f056c0d0c6a@redhat.com> In-Reply-To: <21e67536-887e-4a2e-c650-2f056c0d0c6a@redhat.com> 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=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: BY5PR11MB4451:EE_|MW6PR11MB8389:EE_ x-ms-office365-filtering-correlation-id: 83edd89c-4921-47cc-e465-08dbc5ccc3b4 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: rVHjbYiAa6R2pNEFuEHGXhVazBUKFE/eNa5s7lsLdzjNxdRXruaazSfPUbIDn6EZtwZpo/TMGar2xnGHqx4i0W2kKf957GBBlTIxRKbsDnsrxccn9OM5OEqsrvVcaOv0mQLGXgtsDI0a9xjtZsek/9sZu8F33PFP1BDqjJNduuKILpt4LIooz33/POnaFe1YYyyvPtyn0+hwWT/Z5lBvl8cFlnXxlRZq5ziuCYcOzV5aWK2/YIqe/tOauCm0t0u443GCplLVefBQnyc3k90ujrb3nS6NBTVhgNNvhBSagJrtm1JQuC0xP5UufElB8KTk9ojSt+Ktwm/eHOEb9jL35dpyHDV7lF/KroJd01D61bBAPbgr0WBasfN7EJwK3jx+LE5glGjoTuiJJCSTS8WpJu3+JoG6pnBCMfR/oIFh7NobTy3RK7RaPfQ7Mc3Vt0qsqypXUya8GqMlyxSLEwn6AnX7ejlEnq+QaBnE1rOVKj58N/sumWrHTNiBtgda7rnzfYX80SR+OWxUjDmFZXn4tbdWY51tnLEBNb3uEVm1NaogxLKWGaXczkYigCTpBEGxsvgHIBFTrtnYmPMYYMghA22HV4q//tVeZ/s6Nr14uVtruudrHpUYH/LX31SK3cLk x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BY5PR11MB4451.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(396003)(346002)(366004)(376002)(39860400002)(136003)(230922051799003)(1800799009)(451199024)(186009)(64100799003)(7696005)(9686003)(107886003)(6506007)(53546011)(38100700002)(55016003)(33656002)(38070700005)(82960400001)(86362001)(122000001)(52536014)(30864003)(64756008)(2906002)(54906003)(26005)(316002)(71200400001)(478600001)(83380400001)(4326008)(8676002)(8936002)(41300700001)(110136005)(66946007)(5660300002)(66476007)(66556008)(66446008)(76116006); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?TXZqZ0VpU0pqWVZIb1pqbWZCWnB5Mzdva0R5NlgzSmJSbXZFNXNSS1Bobjc5?= =?utf-8?B?TGhFQ1hwWjFDTGNSZ29FYzc4OHJTY2RORnh5R25nYmpldmZQK2ZvWjRxVE9u?= =?utf-8?B?em5aNmtWMVBkeFR0WEJtOUExclcwVjcyZkcxY2luTHNLcEpKOFJrVnJUeG5S?= =?utf-8?B?N0xJUHQ3WjhleDNHWVVycisvZzRoWUp5NWxOQkdhRHBEVTFlVm1ZcU1URThy?= =?utf-8?B?Q2hXUEdSOEVyWmp6blM3MWVycXVHL3B3SVA1R2p6ZUJHemd2ZVFJU0h3YlZR?= =?utf-8?B?Z2xBU1pNZnlzalpoRm1nTDVNd1hyNEJwVWFOaEd4RnYzd1hWNml1NDVGaDRQ?= =?utf-8?B?cC9SaDdOS2xMVUJFanhwK0VwWjdsdzZRakFnT2dma1pETWJ2WXFSZTVkUDI4?= =?utf-8?B?Qnh6YzVTQkgxcFI5eTc4Y3ZDTGc5K3NNR2xGc05lblA5akZPdlNNSGFjNTUz?= =?utf-8?B?UHRGQ1JRR3J0UmVLa09BcjBNeE0zSzJxTzZvcllFMkREc0FMYllGTWxET2dz?= =?utf-8?B?bnZ6UnlpMDFEWmUrUlFWbkhaYmNnR2hiYWI4dlVWZndLK2p1Z3I1MzJWNWFn?= =?utf-8?B?aEpYZEw1NU1zMlIzZ1BHQW1oZVdDOUF2VmVMRkpiSkJ4d0M3VkZ4N2wzUGQ5?= =?utf-8?B?THRNY3pyeVRWQjIrbWtLemFTV0xRZFlPYWEyZkRTbnJjVVplUGJmYnMreWkr?= =?utf-8?B?L2JGaFk4NWtBdlZ6elBNTVg0Y2RidnRVSElsNUdQbURIQlRKc0Iwc0RxUzZK?= =?utf-8?B?Y3ZlWUpBb3QvdHNSNDBkTGlkejNRdFJRRW5CVDRLN2tmZlpKN2JNaTNFbFlS?= =?utf-8?B?dmNZSzJlNE5RNEZTeDNsanRYSDBKZVc5TVIwVTdVaURydTlLQzdiOVh3L09i?= =?utf-8?B?NVJ5YUVveUw1STJxQ0NGUjJjd1RPTGNoOXRxTHJvdkIzUEVkQzNCT2ltZGZ5?= =?utf-8?B?MmVnMUJ5bVpwOHhCRFJ6bXRFQ0tPc1lzZG5uN1BwYjdJT1JmVjVVd3BzNTRp?= =?utf-8?B?TlFweW1yN2JPVVJDLzllZXRGWUk5U2VNMSt6OTI2cWZPZWxmZlcyV09VOHRM?= =?utf-8?B?QjRkQlF3V3RIOFVKbWNlTGVwOXFIVDRqYkJHd2kvQUpZdnFiREtMT2svSWFN?= =?utf-8?B?cm1zcVRDTU5Oc3hiL0hLMWthL0JJNXpRaTM2ZE1hTzhkTEp4TTJTeDJjd21r?= =?utf-8?B?c1R4Q2xwNWdPekRTcHVKUCttbVhIRTUrZXkxN1FUbEZJemZackErcEhWY0d1?= =?utf-8?B?V0N4K1czbnQwejNDaWhYV2hjcDNhQlkwdVBITTJDaGk3TE5Lb2t5ZUZ0TDhK?= =?utf-8?B?SDZ5aGtsZDBFNWpnNE1HTGQ0UHdSUGxlRlhheHlJN2lrbWtEK2JWMU0yNHpJ?= =?utf-8?B?b2ZpdEdBd1dVYU80RFBJRTdaaUxlazdyUlVqbGNpQitHUVRyWWYzVlFSWFdt?= =?utf-8?B?WjhsNW4rQWd3WFZ0eTExM0p0aUlCMjBoVWwvcTFsK2hCTGYxQnM5TE92K2Nt?= =?utf-8?B?Z3E2dFNhNk9oekRSTzE5OFA2cW9mb1BYbmZnK1JDTGQ2dlk4Um1jVHpHRjlY?= =?utf-8?B?Z0hkNlJqNFFBeFZia0lLWE5WTWpHQkQvM2lIZHcvUXVYYy9uK1YwaEJNQi9T?= =?utf-8?B?bWlLSmdRY255TGQvOFltS3Iva1RFdzZ1UzdqVjZuQitKeUdTMDJOS2FTNXpY?= =?utf-8?B?VHVJQ1RvRWhZY0N6cnhHc1JyUUdFalNlL0tVbVpwUzQ2WHJCMUlZR3pCQU1B?= =?utf-8?B?VDlVdHZtb1oyZzhRL3p4bXZyWVZGaTk5N3VYd05XalRGY3BWYjlTM3ZobjZz?= =?utf-8?B?V2FGRjNwQno2Z3FlejNmUUVUS1l3VmZ3VFBQYmZ5K3pTLzlpMGFabmlqem92?= =?utf-8?B?aFViTHE4eDFEUGFvVzlQYnhrZGh6aFpMU3RyOXYvYW83RTRYbEVsK2szZUZX?= =?utf-8?B?NFllc2pOc1NHUEpZczVQcjhYcFphaUtCN0FNT0dibU5aZStkNGNkcjVvVFlI?= =?utf-8?B?WHNEdFNhc1k3WVZPL2s0UTAwQklYRkpqN2k1UUJGdUhEOXI1cTZBaXVDQ0Rx?= =?utf-8?B?QzFmZFRuZ2FVU0p2ZXBGOTV3MFp6a1JKd2RDMERrRnBqTkhQUlR4U2taelVS?= =?utf-8?Q?u1+l++v4XCtamuZoPHNO2dlrt?= 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: BY5PR11MB4451.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 83edd89c-4921-47cc-e465-08dbc5ccc3b4 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Oct 2023 17:59:05.0101 (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: gJt+bSm2TLfjUiyyDLcNy4pjo+gZl93VMq4S15trRXNiExuiRku5O4gPcgjCMULlNWvU00gIC4Sc+6pYB79awC5+dtuLCcEwZ9P9boYPQMM= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW6PR11MB8389 X-OriginatorOrg: intel.com 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 SGkgTWF4aW1lLCANCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBNYXhp bWUgQ29xdWVsaW4gPG1heGltZS5jb3F1ZWxpbkByZWRoYXQuY29tPg0KPiBTZW50OiBUaHVyc2Rh eSwgT2N0b2JlciA1LCAyMDIzIDc6MzUgQU0NCj4gVG86IENoYXV0cnUsIE5pY29sYXMgPG5pY29s YXMuY2hhdXRydUBpbnRlbC5jb20+OyBkZXZAZHBkay5vcmcNCj4gQ2M6IGhlbWFudC5hZ3Jhd2Fs QG54cC5jb207IGRhdmlkLm1hcmNoYW5kQHJlZGhhdC5jb207IFZhcmdhcywgSGVybmFuDQo+IDxo ZXJuYW4udmFyZ2FzQGludGVsLmNvbT4NCj4gU3ViamVjdDogUmU6IFtQQVRDSCB2MyAwOS8xMl0g YmFzZWJhbmQvYWNjOiBhZGQgRkZUIHN1cHBvcnQgdG8gVlJCMiB2YXJpYW50DQo+IA0KPiANCj4g DQo+IE9uIDEwLzQvMjMgMjM6MTgsIENoYXV0cnUsIE5pY29sYXMgd3JvdGU6DQo+ID4gSGkgTWF4 aW1lLA0KPiA+DQo+ID4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+IEZyb206IE1h eGltZSBDb3F1ZWxpbiA8bWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb20+DQo+ID4+IFNlbnQ6IFdl ZG5lc2RheSwgT2N0b2JlciA0LCAyMDIzIDEyOjExIEFNDQo+ID4+IFRvOiBDaGF1dHJ1LCBOaWNv bGFzIDxuaWNvbGFzLmNoYXV0cnVAaW50ZWwuY29tPjsgZGV2QGRwZGsub3JnDQo+ID4+IENjOiBo ZW1hbnQuYWdyYXdhbEBueHAuY29tOyBkYXZpZC5tYXJjaGFuZEByZWRoYXQuY29tOyBWYXJnYXMs DQo+IEhlcm5hbg0KPiA+PiA8aGVybmFuLnZhcmdhc0BpbnRlbC5jb20+DQo+ID4+IFN1YmplY3Q6 IFJlOiBbUEFUQ0ggdjMgMDkvMTJdIGJhc2ViYW5kL2FjYzogYWRkIEZGVCBzdXBwb3J0IHRvIFZS QjINCj4gPj4gdmFyaWFudA0KPiA+Pg0KPiA+Pg0KPiA+Pg0KPiA+PiBPbiAxMC8zLzIzIDIwOjIw LCBDaGF1dHJ1LCBOaWNvbGFzIHdyb3RlOg0KPiA+Pj4gSGkgTWF4aW1lLA0KPiA+Pj4NCj4gPj4+ PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+Pj4+IEZyb206IE1heGltZSBDb3F1ZWxp biA8bWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb20+DQo+ID4+Pj4gU2VudDogVHVlc2RheSwgT2N0 b2JlciAzLCAyMDIzIDc6MzcgQU0NCj4gPj4+PiBUbzogQ2hhdXRydSwgTmljb2xhcyA8bmljb2xh cy5jaGF1dHJ1QGludGVsLmNvbT47IGRldkBkcGRrLm9yZw0KPiA+Pj4+IENjOiBoZW1hbnQuYWdy YXdhbEBueHAuY29tOyBkYXZpZC5tYXJjaGFuZEByZWRoYXQuY29tOyBWYXJnYXMsDQo+ID4+IEhl cm5hbg0KPiA+Pj4+IDxoZXJuYW4udmFyZ2FzQGludGVsLmNvbT4NCj4gPj4+PiBTdWJqZWN0OiBS ZTogW1BBVENIIHYzIDA5LzEyXSBiYXNlYmFuZC9hY2M6IGFkZCBGRlQgc3VwcG9ydCB0byBWUkIy DQo+ID4+Pj4gdmFyaWFudA0KPiA+Pj4+DQo+ID4+Pj4NCj4gPj4+Pg0KPiA+Pj4+IE9uIDkvMjkv MjMgMTg6MzUsIE5pY29sYXMgQ2hhdXRydSB3cm90ZToNCj4gPj4+Pj4gU3VwcG9ydCBmb3IgdGhl IEZGVCB0aGUgcHJvY2Vzc2luZyBzcGVjaWZpYyB0byB0aGUNCj4gPj4+Pj4gVlJCMiB2YXJpYW50 Lg0KPiA+Pj4+Pg0KPiA+Pj4+PiBTaWduZWQtb2ZmLWJ5OiBOaWNvbGFzIENoYXV0cnUgPG5pY29s YXMuY2hhdXRydUBpbnRlbC5jb20+DQo+ID4+Pj4+IC0tLQ0KPiA+Pj4+PiAgICAgZHJpdmVycy9i YXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYyB8IDEzMg0KPiA+Pj4+ICsrKysrKysrKysrKysrKysr KysrKysrKysrKystDQo+ID4+Pj4+ICAgICAxIGZpbGUgY2hhbmdlZCwgMTI4IGluc2VydGlvbnMo KyksIDQgZGVsZXRpb25zKC0pDQo+ID4+Pj4+DQo+ID4+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jDQo+ID4+Pj4+IGIvZHJpdmVycy9iYXNlYmFuZC9h Y2MvcnRlX3ZyYl9wbWQuYw0KPiA+Pj4+PiBpbmRleCA5M2FkZDgyOTQ3Li5jZTRiOTBkOGU3IDEw MDY0NA0KPiA+Pj4+PiAtLS0gYS9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jDQo+ ID4+Pj4+ICsrKyBiL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmMNCj4gPj4+Pj4g QEAgLTkwMyw2ICs5MDMsOSBAQCB2cmJfcXVldWVfc2V0dXAoc3RydWN0IHJ0ZV9iYmRldiAqZGV2 LA0KPiA+Pj4+PiB1aW50MTZfdA0KPiA+Pj4+IHF1ZXVlX2lkLA0KPiA+Pj4+PiAgICAgCQkJQUND X0ZDV19MRF9CTEVOIDogKGNvbmYtPm9wX3R5cGUgPT0NCj4gPj4+PiBSVEVfQkJERVZfT1BfRkZU ID8NCj4gPj4+Pj4gICAgIAkJCUFDQ19GQ1dfRkZUX0JMRU4gOg0KPiBBQ0NfRkNXX01MRFRTX0JM RU4pKSkpOw0KPiA+Pj4+Pg0KPiA+Pj4+PiArCWlmICgocS0+ZC0+ZGV2aWNlX3ZhcmlhbnQgPT0g VlJCMl9WQVJJQU5UKSAmJiAoY29uZi0+b3BfdHlwZSA9PQ0KPiA+Pj4+IFJURV9CQkRFVl9PUF9G RlQpKQ0KPiA+Pj4+PiArCQlmY3dfbGVuID0gQUNDX0ZDV19GRlRfQkxFTl8zOw0KPiA+Pj4+PiAr DQo+ID4+Pj4+ICAgICAJZm9yIChkZXNjX2lkeCA9IDA7IGRlc2NfaWR4IDwgZC0+c3dfcmluZ19t YXhfZGVwdGg7DQo+IGRlc2NfaWR4KyspIHsNCj4gPj4+Pj4gICAgIAkJZGVzYyA9IHEtPnJpbmdf YWRkciArIGRlc2NfaWR4Ow0KPiA+Pj4+PiAgICAgCQlkZXNjLT5yZXEud29yZDAgPSBBQ0NfRE1B X0RFU0NfVFlQRTsgQEAgLQ0KPiAxMzIzLDYNCj4gPj4+PiArMTMyNiwyNCBAQA0KPiA+Pj4+PiB2 cmJfZGV2X2luZm9fZ2V0KHN0cnVjdCBydGVfYmJkZXYgKmRldiwgc3RydWN0DQo+ID4+Pj4+IHJ0 ZV9iYmRldl9kcml2ZXJfaW5mbw0KPiA+Pj4+ICpkZXZfaW5mbykNCj4gPj4+Pj4gICAgIAkJCS5u dW1fYnVmZmVyc19zb2Z0X291dCA9IDAsDQo+ID4+Pj4+ICAgICAJCQl9DQo+ID4+Pj4+ICAgICAJ CX0sDQo+ID4+Pj4+ICsJCXsNCj4gPj4+Pj4gKwkJCS50eXBlCT0gUlRFX0JCREVWX09QX0ZGVCwN Cj4gPj4+Pj4gKwkJCS5jYXAuZmZ0ID0gew0KPiA+Pj4+PiArCQkJCS5jYXBhYmlsaXR5X2ZsYWdz ID0NCj4gPj4+Pj4gKw0KPiA+Pj4+IAlSVEVfQkJERVZfRkZUX1dJTkRPV0lORyB8DQo+ID4+Pj4+ ICsNCj4gPj4+PiAJUlRFX0JCREVWX0ZGVF9DU19BREpVU1RNRU5UIHwNCj4gPj4+Pj4gKw0KPiA+ Pj4+IAlSVEVfQkJERVZfRkZUX0RGVF9CWVBBU1MgfA0KPiA+Pj4+PiArDQo+ID4+Pj4gCVJURV9C QkRFVl9GRlRfSURGVF9CWVBBU1MgfA0KPiA+Pj4+PiArCQkJCQkJUlRFX0JCREVWX0ZGVF9GUDE2 X0lOUFVUDQo+ID4+Pj4gfA0KPiA+Pj4+PiArDQo+ID4+Pj4gCVJURV9CQkRFVl9GRlRfRlAxNl9P VVRQVVQgfA0KPiA+Pj4+PiArDQo+ID4+Pj4gCVJURV9CQkRFVl9GRlRfUE9XRVJfTUVBUyB8DQo+ ID4+Pj4+ICsNCj4gPj4+PiAJUlRFX0JCREVWX0ZGVF9XSU5ET1dJTkdfQllQQVNTLA0KPiA+Pj4+ PiArCQkJCS5udW1fYnVmZmVyc19zcmMgPQ0KPiA+Pj4+PiArCQkJCQkJMSwNCj4gPj4+Pj4gKwkJ CQkubnVtX2J1ZmZlcnNfZHN0ID0NCj4gPj4+Pj4gKwkJCQkJCTEsDQo+ID4+Pj4+ICsJCQl9DQo+ ID4+Pj4+ICsJCX0sDQo+ID4+Pj4+ICAgICAJCVJURV9CQkRFVl9FTkRfT0ZfQ0FQQUJJTElUSUVT X0xJU1QoKQ0KPiA+Pj4+PiAgICAgCX07DQo+ID4+Pj4+DQo+ID4+Pj4+IEBAIC0zODQ5LDYgKzM4 NzAsNDcgQEAgdnJiMV9mY3dfZmZ0X2ZpbGwoc3RydWN0IHJ0ZV9iYmRldl9mZnRfb3ANCj4gPj4+ Pj4gKm9wLA0KPiA+Pj4+IHN0cnVjdCBhY2NfZmN3X2ZmdCAqZmN3KQ0KPiA+Pj4+PiAgICAgCQlm Y3ctPmJ5cGFzcyA9IDA7DQo+ID4+Pj4+ICAgICB9DQo+ID4+Pj4+DQo+ID4+Pj4+ICsvKiBGaWxs IGluIGEgZnJhbWUgY29udHJvbCB3b3JkIGZvciBGRlQgcHJvY2Vzc2luZy4gKi8gc3RhdGljDQo+ ID4+Pj4+ICtpbmxpbmUgdm9pZCB2cmIyX2Zjd19mZnRfZmlsbChzdHJ1Y3QgcnRlX2JiZGV2X2Zm dF9vcCAqb3AsIHN0cnVjdA0KPiA+Pj4+PiArYWNjX2Zjd19mZnRfMyAqZmN3KSB7DQo+ID4+Pj4+ ICsJZmN3LT5pbl9mcmFtZV9zaXplID0gb3AtPmZmdC5pbnB1dF9zZXF1ZW5jZV9zaXplOw0KPiA+ Pj4+PiArCWZjdy0+bGVhZGluZ19wYWRfc2l6ZSA9IG9wLT5mZnQuaW5wdXRfbGVhZGluZ19wYWRk aW5nOw0KPiA+Pj4+PiArCWZjdy0+b3V0X2ZyYW1lX3NpemUgPSBvcC0+ZmZ0Lm91dHB1dF9zZXF1 ZW5jZV9zaXplOw0KPiA+Pj4+PiArCWZjdy0+bGVhZGluZ19kZXBhZF9zaXplID0gb3AtPmZmdC5v dXRwdXRfbGVhZGluZ19kZXBhZGRpbmc7DQo+ID4+Pj4+ICsJZmN3LT5jc193aW5kb3dfc2VsID0g b3AtPmZmdC53aW5kb3dfaW5kZXhbMF0gKw0KPiA+Pj4+PiArCQkJKG9wLT5mZnQud2luZG93X2lu ZGV4WzFdIDw8IDgpICsNCj4gPj4+Pj4gKwkJCShvcC0+ZmZ0LndpbmRvd19pbmRleFsyXSA8PCAx NikgKw0KPiA+Pj4+PiArCQkJKG9wLT5mZnQud2luZG93X2luZGV4WzNdIDw8IDI0KTsNCj4gPj4+ Pj4gKwlmY3ctPmNzX3dpbmRvd19zZWwyID0gb3AtPmZmdC53aW5kb3dfaW5kZXhbNF0gKw0KPiA+ Pj4+PiArCQkJKG9wLT5mZnQud2luZG93X2luZGV4WzVdIDw8IDgpOw0KPiA+Pj4+PiArCWZjdy0+ Y3NfZW5hYmxlX2JtYXAgPSBvcC0+ZmZ0LmNzX2JpdG1hcDsNCj4gPj4+Pj4gKwlmY3ctPm51bV9h bnRlbm5hcyA9IG9wLT5mZnQubnVtX2FudGVubmFzX2xvZzI7DQo+ID4+Pj4+ICsJZmN3LT5pZGZ0 X3NpemUgPSBvcC0+ZmZ0LmlkZnRfbG9nMjsNCj4gPj4+Pj4gKwlmY3ctPmRmdF9zaXplID0gb3At PmZmdC5kZnRfbG9nMjsNCj4gPj4+Pj4gKwlmY3ctPmNzX29mZnNldCA9IG9wLT5mZnQuY3NfdGlt ZV9hZGp1c3RtZW50Ow0KPiA+Pj4+PiArCWZjdy0+aWRmdF9zaGlmdCA9IG9wLT5mZnQuaWRmdF9z aGlmdDsNCj4gPj4+Pj4gKwlmY3ctPmRmdF9zaGlmdCA9IG9wLT5mZnQuZGZ0X3NoaWZ0Ow0KPiA+ Pj4+PiArCWZjdy0+Y3NfbXVsdGlwbGllciA9IG9wLT5mZnQubmNzX3JlY2lwcm9jYWw7DQo+ID4+ Pj4+ICsJZmN3LT5wb3dlcl9zaGlmdCA9IG9wLT5mZnQucG93ZXJfc2hpZnQ7ID4gKwlmY3ctPmV4 cF9hZGogPSBvcC0NCj4gPj4+Pj4gZmZ0LmZwMTZfZXhwX2FkanVzdDsNCj4gPj4+Pj4gKwlmY3ct PmZwMTZfaW4gPSBjaGVja19iaXQob3AtPmZmdC5vcF9mbGFncywNCj4gPj4+PiBSVEVfQkJERVZf RkZUX0ZQMTZfSU5QVVQpOw0KPiA+Pj4+PiArCWZjdy0+ZnAxNl9vdXQgPSBjaGVja19iaXQob3At PmZmdC5vcF9mbGFncywNCj4gPj4+PiBSVEVfQkJERVZfRkZUX0ZQMTZfT1VUUFVUKTsNCj4gPj4+ Pj4gKwlmY3ctPnBvd2VyX2VuID0gY2hlY2tfYml0KG9wLT5mZnQub3BfZmxhZ3MsDQo+ID4+Pj4g UlRFX0JCREVWX0ZGVF9QT1dFUl9NRUFTKTsNCj4gPj4+Pj4gKwlpZiAoY2hlY2tfYml0KG9wLT5m ZnQub3BfZmxhZ3MsDQo+ID4+Pj4+ICsJCQlSVEVfQkJERVZfRkZUX0lERlRfQllQQVNTKSkgew0K PiA+Pj4+PiArCQlpZiAoY2hlY2tfYml0KG9wLT5mZnQub3BfZmxhZ3MsDQo+ID4+Pj4+ICsJCQkJ UlRFX0JCREVWX0ZGVF9XSU5ET1dJTkdfQllQQVNTKSkNCj4gPj4+Pj4gKwkJCWZjdy0+YnlwYXNz ID0gMjsNCj4gPj4+Pj4gKwkJZWxzZQ0KPiA+Pj4+PiArCQkJZmN3LT5ieXBhc3MgPSAxOw0KPiA+ Pj4+PiArCX0gZWxzZSBpZiAoY2hlY2tfYml0KG9wLT5mZnQub3BfZmxhZ3MsDQo+ID4+Pj4+ICsJ CQlSVEVfQkJERVZfRkZUX0RGVF9CWVBBU1MpKQ0KPiA+Pj4+PiArCQlmY3ctPmJ5cGFzcyA9IDM7 DQo+ID4+Pj4+ICsJZWxzZQ0KPiA+Pj4+PiArCQlmY3ctPmJ5cGFzcyA9IDA7DQo+ID4+Pj4NCj4g Pj4+PiBUaGUgb25seSBkaWZmZXJlbmNlIEkgc2VlIHdpdGggVlJCMSBhcmUgYmFja2VkIGJ5IGNv cnJlc3BvbmRpbmcNCj4gPj4+PiBvcF9mbGFncyAoUE9XRVIgJiBGUDE2KSwgaXMgdGhhdCBjb3Jy ZWN0PyBJZiBzbywgaXQgZG9lcyBub3QgbWFrZQ0KPiA+Pj4+IHNlbnNlIHRvIG1lIHRvIGhhdmUg YSBzcGVjaWZpYyBmdW5jdGlvbiBmb3IgVlJCMi4NCj4gPj4+DQo+ID4+PiBUaGVyZSBhcmUgbW9y ZSBjaGFuZ2VzIGJ1dCB0aGVzZSBhcmUgb25seSBmb3JtYWxseSBlbmFibGVkIGluIHRoZQ0KPiA+ Pj4gbmV4dCBzdGVwcGluZyBoZW5jZSBzb21lIG9mIHRoZSByZWxhdGVkIGNvZGUgaXMgbm90IGlu Y2x1ZGVkIHlldC4NCj4gPj4+IE1vcmUgZ2VuZXJhbGx5DQo+ID4+IHRoZSBGQ1cgYW5kIElQIGlz IGRpZmZlcmVudCBmcm9tIFZSQjEgaW1wbGVtZW50YXRpb24uDQo+ID4+DQo+ID4+IEN1cnJlbnRs eSwgdGhlIGNvZGUgaXMgYWxtb3N0IGlkZW50aWNhbCBzbyB2cmIxIGltcGxlbWVudGF0aW9uIHNo b3VsZA0KPiA+PiBiZSByZXVzZWQuIElmIHNvbWUgbGF0ZXIgY2hhbmdlcyBtYWtlcyB0aGUgdHdv IGltcGxlbWVudGF0aW9ucw0KPiA+PiBkaXZlcmdlLCB0aGVuIHdlIGNhbiBjb25zaWRlciBoYXZp bmcgYSBkZWRpY2F0ZWQgZnVuY3Rpb24gZm9yIFZSQjIgYXQgdGhhdA0KPiB0aW1lLg0KPiA+DQo+ ID4gSWYgSSBtYXksIEkgYmVsaWV2ZSB0aGlzIGlzIGJlc3QgYXMtaXMgbm90YWJseSBmb3IgcGF0 Y2hlcyBhbmQgc3VwcG9ydC4NCj4gPiBUaGUgZnVuY3Rpb25zIGFyZSBmYWlybHkgc21hbGwgKG5v dCBtdWNoIGNvZGUgb3ZlcmxhcCBxdWFudGl0YXRpdmVseSkNCj4gPiBhbmQgdGhlIHVuZGVybHlp bmcgSVAgaXMgZGlmZmVyZW50ICh3aXRoIG1vcmUgZGlmZmVyZW5jZXMgd2UgY2FuDQo+ID4gZW5h YmxlIG92ZXIgdGltZSkuIEkgZG9u4oCZdCB0aGluayBpdCB3b3VsZCBoZWxwIGFueW9uZSByZWFs bHkgdG8gdHJ5IHRvIG1ha2UNCj4gdGhlbSBjb2V4aXN0IGZvciBhIHNtYWxsIHBlcmlvZCBvZiB0 aW1lLg0KPiA+IERvZXMgdGhhdCBzb3VuZCBmYWlyPw0KPiANCj4gSSBkaXNhZ3JlZSwgYXMgSSBl eHBsYWluZWQgdGhlIGNvZGUgY3VycmVudGx5IGlzIGFsbW9zdCBpZGVudGljYWwsIHNvIGp1c3Qg c2hhcmUgdGhlDQo+IGNvZGUuDQo+IA0KPiBZb3Ugd2lsbCBkaXZlcmdlLCBpZiAqcmVhbGx5KiBu ZWNlc3NhcnksIHdoZW4gaXQgd2lsbCBtYWtlIG1vcmUgc2Vuc2UgdG8gaGF2ZQ0KPiB0d28gc2Vw YXJhdGUgZnVuY3Rpb25zLiBGb3Igbm93IGl0IGlzIG5vdCB0aGUgY2FzZSBpbiBteSBvcGluaW9u Lg0KDQpPSyBJIGhhZCBhbm90aGVyIGxvb2suIEkgY2FuIHNoYXJlIGEgY29tbW9uIGRlc2NyaXB0 b3IgZ2VuZXJhdGlvbiBmdW5jdGlvbi4gRm9yIHRoZSBGQ1cgZ2VuZXJhdGlvbiB0aGVzZSBhcmUg anVzdCBkaWZmZXJlbnQgc3RydWN0dXJlcyBhbmQgc2l6ZXMsIGRpZmZlcmVudCBwcm90b3R5cGUs IEkgcmVhbGx5IGRvbid0IHRoaW5rIGl0IHdvdWxkIG1ha2Ugc2Vuc2UgdG8gdHJ5IHRvIGFydGlm aWNpYWxseSBnZW5lcmF0ZSB0aGVtIHRvZ2V0aGVyLg0KVXBkYXRpbmcgaW4gbmV3IHY1IHRoaXMg d2Vlay4gDQoNCg0KPiANCj4gVGhhbmtzLA0KPiBNYXhpbWUNCj4gDQo+ID4NCj4gPg0KPiA+Pg0K PiA+Pj4+DQo+ID4+Pj4+ICt9DQo+ID4+Pj4+ICsNCj4gPj4+Pj4gICAgIHN0YXRpYyBpbmxpbmUg aW50DQo+ID4+Pj4+ICAgICB2cmIxX2RtYV9kZXNjX2ZmdF9maWxsKHN0cnVjdCBydGVfYmJkZXZf ZmZ0X29wICpvcCwNCj4gPj4+Pj4gICAgIAkJc3RydWN0IGFjY19kbWFfcmVxX2Rlc2MgKmRlc2Ms IEBAIC0zODgyLDYNCj4gKzM5NDQsNTggQEANCj4gPj4+Pj4gdnJiMV9kbWFfZGVzY19mZnRfZmls bChzdHJ1Y3QgcnRlX2JiZGV2X2ZmdF9vcA0KPiA+Pj4+ICpvcCwNCj4gPj4+Pj4gICAgIAlyZXR1 cm4gMDsNCj4gPj4+Pj4gICAgIH0NCj4gPj4+Pj4NCj4gPj4+Pj4gK3N0YXRpYyBpbmxpbmUgaW50 DQo+ID4+Pj4+ICt2cmIyX2RtYV9kZXNjX2ZmdF9maWxsKHN0cnVjdCBydGVfYmJkZXZfZmZ0X29w ICpvcCwNCj4gPj4+Pj4gKwkJc3RydWN0IGFjY19kbWFfcmVxX2Rlc2MgKmRlc2MsDQo+ID4+Pj4+ ICsJCXN0cnVjdCBydGVfbWJ1ZiAqaW5wdXQsIHN0cnVjdCBydGVfbWJ1ZiAqb3V0cHV0LCBzdHJ1 Y3QNCj4gPj4+PiBydGVfbWJ1ZiAqd2luX2lucHV0LA0KPiA+Pj4+PiArCQlzdHJ1Y3QgcnRlX21i dWYgKnB3ciwgdWludDMyX3QgKmluX29mZnNldCwgdWludDMyX3QNCj4gPj4+PiAqb3V0X29mZnNl dCwNCj4gPj4+Pj4gKwkJdWludDMyX3QgKndpbl9vZmZzZXQsIHVpbnQzMl90ICpwd3Jfb2Zmc2V0 KSB7DQo+ID4+Pj4+ICsJYm9vbCBwd3JfZW4gPSBjaGVja19iaXQob3AtPmZmdC5vcF9mbGFncywN Cj4gPj4+PiBSVEVfQkJERVZfRkZUX1BPV0VSX01FQVMpOw0KPiA+Pj4+PiArCWJvb2wgd2luX2Vu ID0gY2hlY2tfYml0KG9wLT5mZnQub3BfZmxhZ3MsDQo+ID4+Pj4gUlRFX0JCREVWX0ZGVF9ERVdJ TkRPV0lORyk7DQo+ID4+Pj4+ICsJaW50IG51bV9jcyA9IDAsIGksIGJkX2lkeCA9IDE7DQo+ID4+ Pj4+ICsNCj4gPj4+Pj4gKwkvKiBGQ1cgYWxyZWFkeSBkb25lICovDQo+ID4+Pj4+ICsJYWNjX2hl YWRlcl9pbml0KGRlc2MpOw0KPiA+Pj4+PiArDQo+ID4+Pj4+ICsJUlRFX1NFVF9VU0VEKHdpbl9p bnB1dCk7DQo+ID4+Pj4+ICsJUlRFX1NFVF9VU0VEKHdpbl9vZmZzZXQpOw0KPiA+Pj4+PiArDQo+ ID4+Pj4+ICsJZGVzYy0+ZGF0YV9wdHJzW2JkX2lkeF0uYWRkcmVzcyA9IHJ0ZV9wa3RtYnVmX2lv dmFfb2Zmc2V0KGlucHV0LA0KPiA+Pj4+ICppbl9vZmZzZXQpOw0KPiA+Pj4+PiArCWRlc2MtPmRh dGFfcHRyc1tiZF9pZHhdLmJsZW4gPSBvcC0+ZmZ0LmlucHV0X3NlcXVlbmNlX3NpemUgKg0KPiA+ Pj4+IEFDQ19JUV9TSVpFOw0KPiA+Pj4+PiArCWRlc2MtPmRhdGFfcHRyc1tiZF9pZHhdLmJsa2lk ID0gQUNDX0RNQV9CTEtJRF9JTjsNCj4gPj4+Pj4gKwlkZXNjLT5kYXRhX3B0cnNbYmRfaWR4XS5s YXN0ID0gMTsNCj4gPj4+Pj4gKwlkZXNjLT5kYXRhX3B0cnNbYmRfaWR4XS5kbWFfZXh0ID0gMDsN Cj4gPj4+Pj4gKwliZF9pZHgrKzsNCj4gPj4+Pj4gKw0KPiA+Pj4+PiArCWRlc2MtPmRhdGFfcHRy c1tiZF9pZHhdLmFkZHJlc3MgPQ0KPiA+Pj4+PiArcnRlX3BrdG1idWZfaW92YV9vZmZzZXQob3V0 cHV0LA0KPiA+Pj4+ICpvdXRfb2Zmc2V0KTsNCj4gPj4+Pj4gKwlkZXNjLT5kYXRhX3B0cnNbYmRf aWR4XS5ibGVuID0gb3AtPmZmdC5vdXRwdXRfc2VxdWVuY2Vfc2l6ZSAqDQo+ID4+Pj4gQUNDX0lR X1NJWkU7DQo+ID4+Pj4+ICsJZGVzYy0+ZGF0YV9wdHJzW2JkX2lkeF0uYmxraWQgPSBBQ0NfRE1B X0JMS0lEX09VVF9IQVJEOw0KPiA+Pj4+PiArCWRlc2MtPmRhdGFfcHRyc1tiZF9pZHhdLmxhc3Qg PSBwd3JfZW4gPyAwIDogMTsNCj4gPj4+Pj4gKwlkZXNjLT5kYXRhX3B0cnNbYmRfaWR4XS5kbWFf ZXh0ID0gMDsNCj4gPj4+Pj4gKwlkZXNjLT5tMmRsZW4gPSB3aW5fZW4gPyAzIDogMjsNCj4gPj4+ Pj4gKwlkZXNjLT5kMm1sZW4gPSBwd3JfZW4gPyAyIDogMTsNCj4gPj4+Pj4gKwlkZXNjLT5pYl9h bnRfb2Zmc2V0ID0gb3AtPmZmdC5pbnB1dF9zZXF1ZW5jZV9zaXplOw0KPiA+Pj4+PiArCWRlc2Mt Pm51bV9hbnQgPSBvcC0+ZmZ0Lm51bV9hbnRlbm5hc19sb2cyIC0gMzsNCj4gPj4+Pj4gKw0KPiA+ Pj4+PiArCWZvciAoaSA9IDA7IGkgPCBSVEVfQkJERVZfTUFYX0NTOyBpKyspDQo+ID4+Pj4+ICsJ CWlmIChjaGVja19iaXQob3AtPmZmdC5jc19iaXRtYXAsIDEgPDwgaSkpDQo+ID4+Pj4+ICsJCQlu dW1fY3MrKzsNCj4gPj4+Pj4gKwlkZXNjLT5udW1fY3MgPSBudW1fY3M7DQo+ID4+Pj4+ICsNCj4g Pj4+Pj4gKwlpZiAocHdyX2VuICYmIHB3cikgew0KPiA+Pj4+PiArCQliZF9pZHgrKzsNCj4gPj4+ Pj4gKwkJZGVzYy0+ZGF0YV9wdHJzW2JkX2lkeF0uYWRkcmVzcyA9DQo+ID4+Pj4gcnRlX3BrdG1i dWZfaW92YV9vZmZzZXQocHdyLCAqcHdyX29mZnNldCk7DQo+ID4+Pj4+ICsJCWRlc2MtPmRhdGFf cHRyc1tiZF9pZHhdLmJsZW4gPSBudW1fY3MgKiAoMSA8PCBvcC0NCj4gPj4+Pj4gZmZ0Lm51bV9h bnRlbm5hc19sb2cyKSAqIDQ7DQo+ID4+Pj4+ICsJCWRlc2MtPmRhdGFfcHRyc1tiZF9pZHhdLmJs a2lkID0gQUNDX0RNQV9CTEtJRF9PVVRfU09GVDsNCj4gPj4+Pj4gKwkJZGVzYy0+ZGF0YV9wdHJz W2JkX2lkeF0ubGFzdCA9IDE7DQo+ID4+Pj4+ICsJCWRlc2MtPmRhdGFfcHRyc1tiZF9pZHhdLmRt YV9leHQgPSAwOw0KPiA+Pj4+PiArCX0NCj4gPj4+Pj4gKwlkZXNjLT5vYl9jeWNfb2Zmc2V0ID0g b3AtPmZmdC5vdXRwdXRfc2VxdWVuY2Vfc2l6ZTsNCj4gPj4+Pj4gKwlkZXNjLT5vYl9hbnRfb2Zm c2V0ID0gb3AtPmZmdC5vdXRwdXRfc2VxdWVuY2Vfc2l6ZSAqIG51bV9jczsNCj4gPj4+Pj4gKwlk ZXNjLT5vcF9hZGRyID0gb3A7DQo+ID4+Pj4+ICsJcmV0dXJuIDA7DQo+ID4+Pj4+ICt9DQo+ID4+ Pj4+DQo+ID4+Pj4+ICAgICAvKiogRW5xdWV1ZSBvbmUgRkZUIG9wZXJhdGlvbiBmb3IgZGV2aWNl LiAqLw0KPiA+Pj4+PiAgICAgc3RhdGljIGlubGluZSBpbnQNCj4gPj4+Pj4gQEAgLTM4ODksMjIg KzQwMDMsMzIgQEAgdnJiX2VucXVldWVfZmZ0X29uZV9vcChzdHJ1Y3QgYWNjX3F1ZXVlDQo+ID4+ ICpxLA0KPiA+Pj4+IHN0cnVjdCBydGVfYmJkZXZfZmZ0X29wICpvcCwNCj4gPj4+Pj4gICAgIAkJ dWludDE2X3QgdG90YWxfZW5xdWV1ZWRfY2JzKQ0KPiA+Pj4+PiAgICAgew0KPiA+Pj4+PiAgICAg CXVuaW9uIGFjY19kbWFfZGVzYyAqZGVzYzsNCj4gPj4+Pj4gLQlzdHJ1Y3QgcnRlX21idWYgKmlu cHV0LCAqb3V0cHV0Ow0KPiA+Pj4+PiAtCXVpbnQzMl90IGluX29mZnNldCwgb3V0X29mZnNldDsN Cj4gPj4+Pj4gKwlzdHJ1Y3QgcnRlX21idWYgKmlucHV0LCAqb3V0cHV0LCAqcHdyLCAqd2luOw0K PiA+Pj4+PiArCXVpbnQzMl90IGluX29mZnNldCwgb3V0X29mZnNldCwgcHdyX29mZnNldCwgd2lu X29mZnNldDsNCj4gPj4+Pj4gICAgIAlzdHJ1Y3QgYWNjX2Zjd19mZnQgKmZjdzsNCj4gPj4+Pj4N Cj4gPj4+Pj4gICAgIAlkZXNjID0gYWNjX2Rlc2MocSwgdG90YWxfZW5xdWV1ZWRfY2JzKTsNCj4g Pj4+Pj4gICAgIAlpbnB1dCA9IG9wLT5mZnQuYmFzZV9pbnB1dC5kYXRhOw0KPiA+Pj4+PiAgICAg CW91dHB1dCA9IG9wLT5mZnQuYmFzZV9vdXRwdXQuZGF0YTsNCj4gPj4+Pj4gKwlwd3IgPSBvcC0+ ZmZ0LnBvd2VyX21lYXNfb3V0cHV0LmRhdGE7DQo+ID4+Pj4+ICsJd2luID0gb3AtPmZmdC5kZXdp bmRvd2luZ19pbnB1dC5kYXRhOw0KPiA+Pj4+PiAgICAgCWluX29mZnNldCA9IG9wLT5mZnQuYmFz ZV9pbnB1dC5vZmZzZXQ7DQo+ID4+Pj4+ICAgICAJb3V0X29mZnNldCA9IG9wLT5mZnQuYmFzZV9v dXRwdXQub2Zmc2V0Ow0KPiA+Pj4+PiArCXB3cl9vZmZzZXQgPSBvcC0+ZmZ0LnBvd2VyX21lYXNf b3V0cHV0Lm9mZnNldDsNCj4gPj4+Pj4gKwl3aW5fb2Zmc2V0ID0gb3AtPmZmdC5kZXdpbmRvd2lu Z19pbnB1dC5vZmZzZXQ7DQo+ID4+Pj4+DQo+ID4+Pj4+ICAgICAJZmN3ID0gKHN0cnVjdCBhY2Nf ZmN3X2ZmdCAqKSAocS0+ZmN3X3JpbmcgKw0KPiA+Pj4+PiAgICAgCQkJKChxLT5zd19yaW5nX2hl YWQgKyB0b3RhbF9lbnF1ZXVlZF9jYnMpICYgcS0NCj4gPj4+Pj4gc3dfcmluZ193cmFwX21hc2sp DQo+ID4+Pj4+ICAgICAJCQkqIEFDQ19NQVhfRkNXX1NJWkUpOw0KPiA+Pj4+Pg0KPiA+Pj4+PiAt CXZyYjFfZmN3X2ZmdF9maWxsKG9wLCBmY3cpOw0KPiA+Pj4+PiAtCXZyYjFfZG1hX2Rlc2NfZmZ0 X2ZpbGwob3AsICZkZXNjLT5yZXEsIGlucHV0LCBvdXRwdXQsICZpbl9vZmZzZXQsDQo+ID4+Pj4g Jm91dF9vZmZzZXQpOw0KPiA+Pj4+PiArCWlmIChxLT5kLT5kZXZpY2VfdmFyaWFudCA9PSBWUkIx X1ZBUklBTlQpIHsNCj4gPj4+Pj4gKwkJdnJiMV9mY3dfZmZ0X2ZpbGwob3AsIGZjdyk7DQo+ID4+ Pj4+ICsJCXZyYjFfZG1hX2Rlc2NfZmZ0X2ZpbGwob3AsICZkZXNjLT5yZXEsIGlucHV0LCBvdXRw dXQsDQo+ID4+Pj4gJmluX29mZnNldCwgJm91dF9vZmZzZXQpOw0KPiA+Pj4+PiArCX0gZWxzZSB7 DQo+ID4+Pj4+ICsJCXZyYjJfZmN3X2ZmdF9maWxsKG9wLCAoc3RydWN0IGFjY19mY3dfZmZ0XzMg KikgZmN3KTsNCj4gPj4+Pj4gKwkJdnJiMl9kbWFfZGVzY19mZnRfZmlsbChvcCwgJmRlc2MtPnJl cSwgaW5wdXQsIG91dHB1dCwgd2luLA0KPiA+Pj4+IHB3ciwNCj4gPj4+Pj4gKwkJCQkmaW5fb2Zm c2V0LCAmb3V0X29mZnNldCwgJndpbl9vZmZzZXQsDQo+ID4+Pj4gJnB3cl9vZmZzZXQpOw0KPiA+ Pj4+PiArCX0NCj4gPj4+Pj4gICAgICNpZmRlZiBSVEVfTElCUlRFX0JCREVWX0RFQlVHDQo+ID4+ Pj4+ICAgICAJcnRlX21lbWR1bXAoc3RkZXJyLCAiRkNXIiwgJmRlc2MtPnJlcS5mY3dfZmZ0LA0K PiA+Pj4+PiAgICAgCQkJc2l6ZW9mKGRlc2MtPnJlcS5mY3dfZmZ0KSk7DQo+ID4+Pg0KPiA+DQoN Cg==