From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from dispatch1-us1.ppe-hosted.com (dispatch1-us1.ppe-hosted.com [148.163.129.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3DF25312815; Fri, 16 Oct 2026 00:58:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=148.163.129.52 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1792112313; cv=fail; b=TR8DjQsVOj5A8ObFvqeWtxtdWuoS/QzVcBymkEnRVViS7dPei6jaiLsY/69lnwKppdvadcwjeV+LTCXvOkAyDB3r3QcEZjlAGO5BPGsM2HnsgCVO20WsIC/O8ETHF1fCxcK4lgjwigTBeaBhKhzbbHqUFPfOGimq2Ix+cwDr4qA= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1792112313; c=relaxed/simple; bh=HlPmupH1xDiECRuGh6bD7KgzUhPU7MSVmxPG+Dc6nYw=; h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:MIME-Version; b=p03h3lLBTntDuGeqJHQ0Yle8YcuSzt74DW7i17yky8XWnGO33GaMb7tkDaYafoR3ZwCbt3HzaGVTIoNA/1G8v1qBbhubR8IQioCKft5/hR2w6WTgs6EWazFxvIdQ/Du/lNElf6NinZ3NPH4E/X3rCR8k+0DSfugw09QH3UAfFfY= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=sitime.com; spf=pass smtp.mailfrom=sitime.com; dkim=pass (2048-bit key) header.d=sitime.com header.i=@sitime.com header.b=fV5adfGm; dkim=pass (2048-bit key) header.d=Sitime.onmicrosoft.com header.i=@Sitime.onmicrosoft.com header.b=HxbV8KaA; arc=fail smtp.client-ip=148.163.129.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=sitime.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=sitime.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=sitime.com header.i=@sitime.com header.b="fV5adfGm"; dkim=pass (2048-bit key) header.d=Sitime.onmicrosoft.com header.i=@Sitime.onmicrosoft.com header.b="HxbV8KaA" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sitime.com; h=cc:cc:content-transfer-encoding:content-transfer-encoding:content-type:content-type:date:date:from:from:in-reply-to:in-reply-to:message-id:message-id:mime-version:mime-version:references:references:subject:subject:to:to; s=mail; bh=HlPmupH1xDiECRuGh6bD7KgzUhPU7MSVmxPG+Dc6nYw=; b=fV5adfGmjTWI7HHPwdAAGd2wMSUdalRVuPI5PmwRVhdbytUCdp7OYEh8mErjK/4iJclZHGt3Y/Dz60QT3S+jL3bRQYuzUpms+Z+zNtTMgD/W286czX/6VTZzqGEhIphyPYePhGL3YHOsw00/PnH/1SZ3q0tPsE09lCXkOX9FbjPVYQBCmI4qfY3+bmWsJNqzfYTDSDY8/ymKpfuhpDeBU6AX21C87QKkuDjPr3Y2GF+EyYO/f+DxS6cQ7d07Z1HJOFwuTwWtYTJpowuZFJkF/LAxgDduLWnZ54sXCD4pDB/DTtc51Sf9EZolR3pB4EZRZWdf8JT18a2qmaKm+MYetA== X-Virus-Scanned: Proofpoint Essentials engine Received: from BL2PR02CU003.outbound.protection.outlook.com (mail-eastusazon11021084.outbound.protection.outlook.com [52.101.52.84]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mx1-us1.ppe-hosted.com (PPE Hosted ESMTP Server) with ESMTPS id 471BA10006E; Fri, 16 Oct 2026 00:58:29 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=vY6IG1O4wUERssTQ9c75uHN8BTUOEgVneSc4lQqqzwhJNFFzmn80F53MjQ5EojwyyRD6kwiptU7zcCJFbI360KirRH1QoDEjF9MlD+zUjUYXd3SAZ+3zHL8LcCg2xbWe0POTqi/5e/Iyw5r2AGth4zaofoKXg7k62f41pkoPWRAghStBU+yUHTLGg+EHy4mGUbCti7J9Kd9KY4IyJlwMEFkv7OBDG6D8ztRxiEaaiUCRB4O4K5hSrTs93PHcNBQ6YUUHJo11CFY8bTjEqsyyzJy+6HjUSTwd366dxzx8J3KBD3CnaLv8KH9fjpEhgG/hSMgPGwYwDSh4/uKZkdjNBg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=HlPmupH1xDiECRuGh6bD7KgzUhPU7MSVmxPG+Dc6nYw=; b=jgFpQIz1PA5LCTkM4m7k3w/RKpvV34WFPfCCHBkeH+L8QFpyYgv7mpMdpl4wvWkGLxJrZvv0h7I/U23Praja7bbWaD0HOvnH0cKKBcP9dlzwYWjOw3WLbEs56RUvnMIvl4z9Cbd4N4g9wYWAoWhzZXTcc2C6cFvMkRoO0EqTtEnlz6NNCfDCb9iVYuRcXw+YO2gMR5sZ0jIJYGV9JzretTwpEQb2QmwkoootEgxo1syE9Jw74cbf7ZEdPsoP4Gx4S2Eme/V9eNHbIepBxfbPc+QE8gX8y/w9P15Jcux3pYhZAEWN4bhEOkd1f0VkFek/g0cPOpqkZqCTUJ6QEq+6CA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=sitime.com; dmarc=pass action=none header.from=sitime.com; dkim=pass header.d=sitime.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Sitime.onmicrosoft.com; s=selector1-Sitime-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=HlPmupH1xDiECRuGh6bD7KgzUhPU7MSVmxPG+Dc6nYw=; b=HxbV8KaAp29qDtMLOWPXXSP4Z//Zbj81nJUMw6zhcH2gszCxlKLA28GMQNFLJqtYw+PMLi1B6ut9JfUxD9ZJdUbAP2jqlhFb5LTGWxQJCX9Qdt0pcoWZmjszS3Hl1538BiWS/81MZVwcVw/n+vuNUCt8DMRpVY+W+NuKXL6BpFbMYWEGY3u5ZQruYqclm6NU48R+ENGQeR75ortg91+/nejQjUX2EkCBynafT9KTKvybnLq99yRTsxLqFkF4ST1EmC4P+/gZpqCEtUqorX3ECjdkFk5pqStRnCzyrmrUAsGxDoEZ1cG2AzlsYtE25BzEzZqSghcgVxgifU+O5uWYMw== Received: from LVWPR20MB994915.namprd20.prod.outlook.com (2603:10b6:408:3bf::16) by MN0PR20MB4789.namprd20.prod.outlook.com (2603:10b6:208:3c7::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.522.13; Fri, 16 Oct 2026 00:58:25 +0000 Received: from LVWPR20MB994915.namprd20.prod.outlook.com ([fe80::9551:3864:128b:8c01]) by LVWPR20MB994915.namprd20.prod.outlook.com ([fe80::9551:3864:128b:8c01%4]) with mapi id 15.21.0522.013; Fri, 16 Oct 2026 00:58:25 +0000 From: Ali Rouhi To: "jiri@resnulli.us" CC: "vadim.fedorenko@linux.dev" , "arkadiusz.kubalewski@intel.com" , "ivecera@redhat.com" , "kuba@kernel.org" , "pabeni@redhat.com" , "robh@kernel.org" , "krzk+dt@kernel.org" , "conor+dt@kernel.org" , "prabhakar.mahadev-lad.rj@bp.renesas.com" , "cjubran@nvidia.com" , "Oleg.Zadorozhnyi@devoxsoftware.com" , "devicetree@vger.kernel.org" , "netdev@vger.kernel.org" , "linux-kernel@vger.kernel.org" Subject: [PATCH net-next v14 03/12] dpll: add basic SiTime SiT9531x support Thread-Topic: [PATCH net-next v14 03/12] dpll: add basic SiTime SiT9531x support Thread-Index: AQHdXQlygJbFnTEmqkaxgAj6G1k8bg== Date: Fri, 16 Oct 2026 00:58:25 +0000 Message-ID: <20261016005823.13690-4-arouhi@sitime.com> References: <20261016005823.13690-1-arouhi@sitime.com> In-Reply-To: <20261016005823.13690-1-arouhi@sitime.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: mx.microsoft.com 1; dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=sitime.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: LVWPR20MB994915:EE_|MN0PR20MB4789:EE_ x-ms-office365-filtering-correlation-id: aa8509cf-34ea-4aef-bec4-08df2b20957b x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|366016|1800799024|376014|23010399003|38070700021|5023799004|56012099006|261009223027099003|18002099003|10067099003|6133799003|22082099003|3023799007; x-microsoft-antispam-message-info: 8CqiBlqxO5Rtp17aaESqRqEyFcmjBCFI6Z+7Os3mVRQVh4ZToLaP/3mS+UiYj/MveOwU8y09CtbXDVMky21mRJI86hhyQA1fcMn2Z+ovZuXxLMVR7MpLFB0iyYvo7Im3OdrV2qmvq8TigjCVvWonO57cbR0w4Ad21Dnq83/vH5UAyySXSCIdMnM6gEbuaLXlKy8QR3im/ymRmSr6jVN7NCtl6CPW/dE8+onGpofeLf/ZJAXpFbm9p0UpzbyExexui6Bm6nL0k9AG+6wj8NJtaPEb/MSpxiUn4pUzYFcmmg/6jiBSmHIdL/OstTlqZ1mHUEjqR9hN0uA7gW676d6mgzFpDUp9pRm6H8K6Opgst9JhkG32Q+uPLFu+cxkPOjvs0mN/FE9ivxNfPJqH6YzEQgtXWD6FYZtzBHDsQfc4SejPBZvg+MUeo/7QPyhrbSFPwFP8lhAHKoiETaLLYcdUQC+8AJh+uxFn5DDa15/X55NcA1b2gfvi4SkmZb5CgbYc3waC59GGb6klap901NFs0r4ahELLRI0OliPH001PnWd8xPQZHVA6x0J3iFLy0XQ3K11g3GllTqmMAo9yKLBzs2kE/4lWL7bmiRHpKErUZGGwWtoE1YnCoZIJMLXMIyB5JiBf1KZFqY3mBAbe0I38hmoGvFKSqb9wjMvTAZImgHhfHcb2P8AhWJMSucK5A12Yw0iaWCkWAKlzx0g0L4O/pteSnmb72kwywVb9vsK7syI= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LVWPR20MB994915.namprd20.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(23010399003)(38070700021)(5023799004)(56012099006)(261009223027099003)(18002099003)(10067099003)(6133799003)(22082099003)(3023799007);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?S281Mk1NbGJxRzFxSnhnc0U5alhneEEvRnFIOXlrVmIzSGZ1a20xQXNVTlFU?= =?utf-8?B?bVJGT2RieXArTTZsbWx0NzRVSmIyL1NLdWFialNOR3lnYzd6aWN6cCtnclZZ?= =?utf-8?B?UHFVVXVITW5EVUxKN3dON2NOcUtRUVFRR3VoWWp5TGdoM0N3QkI2NkpJaDZM?= =?utf-8?B?d0kxRVEzaHlXTE1oc0FCb0NqdU9MZ3YzOEpUZFVaL3lLaVJEa042cFNpdGZC?= =?utf-8?B?eHFPbE1lWndiVDh1OTdSYmRjNExPZTRMUzdXM3d1d3RUQnFkOHAvZnlBNXZo?= =?utf-8?B?NWprT3ZoQ0ZOWnUxd0NjRlVqOUV1MHhpL3pFZkdCak5UeTJNMXBTQ2lVeStt?= =?utf-8?B?clZIUDlIWDJsZDh2Nk5VNEs1dWozY1JVcEJnL3p0a1poUTQrRWIrR2NlOEp3?= =?utf-8?B?S1IrbnU3RkNNbHY1b0lGS2h2SFY2bFh2T3dENjVjWU1BZm5LYmdnbUp5YWZ5?= =?utf-8?B?a01WVHVoNjc4RFhEUmdnWWtId0kvKzBRaG1mRURwc1IvVjVINDQxYzd5dXBo?= =?utf-8?B?U1FBMC96b1lHOFovc2NQWHRKVFg0MnlVczQyZkc0SEkzZy92N2xZYUd0RW9N?= =?utf-8?B?S012Yk5ZMWJDUG15MG5icTNoMmdvSkJBRFpKa0p4SjNVRFArWlo4UTloUUpp?= =?utf-8?B?b2M0cjR0VEJrYkVpM3k2Tk1tb2J1NGpERkYveXA3SEFUQjhITVYvbHM0Uyt6?= =?utf-8?B?ZmgzOXpJZDNxQnNNOW53eXhIWWk2L0k3V2d4Q3BRMTIrSy9xTmRaL3IzSVJa?= =?utf-8?B?RXNnRTdtWTVNcWY0S3NrWnU5dTNURnZHV3F3N1FaeWJNZkRTMXh4ZmJwblRw?= =?utf-8?B?RzkvWjlhSlNTb0FPZFVmc1l6b1U3V1JxdWxYY1hRbzIxRUt5b0VzRXRFcEox?= =?utf-8?B?ZHhZUmxYcmdWUWQyNnBmUzBuWDhIRlA5NmZUdzFEMkI3NEtMdFd1QmxIWFo2?= =?utf-8?B?NmkrQzFDeUNPc1krRElINFZURFpaT25uYjNCb3V2d3IwVlk5SldTYXRFVy9h?= =?utf-8?B?cnp6WEpHUHpKb05mZExSS1Z5OFN1cG11UjRsTytwNEExTjFnb1drNDIvUEhl?= =?utf-8?B?OEZVK3ZBWFFxZDUvdEJiSVpPVDF0ODVkM1gybnBKR1NaNitDcDhIbEJuZzli?= =?utf-8?B?ZWtiV3hpWUNnVVdHWGp1UEtHbnFDSW42eE51NkNHNWRwanltZnREUmdXR3d1?= =?utf-8?B?VzhiOTFFeUpMNEZPUzUwOHlBRHBPdFJUY1J2cFRPWU4rWXcvdXJ5RmNDZ2hO?= =?utf-8?B?UnVZaml4ckpqeXNvckEyZk9HdXJkTnpmRUFtVlhJRFhQTlpkVmJiZjZmR1FL?= =?utf-8?B?OW5CSFR5eGJJamtXcWRIdFd5N1JjbnFqYjBURHpITnltblFUd2NlMVR0Kzcv?= =?utf-8?B?ZUdiQ1FMSW0ySTMwYVg3V2prZEVLZUVMdkhxZGhJZUQrc3pCcEFQWU5BdVUv?= =?utf-8?B?c1J6bSs0Y1ZiTnNEZ2hjYUd5Qi9xdk9zQ1VPcFFoYjZaRkpRRlp0MXVNWDBr?= =?utf-8?B?YWo1QlBlU1BkQTRnZjloamRWeExUV2ZCSE9RY0Y2WHlxRm1VM2dDQkUwSXpq?= =?utf-8?B?ZTA1cmxONWtlMTNxL0xhcnJpTVhUaG14bXRmSEdlTnlCSTZPUkJoejJ2bTFy?= =?utf-8?B?Y3p1YkRUZzVMcDFoa2g2OTBnYlNqMnBtK25qa3AzSStsd3V5bXcwbkJtTFBY?= =?utf-8?B?VDF1dDVSNytRbFlZaHZTWktUbzU5eVZuRWNkajB0THE3TG1Tb09LTkpyOVBD?= =?utf-8?B?MWRpSGxmRExVWVc0Qms3U3gzMXVCN21YTWZrM0I2YXU3WS9PcW5ZTXBFOE5G?= =?utf-8?B?b2VJRHNOMTVkNHJFV2IzTkxhZExQMGtBTVpyS3ZYSC9hTVFtb3gzVHdUYlNt?= =?utf-8?B?ZFBlb2hwekJXQ1M1VFlDUlBSVGFrLy9namY0cEdsaGVkOHNPMDc1azlZUmdo?= =?utf-8?B?cXMyVTlKNHk1V291QkxsaEhCUCt6YzM0cHVibzkyVmF0YWorYVBTbktucVMr?= =?utf-8?B?WVpVWE1RbmhsbUJoMUZ3VXk4bWFFQjlzOXJ4eGorWlBtTGtycnQvdGtlNmUv?= =?utf-8?B?L1FpYkwzZUFkdW1ESWpiZUJTR08rMUpmbE0wTHVadVhKMnp1dzZxbDhRL3Vl?= =?utf-8?B?T2VJOGJwdW9aaXRianFaM2JiM3BQSkd1VC9zNDBoQXo5eTVKTkVUU0FTMVdl?= =?utf-8?B?TzVnc2tzYTJlNEtqTjNVeWxmcDdqR09CeFBDcHlUL0twZXZPTWZnNkFCbUdG?= =?utf-8?B?NGkrWjFDRTdqSFJBMXJia3FKaWh3M2Q3NEpyM2ppSGdDc2NhL2J4K3hpaEMz?= =?utf-8?Q?kCGkQljPtLdIx7xNws?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: d8n5bu0+1xZOpYDPjnUCfsbja0MFCpxFukX1C3OEnlxKembprrcF1zm75QVW7d0LP5WCBjWHvI9VSmo9D5EbHx3CgJipREFVr35M5hKCBE8wk9SIqdD+4JhuTk44YYOrn2glbvo81QPVZd1m4thSebkKdimVCz/XmemY0OeNwqjIuxT9TZv8QaKHH6vzVXGlwex6PmIygJm/n4/9SUUSrUhy3Hj0E9VGV2ZPeK0ZB2465aHLqjK8LsGkIdI+a3ACXAGFYaj2rDGnISTbyXMN0cwDbUIzxZaEUs6uXpRoWc2H5EvG9dEXKAHqUZxyGdbLVob+/QEqg+eLjvMx1sr8Kw== X-OriginatorOrg: sitime.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: LVWPR20MB994915.namprd20.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: aa8509cf-34ea-4aef-bec4-08df2b20957b X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Oct 2026 00:58:25.6485 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 8fb55916-cf10-4b0d-96f4-cf3952657263 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: OARYB4OlDiI7V5hI25/4R3Ly1CkJr35efJ7fFCWU9V/dXybnOAypfHB5gbQJ1j0EZpMXGNkafQ4gw3uy06lDoA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR20MB4789 X-MDID: 1792112309-3hCFBJdpbmnr X-PPE-STACK: {"stack":"us1"} X-MDID-O: us1;ut7;1792112309;3hCFBJdpbmnr;;ba04557de9d2da8490f5f1e6de07b967 X-PPE-TRUSTED: V=1;DIR=OUT; RnJvbTogT2xlZyBaYWRvcm96aG55aSA8T2xlZy5aYWRvcm96aG55aUBkZXZveHNvZnR3YXJlLmNv bT4KClRoZSBTaVQ5NTMxeCBpcyBhbiBJMkMgY2xvY2sgZ2VuZXJhdG9yIHdpdGggZm91ciBpbmRl cGVuZGVudCBQTExzLCB1cCB0bwplaWdodCBpbnB1dCBjbG9ja3MgYW5kIHVwIHRvIHR3ZWx2ZSBv dXRwdXRzLiAgTGF0ZXIgcGF0Y2hlcyByZWdpc3RlciB0aGUKUExMcyB3aXRoIHRoZSBEUExMIHN1 YnN5c3RlbSBhbmQgZXhwb3NlIHRoZSBjbG9ja3MgYXMgcGluczsgdGhpcyBvbmUgYWRkcwpvbmx5 IHdoYXQgaXMgbmVlZGVkIHRvIHJlYWNoIHRoZSBkZXZpY2UuCgpUaGUgcmVnaXN0ZXIgc3BhY2Ug aXMgcGFnZWQ6IDMyIHBhZ2VzIG9mIDI1NiByZWdpc3RlcnMsIHNlbGVjdGVkIGJ5CndyaXRpbmcg dGhlIHBhZ2UgbnVtYmVyIHRvIG9mZnNldCAweEZGLCB3aGljaCBpcyBwcmVzZW50IGluIGV2ZXJ5 IHBhZ2UuCkEgcmVnbWFwIHJhbmdlIGNvbmZpZ3VyYXRpb24gZGVzY3JpYmVzIHRoYXQgd2luZG93 LCBzbyB0aGUgcmVzdCBvZiB0aGUKZHJpdmVyIGFkZHJlc3NlcyBhIHJlZ2lzdGVyIGFzIGEgcGFn ZSBhbmQgYW4gb2Zmc2V0IGFuZCBuZXZlciB0b3VjaGVzIHRoZQpzZWxlY3RvciBpdHNlbGYuICBQ YWdlcyBjb21lIGluIHBhaXJzIGZvciB0aGUgUExMcyAoMHgwQS8weDFBIGZvciBQTExBLAphbmQg c28gb24pLgoKUHJvYmUgcmVhZHMgdGhlIHJhdGUgb2YgdGhlIGNyeXN0YWwgZmVlZGluZyBYSU4s IHNpbmNlIGV2ZXJ5IGZyZXF1ZW5jeQp0aGUgZHJpdmVyIGxhdGVyIGNvbXB1dGVzIGRlcml2ZXMg ZnJvbSBpdDsgdGFrZXMgdGhlIG9wdGlvbmFsIHJlc2V0IGxpbmUKYW5kIGxlYXZlcyBpdCBkZWFz c2VydGVkLCBiZWNhdXNlIHRoZSBkZXZpY2UgY29uZmlndXJhdGlvbiBjb21lcyBmcm9tCmVmdXNl IG9yIGZyb20gYSBibG9iIGFwcGxpZWQgYmVmb3JlIHByb2JlIGFuZCBhIHJlc2V0IHdvdWxkIGRp c2NhcmQgaXQ7CnRoZW4gaWRlbnRpZmllcyB0aGUgdmFyaWFudCBmcm9tIHRoZSBzaW5nbGUgYnl0 ZSBhdCBwYWdlIDAgb2Zmc2V0IDB4MDIKYW5kIHJlZnVzZXMgdG8gYmluZCBvbiBhbnl0aGluZyB1 bmtub3duLgoKU3VnZ2VzdGVkLWJ5OiBJdmFuIFZlY2VyYSA8aXZlY2VyYUByZWRoYXQuY29tPgpT aWduZWQtb2ZmLWJ5OiBPbGVnIFphZG9yb3pobnlpIDxPbGVnLlphZG9yb3pobnlpQGRldm94c29m dHdhcmUuY29tPgpBc3Npc3RlZC1ieTogTExNClNpZ25lZC1vZmYtYnk6IEFsaSBSb3VoaSA8YXJv dWhpQHNpdGltZS5jb20+Ci0tLQogTUFJTlRBSU5FUlMgICAgICAgICAgICAgICAgICAgIHwgICAx ICsKIGRyaXZlcnMvZHBsbC9LY29uZmlnICAgICAgICAgICB8ICAgMiArCiBkcml2ZXJzL2RwbGwv TWFrZWZpbGUgICAgICAgICAgfCAgIDEgKwogZHJpdmVycy9kcGxsL3NpdDk1MzF4L0tjb25maWcg IHwgIDEzICsrCiBkcml2ZXJzL2RwbGwvc2l0OTUzMXgvTWFrZWZpbGUgfCAgIDQgKwogZHJpdmVy cy9kcGxsL3NpdDk1MzF4L2NvcmUuYyAgIHwgMzIwICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKwogZHJpdmVycy9kcGxsL3NpdDk1MzF4L2NvcmUuaCAgIHwgIDg2ICsrKysrKysrKwog ZHJpdmVycy9kcGxsL3NpdDk1MzF4L3JlZ3MuaCAgIHwgIDQ0ICsrKysrCiA4IGZpbGVzIGNoYW5n ZWQsIDQ3MSBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9kcGxsL3Np dDk1MzF4L0tjb25maWcKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2RwbGwvc2l0OTUzMXgv TWFrZWZpbGUKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2RwbGwvc2l0OTUzMXgvY29yZS5j CiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9kcGxsL3NpdDk1MzF4L2NvcmUuaAogY3JlYXRl IG1vZGUgMTAwNjQ0IGRyaXZlcnMvZHBsbC9zaXQ5NTMxeC9yZWdzLmgKCmRpZmYgLS1naXQgYS9N QUlOVEFJTkVSUyBiL01BSU5UQUlORVJTCmluZGV4IDg1OGZlMWM0MzMyYy4uNjRlMTU4MzEwNTVl IDEwMDY0NAotLS0gYS9NQUlOVEFJTkVSUworKysgYi9NQUlOVEFJTkVSUwpAQCAtMjUxODcsNiAr MjUxODcsNyBAQCBNOglBbGkgUm91aGkgPGFyb3VoaUBzaXRpbWUuY29tPgogTDoJbmV0ZGV2QHZn ZXIua2VybmVsLm9yZwogUzoJTWFpbnRhaW5lZAogRjoJRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVl L2JpbmRpbmdzL2RwbGwvc2l0aW1lLHNpdDk1MzE2LnlhbWwKK0Y6CWRyaXZlcnMvZHBsbC9zaXQ5 NTMxeC8KIAogU0wyOCBDUExEIE1GRCBEUklWRVIKIE06CU1pY2hhZWwgV2FsbGUgPG13YWxsZUBr ZXJuZWwub3JnPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9kcGxsL0tjb25maWcgYi9kcml2ZXJzL2Rw bGwvS2NvbmZpZwppbmRleCBiZTk4OTY5ZjA0MGEuLmY4ZjdjYTEyMWI5MyAxMDA2NDQKLS0tIGEv ZHJpdmVycy9kcGxsL0tjb25maWcKKysrIGIvZHJpdmVycy9kcGxsL0tjb25maWcKQEAgLTIzLDYg KzIzLDggQEAgY29uZmlnIERQTExfUkVGQ05UX1RSQUNLRVIKIAogCSAgSWYgdW5zdXJlLCBzYXkg Ti4KIAorc291cmNlICJkcml2ZXJzL2RwbGwvc2l0OTUzMXgvS2NvbmZpZyIKKwogc291cmNlICJk cml2ZXJzL2RwbGwvemwzMDczeC9LY29uZmlnIgogCiBlbmRtZW51CmRpZmYgLS1naXQgYS9kcml2 ZXJzL2RwbGwvTWFrZWZpbGUgYi9kcml2ZXJzL2RwbGwvTWFrZWZpbGUKaW5kZXggOWU3YTNhM2U1 OTJlLi40YWRjNTBkNzQ4ZDQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZHBsbC9NYWtlZmlsZQorKysg Yi9kcml2ZXJzL2RwbGwvTWFrZWZpbGUKQEAgLTgsNCArOCw1IEBAIGRwbGwteSAgICAgICAgICAg ICAgICAgICs9IGRwbGxfY29yZS5vCiBkcGxsLXkgICAgICAgICAgICAgICAgICArPSBkcGxsX25l dGxpbmsubwogZHBsbC15ICAgICAgICAgICAgICAgICAgKz0gZHBsbF9ubC5vCiAKK29iai0kKENP TkZJR19TSVQ5NTMxWF9EUExMKQkrPSBzaXQ5NTMxeC8KIG9iai0kKENPTkZJR19aTDMwNzNYKQkr PSB6bDMwNzN4LwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9kcGxsL3NpdDk1MzF4L0tjb25maWcgYi9k cml2ZXJzL2RwbGwvc2l0OTUzMXgvS2NvbmZpZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAwMDAuLmFjNWI3ZjMxYTAzNAotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvZHBs bC9zaXQ5NTMxeC9LY29uZmlnCkBAIC0wLDAgKzEsMTMgQEAKKyMgU1BEWC1MaWNlbnNlLUlkZW50 aWZpZXI6IEdQTC0yLjAtb25seQorCitjb25maWcgU0lUOTUzMVhfRFBMTAorCXRyaXN0YXRlICJT aVRpbWUgU2lUOTUzMXggRFBMTCBkcml2ZXIiCisJZGVwZW5kcyBvbiBJMkMgJiYgTkVUCisJc2Vs ZWN0IERQTEwKKwlzZWxlY3QgUkVHTUFQX0kyQworCWhlbHAKKwkgIERyaXZlciBmb3IgU2lUaW1l IFNpVDk1MzF4IGZhbWlseSBjbG9jayBnZW5lcmF0b3JzCisJICAoU2lUOTUzMTcsIFNpVDk1MzE2 KS4KKworCSAgVG8gY29tcGlsZSB0aGlzIGRyaXZlciBhcyBhIG1vZHVsZSwgY2hvb3NlIE0gaGVy ZTogdGhlCisJICBtb2R1bGUgd2lsbCBiZSBjYWxsZWQgc2l0OTUzMXguCmRpZmYgLS1naXQgYS9k cml2ZXJzL2RwbGwvc2l0OTUzMXgvTWFrZWZpbGUgYi9kcml2ZXJzL2RwbGwvc2l0OTUzMXgvTWFr ZWZpbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5hMjIxZmU1NTM4 NmEKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2RwbGwvc2l0OTUzMXgvTWFrZWZpbGUKQEAg LTAsMCArMSw0IEBACisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKKwor b2JqLSQoQ09ORklHX1NJVDk1MzFYX0RQTEwpICs9IHNpdDk1MzF4Lm8KK3NpdDk1MzF4LXkgOj0g Y29yZS5vCmRpZmYgLS1naXQgYS9kcml2ZXJzL2RwbGwvc2l0OTUzMXgvY29yZS5jIGIvZHJpdmVy cy9kcGxsL3NpdDk1MzF4L2NvcmUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwMDAuLjIwY2NmMDI0MDc3YgotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvZHBsbC9zaXQ5 NTMxeC9jb3JlLmMKQEAgLTAsMCArMSwzMjAgQEAKKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVy OiBHUEwtMi4wCisvKgorICogU2lUaW1lIFNpVDk1MzF4IERQTEwgY29yZSBkcml2ZXIKKyAqCisg KiBDb3B5cmlnaHQgKEMpIDIwMjYgU2lUaW1lIENvcnAuCisgKiBBdXRob3I6IEFsaSBSb3VoaSA8 YXJvdWhpQHNpdGltZS5jb20+CisgKiBBdXRob3I6IE9sZWcgWmFkb3JvemhueWkgPE9sZWcuWmFk b3JvemhueWlAZGV2b3hzb2Z0d2FyZS5jb20+CisgKgorICogSTJDIHByb2JlLCBwYWdlZCByZWdt YXAgY29uZmlndXJhdGlvbiBhbmQgcmVnaXN0ZXIgYWNjZXNzIGhlbHBlcnMuCisgKi8KKworI2lu Y2x1ZGUgPGxpbnV4L2JpdHMuaD4KKyNpbmNsdWRlIDxsaW51eC9jbGsuaD4KKyNpbmNsdWRlIDxs aW51eC9kZWxheS5oPgorI2luY2x1ZGUgPGxpbnV4L2Rldl9wcmludGsuaD4KKyNpbmNsdWRlIDxs aW51eC9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9ncGlvL2NvbnN1bWVyLmg+CisjaW5jbHVk ZSA8bGludXgvaTJjLmg+CisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGlu dXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvcHJvcGVydHkuaD4KKyNpbmNsdWRlIDxsaW51 eC9yZWdtYXAuaD4KKworI2luY2x1ZGUgImNvcmUuaCIKKyNpbmNsdWRlICJyZWdzLmgiCisKKyNk ZWZpbmUgU0lUOTUzMVhfQ0hJUChfaWQsIF9uaW4sIF9ub3V0LCBfbmFtZSwgX21hcCkgXAorCXsg LmlkID0gKF9pZCksIC5udW1faW5wdXRzID0gKF9uaW4pLCAubnVtX291dHB1dHMgPSAoX25vdXQp LCBcCisJICAubmFtZSA9IChfbmFtZSksIC5jbGtvdXRfbWFwID0gKF9tYXApIH0KKworLyogUGVy LXZhcmlhbnQgb3V0cHV0IGluZGV4IC0+IHBoeXNpY2FsIHNsb3QgbWFwcGluZyAqLworc3RhdGlj IGNvbnN0IHU4IGNsa291dF9tYXBfOTUzMTdbXSA9IHswLCAzLCA0LCA1LCA3LCA4LCA5LCAxMX07 CitzdGF0aWMgY29uc3QgdTggY2xrb3V0X21hcF85NTMxNltdID0gezAsIDEsIDIsIDMsIDQsIDUs IDYsIDcsIDgsIDksIDEwLCAxMX07CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc2l0OTUzMXhfY2hp cF9pbmZvIHNpdDk1MzF4X2NoaXBfaWRzW10gPSB7CisJU0lUOTUzMVhfQ0hJUChTSVQ5NTMxWF9W QVJJQU5UX0lEXzk1MzE3LCA4LCA4LCAiU2lUOTUzMTciLAorCQkgICAgICBjbGtvdXRfbWFwXzk1 MzE3KSwKKwlTSVQ5NTMxWF9DSElQKFNJVDk1MzFYX1ZBUklBTlRfSURfOTUzMTYsIDgsIDEyLCAi U2lUOTUzMTYiLAorCQkgICAgICBjbGtvdXRfbWFwXzk1MzE2KSwKK307CisKKyNkZWZpbmUgU0lU OTUzMVhfUkFOR0VfT0ZGU0VUCVNJVDk1MzFYX1BBR0VfU0laRQorCisvKgorICogRXZlcnl0aGlu ZyB0aGUgZGV2aWNlIGhvbGRzIGNhbiBjaGFuZ2Ugd2l0aG91dCB0aGUgZHJpdmVyIHdyaXRpbmcg aXQsCisgKiBzbyBub3RoaW5nIGhlcmUgaXMgY2FjaGVhYmxlIGV4Y2VwdCB0aGUgcGFnZSBzZWxl Y3Rvci4gIENhY2hpbmcgdGhhdAorICogb25lIHNwYXJlcyBhIHJlYWQgb2YgaXQgYmVmb3JlIGV2 ZXJ5IGFjY2VzczogdGhlIHJhbmdlIGNvZGUgc2VsZWN0cworICogdGhlIHBhZ2UgdGhyb3VnaCBh IHJlYWQtbW9kaWZ5LXdyaXRlLCBhbmQgd2l0aCBubyBjYWNoZSB0aGF0IHJlYWQgZ29lcworICog dG8gdGhlIGJ1cyBlYWNoIHRpbWUuCisgKgorICogVGhlIGNhY2hlZCB2YWx1ZSBpcyBvbmx5IGFz IGdvb2QgYXMgdGhlIGxhc3QgdHJhbnNmZXIsIHRob3VnaC4gIEEKKyAqIHRyYW5zZmVyIHRoYXQg ZmFpbHMgY2FuIGxlYXZlIHRoZSBwYXJ0IG9uIGFub3RoZXIgcGFnZSB0aGFuIHRoZSBjYWNoZQor ICogcmVjb3Jkcywgc28gZXZlcnkgYWNjZXNzb3IgZHJvcHMgdGhlIGVudHJ5IG9uIGFuIGVycm9y IGFuZCB0aGUgbmV4dAorICogYWNjZXNzIHJlYWRzIHRoZSBzZWxlY3RvciBhZ2Fpbi4KKyAqLwor c3RhdGljIGJvb2wgc2l0OTUzMXhfdm9sYXRpbGVfcmVnKHN0cnVjdCBkZXZpY2UgKmRldiBfX21h eWJlX3VudXNlZCwKKwkJCQkgIHVuc2lnbmVkIGludCByZWcpCit7CisJcmV0dXJuIHJlZyAhPSBT SVQ5NTMxWF9QQUdFX1NFTDsKK30KKworc3RhdGljIGNvbnN0IHN0cnVjdCByZWdtYXBfcmFuZ2Vf Y2ZnIHNpdDk1MzF4X3JlZ21hcF9yYW5nZSA9IHsKKwkucmFuZ2VfbWluCT0gU0lUOTUzMVhfUkFO R0VfT0ZGU0VULAorCS5yYW5nZV9tYXgJPSBTSVQ5NTMxWF9SQU5HRV9PRkZTRVQgKworCQkJICAo U0lUOTUzMVhfTlVNX1BBR0VTICogU0lUOTUzMVhfUEFHRV9TSVpFKSAtIDEsCisJLnNlbGVjdG9y X3JlZwk9IFNJVDk1MzFYX1BBR0VfU0VMLAorCS5zZWxlY3Rvcl9tYXNrCT0gR0VOTUFTSyg3LCAw KSwKKwkuc2VsZWN0b3Jfc2hpZnQJPSAwLAorCS53aW5kb3dfc3RhcnQJPSAwLAorCS53aW5kb3df bGVuCT0gU0lUOTUzMVhfUEFHRV9TSVpFLAorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCByZWdt YXBfY29uZmlnIHNpdDk1MzF4X3JlZ21hcF9jb25maWcgPSB7CisJLnJlZ19iaXRzCT0gOCwKKwku dmFsX2JpdHMJPSA4LAorCS5tYXhfcmVnaXN0ZXIJPSBTSVQ5NTMxWF9SQU5HRV9PRkZTRVQgKwor CQkJICAoU0lUOTUzMVhfTlVNX1BBR0VTICogU0lUOTUzMVhfUEFHRV9TSVpFKSAtIDEsCisJLnJh bmdlcwkJPSAmc2l0OTUzMXhfcmVnbWFwX3JhbmdlLAorCS5udW1fcmFuZ2VzCT0gMSwKKwkudm9s YXRpbGVfcmVnCT0gc2l0OTUzMXhfdm9sYXRpbGVfcmVnLAorCS5jYWNoZV90eXBlCT0gUkVHQ0FD SEVfTUFQTEUsCit9OworCitzdGF0aWMgdm9pZCBzaXQ5NTMxeF9wYWdlX2NhY2hlX2Ryb3Aoc3Ry dWN0IHNpdDk1MzF4X2RldiAqc2l0ZGV2KQoreworCXJlZ2NhY2hlX2Ryb3BfcmVnaW9uKHNpdGRl di0+cmVnbWFwLCBTSVQ5NTMxWF9QQUdFX1NFTCwKKwkJCSAgICAgU0lUOTUzMVhfUEFHRV9TRUwp OworfQorCisvKgorICogc2l0OTUzMXhfcmVhZF91OCAtIHJlYWQgYW4gOC1iaXQgcmVnaXN0ZXIK KyAqIEByZWc6CXJlZ2lzdGVyIGluIFNJVDk1MzFYX1JFRyhwYWdlLCBvZmZzZXQpIGZvcm0KKyAq IEB2YWw6CW91dHB1dCB2YWx1ZQorICovCitpbnQgc2l0OTUzMXhfcmVhZF91OChzdHJ1Y3Qgc2l0 OTUzMXhfZGV2ICpzaXRkZXYsIHVuc2lnbmVkIGludCByZWcsCisJCSAgICAgdTggKnZhbCkKK3sK Kwl1bnNpZ25lZCBpbnQgdnJlZywgdG1wOworCWludCByYzsKKworCXZyZWcgPSAoU0lUOTUzMVhf UkVHX1BBR0UocmVnKSAqIFNJVDk1MzFYX1BBR0VfU0laRSkgKworCSAgICAgICBTSVQ5NTMxWF9S RUdfT0ZGU0VUKHJlZykgKyBTSVQ5NTMxWF9SQU5HRV9PRkZTRVQ7CisKKwlyYyA9IHJlZ21hcF9y ZWFkKHNpdGRldi0+cmVnbWFwLCB2cmVnLCAmdG1wKTsKKwlpZiAocmMpIHsKKwkJc2l0OTUzMXhf cGFnZV9jYWNoZV9kcm9wKHNpdGRldik7CisJCWRldl9lcnIoc2l0ZGV2LT5kZXYsCisJCQkiRmFp bGVkIHRvIHJlYWQgcGFnZSAweCUwMnggcmVnIDB4JTAyeDogJWRcbiIsCisJCQlTSVQ5NTMxWF9S RUdfUEFHRShyZWcpLCBTSVQ5NTMxWF9SRUdfT0ZGU0VUKHJlZyksIHJjKTsKKwl9IGVsc2Ugewor CQkqdmFsID0gKHU4KXRtcDsKKwl9CisKKwlyZXR1cm4gcmM7Cit9CisKKy8qCisgKiBzaXQ5NTMx eF93cml0ZV91OCAtIHdyaXRlIGFuIDgtYml0IHJlZ2lzdGVyCisgKiBAcmVnOglyZWdpc3RlciBp biBTSVQ5NTMxWF9SRUcocGFnZSwgb2Zmc2V0KSBmb3JtCisgKiBAdmFsOgl2YWx1ZSB0byB3cml0 ZQorICovCitpbnQgc2l0OTUzMXhfd3JpdGVfdTgoc3RydWN0IHNpdDk1MzF4X2RldiAqc2l0ZGV2 LCB1bnNpZ25lZCBpbnQgcmVnLAorCQkgICAgICB1OCB2YWwpCit7CisJdW5zaWduZWQgaW50IHZy ZWc7CisJaW50IHJjOworCisJdnJlZyA9IChTSVQ5NTMxWF9SRUdfUEFHRShyZWcpICogU0lUOTUz MVhfUEFHRV9TSVpFKSArCisJICAgICAgIFNJVDk1MzFYX1JFR19PRkZTRVQocmVnKSArIFNJVDk1 MzFYX1JBTkdFX09GRlNFVDsKKworCXJjID0gcmVnbWFwX3dyaXRlKHNpdGRldi0+cmVnbWFwLCB2 cmVnLCB2YWwpOworCWlmIChyYykgeworCQlzaXQ5NTMxeF9wYWdlX2NhY2hlX2Ryb3Aoc2l0ZGV2 KTsKKwkJZGV2X2VycihzaXRkZXYtPmRldiwKKwkJCSJGYWlsZWQgdG8gd3JpdGUgcGFnZSAweCUw MnggcmVnIDB4JTAyeDogJWRcbiIsCisJCQlTSVQ5NTMxWF9SRUdfUEFHRShyZWcpLCBTSVQ5NTMx WF9SRUdfT0ZGU0VUKHJlZyksIHJjKTsKKwl9CisKKwlyZXR1cm4gcmM7Cit9CisKKy8qCisgKiBz aXQ5NTMxeF9yZWFkX3BsbF91OCAtIHJlYWQgYSByZWdpc3RlciBvbiBhIFBMTCBwYWdlCisgKiBA dmFsOglvdXRwdXQgdmFsdWUKKyAqLworaW50IHNpdDk1MzF4X3JlYWRfcGxsX3U4KHN0cnVjdCBz aXQ5NTMxeF9kZXYgKnNpdGRldiwgdTggcGxsX2lkeCwKKwkJCSB1OCBvZmZzZXQsIHU4ICp2YWwp Cit7CisJdTggcGFnZSA9IHNpdDk1MzF4X3BsbF9wYWdlKHBsbF9pZHgpOworCisJcmV0dXJuIHNp dDk1MzF4X3JlYWRfdTgoc2l0ZGV2LCBTSVQ5NTMxWF9SRUcocGFnZSwgb2Zmc2V0KSwgdmFsKTsK K30KKworLyoKKyAqIHNpdDk1MzF4X3dyaXRlX3BsbF91OCAtIHdyaXRlIGEgcmVnaXN0ZXIgb24g YSBQTEwgcGFnZQorICogQHZhbDoJdmFsdWUgdG8gd3JpdGUKKyAqLworaW50IHNpdDk1MzF4X3dy aXRlX3BsbF91OChzdHJ1Y3Qgc2l0OTUzMXhfZGV2ICpzaXRkZXYsIHU4IHBsbF9pZHgsCisJCQkg IHU4IG9mZnNldCwgdTggdmFsKQoreworCXU4IHBhZ2UgPSBzaXQ5NTMxeF9wbGxfcGFnZShwbGxf aWR4KTsKKworCXJldHVybiBzaXQ5NTMxeF93cml0ZV91OChzaXRkZXYsIFNJVDk1MzFYX1JFRyhw YWdlLCBvZmZzZXQpLCB2YWwpOworfQorCisvKgorICogc2l0OTUzMXhfdXBkYXRlX3BsbF91OCAt IHJlYWQtbW9kaWZ5LXdyaXRlIGEgcmVnaXN0ZXIgb24gYSBQTEwgcGFnZQorICogQG1hc2s6CWJp dHMgdG8gbW9kaWZ5CisgKiBAdmFsOgluZXcgdmFsdWUgZm9yIG1hc2tlZCBiaXRzCisgKi8KK2lu dCBzaXQ5NTMxeF91cGRhdGVfcGxsX3U4KHN0cnVjdCBzaXQ5NTMxeF9kZXYgKnNpdGRldiwgdTgg cGxsX2lkeCwKKwkJCSAgIHU4IG9mZnNldCwgdTggbWFzaywgdTggdmFsKQoreworCXU4IHBhZ2Ug PSBzaXQ5NTMxeF9wbGxfcGFnZShwbGxfaWR4KTsKKwl1bnNpZ25lZCBpbnQgdnJlZzsKKwlpbnQg cmM7CisKKwl2cmVnID0gKHBhZ2UgKiBTSVQ5NTMxWF9QQUdFX1NJWkUpICsgb2Zmc2V0ICsgU0lU OTUzMVhfUkFOR0VfT0ZGU0VUOworCisJLyoKKwkgKiBBIHJlYWQtbW9kaWZ5LXdyaXRlIGlzIGEg cmVhZCBhbmQgYSB3cml0ZSwgYW5kIGVpdGhlciBjYW4gbGVhdmUKKwkgKiB0aGUgY2FjaGVkIHBh Z2Ugc2VsZWN0b3Igd3JvbmcsIHNvIGZhaWwgdGhlIHdheSB0aGUgc2luZ2xlCisJICogYWNjZXNz b3JzIGRvLgorCSAqLworCXJjID0gcmVnbWFwX3VwZGF0ZV9iaXRzKHNpdGRldi0+cmVnbWFwLCB2 cmVnLCBtYXNrLCB2YWwpOworCWlmIChyYykgeworCQlzaXQ5NTMxeF9wYWdlX2NhY2hlX2Ryb3Ao c2l0ZGV2KTsKKwkJZGV2X2VycihzaXRkZXYtPmRldiwKKwkJCSJGYWlsZWQgdG8gdXBkYXRlIHBh Z2UgMHglMDJ4IHJlZyAweCUwMng6ICVkXG4iLAorCQkJcGFnZSwgb2Zmc2V0LCByYyk7CisJfQor CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IHNpdDk1MzF4X3JlYWRfdmFyaWFudF9pZChz dHJ1Y3Qgc2l0OTUzMXhfZGV2ICpzaXRkZXYsIHU4ICppZCkKK3sKKwlyZXR1cm4gc2l0OTUzMXhf cmVhZF91OChzaXRkZXYsIFNJVDk1MzFYX1JFR19WQVJJQU5UX0lELCBpZCk7Cit9CisKK3N0YXRp YyBjb25zdCBzdHJ1Y3Qgc2l0OTUzMXhfY2hpcF9pbmZvICpzaXQ5NTMxeF9tYXRjaF92YXJpYW50 KHU4IGlkKQoreworCXVuc2lnbmVkIGludCBpOworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJ WkUoc2l0OTUzMXhfY2hpcF9pZHMpOyBpKyspIHsKKwkJaWYgKHNpdDk1MzF4X2NoaXBfaWRzW2ld LmlkID09IGlkKQorCQkJcmV0dXJuICZzaXQ5NTMxeF9jaGlwX2lkc1tpXTsKKwl9CisKKwlyZXR1 cm4gTlVMTDsKK30KKworc3RhdGljIGludCBzaXQ5NTMxeF9kZXZfcHJvYmUoc3RydWN0IHNpdDk1 MzF4X2RldiAqc2l0ZGV2KQoreworCXN0cnVjdCBjbGsgKnh0YWxfY2xrOworCXU4IHZhcmlhbnRf aWQ7CisJaW50IHJjOworCisJLyoKKwkgKiBGdmNvID0gRnJlZiAqIChESVZOICsgZnJhYy8yXjMy KSB3aXRoIEZyZWYgZGVyaXZlZCBmcm9tIHRoZSBYTworCSAqIGZlZWRpbmcgWElOL1hPX0NMSywg c28gdGhlIHJhdGUgaXMgbmVlZGVkIGJlZm9yZSBhbnl0aGluZyBjYW4gYmUKKwkgKiBjb21wdXRl ZCBmcm9tIGEgZGl2aWRlci4gIFRoZSByYXRlIG5vcm1hbGx5IGNvbWVzIGZyb20gYSAiY2xvY2tz IgorCSAqIHBoYW5kbGUgKGNsb2NrLW5hbWVzID0gInh0YWwiKS4gIE9uIHBsYXRmb3JtcyB3aGVy ZSB0aGUgZmlybXdhcmUKKwkgKiBkb2VzIG5vdCBleHBvc2UgdGhlIFhPIHRocm91Z2ggdGhlIGNs b2NrIGZyYW1ld29yaywgZmFsbCBiYWNrIHRvCisJICogYSAiY2xvY2stZnJlcXVlbmN5IiBkZXZp Y2UgcHJvcGVydHkuCisJICovCisJeHRhbF9jbGsgPSBkZXZtX2Nsa19nZXRfb3B0aW9uYWxfZW5h YmxlZChzaXRkZXYtPmRldiwgInh0YWwiKTsKKwlpZiAoSVNfRVJSKHh0YWxfY2xrKSkKKwkJcmV0 dXJuIGRldl9lcnJfcHJvYmUoc2l0ZGV2LT5kZXYsIFBUUl9FUlIoeHRhbF9jbGspLAorCQkJCSAg ICAgIkZhaWxlZCB0byBnZXQgeHRhbCBjbG9ja1xuIik7CisJc2l0ZGV2LT54dGFsX2ZyZXEgPSBj bGtfZ2V0X3JhdGUoeHRhbF9jbGspOworCWlmICghc2l0ZGV2LT54dGFsX2ZyZXEpIHsKKwkJdTMy IGZyZXE7CisKKwkJaWYgKCFkZXZpY2VfcHJvcGVydHlfcmVhZF91MzIoc2l0ZGV2LT5kZXYsICJj bG9jay1mcmVxdWVuY3kiLAorCQkJCQkgICAgICAmZnJlcSkpCisJCQlzaXRkZXYtPnh0YWxfZnJl cSA9IGZyZXE7CisJfQorCWlmICghc2l0ZGV2LT54dGFsX2ZyZXEpCisJCXJldHVybiBkZXZfZXJy X3Byb2JlKHNpdGRldi0+ZGV2LCAtRUlOVkFMLAorCQkJCSAgICAgIm5vIHh0YWwgcmF0ZTogcHJv dmlkZSBjbG9ja3M9PCZ4bz4gKyBjbG9jay1uYW1lcz1cInh0YWxcIiwgb3IgYSBjbG9jay1mcmVx dWVuY3kgcHJvcGVydHlcbiIpOworCisJLyoKKwkgKiBIZWxkIGRlYXNzZXJ0ZWQsIG5ldmVyIHB1 bHNlZDogdGhlIGNoaXAgY29uZmlndXJhdGlvbiBjb21lcyBmcm9tCisJICogZWZ1c2Ugb3IgYW4g TlZNIGJsb2IgYXBwbGllZCBiZWZvcmUgcHJvYmUsIGFuZCBhIHJlc2V0IHdvdWxkCisJICogZGlz Y2FyZCBpdC4gIE11c3QgcHJlY2VkZSB0aGUgZmlyc3QgSTJDIGFjY2VzcywgYXMgYSBib2FyZCB0 aGF0CisJICogcG93ZXJzIHVwIGFzc2VydGVkIGtlZXBzIHRoZSBjaGlwIHVucmVhY2hhYmxlIHVu dGlsIHJlbGVhc2VkLgorCSAqLworCXNpdGRldi0+cmVzZXRfZ3BpbyA9IGRldm1fZ3Bpb2RfZ2V0 X29wdGlvbmFsKHNpdGRldi0+ZGV2LCAicmVzZXQiLAorCQkJCQkJICAgICBHUElPRF9PVVRfTE9X KTsKKwlpZiAoSVNfRVJSKHNpdGRldi0+cmVzZXRfZ3BpbykpCisJCXJldHVybiBkZXZfZXJyX3By b2JlKHNpdGRldi0+ZGV2LCBQVFJfRVJSKHNpdGRldi0+cmVzZXRfZ3BpbyksCisJCQkJICAgICAi RmFpbGVkIHRvIHJlcXVlc3QgcmVzZXQgZ3Bpb1xuIik7CisJaWYgKHNpdGRldi0+cmVzZXRfZ3Bp bykKKwkJZnNsZWVwKDEwMDAwKTsJLyogaW50ZXJuYWwgYm9vdCBhZnRlciByZWxlYXNlICovCisK KwlyYyA9IHNpdDk1MzF4X3JlYWRfdmFyaWFudF9pZChzaXRkZXYsICZ2YXJpYW50X2lkKTsKKwlp ZiAocmMpCisJCXJldHVybiByYzsKKworCXNpdGRldi0+aW5mbyA9IHNpdDk1MzF4X21hdGNoX3Zh cmlhbnQodmFyaWFudF9pZCk7CisJaWYgKCFzaXRkZXYtPmluZm8pCisJCXJldHVybiBkZXZfZXJy X3Byb2JlKHNpdGRldi0+ZGV2LCAtRU5PREVWLAorCQkJCSAgICAgIlVua25vd24gdmFyaWFudCBJ RDogMHglMDJ4XG4iLAorCQkJCSAgICAgdmFyaWFudF9pZCk7CisKKwlyYyA9IGRldm1fbXV0ZXhf aW5pdChzaXRkZXYtPmRldiwgJnNpdGRldi0+bXVsdGlvcF9sb2NrKTsKKwlpZiAocmMpCisJCXJl dHVybiBkZXZfZXJyX3Byb2JlKHNpdGRldi0+ZGV2LCByYywKKwkJCQkgICAgICJGYWlsZWQgdG8g aW5pdGlhbGl6ZSBtdXRleFxuIik7CisKKwlkZXZfaW5mbyhzaXRkZXYtPmRldiwgIiVzIGRldGVj dGVkLCAldSBpbnB1dHMsICV1IG91dHB1dHNcbiIsCisJCSBzaXRkZXYtPmluZm8tPm5hbWUsIHNp dGRldi0+aW5mby0+bnVtX2lucHV0cywKKwkJIHNpdGRldi0+aW5mby0+bnVtX291dHB1dHMpOwor CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgc2l0OTUzMXhfaTJjX3Byb2JlKHN0cnVjdCBp MmNfY2xpZW50ICpjbGllbnQpCit7CisJc3RydWN0IHNpdDk1MzF4X2RldiAqc2l0ZGV2OworCXN0 cnVjdCByZWdtYXAgKnJlZ21hcDsKKworCXJlZ21hcCA9IGRldm1fcmVnbWFwX2luaXRfaTJjKGNs aWVudCwgJnNpdDk1MzF4X3JlZ21hcF9jb25maWcpOworCWlmIChJU19FUlIocmVnbWFwKSkKKwkJ cmV0dXJuIGRldl9lcnJfcHJvYmUoJmNsaWVudC0+ZGV2LCBQVFJfRVJSKHJlZ21hcCksCisJCQkJ ICAgICAiRmFpbGVkIHRvIGluaXRpYWxpemUgcmVnbWFwXG4iKTsKKworCXNpdGRldiA9IGRldm1f a3phbGxvYygmY2xpZW50LT5kZXYsIHNpemVvZigqc2l0ZGV2KSwgR0ZQX0tFUk5FTCk7CisJaWYg KCFzaXRkZXYpCisJCXJldHVybiAtRU5PTUVNOworCisJc2l0ZGV2LT5kZXYgPSAmY2xpZW50LT5k ZXY7CisJc2l0ZGV2LT5jbGllbnQgPSBjbGllbnQ7CisJc2l0ZGV2LT5yZWdtYXAgPSByZWdtYXA7 CisJaTJjX3NldF9jbGllbnRkYXRhKGNsaWVudCwgc2l0ZGV2KTsKKworCXJldHVybiBzaXQ5NTMx eF9kZXZfcHJvYmUoc2l0ZGV2KTsKK30KKworc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2Vf aWQgc2l0OTUzMXhfb2ZfbWF0Y2hbXSA9IHsKKwl7IC5jb21wYXRpYmxlID0gInNpdGltZSxzaXQ5 NTMxNiIgfSwKKwl7IC5jb21wYXRpYmxlID0gInNpdGltZSxzaXQ5NTMxNyIgfSwKKwl7IH0KK307 CitNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBzaXQ5NTMxeF9vZl9tYXRjaCk7CisKK3N0YXRpYyBz dHJ1Y3QgaTJjX2RyaXZlciBzaXQ5NTMxeF9pMmNfZHJpdmVyID0geworCS5kcml2ZXIJCQk9IHsK KwkJLm5hbWUJCT0gInNpdDk1MzF4IiwKKwkJLm9mX21hdGNoX3RhYmxlCT0gc2l0OTUzMXhfb2Zf bWF0Y2gsCisJfSwKKwkucHJvYmUJCT0gc2l0OTUzMXhfaTJjX3Byb2JlLAorfTsKK21vZHVsZV9p MmNfZHJpdmVyKHNpdDk1MzF4X2kyY19kcml2ZXIpOworCitNT0RVTEVfQVVUSE9SKCJBbGkgUm91 aGkgPGFyb3VoaUBzaXRpbWUuY29tPiIpOworTU9EVUxFX0FVVEhPUigiT2xlZyBaYWRvcm96aG55 aSA8T2xlZy5aYWRvcm96aG55aUBkZXZveHNvZnR3YXJlLmNvbT4iKTsKK01PRFVMRV9ERVNDUklQ VElPTigiU2lUaW1lIFNpVDk1MzF4IERQTEwgc3Vic3lzdGVtIGRyaXZlciIpOworTU9EVUxFX0xJ Q0VOU0UoIkdQTCIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9kcGxsL3NpdDk1MzF4L2NvcmUuaCBi L2RyaXZlcnMvZHBsbC9zaXQ5NTMxeC9jb3JlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwMDAwLi5hMjYzYWRmMGVmMzUKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2Rw bGwvc2l0OTUzMXgvY29yZS5oCkBAIC0wLDAgKzEsODYgQEAKKy8qIFNQRFgtTGljZW5zZS1JZGVu dGlmaWVyOiBHUEwtMi4wICovCisvKgorICogU2lUaW1lIFNpVDk1MzF4IERQTEwgY29yZSBkcml2 ZXIKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMjYgU2lUaW1lIENvcnAuCisgKiBBdXRob3I6IEFs aSBSb3VoaSA8YXJvdWhpQHNpdGltZS5jb20+CisgKiBBdXRob3I6IE9sZWcgWmFkb3JvemhueWkg PE9sZWcuWmFkb3JvemhueWlAZGV2b3hzb2Z0d2FyZS5jb20+CisgKgorICogRGV2aWNlIHN0cnVj dHVyZSwgcmVnaXN0ZXIgYWNjZXNzIGhlbHBlcnMsIGFuZCBjb3JlIGZ1bmN0aW9uCisgKiBkZWNs YXJhdGlvbnMuCisgKi8KKworI2lmbmRlZiBfU0lUOTUzMVhfQ09SRV9ICisjZGVmaW5lIF9TSVQ5 NTMxWF9DT1JFX0gKKworI2luY2x1ZGUgPGxpbnV4L2dwaW8vY29uc3VtZXIuaD4KKyNpbmNsdWRl IDxsaW51eC9pMmMuaD4KKyNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgorI2luY2x1ZGUgPGxpbnV4 L3JlZ21hcC5oPgorI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisKKyNpbmNsdWRlICJyZWdzLmgi CisKKyNkZWZpbmUgU0lUOTUzMVhfTlVNX1BMTFMJCTQKKyNkZWZpbmUgU0lUOTUzMVhfTUFYX0lO UFVUUwkJOAorI2RlZmluZSBTSVQ5NTMxWF9NQVhfT1VUUFVUUwkJMTIKKworLyoKKyAqIHN0cnVj dCBzaXQ5NTMxeF9jaGlwX2luZm8gLSBjaGlwIHZhcmlhbnQgaWRlbnRpZmljYXRpb24KKyAqIEBp ZDoJCXZhcmlhbnQgSUQgYnl0ZSByZWFkIGZyb20gcmVnaXN0ZXIKKyAqIEBudW1faW5wdXRzOglu dW1iZXIgb2YgaW5wdXQgY2xvY2sgcGlucworICogQG51bV9vdXRwdXRzOiBudW1iZXIgb2Ygb3V0 cHV0IGNsb2NrIHBpbnMKKyAqIEBuYW1lOglodW1hbi1yZWFkYWJsZSB2YXJpYW50IG5hbWUKKyAq IEBjbGtvdXRfbWFwOglwZXItb3V0cHV0IHNsb3QgbWFwcGluZyAob3V0cHV0IGluZGV4IC0+IHBo eXNpY2FsIHNsb3QpCisgKi8KK3N0cnVjdCBzaXQ5NTMxeF9jaGlwX2luZm8geworCXU4CQlpZDsK Kwl1OAkJbnVtX2lucHV0czsKKwl1OAkJbnVtX291dHB1dHM7CisJY29uc3QgY2hhcgkqbmFtZTsK Kwljb25zdCB1OAkqY2xrb3V0X21hcDsKK307CisKKy8qCisgKiBzdHJ1Y3Qgc2l0OTUzMXhfZGV2 IC0gU2lUOTUzMXggZGV2aWNlIGluc3RhbmNlCisgKiBAZGV2OgkJcGFyZW50IGRldmljZQorICog QGNsaWVudDoJCUkyQyBjbGllbnQKKyAqIEByZWdtYXA6CQlwYWdlZCByZWdpc3RlciBtYXAKKyAq IEBpbmZvOgkJZGV0ZWN0ZWQgY2hpcCB2YXJpYW50IGluZm8KKyAqIEBtdWx0aW9wX2xvY2s6CXNl cmlhbGl6ZXMgbXVsdGktcmVnaXN0ZXIgc2VxdWVuY2VzCisgKiBAeHRhbF9mcmVxOgkJY3J5c3Rh bCBvc2NpbGxhdG9yIGZyZXF1ZW5jeSBpbiBIegorICogQHJlc2V0X2dwaW86CQlvcHRpb25hbCBy ZXNldCBsaW5lIChEVCAicmVzZXQtZ3Bpb3MiKSwgTlVMTCBpZiBhYnNlbnQKKyAqLworc3RydWN0 IHNpdDk1MzF4X2RldiB7CisJc3RydWN0IGRldmljZQkJCSpkZXY7CisJc3RydWN0IGkyY19jbGll bnQJCSpjbGllbnQ7CisJc3RydWN0IHJlZ21hcAkJCSpyZWdtYXA7CisJY29uc3Qgc3RydWN0IHNp dDk1MzF4X2NoaXBfaW5mbwkqaW5mbzsKKwkvKiBTZXJpYWxpemVzIG11bHRpLXN0ZXAgcmVnaXN0 ZXIgc2VxdWVuY2VzICovCisJc3RydWN0IG11dGV4CQkJbXVsdGlvcF9sb2NrOworCisJdTMyCQkJ eHRhbF9mcmVxOworCisJc3RydWN0IGdwaW9fZGVzYwkqcmVzZXRfZ3BpbzsKK307CisKKy8qCisg KiBzaXQ5NTMxeF9wbGxfcGFnZSAtIGdldCByZWdpc3RlciBwYWdlIGZvciBQTEwgaW5kZXgKKyAq IEBwbGxfaWR4OiBQTEwgaW5kZXggKDAgPSBQTExBLCAzID0gUExMRCkKKyAqLworc3RhdGljIGlu bGluZSB1OCBzaXQ5NTMxeF9wbGxfcGFnZSh1OCBwbGxfaWR4KQoreworCXJldHVybiBTSVQ5NTMx WF9QQUdFX1BMTEEgKyBwbGxfaWR4OworfQorCisvKiAtLS0tIFJlZ2lzdGVyIGFjY2VzcyAtLS0t ICovCitpbnQgc2l0OTUzMXhfcmVhZF91OChzdHJ1Y3Qgc2l0OTUzMXhfZGV2ICpzaXRkZXYsIHVu c2lnbmVkIGludCByZWcsIHU4ICp2YWwpOworaW50IHNpdDk1MzF4X3dyaXRlX3U4KHN0cnVjdCBz aXQ5NTMxeF9kZXYgKnNpdGRldiwgdW5zaWduZWQgaW50IHJlZywgdTggdmFsKTsKK2ludCBzaXQ5 NTMxeF9yZWFkX3BsbF91OChzdHJ1Y3Qgc2l0OTUzMXhfZGV2ICpzaXRkZXYsIHU4IHBsbF9pZHgs IHU4IG9mZnNldCwKKwkJCSB1OCAqdmFsKTsKK2ludCBzaXQ5NTMxeF93cml0ZV9wbGxfdTgoc3Ry dWN0IHNpdDk1MzF4X2RldiAqc2l0ZGV2LCB1OCBwbGxfaWR4LCB1OCBvZmZzZXQsCisJCQkgIHU4 IHZhbCk7CitpbnQgc2l0OTUzMXhfdXBkYXRlX3BsbF91OChzdHJ1Y3Qgc2l0OTUzMXhfZGV2ICpz aXRkZXYsIHU4IHBsbF9pZHgsIHU4IG9mZnNldCwKKwkJCSAgIHU4IG1hc2ssIHU4IHZhbCk7CisK KyNlbmRpZiAvKiBfU0lUOTUzMVhfQ09SRV9IICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2RwbGwv c2l0OTUzMXgvcmVncy5oIGIvZHJpdmVycy9kcGxsL3NpdDk1MzF4L3JlZ3MuaApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjY3MDc3ZDExMjY1MwotLS0gL2Rldi9udWxs CisrKyBiL2RyaXZlcnMvZHBsbC9zaXQ5NTMxeC9yZWdzLmgKQEAgLTAsMCArMSw0NCBAQAorLyog U1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAgKi8KKy8qCisgKiBTaVRpbWUgU2lUOTUz MXggcmVnaXN0ZXIgZGVmaW5pdGlvbnMKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMjYgU2lUaW1l IENvcnAuCisgKiBBdXRob3I6IEFsaSBSb3VoaSA8YXJvdWhpQHNpdGltZS5jb20+CisgKiBBdXRo b3I6IE9sZWcgWmFkb3JvemhueWkgPE9sZWcuWmFkb3JvemhueWlAZGV2b3hzb2Z0d2FyZS5jb20+ CisgKi8KKworI2lmbmRlZiBfU0lUOTUzMVhfUkVHU19ICisjZGVmaW5lIF9TSVQ5NTMxWF9SRUdT X0gKKworLyoKKyAqIEkyQyByZWdpc3RlciBtb2RlbDoKKyAqICAgLSBQYWdlIHNlbGVjdCByZWdp c3RlciBhdCBvZmZzZXQgMHhGRiwgcHJlc2VudCBpbiBldmVyeSBwYWdlCisgKiAgIC0gRWFjaCBw YWdlIGhhcyAyNTYgcmVnaXN0ZXJzICgweDAwLTB4RkYpCisgKiAgIC0gU29tZSBwYWdlcyBhcmUg cGFpcmVkIChlLmcuIDB4MEEvMHgxQSBmb3IgUExMQSkKKyAqLworI2RlZmluZSBTSVQ5NTMxWF9Q QUdFX1NFTAkJMHhGRgorI2RlZmluZSBTSVQ5NTMxWF9QQUdFX1NJWkUJCTB4MTAwCisjZGVmaW5l IFNJVDk1MzFYX05VTV9QQUdFUwkJMzIKKworLyogSGVscGVyIG1hY3JvcyBmb3IgcGFnZTpvZmZz ZXQgYWRkcmVzc2luZyAqLworI2RlZmluZSBTSVQ5NTMxWF9SRUcoX3BhZ2UsIF9vZmZzZXQpCQko KChfcGFnZSkgPDwgOCkgfCAoX29mZnNldCkpCisjZGVmaW5lIFNJVDk1MzFYX1JFR19QQUdFKF9y ZWcpCQkoKF9yZWcpID4+IDgpCisjZGVmaW5lIFNJVDk1MzFYX1JFR19PRkZTRVQoX3JlZykJCSgo X3JlZykgJiAweEZGKQorCisjZGVmaW5lIFNJVDk1MzFYX1BBR0VfT1VUU1lTMAkJMHgwMworI2Rl ZmluZSBTSVQ5NTMxWF9QQUdFX09VVFNZUzEJCTB4MDQKKyNkZWZpbmUgU0lUOTUzMVhfUEFHRV9Q TExBCQkJMHgwQQorI2RlZmluZSBTSVQ5NTMxWF9QQUdFX1BMTEFfRVhUCQkweDFBCisKKy8qCisg KiBWQVJJQU5UX0lEIGlzIGEgc2luZ2xlIGJ5dGUgYXQgcGFnZSAwIHJlZyAweDAyICg5NTMxNyA9 IDB4MTcsIDk1MzE2ID0gMHgzMSkuCisgKiBSZWcgMHgwMyBjYXJyaWVzIGFuIHVucmVsYXRlZCBy ZXZpc2lvbiBieXRlIGFuZCBtdXN0IG5vdCBiZSBjb21iaW5lZCBpbnRvCisgKiB0aGUgdmFyaWFu dCBpZGVudGlmaWVyLgorICovCisjZGVmaW5lIFNJVDk1MzFYX1JFR19WQVJJQU5UX0lECQlTSVQ5 NTMxWF9SRUcoMHgwMCwgMHgwMikKKworLyogVmFyaWFudCBJRCB2YWx1ZXMgKHBhZ2UgMCByZWcg MHgwMikgKi8KKyNkZWZpbmUgU0lUOTUzMVhfVkFSSUFOVF9JRF85NTMxNwkweDE3CisjZGVmaW5l IFNJVDk1MzFYX1ZBUklBTlRfSURfOTUzMTYJMHgzMQorCisjZW5kaWYgLyogX1NJVDk1MzFYX1JF R1NfSCAqLwotLSAKMi4zOS4yIChBcHBsZSBHaXQtMTQzKQoK