Received: by 2002:a05:7412:798b:b0:fc:a2b0:25d7 with SMTP id fb11csp113457rdb; Wed, 21 Feb 2024 19:58:14 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCVpBwf9ejC1O1i+f2Rg7HYel1yQW/4/HyGmj+YZJiCl4JoYVNIbjnxGCXI1/KEkNFICcL5bfYG1cpTWpMoQ3xvuSstz8bBiYePyfgR5zQ== X-Google-Smtp-Source: AGHT+IEep7JJm0Zub7S1f0yF3xpKhcPV3ssanXV/8BdONW3TN4TTcrBcyozhedIYY0DGHSZWPRie X-Received: by 2002:a62:c181:0:b0:6e4:5cdc:5350 with SMTP id i123-20020a62c181000000b006e45cdc5350mr8659001pfg.1.1708574294297; Wed, 21 Feb 2024 19:58:14 -0800 (PST) Return-Path: Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org. [2604:1380:40f1:3f00::1]) by mx.google.com with ESMTPS id a2-20020aa78642000000b006e4c8642b96si724821pfo.46.2024.02.21.19.58.13 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 21 Feb 2024 19:58:14 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-75883-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) client-ip=2604:1380:40f1:3f00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@chipsnmedia.com header.s=selector1 header.b=QLAREP1A; arc=fail (signature failed); spf=pass (google.com: domain of linux-kernel+bounces-75883-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-75883-linux.lists.archive=gmail.com@vger.kernel.org" Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sy.mirrors.kernel.org (Postfix) with ESMTPS id EFC93B245C2 for ; Thu, 22 Feb 2024 03:58:10 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 6080B17755; Thu, 22 Feb 2024 03:58:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=chipsnmedia.com header.i=@chipsnmedia.com header.b="QLAREP1A" Received: from KOR01-SL2-obe.outbound.protection.outlook.com (mail-sl2kor01on2104.outbound.protection.outlook.com [40.107.129.104]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EEF657E9; Thu, 22 Feb 2024 03:57:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.129.104 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708574278; cv=fail; b=APQmAfllXhVU/HNUvXUYnqYJvUeMVu+kkDRxPxwHgHYj3/1xc5AhPOCUAIHfbTDXDe6FWnkuP0Her3EBy9de6PrDd6d+IYy+8JRgMj047YtFkRf6Z3kRLJC7LnoFeeX390+/FK2UE3Bsy7WKt9a4jcTh9uGJgWWaCgo72sopXsI= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708574278; c=relaxed/simple; bh=t2OAp096q44JPFbfsHctxmPhAwEgz7XPKUql2pb2nD8=; h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:MIME-Version; b=AC740XCuus1nXxm9xhF248WQqEWEu6nHoZ1mbLVhEIYpZP2ym8emE9908LRwsA0wQIb9taxaLcSfgXvHoduJA/0aAO/dV9b62C/gQyqsg7ZckYiteCbyoalKL//PPBSBohlgpVCapDiaE+VLSLEbYPt8NKzfZXooZ8P20FvBf6M= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=chipsnmedia.com; spf=pass smtp.mailfrom=chipsnmedia.com; dkim=pass (1024-bit key) header.d=chipsnmedia.com header.i=@chipsnmedia.com header.b=QLAREP1A; arc=fail smtp.client-ip=40.107.129.104 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=chipsnmedia.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=chipsnmedia.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WYr8skMPfDWzYna6AR6zfhCscMzx3FC7qO15pDPjkwwdn0dmH3tt4s7JaauIVUB0UyU1EcRzTCEv9JmA7OmXXmObqznjVvmeDF4wHjsjon8Fo8qS3iqT+JDCUqv4S0fgITjX3gPh9hhMqd5JSkPx4Cm5nPOikPda2K1Z7RW4qNV+/Qvhmf5XUz+ffbGS7r34Bq6oA0nV8u37SLF81lLynCRTaes3YBnahdwXZVeJv4Lq0LLoDqrogKrFSOeuJ582I9Bwj8M5NKBvK0aH+a4Q3IUyTMDBPvAJzNnT0I3kImcTJk1bTRHMSRg+2PCQnx7RCtCLLslEhgyjttewz0+8Tw== 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=t2OAp096q44JPFbfsHctxmPhAwEgz7XPKUql2pb2nD8=; b=mV1UvPp+tR/MRo4HUdOt06Qw4kxz8MDPieQgVAhsELJBw3wPOE04IPNaw6UNBvTHQ1Gte8HB0dE5ovB/NbQ1ZmaDUBr+GMFL5POW1EAebHK7EJsawqxI9o+7iWbo95wtcTq0gz/ibVZCKVCSglg4beWlwi0SknxU1xRYVCGsA5nOikRNoxX4o2O1ilnjGqRvoIQ74OX38rehuamZjn/TEjNqB54YvpoMpats1vwyhsNtjFi9UAc9WU71D2Hd8H4m9/7F5ORSwDla5iaShCanOMGbKlxHMfONDVIVDmUwKAHpkPwONTrRQxHPQ5G9uzMkmiIyxYr+4ZUddFaKaGg2HA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=chipsnmedia.com; dmarc=pass action=none header.from=chipsnmedia.com; dkim=pass header.d=chipsnmedia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chipsnmedia.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=t2OAp096q44JPFbfsHctxmPhAwEgz7XPKUql2pb2nD8=; b=QLAREP1AF5bEcD0lJ2+lobLPrbepnmfQvWSL1dlSWyje8tKWjiUUGAEJcsLTEYoU9GwPEghVHqXeaXOFNZCnfZ6eVCW+pyNkvvldh6O0JNxJWvNsTUZAYATtEWcIgsdKqU4I1m+fUgZGjJmky3iNEjV24OLPcP0Ez2Rk4nFlt8c= Received: from SE1P216MB1303.KORP216.PROD.OUTLOOK.COM (2603:1096:101:15::5) by PS2P216MB1345.KORP216.PROD.OUTLOOK.COM (2603:1096:301:73::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7292.31; Thu, 22 Feb 2024 03:57:51 +0000 Received: from SE1P216MB1303.KORP216.PROD.OUTLOOK.COM ([fe80::de27:9f30:e1f9:1b5c]) by SE1P216MB1303.KORP216.PROD.OUTLOOK.COM ([fe80::de27:9f30:e1f9:1b5c%4]) with mapi id 15.20.7292.036; Thu, 22 Feb 2024 03:57:51 +0000 From: jackson.lee To: Nicolas Dufresne , "mchehab@kernel.org" , "linux-media@vger.kernel.org" , "linux-kernel@vger.kernel.org" , Nas Chung CC: lafley.kim , "b-brnich@ti.com" Subject: RE: [RESEND PATCH v0 3/5] wave5 : Support runtime suspend/resume. Thread-Topic: [RESEND PATCH v0 3/5] wave5 : Support runtime suspend/resume. Thread-Index: AQHaU+Uid+HuTFCkjUijNbL5+y2RebD/P2SAgBHQXMCAATtsgIAAegowgADy1gCAAHVl8IAA35UAgACpZjCAACRFcA== Date: Thu, 22 Feb 2024 03:57:51 +0000 Message-ID: References: <20240131013046.15687-1-jackson.lee@chipsnmedia.com> <20240131013046.15687-4-jackson.lee@chipsnmedia.com> <20489b01f1ac9ab3e434ea4c17b4e0ccd84afa36.camel@ndufresne.ca> In-Reply-To: Accept-Language: ko-KR, en-US Content-Language: ko-KR X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=chipsnmedia.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SE1P216MB1303:EE_|PS2P216MB1345:EE_ x-ms-office365-filtering-correlation-id: 0383abba-719b-4b74-3899-08dc335a70c9 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: kbIUW8n8yzT0C9LVH53+x24/t7TKEZt0SUIpbTvZJBmlaG6OswGUFroSzUbxKpQ58l/kfbMf8kIdKO0HqS/XOHI1N0fGZA0VvhMMlU0HP/MV2XQGJsAxI/m/SxSqvIx39Y7btVxzK+k914+rCTYK8K88WR68mgZiAhW2x1X0WFTXLHkWSSnyddkkwkIfeM7Of1RHMGl5sPQoHZLZG5g6aiFg17tLnyEqSajXoVrrCOU7ODAHd0q2ef9wfZYwDwkqAqH2ENUX7DC3n/I4pp7jI43CSkNaden6JsYKxvWu8TOEbwzOB5RVtkqU8j47SI97I1XSsG81h1ZOgcsJ5gvHpMKsqF5Ggt+8M3fO8pVb/aiJBsL+5RDDBTsdxVgxW2uiqVJZpRR+p2aPYlT/nI+mXYFrqtJWVcx/lnwjuR9DIqIv4Y4ROIAnk/0OuF9C4UgUI57mLHHyVOFctpeHpEPUUtrQTBgm26GWRCWQIH2IkzsqYFSmJnYSgonDg+Hf2CNvmihk1a8X+SgFp1sP9u/pKwSB5E3qynwkcPRf0Muv+DvYVNeWch1rxkMSqtk+nxHS5/Z3+X8WV1E0G2Nsyp3xnaNyP2L2hp8XNS+M1BFKN834WEOGYhxzvawUeFyDHYFl x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SE1P216MB1303.KORP216.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230031)(38070700009);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?SWEydTltbjRmNWgrYUFQQ1dsNmtnVkhWSUI2ZmVBekNocmtjVE9UcDlJS2Qx?= =?utf-8?B?QVdoWldlYVJVWlRqM3NqZEMya3pIZWVIUld6blhmcnRWTnZrRmhwNmZZaGxx?= =?utf-8?B?UFZEaWdlUENneEcxVlNNTmR3U1JLTjIvNEQ2MlV1dU9yaHdkTjVpU3hUNHBR?= =?utf-8?B?RTNvS1RERFNlbGtxV21rMWwydlBadysyWm9uYmJST1ppdHdoMG5RVXloQ1NY?= =?utf-8?B?VWZTTC80L3YrN001akh4dUltRS9scU80U2s1Umw5aDd3RUNNb093amhoSHB0?= =?utf-8?B?Q0x3TThqOGJYejVPdUdSQzBwUFdlQ1c2OEN0WTFjVmNFdlQwQVJHK1Ivam1R?= =?utf-8?B?amNMSmh4emRJODFHK1BiMFRhZksrODFCTFlTZVg4bXdmLzRSUjJoOU9JTFh4?= =?utf-8?B?ZjNxQTg0SFRaekx2aFFYNllzcjhUV1BOZ2JiZFRYRzNwV3c4RVR0d1BDaEpD?= =?utf-8?B?WjdNQllMN1FzaE9BL0xTUEZQc1dGbGlKelRuZmowOXdTVU9RLzRHbFNySFVB?= =?utf-8?B?aHRPdjBPRlhnUHZSMEFwdzE1czlCMjcrdDZmTTJmRWV3ZFB3NW5jakNtamE3?= =?utf-8?B?Lzl4elc3L2trRlFEQTRmRHNCV091anlYTkVDeDBXNk16UDkyMythdnF5VFNV?= =?utf-8?B?SSswL2FPM0NCTWIvN0RSQVE2ckRjOEh4b3JXc3VESEw3MU42UWYyNm1LRWFD?= =?utf-8?B?U0hwcXZ3RG5MMlRWL1MzRE1xZFJuZDgrb2tVanYyWUhXYzgwaEQrRy8rZFJs?= =?utf-8?B?ZnF3QUpxdG1XdFRzaXdhOWVzSGZIYmdaeWxzU3ZGczBwTXJsdWhKUm01cHdS?= =?utf-8?B?TDV6eFl0elFpY0gvcEgwN002MjU2VnBsZ3YrMkhqUjdzdmJhQzdvQ3NlblFo?= =?utf-8?B?TzFXWGozbVBSU3FyTU5RWWVaQzBJWGVIY0xNQkoxVkY3VkhHT2FabFNLMDZ4?= =?utf-8?B?NXgyb0tMc2Z0TVVRenJIZ0lqaHZXakliWXRlQlc5dTJFVUxqSm1aa1hOVy93?= =?utf-8?B?amdGN29UajJIVThhakJqOUhtRXI4NzF0blp5NjNRVTlsMmZmcW5IRmN3OWh4?= =?utf-8?B?OGlxb3d0aXdwMmMxaVB6djdQYnJ0eGpUY05Pd1Z5RTRoQU9Ea3h0RFpSSlJp?= =?utf-8?B?Y2dBTGNzelJXdEM2M2F3eDNaODlTdWRMSDVkd2lrZ0Vud3RnSWxTY2Rwc2w4?= =?utf-8?B?NitQdmNBYmJ4aER6NFVSN3dJWXE3ZUNqamVkYitiNjQ2SFM0Y0NBb0ZVdGVZ?= =?utf-8?B?NVVZVFA0Tm1ReFIxMnVHdnVDbU9Wa3VJSEtWazhVRTRpRjNXeDhtd29FOTcy?= =?utf-8?B?NUdWQVU5NW1RRkR4SVgzamNuVHhLSTFXMHBxYklmVTFhb3MyU3Q1RGRNZDF4?= =?utf-8?B?c0F1VStXN1V1UzBPWVNQKzlaR1QrQUt3WXE3bkdoY0M0SlZtelR5ZEUrRWp3?= =?utf-8?B?K3dNRnBMYThKVlZwdENWQWljMmdvRXdMblBpNWFaRHB6eHRubStTb2ZaZll1?= =?utf-8?B?MEE4WDRiZXEvU2dUbjNUTEVUSmh3Nm9lYm9KU0txdmtHVkgvZFd5bjJXcWll?= =?utf-8?B?VkdFSWI0aXBib1BodDJ4ODBSQWp5Mk9CallFVnRjcElQRjFKWExiRC9sRHEv?= =?utf-8?B?NE9jcDJiQy9wZ1VrNTdwZGN2QnJhUVI1ZmNpSmJMZVgxNUZKb2l4RlhRdnF0?= =?utf-8?B?U0g3c3drSk5vOFpvMzUraFNXRFVTUy9xODJ3Y0NMM2ZoQnB4VFFoTnFSVXRl?= =?utf-8?B?VWJmaU1ibDZmdjBLMFgxdDRrSExsZTd4ck1UWGU3SmE1RUpyY0txbHNlUWJG?= =?utf-8?B?S0N2RDdNRmYxbEtMa0lyMy9DcDUrK2ZaZFRwbTFJOWR4dk00R1FQak1nbEZm?= =?utf-8?B?dGQzRk5UZTRudUlxbHFUdVRjRng4T0Npcm1EcTRXbHZtRHVmcHM5dVErU2Y1?= =?utf-8?B?Ti9KUStneTBjbzRJZzNhWDN4Q0pOL1BLWXEvbHNIL0YwSENBU2xuYjFsNnJO?= =?utf-8?B?djdVV2RhczJzRUMveXhtSTBBUEhQSTFJZVg4QTBra1JvcVpDWkU0UHNweDdK?= =?utf-8?B?ZkhzT0NZQlNBcW51TmlqRmtwZUJpdDdKZ05Vam16a2lKSlZwSk5FbmVUUkhk?= =?utf-8?B?RTBjUDBOb3lrYVJnRjdXQUJBRkQ0NlFNSnZVMHEvUG4vRjh0bDNmengwdTAx?= =?utf-8?B?Y3c9PQ==?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-OriginatorOrg: chipsnmedia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SE1P216MB1303.KORP216.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 0383abba-719b-4b74-3899-08dc335a70c9 X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Feb 2024 03:57:51.1640 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4d70c8e9-142b-4389-b7f2-fa8a3c68c467 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: YBZAjVmu0RvixAdyrGEtYE5jidt7YshVYZFFTa+xCzKlUdAWw7VtcAtyEi3Rf2bwPCJQhQpQ0SPrd2atCM4BfLo+fjHy+pzJp39dFa4IO/c= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PS2P216MB1345 PiANCj4gPiBMZSBtZXJjcmVkaSAyMSBmw6l2cmllciAyMDI0IMOgIDAyOjI3ICswMDAwLCBqYWNr c29uLmxlZSBhIMOpY3JpdMKgOg0KPiA+ID4gSGVsbG8gTmljb2xhcw0KPiA+ID4NCj4gPiA+DQo+ ID4gPiBUaGFua3MgZm9yIHlvdXIgY29tbWVudA0KPiA+ID4NCj4gPiA+ID4gTGUgbWFyZGkgMjAg ZsOpdnJpZXIgMjAyNCDDoCAwNToxMiArMDAwMCwgamFja3Nvbi5sZWUgYSDDqWNyaXTCoDoNCj4g PiA+ID4gPiBBIHBhdXNlIGlzIGNvbW1vbiBzdGF0ZSBmb3IgbWVkaWEgcGxheWVyLCBidXQgb3Vy IFZQVSBjb3VsZA0KPiA+ID4gPiA+IHRyaWdnZXIgYW4NCj4gPiA+ID4gaW50ZXJydXB0IHJlZ2Fy ZGxlc3Mgb2YgYSBwbGF5ZXIgc3RhdGUuDQo+ID4gPiA+ID4gU28gYXQgYSBwYXVzZSBzdGF0ZSBp ZiBhIHBvd2VyIHR1cm5zIG9mZiwgb3VyIGRyaXZlciBiZWNvbWVzIGhhbmctDQo+IHVwLg0KPiA+ ID4gPiA+IEkgdGhpbmsgcG93ZXIgb24vb2ZmIHNob3VsZCBiZSBjb250cm9sbGVkIGluIHRoZSBv cGVuL2Nsb3NlDQo+IGZ1bmN0aW9uLg0KPiA+ID4gPg0KPiA+ID4gPiBQbGVhc2UsIGF2b2lkIHRv cCBwb3N0aW5nLCB0aGlzIGJyZWFrcyB0aGUgZGlzY3Vzc2lvbiBjb21wbGV0ZWx5Lg0KPiA+ID4g PiBXYWxrIHRocm91Z2ggdGhlIGNvbW1lbnRzLCBhbmQgcmVwbHkgdG8gdGhlbSB1bmRlcm5lYXRo IHNvIHdlIGNhbg0KPiA+ID4gPiBoYXZlIGEgcHJvcGVyIGRpc2N1c3Npb24uDQo+ID4gPiA+DQo+ ID4gPiA+IEluIG91ciBleHBlcmllbmNlLCBhbmQgd2l0aCB0aGUgcmV3b3JrIG9mIHRoZSBkcml2 ZXIgd2UgZGlkIGR1cmluZw0KPiA+ID4gPiB1cC0gc3RyZWFtaW5nLCB0aGVyZSBpcyBubyBtb3Jl IHVuLXNvbGljaXRlZCBJUlEuIFRoZSB3YXkgdGhlDQo+ID4gPiA+IGRyaXZlciBzdGF0ZSBtYWNo aW5lIGhhcyBiZWVuIGJ1aWx0LCB3aGVuIHRoZSBtMm0gZnJhbWV3b3JrIGlzDQo+ID4gPiA+IGlk bGUgKG5vIGpvYnMgYXJlIGFjdGl2ZSBvciBwZW5kaW5nKSwgaXQgbWVhbnMgdGhlIGZpcm13YXJl IGlzDQo+ID4gPiA+IHN0YWxsZWQsIHdhaXRpbmcgb24gc29tZSBhcHBsaWNhdGlvbiBhY3Rpb24u IENvbWJpbmVkIHdpdGggYSB0aW1lcg0KPiA+ID4gPiBvZiBjb3Vyc2UsIHNvIHdlIGRvbid0IGFj dGl2ZWx5IHN1c3BlbmQvcmVzdW1lLCB0aGlzIHNlZW1zDQo+ID4gPiA+IGFkZXF1YXRlIHBsYWNl IHRvIGRvIHBvd2VyIG1hbmFnZW1lbnQuIElmIHRoYXQgYXBwbGljYXRpb24gYWN0aW9uDQo+ID4g PiA+IG5ldmVyIG9jY3VycmVkIHBhc3NlZCBhDQo+ID4gZGVjZW50IGRlbGF5LCB3ZSBjYW4gc3Vz cGVuZC4NCj4gPiA+ID4gTGF0ZXIgb24sIHVzZXIgYWN0aW9ucyBsaWtlIHFidWYsIHdpbGwgbGVh ZCB0bw0KPiA+ID4gPiBkZXZpY2VfcnVuKCkgdG8gYmUgY2FsbGVkIGFnYWluLCBhbmQgaXQgd291 bGQgYmUgYSBnb29kIHBsYWNlIHRvDQo+ID4gcmVzdW1lIGl0Lg0KPiA+ID4NCj4gPiA+IFRoZSBh Ym92ZSBjb21tZW50IG1lYW5zIGxpa2UgdGhlIGJlbG93ID8NCj4gPiA+IFRoZSB3YXZlNV92cHVf ZGVjX2ZpbmlzaF9kZWNvZGUgaXMgY2FsbGVkIGJ5IElSUSBpZiB0aGVyZSBpcyBhDQo+ID4gPiBk ZWNvZGVkDQo+ID4gZnJhbWUuDQo+ID4gPiBBbmQgYXQgdGhlIGVuZCBvZiB0aGUgZnVuY3Rpb24s IGlmIHRoZXJlIGlzIG5vIGRhdGEgcXVldWVkLA0KPiA+IHY0bDJfbTJtX2pvYl9maW5pc2ggaXMg Y2FsbGVkLg0KPiA+ID4gWW91IG1lYW5zIHN1c3BlbmQgaXMgY2FsbGVkIGluIHRoYXQgZnVuY3Rp b24gYW5kIGlmIGFwcCBmZWVkcyBuZXcNCj4gPiA+IGRhdGEgaW50byB2NGwyIGRyaXZlciwgdGhl IGRldmljZV9ydW4gdGhlbiBpcyBjYWxsZWQsIEluIHRoZQ0KPiA+ID4gZGV2aWNlX3J1biwNCj4g PiByZXN1bWUgaXMgY2FsbGVkLg0KPiA+DQo+ID4gVGhhdCBpcyB0aGUgZ2VuZXJhbCBpZGVhLiAo Tm90ZSB0aGF0IHdlIGRvbid0IGZvcmNlZnVsbHkgc3VzcGVjdCwgZm9yDQo+ID4gdGhpcyB0eXBl IG9mIEhXLCB3ZSBzaG91bGQgY29uZmlndXJlIGEgZGVsYXkuIEp1c3Qgc2F5aW5nIGluIGNhc2UN Cj4gPiBzb21lb25lIG1pc3MtIGludGVycHJldCB3aGF0IHdhcyB3cml0dGVuIGhlcmUpDQo+ID4N Cj4gPiA+DQo+ID4gPg0KPiA+ID4gSSBoYXZlIGEgcXVlc3Rpb24sDQo+ID4gPiBJZiBhcHAgaXMg cGF1c2VkIG9yIHJlc3VtZWQgLCB0aGUgdjRsMidzIHZpZGlvY19kZWNvZGVyX2NtZCBpcw0KPiA+ ID4gYWx3YXlzDQo+ID4gY2FsbGVkID8NCj4gPg0KPiA+IFRoZXJlIGlzIG5vIGluZGljYXRpb24g aWYgYW4gYXBwIGlzIHBhdXNlZCAvIHJlc3VtZWQuIFJ1bnRpbWUgUE0gaW4NCj4gPiBmYWN0IHNo b3VsZCBub3QgZGVwZW5kIG9uIGFwcGxpY2F0aW9uIGFjdGlvbnMgaW4gZ2VuZXJhbC4gSW4gdGhl IGNhc2UNCj4gPiBvZiBWNEwyLCBtb3N0IGRyaXZlciB3aWxsIGNvbmZpZ3VyZSBhIGRlbGF5IChs aWtlIDUgc2Vjb25kcykuIElmIHRoZQ0KPiA+IGRyaXZlciBoYXMgYmVlbiBpZGxlIChubyBwZW5k aW5nIHdvcmssIG5vIGpvYnMpIHdpdGhpbmcgdGhhdCBkZWxheSwgaXQNCj4gPiB3aWxsIGF1dG8g c3VzcGVuZC4gVGhlbiB3aGVuZXZlciBuZXcgYWN0aXZpdHkgY29tZXMsIGxpa2UgYSBRQlVGLCB3 ZQ0KPiByZXN1bWUuDQo+ID4NCg0KQmVsb3cgaXMgYSBwc2V1ZG8gY29kZSBmb3IgY29uZmlndXJp bmcgYSBkZWxheSBmb3IgdGhlIFJ1biB0aW1lIHN1c3BlbmQvcmVzdW1lLiANClRoZSBsb2dpYyB5 b3UgYXJlIHNheWluZyBtZWFucyB0aGUgYmVsb3cgPw0KDQpEcml2ZXJfcHJvYmUgDQp7DQogCXBt X3J1bnRpbWVfc2V0X2F1dG9zdXNwZW5kX2RlbGF5KHZwdS0+ZGV2LCAxMDApOw0KCXBtX3J1bnRp bWVfdXNlX2F1dG9zdXNwZW5kKHZwdS0+ZGV2KTsNCglwbV9ydW50aW1lX2VuYWJsZSh2cHUtPmRl dik7DQoNCn0NCg0KRGV2aWNlX3J1biANCnsNCg0KCXBtX3J1bnRpbWVfcmVzdW1lX2FuZF9nZXQo Y3R4LT5kZXYtPmRldik7DQp9DQoNCg0KRmluaXNoX2pvYiANCnsNCglwbV9ydW50aW1lX21hcmtf bGFzdF9idXN5KHZwdS0+ZGV2KTsNCglwbV9ydW50aW1lX3B1dF9hdXRvc3VzcGVuZCh2cHUtPmRl dik7DQoNCn0NCg0KDQoNClRoYW5rcy4NCkphY2tzb24gDQoNCj4gDQo+IFRoZSBkZWxheSBtZWFu cyBhIHRpbWVyLCBzbyB0aGVyZSBpcyBubyBpbnB1dCBmb3IgNSBzZWNzLCB0aGVuIHRpbWVvdXQN Cj4gY2FsbGJhY2sgaXMgY2FsbGVkLCBBbmQgc3VzcGVuZCBpcyBzZXQsIGlmIG5ldyBhY3Rpdml0 eSBjb21lcywgdGhlIGRldmljZQ0KPiBpcyByZXN1bWVkIGFnYWluID8NCj4gTXkgdW5kZXJzdGFu ZGluZyBpcyBjb3JyZWN0ID8NCj4gDQoNCg0KPiANCj4gDQo+ID4gTmljb2xhcw0KPiA+DQo+ID4g Pg0KPiA+ID4gVGhhbmtzLg0KPiA+ID4NCj4gPiA+DQo+ID4gPiA+IFRoZXJlIGlzIG9mIGNvdXJz ZSBvdGhlciBwbGFjZXMgd2hlcmUgeW91J2xsIGhhdmUgdG8gbWFrZSBzdXJlIHRoZQ0KPiA+ID4g PiBoYXJkd2FyZSBpcyByZXN1bWVkLCBsaWtlIG9uIGNsb3NlLCBhcyB5b3Ugd2FudCB0byByZW1v dmUgdGhlDQo+IGluc3RhbmNlLg0KPiA+ID4gPiBUaGVyZSBpcyBhbHNvIHNtYWxsIHF1ZXJpZXMg aGVyZSBhbmQgdGhlcmUgdGhhdCBuZWVkIHRvIGJlDQo+ID4gPiA+IHN1cnJvdW5kZWQgd2l0aCBy ZXN1bWUvcHV0LCBidXQgd2l0aCB0aGUgcmVkZXNpZ24sIG1vc3Qgb2YgdGhlIEhXDQo+ID4gPiA+ IGFjY2VzcyBub3cgdGFrZSBwbGFjZSBpbnNpZGUgZGV2aWNlX3J1bigpIG9ubHkuDQo+ID4gPiA+ DQo+ID4gPiA+IE9wZW4vQ2xvc2UgaXMgbm90IGludmFsaWQsIGJ1dCBpdCBoYXMgYSBsb3Qgb2Yg aXNzdWVzLCBhcyBhbnkNCj4gPiA+ID4gcmFuZG9tIGFwcGxpY2F0aW9uIGNhbiBlbmR1cCBkaXNh YmxpbmcgdGhlIGtlcm5lbCBhYmlsaXR5IHRvIHNhdmUNCj4gcG93ZXIuDQo+ID4gPiA+IFBlcnNv bmFsbHksIEkgdGhpbmsgd2Ugc2hvdWxkIGF0IGxlYXN0IGdpdmUgaXQgYSB0cnksIGFuZCBkb2N1 bWVudA0KPiA+ID4gPiB2YWxpZCByZWFzb24gbm90IHRvIGRvIHNvIGlmIHdlIGZpbmQgaGFyZHdh cmUgaXNzdWVzLiBPdGhlcndpc2UsDQo+ID4gPiA+IHRoaXMgc291bmRzIGxpa2UgYWxsIHdlIGNh cmUgaXMgdGlja2luZyB0aGUgYm94ICJ0aGlzIGRyaXZlciBoYXMNCj4gPiA+ID4gcnVudGltZSBQ TSIgd2l0aG91dCBhY3R1YWxseSBjYXJpbmcgYWJvdXQgZWZmZWN0aXZlIHBvd2VyIHNhdmluZy4N Cj4gPiA+ID4NCj4gPiA+ID4gTmljb2xhcw0KPiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4g VGhhbmtzLg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBMZSBsdW5kaSAxOSBmw6l2cmllciAyMDI0 IMOgIDA0OjA0ICswMDAwLCBqYWNrc29uLmxlZSBhIMOpY3JpdMKgOg0KPiA+ID4gPiA+ID4gPiBI aSBOaWNvbGFzDQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4g VGhpcyBzZWVtcyB2ZXJ5IHVubmF0dXJhbC4gV2UgZG8gdGhlIGdldCgpIGluDQo+ID4gPiA+ID4g PiA+ID4gInN0YXJ0X3N0cmVhbWluZygpIiwgYnV0IHRoZQ0KPiA+ID4gPiA+ID4gPiA+IHB1dCgp IGlzIG9ubHkgZG9uZSB3aGVuIHRoZSBkZXZpY2UgaXMgY2xvc2VkLCBvciB3aGVuIHRoZQ0KPiA+ ID4gPiA+ID4gPiA+IGRyaXZlciBpcyByZW1vdmVkLiBBcyB0aGlzIGlzIG5vdCBiYWxhbmNlZCwg eW91IHNlZW0gdG8NCj4gPiA+ID4gPiA+ID4gPiBoYXZlIHRvIGNoZWNrIHRoZSBzdXNwZW5kZWQg Y29uZGl0aW9uIGFsbCBvdmVyIHRoZSBwbGFjZS4NCj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ ID4gPiA+IEkgdGhpbmsgd2UgY291bGQgYWltIGZvcg0KPiA+ID4gPiA+ID4gPiA+IHN0YXJ0X3N0 cmVhbWluZygpL3N0b3Bfc3RyZWFtaW5nKCkNCj4gPiA+ID4gPiA+ID4gPiBmb3IgeW91ciBnZXQv cHV0IHBsYWNlbWVudC4gQXQgbGVhc3QgdGhleSB3aWxsIGJlIGJvdW5kIHRvDQo+ID4gPiA+ID4g PiA+ID4gYW4gZW50aXJlbHkgYmFsYW5jZWQNCj4gPiA+ID4gPiA+IEFQSS4NCj4gPiA+ID4gPiA+ ID4gPiBCdXQgdGhlbiwgYSBtZWRpYSBwbGF5ZXIgaW4gcGF1c2VkIHNhdGUgd2lsbCBwcmV2ZW50 IHRoYXQNCj4gPiA+ID4gPiA+ID4gPiBkZXZpY2UgZnJvbSBiZWluZyBzdXNwZW5kZWQuDQo+ID4g PiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiBJZiB0aGUgSFcgaXMgY2FwYWJsZSBvZiBwcmVz ZXJ2aW5nIGVub3VnaCBzdGF0ZSwgYW5kIEZyb20NCj4gPiA+ID4gPiA+ID4gPiB0aGUgc2hvcnQg ZG9jIEkgaGF2ZSBpdCBnaXZlcyBtZSB0aGUgaW1wcmVzc2lvbiBpdCBjYW4NCj4gPiA+ID4gPiA+ ID4gPiBwcmVzZXJ2ZSB0aGF0LCBJJ2Qgc3VnZ2VzdCB0byBmb2xsb3cgd2hhdCBoYW50cm8gZHJp dmVyIGlzDQo+ID4gPiA+ID4gPiA+ID4gZG9pbmcuIFdoYXQgaXMgZG9lcyBpcyB0aGF0IGl0IHdp bGwgZG8gZ2V0KCkgaW4NCj4gPiA+ID4gPiA+ID4gPiBkZXZpY2VfcnVuKCksIGFuZCBwdXQoKSB3 aGVuZXZlciB0aGUgam9iIGNvbXBsZXRlcy4gVGhpcw0KPiA+ID4gPiA+ID4gPiA+IGRyaXZlciBo YXMgYmVlbiBkZXNpZ25lZCBzbyB3aGVuIHRoZXJlIGlzIG5vIGpvYiwgaXQgbWVhbnMNCj4gPiA+ ID4gPiA+ID4gPiB0aGUgZmlybXdhcmUgaXMgY3VycmVudGx5IGlkbGUgYW5kIGxvb2tpbmcgZm9y IG1vcmUgd29yay4NCj4gPiA+ID4gPiA+ID4gPiBTbyBpdCBzZWVtcyBsaWtlIHRoZSBwZXJmZWN0 IG1vbWVudCB0bw0KPiA+ID4gPiBkbyBzdXNwZW5kIGl0Lg0KPiA+ID4gPiA+ID4gPiA+DQo+ID4g PiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+IFRoYW5rcyB5b3VyIGNvbW1lbnQsDQo+ID4gPiA+ID4g PiA+DQo+ID4gPiA+ID4gPiA+IEN1cnJlbnRseSB0aGV5IGFyZSBub3QgYmFsYW5jZWQsIElmIHdl IHB1dHMgInRoZSBwdXQgZnVuY3RvbiINCj4gPiA+ID4gPiA+ID4gaW50byB0aGUgc3RvcF9zdHJl YW1pbmcsIG91ciBodyBpcyBzdGFsbGVkDQo+ID4gPiA+ID4gPiB1bnRpbCBkb2luZyB3YWtlLXVw IGNvbW1hbmQsIHNvIG91ciB2NGwyIGRldmljZSBiZWNvbWUgYmxvY2suDQo+ID4gPiA+ID4gPiA+ IHNvIEknZCBsaWtlIHRvIHVwZGF0ZSB0aGUgYmVsb3cgaW5zdGVhZCBvZiBjYWxsaW5nIGdldCBh dA0KPiA+ID4gPiA+ID4gPiB0aGUNCj4gPiA+ID4gPiA+IHN0YXJ0X3N0cmVhbWluZyBmdW5jdGlv bi4NCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gQEAgLTE4Njcs NiArMTg2OCwxMyBAQCBzdGF0aWMgaW50IHdhdmU1X3ZwdV9vcGVuX2RlYyhzdHJ1Y3QNCj4gPiA+ ID4gPiA+ID4gZmlsZQ0KPiA+ID4gPiA+ID4gPiAqZmlscCkNCj4gPiA+ID4gPiA+ID4NCj4gPiA+ ID4gPiA+ID4gICAgICAgICB3YXZlNV92ZGlfYWxsb2NhdGVfc3JhbShpbnN0LT5kZXYpOw0KPiA+ ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiArICAgICAgIGVyciA9IHBtX3J1bnRpbWVfcmVzdW1l X2FuZF9nZXQoaW5zdC0+ZGV2LT5kZXYpOw0KPiA+ID4gPiA+ID4gPiArICAgICAgIGlmIChlcnIp IHsNCj4gPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgIGRldl9lcnIoaW5zdC0+ZGV2LT5kZXYs ICJkZWNvZGVyIHJ1bnRpbWUNCj4gPiA+ID4gPiA+ID4gKyByZXN1bWUNCj4gPiA+ID4gPiA+IGZh aWxlZCAlZFxuIiwgZXJyKTsNCj4gPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgIHJldCA9IC1F SU5WQUw7DQo+ID4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICBnb3RvIGNsZWFudXBfaW5zdDsN Cj4gPiA+ID4gPiA+ID4gKyAgICAgICB9DQo+ID4gPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+ID4g ICAgICAgICByZXR1cm4gMDsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBJIGd1ZXNzIHdlIG5l ZWQgdG8gZGlzY3VzcyB0aGUgcG93ZXIgbWFuYWdlbWVudCBzdHJhdGVneSBmb3INCj4gPiA+ID4g PiA+IHRoaXMNCj4gPiA+ID4gZGV2aWNlLg0KPiA+ID4gPiA+ID4gSWYgeW91IGRvIHJlc3VtZV9h bmRfZ2V0KCkgaW4gb3BlbigpLCBhbmQgdGhlbiBwdXQgaW4gY2xvc2UoKSwNCj4gPiA+ID4gPiA+ IHRoYXQgc2VlbXMgYmFsYW5jZWQuIEJ1dCBpbiB0ZXJtIG9mIHBvd2VyIHNhdmluZywgaXQgbWln aHQgbm90DQo+ID4gPiA+ID4gPiBiZSB2ZXJ5IHN0cm9uZy4gSWYgeW91IGhhdmUgYSBtZWRpYSBw bGF5ZXIgdGhhdCBpcyBzZXQgdG8NCj4gPiA+ID4gPiA+IHBhdXNlIGFuZCB0aGVuIHBsYWNlZCBp biB0aGUgYmFja2dyb3VuZCwgeW91IHN0aWxsIGtlZXAgdGhlIElQDQo+ID4gPiA+ID4gPiBydW5u aW5nLiBUaGlzIGlzIGV4dHJlbWVseSBjb21tb24sIHNpbmNlIGFwcGxpY2F0aW9uIGNhbm5vdA0K PiA+ID4gPiA+ID4gY2xvc2UgdGhlaXIgZGV2aWNlIHdpdGhvdXQgbG9vc2luZyB0aGUgcmVmZXJl bmNlIGZyYW1lcywgYW5kDQo+ID4gPiA+ID4gPiB0aHVzIGhhdmluZyB0byBkbyBleHRyYSB3b3Jr IG9uIHJlc3VtZSB0byBzZWVrIGJhY2sgdG8gdGhlDQo+ID4gPiA+ID4gPiBwcmV2aW91cyBzeW5j IHBvaW50IGFuZCBkcm9wDQo+ID4gPiA+IHVubmVlZGVkIGZyYW1lcy4NCj4gPiA+ID4gPiA+DQo+ ID4gPiA+ID4gPiBJdCBzZWVtcyBsaWtlIHRoZSB3aG9sZSBwb2ludCBvZiBhc2tpbmcgdGhlIGZp cm13YXJlIHRvIHNhdmUNCj4gPiA+ID4gPiA+IHRoZSBzdGF0ZSBhbmQgc3VzcGVuZCBpcyB0byBi ZSBhYmxlIHRvIGRvIHNvIHdoaWxlIHRoZXJlIGlzDQo+ID4gPiA+ID4gPiBtZWFuaW5nZnVsIHNh dGUgaW4gdGhlIGZpcnQgcGxhY2UuDQo+ID4gPiA+ID4gPiBJZiB3ZSBhcmUgdG8gc3VzcGVuZCBv bmx5IHdoZW4gdGhlcmUgaXMgbm8gbWVhbmluZ2Z1bCBzdGF0ZSwNCj4gPiA+ID4gPiA+IHdlIGNv dWxkIGp1c3QgZnJlZSBhbGwgcmVzb3VyY2VzIGFuZCBwb3dlciBpdCBvZmYgY29tcGxldGVseS4N Cj4gPiA+ID4gPiA+IChUaGlzIGlzIGp1c3QgZm9yIGlsbHVzdHJhdGlvbiwgaXRzIHByb2JhYmx5 IHRvIHNsb3cgdG8gYm9vdA0KPiA+ID4gPiA+ID4gdGhlIGZpcm13YXJlIGF0DQo+ID4gPiA+ID4g PiBydW50aW1lKQ0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBJIHVuZGVy c3RhbmQgeW91IHN1ZmZlcmVkIGxvY2t1cCB3aXRoIGEgc3RhcnRfc3RyZWFtaW5nKCkgZm9yDQo+ ID4gPiA+ID4gPiByZXN1bWVfYW5kX2dldCgpLCBhbmQgc3RvcF9zdHJlYW1pbmcoKSBmb3IgcHV0 KCksIHRoaXMgbWF5DQo+ID4gPiA+ID4gPiBzaW1wbHkgaW5kaWNhdGUgdGhhdCBzb21lIGhhcmR3 YXJlIGFjY2VzcyBhcmUgbmVlZGVkIGJldHdlZW4NCj4gPiA+ID4gPiA+IHRoZXNlIHR3by4gQ2Fu IHlvdSB3cml0ZSBkb3duIGEgcG93ZXIgbWFuYWdlbWVudCBwbGFuIHRoYXQNCj4gPiA+ID4gPiA+ IHdvdWxkIGVmZmVjdGl2ZWx5IHNhdmUgcG93ZXIgaW4gY29tbW9uIHVzZSBjYXNlcyA/IFdlIGNh bg0KPiA+ID4gPiA+ID4gY2VydGFpbmx5IGhlbHAgaW4gcmVmYWN0b3JpbmcgdGhlDQo+ID4gPiA+ IGNvZGUgdG8gbWFrZSB0aGF0IGhhcHBlbi4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBOaWNv bGFzDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+IExlIG1lcmNy ZWRpIDMxIGphbnZpZXIgMjAyNCDDoCAxMDozMCArMDkwMCwgamFja3Nvbi5sZWUgYQ0KPiA+IMOp Y3JpdMKgOg0KPiA+ID4gPiA+ID4gPiA+ID4gVGhlcmUgYXJlIHR3byBkZXZpY2UgcnVuLXRpbWUg UE0gY2FsbGJhY2tzIGRlZmluZWQgaW4NCj4gPiA+ID4gPiA+ID4gPiA+ICdzdHJ1Y3QNCj4gPiA+ ID4gPiA+ID4gPiBkZXZfcG1fb3BzJw0KPiA+ID4gPiA+ID4gPiA+ID4gaW50ICgqcnVudGltZV9z dXNwZW5kKShzdHJ1Y3QgZGV2aWNlICpkZXYpOyBpbnQNCj4gPiA+ID4gPiA+ID4gPiA+ICgqcnVu dGltZV9yZXN1bWUpKHN0cnVjdCBkZXZpY2UgKmRldik7DQo+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ ID4gPiA+ID4gPiBJIHdvbmRlciBob3cgdXNlZnVsIGlzIGl0IHRvIHRlYWNoIGV2ZXJ5b25lIHdo YXQgdGhlDQo+ID4gPiA+ID4gPiA+ID4gZ2VuZXJpYyAnc3RydWN0IGRldl9wbV9vcHMnDQo+ID4g PiA+ID4gPiA+ID4gY29udGFpbnMuIFBlcmhhcHMgeW91IHNpbXBseSB3YW50ZWQgdGhhdCB0aGlz IHBhdGNoDQo+ID4gPiA+ID4gPiA+ID4gaW1wbGVtZW50IGJvdGggc3VzcGVuZCBhbmQgcmVzdW1l IG9wcyA/DQo+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ ID4gPiBTaWduZWQtb2ZmLWJ5OiBKYWNrc29uIExlZSA8amFja3Nvbi5sZWVAY2hpcHNubWVkaWEu Y29tPg0KPiA+ID4gPiA+ID4gPiA+ID4gU2lnbmVkLW9mZi1ieTogTmFzIENodW5nIDxuYXMuY2h1 bmdAY2hpcHNubWVkaWEuY29tPg0KPiA+ID4gPiA+ID4gPiA+ID4gLS0tDQo+ID4gPiA+ID4gPiA+ ID4gPiAgLi4uL3BsYXRmb3JtL2NoaXBzLW1lZGlhL3dhdmU1L3dhdmU1LWh3LmMgICAgIHwgIDUg Ky0NCj4gPiA+ID4gPiA+ID4gPiA+ICAuLi4vY2hpcHMtbWVkaWEvd2F2ZTUvd2F2ZTUtdnB1LWRl Yy5jICAgICAgICAgfCAgOSArKysNCj4gPiA+ID4gPiA+ID4gPiA+ICAuLi4vY2hpcHMtbWVkaWEv d2F2ZTUvd2F2ZTUtdnB1LWVuYy5jICAgICAgICAgfCAgOSArKysNCj4gPiA+ID4gPiA+ID4gPiA+ ICAuLi4vcGxhdGZvcm0vY2hpcHMtbWVkaWEvd2F2ZTUvd2F2ZTUtdnB1LmMgICAgfCA2OA0KPiA+ ID4gPiA+ID4gKysrKysrKysrKysrKysrKysrKw0KPiA+ID4gPiA+ID4gPiA+ID4gIC4uLi9wbGF0 Zm9ybS9jaGlwcy1tZWRpYS93YXZlNS93YXZlNS12cHVhcGkuYyB8ICA3ICsrDQo+ID4gPiA+ID4g PiA+ID4gPiAuLi4vbWVkaWEvcGxhdGZvcm0vY2hpcHMtbWVkaWEvd2F2ZTUvd2F2ZTUuaCAgfCAg MyArDQo+ID4gPiA+ID4gPiA+ID4gPiAgNiBmaWxlcyBjaGFuZ2VkLCA5OSBpbnNlcnRpb25zKCsp LCAyIGRlbGV0aW9ucygtKQ0KPiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+IGRp ZmYgLS1naXQNCj4gPiA+ID4gPiA+ID4gPiA+IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9jaGlw cy1tZWRpYS93YXZlNS93YXZlNS1ody5jDQo+ID4gPiA+ID4gPiA+ID4gPiBiL2RyaXZlcnMvbWVk aWEvcGxhdGZvcm0vY2hpcHMtbWVkaWEvd2F2ZTUvd2F2ZTUtaHcuYw0KPiA+ID4gPiA+ID4gPiA+ ID4gaW5kZXggOGFkN2YzYTI4YWUxLi44YWFkZTVhMzg0MzkgMTAwNjQ0DQo+ID4gPiA+ID4gPiA+ ID4gPiAtLS0NCj4gPiA+ID4gPiA+ID4gPiA+IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9jaGlw cy1tZWRpYS93YXZlNS93YXZlNS1ody5jDQo+ID4gPiA+ID4gPiA+ID4gPiArKysgYi9kcml2ZXJz L21lZGlhL3BsYXRmb3JtL2NoaXBzLW1lZGlhL3dhdmU1L3dhdmU1LWh3Lg0KPiA+ID4gPiA+ID4g PiA+ID4gKysrIGMNCj4gPiA+ID4gPiA+ID4gPiA+IEBAIC01MDMsNiArNTAzLDcgQEAgaW50DQo+ ID4gPiA+ID4gPiA+ID4gPiB3YXZlNV92cHVfYnVpbGRfdXBfZGVjX3BhcmFtKHN0cnVjdA0KPiA+ ID4gPiA+ID4gPiA+ID4gdnB1X2luc3RhbmNlDQo+ID4gPiA+ID4gPiA+ID4gKmluc3QsDQo+ID4g PiA+ID4gPiA+ID4gPiAgCS8qIFRoaXMgcmVnaXN0ZXIgbXVzdCBiZSByZXNldCBleHBsaWNpdGx5 ICovDQo+ID4gPiA+ID4gPiA+ID4gPiAgCXZwdV93cml0ZV9yZWcoaW5zdC0+ZGV2LCBXNV9DTURf RVhUX0FERFIsIDApOw0KPiA+ID4gPiA+ID4gPiA+ID4gIAl2cHVfd3JpdGVfcmVnKGluc3QtPmRl diwgVzVfQ01EX05VTV9DUV9ERVBUSF9NMSwNCj4gPiA+ID4gPiA+ID4gPiA+IChDT01NQU5EX1FV RVVFX0RFUFRIIC0gMSkpOw0KPiA+ID4gPiA+ID4gPiA+ID4gKwl2cHVfd3JpdGVfcmVnKGluc3Qt PmRldiwgVzVfQ01EX0VSUl9DT05DRUFMLCAwKTsNCj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ ID4gPiA+IEluIHNvbWUgd2F5LCB0aGUgcmVsYXRpb24gYmV0d2VlbiBzdXNwZW5kIGFuZCB0aGlz DQo+ID4gPiA+ID4gPiA+ID4gcmVnaXN0ZXIgd3JpdGUgaXMgbm90IG9idmlvdXMuIElmIGl0cyBu b3QgcmVsYXRlZCwgcGxlYXNlDQo+ID4gPiA+ID4gPiA+ID4gZG8gdGhpcyBpbiBpdHMNCj4gPiA+ ID4gb3duIHBhdGNoLg0KPiA+ID4gPiA+ID4gPiA+IE90aGVyd2lzZSB5b3Ugd2FudCB0byBleHBs YWluIHdoeSB5b3UgbmVlZGVkIHRoaXMNCj4gPiA+ID4gPiA+ID4gPiAocG9zc2libHkganVzdCBp biB0aGUgY29tbWl0IG1lc3NhZ2UpLg0KPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4g Pg0KPiA+ID4gPiA+ID4gPiA+ID4gIAlyZXQgPSBzZW5kX2Zpcm13YXJlX2NvbW1hbmQoaW5zdCwg VzVfQ1JFQVRFX0lOU1RBTkNFLA0KPiA+ID4gPiA+ID4gPiA+ID4gdHJ1ZSwgTlVMTCwNCj4gPiA+ ID4gPiA+ID4gPiBOVUxMKTsNCj4gPiA+ID4gPiA+ID4gPiA+ICAJaWYgKHJldCkgew0KPiA+ID4g PiA+ID4gPiA+ID4gQEAgLTEwNzUsOCArMTA3Niw4IEBAIGludCB3YXZlNV92cHVfcmVfaW5pdChz dHJ1Y3QNCj4gPiA+ID4gPiA+ID4gPiA+IGRldmljZSAqZGV2LCB1OCAqZncsDQo+ID4gPiA+ID4g PiA+ID4gc2l6ZV90IHNpemUpDQo+ID4gPiA+ID4gPiA+ID4gPiAgCXJldHVybiBzZXR1cF93YXZl NV9wcm9wZXJ0aWVzKGRldik7ICB9DQo+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ ID4gLXN0YXRpYyBpbnQgd2F2ZTVfdnB1X3NsZWVwX3dha2Uoc3RydWN0IGRldmljZSAqZGV2LA0K PiA+ID4gPiA+ID4gPiA+ID4gYm9vbCBpX3NsZWVwX3dha2UsDQo+ID4gPiA+ID4gPiA+ID4gY29u c3QgdWludDE2X3QgKmNvZGUsDQo+ID4gPiA+ID4gPiA+ID4gPiAtCQkJCXNpemVfdCBzaXplKQ0K PiA+ID4gPiA+ID4gPiA+ID4gK2ludCB3YXZlNV92cHVfc2xlZXBfd2FrZShzdHJ1Y3QgZGV2aWNl ICpkZXYsIGJvb2wNCj4gPiA+ID4gPiA+ID4gPiA+ICtpX3NsZWVwX3dha2UsIGNvbnN0DQo+ID4g PiA+ID4gPiA+ID4gdWludDE2X3QgKmNvZGUsDQo+ID4gPiA+ID4gPiA+ID4gPiArCQkJIHNpemVf dCBzaXplKQ0KPiA+ID4gPiA+ID4gPiA+ID4gIHsNCj4gPiA+ID4gPiA+ID4gPiA+ICAJdTMyIHJl Z192YWw7DQo+ID4gPiA+ID4gPiA+ID4gPiAgCXN0cnVjdCB2cHVfYnVmICpjb21tb25fdmI7IGRp ZmYgLS1naXQNCj4gPiA+ID4gPiA+ID4gPiA+IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9jaGlw cy1tZWRpYS93YXZlNS93YXZlNS12cHUtZGVjDQo+ID4gPiA+ID4gPiA+ID4gPiAuYw0KPiA+ID4g PiA+ID4gPiA+ID4gYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL2NoaXBzLW1lZGlhL3dhdmU1L3dh dmU1LXZwdS1kZWMNCj4gPiA+ID4gPiA+ID4gPiA+IC5jIGluZGV4IGVmMjI3YWY3MjM0OC4uMzI4 YTdhOGYyNmM1IDEwMDY0NA0KPiA+ID4gPiA+ID4gPiA+ID4gLS0tDQo+ID4gPiA+ID4gPiA+ID4g PiBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vY2hpcHMtbWVkaWEvd2F2ZTUvd2F2ZTUtdnB1LWRl Yw0KPiA+ID4gPiA+ID4gPiA+ID4gLmMNCj4gPiA+ID4gPiA+ID4gPiA+ICsrKyBiL2RyaXZlcnMv bWVkaWEvcGxhdGZvcm0vY2hpcHMtbWVkaWEvd2F2ZTUvd2F2ZTUtdnB1DQo+ID4gPiA+ID4gPiA+ ID4gPiArKysgLWQNCj4gPiA+ID4gPiA+ID4gPiA+ICsrKyBlYy5jDQo+ID4gPiA+ID4gPiA+ID4g PiBAQCAtNSw2ICs1LDcgQEANCj4gPiA+ID4gPiA+ID4gPiA+ICAgKiBDb3B5cmlnaHQgKEMpIDIw MjEtMjAyMyBDSElQUyZNRURJQSBJTkMNCj4gPiA+ID4gPiA+ID4gPiA+ICAgKi8NCj4gPiA+ID4g PiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiArI2luY2x1ZGUgPGxpbnV4L3BtX3J1bnRpbWUu aD4NCj4gPiA+ID4gPiA+ID4gPiA+ICAjaW5jbHVkZSAid2F2ZTUtaGVscGVyLmgiDQo+ID4gPiA+ ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gICNkZWZpbmUgVlBVX0RFQ19ERVZfTkFNRSAi QyZNIFdhdmU1IFZQVSBkZWNvZGVyIg0KPiA+ID4gPiA+ID4gPiA+ID4gQEAgLTEzODcsOSArMTM4 OCwxNyBAQCBzdGF0aWMgaW50DQo+ID4gPiA+ID4gPiA+ID4gPiB3YXZlNV92cHVfZGVjX3N0YXJ0 X3N0cmVhbWluZyhzdHJ1Y3QNCj4gPiA+ID4gPiA+ID4gPiA+IHZiMl9xdWV1ZSAqcSwgdW5zaWdu ZWQgaW50IGNvdW50DQo+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gIAlpZiAo cS0+dHlwZSA9PSBWNEwyX0JVRl9UWVBFX1ZJREVPX09VVFBVVF9NUExBTkUgJiYNCj4gPiA+ID4g PiA+ID4gPiA+IGluc3QtDQo+ID4gPiA+ID4gPiA+IHN0YXRlDQo+ID4gPiA+ID4gPiA+ID4gPiA9 PQ0KPiA+ID4gPiA+ID4gPiA+IFZQVV9JTlNUX1NUQVRFX05PTkUpIHsNCj4gPiA+ID4gPiA+ID4g PiA+ICAJCXN0cnVjdCBkZWNfb3Blbl9wYXJhbSBvcGVuX3BhcmFtOw0KPiA+ID4gPiA+ID4gPiA+ ID4gKwkJaW50IGVyciA9IDA7DQo+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4g IAkJbWVtc2V0KCZvcGVuX3BhcmFtLCAwLCBzaXplb2Yoc3RydWN0DQo+ID4gZGVjX29wZW5fcGFy YW0pKTsNCj4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiArCQllcnIgPSBwbV9y dW50aW1lX3Jlc3VtZV9hbmRfZ2V0KGluc3QtPmRldi0+ZGV2KTsNCj4gPiA+ID4gPiA+ID4gPiA+ ICsJCWlmIChlcnIpIHsNCj4gPiA+ID4gPiA+ID4gPiA+ICsJCQlkZXZfZXJyKGluc3QtPmRldi0+ ZGV2LCAiZGVjb2RlciBydW50aW1lDQo+ID4gcmVzdW1lDQo+ID4gPiA+ID4gPiA+ID4gZmFpbGVk ICVkXG4iLCBlcnIpOw0KPiA+ID4gPiA+ID4gPiA+ID4gKwkJCXJldCA9IC1FSU5WQUw7DQo+ID4g PiA+ID4gPiA+ID4gPiArCQkJZ290byByZXR1cm5fYnVmZmVyczsNCj4gPiA+ID4gPiA+ID4gPiA+ ICsJCX0NCj4gPiA+ID4gPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+ID4gPiA+ICAJCXJldCA9IHdh dmU1X3ZwdV9kZWNfYWxsb2NhdGVfcmluZ19idWZmZXIoaW5zdCk7DQo+ID4gPiA+ID4gPiA+ID4g PiAgCQlpZiAocmV0KQ0KPiA+ID4gPiA+ID4gPiA+ID4gIAkJCWdvdG8gcmV0dXJuX2J1ZmZlcnM7 IGRpZmYgLS1naXQNCj4gPiA+ID4gPiA+ID4gPiA+IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9j aGlwcy1tZWRpYS93YXZlNS93YXZlNS12cHUtZW5jDQo+ID4gPiA+ID4gPiA+ID4gPiAuYw0KPiA+ ID4gPiA+ID4gPiA+ID4gYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL2NoaXBzLW1lZGlhL3dhdmU1 L3dhdmU1LXZwdS1lbmMNCj4gPiA+ID4gPiA+ID4gPiA+IC5jIGluZGV4IDc2MTc3NTIxNmNkNC4u ZmY3M2Q2OWRlNDFjIDEwMDY0NA0KPiA+ID4gPiA+ID4gPiA+ID4gLS0tDQo+ID4gPiA+ID4gPiA+ ID4gPiBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vY2hpcHMtbWVkaWEvd2F2ZTUvd2F2ZTUtdnB1 LWVuYw0KPiA+ID4gPiA+ID4gPiA+ID4gLmMNCj4gPiA+ID4gPiA+ID4gPiA+ICsrKyBiL2RyaXZl cnMvbWVkaWEvcGxhdGZvcm0vY2hpcHMtbWVkaWEvd2F2ZTUvd2F2ZTUtdnB1DQo+ID4gPiA+ID4g PiA+ID4gPiArKysgLWUNCj4gPiA+ID4gPiA+ID4gPiA+ICsrKyBuYy5jDQo+ID4gPiA+ID4gPiA+ ID4gPiBAQCAtNSw2ICs1LDcgQEANCj4gPiA+ID4gPiA+ID4gPiA+ICAgKiBDb3B5cmlnaHQgKEMp IDIwMjEtMjAyMyBDSElQUyZNRURJQSBJTkMNCj4gPiA+ID4gPiA+ID4gPiA+ICAgKi8NCj4gPiA+ ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiArI2luY2x1ZGUgPGxpbnV4L3BtX3J1bnRp bWUuaD4NCj4gPiA+ID4gPiA+ID4gPiA+ICAjaW5jbHVkZSAid2F2ZTUtaGVscGVyLmgiDQo+ID4g PiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gICNkZWZpbmUgVlBVX0VOQ19ERVZfTkFN RSAiQyZNIFdhdmU1IFZQVSBlbmNvZGVyIg0KPiA+ID4gPiA+ID4gPiA+ID4gQEAgLTEzODcsOSAr MTM4OCwxNyBAQCBzdGF0aWMgaW50DQo+ID4gPiA+ID4gPiA+ID4gPiB3YXZlNV92cHVfZW5jX3N0 YXJ0X3N0cmVhbWluZyhzdHJ1Y3QNCj4gPiA+ID4gPiA+ID4gPiA+IHZiMl9xdWV1ZSAqcSwgdW5z aWduZWQgaW50IGNvdW50DQo+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gIAlp ZiAoaW5zdC0+c3RhdGUgPT0gVlBVX0lOU1RfU1RBVEVfTk9ORSAmJiBxLT50eXBlID09DQo+ID4g PiA+ID4gPiA+ID4gVjRMMl9CVUZfVFlQRV9WSURFT19PVVRQVVRfTVBMQU5FKSB7DQo+ID4gPiA+ ID4gPiA+ID4gPiAgCQlzdHJ1Y3QgZW5jX29wZW5fcGFyYW0gb3Blbl9wYXJhbTsNCj4gPiA+ID4g PiA+ID4gPiA+ICsJCWludCBlcnIgPSAwOw0KPiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ ID4gPiA+ICAJCW1lbXNldCgmb3Blbl9wYXJhbSwgMCwgc2l6ZW9mKHN0cnVjdA0KPiA+IGVuY19v cGVuX3BhcmFtKSk7DQo+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gKwkJZXJy ID0gcG1fcnVudGltZV9yZXN1bWVfYW5kX2dldChpbnN0LT5kZXYtPmRldik7DQo+ID4gPiA+ID4g PiA+ID4gPiArCQlpZiAoZXJyKSB7DQo+ID4gPiA+ID4gPiA+ID4gPiArCQkJZGV2X2VycihpbnN0 LT5kZXYtPmRldiwgImVuY29kZXIgcnVudGltZQ0KPiA+IHJlc3VtZQ0KPiA+ID4gPiA+ID4gPiA+ IGZhaWxlZCAlZFxuIiwgZXJyKTsNCj4gPiA+ID4gPiA+ID4gPiA+ICsJCQlyZXQgPSAtRUlOVkFM Ow0KPiA+ID4gPiA+ID4gPiA+ID4gKwkJCWdvdG8gcmV0dXJuX2J1ZmZlcnM7DQo+ID4gPiA+ID4g PiA+ID4gPiArCQl9DQo+ID4gPiA+ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4gPiA+ID4gPiAgCQl3 YXZlNV9zZXRfZW5jX29wZW5wYXJhbSgmb3Blbl9wYXJhbSwgaW5zdCk7DQo+ID4gPiA+ID4gPiA+ ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gIAkJcmV0ID0gd2F2ZTVfdnB1X2VuY19vcGVuKGluc3Qs ICZvcGVuX3BhcmFtKTsNCj4gPiBkaWZmIC0tDQo+ID4gPiA+ID4gPiBnaXQNCj4gPiA+ID4gPiA+ ID4gPiA+IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9jaGlwcy1tZWRpYS93YXZlNS93YXZlNS12 cHUuYw0KPiA+ID4gPiA+ID4gPiA+ID4gYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL2NoaXBzLW1l ZGlhL3dhdmU1L3dhdmU1LXZwdS5jDQo+ID4gPiA+ID4gPiA+ID4gPiBpbmRleCAwZDkwYjU4MjBi ZWYuLmY4MTQwOTc0MGE1NiAxMDA2NDQNCj4gPiA+ID4gPiA+ID4gPiA+IC0tLQ0KPiA+ID4gPiA+ ID4gPiA+ID4gYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL2NoaXBzLW1lZGlhL3dhdmU1L3dhdmU1 LXZwdS5jDQo+ID4gPiA+ID4gPiA+ID4gPiArKysgYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL2No aXBzLW1lZGlhL3dhdmU1L3dhdmU1LXZwdQ0KPiA+ID4gPiA+ID4gPiA+ID4gKysrIC5jDQo+ID4g PiA+ID4gPiA+ID4gPiBAQCAtMTAsNiArMTAsNyBAQA0KPiA+ID4gPiA+ID4gPiA+ID4gICNpbmNs dWRlIDxsaW51eC9jbGsuaD4NCj4gPiA+ID4gPiA+ID4gPiA+ICAjaW5jbHVkZSA8bGludXgvZmly bXdhcmUuaD4gICNpbmNsdWRlDQo+ID4gPiA+ID4gPiA+ID4gPiA8bGludXgvaW50ZXJydXB0Lmg+ DQo+ID4gPiA+ID4gPiA+ID4gPiArI2luY2x1ZGUgPGxpbnV4L3BtX3J1bnRpbWUuaD4NCj4gPiA+ ID4gPiA+ID4gPiA+ICAjaW5jbHVkZSAid2F2ZTUtdnB1LmgiDQo+ID4gPiA+ID4gPiA+ID4gPiAg I2luY2x1ZGUgIndhdmU1LXJlZ2RlZmluZS5oIg0KPiA+ID4gPiA+ID4gPiA+ID4gICNpbmNsdWRl ICJ3YXZlNS12cHVjb25maWcuaCINCj4gPiA+ID4gPiA+ID4gPiA+IEBAIC0xMTcsNiArMTE4LDY1 IEBAIHN0YXRpYyBpbnQNCj4gPiA+ID4gPiA+ID4gPiA+IHdhdmU1X3ZwdV9sb2FkX2Zpcm13YXJl KHN0cnVjdCBkZXZpY2UNCj4gPiA+ID4gPiA+ID4gPiAqZGV2LCBjb25zdCBjaGFyICpmd19uYW1l LA0KPiA+ID4gPiA+ID4gPiA+ID4gIAlyZXR1cm4gMDsNCj4gPiA+ID4gPiA+ID4gPiA+ICB9DQo+ ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gK3N0YXRpYyBfX21heWJlX3VudXNl ZCBpbnQgd2F2ZTVfcG1fc3VzcGVuZChzdHJ1Y3QNCj4gPiA+ID4gPiA+ID4gPiA+ICtkZXZpY2UN Cj4gPiA+ID4gPiA+ID4gPiA+ICsqZGV2KQ0KPiA+ID4gPiB7DQo+ID4gPiA+ID4gPiA+ID4gPiAr CXN0cnVjdCB2cHVfZGV2aWNlICp2cHUgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsNCj4gPiA+ID4g PiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+ID4gPiA+ICsJaWYgKHBtX3J1bnRpbWVfc3VzcGVuZGVk KGRldikpDQo+ID4gPiA+ID4gPiA+ID4gPiArCQlyZXR1cm4gMDsNCj4gPiA+ID4gPiA+ID4gPiA+ ICsNCj4gPiA+ID4gPiA+ID4gPiA+ICsJd2F2ZTVfdnB1X3NsZWVwX3dha2UoZGV2LCB0cnVlLCBO VUxMLCAwKTsNCj4gPiA+ID4gPiA+ID4gPiA+ICsJY2xrX2J1bGtfZGlzYWJsZV91bnByZXBhcmUo dnB1LT5udW1fY2xrcywgdnB1LT5jbGtzKTsNCj4gPiA+ID4gPiA+ID4gPiA+ICsNCj4gPiA+ID4g PiA+ID4gPiA+ICsJcmV0dXJuIDA7DQo+ID4gPiA+ID4gPiA+ID4gPiArfQ0KPiA+ID4gPiA+ID4g PiA+ID4gKw0KPiA+ID4gPiA+ID4gPiA+ID4gK3N0YXRpYyBfX21heWJlX3VudXNlZCBpbnQgd2F2 ZTVfcG1fcmVzdW1lKHN0cnVjdCBkZXZpY2UNCj4gPiAqZGV2KSB7DQo+ID4gPiA+ID4gPiA+ID4g PiArCXN0cnVjdCB2cHVfZGV2aWNlICp2cHUgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsNCj4gPiA+ ID4gPiA+ID4gPiA+ICsJaW50IHJldCA9IDA7DQo+ID4gPiA+ID4gPiA+ID4gPiArDQo+ID4gPiA+ ID4gPiA+ID4gPiArCXdhdmU1X3ZwdV9zbGVlcF93YWtlKGRldiwgZmFsc2UsIE5VTEwsIDApOw0K PiA+ID4gPiA+ID4gPiA+ID4gKwlyZXQgPSBjbGtfYnVsa19wcmVwYXJlX2VuYWJsZSh2cHUtPm51 bV9jbGtzLCB2cHUtDQo+ID4gPmNsa3MpOw0KPiA+ID4gPiA+ID4gPiA+ID4gKwlpZiAocmV0KSB7 DQo+ID4gPiA+ID4gPiA+ID4gPiArCQlkZXZfZXJyKGRldiwgIkVuYWJsaW5nIGNsb2NrcywgZmFp bDogJWRcbiIsDQo+ID4gcmV0KTsNCj4gPiA+ID4gPiA+ID4gPiA+ICsJCXJldHVybiByZXQ7DQo+ ID4gPiA+ID4gPiA+ID4gPiArCX0NCj4gPiA+ID4gPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+ID4g PiA+ICsJcmV0dXJuIHJldDsNCj4gPiA+ID4gPiA+ID4gPiA+ICt9DQo+ID4gPiA+ID4gPiA+ID4g PiArDQo+ID4gPiA+ID4gPiA+ID4gPiArc3RhdGljIF9fbWF5YmVfdW51c2VkIGludCB3YXZlNV9z dXNwZW5kKHN0cnVjdCBkZXZpY2UNCj4gPiA+ID4gPiA+ID4gPiA+ICsqZGV2KQ0KPiA+IHsNCj4g PiA+ID4gPiA+ID4gPiA+ICsJc3RydWN0IHZwdV9kZXZpY2UgKnZwdSA9IGRldl9nZXRfZHJ2ZGF0 YShkZXYpOw0KPiA+ID4gPiA+ID4gPiA+ID4gKwlzdHJ1Y3QgdnB1X2luc3RhbmNlICppbnN0Ow0K PiA+ID4gPiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ID4gPiA+ID4gKwlsaXN0X2Zvcl9lYWNoX2Vu dHJ5KGluc3QsICZ2cHUtPmluc3RhbmNlcywgbGlzdCkNCj4gPiA+ID4gPiA+ID4gPiA+ICsJCXY0 bDJfbTJtX3N1c3BlbmQoaW5zdC0+djRsMl9tMm1fZGV2KTsNCj4gPiA+ID4gPiA+ID4gPiA+ICsN Cj4gPiA+ID4gPiA+ID4gPiA+ICsJcmV0dXJuIHBtX3J1bnRpbWVfZm9yY2Vfc3VzcGVuZChkZXYp OyB9DQo+ID4gPiA+ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4gPiA+ID4gPiArc3RhdGljIF9fbWF5 YmVfdW51c2VkIGludCB3YXZlNV9yZXN1bWUoc3RydWN0IGRldmljZQ0KPiA+ID4gPiA+ID4gPiA+ ID4gKypkZXYpDQo+ID4gew0KPiA+ID4gPiA+ID4gPiA+ID4gKwlzdHJ1Y3QgdnB1X2RldmljZSAq dnB1ID0gZGV2X2dldF9kcnZkYXRhKGRldik7DQo+ID4gPiA+ID4gPiA+ID4gPiArCXN0cnVjdCB2 cHVfaW5zdGFuY2UgKmluc3Q7DQo+ID4gPiA+ID4gPiA+ID4gPiArCWludCByZXQgPSAwOw0KPiA+ ID4gPiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ID4gPiA+ID4gKwlyZXQgPSBwbV9ydW50aW1lX2Zv cmNlX3Jlc3VtZShkZXYpOw0KPiA+ID4gPiA+ID4gPiA+ID4gKwlpZiAocmV0IDwgMCkNCj4gPiA+ ID4gPiA+ID4gPiA+ICsJCXJldHVybiByZXQ7DQo+ID4gPiA+ID4gPiA+ID4gPiArDQo+ID4gPiA+ ID4gPiA+ID4gPiArCWxpc3RfZm9yX2VhY2hfZW50cnkoaW5zdCwgJnZwdS0+aW5zdGFuY2VzLCBs aXN0KQ0KPiA+ID4gPiA+ID4gPiA+ID4gKwkJdjRsMl9tMm1fcmVzdW1lKGluc3QtPnY0bDJfbTJt X2Rldik7DQo+ID4gPiA+ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4gPiA+ID4gPiArCXJldHVybiBy ZXQ7DQo+ID4gPiA+ID4gPiA+ID4gPiArfQ0KPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ ID4gVGhlIGZ1bmN0aW9ucyB3YXZlNV9zdXNwZW5kKCkgYW5kIHdhdmU1X3Jlc3VtZSgpIGFyZSBu b3QNCj4gPiA+ID4gPiA+ID4gPiBqdXN0ICJtYXliZV91bnN1ZWQiIGJ1dCBhY3R1YWxseSBuZXZl ciB1c2VkLiBXaGF0IHdhcyB0aGUNCj4gPiBpbnRlbnRpb24gPw0KPiA+ID4gPiA+ID4gPiA+IENv bnNpZGVyaW5nIHRoZSB1c2FnZSBvZiBfX21heWJlX3VudXNlZCBoYXMgYmVlbiBzdWNoIGENCj4g PiA+ID4gPiA+ID4gPiBiYWQgZnJpZW5kIGZvciB0aGlzIG9uZSwgY291bGQgeW91IGluc3RlYWQg YnJhY2tldCB0aGUNCj4gPiA+ID4gPiA+ID4gPiBmdW5jdGlvbnMgd2l0aCBhbg0KPiA+ID4gPiA+ ID4gZXhwbGljaXQgPw0KPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gI2lmZGVmIENP TkZJR19QTQ0KPiA+ID4gPiA+ID4gPiA+ICNlbmRpZg0KPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ ID4gPiA+ID4gVGhpcyB3YXkgdGhlIGNvbXBpbGVyIHdpbGwgaGF2ZSBhIHdvcmQgaWYgeW91IGlt cGxlbWVudA0KPiA+ID4gPiA+ID4gPiA+IHNvbWV0aGluZyB0aGF0IHlvdSBmb3Jnb3QgdG8gYWN0 dWFsbHkgdXNlLg0KPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiArDQo+ID4gPiA+ ID4gPiA+ID4gPiArc3RhdGljIGNvbnN0IHN0cnVjdCBkZXZfcG1fb3BzIHdhdmU1X3BtX29wcyA9 IHsNCj4gPiA+ID4gPiA+ID4gPiA+ICsJU0VUX1JVTlRJTUVfUE1fT1BTKHdhdmU1X3BtX3N1c3Bl bmQsIHdhdmU1X3BtX3Jlc3VtZSwNCj4gPiA+ID4gPiA+IE5VTEwpIH07DQo+ID4gPiA+ID4gPiA+ ID4gPiArDQo+ID4gPiA+ID4gPiA+ID4gPiAgc3RhdGljIGludCB3YXZlNV92cHVfcHJvYmUoc3Ry dWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikNCj4gew0KPiA+ID4gPiA+ID4gPiA+ID4gIAlpbnQg cmV0Ow0KPiA+ID4gPiA+ID4gPiA+ID4gQEAgLTIzMiw2ICsyOTIsMTAgQEAgc3RhdGljIGludCB3 YXZlNV92cHVfcHJvYmUoc3RydWN0DQo+ID4gPiA+ID4gPiA+ID4gPiBwbGF0Zm9ybV9kZXZpY2UN Cj4gPiA+ID4gPiA+ID4gPiAqcGRldikNCj4gPiA+ID4gPiA+ID4gPiA+ICAJCSAobWF0Y2hfZGF0 YS0+ZmxhZ3MgJiBXQVZFNV9JU19ERUMpID8NCj4gPiAiJ0RFQ09ERSciIDogIiIpOw0KPiA+ID4g PiA+ID4gPiA+ID4gIAlkZXZfaW5mbygmcGRldi0+ZGV2LCAiUHJvZHVjdCBDb2RlOiAgICAgIDB4 JXhcbiIsIGRldi0NCj4gPiA+ID4gPiA+ID4gcHJvZHVjdF9jb2RlKTsNCj4gPiA+ID4gPiA+ID4g PiA+ICAJZGV2X2luZm8oJnBkZXYtPmRldiwgIkZpcm13YXJlIFJldmlzaW9uOiAldVxuIiwNCj4g PiA+ID4gPiA+ID4gPiA+IGZ3X3JldmlzaW9uKTsNCj4gPiA+ID4gPiA+ID4gPiA+ICsNCj4gPiA+ ID4gPiA+ID4gPiA+ICsJcG1fcnVudGltZV9lbmFibGUoJnBkZXYtPmRldik7DQo+ID4gPiA+ID4g PiA+ID4gPiArCXdhdmU1X3ZwdV9zbGVlcF93YWtlKCZwZGV2LT5kZXYsIHRydWUsIE5VTEwsIDAp Ow0KPiA+ID4gPiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ID4gPiA+ID4gIAlyZXR1cm4gMDsNCj4g PiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiAgZXJyX2VuY191bnJlZzoNCj4gPiA+ ID4gPiA+ID4gPiA+IEBAIC0yNTQsNiArMzE4LDkgQEAgc3RhdGljIGludCB3YXZlNV92cHVfcmVt b3ZlKHN0cnVjdA0KPiA+ID4gPiA+ID4gPiA+ID4gcGxhdGZvcm1fZGV2aWNlDQo+ID4gPiA+ID4g PiA+ID4gPiAqcGRldikgIHsNCj4gPiA+ID4gPiA+ID4gPiA+ICAJc3RydWN0IHZwdV9kZXZpY2Ug KmRldiA9IGRldl9nZXRfZHJ2ZGF0YSgmcGRldi0+ZGV2KTsNCj4gPiA+ID4gPiA+ID4gPiA+DQo+ ID4gPiA+ID4gPiA+ID4gPiArCXBtX3J1bnRpbWVfcHV0X3N5bmMoJnBkZXYtPmRldik7DQo+ID4g PiA+ID4gPiA+ID4gPiArCXBtX3J1bnRpbWVfZGlzYWJsZSgmcGRldi0+ZGV2KTsNCj4gPiA+ID4g PiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+ID4gPiA+ICAJbXV0ZXhfZGVzdHJveSgmZGV2LT5kZXZf bG9jayk7DQo+ID4gPiA+ID4gPiA+ID4gPiAgCW11dGV4X2Rlc3Ryb3koJmRldi0+aHdfbG9jayk7 DQo+ID4gPiA+ID4gPiA+ID4gPiAgCWNsa19idWxrX2Rpc2FibGVfdW5wcmVwYXJlKGRldi0+bnVt X2Nsa3MsIGRldi0+Y2xrcyk7DQo+ID4gQEANCj4gPiA+ID4gPiA+ID4gPiA+IC0NCj4gPiA+ID4g PiA+IDI4MSw2DQo+ID4gPiA+ID4gPiA+ID4gPiArMzQ4LDcgQEAgc3RhdGljIHN0cnVjdCBwbGF0 Zm9ybV9kcml2ZXIgd2F2ZTVfdnB1X2RyaXZlcg0KPiA+ID4gPiA+ID4gPiA+ID4gKz0gew0KPiA+ ID4gPiA+ID4gPiA+ID4gIAkuZHJpdmVyID0gew0KPiA+ID4gPiA+ID4gPiA+ID4gIAkJLm5hbWUg PSBWUFVfUExBVEZPUk1fREVWSUNFX05BTUUsDQo+ID4gPiA+ID4gPiA+ID4gPiAgCQkub2ZfbWF0 Y2hfdGFibGUgPSBvZl9tYXRjaF9wdHIod2F2ZTVfZHRfaWRzKSwNCj4gPiA+ID4gPiA+ID4gPiA+ ICsJCS5wbSA9ICZ3YXZlNV9wbV9vcHMsDQo+ID4gPiA+ID4gPiA+ID4gPiAgCQl9LA0KPiA+ID4g PiA+ID4gPiA+ID4gIAkucHJvYmUgPSB3YXZlNV92cHVfcHJvYmUsDQo+ID4gPiA+ID4gPiA+ID4g PiAgCS5yZW1vdmUgPSB3YXZlNV92cHVfcmVtb3ZlLCBkaWZmIC0tZ2l0DQo+ID4gPiA+ID4gPiA+ ID4gPiBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vY2hpcHMtbWVkaWEvd2F2ZTUvd2F2ZTUtdnB1 YXBpLg0KPiA+ID4gPiA+ID4gPiA+ID4gYw0KPiA+ID4gPiA+ID4gPiA+ID4gYi9kcml2ZXJzL21l ZGlhL3BsYXRmb3JtL2NoaXBzLW1lZGlhL3dhdmU1L3dhdmU1LXZwdWFwaS4NCj4gPiA+ID4gPiA+ ID4gPiA+IGMgaW5kZXggMWEzZWZiNjM4ZGRlLi5mMWY4ZTRmYzg0NzQgMTAwNjQ0DQo+ID4gPiA+ ID4gPiA+ID4gPiAtLS0NCj4gPiA+ID4gPiA+ID4gPiA+IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9y bS9jaGlwcy1tZWRpYS93YXZlNS93YXZlNS12cHVhcGkuDQo+ID4gPiA+ID4gPiA+ID4gPiBjDQo+ ID4gPiA+ID4gPiA+ID4gPiArKysgYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL2NoaXBzLW1lZGlh L3dhdmU1L3dhdmU1LXZwdQ0KPiA+ID4gPiA+ID4gPiA+ID4gKysrIGFwDQo+ID4gPiA+ID4gPiA+ ID4gPiArKysgaS5jDQo+ID4gPiA+ID4gPiA+ID4gPiBAQCAtNiw2ICs2LDcgQEANCj4gPiA+ID4g PiA+ID4gPiA+ICAgKi8NCj4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiAgI2lu Y2x1ZGUgPGxpbnV4L2J1Zy5oPg0KPiA+ID4gPiA+ID4gPiA+ID4gKyNpbmNsdWRlIDxsaW51eC9w bV9ydW50aW1lLmg+DQo+ID4gPiA+ID4gPiA+ID4gPiAgI2luY2x1ZGUgIndhdmU1LXZwdWFwaS5o Ig0KPiA+ID4gPiA+ID4gPiA+ID4gICNpbmNsdWRlICJ3YXZlNS1yZWdkZWZpbmUuaCINCj4gPiA+ ID4gPiA+ID4gPiA+ICAjaW5jbHVkZSAid2F2ZTUuaCINCj4gPiA+ID4gPiA+ID4gPiA+IEBAIC0y MzIsNiArMjMzLDkgQEAgaW50IHdhdmU1X3ZwdV9kZWNfY2xvc2Uoc3RydWN0DQo+ID4gPiA+ID4g PiA+ID4gPiB2cHVfaW5zdGFuY2UgKmluc3QsDQo+ID4gPiA+ID4gPiA+ID4gPiB1MzIgKmZhaWxf cmVzKQ0KPiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+ICAJd2F2ZTVfdmRpX2Zy ZWVfZG1hX21lbW9yeSh2cHVfZGV2LA0KPiA+ID4gPiA+ID4gPiA+ID4gJnBfZGVjX2luZm8tPnZi X3Rhc2spOw0KPiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+ICsJaWYgKCFwbV9y dW50aW1lX3N1c3BlbmRlZChpbnN0LT5kZXYtPmRldikpDQo+ID4gPiA+ID4gPiA+ID4gPiArCQlw bV9ydW50aW1lX3B1dF9zeW5jKGluc3QtPmRldi0+ZGV2KTsNCj4gPiA+ID4gPiA+ID4gPiA+ICsN Cj4gPiA+ID4gPiA+ID4gPiA+ICB1bmxvY2tfYW5kX3JldHVybjoNCj4gPiA+ID4gPiA+ID4gPiA+ ICAJbXV0ZXhfdW5sb2NrKCZ2cHVfZGV2LT5od19sb2NrKTsNCj4gPiA+ID4gPiA+ID4gPiA+DQo+ ID4gPiA+ID4gPiA+ID4gPiBAQCAtNzM0LDYgKzczOCw5IEBAIGludCB3YXZlNV92cHVfZW5jX2Ns b3NlKHN0cnVjdA0KPiA+ID4gPiA+ID4gPiA+ID4gdnB1X2luc3RhbmNlICppbnN0LA0KPiA+ID4g PiA+ID4gPiA+ID4gdTMyICpmYWlsX3JlcykNCj4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4g PiA+ID4gPiAgCXdhdmU1X3ZkaV9mcmVlX2RtYV9tZW1vcnkodnB1X2RldiwNCj4gPiA+ID4gPiA+ ID4gPiA+ICZwX2VuY19pbmZvLT52Yl90YXNrKTsNCj4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ ID4gPiA+ID4gPiArCWlmICghcG1fcnVudGltZV9zdXNwZW5kZWQoaW5zdC0+ZGV2LT5kZXYpKQ0K PiA+ID4gPiA+ID4gPiA+ID4gKwkJcG1fcnVudGltZV9wdXRfc3luYyhpbnN0LT5kZXYtPmRldik7 DQo+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiBUaGlzIHNlZW1zIHZlcnkgdW5uYXR1 cmFsLiBXZSBkbyB0aGUgZ2V0KCkgaW4NCj4gPiA+ID4gPiA+ID4gPiAic3RhcnRfc3RyZWFtaW5n KCkiLCBidXQgdGhlDQo+ID4gPiA+ID4gPiA+ID4gcHV0KCkgaXMgb25seSBkb25lIHdoZW4gdGhl IGRldmljZSBpcyBjbG9zZWQsIG9yIHdoZW4gdGhlDQo+ID4gPiA+ID4gPiA+ID4gZHJpdmVyIGlz IHJlbW92ZWQuIEFzIHRoaXMgaXMgbm90IGJhbGFuY2VkLCB5b3Ugc2VlbSB0bw0KPiA+ID4gPiA+ ID4gPiA+IGhhdmUgdG8gY2hlY2sgdGhlIHN1c3BlbmRlZCBjb25kaXRpb24gYWxsIG92ZXIgdGhl IHBsYWNlLg0KPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gSSB0aGluayB3ZSBjb3Vs ZCBhaW0gZm9yDQo+ID4gPiA+ID4gPiA+ID4gc3RhcnRfc3RyZWFtaW5nKCkvc3RvcF9zdHJlYW1p bmcoKQ0KPiA+ID4gPiA+ID4gPiA+IGZvciB5b3VyIGdldC9wdXQgcGxhY2VtZW50LiBBdCBsZWFz dCB0aGV5IHdpbGwgYmUgYm91bmQgdG8NCj4gPiA+ID4gPiA+ID4gPiBhbiBlbnRpcmVseSBiYWxh bmNlZA0KPiA+ID4gPiA+ID4gQVBJLg0KPiA+ID4gPiA+ID4gPiA+IEJ1dCB0aGVuLCBhIG1lZGlh IHBsYXllciBpbiBwYXVzZWQgc2F0ZSB3aWxsIHByZXZlbnQgdGhhdA0KPiA+ID4gPiA+ID4gPiA+ IGRldmljZSBmcm9tIGJlaW5nIHN1c3BlbmRlZC4NCj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ ID4gPiA+IElmIHRoZSBIVyBpcyBjYXBhYmxlIG9mIHByZXNlcnZpbmcgZW5vdWdoIHN0YXRlLCBh bmQgRnJvbQ0KPiA+ID4gPiA+ID4gPiA+IHRoZSBzaG9ydCBkb2MgSSBoYXZlIGl0IGdpdmVzIG1l IHRoZSBpbXByZXNzaW9uIGl0IGNhbg0KPiA+ID4gPiA+ID4gPiA+IHByZXNlcnZlIHRoYXQsIEkn ZCBzdWdnZXN0IHRvIGZvbGxvdyB3aGF0IGhhbnRybyBkcml2ZXIgaXMNCj4gPiA+ID4gPiA+ID4g PiBkb2luZy4gV2hhdCBpcyBkb2VzIGlzIHRoYXQgaXQgd2lsbCBkbyBnZXQoKSBpbg0KPiA+ID4g PiA+ID4gPiA+IGRldmljZV9ydW4oKSwgYW5kIHB1dCgpIHdoZW5ldmVyIHRoZSBqb2IgY29tcGxl dGVzLiBUaGlzDQo+ID4gPiA+ID4gPiA+ID4gZHJpdmVyIGhhcyBiZWVuIGRlc2lnbmVkIHNvIHdo ZW4gdGhlcmUgaXMgbm8gam9iLCBpdCBtZWFucw0KPiA+ID4gPiA+ID4gPiA+IHRoZSBmaXJtd2Fy ZSBpcyBjdXJyZW50bHkgaWRsZSBhbmQgbG9va2luZyBmb3IgbW9yZSB3b3JrLg0KPiA+ID4gPiA+ ID4gPiA+IFNvIGl0IHNlZW1zIGxpa2UgdGhlIHBlcmZlY3QgbW9tZW50IHRvDQo+ID4gPiA+IGRv IHN1c3BlbmQgaXQuDQo+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiBOaWNvbGFzDQo+ ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+ID4gPiA+ICAJ bXV0ZXhfdW5sb2NrKCZ2cHVfZGV2LT5od19sb2NrKTsNCj4gPiA+ID4gPiA+ID4gPiA+DQo+ID4g PiA+ID4gPiA+ID4gPiAgCXJldHVybiAwOw0KPiA+ID4gPiA+ID4gPiA+ID4gZGlmZiAtLWdpdA0K PiA+ID4gPiA+ID4gPiA+ID4gYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL2NoaXBzLW1lZGlhL3dh dmU1L3dhdmU1LmgNCj4gPiA+ID4gPiA+ID4gPiA+IGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9j aGlwcy1tZWRpYS93YXZlNS93YXZlNS5oDQo+ID4gPiA+ID4gPiA+ID4gPiBpbmRleCAwNjMwMjhl Y2NkM2IuLjYxMjVlZmY5MzhhOCAxMDA2NDQNCj4gPiA+ID4gPiA+ID4gPiA+IC0tLSBhL2RyaXZl cnMvbWVkaWEvcGxhdGZvcm0vY2hpcHMtbWVkaWEvd2F2ZTUvd2F2ZTUuaA0KPiA+ID4gPiA+ID4g PiA+ID4gKysrIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9jaGlwcy1tZWRpYS93YXZlNS93YXZl NS5oDQo+ID4gPiA+ID4gPiA+ID4gPiBAQCAtNTYsNiArNTYsOSBAQCBpbnQgd2F2ZTVfdnB1X2dl dF92ZXJzaW9uKHN0cnVjdA0KPiA+ID4gPiA+ID4gPiA+ID4gdnB1X2RldmljZSAqdnB1X2Rldiwg dTMyICpyZXZpc2lvbik7DQo+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gIGlu dCB3YXZlNV92cHVfaW5pdChzdHJ1Y3QgZGV2aWNlICpkZXYsIHU4ICpmdywgc2l6ZV90DQo+ID4g PiA+ID4gPiA+ID4gPiBzaXplKTsNCj4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4g PiAraW50IHdhdmU1X3ZwdV9zbGVlcF93YWtlKHN0cnVjdCBkZXZpY2UgKmRldiwgYm9vbA0KPiA+ ID4gPiA+ID4gPiA+ID4gK2lfc2xlZXBfd2FrZSwgY29uc3QNCj4gPiA+ID4gPiA+ID4gPiB1aW50 MTZfdCAqY29kZSwNCj4gPiA+ID4gPiA+ID4gPiA+ICsJCQkgc2l6ZV90IHNpemUpOw0KPiA+ID4g PiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ID4gPiA+ID4gIGludCB3YXZlNV92cHVfcmVzZXQoc3Ry dWN0IGRldmljZSAqZGV2LCBlbnVtDQo+ID4gPiA+ID4gPiA+ID4gPiBzd19yZXNldF9tb2RlIHJl c2V0X21vZGUpOw0KPiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+ICBpbnQgd2F2 ZTVfdnB1X2J1aWxkX3VwX2RlY19wYXJhbShzdHJ1Y3QgdnB1X2luc3RhbmNlDQo+ID4gPiA+ID4g PiA+ID4gPiAqaW5zdCwgc3RydWN0IGRlY19vcGVuX3BhcmFtICpwYXJhbSk7DQo+ID4gPiA+ID4g PiA+DQo+ID4gPiA+ID4NCj4gPiA+DQoNCg==