Codercat Studio | Cookbook

This cookbook contains a collection of useful HoudiniFX node setups. All examples are stored using the new Houdini recipe API and can be copied from this website directly into Houdini using our simple shelf tools. We also periodically make a backup of the recipes here.

Copy a snippet of interest from this page, then use Paste on the "Cookbook" shelf to paste it in.

If you would like to share a recipe, click the Create button and paste in the output of the "Copy" shelf tool. Note that you must be logged in to do so. If you have any questions or comments, feel free to reach out at codercatclub@gmail.com.

Get new recipes updates over RSS feed.

⚠️ Changelog

11.20.2025 - We updated the copy shelf tool to include the Houdini version, which is also visible on the recipes listing. Please update your shelf tools using the Python one-liner from the Recommended Install section.

📦 Recommended Install

To install Cookbook shelf tools copy this code to Houdini Python Shell and press Enter. You will see Cookbook shelf apper on the top panel.

To open Python Shell press Alt-Shift-P or go to main menu Window > Python Shell.

📂 Alternative Manual Install
⬇️ Download shelf tool file and place it to your Houdini toolbar folder:
  • Windows:
  • macOS:
  • Linux:

Replace USERNAME and X.Y with your account name and Houdini version.

Restart Houdini.

? About this project

Motivation and Goals

We created this Houdini Cookbook because:

  • We needed a way to quickly share and store small Houdini node setups. Previously, we attempted to create HDA libraries, but it was too cumbersome for our small team.
  • We believe there is a better way to share Houdini examples than by sharing entire Houdini files.
  • We enjoy sharing our small setups with the Houdini community.
  • We strongly believe in the idea of "Own Your Data," therefore we do not hold any published recipes hostage. All recipes are backed up once a day to a public Git repository here. Even if this service goes down, anyone can still download the full collection and use it directly with the Cookbook shelf tool or by using the two Python functions described below.
  • We also embrace the idea of decentralization, and we are considering open sourcing the Cookbook web service so that anyone can run it locally with their own collection or as their own public webpage. Let us know if this is something that interests you.

How Does It Work

In Houdini 20.5, SideFX introduced a new Recipe system that allows users to save collections of nodes into human-readable structured text files (JSON). Within this, they added a new collection of Python utilities (hou.data) that allows for creating and loading recipes programmatically.

In particular, the Cookbook shelf tools use hou.data.selectedItemsAsData(...) for copying nodes and hou.createItemsFromData(...) for pasting.

For this web service, we use the Go programming language and store all submitted recipes in plain text JSON files.

Differential Growth
Implementation of Differential Growth algorithm using Vellum and SOP Solver. Based on Junichiro Horikawa tutorial Differential Growth with Vellum Part 1
Nov 30, 2025 | 20.5.584 | vellum Cooked By: kif
ewogICAgIkNPTlRST0xTIjogewogICAgICAgICJjb2xvciI6IFsKICAgICAgICAgICAgMC4wOSwKICAgICAgICAgICAgMC4zNywKICAgICAgICAgICAgMC42OQogICAgICAgIF0sCiAgICAgICAgImZsYWdzIjogewogICAgICAgICAgICAiY29sb3JkZWZhdWx0IjogZmFsc2UKICAgICAgICB9LAogICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgImdyb3dfc3BlZWQiOiAzMCwKICAgICAgICAgICAgInJlbWVzaF9zdGVwIjogMTIsCiAgICAgICAgICAgICJyZW1lc2hfdGFyZ2V0X2xlbmd0aCI6IDAuMgogICAgICAgIH0sCiAgICAgICAgInBhcm10ZW1wbGF0ZXMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJpbnNlcnRfYWZ0ZXIiOiAiY2FjaGVpbnB1dCIsCiAgICAgICAgICAgICAgICAicGFybXRlbXBsYXRlcyI6IHsKICAgICAgICAgICAgICAgICAgICAiZ3Jvd19zcGVlZCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkdyb3cgU3BlZWQiLAogICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAicHl0aG9uIgogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJmbG9hdCIKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJyZW1lc2hfc3RlcCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogInJlbWVzaCBzdGVwIiwKICAgICAgICAgICAgICAgICAgICAgICAgIm1heF92YWx1ZSI6IDEwMCwKICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJub3JtYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAicHl0aG9uIgogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIgogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgInJlbWVzaF90YXJnZXRfbGVuZ3RoIjogewogICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiUmVtZXNoIFRhcmdldCBMZW5ndGgiLAogICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAicHl0aG9uIgogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJmbG9hdCIKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJ1c2VfcmVtZXNoIjogewogICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiVXNlIFJlbWVzaCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJweXRob24iCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInRvZ2dsZSIKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgMCwKICAgICAgICAgICAgMAogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAibnVsbCIKICAgIH0sCiAgICAiUkVGX0dFTzEiOiB7CiAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImZyb20iOiAic2NhbGVfbWFzayIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgMi44NiwKICAgICAgICAgICAgMi4xCiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJudWxsIgogICAgfSwKICAgICJfX2Nvb2tib29rTWV0YSI6IHsKICAgICAgICAiY29udGV4dCI6ICJzb3AiLAogICAgICAgICJ2ZXJzaW9uIjogIjIwLjUuNTg0IgogICAgfSwKICAgICJfX3N0aWNreW5vdGUxIjogewogICAgICAgICJjb2xvciI6IFsKICAgICAgICAgICAgMSwKICAgICAgICAgICAgMC45NywKICAgICAgICAgICAgMC41MgogICAgICAgIF0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICA1LjQ4LAogICAgICAgICAgICAtMC40OQogICAgICAgIF0sCiAgICAgICAgInNpemUiOiBbCiAgICAgICAgICAgIDIuNjgsCiAgICAgICAgICAgIDAuOTIKICAgICAgICBdLAogICAgICAgICJ0ZXh0IjogIkRpdmUgaW5zaWRlIFZlbGx1bVNvbHZlciB0byBzZWUgdGhlIHN1dHVwXG4iLAogICAgICAgICJ0ZXh0X2NvbG9yIjogWwogICAgICAgICAgICAwLAogICAgICAgICAgICAwLAogICAgICAgICAgICAwCiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJTdGlja3lOb3RlIgogICAgfSwKICAgICJjaXJjbGUxIjogewogICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgImRpdnMiOiA0MCwKICAgICAgICAgICAgIm9yaWVudCI6ICJ6eCIsCiAgICAgICAgICAgICJyZXZlcnNlIjogZmFsc2UsCiAgICAgICAgICAgICJzY2FsZSI6IDUsCiAgICAgICAgICAgICJ0eXBlIjogInBvbHkiCiAgICAgICAgfSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDIuODYsCiAgICAgICAgICAgIDcuMjgKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogImNpcmNsZSIKICAgIH0sCiAgICAib3V0cHV0MCI6IHsKICAgICAgICAiZmxhZ3MiOiB7CiAgICAgICAgICAgICJkaXNwbGF5IjogdHJ1ZSwKICAgICAgICAgICAgInJlbmRlciI6IHRydWUKICAgICAgICB9LAogICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogInZlbGx1bXNvbHZlcjEiLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICJvdXRwdXRpZHgiOiAwCiAgICAgICAgfSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDIuODYsCiAgICAgICAgICAgIC0wLjk5CiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJvdXRwdXQiCiAgICB9LAogICAgInJlbWVzaDEiOiB7CiAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImZyb20iOiAicmV2ZXJzZTEiLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICJ0YXJnZXRzaXplIjogewogICAgICAgICAgICAgICAgImV4cHJlc3Npb24iOiAiY2goXCIuLi9DT05UUk9MUy9yZW1lc2hfdGFyZ2V0X2xlbmd0aFwiKSIKICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAyLjg2LAogICAgICAgICAgICA1LjI4CiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJyZW1lc2g6OjIuMCIKICAgIH0sCiAgICAicmV2ZXJzZTEiOiB7CiAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImZyb20iOiAiY2lyY2xlMSIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgMi44NiwKICAgICAgICAgICAgNi4yOAogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAicmV2ZXJzZSIKICAgIH0sCiAgICAic2NhbGVfbWFzayI6IHsKICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJ1dnF1aWNrc2hhZGUxIiwKICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDAKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAicmFkIjogewogICAgICAgICAgICAgICAgImV4cHJlc3Npb24iOiAiY2goXCIuLi9jaXJjbGUxL3NjYWxlXCIpIgogICAgICAgICAgICB9LAogICAgICAgICAgICAicmFtcCI6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAiaW50ZXJwIjogImJzcGxpbmUiLAogICAgICAgICAgICAgICAgICAgICJwb3MiOiAwLAogICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6IDAKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgImludGVycCI6ICJic3BsaW5lIiwKICAgICAgICAgICAgICAgICAgICAicG9zIjogMC45MDMwNzMzMTA4NTIwNTA4LAogICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6IDAKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgImludGVycCI6ICJic3BsaW5lIiwKICAgICAgICAgICAgICAgICAgICAicG9zIjogMC45MTQ4MDk5NDIyNDU0ODM0LAogICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6IDEKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgImludGVycCI6ICJic3BsaW5lIiwKICAgICAgICAgICAgICAgICAgICAicG9zIjogMSwKICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAxCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJzbmlwcGV0IjogInZlY3RvciBjZW4gPSBzZXQoMCwwLDApO1xuZmxvYXQgZGlzdCA9IGRpc3RhbmNlKEBQLCBjZW4pO1xuZmxvYXQgcmFkPSBjaGYoXCJyYWRcIik7XG5cbmZsb2F0IGQgPSBkaXN0IC8gcmFkO1xuXG5kID0gY2hyYW1wKFwicmFtcFwiLCBkKTtcblxuZkBzY2FsZXZhbCA9IGQ7XG5cblxuIgogICAgICAgIH0sCiAgICAgICAgInBhcm10ZW1wbGF0ZXMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJpbnNlcnRfYWZ0ZXIiOiAiZm9sZGVyMF8xIiwKICAgICAgICAgICAgICAgICJwYXJtdGVtcGxhdGVzIjogewogICAgICAgICAgICAgICAgICAgICJyYWQiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJSYWQiLAogICAgICAgICAgICAgICAgICAgICAgICAibWF4X3ZhbHVlIjogMSwKICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZmxvYXQiCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAicmFtcCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlJhbXAiLAogICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAic2hvd19jb250cm9scyI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJhbXBfZmxvYXQiCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDIuODYsCiAgICAgICAgICAgIDMuMjQKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogImF0dHJpYndyYW5nbGUiCiAgICB9LAogICAgInV2cXVpY2tzaGFkZTEiOiB7CiAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImZyb20iOiAicmVtZXNoMSIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgMi44NiwKICAgICAgICAgICAgNC4yOAogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAidXZxdWlja3NoYWRlIgogICAgfSwKICAgICJ2ZWxsdW1jbG90aDEiOiB7CiAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImZyb20iOiAiUkVGX0dFTzEiLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICJiZW5kcGxhc3RpY2l0eSI6IHRydWUsCiAgICAgICAgICAgICJiZW5kc3RpZmZuZXNzZXhwIjogIi00IiwKICAgICAgICAgICAgImNvbnN0cmFpbnR0eXBlIjogImNsb3RoIiwKICAgICAgICAgICAgImRvYmVuZGdycCI6IHRydWUsCiAgICAgICAgICAgICJkb2NvbXByZXNzIjogdHJ1ZSwKICAgICAgICAgICAgImRvbWFzcyI6ICJjYWxjdmFyeWluZyIsCiAgICAgICAgICAgICJkb3N0cmV0Y2hncnAiOiB0cnVlLAogICAgICAgICAgICAiZG90aGlja25lc3MiOiAiY2FsY3VuaWZvcm0iLAogICAgICAgICAgICAibGluZWFyIjogIm9mZiIsCiAgICAgICAgICAgICJwaW5ncm91cCI6ICJwaW4iLAogICAgICAgICAgICAidml6dGhpY2tuZXNzIjogdHJ1ZQogICAgICAgIH0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAyLjg2LAogICAgICAgICAgICAxLjAxCiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJ2ZWxsdW1jb25zdHJhaW50cyIKICAgIH0sCiAgICAidmVsbHVtc29sdmVyMSI6IHsKICAgICAgICAiZWRpdGFibGVzIjogewogICAgICAgICAgICAiZG9wbmV0MS9mb3JjZXMiOiB7CiAgICAgICAgICAgICAgICAiY2hpbGRyZW4iOiB7CiAgICAgICAgICAgICAgICAgICAgIjEiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuMjIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA2LjAxCiAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogIlN1Ym5ldEluZGlyZWN0SW5wdXQiCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAiQkFTRSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZnJvbSI6ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjIyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgNC40CiAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogIm51bGwiCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAiT1VUIjogewogICAgICAgICAgICAgICAgICAgICAgICAiZmxhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzcGxheSI6IHRydWUKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZnJvbSI6ICJlbmFibGVfcmVtZXNoIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjIyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgLTUuNDcKICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAibnVsbCIKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJfX3N0aWNreW5vdGUxIjogewogICAgICAgICAgICAgICAgICAgICAgICAiY29sb3IiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMC45NywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuNTIKICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgNS45LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMi41NgogICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAic2l6ZSI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuOCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMuMDIKICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgInRleHQiOiAiV2lyZSBQT1AgRm9yY2VzIGludG8gRk9SQ0UgdG8gYXBwbHkgcGVyLXBvaW50IGZvcmNlcy5cblxuV2lyZSBWZWxsdW0gQ29uc3RyYWludCBQcm9wZXJ0aWVzIGFuZCBWZWxsdW0gUmVzdCBCbGVuZCB0byB1cGRhdGUgY29uc3RyYWludHMgZHluYW1pY2FsbHkuXG5cbldpcmUgVmVsbHVtIENvbnN0cmFpbnRzIHRvIGJ1aWxkIG5ldyBjb25zdHJhaW50cy5cblxuV2lyZSBWZWxsdW0gU291cmNlIERPUHMgdG8gU09VUkNFIHRvIGFkZCBuZXcgdmVsbHVtIGdlb21ldHJ5LiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0ZXh0X2NvbG9yIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAwCiAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogIlN0aWNreU5vdGUiCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAiZW5hYmxlX3JlbWVzaCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZnJvbSI6ICJnZW9tZXRyeXdyYW5nbGUyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZnJvbSI6ICJnZW9tZXRyeXdyYW5nbGUzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRvX2luZGV4IjogMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaW5wdXQiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iOiAiY2goXCIuLi8uLi8uLi8uLi9DT05UUk9MUy91c2VfcmVtZXNoXCIpIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjIyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgLTQuMDQKICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3dpdGNoIgogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgImdlb21ldHJ5d3JhbmdsZTEiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZyb20iOiAic29wc29sdmVyMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgImJpbmRjbGFzcyI6ICJwcmltaXRpdmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgImJpbmRnZW8iOiAiQ29uc3RyYWludEdlb21ldHJ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJiaW5kZ2VvaW5wdXQyIjogIi4uL3NvcHNvbHZlcjEvIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJiaW5kZ2VvaW5wdXQzIjogIi4uLy4uLy4uLy4uL1JFRl9HRU8xIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJiaW5kZ3JvdXAiOiAic3RyZXRjaCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYmluZGlucHV0bWVudTEiOiAic2VsZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYmluZGlucHV0bWVudTIiOiAic29wIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJiaW5kaW5wdXRtZW51MyI6ICJzb3AiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1heF9zY2FsZSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiI6ICJjaChcIi4uLy4uLy4uLy4uL0NPTlRST0xTL2dyb3dfc3BlZWRcIikiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInNuaXBwZXQiOiAiaW50IHB0c1tdID0gcHJpbXBvaW50cygwLCBAcHJpbW51bSk7XG52ZWN0b3IgcG9zMSA9IHBvaW50KDAsIFwiUFwiLCBwdHNbMF0pO1xudmVjdG9yIHBvczIgPSBwb2ludCgwLCBcIlBcIiwgcHRzWzFdKTtcbnZlY3RvciB1djEgPSB1dnNhbXBsZSgxLCBcInV2XCIsIFwiUFwiLCBwb3MxKTtcbnZlY3RvciB1djIgPSB1dnNhbXBsZSgxLCBcInV2XCIsIFwiUFwiLCBwb3MyKTtcblxudmVjdG9yIHJwb3MxID0gdXZzYW1wbGUoMiwgXCJQXCIsIFwidXZcIiwgdXYxKTtcbnZlY3RvciBycG9zMiA9IHV2c2FtcGxlKDIsIFwiUFwiLCBcInV2XCIsIHV2Mik7XG5mbG9hdCBkaXN0ID0gZGlzdGFuY2UocnBvczEsIHJwb3MyKTtcblxudmVjdG9yIGN1diA9IHV2c2FtcGxlKDEsIFwidXZcIiwgXCJQXCIsIEBQKTtcbmZsb2F0IHNjYWxldmFsID0gdXZzYW1wbGUoMiwgXCJzY2FsZXZhbFwiLCBcInV2XCIsIGN1dik7XG5zY2FsZXZhbCA9IHNjYWxldmFsICogY2goXCJtYXhfc2NhbGVcIik7XG5cbmZsb2F0IGYgPSBARnJhbWUgLyBmbG9hdCgkRkVORCk7XG5zY2FsZXZhbCA9IGxlcnAoMS4wLCBzY2FsZXZhbCwgZik7XG5cbmZAcmVzdGxlbmd0aCA9IGRpc3QgKiBzY2FsZXZhbDtcblxuLy8gVGhpcyBpcyBuZWNlc3NhcnkgZm9yIHNjYWxlIHZhbHVlIHRvIHdvcmtcbi8vIGlmIG5vdCBwcmVzZW50IHNjYWxlIHZhbHVlIGdvZXMgZG93biBmb3Igc29tZSByZWFzb25cbmZAYWEgPSBzY2FsZXZhbDtcblxuXG5cblxuXG5cbiIKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgInBhcm10ZW1wbGF0ZXMiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImluc2VydF9hZnRlciI6ICJ2ZXhfdGhyZWFkam9ic2l6ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhcm10ZW1wbGF0ZXMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmb2xkZXJfZ2VuZXJhdGVkcGFybXNfc25pcHBldCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJHZW5lcmF0ZWQgQ2hhbm5lbCBQYXJhbWV0ZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtdGVtcGxhdGVzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtYXhfc2NhbGUiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJNYXggU2NhbGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWF4X3ZhbHVlIjogMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZmxvYXQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ3JvdXBfdHlwZSI6ICJzaW1wbGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlZng6Omxvb2siOiAiYmxhbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZm9sZGVyX3NpbXBsZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgLTIuNSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0wLjkyCiAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImdlb21ldHJ5d3JhbmdsZSIKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJnZW9tZXRyeXdyYW5nbGUyIjogewogICAgICAgICAgICAgICAgICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmcm9tIjogImdlb21ldHJ5d3JhbmdsZTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJiaW5kY2xhc3MiOiAicHJpbWl0aXZlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJiaW5kZ2VvIjogIkNvbnN0cmFpbnRHZW9tZXRyeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYmluZGdlb2lucHV0MiI6ICIuLi9zb3Bzb2x2ZXIxLyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYmluZGdlb2lucHV0MyI6ICIuLi8uLi8uLi8uLi9SRUZfR0VPMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYmluZGdyb3VwIjogImJlbmQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgImJpbmRpbnB1dG1lbnUxIjogInNlbGYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgImJpbmRpbnB1dG1lbnUyIjogInNvcCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYmluZGlucHV0bWVudTMiOiAic29wIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzbmlwcGV0IjogIlxudmVjdG9yIGN1diA9IHV2c2FtcGxlKDEsIFwidXZcIiwgXCJQXCIsIEBQKTtcbmZsb2F0IHNjYWxldmFsID0gdXZzYW1wbGUoMiwgXCJzY2FsZXZhbFwiLCBcInV2XCIsIGN1dik7XG5cbmZsb2F0IG1pbnN0aWZmID0gMC4wMTtcbmZsb2F0IG1heHN0aWZmID0gMTAuMDtcblxuZkBzdGlmZm5lc3MgPSBleHAobGVycChsb2cobWF4c3RpZmYpLCBsb2cobWluc3RpZmYpLCBzY2FsZXZhbCkpO1xuIgogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMi41LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgLTIuNDEKICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZ2VvbWV0cnl3cmFuZ2xlIgogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgImdlb21ldHJ5d3JhbmdsZTMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZyb20iOiAiQkFTRSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgImJpbmRjbGFzcyI6ICJwcmltaXRpdmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgImJpbmRnZW8iOiAiQ29uc3RyYWludEdlb21ldHJ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJiaW5kZ2VvaW5wdXQyIjogIi4uL3NvcHNvbHZlcjEvIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJiaW5kZ2VvaW5wdXQzIjogIi4uLy4uLy4uLy4uL1JFRl9HRU8xIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJiaW5kZ3JvdXAiOiAic3RyZXRjaCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYmluZGlucHV0bWVudTEiOiAic2VsZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYmluZGlucHV0bWVudTIiOiAic29wIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJiaW5kaW5wdXRtZW51MyI6ICJzb3AiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1heF9zY2FsZSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiI6ICJjaChcIi4uLy4uLy4uLy4uL0NPTlRST0xTL2dyb3dfc3BlZWRcIikiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInNuaXBwZXQiOiAiaW50IHB0c1tdID0gcHJpbXBvaW50cygwLCBAcHJpbW51bSk7XG5cbnZlY3RvciBwb3MxID0gcG9pbnQoMCwgXCJQXCIsIHB0c1swXSk7XG52ZWN0b3IgcG9zMiA9IHBvaW50KDAsIFwiUFwiLCBwdHNbMV0pO1xuXG5mbG9hdCBkaXN0ID0gZGlzdGFuY2UocG9zMSwgcG9zMik7XG5cbmZsb2F0IHNjYWxldmFsID0gcHJpbSgyLCBcInNjYWxldmFsXCIsIEBwcmltbnVtKTtcbnNjYWxldmFsICo9IGNoKFwibWF4X3NjYWxlXCIpO1xuXG5mbG9hdCBmID0gQEZyYW1lIC8gZmxvYXQoJEZFTkQpO1xuc2NhbGV2YWwgPSBsZXJwKDEuMCwgc2NhbGV2YWwsIGYpO1xuXG5mQHNjYWxldmFsID0gc2NhbGV2YWw7XG5cbmZAcmVzdGxlbmd0aCA9IGRpc3QgKiBzY2FsZXZhbDtcblxuLy8gVGhpcyBpcyBuZWNlc3NhcnkgZm9yIHNjYWxlIHZhbHVlIHRvIHdvcmtcbi8vIGlmIG5vdCBwcmVzZW50IHNjYWxlIHZhbHVlIGdvZXMgZG93biBmb3Igc29tZSByZWFzb25cbmZAYWEgPSBzY2FsZXZhbDtcbiIKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgInBhcm10ZW1wbGF0ZXMiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImluc2VydF9hZnRlciI6ICJ2ZXhfdGhyZWFkam9ic2l6ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhcm10ZW1wbGF0ZXMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmb2xkZXJfZ2VuZXJhdGVkcGFybXNfc25pcHBldCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJHZW5lcmF0ZWQgQ2hhbm5lbCBQYXJhbWV0ZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtdGVtcGxhdGVzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtYXhfc2NhbGUiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJNYXggU2NhbGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWF4X3ZhbHVlIjogMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZmxvYXQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ3JvdXBfdHlwZSI6ICJzaW1wbGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlZng6Omxvb2siOiAiYmxhbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZm9sZGVyX3NpbXBsZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgMi41OSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xLjg4CiAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImdlb21ldHJ5d3JhbmdsZSIKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJzb3Bzb2x2ZXIxIjogewogICAgICAgICAgICAgICAgICAgICAgICAiY2hpbGRyZW4iOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZG9wX2dlb21ldHJ5IjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb2xvciI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMC42LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmbGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvbG9yZGVmYXVsdCI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhZGRkb3BvYmplY3RuYW1lIjogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkb25vdHNpbSI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkb3Bvc3hmb3JtIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iOiAiY2goXCIuLi90cmFuc2Zvcm1zb3BvdXRwdXRcIikiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkb3BwYXRoIjogImBzdGFtcHMoXCIuLlwiLCBcIkRPUE5FVFwiLCBcIi4uLy4uXCIpYCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkb3hmb3JtIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iOiAiY2goXCIuLi90cmFuc2Zvcm1zb3BvdXRwdXRcIikiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW9kYXRhcGF0aCI6ICJgc3RhbXBzKFwiLi5cIiwgXCJEQVRBTkFNRVwiLCBjaHMoXCIuLi9kYXRhcGF0aFwiKSlgIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImltcG9ydHN0eWxlIjogImZldGNoIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9ianBhdHRlcm4iOiAiYHN0YW1wcyhcIi4uXCIsIFwiT0JKSURcIiwgYXJnKGRvcG5vZGVvYmpzKFwiLi5cIiksMCkpYCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwb2ludHZlbHMiOiAibm9uZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMy42MywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEuOQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZG9waW1wb3J0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmZWVkYmFja3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvbG9yIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuNCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZsYWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29sb3JkZWZhdWx0IjogZmFsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRhdGFwYXRoIjogIkZlZWRiYWNrIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRvcHBhdGgiOiAiYHN0YW1wcyhcIi4uXCIsIFwiRE9QTkVUXCIsIFwiLi4vLi5cIilgIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9ianBhdHRlcm4iOiAiYHN0YW1wcyhcIi4uXCIsIFwiT0JKSURcIiwgYXJnKGRvcG5vZGVvYmpzKFwiLi5cIiksMCkpYCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZWNvcmQiOiAiSW1wYWN0cyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOC42MiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEuOTYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImRvcGltcG9ydHJlY29yZHMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgImltcGFjdHMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvbG9yIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuNCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZsYWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29sb3JkZWZhdWx0IjogZmFsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRhdGFwYXRoIjogIkltcGFjdHMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZG9wcGF0aCI6ICJgc3RhbXBzKFwiLi5cIiwgXCJET1BORVRcIiwgXCIuLi8uLlwiKWAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib2JqcGF0dGVybiI6ICJgc3RhbXBzKFwiLi5cIiwgXCJPQkpJRFwiLCBhcmcoZG9wbm9kZW9ianMoXCIuLlwiKSwwKSlgIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlY29yZCI6ICJJbXBhY3RzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA2LjM5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMS44NgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZG9waW1wb3J0cmVjb3JkcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVsYXRpb25zaGlwX2dlb21ldHJ5IjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb2xvciI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMC42LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmbGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvbG9yZGVmYXVsdCI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudW1vYmoiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImVuYWJsZSMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2aXNpYmxlIjogZmFsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHBhbmQjIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ3JvdXAjIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib2JqcGF0aCMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6ICJgc3RhbXBzKFwiLi5cIiwgXCJEQVRBUEFUSFwiLCBjaHNvcChcInJlbG5vZGVcIikgKyBcIjpSZWxhdGlvbnNoaXBzL1wiICsgY2hzKGNoc29wKFwicmVsbm9kZVwiKSArIFwiL3JlbG5hbWVcIikgKyBcIi9cIiArIGNocyhjaHNvcChcInJlbG5vZGVcIikgKyBcIi9yZWxhdGlvbnNoaXAvZGF0YW5hbWVcIikgKyBcIi9HZW9tZXRyeVwiKWAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVsbm9kZSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIjogImltcG9ydCB0b29sdXRpbHNcblxubm9kZSA9IGhvdS5ub2RlKFwiLlwiKVxuc29wc29sdmVyID0gaG91Lm5vZGUoXCIuLlwiKVxuXG4jIEF0dGVtcHQgdG8gZGlzY292ZXIgYSBjb25zdHJhaW50IG5ldHdvcmsgdGhhdCB3ZSdyZSB3aXJlZCB0by5cbm5vZGV0eXBlcyA9IFtcImNvbnN0cmFpbnRuZXR3b3JrXCJdXG5mb3Igbm9kZXR5cGUgaW4gbm9kZXR5cGVzOlxuICAgIG5ldHdvcmsgPSB0b29sdXRpbHMuZmluZE91dHB1dE5vZGVPZkJhc2VUeXBlKHNvcHNvbHZlciwgbm9kZXR5cGUpXG4gICAgaWYgbmV0d29yazpcbiAgICAgICAgcmV0dXJuIG5vZGUucmVsYXRpdmVQYXRoVG8obmV0d29yaylcblxucmV0dXJuIFwiLi4vLi5cIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFuZ3VhZ2UiOiAiUHl0aG9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFybXRlbXBsYXRlcyI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImluc2VydF9maXJzdCI6ICIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhcm10ZW1wbGF0ZXMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZvbGRlcjAiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJPYmplY3QgTWVyZ2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFybXRlbXBsYXRlcyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJfc2VwYXJhdG9yIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic2VwYXJhdG9yIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhZGRwYXRoIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiQWRkIFBhdGggQXR0cmlidXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInRvZ2dsZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY3JlYXRlcHJpbWdyb3VwcyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiQ3JlYXRlIFByaW1pdGl2ZSBHcm91cHMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAidG9nZ2xlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjcmVhdGVwcmltc3RyaW5nIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJDcmVhdGUgUGVyLVByaW1pdGl2ZSBQYXRoIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInRvZ2dsZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY3JlYXRlcHRncm91cHMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkNyZWF0ZSBQb2ludCBHcm91cHMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAidG9nZ2xlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjcmVhdGVwdHN0cmluZyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiQ3JlYXRlIFBlci1Qb2ludCBQYXRoIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInRvZ2dsZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaW52ZXJ0eGZvcm0iOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkludmVydCBUcmFuc2Zvcm0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAidG9nZ2xlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudW1vYmoiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJOdW1iZXIgb2YgT2JqZWN0cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhcm10ZW1wbGF0ZXMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJlbmFibGUjIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkVuYWJsZSBNZXJnZSAjIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJ0b2dnbGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHBhbmQjIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkV4cGFuZCBHcm91cCAjIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJ0b2dnbGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJncm91cCMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiR3JvdXAgIyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogInN0cmluZ190b2dnbGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9ianBhdGgjIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIk9iamVjdCAjIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAibm9ybWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BmaWx0ZXIiOiAiISFTT1AhISIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wcmVsYXRpdmUiOiAiLiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRvcl9wYXRoIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImZvbGRlcl9tdWx0aXBhcm1saXN0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYWNrIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJQYWNrIEdlb21ldHJ5IEJlZm9yZSBNZXJnaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInRvZ2dsZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aGF0dHJpYiI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6ICJvYmpuYW1lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiUGF0aCBBdHRyaWJ1dGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAibm9ybWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGl2b3QiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAiY2VudHJvaWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJQaXZvdCBMb2NhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfaXRlbXMiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJPcmlnaW4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRva2VuIjogIm9yaWdpbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkNlbnRyb2lkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0b2tlbiI6ICJjZW50cm9pZCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJub3JtYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAib3JkZXJlZF9tZW51IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwcmltZ3JvdXBwcmVmaXgiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAiX3ByaW1ncnBfIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiUHJpbWl0aXZlIEdyb3VwIFByZWZpeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJub3JtYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwdGdyb3VwcHJlZml4IjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogIl9wdGdycF8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJQb2ludCBHcm91cCBQcmVmaXgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAibm9ybWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmVyYm9zZWdyb3VwcyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiVmVyYm9zZSBHcm91cCBOYW1lcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJ0b2dnbGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZpZXdwb3J0bG9kIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogImZ1bGwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJEaXNwbGF5IEFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV9pdGVtcyI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkZ1bGwgR2VvbWV0cnkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRva2VuIjogImZ1bGwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJQb2ludCBDbG91ZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidG9rZW4iOiAicG9pbnRzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiQm91bmRpbmcgQm94IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0b2tlbiI6ICJib3giCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJDZW50cm9pZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidG9rZW4iOiAiY2VudHJvaWQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJIaWRkZW4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRva2VuIjogImhpZGRlbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJub3JtYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAib3JkZXJlZF9tZW51IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ4Zm9ybXBhdGgiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlRyYW5zZm9ybSBPYmplY3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAibm9ybWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BmaWx0ZXIiOiAiISFPQkohISIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcHJlbGF0aXZlIjogIi4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRvcl9wYXRoIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ4Zm9ybXR5cGUiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAib2JqZWN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiVHJhbnNmb3JtIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV9pdGVtcyI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIk5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRva2VuIjogIm5vbmUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJJbnRvIFRoaXMgT2JqZWN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0b2tlbiI6ICJsb2NhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkludG8gU3BlY2lmaWVkIE9iamVjdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidG9rZW4iOiAib2JqZWN0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogIm5vcm1hbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJvcmRlcmVkX21lbnUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImZvbGRlcl90YWJzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZvbGRlcjBfMSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkN1c3RvbSBQYXJhbWV0ZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhcm10ZW1wbGF0ZXMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVsbm9kZSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6ICIuLi8uLiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlJlbGF0aW9uc2hpcCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJub3JtYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGZpbHRlciI6ICIhIURPUCEhIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wcmVsYXRpdmUiOiAiLiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdG9yX3BhdGgiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImZvbGRlcl90YWJzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMS4wOCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEuODkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogIm9iamVjdF9tZXJnZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVtZXNoMSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZnJvbSI6ICJkb3BfZ2VvbWV0cnkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YXJnZXRzaXplIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iOiAiY2goXCIuLi8uLi8uLi8uLi8uLi9DT05UUk9MUy9yZW1lc2hfdGFyZ2V0X2xlbmd0aFwiKSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1LjIyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMy40OQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmVtZXNoOjoyLjAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInN3aXRjaDEiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZsYWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzcGxheSI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZW5kZXIiOiB0cnVlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZnJvbSI6ICJkb3BfZ2VvbWV0cnkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZnJvbSI6ICJyZW1lc2gxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaW5wdXQiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwcmVzc2lvbiI6ICIkRiAlIGNoKFwiLi4vLi4vLi4vLi4vLi4vQ09OVFJPTFMvcmVtZXNoX3N0ZXBcIikgPT0gMCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzLjc1LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtNS4wNAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3dpdGNoIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmcm9tIjogIkJBU0UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmlxdWVkYXRhbmFtZSI6IHRydWUKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgLTIuNSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIuMDQKICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic29wc29sdmVyOjoyLjAiLAogICAgICAgICAgICAgICAgICAgICAgICAidXNlcl9kYXRhIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgIndpcmVzdHlsZSI6ICJyb3VuZGVkIgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAic29wc29sdmVyMiI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImNoaWxkcmVuIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgImRvcF9nZW9tZXRyeSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29sb3IiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuNiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMC40LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZmxhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb2xvcmRlZmF1bHQiOiBmYWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYWRkZG9wb2JqZWN0bmFtZSI6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZG9ub3RzaW0iOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZG9wb3N4Zm9ybSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIjogImNoKFwiLi4vdHJhbnNmb3Jtc29wb3V0cHV0XCIpIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZG9wcGF0aCI6ICJgc3RhbXBzKFwiLi5cIiwgXCJET1BORVRcIiwgXCIuLi8uLlwiKWAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZG94Zm9ybSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIjogImNoKFwiLi4vdHJhbnNmb3Jtc29wb3V0cHV0XCIpIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VvZGF0YXBhdGgiOiAiYHN0YW1wcyhcIi4uXCIsIFwiREFUQU5BTUVcIiwgY2hzKFwiLi4vZGF0YXBhdGhcIikpYCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpbXBvcnRzdHlsZSI6ICJmZXRjaCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvYmpwYXR0ZXJuIjogImBzdGFtcHMoXCIuLlwiLCBcIk9CSklEXCIsIGFyZyhkb3Bub2Rlb2JqcyhcIi4uXCIpLDApKWAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicG9pbnR2ZWxzIjogIm5vbmUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMuNzUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xLjg2CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJkb3BpbXBvcnQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgImZlZWRiYWNrcyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29sb3IiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuNiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMC40LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZmxhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb2xvcmRlZmF1bHQiOiBmYWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGF0YXBhdGgiOiAiRmVlZGJhY2siLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZG9wcGF0aCI6ICJgc3RhbXBzKFwiLi5cIiwgXCJET1BORVRcIiwgXCIuLi8uLlwiKWAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib2JqcGF0dGVybiI6ICJgc3RhbXBzKFwiLi5cIiwgXCJPQkpJRFwiLCBhcmcoZG9wbm9kZW9ianMoXCIuLlwiKSwwKSlgIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlY29yZCI6ICJJbXBhY3RzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA4LjYyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMS45NgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZG9waW1wb3J0cmVjb3JkcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaW1wYWN0cyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29sb3IiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuNiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMC40LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZmxhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb2xvcmRlZmF1bHQiOiBmYWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGF0YXBhdGgiOiAiSW1wYWN0cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkb3BwYXRoIjogImBzdGFtcHMoXCIuLlwiLCBcIkRPUE5FVFwiLCBcIi4uLy4uXCIpYCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvYmpwYXR0ZXJuIjogImBzdGFtcHMoXCIuLlwiLCBcIk9CSklEXCIsIGFyZyhkb3Bub2Rlb2JqcyhcIi4uXCIpLDApKWAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVjb3JkIjogIkltcGFjdHMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDYuMzksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xLjg2CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJkb3BpbXBvcnRyZWNvcmRzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvYmplY3RfbWVyZ2UxIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bW9iaiI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZW5hYmxlIyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZpc2libGUiOiBmYWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cGFuZCMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2aXNpYmxlIjogZmFsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJncm91cCMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2aXNpYmxlIjogZmFsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvYmpwYXRoIyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogIi4uLy4uLy4uLy4uLy4uL3ZlbGx1bXNvbHZlcjEvZG9wbmV0MS9mb3JjZXMvc29wc29sdmVyMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2aXNpYmxlIjogZmFsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNS4yNiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTMuMTEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogIm9iamVjdF9tZXJnZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVsYXRpb25zaGlwX2dlb21ldHJ5IjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb2xvciI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMC42LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmbGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvbG9yZGVmYXVsdCI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudW1vYmoiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImVuYWJsZSMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2aXNpYmxlIjogZmFsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHBhbmQjIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ3JvdXAjIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib2JqcGF0aCMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6ICJgc3RhbXBzKFwiLi5cIiwgXCJEQVRBUEFUSFwiLCBjaHNvcChcInJlbG5vZGVcIikgKyBcIjpSZWxhdGlvbnNoaXBzL1wiICsgY2hzKGNoc29wKFwicmVsbm9kZVwiKSArIFwiL3JlbG5hbWVcIikgKyBcIi9cIiArIGNocyhjaHNvcChcInJlbG5vZGVcIikgKyBcIi9yZWxhdGlvbnNoaXAvZGF0YW5hbWVcIikgKyBcIi9HZW9tZXRyeVwiKWAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVsbm9kZSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIjogImltcG9ydCB0b29sdXRpbHNcblxubm9kZSA9IGhvdS5ub2RlKFwiLlwiKVxuc29wc29sdmVyID0gaG91Lm5vZGUoXCIuLlwiKVxuXG4jIEF0dGVtcHQgdG8gZGlzY292ZXIgYSBjb25zdHJhaW50IG5ldHdvcmsgdGhhdCB3ZSdyZSB3aXJlZCB0by5cbm5vZGV0eXBlcyA9IFtcImNvbnN0cmFpbnRuZXR3b3JrXCJdXG5mb3Igbm9kZXR5cGUgaW4gbm9kZXR5cGVzOlxuICAgIG5ldHdvcmsgPSB0b29sdXRpbHMuZmluZE91dHB1dE5vZGVPZkJhc2VUeXBlKHNvcHNvbHZlciwgbm9kZXR5cGUpXG4gICAgaWYgbmV0d29yazpcbiAgICAgICAgcmV0dXJuIG5vZGUucmVsYXRpdmVQYXRoVG8obmV0d29yaylcblxucmV0dXJuIFwiLi4vLi5cIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFuZ3VhZ2UiOiAiUHl0aG9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFybXRlbXBsYXRlcyI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImluc2VydF9maXJzdCI6ICIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhcm10ZW1wbGF0ZXMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZvbGRlcjAiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJPYmplY3QgTWVyZ2UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFybXRlbXBsYXRlcyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJfc2VwYXJhdG9yIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic2VwYXJhdG9yIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhZGRwYXRoIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiQWRkIFBhdGggQXR0cmlidXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInRvZ2dsZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY3JlYXRlcHJpbWdyb3VwcyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiQ3JlYXRlIFByaW1pdGl2ZSBHcm91cHMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAidG9nZ2xlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjcmVhdGVwcmltc3RyaW5nIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJDcmVhdGUgUGVyLVByaW1pdGl2ZSBQYXRoIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInRvZ2dsZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY3JlYXRlcHRncm91cHMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkNyZWF0ZSBQb2ludCBHcm91cHMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAidG9nZ2xlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjcmVhdGVwdHN0cmluZyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiQ3JlYXRlIFBlci1Qb2ludCBQYXRoIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInRvZ2dsZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaW52ZXJ0eGZvcm0iOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkludmVydCBUcmFuc2Zvcm0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAidG9nZ2xlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudW1vYmoiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJOdW1iZXIgb2YgT2JqZWN0cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhcm10ZW1wbGF0ZXMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJlbmFibGUjIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkVuYWJsZSBNZXJnZSAjIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJ0b2dnbGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHBhbmQjIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkV4cGFuZCBHcm91cCAjIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJ0b2dnbGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJncm91cCMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiR3JvdXAgIyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogInN0cmluZ190b2dnbGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9ianBhdGgjIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIk9iamVjdCAjIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAibm9ybWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BmaWx0ZXIiOiAiISFTT1AhISIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wcmVsYXRpdmUiOiAiLiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRvcl9wYXRoIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImZvbGRlcl9tdWx0aXBhcm1saXN0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYWNrIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJQYWNrIEdlb21ldHJ5IEJlZm9yZSBNZXJnaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInRvZ2dsZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0aGF0dHJpYiI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6ICJvYmpuYW1lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiUGF0aCBBdHRyaWJ1dGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAibm9ybWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGl2b3QiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAiY2VudHJvaWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJQaXZvdCBMb2NhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfaXRlbXMiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJPcmlnaW4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRva2VuIjogIm9yaWdpbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkNlbnRyb2lkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0b2tlbiI6ICJjZW50cm9pZCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJub3JtYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAib3JkZXJlZF9tZW51IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwcmltZ3JvdXBwcmVmaXgiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAiX3ByaW1ncnBfIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiUHJpbWl0aXZlIEdyb3VwIFByZWZpeCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJub3JtYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwdGdyb3VwcHJlZml4IjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogIl9wdGdycF8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJQb2ludCBHcm91cCBQcmVmaXgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAibm9ybWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmVyYm9zZWdyb3VwcyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiVmVyYm9zZSBHcm91cCBOYW1lcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJ0b2dnbGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZpZXdwb3J0bG9kIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogImZ1bGwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJEaXNwbGF5IEFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV9pdGVtcyI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkZ1bGwgR2VvbWV0cnkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRva2VuIjogImZ1bGwiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJQb2ludCBDbG91ZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidG9rZW4iOiAicG9pbnRzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiQm91bmRpbmcgQm94IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0b2tlbiI6ICJib3giCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJDZW50cm9pZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidG9rZW4iOiAiY2VudHJvaWQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJIaWRkZW4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRva2VuIjogImhpZGRlbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJub3JtYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAib3JkZXJlZF9tZW51IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ4Zm9ybXBhdGgiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlRyYW5zZm9ybSBPYmplY3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAibm9ybWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BmaWx0ZXIiOiAiISFPQkohISIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcHJlbGF0aXZlIjogIi4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRvcl9wYXRoIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ4Zm9ybXR5cGUiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAib2JqZWN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiVHJhbnNmb3JtIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV9pdGVtcyI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIk5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRva2VuIjogIm5vbmUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJJbnRvIFRoaXMgT2JqZWN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0b2tlbiI6ICJsb2NhbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkludG8gU3BlY2lmaWVkIE9iamVjdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidG9rZW4iOiAib2JqZWN0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogIm5vcm1hbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJvcmRlcmVkX21lbnUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImZvbGRlcl90YWJzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZvbGRlcjBfMSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkN1c3RvbSBQYXJhbWV0ZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhcm10ZW1wbGF0ZXMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVsbm9kZSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6ICIuLi8uLiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlJlbGF0aW9uc2hpcCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJub3JtYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGZpbHRlciI6ICIhIURPUCEhIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9wcmVsYXRpdmUiOiAiLiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogIm9wZXJhdG9yX3BhdGgiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImZvbGRlcl90YWJzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMS4wOCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEuODkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogIm9iamVjdF9tZXJnZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3dpdGNoMSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZmxhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXNwbGF5IjogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlbmRlciI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0ZW1wbGF0ZSI6IHRydWUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmcm9tIjogImRvcF9nZW9tZXRyeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmcm9tIjogInZlbGx1bWNsb3RoMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImlucHV0IjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iOiAiJEYgJSBjaChcIi4uLy4uLy4uLy4uLy4uL0NPTlRST0xTL3JlbWVzaF9zdGVwXCIpID09IDAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMy45MiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTUuOTcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN3aXRjaCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmVsbHVtY2xvdGgxIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmcm9tIjogIm9iamVjdF9tZXJnZTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJiZW5kc3RpZmZuZXNzZXhwIjogIi00IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvbnN0cmFpbnR0eXBlIjogImNsb3RoIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRvYmVuZGdycCI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkb2NvbXByZXNzIjogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRvbWFzcyI6ICJjYWxjdmFyeWluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkb3N0cmV0Y2hncnAiOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZG90aGlja25lc3MiOiAiY2FsY3VuaWZvcm0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGluZWFyIjogIm9mZiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNS4zOSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTQuNDUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInZlbGx1bWNvbnN0cmFpbnRzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmcm9tIjogInNvcHNvbHZlcjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkYXRhcGF0aCI6ICJDb25zdHJhaW50R2VvbWV0cnkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaXF1ZWRhdGFuYW1lIjogdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMi41LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMC40OAogICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzb3Bzb2x2ZXI6OjIuMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ1c2VyX2RhdGEiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAid2lyZXN0eWxlIjogInJvdW5kZWQiCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgInR5cGUiOiAic3VibmV0IiwKICAgICAgICAgICAgICAgICJ1c2VyX2RhdGEiOiB7CiAgICAgICAgICAgICAgICAgICAgIndpcmVzdHlsZSI6ICJyb3VuZGVkIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJ2ZWxsdW1jbG90aDEiLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJ2ZWxsdW1jbG90aDEiLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAxLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMQogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJ2ZWxsdW1jbG90aDEiLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAyLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMgogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICJncmF2aXR5IjogWwogICAgICAgICAgICAgICAgMCwKICAgICAgICAgICAgICAgIDAsCiAgICAgICAgICAgICAgICAwCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJyZXNpbXVsYXRlIjogewogICAgICAgICAgICAgICAgImV4cHJlc3Npb24iOiAiY2goXCIuLi9yZXNpbXVsYXRlXCIpIgogICAgICAgICAgICB9LAogICAgICAgICAgICAic3VyZmFjZXRlbnNpb24iOiAwLjAwMSwKICAgICAgICAgICAgInZpc2Nvc2l0eSI6IDAuNQogICAgICAgIH0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAyLjg2LAogICAgICAgICAgICAwLjAxCiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJ2ZWxsdW1zb2x2ZXIiCiAgICB9Cn0=
Inside Body Fluid Particles
Various particle shapes scattered in volume. Useful for adding details in macro scenes bio scenes. This recipe also show an example on how to randomly copy different geometry to points base on name attribute.
Nov 03, 2025 | 20.5.584 | geometry Cooked By: kif
ewogICAgIk9VVCI6IHsKICAgICAgICAiZmxhZ3MiOiB7CiAgICAgICAgICAgICJkaXNwbGF5IjogdHJ1ZSwKICAgICAgICAgICAgInJlbmRlciI6IHRydWUKICAgICAgICB9LAogICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogImNvcHl0b3BvaW50czEiLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDYuNDksCiAgICAgICAgICAgIC0xMC4zNAogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAibnVsbCIKICAgIH0sCiAgICAiX19jb29rYm9va01ldGEiOiB7CiAgICAgICAgImNvbnRleHQiOiAic29wIiwKICAgICAgICAidmVyc2lvbiI6ICIyMC41LjU4NCIKICAgIH0sCiAgICAiYXR0cmliYWRqdXN0aW50ZWdlcjEiOiB7CiAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImZyb20iOiAicHNjYWxlIiwKICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDAKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAiYXR0cmliIjogIm5hbWUiLAogICAgICAgICAgICAibWF4dmFsdWUiOiAzLAogICAgICAgICAgICAibnZhbHVlcyI6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAiZm9sZGVyM18jIjogewogICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAidmFsdWUjIjogewogICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAidmFsdWVzIyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInZpc2libGUiOiBmYWxzZQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgInZhbHVldHlwZSMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2aXNpYmxlIjogZmFsc2UKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJ3ZWlnaHQjIjogewogICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAiZm9sZGVyM18jIjogewogICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAidmFsdWUjIjogewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAxLAogICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAidmFsdWVzIyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInZpc2libGUiOiBmYWxzZQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgInZhbHVldHlwZSMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2aXNpYmxlIjogZmFsc2UKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJ3ZWlnaHQjIjogewogICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAiZm9sZGVyM18jIjogewogICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAidmFsdWUjIjogewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAyLAogICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAidmFsdWVzIyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInZpc2libGUiOiBmYWxzZQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgInZhbHVldHlwZSMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2aXNpYmxlIjogZmFsc2UKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJ3ZWlnaHQjIjogewogICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAiZm9sZGVyM18jIjogewogICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAidmFsdWUjIjogewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAzLAogICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAidmFsdWVzIyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInZpc2libGUiOiBmYWxzZQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgInZhbHVldHlwZSMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2aXNpYmxlIjogZmFsc2UKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJ3ZWlnaHQjIjogewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAwLjI5LAogICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICBdLAogICAgICAgICAgICAib3V0bGllcnNlZWQiOiA5MCwKICAgICAgICAgICAgInJhbmRvbXNlZWQiOiA1MiwKICAgICAgICAgICAgInJhbmdlbWV0aG9kIjogInNwZWNpZmljIiwKICAgICAgICAgICAgInJlbWFwcmFtcCI6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAiaW50ZXJwIjogImNvbnN0YW50IiwKICAgICAgICAgICAgICAgICAgICAicG9zIjogMCwKICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAwLjE2NjY2NjY3MTYzMzcyMDQKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgImludGVycCI6ICJjb25zdGFudCIsCiAgICAgICAgICAgICAgICAgICAgInBvcyI6IDAuMTM0OTA5NjAwMDE5NDU0OTYsCiAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogMC4zNzUKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgImludGVycCI6ICJjb25zdGFudCIsCiAgICAgICAgICAgICAgICAgICAgInBvcyI6IDAuNzkxMzc2ODg4NzUxOTgzNiwKICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAxCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJpbnRlcnAiOiAiY29uc3RhbnQiLAogICAgICAgICAgICAgICAgICAgICJwb3MiOiAxLAogICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6IDEKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgXSwKICAgICAgICAgICAgInZhbHVldHlwZSI6ICJyYW5kIgogICAgICAgIH0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAxMi4wNSwKICAgICAgICAgICAgLTcuMDIKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogImF0dHJpYmFkanVzdGludGVnZXIiCiAgICB9LAogICAgImNvcHl0b3BvaW50czEiOiB7CiAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImZyb20iOiAibWVyZ2VwYWNrZWQxIiwKICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDAKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImZyb20iOiAidXYiLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMQogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICJ0YXJnZXRhdHRyaWJzIjogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJhcHBseWF0dHJpYnMjIjogewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAiKixedixeQWxwaGEsXk4sXnVwLF5wc2NhbGUsXnNjYWxlLF5vcmllbnQsXnJvdCxecGl2b3QsXnRyYW5zLF50cmFuc2Zvcm0iLAogICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAiYXBwbHltZXRob2QjIjogewogICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAiYXBwbHl0byMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2aXNpYmxlIjogZmFsc2UKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJ1c2VhcHBseSMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2aXNpYmxlIjogZmFsc2UKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJhcHBseWF0dHJpYnMjIjogewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAiQWxwaGEiLAogICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAiYXBwbHltZXRob2QjIjogewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAibXVsdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2aXNpYmxlIjogZmFsc2UKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJhcHBseXRvIyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInZpc2libGUiOiBmYWxzZQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgInVzZWFwcGx5IyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInZpc2libGUiOiBmYWxzZQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgImFwcGx5YXR0cmlicyMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6ICJ2IiwKICAgICAgICAgICAgICAgICAgICAgICAgInZpc2libGUiOiBmYWxzZQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgImFwcGx5bWV0aG9kIyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogImFkZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2aXNpYmxlIjogZmFsc2UKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJhcHBseXRvIyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInZpc2libGUiOiBmYWxzZQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgInVzZWFwcGx5IyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInZpc2libGUiOiBmYWxzZQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgXSwKICAgICAgICAgICAgInVzZWlkYXR0cmliIjogdHJ1ZQogICAgICAgIH0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICA2LjQ5LAogICAgICAgICAgICAtOS4yNAogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAiY29weXRvcG9pbnRzOjoyLjAiCiAgICB9LAogICAgImRpdmlkZTEiOiB7CiAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImZyb20iOiAidHJhbnNmb3JtMSIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgMCwKICAgICAgICAgICAgMQogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAiZGl2aWRlIgogICAgfSwKICAgICJkaXZpZGUyIjogewogICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogIm1vdW50YWluMSIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgMy41MiwKICAgICAgICAgICAgMS4yNQogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAiZGl2aWRlIgogICAgfSwKICAgICJkaXZpZGUzIjogewogICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogIm1vdW50YWluMyIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgNi42NiwKICAgICAgICAgICAgMC41MwogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAiZGl2aWRlIgogICAgfSwKICAgICJkaXZpZGU0IjogewogICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogInRyYW5zZm9ybTIiLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDkuNDYsCiAgICAgICAgICAgIDAuNzgKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogImRpdmlkZSIKICAgIH0sCiAgICAiaXNvb2Zmc2V0MSI6IHsKICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJzcGhlcmUxIiwKICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDAKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAic2FtcGxlZGl2IjogNTAKICAgICAgICB9LAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgMTIuMDUsCiAgICAgICAgICAgIC0zLjAyCiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJpc29vZmZzZXQiCiAgICB9LAogICAgIm1lcmdlcGFja2VkMSI6IHsKICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJub3JtYWwzIiwKICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDAKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImZyb20iOiAibm9ybWFsMiIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAxCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogImRpdmlkZTMiLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMgogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJub3JtYWw0IiwKICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDMKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAibmFtZXMiOiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIm5hbWUjIjogewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAiaGFpciIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2aXNpYmxlIjogZmFsc2UKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJ0cmVhdGFzZm9sZGVyIyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInZpc2libGUiOiBmYWxzZQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgInVzZWlucHV0IyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInZpc2libGUiOiBmYWxzZQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIm5hbWUjIjogewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAiY2VsbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2aXNpYmxlIjogZmFsc2UKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJ0cmVhdGFzZm9sZGVyIyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInZpc2libGUiOiBmYWxzZQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgInVzZWlucHV0IyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInZpc2libGUiOiBmYWxzZQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIm5hbWUjIjogewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAic3BlYyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2aXNpYmxlIjogZmFsc2UKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJ0cmVhdGFzZm9sZGVyIyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInZpc2libGUiOiBmYWxzZQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgInVzZWlucHV0IyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInZpc2libGUiOiBmYWxzZQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIm5hbWUjIjogewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAiZG5hIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZpc2libGUiOiBmYWxzZQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgInRyZWF0YXNmb2xkZXIjIjogewogICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAidXNlaW5wdXQjIjogewogICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICBdCiAgICAgICAgfSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDYuMjksCiAgICAgICAgICAgIC0zLjUKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogIm1lcmdlcGFja2VkIgogICAgfSwKICAgICJtb3VudGFpbjEiOiB7CiAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImZyb20iOiAic3BoZXJlMiIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgImFtcGxpdHVkZSI6IDAuMjUsCiAgICAgICAgICAgICJhdHRyaWJzIjogIlAiLAogICAgICAgICAgICAiZGlzcGxhY2UiOiB0cnVlLAogICAgICAgICAgICAiZWxlbWVudHNpemUiOiAwLjQ1LAogICAgICAgICAgICAiZnJhY3RhbCI6ICJobWZUIiwKICAgICAgICAgICAgIm5vaXNlcmFuZ2UiOiAiemNlbnRlcmVkIiwKICAgICAgICAgICAgIm9jdCI6IDgsCiAgICAgICAgICAgICJyb3VnaCI6IDAuNAogICAgICAgIH0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAzLjUyLAogICAgICAgICAgICAyLjI1CiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJhdHRyaWJub2lzZTo6Mi4wIgogICAgfSwKICAgICJtb3VudGFpbjIiOiB7CiAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImZyb20iOiAic3BpcmFsMiIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgImFtcGxpdHVkZSI6IDAuMSwKICAgICAgICAgICAgImF0dHJpYnMiOiAiUCIsCiAgICAgICAgICAgICJkaXNwbGFjZSI6IHRydWUsCiAgICAgICAgICAgICJlbGVtZW50c2l6ZSI6IDAuNzMsCiAgICAgICAgICAgICJmcmFjdGFsIjogImhtZlQiLAogICAgICAgICAgICAibGFjIjogMS4yMzcsCiAgICAgICAgICAgICJub2lzZXJhbmdlIjogInpjZW50ZXJlZCIsCiAgICAgICAgICAgICJvY3QiOiAxLAogICAgICAgICAgICAicm91Z2giOiAwLjEzNwogICAgICAgIH0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICA5LjQ2LAogICAgICAgICAgICAzLjc4CiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJhdHRyaWJub2lzZTo6Mi4wIgogICAgfSwKICAgICJtb3VudGFpbjMiOiB7CiAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImZyb20iOiAic3BlYyIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgImFtcGxpdHVkZSI6IDAuMSwKICAgICAgICAgICAgImF0dHJpYnMiOiAiUCIsCiAgICAgICAgICAgICJkaXNwbGFjZSI6IHRydWUsCiAgICAgICAgICAgICJlbGVtZW50c2l6ZSI6IDAuMDksCiAgICAgICAgICAgICJmcmFjdGFsIjogImhtZlQiLAogICAgICAgICAgICAibm9pc2VyYW5nZSI6ICJ6Y2VudGVyZWQiLAogICAgICAgICAgICAib2N0IjogOCwKICAgICAgICAgICAgIm9mZnNldCI6IDYsCiAgICAgICAgICAgICJvdXRwdXRyYXciOiBmYWxzZSwKICAgICAgICAgICAgInJvdWdoIjogMC40CiAgICAgICAgfSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDYuNjYsCiAgICAgICAgICAgIDEuNTMKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogImF0dHJpYm5vaXNlOjoyLjAiCiAgICB9LAogICAgIm5vcm1hbDIiOiB7CiAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImZyb20iOiAiZGl2aWRlMiIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgImN1c3BhbmdsZSI6IDEzMC43CiAgICAgICAgfSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDMuNTIsCiAgICAgICAgICAgIDAuMjUKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogIm5vcm1hbCIKICAgIH0sCiAgICAibm9ybWFsMyI6IHsKICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJkaXZpZGUxIiwKICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDAKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAiY3VzcGFuZ2xlIjogMTE2LjUKICAgICAgICB9LAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgMCwKICAgICAgICAgICAgMAogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAibm9ybWFsIgogICAgfSwKICAgICJub3JtYWw0IjogewogICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogImRpdmlkZTQiLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICJjdXNwYW5nbGUiOiAxMTYuNQogICAgICAgIH0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICA5LjQ2LAogICAgICAgICAgICAtMC4yMgogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAibm9ybWFsIgogICAgfSwKICAgICJvcmllbnQiOiB7CiAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImZyb20iOiAic2NhdHRlcjEiLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICJkaW1lbnNpb25zIjogNCwKICAgICAgICAgICAgIm5hbWUiOiAib3JpZW50IiwKICAgICAgICAgICAgInNlZWQiOiA1NTA4CiAgICAgICAgfSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDEyLjA0LAogICAgICAgICAgICAtNS4wMgogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAiYXR0cmlicmFuZG9taXplIgogICAgfSwKICAgICJwc2NhbGUiOiB7CiAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImZyb20iOiAib3JpZW50IiwKICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDAKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAiZGltZW5zaW9ucyI6IDEsCiAgICAgICAgICAgICJkaXN0cmlidXRpb24iOiAicmFtcCIsCiAgICAgICAgICAgICJuYW1lIjogInBzY2FsZSIsCiAgICAgICAgICAgICJyYW1wIjogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJpbnRlcnAiOiAiY29uc3RhbnQiLAogICAgICAgICAgICAgICAgICAgICJwb3MiOiAwLAogICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6IDAuMjUKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgImludGVycCI6ICJjb25zdGFudCIsCiAgICAgICAgICAgICAgICAgICAgInBvcyI6IDAuMDg2MjMwODc0MDYxNTg0NDcsCiAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogMC40Mzc1CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJpbnRlcnAiOiAiY29uc3RhbnQiLAogICAgICAgICAgICAgICAgICAgICJwb3MiOiAwLjkyMjExNDA3NDIzMDE5NDEsCiAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogMQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAiaW50ZXJwIjogImNvbnN0YW50IiwKICAgICAgICAgICAgICAgICAgICAicG9zIjogMSwKICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAxCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJzY2FsZSI6IDAuNiwKICAgICAgICAgICAgInNlZWQiOiA1NjI2CiAgICAgICAgfSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDEyLjA0LAogICAgICAgICAgICAtNi4wMgogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAiYXR0cmlicmFuZG9taXplIgogICAgfSwKICAgICJzY2F0dGVyMSI6IHsKICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJpc29vZmZzZXQxIiwKICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDAKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAibnB0cyI6IDUwLAogICAgICAgICAgICAicmVsYXhpdGVyYXRpb25zIjogMiwKICAgICAgICAgICAgInNjYWxlcmFkaWlieSI6IDAuNjIyCiAgICAgICAgfSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDEyLjA1LAogICAgICAgICAgICAtNC4wMgogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAic2NhdHRlcjo6Mi4wIgogICAgfSwKICAgICJzcGVjIjogewogICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgImRpdnMiOiA5LAogICAgICAgICAgICAicmFkIjogWwogICAgICAgICAgICAgICAgMC4wMSwKICAgICAgICAgICAgICAgIDAuMDEKICAgICAgICAgICAgXSwKICAgICAgICAgICAgInJldmVyc2UiOiBmYWxzZSwKICAgICAgICAgICAgInR5cGUiOiAicG9seSIKICAgICAgICB9LAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgNi42NiwKICAgICAgICAgICAgMi41MwogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAiY2lyY2xlIgogICAgfSwKICAgICJzcGhlcmUxIjogewogICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgInJhZCI6IFsKICAgICAgICAgICAgICAgIDIsCiAgICAgICAgICAgICAgICAyLAogICAgICAgICAgICAgICAgMgogICAgICAgICAgICBdLAogICAgICAgICAgICAidHlwZSI6ICJwb2x5bWVzaCIKICAgICAgICB9LAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgMTIuMDUsCiAgICAgICAgICAgIC0yLjAyCiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJzcGhlcmUiCiAgICB9LAogICAgInNwaGVyZTIiOiB7CiAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAicmFkIjogWwogICAgICAgICAgICAgICAgMC41LAogICAgICAgICAgICAgICAgMC41LAogICAgICAgICAgICAgICAgMC41CiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJzY2FsZSI6IDAuMDUsCiAgICAgICAgICAgICJ0eXBlIjogInBvbHkiCiAgICAgICAgfSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDMuNTIsCiAgICAgICAgICAgIDMuMjUKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogInNwaGVyZSIKICAgIH0sCiAgICAic3BpcmFsMSI6IHsKICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICJkaXZzcGVydHVybiI6IDE2LAogICAgICAgICAgICAiaGVpZ2h0IjogMS41NiwKICAgICAgICAgICAgInJhZGl1c2luY3JlYXNlcGVydHVybiI6IDAuMjkxNjY2NjY2NjY2NjY2NywKICAgICAgICAgICAgInR1cm5zIjogMC43NQogICAgICAgIH0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAwLAogICAgICAgICAgICA0CiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJzcGlyYWwiCiAgICB9LAogICAgInNwaXJhbDIiOiB7CiAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAiZGl2c3BlcnR1cm4iOiAxNiwKICAgICAgICAgICAgImhlaWdodCI6IDIuMTIsCiAgICAgICAgICAgICJyYWRpdXNpbmNyZWFzZXBlcnR1cm4iOiAwLjA4LAogICAgICAgICAgICAic3RhcnRyYWRpdXMiOiAwLjI5LAogICAgICAgICAgICAidHVybnMiOiAyLjA3CiAgICAgICAgfSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDkuNDYsCiAgICAgICAgICAgIDQuNzgKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogInNwaXJhbCIKICAgIH0sCiAgICAic3dlZXAxIjogewogICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogInNwaXJhbDEiLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICJhcHBseXNjYWxlIjogdHJ1ZSwKICAgICAgICAgICAgImNhcGRpdnMiOiAxLAogICAgICAgICAgICAiY2Fwc2NhbGUiOiAwLAogICAgICAgICAgICAiY29scyI6IDUsCiAgICAgICAgICAgICJjb21wdXRldXZzIjogdHJ1ZSwKICAgICAgICAgICAgImVuZGNhcHR5cGUiOiAiZ3JpZCIsCiAgICAgICAgICAgICJyYWRpdXMiOiAwLjAxNSwKICAgICAgICAgICAgInNjYWxlcmFtcCI6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAiaW50ZXJwIjogImJlemllciIsCiAgICAgICAgICAgICAgICAgICAgInBvcyI6IDAsCiAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogMC4yMDgzMzMzMjgzNjYyNzk2CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJpbnRlcnAiOiAiYmV6aWVyIiwKICAgICAgICAgICAgICAgICAgICAicG9zIjogMC41MTQ2MDM2MTQ4MDcxMjg5LAogICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6IDEKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgImludGVycCI6ICJiZXppZXIiLAogICAgICAgICAgICAgICAgICAgICJwb3MiOiAxLAogICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6IDAuMTI1MDAwMDE0OTAxMTYxMgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICBdLAogICAgICAgICAgICAic3VyZmFjZXNoYXBlIjogInR1YmUiCiAgICAgICAgfSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDAsCiAgICAgICAgICAgIDMKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogInN3ZWVwOjoyLjAiCiAgICB9LAogICAgInN3ZWVwMiI6IHsKICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJtb3VudGFpbjIiLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICJhcHBseXNjYWxlIjogdHJ1ZSwKICAgICAgICAgICAgImNhcGRpdnMiOiAxLAogICAgICAgICAgICAiY2Fwc2NhbGUiOiAwLAogICAgICAgICAgICAiY29scyI6IDUsCiAgICAgICAgICAgICJjb21wdXRldXZzIjogdHJ1ZSwKICAgICAgICAgICAgImVuZGNhcHR5cGUiOiAiZ3JpZCIsCiAgICAgICAgICAgICJyYWRpdXMiOiAwLjAxNSwKICAgICAgICAgICAgInNjYWxlcmFtcCI6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAiaW50ZXJwIjogImJlemllciIsCiAgICAgICAgICAgICAgICAgICAgInBvcyI6IDAsCiAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogMC4yMDgzMzMzMjgzNjYyNzk2CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJpbnRlcnAiOiAiYmV6aWVyIiwKICAgICAgICAgICAgICAgICAgICAicG9zIjogMC41MTQ2MDM2MTQ4MDcxMjg5LAogICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6IDEKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgImludGVycCI6ICJiZXppZXIiLAogICAgICAgICAgICAgICAgICAgICJwb3MiOiAxLAogICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6IDAuMTI1MDAwMDE0OTAxMTYxMgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICBdLAogICAgICAgICAgICAic3VyZmFjZXNoYXBlIjogInR1YmUiCiAgICAgICAgfSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDkuNDYsCiAgICAgICAgICAgIDIuNzgKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogInN3ZWVwOjoyLjAiCiAgICB9LAogICAgInRyYW5zZm9ybTEiOiB7CiAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImZyb20iOiAic3dlZXAxIiwKICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogMCwKICAgICAgICAgICAgICAgICJ0b19pbmRleCI6IDAKICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAic2NhbGUiOiAwLjM1CiAgICAgICAgfSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDAsCiAgICAgICAgICAgIDIKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogInhmb3JtIgogICAgfSwKICAgICJ0cmFuc2Zvcm0yIjogewogICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogInN3ZWVwMiIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgInNjYWxlIjogMC4zNQogICAgICAgIH0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICA5LjQ2LAogICAgICAgICAgICAxLjc4CiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJ4Zm9ybSIKICAgIH0sCiAgICAidXYiOiB7CiAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImZyb20iOiAiYXR0cmliYWRqdXN0aW50ZWdlcjEiLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICJzbmlwcGV0IjogInZAdXYgPSBzZXQoQHB0bnVtIC8gZmxvYXQoQG51bXB0KSwgMCk7IgogICAgICAgIH0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAxMi4wNCwKICAgICAgICAgICAgLTguMDYKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogImF0dHJpYndyYW5nbGUiCiAgICB9Cn0=