From mboxrd@z Thu Jan 1 00:00:00 1970 From: mturquette@linaro.org (Mike Turquette) Date: Thu, 20 Jun 2013 18:22:00 -0700 Subject: [PATCH v6 1/3] arm: Add basic clocks for Rockchip rk3066a SoCs In-Reply-To: <201306210130.33033.heiko@sntech.de> References: <201306210129.54629.heiko@sntech.de> <201306210130.33033.heiko@sntech.de> Message-ID: <20130621012200.9136.89246@quantum> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Quoting Heiko St?bner (2013-06-20 16:30:32) > This adds a basic clock setup for rk3066a SoCs. Only the gates are > set up currently, as the mux and dividers should use the upcoming > generic devicetree bindings. > > Clocks whose rates need to be known are supplied by fixed-rate > "dummy"-clocks that provide the correct rate. This is uncritical insofar > that the only bootloader currently in existence for Rockchip devices > is the propietary Rockchip one that always setups the clocks in the > necessary way. > > Signed-off-by: Heiko Stuebner Looks good to me. As I mentioned previously we might be able to convert the rockchip,rk2928-gate-clk stuff over to the generic gate-clock binding once hiword-mask support and support for clock-cells == 1 is added in. I'm hacking on the former now and the latter may go in for 3.12. Reviewed-by: Mike Turquette > --- > arch/arm/boot/dts/rk3066a-clocks.dtsi | 299 +++++++++++++++++++++++++++++++++ > 1 file changed, 299 insertions(+) > create mode 100644 arch/arm/boot/dts/rk3066a-clocks.dtsi > > diff --git a/arch/arm/boot/dts/rk3066a-clocks.dtsi b/arch/arm/boot/dts/rk3066a-clocks.dtsi > new file mode 100644 > index 0000000..6e307fc > --- /dev/null > +++ b/arch/arm/boot/dts/rk3066a-clocks.dtsi > @@ -0,0 +1,299 @@ > +/* > + * Copyright (c) 2013 MundoReader S.L. > + * Author: Heiko Stuebner > + * > + * This program is free software; you can redistribute it and/or modify > + * it under the terms of the GNU General Public License as published by > + * the Free Software Foundation; either version 2 of the License, or > + * (at your option) any later version. > + * > + * This program is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > + * GNU General Public License for more details. > + */ > + > +/ { > + clocks { > + #address-cells = <1>; > + #size-cells = <1>; > + ranges; > + > + /* > + * This is a dummy clock, to be used as placeholder on > + * other mux clocks when a specific parent clock is not > + * yet implemented. It should be dropped when the driver > + * is complete. > + */ > + dummy: dummy { > + compatible = "fixed-clock"; > + clock-frequency = <0>; > + #clock-cells = <0>; > + }; > + > + xin24m: xin24m { > + compatible = "fixed-clock"; > + clock-frequency = <24000000>; > + #clock-cells = <0>; > + }; > + > + dummy48m: dummy48m { > + compatible = "fixed-clock"; > + clock-frequency = <48000000>; > + #clock-cells = <0>; > + }; > + > + dummy150m: dummy150m { > + compatible = "fixed-clock"; > + clock-frequency = <150000000>; > + #clock-cells = <0>; > + }; > + > + clk_gates0: gate-clk at 200000d0 { > + compatible = "rockchip,rk2928-gate-clk"; > + reg = <0x200000d0 0x4>; > + clocks = <&dummy>, <&dummy>, > + <&dummy>, <&dummy>, > + <&dummy>, <&dummy>, > + <&dummy>, <&dummy>, > + <&dummy>, <&dummy>, > + <&dummy>, <&dummy>, > + <&dummy>, <&dummy>, > + <&dummy>, <&dummy>; > + > + clock-output-names = > + "gate_core_periph", "gate_cpu_gpll", > + "gate_ddrphy", "gate_aclk_cpu", > + "gate_hclk_cpu", "gate_pclk_cpu", > + "gate_atclk_cpu", "gate_i2s0", > + "gate_i2s0_frac", "gate_i2s1", > + "gate_i2s1_frac", "gate_i2s2", > + "gate_i2s2_frac", "gate_spdif", > + "gate_spdif_frac", "gate_testclk"; > + > + #clock-cells = <1>; > + }; > + > + clk_gates1: gate-clk at 200000d4 { > + compatible = "rockchip,rk2928-gate-clk"; > + reg = <0x200000d4 0x4>; > + clocks = <&xin24m>, <&xin24m>, > + <&xin24m>, <&dummy>, > + <&dummy>, <&xin24m>, > + <&xin24m>, <&dummy>, > + <&xin24m>, <&dummy>, > + <&xin24m>, <&dummy>, > + <&xin24m>, <&dummy>, > + <&xin24m>, <&dummy>; > + > + clock-output-names = > + "gate_timer0", "gate_timer1", > + "gate_timer2", "gate_jtag", > + "gate_aclk_lcdc1_src", "gate_otgphy0", > + "gate_otgphy1", "gate_ddr_gpll", > + "gate_uart0", "gate_frac_uart0", > + "gate_uart1", "gate_frac_uart1", > + "gate_uart2", "gate_frac_uart2", > + "gate_uart3", "gate_frac_uart3"; > + > + #clock-cells = <1>; > + }; > + > + clk_gates2: gate-clk at 200000d8 { > + compatible = "rockchip,rk2928-gate-clk"; > + reg = <0x200000d8 0x4>; > + clocks = <&clk_gates2 1>, <&dummy>, > + <&dummy>, <&dummy>, > + <&dummy>, <&dummy>, > + <&clk_gates2 3>, <&dummy>, > + <&dummy>, <&dummy>, > + <&dummy>, <&dummy48m>, > + <&dummy>, <&dummy48m>, > + <&dummy>, <&dummy>; > + > + clock-output-names = > + "gate_periph_src", "gate_aclk_periph", > + "gate_hclk_periph", "gate_pclk_periph", > + "gate_smc", "gate_mac", > + "gate_hsadc", "gate_hsadc_frac", > + "gate_saradc", "gate_spi0", > + "gate_spi1", "gate_mmc0", > + "gate_mac_lbtest", "gate_mmc1", > + "gate_emmc", "gate_tsadc"; > + > + #clock-cells = <1>; > + }; > + > + clk_gates3: gate-clk at 200000dc { > + compatible = "rockchip,rk2928-gate-clk"; > + reg = <0x200000dc 0x4>; > + clocks = <&dummy>, <&dummy>, > + <&dummy>, <&dummy>, > + <&dummy>, <&dummy>, > + <&dummy>, <&dummy>, > + <&dummy>, <&dummy>, > + <&dummy>, <&dummy>, > + <&dummy>, <&dummy>, > + <&dummy>, <&dummy>; > + > + clock-output-names = > + "gate_aclk_lcdc0_src", "gate_dclk_lcdc0", > + "gate_dclk_lcdc1", "gate_pclkin_cif0", > + "gate_pclkin_cif1", "reserved", > + "reserved", "gate_cif0_out", > + "gate_cif1_out", "gate_aclk_vepu", > + "gate_hclk_vepu", "gate_aclk_vdpu", > + "gate_hclk_vdpu", "gate_gpu_src", > + "reserved", "gate_xin27m"; > + > + #clock-cells = <1>; > + }; > + > + clk_gates4: gate-clk at 200000e0 { > + compatible = "rockchip,rk2928-gate-clk"; > + reg = <0x200000e0 0x4>; > + clocks = <&clk_gates2 2>, <&clk_gates2 3>, > + <&clk_gates2 1>, <&clk_gates2 1>, > + <&clk_gates2 1>, <&clk_gates2 2>, > + <&clk_gates2 2>, <&clk_gates2 2>, > + <&clk_gates0 4>, <&clk_gates0 4>, > + <&clk_gates0 3>, <&clk_gates0 3>, > + <&clk_gates0 3>, <&clk_gates2 3>, > + <&clk_gates0 4>; > + > + clock-output-names = > + "gate_hclk_peri_axi_matrix", "gate_pclk_peri_axi_matrix", > + "gate_aclk_cpu_peri", "gate_aclk_peri_axi_matrix", > + "gate_aclk_pei_niu", "gate_hclk_usb_peri", > + "gate_hclk_peri_ahb_arbi", "gate_hclk_emem_peri", > + "gate_hclk_cpubus", "gate_hclk_ahb2apb", > + "gate_aclk_strc_sys", "gate_aclk_l2mem_con", > + "gate_aclk_intmem", "gate_pclk_tsadc", > + "gate_hclk_hdmi"; > + > + #clock-cells = <1>; > + }; > + > + clk_gates5: gate-clk at 200000e4 { > + compatible = "rockchip,rk2928-gate-clk"; > + reg = <0x200000e4 0x4>; > + clocks = <&clk_gates0 3>, <&clk_gates2 1>, > + <&clk_gates0 5>, <&clk_gates0 5>, > + <&clk_gates0 5>, <&clk_gates0 5>, > + <&clk_gates0 4>, <&clk_gates0 5>, > + <&clk_gates2 1>, <&clk_gates2 2>, > + <&clk_gates2 2>, <&clk_gates2 2>, > + <&clk_gates2 2>, <&clk_gates4 5>, > + <&clk_gates4 5>, <&dummy>; > + > + clock-output-names = > + "gate_aclk_dmac1", "gate_aclk_dmac2", > + "gate_pclk_efuse", "gate_pclk_tzpc", > + "gate_pclk_grf", "gate_pclk_pmu", > + "gate_hclk_rom", "gate_pclk_ddrupctl", > + "gate_aclk_smc", "gate_hclk_nandc", > + "gate_hclk_mmc0", "gate_hclk_mmc1", > + "gate_hclk_emmc", "gate_hclk_otg0", > + "gate_hclk_otg1", "gate_aclk_gpu"; > + > + #clock-cells = <1>; > + }; > + > + clk_gates6: gate-clk at 200000e8 { > + compatible = "rockchip,rk2928-gate-clk"; > + reg = <0x200000e8 0x4>; > + clocks = <&clk_gates3 0>, <&clk_gates0 4>, > + <&clk_gates0 4>, <&clk_gates1 4>, > + <&clk_gates0 4>, <&clk_gates3 0>, > + <&clk_gates0 4>, <&clk_gates1 4>, > + <&clk_gates3 0>, <&clk_gates0 4>, > + <&clk_gates0 4>, <&clk_gates1 4>, > + <&clk_gates0 4>, <&clk_gates3 0>, > + <&dummy>, <&dummy>; > + > + clock-output-names = > + "gate_aclk_lcdc0", "gate_hclk_lcdc0", > + "gate_hclk_lcdc1", "gate_aclk_lcdc1", > + "gate_hclk_cif0", "gate_aclk_cif0", > + "gate_hclk_cif1", "gate_aclk_cif1", > + "gate_aclk_ipp", "gate_hclk_ipp", > + "gate_hclk_rga", "gate_aclk_rga", > + "gate_hclk_vio_bus", "gate_aclk_vio0", > + "gate_aclk_vcodec", "gate_shclk_vio_h2h"; > + > + #clock-cells = <1>; > + }; > + > + clk_gates7: gate-clk at 200000ec { > + compatible = "rockchip,rk2928-gate-clk"; > + reg = <0x200000ec 0x4>; > + clocks = <&clk_gates2 2>, <&clk_gates0 4>, > + <&clk_gates0 4>, <&clk_gates0 4>, > + <&clk_gates0 4>, <&clk_gates2 2>, > + <&clk_gates2 2>, <&clk_gates0 5>, > + <&clk_gates0 5>, <&clk_gates0 5>, > + <&clk_gates0 5>, <&clk_gates2 3>, > + <&clk_gates2 3>, <&clk_gates2 3>, > + <&clk_gates2 3>, <&clk_gates2 3>; > + > + clock-output-names = > + "gate_hclk_emac", "gate_hclk_spdif", > + "gate_hclk_i2s0_2ch", "gate_hclk_i2s1_2ch", > + "gate_hclk_i2s_8ch", "gate_hclk_hsadc", > + "gate_hclk_pidf", "gate_pclk_timer0", > + "gate_pclk_timer1", "gate_pclk_timer2", > + "gate_pclk_pwm01", "gate_pclk_pwm23", > + "gate_pclk_spi0", "gate_pclk_spi1", > + "gate_pclk_saradc", "gate_pclk_wdt"; > + > + #clock-cells = <1>; > + }; > + > + clk_gates8: gate-clk at 200000f0 { > + compatible = "rockchip,rk2928-gate-clk"; > + reg = <0x200000f0 0x4>; > + clocks = <&clk_gates0 5>, <&clk_gates0 5>, > + <&clk_gates2 3>, <&clk_gates2 3>, > + <&clk_gates0 5>, <&clk_gates0 5>, > + <&clk_gates2 3>, <&clk_gates2 3>, > + <&clk_gates2 3>, <&clk_gates0 5>, > + <&clk_gates0 5>, <&clk_gates0 5>, > + <&clk_gates2 3>, <&clk_gates2 3>, > + <&dummy>, <&clk_gates0 5>; > + > + clock-output-names = > + "gate_pclk_uart0", "gate_pclk_uart1", > + "gate_pclk_uart2", "gate_pclk_uart3", > + "gate_pclk_i2c0", "gate_pclk_i2c1", > + "gate_pclk_i2c2", "gate_pclk_i2c3", > + "gate_pclk_i2c4", "gate_pclk_gpio0", > + "gate_pclk_gpio1", "gate_pclk_gpio2", > + "gate_pclk_gpio3", "gate_pclk_gpio4", > + "reserved", "gate_pclk_gpio6"; > + > + #clock-cells = <1>; > + }; > + > + clk_gates9: gate-clk at 200000f4 { > + compatible = "rockchip,rk2928-gate-clk"; > + reg = <0x200000f4 0x4>; > + clocks = <&dummy>, <&clk_gates0 5>, > + <&dummy>, <&dummy>, > + <&dummy>, <&clk_gates1 4>, > + <&clk_gates0 5>, <&dummy>, > + <&dummy>, <&dummy>, > + <&dummy>; > + > + clock-output-names = > + "gate_clk_core_dbg", "gate_pclk_dbg", > + "gate_clk_trace", "gate_atclk", > + "gate_clk_l2c", "gate_aclk_vio1", > + "gate_pclk_publ", "gate_aclk_intmem0", > + "gate_aclk_intmem1", "gate_aclk_intmem2", > + "gate_aclk_intmem3"; > + > + #clock-cells = <1>; > + }; > + }; > + > +}; > -- > 1.7.10.4 > > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel at lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mike Turquette Subject: Re: [PATCH v6 1/3] arm: Add basic clocks for Rockchip rk3066a SoCs Date: Thu, 20 Jun 2013 18:22:00 -0700 Message-ID: <20130621012200.9136.89246@quantum> References: <201306210129.54629.heiko@sntech.de> <201306210130.33033.heiko@sntech.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <201306210130.33033.heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: devicetree-discuss-bounces+gldd-devicetree-discuss=m.gmane.org-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org Sender: "devicetree-discuss" To: =?utf-8?q?Heiko_St=C3=BCbner?= , Olof Johansson Cc: Grant Likely , devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org, Rob Herring , "linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org" List-Id: devicetree@vger.kernel.org UXVvdGluZyBIZWlrbyBTdMO8Ym5lciAoMjAxMy0wNi0yMCAxNjozMDozMikKPiBUaGlzIGFkZHMg YSBiYXNpYyBjbG9jayBzZXR1cCBmb3IgcmszMDY2YSBTb0NzLiBPbmx5IHRoZSBnYXRlcyBhcmUK PiBzZXQgdXAgY3VycmVudGx5LCBhcyB0aGUgbXV4IGFuZCBkaXZpZGVycyBzaG91bGQgdXNlIHRo ZSB1cGNvbWluZwo+IGdlbmVyaWMgZGV2aWNldHJlZSBiaW5kaW5ncy4KPiAKPiBDbG9ja3Mgd2hv c2UgcmF0ZXMgbmVlZCB0byBiZSBrbm93biBhcmUgc3VwcGxpZWQgYnkgZml4ZWQtcmF0ZQo+ICJk dW1teSItY2xvY2tzIHRoYXQgcHJvdmlkZSB0aGUgY29ycmVjdCByYXRlLiBUaGlzIGlzIHVuY3Jp dGljYWwgaW5zb2Zhcgo+IHRoYXQgdGhlIG9ubHkgYm9vdGxvYWRlciBjdXJyZW50bHkgaW4gZXhp c3RlbmNlIGZvciBSb2NrY2hpcCBkZXZpY2VzCj4gaXMgdGhlIHByb3BpZXRhcnkgUm9ja2NoaXAg b25lIHRoYXQgYWx3YXlzIHNldHVwcyB0aGUgY2xvY2tzIGluIHRoZQo+IG5lY2Vzc2FyeSB3YXku Cj4gCj4gU2lnbmVkLW9mZi1ieTogSGVpa28gU3R1ZWJuZXIgPGhlaWtvQHNudGVjaC5kZT4KCkxv b2tzIGdvb2QgdG8gbWUuIEFzIEkgbWVudGlvbmVkIHByZXZpb3VzbHkgd2UgbWlnaHQgYmUgYWJs ZSB0byBjb252ZXJ0CnRoZSByb2NrY2hpcCxyazI5MjgtZ2F0ZS1jbGsgc3R1ZmYgb3ZlciB0byB0 aGUgZ2VuZXJpYyBnYXRlLWNsb2NrCmJpbmRpbmcgb25jZSBoaXdvcmQtbWFzayBzdXBwb3J0IGFu ZCBzdXBwb3J0IGZvciBjbG9jay1jZWxscyA9PSAxIGlzCmFkZGVkIGluLiBJJ20gaGFja2luZyBv biB0aGUgZm9ybWVyIG5vdyBhbmQgdGhlIGxhdHRlciBtYXkgZ28gaW4gZm9yCjMuMTIuCgpSZXZp ZXdlZC1ieTogTWlrZSBUdXJxdWV0dGUgPG10dXJxdWV0dGVAbGluYXJvLm9yZz4KCj4gLS0tCj4g IGFyY2gvYXJtL2Jvb3QvZHRzL3JrMzA2NmEtY2xvY2tzLmR0c2kgfCAgMjk5ICsrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKwo+ICAxIGZpbGUgY2hhbmdlZCwgMjk5IGluc2VydGlvbnMo KykKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGFyY2gvYXJtL2Jvb3QvZHRzL3JrMzA2NmEtY2xvY2tz LmR0c2kKPiAKPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9vdC9kdHMvcmszMDY2YS1jbG9ja3Mu ZHRzaSBiL2FyY2gvYXJtL2Jvb3QvZHRzL3JrMzA2NmEtY2xvY2tzLmR0c2kKPiBuZXcgZmlsZSBt b2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAuLjZlMzA3ZmMKPiAtLS0gL2Rldi9udWxsCj4gKysr IGIvYXJjaC9hcm0vYm9vdC9kdHMvcmszMDY2YS1jbG9ja3MuZHRzaQo+IEBAIC0wLDAgKzEsMjk5 IEBACj4gKy8qCj4gKyAqIENvcHlyaWdodCAoYykgMjAxMyBNdW5kb1JlYWRlciBTLkwuCj4gKyAq IEF1dGhvcjogSGVpa28gU3R1ZWJuZXIgPGhlaWtvQHNudGVjaC5kZT4KPiArICoKPiArICogVGhp cyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v ciBtb2RpZnkKPiArICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKPiArICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKPiArICogKGF0IHlvdXIg b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiArICoKPiArICogVGhpcyBwcm9ncmFtIGlzIGRp c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gKyAqIGJ1dCBX SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m Cj4gKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T RS4gIFNlZSB0aGUKPiArICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0 YWlscy4KPiArICovCj4gKwo+ICsvIHsKPiArICAgICAgIGNsb2NrcyB7Cj4gKyAgICAgICAgICAg ICAgICNhZGRyZXNzLWNlbGxzID0gPDE+Owo+ICsgICAgICAgICAgICAgICAjc2l6ZS1jZWxscyA9 IDwxPjsKPiArICAgICAgICAgICAgICAgcmFuZ2VzOwo+ICsKPiArICAgICAgICAgICAgICAgLyoK PiArICAgICAgICAgICAgICAgICogVGhpcyBpcyBhIGR1bW15IGNsb2NrLCB0byBiZSB1c2VkIGFz IHBsYWNlaG9sZGVyIG9uCj4gKyAgICAgICAgICAgICAgICAqIG90aGVyIG11eCBjbG9ja3Mgd2hl biBhIHNwZWNpZmljIHBhcmVudCBjbG9jayBpcyBub3QKPiArICAgICAgICAgICAgICAgICogeWV0 IGltcGxlbWVudGVkLiBJdCBzaG91bGQgYmUgZHJvcHBlZCB3aGVuIHRoZSBkcml2ZXIKPiArICAg ICAgICAgICAgICAgICogaXMgY29tcGxldGUuCj4gKyAgICAgICAgICAgICAgICAqLwo+ICsgICAg ICAgICAgICAgICBkdW1teTogZHVtbXkgewo+ICsgICAgICAgICAgICAgICAgICAgICAgIGNvbXBh dGlibGUgPSAiZml4ZWQtY2xvY2siOwo+ICsgICAgICAgICAgICAgICAgICAgICAgIGNsb2NrLWZy ZXF1ZW5jeSA9IDwwPjsKPiArICAgICAgICAgICAgICAgICAgICAgICAjY2xvY2stY2VsbHMgPSA8 MD47Cj4gKyAgICAgICAgICAgICAgIH07Cj4gKwo+ICsgICAgICAgICAgICAgICB4aW4yNG06IHhp bjI0bSB7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgY29tcGF0aWJsZSA9ICJmaXhlZC1jbG9j ayI7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgY2xvY2stZnJlcXVlbmN5ID0gPDI0MDAwMDAw PjsKPiArICAgICAgICAgICAgICAgICAgICAgICAjY2xvY2stY2VsbHMgPSA8MD47Cj4gKyAgICAg ICAgICAgICAgIH07Cj4gKwo+ICsgICAgICAgICAgICAgICBkdW1teTQ4bTogZHVtbXk0OG0gewo+ ICsgICAgICAgICAgICAgICAgICAgICAgIGNvbXBhdGlibGUgPSAiZml4ZWQtY2xvY2siOwo+ICsg ICAgICAgICAgICAgICAgICAgICAgIGNsb2NrLWZyZXF1ZW5jeSA9IDw0ODAwMDAwMD47Cj4gKyAg ICAgICAgICAgICAgICAgICAgICAgI2Nsb2NrLWNlbGxzID0gPDA+Owo+ICsgICAgICAgICAgICAg ICB9Owo+ICsKPiArICAgICAgICAgICAgICAgZHVtbXkxNTBtOiBkdW1teTE1MG0gewo+ICsgICAg ICAgICAgICAgICAgICAgICAgIGNvbXBhdGlibGUgPSAiZml4ZWQtY2xvY2siOwo+ICsgICAgICAg ICAgICAgICAgICAgICAgIGNsb2NrLWZyZXF1ZW5jeSA9IDwxNTAwMDAwMDA+Owo+ICsgICAgICAg ICAgICAgICAgICAgICAgICNjbG9jay1jZWxscyA9IDwwPjsKPiArICAgICAgICAgICAgICAgfTsK PiArCj4gKyAgICAgICAgICAgICAgIGNsa19nYXRlczA6IGdhdGUtY2xrQDIwMDAwMGQwIHsKPiAr ICAgICAgICAgICAgICAgICAgICAgICBjb21wYXRpYmxlID0gInJvY2tjaGlwLHJrMjkyOC1nYXRl LWNsayI7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgcmVnID0gPDB4MjAwMDAwZDAgMHg0PjsK PiArICAgICAgICAgICAgICAgICAgICAgICBjbG9ja3MgPSA8JmR1bW15PiwgPCZkdW1teT4sCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCZkdW1teT4sIDwmZHVtbXk+LAo+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwmZHVtbXk+LCA8JmR1bW15PiwKPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8JmR1bW15PiwgPCZkdW1teT4sCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgPCZkdW1teT4sIDwmZHVtbXk+LAo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDwmZHVtbXk+LCA8JmR1bW15PiwKPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICA8JmR1bW15PiwgPCZkdW1teT4sCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgPCZkdW1teT4sIDwmZHVtbXk+Owo+ICsKPiArICAgICAgICAg ICAgICAgICAgICAgICBjbG9jay1vdXRwdXQtbmFtZXMgPQo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgImdhdGVfY29yZV9wZXJpcGgiLCAiZ2F0ZV9jcHVfZ3BsbCIsCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2F0ZV9kZHJwaHkiLCAiZ2F0ZV9hY2xrX2NwdSIs Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2F0ZV9oY2xrX2NwdSIsICJnYXRl X3BjbGtfY3B1IiwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnYXRlX2F0Y2xr X2NwdSIsICJnYXRlX2kyczAiLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdh dGVfaTJzMF9mcmFjIiwgImdhdGVfaTJzMSIsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAiZ2F0ZV9pMnMxX2ZyYWMiLCAiZ2F0ZV9pMnMyIiwKPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICJnYXRlX2kyczJfZnJhYyIsICJnYXRlX3NwZGlmIiwKPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICJnYXRlX3NwZGlmX2ZyYWMiLCAiZ2F0ZV90ZXN0Y2xrIjsK PiArCj4gKyAgICAgICAgICAgICAgICAgICAgICAgI2Nsb2NrLWNlbGxzID0gPDE+Owo+ICsgICAg ICAgICAgICAgICB9Owo+ICsKPiArICAgICAgICAgICAgICAgY2xrX2dhdGVzMTogZ2F0ZS1jbGtA MjAwMDAwZDQgewo+ICsgICAgICAgICAgICAgICAgICAgICAgIGNvbXBhdGlibGUgPSAicm9ja2No aXAscmsyOTI4LWdhdGUtY2xrIjsKPiArICAgICAgICAgICAgICAgICAgICAgICByZWcgPSA8MHgy MDAwMDBkNCAweDQ+Owo+ICsgICAgICAgICAgICAgICAgICAgICAgIGNsb2NrcyA9IDwmeGluMjRt PiwgPCZ4aW4yNG0+LAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwmeGluMjRt PiwgPCZkdW1teT4sCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCZkdW1teT4s IDwmeGluMjRtPiwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8JnhpbjI0bT4s IDwmZHVtbXk+LAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwmeGluMjRtPiwg PCZkdW1teT4sCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCZ4aW4yNG0+LCA8 JmR1bW15PiwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8JnhpbjI0bT4sIDwm ZHVtbXk+LAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwmeGluMjRtPiwgPCZk dW1teT47Cj4gKwo+ICsgICAgICAgICAgICAgICAgICAgICAgIGNsb2NrLW91dHB1dC1uYW1lcyA9 Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2F0ZV90aW1lcjAiLCAiZ2F0ZV90 aW1lcjEiLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdhdGVfdGltZXIyIiwg ImdhdGVfanRhZyIsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2F0ZV9hY2xr X2xjZGMxX3NyYyIsICJnYXRlX290Z3BoeTAiLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgImdhdGVfb3RncGh5MSIsICJnYXRlX2Rkcl9ncGxsIiwKPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICJnYXRlX3VhcnQwIiwgImdhdGVfZnJhY191YXJ0MCIsCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2F0ZV91YXJ0MSIsICJnYXRlX2ZyYWNfdWFydDEi LAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdhdGVfdWFydDIiLCAiZ2F0ZV9m cmFjX3VhcnQyIiwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnYXRlX3VhcnQz IiwgImdhdGVfZnJhY191YXJ0MyI7Cj4gKwo+ICsgICAgICAgICAgICAgICAgICAgICAgICNjbG9j ay1jZWxscyA9IDwxPjsKPiArICAgICAgICAgICAgICAgfTsKPiArCj4gKyAgICAgICAgICAgICAg IGNsa19nYXRlczI6IGdhdGUtY2xrQDIwMDAwMGQ4IHsKPiArICAgICAgICAgICAgICAgICAgICAg ICBjb21wYXRpYmxlID0gInJvY2tjaGlwLHJrMjkyOC1nYXRlLWNsayI7Cj4gKyAgICAgICAgICAg ICAgICAgICAgICAgcmVnID0gPDB4MjAwMDAwZDggMHg0PjsKPiArICAgICAgICAgICAgICAgICAg ICAgICBjbG9ja3MgPSA8JmNsa19nYXRlczIgMT4sIDwmZHVtbXk+LAo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDwmZHVtbXk+LCA8JmR1bW15PiwKPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICA8JmR1bW15PiwgPCZkdW1teT4sCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgPCZjbGtfZ2F0ZXMyIDM+LCA8JmR1bW15PiwKPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA8JmR1bW15PiwgPCZkdW1teT4sCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgPCZkdW1teT4sIDwmZHVtbXk0OG0+LAo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDwmZHVtbXk+LCA8JmR1bW15NDhtPiwKPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA8JmR1bW15PiwgPCZkdW1teT47Cj4gKwo+ICsgICAgICAgICAg ICAgICAgICAgICAgIGNsb2NrLW91dHB1dC1uYW1lcyA9Cj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAiZ2F0ZV9wZXJpcGhfc3JjIiwgImdhdGVfYWNsa19wZXJpcGgiLAo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgImdhdGVfaGNsa19wZXJpcGgiLCAiZ2F0ZV9wY2xr X3BlcmlwaCIsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2F0ZV9zbWMiLCAi Z2F0ZV9tYWMiLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdhdGVfaHNhZGMi LCAiZ2F0ZV9oc2FkY19mcmFjIiwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJn YXRlX3NhcmFkYyIsICJnYXRlX3NwaTAiLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgImdhdGVfc3BpMSIsICJnYXRlX21tYzAiLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgImdhdGVfbWFjX2xidGVzdCIsICJnYXRlX21tYzEiLAo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgImdhdGVfZW1tYyIsICJnYXRlX3RzYWRjIjsKPiArCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgI2Nsb2NrLWNlbGxzID0gPDE+Owo+ICsgICAgICAgICAgICAgICB9Owo+ ICsKPiArICAgICAgICAgICAgICAgY2xrX2dhdGVzMzogZ2F0ZS1jbGtAMjAwMDAwZGMgewo+ICsg ICAgICAgICAgICAgICAgICAgICAgIGNvbXBhdGlibGUgPSAicm9ja2NoaXAscmsyOTI4LWdhdGUt Y2xrIjsKPiArICAgICAgICAgICAgICAgICAgICAgICByZWcgPSA8MHgyMDAwMDBkYyAweDQ+Owo+ ICsgICAgICAgICAgICAgICAgICAgICAgIGNsb2NrcyA9IDwmZHVtbXk+LCA8JmR1bW15PiwKPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8JmR1bW15PiwgPCZkdW1teT4sCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCZkdW1teT4sIDwmZHVtbXk+LAo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwmZHVtbXk+LCA8JmR1bW15PiwKPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICA8JmR1bW15PiwgPCZkdW1teT4sCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgPCZkdW1teT4sIDwmZHVtbXk+LAo+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDwmZHVtbXk+LCA8JmR1bW15PiwKPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA8JmR1bW15PiwgPCZkdW1teT47Cj4gKwo+ICsgICAgICAgICAg ICAgICAgICAgICAgIGNsb2NrLW91dHB1dC1uYW1lcyA9Cj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAiZ2F0ZV9hY2xrX2xjZGMwX3NyYyIsICJnYXRlX2RjbGtfbGNkYzAiLAo+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdhdGVfZGNsa19sY2RjMSIsICJnYXRlX3Bj bGtpbl9jaWYwIiwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnYXRlX3BjbGtp bl9jaWYxIiwgInJlc2VydmVkIiwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJy ZXNlcnZlZCIsICJnYXRlX2NpZjBfb3V0IiwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICJnYXRlX2NpZjFfb3V0IiwgImdhdGVfYWNsa192ZXB1IiwKPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICJnYXRlX2hjbGtfdmVwdSIsICJnYXRlX2FjbGtfdmRwdSIsCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2F0ZV9oY2xrX3ZkcHUiLCAiZ2F0ZV9ncHVf c3JjIiwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXNlcnZlZCIsICJnYXRl X3hpbjI3bSI7Cj4gKwo+ICsgICAgICAgICAgICAgICAgICAgICAgICNjbG9jay1jZWxscyA9IDwx PjsKPiArICAgICAgICAgICAgICAgfTsKPiArCj4gKyAgICAgICAgICAgICAgIGNsa19nYXRlczQ6 IGdhdGUtY2xrQDIwMDAwMGUwIHsKPiArICAgICAgICAgICAgICAgICAgICAgICBjb21wYXRpYmxl ID0gInJvY2tjaGlwLHJrMjkyOC1nYXRlLWNsayI7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAg cmVnID0gPDB4MjAwMDAwZTAgMHg0PjsKPiArICAgICAgICAgICAgICAgICAgICAgICBjbG9ja3Mg PSA8JmNsa19nYXRlczIgMj4sIDwmY2xrX2dhdGVzMiAzPiwKPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICA8JmNsa19nYXRlczIgMT4sIDwmY2xrX2dhdGVzMiAxPiwKPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICA8JmNsa19nYXRlczIgMT4sIDwmY2xrX2dhdGVzMiAy PiwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8JmNsa19nYXRlczIgMj4sIDwm Y2xrX2dhdGVzMiAyPiwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8JmNsa19n YXRlczAgND4sIDwmY2xrX2dhdGVzMCA0PiwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICA8JmNsa19nYXRlczAgMz4sIDwmY2xrX2dhdGVzMCAzPiwKPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICA8JmNsa19nYXRlczAgMz4sIDwmY2xrX2dhdGVzMiAzPiwKPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8JmNsa19nYXRlczAgND47Cj4gKwo+ICsgICAg ICAgICAgICAgICAgICAgICAgIGNsb2NrLW91dHB1dC1uYW1lcyA9Cj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAiZ2F0ZV9oY2xrX3BlcmlfYXhpX21hdHJpeCIsICJnYXRlX3BjbGtf cGVyaV9heGlfbWF0cml4IiwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnYXRl X2FjbGtfY3B1X3BlcmkiLCAiZ2F0ZV9hY2xrX3BlcmlfYXhpX21hdHJpeCIsCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAiZ2F0ZV9hY2xrX3BlaV9uaXUiLCAiZ2F0ZV9oY2xrX3Vz Yl9wZXJpIiwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnYXRlX2hjbGtfcGVy aV9haGJfYXJiaSIsICJnYXRlX2hjbGtfZW1lbV9wZXJpIiwKPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICJnYXRlX2hjbGtfY3B1YnVzIiwgImdhdGVfaGNsa19haGIyYXBiIiwKPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnYXRlX2FjbGtfc3RyY19zeXMiLCAiZ2F0 ZV9hY2xrX2wybWVtX2NvbiIsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2F0 ZV9hY2xrX2ludG1lbSIsICJnYXRlX3BjbGtfdHNhZGMiLAo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgImdhdGVfaGNsa19oZG1pIjsKPiArCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgI2Nsb2NrLWNlbGxzID0gPDE+Owo+ICsgICAgICAgICAgICAgICB9Owo+ICsKPiArICAgICAg ICAgICAgICAgY2xrX2dhdGVzNTogZ2F0ZS1jbGtAMjAwMDAwZTQgewo+ICsgICAgICAgICAgICAg ICAgICAgICAgIGNvbXBhdGlibGUgPSAicm9ja2NoaXAscmsyOTI4LWdhdGUtY2xrIjsKPiArICAg ICAgICAgICAgICAgICAgICAgICByZWcgPSA8MHgyMDAwMDBlNCAweDQ+Owo+ICsgICAgICAgICAg ICAgICAgICAgICAgIGNsb2NrcyA9IDwmY2xrX2dhdGVzMCAzPiwgPCZjbGtfZ2F0ZXMyIDE+LAo+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwmY2xrX2dhdGVzMCA1PiwgPCZjbGtf Z2F0ZXMwIDU+LAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwmY2xrX2dhdGVz MCA1PiwgPCZjbGtfZ2F0ZXMwIDU+LAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDwmY2xrX2dhdGVzMCA0PiwgPCZjbGtfZ2F0ZXMwIDU+LAo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDwmY2xrX2dhdGVzMiAxPiwgPCZjbGtfZ2F0ZXMyIDI+LAo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDwmY2xrX2dhdGVzMiAyPiwgPCZjbGtfZ2F0ZXMyIDI+ LAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwmY2xrX2dhdGVzMiAyPiwgPCZj bGtfZ2F0ZXM0IDU+LAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwmY2xrX2dh dGVzNCA1PiwgPCZkdW1teT47Cj4gKwo+ICsgICAgICAgICAgICAgICAgICAgICAgIGNsb2NrLW91 dHB1dC1uYW1lcyA9Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2F0ZV9hY2xr X2RtYWMxIiwgImdhdGVfYWNsa19kbWFjMiIsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAiZ2F0ZV9wY2xrX2VmdXNlIiwgImdhdGVfcGNsa190enBjIiwKPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICJnYXRlX3BjbGtfZ3JmIiwgImdhdGVfcGNsa19wbXUiLAo+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdhdGVfaGNsa19yb20iLCAiZ2F0ZV9wY2xr X2RkcnVwY3RsIiwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnYXRlX2FjbGtf c21jIiwgImdhdGVfaGNsa19uYW5kYyIsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAiZ2F0ZV9oY2xrX21tYzAiLCAiZ2F0ZV9oY2xrX21tYzEiLAo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgImdhdGVfaGNsa19lbW1jIiwgImdhdGVfaGNsa19vdGcwIiwKPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnYXRlX2hjbGtfb3RnMSIsICJnYXRlX2FjbGtf Z3B1IjsKPiArCj4gKyAgICAgICAgICAgICAgICAgICAgICAgI2Nsb2NrLWNlbGxzID0gPDE+Owo+ ICsgICAgICAgICAgICAgICB9Owo+ICsKPiArICAgICAgICAgICAgICAgY2xrX2dhdGVzNjogZ2F0 ZS1jbGtAMjAwMDAwZTggewo+ICsgICAgICAgICAgICAgICAgICAgICAgIGNvbXBhdGlibGUgPSAi cm9ja2NoaXAscmsyOTI4LWdhdGUtY2xrIjsKPiArICAgICAgICAgICAgICAgICAgICAgICByZWcg PSA8MHgyMDAwMDBlOCAweDQ+Owo+ICsgICAgICAgICAgICAgICAgICAgICAgIGNsb2NrcyA9IDwm Y2xrX2dhdGVzMyAwPiwgPCZjbGtfZ2F0ZXMwIDQ+LAo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDwmY2xrX2dhdGVzMCA0PiwgPCZjbGtfZ2F0ZXMxIDQ+LAo+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDwmY2xrX2dhdGVzMCA0PiwgPCZjbGtfZ2F0ZXMzIDA+LAo+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwmY2xrX2dhdGVzMCA0PiwgPCZjbGtf Z2F0ZXMxIDQ+LAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwmY2xrX2dhdGVz MyAwPiwgPCZjbGtfZ2F0ZXMwIDQ+LAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDwmY2xrX2dhdGVzMCA0PiwgPCZjbGtfZ2F0ZXMxIDQ+LAo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDwmY2xrX2dhdGVzMCA0PiwgPCZjbGtfZ2F0ZXMzIDA+LAo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDwmZHVtbXk+LCA8JmR1bW15PjsKPiArCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgY2xvY2stb3V0cHV0LW5hbWVzID0KPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICJnYXRlX2FjbGtfbGNkYzAiLCAiZ2F0ZV9oY2xrX2xjZGMwIiwKPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnYXRlX2hjbGtfbGNkYzEiLCAiZ2F0ZV9h Y2xrX2xjZGMxIiwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnYXRlX2hjbGtf Y2lmMCIsICJnYXRlX2FjbGtfY2lmMCIsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAiZ2F0ZV9oY2xrX2NpZjEiLCAiZ2F0ZV9hY2xrX2NpZjEiLAo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgImdhdGVfYWNsa19pcHAiLCAiZ2F0ZV9oY2xrX2lwcCIsCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2F0ZV9oY2xrX3JnYSIsICJnYXRlX2FjbGtfcmdh IiwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnYXRlX2hjbGtfdmlvX2J1cyIs ICJnYXRlX2FjbGtfdmlvMCIsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2F0 ZV9hY2xrX3Zjb2RlYyIsICJnYXRlX3NoY2xrX3Zpb19oMmgiOwo+ICsKPiArICAgICAgICAgICAg ICAgICAgICAgICAjY2xvY2stY2VsbHMgPSA8MT47Cj4gKyAgICAgICAgICAgICAgIH07Cj4gKwo+ ICsgICAgICAgICAgICAgICBjbGtfZ2F0ZXM3OiBnYXRlLWNsa0AyMDAwMDBlYyB7Cj4gKyAgICAg ICAgICAgICAgICAgICAgICAgY29tcGF0aWJsZSA9ICJyb2NrY2hpcCxyazI5MjgtZ2F0ZS1jbGsi Owo+ICsgICAgICAgICAgICAgICAgICAgICAgIHJlZyA9IDwweDIwMDAwMGVjIDB4ND47Cj4gKyAg ICAgICAgICAgICAgICAgICAgICAgY2xvY2tzID0gPCZjbGtfZ2F0ZXMyIDI+LCA8JmNsa19nYXRl czAgND4sCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCZjbGtfZ2F0ZXMwIDQ+ LCA8JmNsa19nYXRlczAgND4sCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCZj bGtfZ2F0ZXMwIDQ+LCA8JmNsa19nYXRlczIgMj4sCj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgPCZjbGtfZ2F0ZXMyIDI+LCA8JmNsa19nYXRlczAgNT4sCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgPCZjbGtfZ2F0ZXMwIDU+LCA8JmNsa19nYXRlczAgNT4sCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCZjbGtfZ2F0ZXMwIDU+LCA8JmNsa19n YXRlczIgMz4sCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCZjbGtfZ2F0ZXMy IDM+LCA8JmNsa19nYXRlczIgMz4sCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg PCZjbGtfZ2F0ZXMyIDM+LCA8JmNsa19nYXRlczIgMz47Cj4gKwo+ICsgICAgICAgICAgICAgICAg ICAgICAgIGNsb2NrLW91dHB1dC1uYW1lcyA9Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAiZ2F0ZV9oY2xrX2VtYWMiLCAiZ2F0ZV9oY2xrX3NwZGlmIiwKPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICJnYXRlX2hjbGtfaTJzMF8yY2giLCAiZ2F0ZV9oY2xrX2kyczFf MmNoIiwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnYXRlX2hjbGtfaTJzXzhj aCIsICJnYXRlX2hjbGtfaHNhZGMiLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ImdhdGVfaGNsa19waWRmIiwgImdhdGVfcGNsa190aW1lcjAiLAo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgImdhdGVfcGNsa190aW1lcjEiLCAiZ2F0ZV9wY2xrX3RpbWVyMiIsCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2F0ZV9wY2xrX3B3bTAxIiwgImdhdGVf cGNsa19wd20yMyIsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2F0ZV9wY2xr X3NwaTAiLCAiZ2F0ZV9wY2xrX3NwaTEiLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgImdhdGVfcGNsa19zYXJhZGMiLCAiZ2F0ZV9wY2xrX3dkdCI7Cj4gKwo+ICsgICAgICAgICAg ICAgICAgICAgICAgICNjbG9jay1jZWxscyA9IDwxPjsKPiArICAgICAgICAgICAgICAgfTsKPiAr Cj4gKyAgICAgICAgICAgICAgIGNsa19nYXRlczg6IGdhdGUtY2xrQDIwMDAwMGYwIHsKPiArICAg ICAgICAgICAgICAgICAgICAgICBjb21wYXRpYmxlID0gInJvY2tjaGlwLHJrMjkyOC1nYXRlLWNs ayI7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgcmVnID0gPDB4MjAwMDAwZjAgMHg0PjsKPiAr ICAgICAgICAgICAgICAgICAgICAgICBjbG9ja3MgPSA8JmNsa19nYXRlczAgNT4sIDwmY2xrX2dh dGVzMCA1PiwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8JmNsa19nYXRlczIg Mz4sIDwmY2xrX2dhdGVzMiAzPiwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8 JmNsa19nYXRlczAgNT4sIDwmY2xrX2dhdGVzMCA1PiwKPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICA8JmNsa19nYXRlczIgMz4sIDwmY2xrX2dhdGVzMiAzPiwKPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICA8JmNsa19nYXRlczIgMz4sIDwmY2xrX2dhdGVzMCA1PiwK PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8JmNsa19nYXRlczAgNT4sIDwmY2xr X2dhdGVzMCA1PiwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8JmNsa19nYXRl czIgMz4sIDwmY2xrX2dhdGVzMiAzPiwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICA8JmR1bW15PiwgPCZjbGtfZ2F0ZXMwIDU+Owo+ICsKPiArICAgICAgICAgICAgICAgICAgICAg ICBjbG9jay1vdXRwdXQtbmFtZXMgPQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ImdhdGVfcGNsa191YXJ0MCIsICJnYXRlX3BjbGtfdWFydDEiLAo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgImdhdGVfcGNsa191YXJ0MiIsICJnYXRlX3BjbGtfdWFydDMiLAo+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdhdGVfcGNsa19pMmMwIiwgImdhdGVfcGNs a19pMmMxIiwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnYXRlX3BjbGtfaTJj MiIsICJnYXRlX3BjbGtfaTJjMyIsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi Z2F0ZV9wY2xrX2kyYzQiLCAiZ2F0ZV9wY2xrX2dwaW8wIiwKPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICJnYXRlX3BjbGtfZ3BpbzEiLCAiZ2F0ZV9wY2xrX2dwaW8yIiwKPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnYXRlX3BjbGtfZ3BpbzMiLCAiZ2F0ZV9wY2xr X2dwaW80IiwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXNlcnZlZCIsICJn YXRlX3BjbGtfZ3BpbzYiOwo+ICsKPiArICAgICAgICAgICAgICAgICAgICAgICAjY2xvY2stY2Vs bHMgPSA8MT47Cj4gKyAgICAgICAgICAgICAgIH07Cj4gKwo+ICsgICAgICAgICAgICAgICBjbGtf Z2F0ZXM5OiBnYXRlLWNsa0AyMDAwMDBmNCB7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgY29t cGF0aWJsZSA9ICJyb2NrY2hpcCxyazI5MjgtZ2F0ZS1jbGsiOwo+ICsgICAgICAgICAgICAgICAg ICAgICAgIHJlZyA9IDwweDIwMDAwMGY0IDB4ND47Cj4gKyAgICAgICAgICAgICAgICAgICAgICAg Y2xvY2tzID0gPCZkdW1teT4sIDwmY2xrX2dhdGVzMCA1PiwKPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICA8JmR1bW15PiwgPCZkdW1teT4sCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgPCZkdW1teT4sIDwmY2xrX2dhdGVzMSA0PiwKPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICA8JmNsa19nYXRlczAgNT4sIDwmZHVtbXk+LAo+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDwmZHVtbXk+LCA8JmR1bW15PiwKPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA8JmR1bW15PjsKPiArCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgY2xvY2stb3V0cHV0LW5hbWVzID0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICJnYXRlX2Nsa19jb3JlX2RiZyIsICJnYXRlX3BjbGtfZGJnIiwKPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICJnYXRlX2Nsa190cmFjZSIsICJnYXRlX2F0Y2xrIiwKPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICJnYXRlX2Nsa19sMmMiLCAiZ2F0ZV9hY2xrX3ZpbzEi LAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdhdGVfcGNsa19wdWJsIiwgImdh dGVfYWNsa19pbnRtZW0wIiwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnYXRl X2FjbGtfaW50bWVtMSIsICJnYXRlX2FjbGtfaW50bWVtMiIsCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAiZ2F0ZV9hY2xrX2ludG1lbTMiOwo+ICsKPiArICAgICAgICAgICAgICAg ICAgICAgICAjY2xvY2stY2VsbHMgPSA8MT47Cj4gKyAgICAgICAgICAgICAgIH07Cj4gKyAgICAg ICB9Owo+ICsKPiArfTsKPiAtLSAKPiAxLjcuMTAuNAo+IAo+IAo+IF9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gbGludXgtYXJtLWtlcm5lbCBtYWlsaW5n IGxpc3QKPiBsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKPiBodHRwOi8vbGlz dHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZGV2aWNldHJlZS1kaXNj dXNzIG1haWxpbmcgbGlzdApkZXZpY2V0cmVlLWRpc2N1c3NAbGlzdHMub3psYWJzLm9yZwpodHRw czovL2xpc3RzLm96bGFicy5vcmcvbGlzdGluZm8vZGV2aWNldHJlZS1kaXNjdXNzCg==