Received: by 2002:a05:6a10:f347:0:0:0:0 with SMTP id d7csp5881228pxu; Wed, 23 Dec 2020 07:43:58 -0800 (PST) X-Google-Smtp-Source: ABdhPJyzFMtYq/4DnaFF0cydGCHDA5WDIjgMaNOR2LRDibZK3wK83akNEelxa9sNWpBuPdkTWYwF X-Received: by 2002:a17:906:a00a:: with SMTP id p10mr25007830ejy.312.1608738237922; Wed, 23 Dec 2020 07:43:57 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1608738237; cv=pass; d=google.com; s=arc-20160816; b=FyuejMgAOxZBCLILiLq4vvR2LZlTkxIhkEs8nnRZ0bqb24aur/cI+AX8ho0CBUvgEh XjMZ+Q4J8SIePpTs1yNDplwdC9wlts8SVwWOmGzDG8gsO2+r+okqdpN/yLF20aPt3dYs gwwT8txcYr9nsDidloxxJgwvgbenX10puWqcIba3K3lz4zsQ4lKAhGoVuUVgiledY1eH ex/P+hCeoM6lCIRS+YpbE+XIxqLhRvafLf3TuwWJec2BO2b6J9qzJkCF2AgVG4/G8M1u vkW2eZx/+M02GqDqvSZQ0ySfaPRXXZR//u5/nulVqT7tVTOLxLnBT05b7Yz+SO7njRvh dwhg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=5LusbnrJkE5q9aNCknv40pTBJbCnpFWfpTk4zMA2w94=; b=g01SH5RJjnd5jYJJxbJcW7kXgc2JBMhDmtRKI3Vxweb0a35FAKyXiifoEECrVCXdgY svmw9cQuWfCmW20cgkRsMwzQKmQDyXr4th7bTc804jXfo0KmqCLEZbZFV9Pu85h4HEJH 9RUf7qO0GoOn4uVvFrDaI8H0mhXByFNBPVbPKdSlwgU01W4NkLvvH6ubrwDzzPHN6YuV ik9yHUa8ZcuN+gq8F5gnB/juaHX9VlKniCZsmtv/jvAsTLloF4NTGgStsLu1/cbwPpfE CBJkLKajvTfWVG5zfodyNra9mvEvmRpNNvEOYr350dI3UfZd621IzSLN4j6VV/o4WD8r JRdQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@silabs.onmicrosoft.com header.s=selector2-silabs-onmicrosoft-com header.b=d0BCu74p; arc=pass (i=1 spf=pass spfdomain=silabs.com dkim=pass dkdomain=silabs.com dmarc=pass fromdomain=silabs.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id i8si13225332edq.125.2020.12.23.07.43.34; Wed, 23 Dec 2020 07:43:57 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@silabs.onmicrosoft.com header.s=selector2-silabs-onmicrosoft-com header.b=d0BCu74p; arc=pass (i=1 spf=pass spfdomain=silabs.com dkim=pass dkdomain=silabs.com dmarc=pass fromdomain=silabs.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729384AbgLWPmZ (ORCPT + 99 others); Wed, 23 Dec 2020 10:42:25 -0500 Received: from mail-mw2nam12on2068.outbound.protection.outlook.com ([40.107.244.68]:31200 "EHLO NAM12-MW2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1729385AbgLWPmQ (ORCPT ); Wed, 23 Dec 2020 10:42:16 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=npZRcgoavE06hmwWfeaiRhCCtoHdhqFJhDzZeLbc419O1hjrGJZn8CuSf4sRi8/1kI0GKPz74QPA6AFXgp1NNaIxl2SwYbO8yVVzrblC7JxvtClmn/TrxsE110xcYU6cIrI+5NobePZhfnNsIDhIFy7Q8PjbRtYl//IdguqiW2I5+i8ZGeaxjBCOUpK4jruln38F5iEDiJwJ+na5Jrc5ikK85Uq3y2YLesxJx/y2tc4/b7TQK/HYjgQDmA0BYlrlhKVrDjSIdgvj2hIQ9fuisdvnAQQKxdFC8QB8YMU+OS7AgxGXODCwdo9RbSsIzvVcXi4/IdKAV6VQd6IztvPqlQ== 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-SenderADCheck; bh=5LusbnrJkE5q9aNCknv40pTBJbCnpFWfpTk4zMA2w94=; b=fjNeOrCoUExEJusj0Av93JYJwHvy6j9nIl6qP2ZIx302okgp3Q1LC+04t+Zw4EZzQATrQexzzmfU7/3Ni/FN9SmWpf2rJuur+ElFxZXBfQPlzbef1TszdTmo2QICmDdQVdIEEobPpY5vBYwL/Qgk8aT9W9mXzG7JlV5uqZnPqXHf8XZiobBZWhMYMsKwQNp7UkcU4GOtDBon58Hv8Kbxxd8QWCn7rybeJK4Ygk5phPFOF0uLrL/WAFB9LD1yomTGg91NbcX/TqoDHZhUrlTdkBcCLJR3kOwiFGtmmlAf9jjNJl0Jmi7f5167aojGvTXqtQv3YUkauBRtMt+XV79gRw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=silabs.com; dmarc=pass action=none header.from=silabs.com; dkim=pass header.d=silabs.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=silabs.onmicrosoft.com; s=selector2-silabs-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=5LusbnrJkE5q9aNCknv40pTBJbCnpFWfpTk4zMA2w94=; b=d0BCu74pHz/4ZwHPkm/59XPCqHkKBpM9HgyXjI56zgNtOq4FXIkSluViPwo3L4AIX1w5EYroICB5xX+8zU2HOv0Y3ytR0mazpSSzVN72Quid1JUnicfvN6saJhBkicZ89EyIlcOH2yctufC3AaVtP7/vuen+FoyUGTPgYkn1Qog= Authentication-Results: vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=silabs.com; Received: from SN6PR11MB2718.namprd11.prod.outlook.com (2603:10b6:805:63::18) by SN6PR11MB2815.namprd11.prod.outlook.com (2603:10b6:805:62::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3676.25; Wed, 23 Dec 2020 15:40:32 +0000 Received: from SN6PR11MB2718.namprd11.prod.outlook.com ([fe80::a989:f850:6736:97ca]) by SN6PR11MB2718.namprd11.prod.outlook.com ([fe80::a989:f850:6736:97ca%5]) with mapi id 15.20.3700.026; Wed, 23 Dec 2020 15:40:32 +0000 From: Jerome Pouiller To: linux-wireless@vger.kernel.org, netdev@vger.kernel.org Cc: devel@driverdev.osuosl.org, linux-kernel@vger.kernel.org, Greg Kroah-Hartman , Kalle Valo , "David S . Miller" , devicetree@vger.kernel.org, Rob Herring , linux-mmc@vger.kernel.org, =?UTF-8?q?Pali=20Roh=C3=A1r?= , Ulf Hansson , =?UTF-8?q?J=C3=A9r=C3=B4me=20Pouiller?= Subject: [PATCH v4 22/24] wfx: add traces.h Date: Wed, 23 Dec 2020 16:39:23 +0100 Message-Id: <20201223153925.73742-23-Jerome.Pouiller@silabs.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20201223153925.73742-1-Jerome.Pouiller@silabs.com> References: <20201223153925.73742-1-Jerome.Pouiller@silabs.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: base64 X-Originating-IP: [82.67.86.106] X-ClientProxiedBy: SA0PR12CA0024.namprd12.prod.outlook.com (2603:10b6:806:6f::29) To SN6PR11MB2718.namprd11.prod.outlook.com (2603:10b6:805:63::18) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from pc-42.silabs.com (82.67.86.106) by SA0PR12CA0024.namprd12.prod.outlook.com (2603:10b6:806:6f::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3700.27 via Frontend Transport; Wed, 23 Dec 2020 15:40:30 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 85d7edd8-d47f-49b9-cbd4-08d8a7591584 X-MS-TrafficTypeDiagnostic: SN6PR11MB2815: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:66; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: AmtB6xIzj0E3nxsNwn2G45Yidd0/W9f6twzKT5KrKDdUVl4Feg8JsaVuAnGy1udDBVluJdwYCTMZL0JB3L2Fn7N9mIZpfSz5Htrkz/NUXbc58b9kbWcxHnC7MYacIIB6r5ZIB1zNx4IDPQw6c7BEoU+V04fRhNqYzewsc7g5g/M+0yR//qxQTsACJW1biWH0F1GO5bs6z/EUlOTJVLbUnTaYFrqHIC4uKu3PyJT5c9dISLYE354xlqVvnMv4nZXBtBUP5YoVWZxgHRKbFkMek1Kuz4DUJVobFthTsmAy3gH4J/11eeN4KEspzZuF3BOX1sMNzFApcO1fwf03uYcjg93Js+e/X4gq5u1drKraVDUhTW2pbpGrhZZhTfPgg1YRHX8NmD92P4mwHK8thYASBP5p2TmmV4OLIMI1imRkPbX7uycI/ahHLH4OxAMeRR02 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR11MB2718.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(396003)(136003)(366004)(376002)(39850400004)(346002)(66574015)(478600001)(83380400001)(8676002)(186003)(2906002)(8936002)(26005)(52116002)(107886003)(16526019)(7696005)(66946007)(7416002)(6486002)(956004)(2616005)(54906003)(66476007)(316002)(4326008)(6666004)(36756003)(5660300002)(1076003)(86362001)(66556008)(30864003)(21314003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData: =?utf-8?B?Uk1mMVN0U0hXejZLRDVvVW5JN2tYQlVsdndMMUx1Vkc1RmtqbWxKdHI1b1Zn?= =?utf-8?B?Qm04N3ZOVXhPcWRtV1JHUExyVWJtcjhrUExhOUlCWnhwTGw1YTYxcWdWb1pn?= =?utf-8?B?L2tTWVFuVTkremVrLzNpL0laZmJ1UGdHM2taVmJWSkRUeDJNSXlNYlFERXZz?= =?utf-8?B?OGNlalo4N2E4ZFFrczRHaG9PbmRlNjFMQURnY2pWMWdDVFBjQ20xV1ZSVHI1?= =?utf-8?B?M1hqVkhpRXM0T29pNHRCKzFVTW9KblltOVRXNVM5U21McGNKOWVQV0Q3eU10?= =?utf-8?B?VU9nOThWRFlDaEc4dU5WYjViZVBsZHZQOTZ5VDJZb0pLa25CQ25OWnB2amxM?= =?utf-8?B?VGEySlhMOE1DclljQ1FHUkFpcFNMQ0p0YVBJN1REcE1RMXhYTWRhWTdpR2x6?= =?utf-8?B?SE5PVkRaeFBiRXlFbjVBUThxRUlNMklXMG9temc5SFJFd0VtcHpFSERwQnJa?= =?utf-8?B?aEw5NVcrdHcvNFhxMjdWR1ZRMGFRMy8wUjhsNkRGUUNpOXFYZ3FlNXR5anFI?= =?utf-8?B?emJpN1p1WDFLVnA5Z2dMZVpJQ1pZSHhLbVp2RjAyWmRYVFJDbmwveFB3SmY0?= =?utf-8?B?dG5zRVlIdDBWUSt5VWI0bmpmM1B0UlZhSzl4QUZJYnZBNnptNjhickVjSlVQ?= =?utf-8?B?TVVRYnlqWmVvckx6TlBNbTIyNkNXSHdjeXljTXM5bzJSQXNzWXJNYXVnWGNa?= =?utf-8?B?NHBkdlA2K0ZEUHZCQmNKTGtHQ2JaM1FQMFdYY3g4QkZIbGpNclVWUDVGZGhz?= =?utf-8?B?TElNUnJ3azJoSVBycFlBczdwaDJUU2NHcGpkcGpJQUdLQ2RXTjgvbE5Fbnhl?= =?utf-8?B?cjFySEpUR2d0L3JiWGc3SngxSkFuZ2dUTFZrQ1ltRGxxRldJUlNtbUVxOXFH?= =?utf-8?B?ZERVSXZMMmprbElUeFVIZzIvLy9UMzE1NWdTRHduVkJYbTNhZU91c20vSUJX?= =?utf-8?B?TkU5L1c4WWoyY2gvODhSaXZnVitKY0FKK1JQRjlhNXh6YUlTL3ZId2FLTU44?= =?utf-8?B?VE1kQ0Vtc09zcFFtTzlhUWdQWi9TUmw2cFJSWUxlRUNqaWQ5S3hDUjhMQnJ4?= =?utf-8?B?VUNub1lIekp4MjY5aGRtaElBdFhaZ2lTUlltRk1ORk9WaDd5ZVp5WHdMT3kr?= =?utf-8?B?MG85RENZYlh6a3dPR2EyK1hzRjU1aFptelZ1YmhKK2pLZWlMTlY4RkJoeXVn?= =?utf-8?B?UUlwam44WUlOOHZDZmx1anNqcE5BbDVuaDZnckIwME9oRERTRmlTbk9Fa1dv?= =?utf-8?B?akhwZU9xWXBDMFdoRVJFTndWMlNtRUVMbWcyWC9aSlJSd0tRMGRLQVlMbUYv?= =?utf-8?Q?5Tm2Xx36P3OzNecznX5mXUe5T0zuohZ2ck?= X-OriginatorOrg: silabs.com X-MS-Exchange-CrossTenant-AuthSource: SN6PR11MB2718.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Dec 2020 15:40:32.6768 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 54dbd822-5231-4b20-944d-6f4abcd541fb X-MS-Exchange-CrossTenant-Network-Message-Id: 85d7edd8-d47f-49b9-cbd4-08d8a7591584 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: E6i3v7YiG2/bVmQuHzRgsn73maM6WAMa1om/DvApzvI8z2wFL4iGrC73kjiWN/QkufvRx8UFIv+LxWl1DGoxRQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR11MB2815 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org RnJvbTogSsOpcsO0bWUgUG91aWxsZXIgPGplcm9tZS5wb3VpbGxlckBzaWxhYnMuY29tPgoKU2ln bmVkLW9mZi1ieTogSsOpcsO0bWUgUG91aWxsZXIgPGplcm9tZS5wb3VpbGxlckBzaWxhYnMuY29t PgotLS0KIGRyaXZlcnMvbmV0L3dpcmVsZXNzL3NpbGFicy93ZngvdHJhY2VzLmggfCA1MDEgKysr KysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA1MDEgaW5zZXJ0aW9ucygrKQog Y3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvbmV0L3dpcmVsZXNzL3NpbGFicy93ZngvdHJhY2Vz LmgKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9zaWxhYnMvd2Z4L3RyYWNlcy5o IGIvZHJpdmVycy9uZXQvd2lyZWxlc3Mvc2lsYWJzL3dmeC90cmFjZXMuaApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmU5MGRjNzNjNGIwMQotLS0gL2Rldi9udWxsCisr KyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3NpbGFicy93ZngvdHJhY2VzLmgKQEAgLTAsMCArMSw1 MDEgQEAKKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkgKi8KKy8qCisg KiBUcmFjZXBvaW50cyBkZWZpbml0aW9ucy4KKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAy MCwgU2lsaWNvbiBMYWJvcmF0b3JpZXMsIEluYy4KKyAqLworCisjdW5kZWYgVFJBQ0VfU1lTVEVN CisjZGVmaW5lIFRSQUNFX1NZU1RFTSB3ZngKKworI2lmICFkZWZpbmVkKF9XRlhfVFJBQ0VfSCkg fHwgZGVmaW5lZChUUkFDRV9IRUFERVJfTVVMVElfUkVBRCkKKyNkZWZpbmUgX1dGWF9UUkFDRV9I CisKKyNpbmNsdWRlIDxsaW51eC90cmFjZXBvaW50Lmg+CisjaW5jbHVkZSA8bmV0L21hYzgwMjEx Lmg+CisKKyNpbmNsdWRlICJidXMuaCIKKyNpbmNsdWRlICJoaWZfYXBpX2NtZC5oIgorI2luY2x1 ZGUgImhpZl9hcGlfbWliLmgiCisKKy8qIFRoZSBoZWxsIGJlbG93IG5lZWQgc29tZSBleHBsYW5h dGlvbnMuIEZvciBlYWNoIHN5bWJvbGljIG51bWJlciwgd2UgbmVlZCB0bworICogZGVmaW5lIGl0 IHdpdGggVFJBQ0VfREVGSU5FX0VOVU0oKSBhbmQgaW4gYSBsaXN0IGZvciBfX3ByaW50X3N5bWJv bGljLgorICoKKyAqICAgMS4gRGVmaW5lIGEgbmV3IG1hY3JvIHRoYXQgY2FsbCBUUkFDRV9ERUZJ TkVfRU5VTSgpOgorICoKKyAqICAgICAgICAgICNkZWZpbmUgeHh4X25hbWUoc3ltKSBUUkFDRV9E RUZJTkVfRU5VTShzeW0pOworICoKKyAqICAgMi4gRGVmaW5lIGxpc3Qgb2YgYWxsIHN5bWJvbHM6 CisgKgorICogICAgICAgICAgI2RlZmluZSBsaXN0X25hbWVzICAgICBcCisgKiAgICAgICAgICAg ICAuLi4gICAgICAgICAgICAgICAgIFwKKyAqICAgICAgICAgICAgIHh4eF9uYW1lKFhYWCkgICAg ICAgXAorICogICAgICAgICAgICAgLi4uCisgKgorICogICAzLiBJbnN0YW50aWF0ZSB0aGF0IGxp c3RfbmFtZXM6CisgKgorICogICAgICAgICAgbGlzdF9uYW1lcworICoKKyAqICAgNC4gUmVkZWZp bmUgeHh4X25hbWUoKSBhcyBhbiBlbnRyeSBvZiBhcnJheSBmb3IgX19wcmludF9zeW1ib2xpYygp CisgKgorICogICAgICAgICAgI3VuZGVmIHh4eF9uYW1lCisgKiAgICAgICAgICAjZGVmaW5lIHh4 eF9uYW1lKG1zZykgeyBtc2csICNtc2cgfSwKKyAqCisgKiAgIDUuIGxpc3RfbmFtZSBjYW4gbm93 IG5lYXJseSBiZSB1c2VkIHdpdGggX19wcmludF9zeW1ib2xpYygpIGJ1dCwKKyAqICAgICAgX19w cmludF9zeW1ib2xpYygpIGRpc2xpa2UgbGFzdCBjb21tYSBvZiBsaXN0LiBTbyB3ZSBkZWZpbmUg YSBuZXcgbGlzdAorICogICAgICB3aXRoIGEgZHVtbXkgZWxlbWVudDoKKyAqCisgKiAgICAgICAg ICAjZGVmaW5lIGxpc3RfZm9yX3ByaW50X3N5bWJvbGljIGxpc3RfbmFtZXMgeyAtMSwgTlVMTCB9 CisgKi8KKworI2RlZmluZSBfaGlmX21zZ19saXN0ICAgICAgICAgICAgICAgICAgICAgICBcCisJ aGlmX2NuZl9uYW1lKEFERF9LRVkpICAgICAgICAgICAgICAgXAorCWhpZl9jbmZfbmFtZShCRUFD T05fVFJBTlNNSVQpICAgICAgIFwKKwloaWZfY25mX25hbWUoRURDQV9RVUVVRV9QQVJBTVMpICAg ICBcCisJaGlmX2NuZl9uYW1lKEpPSU4pICAgICAgICAgICAgICAgICAgXAorCWhpZl9jbmZfbmFt ZShNQVBfTElOSykgICAgICAgICAgICAgIFwKKwloaWZfY25mX25hbWUoUkVBRF9NSUIpICAgICAg ICAgICAgICBcCisJaGlmX2NuZl9uYW1lKFJFTU9WRV9LRVkpICAgICAgICAgICAgXAorCWhpZl9j bmZfbmFtZShSRVNFVCkgICAgICAgICAgICAgICAgIFwKKwloaWZfY25mX25hbWUoU0VUX0JTU19Q QVJBTVMpICAgICAgICBcCisJaGlmX2NuZl9uYW1lKFNFVF9QTV9NT0RFKSAgICAgICAgICAgXAor CWhpZl9jbmZfbmFtZShTVEFSVCkgICAgICAgICAgICAgICAgIFwKKwloaWZfY25mX25hbWUoU1RB UlRfU0NBTikgICAgICAgICAgICBcCisJaGlmX2NuZl9uYW1lKFNUT1BfU0NBTikgICAgICAgICAg ICAgXAorCWhpZl9jbmZfbmFtZShUWCkgICAgICAgICAgICAgICAgICAgIFwKKwloaWZfY25mX25h bWUoTVVMVElfVFJBTlNNSVQpICAgICAgICBcCisJaGlmX2NuZl9uYW1lKFVQREFURV9JRSkgICAg ICAgICAgICAgXAorCWhpZl9jbmZfbmFtZShXUklURV9NSUIpICAgICAgICAgICAgIFwKKwloaWZf Y25mX25hbWUoQ09ORklHVVJBVElPTikgICAgICAgICBcCisJaGlmX2NuZl9uYW1lKENPTlRST0xf R1BJTykgICAgICAgICAgXAorCWhpZl9jbmZfbmFtZShQUkVWRU5UX1JPTExCQUNLKSAgICAgIFwK KwloaWZfY25mX25hbWUoU0VUX1NMX01BQ19LRVkpICAgICAgICBcCisJaGlmX2NuZl9uYW1lKFNM X0NPTkZJR1VSRSkgICAgICAgICAgXAorCWhpZl9jbmZfbmFtZShTTF9FWENIQU5HRV9QVUJfS0VZ UykgIFwKKwloaWZfY25mX25hbWUoU0hVVF9ET1dOKSAgICAgICAgICAgICBcCisJaGlmX2luZF9u YW1lKEVWRU5UKSAgICAgICAgICAgICAgICAgXAorCWhpZl9pbmRfbmFtZShKT0lOX0NPTVBMRVRF KSAgICAgICAgIFwKKwloaWZfaW5kX25hbWUoUlgpICAgICAgICAgICAgICAgICAgICBcCisJaGlm X2luZF9uYW1lKFNDQU5fQ01QTCkgICAgICAgICAgICAgXAorCWhpZl9pbmRfbmFtZShTRVRfUE1f TU9ERV9DTVBMKSAgICAgIFwKKwloaWZfaW5kX25hbWUoU1VTUEVORF9SRVNVTUVfVFgpICAgICBc CisJaGlmX2luZF9uYW1lKFNMX0VYQ0hBTkdFX1BVQl9LRVlTKSAgXAorCWhpZl9pbmRfbmFtZShF UlJPUikgICAgICAgICAgICAgICAgIFwKKwloaWZfaW5kX25hbWUoRVhDRVBUSU9OKSAgICAgICAg ICAgICBcCisJaGlmX2luZF9uYW1lKEdFTkVSSUMpICAgICAgICAgICAgICAgXAorCWhpZl9pbmRf bmFtZShXQUtFVVApICAgICAgICAgICAgICAgIFwKKwloaWZfaW5kX25hbWUoU1RBUlRVUCkKKwor I2RlZmluZSBoaWZfbXNnX2xpc3RfZW51bSBfaGlmX21zZ19saXN0CisKKyN1bmRlZiBoaWZfY25m X25hbWUKKyN1bmRlZiBoaWZfaW5kX25hbWUKKyNkZWZpbmUgaGlmX2NuZl9uYW1lKG1zZykgVFJB Q0VfREVGSU5FX0VOVU0oSElGX0NORl9JRF8jI21zZyk7CisjZGVmaW5lIGhpZl9pbmRfbmFtZSht c2cpIFRSQUNFX0RFRklORV9FTlVNKEhJRl9JTkRfSURfIyNtc2cpOworaGlmX21zZ19saXN0X2Vu dW0KKyN1bmRlZiBoaWZfY25mX25hbWUKKyN1bmRlZiBoaWZfaW5kX25hbWUKKyNkZWZpbmUgaGlm X2NuZl9uYW1lKG1zZykgeyBISUZfQ05GX0lEXyMjbXNnLCAjbXNnIH0sCisjZGVmaW5lIGhpZl9p bmRfbmFtZShtc2cpIHsgSElGX0lORF9JRF8jI21zZywgI21zZyB9LAorI2RlZmluZSBoaWZfbXNn X2xpc3QgaGlmX21zZ19saXN0X2VudW0geyAtMSwgTlVMTCB9CisKKyNkZWZpbmUgX2hpZl9taWJf bGlzdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorCWhpZl9taWJfbmFtZShBUlBf SVBfQUREUkVTU0VTX1RBQkxFKSAgICAgICAgIFwKKwloaWZfbWliX25hbWUoQVJQX0tFRVBfQUxJ VkVfUEVSSU9EKSAgICAgICAgICBcCisJaGlmX21pYl9uYW1lKEJFQUNPTl9GSUxURVJfRU5BQkxF KSAgICAgICAgICAgXAorCWhpZl9taWJfbmFtZShCRUFDT05fRklMVEVSX1RBQkxFKSAgICAgICAg ICAgIFwKKwloaWZfbWliX25hbWUoQkVBQ09OX1NUQVRTKSAgICAgICAgICAgICAgICAgICBcCisJ aGlmX21pYl9uYW1lKEJFQUNPTl9XQUtFVVBfUEVSSU9EKSAgICAgICAgICAgXAorCWhpZl9taWJf bmFtZShCTE9DS19BQ0tfUE9MSUNZKSAgICAgICAgICAgICAgIFwKKwloaWZfbWliX25hbWUoQ0NB X0NPTkZJRykgICAgICAgICAgICAgICAgICAgICBcCisJaGlmX21pYl9uYW1lKENPTkZJR19EQVRB X0ZJTFRFUikgICAgICAgICAgICAgXAorCWhpZl9taWJfbmFtZShDT1VOVEVSU19UQUJMRSkgICAg ICAgICAgICAgICAgIFwKKwloaWZfbWliX25hbWUoQ1VSUkVOVF9UWF9QT1dFUl9MRVZFTCkgICAg ICAgICBcCisJaGlmX21pYl9uYW1lKERPVDExX01BQ19BRERSRVNTKSAgICAgICAgICAgICAgXAor CWhpZl9taWJfbmFtZShET1QxMV9NQVhfUkVDRUlWRV9MSUZFVElNRSkgICAgIFwKKwloaWZfbWli X25hbWUoRE9UMTFfTUFYX1RSQU5TTUlUX01TRFVfTElGRVRJTUUpIFwKKwloaWZfbWliX25hbWUo RE9UMTFfUlRTX1RIUkVTSE9MRCkgICAgICAgICAgICBcCisJaGlmX21pYl9uYW1lKERPVDExX1dF UF9ERUZBVUxUX0tFWV9JRCkgICAgICAgXAorCWhpZl9taWJfbmFtZShFVEhFUlRZUEVfREFUQUZS QU1FX0NPTkRJVElPTikgIFwKKwloaWZfbWliX25hbWUoRVhURU5ERURfQ09VTlRFUlNfVEFCTEUp ICAgICAgICBcCisJaGlmX21pYl9uYW1lKEdMX0JMT0NLX0FDS19JTkZPKSAgICAgICAgICAgICAg XAorCWhpZl9taWJfbmFtZShHTF9PUEVSQVRJT05BTF9QT1dFUl9NT0RFKSAgICAgIFwKKwloaWZf bWliX25hbWUoR0xfU0VUX01VTFRJX01TRykgICAgICAgICAgICAgICBcCisJaGlmX21pYl9uYW1l KEdSUF9TRVFfQ09VTlRFUikgICAgICAgICAgICAgICAgXAorCWhpZl9taWJfbmFtZShJTkFDVElW SVRZX1RJTUVSKSAgICAgICAgICAgICAgIFwKKwloaWZfbWliX25hbWUoSU5URVJGQUNFX1BST1RF Q1RJT04pICAgICAgICAgICBcCisJaGlmX21pYl9uYW1lKElQVjRfQUREUl9EQVRBRlJBTUVfQ09O RElUSU9OKSAgXAorCWhpZl9taWJfbmFtZShJUFY2X0FERFJfREFUQUZSQU1FX0NPTkRJVElPTikg IFwKKwloaWZfbWliX25hbWUoS0VFUF9BTElWRV9QRVJJT0QpICAgICAgICAgICAgICBcCisJaGlm X21pYl9uYW1lKE1BQ19BRERSX0RBVEFGUkFNRV9DT05ESVRJT04pICAgXAorCWhpZl9taWJfbmFt ZShNQUdJQ19EQVRBRlJBTUVfQ09ORElUSU9OKSAgICAgIFwKKwloaWZfbWliX25hbWUoTUFYX1RY X1BPV0VSX0xFVkVMKSAgICAgICAgICAgICBcCisJaGlmX21pYl9uYW1lKE5PTl9FUlBfUFJPVEVD VElPTikgICAgICAgICAgICAgXAorCWhpZl9taWJfbmFtZShOU19JUF9BRERSRVNTRVNfVEFCTEUp ICAgICAgICAgIFwKKwloaWZfbWliX25hbWUoT1ZFUlJJREVfSU5URVJOQUxfVFhfUkFURSkgICAg ICBcCisJaGlmX21pYl9uYW1lKFBPUlRfREFUQUZSQU1FX0NPTkRJVElPTikgICAgICAgXAorCWhp Zl9taWJfbmFtZShQUk9URUNURURfTUdNVF9QT0xJQ1kpICAgICAgICAgIFwKKwloaWZfbWliX25h bWUoUkNQSV9SU1NJX1RIUkVTSE9MRCkgICAgICAgICAgICBcCisJaGlmX21pYl9uYW1lKFJYX0ZJ TFRFUikgICAgICAgICAgICAgICAgICAgICAgXAorCWhpZl9taWJfbmFtZShTRVRfQVNTT0NJQVRJ T05fTU9ERSkgICAgICAgICAgIFwKKwloaWZfbWliX25hbWUoU0VUX0RBVEFfRklMVEVSSU5HKSAg ICAgICAgICAgICBcCisJaGlmX21pYl9uYW1lKFNFVF9IVF9QUk9URUNUSU9OKSAgICAgICAgICAg ICAgXAorCWhpZl9taWJfbmFtZShTRVRfVFhfUkFURV9SRVRSWV9QT0xJQ1kpICAgICAgIFwKKwlo aWZfbWliX25hbWUoU0VUX1VBUFNEX0lORk9STUFUSU9OKSAgICAgICAgICBcCisJaGlmX21pYl9u YW1lKFNMT1RfVElNRSkgICAgICAgICAgICAgICAgICAgICAgXAorCWhpZl9taWJfbmFtZShTVEFU SVNUSUNTX1RBQkxFKSAgICAgICAgICAgICAgIFwKKwloaWZfbWliX25hbWUoVEVNUExBVEVfRlJB TUUpICAgICAgICAgICAgICAgICBcCisJaGlmX21pYl9uYW1lKFRTRl9DT1VOVEVSKSAgICAgICAg ICAgICAgICAgICAgXAorCWhpZl9taWJfbmFtZShVQ19NQ19CQ19EQVRBRlJBTUVfQ09ORElUSU9O KQorCisjZGVmaW5lIGhpZl9taWJfbGlzdF9lbnVtIF9oaWZfbWliX2xpc3QKKworI3VuZGVmIGhp Zl9taWJfbmFtZQorI2RlZmluZSBoaWZfbWliX25hbWUobWliKSBUUkFDRV9ERUZJTkVfRU5VTShI SUZfTUlCX0lEXyMjbWliKTsKK2hpZl9taWJfbGlzdF9lbnVtCisjdW5kZWYgaGlmX21pYl9uYW1l CisjZGVmaW5lIGhpZl9taWJfbmFtZShtaWIpIHsgSElGX01JQl9JRF8jI21pYiwgI21pYiB9LAor I2RlZmluZSBoaWZfbWliX2xpc3QgaGlmX21pYl9saXN0X2VudW0geyAtMSwgTlVMTCB9CisKK0RF Q0xBUkVfRVZFTlRfQ0xBU1MoaGlmX2RhdGEsCisJVFBfUFJPVE8oY29uc3Qgc3RydWN0IGhpZl9t c2cgKmhpZiwgaW50IHR4X2ZpbGxfbGV2ZWwsIGJvb2wgaXNfcmVjdiksCisJVFBfQVJHUyhoaWYs IHR4X2ZpbGxfbGV2ZWwsIGlzX3JlY3YpLAorCVRQX1NUUlVDVF9fZW50cnkoCisJCV9fZmllbGQo aW50LCB0eF9maWxsX2xldmVsKQorCQlfX2ZpZWxkKGludCwgbXNnX2lkKQorCQlfX2ZpZWxkKGNv bnN0IGNoYXIgKiwgbXNnX3R5cGUpCisJCV9fZmllbGQoaW50LCBtc2dfbGVuKQorCQlfX2ZpZWxk KGludCwgYnVmX2xlbikKKwkJX19maWVsZChpbnQsIGlmX2lkKQorCQlfX2ZpZWxkKGludCwgbWli KQorCQlfX2FycmF5KHU4LCBidWYsIDEyOCkKKwkpLAorCVRQX2Zhc3RfYXNzaWduKAorCQlpbnQg aGVhZGVyX2xlbjsKKworCQlfX2VudHJ5LT50eF9maWxsX2xldmVsID0gdHhfZmlsbF9sZXZlbDsK KwkJX19lbnRyeS0+bXNnX2xlbiA9IGxlMTZfdG9fY3B1KGhpZi0+bGVuKTsKKwkJX19lbnRyeS0+ bXNnX2lkID0gaGlmLT5pZDsKKwkJX19lbnRyeS0+aWZfaWQgPSBoaWYtPmludGVyZmFjZTsKKwkJ aWYgKGlzX3JlY3YpCisJCQlfX2VudHJ5LT5tc2dfdHlwZSA9IF9fZW50cnktPm1zZ19pZCAmIDB4 ODAgPyAiSU5EIiA6ICJDTkYiOworCQllbHNlCisJCQlfX2VudHJ5LT5tc2dfdHlwZSA9ICJSRVEi OworCQlpZiAoIWlzX3JlY3YgJiYKKwkJICAgIChfX2VudHJ5LT5tc2dfaWQgPT0gSElGX1JFUV9J RF9SRUFEX01JQiB8fAorCQkgICAgIF9fZW50cnktPm1zZ19pZCA9PSBISUZfUkVRX0lEX1dSSVRF X01JQikpIHsKKwkJCV9fZW50cnktPm1pYiA9IGxlMTZfdG9fY3B1cCgoX19sZTE2ICopaGlmLT5i b2R5KTsKKwkJCWhlYWRlcl9sZW4gPSA0OworCQl9IGVsc2UgeworCQkJX19lbnRyeS0+bWliID0g LTE7CisJCQloZWFkZXJfbGVuID0gMDsKKwkJfQorCQlfX2VudHJ5LT5idWZfbGVuID0gbWluX3Qo aW50LCBfX2VudHJ5LT5tc2dfbGVuLAorCQkJCQkgc2l6ZW9mKF9fZW50cnktPmJ1ZikpCisJCQkJ ICAgLSBzaXplb2Yoc3RydWN0IGhpZl9tc2cpIC0gaGVhZGVyX2xlbjsKKwkJbWVtY3B5KF9fZW50 cnktPmJ1ZiwgaGlmLT5ib2R5ICsgaGVhZGVyX2xlbiwgX19lbnRyeS0+YnVmX2xlbik7CisJKSwK KwlUUF9wcmludGsoIiVkOiVkOiVzXyVzJXMlczogJXMlcyAoJWQgYnl0ZXMpIiwKKwkJX19lbnRy eS0+dHhfZmlsbF9sZXZlbCwKKwkJX19lbnRyeS0+aWZfaWQsCisJCV9fZW50cnktPm1zZ190eXBl LAorCQlfX3ByaW50X3N5bWJvbGljKF9fZW50cnktPm1zZ19pZCwgaGlmX21zZ19saXN0KSwKKwkJ X19lbnRyeS0+bWliICE9IC0xID8gIi8iIDogIiIsCisJCV9fZW50cnktPm1pYiAhPSAtMSA/IF9f cHJpbnRfc3ltYm9saWMoX19lbnRyeS0+bWliLCBoaWZfbWliX2xpc3QpIDogIiIsCisJCV9fcHJp bnRfaGV4KF9fZW50cnktPmJ1ZiwgX19lbnRyeS0+YnVmX2xlbiksCisJCV9fZW50cnktPm1zZ19s ZW4gPiBzaXplb2YoX19lbnRyeS0+YnVmKSA/ICIgLi4uIiA6ICIiLAorCQlfX2VudHJ5LT5tc2df bGVuCisJKQorKTsKK0RFRklORV9FVkVOVChoaWZfZGF0YSwgaGlmX3NlbmQsCisJVFBfUFJPVE8o Y29uc3Qgc3RydWN0IGhpZl9tc2cgKmhpZiwgaW50IHR4X2ZpbGxfbGV2ZWwsIGJvb2wgaXNfcmVj diksCisJVFBfQVJHUyhoaWYsIHR4X2ZpbGxfbGV2ZWwsIGlzX3JlY3YpKTsKKyNkZWZpbmUgX3Ry YWNlX2hpZl9zZW5kKGhpZiwgdHhfZmlsbF9sZXZlbClcCisJdHJhY2VfaGlmX3NlbmQoaGlmLCB0 eF9maWxsX2xldmVsLCBmYWxzZSkKK0RFRklORV9FVkVOVChoaWZfZGF0YSwgaGlmX3JlY3YsCisJ VFBfUFJPVE8oY29uc3Qgc3RydWN0IGhpZl9tc2cgKmhpZiwgaW50IHR4X2ZpbGxfbGV2ZWwsIGJv b2wgaXNfcmVjdiksCisJVFBfQVJHUyhoaWYsIHR4X2ZpbGxfbGV2ZWwsIGlzX3JlY3YpKTsKKyNk ZWZpbmUgX3RyYWNlX2hpZl9yZWN2KGhpZiwgdHhfZmlsbF9sZXZlbClcCisJdHJhY2VfaGlmX3Jl Y3YoaGlmLCB0eF9maWxsX2xldmVsLCB0cnVlKQorCisjZGVmaW5lIHdmeF9yZWdfbGlzdF9lbnVt ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorCXdmeF9yZWdfbmFtZShXRlhfUkVH X0NPTkZJRywgICAgICAgIkNPTkZJRyIpICAgICAgXAorCXdmeF9yZWdfbmFtZShXRlhfUkVHX0NP TlRST0wsICAgICAgIkNPTlRST0wiKSAgICAgXAorCXdmeF9yZWdfbmFtZShXRlhfUkVHX0lOX09V VF9RVUVVRSwgIlFVRVVFIikgICAgICAgXAorCXdmeF9yZWdfbmFtZShXRlhfUkVHX0FIQl9EUE9S VCwgICAgIkFIQiIpICAgICAgICAgXAorCXdmeF9yZWdfbmFtZShXRlhfUkVHX0JBU0VfQUREUiwg ICAgIkJBU0VfQUREUiIpICAgXAorCXdmeF9yZWdfbmFtZShXRlhfUkVHX1NSQU1fRFBPUlQsICAg IlNSQU0iKSAgICAgICAgXAorCXdmeF9yZWdfbmFtZShXRlhfUkVHX1NFVF9HRU5fUl9XLCAgIlNF VF9HRU5fUl9XIikgXAorCXdmeF9yZWdfbmFtZShXRlhfUkVHX0ZSQU1FX09VVCwgICAgIkZSQU1F X09VVCIpCisKKyN1bmRlZiB3ZnhfcmVnX25hbWUKKyNkZWZpbmUgd2Z4X3JlZ19uYW1lKHN5bSwg bmFtZSkgVFJBQ0VfREVGSU5FX0VOVU0oc3ltKTsKK3dmeF9yZWdfbGlzdF9lbnVtCisjdW5kZWYg d2Z4X3JlZ19uYW1lCisjZGVmaW5lIHdmeF9yZWdfbmFtZShzeW0sIG5hbWUpIHsgc3ltLCBuYW1l IH0sCisjZGVmaW5lIHdmeF9yZWdfbGlzdCB3ZnhfcmVnX2xpc3RfZW51bSB7IC0xLCBOVUxMIH0K KworREVDTEFSRV9FVkVOVF9DTEFTUyhpb19kYXRhLAorCVRQX1BST1RPKGludCByZWcsIGludCBh ZGRyLCBjb25zdCB2b2lkICppb19idWYsIHNpemVfdCBsZW4pLAorCVRQX0FSR1MocmVnLCBhZGRy LCBpb19idWYsIGxlbiksCisJVFBfU1RSVUNUX19lbnRyeSgKKwkJX19maWVsZChpbnQsIHJlZykK KwkJX19maWVsZChpbnQsIGFkZHIpCisJCV9fZmllbGQoaW50LCBtc2dfbGVuKQorCQlfX2ZpZWxk KGludCwgYnVmX2xlbikKKwkJX19hcnJheSh1OCwgYnVmLCAzMikKKwkJX19hcnJheSh1OCwgYWRk cl9zdHIsIDEwKQorCSksCisJVFBfZmFzdF9hc3NpZ24oCisJCV9fZW50cnktPnJlZyA9IHJlZzsK KwkJX19lbnRyeS0+YWRkciA9IGFkZHI7CisJCV9fZW50cnktPm1zZ19sZW4gPSBsZW47CisJCV9f ZW50cnktPmJ1Zl9sZW4gPSBtaW5fdChpbnQsIHNpemVvZihfX2VudHJ5LT5idWYpLAorCQkJCQkg X19lbnRyeS0+bXNnX2xlbik7CisJCW1lbWNweShfX2VudHJ5LT5idWYsIGlvX2J1ZiwgX19lbnRy eS0+YnVmX2xlbik7CisJCWlmIChhZGRyID49IDApCisJCQlzbnByaW50ZihfX2VudHJ5LT5hZGRy X3N0ciwgMTAsICIvJTA4eCIsIGFkZHIpOworCQllbHNlCisJCQlfX2VudHJ5LT5hZGRyX3N0clsw XSA9IDA7CisJKSwKKwlUUF9wcmludGsoIiVzJXM6ICVzJXMgKCVkIGJ5dGVzKSIsCisJCV9fcHJp bnRfc3ltYm9saWMoX19lbnRyeS0+cmVnLCB3ZnhfcmVnX2xpc3QpLAorCQlfX2VudHJ5LT5hZGRy X3N0ciwKKwkJX19wcmludF9oZXgoX19lbnRyeS0+YnVmLCBfX2VudHJ5LT5idWZfbGVuKSwKKwkJ X19lbnRyeS0+bXNnX2xlbiA+IHNpemVvZihfX2VudHJ5LT5idWYpID8gIiAuLi4iIDogIiIsCisJ CV9fZW50cnktPm1zZ19sZW4KKwkpCispOworREVGSU5FX0VWRU5UKGlvX2RhdGEsIGlvX3dyaXRl LAorCVRQX1BST1RPKGludCByZWcsIGludCBhZGRyLCBjb25zdCB2b2lkICppb19idWYsIHNpemVf dCBsZW4pLAorCVRQX0FSR1MocmVnLCBhZGRyLCBpb19idWYsIGxlbikpOworI2RlZmluZSBfdHJh Y2VfaW9faW5kX3dyaXRlKHJlZywgYWRkciwgaW9fYnVmLCBsZW4pXAorCXRyYWNlX2lvX3dyaXRl KHJlZywgYWRkciwgaW9fYnVmLCBsZW4pCisjZGVmaW5lIF90cmFjZV9pb193cml0ZShyZWcsIGlv X2J1ZiwgbGVuKSB0cmFjZV9pb193cml0ZShyZWcsIC0xLCBpb19idWYsIGxlbikKK0RFRklORV9F VkVOVChpb19kYXRhLCBpb19yZWFkLAorCVRQX1BST1RPKGludCByZWcsIGludCBhZGRyLCBjb25z dCB2b2lkICppb19idWYsIHNpemVfdCBsZW4pLAorCVRQX0FSR1MocmVnLCBhZGRyLCBpb19idWYs IGxlbikpOworI2RlZmluZSBfdHJhY2VfaW9faW5kX3JlYWQocmVnLCBhZGRyLCBpb19idWYsIGxl bilcCisJdHJhY2VfaW9fcmVhZChyZWcsIGFkZHIsIGlvX2J1ZiwgbGVuKQorI2RlZmluZSBfdHJh Y2VfaW9fcmVhZChyZWcsIGlvX2J1ZiwgbGVuKSB0cmFjZV9pb19yZWFkKHJlZywgLTEsIGlvX2J1 ZiwgbGVuKQorCitERUNMQVJFX0VWRU5UX0NMQVNTKGlvX2RhdGEzMiwKKwlUUF9QUk9UTyhpbnQg cmVnLCBpbnQgYWRkciwgdTMyIHZhbCksCisJVFBfQVJHUyhyZWcsIGFkZHIsIHZhbCksCisJVFBf U1RSVUNUX19lbnRyeSgKKwkJX19maWVsZChpbnQsIHJlZykKKwkJX19maWVsZChpbnQsIGFkZHIp CisJCV9fZmllbGQoaW50LCB2YWwpCisJCV9fYXJyYXkodTgsIGFkZHJfc3RyLCAxMCkKKwkpLAor CVRQX2Zhc3RfYXNzaWduKAorCQlfX2VudHJ5LT5yZWcgPSByZWc7CisJCV9fZW50cnktPmFkZHIg PSBhZGRyOworCQlfX2VudHJ5LT52YWwgPSB2YWw7CisJCWlmIChhZGRyID49IDApCisJCQlzbnBy aW50ZihfX2VudHJ5LT5hZGRyX3N0ciwgMTAsICIvJTA4eCIsIGFkZHIpOworCQllbHNlCisJCQlf X2VudHJ5LT5hZGRyX3N0clswXSA9IDA7CisJKSwKKwlUUF9wcmludGsoIiVzJXM6ICUwOHgiLAor CQlfX3ByaW50X3N5bWJvbGljKF9fZW50cnktPnJlZywgd2Z4X3JlZ19saXN0KSwKKwkJX19lbnRy eS0+YWRkcl9zdHIsCisJCV9fZW50cnktPnZhbAorCSkKKyk7CitERUZJTkVfRVZFTlQoaW9fZGF0 YTMyLCBpb193cml0ZTMyLAorCVRQX1BST1RPKGludCByZWcsIGludCBhZGRyLCB1MzIgdmFsKSwK KwlUUF9BUkdTKHJlZywgYWRkciwgdmFsKSk7CisjZGVmaW5lIF90cmFjZV9pb19pbmRfd3JpdGUz MihyZWcsIGFkZHIsIHZhbCkgdHJhY2VfaW9fd3JpdGUzMihyZWcsIGFkZHIsIHZhbCkKKyNkZWZp bmUgX3RyYWNlX2lvX3dyaXRlMzIocmVnLCB2YWwpIHRyYWNlX2lvX3dyaXRlMzIocmVnLCAtMSwg dmFsKQorREVGSU5FX0VWRU5UKGlvX2RhdGEzMiwgaW9fcmVhZDMyLAorCVRQX1BST1RPKGludCBy ZWcsIGludCBhZGRyLCB1MzIgdmFsKSwKKwlUUF9BUkdTKHJlZywgYWRkciwgdmFsKSk7CisjZGVm aW5lIF90cmFjZV9pb19pbmRfcmVhZDMyKHJlZywgYWRkciwgdmFsKSB0cmFjZV9pb19yZWFkMzIo cmVnLCBhZGRyLCB2YWwpCisjZGVmaW5lIF90cmFjZV9pb19yZWFkMzIocmVnLCB2YWwpIHRyYWNl X2lvX3JlYWQzMihyZWcsIC0xLCB2YWwpCisKK0RFQ0xBUkVfRVZFTlRfQ0xBU1MocGlnZ3liYWNr LAorCVRQX1BST1RPKHUzMiB2YWwsIGJvb2wgaWdub3JlZCksCisJVFBfQVJHUyh2YWwsIGlnbm9y ZWQpLAorCVRQX1NUUlVDVF9fZW50cnkoCisJCV9fZmllbGQoaW50LCB2YWwpCisJCV9fZmllbGQo Ym9vbCwgaWdub3JlZCkKKwkpLAorCVRQX2Zhc3RfYXNzaWduKAorCQlfX2VudHJ5LT52YWwgPSB2 YWw7CisJCV9fZW50cnktPmlnbm9yZWQgPSBpZ25vcmVkOworCSksCisJVFBfcHJpbnRrKCJDT05U Uk9MOiAlMDh4JXMiLAorCQlfX2VudHJ5LT52YWwsCisJCV9fZW50cnktPmlnbm9yZWQgPyAiIChp Z25vcmVkKSIgOiAiIgorCSkKKyk7CitERUZJTkVfRVZFTlQocGlnZ3liYWNrLCBwaWdneWJhY2ss CisJVFBfUFJPVE8odTMyIHZhbCwgYm9vbCBpZ25vcmVkKSwKKwlUUF9BUkdTKHZhbCwgaWdub3Jl ZCkpOworI2RlZmluZSBfdHJhY2VfcGlnZ3liYWNrKHZhbCwgaWdub3JlZCkgdHJhY2VfcGlnZ3li YWNrKHZhbCwgaWdub3JlZCkKKworVFJBQ0VfRVZFTlQoYmhfc3RhdHMsCisJVFBfUFJPVE8oaW50 IGluZCwgaW50IHJlcSwgaW50IGNuZiwgaW50IGJ1c3ksIGJvb2wgcmVsZWFzZSksCisJVFBfQVJH UyhpbmQsIHJlcSwgY25mLCBidXN5LCByZWxlYXNlKSwKKwlUUF9TVFJVQ1RfX2VudHJ5KAorCQlf X2ZpZWxkKGludCwgaW5kKQorCQlfX2ZpZWxkKGludCwgcmVxKQorCQlfX2ZpZWxkKGludCwgY25m KQorCQlfX2ZpZWxkKGludCwgYnVzeSkKKwkJX19maWVsZChib29sLCByZWxlYXNlKQorCSksCisJ VFBfZmFzdF9hc3NpZ24oCisJCV9fZW50cnktPmluZCA9IGluZDsKKwkJX19lbnRyeS0+cmVxID0g cmVxOworCQlfX2VudHJ5LT5jbmYgPSBjbmY7CisJCV9fZW50cnktPmJ1c3kgPSBidXN5OworCQlf X2VudHJ5LT5yZWxlYXNlID0gcmVsZWFzZTsKKwkpLAorCVRQX3ByaW50aygiSU5EL1JFUS9DTkY6 JTNkLyUzZC8lM2QsIFJFUSBpbiBwcm9ncmVzczolM2QsIFdVUDogJXMiLAorCQlfX2VudHJ5LT5p bmQsCisJCV9fZW50cnktPnJlcSwKKwkJX19lbnRyeS0+Y25mLAorCQlfX2VudHJ5LT5idXN5LAor CQlfX2VudHJ5LT5yZWxlYXNlID8gInJlbGVhc2UiIDogImtlZXAiCisJKQorKTsKKyNkZWZpbmUg X3RyYWNlX2JoX3N0YXRzKGluZCwgcmVxLCBjbmYsIGJ1c3ksIHJlbGVhc2UpXAorCXRyYWNlX2Jo X3N0YXRzKGluZCwgcmVxLCBjbmYsIGJ1c3ksIHJlbGVhc2UpCisKK1RSQUNFX0VWRU5UKHR4X3N0 YXRzLAorCVRQX1BST1RPKGNvbnN0IHN0cnVjdCBoaWZfY25mX3R4ICp0eF9jbmYsIGNvbnN0IHN0 cnVjdCBza19idWZmICpza2IsCisJCSBpbnQgZGVsYXkpLAorCVRQX0FSR1ModHhfY25mLCBza2Is IGRlbGF5KSwKKwlUUF9TVFJVQ1RfX2VudHJ5KAorCQlfX2ZpZWxkKGludCwgcGt0X2lkKQorCQlf X2ZpZWxkKGludCwgZGVsYXlfbWVkaWEpCisJCV9fZmllbGQoaW50LCBkZWxheV9xdWV1ZSkKKwkJ X19maWVsZChpbnQsIGRlbGF5X2Z3KQorCQlfX2ZpZWxkKGludCwgYWNrX2ZhaWx1cmVzKQorCQlf X2ZpZWxkKGludCwgZmxhZ3MpCisJCV9fYXJyYXkoaW50LCByYXRlLCA0KQorCQlfX2FycmF5KGlu dCwgdHhfY291bnQsIDQpCisJKSwKKwlUUF9mYXN0X2Fzc2lnbigKKwkJLyogS2VlcCBzeW5jIHdp dGggd2Z4X3JhdGVzIGRlZmluaXRpb24gaW4gbWFpbi5jICovCisJCXN0YXRpYyBjb25zdCBpbnQg aHdfcmF0ZVtdID0geyAwLCAxLCAyLCAzLCA2LCA3LCA4LCA5LAorCQkJCQkgICAgICAgMTAsIDEx LCAxMiwgMTMgfTsKKwkJY29uc3Qgc3RydWN0IGllZWU4MDIxMV90eF9pbmZvICp0eF9pbmZvID0K KwkJCShjb25zdCBzdHJ1Y3QgaWVlZTgwMjExX3R4X2luZm8gKilza2ItPmNiOworCQljb25zdCBz dHJ1Y3QgaWVlZTgwMjExX3R4X3JhdGUgKnJhdGVzID0gdHhfaW5mby0+ZHJpdmVyX3JhdGVzOwor CQlpbnQgaTsKKworCQlfX2VudHJ5LT5wa3RfaWQgPSB0eF9jbmYtPnBhY2tldF9pZDsKKwkJX19l bnRyeS0+ZGVsYXlfbWVkaWEgPSBsZTMyX3RvX2NwdSh0eF9jbmYtPm1lZGlhX2RlbGF5KTsKKwkJ X19lbnRyeS0+ZGVsYXlfcXVldWUgPSBsZTMyX3RvX2NwdSh0eF9jbmYtPnR4X3F1ZXVlX2RlbGF5 KTsKKwkJX19lbnRyeS0+ZGVsYXlfZncgPSBkZWxheTsKKwkJX19lbnRyeS0+YWNrX2ZhaWx1cmVz ID0gdHhfY25mLT5hY2tfZmFpbHVyZXM7CisJCWlmICghdHhfY25mLT5zdGF0dXMgfHwgX19lbnRy eS0+YWNrX2ZhaWx1cmVzKQorCQkJX19lbnRyeS0+YWNrX2ZhaWx1cmVzICs9IDE7CisKKwkJZm9y IChpID0gMDsgaSA8IElFRUU4MDIxMV9OVU1fQUNTOyBpKyspIHsKKwkJCWlmIChyYXRlc1swXS5m bGFncyAmIElFRUU4MDIxMV9UWF9SQ19NQ1MpCisJCQkJX19lbnRyeS0+cmF0ZVtpXSA9IHJhdGVz W2ldLmlkeDsKKwkJCWVsc2UKKwkJCQlfX2VudHJ5LT5yYXRlW2ldID0gaHdfcmF0ZVtyYXRlc1tp XS5pZHhdOworCQkJX19lbnRyeS0+dHhfY291bnRbaV0gPSByYXRlc1tpXS5jb3VudDsKKwkJfQor CQlfX2VudHJ5LT5mbGFncyA9IDA7CisJCWlmIChyYXRlc1swXS5mbGFncyAmIElFRUU4MDIxMV9U WF9SQ19NQ1MpCisJCQlfX2VudHJ5LT5mbGFncyB8PSAweDAxOworCQlpZiAocmF0ZXNbMF0uZmxh Z3MgJiBJRUVFODAyMTFfVFhfUkNfU0hPUlRfR0kpCisJCQlfX2VudHJ5LT5mbGFncyB8PSAweDAy OworCQlpZiAocmF0ZXNbMF0uZmxhZ3MgJiBJRUVFODAyMTFfVFhfUkNfR1JFRU5fRklFTEQpCisJ CQlfX2VudHJ5LT5mbGFncyB8PSAweDA0OworCQlpZiAocmF0ZXNbMF0uZmxhZ3MgJiBJRUVFODAy MTFfVFhfUkNfVVNFX1JUU19DVFMpCisJCQlfX2VudHJ5LT5mbGFncyB8PSAweDA4OworCQlpZiAo dHhfaW5mby0+ZmxhZ3MgJiBJRUVFODAyMTFfVFhfQ1RMX1NFTkRfQUZURVJfRFRJTSkKKwkJCV9f ZW50cnktPmZsYWdzIHw9IDB4MTA7CisJCWlmICh0eF9jbmYtPnN0YXR1cykKKwkJCV9fZW50cnkt PmZsYWdzIHw9IDB4MjA7CisJCWlmICh0eF9jbmYtPnN0YXR1cyA9PSBISUZfU1RBVFVTX1RYX0ZB SUxfUkVRVUVVRSkKKwkJCV9fZW50cnktPmZsYWdzIHw9IDB4NDA7CisJKSwKKwlUUF9wcmludGso InBhY2tldCBJRDogJTA4eCwgcmF0ZSBwb2xpY3k6ICVzICVkfCVkICVkfCVkICVkfCVkICVkfCVk IC0+ICVkIGF0dGVtcHQsIERlbGF5cyBtZWRpYS9xdWV1ZS90b3RhbDogJTRkdXMvJTRkdXMvJTRk dXMiLAorCQlfX2VudHJ5LT5wa3RfaWQsCisJCV9fcHJpbnRfZmxhZ3MoX19lbnRyeS0+ZmxhZ3Ms IE5VTEwsCisJCQl7IDB4MDEsICJNIiB9LCB7IDB4MDIsICJTIiB9LCB7IDB4MDQsICJHIiB9LAor CQkJeyAweDA4LCAiUiIgfSwgeyAweDEwLCAiRCIgfSwgeyAweDIwLCAiRiIgfSwKKwkJCXsgMHg0 MCwgIlEiIH0pLAorCQlfX2VudHJ5LT5yYXRlWzBdLAorCQlfX2VudHJ5LT50eF9jb3VudFswXSwK KwkJX19lbnRyeS0+cmF0ZVsxXSwKKwkJX19lbnRyeS0+dHhfY291bnRbMV0sCisJCV9fZW50cnkt PnJhdGVbMl0sCisJCV9fZW50cnktPnR4X2NvdW50WzJdLAorCQlfX2VudHJ5LT5yYXRlWzNdLAor CQlfX2VudHJ5LT50eF9jb3VudFszXSwKKwkJX19lbnRyeS0+YWNrX2ZhaWx1cmVzLAorCQlfX2Vu dHJ5LT5kZWxheV9tZWRpYSwKKwkJX19lbnRyeS0+ZGVsYXlfcXVldWUsCisJCV9fZW50cnktPmRl bGF5X2Z3CisJKQorKTsKKyNkZWZpbmUgX3RyYWNlX3R4X3N0YXRzKHR4X2NuZiwgc2tiLCBkZWxh eSkgdHJhY2VfdHhfc3RhdHModHhfY25mLCBza2IsIGRlbGF5KQorCitUUkFDRV9FVkVOVChxdWV1 ZXNfc3RhdHMsCisJVFBfUFJPVE8oc3RydWN0IHdmeF9kZXYgKndkZXYsIGNvbnN0IHN0cnVjdCB3 ZnhfcXVldWUgKmVsZWN0ZWRfcXVldWUpLAorCVRQX0FSR1Mod2RldiwgZWxlY3RlZF9xdWV1ZSks CisJVFBfU1RSVUNUX19lbnRyeSgKKwkJX19maWVsZChpbnQsIHZpZl9pZCkKKwkJX19maWVsZChp bnQsIHF1ZXVlX2lkKQorCQlfX2FycmF5KGludCwgaHcsIElFRUU4MDIxMV9OVU1fQUNTICogMikK KwkJX19hcnJheShpbnQsIGRydiwgSUVFRTgwMjExX05VTV9BQ1MgKiAyKQorCQlfX2FycmF5KGlu dCwgY2FiLCBJRUVFODAyMTFfTlVNX0FDUyAqIDIpCisJKSwKKwlUUF9mYXN0X2Fzc2lnbigKKwkJ Y29uc3Qgc3RydWN0IHdmeF9xdWV1ZSAqcXVldWU7CisJCXN0cnVjdCB3ZnhfdmlmICp3dmlmOwor CQlpbnQgaSwgajsKKworCQlmb3IgKGogPSAwOyBqIDwgSUVFRTgwMjExX05VTV9BQ1MgKiAyOyBq KyspIHsKKwkJCV9fZW50cnktPmh3W2pdID0gLTE7CisJCQlfX2VudHJ5LT5kcnZbal0gPSAtMTsK KwkJCV9fZW50cnktPmNhYltqXSA9IC0xOworCQl9CisJCV9fZW50cnktPnZpZl9pZCA9IC0xOwor CQlfX2VudHJ5LT5xdWV1ZV9pZCA9IC0xOworCQl3dmlmID0gTlVMTDsKKwkJd2hpbGUgKCh3dmlm ID0gd3ZpZl9pdGVyYXRlKHdkZXYsIHd2aWYpKSAhPSBOVUxMKSB7CisJCQlmb3IgKGkgPSAwOyBp IDwgSUVFRTgwMjExX05VTV9BQ1M7IGkrKykgeworCQkJCWogPSB3dmlmLT5pZCAqIElFRUU4MDIx MV9OVU1fQUNTICsgaTsKKwkJCQlXQVJOX09OKGogPj0gSUVFRTgwMjExX05VTV9BQ1MgKiAyKTsK KwkJCQlxdWV1ZSA9ICZ3dmlmLT50eF9xdWV1ZVtpXTsKKwkJCQlfX2VudHJ5LT5od1tqXSA9IGF0 b21pY19yZWFkKCZxdWV1ZS0+cGVuZGluZ19mcmFtZXMpOworCQkJCV9fZW50cnktPmRydltqXSA9 IHNrYl9xdWV1ZV9sZW4oJnF1ZXVlLT5ub3JtYWwpOworCQkJCV9fZW50cnktPmNhYltqXSA9IHNr Yl9xdWV1ZV9sZW4oJnF1ZXVlLT5jYWIpOworCQkJCWlmIChxdWV1ZSA9PSBlbGVjdGVkX3F1ZXVl KSB7CisJCQkJCV9fZW50cnktPnZpZl9pZCA9IHd2aWYtPmlkOworCQkJCQlfX2VudHJ5LT5xdWV1 ZV9pZCA9IGk7CisJCQkJfQorCQkJfQorCQl9CisJKSwKKwlUUF9wcmludGsoImdvdCBza2IgZnJv bSAlZC8lZCwgcGVuZC4gaHcvbm9ybS9jYWI6IFsgJWQvJWQvJWQgJWQvJWQvJWQgJWQvJWQvJWQg JWQvJWQvJWQgXSBbICVkLyVkLyVkICVkLyVkLyVkICVkLyVkLyVkICVkLyVkLyVkIF0iLAorCQlf X2VudHJ5LT52aWZfaWQsIF9fZW50cnktPnF1ZXVlX2lkLAorCQlfX2VudHJ5LT5od1swXSwgX19l bnRyeS0+ZHJ2WzBdLCBfX2VudHJ5LT5jYWJbMF0sCisJCV9fZW50cnktPmh3WzFdLCBfX2VudHJ5 LT5kcnZbMV0sIF9fZW50cnktPmNhYlsxXSwKKwkJX19lbnRyeS0+aHdbMl0sIF9fZW50cnktPmRy dlsyXSwgX19lbnRyeS0+Y2FiWzJdLAorCQlfX2VudHJ5LT5od1szXSwgX19lbnRyeS0+ZHJ2WzNd LCBfX2VudHJ5LT5jYWJbM10sCisJCV9fZW50cnktPmh3WzRdLCBfX2VudHJ5LT5kcnZbNF0sIF9f ZW50cnktPmNhYls0XSwKKwkJX19lbnRyeS0+aHdbNV0sIF9fZW50cnktPmRydls1XSwgX19lbnRy eS0+Y2FiWzVdLAorCQlfX2VudHJ5LT5od1s2XSwgX19lbnRyeS0+ZHJ2WzZdLCBfX2VudHJ5LT5j YWJbNl0sCisJCV9fZW50cnktPmh3WzddLCBfX2VudHJ5LT5kcnZbN10sIF9fZW50cnktPmNhYls3 XQorCSkKKyk7CisKKyNlbmRpZgorCisvKiBUaGlzIHBhcnQgbXVzdCBiZSBvdXRzaWRlIHByb3Rl Y3Rpb24gKi8KKyN1bmRlZiBUUkFDRV9JTkNMVURFX1BBVEgKKyNkZWZpbmUgVFJBQ0VfSU5DTFVE RV9QQVRIIC4KKyN1bmRlZiBUUkFDRV9JTkNMVURFX0ZJTEUKKyNkZWZpbmUgVFJBQ0VfSU5DTFVE RV9GSUxFIHRyYWNlcworCisjaW5jbHVkZSA8dHJhY2UvZGVmaW5lX3RyYWNlLmg+Ci0tIAoyLjI5 LjIKCg==