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 85031C7EE23 for ; Mon, 27 Feb 2023 18:22:02 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229619AbjB0SWB (ORCPT ); Mon, 27 Feb 2023 13:22:01 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54506 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229547AbjB0SWA (ORCPT ); Mon, 27 Feb 2023 13:22:00 -0500 Received: from mail-oi1-f181.google.com (mail-oi1-f181.google.com [209.85.167.181]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 07CC423330; Mon, 27 Feb 2023 10:21:58 -0800 (PST) Received: by mail-oi1-f181.google.com with SMTP id y184so5911467oiy.8; Mon, 27 Feb 2023 10:21:58 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=4TzdtsT7AcCB+2AXLCayF9bpIkGfUKHr8css2BTrO64=; b=04kWdIb1gT8yFpQEZTdGtKqHr/ZSg0k+MCMfQnUTlLeMjGjWwMoYHtcJ3fx2/3sZPx 7qXphvUsjFx4P172k971fpiPm9RZgakFqAorn3b305qzepY3oWwaEjgvfbMWgnhzTFya nMrJEXX0SOqakCLfilrGQrDvPJTo2uMAs4zYMAiRpD/LD5vqEg+GPI0NjINV8VUMh2y9 eiFOir38RJhaQZJlCfrzuPPtOrgIfo0DQGCz4w9M7/pDuDZcFi4RgtkTs6Y0VD6qQthe nuqEEKjMX2cVRBHYFpS+wzQ65yApL/qu2HJ/LjIjAJebzLiHtE1xEwI8J1XiARodiS8a FlpA== X-Gm-Message-State: AO0yUKU9GD+zuPUUohaDcg8FiIKMmdpmgeUCBjusZOn5qGKiZdz76oa3 HcU+NrJxrDOtXtyN+otuLg== X-Google-Smtp-Source: AK7set+nYLYHTWO61aCswV8W27KR31C8GLtVU/1R73fbNW306ew5wAJJ1GRQBicUZNk+i/5g2V3YBw== X-Received: by 2002:aca:2418:0:b0:37f:9064:31e7 with SMTP id n24-20020aca2418000000b0037f906431e7mr46078oic.17.1677522117042; Mon, 27 Feb 2023 10:21:57 -0800 (PST) Received: from robh_at_kernel.org (66-90-144-107.dyn.grandenetworks.net. [66.90.144.107]) by smtp.gmail.com with ESMTPSA id dz19-20020a056808439300b0037d7c3cfac7sm3433711oib.15.2023.02.27.10.21.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Feb 2023 10:21:56 -0800 (PST) Received: (nullmailer pid 578204 invoked by uid 1000); Mon, 27 Feb 2023 18:21:55 -0000 Date: Mon, 27 Feb 2023 12:21:55 -0600 From: Rob Herring To: arinc9.unal@gmail.com Cc: Sergio Paracuellos , Linus Walleij , Krzysztof Kozlowski , =?utf-8?B?QXLEsW7DpyDDnE5BTA==?= , linux-mediatek@lists.infradead.org, linux-mips@vger.kernel.org, linux-gpio@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Matthias Brugger , Sean Wang , William Dean , Daniel Golle , Daniel Santos , Luiz Angelo Daros de Luca , Frank Wunderlich , Landen Chao , DENG Qingfang , Sean Wang , erkin.bozoglu@xeront.com Subject: Re: [RFC PATCH 10/16] dt-bindings: pinctrl: mediatek: mt7620: split binding Message-ID: <20230227182155.GA550689-robh@kernel.org> References: <20230222183932.33267-1-arinc.unal@arinc9.com> <20230222183932.33267-11-arinc.unal@arinc9.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20230222183932.33267-11-arinc.unal@arinc9.com> Precedence: bulk List-ID: X-Mailing-List: linux-gpio@vger.kernel.org On Wed, Feb 22, 2023 at 09:39:26PM +0300, arinc9.unal@gmail.com wrote: > From: Arınç ÜNAL > > The MT7628 and MT7688 SoCs contain different pin muxing information, > therefore, should be split. This can be done now that there are compatible > strings to distinguish them from other SoCs. > > Split the schema out to mediatek,mt76x8-pinctrl.yaml. > > Signed-off-by: Arınç ÜNAL > --- > .../pinctrl/mediatek,mt7620-pinctrl.yaml | 375 +-------------- > .../pinctrl/mediatek,mt76x8-pinctrl.yaml | 454 ++++++++++++++++++ > 2 files changed, 462 insertions(+), 367 deletions(-) > create mode 100644 Documentation/devicetree/bindings/pinctrl/mediatek,mt76x8-pinctrl.yaml > > diff --git a/Documentation/devicetree/bindings/pinctrl/mediatek,mt7620-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/mediatek,mt7620-pinctrl.yaml > index 3bf58da8a394..ea4a1194fbc4 100644 > --- a/Documentation/devicetree/bindings/pinctrl/mediatek,mt7620-pinctrl.yaml > +++ b/Documentation/devicetree/bindings/pinctrl/mediatek,mt7620-pinctrl.yaml > @@ -11,7 +11,7 @@ maintainers: > - Sergio Paracuellos > > description: > - MediaTek MT7620 pin controller for MT7620, MT7628 and MT7688 SoCs. > + MediaTek MT7620 pin controller for MT7620 SoC. > The pin controller can only set the muxing of pin groups. Muxing individual > pins is not supported. There is no pinconf support. > > @@ -35,19 +35,10 @@ patternProperties: > function: > description: > A string containing the name of the function to mux to the group. > - anyOf: > - - description: For MT7620 SoC > - enum: [ephy, gpio, gpio i2s, gpio uartf, i2c, i2s uartf, mdio, nand, pa, > - pcie refclk, pcie rst, pcm gpio, pcm i2s, pcm uartf, refclk, > - rgmii1, rgmii2, sd, spi, spi refclk, uartf, uartlite, wdt refclk, > - wdt rst, wled] > - > - - description: For MT7628 and MT7688 SoCs > - enum: [antenna, debug, gpio, i2c, i2s, jtag, p0led_an, p0led_kn, > - p1led_an, p1led_kn, p2led_an, p2led_kn, p3led_an, p3led_kn, > - p4led_an, p4led_kn, pcie, pcm, perst, pwm, pwm0, pwm1, pwm_uart2, > - refclk, rsvd, sdxc, sdxc d5 d4, sdxc d6, sdxc d7, spi, spi cs1, > - spis, sw_r, uart0, uart1, uart2, utif, wdt, wled_an, wled_kn, -] > + enum: [ephy, gpio, gpio i2s, gpio uartf, i2c, i2s uartf, mdio, nand, > + pa, pcie refclk, pcie rst, pcm gpio, pcm i2s, pcm uartf, > + refclk, rgmii1, rgmii2, sd, spi, spi refclk, uartf, uartlite, > + wdt refclk, wdt rst, wled] > > groups: > description: > @@ -59,24 +50,6 @@ patternProperties: > - function > > allOf: > - - if: > - properties: > - function: > - const: antenna > - then: > - properties: > - groups: > - enum: [i2s] > - > - - if: > - properties: > - function: > - const: debug > - then: > - properties: > - groups: > - enum: [i2c] > - > - if: > properties: > function: > @@ -93,17 +66,8 @@ patternProperties: > then: > properties: > groups: > - anyOf: > - - description: For MT7620 SoC > - enum: [ephy, i2c, mdio, nd_sd, pa, pcie, rgmii1, rgmii2, > - spi, spi refclk, uartf, uartlite, wdt, wled] > - > - - description: For MT7628 and MT7688 SoCs > - enum: [gpio, i2c, i2s, p0led_an, p0led_kn, p1led_an, > - p1led_kn, p2led_an, p2led_kn, p3led_an, p3led_kn, > - p4led_an, p4led_kn, perst, pwm0, pwm1, refclk, > - sdmode, spi, spi cs1, spis, uart0, uart1, uart2, > - wdt, wled_an, wled_kn] > + enum: [ephy, i2c, mdio, nd_sd, pa, pcie, rgmii1, rgmii2, spi, > + spi refclk, uartf, uartlite, wdt, wled] > > - if: > properties: > @@ -132,15 +96,6 @@ patternProperties: > groups: > enum: [i2c] > > - - if: > - properties: > - function: > - const: i2s > - then: > - properties: > - groups: > - enum: [i2s] > - > - if: > properties: > function: > @@ -150,17 +105,6 @@ patternProperties: > groups: > enum: [uartf] > > - - if: > - properties: > - function: > - const: jtag > - then: > - properties: > - groups: > - enum: [p0led_an, p0led_kn, p1led_an, p1led_kn, p2led_an, > - p2led_kn, p3led_an, p3led_kn, p4led_an, p4led_kn, > - sdmode] > - > - if: > properties: > function: > @@ -179,96 +123,6 @@ patternProperties: > groups: > enum: [nd_sd] > > - - if: > - properties: > - function: > - const: p0led_an > - then: > - properties: > - groups: > - enum: [p0led_an] > - > - - if: > - properties: > - function: > - const: p0led_kn > - then: > - properties: > - groups: > - enum: [p0led_kn] > - > - - if: > - properties: > - function: > - const: p1led_an > - then: > - properties: > - groups: > - enum: [p1led_an] > - > - - if: > - properties: > - function: > - const: p1led_kn > - then: > - properties: > - groups: > - enum: [p1led_kn] > - > - - if: > - properties: > - function: > - const: p2led_an > - then: > - properties: > - groups: > - enum: [p2led_an] > - > - - if: > - properties: > - function: > - const: p2led_kn > - then: > - properties: > - groups: > - enum: [p2led_kn] > - > - - if: > - properties: > - function: > - const: p3led_an > - then: > - properties: > - groups: > - enum: [p3led_an] > - > - - if: > - properties: > - function: > - const: p3led_kn > - then: > - properties: > - groups: > - enum: [p3led_kn] > - > - - if: > - properties: > - function: > - const: p4led_an > - then: > - properties: > - groups: > - enum: [p4led_an] > - > - - if: > - properties: > - function: > - const: p4led_kn > - then: > - properties: > - groups: > - enum: [p4led_kn] > - > - if: > properties: > function: > @@ -278,15 +132,6 @@ patternProperties: > groups: > enum: [pa] > > - - if: > - properties: > - function: > - const: pcie > - then: > - properties: > - groups: > - enum: [gpio] > - > - if: > properties: > function: > @@ -305,15 +150,6 @@ patternProperties: > groups: > enum: [pcie] > > - - if: > - properties: > - function: > - const: pcm > - then: > - properties: > - groups: > - enum: [i2s] > - > - if: > properties: > function: > @@ -341,51 +177,6 @@ patternProperties: > groups: > enum: [uartf] > > - - if: > - properties: > - function: > - const: perst > - then: > - properties: > - groups: > - enum: [perst] > - > - - if: > - properties: > - function: > - const: pwm > - then: > - properties: > - groups: > - enum: [uart1, uart2] > - > - - if: > - properties: > - function: > - const: pwm0 > - then: > - properties: > - groups: > - enum: [pwm0] > - > - - if: > - properties: > - function: > - const: pwm1 > - then: > - properties: > - groups: > - enum: [pwm1] > - > - - if: > - properties: > - function: > - const: pwm_uart2 > - then: > - properties: > - groups: > - enum: [spis] > - > - if: > properties: > function: > @@ -393,12 +184,7 @@ patternProperties: > then: > properties: > groups: > - anyOf: > - - description: For MT7620 SoC > - enum: [mdio] > - > - - description: For MT7628 and MT7688 SoCs > - enum: [gpio, refclk, spi cs1] > + enum: [mdio] > > - if: > properties: > @@ -418,15 +204,6 @@ patternProperties: > groups: > enum: [rgmii2] > > - - if: > - properties: > - function: > - const: rsvd > - then: > - properties: > - groups: > - enum: [p0led_an, p0led_kn, wled_an, wled_kn] > - > - if: > properties: > function: > @@ -436,42 +213,6 @@ patternProperties: > groups: > enum: [nd_sd] > > - - if: > - properties: > - function: > - const: sdxc > - then: > - properties: > - groups: > - enum: [sdmode] > - > - - if: > - properties: > - function: > - const: sdxc d5 d4 > - then: > - properties: > - groups: > - enum: [uart2] > - > - - if: > - properties: > - function: > - const: sdxc d6 > - then: > - properties: > - groups: > - enum: [pwm1] > - > - - if: > - properties: > - function: > - const: sdxc d7 > - then: > - properties: > - groups: > - enum: [pwm0] > - > - if: > properties: > function: > @@ -481,15 +222,6 @@ patternProperties: > groups: > enum: [spi] > > - - if: > - properties: > - function: > - const: spi cs1 > - then: > - properties: > - groups: > - enum: [spi cs1] > - > - if: > properties: > function: > @@ -499,51 +231,6 @@ patternProperties: > groups: > enum: [spi refclk] > > - - if: > - properties: > - function: > - const: spis > - then: > - properties: > - groups: > - enum: [spis] > - > - - if: > - properties: > - function: > - const: sw_r > - then: > - properties: > - groups: > - enum: [uart1] > - > - - if: > - properties: > - function: > - const: uart0 > - then: > - properties: > - groups: > - enum: [uart0] > - > - - if: > - properties: > - function: > - const: uart1 > - then: > - properties: > - groups: > - enum: [uart1] > - > - - if: > - properties: > - function: > - const: uart2 > - then: > - properties: > - groups: > - enum: [uart2] > - > - if: > properties: > function: > @@ -562,25 +249,6 @@ patternProperties: > groups: > enum: [uartlite] > > - - if: > - properties: > - function: > - const: utif > - then: > - properties: > - groups: > - enum: [p1led_an, p1led_kn, p2led_an, p2led_kn, p3led_an, > - p3led_kn, p4led_an, p4led_kn, pwm0, pwm1, sdmode, spis] > - > - - if: > - properties: > - function: > - const: wdt > - then: > - properties: > - groups: > - enum: [wdt] > - > - if: > properties: > function: > @@ -608,33 +276,6 @@ patternProperties: > groups: > enum: [wled] > > - - if: > - properties: > - function: > - const: wled_an > - then: > - properties: > - groups: > - enum: [wled_an] > - > - - if: > - properties: > - function: > - const: wled_kn > - then: > - properties: > - groups: > - enum: [wled_kn] > - > - - if: > - properties: > - function: > - const: "-" > - then: > - properties: > - groups: > - enum: [i2c, spi cs1, uart0] > - > additionalProperties: false > > additionalProperties: false > diff --git a/Documentation/devicetree/bindings/pinctrl/mediatek,mt76x8-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/mediatek,mt76x8-pinctrl.yaml > new file mode 100644 > index 000000000000..c818c8947866 > --- /dev/null > +++ b/Documentation/devicetree/bindings/pinctrl/mediatek,mt76x8-pinctrl.yaml > @@ -0,0 +1,454 @@ > +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/pinctrl/mediatek,mt76x8-pinctrl.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: MediaTek MT76X8 Pin Controller > + > +maintainers: > + - Arınç ÜNAL > + - Sergio Paracuellos > + > +description: > + MediaTek MT76X8 pin controller for MT7628 and MT7688 SoCs. > + The pin controller can only set the muxing of pin groups. Muxing individual > + pins is not supported. There is no pinconf support. > + > +properties: > + compatible: > + enum: > + - mediatek,mt76x8-pinctrl We generally don't do wildcards in compatible strings. Are these 2 SoCs really 'the same'? > + - ralink,mt7620-pinctrl Huh? Doesn't this conflict with the mt7620 schema? > + - ralink,rt2880-pinmux > + > +patternProperties: > + '-pins$': > + type: object > + patternProperties: > + '^(.*-)?pinmux$': > + type: object > + description: node for pinctrl. > + $ref: pinmux-node.yaml# > + > + properties: > + function: > + description: > + A string containing the name of the function to mux to the group. > + enum: [antenna, debug, gpio, i2c, i2s, jtag, p0led_an, p0led_kn, > + p1led_an, p1led_kn, p2led_an, p2led_kn, p3led_an, p3led_kn, > + p4led_an, p4led_kn, pcie, pcm, perst, pwm, pwm0, pwm1, > + pwm_uart2, refclk, rsvd, sdxc, sdxc d5 d4, sdxc d6, sdxc d7, > + spi, spi cs1, spis, sw_r, uart0, uart1, uart2, utif, wdt, > + wled_an, wled_kn, -] > + > + groups: > + description: > + An array of strings. Each string contains the name of a group. > + maxItems: 1 > + > + required: > + - groups > + - function > + > + allOf: > + - if: > + properties: > + function: > + const: antenna > + then: > + properties: > + groups: > + enum: [i2s] > + > + - if: > + properties: > + function: > + const: debug > + then: > + properties: > + groups: > + enum: [i2c] > + > + - if: > + properties: > + function: > + const: gpio > + then: > + properties: > + groups: > + enum: [gpio, i2c, i2s, p0led_an, p0led_kn, p1led_an, p1led_kn, > + p2led_an, p2led_kn, p3led_an, p3led_kn, p4led_an, > + p4led_kn, perst, pwm0, pwm1, refclk, sdmode, spi, > + spi cs1, spis, uart0, uart1, uart2, wdt, wled_an, > + wled_kn] > + > + - if: > + properties: > + function: > + const: i2c > + then: > + properties: > + groups: > + enum: [i2c] > + > + - if: > + properties: > + function: > + const: i2s > + then: > + properties: > + groups: > + enum: [i2s] > + > + - if: > + properties: > + function: > + const: jtag > + then: > + properties: > + groups: > + enum: [p0led_an, p0led_kn, p1led_an, p1led_kn, p2led_an, > + p2led_kn, p3led_an, p3led_kn, p4led_an, p4led_kn, > + sdmode] > + > + - if: > + properties: > + function: > + const: p0led_an > + then: > + properties: > + groups: > + enum: [p0led_an] > + > + - if: > + properties: > + function: > + const: p0led_kn > + then: > + properties: > + groups: > + enum: [p0led_kn] > + > + - if: > + properties: > + function: > + const: p1led_an > + then: > + properties: > + groups: > + enum: [p1led_an] > + > + - if: > + properties: > + function: > + const: p1led_kn > + then: > + properties: > + groups: > + enum: [p1led_kn] > + > + - if: > + properties: > + function: > + const: p2led_an > + then: > + properties: > + groups: > + enum: [p2led_an] > + > + - if: > + properties: > + function: > + const: p2led_kn > + then: > + properties: > + groups: > + enum: [p2led_kn] > + > + - if: > + properties: > + function: > + const: p3led_an > + then: > + properties: > + groups: > + enum: [p3led_an] > + > + - if: > + properties: > + function: > + const: p3led_kn > + then: > + properties: > + groups: > + enum: [p3led_kn] > + > + - if: > + properties: > + function: > + const: p4led_an > + then: > + properties: > + groups: > + enum: [p4led_an] > + > + - if: > + properties: > + function: > + const: p4led_kn > + then: > + properties: > + groups: > + enum: [p4led_kn] > + > + - if: > + properties: > + function: > + const: pcie > + then: > + properties: > + groups: > + enum: [gpio] > + > + - if: > + properties: > + function: > + const: pcm > + then: > + properties: > + groups: > + enum: [i2s] > + > + - if: > + properties: > + function: > + const: perst > + then: > + properties: > + groups: > + enum: [perst] > + > + - if: > + properties: > + function: > + const: pwm > + then: > + properties: > + groups: > + enum: [uart1, uart2] > + > + - if: > + properties: > + function: > + const: pwm0 > + then: > + properties: > + groups: > + enum: [pwm0] > + > + - if: > + properties: > + function: > + const: pwm1 > + then: > + properties: > + groups: > + enum: [pwm1] > + > + - if: > + properties: > + function: > + const: pwm_uart2 > + then: > + properties: > + groups: > + enum: [spis] > + > + - if: > + properties: > + function: > + const: refclk > + then: > + properties: > + groups: > + enum: [gpio, refclk, spi cs1] > + > + - if: > + properties: > + function: > + const: rsvd > + then: > + properties: > + groups: > + enum: [p0led_an, p0led_kn, wled_an, wled_kn] > + > + - if: > + properties: > + function: > + const: sdxc > + then: > + properties: > + groups: > + enum: [sdmode] > + > + - if: > + properties: > + function: > + const: sdxc d5 d4 > + then: > + properties: > + groups: > + enum: [uart2] > + > + - if: > + properties: > + function: > + const: sdxc d6 > + then: > + properties: > + groups: > + enum: [pwm1] > + > + - if: > + properties: > + function: > + const: sdxc d7 > + then: > + properties: > + groups: > + enum: [pwm0] > + > + - if: > + properties: > + function: > + const: spi > + then: > + properties: > + groups: > + enum: [spi] > + > + - if: > + properties: > + function: > + const: spi cs1 > + then: > + properties: > + groups: > + enum: [spi cs1] > + > + - if: > + properties: > + function: > + const: spis > + then: > + properties: > + groups: > + enum: [spis] > + > + - if: > + properties: > + function: > + const: sw_r > + then: > + properties: > + groups: > + enum: [uart1] > + > + - if: > + properties: > + function: > + const: uart0 > + then: > + properties: > + groups: > + enum: [uart0] > + > + - if: > + properties: > + function: > + const: uart1 > + then: > + properties: > + groups: > + enum: [uart1] > + > + - if: > + properties: > + function: > + const: uart2 > + then: > + properties: > + groups: > + enum: [uart2] > + > + - if: > + properties: > + function: > + const: utif > + then: > + properties: > + groups: > + enum: [p1led_an, p1led_kn, p2led_an, p2led_kn, p3led_an, > + p3led_kn, p4led_an, p4led_kn, pwm0, pwm1, sdmode, spis] > + > + - if: > + properties: > + function: > + const: wdt > + then: > + properties: > + groups: > + enum: [wdt] > + > + - if: > + properties: > + function: > + const: wled_an > + then: > + properties: > + groups: > + enum: [wled_an] > + > + - if: > + properties: > + function: > + const: wled_kn > + then: > + properties: > + groups: > + enum: [wled_kn] > + > + - if: > + properties: > + function: > + const: "-" > + then: > + properties: > + groups: > + enum: [i2c, spi cs1, uart0] > + > + additionalProperties: false > + > + additionalProperties: false Move these above 'properties'. It's easier to read than after a long indented section. > + > +allOf: > + - $ref: "pinctrl.yaml#" Drop quotes. Rob 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 C03FAC64ED8 for ; Mon, 27 Feb 2023 18:22:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Cc:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:In-Reply-To: Content-Transfer-Encoding:Content-Type:MIME-Version:References:Message-ID: Subject:To:From:Date:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=4TzdtsT7AcCB+2AXLCayF9bpIkGfUKHr8css2BTrO64=; b=tBVluNLQ0/w3Dg5DTE/ELhmA24 PRa5xGIBDKjKDnQo/CZC88KjHMOS3mgenu6oOKZg449smyAtfhWGQ/tjBRfIp2LliCw+oKiHWiprx FdZicDW3ADz+IpiMq3g51boQaAxXFO/XWDqBdbvIyQcHwOf3JE4IOWnm9mrR5fKekaCWISuyGaGWB 3eqOqCf3EAeUhIcf/pOa6BGEUYCjZ60/rsCJsOl92wzwLIyuBS7l7vEfE+ajGX7r6XTmcqVCOvOHW MCUna6a3zXvekxQMTwWLByJXkYgUVUON69+BnqAF7nY0wXyDXIQ497mE2miO++X36Ihx+YXzrNBUX kv0N1ZXg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1pWi8S-00Ah6G-B6; Mon, 27 Feb 2023 18:22:04 +0000 Received: from mail-oi1-f182.google.com ([209.85.167.182]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1pWi8N-00Ah4r-BQ; Mon, 27 Feb 2023 18:22:02 +0000 Received: by mail-oi1-f182.google.com with SMTP id bg11so5927426oib.5; Mon, 27 Feb 2023 10:21:57 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=4TzdtsT7AcCB+2AXLCayF9bpIkGfUKHr8css2BTrO64=; b=QrPrzcgjxZxzuaNYwb9OmsTiNB+laXYrrQOFlkQeIvnxTnW2Hu44rPkoK6nG+AHQhb EtEQV2K+CT2M/97+VfxaA+hUMhoGDD/ePjvPvSmHNRk1mbNEcWWSvFmRmPVQywFGfowY AJ/n1JnyEerfq03bOvNEBzret3RJff8S7Nomygz6HGnFSmOf8VG+x0OssaQO1Y2JjxYE 9o0TJsMvE3MnJGw93V6zsOxJwTCpKEUzxdXQHrkoZFBJlE0YYSpcj+15Ex5xSNkkU0Ch JpSHhauivbcobbPFkpRBf4khBWetME/zCvj/jznhpi3AulxJ+VUn9svva8/RMpugRQZe B7Gg== X-Gm-Message-State: AO0yUKWPPo+b2twW6MziTQ2UQ9JJuxjnOJ8XE4lfABvEX5wSUHU0Wgo7 HMurqUI/oex5Q0vdb5RvVdE7tAEt3w== X-Google-Smtp-Source: AK7set+nYLYHTWO61aCswV8W27KR31C8GLtVU/1R73fbNW306ew5wAJJ1GRQBicUZNk+i/5g2V3YBw== X-Received: by 2002:aca:2418:0:b0:37f:9064:31e7 with SMTP id n24-20020aca2418000000b0037f906431e7mr46078oic.17.1677522117042; Mon, 27 Feb 2023 10:21:57 -0800 (PST) Received: from robh_at_kernel.org (66-90-144-107.dyn.grandenetworks.net. [66.90.144.107]) by smtp.gmail.com with ESMTPSA id dz19-20020a056808439300b0037d7c3cfac7sm3433711oib.15.2023.02.27.10.21.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Feb 2023 10:21:56 -0800 (PST) Received: (nullmailer pid 578204 invoked by uid 1000); Mon, 27 Feb 2023 18:21:55 -0000 Date: Mon, 27 Feb 2023 12:21:55 -0600 From: Rob Herring To: arinc9.unal@gmail.com Subject: Re: [RFC PATCH 10/16] dt-bindings: pinctrl: mediatek: mt7620: split binding Message-ID: <20230227182155.GA550689-robh@kernel.org> References: <20230222183932.33267-1-arinc.unal@arinc9.com> <20230222183932.33267-11-arinc.unal@arinc9.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20230222183932.33267-11-arinc.unal@arinc9.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230227_102159_439254_7AFA0336 X-CRM114-Status: GOOD ( 17.62 ) X-BeenThere: linux-mediatek@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, Daniel Golle , DENG Qingfang , Sean Wang , =?utf-8?B?QXLEsW7DpyDDnE5BTA==?= , Daniel Santos , Linus Walleij , Sean Wang , Luiz Angelo Daros de Luca , linux-mips@vger.kernel.org, linux-kernel@vger.kernel.org, Sergio Paracuellos , William Dean , linux-mediatek@lists.infradead.org, Krzysztof Kozlowski , linux-gpio@vger.kernel.org, Matthias Brugger , Landen Chao , erkin.bozoglu@xeront.com, linux-arm-kernel@lists.infradead.org Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org On Wed, Feb 22, 2023 at 09:39:26PM +0300, arinc9.unal@gmail.com wrote: > From: Arınç ÜNAL > > The MT7628 and MT7688 SoCs contain different pin muxing information, > therefore, should be split. This can be done now that there are compatible > strings to distinguish them from other SoCs. > > Split the schema out to mediatek,mt76x8-pinctrl.yaml. > > Signed-off-by: Arınç ÜNAL > --- > .../pinctrl/mediatek,mt7620-pinctrl.yaml | 375 +-------------- > .../pinctrl/mediatek,mt76x8-pinctrl.yaml | 454 ++++++++++++++++++ > 2 files changed, 462 insertions(+), 367 deletions(-) > create mode 100644 Documentation/devicetree/bindings/pinctrl/mediatek,mt76x8-pinctrl.yaml > > diff --git a/Documentation/devicetree/bindings/pinctrl/mediatek,mt7620-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/mediatek,mt7620-pinctrl.yaml > index 3bf58da8a394..ea4a1194fbc4 100644 > --- a/Documentation/devicetree/bindings/pinctrl/mediatek,mt7620-pinctrl.yaml > +++ b/Documentation/devicetree/bindings/pinctrl/mediatek,mt7620-pinctrl.yaml > @@ -11,7 +11,7 @@ maintainers: > - Sergio Paracuellos > > description: > - MediaTek MT7620 pin controller for MT7620, MT7628 and MT7688 SoCs. > + MediaTek MT7620 pin controller for MT7620 SoC. > The pin controller can only set the muxing of pin groups. Muxing individual > pins is not supported. There is no pinconf support. > > @@ -35,19 +35,10 @@ patternProperties: > function: > description: > A string containing the name of the function to mux to the group. > - anyOf: > - - description: For MT7620 SoC > - enum: [ephy, gpio, gpio i2s, gpio uartf, i2c, i2s uartf, mdio, nand, pa, > - pcie refclk, pcie rst, pcm gpio, pcm i2s, pcm uartf, refclk, > - rgmii1, rgmii2, sd, spi, spi refclk, uartf, uartlite, wdt refclk, > - wdt rst, wled] > - > - - description: For MT7628 and MT7688 SoCs > - enum: [antenna, debug, gpio, i2c, i2s, jtag, p0led_an, p0led_kn, > - p1led_an, p1led_kn, p2led_an, p2led_kn, p3led_an, p3led_kn, > - p4led_an, p4led_kn, pcie, pcm, perst, pwm, pwm0, pwm1, pwm_uart2, > - refclk, rsvd, sdxc, sdxc d5 d4, sdxc d6, sdxc d7, spi, spi cs1, > - spis, sw_r, uart0, uart1, uart2, utif, wdt, wled_an, wled_kn, -] > + enum: [ephy, gpio, gpio i2s, gpio uartf, i2c, i2s uartf, mdio, nand, > + pa, pcie refclk, pcie rst, pcm gpio, pcm i2s, pcm uartf, > + refclk, rgmii1, rgmii2, sd, spi, spi refclk, uartf, uartlite, > + wdt refclk, wdt rst, wled] > > groups: > description: > @@ -59,24 +50,6 @@ patternProperties: > - function > > allOf: > - - if: > - properties: > - function: > - const: antenna > - then: > - properties: > - groups: > - enum: [i2s] > - > - - if: > - properties: > - function: > - const: debug > - then: > - properties: > - groups: > - enum: [i2c] > - > - if: > properties: > function: > @@ -93,17 +66,8 @@ patternProperties: > then: > properties: > groups: > - anyOf: > - - description: For MT7620 SoC > - enum: [ephy, i2c, mdio, nd_sd, pa, pcie, rgmii1, rgmii2, > - spi, spi refclk, uartf, uartlite, wdt, wled] > - > - - description: For MT7628 and MT7688 SoCs > - enum: [gpio, i2c, i2s, p0led_an, p0led_kn, p1led_an, > - p1led_kn, p2led_an, p2led_kn, p3led_an, p3led_kn, > - p4led_an, p4led_kn, perst, pwm0, pwm1, refclk, > - sdmode, spi, spi cs1, spis, uart0, uart1, uart2, > - wdt, wled_an, wled_kn] > + enum: [ephy, i2c, mdio, nd_sd, pa, pcie, rgmii1, rgmii2, spi, > + spi refclk, uartf, uartlite, wdt, wled] > > - if: > properties: > @@ -132,15 +96,6 @@ patternProperties: > groups: > enum: [i2c] > > - - if: > - properties: > - function: > - const: i2s > - then: > - properties: > - groups: > - enum: [i2s] > - > - if: > properties: > function: > @@ -150,17 +105,6 @@ patternProperties: > groups: > enum: [uartf] > > - - if: > - properties: > - function: > - const: jtag > - then: > - properties: > - groups: > - enum: [p0led_an, p0led_kn, p1led_an, p1led_kn, p2led_an, > - p2led_kn, p3led_an, p3led_kn, p4led_an, p4led_kn, > - sdmode] > - > - if: > properties: > function: > @@ -179,96 +123,6 @@ patternProperties: > groups: > enum: [nd_sd] > > - - if: > - properties: > - function: > - const: p0led_an > - then: > - properties: > - groups: > - enum: [p0led_an] > - > - - if: > - properties: > - function: > - const: p0led_kn > - then: > - properties: > - groups: > - enum: [p0led_kn] > - > - - if: > - properties: > - function: > - const: p1led_an > - then: > - properties: > - groups: > - enum: [p1led_an] > - > - - if: > - properties: > - function: > - const: p1led_kn > - then: > - properties: > - groups: > - enum: [p1led_kn] > - > - - if: > - properties: > - function: > - const: p2led_an > - then: > - properties: > - groups: > - enum: [p2led_an] > - > - - if: > - properties: > - function: > - const: p2led_kn > - then: > - properties: > - groups: > - enum: [p2led_kn] > - > - - if: > - properties: > - function: > - const: p3led_an > - then: > - properties: > - groups: > - enum: [p3led_an] > - > - - if: > - properties: > - function: > - const: p3led_kn > - then: > - properties: > - groups: > - enum: [p3led_kn] > - > - - if: > - properties: > - function: > - const: p4led_an > - then: > - properties: > - groups: > - enum: [p4led_an] > - > - - if: > - properties: > - function: > - const: p4led_kn > - then: > - properties: > - groups: > - enum: [p4led_kn] > - > - if: > properties: > function: > @@ -278,15 +132,6 @@ patternProperties: > groups: > enum: [pa] > > - - if: > - properties: > - function: > - const: pcie > - then: > - properties: > - groups: > - enum: [gpio] > - > - if: > properties: > function: > @@ -305,15 +150,6 @@ patternProperties: > groups: > enum: [pcie] > > - - if: > - properties: > - function: > - const: pcm > - then: > - properties: > - groups: > - enum: [i2s] > - > - if: > properties: > function: > @@ -341,51 +177,6 @@ patternProperties: > groups: > enum: [uartf] > > - - if: > - properties: > - function: > - const: perst > - then: > - properties: > - groups: > - enum: [perst] > - > - - if: > - properties: > - function: > - const: pwm > - then: > - properties: > - groups: > - enum: [uart1, uart2] > - > - - if: > - properties: > - function: > - const: pwm0 > - then: > - properties: > - groups: > - enum: [pwm0] > - > - - if: > - properties: > - function: > - const: pwm1 > - then: > - properties: > - groups: > - enum: [pwm1] > - > - - if: > - properties: > - function: > - const: pwm_uart2 > - then: > - properties: > - groups: > - enum: [spis] > - > - if: > properties: > function: > @@ -393,12 +184,7 @@ patternProperties: > then: > properties: > groups: > - anyOf: > - - description: For MT7620 SoC > - enum: [mdio] > - > - - description: For MT7628 and MT7688 SoCs > - enum: [gpio, refclk, spi cs1] > + enum: [mdio] > > - if: > properties: > @@ -418,15 +204,6 @@ patternProperties: > groups: > enum: [rgmii2] > > - - if: > - properties: > - function: > - const: rsvd > - then: > - properties: > - groups: > - enum: [p0led_an, p0led_kn, wled_an, wled_kn] > - > - if: > properties: > function: > @@ -436,42 +213,6 @@ patternProperties: > groups: > enum: [nd_sd] > > - - if: > - properties: > - function: > - const: sdxc > - then: > - properties: > - groups: > - enum: [sdmode] > - > - - if: > - properties: > - function: > - const: sdxc d5 d4 > - then: > - properties: > - groups: > - enum: [uart2] > - > - - if: > - properties: > - function: > - const: sdxc d6 > - then: > - properties: > - groups: > - enum: [pwm1] > - > - - if: > - properties: > - function: > - const: sdxc d7 > - then: > - properties: > - groups: > - enum: [pwm0] > - > - if: > properties: > function: > @@ -481,15 +222,6 @@ patternProperties: > groups: > enum: [spi] > > - - if: > - properties: > - function: > - const: spi cs1 > - then: > - properties: > - groups: > - enum: [spi cs1] > - > - if: > properties: > function: > @@ -499,51 +231,6 @@ patternProperties: > groups: > enum: [spi refclk] > > - - if: > - properties: > - function: > - const: spis > - then: > - properties: > - groups: > - enum: [spis] > - > - - if: > - properties: > - function: > - const: sw_r > - then: > - properties: > - groups: > - enum: [uart1] > - > - - if: > - properties: > - function: > - const: uart0 > - then: > - properties: > - groups: > - enum: [uart0] > - > - - if: > - properties: > - function: > - const: uart1 > - then: > - properties: > - groups: > - enum: [uart1] > - > - - if: > - properties: > - function: > - const: uart2 > - then: > - properties: > - groups: > - enum: [uart2] > - > - if: > properties: > function: > @@ -562,25 +249,6 @@ patternProperties: > groups: > enum: [uartlite] > > - - if: > - properties: > - function: > - const: utif > - then: > - properties: > - groups: > - enum: [p1led_an, p1led_kn, p2led_an, p2led_kn, p3led_an, > - p3led_kn, p4led_an, p4led_kn, pwm0, pwm1, sdmode, spis] > - > - - if: > - properties: > - function: > - const: wdt > - then: > - properties: > - groups: > - enum: [wdt] > - > - if: > properties: > function: > @@ -608,33 +276,6 @@ patternProperties: > groups: > enum: [wled] > > - - if: > - properties: > - function: > - const: wled_an > - then: > - properties: > - groups: > - enum: [wled_an] > - > - - if: > - properties: > - function: > - const: wled_kn > - then: > - properties: > - groups: > - enum: [wled_kn] > - > - - if: > - properties: > - function: > - const: "-" > - then: > - properties: > - groups: > - enum: [i2c, spi cs1, uart0] > - > additionalProperties: false > > additionalProperties: false > diff --git a/Documentation/devicetree/bindings/pinctrl/mediatek,mt76x8-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/mediatek,mt76x8-pinctrl.yaml > new file mode 100644 > index 000000000000..c818c8947866 > --- /dev/null > +++ b/Documentation/devicetree/bindings/pinctrl/mediatek,mt76x8-pinctrl.yaml > @@ -0,0 +1,454 @@ > +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/pinctrl/mediatek,mt76x8-pinctrl.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: MediaTek MT76X8 Pin Controller > + > +maintainers: > + - Arınç ÜNAL > + - Sergio Paracuellos > + > +description: > + MediaTek MT76X8 pin controller for MT7628 and MT7688 SoCs. > + The pin controller can only set the muxing of pin groups. Muxing individual > + pins is not supported. There is no pinconf support. > + > +properties: > + compatible: > + enum: > + - mediatek,mt76x8-pinctrl We generally don't do wildcards in compatible strings. Are these 2 SoCs really 'the same'? > + - ralink,mt7620-pinctrl Huh? Doesn't this conflict with the mt7620 schema? > + - ralink,rt2880-pinmux > + > +patternProperties: > + '-pins$': > + type: object > + patternProperties: > + '^(.*-)?pinmux$': > + type: object > + description: node for pinctrl. > + $ref: pinmux-node.yaml# > + > + properties: > + function: > + description: > + A string containing the name of the function to mux to the group. > + enum: [antenna, debug, gpio, i2c, i2s, jtag, p0led_an, p0led_kn, > + p1led_an, p1led_kn, p2led_an, p2led_kn, p3led_an, p3led_kn, > + p4led_an, p4led_kn, pcie, pcm, perst, pwm, pwm0, pwm1, > + pwm_uart2, refclk, rsvd, sdxc, sdxc d5 d4, sdxc d6, sdxc d7, > + spi, spi cs1, spis, sw_r, uart0, uart1, uart2, utif, wdt, > + wled_an, wled_kn, -] > + > + groups: > + description: > + An array of strings. Each string contains the name of a group. > + maxItems: 1 > + > + required: > + - groups > + - function > + > + allOf: > + - if: > + properties: > + function: > + const: antenna > + then: > + properties: > + groups: > + enum: [i2s] > + > + - if: > + properties: > + function: > + const: debug > + then: > + properties: > + groups: > + enum: [i2c] > + > + - if: > + properties: > + function: > + const: gpio > + then: > + properties: > + groups: > + enum: [gpio, i2c, i2s, p0led_an, p0led_kn, p1led_an, p1led_kn, > + p2led_an, p2led_kn, p3led_an, p3led_kn, p4led_an, > + p4led_kn, perst, pwm0, pwm1, refclk, sdmode, spi, > + spi cs1, spis, uart0, uart1, uart2, wdt, wled_an, > + wled_kn] > + > + - if: > + properties: > + function: > + const: i2c > + then: > + properties: > + groups: > + enum: [i2c] > + > + - if: > + properties: > + function: > + const: i2s > + then: > + properties: > + groups: > + enum: [i2s] > + > + - if: > + properties: > + function: > + const: jtag > + then: > + properties: > + groups: > + enum: [p0led_an, p0led_kn, p1led_an, p1led_kn, p2led_an, > + p2led_kn, p3led_an, p3led_kn, p4led_an, p4led_kn, > + sdmode] > + > + - if: > + properties: > + function: > + const: p0led_an > + then: > + properties: > + groups: > + enum: [p0led_an] > + > + - if: > + properties: > + function: > + const: p0led_kn > + then: > + properties: > + groups: > + enum: [p0led_kn] > + > + - if: > + properties: > + function: > + const: p1led_an > + then: > + properties: > + groups: > + enum: [p1led_an] > + > + - if: > + properties: > + function: > + const: p1led_kn > + then: > + properties: > + groups: > + enum: [p1led_kn] > + > + - if: > + properties: > + function: > + const: p2led_an > + then: > + properties: > + groups: > + enum: [p2led_an] > + > + - if: > + properties: > + function: > + const: p2led_kn > + then: > + properties: > + groups: > + enum: [p2led_kn] > + > + - if: > + properties: > + function: > + const: p3led_an > + then: > + properties: > + groups: > + enum: [p3led_an] > + > + - if: > + properties: > + function: > + const: p3led_kn > + then: > + properties: > + groups: > + enum: [p3led_kn] > + > + - if: > + properties: > + function: > + const: p4led_an > + then: > + properties: > + groups: > + enum: [p4led_an] > + > + - if: > + properties: > + function: > + const: p4led_kn > + then: > + properties: > + groups: > + enum: [p4led_kn] > + > + - if: > + properties: > + function: > + const: pcie > + then: > + properties: > + groups: > + enum: [gpio] > + > + - if: > + properties: > + function: > + const: pcm > + then: > + properties: > + groups: > + enum: [i2s] > + > + - if: > + properties: > + function: > + const: perst > + then: > + properties: > + groups: > + enum: [perst] > + > + - if: > + properties: > + function: > + const: pwm > + then: > + properties: > + groups: > + enum: [uart1, uart2] > + > + - if: > + properties: > + function: > + const: pwm0 > + then: > + properties: > + groups: > + enum: [pwm0] > + > + - if: > + properties: > + function: > + const: pwm1 > + then: > + properties: > + groups: > + enum: [pwm1] > + > + - if: > + properties: > + function: > + const: pwm_uart2 > + then: > + properties: > + groups: > + enum: [spis] > + > + - if: > + properties: > + function: > + const: refclk > + then: > + properties: > + groups: > + enum: [gpio, refclk, spi cs1] > + > + - if: > + properties: > + function: > + const: rsvd > + then: > + properties: > + groups: > + enum: [p0led_an, p0led_kn, wled_an, wled_kn] > + > + - if: > + properties: > + function: > + const: sdxc > + then: > + properties: > + groups: > + enum: [sdmode] > + > + - if: > + properties: > + function: > + const: sdxc d5 d4 > + then: > + properties: > + groups: > + enum: [uart2] > + > + - if: > + properties: > + function: > + const: sdxc d6 > + then: > + properties: > + groups: > + enum: [pwm1] > + > + - if: > + properties: > + function: > + const: sdxc d7 > + then: > + properties: > + groups: > + enum: [pwm0] > + > + - if: > + properties: > + function: > + const: spi > + then: > + properties: > + groups: > + enum: [spi] > + > + - if: > + properties: > + function: > + const: spi cs1 > + then: > + properties: > + groups: > + enum: [spi cs1] > + > + - if: > + properties: > + function: > + const: spis > + then: > + properties: > + groups: > + enum: [spis] > + > + - if: > + properties: > + function: > + const: sw_r > + then: > + properties: > + groups: > + enum: [uart1] > + > + - if: > + properties: > + function: > + const: uart0 > + then: > + properties: > + groups: > + enum: [uart0] > + > + - if: > + properties: > + function: > + const: uart1 > + then: > + properties: > + groups: > + enum: [uart1] > + > + - if: > + properties: > + function: > + const: uart2 > + then: > + properties: > + groups: > + enum: [uart2] > + > + - if: > + properties: > + function: > + const: utif > + then: > + properties: > + groups: > + enum: [p1led_an, p1led_kn, p2led_an, p2led_kn, p3led_an, > + p3led_kn, p4led_an, p4led_kn, pwm0, pwm1, sdmode, spis] > + > + - if: > + properties: > + function: > + const: wdt > + then: > + properties: > + groups: > + enum: [wdt] > + > + - if: > + properties: > + function: > + const: wled_an > + then: > + properties: > + groups: > + enum: [wled_an] > + > + - if: > + properties: > + function: > + const: wled_kn > + then: > + properties: > + groups: > + enum: [wled_kn] > + > + - if: > + properties: > + function: > + const: "-" > + then: > + properties: > + groups: > + enum: [i2c, spi cs1, uart0] > + > + additionalProperties: false > + > + additionalProperties: false Move these above 'properties'. It's easier to read than after a long indented section. > + > +allOf: > + - $ref: "pinctrl.yaml#" Drop quotes. Rob 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 529F6C7EE23 for ; Mon, 27 Feb 2023 18:23:05 +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:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=rZPVArtc0HfxBI+m0ZfMvNF7EA3c25jYzPe0Hca+Vds=; b=S6TxojZI/r3Sti 2j66SVsqzkGBiFbt3aHmLrQ3vmaNGPq01wtgRXvZcThsjbQzufBjR4t/+0gh8j9RI33c27qbkOb+u qmp7c2MV3lCs5kQX+wduVK4W1sMFgBr+K2QHZDV2VlfRfC+3RWzajjJfDVBKXvjL7GImMlbr46mha xlUmvP6BcJsjs2fbZ2LMt4o3Q71Sd+5l3jvsK0eQiP6nsCaYyWh0d93i/ZNafxUvGduhJ2VE+NnHO CJ/2RI1v/pf88VNxXH/IOrYz22ZoOoAh01BvikJrv4k+49V8c4h+s/cbAP3zfD5DyR3W51aj3CbT2 kRysVPF4lz8X+TT00HmA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1pWi8T-00Ah6f-ET; Mon, 27 Feb 2023 18:22:05 +0000 Received: from mail-oi1-f182.google.com ([209.85.167.182]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1pWi8N-00Ah4r-BQ; Mon, 27 Feb 2023 18:22:02 +0000 Received: by mail-oi1-f182.google.com with SMTP id bg11so5927426oib.5; Mon, 27 Feb 2023 10:21:57 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=4TzdtsT7AcCB+2AXLCayF9bpIkGfUKHr8css2BTrO64=; b=QrPrzcgjxZxzuaNYwb9OmsTiNB+laXYrrQOFlkQeIvnxTnW2Hu44rPkoK6nG+AHQhb EtEQV2K+CT2M/97+VfxaA+hUMhoGDD/ePjvPvSmHNRk1mbNEcWWSvFmRmPVQywFGfowY AJ/n1JnyEerfq03bOvNEBzret3RJff8S7Nomygz6HGnFSmOf8VG+x0OssaQO1Y2JjxYE 9o0TJsMvE3MnJGw93V6zsOxJwTCpKEUzxdXQHrkoZFBJlE0YYSpcj+15Ex5xSNkkU0Ch JpSHhauivbcobbPFkpRBf4khBWetME/zCvj/jznhpi3AulxJ+VUn9svva8/RMpugRQZe B7Gg== X-Gm-Message-State: AO0yUKWPPo+b2twW6MziTQ2UQ9JJuxjnOJ8XE4lfABvEX5wSUHU0Wgo7 HMurqUI/oex5Q0vdb5RvVdE7tAEt3w== X-Google-Smtp-Source: AK7set+nYLYHTWO61aCswV8W27KR31C8GLtVU/1R73fbNW306ew5wAJJ1GRQBicUZNk+i/5g2V3YBw== X-Received: by 2002:aca:2418:0:b0:37f:9064:31e7 with SMTP id n24-20020aca2418000000b0037f906431e7mr46078oic.17.1677522117042; Mon, 27 Feb 2023 10:21:57 -0800 (PST) Received: from robh_at_kernel.org (66-90-144-107.dyn.grandenetworks.net. [66.90.144.107]) by smtp.gmail.com with ESMTPSA id dz19-20020a056808439300b0037d7c3cfac7sm3433711oib.15.2023.02.27.10.21.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Feb 2023 10:21:56 -0800 (PST) Received: (nullmailer pid 578204 invoked by uid 1000); Mon, 27 Feb 2023 18:21:55 -0000 Date: Mon, 27 Feb 2023 12:21:55 -0600 From: Rob Herring To: arinc9.unal@gmail.com Cc: Sergio Paracuellos , Linus Walleij , Krzysztof Kozlowski , =?utf-8?B?QXLEsW7DpyDDnE5BTA==?= , linux-mediatek@lists.infradead.org, linux-mips@vger.kernel.org, linux-gpio@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Matthias Brugger , Sean Wang , William Dean , Daniel Golle , Daniel Santos , Luiz Angelo Daros de Luca , Frank Wunderlich , Landen Chao , DENG Qingfang , Sean Wang , erkin.bozoglu@xeront.com Subject: Re: [RFC PATCH 10/16] dt-bindings: pinctrl: mediatek: mt7620: split binding Message-ID: <20230227182155.GA550689-robh@kernel.org> References: <20230222183932.33267-1-arinc.unal@arinc9.com> <20230222183932.33267-11-arinc.unal@arinc9.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20230222183932.33267-11-arinc.unal@arinc9.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230227_102159_439254_7AFA0336 X-CRM114-Status: GOOD ( 17.62 ) 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 T24gV2VkLCBGZWIgMjIsIDIwMjMgYXQgMDk6Mzk6MjZQTSArMDMwMCwgYXJpbmM5LnVuYWxAZ21h aWwuY29tIHdyb3RlOgo+IEZyb206IEFyxLFuw6cgw5xOQUwgPGFyaW5jLnVuYWxAYXJpbmM5LmNv bT4KPiAKPiBUaGUgTVQ3NjI4IGFuZCBNVDc2ODggU29DcyBjb250YWluIGRpZmZlcmVudCBwaW4g bXV4aW5nIGluZm9ybWF0aW9uLAo+IHRoZXJlZm9yZSwgc2hvdWxkIGJlIHNwbGl0LiBUaGlzIGNh biBiZSBkb25lIG5vdyB0aGF0IHRoZXJlIGFyZSBjb21wYXRpYmxlCj4gc3RyaW5ncyB0byBkaXN0 aW5ndWlzaCB0aGVtIGZyb20gb3RoZXIgU29Dcy4KPiAKPiBTcGxpdCB0aGUgc2NoZW1hIG91dCB0 byBtZWRpYXRlayxtdDc2eDgtcGluY3RybC55YW1sLgo+IAo+IFNpZ25lZC1vZmYtYnk6IEFyxLFu w6cgw5xOQUwgPGFyaW5jLnVuYWxAYXJpbmM5LmNvbT4KPiAtLS0KPiAgLi4uL3BpbmN0cmwvbWVk aWF0ZWssbXQ3NjIwLXBpbmN0cmwueWFtbCAgICAgIHwgMzc1ICstLS0tLS0tLS0tLS0tLQo+ICAu Li4vcGluY3RybC9tZWRpYXRlayxtdDc2eDgtcGluY3RybC55YW1sICAgICAgfCA0NTQgKysrKysr KysrKysrKysrKysrCj4gIDIgZmlsZXMgY2hhbmdlZCwgNDYyIGluc2VydGlvbnMoKyksIDM2NyBk ZWxldGlvbnMoLSkKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IERvY3VtZW50YXRpb24vZGV2aWNldHJl ZS9iaW5kaW5ncy9waW5jdHJsL21lZGlhdGVrLG10NzZ4OC1waW5jdHJsLnlhbWwKPiAKPiBkaWZm IC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BpbmN0cmwvbWVkaWF0 ZWssbXQ3NjIwLXBpbmN0cmwueWFtbCBiL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5n cy9waW5jdHJsL21lZGlhdGVrLG10NzYyMC1waW5jdHJsLnlhbWwKPiBpbmRleCAzYmY1OGRhOGEz OTQuLmVhNGExMTk0ZmJjNCAxMDA2NDQKPiAtLS0gYS9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUv YmluZGluZ3MvcGluY3RybC9tZWRpYXRlayxtdDc2MjAtcGluY3RybC55YW1sCj4gKysrIGIvRG9j dW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BpbmN0cmwvbWVkaWF0ZWssbXQ3NjIwLXBp bmN0cmwueWFtbAo+IEBAIC0xMSw3ICsxMSw3IEBAIG1haW50YWluZXJzOgo+ICAgIC0gU2VyZ2lv IFBhcmFjdWVsbG9zIDxzZXJnaW8ucGFyYWN1ZWxsb3NAZ21haWwuY29tPgo+ICAKPiAgZGVzY3Jp cHRpb246Cj4gLSAgTWVkaWFUZWsgTVQ3NjIwIHBpbiBjb250cm9sbGVyIGZvciBNVDc2MjAsIE1U NzYyOCBhbmQgTVQ3Njg4IFNvQ3MuCj4gKyAgTWVkaWFUZWsgTVQ3NjIwIHBpbiBjb250cm9sbGVy IGZvciBNVDc2MjAgU29DLgo+ICAgIFRoZSBwaW4gY29udHJvbGxlciBjYW4gb25seSBzZXQgdGhl IG11eGluZyBvZiBwaW4gZ3JvdXBzLiBNdXhpbmcgaW5kaXZpZHVhbAo+ICAgIHBpbnMgaXMgbm90 IHN1cHBvcnRlZC4gVGhlcmUgaXMgbm8gcGluY29uZiBzdXBwb3J0Lgo+ICAKPiBAQCAtMzUsMTkg KzM1LDEwIEBAIHBhdHRlcm5Qcm9wZXJ0aWVzOgo+ICAgICAgICAgICAgZnVuY3Rpb246Cj4gICAg ICAgICAgICAgIGRlc2NyaXB0aW9uOgo+ICAgICAgICAgICAgICAgIEEgc3RyaW5nIGNvbnRhaW5p bmcgdGhlIG5hbWUgb2YgdGhlIGZ1bmN0aW9uIHRvIG11eCB0byB0aGUgZ3JvdXAuCj4gLSAgICAg ICAgICAgIGFueU9mOgo+IC0gICAgICAgICAgICAgIC0gZGVzY3JpcHRpb246IEZvciBNVDc2MjAg U29DCj4gLSAgICAgICAgICAgICAgICBlbnVtOiBbZXBoeSwgZ3BpbywgZ3BpbyBpMnMsIGdwaW8g dWFydGYsIGkyYywgaTJzIHVhcnRmLCBtZGlvLCBuYW5kLCBwYSwKPiAtICAgICAgICAgICAgICAg ICAgICAgICBwY2llIHJlZmNsaywgcGNpZSByc3QsIHBjbSBncGlvLCBwY20gaTJzLCBwY20gdWFy dGYsIHJlZmNsaywKPiAtICAgICAgICAgICAgICAgICAgICAgICByZ21paTEsIHJnbWlpMiwgc2Qs IHNwaSwgc3BpIHJlZmNsaywgdWFydGYsIHVhcnRsaXRlLCB3ZHQgcmVmY2xrLAo+IC0gICAgICAg ICAgICAgICAgICAgICAgIHdkdCByc3QsIHdsZWRdCj4gLQo+IC0gICAgICAgICAgICAgIC0gZGVz Y3JpcHRpb246IEZvciBNVDc2MjggYW5kIE1UNzY4OCBTb0NzCj4gLSAgICAgICAgICAgICAgICBl bnVtOiBbYW50ZW5uYSwgZGVidWcsIGdwaW8sIGkyYywgaTJzLCBqdGFnLCBwMGxlZF9hbiwgcDBs ZWRfa24sCj4gLSAgICAgICAgICAgICAgICAgICAgICAgcDFsZWRfYW4sIHAxbGVkX2tuLCBwMmxl ZF9hbiwgcDJsZWRfa24sIHAzbGVkX2FuLCBwM2xlZF9rbiwKPiAtICAgICAgICAgICAgICAgICAg ICAgICBwNGxlZF9hbiwgcDRsZWRfa24sIHBjaWUsIHBjbSwgcGVyc3QsIHB3bSwgcHdtMCwgcHdt MSwgcHdtX3VhcnQyLAo+IC0gICAgICAgICAgICAgICAgICAgICAgIHJlZmNsaywgcnN2ZCwgc2R4 Yywgc2R4YyBkNSBkNCwgc2R4YyBkNiwgc2R4YyBkNywgc3BpLCBzcGkgY3MxLAo+IC0gICAgICAg ICAgICAgICAgICAgICAgIHNwaXMsIHN3X3IsIHVhcnQwLCB1YXJ0MSwgdWFydDIsIHV0aWYsIHdk dCwgd2xlZF9hbiwgd2xlZF9rbiwgLV0KPiArICAgICAgICAgICAgZW51bTogW2VwaHksIGdwaW8s IGdwaW8gaTJzLCBncGlvIHVhcnRmLCBpMmMsIGkycyB1YXJ0ZiwgbWRpbywgbmFuZCwKPiArICAg ICAgICAgICAgICAgICAgIHBhLCBwY2llIHJlZmNsaywgcGNpZSByc3QsIHBjbSBncGlvLCBwY20g aTJzLCBwY20gdWFydGYsCj4gKyAgICAgICAgICAgICAgICAgICByZWZjbGssIHJnbWlpMSwgcmdt aWkyLCBzZCwgc3BpLCBzcGkgcmVmY2xrLCB1YXJ0ZiwgdWFydGxpdGUsCj4gKyAgICAgICAgICAg ICAgICAgICB3ZHQgcmVmY2xrLCB3ZHQgcnN0LCB3bGVkXQo+ICAKPiAgICAgICAgICAgIGdyb3Vw czoKPiAgICAgICAgICAgICAgZGVzY3JpcHRpb246Cj4gQEAgLTU5LDI0ICs1MCw2IEBAIHBhdHRl cm5Qcm9wZXJ0aWVzOgo+ICAgICAgICAgICAgLSBmdW5jdGlvbgo+ICAKPiAgICAgICAgICBhbGxP ZjoKPiAtICAgICAgICAgIC0gaWY6Cj4gLSAgICAgICAgICAgICAgcHJvcGVydGllczoKPiAtICAg ICAgICAgICAgICAgIGZ1bmN0aW9uOgo+IC0gICAgICAgICAgICAgICAgICBjb25zdDogYW50ZW5u YQo+IC0gICAgICAgICAgICB0aGVuOgo+IC0gICAgICAgICAgICAgIHByb3BlcnRpZXM6Cj4gLSAg ICAgICAgICAgICAgICBncm91cHM6Cj4gLSAgICAgICAgICAgICAgICAgIGVudW06IFtpMnNdCj4g LQo+IC0gICAgICAgICAgLSBpZjoKPiAtICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgo+IC0gICAg ICAgICAgICAgICAgZnVuY3Rpb246Cj4gLSAgICAgICAgICAgICAgICAgIGNvbnN0OiBkZWJ1Zwo+ IC0gICAgICAgICAgICB0aGVuOgo+IC0gICAgICAgICAgICAgIHByb3BlcnRpZXM6Cj4gLSAgICAg ICAgICAgICAgICBncm91cHM6Cj4gLSAgICAgICAgICAgICAgICAgIGVudW06IFtpMmNdCj4gLQo+ ICAgICAgICAgICAgLSBpZjoKPiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgo+ICAgICAgICAg ICAgICAgICAgZnVuY3Rpb246Cj4gQEAgLTkzLDE3ICs2Niw4IEBAIHBhdHRlcm5Qcm9wZXJ0aWVz Ogo+ICAgICAgICAgICAgICB0aGVuOgo+ICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6Cj4gICAg ICAgICAgICAgICAgICBncm91cHM6Cj4gLSAgICAgICAgICAgICAgICAgIGFueU9mOgo+IC0gICAg ICAgICAgICAgICAgICAgIC0gZGVzY3JpcHRpb246IEZvciBNVDc2MjAgU29DCj4gLSAgICAgICAg ICAgICAgICAgICAgICBlbnVtOiBbZXBoeSwgaTJjLCBtZGlvLCBuZF9zZCwgcGEsIHBjaWUsIHJn bWlpMSwgcmdtaWkyLAo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwaSwgc3BpIHJl ZmNsaywgdWFydGYsIHVhcnRsaXRlLCB3ZHQsIHdsZWRdCj4gLQo+IC0gICAgICAgICAgICAgICAg ICAgIC0gZGVzY3JpcHRpb246IEZvciBNVDc2MjggYW5kIE1UNzY4OCBTb0NzCj4gLSAgICAgICAg ICAgICAgICAgICAgICBlbnVtOiBbZ3BpbywgaTJjLCBpMnMsIHAwbGVkX2FuLCBwMGxlZF9rbiwg cDFsZWRfYW4sCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcDFsZWRfa24sIHAybGVk X2FuLCBwMmxlZF9rbiwgcDNsZWRfYW4sIHAzbGVkX2tuLAo+IC0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHA0bGVkX2FuLCBwNGxlZF9rbiwgcGVyc3QsIHB3bTAsIHB3bTEsIHJlZmNsaywK PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZG1vZGUsIHNwaSwgc3BpIGNzMSwgc3Bp cywgdWFydDAsIHVhcnQxLCB1YXJ0MiwKPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3 ZHQsIHdsZWRfYW4sIHdsZWRfa25dCj4gKyAgICAgICAgICAgICAgICAgIGVudW06IFtlcGh5LCBp MmMsIG1kaW8sIG5kX3NkLCBwYSwgcGNpZSwgcmdtaWkxLCByZ21paTIsIHNwaSwKPiArICAgICAg ICAgICAgICAgICAgICAgICAgIHNwaSByZWZjbGssIHVhcnRmLCB1YXJ0bGl0ZSwgd2R0LCB3bGVk XQo+ICAKPiAgICAgICAgICAgIC0gaWY6Cj4gICAgICAgICAgICAgICAgcHJvcGVydGllczoKPiBA QCAtMTMyLDE1ICs5Niw2IEBAIHBhdHRlcm5Qcm9wZXJ0aWVzOgo+ICAgICAgICAgICAgICAgICAg Z3JvdXBzOgo+ICAgICAgICAgICAgICAgICAgICBlbnVtOiBbaTJjXQo+ICAKPiAtICAgICAgICAg IC0gaWY6Cj4gLSAgICAgICAgICAgICAgcHJvcGVydGllczoKPiAtICAgICAgICAgICAgICAgIGZ1 bmN0aW9uOgo+IC0gICAgICAgICAgICAgICAgICBjb25zdDogaTJzCj4gLSAgICAgICAgICAgIHRo ZW46Cj4gLSAgICAgICAgICAgICAgcHJvcGVydGllczoKPiAtICAgICAgICAgICAgICAgIGdyb3Vw czoKPiAtICAgICAgICAgICAgICAgICAgZW51bTogW2kyc10KPiAtCj4gICAgICAgICAgICAtIGlm Ogo+ICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6Cj4gICAgICAgICAgICAgICAgICBmdW5jdGlv bjoKPiBAQCAtMTUwLDE3ICsxMDUsNiBAQCBwYXR0ZXJuUHJvcGVydGllczoKPiAgICAgICAgICAg ICAgICAgIGdyb3VwczoKPiAgICAgICAgICAgICAgICAgICAgZW51bTogW3VhcnRmXQo+ICAKPiAt ICAgICAgICAgIC0gaWY6Cj4gLSAgICAgICAgICAgICAgcHJvcGVydGllczoKPiAtICAgICAgICAg ICAgICAgIGZ1bmN0aW9uOgo+IC0gICAgICAgICAgICAgICAgICBjb25zdDoganRhZwo+IC0gICAg ICAgICAgICB0aGVuOgo+IC0gICAgICAgICAgICAgIHByb3BlcnRpZXM6Cj4gLSAgICAgICAgICAg ICAgICBncm91cHM6Cj4gLSAgICAgICAgICAgICAgICAgIGVudW06IFtwMGxlZF9hbiwgcDBsZWRf a24sIHAxbGVkX2FuLCBwMWxlZF9rbiwgcDJsZWRfYW4sCj4gLSAgICAgICAgICAgICAgICAgICAg ICAgICBwMmxlZF9rbiwgcDNsZWRfYW4sIHAzbGVkX2tuLCBwNGxlZF9hbiwgcDRsZWRfa24sCj4g LSAgICAgICAgICAgICAgICAgICAgICAgICBzZG1vZGVdCj4gLQo+ICAgICAgICAgICAgLSBpZjoK PiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgo+ICAgICAgICAgICAgICAgICAgZnVuY3Rpb246 Cj4gQEAgLTE3OSw5NiArMTIzLDYgQEAgcGF0dGVyblByb3BlcnRpZXM6Cj4gICAgICAgICAgICAg ICAgICBncm91cHM6Cj4gICAgICAgICAgICAgICAgICAgIGVudW06IFtuZF9zZF0KPiAgCj4gLSAg ICAgICAgICAtIGlmOgo+IC0gICAgICAgICAgICAgIHByb3BlcnRpZXM6Cj4gLSAgICAgICAgICAg ICAgICBmdW5jdGlvbjoKPiAtICAgICAgICAgICAgICAgICAgY29uc3Q6IHAwbGVkX2FuCj4gLSAg ICAgICAgICAgIHRoZW46Cj4gLSAgICAgICAgICAgICAgcHJvcGVydGllczoKPiAtICAgICAgICAg ICAgICAgIGdyb3VwczoKPiAtICAgICAgICAgICAgICAgICAgZW51bTogW3AwbGVkX2FuXQo+IC0K PiAtICAgICAgICAgIC0gaWY6Cj4gLSAgICAgICAgICAgICAgcHJvcGVydGllczoKPiAtICAgICAg ICAgICAgICAgIGZ1bmN0aW9uOgo+IC0gICAgICAgICAgICAgICAgICBjb25zdDogcDBsZWRfa24K PiAtICAgICAgICAgICAgdGhlbjoKPiAtICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgo+IC0gICAg ICAgICAgICAgICAgZ3JvdXBzOgo+IC0gICAgICAgICAgICAgICAgICBlbnVtOiBbcDBsZWRfa25d Cj4gLQo+IC0gICAgICAgICAgLSBpZjoKPiAtICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgo+IC0g ICAgICAgICAgICAgICAgZnVuY3Rpb246Cj4gLSAgICAgICAgICAgICAgICAgIGNvbnN0OiBwMWxl ZF9hbgo+IC0gICAgICAgICAgICB0aGVuOgo+IC0gICAgICAgICAgICAgIHByb3BlcnRpZXM6Cj4g LSAgICAgICAgICAgICAgICBncm91cHM6Cj4gLSAgICAgICAgICAgICAgICAgIGVudW06IFtwMWxl ZF9hbl0KPiAtCj4gLSAgICAgICAgICAtIGlmOgo+IC0gICAgICAgICAgICAgIHByb3BlcnRpZXM6 Cj4gLSAgICAgICAgICAgICAgICBmdW5jdGlvbjoKPiAtICAgICAgICAgICAgICAgICAgY29uc3Q6 IHAxbGVkX2tuCj4gLSAgICAgICAgICAgIHRoZW46Cj4gLSAgICAgICAgICAgICAgcHJvcGVydGll czoKPiAtICAgICAgICAgICAgICAgIGdyb3VwczoKPiAtICAgICAgICAgICAgICAgICAgZW51bTog W3AxbGVkX2tuXQo+IC0KPiAtICAgICAgICAgIC0gaWY6Cj4gLSAgICAgICAgICAgICAgcHJvcGVy dGllczoKPiAtICAgICAgICAgICAgICAgIGZ1bmN0aW9uOgo+IC0gICAgICAgICAgICAgICAgICBj b25zdDogcDJsZWRfYW4KPiAtICAgICAgICAgICAgdGhlbjoKPiAtICAgICAgICAgICAgICBwcm9w ZXJ0aWVzOgo+IC0gICAgICAgICAgICAgICAgZ3JvdXBzOgo+IC0gICAgICAgICAgICAgICAgICBl bnVtOiBbcDJsZWRfYW5dCj4gLQo+IC0gICAgICAgICAgLSBpZjoKPiAtICAgICAgICAgICAgICBw cm9wZXJ0aWVzOgo+IC0gICAgICAgICAgICAgICAgZnVuY3Rpb246Cj4gLSAgICAgICAgICAgICAg ICAgIGNvbnN0OiBwMmxlZF9rbgo+IC0gICAgICAgICAgICB0aGVuOgo+IC0gICAgICAgICAgICAg IHByb3BlcnRpZXM6Cj4gLSAgICAgICAgICAgICAgICBncm91cHM6Cj4gLSAgICAgICAgICAgICAg ICAgIGVudW06IFtwMmxlZF9rbl0KPiAtCj4gLSAgICAgICAgICAtIGlmOgo+IC0gICAgICAgICAg ICAgIHByb3BlcnRpZXM6Cj4gLSAgICAgICAgICAgICAgICBmdW5jdGlvbjoKPiAtICAgICAgICAg ICAgICAgICAgY29uc3Q6IHAzbGVkX2FuCj4gLSAgICAgICAgICAgIHRoZW46Cj4gLSAgICAgICAg ICAgICAgcHJvcGVydGllczoKPiAtICAgICAgICAgICAgICAgIGdyb3VwczoKPiAtICAgICAgICAg ICAgICAgICAgZW51bTogW3AzbGVkX2FuXQo+IC0KPiAtICAgICAgICAgIC0gaWY6Cj4gLSAgICAg ICAgICAgICAgcHJvcGVydGllczoKPiAtICAgICAgICAgICAgICAgIGZ1bmN0aW9uOgo+IC0gICAg ICAgICAgICAgICAgICBjb25zdDogcDNsZWRfa24KPiAtICAgICAgICAgICAgdGhlbjoKPiAtICAg ICAgICAgICAgICBwcm9wZXJ0aWVzOgo+IC0gICAgICAgICAgICAgICAgZ3JvdXBzOgo+IC0gICAg ICAgICAgICAgICAgICBlbnVtOiBbcDNsZWRfa25dCj4gLQo+IC0gICAgICAgICAgLSBpZjoKPiAt ICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgo+IC0gICAgICAgICAgICAgICAgZnVuY3Rpb246Cj4g LSAgICAgICAgICAgICAgICAgIGNvbnN0OiBwNGxlZF9hbgo+IC0gICAgICAgICAgICB0aGVuOgo+ IC0gICAgICAgICAgICAgIHByb3BlcnRpZXM6Cj4gLSAgICAgICAgICAgICAgICBncm91cHM6Cj4g LSAgICAgICAgICAgICAgICAgIGVudW06IFtwNGxlZF9hbl0KPiAtCj4gLSAgICAgICAgICAtIGlm Ogo+IC0gICAgICAgICAgICAgIHByb3BlcnRpZXM6Cj4gLSAgICAgICAgICAgICAgICBmdW5jdGlv bjoKPiAtICAgICAgICAgICAgICAgICAgY29uc3Q6IHA0bGVkX2tuCj4gLSAgICAgICAgICAgIHRo ZW46Cj4gLSAgICAgICAgICAgICAgcHJvcGVydGllczoKPiAtICAgICAgICAgICAgICAgIGdyb3Vw czoKPiAtICAgICAgICAgICAgICAgICAgZW51bTogW3A0bGVkX2tuXQo+IC0KPiAgICAgICAgICAg IC0gaWY6Cj4gICAgICAgICAgICAgICAgcHJvcGVydGllczoKPiAgICAgICAgICAgICAgICAgIGZ1 bmN0aW9uOgo+IEBAIC0yNzgsMTUgKzEzMiw2IEBAIHBhdHRlcm5Qcm9wZXJ0aWVzOgo+ICAgICAg ICAgICAgICAgICAgZ3JvdXBzOgo+ICAgICAgICAgICAgICAgICAgICBlbnVtOiBbcGFdCj4gIAo+ IC0gICAgICAgICAgLSBpZjoKPiAtICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgo+IC0gICAgICAg ICAgICAgICAgZnVuY3Rpb246Cj4gLSAgICAgICAgICAgICAgICAgIGNvbnN0OiBwY2llCj4gLSAg ICAgICAgICAgIHRoZW46Cj4gLSAgICAgICAgICAgICAgcHJvcGVydGllczoKPiAtICAgICAgICAg ICAgICAgIGdyb3VwczoKPiAtICAgICAgICAgICAgICAgICAgZW51bTogW2dwaW9dCj4gLQo+ICAg ICAgICAgICAgLSBpZjoKPiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgo+ICAgICAgICAgICAg ICAgICAgZnVuY3Rpb246Cj4gQEAgLTMwNSwxNSArMTUwLDYgQEAgcGF0dGVyblByb3BlcnRpZXM6 Cj4gICAgICAgICAgICAgICAgICBncm91cHM6Cj4gICAgICAgICAgICAgICAgICAgIGVudW06IFtw Y2llXQo+ICAKPiAtICAgICAgICAgIC0gaWY6Cj4gLSAgICAgICAgICAgICAgcHJvcGVydGllczoK PiAtICAgICAgICAgICAgICAgIGZ1bmN0aW9uOgo+IC0gICAgICAgICAgICAgICAgICBjb25zdDog cGNtCj4gLSAgICAgICAgICAgIHRoZW46Cj4gLSAgICAgICAgICAgICAgcHJvcGVydGllczoKPiAt ICAgICAgICAgICAgICAgIGdyb3VwczoKPiAtICAgICAgICAgICAgICAgICAgZW51bTogW2kyc10K PiAtCj4gICAgICAgICAgICAtIGlmOgo+ICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6Cj4gICAg ICAgICAgICAgICAgICBmdW5jdGlvbjoKPiBAQCAtMzQxLDUxICsxNzcsNiBAQCBwYXR0ZXJuUHJv cGVydGllczoKPiAgICAgICAgICAgICAgICAgIGdyb3VwczoKPiAgICAgICAgICAgICAgICAgICAg ZW51bTogW3VhcnRmXQo+ICAKPiAtICAgICAgICAgIC0gaWY6Cj4gLSAgICAgICAgICAgICAgcHJv cGVydGllczoKPiAtICAgICAgICAgICAgICAgIGZ1bmN0aW9uOgo+IC0gICAgICAgICAgICAgICAg ICBjb25zdDogcGVyc3QKPiAtICAgICAgICAgICAgdGhlbjoKPiAtICAgICAgICAgICAgICBwcm9w ZXJ0aWVzOgo+IC0gICAgICAgICAgICAgICAgZ3JvdXBzOgo+IC0gICAgICAgICAgICAgICAgICBl bnVtOiBbcGVyc3RdCj4gLQo+IC0gICAgICAgICAgLSBpZjoKPiAtICAgICAgICAgICAgICBwcm9w ZXJ0aWVzOgo+IC0gICAgICAgICAgICAgICAgZnVuY3Rpb246Cj4gLSAgICAgICAgICAgICAgICAg IGNvbnN0OiBwd20KPiAtICAgICAgICAgICAgdGhlbjoKPiAtICAgICAgICAgICAgICBwcm9wZXJ0 aWVzOgo+IC0gICAgICAgICAgICAgICAgZ3JvdXBzOgo+IC0gICAgICAgICAgICAgICAgICBlbnVt OiBbdWFydDEsIHVhcnQyXQo+IC0KPiAtICAgICAgICAgIC0gaWY6Cj4gLSAgICAgICAgICAgICAg cHJvcGVydGllczoKPiAtICAgICAgICAgICAgICAgIGZ1bmN0aW9uOgo+IC0gICAgICAgICAgICAg ICAgICBjb25zdDogcHdtMAo+IC0gICAgICAgICAgICB0aGVuOgo+IC0gICAgICAgICAgICAgIHBy b3BlcnRpZXM6Cj4gLSAgICAgICAgICAgICAgICBncm91cHM6Cj4gLSAgICAgICAgICAgICAgICAg IGVudW06IFtwd20wXQo+IC0KPiAtICAgICAgICAgIC0gaWY6Cj4gLSAgICAgICAgICAgICAgcHJv cGVydGllczoKPiAtICAgICAgICAgICAgICAgIGZ1bmN0aW9uOgo+IC0gICAgICAgICAgICAgICAg ICBjb25zdDogcHdtMQo+IC0gICAgICAgICAgICB0aGVuOgo+IC0gICAgICAgICAgICAgIHByb3Bl cnRpZXM6Cj4gLSAgICAgICAgICAgICAgICBncm91cHM6Cj4gLSAgICAgICAgICAgICAgICAgIGVu dW06IFtwd20xXQo+IC0KPiAtICAgICAgICAgIC0gaWY6Cj4gLSAgICAgICAgICAgICAgcHJvcGVy dGllczoKPiAtICAgICAgICAgICAgICAgIGZ1bmN0aW9uOgo+IC0gICAgICAgICAgICAgICAgICBj b25zdDogcHdtX3VhcnQyCj4gLSAgICAgICAgICAgIHRoZW46Cj4gLSAgICAgICAgICAgICAgcHJv cGVydGllczoKPiAtICAgICAgICAgICAgICAgIGdyb3VwczoKPiAtICAgICAgICAgICAgICAgICAg ZW51bTogW3NwaXNdCj4gLQo+ICAgICAgICAgICAgLSBpZjoKPiAgICAgICAgICAgICAgICBwcm9w ZXJ0aWVzOgo+ICAgICAgICAgICAgICAgICAgZnVuY3Rpb246Cj4gQEAgLTM5MywxMiArMTg0LDcg QEAgcGF0dGVyblByb3BlcnRpZXM6Cj4gICAgICAgICAgICAgIHRoZW46Cj4gICAgICAgICAgICAg ICAgcHJvcGVydGllczoKPiAgICAgICAgICAgICAgICAgIGdyb3VwczoKPiAtICAgICAgICAgICAg ICAgICAgYW55T2Y6Cj4gLSAgICAgICAgICAgICAgICAgICAgLSBkZXNjcmlwdGlvbjogRm9yIE1U NzYyMCBTb0MKPiAtICAgICAgICAgICAgICAgICAgICAgIGVudW06IFttZGlvXQo+IC0KPiAtICAg ICAgICAgICAgICAgICAgICAtIGRlc2NyaXB0aW9uOiBGb3IgTVQ3NjI4IGFuZCBNVDc2ODggU29D cwo+IC0gICAgICAgICAgICAgICAgICAgICAgZW51bTogW2dwaW8sIHJlZmNsaywgc3BpIGNzMV0K PiArICAgICAgICAgICAgICAgICAgZW51bTogW21kaW9dCj4gIAo+ICAgICAgICAgICAgLSBpZjoK PiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgo+IEBAIC00MTgsMTUgKzIwNCw2IEBAIHBhdHRl cm5Qcm9wZXJ0aWVzOgo+ICAgICAgICAgICAgICAgICAgZ3JvdXBzOgo+ICAgICAgICAgICAgICAg ICAgICBlbnVtOiBbcmdtaWkyXQo+ICAKPiAtICAgICAgICAgIC0gaWY6Cj4gLSAgICAgICAgICAg ICAgcHJvcGVydGllczoKPiAtICAgICAgICAgICAgICAgIGZ1bmN0aW9uOgo+IC0gICAgICAgICAg ICAgICAgICBjb25zdDogcnN2ZAo+IC0gICAgICAgICAgICB0aGVuOgo+IC0gICAgICAgICAgICAg IHByb3BlcnRpZXM6Cj4gLSAgICAgICAgICAgICAgICBncm91cHM6Cj4gLSAgICAgICAgICAgICAg ICAgIGVudW06IFtwMGxlZF9hbiwgcDBsZWRfa24sIHdsZWRfYW4sIHdsZWRfa25dCj4gLQo+ICAg ICAgICAgICAgLSBpZjoKPiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgo+ICAgICAgICAgICAg ICAgICAgZnVuY3Rpb246Cj4gQEAgLTQzNiw0MiArMjEzLDYgQEAgcGF0dGVyblByb3BlcnRpZXM6 Cj4gICAgICAgICAgICAgICAgICBncm91cHM6Cj4gICAgICAgICAgICAgICAgICAgIGVudW06IFtu ZF9zZF0KPiAgCj4gLSAgICAgICAgICAtIGlmOgo+IC0gICAgICAgICAgICAgIHByb3BlcnRpZXM6 Cj4gLSAgICAgICAgICAgICAgICBmdW5jdGlvbjoKPiAtICAgICAgICAgICAgICAgICAgY29uc3Q6 IHNkeGMKPiAtICAgICAgICAgICAgdGhlbjoKPiAtICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgo+ IC0gICAgICAgICAgICAgICAgZ3JvdXBzOgo+IC0gICAgICAgICAgICAgICAgICBlbnVtOiBbc2Rt b2RlXQo+IC0KPiAtICAgICAgICAgIC0gaWY6Cj4gLSAgICAgICAgICAgICAgcHJvcGVydGllczoK PiAtICAgICAgICAgICAgICAgIGZ1bmN0aW9uOgo+IC0gICAgICAgICAgICAgICAgICBjb25zdDog c2R4YyBkNSBkNAo+IC0gICAgICAgICAgICB0aGVuOgo+IC0gICAgICAgICAgICAgIHByb3BlcnRp ZXM6Cj4gLSAgICAgICAgICAgICAgICBncm91cHM6Cj4gLSAgICAgICAgICAgICAgICAgIGVudW06 IFt1YXJ0Ml0KPiAtCj4gLSAgICAgICAgICAtIGlmOgo+IC0gICAgICAgICAgICAgIHByb3BlcnRp ZXM6Cj4gLSAgICAgICAgICAgICAgICBmdW5jdGlvbjoKPiAtICAgICAgICAgICAgICAgICAgY29u c3Q6IHNkeGMgZDYKPiAtICAgICAgICAgICAgdGhlbjoKPiAtICAgICAgICAgICAgICBwcm9wZXJ0 aWVzOgo+IC0gICAgICAgICAgICAgICAgZ3JvdXBzOgo+IC0gICAgICAgICAgICAgICAgICBlbnVt OiBbcHdtMV0KPiAtCj4gLSAgICAgICAgICAtIGlmOgo+IC0gICAgICAgICAgICAgIHByb3BlcnRp ZXM6Cj4gLSAgICAgICAgICAgICAgICBmdW5jdGlvbjoKPiAtICAgICAgICAgICAgICAgICAgY29u c3Q6IHNkeGMgZDcKPiAtICAgICAgICAgICAgdGhlbjoKPiAtICAgICAgICAgICAgICBwcm9wZXJ0 aWVzOgo+IC0gICAgICAgICAgICAgICAgZ3JvdXBzOgo+IC0gICAgICAgICAgICAgICAgICBlbnVt OiBbcHdtMF0KPiAtCj4gICAgICAgICAgICAtIGlmOgo+ICAgICAgICAgICAgICAgIHByb3BlcnRp ZXM6Cj4gICAgICAgICAgICAgICAgICBmdW5jdGlvbjoKPiBAQCAtNDgxLDE1ICsyMjIsNiBAQCBw YXR0ZXJuUHJvcGVydGllczoKPiAgICAgICAgICAgICAgICAgIGdyb3VwczoKPiAgICAgICAgICAg ICAgICAgICAgZW51bTogW3NwaV0KPiAgCj4gLSAgICAgICAgICAtIGlmOgo+IC0gICAgICAgICAg ICAgIHByb3BlcnRpZXM6Cj4gLSAgICAgICAgICAgICAgICBmdW5jdGlvbjoKPiAtICAgICAgICAg ICAgICAgICAgY29uc3Q6IHNwaSBjczEKPiAtICAgICAgICAgICAgdGhlbjoKPiAtICAgICAgICAg ICAgICBwcm9wZXJ0aWVzOgo+IC0gICAgICAgICAgICAgICAgZ3JvdXBzOgo+IC0gICAgICAgICAg ICAgICAgICBlbnVtOiBbc3BpIGNzMV0KPiAtCj4gICAgICAgICAgICAtIGlmOgo+ICAgICAgICAg ICAgICAgIHByb3BlcnRpZXM6Cj4gICAgICAgICAgICAgICAgICBmdW5jdGlvbjoKPiBAQCAtNDk5 LDUxICsyMzEsNiBAQCBwYXR0ZXJuUHJvcGVydGllczoKPiAgICAgICAgICAgICAgICAgIGdyb3Vw czoKPiAgICAgICAgICAgICAgICAgICAgZW51bTogW3NwaSByZWZjbGtdCj4gIAo+IC0gICAgICAg ICAgLSBpZjoKPiAtICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgo+IC0gICAgICAgICAgICAgICAg ZnVuY3Rpb246Cj4gLSAgICAgICAgICAgICAgICAgIGNvbnN0OiBzcGlzCj4gLSAgICAgICAgICAg IHRoZW46Cj4gLSAgICAgICAgICAgICAgcHJvcGVydGllczoKPiAtICAgICAgICAgICAgICAgIGdy b3VwczoKPiAtICAgICAgICAgICAgICAgICAgZW51bTogW3NwaXNdCj4gLQo+IC0gICAgICAgICAg LSBpZjoKPiAtICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgo+IC0gICAgICAgICAgICAgICAgZnVu Y3Rpb246Cj4gLSAgICAgICAgICAgICAgICAgIGNvbnN0OiBzd19yCj4gLSAgICAgICAgICAgIHRo ZW46Cj4gLSAgICAgICAgICAgICAgcHJvcGVydGllczoKPiAtICAgICAgICAgICAgICAgIGdyb3Vw czoKPiAtICAgICAgICAgICAgICAgICAgZW51bTogW3VhcnQxXQo+IC0KPiAtICAgICAgICAgIC0g aWY6Cj4gLSAgICAgICAgICAgICAgcHJvcGVydGllczoKPiAtICAgICAgICAgICAgICAgIGZ1bmN0 aW9uOgo+IC0gICAgICAgICAgICAgICAgICBjb25zdDogdWFydDAKPiAtICAgICAgICAgICAgdGhl bjoKPiAtICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgo+IC0gICAgICAgICAgICAgICAgZ3JvdXBz Ogo+IC0gICAgICAgICAgICAgICAgICBlbnVtOiBbdWFydDBdCj4gLQo+IC0gICAgICAgICAgLSBp ZjoKPiAtICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgo+IC0gICAgICAgICAgICAgICAgZnVuY3Rp b246Cj4gLSAgICAgICAgICAgICAgICAgIGNvbnN0OiB1YXJ0MQo+IC0gICAgICAgICAgICB0aGVu Ogo+IC0gICAgICAgICAgICAgIHByb3BlcnRpZXM6Cj4gLSAgICAgICAgICAgICAgICBncm91cHM6 Cj4gLSAgICAgICAgICAgICAgICAgIGVudW06IFt1YXJ0MV0KPiAtCj4gLSAgICAgICAgICAtIGlm Ogo+IC0gICAgICAgICAgICAgIHByb3BlcnRpZXM6Cj4gLSAgICAgICAgICAgICAgICBmdW5jdGlv bjoKPiAtICAgICAgICAgICAgICAgICAgY29uc3Q6IHVhcnQyCj4gLSAgICAgICAgICAgIHRoZW46 Cj4gLSAgICAgICAgICAgICAgcHJvcGVydGllczoKPiAtICAgICAgICAgICAgICAgIGdyb3VwczoK PiAtICAgICAgICAgICAgICAgICAgZW51bTogW3VhcnQyXQo+IC0KPiAgICAgICAgICAgIC0gaWY6 Cj4gICAgICAgICAgICAgICAgcHJvcGVydGllczoKPiAgICAgICAgICAgICAgICAgIGZ1bmN0aW9u Ogo+IEBAIC01NjIsMjUgKzI0OSw2IEBAIHBhdHRlcm5Qcm9wZXJ0aWVzOgo+ICAgICAgICAgICAg ICAgICAgZ3JvdXBzOgo+ICAgICAgICAgICAgICAgICAgICBlbnVtOiBbdWFydGxpdGVdCj4gIAo+ IC0gICAgICAgICAgLSBpZjoKPiAtICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgo+IC0gICAgICAg ICAgICAgICAgZnVuY3Rpb246Cj4gLSAgICAgICAgICAgICAgICAgIGNvbnN0OiB1dGlmCj4gLSAg ICAgICAgICAgIHRoZW46Cj4gLSAgICAgICAgICAgICAgcHJvcGVydGllczoKPiAtICAgICAgICAg ICAgICAgIGdyb3VwczoKPiAtICAgICAgICAgICAgICAgICAgZW51bTogW3AxbGVkX2FuLCBwMWxl ZF9rbiwgcDJsZWRfYW4sIHAybGVkX2tuLCBwM2xlZF9hbiwKPiAtICAgICAgICAgICAgICAgICAg ICAgICAgIHAzbGVkX2tuLCBwNGxlZF9hbiwgcDRsZWRfa24sIHB3bTAsIHB3bTEsIHNkbW9kZSwg c3Bpc10KPiAtCj4gLSAgICAgICAgICAtIGlmOgo+IC0gICAgICAgICAgICAgIHByb3BlcnRpZXM6 Cj4gLSAgICAgICAgICAgICAgICBmdW5jdGlvbjoKPiAtICAgICAgICAgICAgICAgICAgY29uc3Q6 IHdkdAo+IC0gICAgICAgICAgICB0aGVuOgo+IC0gICAgICAgICAgICAgIHByb3BlcnRpZXM6Cj4g LSAgICAgICAgICAgICAgICBncm91cHM6Cj4gLSAgICAgICAgICAgICAgICAgIGVudW06IFt3ZHRd Cj4gLQo+ICAgICAgICAgICAgLSBpZjoKPiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgo+ICAg ICAgICAgICAgICAgICAgZnVuY3Rpb246Cj4gQEAgLTYwOCwzMyArMjc2LDYgQEAgcGF0dGVyblBy b3BlcnRpZXM6Cj4gICAgICAgICAgICAgICAgICBncm91cHM6Cj4gICAgICAgICAgICAgICAgICAg IGVudW06IFt3bGVkXQo+ICAKPiAtICAgICAgICAgIC0gaWY6Cj4gLSAgICAgICAgICAgICAgcHJv cGVydGllczoKPiAtICAgICAgICAgICAgICAgIGZ1bmN0aW9uOgo+IC0gICAgICAgICAgICAgICAg ICBjb25zdDogd2xlZF9hbgo+IC0gICAgICAgICAgICB0aGVuOgo+IC0gICAgICAgICAgICAgIHBy b3BlcnRpZXM6Cj4gLSAgICAgICAgICAgICAgICBncm91cHM6Cj4gLSAgICAgICAgICAgICAgICAg IGVudW06IFt3bGVkX2FuXQo+IC0KPiAtICAgICAgICAgIC0gaWY6Cj4gLSAgICAgICAgICAgICAg cHJvcGVydGllczoKPiAtICAgICAgICAgICAgICAgIGZ1bmN0aW9uOgo+IC0gICAgICAgICAgICAg ICAgICBjb25zdDogd2xlZF9rbgo+IC0gICAgICAgICAgICB0aGVuOgo+IC0gICAgICAgICAgICAg IHByb3BlcnRpZXM6Cj4gLSAgICAgICAgICAgICAgICBncm91cHM6Cj4gLSAgICAgICAgICAgICAg ICAgIGVudW06IFt3bGVkX2tuXQo+IC0KPiAtICAgICAgICAgIC0gaWY6Cj4gLSAgICAgICAgICAg ICAgcHJvcGVydGllczoKPiAtICAgICAgICAgICAgICAgIGZ1bmN0aW9uOgo+IC0gICAgICAgICAg ICAgICAgICBjb25zdDogIi0iCj4gLSAgICAgICAgICAgIHRoZW46Cj4gLSAgICAgICAgICAgICAg cHJvcGVydGllczoKPiAtICAgICAgICAgICAgICAgIGdyb3VwczoKPiAtICAgICAgICAgICAgICAg ICAgZW51bTogW2kyYywgc3BpIGNzMSwgdWFydDBdCj4gLQo+ICAgICAgICAgIGFkZGl0aW9uYWxQ cm9wZXJ0aWVzOiBmYWxzZQo+ICAKPiAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZQo+ IGRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGluY3RybC9t ZWRpYXRlayxtdDc2eDgtcGluY3RybC55YW1sIGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2Jp bmRpbmdzL3BpbmN0cmwvbWVkaWF0ZWssbXQ3Nng4LXBpbmN0cmwueWFtbAo+IG5ldyBmaWxlIG1v ZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMDAwMDAwLi5jODE4Yzg5NDc4NjYKPiAtLS0gL2Rldi9u dWxsCj4gKysrIGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BpbmN0cmwvbWVk aWF0ZWssbXQ3Nng4LXBpbmN0cmwueWFtbAo+IEBAIC0wLDAgKzEsNDU0IEBACj4gKyMgU1BEWC1M aWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seSBPUiBCU0QtMi1DbGF1c2UKPiArJVlBTUwg MS4yCj4gKy0tLQo+ICskaWQ6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9zY2hlbWFzL3BpbmN0cmwv bWVkaWF0ZWssbXQ3Nng4LXBpbmN0cmwueWFtbCMKPiArJHNjaGVtYTogaHR0cDovL2RldmljZXRy ZWUub3JnL21ldGEtc2NoZW1hcy9jb3JlLnlhbWwjCj4gKwo+ICt0aXRsZTogTWVkaWFUZWsgTVQ3 Nlg4IFBpbiBDb250cm9sbGVyCj4gKwo+ICttYWludGFpbmVyczoKPiArICAtIEFyxLFuw6cgw5xO QUwgPGFyaW5jLnVuYWxAYXJpbmM5LmNvbT4KPiArICAtIFNlcmdpbyBQYXJhY3VlbGxvcyA8c2Vy Z2lvLnBhcmFjdWVsbG9zQGdtYWlsLmNvbT4KPiArCj4gK2Rlc2NyaXB0aW9uOgo+ICsgIE1lZGlh VGVrIE1UNzZYOCBwaW4gY29udHJvbGxlciBmb3IgTVQ3NjI4IGFuZCBNVDc2ODggU29Dcy4KPiAr ICBUaGUgcGluIGNvbnRyb2xsZXIgY2FuIG9ubHkgc2V0IHRoZSBtdXhpbmcgb2YgcGluIGdyb3Vw cy4gTXV4aW5nIGluZGl2aWR1YWwKPiArICBwaW5zIGlzIG5vdCBzdXBwb3J0ZWQuIFRoZXJlIGlz IG5vIHBpbmNvbmYgc3VwcG9ydC4KPiArCj4gK3Byb3BlcnRpZXM6Cj4gKyAgY29tcGF0aWJsZToK PiArICAgIGVudW06Cj4gKyAgICAgIC0gbWVkaWF0ZWssbXQ3Nng4LXBpbmN0cmwKCldlIGdlbmVy YWxseSBkb24ndCBkbyB3aWxkY2FyZHMgaW4gY29tcGF0aWJsZSBzdHJpbmdzLiBBcmUgdGhlc2Ug MiBTb0NzIApyZWFsbHkgJ3RoZSBzYW1lJz8gCgo+ICsgICAgICAtIHJhbGluayxtdDc2MjAtcGlu Y3RybAoKSHVoPyBEb2Vzbid0IHRoaXMgY29uZmxpY3Qgd2l0aCB0aGUgbXQ3NjIwIHNjaGVtYT8K Cj4gKyAgICAgIC0gcmFsaW5rLHJ0Mjg4MC1waW5tdXgKPiArCj4gK3BhdHRlcm5Qcm9wZXJ0aWVz Ogo+ICsgICctcGlucyQnOgo+ICsgICAgdHlwZTogb2JqZWN0Cj4gKyAgICBwYXR0ZXJuUHJvcGVy dGllczoKPiArICAgICAgJ14oLiotKT9waW5tdXgkJzoKPiArICAgICAgICB0eXBlOiBvYmplY3QK PiArICAgICAgICBkZXNjcmlwdGlvbjogbm9kZSBmb3IgcGluY3RybC4KPiArICAgICAgICAkcmVm OiBwaW5tdXgtbm9kZS55YW1sIwo+ICsKPiArICAgICAgICBwcm9wZXJ0aWVzOgo+ICsgICAgICAg ICAgZnVuY3Rpb246Cj4gKyAgICAgICAgICAgIGRlc2NyaXB0aW9uOgo+ICsgICAgICAgICAgICAg IEEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG5hbWUgb2YgdGhlIGZ1bmN0aW9uIHRvIG11eCB0byB0 aGUgZ3JvdXAuCj4gKyAgICAgICAgICAgIGVudW06IFthbnRlbm5hLCBkZWJ1ZywgZ3BpbywgaTJj LCBpMnMsIGp0YWcsIHAwbGVkX2FuLCBwMGxlZF9rbiwKPiArICAgICAgICAgICAgICAgICAgIHAx bGVkX2FuLCBwMWxlZF9rbiwgcDJsZWRfYW4sIHAybGVkX2tuLCBwM2xlZF9hbiwgcDNsZWRfa24s Cj4gKyAgICAgICAgICAgICAgICAgICBwNGxlZF9hbiwgcDRsZWRfa24sIHBjaWUsIHBjbSwgcGVy c3QsIHB3bSwgcHdtMCwgcHdtMSwKPiArICAgICAgICAgICAgICAgICAgIHB3bV91YXJ0MiwgcmVm Y2xrLCByc3ZkLCBzZHhjLCBzZHhjIGQ1IGQ0LCBzZHhjIGQ2LCBzZHhjIGQ3LAo+ICsgICAgICAg ICAgICAgICAgICAgc3BpLCBzcGkgY3MxLCBzcGlzLCBzd19yLCB1YXJ0MCwgdWFydDEsIHVhcnQy LCB1dGlmLCB3ZHQsCj4gKyAgICAgICAgICAgICAgICAgICB3bGVkX2FuLCB3bGVkX2tuLCAtXQo+ ICsKPiArICAgICAgICAgIGdyb3VwczoKPiArICAgICAgICAgICAgZGVzY3JpcHRpb246Cj4gKyAg ICAgICAgICAgICAgQW4gYXJyYXkgb2Ygc3RyaW5ncy4gRWFjaCBzdHJpbmcgY29udGFpbnMgdGhl IG5hbWUgb2YgYSBncm91cC4KPiArICAgICAgICAgICAgbWF4SXRlbXM6IDEKPiArCj4gKyAgICAg ICAgcmVxdWlyZWQ6Cj4gKyAgICAgICAgICAtIGdyb3Vwcwo+ICsgICAgICAgICAgLSBmdW5jdGlv bgo+ICsKPiArICAgICAgICBhbGxPZjoKPiArICAgICAgICAgIC0gaWY6Cj4gKyAgICAgICAgICAg ICAgcHJvcGVydGllczoKPiArICAgICAgICAgICAgICAgIGZ1bmN0aW9uOgo+ICsgICAgICAgICAg ICAgICAgICBjb25zdDogYW50ZW5uYQo+ICsgICAgICAgICAgICB0aGVuOgo+ICsgICAgICAgICAg ICAgIHByb3BlcnRpZXM6Cj4gKyAgICAgICAgICAgICAgICBncm91cHM6Cj4gKyAgICAgICAgICAg ICAgICAgIGVudW06IFtpMnNdCj4gKwo+ICsgICAgICAgICAgLSBpZjoKPiArICAgICAgICAgICAg ICBwcm9wZXJ0aWVzOgo+ICsgICAgICAgICAgICAgICAgZnVuY3Rpb246Cj4gKyAgICAgICAgICAg ICAgICAgIGNvbnN0OiBkZWJ1Zwo+ICsgICAgICAgICAgICB0aGVuOgo+ICsgICAgICAgICAgICAg IHByb3BlcnRpZXM6Cj4gKyAgICAgICAgICAgICAgICBncm91cHM6Cj4gKyAgICAgICAgICAgICAg ICAgIGVudW06IFtpMmNdCj4gKwo+ICsgICAgICAgICAgLSBpZjoKPiArICAgICAgICAgICAgICBw cm9wZXJ0aWVzOgo+ICsgICAgICAgICAgICAgICAgZnVuY3Rpb246Cj4gKyAgICAgICAgICAgICAg ICAgIGNvbnN0OiBncGlvCj4gKyAgICAgICAgICAgIHRoZW46Cj4gKyAgICAgICAgICAgICAgcHJv cGVydGllczoKPiArICAgICAgICAgICAgICAgIGdyb3VwczoKPiArICAgICAgICAgICAgICAgICAg ZW51bTogW2dwaW8sIGkyYywgaTJzLCBwMGxlZF9hbiwgcDBsZWRfa24sIHAxbGVkX2FuLCBwMWxl ZF9rbiwKPiArICAgICAgICAgICAgICAgICAgICAgICAgIHAybGVkX2FuLCBwMmxlZF9rbiwgcDNs ZWRfYW4sIHAzbGVkX2tuLCBwNGxlZF9hbiwKPiArICAgICAgICAgICAgICAgICAgICAgICAgIHA0 bGVkX2tuLCBwZXJzdCwgcHdtMCwgcHdtMSwgcmVmY2xrLCBzZG1vZGUsIHNwaSwKPiArICAgICAg ICAgICAgICAgICAgICAgICAgIHNwaSBjczEsIHNwaXMsIHVhcnQwLCB1YXJ0MSwgdWFydDIsIHdk dCwgd2xlZF9hbiwKPiArICAgICAgICAgICAgICAgICAgICAgICAgIHdsZWRfa25dCj4gKwo+ICsg ICAgICAgICAgLSBpZjoKPiArICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgo+ICsgICAgICAgICAg ICAgICAgZnVuY3Rpb246Cj4gKyAgICAgICAgICAgICAgICAgIGNvbnN0OiBpMmMKPiArICAgICAg ICAgICAgdGhlbjoKPiArICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgo+ICsgICAgICAgICAgICAg ICAgZ3JvdXBzOgo+ICsgICAgICAgICAgICAgICAgICBlbnVtOiBbaTJjXQo+ICsKPiArICAgICAg ICAgIC0gaWY6Cj4gKyAgICAgICAgICAgICAgcHJvcGVydGllczoKPiArICAgICAgICAgICAgICAg IGZ1bmN0aW9uOgo+ICsgICAgICAgICAgICAgICAgICBjb25zdDogaTJzCj4gKyAgICAgICAgICAg IHRoZW46Cj4gKyAgICAgICAgICAgICAgcHJvcGVydGllczoKPiArICAgICAgICAgICAgICAgIGdy b3VwczoKPiArICAgICAgICAgICAgICAgICAgZW51bTogW2kyc10KPiArCj4gKyAgICAgICAgICAt IGlmOgo+ICsgICAgICAgICAgICAgIHByb3BlcnRpZXM6Cj4gKyAgICAgICAgICAgICAgICBmdW5j dGlvbjoKPiArICAgICAgICAgICAgICAgICAgY29uc3Q6IGp0YWcKPiArICAgICAgICAgICAgdGhl bjoKPiArICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgo+ICsgICAgICAgICAgICAgICAgZ3JvdXBz Ogo+ICsgICAgICAgICAgICAgICAgICBlbnVtOiBbcDBsZWRfYW4sIHAwbGVkX2tuLCBwMWxlZF9h biwgcDFsZWRfa24sIHAybGVkX2FuLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgcDJsZWRf a24sIHAzbGVkX2FuLCBwM2xlZF9rbiwgcDRsZWRfYW4sIHA0bGVkX2tuLAo+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgc2Rtb2RlXQo+ICsKPiArICAgICAgICAgIC0gaWY6Cj4gKyAgICAgICAg ICAgICAgcHJvcGVydGllczoKPiArICAgICAgICAgICAgICAgIGZ1bmN0aW9uOgo+ICsgICAgICAg ICAgICAgICAgICBjb25zdDogcDBsZWRfYW4KPiArICAgICAgICAgICAgdGhlbjoKPiArICAgICAg ICAgICAgICBwcm9wZXJ0aWVzOgo+ICsgICAgICAgICAgICAgICAgZ3JvdXBzOgo+ICsgICAgICAg ICAgICAgICAgICBlbnVtOiBbcDBsZWRfYW5dCj4gKwo+ICsgICAgICAgICAgLSBpZjoKPiArICAg ICAgICAgICAgICBwcm9wZXJ0aWVzOgo+ICsgICAgICAgICAgICAgICAgZnVuY3Rpb246Cj4gKyAg ICAgICAgICAgICAgICAgIGNvbnN0OiBwMGxlZF9rbgo+ICsgICAgICAgICAgICB0aGVuOgo+ICsg ICAgICAgICAgICAgIHByb3BlcnRpZXM6Cj4gKyAgICAgICAgICAgICAgICBncm91cHM6Cj4gKyAg ICAgICAgICAgICAgICAgIGVudW06IFtwMGxlZF9rbl0KPiArCj4gKyAgICAgICAgICAtIGlmOgo+ ICsgICAgICAgICAgICAgIHByb3BlcnRpZXM6Cj4gKyAgICAgICAgICAgICAgICBmdW5jdGlvbjoK PiArICAgICAgICAgICAgICAgICAgY29uc3Q6IHAxbGVkX2FuCj4gKyAgICAgICAgICAgIHRoZW46 Cj4gKyAgICAgICAgICAgICAgcHJvcGVydGllczoKPiArICAgICAgICAgICAgICAgIGdyb3VwczoK PiArICAgICAgICAgICAgICAgICAgZW51bTogW3AxbGVkX2FuXQo+ICsKPiArICAgICAgICAgIC0g aWY6Cj4gKyAgICAgICAgICAgICAgcHJvcGVydGllczoKPiArICAgICAgICAgICAgICAgIGZ1bmN0 aW9uOgo+ICsgICAgICAgICAgICAgICAgICBjb25zdDogcDFsZWRfa24KPiArICAgICAgICAgICAg dGhlbjoKPiArICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgo+ICsgICAgICAgICAgICAgICAgZ3Jv dXBzOgo+ICsgICAgICAgICAgICAgICAgICBlbnVtOiBbcDFsZWRfa25dCj4gKwo+ICsgICAgICAg ICAgLSBpZjoKPiArICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgo+ICsgICAgICAgICAgICAgICAg ZnVuY3Rpb246Cj4gKyAgICAgICAgICAgICAgICAgIGNvbnN0OiBwMmxlZF9hbgo+ICsgICAgICAg ICAgICB0aGVuOgo+ICsgICAgICAgICAgICAgIHByb3BlcnRpZXM6Cj4gKyAgICAgICAgICAgICAg ICBncm91cHM6Cj4gKyAgICAgICAgICAgICAgICAgIGVudW06IFtwMmxlZF9hbl0KPiArCj4gKyAg ICAgICAgICAtIGlmOgo+ICsgICAgICAgICAgICAgIHByb3BlcnRpZXM6Cj4gKyAgICAgICAgICAg ICAgICBmdW5jdGlvbjoKPiArICAgICAgICAgICAgICAgICAgY29uc3Q6IHAybGVkX2tuCj4gKyAg ICAgICAgICAgIHRoZW46Cj4gKyAgICAgICAgICAgICAgcHJvcGVydGllczoKPiArICAgICAgICAg ICAgICAgIGdyb3VwczoKPiArICAgICAgICAgICAgICAgICAgZW51bTogW3AybGVkX2tuXQo+ICsK PiArICAgICAgICAgIC0gaWY6Cj4gKyAgICAgICAgICAgICAgcHJvcGVydGllczoKPiArICAgICAg ICAgICAgICAgIGZ1bmN0aW9uOgo+ICsgICAgICAgICAgICAgICAgICBjb25zdDogcDNsZWRfYW4K PiArICAgICAgICAgICAgdGhlbjoKPiArICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgo+ICsgICAg ICAgICAgICAgICAgZ3JvdXBzOgo+ICsgICAgICAgICAgICAgICAgICBlbnVtOiBbcDNsZWRfYW5d Cj4gKwo+ICsgICAgICAgICAgLSBpZjoKPiArICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgo+ICsg ICAgICAgICAgICAgICAgZnVuY3Rpb246Cj4gKyAgICAgICAgICAgICAgICAgIGNvbnN0OiBwM2xl ZF9rbgo+ICsgICAgICAgICAgICB0aGVuOgo+ICsgICAgICAgICAgICAgIHByb3BlcnRpZXM6Cj4g KyAgICAgICAgICAgICAgICBncm91cHM6Cj4gKyAgICAgICAgICAgICAgICAgIGVudW06IFtwM2xl ZF9rbl0KPiArCj4gKyAgICAgICAgICAtIGlmOgo+ICsgICAgICAgICAgICAgIHByb3BlcnRpZXM6 Cj4gKyAgICAgICAgICAgICAgICBmdW5jdGlvbjoKPiArICAgICAgICAgICAgICAgICAgY29uc3Q6 IHA0bGVkX2FuCj4gKyAgICAgICAgICAgIHRoZW46Cj4gKyAgICAgICAgICAgICAgcHJvcGVydGll czoKPiArICAgICAgICAgICAgICAgIGdyb3VwczoKPiArICAgICAgICAgICAgICAgICAgZW51bTog W3A0bGVkX2FuXQo+ICsKPiArICAgICAgICAgIC0gaWY6Cj4gKyAgICAgICAgICAgICAgcHJvcGVy dGllczoKPiArICAgICAgICAgICAgICAgIGZ1bmN0aW9uOgo+ICsgICAgICAgICAgICAgICAgICBj b25zdDogcDRsZWRfa24KPiArICAgICAgICAgICAgdGhlbjoKPiArICAgICAgICAgICAgICBwcm9w ZXJ0aWVzOgo+ICsgICAgICAgICAgICAgICAgZ3JvdXBzOgo+ICsgICAgICAgICAgICAgICAgICBl bnVtOiBbcDRsZWRfa25dCj4gKwo+ICsgICAgICAgICAgLSBpZjoKPiArICAgICAgICAgICAgICBw cm9wZXJ0aWVzOgo+ICsgICAgICAgICAgICAgICAgZnVuY3Rpb246Cj4gKyAgICAgICAgICAgICAg ICAgIGNvbnN0OiBwY2llCj4gKyAgICAgICAgICAgIHRoZW46Cj4gKyAgICAgICAgICAgICAgcHJv cGVydGllczoKPiArICAgICAgICAgICAgICAgIGdyb3VwczoKPiArICAgICAgICAgICAgICAgICAg ZW51bTogW2dwaW9dCj4gKwo+ICsgICAgICAgICAgLSBpZjoKPiArICAgICAgICAgICAgICBwcm9w ZXJ0aWVzOgo+ICsgICAgICAgICAgICAgICAgZnVuY3Rpb246Cj4gKyAgICAgICAgICAgICAgICAg IGNvbnN0OiBwY20KPiArICAgICAgICAgICAgdGhlbjoKPiArICAgICAgICAgICAgICBwcm9wZXJ0 aWVzOgo+ICsgICAgICAgICAgICAgICAgZ3JvdXBzOgo+ICsgICAgICAgICAgICAgICAgICBlbnVt OiBbaTJzXQo+ICsKPiArICAgICAgICAgIC0gaWY6Cj4gKyAgICAgICAgICAgICAgcHJvcGVydGll czoKPiArICAgICAgICAgICAgICAgIGZ1bmN0aW9uOgo+ICsgICAgICAgICAgICAgICAgICBjb25z dDogcGVyc3QKPiArICAgICAgICAgICAgdGhlbjoKPiArICAgICAgICAgICAgICBwcm9wZXJ0aWVz Ogo+ICsgICAgICAgICAgICAgICAgZ3JvdXBzOgo+ICsgICAgICAgICAgICAgICAgICBlbnVtOiBb cGVyc3RdCj4gKwo+ICsgICAgICAgICAgLSBpZjoKPiArICAgICAgICAgICAgICBwcm9wZXJ0aWVz Ogo+ICsgICAgICAgICAgICAgICAgZnVuY3Rpb246Cj4gKyAgICAgICAgICAgICAgICAgIGNvbnN0 OiBwd20KPiArICAgICAgICAgICAgdGhlbjoKPiArICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgo+ ICsgICAgICAgICAgICAgICAgZ3JvdXBzOgo+ICsgICAgICAgICAgICAgICAgICBlbnVtOiBbdWFy dDEsIHVhcnQyXQo+ICsKPiArICAgICAgICAgIC0gaWY6Cj4gKyAgICAgICAgICAgICAgcHJvcGVy dGllczoKPiArICAgICAgICAgICAgICAgIGZ1bmN0aW9uOgo+ICsgICAgICAgICAgICAgICAgICBj b25zdDogcHdtMAo+ICsgICAgICAgICAgICB0aGVuOgo+ICsgICAgICAgICAgICAgIHByb3BlcnRp ZXM6Cj4gKyAgICAgICAgICAgICAgICBncm91cHM6Cj4gKyAgICAgICAgICAgICAgICAgIGVudW06 IFtwd20wXQo+ICsKPiArICAgICAgICAgIC0gaWY6Cj4gKyAgICAgICAgICAgICAgcHJvcGVydGll czoKPiArICAgICAgICAgICAgICAgIGZ1bmN0aW9uOgo+ICsgICAgICAgICAgICAgICAgICBjb25z dDogcHdtMQo+ICsgICAgICAgICAgICB0aGVuOgo+ICsgICAgICAgICAgICAgIHByb3BlcnRpZXM6 Cj4gKyAgICAgICAgICAgICAgICBncm91cHM6Cj4gKyAgICAgICAgICAgICAgICAgIGVudW06IFtw d20xXQo+ICsKPiArICAgICAgICAgIC0gaWY6Cj4gKyAgICAgICAgICAgICAgcHJvcGVydGllczoK PiArICAgICAgICAgICAgICAgIGZ1bmN0aW9uOgo+ICsgICAgICAgICAgICAgICAgICBjb25zdDog cHdtX3VhcnQyCj4gKyAgICAgICAgICAgIHRoZW46Cj4gKyAgICAgICAgICAgICAgcHJvcGVydGll czoKPiArICAgICAgICAgICAgICAgIGdyb3VwczoKPiArICAgICAgICAgICAgICAgICAgZW51bTog W3NwaXNdCj4gKwo+ICsgICAgICAgICAgLSBpZjoKPiArICAgICAgICAgICAgICBwcm9wZXJ0aWVz Ogo+ICsgICAgICAgICAgICAgICAgZnVuY3Rpb246Cj4gKyAgICAgICAgICAgICAgICAgIGNvbnN0 OiByZWZjbGsKPiArICAgICAgICAgICAgdGhlbjoKPiArICAgICAgICAgICAgICBwcm9wZXJ0aWVz Ogo+ICsgICAgICAgICAgICAgICAgZ3JvdXBzOgo+ICsgICAgICAgICAgICAgICAgICBlbnVtOiBb Z3BpbywgcmVmY2xrLCBzcGkgY3MxXQo+ICsKPiArICAgICAgICAgIC0gaWY6Cj4gKyAgICAgICAg ICAgICAgcHJvcGVydGllczoKPiArICAgICAgICAgICAgICAgIGZ1bmN0aW9uOgo+ICsgICAgICAg ICAgICAgICAgICBjb25zdDogcnN2ZAo+ICsgICAgICAgICAgICB0aGVuOgo+ICsgICAgICAgICAg ICAgIHByb3BlcnRpZXM6Cj4gKyAgICAgICAgICAgICAgICBncm91cHM6Cj4gKyAgICAgICAgICAg ICAgICAgIGVudW06IFtwMGxlZF9hbiwgcDBsZWRfa24sIHdsZWRfYW4sIHdsZWRfa25dCj4gKwo+ ICsgICAgICAgICAgLSBpZjoKPiArICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgo+ICsgICAgICAg ICAgICAgICAgZnVuY3Rpb246Cj4gKyAgICAgICAgICAgICAgICAgIGNvbnN0OiBzZHhjCj4gKyAg ICAgICAgICAgIHRoZW46Cj4gKyAgICAgICAgICAgICAgcHJvcGVydGllczoKPiArICAgICAgICAg ICAgICAgIGdyb3VwczoKPiArICAgICAgICAgICAgICAgICAgZW51bTogW3NkbW9kZV0KPiArCj4g KyAgICAgICAgICAtIGlmOgo+ICsgICAgICAgICAgICAgIHByb3BlcnRpZXM6Cj4gKyAgICAgICAg ICAgICAgICBmdW5jdGlvbjoKPiArICAgICAgICAgICAgICAgICAgY29uc3Q6IHNkeGMgZDUgZDQK PiArICAgICAgICAgICAgdGhlbjoKPiArICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgo+ICsgICAg ICAgICAgICAgICAgZ3JvdXBzOgo+ICsgICAgICAgICAgICAgICAgICBlbnVtOiBbdWFydDJdCj4g Kwo+ICsgICAgICAgICAgLSBpZjoKPiArICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgo+ICsgICAg ICAgICAgICAgICAgZnVuY3Rpb246Cj4gKyAgICAgICAgICAgICAgICAgIGNvbnN0OiBzZHhjIGQ2 Cj4gKyAgICAgICAgICAgIHRoZW46Cj4gKyAgICAgICAgICAgICAgcHJvcGVydGllczoKPiArICAg ICAgICAgICAgICAgIGdyb3VwczoKPiArICAgICAgICAgICAgICAgICAgZW51bTogW3B3bTFdCj4g Kwo+ICsgICAgICAgICAgLSBpZjoKPiArICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgo+ICsgICAg ICAgICAgICAgICAgZnVuY3Rpb246Cj4gKyAgICAgICAgICAgICAgICAgIGNvbnN0OiBzZHhjIGQ3 Cj4gKyAgICAgICAgICAgIHRoZW46Cj4gKyAgICAgICAgICAgICAgcHJvcGVydGllczoKPiArICAg ICAgICAgICAgICAgIGdyb3VwczoKPiArICAgICAgICAgICAgICAgICAgZW51bTogW3B3bTBdCj4g Kwo+ICsgICAgICAgICAgLSBpZjoKPiArICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgo+ICsgICAg ICAgICAgICAgICAgZnVuY3Rpb246Cj4gKyAgICAgICAgICAgICAgICAgIGNvbnN0OiBzcGkKPiAr ICAgICAgICAgICAgdGhlbjoKPiArICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgo+ICsgICAgICAg ICAgICAgICAgZ3JvdXBzOgo+ICsgICAgICAgICAgICAgICAgICBlbnVtOiBbc3BpXQo+ICsKPiAr ICAgICAgICAgIC0gaWY6Cj4gKyAgICAgICAgICAgICAgcHJvcGVydGllczoKPiArICAgICAgICAg ICAgICAgIGZ1bmN0aW9uOgo+ICsgICAgICAgICAgICAgICAgICBjb25zdDogc3BpIGNzMQo+ICsg ICAgICAgICAgICB0aGVuOgo+ICsgICAgICAgICAgICAgIHByb3BlcnRpZXM6Cj4gKyAgICAgICAg ICAgICAgICBncm91cHM6Cj4gKyAgICAgICAgICAgICAgICAgIGVudW06IFtzcGkgY3MxXQo+ICsK PiArICAgICAgICAgIC0gaWY6Cj4gKyAgICAgICAgICAgICAgcHJvcGVydGllczoKPiArICAgICAg ICAgICAgICAgIGZ1bmN0aW9uOgo+ICsgICAgICAgICAgICAgICAgICBjb25zdDogc3Bpcwo+ICsg ICAgICAgICAgICB0aGVuOgo+ICsgICAgICAgICAgICAgIHByb3BlcnRpZXM6Cj4gKyAgICAgICAg ICAgICAgICBncm91cHM6Cj4gKyAgICAgICAgICAgICAgICAgIGVudW06IFtzcGlzXQo+ICsKPiAr ICAgICAgICAgIC0gaWY6Cj4gKyAgICAgICAgICAgICAgcHJvcGVydGllczoKPiArICAgICAgICAg ICAgICAgIGZ1bmN0aW9uOgo+ICsgICAgICAgICAgICAgICAgICBjb25zdDogc3dfcgo+ICsgICAg ICAgICAgICB0aGVuOgo+ICsgICAgICAgICAgICAgIHByb3BlcnRpZXM6Cj4gKyAgICAgICAgICAg ICAgICBncm91cHM6Cj4gKyAgICAgICAgICAgICAgICAgIGVudW06IFt1YXJ0MV0KPiArCj4gKyAg ICAgICAgICAtIGlmOgo+ICsgICAgICAgICAgICAgIHByb3BlcnRpZXM6Cj4gKyAgICAgICAgICAg ICAgICBmdW5jdGlvbjoKPiArICAgICAgICAgICAgICAgICAgY29uc3Q6IHVhcnQwCj4gKyAgICAg ICAgICAgIHRoZW46Cj4gKyAgICAgICAgICAgICAgcHJvcGVydGllczoKPiArICAgICAgICAgICAg ICAgIGdyb3VwczoKPiArICAgICAgICAgICAgICAgICAgZW51bTogW3VhcnQwXQo+ICsKPiArICAg ICAgICAgIC0gaWY6Cj4gKyAgICAgICAgICAgICAgcHJvcGVydGllczoKPiArICAgICAgICAgICAg ICAgIGZ1bmN0aW9uOgo+ICsgICAgICAgICAgICAgICAgICBjb25zdDogdWFydDEKPiArICAgICAg ICAgICAgdGhlbjoKPiArICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgo+ICsgICAgICAgICAgICAg ICAgZ3JvdXBzOgo+ICsgICAgICAgICAgICAgICAgICBlbnVtOiBbdWFydDFdCj4gKwo+ICsgICAg ICAgICAgLSBpZjoKPiArICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgo+ICsgICAgICAgICAgICAg ICAgZnVuY3Rpb246Cj4gKyAgICAgICAgICAgICAgICAgIGNvbnN0OiB1YXJ0Mgo+ICsgICAgICAg ICAgICB0aGVuOgo+ICsgICAgICAgICAgICAgIHByb3BlcnRpZXM6Cj4gKyAgICAgICAgICAgICAg ICBncm91cHM6Cj4gKyAgICAgICAgICAgICAgICAgIGVudW06IFt1YXJ0Ml0KPiArCj4gKyAgICAg ICAgICAtIGlmOgo+ICsgICAgICAgICAgICAgIHByb3BlcnRpZXM6Cj4gKyAgICAgICAgICAgICAg ICBmdW5jdGlvbjoKPiArICAgICAgICAgICAgICAgICAgY29uc3Q6IHV0aWYKPiArICAgICAgICAg ICAgdGhlbjoKPiArICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgo+ICsgICAgICAgICAgICAgICAg Z3JvdXBzOgo+ICsgICAgICAgICAgICAgICAgICBlbnVtOiBbcDFsZWRfYW4sIHAxbGVkX2tuLCBw MmxlZF9hbiwgcDJsZWRfa24sIHAzbGVkX2FuLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg cDNsZWRfa24sIHA0bGVkX2FuLCBwNGxlZF9rbiwgcHdtMCwgcHdtMSwgc2Rtb2RlLCBzcGlzXQo+ ICsKPiArICAgICAgICAgIC0gaWY6Cj4gKyAgICAgICAgICAgICAgcHJvcGVydGllczoKPiArICAg ICAgICAgICAgICAgIGZ1bmN0aW9uOgo+ICsgICAgICAgICAgICAgICAgICBjb25zdDogd2R0Cj4g KyAgICAgICAgICAgIHRoZW46Cj4gKyAgICAgICAgICAgICAgcHJvcGVydGllczoKPiArICAgICAg ICAgICAgICAgIGdyb3VwczoKPiArICAgICAgICAgICAgICAgICAgZW51bTogW3dkdF0KPiArCj4g KyAgICAgICAgICAtIGlmOgo+ICsgICAgICAgICAgICAgIHByb3BlcnRpZXM6Cj4gKyAgICAgICAg ICAgICAgICBmdW5jdGlvbjoKPiArICAgICAgICAgICAgICAgICAgY29uc3Q6IHdsZWRfYW4KPiAr ICAgICAgICAgICAgdGhlbjoKPiArICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgo+ICsgICAgICAg ICAgICAgICAgZ3JvdXBzOgo+ICsgICAgICAgICAgICAgICAgICBlbnVtOiBbd2xlZF9hbl0KPiAr Cj4gKyAgICAgICAgICAtIGlmOgo+ICsgICAgICAgICAgICAgIHByb3BlcnRpZXM6Cj4gKyAgICAg ICAgICAgICAgICBmdW5jdGlvbjoKPiArICAgICAgICAgICAgICAgICAgY29uc3Q6IHdsZWRfa24K PiArICAgICAgICAgICAgdGhlbjoKPiArICAgICAgICAgICAgICBwcm9wZXJ0aWVzOgo+ICsgICAg ICAgICAgICAgICAgZ3JvdXBzOgo+ICsgICAgICAgICAgICAgICAgICBlbnVtOiBbd2xlZF9rbl0K PiArCj4gKyAgICAgICAgICAtIGlmOgo+ICsgICAgICAgICAgICAgIHByb3BlcnRpZXM6Cj4gKyAg ICAgICAgICAgICAgICBmdW5jdGlvbjoKPiArICAgICAgICAgICAgICAgICAgY29uc3Q6ICItIgo+ ICsgICAgICAgICAgICB0aGVuOgo+ICsgICAgICAgICAgICAgIHByb3BlcnRpZXM6Cj4gKyAgICAg ICAgICAgICAgICBncm91cHM6Cj4gKyAgICAgICAgICAgICAgICAgIGVudW06IFtpMmMsIHNwaSBj czEsIHVhcnQwXQo+ICsKCj4gKyAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlCj4g Kwo+ICsgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlCgpNb3ZlIHRoZXNlIGFib3ZlICdw cm9wZXJ0aWVzJy4gSXQncyBlYXNpZXIgdG8gcmVhZCB0aGFuIGFmdGVyIGEgbG9uZyAKaW5kZW50 ZWQgc2VjdGlvbi4KCj4gKwo+ICthbGxPZjoKPiArICAtICRyZWY6ICJwaW5jdHJsLnlhbWwjIgoK RHJvcCBxdW90ZXMuCgpSb2IKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxA bGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK