From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 33B9FC32771 for ; Fri, 19 Aug 2022 22:20:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Content-ID:In-Reply-To: References:Message-ID:Date:Subject:CC:To:From:Reply-To:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=fEgXNeLzKuymHB2CNJLxU+6Pj/KOeFOZrG7nBigvH8c=; b=oE0XtqlzbpO8jF /Ri+8yezt2i/pyvFTEWV5/+iyella4+WDTG/ln0xCi1aVEMAGC0SSnNFKRuJiFVV953lPbxGl80WJ xozh9mskaJQQh9fZIuGEr2QveMRttk60sUV4cG3QcllQEU7vHUll6KXqm6MVGR2pTwLV1y4434M9x KznQutkItgFX3ABMYrfrI5VjSftmh/Kg8+C3Mc5UgNopQgduwLgxotRSROO+JQepYlceoFFmJf/i4 iJSN61TjfVdYKfFBPPDq501k8yIeP16ky9yV4CflR86mqk1518uf//Gzl4FJq6RpIRj1zlDrXcWtn IDDKA6vyO1aazIyiu5Fw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1oPALe-00CnaO-Vp; Fri, 19 Aug 2022 22:20:15 +0000 Received: from esa.microchip.iphmx.com ([68.232.153.233]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1oPALZ-00CnUW-JC for linux-riscv@lists.infradead.org; Fri, 19 Aug 2022 22:20:13 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=microchip.com; i=@microchip.com; q=dns/txt; s=mchp; t=1660947609; x=1692483609; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=xA1dIpy6PHaXGV6sQ99yQ53iWncVoOpJXmSuHtYN2yE=; b=cnqH4hZViT239COfIkayH54uLRXLGdVJ926Eq5rIoSyPUowytvmvXgk3 CvDh2K6uVwfUfwv4TgbvWl16whT68fwIjnj/NemPOc/2oDazN1qRxZESs jA+MHcc6LV5CVHpFAwUwVDsQyf4re+U3ic53I5tWmmiaR9uV7EnP8XjF8 lDEpT2DNRqErm40MVx/RJ3PVkRBJky51QnwqkTbLLCECGu6ulaW5/3ERa 1ppvmScKSIwVesLB2wNU7AWm71tl1aHHlXim1WMG8NnOz8WexY3QFI3Kf Rine2uDnZtQoS+pvxGeATkX0/koCRLneAZq8jL9QeqyjoVTOjw/AeYE35 Q==; X-IronPort-AV: E=Sophos;i="5.93,249,1654585200"; d="scan'208";a="176989750" Received: from unknown (HELO email.microchip.com) ([170.129.1.10]) by esa5.microchip.iphmx.com with ESMTP/TLS/AES256-SHA256; 19 Aug 2022 15:20:06 -0700 Received: from chn-vm-ex04.mchp-main.com (10.10.85.152) by chn-vm-ex02.mchp-main.com (10.10.85.144) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.12; Fri, 19 Aug 2022 15:20:05 -0700 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (10.10.215.89) by email.microchip.com (10.10.87.151) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.12 via Frontend Transport; Fri, 19 Aug 2022 15:20:05 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PlKsfcm5Fgw7g9dseTJokye/JbECruU7i34UoWrcTi6eXb6QZbLR1vkAYwxrsz9/v3His1Y1ncNotRnUDMnG3CRTWlnu62dfDwWBaiGcObWK6aGmOUTVSJcRJOPGk+BwtJdPdafzs5hwqwHl6r3+UFodhOUExeK8jnNXFMTnRwb8T1g5rwyHEkAuOMlTOfYqF/qNCIFYnu9mu5lyhn5GNmAaTABShdMoFknsuYPZ/k2nd0/UICZwnEsLdx9Vxh2U8z91TK0i7mFq1gu7y/GmJ11iwXAjox4o0YwebZ8IU+sWCro6/wT1aw3QMcwFAPKdUE7arDYuXYc3yceZVSihZw== 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=xA1dIpy6PHaXGV6sQ99yQ53iWncVoOpJXmSuHtYN2yE=; b=SYQozUC9vutv1Gg1lIlpPmucQTYJjS9aviSLoZlLHGgbeVBBBreTtg9nNyYLDH7npY6JeM2oUeCnAqKpm+wqMKzLIhZGCgkitIm7pNH4pF8alxe7p59IXGVb86hir4jsnx89XKN/TN4YlaDZ6azCpgIUTo1PzM9jOTM8nE1I/pdLNngl0e0wDJaOEyo6CVRBCnjCh3faERorCdjOtXTG3hx8doF6DhLS4sR4+k+yteASD5otWHd4ysAD4JfaG1J0O4bjBtY/0EtTLwJhTZsk/II6D3+j7BEFBmf+8RLt7ZlZedWr1QAulYD8yWW2sta4+wHNpej2NBOGvQABN6s/6A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microchip.com; dmarc=pass action=none header.from=microchip.com; dkim=pass header.d=microchip.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microchiptechnology.onmicrosoft.com; s=selector2-microchiptechnology-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xA1dIpy6PHaXGV6sQ99yQ53iWncVoOpJXmSuHtYN2yE=; b=Gj4eKdQoiJWKLDAmNRifjh2x1UzWp0NAQhhq32/luYhEqRtFtL9qcR/OeP0g7ZlvB7fqW0Be0Ga0/vDPWqIqZDoQ0KDY+dmFPRXbo8qCMSEvCKo4wWk3tf8crNphXcHOIsmnMuIXfFgstHXXq/41k9Uf4klm1EVXB9OrQlmXGsE= Received: from CO1PR11MB5154.namprd11.prod.outlook.com (2603:10b6:303:99::15) by BYAPR11MB3014.namprd11.prod.outlook.com (2603:10b6:a03:91::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Fri, 19 Aug 2022 22:19:59 +0000 Received: from CO1PR11MB5154.namprd11.prod.outlook.com ([fe80::ac89:75cd:26e0:51c3]) by CO1PR11MB5154.namprd11.prod.outlook.com ([fe80::ac89:75cd:26e0:51c3%9]) with mapi id 15.20.5546.018; Fri, 19 Aug 2022 22:19:59 +0000 From: To: , , , , , , , CC: , , , Subject: Re: [PATCH 06/12] riscv: dts: allwinner: Add the D1 SoC base devicetree Thread-Topic: [PATCH 06/12] riscv: dts: allwinner: Add the D1 SoC base devicetree Thread-Index: AQHYsGUwgMumzpPtekanQb2zMhKHQ6220tcA Date: Fri, 19 Aug 2022 22:19:59 +0000 Message-ID: <1d51cebd-d5b8-5446-3017-4cf257b2398e@microchip.com> References: <20220815050815.22340-1-samuel@sholland.org> <20220815050815.22340-7-samuel@sholland.org> In-Reply-To: <20220815050815.22340-7-samuel@sholland.org> Accept-Language: en-IE, en-US Content-Language: en-IE X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=microchip.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 59ca1891-68c5-4f82-7dd5-08da8230f443 x-ms-traffictypediagnostic: BYAPR11MB3014:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: tPHkTrfqcej9xiZoFL9ODBHmnEzXxqxZhNVSxrKiIA8aAyDjP63PmHdIVZJecOql03zPNBssmBHw8I6mUPnWmM3o0T9/G8dDdgDWvC1A1txXckwrRjndyJt9faaJYrAk9NIayMUusebLAjBt3Cblo84DMh1fRKyfbHeHw8LCBHfvSdqF+V1soyu0f1K0biEagxP0hwm1fOpDd/2Z+yXUPwWIi86bcQi8ZTvZ1KgXaPVWeWawLrXv9Mp+8TCKATa0PPDOGbWLjRS5Pb38fiBGvyjIeEvVvsY3oUWZnJkwyKVdljxI8P6IHLnN4tUUsFIswO0zYFOECxzErWpAtn4wcNUDrmVFSKUabqdG/Z5yfwp7OKLA87Ox1sW3NP8rseedZwL3ZuREmGTomscLecUaHwbmRe4vVwmrl2S7kx4Vd8ILcMvsik1SH4uctaEqfKUHFb5E6spBM0yMAnqhNXv7MKuj9YAoIGf1hLHKpVqGu8SMgUvbi9GPeNU7qQnbv7+NjgJncg6Gi2m3LOeVKM2Cs6/yt8wdOC/5Yncaj3p3RttW+gOKPRDCZmVJ+4dCRiJPEelQUHVrMuO9He8M/4lC4ucqQ1PGt1xb+JonsJT8bB31M5iRhJRGFcwe3U99VhthbjSv8ULzLcGHlye6xTIuD7Twu6fytwFhAjW8zZ2ZDdBIhSbtf14IhF14XTSHwhqe8ZqMluqaoh/SKUODZQsSez6/5Y7yDf2JkEXipsSGYgU5iq7qILt+6ABWP3Sn6l54XRZFKit/ASep6LlKyUaFRxRPi06hPJt4q/4dr1b6Vyg1JVEiDKdG/bu0b1INx/xl+u8BxJF4VCXMCKnTCGAwOg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR11MB5154.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(39860400002)(396003)(346002)(366004)(376002)(136003)(6486002)(2906002)(478600001)(5660300002)(66476007)(66946007)(66446008)(66556008)(122000001)(8936002)(7416002)(38100700002)(31686004)(30864003)(38070700005)(8676002)(64756008)(6506007)(26005)(36756003)(2616005)(54906003)(86362001)(6512007)(71200400001)(91956017)(76116006)(53546011)(4326008)(31696002)(41300700001)(110136005)(186003)(316002)(83380400001)(43740500002)(45980500001)(579004)(559001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?OTA4TDBxdmJiMVRUck9EdEVwbjhxTWp0TW5JYStyV3ZhTWFvZ3ZFNHZqRW4v?= =?utf-8?B?Q3Ixa0hiQ2tnQVlQSUJEODFoMEZ5VFc5a2N0bWV3Nm1rYVFpWUtIR29QSWN5?= =?utf-8?B?czZCaDd6UnZZWG5ldUV4Zkh1QzBzQUNLMXBHUGl4dGVra1hUajAvU3c2dWFL?= =?utf-8?B?WElVQ2x5Y0JTK2RhdnFPWDM4ajlXeU9maFEwYWNjTExlVWVxQUZwZGpjNkgz?= =?utf-8?B?MUtIS0tQWENLQWlzSjBvQWVUUTZ4a1ZndjhhcHZDN2FhcmFzNkxPWlFaa1Bo?= =?utf-8?B?d1RRMHpHWlRFTXpkZDl6bFNuZlgrQXJBbkpWWUhHQ3lOcVNuVm5BTjZjMVdm?= =?utf-8?B?UXV6VFNZQi93WUNBTWpUU1NvMnRLU2xaMWNVODE2RnpwZTZ4YTAranVUcU9s?= =?utf-8?B?cHNxNkNpcldNbTVxaGNaK2hrVzJmTHpYWnRXRjBmZEovM25WWituTUQ2MFVm?= =?utf-8?B?TmNUY0ZKNlNWVnJkUnYzUHl1WmVlYTVNU0t3Sk44dSt2MVZMaW1EV29pWXA2?= =?utf-8?B?SE5OWElvMndyVXdqSDJFVUJibFpxODVpc0lGZU5qSnRZSTd0enpuRDNFUTc3?= =?utf-8?B?U1kvS2pteGVpd0FSU3J1S0JwMGtQQVQvc0grNVUzSWl0L21xVEFLUjNvSHhD?= =?utf-8?B?Ri9PaEJ3OWJ6TjhtdjRwK24wZUoyVys3ZGkwQXloVlh1U3ppSlp0NG1jZVVw?= =?utf-8?B?WVp3bFVXdjlLaGV6NTFQMmZGUTlZN1MxZ21wcS9MWFJHd1FMSzZVTmU0Zkoz?= =?utf-8?B?ai91M2dnbWhCNnFXclZSNVNDQXpDeWlDVVhPNDlxVVd0cXRVbm12UWQ5UjRD?= =?utf-8?B?YjV5TE9EVmVtVzJIZS9DcHd0UGUyeDVTS2lzQ3BiODVrdks2MzdHejlFRk1x?= =?utf-8?B?NVRha1RBbWFZcWhuaHd5bzR0ZGtXSFhkQTZvTGRHM0hTVVM1R3o5MkI4WTRk?= =?utf-8?B?RlF1Rm0rYUJ1bVJ4NTRCYUtReURNTXB3ZlFtU045MjZ1cHFMUnNLeGJvRklD?= =?utf-8?B?S3RBRjBmSFFqQngzeUlJR3lseFBYSzZiY3VMQ1RDRVRtb3c3N3ZqcGNqdTZ2?= =?utf-8?B?eGFlc2p0dm9BVmxPYVAyUU9hTVM5aDRpZmVYRk9lclpLTXNYY0x4VVhHaWNP?= =?utf-8?B?bXUyYStiRCs4cHVXM28weFlVNHRldXNacU1hNVY3elhLNC9GZjlVYzRkcFhk?= =?utf-8?B?bEh0b1JZRC94T1RaNFVwL1pjMkEvd2dhOFBBRE9GLzQ4cUF4YldBd3JPZGdL?= =?utf-8?B?cFVVdk1MVklMeW9PMnhUakJ5Q1ZyZDdFQnJTWkw0ZDBuR1Z0NHZ1Y2N2T1JY?= =?utf-8?B?bDNVS2dZN2dCOC9iQngveFFxaTF6NDUxeTVlYWs5NU4zb1JxaG5hdk1SMVp3?= =?utf-8?B?M3pqMmxwczlXbXBhZnRVOFJrQWFEZVdqa1lmUXB0UHJHSkJVM25HREhnMUpC?= =?utf-8?B?WEZ1UjVVT0NmOFlOTHg2NHBucmduZHRxSDdCdWpEUGtvV3d1TGZwR0R2UC9v?= =?utf-8?B?eXViZUExc1hQSEpTb3VzYy9oQVVQVjRqYXBBRnpxNkF3N2RqbXFvWEVFQitw?= =?utf-8?B?OGFIOUFPVWlkMW9xMEcrSGFxZjZ5YWhsbk40cWlYNGpsWE5nek1qMDU0TkFD?= =?utf-8?B?MURWWERqUlVoVTJvam8vUUJCRUJ5SUFmdnBBV2dFbGI3M3VKM2kybU1yRVVT?= =?utf-8?B?MFc3VFJlaUZhNVZSdWt6azNmSmR6Y0VMNEdCTFVtYnpodGFoNW5NRC9qZW5v?= =?utf-8?B?VEpMZTlOOWt5dHJFenBzWElUYkpZM2xHekVWRXVoNVI3L1ViUnR2NXpjeTZU?= =?utf-8?B?K3MrOWE3TXF3MUdBSTFzK2JxcjMwZDJ6bEgzNkd2NHNnQlpmRXk1Rnp4c1Zm?= =?utf-8?B?TW4zYVQwVC8vSUp3eWdFUldJakNTZFlUdWNiYXRzRGtWaHd4blQ1a2ZrVVpZ?= =?utf-8?B?b3RsK21SRm5WOTB5Q3VEWnZUVUo0S253cjRpMDBVb3kxazZLSlNmZ1ZzcDda?= =?utf-8?B?Z3pMbytEYkNUbmJ3MldkNlo3NVBhMk5MV21RTVR2ZjJnZjdzNGVXbWdJelJP?= =?utf-8?B?b1lEcTRnbGtWNExDbVI1ZHIvcHUxcVFVWktXelBiaW0vUUF0MHZ5S3pzOVBI?= =?utf-8?Q?tMfI8uIelf99BO2TtFJVxcK2W?= Content-ID: <64977E6BB4316246929EB88F44B50A57@namprd11.prod.outlook.com> MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB5154.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 59ca1891-68c5-4f82-7dd5-08da8230f443 X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Aug 2022 22:19:59.3982 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3f4057f3-b418-4d4e-ba84-d55b4e897d88 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 4FzmPxrXIvgeewxc99vGmABx4G3cu5b0f1DyKC8yCYfol6at1Ta55yppZsJetlyR8xiDtUt1rqt9g9GP4uSMXKVOXqyM8mC7DG0DU9MKBlA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR11MB3014 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220819_152009_741973_A04FB1FD X-CRM114-Status: GOOD ( 17.15 ) X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org On 15/08/2022 06:08, Samuel Holland wrote: > D1 is a SoC containing a single-core T-HEAD Xuantie C906 CPU, as well as > one HiFi 4 DSP. The SoC is based on a design that additionally contained > a pair of Cortex A7's. For that reason, some peripherals are duplicated. > > This devicetree includes all of the peripherals that already have a > documented binding. > > Signed-off-by: Samuel Holland Tested-by: Conor Dooley # Nezha D1 Thanks! > --- > > arch/riscv/boot/dts/Makefile | 1 + > arch/riscv/boot/dts/allwinner/Makefile | 1 + > arch/riscv/boot/dts/allwinner/sun20i-d1.dtsi | 900 +++++++++++++++++++ > 3 files changed, 902 insertions(+) > create mode 100644 arch/riscv/boot/dts/allwinner/Makefile > create mode 100644 arch/riscv/boot/dts/allwinner/sun20i-d1.dtsi > > diff --git a/arch/riscv/boot/dts/Makefile b/arch/riscv/boot/dts/Makefile > index ff174996cdfd..f292e31bdb2c 100644 > --- a/arch/riscv/boot/dts/Makefile > +++ b/arch/riscv/boot/dts/Makefile > @@ -1,4 +1,5 @@ > # SPDX-License-Identifier: GPL-2.0 > +subdir-y += allwinner > subdir-y += sifive > subdir-y += starfive > subdir-$(CONFIG_SOC_CANAAN_K210_DTB_BUILTIN) += canaan > diff --git a/arch/riscv/boot/dts/allwinner/Makefile b/arch/riscv/boot/dts/allwinner/Makefile > new file mode 100644 > index 000000000000..f66554cd5c45 > --- /dev/null > +++ b/arch/riscv/boot/dts/allwinner/Makefile > @@ -0,0 +1 @@ > +# SPDX-License-Identifier: GPL-2.0 > diff --git a/arch/riscv/boot/dts/allwinner/sun20i-d1.dtsi b/arch/riscv/boot/dts/allwinner/sun20i-d1.dtsi > new file mode 100644 > index 000000000000..d1429274f22e > --- /dev/null > +++ b/arch/riscv/boot/dts/allwinner/sun20i-d1.dtsi > @@ -0,0 +1,900 @@ > +// SPDX-License-Identifier: (GPL-2.0+ or MIT) > +// Copyright (C) 2021-2022 Samuel Holland > + > +#include > +#include > +#include > +#include > +#include > +#include > +#include > +#include > +#include > +#include > + > +/ { > + #address-cells = <1>; > + #size-cells = <1>; > + > + cpus { > + timebase-frequency = <24000000>; > + #address-cells = <1>; > + #size-cells = <0>; > + > + cpu0: cpu@0 { > + compatible = "thead,c906", "riscv"; > + device_type = "cpu"; > + reg = <0>; > + clocks = <&ccu CLK_RISCV>; > + clock-frequency = <24000000>; > + d-cache-block-size = <64>; > + d-cache-sets = <256>; > + d-cache-size = <32768>; > + i-cache-block-size = <64>; > + i-cache-sets = <128>; > + i-cache-size = <32768>; > + mmu-type = "riscv,sv39"; > + riscv,isa = "rv64imafdc"; > + #cooling-cells = <2>; > + > + cpu0_intc: interrupt-controller { > + compatible = "riscv,cpu-intc"; > + interrupt-controller; > + #address-cells = <0>; > + #interrupt-cells = <1>; > + }; > + }; > + }; > + > + de: display-engine { > + compatible = "allwinner,sun20i-d1-display-engine"; > + allwinner,pipelines = <&mixer0>, <&mixer1>; > + status = "disabled"; > + }; > + > + osc24M: osc24M-clk { > + compatible = "fixed-clock"; > + clock-frequency = <24000000>; > + clock-output-names = "osc24M"; > + #clock-cells = <0>; > + }; > + > + soc { > + compatible = "simple-bus"; > + ranges; > + interrupt-parent = <&plic>; > + dma-noncoherent; > + #address-cells = <1>; > + #size-cells = <1>; > + > + dsp_wdt: watchdog@1700400 { > + compatible = "allwinner,sun20i-d1-wdt"; > + reg = <0x1700400 0x20>; > + interrupts = <138 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&osc24M>, <&rtc CLK_OSC32K>; > + clock-names = "hosc", "losc"; > + status = "reserved"; > + }; > + > + pio: pinctrl@2000000 { > + compatible = "allwinner,sun20i-d1-pinctrl"; > + reg = <0x2000000 0x800>; > + interrupts = <85 IRQ_TYPE_LEVEL_HIGH>, > + <87 IRQ_TYPE_LEVEL_HIGH>, > + <89 IRQ_TYPE_LEVEL_HIGH>, > + <91 IRQ_TYPE_LEVEL_HIGH>, > + <93 IRQ_TYPE_LEVEL_HIGH>, > + <95 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&ccu CLK_APB0>, > + <&osc24M>, > + <&rtc CLK_OSC32K>; > + clock-names = "apb", "hosc", "losc"; > + gpio-controller; > + interrupt-controller; > + #gpio-cells = <3>; > + #interrupt-cells = <3>; > + > + /omit-if-no-ref/ > + i2c0_pb10_pins: i2c0-pb10-pins { > + pins = "PB10", "PB11"; > + function = "i2c0"; > + }; > + > + /omit-if-no-ref/ > + i2c2_pb0_pins: i2c2-pb0-pins { > + pins = "PB0", "PB1"; > + function = "i2c2"; > + }; > + > + /omit-if-no-ref/ > + lcd_rgb666_pins: lcd-rgb666-pins { > + pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", > + "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", > + "PD12", "PD13", "PD14", "PD15", "PD16", "PD17", > + "PD18", "PD19", "PD20", "PD21"; > + function = "lcd0"; > + }; > + > + /omit-if-no-ref/ > + mmc0_pins: mmc0-pins { > + pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5"; > + function = "mmc0"; > + }; > + > + /omit-if-no-ref/ > + mmc1_pins: mmc1-pins { > + pins = "PG0", "PG1", "PG2", "PG3", "PG4", "PG5"; > + function = "mmc1"; > + }; > + > + /omit-if-no-ref/ > + mmc2_pins: mmc2-pins { > + pins = "PC2", "PC3", "PC4", "PC5", "PC6", "PC7"; > + function = "mmc2"; > + }; > + > + /omit-if-no-ref/ > + rgmii_pe_pins: rgmii-pe-pins { > + pins = "PE0", "PE1", "PE2", "PE3", "PE4", > + "PE5", "PE6", "PE7", "PE8", "PE9", > + "PE11", "PE12", "PE13", "PE14", "PE15"; > + function = "emac"; > + }; > + > + /omit-if-no-ref/ > + rmii_pe_pins: rmii-pe-pins { > + pins = "PE0", "PE1", "PE2", "PE3", "PE4", > + "PE5", "PE6", "PE7", "PE8", "PE9"; > + function = "emac"; > + }; > + > + /omit-if-no-ref/ > + uart0_pb8_pins: uart0-pb8-pins { > + pins = "PB8", "PB9"; > + function = "uart0"; > + }; > + > + /omit-if-no-ref/ > + uart1_pg6_pins: uart1-pg6-pins { > + pins = "PG6", "PG7"; > + function = "uart1"; > + }; > + > + /omit-if-no-ref/ > + uart1_pg8_rts_cts_pins: uart1-pg8-rts-cts-pins { > + pins = "PG8", "PG9"; > + function = "uart1"; > + }; > + }; > + > + ccu: clock-controller@2001000 { > + compatible = "allwinner,sun20i-d1-ccu"; > + reg = <0x2001000 0x1000>; > + clocks = <&osc24M>, > + <&rtc CLK_OSC32K>, > + <&rtc CLK_IOSC>; > + clock-names = "hosc", "losc", "iosc"; > + #clock-cells = <1>; > + #reset-cells = <1>; > + }; > + > + lradc: keys@2009800 { > + compatible = "allwinner,sun20i-d1-lradc", > + "allwinner,sun50i-r329-lradc"; > + reg = <0x2009800 0x400>; > + interrupts = <77 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&ccu CLK_BUS_LRADC>; > + resets = <&ccu RST_BUS_LRADC>; > + status = "disabled"; > + }; > + > + codec: audio-codec@2030000 { > + compatible = "simple-mfd", "syscon"; > + reg = <0x2030000 0x1000>; > + #address-cells = <1>; > + #size-cells = <1>; > + > + regulators@2030348 { > + compatible = "allwinner,sun20i-d1-analog-ldos"; > + reg = <0x2030348 0x4>; > + nvmem-cells = <&bg_trim>; > + nvmem-cell-names = "bg_trim"; > + > + reg_aldo: aldo { > + }; > + > + reg_hpldo: hpldo { > + }; > + }; > + }; > + > + i2s0: i2s@2032000 { > + compatible = "allwinner,sun20i-d1-i2s", > + "allwinner,sun50i-r329-i2s"; > + reg = <0x2032000 0x1000>; > + interrupts = <42 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&ccu CLK_BUS_I2S0>, > + <&ccu CLK_I2S0>; > + clock-names = "apb", "mod"; > + resets = <&ccu RST_BUS_I2S0>; > + dmas = <&dma 3>, <&dma 3>; > + dma-names = "rx", "tx"; > + status = "disabled"; > + #sound-dai-cells = <0>; > + }; > + > + i2s1: i2s@2033000 { > + compatible = "allwinner,sun20i-d1-i2s", > + "allwinner,sun50i-r329-i2s"; > + reg = <0x2033000 0x1000>; > + interrupts = <43 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&ccu CLK_BUS_I2S1>, > + <&ccu CLK_I2S1>; > + clock-names = "apb", "mod"; > + resets = <&ccu RST_BUS_I2S1>; > + dmas = <&dma 4>, <&dma 4>; > + dma-names = "rx", "tx"; > + status = "disabled"; > + #sound-dai-cells = <0>; > + }; > + > + i2s2: i2s@2034000 { > + compatible = "allwinner,sun20i-d1-i2s", > + "allwinner,sun50i-r329-i2s"; > + reg = <0x2034000 0x1000>; > + interrupts = <44 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&ccu CLK_BUS_I2S2>, > + <&ccu CLK_I2S2>; > + clock-names = "apb", "mod"; > + resets = <&ccu RST_BUS_I2S2>; > + dmas = <&dma 5>, <&dma 5>; > + dma-names = "rx", "tx"; > + status = "disabled"; > + #sound-dai-cells = <0>; > + }; > + > + timer: timer@2050000 { > + compatible = "allwinner,sun20i-d1-timer", > + "allwinner,sun8i-a23-timer"; > + reg = <0x2050000 0xa0>; > + interrupts = <75 IRQ_TYPE_LEVEL_HIGH>, > + <76 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&osc24M>; > + }; > + > + wdt: watchdog@20500a0 { > + compatible = "allwinner,sun20i-d1-wdt-reset", > + "allwinner,sun20i-d1-wdt"; > + reg = <0x20500a0 0x20>; > + interrupts = <79 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&osc24M>, <&rtc CLK_OSC32K>; > + clock-names = "hosc", "losc"; > + status = "reserved"; > + }; > + > + uart0: serial@2500000 { > + compatible = "snps,dw-apb-uart"; > + reg = <0x2500000 0x400>; > + reg-io-width = <4>; > + reg-shift = <2>; > + interrupts = <18 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&ccu CLK_BUS_UART0>; > + resets = <&ccu RST_BUS_UART0>; > + dmas = <&dma 14>, <&dma 14>; > + dma-names = "rx", "tx"; > + status = "disabled"; > + }; > + > + uart1: serial@2500400 { > + compatible = "snps,dw-apb-uart"; > + reg = <0x2500400 0x400>; > + reg-io-width = <4>; > + reg-shift = <2>; > + interrupts = <19 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&ccu CLK_BUS_UART1>; > + resets = <&ccu RST_BUS_UART1>; > + dmas = <&dma 15>, <&dma 15>; > + dma-names = "rx", "tx"; > + status = "disabled"; > + }; > + > + uart2: serial@2500800 { > + compatible = "snps,dw-apb-uart"; > + reg = <0x2500800 0x400>; > + reg-io-width = <4>; > + reg-shift = <2>; > + interrupts = <20 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&ccu CLK_BUS_UART2>; > + resets = <&ccu RST_BUS_UART2>; > + dmas = <&dma 16>, <&dma 16>; > + dma-names = "rx", "tx"; > + status = "disabled"; > + }; > + > + uart3: serial@2500c00 { > + compatible = "snps,dw-apb-uart"; > + reg = <0x2500c00 0x400>; > + reg-io-width = <4>; > + reg-shift = <2>; > + interrupts = <21 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&ccu CLK_BUS_UART3>; > + resets = <&ccu RST_BUS_UART3>; > + dmas = <&dma 17>, <&dma 17>; > + dma-names = "rx", "tx"; > + status = "disabled"; > + }; > + > + uart4: serial@2501000 { > + compatible = "snps,dw-apb-uart"; > + reg = <0x2501000 0x400>; > + reg-io-width = <4>; > + reg-shift = <2>; > + interrupts = <22 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&ccu CLK_BUS_UART4>; > + resets = <&ccu RST_BUS_UART4>; > + dmas = <&dma 18>, <&dma 18>; > + dma-names = "rx", "tx"; > + status = "disabled"; > + }; > + > + uart5: serial@2501400 { > + compatible = "snps,dw-apb-uart"; > + reg = <0x2501400 0x400>; > + reg-io-width = <4>; > + reg-shift = <2>; > + interrupts = <23 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&ccu CLK_BUS_UART5>; > + resets = <&ccu RST_BUS_UART5>; > + dmas = <&dma 19>, <&dma 19>; > + dma-names = "rx", "tx"; > + status = "disabled"; > + }; > + > + i2c0: i2c@2502000 { > + compatible = "allwinner,sun20i-d1-i2c", > + "allwinner,sun8i-v536-i2c", > + "allwinner,sun6i-a31-i2c"; > + reg = <0x2502000 0x400>; > + interrupts = <25 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&ccu CLK_BUS_I2C0>; > + resets = <&ccu RST_BUS_I2C0>; > + dmas = <&dma 43>, <&dma 43>; > + dma-names = "rx", "tx"; > + status = "disabled"; > + #address-cells = <1>; > + #size-cells = <0>; > + }; > + > + i2c1: i2c@2502400 { > + compatible = "allwinner,sun20i-d1-i2c", > + "allwinner,sun8i-v536-i2c", > + "allwinner,sun6i-a31-i2c"; > + reg = <0x2502400 0x400>; > + interrupts = <26 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&ccu CLK_BUS_I2C1>; > + resets = <&ccu RST_BUS_I2C1>; > + dmas = <&dma 44>, <&dma 44>; > + dma-names = "rx", "tx"; > + status = "disabled"; > + #address-cells = <1>; > + #size-cells = <0>; > + }; > + > + i2c2: i2c@2502800 { > + compatible = "allwinner,sun20i-d1-i2c", > + "allwinner,sun8i-v536-i2c", > + "allwinner,sun6i-a31-i2c"; > + reg = <0x2502800 0x400>; > + interrupts = <27 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&ccu CLK_BUS_I2C2>; > + resets = <&ccu RST_BUS_I2C2>; > + dmas = <&dma 45>, <&dma 45>; > + dma-names = "rx", "tx"; > + status = "disabled"; > + #address-cells = <1>; > + #size-cells = <0>; > + }; > + > + i2c3: i2c@2502c00 { > + compatible = "allwinner,sun20i-d1-i2c", > + "allwinner,sun8i-v536-i2c", > + "allwinner,sun6i-a31-i2c"; > + reg = <0x2502c00 0x400>; > + interrupts = <28 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&ccu CLK_BUS_I2C3>; > + resets = <&ccu RST_BUS_I2C3>; > + dmas = <&dma 46>, <&dma 46>; > + dma-names = "rx", "tx"; > + status = "disabled"; > + #address-cells = <1>; > + #size-cells = <0>; > + }; > + > + syscon: syscon@3000000 { > + compatible = "allwinner,sun20i-d1-system-control"; > + reg = <0x3000000 0x1000>; > + ranges; > + #address-cells = <1>; > + #size-cells = <1>; > + > + regulators@3000150 { > + compatible = "allwinner,sun20i-d1-system-ldos"; > + reg = <0x3000150 0x4>; > + > + reg_ldoa: ldoa { > + }; > + > + reg_ldob: ldob { > + }; > + }; > + }; > + > + dma: dma-controller@3002000 { > + compatible = "allwinner,sun20i-d1-dma"; > + reg = <0x3002000 0x1000>; > + interrupts = <66 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&ccu CLK_BUS_DMA>, <&ccu CLK_MBUS_DMA>; > + clock-names = "bus", "mbus"; > + resets = <&ccu RST_BUS_DMA>; > + dma-channels = <16>; > + dma-requests = <48>; > + #dma-cells = <1>; > + }; > + > + sid: efuse@3006000 { > + compatible = "allwinner,sun20i-d1-sid"; > + reg = <0x3006000 0x1000>; > + #address-cells = <1>; > + #size-cells = <1>; > + > + ths_calib: ths-calib@14 { > + reg = <0x14 0x4>; > + }; > + > + bg_trim: bg-trim@28 { > + reg = <0x28 0x4>; > + bits = <16 8>; > + }; > + }; > + > + mbus: dram-controller@3102000 { > + compatible = "allwinner,sun20i-d1-mbus"; > + reg = <0x3102000 0x1000>, > + <0x3103000 0x1000>; > + reg-names = "mbus", "dram"; > + interrupts = <59 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&ccu CLK_MBUS>, > + <&ccu CLK_DRAM>, > + <&ccu CLK_BUS_DRAM>; > + clock-names = "mbus", "dram", "bus"; > + dma-ranges = <0 0x40000000 0x80000000>; > + #address-cells = <1>; > + #size-cells = <1>; > + #interconnect-cells = <1>; > + }; > + > + mmc0: mmc@4020000 { > + compatible = "allwinner,sun20i-d1-mmc"; > + reg = <0x4020000 0x1000>; > + interrupts = <56 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&ccu CLK_BUS_MMC0>, <&ccu CLK_MMC0>; > + clock-names = "ahb", "mmc"; > + resets = <&ccu RST_BUS_MMC0>; > + reset-names = "ahb"; > + cap-sd-highspeed; > + max-frequency = <150000000>; > + no-mmc; > + status = "disabled"; > + #address-cells = <1>; > + #size-cells = <0>; > + }; > + > + mmc1: mmc@4021000 { > + compatible = "allwinner,sun20i-d1-mmc"; > + reg = <0x4021000 0x1000>; > + interrupts = <57 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&ccu CLK_BUS_MMC1>, <&ccu CLK_MMC1>; > + clock-names = "ahb", "mmc"; > + resets = <&ccu RST_BUS_MMC1>; > + reset-names = "ahb"; > + cap-sd-highspeed; > + max-frequency = <150000000>; > + no-mmc; > + status = "disabled"; > + #address-cells = <1>; > + #size-cells = <0>; > + }; > + > + mmc2: mmc@4022000 { > + compatible = "allwinner,sun20i-d1-emmc", > + "allwinner,sun50i-a100-emmc"; > + reg = <0x4022000 0x1000>; > + interrupts = <58 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&ccu CLK_BUS_MMC2>, <&ccu CLK_MMC2>; > + clock-names = "ahb", "mmc"; > + resets = <&ccu RST_BUS_MMC2>; > + reset-names = "ahb"; > + cap-mmc-highspeed; > + max-frequency = <150000000>; > + mmc-ddr-1_8v; > + mmc-ddr-3_3v; > + no-sd; > + no-sdio; > + status = "disabled"; > + #address-cells = <1>; > + #size-cells = <0>; > + }; > + > + usb_otg: usb@4100000 { > + compatible = "allwinner,sun20i-d1-musb", > + "allwinner,sun8i-a33-musb"; > + reg = <0x4100000 0x400>; > + interrupts = <45 IRQ_TYPE_LEVEL_HIGH>; > + interrupt-names = "mc"; > + clocks = <&ccu CLK_BUS_OTG>; > + resets = <&ccu RST_BUS_OTG>; > + extcon = <&usbphy 0>; > + phys = <&usbphy 0>; > + phy-names = "usb"; > + status = "disabled"; > + }; > + > + usbphy: phy@4100400 { > + compatible = "allwinner,sun20i-d1-usb-phy"; > + reg = <0x4100400 0x100>, > + <0x4101800 0x100>, > + <0x4200800 0x100>; > + reg-names = "phy_ctrl", > + "pmu0", > + "pmu1"; > + clocks = <&osc24M>, > + <&osc24M>; > + clock-names = "usb0_phy", > + "usb1_phy"; > + resets = <&ccu RST_USB_PHY0>, > + <&ccu RST_USB_PHY1>; > + reset-names = "usb0_reset", > + "usb1_reset"; > + status = "disabled"; > + #phy-cells = <1>; > + }; > + > + ehci0: usb@4101000 { > + compatible = "allwinner,sun20i-d1-ehci", > + "generic-ehci"; > + reg = <0x4101000 0x100>; > + interrupts = <46 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&ccu CLK_BUS_OHCI0>, > + <&ccu CLK_BUS_EHCI0>, > + <&ccu CLK_USB_OHCI0>; > + resets = <&ccu RST_BUS_OHCI0>, > + <&ccu RST_BUS_EHCI0>; > + phys = <&usbphy 0>; > + phy-names = "usb"; > + status = "disabled"; > + }; > + > + ohci0: usb@4101400 { > + compatible = "allwinner,sun20i-d1-ohci", > + "generic-ohci"; > + reg = <0x4101400 0x100>; > + interrupts = <47 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&ccu CLK_BUS_OHCI0>, > + <&ccu CLK_USB_OHCI0>; > + resets = <&ccu RST_BUS_OHCI0>; > + phys = <&usbphy 0>; > + phy-names = "usb"; > + status = "disabled"; > + }; > + > + ehci1: usb@4200000 { > + compatible = "allwinner,sun20i-d1-ehci", > + "generic-ehci"; > + reg = <0x4200000 0x100>; > + interrupts = <49 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&ccu CLK_BUS_OHCI1>, > + <&ccu CLK_BUS_EHCI1>, > + <&ccu CLK_USB_OHCI1>; > + resets = <&ccu RST_BUS_OHCI1>, > + <&ccu RST_BUS_EHCI1>; > + phys = <&usbphy 1>; > + phy-names = "usb"; > + status = "disabled"; > + }; > + > + ohci1: usb@4200400 { > + compatible = "allwinner,sun20i-d1-ohci", > + "generic-ohci"; > + reg = <0x4200400 0x100>; > + interrupts = <50 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&ccu CLK_BUS_OHCI1>, > + <&ccu CLK_USB_OHCI1>; > + resets = <&ccu RST_BUS_OHCI1>; > + phys = <&usbphy 1>; > + phy-names = "usb"; > + status = "disabled"; > + }; > + > + emac: ethernet@4500000 { > + compatible = "allwinner,sun20i-d1-emac", > + "allwinner,sun50i-a64-emac"; > + reg = <0x4500000 0x10000>; > + interrupts = <62 IRQ_TYPE_LEVEL_HIGH>; > + interrupt-names = "macirq"; > + clocks = <&ccu CLK_BUS_EMAC>; > + clock-names = "stmmaceth"; > + resets = <&ccu RST_BUS_EMAC>; > + reset-names = "stmmaceth"; > + syscon = <&syscon>; > + status = "disabled"; > + > + mdio: mdio { > + compatible = "snps,dwmac-mdio"; > + #address-cells = <1>; > + #size-cells = <0>; > + }; > + }; > + > + display_clocks: clock-controller@5000000 { > + compatible = "allwinner,sun20i-d1-de2-clk", > + "allwinner,sun50i-h5-de2-clk"; > + reg = <0x5000000 0x10000>; > + clocks = <&ccu CLK_BUS_DE>, <&ccu CLK_DE>; > + clock-names = "bus", "mod"; > + resets = <&ccu RST_BUS_DE>; > + #clock-cells = <1>; > + #reset-cells = <1>; > + }; > + > + mixer0: mixer@5100000 { > + compatible = "allwinner,sun20i-d1-de2-mixer-0"; > + reg = <0x5100000 0x100000>; > + clocks = <&display_clocks CLK_BUS_MIXER0>, > + <&display_clocks CLK_MIXER0>; > + clock-names = "bus", "mod"; > + resets = <&display_clocks RST_MIXER0>; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + mixer0_out: port@1 { > + reg = <1>; > + > + mixer0_out_tcon_top_mixer0: endpoint { > + remote-endpoint = <&tcon_top_mixer0_in_mixer0>; > + }; > + }; > + }; > + }; > + > + mixer1: mixer@5200000 { > + compatible = "allwinner,sun20i-d1-de2-mixer-1"; > + reg = <0x5200000 0x100000>; > + clocks = <&display_clocks CLK_BUS_MIXER1>, > + <&display_clocks CLK_MIXER1>; > + clock-names = "bus", "mod"; > + resets = <&display_clocks RST_MIXER1>; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + mixer1_out: port@1 { > + reg = <1>; > + > + mixer1_out_tcon_top_mixer1: endpoint { > + remote-endpoint = <&tcon_top_mixer1_in_mixer1>; > + }; > + }; > + }; > + }; > + > + tcon_top: tcon-top@5460000 { > + compatible = "allwinner,sun20i-d1-tcon-top"; > + reg = <0x5460000 0x1000>; > + clocks = <&ccu CLK_BUS_DPSS_TOP>, > + <&ccu CLK_TCON_TV>, > + <&ccu CLK_TVE>, > + <&ccu CLK_MIPI_DSI>; > + clock-names = "bus", "tcon-tv0", "tve0", "dsi"; > + clock-output-names = "tcon-top-tv0", "tcon-top-dsi"; > + resets = <&ccu RST_BUS_DPSS_TOP>; > + #clock-cells = <1>; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + tcon_top_mixer0_in: port@0 { > + reg = <0>; > + #address-cells = <1>; > + #size-cells = <0>; > + > + tcon_top_mixer0_in_mixer0: endpoint@0 { > + reg = <0>; > + remote-endpoint = <&mixer0_out_tcon_top_mixer0>; > + }; > + }; > + > + tcon_top_mixer0_out: port@1 { > + reg = <1>; > + #address-cells = <1>; > + #size-cells = <0>; > + > + tcon_top_mixer0_out_tcon_lcd0: endpoint@0 { > + reg = <0>; > + remote-endpoint = <&tcon_lcd0_in_tcon_top_mixer0>; > + }; > + > + tcon_top_mixer0_out_tcon_tv0: endpoint@2 { > + reg = <2>; > + remote-endpoint = <&tcon_tv0_in_tcon_top_mixer0>; > + }; > + }; > + > + tcon_top_mixer1_in: port@2 { > + reg = <2>; > + #address-cells = <1>; > + #size-cells = <0>; > + > + tcon_top_mixer1_in_mixer1: endpoint@1 { > + reg = <1>; > + remote-endpoint = <&mixer1_out_tcon_top_mixer1>; > + }; > + }; > + > + tcon_top_mixer1_out: port@3 { > + reg = <3>; > + #address-cells = <1>; > + #size-cells = <0>; > + > + tcon_top_mixer1_out_tcon_lcd0: endpoint@0 { > + reg = <0>; > + remote-endpoint = <&tcon_lcd0_in_tcon_top_mixer1>; > + }; > + > + tcon_top_mixer1_out_tcon_tv0: endpoint@2 { > + reg = <2>; > + remote-endpoint = <&tcon_tv0_in_tcon_top_mixer1>; > + }; > + }; > + > + tcon_top_hdmi_in: port@4 { > + reg = <4>; > + > + tcon_top_hdmi_in_tcon_tv0: endpoint { > + remote-endpoint = <&tcon_tv0_out_tcon_top_hdmi>; > + }; > + }; > + > + tcon_top_hdmi_out: port@5 { > + reg = <5>; > + }; > + }; > + }; > + > + tcon_lcd0: lcd-controller@5461000 { > + compatible = "allwinner,sun20i-d1-tcon-lcd"; > + reg = <0x5461000 0x1000>; > + interrupts = <106 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&ccu CLK_BUS_TCON_LCD0>, > + <&ccu CLK_TCON_LCD0>; > + clock-names = "ahb", "tcon-ch0"; > + clock-output-names = "tcon-pixel-clock"; > + resets = <&ccu RST_BUS_TCON_LCD0>, > + <&ccu RST_BUS_LVDS0>; > + reset-names = "lcd", "lvds"; > + #clock-cells = <0>; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + tcon_lcd0_in: port@0 { > + reg = <0>; > + #address-cells = <1>; > + #size-cells = <0>; > + > + tcon_lcd0_in_tcon_top_mixer0: endpoint@0 { > + reg = <0>; > + remote-endpoint = <&tcon_top_mixer0_out_tcon_lcd0>; > + }; > + > + tcon_lcd0_in_tcon_top_mixer1: endpoint@1 { > + reg = <1>; > + remote-endpoint = <&tcon_top_mixer1_out_tcon_lcd0>; > + }; > + }; > + > + tcon_lcd0_out: port@1 { > + reg = <1>; > + }; > + }; > + }; > + > + tcon_tv0: lcd-controller@5470000 { > + compatible = "allwinner,sun20i-d1-tcon-tv"; > + reg = <0x5470000 0x1000>; > + interrupts = <107 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&ccu CLK_BUS_TCON_TV>, > + <&tcon_top CLK_TCON_TOP_TV0>; > + clock-names = "ahb", "tcon-ch1"; > + resets = <&ccu RST_BUS_TCON_TV>; > + reset-names = "lcd"; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + tcon_tv0_in: port@0 { > + reg = <0>; > + #address-cells = <1>; > + #size-cells = <0>; > + > + tcon_tv0_in_tcon_top_mixer0: endpoint@0 { > + reg = <0>; > + remote-endpoint = <&tcon_top_mixer0_out_tcon_tv0>; > + }; > + > + tcon_tv0_in_tcon_top_mixer1: endpoint@1 { > + reg = <1>; > + remote-endpoint = <&tcon_top_mixer1_out_tcon_tv0>; > + }; > + }; > + > + tcon_tv0_out: port@1 { > + reg = <1>; > + > + tcon_tv0_out_tcon_top_hdmi: endpoint { > + remote-endpoint = <&tcon_top_hdmi_in_tcon_tv0>; > + }; > + }; > + }; > + }; > + > + riscv_wdt: watchdog@6011000 { > + compatible = "allwinner,sun20i-d1-wdt"; > + reg = <0x6011000 0x20>; > + interrupts = <147 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&osc24M>, <&rtc CLK_OSC32K>; > + clock-names = "hosc", "losc"; > + }; > + > + r_ccu: clock-controller@7010000 { > + compatible = "allwinner,sun20i-d1-r-ccu"; > + reg = <0x7010000 0x400>; > + clocks = <&osc24M>, > + <&rtc CLK_OSC32K>, > + <&rtc CLK_IOSC>, > + <&ccu CLK_PLL_PERIPH0_DIV3>; > + clock-names = "hosc", "losc", "iosc", "pll-periph"; > + #clock-cells = <1>; > + #reset-cells = <1>; > + }; > + > + rtc: rtc@7090000 { > + compatible = "allwinner,sun20i-d1-rtc", > + "allwinner,sun50i-r329-rtc"; > + reg = <0x7090000 0x400>; > + interrupts = <160 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&r_ccu CLK_BUS_R_RTC>, > + <&osc24M>, > + <&r_ccu CLK_R_AHB>; > + clock-names = "bus", "hosc", "ahb"; > + #clock-cells = <1>; > + }; > + > + plic: interrupt-controller@10000000 { > + compatible = "allwinner,sun20i-d1-plic", > + "thead,c900-plic"; > + reg = <0x10000000 0x4000000>; > + interrupts-extended = <&cpu0_intc 11>, > + <&cpu0_intc 9>; > + interrupt-controller; > + riscv,ndev = <176>; > + #address-cells = <0>; > + #interrupt-cells = <2>; > + }; > + }; > +}; _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from esa.microchip.iphmx.com (esa.microchip.iphmx.com [68.232.153.233]) (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 C19736101 for ; Fri, 19 Aug 2022 22:20:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=microchip.com; i=@microchip.com; q=dns/txt; s=mchp; t=1660947608; x=1692483608; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=xA1dIpy6PHaXGV6sQ99yQ53iWncVoOpJXmSuHtYN2yE=; b=aZddsLMjUXZZIn8l0jnSeXcexP/4IbkTOgqNY3ZRhRj0yqOKpTVVTRY0 j0CLnmMfQLKy/SrFFI+S3TXL3Z/bIBtTrS5KkG++gcASncFiyb9V5AMkV 4yl8t0/+HhJDOgQFbgwa6qG3EK6QKeKsIf7tw4Pr3JL4srQ54LYOOaIXY 2KCQlmF+GFk5UOdrI1xP9pYO+FeLnAAuW5dELnAzH4dTxDW54s6zB1nPx dF2Uln+LBeGTIEG3wW8d4fPNjTu3I5iVO9BGBwsxidqprQ/J6vAjWnN/M ZVmQQ/ahglQG1MLa9aFhYTyER4z+eCmq1Ap2m4s6pq03KRqJkD0qlLTrN Q==; X-IronPort-AV: E=Sophos;i="5.93,249,1654585200"; d="scan'208";a="176989750" Received: from unknown (HELO email.microchip.com) ([170.129.1.10]) by esa5.microchip.iphmx.com with ESMTP/TLS/AES256-SHA256; 19 Aug 2022 15:20:06 -0700 Received: from chn-vm-ex04.mchp-main.com (10.10.85.152) by chn-vm-ex02.mchp-main.com (10.10.85.144) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.12; Fri, 19 Aug 2022 15:20:05 -0700 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (10.10.215.89) by email.microchip.com (10.10.87.151) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.12 via Frontend Transport; Fri, 19 Aug 2022 15:20:05 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PlKsfcm5Fgw7g9dseTJokye/JbECruU7i34UoWrcTi6eXb6QZbLR1vkAYwxrsz9/v3His1Y1ncNotRnUDMnG3CRTWlnu62dfDwWBaiGcObWK6aGmOUTVSJcRJOPGk+BwtJdPdafzs5hwqwHl6r3+UFodhOUExeK8jnNXFMTnRwb8T1g5rwyHEkAuOMlTOfYqF/qNCIFYnu9mu5lyhn5GNmAaTABShdMoFknsuYPZ/k2nd0/UICZwnEsLdx9Vxh2U8z91TK0i7mFq1gu7y/GmJ11iwXAjox4o0YwebZ8IU+sWCro6/wT1aw3QMcwFAPKdUE7arDYuXYc3yceZVSihZw== 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=xA1dIpy6PHaXGV6sQ99yQ53iWncVoOpJXmSuHtYN2yE=; b=SYQozUC9vutv1Gg1lIlpPmucQTYJjS9aviSLoZlLHGgbeVBBBreTtg9nNyYLDH7npY6JeM2oUeCnAqKpm+wqMKzLIhZGCgkitIm7pNH4pF8alxe7p59IXGVb86hir4jsnx89XKN/TN4YlaDZ6azCpgIUTo1PzM9jOTM8nE1I/pdLNngl0e0wDJaOEyo6CVRBCnjCh3faERorCdjOtXTG3hx8doF6DhLS4sR4+k+yteASD5otWHd4ysAD4JfaG1J0O4bjBtY/0EtTLwJhTZsk/II6D3+j7BEFBmf+8RLt7ZlZedWr1QAulYD8yWW2sta4+wHNpej2NBOGvQABN6s/6A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microchip.com; dmarc=pass action=none header.from=microchip.com; dkim=pass header.d=microchip.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microchiptechnology.onmicrosoft.com; s=selector2-microchiptechnology-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xA1dIpy6PHaXGV6sQ99yQ53iWncVoOpJXmSuHtYN2yE=; b=Gj4eKdQoiJWKLDAmNRifjh2x1UzWp0NAQhhq32/luYhEqRtFtL9qcR/OeP0g7ZlvB7fqW0Be0Ga0/vDPWqIqZDoQ0KDY+dmFPRXbo8qCMSEvCKo4wWk3tf8crNphXcHOIsmnMuIXfFgstHXXq/41k9Uf4klm1EVXB9OrQlmXGsE= Received: from CO1PR11MB5154.namprd11.prod.outlook.com (2603:10b6:303:99::15) by BYAPR11MB3014.namprd11.prod.outlook.com (2603:10b6:a03:91::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Fri, 19 Aug 2022 22:19:59 +0000 Received: from CO1PR11MB5154.namprd11.prod.outlook.com ([fe80::ac89:75cd:26e0:51c3]) by CO1PR11MB5154.namprd11.prod.outlook.com ([fe80::ac89:75cd:26e0:51c3%9]) with mapi id 15.20.5546.018; Fri, 19 Aug 2022 22:19:59 +0000 From: To: , , , , , , , CC: , , , Subject: Re: [PATCH 06/12] riscv: dts: allwinner: Add the D1 SoC base devicetree Thread-Topic: [PATCH 06/12] riscv: dts: allwinner: Add the D1 SoC base devicetree Thread-Index: AQHYsGUwgMumzpPtekanQb2zMhKHQ6220tcA Date: Fri, 19 Aug 2022 22:19:59 +0000 Message-ID: <1d51cebd-d5b8-5446-3017-4cf257b2398e@microchip.com> References: <20220815050815.22340-1-samuel@sholland.org> <20220815050815.22340-7-samuel@sholland.org> In-Reply-To: <20220815050815.22340-7-samuel@sholland.org> Accept-Language: en-IE, en-US Content-Language: en-IE X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=microchip.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 59ca1891-68c5-4f82-7dd5-08da8230f443 x-ms-traffictypediagnostic: BYAPR11MB3014:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: tPHkTrfqcej9xiZoFL9ODBHmnEzXxqxZhNVSxrKiIA8aAyDjP63PmHdIVZJecOql03zPNBssmBHw8I6mUPnWmM3o0T9/G8dDdgDWvC1A1txXckwrRjndyJt9faaJYrAk9NIayMUusebLAjBt3Cblo84DMh1fRKyfbHeHw8LCBHfvSdqF+V1soyu0f1K0biEagxP0hwm1fOpDd/2Z+yXUPwWIi86bcQi8ZTvZ1KgXaPVWeWawLrXv9Mp+8TCKATa0PPDOGbWLjRS5Pb38fiBGvyjIeEvVvsY3oUWZnJkwyKVdljxI8P6IHLnN4tUUsFIswO0zYFOECxzErWpAtn4wcNUDrmVFSKUabqdG/Z5yfwp7OKLA87Ox1sW3NP8rseedZwL3ZuREmGTomscLecUaHwbmRe4vVwmrl2S7kx4Vd8ILcMvsik1SH4uctaEqfKUHFb5E6spBM0yMAnqhNXv7MKuj9YAoIGf1hLHKpVqGu8SMgUvbi9GPeNU7qQnbv7+NjgJncg6Gi2m3LOeVKM2Cs6/yt8wdOC/5Yncaj3p3RttW+gOKPRDCZmVJ+4dCRiJPEelQUHVrMuO9He8M/4lC4ucqQ1PGt1xb+JonsJT8bB31M5iRhJRGFcwe3U99VhthbjSv8ULzLcGHlye6xTIuD7Twu6fytwFhAjW8zZ2ZDdBIhSbtf14IhF14XTSHwhqe8ZqMluqaoh/SKUODZQsSez6/5Y7yDf2JkEXipsSGYgU5iq7qILt+6ABWP3Sn6l54XRZFKit/ASep6LlKyUaFRxRPi06hPJt4q/4dr1b6Vyg1JVEiDKdG/bu0b1INx/xl+u8BxJF4VCXMCKnTCGAwOg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR11MB5154.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(39860400002)(396003)(346002)(366004)(376002)(136003)(6486002)(2906002)(478600001)(5660300002)(66476007)(66946007)(66446008)(66556008)(122000001)(8936002)(7416002)(38100700002)(31686004)(30864003)(38070700005)(8676002)(64756008)(6506007)(26005)(36756003)(2616005)(54906003)(86362001)(6512007)(71200400001)(91956017)(76116006)(53546011)(4326008)(31696002)(41300700001)(110136005)(186003)(316002)(83380400001)(43740500002)(45980500001)(579004)(559001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?OTA4TDBxdmJiMVRUck9EdEVwbjhxTWp0TW5JYStyV3ZhTWFvZ3ZFNHZqRW4v?= =?utf-8?B?Q3Ixa0hiQ2tnQVlQSUJEODFoMEZ5VFc5a2N0bWV3Nm1rYVFpWUtIR29QSWN5?= =?utf-8?B?czZCaDd6UnZZWG5ldUV4Zkh1QzBzQUNLMXBHUGl4dGVra1hUajAvU3c2dWFL?= =?utf-8?B?WElVQ2x5Y0JTK2RhdnFPWDM4ajlXeU9maFEwYWNjTExlVWVxQUZwZGpjNkgz?= =?utf-8?B?MUtIS0tQWENLQWlzSjBvQWVUUTZ4a1ZndjhhcHZDN2FhcmFzNkxPWlFaa1Bo?= =?utf-8?B?d1RRMHpHWlRFTXpkZDl6bFNuZlgrQXJBbkpWWUhHQ3lOcVNuVm5BTjZjMVdm?= =?utf-8?B?UXV6VFNZQi93WUNBTWpUU1NvMnRLU2xaMWNVODE2RnpwZTZ4YTAranVUcU9s?= =?utf-8?B?cHNxNkNpcldNbTVxaGNaK2hrVzJmTHpYWnRXRjBmZEovM25WWituTUQ2MFVm?= =?utf-8?B?TmNUY0ZKNlNWVnJkUnYzUHl1WmVlYTVNU0t3Sk44dSt2MVZMaW1EV29pWXA2?= =?utf-8?B?SE5OWElvMndyVXdqSDJFVUJibFpxODVpc0lGZU5qSnRZSTd0enpuRDNFUTc3?= =?utf-8?B?U1kvS2pteGVpd0FSU3J1S0JwMGtQQVQvc0grNVUzSWl0L21xVEFLUjNvSHhD?= =?utf-8?B?Ri9PaEJ3OWJ6TjhtdjRwK24wZUoyVys3ZGkwQXloVlh1U3ppSlp0NG1jZVVw?= =?utf-8?B?WVp3bFVXdjlLaGV6NTFQMmZGUTlZN1MxZ21wcS9MWFJHd1FMSzZVTmU0Zkoz?= =?utf-8?B?ai91M2dnbWhCNnFXclZSNVNDQXpDeWlDVVhPNDlxVVd0cXRVbm12UWQ5UjRD?= =?utf-8?B?YjV5TE9EVmVtVzJIZS9DcHd0UGUyeDVTS2lzQ3BiODVrdks2MzdHejlFRk1x?= =?utf-8?B?NVRha1RBbWFZcWhuaHd5bzR0ZGtXSFhkQTZvTGRHM0hTVVM1R3o5MkI4WTRk?= =?utf-8?B?RlF1Rm0rYUJ1bVJ4NTRCYUtReURNTXB3ZlFtU045MjZ1cHFMUnNLeGJvRklD?= =?utf-8?B?S3RBRjBmSFFqQngzeUlJR3lseFBYSzZiY3VMQ1RDRVRtb3c3N3ZqcGNqdTZ2?= =?utf-8?B?eGFlc2p0dm9BVmxPYVAyUU9hTVM5aDRpZmVYRk9lclpLTXNYY0x4VVhHaWNP?= =?utf-8?B?bXUyYStiRCs4cHVXM28weFlVNHRldXNacU1hNVY3elhLNC9GZjlVYzRkcFhk?= =?utf-8?B?bEh0b1JZRC94T1RaNFVwL1pjMkEvd2dhOFBBRE9GLzQ4cUF4YldBd3JPZGdL?= =?utf-8?B?cFVVdk1MVklMeW9PMnhUakJ5Q1ZyZDdFQnJTWkw0ZDBuR1Z0NHZ1Y2N2T1JY?= =?utf-8?B?bDNVS2dZN2dCOC9iQngveFFxaTF6NDUxeTVlYWs5NU4zb1JxaG5hdk1SMVp3?= =?utf-8?B?M3pqMmxwczlXbXBhZnRVOFJrQWFEZVdqa1lmUXB0UHJHSkJVM25HREhnMUpC?= =?utf-8?B?WEZ1UjVVT0NmOFlOTHg2NHBucmduZHRxSDdCdWpEUGtvV3d1TGZwR0R2UC9v?= =?utf-8?B?eXViZUExc1hQSEpTb3VzYy9oQVVQVjRqYXBBRnpxNkF3N2RqbXFvWEVFQitw?= =?utf-8?B?OGFIOUFPVWlkMW9xMEcrSGFxZjZ5YWhsbk40cWlYNGpsWE5nek1qMDU0TkFD?= =?utf-8?B?MURWWERqUlVoVTJvam8vUUJCRUJ5SUFmdnBBV2dFbGI3M3VKM2kybU1yRVVT?= =?utf-8?B?MFc3VFJlaUZhNVZSdWt6azNmSmR6Y0VMNEdCTFVtYnpodGFoNW5NRC9qZW5v?= =?utf-8?B?VEpMZTlOOWt5dHJFenBzWElUYkpZM2xHekVWRXVoNVI3L1ViUnR2NXpjeTZU?= =?utf-8?B?K3MrOWE3TXF3MUdBSTFzK2JxcjMwZDJ6bEgzNkd2NHNnQlpmRXk1Rnp4c1Zm?= =?utf-8?B?TW4zYVQwVC8vSUp3eWdFUldJakNTZFlUdWNiYXRzRGtWaHd4blQ1a2ZrVVpZ?= =?utf-8?B?b3RsK21SRm5WOTB5Q3VEWnZUVUo0S253cjRpMDBVb3kxazZLSlNmZ1ZzcDda?= =?utf-8?B?Z3pMbytEYkNUbmJ3MldkNlo3NVBhMk5MV21RTVR2ZjJnZjdzNGVXbWdJelJP?= =?utf-8?B?b1lEcTRnbGtWNExDbVI1ZHIvcHUxcVFVWktXelBiaW0vUUF0MHZ5S3pzOVBI?= =?utf-8?Q?tMfI8uIelf99BO2TtFJVxcK2W?= Content-Type: text/plain; charset="utf-8" Content-ID: <64977E6BB4316246929EB88F44B50A57@namprd11.prod.outlook.com> Content-Transfer-Encoding: base64 Precedence: bulk X-Mailing-List: linux-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB5154.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 59ca1891-68c5-4f82-7dd5-08da8230f443 X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Aug 2022 22:19:59.3982 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3f4057f3-b418-4d4e-ba84-d55b4e897d88 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 4FzmPxrXIvgeewxc99vGmABx4G3cu5b0f1DyKC8yCYfol6at1Ta55yppZsJetlyR8xiDtUt1rqt9g9GP4uSMXKVOXqyM8mC7DG0DU9MKBlA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR11MB3014 T24gMTUvMDgvMjAyMiAwNjowOCwgU2FtdWVsIEhvbGxhbmQgd3JvdGU6DQo+IEQxIGlzIGEgU29D IGNvbnRhaW5pbmcgYSBzaW5nbGUtY29yZSBULUhFQUQgWHVhbnRpZSBDOTA2IENQVSwgYXMgd2Vs bCBhcw0KPiBvbmUgSGlGaSA0IERTUC4gVGhlIFNvQyBpcyBiYXNlZCBvbiBhIGRlc2lnbiB0aGF0 IGFkZGl0aW9uYWxseSBjb250YWluZWQNCj4gYSBwYWlyIG9mIENvcnRleCBBNydzLiBGb3IgdGhh dCByZWFzb24sIHNvbWUgcGVyaXBoZXJhbHMgYXJlIGR1cGxpY2F0ZWQuDQo+IA0KPiBUaGlzIGRl dmljZXRyZWUgaW5jbHVkZXMgYWxsIG9mIHRoZSBwZXJpcGhlcmFscyB0aGF0IGFscmVhZHkgaGF2 ZSBhDQo+IGRvY3VtZW50ZWQgYmluZGluZy4NCj4gDQo+IFNpZ25lZC1vZmYtYnk6IFNhbXVlbCBI b2xsYW5kIDxzYW11ZWxAc2hvbGxhbmQub3JnPg0KDQpUZXN0ZWQtYnk6IENvbm9yIERvb2xleSA8 Y29ub3IuZG9vbGV5QG1pY3JvY2hpcC5jb20+ICMgTmV6aGEgRDENCg0KVGhhbmtzIQ0KDQo+IC0t LQ0KPiANCj4gIGFyY2gvcmlzY3YvYm9vdC9kdHMvTWFrZWZpbGUgICAgICAgICAgICAgICAgIHwg ICAxICsNCj4gIGFyY2gvcmlzY3YvYm9vdC9kdHMvYWxsd2lubmVyL01ha2VmaWxlICAgICAgIHwg ICAxICsNCj4gIGFyY2gvcmlzY3YvYm9vdC9kdHMvYWxsd2lubmVyL3N1bjIwaS1kMS5kdHNpIHwg OTAwICsrKysrKysrKysrKysrKysrKysNCj4gIDMgZmlsZXMgY2hhbmdlZCwgOTAyIGluc2VydGlv bnMoKykNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBhcmNoL3Jpc2N2L2Jvb3QvZHRzL2FsbHdpbm5l ci9NYWtlZmlsZQ0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGFyY2gvcmlzY3YvYm9vdC9kdHMvYWxs d2lubmVyL3N1bjIwaS1kMS5kdHNpDQo+IA0KPiBkaWZmIC0tZ2l0IGEvYXJjaC9yaXNjdi9ib290 L2R0cy9NYWtlZmlsZSBiL2FyY2gvcmlzY3YvYm9vdC9kdHMvTWFrZWZpbGUNCj4gaW5kZXggZmYx NzQ5OTZjZGZkLi5mMjkyZTMxYmRiMmMgMTAwNjQ0DQo+IC0tLSBhL2FyY2gvcmlzY3YvYm9vdC9k dHMvTWFrZWZpbGUNCj4gKysrIGIvYXJjaC9yaXNjdi9ib290L2R0cy9NYWtlZmlsZQ0KPiBAQCAt MSw0ICsxLDUgQEANCj4gICMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjANCj4gK3N1 YmRpci15ICs9IGFsbHdpbm5lcg0KPiAgc3ViZGlyLXkgKz0gc2lmaXZlDQo+ICBzdWJkaXIteSAr PSBzdGFyZml2ZQ0KPiAgc3ViZGlyLSQoQ09ORklHX1NPQ19DQU5BQU5fSzIxMF9EVEJfQlVJTFRJ TikgKz0gY2FuYWFuDQo+IGRpZmYgLS1naXQgYS9hcmNoL3Jpc2N2L2Jvb3QvZHRzL2FsbHdpbm5l ci9NYWtlZmlsZSBiL2FyY2gvcmlzY3YvYm9vdC9kdHMvYWxsd2lubmVyL01ha2VmaWxlDQo+IG5l dyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAwMC4uZjY2NTU0Y2Q1YzQ1DQo+ IC0tLSAvZGV2L251bGwNCj4gKysrIGIvYXJjaC9yaXNjdi9ib290L2R0cy9hbGx3aW5uZXIvTWFr ZWZpbGUNCj4gQEAgLTAsMCArMSBAQA0KPiArIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BM LTIuMA0KPiBkaWZmIC0tZ2l0IGEvYXJjaC9yaXNjdi9ib290L2R0cy9hbGx3aW5uZXIvc3VuMjBp LWQxLmR0c2kgYi9hcmNoL3Jpc2N2L2Jvb3QvZHRzL2FsbHdpbm5lci9zdW4yMGktZDEuZHRzaQ0K PiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwMDAuLmQxNDI5Mjc0ZjIy ZQ0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL2FyY2gvcmlzY3YvYm9vdC9kdHMvYWxsd2lubmVy L3N1bjIwaS1kMS5kdHNpDQo+IEBAIC0wLDAgKzEsOTAwIEBADQo+ICsvLyBTUERYLUxpY2Vuc2Ut SWRlbnRpZmllcjogKEdQTC0yLjArIG9yIE1JVCkNCj4gKy8vIENvcHlyaWdodCAoQykgMjAyMS0y MDIyIFNhbXVlbCBIb2xsYW5kIDxzYW11ZWxAc2hvbGxhbmQub3JnPg0KPiArDQo+ICsjaW5jbHVk ZSA8ZHQtYmluZGluZ3MvY2xvY2svc3VuNmktcnRjLmg+DQo+ICsjaW5jbHVkZSA8ZHQtYmluZGlu Z3MvY2xvY2svc3VuOGktZGUyLmg+DQo+ICsjaW5jbHVkZSA8ZHQtYmluZGluZ3MvY2xvY2svc3Vu OGktdGNvbi10b3AuaD4NCj4gKyNpbmNsdWRlIDxkdC1iaW5kaW5ncy9jbG9jay9zdW4yMGktZDEt Y2N1Lmg+DQo+ICsjaW5jbHVkZSA8ZHQtYmluZGluZ3MvY2xvY2svc3VuMjBpLWQxLXItY2N1Lmg+ DQo+ICsjaW5jbHVkZSA8ZHQtYmluZGluZ3MvaW50ZXJydXB0LWNvbnRyb2xsZXIvaXJxLmg+DQo+ ICsjaW5jbHVkZSA8ZHQtYmluZGluZ3MvcmVzZXQvc3VuOGktZGUyLmg+DQo+ICsjaW5jbHVkZSA8 ZHQtYmluZGluZ3MvcmVzZXQvc3VuMjBpLWQxLWNjdS5oPg0KPiArI2luY2x1ZGUgPGR0LWJpbmRp bmdzL3Jlc2V0L3N1bjIwaS1kMS1yLWNjdS5oPg0KPiArI2luY2x1ZGUgPGR0LWJpbmRpbmdzL3Ro ZXJtYWwvdGhlcm1hbC5oPg0KPiArDQo+ICsvIHsNCj4gKwkjYWRkcmVzcy1jZWxscyA9IDwxPjsN Cj4gKwkjc2l6ZS1jZWxscyA9IDwxPjsNCj4gKw0KPiArCWNwdXMgew0KPiArCQl0aW1lYmFzZS1m cmVxdWVuY3kgPSA8MjQwMDAwMDA+Ow0KPiArCQkjYWRkcmVzcy1jZWxscyA9IDwxPjsNCj4gKwkJ I3NpemUtY2VsbHMgPSA8MD47DQo+ICsNCj4gKwkJY3B1MDogY3B1QDAgew0KPiArCQkJY29tcGF0 aWJsZSA9ICJ0aGVhZCxjOTA2IiwgInJpc2N2IjsNCj4gKwkJCWRldmljZV90eXBlID0gImNwdSI7 DQo+ICsJCQlyZWcgPSA8MD47DQo+ICsJCQljbG9ja3MgPSA8JmNjdSBDTEtfUklTQ1Y+Ow0KPiAr CQkJY2xvY2stZnJlcXVlbmN5ID0gPDI0MDAwMDAwPjsNCj4gKwkJCWQtY2FjaGUtYmxvY2stc2l6 ZSA9IDw2ND47DQo+ICsJCQlkLWNhY2hlLXNldHMgPSA8MjU2PjsNCj4gKwkJCWQtY2FjaGUtc2l6 ZSA9IDwzMjc2OD47DQo+ICsJCQlpLWNhY2hlLWJsb2NrLXNpemUgPSA8NjQ+Ow0KPiArCQkJaS1j YWNoZS1zZXRzID0gPDEyOD47DQo+ICsJCQlpLWNhY2hlLXNpemUgPSA8MzI3Njg+Ow0KPiArCQkJ bW11LXR5cGUgPSAicmlzY3Ysc3YzOSI7DQo+ICsJCQlyaXNjdixpc2EgPSAicnY2NGltYWZkYyI7 DQo+ICsJCQkjY29vbGluZy1jZWxscyA9IDwyPjsNCj4gKw0KPiArCQkJY3B1MF9pbnRjOiBpbnRl cnJ1cHQtY29udHJvbGxlciB7DQo+ICsJCQkJY29tcGF0aWJsZSA9ICJyaXNjdixjcHUtaW50YyI7 DQo+ICsJCQkJaW50ZXJydXB0LWNvbnRyb2xsZXI7DQo+ICsJCQkJI2FkZHJlc3MtY2VsbHMgPSA8 MD47DQo+ICsJCQkJI2ludGVycnVwdC1jZWxscyA9IDwxPjsNCj4gKwkJCX07DQo+ICsJCX07DQo+ ICsJfTsNCj4gKw0KPiArCWRlOiBkaXNwbGF5LWVuZ2luZSB7DQo+ICsJCWNvbXBhdGlibGUgPSAi YWxsd2lubmVyLHN1bjIwaS1kMS1kaXNwbGF5LWVuZ2luZSI7DQo+ICsJCWFsbHdpbm5lcixwaXBl bGluZXMgPSA8Jm1peGVyMD4sIDwmbWl4ZXIxPjsNCj4gKwkJc3RhdHVzID0gImRpc2FibGVkIjsN Cj4gKwl9Ow0KPiArDQo+ICsJb3NjMjRNOiBvc2MyNE0tY2xrIHsNCj4gKwkJY29tcGF0aWJsZSA9 ICJmaXhlZC1jbG9jayI7DQo+ICsJCWNsb2NrLWZyZXF1ZW5jeSA9IDwyNDAwMDAwMD47DQo+ICsJ CWNsb2NrLW91dHB1dC1uYW1lcyA9ICJvc2MyNE0iOw0KPiArCQkjY2xvY2stY2VsbHMgPSA8MD47 DQo+ICsJfTsNCj4gKw0KPiArCXNvYyB7DQo+ICsJCWNvbXBhdGlibGUgPSAic2ltcGxlLWJ1cyI7 DQo+ICsJCXJhbmdlczsNCj4gKwkJaW50ZXJydXB0LXBhcmVudCA9IDwmcGxpYz47DQo+ICsJCWRt YS1ub25jb2hlcmVudDsNCj4gKwkJI2FkZHJlc3MtY2VsbHMgPSA8MT47DQo+ICsJCSNzaXplLWNl bGxzID0gPDE+Ow0KPiArDQo+ICsJCWRzcF93ZHQ6IHdhdGNoZG9nQDE3MDA0MDAgew0KPiArCQkJ Y29tcGF0aWJsZSA9ICJhbGx3aW5uZXIsc3VuMjBpLWQxLXdkdCI7DQo+ICsJCQlyZWcgPSA8MHgx NzAwNDAwIDB4MjA+Ow0KPiArCQkJaW50ZXJydXB0cyA9IDwxMzggSVJRX1RZUEVfTEVWRUxfSElH SD47DQo+ICsJCQljbG9ja3MgPSA8Jm9zYzI0TT4sIDwmcnRjIENMS19PU0MzMks+Ow0KPiArCQkJ Y2xvY2stbmFtZXMgPSAiaG9zYyIsICJsb3NjIjsNCj4gKwkJCXN0YXR1cyA9ICJyZXNlcnZlZCI7 DQo+ICsJCX07DQo+ICsNCj4gKwkJcGlvOiBwaW5jdHJsQDIwMDAwMDAgew0KPiArCQkJY29tcGF0 aWJsZSA9ICJhbGx3aW5uZXIsc3VuMjBpLWQxLXBpbmN0cmwiOw0KPiArCQkJcmVnID0gPDB4MjAw MDAwMCAweDgwMD47DQo+ICsJCQlpbnRlcnJ1cHRzID0gPDg1IElSUV9UWVBFX0xFVkVMX0hJR0g+ LA0KPiArCQkJCSAgICAgPDg3IElSUV9UWVBFX0xFVkVMX0hJR0g+LA0KPiArCQkJCSAgICAgPDg5 IElSUV9UWVBFX0xFVkVMX0hJR0g+LA0KPiArCQkJCSAgICAgPDkxIElSUV9UWVBFX0xFVkVMX0hJ R0g+LA0KPiArCQkJCSAgICAgPDkzIElSUV9UWVBFX0xFVkVMX0hJR0g+LA0KPiArCQkJCSAgICAg PDk1IElSUV9UWVBFX0xFVkVMX0hJR0g+Ow0KPiArCQkJY2xvY2tzID0gPCZjY3UgQ0xLX0FQQjA+ LA0KPiArCQkJCSA8Jm9zYzI0TT4sDQo+ICsJCQkJIDwmcnRjIENMS19PU0MzMks+Ow0KPiArCQkJ Y2xvY2stbmFtZXMgPSAiYXBiIiwgImhvc2MiLCAibG9zYyI7DQo+ICsJCQlncGlvLWNvbnRyb2xs ZXI7DQo+ICsJCQlpbnRlcnJ1cHQtY29udHJvbGxlcjsNCj4gKwkJCSNncGlvLWNlbGxzID0gPDM+ Ow0KPiArCQkJI2ludGVycnVwdC1jZWxscyA9IDwzPjsNCj4gKw0KPiArCQkJL29taXQtaWYtbm8t cmVmLw0KPiArCQkJaTJjMF9wYjEwX3BpbnM6IGkyYzAtcGIxMC1waW5zIHsNCj4gKwkJCQlwaW5z ID0gIlBCMTAiLCAiUEIxMSI7DQo+ICsJCQkJZnVuY3Rpb24gPSAiaTJjMCI7DQo+ICsJCQl9Ow0K PiArDQo+ICsJCQkvb21pdC1pZi1uby1yZWYvDQo+ICsJCQlpMmMyX3BiMF9waW5zOiBpMmMyLXBi MC1waW5zIHsNCj4gKwkJCQlwaW5zID0gIlBCMCIsICJQQjEiOw0KPiArCQkJCWZ1bmN0aW9uID0g ImkyYzIiOw0KPiArCQkJfTsNCj4gKw0KPiArCQkJL29taXQtaWYtbm8tcmVmLw0KPiArCQkJbGNk X3JnYjY2Nl9waW5zOiBsY2QtcmdiNjY2LXBpbnMgew0KPiArCQkJCXBpbnMgPSAiUEQwIiwgIlBE MSIsICJQRDIiLCAiUEQzIiwgIlBENCIsICJQRDUiLA0KPiArCQkJCSAgICAgICAiUEQ2IiwgIlBE NyIsICJQRDgiLCAiUEQ5IiwgIlBEMTAiLCAiUEQxMSIsDQo+ICsJCQkJICAgICAgICJQRDEyIiwg IlBEMTMiLCAiUEQxNCIsICJQRDE1IiwgIlBEMTYiLCAiUEQxNyIsDQo+ICsJCQkJICAgICAgICJQ RDE4IiwgIlBEMTkiLCAiUEQyMCIsICJQRDIxIjsNCj4gKwkJCQlmdW5jdGlvbiA9ICJsY2QwIjsN Cj4gKwkJCX07DQo+ICsNCj4gKwkJCS9vbWl0LWlmLW5vLXJlZi8NCj4gKwkJCW1tYzBfcGluczog bW1jMC1waW5zIHsNCj4gKwkJCQlwaW5zID0gIlBGMCIsICJQRjEiLCAiUEYyIiwgIlBGMyIsICJQ RjQiLCAiUEY1IjsNCj4gKwkJCQlmdW5jdGlvbiA9ICJtbWMwIjsNCj4gKwkJCX07DQo+ICsNCj4g KwkJCS9vbWl0LWlmLW5vLXJlZi8NCj4gKwkJCW1tYzFfcGluczogbW1jMS1waW5zIHsNCj4gKwkJ CQlwaW5zID0gIlBHMCIsICJQRzEiLCAiUEcyIiwgIlBHMyIsICJQRzQiLCAiUEc1IjsNCj4gKwkJ CQlmdW5jdGlvbiA9ICJtbWMxIjsNCj4gKwkJCX07DQo+ICsNCj4gKwkJCS9vbWl0LWlmLW5vLXJl Zi8NCj4gKwkJCW1tYzJfcGluczogbW1jMi1waW5zIHsNCj4gKwkJCQlwaW5zID0gIlBDMiIsICJQ QzMiLCAiUEM0IiwgIlBDNSIsICJQQzYiLCAiUEM3IjsNCj4gKwkJCQlmdW5jdGlvbiA9ICJtbWMy IjsNCj4gKwkJCX07DQo+ICsNCj4gKwkJCS9vbWl0LWlmLW5vLXJlZi8NCj4gKwkJCXJnbWlpX3Bl X3BpbnM6IHJnbWlpLXBlLXBpbnMgew0KPiArCQkJCXBpbnMgPSAiUEUwIiwgIlBFMSIsICJQRTIi LCAiUEUzIiwgIlBFNCIsDQo+ICsJCQkJICAgICAgICJQRTUiLCAiUEU2IiwgIlBFNyIsICJQRTgi LCAiUEU5IiwNCj4gKwkJCQkgICAgICAgIlBFMTEiLCAiUEUxMiIsICJQRTEzIiwgIlBFMTQiLCAi UEUxNSI7DQo+ICsJCQkJZnVuY3Rpb24gPSAiZW1hYyI7DQo+ICsJCQl9Ow0KPiArDQo+ICsJCQkv b21pdC1pZi1uby1yZWYvDQo+ICsJCQlybWlpX3BlX3BpbnM6IHJtaWktcGUtcGlucyB7DQo+ICsJ CQkJcGlucyA9ICJQRTAiLCAiUEUxIiwgIlBFMiIsICJQRTMiLCAiUEU0IiwNCj4gKwkJCQkgICAg ICAgIlBFNSIsICJQRTYiLCAiUEU3IiwgIlBFOCIsICJQRTkiOw0KPiArCQkJCWZ1bmN0aW9uID0g ImVtYWMiOw0KPiArCQkJfTsNCj4gKw0KPiArCQkJL29taXQtaWYtbm8tcmVmLw0KPiArCQkJdWFy dDBfcGI4X3BpbnM6IHVhcnQwLXBiOC1waW5zIHsNCj4gKwkJCQlwaW5zID0gIlBCOCIsICJQQjki Ow0KPiArCQkJCWZ1bmN0aW9uID0gInVhcnQwIjsNCj4gKwkJCX07DQo+ICsNCj4gKwkJCS9vbWl0 LWlmLW5vLXJlZi8NCj4gKwkJCXVhcnQxX3BnNl9waW5zOiB1YXJ0MS1wZzYtcGlucyB7DQo+ICsJ CQkJcGlucyA9ICJQRzYiLCAiUEc3IjsNCj4gKwkJCQlmdW5jdGlvbiA9ICJ1YXJ0MSI7DQo+ICsJ CQl9Ow0KPiArDQo+ICsJCQkvb21pdC1pZi1uby1yZWYvDQo+ICsJCQl1YXJ0MV9wZzhfcnRzX2N0 c19waW5zOiB1YXJ0MS1wZzgtcnRzLWN0cy1waW5zIHsNCj4gKwkJCQlwaW5zID0gIlBHOCIsICJQ RzkiOw0KPiArCQkJCWZ1bmN0aW9uID0gInVhcnQxIjsNCj4gKwkJCX07DQo+ICsJCX07DQo+ICsN Cj4gKwkJY2N1OiBjbG9jay1jb250cm9sbGVyQDIwMDEwMDAgew0KPiArCQkJY29tcGF0aWJsZSA9 ICJhbGx3aW5uZXIsc3VuMjBpLWQxLWNjdSI7DQo+ICsJCQlyZWcgPSA8MHgyMDAxMDAwIDB4MTAw MD47DQo+ICsJCQljbG9ja3MgPSA8Jm9zYzI0TT4sDQo+ICsJCQkJIDwmcnRjIENMS19PU0MzMks+ LA0KPiArCQkJCSA8JnJ0YyBDTEtfSU9TQz47DQo+ICsJCQljbG9jay1uYW1lcyA9ICJob3NjIiwg Imxvc2MiLCAiaW9zYyI7DQo+ICsJCQkjY2xvY2stY2VsbHMgPSA8MT47DQo+ICsJCQkjcmVzZXQt Y2VsbHMgPSA8MT47DQo+ICsJCX07DQo+ICsNCj4gKwkJbHJhZGM6IGtleXNAMjAwOTgwMCB7DQo+ ICsJCQljb21wYXRpYmxlID0gImFsbHdpbm5lcixzdW4yMGktZDEtbHJhZGMiLA0KPiArCQkJCSAg ICAgImFsbHdpbm5lcixzdW41MGktcjMyOS1scmFkYyI7DQo+ICsJCQlyZWcgPSA8MHgyMDA5ODAw IDB4NDAwPjsNCj4gKwkJCWludGVycnVwdHMgPSA8NzcgSVJRX1RZUEVfTEVWRUxfSElHSD47DQo+ ICsJCQljbG9ja3MgPSA8JmNjdSBDTEtfQlVTX0xSQURDPjsNCj4gKwkJCXJlc2V0cyA9IDwmY2N1 IFJTVF9CVVNfTFJBREM+Ow0KPiArCQkJc3RhdHVzID0gImRpc2FibGVkIjsNCj4gKwkJfTsNCj4g Kw0KPiArCQljb2RlYzogYXVkaW8tY29kZWNAMjAzMDAwMCB7DQo+ICsJCQljb21wYXRpYmxlID0g InNpbXBsZS1tZmQiLCAic3lzY29uIjsNCj4gKwkJCXJlZyA9IDwweDIwMzAwMDAgMHgxMDAwPjsN Cj4gKwkJCSNhZGRyZXNzLWNlbGxzID0gPDE+Ow0KPiArCQkJI3NpemUtY2VsbHMgPSA8MT47DQo+ ICsNCj4gKwkJCXJlZ3VsYXRvcnNAMjAzMDM0OCB7DQo+ICsJCQkJY29tcGF0aWJsZSA9ICJhbGx3 aW5uZXIsc3VuMjBpLWQxLWFuYWxvZy1sZG9zIjsNCj4gKwkJCQlyZWcgPSA8MHgyMDMwMzQ4IDB4 ND47DQo+ICsJCQkJbnZtZW0tY2VsbHMgPSA8JmJnX3RyaW0+Ow0KPiArCQkJCW52bWVtLWNlbGwt bmFtZXMgPSAiYmdfdHJpbSI7DQo+ICsNCj4gKwkJCQlyZWdfYWxkbzogYWxkbyB7DQo+ICsJCQkJ fTsNCj4gKw0KPiArCQkJCXJlZ19ocGxkbzogaHBsZG8gew0KPiArCQkJCX07DQo+ICsJCQl9Ow0K PiArCQl9Ow0KPiArDQo+ICsJCWkyczA6IGkyc0AyMDMyMDAwIHsNCj4gKwkJCWNvbXBhdGlibGUg PSAiYWxsd2lubmVyLHN1bjIwaS1kMS1pMnMiLA0KPiArCQkJCSAgICAgImFsbHdpbm5lcixzdW41 MGktcjMyOS1pMnMiOw0KPiArCQkJcmVnID0gPDB4MjAzMjAwMCAweDEwMDA+Ow0KPiArCQkJaW50 ZXJydXB0cyA9IDw0MiBJUlFfVFlQRV9MRVZFTF9ISUdIPjsNCj4gKwkJCWNsb2NrcyA9IDwmY2N1 IENMS19CVVNfSTJTMD4sDQo+ICsJCQkJIDwmY2N1IENMS19JMlMwPjsNCj4gKwkJCWNsb2NrLW5h bWVzID0gImFwYiIsICJtb2QiOw0KPiArCQkJcmVzZXRzID0gPCZjY3UgUlNUX0JVU19JMlMwPjsN Cj4gKwkJCWRtYXMgPSA8JmRtYSAzPiwgPCZkbWEgMz47DQo+ICsJCQlkbWEtbmFtZXMgPSAicngi LCAidHgiOw0KPiArCQkJc3RhdHVzID0gImRpc2FibGVkIjsNCj4gKwkJCSNzb3VuZC1kYWktY2Vs bHMgPSA8MD47DQo+ICsJCX07DQo+ICsNCj4gKwkJaTJzMTogaTJzQDIwMzMwMDAgew0KPiArCQkJ Y29tcGF0aWJsZSA9ICJhbGx3aW5uZXIsc3VuMjBpLWQxLWkycyIsDQo+ICsJCQkJICAgICAiYWxs d2lubmVyLHN1bjUwaS1yMzI5LWkycyI7DQo+ICsJCQlyZWcgPSA8MHgyMDMzMDAwIDB4MTAwMD47 DQo+ICsJCQlpbnRlcnJ1cHRzID0gPDQzIElSUV9UWVBFX0xFVkVMX0hJR0g+Ow0KPiArCQkJY2xv Y2tzID0gPCZjY3UgQ0xLX0JVU19JMlMxPiwNCj4gKwkJCQkgPCZjY3UgQ0xLX0kyUzE+Ow0KPiAr CQkJY2xvY2stbmFtZXMgPSAiYXBiIiwgIm1vZCI7DQo+ICsJCQlyZXNldHMgPSA8JmNjdSBSU1Rf QlVTX0kyUzE+Ow0KPiArCQkJZG1hcyA9IDwmZG1hIDQ+LCA8JmRtYSA0PjsNCj4gKwkJCWRtYS1u YW1lcyA9ICJyeCIsICJ0eCI7DQo+ICsJCQlzdGF0dXMgPSAiZGlzYWJsZWQiOw0KPiArCQkJI3Nv dW5kLWRhaS1jZWxscyA9IDwwPjsNCj4gKwkJfTsNCj4gKw0KPiArCQlpMnMyOiBpMnNAMjAzNDAw MCB7DQo+ICsJCQljb21wYXRpYmxlID0gImFsbHdpbm5lcixzdW4yMGktZDEtaTJzIiwNCj4gKwkJ CQkgICAgICJhbGx3aW5uZXIsc3VuNTBpLXIzMjktaTJzIjsNCj4gKwkJCXJlZyA9IDwweDIwMzQw MDAgMHgxMDAwPjsNCj4gKwkJCWludGVycnVwdHMgPSA8NDQgSVJRX1RZUEVfTEVWRUxfSElHSD47 DQo+ICsJCQljbG9ja3MgPSA8JmNjdSBDTEtfQlVTX0kyUzI+LA0KPiArCQkJCSA8JmNjdSBDTEtf STJTMj47DQo+ICsJCQljbG9jay1uYW1lcyA9ICJhcGIiLCAibW9kIjsNCj4gKwkJCXJlc2V0cyA9 IDwmY2N1IFJTVF9CVVNfSTJTMj47DQo+ICsJCQlkbWFzID0gPCZkbWEgNT4sIDwmZG1hIDU+Ow0K PiArCQkJZG1hLW5hbWVzID0gInJ4IiwgInR4IjsNCj4gKwkJCXN0YXR1cyA9ICJkaXNhYmxlZCI7 DQo+ICsJCQkjc291bmQtZGFpLWNlbGxzID0gPDA+Ow0KPiArCQl9Ow0KPiArDQo+ICsJCXRpbWVy OiB0aW1lckAyMDUwMDAwIHsNCj4gKwkJCWNvbXBhdGlibGUgPSAiYWxsd2lubmVyLHN1bjIwaS1k MS10aW1lciIsDQo+ICsJCQkJICAgICAiYWxsd2lubmVyLHN1bjhpLWEyMy10aW1lciI7DQo+ICsJ CQlyZWcgPSA8MHgyMDUwMDAwIDB4YTA+Ow0KPiArCQkJaW50ZXJydXB0cyA9IDw3NSBJUlFfVFlQ RV9MRVZFTF9ISUdIPiwNCj4gKwkJCQkgICAgIDw3NiBJUlFfVFlQRV9MRVZFTF9ISUdIPjsNCj4g KwkJCWNsb2NrcyA9IDwmb3NjMjRNPjsNCj4gKwkJfTsNCj4gKw0KPiArCQl3ZHQ6IHdhdGNoZG9n QDIwNTAwYTAgew0KPiArCQkJY29tcGF0aWJsZSA9ICJhbGx3aW5uZXIsc3VuMjBpLWQxLXdkdC1y ZXNldCIsDQo+ICsJCQkJICAgICAiYWxsd2lubmVyLHN1bjIwaS1kMS13ZHQiOw0KPiArCQkJcmVn ID0gPDB4MjA1MDBhMCAweDIwPjsNCj4gKwkJCWludGVycnVwdHMgPSA8NzkgSVJRX1RZUEVfTEVW RUxfSElHSD47DQo+ICsJCQljbG9ja3MgPSA8Jm9zYzI0TT4sIDwmcnRjIENMS19PU0MzMks+Ow0K PiArCQkJY2xvY2stbmFtZXMgPSAiaG9zYyIsICJsb3NjIjsNCj4gKwkJCXN0YXR1cyA9ICJyZXNl cnZlZCI7DQo+ICsJCX07DQo+ICsNCj4gKwkJdWFydDA6IHNlcmlhbEAyNTAwMDAwIHsNCj4gKwkJ CWNvbXBhdGlibGUgPSAic25wcyxkdy1hcGItdWFydCI7DQo+ICsJCQlyZWcgPSA8MHgyNTAwMDAw IDB4NDAwPjsNCj4gKwkJCXJlZy1pby13aWR0aCA9IDw0PjsNCj4gKwkJCXJlZy1zaGlmdCA9IDwy PjsNCj4gKwkJCWludGVycnVwdHMgPSA8MTggSVJRX1RZUEVfTEVWRUxfSElHSD47DQo+ICsJCQlj bG9ja3MgPSA8JmNjdSBDTEtfQlVTX1VBUlQwPjsNCj4gKwkJCXJlc2V0cyA9IDwmY2N1IFJTVF9C VVNfVUFSVDA+Ow0KPiArCQkJZG1hcyA9IDwmZG1hIDE0PiwgPCZkbWEgMTQ+Ow0KPiArCQkJZG1h LW5hbWVzID0gInJ4IiwgInR4IjsNCj4gKwkJCXN0YXR1cyA9ICJkaXNhYmxlZCI7DQo+ICsJCX07 DQo+ICsNCj4gKwkJdWFydDE6IHNlcmlhbEAyNTAwNDAwIHsNCj4gKwkJCWNvbXBhdGlibGUgPSAi c25wcyxkdy1hcGItdWFydCI7DQo+ICsJCQlyZWcgPSA8MHgyNTAwNDAwIDB4NDAwPjsNCj4gKwkJ CXJlZy1pby13aWR0aCA9IDw0PjsNCj4gKwkJCXJlZy1zaGlmdCA9IDwyPjsNCj4gKwkJCWludGVy cnVwdHMgPSA8MTkgSVJRX1RZUEVfTEVWRUxfSElHSD47DQo+ICsJCQljbG9ja3MgPSA8JmNjdSBD TEtfQlVTX1VBUlQxPjsNCj4gKwkJCXJlc2V0cyA9IDwmY2N1IFJTVF9CVVNfVUFSVDE+Ow0KPiAr CQkJZG1hcyA9IDwmZG1hIDE1PiwgPCZkbWEgMTU+Ow0KPiArCQkJZG1hLW5hbWVzID0gInJ4Iiwg InR4IjsNCj4gKwkJCXN0YXR1cyA9ICJkaXNhYmxlZCI7DQo+ICsJCX07DQo+ICsNCj4gKwkJdWFy dDI6IHNlcmlhbEAyNTAwODAwIHsNCj4gKwkJCWNvbXBhdGlibGUgPSAic25wcyxkdy1hcGItdWFy dCI7DQo+ICsJCQlyZWcgPSA8MHgyNTAwODAwIDB4NDAwPjsNCj4gKwkJCXJlZy1pby13aWR0aCA9 IDw0PjsNCj4gKwkJCXJlZy1zaGlmdCA9IDwyPjsNCj4gKwkJCWludGVycnVwdHMgPSA8MjAgSVJR X1RZUEVfTEVWRUxfSElHSD47DQo+ICsJCQljbG9ja3MgPSA8JmNjdSBDTEtfQlVTX1VBUlQyPjsN Cj4gKwkJCXJlc2V0cyA9IDwmY2N1IFJTVF9CVVNfVUFSVDI+Ow0KPiArCQkJZG1hcyA9IDwmZG1h IDE2PiwgPCZkbWEgMTY+Ow0KPiArCQkJZG1hLW5hbWVzID0gInJ4IiwgInR4IjsNCj4gKwkJCXN0 YXR1cyA9ICJkaXNhYmxlZCI7DQo+ICsJCX07DQo+ICsNCj4gKwkJdWFydDM6IHNlcmlhbEAyNTAw YzAwIHsNCj4gKwkJCWNvbXBhdGlibGUgPSAic25wcyxkdy1hcGItdWFydCI7DQo+ICsJCQlyZWcg PSA8MHgyNTAwYzAwIDB4NDAwPjsNCj4gKwkJCXJlZy1pby13aWR0aCA9IDw0PjsNCj4gKwkJCXJl Zy1zaGlmdCA9IDwyPjsNCj4gKwkJCWludGVycnVwdHMgPSA8MjEgSVJRX1RZUEVfTEVWRUxfSElH SD47DQo+ICsJCQljbG9ja3MgPSA8JmNjdSBDTEtfQlVTX1VBUlQzPjsNCj4gKwkJCXJlc2V0cyA9 IDwmY2N1IFJTVF9CVVNfVUFSVDM+Ow0KPiArCQkJZG1hcyA9IDwmZG1hIDE3PiwgPCZkbWEgMTc+ Ow0KPiArCQkJZG1hLW5hbWVzID0gInJ4IiwgInR4IjsNCj4gKwkJCXN0YXR1cyA9ICJkaXNhYmxl ZCI7DQo+ICsJCX07DQo+ICsNCj4gKwkJdWFydDQ6IHNlcmlhbEAyNTAxMDAwIHsNCj4gKwkJCWNv bXBhdGlibGUgPSAic25wcyxkdy1hcGItdWFydCI7DQo+ICsJCQlyZWcgPSA8MHgyNTAxMDAwIDB4 NDAwPjsNCj4gKwkJCXJlZy1pby13aWR0aCA9IDw0PjsNCj4gKwkJCXJlZy1zaGlmdCA9IDwyPjsN Cj4gKwkJCWludGVycnVwdHMgPSA8MjIgSVJRX1RZUEVfTEVWRUxfSElHSD47DQo+ICsJCQljbG9j a3MgPSA8JmNjdSBDTEtfQlVTX1VBUlQ0PjsNCj4gKwkJCXJlc2V0cyA9IDwmY2N1IFJTVF9CVVNf VUFSVDQ+Ow0KPiArCQkJZG1hcyA9IDwmZG1hIDE4PiwgPCZkbWEgMTg+Ow0KPiArCQkJZG1hLW5h bWVzID0gInJ4IiwgInR4IjsNCj4gKwkJCXN0YXR1cyA9ICJkaXNhYmxlZCI7DQo+ICsJCX07DQo+ ICsNCj4gKwkJdWFydDU6IHNlcmlhbEAyNTAxNDAwIHsNCj4gKwkJCWNvbXBhdGlibGUgPSAic25w cyxkdy1hcGItdWFydCI7DQo+ICsJCQlyZWcgPSA8MHgyNTAxNDAwIDB4NDAwPjsNCj4gKwkJCXJl Zy1pby13aWR0aCA9IDw0PjsNCj4gKwkJCXJlZy1zaGlmdCA9IDwyPjsNCj4gKwkJCWludGVycnVw dHMgPSA8MjMgSVJRX1RZUEVfTEVWRUxfSElHSD47DQo+ICsJCQljbG9ja3MgPSA8JmNjdSBDTEtf QlVTX1VBUlQ1PjsNCj4gKwkJCXJlc2V0cyA9IDwmY2N1IFJTVF9CVVNfVUFSVDU+Ow0KPiArCQkJ ZG1hcyA9IDwmZG1hIDE5PiwgPCZkbWEgMTk+Ow0KPiArCQkJZG1hLW5hbWVzID0gInJ4IiwgInR4 IjsNCj4gKwkJCXN0YXR1cyA9ICJkaXNhYmxlZCI7DQo+ICsJCX07DQo+ICsNCj4gKwkJaTJjMDog aTJjQDI1MDIwMDAgew0KPiArCQkJY29tcGF0aWJsZSA9ICJhbGx3aW5uZXIsc3VuMjBpLWQxLWky YyIsDQo+ICsJCQkJICAgICAiYWxsd2lubmVyLHN1bjhpLXY1MzYtaTJjIiwNCj4gKwkJCQkgICAg ICJhbGx3aW5uZXIsc3VuNmktYTMxLWkyYyI7DQo+ICsJCQlyZWcgPSA8MHgyNTAyMDAwIDB4NDAw PjsNCj4gKwkJCWludGVycnVwdHMgPSA8MjUgSVJRX1RZUEVfTEVWRUxfSElHSD47DQo+ICsJCQlj bG9ja3MgPSA8JmNjdSBDTEtfQlVTX0kyQzA+Ow0KPiArCQkJcmVzZXRzID0gPCZjY3UgUlNUX0JV U19JMkMwPjsNCj4gKwkJCWRtYXMgPSA8JmRtYSA0Mz4sIDwmZG1hIDQzPjsNCj4gKwkJCWRtYS1u YW1lcyA9ICJyeCIsICJ0eCI7DQo+ICsJCQlzdGF0dXMgPSAiZGlzYWJsZWQiOw0KPiArCQkJI2Fk ZHJlc3MtY2VsbHMgPSA8MT47DQo+ICsJCQkjc2l6ZS1jZWxscyA9IDwwPjsNCj4gKwkJfTsNCj4g Kw0KPiArCQlpMmMxOiBpMmNAMjUwMjQwMCB7DQo+ICsJCQljb21wYXRpYmxlID0gImFsbHdpbm5l cixzdW4yMGktZDEtaTJjIiwNCj4gKwkJCQkgICAgICJhbGx3aW5uZXIsc3VuOGktdjUzNi1pMmMi LA0KPiArCQkJCSAgICAgImFsbHdpbm5lcixzdW42aS1hMzEtaTJjIjsNCj4gKwkJCXJlZyA9IDww eDI1MDI0MDAgMHg0MDA+Ow0KPiArCQkJaW50ZXJydXB0cyA9IDwyNiBJUlFfVFlQRV9MRVZFTF9I SUdIPjsNCj4gKwkJCWNsb2NrcyA9IDwmY2N1IENMS19CVVNfSTJDMT47DQo+ICsJCQlyZXNldHMg PSA8JmNjdSBSU1RfQlVTX0kyQzE+Ow0KPiArCQkJZG1hcyA9IDwmZG1hIDQ0PiwgPCZkbWEgNDQ+ Ow0KPiArCQkJZG1hLW5hbWVzID0gInJ4IiwgInR4IjsNCj4gKwkJCXN0YXR1cyA9ICJkaXNhYmxl ZCI7DQo+ICsJCQkjYWRkcmVzcy1jZWxscyA9IDwxPjsNCj4gKwkJCSNzaXplLWNlbGxzID0gPDA+ Ow0KPiArCQl9Ow0KPiArDQo+ICsJCWkyYzI6IGkyY0AyNTAyODAwIHsNCj4gKwkJCWNvbXBhdGli bGUgPSAiYWxsd2lubmVyLHN1bjIwaS1kMS1pMmMiLA0KPiArCQkJCSAgICAgImFsbHdpbm5lcixz dW44aS12NTM2LWkyYyIsDQo+ICsJCQkJICAgICAiYWxsd2lubmVyLHN1bjZpLWEzMS1pMmMiOw0K PiArCQkJcmVnID0gPDB4MjUwMjgwMCAweDQwMD47DQo+ICsJCQlpbnRlcnJ1cHRzID0gPDI3IElS UV9UWVBFX0xFVkVMX0hJR0g+Ow0KPiArCQkJY2xvY2tzID0gPCZjY3UgQ0xLX0JVU19JMkMyPjsN Cj4gKwkJCXJlc2V0cyA9IDwmY2N1IFJTVF9CVVNfSTJDMj47DQo+ICsJCQlkbWFzID0gPCZkbWEg NDU+LCA8JmRtYSA0NT47DQo+ICsJCQlkbWEtbmFtZXMgPSAicngiLCAidHgiOw0KPiArCQkJc3Rh dHVzID0gImRpc2FibGVkIjsNCj4gKwkJCSNhZGRyZXNzLWNlbGxzID0gPDE+Ow0KPiArCQkJI3Np emUtY2VsbHMgPSA8MD47DQo+ICsJCX07DQo+ICsNCj4gKwkJaTJjMzogaTJjQDI1MDJjMDAgew0K PiArCQkJY29tcGF0aWJsZSA9ICJhbGx3aW5uZXIsc3VuMjBpLWQxLWkyYyIsDQo+ICsJCQkJICAg ICAiYWxsd2lubmVyLHN1bjhpLXY1MzYtaTJjIiwNCj4gKwkJCQkgICAgICJhbGx3aW5uZXIsc3Vu NmktYTMxLWkyYyI7DQo+ICsJCQlyZWcgPSA8MHgyNTAyYzAwIDB4NDAwPjsNCj4gKwkJCWludGVy cnVwdHMgPSA8MjggSVJRX1RZUEVfTEVWRUxfSElHSD47DQo+ICsJCQljbG9ja3MgPSA8JmNjdSBD TEtfQlVTX0kyQzM+Ow0KPiArCQkJcmVzZXRzID0gPCZjY3UgUlNUX0JVU19JMkMzPjsNCj4gKwkJ CWRtYXMgPSA8JmRtYSA0Nj4sIDwmZG1hIDQ2PjsNCj4gKwkJCWRtYS1uYW1lcyA9ICJyeCIsICJ0 eCI7DQo+ICsJCQlzdGF0dXMgPSAiZGlzYWJsZWQiOw0KPiArCQkJI2FkZHJlc3MtY2VsbHMgPSA8 MT47DQo+ICsJCQkjc2l6ZS1jZWxscyA9IDwwPjsNCj4gKwkJfTsNCj4gKw0KPiArCQlzeXNjb246 IHN5c2NvbkAzMDAwMDAwIHsNCj4gKwkJCWNvbXBhdGlibGUgPSAiYWxsd2lubmVyLHN1bjIwaS1k MS1zeXN0ZW0tY29udHJvbCI7DQo+ICsJCQlyZWcgPSA8MHgzMDAwMDAwIDB4MTAwMD47DQo+ICsJ CQlyYW5nZXM7DQo+ICsJCQkjYWRkcmVzcy1jZWxscyA9IDwxPjsNCj4gKwkJCSNzaXplLWNlbGxz ID0gPDE+Ow0KPiArDQo+ICsJCQlyZWd1bGF0b3JzQDMwMDAxNTAgew0KPiArCQkJCWNvbXBhdGli bGUgPSAiYWxsd2lubmVyLHN1bjIwaS1kMS1zeXN0ZW0tbGRvcyI7DQo+ICsJCQkJcmVnID0gPDB4 MzAwMDE1MCAweDQ+Ow0KPiArDQo+ICsJCQkJcmVnX2xkb2E6IGxkb2Egew0KPiArCQkJCX07DQo+ ICsNCj4gKwkJCQlyZWdfbGRvYjogbGRvYiB7DQo+ICsJCQkJfTsNCj4gKwkJCX07DQo+ICsJCX07 DQo+ICsNCj4gKwkJZG1hOiBkbWEtY29udHJvbGxlckAzMDAyMDAwIHsNCj4gKwkJCWNvbXBhdGli bGUgPSAiYWxsd2lubmVyLHN1bjIwaS1kMS1kbWEiOw0KPiArCQkJcmVnID0gPDB4MzAwMjAwMCAw eDEwMDA+Ow0KPiArCQkJaW50ZXJydXB0cyA9IDw2NiBJUlFfVFlQRV9MRVZFTF9ISUdIPjsNCj4g KwkJCWNsb2NrcyA9IDwmY2N1IENMS19CVVNfRE1BPiwgPCZjY3UgQ0xLX01CVVNfRE1BPjsNCj4g KwkJCWNsb2NrLW5hbWVzID0gImJ1cyIsICJtYnVzIjsNCj4gKwkJCXJlc2V0cyA9IDwmY2N1IFJT VF9CVVNfRE1BPjsNCj4gKwkJCWRtYS1jaGFubmVscyA9IDwxNj47DQo+ICsJCQlkbWEtcmVxdWVz dHMgPSA8NDg+Ow0KPiArCQkJI2RtYS1jZWxscyA9IDwxPjsNCj4gKwkJfTsNCj4gKw0KPiArCQlz aWQ6IGVmdXNlQDMwMDYwMDAgew0KPiArCQkJY29tcGF0aWJsZSA9ICJhbGx3aW5uZXIsc3VuMjBp LWQxLXNpZCI7DQo+ICsJCQlyZWcgPSA8MHgzMDA2MDAwIDB4MTAwMD47DQo+ICsJCQkjYWRkcmVz cy1jZWxscyA9IDwxPjsNCj4gKwkJCSNzaXplLWNlbGxzID0gPDE+Ow0KPiArDQo+ICsJCQl0aHNf Y2FsaWI6IHRocy1jYWxpYkAxNCB7DQo+ICsJCQkJcmVnID0gPDB4MTQgMHg0PjsNCj4gKwkJCX07 DQo+ICsNCj4gKwkJCWJnX3RyaW06IGJnLXRyaW1AMjggew0KPiArCQkJCXJlZyA9IDwweDI4IDB4 ND47DQo+ICsJCQkJYml0cyA9IDwxNiA4PjsNCj4gKwkJCX07DQo+ICsJCX07DQo+ICsNCj4gKwkJ bWJ1czogZHJhbS1jb250cm9sbGVyQDMxMDIwMDAgew0KPiArCQkJY29tcGF0aWJsZSA9ICJhbGx3 aW5uZXIsc3VuMjBpLWQxLW1idXMiOw0KPiArCQkJcmVnID0gPDB4MzEwMjAwMCAweDEwMDA+LA0K PiArCQkJICAgICAgPDB4MzEwMzAwMCAweDEwMDA+Ow0KPiArCQkJcmVnLW5hbWVzID0gIm1idXMi LCAiZHJhbSI7DQo+ICsJCQlpbnRlcnJ1cHRzID0gPDU5IElSUV9UWVBFX0xFVkVMX0hJR0g+Ow0K PiArCQkJY2xvY2tzID0gPCZjY3UgQ0xLX01CVVM+LA0KPiArCQkJCSA8JmNjdSBDTEtfRFJBTT4s DQo+ICsJCQkJIDwmY2N1IENMS19CVVNfRFJBTT47DQo+ICsJCQljbG9jay1uYW1lcyA9ICJtYnVz IiwgImRyYW0iLCAiYnVzIjsNCj4gKwkJCWRtYS1yYW5nZXMgPSA8MCAweDQwMDAwMDAwIDB4ODAw MDAwMDA+Ow0KPiArCQkJI2FkZHJlc3MtY2VsbHMgPSA8MT47DQo+ICsJCQkjc2l6ZS1jZWxscyA9 IDwxPjsNCj4gKwkJCSNpbnRlcmNvbm5lY3QtY2VsbHMgPSA8MT47DQo+ICsJCX07DQo+ICsNCj4g KwkJbW1jMDogbW1jQDQwMjAwMDAgew0KPiArCQkJY29tcGF0aWJsZSA9ICJhbGx3aW5uZXIsc3Vu MjBpLWQxLW1tYyI7DQo+ICsJCQlyZWcgPSA8MHg0MDIwMDAwIDB4MTAwMD47DQo+ICsJCQlpbnRl cnJ1cHRzID0gPDU2IElSUV9UWVBFX0xFVkVMX0hJR0g+Ow0KPiArCQkJY2xvY2tzID0gPCZjY3Ug Q0xLX0JVU19NTUMwPiwgPCZjY3UgQ0xLX01NQzA+Ow0KPiArCQkJY2xvY2stbmFtZXMgPSAiYWhi IiwgIm1tYyI7DQo+ICsJCQlyZXNldHMgPSA8JmNjdSBSU1RfQlVTX01NQzA+Ow0KPiArCQkJcmVz ZXQtbmFtZXMgPSAiYWhiIjsNCj4gKwkJCWNhcC1zZC1oaWdoc3BlZWQ7DQo+ICsJCQltYXgtZnJl cXVlbmN5ID0gPDE1MDAwMDAwMD47DQo+ICsJCQluby1tbWM7DQo+ICsJCQlzdGF0dXMgPSAiZGlz YWJsZWQiOw0KPiArCQkJI2FkZHJlc3MtY2VsbHMgPSA8MT47DQo+ICsJCQkjc2l6ZS1jZWxscyA9 IDwwPjsNCj4gKwkJfTsNCj4gKw0KPiArCQltbWMxOiBtbWNANDAyMTAwMCB7DQo+ICsJCQljb21w YXRpYmxlID0gImFsbHdpbm5lcixzdW4yMGktZDEtbW1jIjsNCj4gKwkJCXJlZyA9IDwweDQwMjEw MDAgMHgxMDAwPjsNCj4gKwkJCWludGVycnVwdHMgPSA8NTcgSVJRX1RZUEVfTEVWRUxfSElHSD47 DQo+ICsJCQljbG9ja3MgPSA8JmNjdSBDTEtfQlVTX01NQzE+LCA8JmNjdSBDTEtfTU1DMT47DQo+ ICsJCQljbG9jay1uYW1lcyA9ICJhaGIiLCAibW1jIjsNCj4gKwkJCXJlc2V0cyA9IDwmY2N1IFJT VF9CVVNfTU1DMT47DQo+ICsJCQlyZXNldC1uYW1lcyA9ICJhaGIiOw0KPiArCQkJY2FwLXNkLWhp Z2hzcGVlZDsNCj4gKwkJCW1heC1mcmVxdWVuY3kgPSA8MTUwMDAwMDAwPjsNCj4gKwkJCW5vLW1t YzsNCj4gKwkJCXN0YXR1cyA9ICJkaXNhYmxlZCI7DQo+ICsJCQkjYWRkcmVzcy1jZWxscyA9IDwx PjsNCj4gKwkJCSNzaXplLWNlbGxzID0gPDA+Ow0KPiArCQl9Ow0KPiArDQo+ICsJCW1tYzI6IG1t Y0A0MDIyMDAwIHsNCj4gKwkJCWNvbXBhdGlibGUgPSAiYWxsd2lubmVyLHN1bjIwaS1kMS1lbW1j IiwNCj4gKwkJCQkgICAgICJhbGx3aW5uZXIsc3VuNTBpLWExMDAtZW1tYyI7DQo+ICsJCQlyZWcg PSA8MHg0MDIyMDAwIDB4MTAwMD47DQo+ICsJCQlpbnRlcnJ1cHRzID0gPDU4IElSUV9UWVBFX0xF VkVMX0hJR0g+Ow0KPiArCQkJY2xvY2tzID0gPCZjY3UgQ0xLX0JVU19NTUMyPiwgPCZjY3UgQ0xL X01NQzI+Ow0KPiArCQkJY2xvY2stbmFtZXMgPSAiYWhiIiwgIm1tYyI7DQo+ICsJCQlyZXNldHMg PSA8JmNjdSBSU1RfQlVTX01NQzI+Ow0KPiArCQkJcmVzZXQtbmFtZXMgPSAiYWhiIjsNCj4gKwkJ CWNhcC1tbWMtaGlnaHNwZWVkOw0KPiArCQkJbWF4LWZyZXF1ZW5jeSA9IDwxNTAwMDAwMDA+Ow0K PiArCQkJbW1jLWRkci0xXzh2Ow0KPiArCQkJbW1jLWRkci0zXzN2Ow0KPiArCQkJbm8tc2Q7DQo+ ICsJCQluby1zZGlvOw0KPiArCQkJc3RhdHVzID0gImRpc2FibGVkIjsNCj4gKwkJCSNhZGRyZXNz LWNlbGxzID0gPDE+Ow0KPiArCQkJI3NpemUtY2VsbHMgPSA8MD47DQo+ICsJCX07DQo+ICsNCj4g KwkJdXNiX290ZzogdXNiQDQxMDAwMDAgew0KPiArCQkJY29tcGF0aWJsZSA9ICJhbGx3aW5uZXIs c3VuMjBpLWQxLW11c2IiLA0KPiArCQkJCSAgICAgImFsbHdpbm5lcixzdW44aS1hMzMtbXVzYiI7 DQo+ICsJCQlyZWcgPSA8MHg0MTAwMDAwIDB4NDAwPjsNCj4gKwkJCWludGVycnVwdHMgPSA8NDUg SVJRX1RZUEVfTEVWRUxfSElHSD47DQo+ICsJCQlpbnRlcnJ1cHQtbmFtZXMgPSAibWMiOw0KPiAr CQkJY2xvY2tzID0gPCZjY3UgQ0xLX0JVU19PVEc+Ow0KPiArCQkJcmVzZXRzID0gPCZjY3UgUlNU X0JVU19PVEc+Ow0KPiArCQkJZXh0Y29uID0gPCZ1c2JwaHkgMD47DQo+ICsJCQlwaHlzID0gPCZ1 c2JwaHkgMD47DQo+ICsJCQlwaHktbmFtZXMgPSAidXNiIjsNCj4gKwkJCXN0YXR1cyA9ICJkaXNh YmxlZCI7DQo+ICsJCX07DQo+ICsNCj4gKwkJdXNicGh5OiBwaHlANDEwMDQwMCB7DQo+ICsJCQlj b21wYXRpYmxlID0gImFsbHdpbm5lcixzdW4yMGktZDEtdXNiLXBoeSI7DQo+ICsJCQlyZWcgPSA8 MHg0MTAwNDAwIDB4MTAwPiwNCj4gKwkJCSAgICAgIDwweDQxMDE4MDAgMHgxMDA+LA0KPiArCQkJ ICAgICAgPDB4NDIwMDgwMCAweDEwMD47DQo+ICsJCQlyZWctbmFtZXMgPSAicGh5X2N0cmwiLA0K PiArCQkJCSAgICAicG11MCIsDQo+ICsJCQkJICAgICJwbXUxIjsNCj4gKwkJCWNsb2NrcyA9IDwm b3NjMjRNPiwNCj4gKwkJCQkgPCZvc2MyNE0+Ow0KPiArCQkJY2xvY2stbmFtZXMgPSAidXNiMF9w aHkiLA0KPiArCQkJCSAgICAgICJ1c2IxX3BoeSI7DQo+ICsJCQlyZXNldHMgPSA8JmNjdSBSU1Rf VVNCX1BIWTA+LA0KPiArCQkJCSA8JmNjdSBSU1RfVVNCX1BIWTE+Ow0KPiArCQkJcmVzZXQtbmFt ZXMgPSAidXNiMF9yZXNldCIsDQo+ICsJCQkJICAgICAgInVzYjFfcmVzZXQiOw0KPiArCQkJc3Rh dHVzID0gImRpc2FibGVkIjsNCj4gKwkJCSNwaHktY2VsbHMgPSA8MT47DQo+ICsJCX07DQo+ICsN Cj4gKwkJZWhjaTA6IHVzYkA0MTAxMDAwIHsNCj4gKwkJCWNvbXBhdGlibGUgPSAiYWxsd2lubmVy LHN1bjIwaS1kMS1laGNpIiwNCj4gKwkJCQkgICAgICJnZW5lcmljLWVoY2kiOw0KPiArCQkJcmVn ID0gPDB4NDEwMTAwMCAweDEwMD47DQo+ICsJCQlpbnRlcnJ1cHRzID0gPDQ2IElSUV9UWVBFX0xF VkVMX0hJR0g+Ow0KPiArCQkJY2xvY2tzID0gPCZjY3UgQ0xLX0JVU19PSENJMD4sDQo+ICsJCQkJ IDwmY2N1IENMS19CVVNfRUhDSTA+LA0KPiArCQkJCSA8JmNjdSBDTEtfVVNCX09IQ0kwPjsNCj4g KwkJCXJlc2V0cyA9IDwmY2N1IFJTVF9CVVNfT0hDSTA+LA0KPiArCQkJCSA8JmNjdSBSU1RfQlVT X0VIQ0kwPjsNCj4gKwkJCXBoeXMgPSA8JnVzYnBoeSAwPjsNCj4gKwkJCXBoeS1uYW1lcyA9ICJ1 c2IiOw0KPiArCQkJc3RhdHVzID0gImRpc2FibGVkIjsNCj4gKwkJfTsNCj4gKw0KPiArCQlvaGNp MDogdXNiQDQxMDE0MDAgew0KPiArCQkJY29tcGF0aWJsZSA9ICJhbGx3aW5uZXIsc3VuMjBpLWQx LW9oY2kiLA0KPiArCQkJCSAgICAgImdlbmVyaWMtb2hjaSI7DQo+ICsJCQlyZWcgPSA8MHg0MTAx NDAwIDB4MTAwPjsNCj4gKwkJCWludGVycnVwdHMgPSA8NDcgSVJRX1RZUEVfTEVWRUxfSElHSD47 DQo+ICsJCQljbG9ja3MgPSA8JmNjdSBDTEtfQlVTX09IQ0kwPiwNCj4gKwkJCQkgPCZjY3UgQ0xL X1VTQl9PSENJMD47DQo+ICsJCQlyZXNldHMgPSA8JmNjdSBSU1RfQlVTX09IQ0kwPjsNCj4gKwkJ CXBoeXMgPSA8JnVzYnBoeSAwPjsNCj4gKwkJCXBoeS1uYW1lcyA9ICJ1c2IiOw0KPiArCQkJc3Rh dHVzID0gImRpc2FibGVkIjsNCj4gKwkJfTsNCj4gKw0KPiArCQllaGNpMTogdXNiQDQyMDAwMDAg ew0KPiArCQkJY29tcGF0aWJsZSA9ICJhbGx3aW5uZXIsc3VuMjBpLWQxLWVoY2kiLA0KPiArCQkJ CSAgICAgImdlbmVyaWMtZWhjaSI7DQo+ICsJCQlyZWcgPSA8MHg0MjAwMDAwIDB4MTAwPjsNCj4g KwkJCWludGVycnVwdHMgPSA8NDkgSVJRX1RZUEVfTEVWRUxfSElHSD47DQo+ICsJCQljbG9ja3Mg PSA8JmNjdSBDTEtfQlVTX09IQ0kxPiwNCj4gKwkJCQkgPCZjY3UgQ0xLX0JVU19FSENJMT4sDQo+ ICsJCQkJIDwmY2N1IENMS19VU0JfT0hDSTE+Ow0KPiArCQkJcmVzZXRzID0gPCZjY3UgUlNUX0JV U19PSENJMT4sDQo+ICsJCQkJIDwmY2N1IFJTVF9CVVNfRUhDSTE+Ow0KPiArCQkJcGh5cyA9IDwm dXNicGh5IDE+Ow0KPiArCQkJcGh5LW5hbWVzID0gInVzYiI7DQo+ICsJCQlzdGF0dXMgPSAiZGlz YWJsZWQiOw0KPiArCQl9Ow0KPiArDQo+ICsJCW9oY2kxOiB1c2JANDIwMDQwMCB7DQo+ICsJCQlj b21wYXRpYmxlID0gImFsbHdpbm5lcixzdW4yMGktZDEtb2hjaSIsDQo+ICsJCQkJICAgICAiZ2Vu ZXJpYy1vaGNpIjsNCj4gKwkJCXJlZyA9IDwweDQyMDA0MDAgMHgxMDA+Ow0KPiArCQkJaW50ZXJy dXB0cyA9IDw1MCBJUlFfVFlQRV9MRVZFTF9ISUdIPjsNCj4gKwkJCWNsb2NrcyA9IDwmY2N1IENM S19CVVNfT0hDSTE+LA0KPiArCQkJCSA8JmNjdSBDTEtfVVNCX09IQ0kxPjsNCj4gKwkJCXJlc2V0 cyA9IDwmY2N1IFJTVF9CVVNfT0hDSTE+Ow0KPiArCQkJcGh5cyA9IDwmdXNicGh5IDE+Ow0KPiAr CQkJcGh5LW5hbWVzID0gInVzYiI7DQo+ICsJCQlzdGF0dXMgPSAiZGlzYWJsZWQiOw0KPiArCQl9 Ow0KPiArDQo+ICsJCWVtYWM6IGV0aGVybmV0QDQ1MDAwMDAgew0KPiArCQkJY29tcGF0aWJsZSA9 ICJhbGx3aW5uZXIsc3VuMjBpLWQxLWVtYWMiLA0KPiArCQkJCSAgICAgImFsbHdpbm5lcixzdW41 MGktYTY0LWVtYWMiOw0KPiArCQkJcmVnID0gPDB4NDUwMDAwMCAweDEwMDAwPjsNCj4gKwkJCWlu dGVycnVwdHMgPSA8NjIgSVJRX1RZUEVfTEVWRUxfSElHSD47DQo+ICsJCQlpbnRlcnJ1cHQtbmFt ZXMgPSAibWFjaXJxIjsNCj4gKwkJCWNsb2NrcyA9IDwmY2N1IENMS19CVVNfRU1BQz47DQo+ICsJ CQljbG9jay1uYW1lcyA9ICJzdG1tYWNldGgiOw0KPiArCQkJcmVzZXRzID0gPCZjY3UgUlNUX0JV U19FTUFDPjsNCj4gKwkJCXJlc2V0LW5hbWVzID0gInN0bW1hY2V0aCI7DQo+ICsJCQlzeXNjb24g PSA8JnN5c2Nvbj47DQo+ICsJCQlzdGF0dXMgPSAiZGlzYWJsZWQiOw0KPiArDQo+ICsJCQltZGlv OiBtZGlvIHsNCj4gKwkJCQljb21wYXRpYmxlID0gInNucHMsZHdtYWMtbWRpbyI7DQo+ICsJCQkJ I2FkZHJlc3MtY2VsbHMgPSA8MT47DQo+ICsJCQkJI3NpemUtY2VsbHMgPSA8MD47DQo+ICsJCQl9 Ow0KPiArCQl9Ow0KPiArDQo+ICsJCWRpc3BsYXlfY2xvY2tzOiBjbG9jay1jb250cm9sbGVyQDUw MDAwMDAgew0KPiArCQkJY29tcGF0aWJsZSA9ICJhbGx3aW5uZXIsc3VuMjBpLWQxLWRlMi1jbGsi LA0KPiArCQkJCSAgICAgImFsbHdpbm5lcixzdW41MGktaDUtZGUyLWNsayI7DQo+ICsJCQlyZWcg PSA8MHg1MDAwMDAwIDB4MTAwMDA+Ow0KPiArCQkJY2xvY2tzID0gPCZjY3UgQ0xLX0JVU19ERT4s IDwmY2N1IENMS19ERT47DQo+ICsJCQljbG9jay1uYW1lcyA9ICJidXMiLCAibW9kIjsNCj4gKwkJ CXJlc2V0cyA9IDwmY2N1IFJTVF9CVVNfREU+Ow0KPiArCQkJI2Nsb2NrLWNlbGxzID0gPDE+Ow0K PiArCQkJI3Jlc2V0LWNlbGxzID0gPDE+Ow0KPiArCQl9Ow0KPiArDQo+ICsJCW1peGVyMDogbWl4 ZXJANTEwMDAwMCB7DQo+ICsJCQljb21wYXRpYmxlID0gImFsbHdpbm5lcixzdW4yMGktZDEtZGUy LW1peGVyLTAiOw0KPiArCQkJcmVnID0gPDB4NTEwMDAwMCAweDEwMDAwMD47DQo+ICsJCQljbG9j a3MgPSA8JmRpc3BsYXlfY2xvY2tzIENMS19CVVNfTUlYRVIwPiwNCj4gKwkJCQkgPCZkaXNwbGF5 X2Nsb2NrcyBDTEtfTUlYRVIwPjsNCj4gKwkJCWNsb2NrLW5hbWVzID0gImJ1cyIsICJtb2QiOw0K PiArCQkJcmVzZXRzID0gPCZkaXNwbGF5X2Nsb2NrcyBSU1RfTUlYRVIwPjsNCj4gKw0KPiArCQkJ cG9ydHMgew0KPiArCQkJCSNhZGRyZXNzLWNlbGxzID0gPDE+Ow0KPiArCQkJCSNzaXplLWNlbGxz ID0gPDA+Ow0KPiArDQo+ICsJCQkJbWl4ZXIwX291dDogcG9ydEAxIHsNCj4gKwkJCQkJcmVnID0g PDE+Ow0KPiArDQo+ICsJCQkJCW1peGVyMF9vdXRfdGNvbl90b3BfbWl4ZXIwOiBlbmRwb2ludCB7 DQo+ICsJCQkJCQlyZW1vdGUtZW5kcG9pbnQgPSA8JnRjb25fdG9wX21peGVyMF9pbl9taXhlcjA+ Ow0KPiArCQkJCQl9Ow0KPiArCQkJCX07DQo+ICsJCQl9Ow0KPiArCQl9Ow0KPiArDQo+ICsJCW1p eGVyMTogbWl4ZXJANTIwMDAwMCB7DQo+ICsJCQljb21wYXRpYmxlID0gImFsbHdpbm5lcixzdW4y MGktZDEtZGUyLW1peGVyLTEiOw0KPiArCQkJcmVnID0gPDB4NTIwMDAwMCAweDEwMDAwMD47DQo+ ICsJCQljbG9ja3MgPSA8JmRpc3BsYXlfY2xvY2tzIENMS19CVVNfTUlYRVIxPiwNCj4gKwkJCQkg PCZkaXNwbGF5X2Nsb2NrcyBDTEtfTUlYRVIxPjsNCj4gKwkJCWNsb2NrLW5hbWVzID0gImJ1cyIs ICJtb2QiOw0KPiArCQkJcmVzZXRzID0gPCZkaXNwbGF5X2Nsb2NrcyBSU1RfTUlYRVIxPjsNCj4g Kw0KPiArCQkJcG9ydHMgew0KPiArCQkJCSNhZGRyZXNzLWNlbGxzID0gPDE+Ow0KPiArCQkJCSNz aXplLWNlbGxzID0gPDA+Ow0KPiArDQo+ICsJCQkJbWl4ZXIxX291dDogcG9ydEAxIHsNCj4gKwkJ CQkJcmVnID0gPDE+Ow0KPiArDQo+ICsJCQkJCW1peGVyMV9vdXRfdGNvbl90b3BfbWl4ZXIxOiBl bmRwb2ludCB7DQo+ICsJCQkJCQlyZW1vdGUtZW5kcG9pbnQgPSA8JnRjb25fdG9wX21peGVyMV9p bl9taXhlcjE+Ow0KPiArCQkJCQl9Ow0KPiArCQkJCX07DQo+ICsJCQl9Ow0KPiArCQl9Ow0KPiAr DQo+ICsJCXRjb25fdG9wOiB0Y29uLXRvcEA1NDYwMDAwIHsNCj4gKwkJCWNvbXBhdGlibGUgPSAi YWxsd2lubmVyLHN1bjIwaS1kMS10Y29uLXRvcCI7DQo+ICsJCQlyZWcgPSA8MHg1NDYwMDAwIDB4 MTAwMD47DQo+ICsJCQljbG9ja3MgPSA8JmNjdSBDTEtfQlVTX0RQU1NfVE9QPiwNCj4gKwkJCQkg PCZjY3UgQ0xLX1RDT05fVFY+LA0KPiArCQkJCSA8JmNjdSBDTEtfVFZFPiwNCj4gKwkJCQkgPCZj Y3UgQ0xLX01JUElfRFNJPjsNCj4gKwkJCWNsb2NrLW5hbWVzID0gImJ1cyIsICJ0Y29uLXR2MCIs ICJ0dmUwIiwgImRzaSI7DQo+ICsJCQljbG9jay1vdXRwdXQtbmFtZXMgPSAidGNvbi10b3AtdHYw IiwgInRjb24tdG9wLWRzaSI7DQo+ICsJCQlyZXNldHMgPSA8JmNjdSBSU1RfQlVTX0RQU1NfVE9Q PjsNCj4gKwkJCSNjbG9jay1jZWxscyA9IDwxPjsNCj4gKw0KPiArCQkJcG9ydHMgew0KPiArCQkJ CSNhZGRyZXNzLWNlbGxzID0gPDE+Ow0KPiArCQkJCSNzaXplLWNlbGxzID0gPDA+Ow0KPiArDQo+ ICsJCQkJdGNvbl90b3BfbWl4ZXIwX2luOiBwb3J0QDAgew0KPiArCQkJCQlyZWcgPSA8MD47DQo+ ICsJCQkJCSNhZGRyZXNzLWNlbGxzID0gPDE+Ow0KPiArCQkJCQkjc2l6ZS1jZWxscyA9IDwwPjsN Cj4gKw0KPiArCQkJCQl0Y29uX3RvcF9taXhlcjBfaW5fbWl4ZXIwOiBlbmRwb2ludEAwIHsNCj4g KwkJCQkJCXJlZyA9IDwwPjsNCj4gKwkJCQkJCXJlbW90ZS1lbmRwb2ludCA9IDwmbWl4ZXIwX291 dF90Y29uX3RvcF9taXhlcjA+Ow0KPiArCQkJCQl9Ow0KPiArCQkJCX07DQo+ICsNCj4gKwkJCQl0 Y29uX3RvcF9taXhlcjBfb3V0OiBwb3J0QDEgew0KPiArCQkJCQlyZWcgPSA8MT47DQo+ICsJCQkJ CSNhZGRyZXNzLWNlbGxzID0gPDE+Ow0KPiArCQkJCQkjc2l6ZS1jZWxscyA9IDwwPjsNCj4gKw0K PiArCQkJCQl0Y29uX3RvcF9taXhlcjBfb3V0X3Rjb25fbGNkMDogZW5kcG9pbnRAMCB7DQo+ICsJ CQkJCQlyZWcgPSA8MD47DQo+ICsJCQkJCQlyZW1vdGUtZW5kcG9pbnQgPSA8JnRjb25fbGNkMF9p bl90Y29uX3RvcF9taXhlcjA+Ow0KPiArCQkJCQl9Ow0KPiArDQo+ICsJCQkJCXRjb25fdG9wX21p eGVyMF9vdXRfdGNvbl90djA6IGVuZHBvaW50QDIgew0KPiArCQkJCQkJcmVnID0gPDI+Ow0KPiAr CQkJCQkJcmVtb3RlLWVuZHBvaW50ID0gPCZ0Y29uX3R2MF9pbl90Y29uX3RvcF9taXhlcjA+Ow0K PiArCQkJCQl9Ow0KPiArCQkJCX07DQo+ICsNCj4gKwkJCQl0Y29uX3RvcF9taXhlcjFfaW46IHBv cnRAMiB7DQo+ICsJCQkJCXJlZyA9IDwyPjsNCj4gKwkJCQkJI2FkZHJlc3MtY2VsbHMgPSA8MT47 DQo+ICsJCQkJCSNzaXplLWNlbGxzID0gPDA+Ow0KPiArDQo+ICsJCQkJCXRjb25fdG9wX21peGVy MV9pbl9taXhlcjE6IGVuZHBvaW50QDEgew0KPiArCQkJCQkJcmVnID0gPDE+Ow0KPiArCQkJCQkJ cmVtb3RlLWVuZHBvaW50ID0gPCZtaXhlcjFfb3V0X3Rjb25fdG9wX21peGVyMT47DQo+ICsJCQkJ CX07DQo+ICsJCQkJfTsNCj4gKw0KPiArCQkJCXRjb25fdG9wX21peGVyMV9vdXQ6IHBvcnRAMyB7 DQo+ICsJCQkJCXJlZyA9IDwzPjsNCj4gKwkJCQkJI2FkZHJlc3MtY2VsbHMgPSA8MT47DQo+ICsJ CQkJCSNzaXplLWNlbGxzID0gPDA+Ow0KPiArDQo+ICsJCQkJCXRjb25fdG9wX21peGVyMV9vdXRf dGNvbl9sY2QwOiBlbmRwb2ludEAwIHsNCj4gKwkJCQkJCXJlZyA9IDwwPjsNCj4gKwkJCQkJCXJl bW90ZS1lbmRwb2ludCA9IDwmdGNvbl9sY2QwX2luX3Rjb25fdG9wX21peGVyMT47DQo+ICsJCQkJ CX07DQo+ICsNCj4gKwkJCQkJdGNvbl90b3BfbWl4ZXIxX291dF90Y29uX3R2MDogZW5kcG9pbnRA MiB7DQo+ICsJCQkJCQlyZWcgPSA8Mj47DQo+ICsJCQkJCQlyZW1vdGUtZW5kcG9pbnQgPSA8JnRj b25fdHYwX2luX3Rjb25fdG9wX21peGVyMT47DQo+ICsJCQkJCX07DQo+ICsJCQkJfTsNCj4gKw0K PiArCQkJCXRjb25fdG9wX2hkbWlfaW46IHBvcnRANCB7DQo+ICsJCQkJCXJlZyA9IDw0PjsNCj4g Kw0KPiArCQkJCQl0Y29uX3RvcF9oZG1pX2luX3Rjb25fdHYwOiBlbmRwb2ludCB7DQo+ICsJCQkJ CQlyZW1vdGUtZW5kcG9pbnQgPSA8JnRjb25fdHYwX291dF90Y29uX3RvcF9oZG1pPjsNCj4gKwkJ CQkJfTsNCj4gKwkJCQl9Ow0KPiArDQo+ICsJCQkJdGNvbl90b3BfaGRtaV9vdXQ6IHBvcnRANSB7 DQo+ICsJCQkJCXJlZyA9IDw1PjsNCj4gKwkJCQl9Ow0KPiArCQkJfTsNCj4gKwkJfTsNCj4gKw0K PiArCQl0Y29uX2xjZDA6IGxjZC1jb250cm9sbGVyQDU0NjEwMDAgew0KPiArCQkJY29tcGF0aWJs ZSA9ICJhbGx3aW5uZXIsc3VuMjBpLWQxLXRjb24tbGNkIjsNCj4gKwkJCXJlZyA9IDwweDU0NjEw MDAgMHgxMDAwPjsNCj4gKwkJCWludGVycnVwdHMgPSA8MTA2IElSUV9UWVBFX0xFVkVMX0hJR0g+ Ow0KPiArCQkJY2xvY2tzID0gPCZjY3UgQ0xLX0JVU19UQ09OX0xDRDA+LA0KPiArCQkJCSA8JmNj dSBDTEtfVENPTl9MQ0QwPjsNCj4gKwkJCWNsb2NrLW5hbWVzID0gImFoYiIsICJ0Y29uLWNoMCI7 DQo+ICsJCQljbG9jay1vdXRwdXQtbmFtZXMgPSAidGNvbi1waXhlbC1jbG9jayI7DQo+ICsJCQly ZXNldHMgPSA8JmNjdSBSU1RfQlVTX1RDT05fTENEMD4sDQo+ICsJCQkJIDwmY2N1IFJTVF9CVVNf TFZEUzA+Ow0KPiArCQkJcmVzZXQtbmFtZXMgPSAibGNkIiwgImx2ZHMiOw0KPiArCQkJI2Nsb2Nr LWNlbGxzID0gPDA+Ow0KPiArDQo+ICsJCQlwb3J0cyB7DQo+ICsJCQkJI2FkZHJlc3MtY2VsbHMg PSA8MT47DQo+ICsJCQkJI3NpemUtY2VsbHMgPSA8MD47DQo+ICsNCj4gKwkJCQl0Y29uX2xjZDBf aW46IHBvcnRAMCB7DQo+ICsJCQkJCXJlZyA9IDwwPjsNCj4gKwkJCQkJI2FkZHJlc3MtY2VsbHMg PSA8MT47DQo+ICsJCQkJCSNzaXplLWNlbGxzID0gPDA+Ow0KPiArDQo+ICsJCQkJCXRjb25fbGNk MF9pbl90Y29uX3RvcF9taXhlcjA6IGVuZHBvaW50QDAgew0KPiArCQkJCQkJcmVnID0gPDA+Ow0K PiArCQkJCQkJcmVtb3RlLWVuZHBvaW50ID0gPCZ0Y29uX3RvcF9taXhlcjBfb3V0X3Rjb25fbGNk MD47DQo+ICsJCQkJCX07DQo+ICsNCj4gKwkJCQkJdGNvbl9sY2QwX2luX3Rjb25fdG9wX21peGVy MTogZW5kcG9pbnRAMSB7DQo+ICsJCQkJCQlyZWcgPSA8MT47DQo+ICsJCQkJCQlyZW1vdGUtZW5k cG9pbnQgPSA8JnRjb25fdG9wX21peGVyMV9vdXRfdGNvbl9sY2QwPjsNCj4gKwkJCQkJfTsNCj4g KwkJCQl9Ow0KPiArDQo+ICsJCQkJdGNvbl9sY2QwX291dDogcG9ydEAxIHsNCj4gKwkJCQkJcmVn ID0gPDE+Ow0KPiArCQkJCX07DQo+ICsJCQl9Ow0KPiArCQl9Ow0KPiArDQo+ICsJCXRjb25fdHYw OiBsY2QtY29udHJvbGxlckA1NDcwMDAwIHsNCj4gKwkJCWNvbXBhdGlibGUgPSAiYWxsd2lubmVy LHN1bjIwaS1kMS10Y29uLXR2IjsNCj4gKwkJCXJlZyA9IDwweDU0NzAwMDAgMHgxMDAwPjsNCj4g KwkJCWludGVycnVwdHMgPSA8MTA3IElSUV9UWVBFX0xFVkVMX0hJR0g+Ow0KPiArCQkJY2xvY2tz ID0gPCZjY3UgQ0xLX0JVU19UQ09OX1RWPiwNCj4gKwkJCQkgPCZ0Y29uX3RvcCBDTEtfVENPTl9U T1BfVFYwPjsNCj4gKwkJCWNsb2NrLW5hbWVzID0gImFoYiIsICJ0Y29uLWNoMSI7DQo+ICsJCQly ZXNldHMgPSA8JmNjdSBSU1RfQlVTX1RDT05fVFY+Ow0KPiArCQkJcmVzZXQtbmFtZXMgPSAibGNk IjsNCj4gKw0KPiArCQkJcG9ydHMgew0KPiArCQkJCSNhZGRyZXNzLWNlbGxzID0gPDE+Ow0KPiAr CQkJCSNzaXplLWNlbGxzID0gPDA+Ow0KPiArDQo+ICsJCQkJdGNvbl90djBfaW46IHBvcnRAMCB7 DQo+ICsJCQkJCXJlZyA9IDwwPjsNCj4gKwkJCQkJI2FkZHJlc3MtY2VsbHMgPSA8MT47DQo+ICsJ CQkJCSNzaXplLWNlbGxzID0gPDA+Ow0KPiArDQo+ICsJCQkJCXRjb25fdHYwX2luX3Rjb25fdG9w X21peGVyMDogZW5kcG9pbnRAMCB7DQo+ICsJCQkJCQlyZWcgPSA8MD47DQo+ICsJCQkJCQlyZW1v dGUtZW5kcG9pbnQgPSA8JnRjb25fdG9wX21peGVyMF9vdXRfdGNvbl90djA+Ow0KPiArCQkJCQl9 Ow0KPiArDQo+ICsJCQkJCXRjb25fdHYwX2luX3Rjb25fdG9wX21peGVyMTogZW5kcG9pbnRAMSB7 DQo+ICsJCQkJCQlyZWcgPSA8MT47DQo+ICsJCQkJCQlyZW1vdGUtZW5kcG9pbnQgPSA8JnRjb25f dG9wX21peGVyMV9vdXRfdGNvbl90djA+Ow0KPiArCQkJCQl9Ow0KPiArCQkJCX07DQo+ICsNCj4g KwkJCQl0Y29uX3R2MF9vdXQ6IHBvcnRAMSB7DQo+ICsJCQkJCXJlZyA9IDwxPjsNCj4gKw0KPiAr CQkJCQl0Y29uX3R2MF9vdXRfdGNvbl90b3BfaGRtaTogZW5kcG9pbnQgew0KPiArCQkJCQkJcmVt b3RlLWVuZHBvaW50ID0gPCZ0Y29uX3RvcF9oZG1pX2luX3Rjb25fdHYwPjsNCj4gKwkJCQkJfTsN Cj4gKwkJCQl9Ow0KPiArCQkJfTsNCj4gKwkJfTsNCj4gKw0KPiArCQlyaXNjdl93ZHQ6IHdhdGNo ZG9nQDYwMTEwMDAgew0KPiArCQkJY29tcGF0aWJsZSA9ICJhbGx3aW5uZXIsc3VuMjBpLWQxLXdk dCI7DQo+ICsJCQlyZWcgPSA8MHg2MDExMDAwIDB4MjA+Ow0KPiArCQkJaW50ZXJydXB0cyA9IDwx NDcgSVJRX1RZUEVfTEVWRUxfSElHSD47DQo+ICsJCQljbG9ja3MgPSA8Jm9zYzI0TT4sIDwmcnRj IENMS19PU0MzMks+Ow0KPiArCQkJY2xvY2stbmFtZXMgPSAiaG9zYyIsICJsb3NjIjsNCj4gKwkJ fTsNCj4gKw0KPiArCQlyX2NjdTogY2xvY2stY29udHJvbGxlckA3MDEwMDAwIHsNCj4gKwkJCWNv bXBhdGlibGUgPSAiYWxsd2lubmVyLHN1bjIwaS1kMS1yLWNjdSI7DQo+ICsJCQlyZWcgPSA8MHg3 MDEwMDAwIDB4NDAwPjsNCj4gKwkJCWNsb2NrcyA9IDwmb3NjMjRNPiwNCj4gKwkJCQkgPCZydGMg Q0xLX09TQzMySz4sDQo+ICsJCQkJIDwmcnRjIENMS19JT1NDPiwNCj4gKwkJCQkgPCZjY3UgQ0xL X1BMTF9QRVJJUEgwX0RJVjM+Ow0KPiArCQkJY2xvY2stbmFtZXMgPSAiaG9zYyIsICJsb3NjIiwg Imlvc2MiLCAicGxsLXBlcmlwaCI7DQo+ICsJCQkjY2xvY2stY2VsbHMgPSA8MT47DQo+ICsJCQkj cmVzZXQtY2VsbHMgPSA8MT47DQo+ICsJCX07DQo+ICsNCj4gKwkJcnRjOiBydGNANzA5MDAwMCB7 DQo+ICsJCQljb21wYXRpYmxlID0gImFsbHdpbm5lcixzdW4yMGktZDEtcnRjIiwNCj4gKwkJCQkg ICAgICJhbGx3aW5uZXIsc3VuNTBpLXIzMjktcnRjIjsNCj4gKwkJCXJlZyA9IDwweDcwOTAwMDAg MHg0MDA+Ow0KPiArCQkJaW50ZXJydXB0cyA9IDwxNjAgSVJRX1RZUEVfTEVWRUxfSElHSD47DQo+ ICsJCQljbG9ja3MgPSA8JnJfY2N1IENMS19CVVNfUl9SVEM+LA0KPiArCQkJCSA8Jm9zYzI0TT4s DQo+ICsJCQkJIDwmcl9jY3UgQ0xLX1JfQUhCPjsNCj4gKwkJCWNsb2NrLW5hbWVzID0gImJ1cyIs ICJob3NjIiwgImFoYiI7DQo+ICsJCQkjY2xvY2stY2VsbHMgPSA8MT47DQo+ICsJCX07DQo+ICsN Cj4gKwkJcGxpYzogaW50ZXJydXB0LWNvbnRyb2xsZXJAMTAwMDAwMDAgew0KPiArCQkJY29tcGF0 aWJsZSA9ICJhbGx3aW5uZXIsc3VuMjBpLWQxLXBsaWMiLA0KPiArCQkJCSAgICAgInRoZWFkLGM5 MDAtcGxpYyI7DQo+ICsJCQlyZWcgPSA8MHgxMDAwMDAwMCAweDQwMDAwMDA+Ow0KPiArCQkJaW50 ZXJydXB0cy1leHRlbmRlZCA9IDwmY3B1MF9pbnRjIDExPiwNCj4gKwkJCQkJICAgICAgPCZjcHUw X2ludGMgOT47DQo+ICsJCQlpbnRlcnJ1cHQtY29udHJvbGxlcjsNCj4gKwkJCXJpc2N2LG5kZXYg PSA8MTc2PjsNCj4gKwkJCSNhZGRyZXNzLWNlbGxzID0gPDA+Ow0KPiArCQkJI2ludGVycnVwdC1j ZWxscyA9IDwyPjsNCj4gKwkJfTsNCj4gKwl9Ow0KPiArfTsNCg==