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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 771A7C6FD1C for ; Tue, 14 Mar 2023 07:39:56 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230268AbjCNHjz (ORCPT ); Tue, 14 Mar 2023 03:39:55 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56602 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230207AbjCNHjy (ORCPT ); Tue, 14 Mar 2023 03:39:54 -0400 Received: from mx1.tq-group.com (mx1.tq-group.com [93.104.207.81]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DC76A8C533 for ; Tue, 14 Mar 2023 00:39:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tq-group.com; i=@tq-group.com; q=dns/txt; s=key1; t=1678779593; x=1710315593; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=bGnt/g+jzGoM6d9RDIJs6Wtfqozp1RiVkvq2PhJw+DI=; b=MyS0L2LOijBxgb979yt+CTFm4JCu9IVSmpgYEH2+NgvQapzE52n5JH8f 6s7BJdBgsyf45o9Ynb/f11zWzQYt8+Mz23M2mPXoeQHw9TLvT7gmgWNll b9kvbt3dPOmkg9R/EEXZLWj/iFxoUj0ltIYqkeyaR3uTGZLra9BMjR7Ef wydF5Q4VECYb++msrOVaUM/mmrA8NdkIkYIJUgY4QIGoL7aBU3ofbOw6g qKJev28JBKvcdc0vL8/QTRxHACtPe0zYQRIozXw72qfdNw5bSjIczEQsR BPNPJO2eoG8IGX+b8nhKvqSJvxAjIUg76lOiczpdYHrGV7xnBaYuqiHle g==; X-IronPort-AV: E=Sophos;i="5.98,259,1673910000"; d="scan'208";a="29665317" Received: from unknown (HELO tq-pgp-pr1.tq-net.de) ([192.168.6.15]) by mx1-pgp.tq-group.com with ESMTP; 14 Mar 2023 08:39:51 +0100 Received: from mx1.tq-group.com ([192.168.6.7]) by tq-pgp-pr1.tq-net.de (PGP Universal service); Tue, 14 Mar 2023 08:39:51 +0100 X-PGP-Universal: processed; by tq-pgp-pr1.tq-net.de on Tue, 14 Mar 2023 08:39:51 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tq-group.com; i=@tq-group.com; q=dns/txt; s=key1; t=1678779591; x=1710315591; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=bGnt/g+jzGoM6d9RDIJs6Wtfqozp1RiVkvq2PhJw+DI=; b=Jn10Ljf0eDAPhynhubiolzDu2zIEQKAH6ZDElFnb80VdJec/qAVSBX0L zosqS/s2tEJl/ILlNHaxMR5FNVrOEMp8LJuvYqzKMPBsVrJaQxXXeC14R IP92djL1dtYP67jPC0wECnFOly2lUPiPkB3JVI5R/PVTfZNWPoi0igmrc 79SggibIZ3GHATRF9KbI3moeRytGZMHDvsBARl0bhaYyi9jjEYPcogB5+ OhhAiUTLqzSQuW2OWWLGbJ29gqjGf5p3Zl93AaeU9ZCiO/wbevTOprDSG lEGvnB9jPDJg9vu/n6DnLW6k51rSolams4JJRHZ/2sKSYyROSi2ZqP6YR A==; X-IronPort-AV: E=Sophos;i="5.98,259,1673910000"; d="scan'208";a="29665316" Received: from vtuxmail01.tq-net.de ([10.115.0.20]) by mx1.tq-group.com with ESMTP; 14 Mar 2023 08:39:51 +0100 Received: from steina-w.localnet (unknown [10.123.53.21]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by vtuxmail01.tq-net.de (Postfix) with ESMTPSA id DED05280056; Tue, 14 Mar 2023 08:39:50 +0100 (CET) From: Alexander Stein To: Adam Ford Cc: linux-arm-kernel@lists.infradead.org, linux-pm@vger.kernel.org, Pengutronix Kernel Team Subject: Re: NOC (interconnect) lockup on i.MX8MP during resume Date: Tue, 14 Mar 2023 08:39:48 +0100 Message-ID: <2220041.iZASKD2KPV@steina-w> Organization: TQ-Systems GmbH In-Reply-To: References: <2176690.usQuhbGJ8B@steina-w> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org Hi Adam, Am Montag, 13. M=C3=A4rz 2023, 20:17:55 CET schrieb Adam Ford: > On Thu, Mar 9, 2023 at 9:11=E2=80=AFAM Alexander Stein >=20 > wrote: > > Hi, > >=20 > > while debugging another issue regarding suspend/resume I noticed that t= he > > imx interconnect driver locks up the system when writing into registers. > > This happens during resume of the 'g2' power domain. > > imx8m_blk_ctrl_power_on() will eventually call down to > > imx_icc_node_set(). Using the debug diff furthe down I get this output: > >=20 > > [ 71.493062] imx_icc_node_set: node: VPU G2 > > [ 71.497163] imx_icc_node_set: peak_bw: 1 > > [ 71.501091] imx_icc_node_set: prio: 0x80000303 > > > >=20 > > Unfortunately there is absolutely no documentation regarding NOC in the > > reference manual, so no idea whats happening here. > > This is on next-20230309 using imx8mp-tqma8mpql-mba8mpxl.dts with USB > > disabled (prevents suspend) and Ethernet-PHY-IRQ disabled (the issue I'm > > tackling). > > Is there some idea what do in order to support resume on i.MX8MP? >=20 > I haven't played with suspend-resume myself, but there was a thread > [1] with discussions about fixing a race condition on the imx8mp > interconnect. Thanks for this link, but I think this is addressing a race condition durin= g=20 (un)registering. This works for me so far. I'm dealing with a freezing=20 hardware write upon resume. Best regards, Alexander > adam >=20 > [1] - > https://lore.kernel.org/lkml/20230201101559.15529-5-johan+linaro@kernel.o= rg > / > > Best regards, > > Alexander > >=20 > > ---8<--- > > diff --git a/drivers/interconnect/imx/imx.c > > b/drivers/interconnect/imx/imx.c index 979ed610f704..93ec79cc7c06 100644 > > --- a/drivers/interconnect/imx/imx.c > > +++ b/drivers/interconnect/imx/imx.c > > @@ -44,13 +44,18 @@ static int imx_icc_node_set(struct icc_node *node) > >=20 > > u32 prio; > > u64 freq; > >=20 > > + pr_info("%s: node: %s\n", __func__, node->name); > > + pr_info("%s: peak_bw: %u\n", __func__, node->peak_bw); > >=20 > > if (node_data->setting && node->peak_bw) { > > =20 > > base =3D node_data->setting->reg + > > node_data->imx_provider->noc_base; > > if (node_data->setting->mode =3D=3D IMX_NOC_MODE_FIXED)= { > > =20 > > prio =3D node_data->setting->prio_level; > > prio =3D PRIORITY_COMP_MARK | (prio << 8) | pri= o; > >=20 > > + pr_info("%s: prio: %#x\n", __func__, prio); > >=20 > > writel(prio, base + IMX_NOC_PRIO_REG); > >=20 > > + pr_info("%s: mode: %#x\n", __func__, > > node_data->setting->mode);>=20 > > writel(node_data->setting->mode, base + > > IMX_NOC_MODE_REG); > >=20 > > + pr_info("%s: ext_control: #%x\n", __func__, > > node_data->setting->ext_control);>=20 > > writel(node_data->setting->ext_control, base + > > IMX_NOC_EXT_CTL_REG); > > dev_dbg(dev, "%s: mode: 0x%x, prio: 0x%x, > > ext_control: 0x%x\n", > > =20 > > node_data->desc->name, > > node_data->setting->mode, prio, > >=20 > > ---8<--- > >=20 > > -- > > TQ-Systems GmbH | M=C3=BChlstra=C3=9Fe 2, Gut Delling | 82229 Seefeld, = Germany > > Amtsgericht M=C3=BCnchen, HRB 105018 > > Gesch=C3=A4ftsf=C3=BChrer: Detlef Schneider, R=C3=BCdiger Stahl, Stefan= Schneider > > http://www.tq-group.com/ =2D-=20 TQ-Systems GmbH | M=C3=BChlstra=C3=9Fe 2, Gut Delling | 82229 Seefeld, Germ= any Amtsgericht M=C3=BCnchen, HRB 105018 Gesch=C3=A4ftsf=C3=BChrer: Detlef Schneider, R=C3=BCdiger Stahl, Stefan Sch= neider http://www.tq-group.com/ 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 BB938C6FD1F for ; Tue, 14 Mar 2023 07:41:10 +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:References:In-Reply-To: Message-ID:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=kxMOpOR6CogdimFgWo0giMhAMvP0N3PWToMZeVh1YbA=; b=bPkVbnRatcBovr gxn3BSVR+0hkaExF5i9lywtmhf1UkBYj9dwjNuBSgO4GLnZmmn4EMVynR7nmzQ6gAzpxsoocyqOHM kCxkeBdYaZT2V+Bxon5l7daRNssqAk0b1E00j6YDhxFNIhLf/geurkgkpQgpIiuLjmZWyJz3Z/FSY dfsMOS5AMz/xKwmoEFodRdJ9fwWDupS0nMQVtWkEfi/GB897Pbs3GFKIfLwQ8ees175hGsX/IKx3D YpUY35h4Y1bUzDeTUuAdhI9pGFg9Wl+4/fOHusMeeOHYZszBdZLvlT5CQdPDrrrFKeprb5rBu/Vx+ KSbd3NOHPzcpElerPbXA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1pbzGM-009Nyq-2X; Tue, 14 Mar 2023 07:40:02 +0000 Received: from mx1.tq-group.com ([93.104.207.81]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1pbzGH-009NyD-T1 for linux-arm-kernel@lists.infradead.org; Tue, 14 Mar 2023 07:40:00 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tq-group.com; i=@tq-group.com; q=dns/txt; s=key1; t=1678779597; x=1710315597; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=bGnt/g+jzGoM6d9RDIJs6Wtfqozp1RiVkvq2PhJw+DI=; b=BETDwbS4lQppOLuESlZWi79XR2Vn8wauqeY1LZIrPZOdBFSMWFsHqfyO hfHcLnW0Fub5gcclrrFexJJiSd0R0A0jLYGA+R9zYMn/I98Z/f8bbIZUM rBoXsSWYceY7X0+HaslWtIOtH6yasZNwYXs48Ky8q3wxjokO2fmzhJ7/3 ekYxL0xc1QOe65XYvyx8TRF70Ifkjw1a4h3m5PV1H7dY2vDfY56cK1w2N FNghbxVEjzjnV7EuRrQrPGBwR+R7VwJtj3WEvIS4O3xuRLc3y6pmn9jbm Qww8qMWS0H1v+DRNXR0RKLXKj200HOLI2Xc4Omwfo9xBH93hhbH95Sy8g Q==; X-IronPort-AV: E=Sophos;i="5.98,259,1673910000"; d="scan'208";a="29665317" Received: from unknown (HELO tq-pgp-pr1.tq-net.de) ([192.168.6.15]) by mx1-pgp.tq-group.com with ESMTP; 14 Mar 2023 08:39:51 +0100 Received: from mx1.tq-group.com ([192.168.6.7]) by tq-pgp-pr1.tq-net.de (PGP Universal service); Tue, 14 Mar 2023 08:39:51 +0100 X-PGP-Universal: processed; by tq-pgp-pr1.tq-net.de on Tue, 14 Mar 2023 08:39:51 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tq-group.com; i=@tq-group.com; q=dns/txt; s=key1; t=1678779591; x=1710315591; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=bGnt/g+jzGoM6d9RDIJs6Wtfqozp1RiVkvq2PhJw+DI=; b=Jn10Ljf0eDAPhynhubiolzDu2zIEQKAH6ZDElFnb80VdJec/qAVSBX0L zosqS/s2tEJl/ILlNHaxMR5FNVrOEMp8LJuvYqzKMPBsVrJaQxXXeC14R IP92djL1dtYP67jPC0wECnFOly2lUPiPkB3JVI5R/PVTfZNWPoi0igmrc 79SggibIZ3GHATRF9KbI3moeRytGZMHDvsBARl0bhaYyi9jjEYPcogB5+ OhhAiUTLqzSQuW2OWWLGbJ29gqjGf5p3Zl93AaeU9ZCiO/wbevTOprDSG lEGvnB9jPDJg9vu/n6DnLW6k51rSolams4JJRHZ/2sKSYyROSi2ZqP6YR A==; X-IronPort-AV: E=Sophos;i="5.98,259,1673910000"; d="scan'208";a="29665316" Received: from vtuxmail01.tq-net.de ([10.115.0.20]) by mx1.tq-group.com with ESMTP; 14 Mar 2023 08:39:51 +0100 Received: from steina-w.localnet (unknown [10.123.53.21]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by vtuxmail01.tq-net.de (Postfix) with ESMTPSA id DED05280056; Tue, 14 Mar 2023 08:39:50 +0100 (CET) From: Alexander Stein To: Adam Ford Cc: linux-arm-kernel@lists.infradead.org, linux-pm@vger.kernel.org, Pengutronix Kernel Team Subject: Re: NOC (interconnect) lockup on i.MX8MP during resume Date: Tue, 14 Mar 2023 08:39:48 +0100 Message-ID: <2220041.iZASKD2KPV@steina-w> Organization: TQ-Systems GmbH In-Reply-To: References: <2176690.usQuhbGJ8B@steina-w> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230314_003958_514743_A83EB63F X-CRM114-Status: GOOD ( 26.57 ) X-BeenThere: linux-arm-kernel@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="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGkgQWRhbSwKCkFtIE1vbnRhZywgMTMuIE3DpHJ6IDIwMjMsIDIwOjE3OjU1IENFVCBzY2hyaWVi IEFkYW0gRm9yZDoKPiBPbiBUaHUsIE1hciA5LCAyMDIzIGF0IDk6MTHigK9BTSBBbGV4YW5kZXIg U3RlaW4KPiAKPiA8YWxleGFuZGVyLnN0ZWluQGV3LnRxLWdyb3VwLmNvbT4gd3JvdGU6Cj4gPiBI aSwKPiA+IAo+ID4gd2hpbGUgZGVidWdnaW5nIGFub3RoZXIgaXNzdWUgcmVnYXJkaW5nIHN1c3Bl bmQvcmVzdW1lIEkgbm90aWNlZCB0aGF0IHRoZQo+ID4gaW14IGludGVyY29ubmVjdCBkcml2ZXIg bG9ja3MgdXAgdGhlIHN5c3RlbSB3aGVuIHdyaXRpbmcgaW50byByZWdpc3RlcnMuCj4gPiBUaGlz IGhhcHBlbnMgZHVyaW5nIHJlc3VtZSBvZiB0aGUgJ2cyJyBwb3dlciBkb21haW4uCj4gPiBpbXg4 bV9ibGtfY3RybF9wb3dlcl9vbigpIHdpbGwgZXZlbnR1YWxseSBjYWxsIGRvd24gdG8KPiA+IGlt eF9pY2Nfbm9kZV9zZXQoKS4gVXNpbmcgdGhlIGRlYnVnIGRpZmYgZnVydGhlIGRvd24gSSBnZXQg dGhpcyBvdXRwdXQ6Cj4gPiAKPiA+IFsgICA3MS40OTMwNjJdIGlteF9pY2Nfbm9kZV9zZXQ6IG5v ZGU6IFZQVSBHMgo+ID4gWyAgIDcxLjQ5NzE2M10gaW14X2ljY19ub2RlX3NldDogcGVha19idzog MQo+ID4gWyAgIDcxLjUwMTA5MV0gaW14X2ljY19ub2RlX3NldDogcHJpbzogMHg4MDAwMDMwMwo+ ID4gPGZyZWV6ZSBoZXJlPgo+ID4gCj4gPiBVbmZvcnR1bmF0ZWx5IHRoZXJlIGlzIGFic29sdXRl bHkgbm8gZG9jdW1lbnRhdGlvbiByZWdhcmRpbmcgTk9DIGluIHRoZQo+ID4gcmVmZXJlbmNlIG1h bnVhbCwgc28gbm8gaWRlYSB3aGF0cyBoYXBwZW5pbmcgaGVyZS4KPiA+IFRoaXMgaXMgb24gbmV4 dC0yMDIzMDMwOSB1c2luZyBpbXg4bXAtdHFtYThtcHFsLW1iYThtcHhsLmR0cyB3aXRoIFVTQgo+ ID4gZGlzYWJsZWQgKHByZXZlbnRzIHN1c3BlbmQpIGFuZCBFdGhlcm5ldC1QSFktSVJRIGRpc2Fi bGVkICh0aGUgaXNzdWUgSSdtCj4gPiB0YWNrbGluZykuCj4gPiBJcyB0aGVyZSBzb21lIGlkZWEg d2hhdCBkbyBpbiBvcmRlciB0byBzdXBwb3J0IHJlc3VtZSBvbiBpLk1YOE1QPwo+IAo+IEkgaGF2 ZW4ndCBwbGF5ZWQgd2l0aCBzdXNwZW5kLXJlc3VtZSBteXNlbGYsIGJ1dCB0aGVyZSB3YXMgYSB0 aHJlYWQKPiBbMV0gd2l0aCBkaXNjdXNzaW9ucyBhYm91dCBmaXhpbmcgYSByYWNlIGNvbmRpdGlv biBvbiB0aGUgaW14OG1wCj4gaW50ZXJjb25uZWN0LgoKVGhhbmtzIGZvciB0aGlzIGxpbmssIGJ1 dCBJIHRoaW5rIHRoaXMgaXMgYWRkcmVzc2luZyBhIHJhY2UgY29uZGl0aW9uIGR1cmluZyAKKHVu KXJlZ2lzdGVyaW5nLiBUaGlzIHdvcmtzIGZvciBtZSBzbyBmYXIuIEknbSBkZWFsaW5nIHdpdGgg YSBmcmVlemluZyAKaGFyZHdhcmUgd3JpdGUgdXBvbiByZXN1bWUuCgpCZXN0IHJlZ2FyZHMsCkFs ZXhhbmRlcgoKCj4gYWRhbQo+IAo+IFsxXSAtCj4gaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvbGtt bC8yMDIzMDIwMTEwMTU1OS4xNTUyOS01LWpvaGFuK2xpbmFyb0BrZXJuZWwub3JnCj4gLwo+ID4g QmVzdCByZWdhcmRzLAo+ID4gQWxleGFuZGVyCj4gPiAKPiA+IC0tLTg8LS0tCj4gPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9pbnRlcmNvbm5lY3QvaW14L2lteC5jCj4gPiBiL2RyaXZlcnMvaW50ZXJj b25uZWN0L2lteC9pbXguYyBpbmRleCA5NzllZDYxMGY3MDQuLjkzZWM3OWNjN2MwNiAxMDA2NDQK PiA+IC0tLSBhL2RyaXZlcnMvaW50ZXJjb25uZWN0L2lteC9pbXguYwo+ID4gKysrIGIvZHJpdmVy cy9pbnRlcmNvbm5lY3QvaW14L2lteC5jCj4gPiBAQCAtNDQsMTMgKzQ0LDE4IEBAIHN0YXRpYyBp bnQgaW14X2ljY19ub2RlX3NldChzdHJ1Y3QgaWNjX25vZGUgKm5vZGUpCj4gPiAKPiA+ICAgICAg ICAgdTMyIHByaW87Cj4gPiAgICAgICAgIHU2NCBmcmVxOwo+ID4gCj4gPiArICAgICAgIHByX2lu Zm8oIiVzOiBub2RlOiAlc1xuIiwgX19mdW5jX18sIG5vZGUtPm5hbWUpOwo+ID4gKyAgICAgICBw cl9pbmZvKCIlczogcGVha19idzogJXVcbiIsIF9fZnVuY19fLCBub2RlLT5wZWFrX2J3KTsKPiA+ IAo+ID4gICAgICAgICBpZiAobm9kZV9kYXRhLT5zZXR0aW5nICYmIG5vZGUtPnBlYWtfYncpIHsK PiA+ICAgICAgICAgCj4gPiAgICAgICAgICAgICAgICAgYmFzZSA9IG5vZGVfZGF0YS0+c2V0dGlu Zy0+cmVnICsKPiA+ICAgICAgICAgICAgICAgICBub2RlX2RhdGEtPmlteF9wcm92aWRlci0+bm9j X2Jhc2U7Cj4gPiAgICAgICAgICAgICAgICAgaWYgKG5vZGVfZGF0YS0+c2V0dGluZy0+bW9kZSA9 PSBJTVhfTk9DX01PREVfRklYRUQpIHsKPiA+ICAgICAgICAgICAgICAgICAKPiA+ICAgICAgICAg ICAgICAgICAgICAgICAgIHByaW8gPSBub2RlX2RhdGEtPnNldHRpbmctPnByaW9fbGV2ZWw7Cj4g PiAgICAgICAgICAgICAgICAgICAgICAgICBwcmlvID0gUFJJT1JJVFlfQ09NUF9NQVJLIHwgKHBy aW8gPDwgOCkgfCBwcmlvOwo+ID4gCj4gPiArICAgICAgICAgICAgICAgICAgICAgICBwcl9pbmZv KCIlczogcHJpbzogJSN4XG4iLCBfX2Z1bmNfXywgcHJpbyk7Cj4gPiAKPiA+ICAgICAgICAgICAg ICAgICAgICAgICAgIHdyaXRlbChwcmlvLCBiYXNlICsgSU1YX05PQ19QUklPX1JFRyk7Cj4gPiAK PiA+ICsgICAgICAgICAgICAgICAgICAgICAgIHByX2luZm8oIiVzOiBtb2RlOiAlI3hcbiIsIF9f ZnVuY19fLAo+ID4gbm9kZV9kYXRhLT5zZXR0aW5nLT5tb2RlKTs+IAo+ID4gICAgICAgICAgICAg ICAgICAgICAgICAgd3JpdGVsKG5vZGVfZGF0YS0+c2V0dGluZy0+bW9kZSwgYmFzZSArCj4gPiAg ICAgICAgICAgICAgICAgICAgICAgICBJTVhfTk9DX01PREVfUkVHKTsKPiA+IAo+ID4gKyAgICAg ICAgICAgICAgICAgICAgICAgcHJfaW5mbygiJXM6IGV4dF9jb250cm9sOiAjJXhcbiIsIF9fZnVu Y19fLAo+ID4gbm9kZV9kYXRhLT5zZXR0aW5nLT5leHRfY29udHJvbCk7PiAKPiA+ICAgICAgICAg ICAgICAgICAgICAgICAgIHdyaXRlbChub2RlX2RhdGEtPnNldHRpbmctPmV4dF9jb250cm9sLCBi YXNlICsKPiA+ICAgICAgICAgICAgICAgICAgICAgICAgIElNWF9OT0NfRVhUX0NUTF9SRUcpOwo+ ID4gICAgICAgICAgICAgICAgICAgICAgICAgZGV2X2RiZyhkZXYsICIlczogbW9kZTogMHgleCwg cHJpbzogMHgleCwKPiA+ICAgICAgICAgICAgICAgICAgICAgICAgIGV4dF9jb250cm9sOiAweCV4 XG4iLAo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgCj4gPiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIG5vZGVfZGF0YS0+ZGVzYy0+bmFtZSwKPiA+ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgbm9kZV9kYXRhLT5zZXR0aW5nLT5tb2RlLCBwcmlvLAo+ID4gCj4gPiAt LS04PC0tLQo+ID4gCj4gPiAtLQo+ID4gVFEtU3lzdGVtcyBHbWJIIHwgTcO8aGxzdHJhw59lIDIs IEd1dCBEZWxsaW5nIHwgODIyMjkgU2VlZmVsZCwgR2VybWFueQo+ID4gQW10c2dlcmljaHQgTcO8 bmNoZW4sIEhSQiAxMDUwMTgKPiA+IEdlc2Now6RmdHNmw7xocmVyOiBEZXRsZWYgU2NobmVpZGVy LCBSw7xkaWdlciBTdGFobCwgU3RlZmFuIFNjaG5laWRlcgo+ID4gaHR0cDovL3d3dy50cS1ncm91 cC5jb20vCgoKLS0gClRRLVN5c3RlbXMgR21iSCB8IE3DvGhsc3RyYcOfZSAyLCBHdXQgRGVsbGlu ZyB8IDgyMjI5IFNlZWZlbGQsIEdlcm1hbnkKQW10c2dlcmljaHQgTcO8bmNoZW4sIEhSQiAxMDUw MTgKR2VzY2jDpGZ0c2bDvGhyZXI6IERldGxlZiBTY2huZWlkZXIsIFLDvGRpZ2VyIFN0YWhsLCBT dGVmYW4gU2NobmVpZGVyCmh0dHA6Ly93d3cudHEtZ3JvdXAuY29tLwoKCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxp bmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3Rz LmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==