From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Philipp Zabel Subject: [PATCH 000/102] Convert drivers to explicit reset API Date: Wed, 19 Jul 2017 17:25:04 +0200 Message-Id: <20170719152646.25903-1-p.zabel@pengutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit To: linux-kernel@vger.kernel.org Cc: Philipp Zabel , "David S. Miller" , =?UTF-8?q?Emilio=20L=C3=B3pez?= , Adrian Hunter , Alan Stern , Alan Tull , Alexandre Torgue , Andrew Lunn , Ben Skeggs , Benjamin Gaignard , Bin Liu , Bjorn Andersson , Bjorn Helgaas , Boris Brezillon , Brian Norris , Chanwoo Choi , Chen Feng , Chen-Yu Tsai , Corentin Labbe , Cyrille Pitchen , Dan Williams , Daniel Lezcano , David Airlie , David Woodhouse , Dmitry Torokhov , Eduardo Valentin , Felipe Balbi , Florian Fainelli , Giuseppe Cavallaro , Greg Kroah-Hartman , Guenter Roeck , Hartmut Knaack , Heiko Stuebner , Herbert Xu , Jaehoon Chung , Jiri Slaby , Joachim Eastwood , John Youn , Jon Hunter , Jonathan Cameron , Jonathan Corbet , Kalle Valo , Kishon Vijay Abraham I , Kyungmin Park , Lars-Peter Clausen , Laxman Dewangan , Lee Jones , Liam Girdwood , Linus Walleij , Lucas Stach , Marc Dietrich , Marek Vasut , Mark Brown , Mark Yao , Mathias Nyman , Matthias Brugger , Maxime Coquelin , Maxime Ripard , Michael Turquette , Moritz Fischer , MyungJoo Ham , Ohad Ben-Cohen , Patrice Chotard , Peter Chen , Peter De Schrijver , Peter Meerwald-Stadler , Philippe Cornu , Prashant Gaikwad , Rakesh Iyer , Ralf Baechle , Richard Weinberger , Richard Zhu , Rongrong Zou , Ryder Lee , Salil Mehta , Shawn Lin , Srinivas Kandagatla , Stanimir Varbanov , Stephen Boyd , Tejun Heo , Thierry Reding , Thomas Gleixner , Ulf Hansson , Vincent Abriou , Vinod Koul , Vivien Didelot , Wim Van Sebroeck , Wolfram Sang , Xinliang Liu , Xinwei Kong , Yannick Fertre , Yisen Zhuang , Zhang Rui , alsa-devel@alsa-project.org, ath10k@lists.infradead.org, devel@driverdev.osuosl.org, dmaengine@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org, linux-crypto@vger.kernel.org, linux-doc@vger.kernel.org, linux-fpga@vger.kernel.org, linux-gpio@vger.kernel.org, linux-i2c@vger.kernel.org, linux-ide@vger.kernel.org, linux-iio@vger.kernel.org, linux-input@vger.kernel.org, linux-media@vger.kernel.org, linux-mediatek@lists.infradead.org, linux-mips@linux-mips.org, linux-mmc@vger.kernel.org, linux-mtd@lists.infradead.org, linux-pci@vger.kernel.org, linux-pm@vger.kernel.org, linux-pwm@vger.kernel.org, linux-remoteproc@vger.kernel.org, linux-rockchip@lists.infradead.org, linux-serial@vger.kernel.org, linux-spi@vger.kernel.org, linux-tegra@vger.kernel.org, linux-usb@vger.kernel.org, linux-watchdog@vger.kernel.org, linux-wireless@vger.kernel.org, netdev@vger.kernel.org, nouveau@lists.freedesktop.org List-ID: The reset control API has two modes: exclusive access, where the driver expects to have full and immediate control over the state of the reset line, and shared (clock-like) access, where drivers only request reset deassertion while active, but don't care about the state of the reset line while inactive. Commit a53e35db70d1 ("reset: Ensure drivers are explicit when requesting reset lines") started to transition the reset control request API calls to explicitly state whether the driver needs exclusive or shared reset control behavior. This series converts all drivers that currently implicitly request exclusive reset controls to the corresponding explicit API call. It is, for the most part, generated from the following semantic patch: @@ expression rstc, dev, id; @@ -rstc = reset_control_get(dev, id); +rstc = reset_control_get_exclusive(dev, id); @@ expression rstc, dev, id; @@ -rstc = reset_control_get_optional(dev, id); +rstc = reset_control_get_optional_exclusive(dev, id); @@ expression rstc, node, id; @@ -rstc = of_reset_control_get(node, id); +rstc = of_reset_control_get_exclusive(node, id); @@ expression rstc, node, index; @@ -rstc = of_reset_control_get_by_index(node, index); +rstc = of_reset_control_get_exclusive_by_index(node, index); @@ expression rstc, dev, id; @@ -rstc = devm_reset_control_get(dev, id); +rstc = devm_reset_control_get_exclusive(dev, id); @@ expression rstc, dev, id; @@ -rstc = devm_reset_control_get_optional(dev, id); +rstc = devm_reset_control_get_optional_exclusive(dev, id); @@ expression rstc, dev, index; @@ -rstc = devm_reset_control_get_by_index(dev, index); +rstc = devm_reset_control_get_exclusive_by_index(dev, index); After all driver patches are applied, the temporary transition helpers can be removed. regards Philipp Philipp Zabel (102): ARM: rockchip: explicitly request exclusive reset control ARM: socfpga: explicitly request exclusive reset control MIPS: pci-mt7620: explicitly request exclusive reset control ahci: st: explicitly request exclusive reset control ata: sata_gemini: explicitly request exclusive reset control ata: ahci_tegra: explicitly request exclusive reset control bus: sunxi-rsb: explicitly request exclusive reset control bus: tegra-gmi: explicitly request exclusive reset control clk: sunxi: explicitly request exclusive reset control clk: tegra: explicitly request exclusive reset control clocksource/drivers/timer-stm32: explicitly request exclusive reset control clocksource/drivers/sun5i: explicitly request exclusive reset control crypto: rockchip: explicitly request exclusive reset control crypto: sun4i-ss - request exclusive reset control PM / devfreq: tegra: explicitly request exclusive reset control dmaengine: stm32-dma: explicitly request exclusive reset control dmaengine: sun6i: explicitly request exclusive reset control dmaengine: tegra-apb: explicitly request exclusive reset control drm: kirin: explicitly request exclusive reset control drm/nouveau/tegra: explicitly request exclusive reset control drm/rockchip: explicitly request exclusive reset control drm/sti: explicitly request exclusive reset control drm/stm: explicitly request exclusive reset control drm/sun4i: explicitly request exclusive reset control drm/tegra: explicitly request exclusive reset control gpu: host1x: explicitly request exclusive reset control i2c: mv64xxx: explicitly request exclusive reset control i2c: stm32f4: explicitly request exclusive reset control i2c: sun6i-pw2i: explicitly request exclusive reset control i2c: tegra: explicitly request exclusive reset control iio: adc: rockchip_saradc: explicitly request exclusive reset control iio: dac: stm32-dac-core: explicitly request exclusive reset control Input: tegra-kbc - request exclusive reset control coda: explicitly request exclusive reset control st-rc: explicitly request exclusive reset control stm32-dcmi: explicitly request exclusive reset control rc: sunxi-cir: explicitly request exclusive reset control mmc: dw_mmc: explicitly request exclusive reset control mmc: sdhci-st: explicitly request exclusive reset control mmc: sunxi: explicitly request exclusive reset control mmc: tegra: explicitly request exclusive reset control mtd: nand: sunxi: explicitly request exclusive reset control mtd: spi-nor: stm32-quadspi: explicitly request exclusive reset control net: dsa: mt7530: explicitly request exclusive reset control net: ethernet: hisi_femac: explicitly request exclusive reset control net: ethernet: hix5hd2_gmac: explicitly request exclusive reset control net: stmmac: explicitly request exclusive reset control net: stmmac: dwc-qos: explicitly request exclusive reset control ath10k: explicitly request exclusive reset control nvmem: lpc18xx-eeprom: explicitly request exclusive reset control PCI: dwc: pcie-qcom: explicitly request exclusive reset control PCI: imx6: explicitly request exclusive reset control PCI: tegra: explicitly request exclusive reset control PCI: rockchip: explicitly request exclusive reset control phy: berlin-usb: explicitly request exclusive reset control PCI: mediatek: explicitly request exclusive reset control phy: qcom-usb-hs: explicitly request exclusive reset control phy: rockchip-pcie: explicitly request exclusive reset control phy: rockchip-typec: explicitly request exclusive reset control phy: rockchip-usb: explicitly request exclusive reset control phy: sun4i-usb: explicitly request exclusive reset control phy: sun9i-usb: explicitly request exclusive reset control phy: tegra: explicitly request exclusive reset control phy: qcom-qmp: explicitly request exclusive reset control phy: qcom-qusb2: explicitly request exclusive reset control pinctrl: stm32: explicitly request exclusive reset control pinctrl: sunxi: explicitly request exclusive reset control pinctrl: tegra: explicitly request exclusive reset control pwm: hibvt: explicitly request exclusive reset control pwm: tegra: explicitly request exclusive reset control remoteproc/keystone: explicitly request exclusive reset control remoteproc: qcom: explicitly request exclusive reset control remoteproc: st: explicitly request exclusive reset control soc: mediatek: PMIC wrap: explicitly request exclusive reset control soc/tegra: pmc: explicitly request exclusive reset control spi: stm32: explicitly request exclusive reset control spi: sun6i: explicitly request exclusive reset control spi: tegra20-slink: explicitly request exclusive reset control spi: tegra114: explicitly request exclusive reset control spi: tegra20-sflash: explicitly request exclusive reset control staging: nvec: explicitly request exclusive reset control thermal: rockchip: explicitly request exclusive reset control thermal: tegra: explicitly request exclusive reset control serial: 8250_dw: explicitly request exclusive reset control serial: tegra: explicitly request exclusive reset control usb: chipidea: msm: explicitly request exclusive reset control usb: dwc2: explicitly request exclusive reset control usb: host: ehci-tegra: explicitly request exclusive reset control usb: host: xhci-tegra: explicitly request exclusive reset control usb: musb: sunxi: explicitly request exclusive reset control usb: phy: msm: explicitly request exclusive reset control usb: phy: qcom-8x16-usb: explicitly request exclusive reset control watchdog: asm9260: explicitly request exclusive reset control watchdog: mt7621: explicitly request exclusive reset control watchdog: rt2880: explicitly request exclusive reset control watchdog: zx2967: explicitly request exclusive reset control ASoC: img: explicitly request exclusive reset control ASoC: stm32: explicitly request exclusive reset control ASoC: sun4i: explicitly request exclusive reset control ASoC: tegra: explicitly request exclusive reset control Documentation: devres: add explicit exclusive/shared reset control request calls reset: finish transition to explicit exclusive reset control requests Documentation/driver-model/devres.txt | 7 ++- arch/arm/mach-rockchip/platsmp.c | 2 +- arch/mips/pci/pci-mt7620.c | 2 +- drivers/ata/ahci_st.c | 6 +-- drivers/ata/ahci_tegra.c | 8 ++-- drivers/ata/sata_gemini.c | 4 +- drivers/bus/sunxi-rsb.c | 2 +- drivers/bus/tegra-gmi.c | 2 +- drivers/clk/sunxi/clk-sun9i-mmc.c | 2 +- drivers/clk/tegra/clk-dfll.c | 2 +- drivers/clocksource/timer-stm32.c | 2 +- drivers/clocksource/timer-sun5i.c | 2 +- drivers/crypto/rockchip/rk3288_crypto.c | 2 +- drivers/crypto/sunxi-ss/sun4i-ss-core.c | 3 +- drivers/devfreq/tegra-devfreq.c | 2 +- drivers/dma/stm32-dma.c | 2 +- drivers/dma/sun6i-dma.c | 2 +- drivers/dma/tegra20-apb-dma.c | 2 +- drivers/fpga/altera-hps2fpga.c | 3 +- drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c | 2 +- drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c | 2 +- drivers/gpu/drm/rockchip/analogix_dp-rockchip.c | 2 +- drivers/gpu/drm/rockchip/cdn-dp-core.c | 8 ++-- drivers/gpu/drm/rockchip/dw-mipi-dsi.c | 2 +- drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 4 +- drivers/gpu/drm/sti/sti_hdmi.c | 2 +- drivers/gpu/drm/sti/sti_hqvdp.c | 2 +- drivers/gpu/drm/sti/sti_tvout.c | 2 +- drivers/gpu/drm/stm/ltdc.c | 2 +- drivers/gpu/drm/sun4i/sun4i_backend.c | 4 +- drivers/gpu/drm/sun4i/sun4i_tcon.c | 2 +- drivers/gpu/drm/sun4i/sun4i_tv.c | 2 +- drivers/gpu/drm/sun4i/sun6i_drc.c | 2 +- drivers/gpu/drm/sun4i/sun8i_mixer.c | 2 +- drivers/gpu/drm/tegra/dc.c | 2 +- drivers/gpu/drm/tegra/dpaux.c | 3 +- drivers/gpu/drm/tegra/dsi.c | 2 +- drivers/gpu/drm/tegra/gr3d.c | 6 +-- drivers/gpu/drm/tegra/hdmi.c | 2 +- drivers/gpu/drm/tegra/sor.c | 2 +- drivers/gpu/host1x/dev.c | 2 +- drivers/i2c/busses/i2c-mv64xxx.c | 2 +- drivers/i2c/busses/i2c-stm32f4.c | 2 +- drivers/i2c/busses/i2c-sun6i-p2wi.c | 2 +- drivers/i2c/busses/i2c-tegra.c | 2 +- drivers/iio/adc/rockchip_saradc.c | 3 +- drivers/iio/dac/stm32-dac-core.c | 2 +- drivers/input/keyboard/tegra-kbc.c | 2 +- drivers/media/platform/coda/coda-common.c | 3 +- drivers/media/platform/stm32/stm32-dcmi.c | 2 +- drivers/media/rc/st_rc.c | 2 +- drivers/media/rc/sunxi-cir.c | 2 +- drivers/mmc/host/dw_mmc.c | 2 +- drivers/mmc/host/sdhci-st.c | 2 +- drivers/mmc/host/sdhci-tegra.c | 3 +- drivers/mmc/host/sunxi-mmc.c | 3 +- drivers/mtd/nand/sunxi_nand.c | 2 +- drivers/mtd/spi-nor/stm32-quadspi.c | 2 +- drivers/net/dsa/mt7530.c | 3 +- drivers/net/ethernet/hisilicon/hisi_femac.c | 4 +- drivers/net/ethernet/hisilicon/hix5hd2_gmac.c | 6 +-- .../ethernet/stmicro/stmmac/dwmac-dwc-qos-eth.c | 2 +- drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c | 3 +- .../net/ethernet/stmicro/stmmac/stmmac_platform.c | 4 +- drivers/net/wireless/ath/ath10k/ahb.c | 15 ++++--- drivers/nvmem/lpc18xx_eeprom.c | 2 +- drivers/pci/dwc/pci-imx6.c | 7 +-- drivers/pci/dwc/pcie-qcom.c | 40 +++++++++-------- drivers/pci/host/pci-tegra.c | 6 +-- drivers/pci/host/pcie-mediatek.c | 2 +- drivers/pci/host/pcie-rockchip.c | 15 ++++--- drivers/phy/allwinner/phy-sun4i-usb.c | 2 +- drivers/phy/allwinner/phy-sun9i-usb.c | 4 +- drivers/phy/marvell/phy-berlin-usb.c | 2 +- drivers/phy/qualcomm/phy-qcom-qmp.c | 4 +- drivers/phy/qualcomm/phy-qcom-qusb2.c | 3 +- drivers/phy/qualcomm/phy-qcom-usb-hs.c | 3 +- drivers/phy/rockchip/phy-rockchip-pcie.c | 2 +- drivers/phy/rockchip/phy-rockchip-typec.c | 6 +-- drivers/phy/rockchip/phy-rockchip-usb.c | 2 +- drivers/phy/tegra/xusb-tegra210.c | 4 +- drivers/phy/tegra/xusb.c | 2 +- drivers/pinctrl/stm32/pinctrl-stm32.c | 2 +- drivers/pinctrl/sunxi/pinctrl-sun6i-a31-r.c | 2 +- drivers/pinctrl/sunxi/pinctrl-sun8i-a23-r.c | 2 +- drivers/pinctrl/tegra/pinctrl-tegra-xusb.c | 2 +- drivers/pwm/pwm-hibvt.c | 2 +- drivers/pwm/pwm-tegra.c | 2 +- drivers/remoteproc/keystone_remoteproc.c | 2 +- drivers/remoteproc/qcom_q6v5_pil.c | 3 +- drivers/remoteproc/st_remoteproc.c | 6 ++- drivers/reset/core.c | 2 +- drivers/soc/mediatek/mtk-pmic-wrap.c | 5 ++- drivers/soc/tegra/pmc.c | 2 +- drivers/spi/spi-stm32.c | 2 +- drivers/spi/spi-sun6i.c | 2 +- drivers/spi/spi-tegra114.c | 2 +- drivers/spi/spi-tegra20-sflash.c | 2 +- drivers/spi/spi-tegra20-slink.c | 2 +- drivers/staging/nvec/nvec.c | 2 +- drivers/thermal/rockchip_thermal.c | 3 +- drivers/thermal/tegra/soctherm.c | 3 +- drivers/tty/serial/8250/8250_dw.c | 2 +- drivers/tty/serial/serial-tegra.c | 2 +- drivers/usb/chipidea/ci_hdrc_msm.c | 2 +- drivers/usb/dwc2/platform.c | 3 +- drivers/usb/host/ehci-tegra.c | 5 ++- drivers/usb/host/xhci-tegra.c | 6 ++- drivers/usb/musb/sunxi.c | 2 +- drivers/usb/phy/phy-msm-usb.c | 4 +- drivers/usb/phy/phy-qcom-8x16-usb.c | 2 +- drivers/watchdog/asm9260_wdt.c | 2 +- drivers/watchdog/mt7621_wdt.c | 2 +- drivers/watchdog/rt2880_wdt.c | 2 +- drivers/watchdog/zx2967_wdt.c | 2 +- include/linux/reset.h | 50 ---------------------- sound/soc/img/img-i2s-in.c | 2 +- sound/soc/img/img-i2s-out.c | 2 +- sound/soc/img/img-parallel-out.c | 2 +- sound/soc/img/img-spdif-in.c | 2 +- sound/soc/img/img-spdif-out.c | 2 +- sound/soc/stm/stm32_i2s.c | 2 +- sound/soc/stm/stm32_sai.c | 2 +- sound/soc/stm/stm32_spdifrx.c | 2 +- sound/soc/sunxi/sun4i-codec.c | 3 +- sound/soc/sunxi/sun4i-i2s.c | 2 +- sound/soc/sunxi/sun4i-spdif.c | 3 +- sound/soc/tegra/tegra30_ahub.c | 4 +- 128 files changed, 226 insertions(+), 235 deletions(-) -- 2.11.0 Cc: "David S. Miller" Cc: "Emilio López" Cc: Adrian Hunter Cc: Alan Stern Cc: Alan Tull Cc: Alexandre Torgue Cc: Andrew Lunn Cc: Ben Skeggs Cc: Benjamin Gaignard Cc: Bin Liu Cc: Bjorn Andersson Cc: Bjorn Helgaas Cc: Boris Brezillon Cc: Brian Norris Cc: Chanwoo Choi Cc: Chen Feng Cc: Chen-Yu Tsai Cc: Corentin Labbe Cc: Cyrille Pitchen Cc: Dan Williams Cc: Daniel Lezcano Cc: David Airlie Cc: David Woodhouse Cc: Dmitry Torokhov Cc: Eduardo Valentin Cc: Felipe Balbi Cc: Florian Fainelli Cc: Giuseppe Cavallaro Cc: Greg Kroah-Hartman Cc: Guenter Roeck Cc: Hartmut Knaack Cc: Heiko Stuebner Cc: Herbert Xu Cc: Jaehoon Chung Cc: Jiri Slaby Cc: Joachim Eastwood Cc: John Youn Cc: Jon Hunter Cc: Jonathan Cameron Cc: Jonathan Corbet Cc: Jonathan Hunter Cc: Kalle Valo Cc: Kishon Vijay Abraham I Cc: Kyungmin Park Cc: Lars-Peter Clausen Cc: Laxman Dewangan Cc: Lee Jones Cc: Liam Girdwood Cc: Linus Walleij Cc: Lucas Stach Cc: Marc Dietrich Cc: Marek Vasut Cc: Mark Brown Cc: Mark Yao Cc: Mathias Nyman Cc: Matthias Brugger Cc: Maxime Coquelin Cc: Maxime Ripard Cc: Michael Turquette Cc: Moritz Fischer Cc: MyungJoo Ham Cc: Ohad Ben-Cohen Cc: Patrice Chotard Cc: Peter Chen Cc: Peter De Schrijver Cc: Peter Meerwald-Stadler Cc: Philippe Cornu Cc: Prashant Gaikwad Cc: Rakesh Iyer Cc: Ralf Baechle Cc: Richard Weinberger Cc: Richard Zhu Cc: Rongrong Zou Cc: Ryder Lee Cc: Salil Mehta Cc: Shawn Lin Cc: Srinivas Kandagatla Cc: Stanimir Varbanov Cc: Stephen Boyd Cc: Tejun Heo Cc: Thierry Reding Cc: Thomas Gleixner Cc: Ulf Hansson Cc: Vincent Abriou Cc: Vinod Koul Cc: Vivien Didelot Cc: Wim Van Sebroeck Cc: Wolfram Sang Cc: Xinliang Liu Cc: Xinwei Kong Cc: Yannick Fertre Cc: Yisen Zhuang Cc: Zhang Rui Cc: alsa-devel@alsa-project.org Cc: ath10k@lists.infradead.org Cc: devel@driverdev.osuosl.org Cc: dmaengine@vger.kernel.org Cc: dri-devel@lists.freedesktop.org Cc: linux-arm-kernel@lists.infradead.org Cc: linux-arm-msm@vger.kernel.org Cc: linux-clk@vger.kernel.org Cc: linux-crypto@vger.kernel.org Cc: linux-doc@vger.kernel.org Cc: linux-fpga@vger.kernel.org Cc: linux-gpio@vger.kernel.org Cc: linux-i2c@vger.kernel.org Cc: linux-ide@vger.kernel.org Cc: linux-iio@vger.kernel.org Cc: linux-input@vger.kernel.org Cc: linux-kernel@vger.kernel.org Cc: linux-media@vger.kernel.org Cc: linux-mediatek@lists.infradead.org Cc: linux-mips@linux-mips.org Cc: linux-mmc@vger.kernel.org Cc: linux-mtd@lists.infradead.org Cc: linux-pci@vger.kernel.org Cc: linux-pm@vger.kernel.org Cc: linux-pwm@vger.kernel.org Cc: linux-remoteproc@vger.kernel.org Cc: linux-rockchip@lists.infradead.org Cc: linux-serial@vger.kernel.org Cc: linux-spi@vger.kernel.org Cc: linux-tegra@vger.kernel.org Cc: linux-usb@vger.kernel.org Cc: linux-watchdog@vger.kernel.org Cc: linux-wireless@vger.kernel.org Cc: netdev@vger.kernel.org Cc: nouveau@lists.freedesktop.org From mboxrd@z Thu Jan 1 00:00:00 1970 From: Philipp Zabel Subject: [PATCH 000/102] Convert drivers to explicit reset API Date: Wed, 19 Jul 2017 17:25:04 +0200 Message-ID: <20170719152646.25903-1-p.zabel@pengutronix.de> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Philipp Zabel , "David S. Miller" , =?UTF-8?q?Emilio=20L=C3=B3pez?= , Adrian Hunter , Alan Stern , Alan Tull , Alexandre Torgue , Andrew Lunn , Ben Skeggs , Benjamin Gaignard , Bin Liu , Bjorn Andersson , Bjorn Helgaas , Boris Brezillon , Brian Norris , Chanwoo Choi , Chen Feng , Chen-Yu Tsai , Corentin Labbe , To: linux-kernel@vger.kernel.org Return-path: Sender: linux-mips-bounce@linux-mips.org Errors-to: linux-mips-bounce@linux-mips.org List-help: List-unsubscribe: List-software: Ecartis version 1.0.0 List-subscribe: List-owner: List-post: List-archive: List-Id: linux-crypto.vger.kernel.org The reset control API has two modes: exclusive access, where the driver expects to have full and immediate control over the state of the reset line, and shared (clock-like) access, where drivers only request reset deassertion while active, but don't care about the state of the reset line while inactive. Commit a53e35db70d1 ("reset: Ensure drivers are explicit when requesting reset lines") started to transition the reset control request API calls to explicitly state whether the driver needs exclusive or shared reset control behavior. This series converts all drivers that currently implicitly request exclusive reset controls to the corresponding explicit API call. It is, for the most part, generated from the following semantic patch: @@ expression rstc, dev, id; @@ -rstc = reset_control_get(dev, id); +rstc = reset_control_get_exclusive(dev, id); @@ expression rstc, dev, id; @@ -rstc = reset_control_get_optional(dev, id); +rstc = reset_control_get_optional_exclusive(dev, id); @@ expression rstc, node, id; @@ -rstc = of_reset_control_get(node, id); +rstc = of_reset_control_get_exclusive(node, id); @@ expression rstc, node, index; @@ -rstc = of_reset_control_get_by_index(node, index); +rstc = of_reset_control_get_exclusive_by_index(node, index); @@ expression rstc, dev, id; @@ -rstc = devm_reset_control_get(dev, id); +rstc = devm_reset_control_get_exclusive(dev, id); @@ expression rstc, dev, id; @@ -rstc = devm_reset_control_get_optional(dev, id); +rstc = devm_reset_control_get_optional_exclusive(dev, id); @@ expression rstc, dev, index; @@ -rstc = devm_reset_control_get_by_index(dev, index); +rstc = devm_reset_control_get_exclusive_by_index(dev, index); After all driver patches are applied, the temporary transition helpers can be removed. regards Philipp Philipp Zabel (102): ARM: rockchip: explicitly request exclusive reset control ARM: socfpga: explicitly request exclusive reset control MIPS: pci-mt7620: explicitly request exclusive reset control ahci: st: explicitly request exclusive reset control ata: sata_gemini: explicitly request exclusive reset control ata: ahci_tegra: explicitly request exclusive reset control bus: sunxi-rsb: explicitly request exclusive reset control bus: tegra-gmi: explicitly request exclusive reset control clk: sunxi: explicitly request exclusive reset control clk: tegra: explicitly request exclusive reset control clocksource/drivers/timer-stm32: explicitly request exclusive reset control clocksource/drivers/sun5i: explicitly request exclusive reset control crypto: rockchip: explicitly request exclusive reset control crypto: sun4i-ss - request exclusive reset control PM / devfreq: tegra: explicitly request exclusive reset control dmaengine: stm32-dma: explicitly request exclusive reset control dmaengine: sun6i: explicitly request exclusive reset control dmaengine: tegra-apb: explicitly request exclusive reset control drm: kirin: explicitly request exclusive reset control drm/nouveau/tegra: explicitly request exclusive reset control drm/rockchip: explicitly request exclusive reset control drm/sti: explicitly request exclusive reset control drm/stm: explicitly request exclusive reset control drm/sun4i: explicitly request exclusive reset control drm/tegra: explicitly request exclusive reset control gpu: host1x: explicitly request exclusive reset control i2c: mv64xxx: explicitly request exclusive reset control i2c: stm32f4: explicitly request exclusive reset control i2c: sun6i-pw2i: explicitly request exclusive reset control i2c: tegra: explicitly request exclusive reset control iio: adc: rockchip_saradc: explicitly request exclusive reset control iio: dac: stm32-dac-core: explicitly request exclusive reset control Input: tegra-kbc - request exclusive reset control coda: explicitly request exclusive reset control st-rc: explicitly request exclusive reset control stm32-dcmi: explicitly request exclusive reset control rc: sunxi-cir: explicitly request exclusive reset control mmc: dw_mmc: explicitly request exclusive reset control mmc: sdhci-st: explicitly request exclusive reset control mmc: sunxi: explicitly request exclusive reset control mmc: tegra: explicitly request exclusive reset control mtd: nand: sunxi: explicitly request exclusive reset control mtd: spi-nor: stm32-quadspi: explicitly request exclusive reset control net: dsa: mt7530: explicitly request exclusive reset control net: ethernet: hisi_femac: explicitly request exclusive reset control net: ethernet: hix5hd2_gmac: explicitly request exclusive reset control net: stmmac: explicitly request exclusive reset control net: stmmac: dwc-qos: explicitly request exclusive reset control ath10k: explicitly request exclusive reset control nvmem: lpc18xx-eeprom: explicitly request exclusive reset control PCI: dwc: pcie-qcom: explicitly request exclusive reset control PCI: imx6: explicitly request exclusive reset control PCI: tegra: explicitly request exclusive reset control PCI: rockchip: explicitly request exclusive reset control phy: berlin-usb: explicitly request exclusive reset control PCI: mediatek: explicitly request exclusive reset control phy: qcom-usb-hs: explicitly request exclusive reset control phy: rockchip-pcie: explicitly request exclusive reset control phy: rockchip-typec: explicitly request exclusive reset control phy: rockchip-usb: explicitly request exclusive reset control phy: sun4i-usb: explicitly request exclusive reset control phy: sun9i-usb: explicitly request exclusive reset control phy: tegra: explicitly request exclusive reset control phy: qcom-qmp: explicitly request exclusive reset control phy: qcom-qusb2: explicitly request exclusive reset control pinctrl: stm32: explicitly request exclusive reset control pinctrl: sunxi: explicitly request exclusive reset control pinctrl: tegra: explicitly request exclusive reset control pwm: hibvt: explicitly request exclusive reset control pwm: tegra: explicitly request exclusive reset control remoteproc/keystone: explicitly request exclusive reset control remoteproc: qcom: explicitly request exclusive reset control remoteproc: st: explicitly request exclusive reset control soc: mediatek: PMIC wrap: explicitly request exclusive reset control soc/tegra: pmc: explicitly request exclusive reset control spi: stm32: explicitly request exclusive reset control spi: sun6i: explicitly request exclusive reset control spi: tegra20-slink: explicitly request exclusive reset control spi: tegra114: explicitly request exclusive reset control spi: tegra20-sflash: explicitly request exclusive reset control staging: nvec: explicitly request exclusive reset control thermal: rockchip: explicitly request exclusive reset control thermal: tegra: explicitly request exclusive reset control serial: 8250_dw: explicitly request exclusive reset control serial: tegra: explicitly request exclusive reset control usb: chipidea: msm: explicitly request exclusive reset control usb: dwc2: explicitly request exclusive reset control usb: host: ehci-tegra: explicitly request exclusive reset control usb: host: xhci-tegra: explicitly request exclusive reset control usb: musb: sunxi: explicitly request exclusive reset control usb: phy: msm: explicitly request exclusive reset control usb: phy: qcom-8x16-usb: explicitly request exclusive reset control watchdog: asm9260: explicitly request exclusive reset control watchdog: mt7621: explicitly request exclusive reset control watchdog: rt2880: explicitly request exclusive reset control watchdog: zx2967: explicitly request exclusive reset control ASoC: img: explicitly request exclusive reset control ASoC: stm32: explicitly request exclusive reset control ASoC: sun4i: explicitly request exclusive reset control ASoC: tegra: explicitly request exclusive reset control Documentation: devres: add explicit exclusive/shared reset control request calls reset: finish transition to explicit exclusive reset control requests Documentation/driver-model/devres.txt | 7 ++- arch/arm/mach-rockchip/platsmp.c | 2 +- arch/mips/pci/pci-mt7620.c | 2 +- drivers/ata/ahci_st.c | 6 +-- drivers/ata/ahci_tegra.c | 8 ++-- drivers/ata/sata_gemini.c | 4 +- drivers/bus/sunxi-rsb.c | 2 +- drivers/bus/tegra-gmi.c | 2 +- drivers/clk/sunxi/clk-sun9i-mmc.c | 2 +- drivers/clk/tegra/clk-dfll.c | 2 +- drivers/clocksource/timer-stm32.c | 2 +- drivers/clocksource/timer-sun5i.c | 2 +- drivers/crypto/rockchip/rk3288_crypto.c | 2 +- drivers/crypto/sunxi-ss/sun4i-ss-core.c | 3 +- drivers/devfreq/tegra-devfreq.c | 2 +- drivers/dma/stm32-dma.c | 2 +- drivers/dma/sun6i-dma.c | 2 +- drivers/dma/tegra20-apb-dma.c | 2 +- drivers/fpga/altera-hps2fpga.c | 3 +- drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c | 2 +- drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c | 2 +- drivers/gpu/drm/rockchip/analogix_dp-rockchip.c | 2 +- drivers/gpu/drm/rockchip/cdn-dp-core.c | 8 ++-- drivers/gpu/drm/rockchip/dw-mipi-dsi.c | 2 +- drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 4 +- drivers/gpu/drm/sti/sti_hdmi.c | 2 +- drivers/gpu/drm/sti/sti_hqvdp.c | 2 +- drivers/gpu/drm/sti/sti_tvout.c | 2 +- drivers/gpu/drm/stm/ltdc.c | 2 +- drivers/gpu/drm/sun4i/sun4i_backend.c | 4 +- drivers/gpu/drm/sun4i/sun4i_tcon.c | 2 +- drivers/gpu/drm/sun4i/sun4i_tv.c | 2 +- drivers/gpu/drm/sun4i/sun6i_drc.c | 2 +- drivers/gpu/drm/sun4i/sun8i_mixer.c | 2 +- drivers/gpu/drm/tegra/dc.c | 2 +- drivers/gpu/drm/tegra/dpaux.c | 3 +- drivers/gpu/drm/tegra/dsi.c | 2 +- drivers/gpu/drm/tegra/gr3d.c | 6 +-- drivers/gpu/drm/tegra/hdmi.c | 2 +- drivers/gpu/drm/tegra/sor.c | 2 +- drivers/gpu/host1x/dev.c | 2 +- drivers/i2c/busses/i2c-mv64xxx.c | 2 +- drivers/i2c/busses/i2c-stm32f4.c | 2 +- drivers/i2c/busses/i2c-sun6i-p2wi.c | 2 +- drivers/i2c/busses/i2c-tegra.c | 2 +- drivers/iio/adc/rockchip_saradc.c | 3 +- drivers/iio/dac/stm32-dac-core.c | 2 +- drivers/input/keyboard/tegra-kbc.c | 2 +- drivers/media/platform/coda/coda-common.c | 3 +- drivers/media/platform/stm32/stm32-dcmi.c | 2 +- drivers/media/rc/st_rc.c | 2 +- drivers/media/rc/sunxi-cir.c | 2 +- drivers/mmc/host/dw_mmc.c | 2 +- drivers/mmc/host/sdhci-st.c | 2 +- drivers/mmc/host/sdhci-tegra.c | 3 +- drivers/mmc/host/sunxi-mmc.c | 3 +- drivers/mtd/nand/sunxi_nand.c | 2 +- drivers/mtd/spi-nor/stm32-quadspi.c | 2 +- drivers/net/dsa/mt7530.c | 3 +- drivers/net/ethernet/hisilicon/hisi_femac.c | 4 +- drivers/net/ethernet/hisilicon/hix5hd2_gmac.c | 6 +-- .../ethernet/stmicro/stmmac/dwmac-dwc-qos-eth.c | 2 +- drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c | 3 +- .../net/ethernet/stmicro/stmmac/stmmac_platform.c | 4 +- drivers/net/wireless/ath/ath10k/ahb.c | 15 ++++--- drivers/nvmem/lpc18xx_eeprom.c | 2 +- drivers/pci/dwc/pci-imx6.c | 7 +-- drivers/pci/dwc/pcie-qcom.c | 40 +++++++++-------- drivers/pci/host/pci-tegra.c | 6 +-- drivers/pci/host/pcie-mediatek.c | 2 +- drivers/pci/host/pcie-rockchip.c | 15 ++++--- drivers/phy/allwinner/phy-sun4i-usb.c | 2 +- drivers/phy/allwinner/phy-sun9i-usb.c | 4 +- drivers/phy/marvell/phy-berlin-usb.c | 2 +- drivers/phy/qualcomm/phy-qcom-qmp.c | 4 +- drivers/phy/qualcomm/phy-qcom-qusb2.c | 3 +- drivers/phy/qualcomm/phy-qcom-usb-hs.c | 3 +- drivers/phy/rockchip/phy-rockchip-pcie.c | 2 +- drivers/phy/rockchip/phy-rockchip-typec.c | 6 +-- drivers/phy/rockchip/phy-rockchip-usb.c | 2 +- drivers/phy/tegra/xusb-tegra210.c | 4 +- drivers/phy/tegra/xusb.c | 2 +- drivers/pinctrl/stm32/pinctrl-stm32.c | 2 +- drivers/pinctrl/sunxi/pinctrl-sun6i-a31-r.c | 2 +- drivers/pinctrl/sunxi/pinctrl-sun8i-a23-r.c | 2 +- drivers/pinctrl/tegra/pinctrl-tegra-xusb.c | 2 +- drivers/pwm/pwm-hibvt.c | 2 +- drivers/pwm/pwm-tegra.c | 2 +- drivers/remoteproc/keystone_remoteproc.c | 2 +- drivers/remoteproc/qcom_q6v5_pil.c | 3 +- drivers/remoteproc/st_remoteproc.c | 6 ++- drivers/reset/core.c | 2 +- drivers/soc/mediatek/mtk-pmic-wrap.c | 5 ++- drivers/soc/tegra/pmc.c | 2 +- drivers/spi/spi-stm32.c | 2 +- drivers/spi/spi-sun6i.c | 2 +- drivers/spi/spi-tegra114.c | 2 +- drivers/spi/spi-tegra20-sflash.c | 2 +- drivers/spi/spi-tegra20-slink.c | 2 +- drivers/staging/nvec/nvec.c | 2 +- drivers/thermal/rockchip_thermal.c | 3 +- drivers/thermal/tegra/soctherm.c | 3 +- drivers/tty/serial/8250/8250_dw.c | 2 +- drivers/tty/serial/serial-tegra.c | 2 +- drivers/usb/chipidea/ci_hdrc_msm.c | 2 +- drivers/usb/dwc2/platform.c | 3 +- drivers/usb/host/ehci-tegra.c | 5 ++- drivers/usb/host/xhci-tegra.c | 6 ++- drivers/usb/musb/sunxi.c | 2 +- drivers/usb/phy/phy-msm-usb.c | 4 +- drivers/usb/phy/phy-qcom-8x16-usb.c | 2 +- drivers/watchdog/asm9260_wdt.c | 2 +- drivers/watchdog/mt7621_wdt.c | 2 +- drivers/watchdog/rt2880_wdt.c | 2 +- drivers/watchdog/zx2967_wdt.c | 2 +- include/linux/reset.h | 50 ---------------------- sound/soc/img/img-i2s-in.c | 2 +- sound/soc/img/img-i2s-out.c | 2 +- sound/soc/img/img-parallel-out.c | 2 +- sound/soc/img/img-spdif-in.c | 2 +- sound/soc/img/img-spdif-out.c | 2 +- sound/soc/stm/stm32_i2s.c | 2 +- sound/soc/stm/stm32_sai.c | 2 +- sound/soc/stm/stm32_spdifrx.c | 2 +- sound/soc/sunxi/sun4i-codec.c | 3 +- sound/soc/sunxi/sun4i-i2s.c | 2 +- sound/soc/sunxi/sun4i-spdif.c | 3 +- sound/soc/tegra/tegra30_ahub.c | 4 +- 128 files changed, 226 insertions(+), 235 deletions(-) -- 2.11.0 Cc: "David S. Miller" Cc: "Emilio López" Cc: Adrian Hunter Cc: Alan Stern Cc: Alan Tull Cc: Alexandre Torgue Cc: Andrew Lunn Cc: Ben Skeggs Cc: Benjamin Gaignard Cc: Bin Liu Cc: Bjorn Andersson Cc: Bjorn Helgaas Cc: Boris Brezillon Cc: Brian Norris Cc: Chanwoo Choi Cc: Chen Feng Cc: Chen-Yu Tsai Cc: Corentin Labbe Cc: Cyrille Pitchen Cc: Dan Williams Cc: Daniel Lezcano Cc: David Airlie Cc: David Woodhouse Cc: Dmitry Torokhov Cc: Eduardo Valentin Cc: Felipe Balbi Cc: Florian Fainelli Cc: Giuseppe Cavallaro Cc: Greg Kroah-Hartman Cc: Guenter Roeck Cc: Hartmut Knaack Cc: Heiko Stuebner Cc: Herbert Xu Cc: Jaehoon Chung Cc: Jiri Slaby Cc: Joachim Eastwood Cc: John Youn Cc: Jon Hunter Cc: Jonathan Cameron Cc: Jonathan Corbet Cc: Jonathan Hunter Cc: Kalle Valo Cc: Kishon Vijay Abraham I Cc: Kyungmin Park Cc: Lars-Peter Clausen Cc: Laxman Dewangan Cc: Lee Jones Cc: Liam Girdwood Cc: Linus Walleij Cc: Lucas Stach Cc: Marc Dietrich Cc: Marek Vasut Cc: Mark Brown Cc: Mark Yao Cc: Mathias Nyman Cc: Matthias Brugger Cc: Maxime Coquelin Cc: Maxime Ripard Cc: Michael Turquette Cc: Moritz Fischer Cc: MyungJoo Ham Cc: Ohad Ben-Cohen Cc: Patrice Chotard Cc: Peter Chen Cc: Peter De Schrijver Cc: Peter Meerwald-Stadler Cc: Philippe Cornu Cc: Prashant Gaikwad Cc: Rakesh Iyer Cc: Ralf Baechle Cc: Richard Weinberger Cc: Richard Zhu Cc: Rongrong Zou Cc: Ryder Lee Cc: Salil Mehta Cc: Shawn Lin Cc: Srinivas Kandagatla Cc: Stanimir Varbanov Cc: Stephen Boyd Cc: Tejun Heo Cc: Thierry Reding Cc: Thomas Gleixner Cc: Ulf Hansson Cc: Vincent Abriou Cc: Vinod Koul Cc: Vivien Didelot Cc: Wim Van Sebroeck Cc: Wolfram Sang Cc: Xinliang Liu Cc: Xinwei Kong Cc: Yannick Fertre Cc: Yisen Zhuang Cc: Zhang Rui Cc: alsa-devel@alsa-project.org Cc: ath10k@lists.infradead.org Cc: devel@driverdev.osuosl.org Cc: dmaengine@vger.kernel.org Cc: dri-devel@lists.freedesktop.org Cc: linux-arm-kernel@lists.infradead.org Cc: linux-arm-msm@vger.kernel.org Cc: linux-clk@vger.kernel.org Cc: linux-crypto@vger.kernel.org Cc: linux-doc@vger.kernel.org Cc: linux-fpga@vger.kernel.org Cc: linux-gpio@vger.kernel.org Cc: linux-i2c@vger.kernel.org Cc: linux-ide@vger.kernel.org Cc: linux-iio@vger.kernel.org Cc: linux-input@vger.kernel.org Cc: linux-kernel@vger.kernel.org Cc: linux-media@vger.kernel.org Cc: linux-mediatek@lists.infradead.org Cc: linux-mips@linux-mips.org Cc: linux-mmc@vger.kernel.org Cc: linux-mtd@lists.infradead.org Cc: linux-pci@vger.kernel.org Cc: linux-pm@vger.kernel.org Cc: linux-pwm@vger.kernel.org Cc: linux-remoteproc@vger.kernel.org Cc: linux-rockchip@lists.infradead.org Cc: linux-serial@vger.kernel.org Cc: linux-spi@vger.kernel.org Cc: linux-tegra@vger.kernel.org Cc: linux-usb@vger.kernel.org Cc: linux-watchdog@vger.kernel.org Cc: linux-wireless@vger.kernel.org Cc: netdev@vger.kernel.org Cc: nouveau@lists.freedesktop.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from metis.ext.pengutronix.de ([2001:67c:670:201:290:27ff:fe1d:cc33]) by casper.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux)) id 1dXqyO-00041T-OD for ath10k@lists.infradead.org; Wed, 19 Jul 2017 15:33:15 +0000 From: Philipp Zabel Subject: [PATCH 000/102] Convert drivers to explicit reset API Date: Wed, 19 Jul 2017 17:25:04 +0200 Message-Id: <20170719152646.25903-1-p.zabel@pengutronix.de> MIME-Version: 1.0 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "ath10k" Errors-To: ath10k-bounces+kvalo=adurom.com@lists.infradead.org To: linux-kernel@vger.kernel.org Cc: Andrew Lunn , Prashant Gaikwad , Heiko Stuebner , Peter Chen , Linus Walleij , dri-devel@lists.freedesktop.org, Marc Dietrich , Rakesh Iyer , Peter Meerwald-Stadler , linux-clk@vger.kernel.org, Wim Van Sebroeck , Wolfram Sang , Xinliang Liu , Chanwoo Choi , Alan Stern , Jiri Slaby , Michael Turquette , Guenter Roeck , Ohad Ben-Cohen , linux-pm@vger.kernel.org, Thomas Gleixner , Vincent Abriou , Bin Liu , Greg Kroah-Hartman , linux-usb@vger.kernel.org, linux-wireless@vger.kernel.org, Ralf Baechle , linux-spi@vger.kernel.org, linux-crypto@vger.kernel.org, Tejun Heo , alsa-devel@alsa-project.org, linux-doc@vger.kernel.org, David Airlie , nouveau@lists.freedesktop.org, Philippe Cornu , Kalle Valo , Laxman Dewangan , Corentin Labbe , linux-i2c@vger.kernel.org, linux-watchdog@vger.kernel.org, Boris Brezillon , Lars-Peter Clausen , =?UTF-8?q?Emilio=20L=C3=B3pez?= , Daniel Lezcano , Jon Hunter , linux-rockchip@lists.infradead.org, MyungJoo Ham , Ben Skeggs , Yisen Zhuang , linux-media@vger.kernel.org, Richard Zhu , Alexandre Torgue , Mathias Nyman , linux-arm-msm@vger.kernel.org, Joachim Eastwood , linux-gpio@vger.kernel.org, linux-mips@linux-mips.org, Bjorn Helgaas , Giuseppe Cavallaro , linux-arm-kernel@lists.infradead.org, Patrice Chotard , Stanimir Varbanov , Kyungmin Park , Maxime Coquelin , Hartmut Knaack , Jonathan Cameron , Ulf Hansson , linux-iio@vger.kernel.org, linux-pci@vger.kernel.org, Shawn Lin , linux-tegra@vger.kernel.org, linux-mtd@lists.infradead.org, Benjamin Gaignard , Florian Fainelli , Jonathan Corbet , Xinwei Kong , ath10k@lists.infradead.org, Kishon Vijay Abraham I , Chen-Yu Tsai , linux-input@vger.kernel.org, linux-pwm@vger.kernel.org, Chen Feng , Mark Brown , Dan Williams , Felipe Balbi , Salil Mehta , Dmitry Torokhov , linux-mmc@vger.kernel.org, Liam Girdwood , Thierry Reding , Cyrille Pitchen , Srinivas Kandagatla , Maxime Ripard , Brian Norris , "David S. Miller" , linux-remoteproc@vger.kernel.org, Bjorn Andersson , linux-ide@vger.kernel.org, Lee Jones , devel@driverdev.osuosl.org, Yannick Fertre , Ryder Lee , Herbert Xu , Richard Weinberger , Jaehoon Chung , Marek Vasut , linux-serial@vger.kernel.org, Zhang Rui , Alan Tull , John Youn , Eduardo Valentin , dmaengine@vger.kernel.org, linux-mediatek@lists.infradead.org, Matthias Brugger , Mark Yao , Moritz Fischer , Vivien Didelot , netdev@vger.kernel.org, Peter De Schrijver , Stephen Boyd , Adrian Hunter , Vinod Koul , Philipp Zabel , Rongrong Zou , linux-fpga@vger.kernel.org, David Woodhouse , Lucas Stach VGhlIHJlc2V0IGNvbnRyb2wgQVBJIGhhcyB0d28gbW9kZXM6IGV4Y2x1c2l2ZSBhY2Nlc3MsIHdo ZXJlIHRoZSBkcml2ZXIKZXhwZWN0cyB0byBoYXZlIGZ1bGwgYW5kIGltbWVkaWF0ZSBjb250cm9s IG92ZXIgdGhlIHN0YXRlIG9mIHRoZSByZXNldApsaW5lLCBhbmQgc2hhcmVkIChjbG9jay1saWtl KSBhY2Nlc3MsIHdoZXJlIGRyaXZlcnMgb25seSByZXF1ZXN0IHJlc2V0CmRlYXNzZXJ0aW9uIHdo aWxlIGFjdGl2ZSwgYnV0IGRvbid0IGNhcmUgYWJvdXQgdGhlIHN0YXRlIG9mIHRoZSByZXNldCBs aW5lCndoaWxlIGluYWN0aXZlLgoKQ29tbWl0IGE1M2UzNWRiNzBkMSAoInJlc2V0OiBFbnN1cmUg ZHJpdmVycyBhcmUgZXhwbGljaXQgd2hlbiByZXF1ZXN0aW5nCnJlc2V0IGxpbmVzIikgc3RhcnRl ZCB0byB0cmFuc2l0aW9uIHRoZSByZXNldCBjb250cm9sIHJlcXVlc3QgQVBJIGNhbGxzCnRvIGV4 cGxpY2l0bHkgc3RhdGUgd2hldGhlciB0aGUgZHJpdmVyIG5lZWRzIGV4Y2x1c2l2ZSBvciBzaGFy ZWQgcmVzZXQKY29udHJvbCBiZWhhdmlvci4KClRoaXMgc2VyaWVzIGNvbnZlcnRzIGFsbCBkcml2 ZXJzIHRoYXQgY3VycmVudGx5IGltcGxpY2l0bHkgcmVxdWVzdApleGNsdXNpdmUgcmVzZXQgY29u dHJvbHMgdG8gdGhlIGNvcnJlc3BvbmRpbmcgZXhwbGljaXQgQVBJIGNhbGwuIEl0IGlzLApmb3Ig dGhlIG1vc3QgcGFydCwgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzZW1hbnRpYyBwYXRj aDoKCkBACmV4cHJlc3Npb24gcnN0YywgZGV2LCBpZDsKQEAKLXJzdGMgPSByZXNldF9jb250cm9s X2dldChkZXYsIGlkKTsKK3JzdGMgPSByZXNldF9jb250cm9sX2dldF9leGNsdXNpdmUoZGV2LCBp ZCk7CkBACmV4cHJlc3Npb24gcnN0YywgZGV2LCBpZDsKQEAKLXJzdGMgPSByZXNldF9jb250cm9s X2dldF9vcHRpb25hbChkZXYsIGlkKTsKK3JzdGMgPSByZXNldF9jb250cm9sX2dldF9vcHRpb25h bF9leGNsdXNpdmUoZGV2LCBpZCk7CkBACmV4cHJlc3Npb24gcnN0Yywgbm9kZSwgaWQ7CkBACi1y c3RjID0gb2ZfcmVzZXRfY29udHJvbF9nZXQobm9kZSwgaWQpOworcnN0YyA9IG9mX3Jlc2V0X2Nv bnRyb2xfZ2V0X2V4Y2x1c2l2ZShub2RlLCBpZCk7CkBACmV4cHJlc3Npb24gcnN0Yywgbm9kZSwg aW5kZXg7CkBACi1yc3RjID0gb2ZfcmVzZXRfY29udHJvbF9nZXRfYnlfaW5kZXgobm9kZSwgaW5k ZXgpOworcnN0YyA9IG9mX3Jlc2V0X2NvbnRyb2xfZ2V0X2V4Y2x1c2l2ZV9ieV9pbmRleChub2Rl LCBpbmRleCk7CkBACmV4cHJlc3Npb24gcnN0YywgZGV2LCBpZDsKQEAKLXJzdGMgPSBkZXZtX3Jl c2V0X2NvbnRyb2xfZ2V0KGRldiwgaWQpOworcnN0YyA9IGRldm1fcmVzZXRfY29udHJvbF9nZXRf ZXhjbHVzaXZlKGRldiwgaWQpOwpAQApleHByZXNzaW9uIHJzdGMsIGRldiwgaWQ7CkBACi1yc3Rj ID0gZGV2bV9yZXNldF9jb250cm9sX2dldF9vcHRpb25hbChkZXYsIGlkKTsKK3JzdGMgPSBkZXZt X3Jlc2V0X2NvbnRyb2xfZ2V0X29wdGlvbmFsX2V4Y2x1c2l2ZShkZXYsIGlkKTsKQEAKZXhwcmVz c2lvbiByc3RjLCBkZXYsIGluZGV4OwpAQAotcnN0YyA9IGRldm1fcmVzZXRfY29udHJvbF9nZXRf YnlfaW5kZXgoZGV2LCBpbmRleCk7Cityc3RjID0gZGV2bV9yZXNldF9jb250cm9sX2dldF9leGNs dXNpdmVfYnlfaW5kZXgoZGV2LCBpbmRleCk7CgpBZnRlciBhbGwgZHJpdmVyIHBhdGNoZXMgYXJl IGFwcGxpZWQsIHRoZSB0ZW1wb3JhcnkgdHJhbnNpdGlvbiBoZWxwZXJzCmNhbiBiZSByZW1vdmVk LgoKcmVnYXJkcwpQaGlsaXBwCgpQaGlsaXBwIFphYmVsICgxMDIpOgogIEFSTTogcm9ja2NoaXA6 IGV4cGxpY2l0bHkgcmVxdWVzdCBleGNsdXNpdmUgcmVzZXQgY29udHJvbAogIEFSTTogc29jZnBn YTogZXhwbGljaXRseSByZXF1ZXN0IGV4Y2x1c2l2ZSByZXNldCBjb250cm9sCiAgTUlQUzogcGNp LW10NzYyMDogZXhwbGljaXRseSByZXF1ZXN0IGV4Y2x1c2l2ZSByZXNldCBjb250cm9sCiAgYWhj aTogc3Q6IGV4cGxpY2l0bHkgcmVxdWVzdCBleGNsdXNpdmUgcmVzZXQgY29udHJvbAogIGF0YTog c2F0YV9nZW1pbmk6IGV4cGxpY2l0bHkgcmVxdWVzdCBleGNsdXNpdmUgcmVzZXQgY29udHJvbAog IGF0YTogYWhjaV90ZWdyYTogZXhwbGljaXRseSByZXF1ZXN0IGV4Y2x1c2l2ZSByZXNldCBjb250 cm9sCiAgYnVzOiBzdW54aS1yc2I6IGV4cGxpY2l0bHkgcmVxdWVzdCBleGNsdXNpdmUgcmVzZXQg Y29udHJvbAogIGJ1czogdGVncmEtZ21pOiBleHBsaWNpdGx5IHJlcXVlc3QgZXhjbHVzaXZlIHJl c2V0IGNvbnRyb2wKICBjbGs6IHN1bnhpOiBleHBsaWNpdGx5IHJlcXVlc3QgZXhjbHVzaXZlIHJl c2V0IGNvbnRyb2wKICBjbGs6IHRlZ3JhOiBleHBsaWNpdGx5IHJlcXVlc3QgZXhjbHVzaXZlIHJl c2V0IGNvbnRyb2wKICBjbG9ja3NvdXJjZS9kcml2ZXJzL3RpbWVyLXN0bTMyOiBleHBsaWNpdGx5 IHJlcXVlc3QgZXhjbHVzaXZlIHJlc2V0CiAgICBjb250cm9sCiAgY2xvY2tzb3VyY2UvZHJpdmVy cy9zdW41aTogZXhwbGljaXRseSByZXF1ZXN0IGV4Y2x1c2l2ZSByZXNldCBjb250cm9sCiAgY3J5 cHRvOiByb2NrY2hpcDogZXhwbGljaXRseSByZXF1ZXN0IGV4Y2x1c2l2ZSByZXNldCBjb250cm9s CiAgY3J5cHRvOiBzdW40aS1zcyAtIHJlcXVlc3QgZXhjbHVzaXZlIHJlc2V0IGNvbnRyb2wKICBQ TSAvIGRldmZyZXE6IHRlZ3JhOiBleHBsaWNpdGx5IHJlcXVlc3QgZXhjbHVzaXZlIHJlc2V0IGNv bnRyb2wKICBkbWFlbmdpbmU6IHN0bTMyLWRtYTogZXhwbGljaXRseSByZXF1ZXN0IGV4Y2x1c2l2 ZSByZXNldCBjb250cm9sCiAgZG1hZW5naW5lOiBzdW42aTogZXhwbGljaXRseSByZXF1ZXN0IGV4 Y2x1c2l2ZSByZXNldCBjb250cm9sCiAgZG1hZW5naW5lOiB0ZWdyYS1hcGI6IGV4cGxpY2l0bHkg cmVxdWVzdCBleGNsdXNpdmUgcmVzZXQgY29udHJvbAogIGRybToga2lyaW46IGV4cGxpY2l0bHkg cmVxdWVzdCBleGNsdXNpdmUgcmVzZXQgY29udHJvbAogIGRybS9ub3V2ZWF1L3RlZ3JhOiBleHBs aWNpdGx5IHJlcXVlc3QgZXhjbHVzaXZlIHJlc2V0IGNvbnRyb2wKICBkcm0vcm9ja2NoaXA6IGV4 cGxpY2l0bHkgcmVxdWVzdCBleGNsdXNpdmUgcmVzZXQgY29udHJvbAogIGRybS9zdGk6IGV4cGxp Y2l0bHkgcmVxdWVzdCBleGNsdXNpdmUgcmVzZXQgY29udHJvbAogIGRybS9zdG06IGV4cGxpY2l0 bHkgcmVxdWVzdCBleGNsdXNpdmUgcmVzZXQgY29udHJvbAogIGRybS9zdW40aTogZXhwbGljaXRs eSByZXF1ZXN0IGV4Y2x1c2l2ZSByZXNldCBjb250cm9sCiAgZHJtL3RlZ3JhOiBleHBsaWNpdGx5 IHJlcXVlc3QgZXhjbHVzaXZlIHJlc2V0IGNvbnRyb2wKICBncHU6IGhvc3QxeDogZXhwbGljaXRs eSByZXF1ZXN0IGV4Y2x1c2l2ZSByZXNldCBjb250cm9sCiAgaTJjOiBtdjY0eHh4OiBleHBsaWNp dGx5IHJlcXVlc3QgZXhjbHVzaXZlIHJlc2V0IGNvbnRyb2wKICBpMmM6IHN0bTMyZjQ6IGV4cGxp Y2l0bHkgcmVxdWVzdCBleGNsdXNpdmUgcmVzZXQgY29udHJvbAogIGkyYzogc3VuNmktcHcyaTog ZXhwbGljaXRseSByZXF1ZXN0IGV4Y2x1c2l2ZSByZXNldCBjb250cm9sCiAgaTJjOiB0ZWdyYTog ZXhwbGljaXRseSByZXF1ZXN0IGV4Y2x1c2l2ZSByZXNldCBjb250cm9sCiAgaWlvOiBhZGM6IHJv Y2tjaGlwX3NhcmFkYzogZXhwbGljaXRseSByZXF1ZXN0IGV4Y2x1c2l2ZSByZXNldCBjb250cm9s CiAgaWlvOiBkYWM6IHN0bTMyLWRhYy1jb3JlOiBleHBsaWNpdGx5IHJlcXVlc3QgZXhjbHVzaXZl IHJlc2V0IGNvbnRyb2wKICBJbnB1dDogdGVncmEta2JjIC0gcmVxdWVzdCBleGNsdXNpdmUgcmVz ZXQgY29udHJvbAogIGNvZGE6IGV4cGxpY2l0bHkgcmVxdWVzdCBleGNsdXNpdmUgcmVzZXQgY29u dHJvbAogIHN0LXJjOiBleHBsaWNpdGx5IHJlcXVlc3QgZXhjbHVzaXZlIHJlc2V0IGNvbnRyb2wK ICBzdG0zMi1kY21pOiBleHBsaWNpdGx5IHJlcXVlc3QgZXhjbHVzaXZlIHJlc2V0IGNvbnRyb2wK ICByYzogc3VueGktY2lyOiBleHBsaWNpdGx5IHJlcXVlc3QgZXhjbHVzaXZlIHJlc2V0IGNvbnRy b2wKICBtbWM6IGR3X21tYzogZXhwbGljaXRseSByZXF1ZXN0IGV4Y2x1c2l2ZSByZXNldCBjb250 cm9sCiAgbW1jOiBzZGhjaS1zdDogZXhwbGljaXRseSByZXF1ZXN0IGV4Y2x1c2l2ZSByZXNldCBj b250cm9sCiAgbW1jOiBzdW54aTogZXhwbGljaXRseSByZXF1ZXN0IGV4Y2x1c2l2ZSByZXNldCBj b250cm9sCiAgbW1jOiB0ZWdyYTogZXhwbGljaXRseSByZXF1ZXN0IGV4Y2x1c2l2ZSByZXNldCBj b250cm9sCiAgbXRkOiBuYW5kOiBzdW54aTogZXhwbGljaXRseSByZXF1ZXN0IGV4Y2x1c2l2ZSBy ZXNldCBjb250cm9sCiAgbXRkOiBzcGktbm9yOiBzdG0zMi1xdWFkc3BpOiBleHBsaWNpdGx5IHJl cXVlc3QgZXhjbHVzaXZlIHJlc2V0CiAgICBjb250cm9sCiAgbmV0OiBkc2E6IG10NzUzMDogZXhw bGljaXRseSByZXF1ZXN0IGV4Y2x1c2l2ZSByZXNldCBjb250cm9sCiAgbmV0OiBldGhlcm5ldDog aGlzaV9mZW1hYzogZXhwbGljaXRseSByZXF1ZXN0IGV4Y2x1c2l2ZSByZXNldCBjb250cm9sCiAg bmV0OiBldGhlcm5ldDogaGl4NWhkMl9nbWFjOiBleHBsaWNpdGx5IHJlcXVlc3QgZXhjbHVzaXZl IHJlc2V0CiAgICBjb250cm9sCiAgbmV0OiBzdG1tYWM6IGV4cGxpY2l0bHkgcmVxdWVzdCBleGNs dXNpdmUgcmVzZXQgY29udHJvbAogIG5ldDogc3RtbWFjOiBkd2MtcW9zOiBleHBsaWNpdGx5IHJl cXVlc3QgZXhjbHVzaXZlIHJlc2V0IGNvbnRyb2wKICBhdGgxMGs6IGV4cGxpY2l0bHkgcmVxdWVz dCBleGNsdXNpdmUgcmVzZXQgY29udHJvbAogIG52bWVtOiBscGMxOHh4LWVlcHJvbTogZXhwbGlj aXRseSByZXF1ZXN0IGV4Y2x1c2l2ZSByZXNldCBjb250cm9sCiAgUENJOiBkd2M6IHBjaWUtcWNv bTogZXhwbGljaXRseSByZXF1ZXN0IGV4Y2x1c2l2ZSByZXNldCBjb250cm9sCiAgUENJOiBpbXg2 OiBleHBsaWNpdGx5IHJlcXVlc3QgZXhjbHVzaXZlIHJlc2V0IGNvbnRyb2wKICBQQ0k6IHRlZ3Jh OiBleHBsaWNpdGx5IHJlcXVlc3QgZXhjbHVzaXZlIHJlc2V0IGNvbnRyb2wKICBQQ0k6IHJvY2tj aGlwOiBleHBsaWNpdGx5IHJlcXVlc3QgZXhjbHVzaXZlIHJlc2V0IGNvbnRyb2wKICBwaHk6IGJl cmxpbi11c2I6IGV4cGxpY2l0bHkgcmVxdWVzdCBleGNsdXNpdmUgcmVzZXQgY29udHJvbAogIFBD STogbWVkaWF0ZWs6IGV4cGxpY2l0bHkgcmVxdWVzdCBleGNsdXNpdmUgcmVzZXQgY29udHJvbAog IHBoeTogcWNvbS11c2ItaHM6IGV4cGxpY2l0bHkgcmVxdWVzdCBleGNsdXNpdmUgcmVzZXQgY29u dHJvbAogIHBoeTogcm9ja2NoaXAtcGNpZTogZXhwbGljaXRseSByZXF1ZXN0IGV4Y2x1c2l2ZSBy ZXNldCBjb250cm9sCiAgcGh5OiByb2NrY2hpcC10eXBlYzogZXhwbGljaXRseSByZXF1ZXN0IGV4 Y2x1c2l2ZSByZXNldCBjb250cm9sCiAgcGh5OiByb2NrY2hpcC11c2I6IGV4cGxpY2l0bHkgcmVx dWVzdCBleGNsdXNpdmUgcmVzZXQgY29udHJvbAogIHBoeTogc3VuNGktdXNiOiBleHBsaWNpdGx5 IHJlcXVlc3QgZXhjbHVzaXZlIHJlc2V0IGNvbnRyb2wKICBwaHk6IHN1bjlpLXVzYjogZXhwbGlj aXRseSByZXF1ZXN0IGV4Y2x1c2l2ZSByZXNldCBjb250cm9sCiAgcGh5OiB0ZWdyYTogZXhwbGlj aXRseSByZXF1ZXN0IGV4Y2x1c2l2ZSByZXNldCBjb250cm9sCiAgcGh5OiBxY29tLXFtcDogZXhw bGljaXRseSByZXF1ZXN0IGV4Y2x1c2l2ZSByZXNldCBjb250cm9sCiAgcGh5OiBxY29tLXF1c2Iy OiBleHBsaWNpdGx5IHJlcXVlc3QgZXhjbHVzaXZlIHJlc2V0IGNvbnRyb2wKICBwaW5jdHJsOiBz dG0zMjogZXhwbGljaXRseSByZXF1ZXN0IGV4Y2x1c2l2ZSByZXNldCBjb250cm9sCiAgcGluY3Ry bDogc3VueGk6IGV4cGxpY2l0bHkgcmVxdWVzdCBleGNsdXNpdmUgcmVzZXQgY29udHJvbAogIHBp bmN0cmw6IHRlZ3JhOiBleHBsaWNpdGx5IHJlcXVlc3QgZXhjbHVzaXZlIHJlc2V0IGNvbnRyb2wK ICBwd206IGhpYnZ0OiBleHBsaWNpdGx5IHJlcXVlc3QgZXhjbHVzaXZlIHJlc2V0IGNvbnRyb2wK ICBwd206IHRlZ3JhOiBleHBsaWNpdGx5IHJlcXVlc3QgZXhjbHVzaXZlIHJlc2V0IGNvbnRyb2wK ICByZW1vdGVwcm9jL2tleXN0b25lOiBleHBsaWNpdGx5IHJlcXVlc3QgZXhjbHVzaXZlIHJlc2V0 IGNvbnRyb2wKICByZW1vdGVwcm9jOiBxY29tOiBleHBsaWNpdGx5IHJlcXVlc3QgZXhjbHVzaXZl IHJlc2V0IGNvbnRyb2wKICByZW1vdGVwcm9jOiBzdDogZXhwbGljaXRseSByZXF1ZXN0IGV4Y2x1 c2l2ZSByZXNldCBjb250cm9sCiAgc29jOiBtZWRpYXRlazogUE1JQyB3cmFwOiBleHBsaWNpdGx5 IHJlcXVlc3QgZXhjbHVzaXZlIHJlc2V0IGNvbnRyb2wKICBzb2MvdGVncmE6IHBtYzogZXhwbGlj aXRseSByZXF1ZXN0IGV4Y2x1c2l2ZSByZXNldCBjb250cm9sCiAgc3BpOiBzdG0zMjogZXhwbGlj aXRseSByZXF1ZXN0IGV4Y2x1c2l2ZSByZXNldCBjb250cm9sCiAgc3BpOiBzdW42aTogZXhwbGlj aXRseSByZXF1ZXN0IGV4Y2x1c2l2ZSByZXNldCBjb250cm9sCiAgc3BpOiB0ZWdyYTIwLXNsaW5r OiBleHBsaWNpdGx5IHJlcXVlc3QgZXhjbHVzaXZlIHJlc2V0IGNvbnRyb2wKICBzcGk6IHRlZ3Jh MTE0OiBleHBsaWNpdGx5IHJlcXVlc3QgZXhjbHVzaXZlIHJlc2V0IGNvbnRyb2wKICBzcGk6IHRl Z3JhMjAtc2ZsYXNoOiBleHBsaWNpdGx5IHJlcXVlc3QgZXhjbHVzaXZlIHJlc2V0IGNvbnRyb2wK ICBzdGFnaW5nOiBudmVjOiBleHBsaWNpdGx5IHJlcXVlc3QgZXhjbHVzaXZlIHJlc2V0IGNvbnRy b2wKICB0aGVybWFsOiByb2NrY2hpcDogZXhwbGljaXRseSByZXF1ZXN0IGV4Y2x1c2l2ZSByZXNl dCBjb250cm9sCiAgdGhlcm1hbDogdGVncmE6IGV4cGxpY2l0bHkgcmVxdWVzdCBleGNsdXNpdmUg cmVzZXQgY29udHJvbAogIHNlcmlhbDogODI1MF9kdzogZXhwbGljaXRseSByZXF1ZXN0IGV4Y2x1 c2l2ZSByZXNldCBjb250cm9sCiAgc2VyaWFsOiB0ZWdyYTogZXhwbGljaXRseSByZXF1ZXN0IGV4 Y2x1c2l2ZSByZXNldCBjb250cm9sCiAgdXNiOiBjaGlwaWRlYTogbXNtOiBleHBsaWNpdGx5IHJl cXVlc3QgZXhjbHVzaXZlIHJlc2V0IGNvbnRyb2wKICB1c2I6IGR3YzI6IGV4cGxpY2l0bHkgcmVx dWVzdCBleGNsdXNpdmUgcmVzZXQgY29udHJvbAogIHVzYjogaG9zdDogZWhjaS10ZWdyYTogZXhw bGljaXRseSByZXF1ZXN0IGV4Y2x1c2l2ZSByZXNldCBjb250cm9sCiAgdXNiOiBob3N0OiB4aGNp LXRlZ3JhOiBleHBsaWNpdGx5IHJlcXVlc3QgZXhjbHVzaXZlIHJlc2V0IGNvbnRyb2wKICB1c2I6 IG11c2I6IHN1bnhpOiBleHBsaWNpdGx5IHJlcXVlc3QgZXhjbHVzaXZlIHJlc2V0IGNvbnRyb2wK ICB1c2I6IHBoeTogbXNtOiBleHBsaWNpdGx5IHJlcXVlc3QgZXhjbHVzaXZlIHJlc2V0IGNvbnRy b2wKICB1c2I6IHBoeTogcWNvbS04eDE2LXVzYjogZXhwbGljaXRseSByZXF1ZXN0IGV4Y2x1c2l2 ZSByZXNldCBjb250cm9sCiAgd2F0Y2hkb2c6IGFzbTkyNjA6IGV4cGxpY2l0bHkgcmVxdWVzdCBl eGNsdXNpdmUgcmVzZXQgY29udHJvbAogIHdhdGNoZG9nOiBtdDc2MjE6IGV4cGxpY2l0bHkgcmVx dWVzdCBleGNsdXNpdmUgcmVzZXQgY29udHJvbAogIHdhdGNoZG9nOiBydDI4ODA6IGV4cGxpY2l0 bHkgcmVxdWVzdCBleGNsdXNpdmUgcmVzZXQgY29udHJvbAogIHdhdGNoZG9nOiB6eDI5Njc6IGV4 cGxpY2l0bHkgcmVxdWVzdCBleGNsdXNpdmUgcmVzZXQgY29udHJvbAogIEFTb0M6IGltZzogZXhw bGljaXRseSByZXF1ZXN0IGV4Y2x1c2l2ZSByZXNldCBjb250cm9sCiAgQVNvQzogc3RtMzI6IGV4 cGxpY2l0bHkgcmVxdWVzdCBleGNsdXNpdmUgcmVzZXQgY29udHJvbAogIEFTb0M6IHN1bjRpOiBl eHBsaWNpdGx5IHJlcXVlc3QgZXhjbHVzaXZlIHJlc2V0IGNvbnRyb2wKICBBU29DOiB0ZWdyYTog ZXhwbGljaXRseSByZXF1ZXN0IGV4Y2x1c2l2ZSByZXNldCBjb250cm9sCiAgRG9jdW1lbnRhdGlv bjogZGV2cmVzOiBhZGQgZXhwbGljaXQgZXhjbHVzaXZlL3NoYXJlZCByZXNldCBjb250cm9sCiAg ICByZXF1ZXN0IGNhbGxzCiAgcmVzZXQ6IGZpbmlzaCB0cmFuc2l0aW9uIHRvIGV4cGxpY2l0IGV4 Y2x1c2l2ZSByZXNldCBjb250cm9sIHJlcXVlc3RzCgogRG9jdW1lbnRhdGlvbi9kcml2ZXItbW9k ZWwvZGV2cmVzLnR4dCAgICAgICAgICAgICAgfCAgNyArKy0KIGFyY2gvYXJtL21hY2gtcm9ja2No aXAvcGxhdHNtcC5jICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGFyY2gvbWlwcy9wY2kvcGNp LW10NzYyMC5jICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvYXRhL2Fo Y2lfc3QuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDYgKy0tCiBkcml2ZXJzL2F0 YS9haGNpX3RlZ3JhLmMgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA4ICsrLS0KIGRyaXZl cnMvYXRhL3NhdGFfZ2VtaW5pLmMgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKy0KIGRy aXZlcnMvYnVzL3N1bnhpLXJzYi5jICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0K IGRyaXZlcnMvYnVzL3RlZ3JhLWdtaS5jICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIg Ky0KIGRyaXZlcnMvY2xrL3N1bnhpL2Nsay1zdW45aS1tbWMuYyAgICAgICAgICAgICAgICAgIHwg IDIgKy0KIGRyaXZlcnMvY2xrL3RlZ3JhL2Nsay1kZmxsLmMgICAgICAgICAgICAgICAgICAgICAg IHwgIDIgKy0KIGRyaXZlcnMvY2xvY2tzb3VyY2UvdGltZXItc3RtMzIuYyAgICAgICAgICAgICAg ICAgIHwgIDIgKy0KIGRyaXZlcnMvY2xvY2tzb3VyY2UvdGltZXItc3VuNWkuYyAgICAgICAgICAg ICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvY3J5cHRvL3JvY2tjaGlwL3JrMzI4OF9jcnlwdG8uYyAg ICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvY3J5cHRvL3N1bnhpLXNzL3N1bjRpLXNzLWNvcmUu YyAgICAgICAgICAgIHwgIDMgKy0KIGRyaXZlcnMvZGV2ZnJlcS90ZWdyYS1kZXZmcmVxLmMgICAg ICAgICAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZG1hL3N0bTMyLWRtYS5jICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZG1hL3N1bjZpLWRtYS5jICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZG1hL3RlZ3JhMjAtYXBiLWRt YS5jICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZnBnYS9hbHRlcmEtaHBz MmZwZ2EuYyAgICAgICAgICAgICAgICAgICAgIHwgIDMgKy0KIGRyaXZlcnMvZ3B1L2RybS9oaXNp bGljb24va2lyaW4va2lyaW5fZHJtX2FkZS5jICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9u b3V2ZWF1L252a20vZW5naW5lL2RldmljZS90ZWdyYS5jIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2Ry bS9yb2NrY2hpcC9hbmFsb2dpeF9kcC1yb2NrY2hpcC5jICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1 L2RybS9yb2NrY2hpcC9jZG4tZHAtY29yZS5jICAgICAgICAgICAgIHwgIDggKystLQogZHJpdmVy cy9ncHUvZHJtL3JvY2tjaGlwL2R3LW1pcGktZHNpLmMgICAgICAgICAgICAgfCAgMiArLQogZHJp dmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2RybV92b3AuYyAgICAgICAgfCAgNCArLQog ZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfaGRtaS5jICAgICAgICAgICAgICAgICAgICAgfCAgMiAr LQogZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfaHF2ZHAuYyAgICAgICAgICAgICAgICAgICAgfCAg MiArLQogZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfdHZvdXQuYyAgICAgICAgICAgICAgICAgICAg fCAgMiArLQogZHJpdmVycy9ncHUvZHJtL3N0bS9sdGRjLmMgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjRpX2JhY2tlbmQuYyAgICAgICAg ICAgICAgfCAgNCArLQogZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjRpX3Rjb24uYyAgICAgICAg ICAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjRpX3R2LmMgICAgICAg ICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjZpX2RyYy5jICAg ICAgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjhpX21peGVy LmMgICAgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2RjLmMgICAg ICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2RwYXV4 LmMgICAgICAgICAgICAgICAgICAgICAgfCAgMyArLQogZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2Rz aS5jICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL3RlZ3Jh L2dyM2QuYyAgICAgICAgICAgICAgICAgICAgICAgfCAgNiArLS0KIGRyaXZlcnMvZ3B1L2RybS90 ZWdyYS9oZG1pLmMgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2Ry bS90ZWdyYS9zb3IuYyAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1 L2hvc3QxeC9kZXYuYyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMv aTJjL2J1c3Nlcy9pMmMtbXY2NHh4eC5jICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZl cnMvaTJjL2J1c3Nlcy9pMmMtc3RtMzJmNC5jICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGRy aXZlcnMvaTJjL2J1c3Nlcy9pMmMtc3VuNmktcDJ3aS5jICAgICAgICAgICAgICAgIHwgIDIgKy0K IGRyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtdGVncmEuYyAgICAgICAgICAgICAgICAgICAgIHwgIDIg Ky0KIGRyaXZlcnMvaWlvL2FkYy9yb2NrY2hpcF9zYXJhZGMuYyAgICAgICAgICAgICAgICAgIHwg IDMgKy0KIGRyaXZlcnMvaWlvL2RhYy9zdG0zMi1kYWMtY29yZS5jICAgICAgICAgICAgICAgICAg IHwgIDIgKy0KIGRyaXZlcnMvaW5wdXQva2V5Ym9hcmQvdGVncmEta2JjLmMgICAgICAgICAgICAg ICAgIHwgIDIgKy0KIGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vY29kYS9jb2RhLWNvbW1vbi5jICAg ICAgICAgIHwgIDMgKy0KIGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vc3RtMzIvc3RtMzItZGNtaS5j ICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvbWVkaWEvcmMvc3RfcmMuYyAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvbWVkaWEvcmMvc3VueGktY2lyLmMgICAgICAg ICAgICAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvbW1jL2hvc3QvZHdfbW1jLmMgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvbW1jL2hvc3Qvc2RoY2ktc3QuYyAg ICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvbW1jL2hvc3Qvc2RoY2ktdGVn cmEuYyAgICAgICAgICAgICAgICAgICAgIHwgIDMgKy0KIGRyaXZlcnMvbW1jL2hvc3Qvc3VueGkt bW1jLmMgICAgICAgICAgICAgICAgICAgICAgIHwgIDMgKy0KIGRyaXZlcnMvbXRkL25hbmQvc3Vu eGlfbmFuZC5jICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvbXRkL3NwaS1u b3Ivc3RtMzItcXVhZHNwaS5jICAgICAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvbmV0L2Rz YS9tdDc1MzAuYyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDMgKy0KIGRyaXZlcnMvbmV0 L2V0aGVybmV0L2hpc2lsaWNvbi9oaXNpX2ZlbWFjLmMgICAgICAgIHwgIDQgKy0KIGRyaXZlcnMv bmV0L2V0aGVybmV0L2hpc2lsaWNvbi9oaXg1aGQyX2dtYWMuYyAgICAgIHwgIDYgKy0tCiAuLi4v ZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtZHdjLXFvcy1ldGguYyAgICB8ICAyICstCiBk cml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zdW44aS5jICB8ICAzICst CiAuLi4vbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19wbGF0Zm9ybS5jICB8ICA0 ICstCiBkcml2ZXJzL25ldC93aXJlbGVzcy9hdGgvYXRoMTBrL2FoYi5jICAgICAgICAgICAgICB8 IDE1ICsrKystLS0KIGRyaXZlcnMvbnZtZW0vbHBjMTh4eF9lZXByb20uYyAgICAgICAgICAgICAg ICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvcGNpL2R3Yy9wY2ktaW14Ni5jICAgICAgICAgICAgICAg ICAgICAgICAgIHwgIDcgKy0tCiBkcml2ZXJzL3BjaS9kd2MvcGNpZS1xY29tLmMgICAgICAgICAg ICAgICAgICAgICAgICB8IDQwICsrKysrKysrKy0tLS0tLS0tCiBkcml2ZXJzL3BjaS9ob3N0L3Bj aS10ZWdyYS5jICAgICAgICAgICAgICAgICAgICAgICB8ICA2ICstLQogZHJpdmVycy9wY2kvaG9z dC9wY2llLW1lZGlhdGVrLmMgICAgICAgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9wY2kv aG9zdC9wY2llLXJvY2tjaGlwLmMgICAgICAgICAgICAgICAgICAgfCAxNSArKysrLS0tCiBkcml2 ZXJzL3BoeS9hbGx3aW5uZXIvcGh5LXN1bjRpLXVzYi5jICAgICAgICAgICAgICB8ICAyICstCiBk cml2ZXJzL3BoeS9hbGx3aW5uZXIvcGh5LXN1bjlpLXVzYi5jICAgICAgICAgICAgICB8ICA0ICst CiBkcml2ZXJzL3BoeS9tYXJ2ZWxsL3BoeS1iZXJsaW4tdXNiLmMgICAgICAgICAgICAgICB8ICAy ICstCiBkcml2ZXJzL3BoeS9xdWFsY29tbS9waHktcWNvbS1xbXAuYyAgICAgICAgICAgICAgICB8 ICA0ICstCiBkcml2ZXJzL3BoeS9xdWFsY29tbS9waHktcWNvbS1xdXNiMi5jICAgICAgICAgICAg ICB8ICAzICstCiBkcml2ZXJzL3BoeS9xdWFsY29tbS9waHktcWNvbS11c2ItaHMuYyAgICAgICAg ICAgICB8ICAzICstCiBkcml2ZXJzL3BoeS9yb2NrY2hpcC9waHktcm9ja2NoaXAtcGNpZS5jICAg ICAgICAgICB8ICAyICstCiBkcml2ZXJzL3BoeS9yb2NrY2hpcC9waHktcm9ja2NoaXAtdHlwZWMu YyAgICAgICAgICB8ICA2ICstLQogZHJpdmVycy9waHkvcm9ja2NoaXAvcGh5LXJvY2tjaGlwLXVz Yi5jICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9waHkvdGVncmEveHVzYi10ZWdyYTIxMC5j ICAgICAgICAgICAgICAgICAgfCAgNCArLQogZHJpdmVycy9waHkvdGVncmEveHVzYi5jICAgICAg ICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9waW5jdHJsL3N0bTMyL3BpbmN0 cmwtc3RtMzIuYyAgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9waW5jdHJsL3N1bnhpL3Bp bmN0cmwtc3VuNmktYTMxLXIuYyAgICAgICAgfCAgMiArLQogZHJpdmVycy9waW5jdHJsL3N1bnhp L3BpbmN0cmwtc3VuOGktYTIzLXIuYyAgICAgICAgfCAgMiArLQogZHJpdmVycy9waW5jdHJsL3Rl Z3JhL3BpbmN0cmwtdGVncmEteHVzYi5jICAgICAgICAgfCAgMiArLQogZHJpdmVycy9wd20vcHdt LWhpYnZ0LmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9wd20v cHdtLXRlZ3JhLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9y ZW1vdGVwcm9jL2tleXN0b25lX3JlbW90ZXByb2MuYyAgICAgICAgICAgfCAgMiArLQogZHJpdmVy cy9yZW1vdGVwcm9jL3Fjb21fcTZ2NV9waWwuYyAgICAgICAgICAgICAgICAgfCAgMyArLQogZHJp dmVycy9yZW1vdGVwcm9jL3N0X3JlbW90ZXByb2MuYyAgICAgICAgICAgICAgICAgfCAgNiArKy0K IGRyaXZlcnMvcmVzZXQvY29yZS5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIg Ky0KIGRyaXZlcnMvc29jL21lZGlhdGVrL210ay1wbWljLXdyYXAuYyAgICAgICAgICAgICAgIHwg IDUgKystCiBkcml2ZXJzL3NvYy90ZWdyYS9wbWMuYyAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8ICAyICstCiBkcml2ZXJzL3NwaS9zcGktc3RtMzIuYyAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8ICAyICstCiBkcml2ZXJzL3NwaS9zcGktc3VuNmkuYyAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8ICAyICstCiBkcml2ZXJzL3NwaS9zcGktdGVncmExMTQuYyAgICAgICAgICAgICAg ICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL3NwaS9zcGktdGVncmEyMC1zZmxhc2guYyAgICAg ICAgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL3NwaS9zcGktdGVncmEyMC1zbGluay5jICAg ICAgICAgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL3N0YWdpbmcvbnZlYy9udmVjLmMgICAg ICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL3RoZXJtYWwvcm9ja2NoaXBfdGhl cm1hbC5jICAgICAgICAgICAgICAgICB8ICAzICstCiBkcml2ZXJzL3RoZXJtYWwvdGVncmEvc29j dGhlcm0uYyAgICAgICAgICAgICAgICAgICB8ICAzICstCiBkcml2ZXJzL3R0eS9zZXJpYWwvODI1 MC84MjUwX2R3LmMgICAgICAgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL3R0eS9zZXJpYWwv c2VyaWFsLXRlZ3JhLmMgICAgICAgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL3VzYi9jaGlw aWRlYS9jaV9oZHJjX21zbS5jICAgICAgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL3VzYi9k d2MyL3BsYXRmb3JtLmMgICAgICAgICAgICAgICAgICAgICAgICB8ICAzICstCiBkcml2ZXJzL3Vz Yi9ob3N0L2VoY2ktdGVncmEuYyAgICAgICAgICAgICAgICAgICAgICB8ICA1ICsrLQogZHJpdmVy cy91c2IvaG9zdC94aGNpLXRlZ3JhLmMgICAgICAgICAgICAgICAgICAgICAgfCAgNiArKy0KIGRy aXZlcnMvdXNiL211c2Ivc3VueGkuYyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0K IGRyaXZlcnMvdXNiL3BoeS9waHktbXNtLXVzYi5jICAgICAgICAgICAgICAgICAgICAgIHwgIDQg Ky0KIGRyaXZlcnMvdXNiL3BoeS9waHktcWNvbS04eDE2LXVzYi5jICAgICAgICAgICAgICAgIHwg IDIgKy0KIGRyaXZlcnMvd2F0Y2hkb2cvYXNtOTI2MF93ZHQuYyAgICAgICAgICAgICAgICAgICAg IHwgIDIgKy0KIGRyaXZlcnMvd2F0Y2hkb2cvbXQ3NjIxX3dkdC5jICAgICAgICAgICAgICAgICAg ICAgIHwgIDIgKy0KIGRyaXZlcnMvd2F0Y2hkb2cvcnQyODgwX3dkdC5jICAgICAgICAgICAgICAg ICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvd2F0Y2hkb2cvengyOTY3X3dkdC5jICAgICAgICAgICAg ICAgICAgICAgIHwgIDIgKy0KIGluY2x1ZGUvbGludXgvcmVzZXQuaCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgNTAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogc291bmQvc29jL2ltZy9p bWctaTJzLWluLmMgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogc291bmQvc29jL2lt Zy9pbWctaTJzLW91dC5jICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogc291bmQvc29j L2ltZy9pbWctcGFyYWxsZWwtb3V0LmMgICAgICAgICAgICAgICAgICAgfCAgMiArLQogc291bmQv c29jL2ltZy9pbWctc3BkaWYtaW4uYyAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogc291 bmQvc29jL2ltZy9pbWctc3BkaWYtb3V0LmMgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQog c291bmQvc29jL3N0bS9zdG0zMl9pMnMuYyAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiAr LQogc291bmQvc29jL3N0bS9zdG0zMl9zYWkuYyAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg MiArLQogc291bmQvc29jL3N0bS9zdG0zMl9zcGRpZnJ4LmMgICAgICAgICAgICAgICAgICAgICAg fCAgMiArLQogc291bmQvc29jL3N1bnhpL3N1bjRpLWNvZGVjLmMgICAgICAgICAgICAgICAgICAg ICAgfCAgMyArLQogc291bmQvc29jL3N1bnhpL3N1bjRpLWkycy5jICAgICAgICAgICAgICAgICAg ICAgICAgfCAgMiArLQogc291bmQvc29jL3N1bnhpL3N1bjRpLXNwZGlmLmMgICAgICAgICAgICAg ICAgICAgICAgfCAgMyArLQogc291bmQvc29jL3RlZ3JhL3RlZ3JhMzBfYWh1Yi5jICAgICAgICAg ICAgICAgICAgICAgfCAgNCArLQogMTI4IGZpbGVzIGNoYW5nZWQsIDIyNiBpbnNlcnRpb25zKCsp LCAyMzUgZGVsZXRpb25zKC0pCgotLSAKMi4xMS4wCgpDYzogIkRhdmlkIFMuIE1pbGxlciIgPGRh dmVtQGRhdmVtbG9mdC5uZXQ+CkNjOiAiRW1pbGlvIEzDs3BleiIgPGVtaWxpb0BlbG9wZXouY29t LmFyPgpDYzogQWRyaWFuIEh1bnRlciA8YWRyaWFuLmh1bnRlckBpbnRlbC5jb20+CkNjOiBBbGFu IFN0ZXJuIDxzdGVybkByb3dsYW5kLmhhcnZhcmQuZWR1PgpDYzogQWxhbiBUdWxsIDxhdHVsbEBr ZXJuZWwub3JnPgpDYzogQWxleGFuZHJlIFRvcmd1ZSA8YWxleGFuZHJlLnRvcmd1ZUBzdC5jb20+ CkNjOiBBbmRyZXcgTHVubiA8YW5kcmV3QGx1bm4uY2g+CkNjOiBCZW4gU2tlZ2dzIDxic2tlZ2dz QHJlZGhhdC5jb20+CkNjOiBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAbGlu YXJvLm9yZz4KQ2M6IEJpbiBMaXUgPGItbGl1QHRpLmNvbT4KQ2M6IEJqb3JuIEFuZGVyc3NvbiA8 Ympvcm4uYW5kZXJzc29uQGxpbmFyby5vcmc+CkNjOiBCam9ybiBIZWxnYWFzIDxiaGVsZ2Fhc0Bn b29nbGUuY29tPgpDYzogQm9yaXMgQnJlemlsbG9uIDxib3Jpcy5icmV6aWxsb25AZnJlZS1lbGVj dHJvbnMuY29tPgpDYzogQnJpYW4gTm9ycmlzIDxjb21wdXRlcnNmb3JwZWFjZUBnbWFpbC5jb20+ CkNjOiBDaGFud29vIENob2kgPGN3MDAuY2hvaUBzYW1zdW5nLmNvbT4KQ2M6IENoZW4gRmVuZyA8 cHVjay5jaGVuQGhpc2lsaWNvbi5jb20+CkNjOiBDaGVuLVl1IFRzYWkgPHdlbnNAY3NpZS5vcmc+ CkNjOiBDb3JlbnRpbiBMYWJiZSA8Y2xhYmJlLm1vbnRqb2llQGdtYWlsLmNvbT4KQ2M6IEN5cmls bGUgUGl0Y2hlbiA8Y3lyaWxsZS5waXRjaGVuQHdlZGV2NHUuZnI+CkNjOiBEYW4gV2lsbGlhbXMg PGRhbi5qLndpbGxpYW1zQGludGVsLmNvbT4KQ2M6IERhbmllbCBMZXpjYW5vIDxkYW5pZWwubGV6 Y2Fub0BsaW5hcm8ub3JnPgpDYzogRGF2aWQgQWlybGllIDxhaXJsaWVkQGxpbnV4LmllPgpDYzog RGF2aWQgV29vZGhvdXNlIDxkd213MkBpbmZyYWRlYWQub3JnPgpDYzogRG1pdHJ5IFRvcm9raG92 IDxkbWl0cnkudG9yb2tob3ZAZ21haWwuY29tPgpDYzogRWR1YXJkbyBWYWxlbnRpbiA8ZWR1YmV6 dmFsQGdtYWlsLmNvbT4KQ2M6IEZlbGlwZSBCYWxiaSA8YmFsYmlAa2VybmVsLm9yZz4KQ2M6IEZs b3JpYW4gRmFpbmVsbGkgPGYuZmFpbmVsbGlAZ21haWwuY29tPgpDYzogR2l1c2VwcGUgQ2F2YWxs YXJvIDxwZXBwZS5jYXZhbGxhcm9Ac3QuY29tPgpDYzogR3JlZyBLcm9haC1IYXJ0bWFuIDxncmVn a2hAbGludXhmb3VuZGF0aW9uLm9yZz4KQ2M6IEd1ZW50ZXIgUm9lY2sgPGxpbnV4QHJvZWNrLXVz Lm5ldD4KQ2M6IEhhcnRtdXQgS25hYWNrIDxrbmFhY2suaEBnbXguZGU+CkNjOiBIZWlrbyBTdHVl Ym5lciA8aGVpa29Ac250ZWNoLmRlPgpDYzogSGVyYmVydCBYdSA8aGVyYmVydEBnb25kb3IuYXBh bmEub3JnLmF1PgpDYzogSmFlaG9vbiBDaHVuZyA8amg4MC5jaHVuZ0BzYW1zdW5nLmNvbT4KQ2M6 IEppcmkgU2xhYnkgPGpzbGFieUBzdXNlLmNvbT4KQ2M6IEpvYWNoaW0gRWFzdHdvb2QgPG1hbmFi aWFuQGdtYWlsLmNvbT4KQ2M6IEpvaG4gWW91biA8am9obnlvdW5Ac3lub3BzeXMuY29tPgpDYzog Sm9uIEh1bnRlciA8am9uYXRoYW5oQG52aWRpYS5jb20+CkNjOiBKb25hdGhhbiBDYW1lcm9uIDxq aWMyM0BrZXJuZWwub3JnPgpDYzogSm9uYXRoYW4gQ29yYmV0IDxjb3JiZXRAbHduLm5ldD4KQ2M6 IEpvbmF0aGFuIEh1bnRlciA8am9uYXRoYW5oQG52aWRpYS5jb20+CkNjOiBLYWxsZSBWYWxvIDxr dmFsb0BxY2EucXVhbGNvbW0uY29tPgpDYzogS2lzaG9uIFZpamF5IEFicmFoYW0gSSA8a2lzaG9u QHRpLmNvbT4KQ2M6IEt5dW5nbWluIFBhcmsgPGt5dW5nbWluLnBhcmtAc2Ftc3VuZy5jb20+CkNj OiBMYXJzLVBldGVyIENsYXVzZW4gPGxhcnNAbWV0YWZvby5kZT4KQ2M6IExheG1hbiBEZXdhbmdh biA8bGRld2FuZ2FuQG52aWRpYS5jb20+CkNjOiBMZWUgSm9uZXMgPGxlZS5qb25lc0BsaW5hcm8u b3JnPgpDYzogTGlhbSBHaXJkd29vZCA8bGdpcmR3b29kQGdtYWlsLmNvbT4KQ2M6IExpbnVzIFdh bGxlaWogPGxpbnVzLndhbGxlaWpAbGluYXJvLm9yZz4KQ2M6IEx1Y2FzIFN0YWNoIDxsLnN0YWNo QHBlbmd1dHJvbml4LmRlPgpDYzogTWFyYyBEaWV0cmljaCA8bWFydmluMjRAZ214LmRlPgpDYzog TWFyZWsgVmFzdXQgPG1hcmVrLnZhc3V0QGdtYWlsLmNvbT4KQ2M6IE1hcmsgQnJvd24gPGJyb29u aWVAa2VybmVsLm9yZz4KQ2M6IE1hcmsgWWFvIDxtYXJrLnlhb0Byb2NrLWNoaXBzLmNvbT4KQ2M6 IE1hdGhpYXMgTnltYW4gPG1hdGhpYXMubnltYW5AaW50ZWwuY29tPgpDYzogTWF0dGhpYXMgQnJ1 Z2dlciA8bWF0dGhpYXMuYmdnQGdtYWlsLmNvbT4KQ2M6IE1heGltZSBDb3F1ZWxpbiA8bWNvcXVl bGluLnN0bTMyQGdtYWlsLmNvbT4KQ2M6IE1heGltZSBSaXBhcmQgPG1heGltZS5yaXBhcmRAZnJl ZS1lbGVjdHJvbnMuY29tPgpDYzogTWljaGFlbCBUdXJxdWV0dGUgPG10dXJxdWV0dGVAYmF5bGli cmUuY29tPgpDYzogTW9yaXR6IEZpc2NoZXIgPG1vcml0ei5maXNjaGVyQGV0dHVzLmNvbT4KQ2M6 IE15dW5nSm9vIEhhbSA8bXl1bmdqb28uaGFtQHNhbXN1bmcuY29tPgpDYzogT2hhZCBCZW4tQ29o ZW4gPG9oYWRAd2l6ZXJ5LmNvbT4KQ2M6IFBhdHJpY2UgQ2hvdGFyZCA8cGF0cmljZS5jaG90YXJk QHN0LmNvbT4KQ2M6IFBldGVyIENoZW4gPFBldGVyLkNoZW5AbnhwLmNvbT4KQ2M6IFBldGVyIERl IFNjaHJpanZlciA8cGRlc2NocmlqdmVyQG52aWRpYS5jb20+CkNjOiBQZXRlciBNZWVyd2FsZC1T dGFkbGVyIDxwbWVlcndAcG1lZXJ3Lm5ldD4KQ2M6IFBoaWxpcHBlIENvcm51IDxwaGlsaXBwZS5j b3JudUBzdC5jb20+CkNjOiBQcmFzaGFudCBHYWlrd2FkIDxwZ2Fpa3dhZEBudmlkaWEuY29tPgpD YzogUmFrZXNoIEl5ZXIgPHJpeWVyQG52aWRpYS5jb20+CkNjOiBSYWxmIEJhZWNobGUgPHJhbGZA bGludXgtbWlwcy5vcmc+CkNjOiBSaWNoYXJkIFdlaW5iZXJnZXIgPHJpY2hhcmRAbm9kLmF0PgpD YzogUmljaGFyZCBaaHUgPGhvbmd4aW5nLnpodUBueHAuY29tPgpDYzogUm9uZ3JvbmcgWm91IDx6 b3Vyb25ncm9uZ0BnbWFpbC5jb20+CkNjOiBSeWRlciBMZWUgPHJ5ZGVyLmxlZUBtZWRpYXRlay5j b20+CkNjOiBTYWxpbCBNZWh0YSA8c2FsaWwubWVodGFAaHVhd2VpLmNvbT4KQ2M6IFNoYXduIExp biA8c2hhd24ubGluQHJvY2stY2hpcHMuY29tPgpDYzogU3Jpbml2YXMgS2FuZGFnYXRsYSA8c3Jp bml2YXMua2FuZGFnYXRsYUBsaW5hcm8ub3JnPgpDYzogU3RhbmltaXIgVmFyYmFub3YgPHN2YXJi YW5vdkBtbS1zb2wuY29tPgpDYzogU3RlcGhlbiBCb3lkIDxzYm95ZEBjb2RlYXVyb3JhLm9yZz4K Q2M6IFRlanVuIEhlbyA8dGpAa2VybmVsLm9yZz4KQ2M6IFRoaWVycnkgUmVkaW5nIDx0aGllcnJ5 LnJlZGluZ0BnbWFpbC5jb20+CkNjOiBUaG9tYXMgR2xlaXhuZXIgPHRnbHhAbGludXRyb25peC5k ZT4KQ2M6IFVsZiBIYW5zc29uIDx1bGYuaGFuc3NvbkBsaW5hcm8ub3JnPgpDYzogVmluY2VudCBB YnJpb3UgPHZpbmNlbnQuYWJyaW91QHN0LmNvbT4KQ2M6IFZpbm9kIEtvdWwgPHZpbm9kLmtvdWxA aW50ZWwuY29tPgpDYzogVml2aWVuIERpZGVsb3QgPHZpdmllbi5kaWRlbG90QHNhdm9pcmZhaXJl bGludXguY29tPgpDYzogV2ltIFZhbiBTZWJyb2VjayA8d2ltQGlndWFuYS5iZT4KQ2M6IFdvbGZy YW0gU2FuZyA8d3NhQHRoZS1kcmVhbXMuZGU+CkNjOiBYaW5saWFuZyBMaXUgPHoubGl1eGlubGlh bmdAaGlzaWxpY29uLmNvbT4KQ2M6IFhpbndlaSBLb25nIDxrb25nLmtvbmd4aW53ZWlAaGlzaWxp Y29uLmNvbT4KQ2M6IFlhbm5pY2sgRmVydHJlIDx5YW5uaWNrLmZlcnRyZUBzdC5jb20+CkNjOiBZ aXNlbiBaaHVhbmcgPHlpc2VuLnpodWFuZ0BodWF3ZWkuY29tPgpDYzogWmhhbmcgUnVpIDxydWku emhhbmdAaW50ZWwuY29tPgpDYzogYWxzYS1kZXZlbEBhbHNhLXByb2plY3Qub3JnCkNjOiBhdGgx MGtAbGlzdHMuaW5mcmFkZWFkLm9yZwpDYzogZGV2ZWxAZHJpdmVyZGV2Lm9zdW9zbC5vcmcKQ2M6 IGRtYWVuZ2luZUB2Z2VyLmtlcm5lbC5vcmcKQ2M6IGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKQ2M6IGxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpDYzogbGludXgt YXJtLW1zbUB2Z2VyLmtlcm5lbC5vcmcKQ2M6IGxpbnV4LWNsa0B2Z2VyLmtlcm5lbC5vcmcKQ2M6 IGxpbnV4LWNyeXB0b0B2Z2VyLmtlcm5lbC5vcmcKQ2M6IGxpbnV4LWRvY0B2Z2VyLmtlcm5lbC5v cmcKQ2M6IGxpbnV4LWZwZ2FAdmdlci5rZXJuZWwub3JnCkNjOiBsaW51eC1ncGlvQHZnZXIua2Vy bmVsLm9yZwpDYzogbGludXgtaTJjQHZnZXIua2VybmVsLm9yZwpDYzogbGludXgtaWRlQHZnZXIu a2VybmVsLm9yZwpDYzogbGludXgtaWlvQHZnZXIua2VybmVsLm9yZwpDYzogbGludXgtaW5wdXRA dmdlci5rZXJuZWwub3JnCkNjOiBsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnCkNjOiBsaW51 eC1tZWRpYUB2Z2VyLmtlcm5lbC5vcmcKQ2M6IGxpbnV4LW1lZGlhdGVrQGxpc3RzLmluZnJhZGVh ZC5vcmcKQ2M6IGxpbnV4LW1pcHNAbGludXgtbWlwcy5vcmcKQ2M6IGxpbnV4LW1tY0B2Z2VyLmtl cm5lbC5vcmcKQ2M6IGxpbnV4LW10ZEBsaXN0cy5pbmZyYWRlYWQub3JnCkNjOiBsaW51eC1wY2lA dmdlci5rZXJuZWwub3JnCkNjOiBsaW51eC1wbUB2Z2VyLmtlcm5lbC5vcmcKQ2M6IGxpbnV4LXB3 bUB2Z2VyLmtlcm5lbC5vcmcKQ2M6IGxpbnV4LXJlbW90ZXByb2NAdmdlci5rZXJuZWwub3JnCkNj OiBsaW51eC1yb2NrY2hpcEBsaXN0cy5pbmZyYWRlYWQub3JnCkNjOiBsaW51eC1zZXJpYWxAdmdl ci5rZXJuZWwub3JnCkNjOiBsaW51eC1zcGlAdmdlci5rZXJuZWwub3JnCkNjOiBsaW51eC10ZWdy YUB2Z2VyLmtlcm5lbC5vcmcKQ2M6IGxpbnV4LXVzYkB2Z2VyLmtlcm5lbC5vcmcKQ2M6IGxpbnV4 LXdhdGNoZG9nQHZnZXIua2VybmVsLm9yZwpDYzogbGludXgtd2lyZWxlc3NAdmdlci5rZXJuZWwu b3JnCkNjOiBuZXRkZXZAdmdlci5rZXJuZWwub3JnCkNjOiBub3V2ZWF1QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K YXRoMTBrIG1haWxpbmcgbGlzdAphdGgxMGtAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlz dHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2F0aDEwawo=