From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.remote-ip=100.103.45.18 ARC-Seal: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; cv=none; t=1792567720; b=r7d47PA2fz78bT6BtRwRzxQQ/cgMtvfo+T/2TgBCeyaJMbiN3fjYvInVa+KNr5Po+Zgq d8rm8flGXctYQanhyhxSSQMhDpUrm9mD8W9QH2j9FKzsH8YWkVWdU0TB+LT4/bM0hqG1H Soq7XuuKpJ9QTNUNR6RYgH/vrImi5D9HGMPVG1tHvBD4TbImZBvVzSepPE1LqZi19VBgR j4h8uFOLh1plDoyq2x6yjTDmiKNcBl+2pyh70WicxAcSBRAr8j2pT2TfcxR4MtmKjaXtS Walk3UDduRwUx7rM1JOWVWKDHqy8bMXaq97JrXT0vbnrjpdzp4IR8QzpdC8zKOk1J7Q== ARC-Message-Signature: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; c=relaxed/relaxed; t=1792567720; h=Received:DKIM-Signature:Message-ID:From:Subject:Reply-To:To:Cc: In-Reply-To:References:Content-Type:Content-Transfer-Encoding:Date; bh=fGLZu5bEdrlOiox76i4MIJ+BnMi35Yr6c+WUvX+zPD0=; b=KgVtAq31aRsl2usluOtidlptoRi2aJe9Oh/xG7jkDrryRGnJR3tnmQXA8OC+RIavrEaZ srlI0j/m4YJmOPLuNJeKcCQzmz3ZMnyjAkOilXMX6AyiKVbLBnZ2uW6gtFJkJkQSmAvXa BJnIEGwMfHoMenMx4mSrqlkbPG1VrX6qvS5t1AbO6jvW7GGKx8iAGu4p/VR8Znt///nR7 TG9NcNw7JwqA4MPipa469NTNUz+4lyPQ5MoVNYdLSZMds2IwVlZPkHhvm1XfRrfgoWCuF n45as5m054DlfNOZYr0Aqd2Npei0IrL88cX9zFHbOIUjCIJtuVNFJlfZKOfCKmgzoSQ== ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=k20260515 header.b="b6cSqI/4"; arc=none smtp.remote-ip=100.103.45.18 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 839F2606A319; Wed, 21 Oct 2026 07:28:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key, unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=k20260515 header.b=b6cSqI/4 Received: by smtp.kernel.org (Postfix) with ESMTPSA id D14BC1F000CB; Wed, 21 Oct 2026 07:28:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1792567720; bh=fGLZu5bEdrlOiox76i4MIJ+BnMi35Yr6c+WUvX+zPD0=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=b6cSqI/4W2uhFKVbrW8n5e2MwNmPTvgBY161gepcBNOVflLre3VqDiMO6hpp5NZb6 vTZUjvaqbWFWKd9TO8cXsHr5ct9mXqw3fJX4I+rY49O8j2D0pdag+kJDKXLQydt+72 nTsN3qlVyIl/kAoEpQDcJqjEdL51hGdVRXxreBjXoWWYf4kTQ8gHXSlwnqwewllQDa +uMLkQtXo/Qc9PYpZbXqMsigZ5+ASltx+AAW+9ocTedyKbJLR08S5q7jjllxbfD7F3 YZ02eYwOjD0LgwK8v+yq9XHddkwc2DEtClIyi5FOL4xf7yHnmDin2OOQkgmNOrJPSq XrnuOugD9hPkA== Message-ID: From: sashiko-bot@kernel.org Subject: Re: [PATCH v7 3/5] ASoC: meson: g12a-toacodec: Add S4 tocodec driver Reply-To: sashiko-reviews@lists.linux.dev To: "Jiebing Chen" Cc: devicetree@vger.kernel.org, linux-amlogic@lists.infradead.org, linux-clk@vger.kernel.org, robh@kernel.org, conor+dt@kernel.org, neil.armstrong@linaro.org In-Reply-To: <20261021-audio_drvier-v7-3-2b9aeae9cb8a@amlogic.com> References: <20261021-audio_drvier-v7-0-2b9aeae9cb8a@amlogic.com> <20261021-audio_drvier-v7-3-2b9aeae9cb8a@amlogic.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Date: Wed, 21 Oct 2026 07:28:39 +0000 X-Mailing-List: linux-clk@vger.kernel.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list Thank you for your contribution! Sashiko AI review found 1 potential issue(= s) to consider: - [Medium] ASoC: meson: g12a-toacodec: wrong mux shift in s4_toacodec_widge= ts -- commit 3fd35e52fdcaaa2efffaba05b21f58404303e9de Author: Jiebing Chen ASoC: meson: g12a-toacodec: Add S4 tocodec driver This patch adds Amlogic S4 SoC support to the g12a-toacodec driver, including DAPM supply widgets for the BCLK and MCLK gates, an 8-lane Lane Select control, and the S4 register field layout. > diff --git a/sound/soc/meson/g12a-toacodec.c b/sound/soc/meson/g12a-toaco= dec.c > index a95375b53f0a3..10f26b4bc8b0d 100644 > --- a/sound/soc/meson/g12a-toacodec.c > +++ b/sound/soc/meson/g12a-toacodec.c [ ... ] > @@ -141,6 +144,16 @@ static const struct snd_soc_dapm_widget sm1_toacodec= _widgets[] =3D { > &g12a_toacodec_out_enable), > }; > =20 > +static const struct snd_soc_dapm_widget s4_toacodec_widgets[] =3D { > + SND_SOC_DAPM_MUX("SRC", SND_SOC_NOPM, 0, 0, > + &sm1_toacodec_mux), [Severity: Medium] Should s4_toacodec_widgets use a dedicated mux control with shift 19 instead of sm1_toacodec_mux? On S4, s4_toacodec_controls defines "Lane Select" at bit 16 (CTRL0_LANE_SEL_SM1) with max 7, occupying bits 18:16 of TOACODEC_CTRL0, and s4_toacodec_match_data moves field_dat_sel to bits 20:19: .field_dat_sel =3D REG_FIELD(TOACODEC_CTRL0, 19, 20), While g12a_toacodec_mux_put_enum() writes to priv->field_dat_sel, sm1_toacodec_mux uses sm1_toacodec_mux_enum, which hardcodes the shift to CTRL0_DAT_SEL_SM1_LSB (bit 18): static SOC_ENUM_SINGLE_DECL(sm1_toacodec_mux_enum, TOACODEC_CTRL0, CTRL0_DAT_SEL_SM1_LSB, g12a_toacodec_mux_texts); When snd_soc_dapm_get_enum_double() or dapm_connect_mux() reads the "Source" mux state on S4, won't it extract bits 19:18 (overlapping the MSB of "Lane Select") instead of bits 20:19, returning the wrong enum selection or an unmapped value of 3 when "I2S B" and lanes 4..7 are active? > + SND_SOC_DAPM_SWITCH("OUT EN", SND_SOC_NOPM, 0, 0, > + &g12a_toacodec_out_enable), > + SND_SOC_DAPM_SUPPLY("I2S BCLK Gate", TOACODEC_CTRL0, CTRL0_BCLK_ENABLE_= SHIFT, 0, NULL, 0), > + SND_SOC_DAPM_SUPPLY("I2S MCLK Gate", TOACODEC_CTRL0, CTRL0_MCLK_ENABLE_= SHIFT, 0, NULL, 0), > + > +}; [ ... ] > @@ -234,6 +257,10 @@ static const struct snd_kcontrol_new sm1_toacodec_co= ntrols[] =3D { > SOC_SINGLE("Lane Select", TOACODEC_CTRL0, CTRL0_LANE_SEL_SM1, 3, 0), > }; > =20 > +static const struct snd_kcontrol_new s4_toacodec_controls[] =3D { > + SOC_SINGLE("Lane Select", TOACODEC_CTRL0, CTRL0_LANE_SEL_SM1, 7, 0), > +}; [ ... ] > @@ -276,6 +314,13 @@ static const struct g12a_toacodec_match_data sm1_toa= codec_match_data =3D { > .field_bclk_sel =3D REG_FIELD(TOACODEC_CTRL0, 4, 6), > }; > =20 > +static const struct g12a_toacodec_match_data s4_toacodec_match_data =3D { > + .component_drv =3D &s4_toacodec_component_drv, > + .field_dat_sel =3D REG_FIELD(TOACODEC_CTRL0, 19, 20), > + .field_lrclk_sel =3D REG_FIELD(TOACODEC_CTRL0, 12, 14), > + .field_bclk_sel =3D REG_FIELD(TOACODEC_CTRL0, 4, 6), > +}; [ ... ] --=20 Sashiko AI review =C2=B7 https://sashiko.dev/#/patchset/20261021-audio_drvi= er-v7-0-2b9aeae9cb8a@amlogic.com?part=3D3 From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7AD72606A319 for ; Wed, 21 Oct 2026 07:28:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key, unprotected) header.d=lists.infradead.org header.i=@lists.infradead.org header.a=rsa-sha256 header.s=bombadil.20210309 header.b=ud9QuC+j; dkim=fail reason="signature verification failed" (2048-bit key, unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=k20260515 header.b=b6cSqI/4 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:MIME-Version:Reply-To:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Date:References: In-Reply-To:Cc:To:Subject:From:Message-ID:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=jWpO/LXQB0+c37rKoY24GmW86mBdortDys9I0ArfHC4=; b=ud9QuC+jZfLEPG U6ao+NIP6uRC4s5XsiXFWA1UH+KsilSHlVvvZRih2ajvNfaULPby5b8UD1FzJlRi3zBDbo8dLIrIX ddL98xosJQaCOJ7j3Fr5Kx2UeMjsk4IDzA8qNtlQf1q3RsWzdsjJO7LwMatk83e/XPj2WXMFr6til DQbAEIdwp42Uu+sOJSKtJLjTGogGeW1lx8b3Nq41K/L/kfOAujWeWmHTNu3aCpbPGGAyst49SFzFJ Jc/wlCASgwJ9f72sdf8HFrUiXcutegGyKVn18kMN66zTXBCDzmge97JR9bYSB/CZK/R9VnPrVLE6K AZsMT+bVlqiazUIbVKLQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1xJQkb-0000000BFwI-2LRl; Wed, 21 Oct 2026 07:28:41 +0000 Received: from sea.source.kernel.org ([172.234.252.31]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1xJQka-0000000BFw4-2Y5c for linux-amlogic@lists.infradead.org; Wed, 21 Oct 2026 07:28:41 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by sea.source.kernel.org (Postfix) with ESMTP id 4258040BA3; Wed, 21 Oct 2026 07:28:40 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id D14BC1F000CB; Wed, 21 Oct 2026 07:28:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1792567720; bh=fGLZu5bEdrlOiox76i4MIJ+BnMi35Yr6c+WUvX+zPD0=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=b6cSqI/4W2uhFKVbrW8n5e2MwNmPTvgBY161gepcBNOVflLre3VqDiMO6hpp5NZb6 vTZUjvaqbWFWKd9TO8cXsHr5ct9mXqw3fJX4I+rY49O8j2D0pdag+kJDKXLQydt+72 nTsN3qlVyIl/kAoEpQDcJqjEdL51hGdVRXxreBjXoWWYf4kTQ8gHXSlwnqwewllQDa +uMLkQtXo/Qc9PYpZbXqMsigZ5+ASltx+AAW+9ocTedyKbJLR08S5q7jjllxbfD7F3 YZ02eYwOjD0LgwK8v+yq9XHddkwc2DEtClIyi5FOL4xf7yHnmDin2OOQkgmNOrJPSq XrnuOugD9hPkA== Message-ID: From: sashiko-bot@kernel.org Subject: Re: [PATCH v7 3/5] ASoC: meson: g12a-toacodec: Add S4 tocodec driver To: "Jiebing Chen" Cc: devicetree@vger.kernel.org, linux-amlogic@lists.infradead.org, linux-clk@vger.kernel.org, robh@kernel.org, conor+dt@kernel.org, neil.armstrong@linaro.org In-Reply-To: <20261021-audio_drvier-v7-3-2b9aeae9cb8a@amlogic.com> References: <20261021-audio_drvier-v7-0-2b9aeae9cb8a@amlogic.com> <20261021-audio_drvier-v7-3-2b9aeae9cb8a@amlogic.com> Date: Wed, 21 Oct 2026 07:28:39 +0000 X-BeenThere: linux-amlogic@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: sashiko-reviews@lists.linux.dev X-Archived-By: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-amlogic" X-Spam-Status: No, score=-9.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=4.0.1 X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on aws-us-west-2-korg-listserv-alma10-1 VGhhbmsgeW91IGZvciB5b3VyIGNvbnRyaWJ1dGlvbiEgU2FzaGlrbyBBSSByZXZpZXcgZm91bmQg MSBwb3RlbnRpYWwgaXNzdWUocykgdG8gY29uc2lkZXI6Ci0gW01lZGl1bV0gQVNvQzogbWVzb246 IGcxMmEtdG9hY29kZWM6IHdyb25nIG11eCBzaGlmdCBpbiBzNF90b2Fjb2RlY193aWRnZXRzCi0t Cgpjb21taXQgM2ZkMzVlNTJmZGNhYWEyZWZmZmFiYTA1YjIxZjU4NDA0MzAzZTlkZQpBdXRob3I6 IEppZWJpbmcgQ2hlbiA8amllYmluZy5jaGVuQGFtbG9naWMuY29tPgoKQVNvQzogbWVzb246IGcx MmEtdG9hY29kZWM6IEFkZCBTNCB0b2NvZGVjIGRyaXZlcgoKVGhpcyBwYXRjaCBhZGRzIEFtbG9n aWMgUzQgU29DIHN1cHBvcnQgdG8gdGhlIGcxMmEtdG9hY29kZWMgZHJpdmVyLAppbmNsdWRpbmcg REFQTSBzdXBwbHkgd2lkZ2V0cyBmb3IgdGhlIEJDTEsgYW5kIE1DTEsgZ2F0ZXMsIGFuIDgtbGFu ZQpMYW5lIFNlbGVjdCBjb250cm9sLCBhbmQgdGhlIFM0IHJlZ2lzdGVyIGZpZWxkIGxheW91dC4K Cj4gZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9tZXNvbi9nMTJhLXRvYWNvZGVjLmMgYi9zb3VuZC9z b2MvbWVzb24vZzEyYS10b2Fjb2RlYy5jCj4gaW5kZXggYTk1Mzc1YjUzZjBhMy4uMTBmMjZiNGJj OGIwZCAxMDA2NDQKPiAtLS0gYS9zb3VuZC9zb2MvbWVzb24vZzEyYS10b2Fjb2RlYy5jCj4gKysr IGIvc291bmQvc29jL21lc29uL2cxMmEtdG9hY29kZWMuYwoKWyAuLi4gXQoKPiBAQCAtMTQxLDYg KzE0NCwxNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9zb2NfZGFwbV93aWRnZXQgc20xX3Rv YWNvZGVjX3dpZGdldHNbXSA9IHsKPiAgCQkJICAgICZnMTJhX3RvYWNvZGVjX291dF9lbmFibGUp LAo+ICB9Owo+ICAKPiArc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfc29jX2RhcG1fd2lkZ2V0IHM0 X3RvYWNvZGVjX3dpZGdldHNbXSA9IHsKPiArCVNORF9TT0NfREFQTV9NVVgoIlNSQyIsIFNORF9T T0NfTk9QTSwgMCwgMCwKPiArCQkJICZzbTFfdG9hY29kZWNfbXV4KSwKCltTZXZlcml0eTogTWVk aXVtXQpTaG91bGQgczRfdG9hY29kZWNfd2lkZ2V0cyB1c2UgYSBkZWRpY2F0ZWQgbXV4IGNvbnRy b2wgd2l0aCBzaGlmdCAxOSBpbnN0ZWFkCm9mIHNtMV90b2Fjb2RlY19tdXg/CgpPbiBTNCwgczRf dG9hY29kZWNfY29udHJvbHMgZGVmaW5lcyAiTGFuZSBTZWxlY3QiIGF0IGJpdCAxNgooQ1RSTDBf TEFORV9TRUxfU00xKSB3aXRoIG1heCA3LCBvY2N1cHlpbmcgYml0cyAxODoxNiBvZiBUT0FDT0RF Q19DVFJMMCwgYW5kCnM0X3RvYWNvZGVjX21hdGNoX2RhdGEgbW92ZXMgZmllbGRfZGF0X3NlbCB0 byBiaXRzIDIwOjE5OgoKCS5maWVsZF9kYXRfc2VsCT0gUkVHX0ZJRUxEKFRPQUNPREVDX0NUUkww LCAxOSwgMjApLAoKV2hpbGUgZzEyYV90b2Fjb2RlY19tdXhfcHV0X2VudW0oKSB3cml0ZXMgdG8g cHJpdi0+ZmllbGRfZGF0X3NlbCwKc20xX3RvYWNvZGVjX211eCB1c2VzIHNtMV90b2Fjb2RlY19t dXhfZW51bSwgd2hpY2ggaGFyZGNvZGVzIHRoZSBzaGlmdCB0bwpDVFJMMF9EQVRfU0VMX1NNMV9M U0IgKGJpdCAxOCk6CgpzdGF0aWMgU09DX0VOVU1fU0lOR0xFX0RFQ0woc20xX3RvYWNvZGVjX211 eF9lbnVtLCBUT0FDT0RFQ19DVFJMMCwKCQkJICAgIENUUkwwX0RBVF9TRUxfU00xX0xTQiwKCQkJ ICAgIGcxMmFfdG9hY29kZWNfbXV4X3RleHRzKTsKCldoZW4gc25kX3NvY19kYXBtX2dldF9lbnVt X2RvdWJsZSgpIG9yIGRhcG1fY29ubmVjdF9tdXgoKSByZWFkcyB0aGUgIlNvdXJjZSIKbXV4IHN0 YXRlIG9uIFM0LCB3b24ndCBpdCBleHRyYWN0IGJpdHMgMTk6MTggKG92ZXJsYXBwaW5nIHRoZSBN U0Igb2YgIkxhbmUKU2VsZWN0IikgaW5zdGVhZCBvZiBiaXRzIDIwOjE5LCByZXR1cm5pbmcgdGhl IHdyb25nIGVudW0gc2VsZWN0aW9uIG9yIGFuCnVubWFwcGVkIHZhbHVlIG9mIDMgd2hlbiAiSTJT IEIiIGFuZCBsYW5lcyA0Li43IGFyZSBhY3RpdmU/Cgo+ICsJU05EX1NPQ19EQVBNX1NXSVRDSCgi T1VUIEVOIiwgU05EX1NPQ19OT1BNLCAwLCAwLAo+ICsJCQkgICAgJmcxMmFfdG9hY29kZWNfb3V0 X2VuYWJsZSksCj4gKwlTTkRfU09DX0RBUE1fU1VQUExZKCJJMlMgQkNMSyBHYXRlIiwgVE9BQ09E RUNfQ1RSTDAsIENUUkwwX0JDTEtfRU5BQkxFX1NISUZULCAwLCBOVUxMLCAwKSwKPiArCVNORF9T T0NfREFQTV9TVVBQTFkoIkkyUyBNQ0xLIEdhdGUiLCBUT0FDT0RFQ19DVFJMMCwgQ1RSTDBfTUNM S19FTkFCTEVfU0hJRlQsIDAsIE5VTEwsIDApLAo+ICsKPiArfTsKClsgLi4uIF0KCj4gQEAgLTIz NCw2ICsyNTcsMTAgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHNtMV90 b2Fjb2RlY19jb250cm9sc1tdID0gewo+ICAJU09DX1NJTkdMRSgiTGFuZSBTZWxlY3QiLCBUT0FD T0RFQ19DVFJMMCwgQ1RSTDBfTEFORV9TRUxfU00xLCAzLCAwKSwKPiAgfTsKPiAgCj4gK3N0YXRp YyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBzNF90b2Fjb2RlY19jb250cm9sc1tdID0g ewo+ICsJU09DX1NJTkdMRSgiTGFuZSBTZWxlY3QiLCBUT0FDT0RFQ19DVFJMMCwgQ1RSTDBfTEFO RV9TRUxfU00xLCA3LCAwKSwKPiArfTsKClsgLi4uIF0KCj4gQEAgLTI3Niw2ICszMTQsMTMgQEAg c3RhdGljIGNvbnN0IHN0cnVjdCBnMTJhX3RvYWNvZGVjX21hdGNoX2RhdGEgc20xX3RvYWNvZGVj X21hdGNoX2RhdGEgPSB7Cj4gIAkuZmllbGRfYmNsa19zZWwJPSBSRUdfRklFTEQoVE9BQ09ERUNf Q1RSTDAsIDQsIDYpLAo+ICB9Owo+ICAKPiArc3RhdGljIGNvbnN0IHN0cnVjdCBnMTJhX3RvYWNv ZGVjX21hdGNoX2RhdGEgczRfdG9hY29kZWNfbWF0Y2hfZGF0YSA9IHsKPiArCS5jb21wb25lbnRf ZHJ2CT0gJnM0X3RvYWNvZGVjX2NvbXBvbmVudF9kcnYsCj4gKwkuZmllbGRfZGF0X3NlbAk9IFJF R19GSUVMRChUT0FDT0RFQ19DVFJMMCwgMTksIDIwKSwKPiArCS5maWVsZF9scmNsa19zZWwgPSBS RUdfRklFTEQoVE9BQ09ERUNfQ1RSTDAsIDEyLCAxNCksCj4gKwkuZmllbGRfYmNsa19zZWwJPSBS RUdfRklFTEQoVE9BQ09ERUNfQ1RSTDAsIDQsIDYpLAo+ICt9OwoKWyAuLi4gXQoKLS0gClNhc2hp a28gQUkgcmV2aWV3IMK3IGh0dHBzOi8vc2FzaGlrby5kZXYvIy9wYXRjaHNldC8yMDI2MTAyMS1h dWRpb19kcnZpZXItdjctMC0yYjlhZWFlOWNiOGFAYW1sb2dpYy5jb20/cGFydD0zCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hbWxvZ2ljIG1h aWxpbmcgbGlzdApsaW51eC1hbWxvZ2ljQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3Rz LmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hbWxvZ2ljCg==