/**
 * Foundation for Sites by ZURB
 * Version 6.5.1
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%; }

body {
  margin: 0; }

h1 {
  font-size: 2em;
  margin: 0.67em 0; }

hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  height: 0;
  overflow: visible; }

pre {
  font-family: monospace, monospace;
  font-size: 1em; }

a {
  background-color: transparent; }

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; }

b,
strong {
  font-weight: bolder; }

code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

small {
  font-size: 80%; }

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

img {
  border-style: none; }

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0; }

button,
input {
  overflow: visible; }

button,
select {
  text-transform: none; }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; }

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

fieldset {
  padding: 0.35em 0.75em 0.625em; }

legend {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal; }

progress {
  vertical-align: baseline; }

textarea {
  overflow: auto; }

[type="checkbox"],
[type="radio"] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0; }

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px; }

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit; }

details {
  display: block; }

summary {
  display: list-item; }

template {
  display: none; }

[hidden] {
  display: none; }

.foundation-mq {
  font-family: "small=0em&mobile=30em&medium=40em&tablet=46.25em&large=64em&xlarge=75em&xxlarge=90em"; }

html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 100%; }

*,
*::before,
*::after {
  -webkit-box-sizing: inherit;
          box-sizing: inherit; }

body {
  margin: 0;
  padding: 0;
  background: #fff;
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-weight: normal;
  line-height: 1.5;
  color: #000;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

img {
  display: inline-block;
  vertical-align: middle;
  max-width: 100%;
  height: auto;
  -ms-interpolation-mode: bicubic; }

textarea {
  height: auto;
  min-height: 50px;
  border-radius: 0; }

select {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  border-radius: 0; }

.map_canvas img,
.map_canvas embed,
.map_canvas object,
.mqa-display img,
.mqa-display embed,
.mqa-display object {
  max-width: none !important; }

button {
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  border-radius: 0;
  background: transparent;
  line-height: 1;
  cursor: auto; }
  [data-whatinput='mouse'] button {
    outline: 0; }

pre {
  overflow: auto; }

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; }

.is-visible {
  display: block !important; }

.is-hidden {
  display: none !important; }

.row {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto;
  clear: both;
  content: "";
  display: table; }
  .row.collapse > .column, .row.collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .row .row {
    margin-right: -0.625rem;
    margin-left: -0.625rem; }
    @media print, screen and (min-width: 40em) {
      .row .row {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    @media print, screen and (min-width: 64em) {
      .row .row {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    .row .row.collapse {
      margin-right: 0;
      margin-left: 0; }
  .row.expanded {
    max-width: none; }
    .row.expanded .row {
      margin-right: auto;
      margin-left: auto; }
  .row:not(.expanded) .row {
    max-width: none; }
  .row.gutter-small > .column, .row.gutter-small > .columns {
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
  .row.gutter-medium > .column, .row.gutter-medium > .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }

.column, .columns {
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .column, .columns {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .column, .columns, .column:last-child:not(:first-child), .columns:last-child:not(:first-child) {
    float: left;
    clear: none; }
  .column:last-child:not(:first-child), .columns:last-child:not(:first-child) {
    float: right; }
  .column.end:last-child:last-child, .end.columns:last-child:last-child {
    float: left; }

.column.row.row, .row.row.columns {
  float: none; }

.row .column.row.row, .row .row.row.columns {
  margin-right: 0;
  margin-left: 0;
  padding-right: 0;
  padding-left: 0; }

.small-1 {
  width: 8.33333%; }

.small-push-1 {
  position: relative;
  left: 8.33333%; }

.small-pull-1 {
  position: relative;
  left: -8.33333%; }

.small-offset-0 {
  margin-left: 0%; }

.small-2 {
  width: 16.66667%; }

.small-push-2 {
  position: relative;
  left: 16.66667%; }

.small-pull-2 {
  position: relative;
  left: -16.66667%; }

.small-offset-1 {
  margin-left: 8.33333%; }

.small-3 {
  width: 25%; }

.small-push-3 {
  position: relative;
  left: 25%; }

.small-pull-3 {
  position: relative;
  left: -25%; }

.small-offset-2 {
  margin-left: 16.66667%; }

.small-4 {
  width: 33.33333%; }

.small-push-4 {
  position: relative;
  left: 33.33333%; }

.small-pull-4 {
  position: relative;
  left: -33.33333%; }

.small-offset-3 {
  margin-left: 25%; }

.small-5 {
  width: 41.66667%; }

.small-push-5 {
  position: relative;
  left: 41.66667%; }

.small-pull-5 {
  position: relative;
  left: -41.66667%; }

.small-offset-4 {
  margin-left: 33.33333%; }

.small-6 {
  width: 50%; }

.small-push-6 {
  position: relative;
  left: 50%; }

.small-pull-6 {
  position: relative;
  left: -50%; }

.small-offset-5 {
  margin-left: 41.66667%; }

.small-7 {
  width: 58.33333%; }

.small-push-7 {
  position: relative;
  left: 58.33333%; }

.small-pull-7 {
  position: relative;
  left: -58.33333%; }

.small-offset-6 {
  margin-left: 50%; }

.small-8 {
  width: 66.66667%; }

.small-push-8 {
  position: relative;
  left: 66.66667%; }

.small-pull-8 {
  position: relative;
  left: -66.66667%; }

.small-offset-7 {
  margin-left: 58.33333%; }

.small-9 {
  width: 75%; }

.small-push-9 {
  position: relative;
  left: 75%; }

.small-pull-9 {
  position: relative;
  left: -75%; }

.small-offset-8 {
  margin-left: 66.66667%; }

.small-10 {
  width: 83.33333%; }

.small-push-10 {
  position: relative;
  left: 83.33333%; }

.small-pull-10 {
  position: relative;
  left: -83.33333%; }

.small-offset-9 {
  margin-left: 75%; }

.small-11 {
  width: 91.66667%; }

.small-push-11 {
  position: relative;
  left: 91.66667%; }

.small-pull-11 {
  position: relative;
  left: -91.66667%; }

.small-offset-10 {
  margin-left: 83.33333%; }

.small-12 {
  width: 100%; }

.small-offset-11 {
  margin-left: 91.66667%; }

.small-up-1 > .column, .small-up-1 > .columns {
  float: left;
  width: 100%; }
  .small-up-1 > .column:nth-of-type(1n), .small-up-1 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-1 > .column:nth-of-type(1n+1), .small-up-1 > .columns:nth-of-type(1n+1) {
    clear: both; }
  .small-up-1 > .column:last-child, .small-up-1 > .columns:last-child {
    float: left; }

.small-up-2 > .column, .small-up-2 > .columns {
  float: left;
  width: 50%; }
  .small-up-2 > .column:nth-of-type(1n), .small-up-2 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-2 > .column:nth-of-type(2n+1), .small-up-2 > .columns:nth-of-type(2n+1) {
    clear: both; }
  .small-up-2 > .column:last-child, .small-up-2 > .columns:last-child {
    float: left; }

.small-up-3 > .column, .small-up-3 > .columns {
  float: left;
  width: 33.33333%; }
  .small-up-3 > .column:nth-of-type(1n), .small-up-3 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-3 > .column:nth-of-type(3n+1), .small-up-3 > .columns:nth-of-type(3n+1) {
    clear: both; }
  .small-up-3 > .column:last-child, .small-up-3 > .columns:last-child {
    float: left; }

.small-up-4 > .column, .small-up-4 > .columns {
  float: left;
  width: 25%; }
  .small-up-4 > .column:nth-of-type(1n), .small-up-4 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-4 > .column:nth-of-type(4n+1), .small-up-4 > .columns:nth-of-type(4n+1) {
    clear: both; }
  .small-up-4 > .column:last-child, .small-up-4 > .columns:last-child {
    float: left; }

.small-up-5 > .column, .small-up-5 > .columns {
  float: left;
  width: 20%; }
  .small-up-5 > .column:nth-of-type(1n), .small-up-5 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-5 > .column:nth-of-type(5n+1), .small-up-5 > .columns:nth-of-type(5n+1) {
    clear: both; }
  .small-up-5 > .column:last-child, .small-up-5 > .columns:last-child {
    float: left; }

.small-up-6 > .column, .small-up-6 > .columns {
  float: left;
  width: 16.66667%; }
  .small-up-6 > .column:nth-of-type(1n), .small-up-6 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-6 > .column:nth-of-type(6n+1), .small-up-6 > .columns:nth-of-type(6n+1) {
    clear: both; }
  .small-up-6 > .column:last-child, .small-up-6 > .columns:last-child {
    float: left; }

.small-up-7 > .column, .small-up-7 > .columns {
  float: left;
  width: 14.28571%; }
  .small-up-7 > .column:nth-of-type(1n), .small-up-7 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-7 > .column:nth-of-type(7n+1), .small-up-7 > .columns:nth-of-type(7n+1) {
    clear: both; }
  .small-up-7 > .column:last-child, .small-up-7 > .columns:last-child {
    float: left; }

.small-up-8 > .column, .small-up-8 > .columns {
  float: left;
  width: 12.5%; }
  .small-up-8 > .column:nth-of-type(1n), .small-up-8 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-8 > .column:nth-of-type(8n+1), .small-up-8 > .columns:nth-of-type(8n+1) {
    clear: both; }
  .small-up-8 > .column:last-child, .small-up-8 > .columns:last-child {
    float: left; }

.small-collapse > .column, .small-collapse > .columns {
  padding-right: 0;
  padding-left: 0; }

.small-collapse .row {
  margin-right: 0;
  margin-left: 0; }

.expanded.row .small-collapse.row {
  margin-right: 0;
  margin-left: 0; }

.small-uncollapse > .column, .small-uncollapse > .columns {
  padding-right: 0.625rem;
  padding-left: 0.625rem; }

.small-centered {
  margin-right: auto;
  margin-left: auto; }
  .small-centered, .small-centered:last-child:not(:first-child) {
    float: none;
    clear: both; }

.small-uncentered,
.small-push-0,
.small-pull-0 {
  position: static;
  margin-right: 0;
  margin-left: 0; }
  .small-uncentered, .small-uncentered:last-child:not(:first-child),
  .small-push-0,
  .small-push-0:last-child:not(:first-child),
  .small-pull-0,
  .small-pull-0:last-child:not(:first-child) {
    float: left;
    clear: none; }
  .small-uncentered:last-child:not(:first-child),
  .small-push-0:last-child:not(:first-child),
  .small-pull-0:last-child:not(:first-child) {
    float: right; }

@media print, screen and (min-width: 40em) {
  .medium-1 {
    width: 8.33333%; }
  .medium-push-1 {
    position: relative;
    left: 8.33333%; }
  .medium-pull-1 {
    position: relative;
    left: -8.33333%; }
  .medium-offset-0 {
    margin-left: 0%; }
  .medium-2 {
    width: 16.66667%; }
  .medium-push-2 {
    position: relative;
    left: 16.66667%; }
  .medium-pull-2 {
    position: relative;
    left: -16.66667%; }
  .medium-offset-1 {
    margin-left: 8.33333%; }
  .medium-3 {
    width: 25%; }
  .medium-push-3 {
    position: relative;
    left: 25%; }
  .medium-pull-3 {
    position: relative;
    left: -25%; }
  .medium-offset-2 {
    margin-left: 16.66667%; }
  .medium-4 {
    width: 33.33333%; }
  .medium-push-4 {
    position: relative;
    left: 33.33333%; }
  .medium-pull-4 {
    position: relative;
    left: -33.33333%; }
  .medium-offset-3 {
    margin-left: 25%; }
  .medium-5 {
    width: 41.66667%; }
  .medium-push-5 {
    position: relative;
    left: 41.66667%; }
  .medium-pull-5 {
    position: relative;
    left: -41.66667%; }
  .medium-offset-4 {
    margin-left: 33.33333%; }
  .medium-6 {
    width: 50%; }
  .medium-push-6 {
    position: relative;
    left: 50%; }
  .medium-pull-6 {
    position: relative;
    left: -50%; }
  .medium-offset-5 {
    margin-left: 41.66667%; }
  .medium-7 {
    width: 58.33333%; }
  .medium-push-7 {
    position: relative;
    left: 58.33333%; }
  .medium-pull-7 {
    position: relative;
    left: -58.33333%; }
  .medium-offset-6 {
    margin-left: 50%; }
  .medium-8 {
    width: 66.66667%; }
  .medium-push-8 {
    position: relative;
    left: 66.66667%; }
  .medium-pull-8 {
    position: relative;
    left: -66.66667%; }
  .medium-offset-7 {
    margin-left: 58.33333%; }
  .medium-9 {
    width: 75%; }
  .medium-push-9 {
    position: relative;
    left: 75%; }
  .medium-pull-9 {
    position: relative;
    left: -75%; }
  .medium-offset-8 {
    margin-left: 66.66667%; }
  .medium-10 {
    width: 83.33333%; }
  .medium-push-10 {
    position: relative;
    left: 83.33333%; }
  .medium-pull-10 {
    position: relative;
    left: -83.33333%; }
  .medium-offset-9 {
    margin-left: 75%; }
  .medium-11 {
    width: 91.66667%; }
  .medium-push-11 {
    position: relative;
    left: 91.66667%; }
  .medium-pull-11 {
    position: relative;
    left: -91.66667%; }
  .medium-offset-10 {
    margin-left: 83.33333%; }
  .medium-12 {
    width: 100%; }
  .medium-offset-11 {
    margin-left: 91.66667%; }
  .medium-up-1 > .column, .medium-up-1 > .columns {
    float: left;
    width: 100%; }
    .medium-up-1 > .column:nth-of-type(1n), .medium-up-1 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-1 > .column:nth-of-type(1n+1), .medium-up-1 > .columns:nth-of-type(1n+1) {
      clear: both; }
    .medium-up-1 > .column:last-child, .medium-up-1 > .columns:last-child {
      float: left; }
  .medium-up-2 > .column, .medium-up-2 > .columns {
    float: left;
    width: 50%; }
    .medium-up-2 > .column:nth-of-type(1n), .medium-up-2 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-2 > .column:nth-of-type(2n+1), .medium-up-2 > .columns:nth-of-type(2n+1) {
      clear: both; }
    .medium-up-2 > .column:last-child, .medium-up-2 > .columns:last-child {
      float: left; }
  .medium-up-3 > .column, .medium-up-3 > .columns {
    float: left;
    width: 33.33333%; }
    .medium-up-3 > .column:nth-of-type(1n), .medium-up-3 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-3 > .column:nth-of-type(3n+1), .medium-up-3 > .columns:nth-of-type(3n+1) {
      clear: both; }
    .medium-up-3 > .column:last-child, .medium-up-3 > .columns:last-child {
      float: left; }
  .medium-up-4 > .column, .medium-up-4 > .columns {
    float: left;
    width: 25%; }
    .medium-up-4 > .column:nth-of-type(1n), .medium-up-4 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-4 > .column:nth-of-type(4n+1), .medium-up-4 > .columns:nth-of-type(4n+1) {
      clear: both; }
    .medium-up-4 > .column:last-child, .medium-up-4 > .columns:last-child {
      float: left; }
  .medium-up-5 > .column, .medium-up-5 > .columns {
    float: left;
    width: 20%; }
    .medium-up-5 > .column:nth-of-type(1n), .medium-up-5 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-5 > .column:nth-of-type(5n+1), .medium-up-5 > .columns:nth-of-type(5n+1) {
      clear: both; }
    .medium-up-5 > .column:last-child, .medium-up-5 > .columns:last-child {
      float: left; }
  .medium-up-6 > .column, .medium-up-6 > .columns {
    float: left;
    width: 16.66667%; }
    .medium-up-6 > .column:nth-of-type(1n), .medium-up-6 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-6 > .column:nth-of-type(6n+1), .medium-up-6 > .columns:nth-of-type(6n+1) {
      clear: both; }
    .medium-up-6 > .column:last-child, .medium-up-6 > .columns:last-child {
      float: left; }
  .medium-up-7 > .column, .medium-up-7 > .columns {
    float: left;
    width: 14.28571%; }
    .medium-up-7 > .column:nth-of-type(1n), .medium-up-7 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-7 > .column:nth-of-type(7n+1), .medium-up-7 > .columns:nth-of-type(7n+1) {
      clear: both; }
    .medium-up-7 > .column:last-child, .medium-up-7 > .columns:last-child {
      float: left; }
  .medium-up-8 > .column, .medium-up-8 > .columns {
    float: left;
    width: 12.5%; }
    .medium-up-8 > .column:nth-of-type(1n), .medium-up-8 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-8 > .column:nth-of-type(8n+1), .medium-up-8 > .columns:nth-of-type(8n+1) {
      clear: both; }
    .medium-up-8 > .column:last-child, .medium-up-8 > .columns:last-child {
      float: left; }
  .medium-collapse > .column, .medium-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .medium-collapse .row {
    margin-right: 0;
    margin-left: 0; }
  .expanded.row .medium-collapse.row {
    margin-right: 0;
    margin-left: 0; }
  .medium-uncollapse > .column, .medium-uncollapse > .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
  .medium-centered {
    margin-right: auto;
    margin-left: auto; }
    .medium-centered, .medium-centered:last-child:not(:first-child) {
      float: none;
      clear: both; }
  .medium-uncentered,
  .medium-push-0,
  .medium-pull-0 {
    position: static;
    margin-right: 0;
    margin-left: 0; }
    .medium-uncentered, .medium-uncentered:last-child:not(:first-child),
    .medium-push-0,
    .medium-push-0:last-child:not(:first-child),
    .medium-pull-0,
    .medium-pull-0:last-child:not(:first-child) {
      float: left;
      clear: none; }
    .medium-uncentered:last-child:not(:first-child),
    .medium-push-0:last-child:not(:first-child),
    .medium-pull-0:last-child:not(:first-child) {
      float: right; } }

@media print, screen and (min-width: 64em) {
  .large-1 {
    width: 8.33333%; }
  .large-push-1 {
    position: relative;
    left: 8.33333%; }
  .large-pull-1 {
    position: relative;
    left: -8.33333%; }
  .large-offset-0 {
    margin-left: 0%; }
  .large-2 {
    width: 16.66667%; }
  .large-push-2 {
    position: relative;
    left: 16.66667%; }
  .large-pull-2 {
    position: relative;
    left: -16.66667%; }
  .large-offset-1 {
    margin-left: 8.33333%; }
  .large-3 {
    width: 25%; }
  .large-push-3 {
    position: relative;
    left: 25%; }
  .large-pull-3 {
    position: relative;
    left: -25%; }
  .large-offset-2 {
    margin-left: 16.66667%; }
  .large-4 {
    width: 33.33333%; }
  .large-push-4 {
    position: relative;
    left: 33.33333%; }
  .large-pull-4 {
    position: relative;
    left: -33.33333%; }
  .large-offset-3 {
    margin-left: 25%; }
  .large-5 {
    width: 41.66667%; }
  .large-push-5 {
    position: relative;
    left: 41.66667%; }
  .large-pull-5 {
    position: relative;
    left: -41.66667%; }
  .large-offset-4 {
    margin-left: 33.33333%; }
  .large-6 {
    width: 50%; }
  .large-push-6 {
    position: relative;
    left: 50%; }
  .large-pull-6 {
    position: relative;
    left: -50%; }
  .large-offset-5 {
    margin-left: 41.66667%; }
  .large-7 {
    width: 58.33333%; }
  .large-push-7 {
    position: relative;
    left: 58.33333%; }
  .large-pull-7 {
    position: relative;
    left: -58.33333%; }
  .large-offset-6 {
    margin-left: 50%; }
  .large-8 {
    width: 66.66667%; }
  .large-push-8 {
    position: relative;
    left: 66.66667%; }
  .large-pull-8 {
    position: relative;
    left: -66.66667%; }
  .large-offset-7 {
    margin-left: 58.33333%; }
  .large-9 {
    width: 75%; }
  .large-push-9 {
    position: relative;
    left: 75%; }
  .large-pull-9 {
    position: relative;
    left: -75%; }
  .large-offset-8 {
    margin-left: 66.66667%; }
  .large-10 {
    width: 83.33333%; }
  .large-push-10 {
    position: relative;
    left: 83.33333%; }
  .large-pull-10 {
    position: relative;
    left: -83.33333%; }
  .large-offset-9 {
    margin-left: 75%; }
  .large-11 {
    width: 91.66667%; }
  .large-push-11 {
    position: relative;
    left: 91.66667%; }
  .large-pull-11 {
    position: relative;
    left: -91.66667%; }
  .large-offset-10 {
    margin-left: 83.33333%; }
  .large-12 {
    width: 100%; }
  .large-offset-11 {
    margin-left: 91.66667%; }
  .large-up-1 > .column, .large-up-1 > .columns {
    float: left;
    width: 100%; }
    .large-up-1 > .column:nth-of-type(1n), .large-up-1 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-1 > .column:nth-of-type(1n+1), .large-up-1 > .columns:nth-of-type(1n+1) {
      clear: both; }
    .large-up-1 > .column:last-child, .large-up-1 > .columns:last-child {
      float: left; }
  .large-up-2 > .column, .large-up-2 > .columns {
    float: left;
    width: 50%; }
    .large-up-2 > .column:nth-of-type(1n), .large-up-2 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-2 > .column:nth-of-type(2n+1), .large-up-2 > .columns:nth-of-type(2n+1) {
      clear: both; }
    .large-up-2 > .column:last-child, .large-up-2 > .columns:last-child {
      float: left; }
  .large-up-3 > .column, .large-up-3 > .columns {
    float: left;
    width: 33.33333%; }
    .large-up-3 > .column:nth-of-type(1n), .large-up-3 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-3 > .column:nth-of-type(3n+1), .large-up-3 > .columns:nth-of-type(3n+1) {
      clear: both; }
    .large-up-3 > .column:last-child, .large-up-3 > .columns:last-child {
      float: left; }
  .large-up-4 > .column, .large-up-4 > .columns {
    float: left;
    width: 25%; }
    .large-up-4 > .column:nth-of-type(1n), .large-up-4 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-4 > .column:nth-of-type(4n+1), .large-up-4 > .columns:nth-of-type(4n+1) {
      clear: both; }
    .large-up-4 > .column:last-child, .large-up-4 > .columns:last-child {
      float: left; }
  .large-up-5 > .column, .large-up-5 > .columns {
    float: left;
    width: 20%; }
    .large-up-5 > .column:nth-of-type(1n), .large-up-5 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-5 > .column:nth-of-type(5n+1), .large-up-5 > .columns:nth-of-type(5n+1) {
      clear: both; }
    .large-up-5 > .column:last-child, .large-up-5 > .columns:last-child {
      float: left; }
  .large-up-6 > .column, .large-up-6 > .columns {
    float: left;
    width: 16.66667%; }
    .large-up-6 > .column:nth-of-type(1n), .large-up-6 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-6 > .column:nth-of-type(6n+1), .large-up-6 > .columns:nth-of-type(6n+1) {
      clear: both; }
    .large-up-6 > .column:last-child, .large-up-6 > .columns:last-child {
      float: left; }
  .large-up-7 > .column, .large-up-7 > .columns {
    float: left;
    width: 14.28571%; }
    .large-up-7 > .column:nth-of-type(1n), .large-up-7 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-7 > .column:nth-of-type(7n+1), .large-up-7 > .columns:nth-of-type(7n+1) {
      clear: both; }
    .large-up-7 > .column:last-child, .large-up-7 > .columns:last-child {
      float: left; }
  .large-up-8 > .column, .large-up-8 > .columns {
    float: left;
    width: 12.5%; }
    .large-up-8 > .column:nth-of-type(1n), .large-up-8 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-8 > .column:nth-of-type(8n+1), .large-up-8 > .columns:nth-of-type(8n+1) {
      clear: both; }
    .large-up-8 > .column:last-child, .large-up-8 > .columns:last-child {
      float: left; }
  .large-collapse > .column, .large-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .large-collapse .row {
    margin-right: 0;
    margin-left: 0; }
  .expanded.row .large-collapse.row {
    margin-right: 0;
    margin-left: 0; }
  .large-uncollapse > .column, .large-uncollapse > .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
  .large-centered {
    margin-right: auto;
    margin-left: auto; }
    .large-centered, .large-centered:last-child:not(:first-child) {
      float: none;
      clear: both; }
  .large-uncentered,
  .large-push-0,
  .large-pull-0 {
    position: static;
    margin-right: 0;
    margin-left: 0; }
    .large-uncentered, .large-uncentered:last-child:not(:first-child),
    .large-push-0,
    .large-push-0:last-child:not(:first-child),
    .large-pull-0,
    .large-pull-0:last-child:not(:first-child) {
      float: left;
      clear: none; }
    .large-uncentered:last-child:not(:first-child),
    .large-push-0:last-child:not(:first-child),
    .large-pull-0:last-child:not(:first-child) {
      float: right; } }

.column-block {
  margin-bottom: 1.25rem; }
  .column-block > :last-child {
    margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .column-block {
      margin-bottom: 1.875rem; }
      .column-block > :last-child {
        margin-bottom: 0; } }

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

@media screen and (max-width: 29.99875em) {
  .hide-for-small-only {
    display: none !important; } }

@media screen and (max-width: 0em), screen and (min-width: 30em) {
  .show-for-small-only {
    display: none !important; } }

@media print, screen and (min-width: 40em) {
  .hide-for-medium {
    display: none !important; } }

@media screen and (max-width: 39.99875em) {
  .show-for-medium {
    display: none !important; } }

@media screen and (min-width: 40em) and (max-width: 46.24875em) {
  .hide-for-medium-only {
    display: none !important; } }

@media screen and (max-width: 39.99875em), screen and (min-width: 46.25em) {
  .show-for-medium-only {
    display: none !important; } }

@media print, screen and (min-width: 64em) {
  .hide-for-large {
    display: none !important; } }

@media screen and (max-width: 63.99875em) {
  .show-for-large {
    display: none !important; } }

@media screen and (min-width: 64em) and (max-width: 74.99875em) {
  .hide-for-large-only {
    display: none !important; } }

@media screen and (max-width: 63.99875em), screen and (min-width: 75em) {
  .show-for-large-only {
    display: none !important; } }

.show-for-sr,
.show-on-focus {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0; }

.show-on-focus:active, .show-on-focus:focus {
  position: static !important;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  white-space: normal; }

.show-for-landscape,
.hide-for-portrait {
  display: block !important; }
  @media screen and (orientation: landscape) {
    .show-for-landscape,
    .hide-for-portrait {
      display: block !important; } }
  @media screen and (orientation: portrait) {
    .show-for-landscape,
    .hide-for-portrait {
      display: none !important; } }

.hide-for-landscape,
.show-for-portrait {
  display: none !important; }
  @media screen and (orientation: landscape) {
    .hide-for-landscape,
    .show-for-portrait {
      display: none !important; } }
  @media screen and (orientation: portrait) {
    .hide-for-landscape,
    .show-for-portrait {
      display: block !important; } }

.float-left {
  float: left !important; }

.float-right {
  float: right !important; }

.float-center {
  display: block;
  margin-right: auto;
  margin-left: auto; }

.clearfix {
  clear: both;
  content: "";
  display: table; }

@font-face {
  font-family: 'Intro';
  src: url("../../fonts/Intro.otf"); }

@font-face {
  font-family: 'FontAwesome';
  src: url("../../fonts/FontAwesome.otf"); }

@font-face {
  font-family: 'Lota-Light';
  src: url("../../fonts/LotaGrotesqueAlt3-Light.otf"); }

@font-face {
  font-family: 'Lota-SemiBold';
  src: url("../../fonts/LotaGrotesqueAlt3-SemiBold.otf"); }

@font-face {
  font-family: 'Lota-Bold';
  src: url("../../fonts/LotaGrotesqueAlt3-Bold.otf"); }

@font-face {
  font-family: 'Lota-Black';
  src: url("../../fonts/LotaGrotesqueAlt3-Black.otf"); }

@font-face {
  font-family: 'Lota-Regular';
  src: url("../../fonts/LotaGrotesqueAlt3-Regular.otf"); }

@font-face {
  font-family: 'Lota-RegularIt';
  src: url("../../fonts/LotaGrotesqueAlt3-RegularIt.otf"); }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: 'Lota-Black', sans-serif;
  font-weight: bold;
  margin: 0;
  text-transform: uppercase; }

html,
body {
  height: 100%;
  margin: 0;
  min-width: 300px;
  padding: 0;
  position: relative; }
  html.active,
  body.active {
    height: auto; }

body {
  background: #fff;
  font-family: 'Lota-Regular', sans-serif; }
  body:after {
    content: 'bp-s';
    display: none; }
    @media print, screen and (min-width: 40em) {
      body:after {
        content: 'bp-m';
        display: none; } }
    @media print, screen and (min-width: 64em) {
      body:after {
        content: 'bp-l';
        display: none; } }
    @media screen and (min-width: 75em) {
      body:after {
        content: 'bp-xl';
        display: none; } }
  body.error404 .wrapper {
    padding-bottom: 0; }

ul {
  list-style: none;
  margin: 0;
  padding: 0; }

.body-overlay {
  background: rgba(0, 0, 0, 0.4);
  display: none;
  height: 100%;
  left: 0;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  -webkit-transition: opacity .6s;
  transition: opacity .6s;
  width: 100%;
  z-index: 90; }
  .body-overlay.active {
    display: block;
    opacity: 1;
    pointer-events: all; }

.wrapper {
  min-height: 100%;
  position: relative;
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1); }
  @media print, screen and (min-width: 40em) {
    .wrapper {
      padding-bottom: 240px; } }

.container {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto;
  clear: both;
  content: "";
  display: table;
  width: 100%; }

hr {
  background: #e4003b;
  border: 0;
  display: block;
  height: 6px;
  margin: 25px auto 40px;
  width: 100px; }
  @media print, screen and (min-width: 40em) {
    hr {
      width: 150px; } }

.iframe-wrapper {
  height: 0;
  left: 0;
  padding-bottom: 55.25%;
  padding-top: 25px;
  position: relative;
  width: 100%; }
  .iframe-wrapper iframe {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%; }
    .iframe-wrapper iframe .ytp-chrome-top,
    .iframe-wrapper iframe .ytp-watermark {
      display: none !important; }

.white {
  color: #fff; }

.bg-white {
  background-color: #fff; }

.blue {
  color: #36a9e1; }

.bg-blue {
  background-color: #36a9e1; }

.pale-blue {
  color: #7eaec0; }

.bg-pale-blue {
  background-color: #7eaec0; }

.green {
  color: #a2c61e; }

.bg-green {
  background-color: #a2c61e; }

.pale-green {
  color: #a0d5d2; }

.bg-pale-green {
  background-color: #a0d5d2; }

.orange {
  color: #ef7850; }

.bg-orange {
  background-color: #ef7850; }

.pink {
  color: #e60665; }

.bg-pink {
  background-color: #e60665; }

.purple {
  color: #8b008b; }

.bg-purple {
  background-color: #8b008b; }

.labour-red {
  color: #e4003b; }

.bg-labour-red {
  background-color: #e4003b; }

.hide-mobile {
  display: none; }
  @media screen and (min-width: 30em) {
    .hide-mobile {
      display: inline; } }

.hide-medium {
  display: none; }
  @media print, screen and (min-width: 40em) {
    .hide-medium {
      display: inline; } }

.hide-tablet {
  display: none; }
  @media print, screen and (min-width: 64em) {
    .hide-tablet {
      display: inline; } }

.show-mobile {
  display: inline; }
  @media screen and (min-width: 30em) {
    .show-mobile {
      display: none; } }

.show-medium {
  display: inline; }
  @media print, screen and (min-width: 40em) {
    .show-medium {
      display: none; } }

.clearfix:before, .clearfix:after {
  content: ' ';
  display: table; }

.clearfix:after {
  clear: both; }

.selectric-wrapper {
  cursor: pointer;
  position: relative; }

.selectric-responsive {
  width: 100%; }

.selectric {
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 4px;
  position: relative; }
  .selectric .label {
    color: #373a3c;
    display: block;
    font-size: 16px;
    height: 48px;
    line-height: 48px;
    margin: 0 48px 0 16px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap; }
  .selectric .button {
    background: none;
    border-left: 1px solid #ccc;
    border-radius: 0;
    bottom: 0;
    color: #373a3c;
    display: block;
    font: 0 Lucida Sans Unicode, Arial Unicode MS, Arial;
    height: auto;
    margin: auto;
    position: absolute;
    right: 0;
    text-align: center;
    top: 0;
    width: 40px; }
    .selectric .button:after {
      border: 4px solid transparent;
      border-bottom: 0;
      border-top-color: #373a3c;
      bottom: 0;
      content: '';
      height: 0;
      left: 0;
      margin: auto;
      position: absolute;
      right: 0;
      top: 0;
      -webkit-transition: -webkit-transform 400ms ease;
      transition: -webkit-transform 400ms ease;
      transition: transform 400ms ease;
      transition: transform 400ms ease, -webkit-transform 400ms ease;
      width: 0; }

.selectric-focus .selectric,
.selectric-hover .selectric {
  border-color: #4a90e2; }

.selectric-open {
  z-index: 16; }
  .selectric-open .selectric {
    border-bottom-color: #ccc;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    border-color: #4a90e2; }
  .selectric-open .selectric-items {
    border-top: 0;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    display: block; }
  .selectric-open .button:after {
    -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
            transform: rotate(180deg); }

.selectric-disabled {
  -moz-user-select: none;
  -ms-user-select: none;
  -webkit-user-select: none;
  cursor: default;
  filter: alpha(opacity=50);
  opacity: .5;
  user-select: none; }

.selectric-hide-select {
  height: 0;
  overflow: hidden;
  position: relative;
  width: 0; }
  .selectric-hide-select select {
    left: -100%;
    position: absolute; }
  .selectric-hide-select.selectric-is-native {
    height: 100%;
    position: absolute;
    width: 100%;
    z-index: 10; }
    .selectric-hide-select.selectric-is-native select {
      border: 0;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      height: 100%;
      left: 0;
      opacity: 0;
      position: absolute;
      right: 0;
      top: 0;
      width: 100%;
      z-index: 1; }

.selectric-input {
  background: none !important;
  border: 0 !important;
  clip: rect(0, 0, 0, 0) !important;
  font: 0 !important;
  height: 1px !important;
  left: 0 !important;
  margin: 0 !important;
  outline: none !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  top: 0 !important;
  width: 1px !important; }

.selectric-temp-show {
  display: block !important;
  position: absolute !important;
  visibility: hidden !important; }

.selectric-above .selectric-items {
  border-top: 1px solid #4a90e2;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
  bottom: 100%;
  top: auto; }

.selectric-above.selectric-open .selectric {
  border-bottom-color: #4a90e2;
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px; }

.selectric-items {
  background: #fff;
  border: 1px solid #4a90e2;
  border-radius: 4px;
  -webkit-box-shadow: 0 0 10px -6px;
          box-shadow: 0 0 10px -6px;
  display: none;
  left: 0;
  overflow: hidden;
  position: absolute;
  top: 100%;
  z-index: -1; }
  .selectric-items .selectric-scroll {
    height: 100%;
    overflow: auto; }
  .selectric-items li,
  .selectric-items ul {
    font-size: 16px;
    line-height: 20px;
    list-style: none;
    margin: 0;
    min-height: 20px;
    padding: 0; }
  .selectric-items li {
    color: #666;
    cursor: pointer;
    display: block;
    padding: 8px 16px; }
    .selectric-items li.selected {
      background: #f1f1f1;
      color: #444; }
    .selectric-items li.highlighted {
      background: #e1e1e1;
      color: #444; }
    .selectric-items li:hover {
      background: #f0f0f0;
      color: #444; }
  .selectric-items .disabled {
    -moz-user-select: none;
    -ms-user-select: none;
    -webkit-user-select: none;
    background: none !important;
    color: #666 !important;
    cursor: default !important;
    filter: alpha(opacity=50);
    opacity: .5;
    user-select: none; }
  .selectric-items .selectric-group .selectric-group-label {
    -moz-user-select: none;
    -ms-user-select: none;
    -webkit-user-select: none;
    background: none;
    color: #444;
    cursor: default;
    font-weight: bold;
    padding-left: 10px;
    user-select: none; }
  .selectric-items .selectric-group.disabled li {
    filter: alpha(opacity=100);
    opacity: 1; }
  .selectric-items .selectric-group li {
    padding-left: 25px; }

.grid-helper {
  height: 100%;
  position: fixed;
  width: 100%; }
  .grid-helper .grid-helper__inner {
    max-width: 75rem;
    margin-right: auto;
    margin-left: auto;
    clear: both;
    content: "";
    display: table;
    height: 100%; }
  .grid-helper .grid-helper__col {
    width: 8.33333%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    height: 100%; }
    @media print, screen and (min-width: 40em) {
      .grid-helper .grid-helper__col {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .grid-helper .grid-helper__col, .grid-helper .grid-helper__col:last-child:not(:first-child) {
      float: left;
      clear: none; }
    .grid-helper .grid-helper__col:last-child:not(:first-child) {
      float: right; }
    .grid-helper .grid-helper__col p {
      background: #00f;
      height: 100%;
      margin: 0;
      opacity: .4;
      padding: 0; }

.about__moment {
  clear: both;
  content: "";
  display: table;
  margin-bottom: 40px; }
  @media print, screen and (min-width: 40em) {
    .about__moment {
      margin-bottom: 60px; }
      .about__moment:nth-child(2n + 1) > div {
        float: right; }
        .about__moment:nth-child(2n + 1) > div.about__content {
          padding-left: 10px; }
        .about__moment:nth-child(2n + 1) > div .about__image-container {
          -webkit-transform: rotate(-5deg);
              -ms-transform: rotate(-5deg);
                  transform: rotate(-5deg); }
      .about__moment:nth-child(2n + 2) > div {
        float: left; }
        .about__moment:nth-child(2n + 2) > div.about__content {
          padding-right: 10px; }
        .about__moment:nth-child(2n + 2) > div .about__image-container {
          -webkit-transform: rotate(5deg);
              -ms-transform: rotate(5deg);
                  transform: rotate(5deg); } }

.about__content {
  width: 100%; }
  @media print, screen and (min-width: 40em) {
    .about__content {
      width: calc(100% - 200px); } }
  .about__content h4 {
    color: #fff;
    display: inline-block;
    font-family: 'Intro';
    font-size: 20px;
    font-weight: normal;
    padding: 2px 7px 0; }
  .about__content p {
    font-family: 'Lota-SemiBold';
    font-size: 16px;
    line-height: 1.3em; }

.about__image {
  width: 100%; }
  @media print, screen and (min-width: 40em) {
    .about__image {
      width: 200px; } }

.about__image-container {
  background-position: center center;
  background-repeat: no-repeat;
  -webkit-background-size: cover;
          background-size: cover;
  display: block;
  height: 0;
  padding-bottom: 110%;
  width: 100%; }
  @media screen and (min-width: 30em) {
    .about__image-container {
      margin: auto;
      max-width: 400px;
      padding-bottom: 80%; } }
  @media print, screen and (min-width: 40em) {
    .about__image-container {
      border: 10px solid #deedec;
      border-radius: 4px;
      -webkit-box-shadow: 1px 1px 7px 1px #909090;
              box-shadow: 1px 1px 7px 1px #909090;
      height: 200px;
      margin: auto;
      padding-bottom: 0;
      -webkit-transform: rotate(-5deg);
          -ms-transform: rotate(-5deg);
              transform: rotate(-5deg);
      width: 180px; } }

.achievements {
  background: #e6e6e6;
  padding: 40px 20px 10px; }
  @media print, screen and (min-width: 40em) {
    .achievements {
      padding: 40px 0 10px; } }
  @media print, screen and (min-width: 64em) {
    .achievements {
      padding: 40px 20px 10px; } }
  .achievements .container {
    display: block; }
  .achievements h2 {
    font-size: 25px;
    text-align: center; }
    @media print, screen and (min-width: 40em) {
      .achievements h2 {
        font-size: 32px; } }
    @media print, screen and (min-width: 64em) {
      .achievements h2 {
        font-size: 40px; } }
    .achievements h2 span {
      display: inline-block; }

.achievements__items {
  clear: both;
  content: "";
  display: table;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 50px;
  width: 100%; }
  @media print, screen and (min-width: 64em) {
    .achievements__items {
      margin-top: 70px; } }

.achievements__item {
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  margin-bottom: 40px; }
  @media print, screen and (min-width: 40em) {
    .achievements__item {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .achievements__item, .achievements__item:last-child:not(:first-child) {
    float: left;
    clear: none; }
  .achievements__item:last-child:not(:first-child) {
    float: right; }
  @media screen and (min-width: 30em) {
    .achievements__item {
      width: 50%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }
  @media screen and (min-width: 30em) and (min-width: 40em) {
    .achievements__item {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media screen and (min-width: 30em) {
      .achievements__item, .achievements__item:last-child:not(:first-child) {
        float: left;
        clear: none; }
      .achievements__item:last-child:not(:first-child) {
        float: right; } }
  @media print, screen and (min-width: 40em) {
    .achievements__item {
      width: 33.33333%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .achievements__item {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) {
      .achievements__item, .achievements__item:last-child:not(:first-child) {
        float: left;
        clear: none; }
      .achievements__item:last-child:not(:first-child) {
        float: right; } }

.achievements__item--petition {
  background: #fff;
  border-radius: 4%;
  display: none;
  padding: 20px; }
  @media print, screen and (min-width: 40em) {
    .achievements__item--petition {
      display: block;
      padding: 10px; } }
  @media print, screen and (min-width: 64em) {
    .achievements__item--petition {
      padding: 20px; } }
  .achievements__item--petition.achievements__item--petition-mobile {
    display: block;
    width: 100%; }
    @media print, screen and (min-width: 40em) {
      .achievements__item--petition.achievements__item--petition-mobile {
        display: none; } }
  .achievements__item--petition .achievements__item__image {
    border: 0;
    border-radius: 5%;
    height: 160px;
    max-width: 350px;
    width: 100%; }
    @media print, screen and (min-width: 64em) {
      .achievements__item--petition .achievements__item__image {
        height: 215px; } }
  .achievements__item--petition a {
    font-size: 20px;
    height: auto;
    width: 100%; }

.achievements__item-content {
  margin: auto;
  max-width: 400px;
  text-align: center; }
  .achievements__item-content h4 {
    font-size: 22px;
    line-height: 1.2em;
    margin: 20px 0 -10px; }
    @media print, screen and (min-width: 64em) {
      .achievements__item-content h4 {
        font-size: 24px; } }
  .achievements__item-content p {
    font-size: 16px;
    line-height: 1.3em; }
    @media print, screen and (min-width: 40em) {
      .achievements__item-content p {
        font-size: 18px; } }
    @media print, screen and (min-width: 64em) {
      .achievements__item-content p {
        font-size: 20px;
        margin-left: auto;
        margin-right: auto;
        max-width: 330px; } }
  .achievements__item-content a {
    max-width: 150px;
    width: 100%; }

.achievements__item__image {
  background-position: center center;
  background-repeat: no-repeat;
  -webkit-background-size: cover;
          background-size: cover;
  border: 4px solid #c0c0c0;
  border-radius: 50%;
  display: block;
  height: 220px;
  margin: auto;
  width: 220px; }
  @media screen and (min-width: 30em) {
    .achievements__item__image {
      height: 200px;
      width: 200px; } }
  @media print, screen and (min-width: 40em) {
    .achievements__item__image {
      height: 180px;
      width: 180px; } }
  @media print, screen and (min-width: 64em) {
    .achievements__item__image {
      height: 240px;
      width: 240px; } }

.action-bar {
  clear: both;
  content: "";
  display: table;
  background: #fff;
  background: -webkit-linear-gradient(left, #a2c61e 0%, #a2c61e 50%, #e60665 50%, #e60665 100%);
  background: -webkit-gradient(linear, left top, right top, from(#a2c61e), color-stop(50%, #a2c61e), color-stop(50%, #e60665), to(#e60665));
  background: linear-gradient(to right, #a2c61e 0%, #a2c61e 50%, #e60665 50%, #e60665 100%);
  bottom: 0;
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a2c61e', endColorstr='#e60665',GradientType=1 );
  left: 0;
  position: absolute;
  width: 100%; }
  .action-bar .container {
    clear: both;
    content: "";
    display: table;
    height: 100%; }

.action-bar__column {
  min-height: 110px;
  padding: 10px;
  text-align: center;
  width: 100%; }
  .action-bar__column h3 {
    color: #fff;
    font-size: 19px;
    margin: -2px 0 2px; }

.action-bar__donate {
  background-color: #a2c61e;
  display: none; }
  @media print, screen and (min-width: 40em) {
    .action-bar__donate {
      display: block;
      float: left;
      width: 35%; } }
  .action-bar__donate .button {
    margin-right: 1%;
    width: 31%; }
    .action-bar__donate .button:last-of-type {
      margin-right: 0; }

.action-bar__signup {
  background-color: #e60665; }
  @media print, screen and (min-width: 40em) {
    .action-bar__signup {
      float: left;
      width: 65%; } }

.action-bar__content {
  padding: 4px 0; }

.action-bar__form .gform_body {
  display: inline-block;
  margin-right: 10px;
  position: relative;
  width: 100%; }
  @media print, screen and (min-width: 40em) {
    .action-bar__form .gform_body {
      width: calc(100% - 160px); } }

.action-bar__form .gfield input {
  margin-right: 1%;
  width: 37%; }
  .action-bar__form .gfield input.large {
    width: 60%; }
  @media print, screen and (min-width: 64em) {
    .action-bar__form .gfield input {
      display: inline-block;
      width: 27%; }
      .action-bar__form .gfield input.large {
        width: 42%; } }

.action-bar__form .gfield:first-of-type input {
  display: none; }
  @media print, screen and (min-width: 64em) {
    .action-bar__form .gfield:first-of-type input {
      display: inline-block; } }

.action-bar__form .gfield:last-of-type input {
  margin-right: 0; }

.action-bar__form .gfield_error input[type='text']:not(.button), .action-bar__form .gfield_error input[type='email']:not(.button), .action-bar__form .gfield_error input[type='number']:not(.button), .action-bar__form .gfield_error input[type='phone']:not(.button) {
  border: 2px solid #000; }

.action-bar__form .button {
  background-color: #f281af;
  border: 0;
  height: 32px;
  margin-top: 0;
  width: 100%; }
  .action-bar__form .button:hover {
    background-color: #fff;
    color: #e60665; }
  .action-bar__form .button:nth-child(1):nth-last-child(10) {
    position: absolute;
    right: 10000px; }

.action-bar__form .gform_ajax_spinner {
  height: 20px; }
  @media print, screen and (min-width: 40em) {
    .action-bar__form .gform_ajax_spinner {
      float: left;
      text-align: left; } }

.action-bar__form .gfield,
.action-bar__form .ginput_container {
  display: inline; }

.action-bar__form .gform_footer {
  display: inline-block;
  margin-top: 10px;
  width: 100%; }
  @media print, screen and (min-width: 40em) {
    .action-bar__form .gform_footer {
      margin-top: 0;
      width: 140px; } }

.action-bar__form .small {
  color: #fff;
  font-size: 12px;
  line-height: 1.3em;
  margin: 5px 10px 0;
  text-align: left; }
  .action-bar__form .small a {
    color: inherit; }

.article__hero-image {
  margin: 60px 0 -50px;
  max-height: 587px;
  overflow: hidden;
  padding: 0;
  position: relative;
  z-index: -1; }
  @media print, screen and (min-width: 40em) {
    .article__hero-image {
      margin: 145px 0 -168px;
      padding: 0 24px; } }
  .article__hero-image img {
    display: block;
    margin: 0 auto;
    width: 100%; }

.article {
  clear: both;
  color: #000;
  font-family: 'Lota-Regular', sans-serif;
  min-height: 500px;
  padding: 0 10px 40px;
  position: relative; }
  @media print, screen and (min-width: 40em) {
    .article {
      padding: 0 0 40px; } }
  .article a {
    color: #e4003b;
    text-decoration: none; }
    .article a:hover {
      text-decoration: underline; }
  .article p {
    font-size: 18px;
    line-height: 1.6em; }
    @media print, screen and (min-width: 40em) {
      .article p {
        font-size: 20px; } }
  .article h1,
  .article h2,
  .article h3,
  .article h4,
  .article h5,
  .article h6 {
    color: #e4003b;
    text-transform: initial; }
    .article h1:not(:first-of-type),
    .article h2:not(:first-of-type),
    .article h3:not(:first-of-type),
    .article h4:not(:first-of-type),
    .article h5:not(:first-of-type),
    .article h6:not(:first-of-type) {
      margin-top: 80px;
      position: relative; }
      .article h1:not(:first-of-type):before,
      .article h2:not(:first-of-type):before,
      .article h3:not(:first-of-type):before,
      .article h4:not(:first-of-type):before,
      .article h5:not(:first-of-type):before,
      .article h6:not(:first-of-type):before {
        background: #e4003b;
        content: '';
        height: 6px;
        left: 50%;
        position: absolute;
        top: -43px;
        -webkit-transform: translateX(-50%);
            -ms-transform: translateX(-50%);
                transform: translateX(-50%);
        width: 100px; }
        @media print, screen and (min-width: 40em) {
          .article h1:not(:first-of-type):before,
          .article h2:not(:first-of-type):before,
          .article h3:not(:first-of-type):before,
          .article h4:not(:first-of-type):before,
          .article h5:not(:first-of-type):before,
          .article h6:not(:first-of-type):before {
            width: 150px; } }
  .article img {
    display: block;
    margin: 36px auto;
    width: 100%; }
  .article figure {
    margin: 0 0 36px;
    position: relative; }
  .article figcaption {
    background-color: rgba(0, 0, 0, 0.4);
    bottom: 0;
    color: #fff;
    font-size: 14px;
    padding: 8px 10px;
    position: absolute;
    width: 100%; }
  .article blockquote {
    color: #e4003b;
    margin: 20px 10px; }
    .article blockquote p {
      font-size: 20px;
      line-height: 1.4em; }
    @media print, screen and (min-width: 64em) {
      .article blockquote {
        margin: 20px 40px; } }
  .article ol,
  .article ul {
    list-style: initial;
    margin: 0;
    padding-left: 24px; }
    @media print, screen and (min-width: 40em) {
      .article ol,
      .article ul {
        padding-left: 30px; } }
    .article ol li,
    .article ul li {
      font-size: 18px;
      margin-bottom: 10px; }
      @media print, screen and (min-width: 40em) {
        .article ol li,
        .article ul li {
          font-size: 20px; } }

.article__post {
  display: inline-block;
  margin-top: 20px;
  vertical-align: top;
  width: 100%; }
  @media print, screen and (min-width: 40em) {
    .article__post {
      margin: 20px 1%;
      width: 47%; } }
  @media print, screen and (min-width: 64em) {
    .article__post {
      width: 31%; } }
  .article__post a.button {
    color: #fff;
    margin-top: 10px; }
  .article__post p {
    font-size: .9em;
    margin-top: 0; }

.article__post__thumb {
  background-position: center;
  background-repeat: no-repeat;
  -webkit-background-size: cover;
          background-size: cover;
  height: 250px;
  margin-bottom: 10px;
  width: 100%; }
  @media print, screen and (min-width: 40em) {
    .article__post__thumb {
      height: 200px; } }

.browserupgrade {
  bottom: 0;
  left: 0;
  position: fixed;
  width: 100%;
  z-index: 10000; }
  .browserupgrade span {
    background: #a0d5d2;
    color: #fff;
    display: block;
    line-height: 1.2em;
    margin: auto;
    max-width: 700px;
    padding: 10px 20px;
    width: 100%; }
  .browserupgrade a,
  .browserupgrade strong {
    color: inherit;
    font-family: 'Lota-SemiBold'; }

.button {
  background-color: #fff;
  border-radius: 4px;
  color: #fff;
  cursor: pointer;
  display: inline-block;
  font-family: 'Lota-Black', sans-serif;
  font-size: 14px;
  font-weight: bold;
  height: 30px;
  padding: 5px 0;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  -webkit-transition: all .4s;
  transition: all .4s; }
  .button a {
    color: #fff; }
  .button:hover {
    background-color: #000; }
  .button.button--white {
    color: #fff; }
  .button.button--blue {
    color: #36a9e1; }
    .button.button--blue:hover {
      background-color: #36a9e1;
      color: #fff; }
  .button.button--bg-blue {
    background-color: #36a9e1; }
    .button.button--bg-blue:hover {
      background-color: #02087a; }
  .button.button--pale-blue {
    color: #7eaec0; }
    .button.button--pale-blue:hover {
      background-color: #36a9e1;
      color: #fff; }
  .button.button--bg-pale-blue {
    background-color: #7eaec0; }
    .button.button--bg-pale-blue:hover {
      background-color: #5b9293; }
  .button.button--green {
    color: #a2c61e; }
    .button.button--green:hover {
      background-color: #a2c61e;
      color: #fff; }
  .button.button--bg-green {
    background-color: #a2c61e; }
    .button.button--bg-green:hover {
      background-color: #00a032; }
  .button.button--pale-green {
    color: #a0d5d2; }
    .button.button--pale-green:hover {
      background-color: #a0d5d2;
      color: #fff; }
  .button.button--bg-pale-green {
    background-color: #a0d5d2; }
    .button.button--bg-pale-green:hover {
      background-color: #4cc3d0; }
  .button.button--orange {
    color: #ef7850; }
    .button.button--orange:hover {
      background-color: #ef7850;
      color: #fff; }
  .button.button--bg-orange {
    background-color: #ef7850; }
    .button.button--bg-orange:hover {
      background-color: #b96c47; }
  .button.button--pink {
    color: #e60665; }
    .button.button--pink:hover {
      background-color: #e60665;
      color: #fff; }
  .button.button--bg-pink {
    background-color: #e60665; }
    .button.button--bg-pink:hover {
      background-color: #be0665; }
  .button.button--purple {
    color: #8b008b; }
    .button.button--purple:hover {
      background-color: #8b008b;
      color: #fff; }
  .button.button--bg-purple {
    background-color: #8b008b; }
    .button.button--bg-purple:hover {
      background-color: #6b008b; }
  .button.button--red, .button.button--labour-red {
    color: #e4003b; }
    .button.button--red:hover, .button.button--labour-red:hover {
      background-color: #e4003b;
      color: #fff; }
  .button.button--bg-red, .button.button--bg-labour-red {
    background-color: #e4003b; }
    .button.button--bg-red:hover, .button.button--bg-labour-red:hover {
      background-color: #a6022c; }

.button--outline {
  background-color: #fff;
  border: 1px solid #000;
  color: #000; }
  .button--outline:hover {
    background-color: #000;
    color: #fff; }
  .button--outline.button--blue {
    border: 1px solid #36a9e1;
    color: #36a9e1; }
    .button--outline.button--blue:hover {
      background-color: #36a9e1;
      color: #fff; }
  .button--outline.button--pale-blue {
    border: 1px solid #7eaec0;
    color: #7eaec0; }
    .button--outline.button--pale-blue:hover {
      background-color: #7eaec0;
      color: #fff; }
  .button--outline.button--green {
    border: 1px solid #a2c61e;
    color: #a2c61e; }
    .button--outline.button--green:hover {
      background-color: #a2c61e;
      color: #fff; }
  .button--outline.button--pale-green {
    border: 1px solid #a0d5d2;
    color: #a0d5d2; }
    .button--outline.button--pale-green:hover {
      background-color: #a0d5d2;
      color: #fff; }
  .button--outline.button--orange {
    border: 1px solid #ef7850;
    color: #ef7850; }
    .button--outline.button--orange:hover {
      background-color: #ef7850;
      color: #fff; }
  .button--outline.button--pink {
    border: 1px solid #e60665;
    color: #e60665; }
    .button--outline.button--pink:hover {
      background-color: #e60665;
      color: #fff; }
  .button--outline.button--purple {
    border: 1px solid #8b008b;
    color: #8b008b; }
    .button--outline.button--purple:hover {
      background-color: #8b008b;
      color: #fff; }

.button--donate {
  -webkit-box-shadow: 1px 2px 6px 1px rgba(0, 0, 0, 0.3);
          box-shadow: 1px 2px 6px 1px rgba(0, 0, 0, 0.3);
  font-size: 16px;
  height: 34px;
  padding: 6px 0; }

.button--large {
  height: auto;
  padding: 10px; }

.button--xl {
  font-size: 18px;
  height: auto;
  padding: 15px 25px; }

.single-campaign .page-content {
  background: #fff;
  position: relative; }
  @media print, screen and (min-width: 40em) {
    .single-campaign .page-content {
      margin-top: -60px; } }
  @media print, screen and (min-width: 64em) {
    .single-campaign .page-content {
      margin-top: -100px; } }

.campaigns {
  clear: both;
  content: "";
  display: table;
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  margin-top: 20px;
  padding-bottom: 40px;
  text-align: center; }
  @media print, screen and (min-width: 40em) {
    .campaigns {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .campaigns, .campaigns:last-child:not(:first-child) {
    float: left;
    clear: none; }
  .campaigns:last-child:not(:first-child) {
    float: right; }
  .campaigns:last-child:last-child {
    float: left; }
  .campaigns h1 {
    font-size: 30px;
    line-height: 1.2em; }
    @media print, screen and (min-width: 40em) {
      .campaigns h1 {
        font-size: 40px; } }
    @media print, screen and (min-width: 64em) {
      .campaigns h1 {
        font-size: 55px; } }
    .campaigns h1 .green {
      display: inline-block; }

.campaigns__featured {
  display: table;
  margin-left: 2%;
  margin-top: 40px;
  width: 96%; }
  @media print, screen and (min-width: 64em) {
    .campaigns__featured {
      display: table;
      margin-left: 7%;
      width: 86%; } }
  .campaigns__featured + .table-border {
    margin-left: 2%;
    width: 96%; }
    @media print, screen and (min-width: 64em) {
      .campaigns__featured + .table-border {
        margin-left: 7%;
        width: 86%; } }

.table-border {
  clear: both;
  height: 5px;
  width: 100%; }
  .table-border--green {
    background-color: #a2c61e; }

.campaigns__featured-content {
  background: #e2e2e2;
  padding: 30px 20px; }
  .campaigns__featured-content p {
    margin-top: 5px; }
  .campaigns__featured-content a {
    min-width: 150px; }
  @media print, screen and (min-width: 40em) {
    .campaigns__featured-content {
      display: table-cell;
      width: 65%; }
      .campaigns__featured-content p {
        font-size: 1.2em;
        padding: 0 20px; } }

.campaigns__featured-image {
  background-position: center center;
  background-repeat: no-repeat;
  -webkit-background-size: cover;
          background-size: cover; }
  @media print, screen and (min-width: 40em) {
    .campaigns__featured-image {
      display: table-cell;
      width: 35%; } }

.campaigns__items {
  clear: both;
  content: "";
  display: table;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 25px 0 30px;
  width: 100%; }
  @media print, screen and (min-width: 64em) {
    .campaigns__items {
      margin: 50px 0 40px; } }

.campaigns__item {
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  margin-bottom: 40px; }
  @media print, screen and (min-width: 40em) {
    .campaigns__item {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .campaigns__item, .campaigns__item:last-child:not(:first-child) {
    float: left;
    clear: none; }
  .campaigns__item:last-child:not(:first-child) {
    float: right; }
  .campaigns__item:last-of-type {
    margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .campaigns__item {
      width: 33.33333%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .campaigns__item {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) {
      .campaigns__item, .campaigns__item:last-child:not(:first-child) {
        float: left;
        clear: none; }
      .campaigns__item:last-child:not(:first-child) {
        float: right; }
      .campaigns__item:last-child:last-child {
        float: left; } }

.campaigns__item--blue .campaigns__item__image {
  border-color: #36a9e1; }

.campaigns__item--blue h4 {
  color: #36a9e1; }

.campaigns__item--pale-blue .campaigns__item__image {
  border-color: #7eaec0; }

.campaigns__item--pale-blue h4 {
  color: #7eaec0; }

.campaigns__item--green .campaigns__item__image {
  border-color: #a2c61e; }

.campaigns__item--green h4 {
  color: #a2c61e; }

.campaigns__item--pale-green .campaigns__item__image {
  border-color: #a0d5d2; }

.campaigns__item--pale-green h4 {
  color: #a0d5d2; }

.campaigns__item--orange .campaigns__item__image {
  border-color: #ef7850; }

.campaigns__item--orange h4 {
  color: #ef7850; }

.campaigns__item--pink .campaigns__item__image {
  border-color: #e60665; }

.campaigns__item--pink h4 {
  color: #e60665; }

.campaigns__item--purple .campaigns__item__image {
  border-color: #8b008b; }

.campaigns__item--purple h4 {
  color: #8b008b; }

.campaigns__item--labour-red .campaigns__item__image {
  border-color: #e4003b; }

.campaigns__item--labour-red h4 {
  color: #e4003b; }

@media print, screen and (min-width: 64em) {
  .campaigns__item-content {
    margin: auto;
    max-width: 250px; } }

.campaigns__item-content h4 {
  font-size: 24px;
  line-height: 1.2em;
  margin: 20px 0 -10px; }

.campaigns__item-content a.button {
  max-width: 150px;
  padding-left: 15px;
  padding-right: 15px;
  width: 100%; }

.campaigns__item__image {
  background-position: center center;
  background-repeat: no-repeat;
  -webkit-background-size: cover;
          background-size: cover;
  border: 4px solid #a2c61e;
  border-radius: 50%;
  display: block;
  height: 220px;
  margin: auto;
  width: 220px; }
  @media screen and (min-width: 30em) {
    .campaigns__item__image {
      height: 250px;
      width: 250px; } }
  @media print, screen and (min-width: 40em) {
    .campaigns__item__image {
      height: 180px;
      width: 180px; } }
  @media print, screen and (min-width: 64em) {
    .campaigns__item__image {
      height: 240px;
      width: 240px; } }

.cookies-banner {
  background: #e4003b;
  border-top: 1px solid #fff;
  bottom: 0;
  float: left;
  left: 0;
  margin-bottom: -50px;
  opacity: 0;
  padding: 30px 10px;
  position: fixed;
  right: 0;
  -webkit-transform: none !important;
      -ms-transform: none !important;
          transform: none !important;
  -webkit-transition: .35s;
  transition: .35s;
  width: 100%;
  z-index: 9; }
  .cookies-banner.appear {
    margin-bottom: 0;
    opacity: 1;
    z-index: 999; }
  .cookies-banner.showed-alert {
    display: none; }
  @media print, screen and (min-width: 64em) {
    .cookies-banner .innertext {
      display: inline-block; } }
  .cookies-banner p {
    color: #faf8f4;
    font-family: 'Lota-Bold';
    font-size: 17px;
    font-weight: 600;
    line-height: 125%;
    margin: 0;
    padding: 0;
    text-align: center; }
  .cookies-banner a:not(.btn) {
    color: inherit;
    text-decoration: underline; }
  .cookies-banner .button-wrapper {
    margin-top: 5px; }
    .cookies-banner .button-wrapper a {
      color: #fff;
      display: block;
      float: none;
      margin: 10px auto 0;
      max-width: 200px;
      text-decoration: none; }
      @media print, screen and (min-width: 64em) {
        .cookies-banner .button-wrapper a {
          min-width: 0; } }
  .cookies-banner .close-icon {
    padding: 10px;
    position: absolute;
    right: 0;
    top: 0; }
    .cookies-banner .close-icon svg {
      background: #eb406c;
      border-radius: 50px;
      cursor: pointer;
      fill: #faf8f4;
      height: 20px;
      padding: 5px;
      -webkit-transition: .35s;
      transition: .35s;
      width: 20px; }
      .cookies-banner .close-icon svg:hover {
        background: #faf8f4;
        fill: #e4003b; }
  @media screen and (min-width: 46.25em) {
    .cookies-banner .col-xs-12 {
      padding: 0 20px 0 0; } }

.delivering__cause {
  clear: both;
  content: "";
  display: table;
  margin-bottom: 60px; }
  @media print, screen and (min-width: 40em) {
    .delivering__cause:nth-child(2n + 1) > div {
      float: left; }
      .delivering__cause:nth-child(2n + 1) > div.delivering__stats {
        border-left-style: solid;
        border-left-width: 4px; }
    .delivering__cause:nth-child(2n + 2) > div {
      float: right; }
      .delivering__cause:nth-child(2n + 2) > div.delivering__stats {
        border-right-style: solid;
        border-right-width: 4px;
        text-align: right; } }

.delivering__cause--blue .delivering__stats {
  border-color: #36a9e1; }
  .delivering__cause--blue .delivering__stats .icon {
    fill: #36a9e1; }

.delivering__cause--blue .delivering__image-container {
  border-color: #36a9e1; }

.delivering__cause--blue .delivering__stat-value {
  color: #36a9e1; }

.delivering__cause--green .delivering__stats {
  border-color: #a2c61e; }
  .delivering__cause--green .delivering__stats .icon {
    fill: #a2c61e; }

.delivering__cause--green .delivering__image-container {
  border-color: #a2c61e; }

.delivering__cause--green .delivering__stat-value {
  color: #a2c61e; }

.delivering__cause--orange .delivering__stats {
  border-color: #ef7850; }
  .delivering__cause--orange .delivering__stats .icon {
    fill: #ef7850; }

.delivering__cause--orange .delivering__image-container {
  border-color: #ef7850; }

.delivering__cause--orange .delivering__stat-value {
  color: #ef7850; }

.delivering__cause--pale-blue .delivering__stats {
  border-color: #7eaec0; }
  .delivering__cause--pale-blue .delivering__stats .icon {
    fill: #7eaec0; }

.delivering__cause--pale-blue .delivering__image-container {
  border-color: #7eaec0; }

.delivering__cause--pale-blue .delivering__stat-value {
  color: #7eaec0; }

.delivering__cause--pale-green .delivering__stats {
  border-color: #a0d5d2; }
  .delivering__cause--pale-green .delivering__stats .icon {
    fill: #a0d5d2; }

.delivering__cause--pale-green .delivering__image-container {
  border-color: #a0d5d2; }

.delivering__cause--pale-green .delivering__stat-value {
  color: #a0d5d2; }

.delivering__cause--pink .delivering__stats {
  border-color: #e60665; }
  .delivering__cause--pink .delivering__stats .icon {
    fill: #e60665; }

.delivering__cause--pink .delivering__image-container {
  border-color: #e60665; }

.delivering__cause--pink .delivering__stat-value {
  color: #e60665; }

.delivering__cause--purple .delivering__stats {
  border-color: #8b008b; }
  .delivering__cause--purple .delivering__stats .icon {
    fill: #8b008b; }

.delivering__cause--purple .delivering__image-container {
  border-color: #8b008b; }

.delivering__cause--purple .delivering__stat-value {
  color: #8b008b; }

.delivering__cause--labour-red .delivering__stats {
  border-color: #e4003b; }
  .delivering__cause--labour-red .delivering__stats .icon {
    fill: #e4003b; }

.delivering__cause--labour-red .delivering__image-container {
  border-color: #e4003b; }

.delivering__cause--labour-red .delivering__stat-value {
  color: #e4003b; }

.delivering__stats {
  display: none; }
  @media print, screen and (min-width: 40em) {
    .delivering__stats {
      display: block;
      width: 200px; } }
  .delivering__stats.delivering__stats--mobile {
    display: block; }
    @media print, screen and (min-width: 40em) {
      .delivering__stats.delivering__stats--mobile {
        display: none; } }
    .delivering__stats.delivering__stats--mobile img {
      display: block;
      margin: auto; }

.delivering__stat {
  float: left;
  padding: 0 5px;
  text-align: center;
  width: 32%; }
  @media print, screen and (min-width: 40em) {
    .delivering__stat {
      clear: both;
      content: "";
      display: table;
      display: inline-block;
      float: none;
      padding: 5px 10px;
      text-align: left;
      width: auto; }
      .delivering__stat:nth-child(2n + 1) > span {
        float: left; }
        .delivering__stat:nth-child(2n + 1) > span.delivering__stat-value {
          padding-left: 10px; }
      .delivering__stat:nth-child(2n + 2) > span {
        float: right; }
        .delivering__stat:nth-child(2n + 2) > span.delivering__stat-value {
          padding-right: 10px; } }

.delivering__stat-icon {
  display: inline-block;
  margin: 0 10px 10px 0; }
  @media print, screen and (min-width: 40em) {
    .delivering__stat-icon {
      margin: 0; } }
  .delivering__stat-icon img {
    height: 40px;
    width: auto; }

.delivering__stat-value {
  display: inline-block;
  font-family: 'Lota-Black';
  font-size: 14px;
  line-height: 1.1em;
  max-width: 90px;
  vertical-align: middle;
  width: 100%; }
  @media print, screen and (min-width: 40em) {
    .delivering__stat-value {
      margin-top: 8px; } }

.delivering__content {
  width: 100%; }
  @media print, screen and (min-width: 40em) {
    .delivering__content {
      padding: 0 10px;
      width: calc(100% - 200px); } }
  @media print, screen and (min-width: 64em) {
    .delivering__content {
      width: calc(100% - 400px); } }
  .delivering__content h4 {
    color: #fff;
    display: inline-block;
    font-family: 'Intro';
    font-size: 20px;
    font-weight: normal;
    padding: 2px 7px 0; }
  .delivering__content p {
    font-family: 'Lota-SemiBold';
    font-size: 16px;
    line-height: 1.3em; }

.delivering__image {
  width: 100%; }
  @media print, screen and (min-width: 40em) {
    .delivering__image {
      display: none;
      width: 200px; } }
  @media print, screen and (min-width: 64em) {
    .delivering__image {
      display: block;
      width: 200px; } }

.delivering__image-container {
  background-position: center center;
  background-repeat: no-repeat;
  -webkit-background-size: cover;
          background-size: cover;
  border: 4px solid #a2c61e;
  display: block;
  height: 250px;
  width: 100%; }
  @media print, screen and (min-width: 40em) {
    .delivering__image-container {
      border-radius: 50%;
      height: 180px;
      margin: auto;
      width: 180px; } }

.end-module {
  clear: both;
  content: "";
  display: table;
  background: #a0d5d2;
  padding: 30px 20px;
  width: 100%; }
  @media print, screen and (min-width: 40em) {
    .end-module {
      padding: 30px 20px 25px; } }

.end-module__header {
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  background: #fff;
  margin-bottom: 20px;
  padding: 5px 10px 0;
  text-align: center; }
  @media print, screen and (min-width: 40em) {
    .end-module__header {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .end-module__header, .end-module__header:last-child:not(:first-child) {
    float: left;
    clear: none; }
  .end-module__header:last-child:not(:first-child) {
    float: right; }
  @media print, screen and (min-width: 40em) {
    .end-module__header {
      width: 83.33333%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem;
      margin-left: 8.33333%; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .end-module__header {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) {
      .end-module__header, .end-module__header:last-child:not(:first-child) {
        float: left;
        clear: none; }
      .end-module__header:last-child:not(:first-child) {
        float: right; } }
  @media print, screen and (min-width: 64em) {
    .end-module__header {
      width: 66.66667%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem;
      margin-left: 16.66667%; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .end-module__header {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
      .end-module__header, .end-module__header:last-child:not(:first-child) {
        float: left;
        clear: none; }
      .end-module__header:last-child:not(:first-child) {
        float: right; } }
  .end-module__header h2 {
    color: #e4003b;
    font-size: 27px;
    line-height: 1.1em;
    padding: 5px 0 7px; }
    @media print, screen and (min-width: 40em) {
      .end-module__header h2 {
        font-size: 35px; } }

.end-module__content {
  float: left;
  text-align: center;
  width: 100%; }
  @media print, screen and (min-width: 40em) {
    .end-module__content {
      width: 66.66667%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem;
      margin-left: 16.66667%; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .end-module__content {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) {
      .end-module__content, .end-module__content:last-child:not(:first-child) {
        float: left;
        clear: none; }
      .end-module__content:last-child:not(:first-child) {
        float: right; }
      .end-module__content:last-child:last-child {
        float: left; } }
  @media print, screen and (min-width: 64em) {
    .end-module__content {
      width: 50%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem;
      margin-left: 25%; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .end-module__content {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
      .end-module__content, .end-module__content:last-child:not(:first-child) {
        float: left;
        clear: none; }
      .end-module__content:last-child:not(:first-child) {
        float: right; }
      .end-module__content:last-child:last-child {
        float: left; } }
  .end-module__content--donate {
    background-color: #7eaec0;
    padding: 10px; }
  @media print, screen and (min-width: 40em) {
    .end-module__content--social {
      width: 100%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem;
      margin-left: 0%;
      padding: 0 !important;
      text-align: center; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .end-module__content--social {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) {
      .end-module__content--social, .end-module__content--social:last-child:not(:first-child) {
        float: left;
        clear: none; }
      .end-module__content--social:last-child:not(:first-child) {
        float: right; }
      .end-module__content--social:last-child:last-child {
        float: left; } }
  @media print, screen and (min-width: 64em) {
    .end-module__content--social {
      width: 66.66667%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem;
      margin-left: 16.66667%; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .end-module__content--social {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
      .end-module__content--social, .end-module__content--social:last-child:not(:first-child) {
        float: left;
        clear: none; }
      .end-module__content--social:last-child:not(:first-child) {
        float: right; }
      .end-module__content--social:last-child:last-child {
        float: left; } }

.end-module__content__inner {
  clear: both;
  content: "";
  display: table;
  display: inline-block; }

.end-module__content-title {
  color: #fff;
  line-height: 1.2em;
  margin-bottom: 10px; }
  .end-module__content-title span {
    display: inline-block; }

.end-module__buttons .button {
  display: inline-block;
  margin: 5px;
  padding: 5px;
  width: 45%; }
  @media print, screen and (min-width: 40em) {
    .end-module__buttons .button {
      width: 30%; } }
  .end-module__buttons .button.end-module__button--large {
    width: 50%; }

.end-module__form input {
  background: #deedec;
  border: 1px solid #deedec;
  margin-bottom: 8px;
  width: 100%; }

.end-module__form .button {
  background: #7eaec0;
  border: 0;
  height: 32px;
  width: 100%; }
  .end-module__form .button:hover {
    background-color: #fff;
    color: #7eaec0; }

.end-module__form .small {
  font-size: 12px;
  line-height: 1.3em;
  margin: 10px auto 0;
  max-width: 500px; }
  .end-module__form .small a {
    color: inherit; }

.ie .achievements__item {
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  margin-bottom: 40px; }
  @media print, screen and (min-width: 40em) {
    .ie .achievements__item {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .ie .achievements__item, .ie .achievements__item:last-child:not(:first-child) {
    float: left;
    clear: none; }
  .ie .achievements__item:last-child:not(:first-child) {
    float: right; }
  @media screen and (min-width: 30em) {
    .ie .achievements__item {
      width: 50%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem;
      min-height: 400px; } }
  @media screen and (min-width: 30em) and (min-width: 40em) {
    .ie .achievements__item {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media screen and (min-width: 30em) {
      .ie .achievements__item, .ie .achievements__item:last-child:not(:first-child) {
        float: left;
        clear: none; }
      .ie .achievements__item:last-child:not(:first-child) {
        float: right; } }
  @media print, screen and (min-width: 40em) {
    .ie .achievements__item {
      width: 33.33333%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .ie .achievements__item {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) {
      .ie .achievements__item, .ie .achievements__item:last-child:not(:first-child) {
        float: left;
        clear: none; }
      .ie .achievements__item:last-child:not(:first-child) {
        float: right; } }

.ie .campaigns__item {
  min-height: 360px; }

.ie8 .logo--desktop {
  width: auto; }

.ie8 .logo--mobile {
  display: none; }

.ie8 .hero {
  -webkit-background-size: 1000px 1000px;
          background-size: 1000px;
  height: 600px; }
  .ie8 .hero--generic {
    background-position: center top;
    -webkit-background-size: 1000px 1000px;
            background-size: 1000px;
    height: 600px; }

.ie8 .hero__content {
  top: 5%; }

.ie8 .hero__branding {
  width: 465px; }

.ie8 .about__moment {
  margin: 0 auto 60px; }
  .ie8 .about__moment > div {
    float: right; }
    .ie8 .about__moment > div.about__content {
      padding-left: 10px; }
    .ie8 .about__moment > div .about__image-container {
      -webkit-transform: rotate(-5deg);
          -ms-transform: rotate(-5deg);
              transform: rotate(-5deg); }

.ie8 .about__content {
  width: 400px; }

.ie8 .about__image {
  width: 200px; }

.ie8 .about__image-container {
  border: 10px solid #deedec;
  border-radius: 4px;
  -webkit-box-shadow: 1px 1px 7px 1px #909090;
          box-shadow: 1px 1px 7px 1px #909090;
  height: 200px;
  margin: auto;
  padding-bottom: 0;
  -webkit-transform: rotate(-5deg);
      -ms-transform: rotate(-5deg);
          transform: rotate(-5deg);
  width: 180px; }

.ie8 .achievements h2 {
  font-size: 40px; }

.ie8 .achievements__items {
  margin-top: 70px; }

.ie8 .achievements__item {
  width: 33.33333%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .ie8 .achievements__item {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .ie8 .achievements__item, .ie8 .achievements__item:last-child:not(:first-child) {
    float: left;
    clear: none; }
  .ie8 .achievements__item:last-child:not(:first-child) {
    float: right; }

.ie8 .achievements__item--petition {
  display: block; }
  .ie8 .achievements__item--petition.achievements__item--petition-mobile {
    display: none; }
  .ie8 .achievements__item--petition .achievements__item__image {
    height: 215px; }

.ie8 .achievements__item-content h4 {
  font-size: 24px; }

.ie8 .achievements__item-content p {
  font-size: 20px; }

.ie8 .achievements__item__image {
  height: 240px;
  width: 240px; }

.ie8 .action-bar__donate {
  display: block;
  float: left;
  width: 35%; }

.ie8 .action-bar__signup {
  float: left;
  width: 62%; }

.ie8 .action-bar__form .gform_body {
  width: 600px; }

.ie8 .action-bar__form .gfield input:not(.button) {
  display: inline-block;
  width: 27%; }
  .ie8 .action-bar__form .gfield input:not(.button).large {
    width: 42%; }

.ie8 .action-bar__form .gfield:first-of-type input {
  display: inline-block; }

.ie8 .action-bar__form .gform_ajax_spinner {
  float: left;
  text-align: left; }

.ie8 .action-bar__form .gform_footer {
  margin-top: 0;
  width: 140px; }

.ie8 .article__hero-image {
  margin: 145px 0 -168px;
  padding: 0 24px; }

.ie8 .article {
  padding: 0 0 40px; }
  .ie8 .article p {
    font-size: 20px;
    line-height: 30px; }
  .ie8 .article h1:not(:first-child):before,
  .ie8 .article h2:not(:first-child):before,
  .ie8 .article h3:not(:first-child):before,
  .ie8 .article h4:not(:first-child):before,
  .ie8 .article h5:not(:first-child):before,
  .ie8 .article h6:not(:first-child):before {
    height: 12px; }
  .ie8 .article blockquote {
    margin: 20px 40px; }
  .ie8 .article ol,
  .ie8 .article ul {
    padding-left: 30px; }
    .ie8 .article ol li,
    .ie8 .article ul li {
      font-size: 20px; }

.ie8 .social__block {
  width: 33.33333%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  margin: 0 20px; }
  @media print, screen and (min-width: 40em) {
    .ie8 .social__block {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .ie8 .social__block, .ie8 .social__block:last-child:not(:first-child) {
    float: left;
    clear: none; }
  .ie8 .social__block:last-child:not(:first-child) {
    float: right; }
  .ie8 .social__block:nth-child(1):nth-last-child(1) {
    width: 100%; }
  .ie8 .social__block:nth-child(1):nth-last-child(2) {
    width: 50%; }
  .ie8 .social__block:nth-child(1):nth-last-child(3) {
    width: 33.3333%; }
  .ie8 .social__block:nth-child(1):nth-last-child(4) {
    width: 25%; }
  .ie8 .social__block:nth-child(2):nth-last-child(1) {
    width: 50%; }
  .ie8 .social__block:nth-child(2):nth-last-child(2) {
    width: 33.3333%; }
  .ie8 .social__block:nth-child(2):nth-last-child(3) {
    width: 25%; }
  .ie8 .social__block:nth-child(3):nth-last-child(1) {
    width: 33.3333%; }
  .ie8 .social__block:nth-child(3):nth-last-child(2) {
    width: 25%; }
  .ie8 .social__block:nth-child(4):nth-last-child(1) {
    width: 25%; }

.ie8 .social__title {
  font-size: 35px;
  text-align: center; }

.ie8 .social__content .social__image {
  float: left;
  margin-right: 10px; }

.ie8 .campaigns h1 {
  font-size: 55px; }

.ie8 .campaigns__featured {
  margin-left: 7%;
  width: 86%; }
  .ie8 .campaigns__featured + .table-border {
    margin-left: 7%;
    width: 86%; }

.ie8 .campaigns__featured-content {
  display: table-cell;
  width: 65%; }
  .ie8 .campaigns__featured-content p {
    font-size: 1.2em;
    padding: 0 20px; }

.ie8 .campaigns__featured-image {
  display: table-cell;
  width: 35%; }

.ie8 .campaigns__items {
  margin: 70px 0 40px; }

.ie8 .campaigns__item {
  width: 33.33333%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .ie8 .campaigns__item {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .ie8 .campaigns__item, .ie8 .campaigns__item:last-child:not(:first-child) {
    float: left;
    clear: none; }
  .ie8 .campaigns__item:last-child:not(:first-child) {
    float: right; }

.ie8 .campaigns__item-content {
  margin: auto;
  max-width: 250px; }

.ie8 .campaigns__item__image {
  height: 240px;
  width: 240px; }

.ie8 .header__burger {
  display: none; }

.ie8 .nav__container {
  background: none;
  display: block;
  height: 56px;
  left: auto;
  padding: 10px 0;
  right: 95px;
  text-align: right;
  top: 0;
  -webkit-transition: none;
  transition: none;
  width: auto; }

.ie8 .nav__menu {
  top: 9px; }
  .ie8 .nav__menu li {
    display: inline;
    margin: 0;
    padding: 0 25px; }
    .ie8 .nav__menu li:last-of-type {
      padding-right: 45px; }
    .ie8 .nav__menu li a:after {
      left: 0;
      right: auto; }

.ie8 .labour-logo {
  display: block;
  position: absolute;
  right: 10px;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%); }

.ie8 .header-actions li .button {
  font-size: 14px; }

.ie8 .hide-mobile {
  display: inline; }

.ie8 .hide-medium {
  display: inline; }

.ie8 .hide-tablet {
  display: inline; }

.ie8 .show-mobile {
  display: none; }

.ie8 .end-module {
  padding: 30px 20px 25px; }

.ie8 .end-module__header {
  width: 66.66667%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  margin-left: 16.66667%; }
  @media print, screen and (min-width: 40em) {
    .ie8 .end-module__header {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .ie8 .end-module__header, .ie8 .end-module__header:last-child:not(:first-child) {
    float: left;
    clear: none; }
  .ie8 .end-module__header:last-child:not(:first-child) {
    float: right; }
  .ie8 .end-module__header h2 {
    font-size: 35px; }

.ie8 .end-module__content {
  width: 50%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  margin-left: 25%;
  margin-bottom: 20px; }
  @media print, screen and (min-width: 40em) {
    .ie8 .end-module__content {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .ie8 .end-module__content, .ie8 .end-module__content:last-child:not(:first-child) {
    float: left;
    clear: none; }
  .ie8 .end-module__content:last-child:not(:first-child) {
    float: right; }
  .ie8 .end-module__content:last-child:last-child {
    float: left; }
  .ie8 .end-module__content--social {
    width: 66.66667%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    margin-left: 16.66667%;
    padding: 0 !important; }
    @media print, screen and (min-width: 40em) {
      .ie8 .end-module__content--social {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .ie8 .end-module__content--social, .ie8 .end-module__content--social:last-child:not(:first-child) {
      float: left;
      clear: none; }
    .ie8 .end-module__content--social:last-child:not(:first-child) {
      float: right; }
    .ie8 .end-module__content--social:last-child:last-child {
      float: left; }

.ie8 .end-module__buttons .button {
  width: 30%; }

.ie8 .delivering__cause {
  margin: 0 auto 60px; }
  .ie8 .delivering__cause > div {
    float: left; }
    .ie8 .delivering__cause > div.delivering__stats {
      border-left-style: solid;
      border-left-width: 4px; }

.ie8 .delivering__stats {
  display: block;
  width: 200px; }
  .ie8 .delivering__stats.delivering__stats--mobile {
    display: none; }

.ie8 .delivering__stat {
  clear: both;
  content: "";
  display: table;
  display: inline-block;
  float: none;
  padding: 5px 10px;
  text-align: left;
  width: auto; }
  .ie8 .delivering__stat > span {
    float: left; }
    .ie8 .delivering__stat > span.delivering__stat-value {
      padding-left: 10px; }

.ie8 .delivering__stat-icon {
  margin: 0; }

.ie8 .delivering__stat-value {
  margin-top: 8px; }

.ie8 .delivering__content {
  padding: 0 10px;
  width: 400px; }

.ie8 .delivering__image {
  width: 200px; }

.ie8 .delivering__image-container {
  border-radius: 50%;
  height: 180px;
  margin: auto;
  width: 180px; }

.ie8 .footer {
  bottom: 0;
  height: 240px;
  left: 0;
  padding: 20px 0;
  position: absolute; }

.ie8 .footer__branding {
  width: 41.66667%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  padding-top: 25px; }
  @media print, screen and (min-width: 40em) {
    .ie8 .footer__branding {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .ie8 .footer__branding, .ie8 .footer__branding:last-child:not(:first-child) {
    float: left;
    clear: none; }
  .ie8 .footer__branding:last-child:not(:first-child) {
    float: right; }
  .ie8 .footer__branding img {
    display: block; }
    .ie8 .footer__branding img.sadiq-logo {
      margin: 0 0 20px; }
    .ie8 .footer__branding img.labour {
      margin: 0; }

.ie8 .footer__image {
  margin: 0;
  width: 100%; }

.ie8 .footer__menus {
  width: 33.33333%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .ie8 .footer__menus {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .ie8 .footer__menus, .ie8 .footer__menus:last-child:not(:first-child) {
    float: left;
    clear: none; }
  .ie8 .footer__menus:last-child:not(:first-child) {
    float: right; }

.ie8 .footer__content {
  float: right;
  padding: 0 10px; }

.ie8 .footer__social {
  width: 25%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  padding-top: 25px; }
  @media print, screen and (min-width: 40em) {
    .ie8 .footer__social {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .ie8 .footer__social, .ie8 .footer__social:last-child:not(:first-child) {
    float: left;
    clear: none; }
  .ie8 .footer__social:last-child:not(:first-child) {
    float: right; }

.ie8 body:after {
  content: 'bp-l';
  display: none; }

.ie8 .wrapper {
  padding-bottom: 240px; }

.ie8 .page-content {
  width: 83.33333%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  margin-left: 8.33333%; }
  @media print, screen and (min-width: 40em) {
    .ie8 .page-content {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .ie8 .page-content, .ie8 .page-content:last-child:not(:first-child) {
    float: left;
    clear: none; }
  .ie8 .page-content:last-child:not(:first-child) {
    float: right; }
  .ie8 .page-content--thinner {
    width: 66.66667%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    margin-left: 16.66667%; }
    @media print, screen and (min-width: 40em) {
      .ie8 .page-content--thinner {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .ie8 .page-content--thinner, .ie8 .page-content--thinner:last-child:not(:first-child) {
      float: left;
      clear: none; }
    .ie8 .page-content--thinner:last-child:not(:first-child) {
      float: right; }
  .ie8 .page-content--has-bg {
    background: url("../img/river.svg") no-repeat center bottom;
    -webkit-background-size: 44% 44%;
            background-size: 44%; }

.ie8 .page-content__header {
  margin: 40px auto 60px; }
  .ie8 .page-content__header h1 {
    font-size: 56px; }
  .ie8 .page-content__header--has-border:after {
    height: 12px; }
  .ie8 .page-content__header .button {
    display: inline-block;
    margin: 0 5px; }

.ie8 .page-content__header-text {
  font-size: 20px;
  margin-top: 40px; }

.ie8 .page-content__header-quote {
  font-size: 22px; }

.ie8 .page-404 {
  height: 100%;
  padding: 150px 0 50px; }

.ie8 .page-404__content {
  max-width: 600px;
  padding-top: 50px;
  position: relative;
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0); }
  .ie8 .page-404__content h1 {
    font-size: 60px; }

.ie8 .page-404__message {
  font-size: 40px;
  margin: 20px auto;
  max-width: 500px; }
  .ie8 .page-404__message:before, .ie8 .page-404__message:after {
    height: 12px; }

.ie8 .pollution-map .point:after {
  display: none; }

.ie8 .pollution-map__bg--desktop {
  display: block; }

.ie8 .pollution-map__bg--mobile {
  display: none; }

.ie8 .pollution-map__categories {
  text-align: left;
  width: auto; }

.ie8 .pollution-map__cat {
  float: left;
  margin: 0 30px 0 0; }

.ie8 .pollution-map__cat__icon {
  height: 120px;
  width: 120px; }

.ie8 .pollution-map__cat__title {
  font-size: 16px; }

.ie8 .pollution-map__filter {
  margin: 70px 20px 0 30px;
  width: auto; }

.ie8 .pollution-search {
  display: none; }

.ie8 .map-wrapper {
  position: relative; }

.ie8 .ie-overlay {
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 10; }
  .ie8 .ie-overlay p {
    font-size: 1.3em;
    left: 0;
    line-height: 1.3em;
    padding: 0 25px;
    position: absolute;
    text-align: center;
    top: 30%;
    width: 100%; }

.ie8 .ie-overlay__bg {
  -ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(Opacity=50)';
  background: #000;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%; }

.footer {
  background: #e4003b;
  color: #faccd8;
  font-size: 14px;
  line-height: 1.1em;
  padding: 20px 0;
  width: 100%; }
  @media print, screen and (min-width: 40em) {
    .footer {
      bottom: 0;
      height: 240px;
      left: 0;
      padding: 10px 0 25px;
      position: absolute; } }
  @media print, screen and (min-width: 64em) {
    .footer {
      padding: 20px 0; } }
  .footer a {
    color: inherit;
    text-decoration: none; }
  .footer .container {
    clear: both;
    content: "";
    display: table; }

.footer__branding {
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .footer__branding {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .footer__branding, .footer__branding:last-child:not(:first-child) {
    float: left;
    clear: none; }
  .footer__branding:last-child:not(:first-child) {
    float: right; }
  @media screen and (min-width: 30em) {
    .footer__branding {
      width: 41.66667%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem;
      padding-top: 25px; } }
  @media screen and (min-width: 30em) and (min-width: 40em) {
    .footer__branding {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media screen and (min-width: 30em) {
      .footer__branding, .footer__branding:last-child:not(:first-child) {
        float: left;
        clear: none; }
      .footer__branding:last-child:not(:first-child) {
        float: right; } }
  @media print, screen and (min-width: 40em) {
    .footer__branding {
      width: 33.33333%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .footer__branding {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) {
      .footer__branding, .footer__branding:last-child:not(:first-child) {
        float: left;
        clear: none; }
      .footer__branding:last-child:not(:first-child) {
        float: right; } }
  @media print, screen and (min-width: 64em) {
    .footer__branding {
      width: 41.66667%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .footer__branding {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
      .footer__branding, .footer__branding:last-child:not(:first-child) {
        float: left;
        clear: none; }
      .footer__branding:last-child:not(:first-child) {
        float: right; } }

.footer__image {
  float: left;
  margin: 10px 0;
  width: 50%; }
  @media screen and (min-width: 30em) {
    .footer__image {
      margin: 0;
      width: 100%; } }
  .footer__image img {
    display: block; }
    .footer__image img.sadiq-logo {
      margin: auto;
      width: 140px; }
      @media screen and (min-width: 30em) {
        .footer__image img.sadiq-logo {
          margin: 0 0 20px; } }
      @media print, screen and (min-width: 40em) {
        .footer__image img.sadiq-logo {
          margin: 0 auto 20px; } }
    .footer__image img.labour {
      height: 24px;
      margin: 40px auto;
      width: 120px; }
      @media screen and (min-width: 30em) {
        .footer__image img.labour {
          margin: 0 0 20px; } }
      @media print, screen and (min-width: 40em) {
        .footer__image img.labour {
          margin: 0 auto 20px; } }

.footer__menus {
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  padding-top: 25px; }
  @media print, screen and (min-width: 40em) {
    .footer__menus {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .footer__menus, .footer__menus:last-child:not(:first-child) {
    float: left;
    clear: none; }
  .footer__menus:last-child:not(:first-child) {
    float: right; }
  @media screen and (min-width: 30em) {
    .footer__menus {
      width: 41.66667%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }
  @media screen and (min-width: 30em) and (min-width: 40em) {
    .footer__menus {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media screen and (min-width: 30em) {
      .footer__menus, .footer__menus:last-child:not(:first-child) {
        float: left;
        clear: none; }
      .footer__menus:last-child:not(:first-child) {
        float: right; } }
  @media print, screen and (min-width: 40em) {
    .footer__menus {
      width: 33.33333%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .footer__menus {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) {
      .footer__menus, .footer__menus:last-child:not(:first-child) {
        float: left;
        clear: none; }
      .footer__menus:last-child:not(:first-child) {
        float: right; } }
  @media print, screen and (min-width: 64em) {
    .footer__menus {
      width: 25%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .footer__menus {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
      .footer__menus, .footer__menus:last-child:not(:first-child) {
        float: left;
        clear: none; }
      .footer__menus:last-child:not(:first-child) {
        float: right; } }
  .footer__menus a:hover {
    text-decoration: underline; }

.footer__content {
  float: left; }
  .footer__content:first-of-type {
    padding-right: 10px; }
  @media print, screen and (min-width: 40em) {
    .footer__content {
      float: right;
      padding: 0 10px; } }
  .footer__content h4 {
    font-family: 'Lota-Bold';
    font-weight: normal;
    margin-bottom: 15px; }

.footer__menu li {
  line-height: 1.1em;
  margin: 10px 0; }

.footer__social {
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  padding-top: 15px; }
  @media print, screen and (min-width: 40em) {
    .footer__social {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .footer__social, .footer__social:last-child:not(:first-child) {
    float: left;
    clear: none; }
  .footer__social:last-child:not(:first-child) {
    float: right; }
  @media print, screen and (min-width: 40em) {
    .footer__social {
      width: 33.33333%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem;
      padding-top: 25px; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .footer__social {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) {
      .footer__social, .footer__social:last-child:not(:first-child) {
        float: left;
        clear: none; }
      .footer__social:last-child:not(:first-child) {
        float: right; } }
  @media print, screen and (min-width: 64em) {
    .footer__social {
      width: 25%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .footer__social {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
      .footer__social, .footer__social:last-child:not(:first-child) {
        float: left;
        clear: none; }
      .footer__social:last-child:not(:first-child) {
        float: right; } }
  .footer__social p {
    line-height: 1.5em; }
    .footer__social p:last-of-type {
      margin-bottom: 0; }

.footer__social-icon {
  color: #fff;
  font-size: 18px;
  margin-right: 10px; }
  .footer__social-icon:last-of-type {
    margin-right: 0; }

input[type='text']:not(.button), input[type='email']:not(.button), input[type='number']:not(.button), input[type='phone']:not(.button) {
  background: #fff;
  border: 2px solid #fff;
  border-radius: 4px;
  display: inline-block;
  font-family: 'Lota-Regular', sans-serif;
  font-size: 15px;
  padding: 6px 10px;
  -webkit-transition: border-color 200ms ease;
  transition: border-color 200ms ease; }
  input[type='text']:not(.button):focus, input[type='email']:not(.button):focus, input[type='number']:not(.button):focus, input[type='phone']:not(.button):focus {
    border: 2px solid #4a90e2; }

input[type='text'].input-error, input[type='email'].input-error, input[type='number'].input-error, input[type='phone'].input-error {
  border: 2px solid #e4003b; }

textarea {
  background: #fff;
  border: 2px solid #fff;
  border-radius: 4px;
  display: inline-block;
  font-family: 'Lota-Regular', sans-serif;
  font-size: 15px;
  padding: 6px 10px;
  -webkit-transition: border-color 200ms ease;
  transition: border-color 200ms ease; }
  textarea:focus {
    border: 2px solid #4a90e2; }
  textarea.input-error {
    border: 2px solid #e4003b; }

.error-status {
  font-size: .9em;
  margin-top: 5px; }

.gform_heading,
.gfield_label,
.hidden_sub_label,
.validation_error {
  display: none; }

.gfield_error input[type='text']:not(.button), .gfield_error input[type='email']:not(.button), .gfield_error input[type='number']:not(.button), .gfield_error input[type='phone']:not(.button) {
  border: 2px solid #e4003b; }

.gfield_error textarea {
  border: 2px solid #e4003b !important; }

.gform_confirmation_wrapper {
  color: #fff; }

.page-content--form {
  padding-bottom: 30px; }
  .page-content--form .gform_wrapper {
    margin: 0 auto;
    max-width: 670px;
    padding: 15px 15px 30px;
    width: 100%; }
    .page-content--form .gform_wrapper input,
    .page-content--form .gform_wrapper textarea {
      border: 1px solid #c0c0c0;
      border-radius: 4px;
      display: inline-block;
      font: inherit;
      font-size: 18px;
      height: auto;
      margin: 5px 0;
      padding: 10px 15px;
      -webkit-transition: border-color 200ms ease;
      transition: border-color 200ms ease;
      width: 100%; }
      .page-content--form .gform_wrapper input:focus,
      .page-content--form .gform_wrapper textarea:focus {
        border: 1px solid #4a90e2; }
    .page-content--form .gform_wrapper textarea {
      height: 150px;
      margin-bottom: 0;
      min-height: 100px;
      resize: vertical; }
    .page-content--form .gform_wrapper label {
      display: inline-block; }
    .page-content--form .gform_wrapper .button {
      border: 1px solid transparent;
      font-family: 'Lota-Black'; }
  .page-content--form .gform_title {
    padding: 7.5px 0; }
  .page-content--form .gform_description {
    display: inline-block;
    padding: 7.5px 0; }
  .page-content--form .gfield {
    padding: 10px 0; }
  .page-content--form .gfield_label {
    font-family: 'Lota-SemiBold'; }
  .page-content--form .gfield_description {
    font-size: 14px; }
  .page-content--form .validation_message {
    color: #e4003b; }
  .page-content--form .ginput_container_select,
  .page-content--form .ginput_container_multiselect {
    padding: 5px 0; }
  .page-content--form .gfield_checkbox,
  .page-content--form .gfield_radio {
    padding: 5px 0; }
    .page-content--form .gfield_checkbox li,
    .page-content--form .gfield_radio li {
      padding: 5px 0; }
    .page-content--form .gfield_checkbox label,
    .page-content--form .gfield_radio label {
      padding-left: 5px;
      vertical-align: top;
      width: 95%; }
    .page-content--form .gfield_checkbox input,
    .page-content--form .gfield_radio input {
      margin-top: 4px;
      padding: 7.5px 0;
      vertical-align: top;
      width: auto; }
  .page-content--form .gfield_radio input[type=text] {
    font-size: 16px;
    margin: 0 0 0 5px;
    padding: 7px; }
  .page-content--form .gform_hidden {
    display: none; }
  .page-content--form .ginput_complex > span {
    display: inline-block;
    margin-right: -5px;
    padding-bottom: 5px;
    padding-top: 5px;
    vertical-align: top;
    width: 50%; }
    .page-content--form .ginput_complex > span:nth-child(odd) {
      margin-right: -5px;
      padding-right: 10px; }
    .page-content--form .ginput_complex > span:nth-child(even) {
      padding-left: 10px; }
  .page-content--form .name_prefix_select {
    margin: 5px 0; }
  .page-content--form .ginput_container_date .ginput_container_date {
    display: inline-block;
    margin-right: 10px;
    vertical-align: top;
    width: auto; }
  .page-content--form .ginput_container_time {
    display: inline-block;
    margin-right: 5px;
    vertical-align: top;
    width: auto; }
  .page-content--form .gfield_time_hour i {
    display: none; }
  .page-content--form .gfield_time_ampm {
    margin: 5px 0; }
  .page-content--form .address_country {
    margin: 5px 0; }
  .page-content--form .ginput_card_expiration_container {
    display: block;
    padding: 14px 0; }
    .page-content--form .ginput_card_expiration_container label {
      display: block; }
  .page-content--form .selectric-ginput_card_expiration {
    display: inline-block;
    margin-right: -5px;
    width: 50%; }
  .page-content--form .selectric-ginput_card_expiration_month {
    padding-right: 7px; }
  .page-content--form .selectric-ginput_card_expiration_year {
    padding-left: 7px; }
  .page-content--form .gfield_creditcard_warning_message {
    color: #e4003b;
    padding-bottom: 10px; }
  .page-content--form .ginput_container_creditcard > span {
    display: block;
    margin: 0;
    width: 100%; }
    .page-content--form .ginput_container_creditcard > span:nth-child(2n+1) {
      margin-right: 0;
      padding-right: 0; }
    .page-content--form .ginput_container_creditcard > span:nth-child(2n) {
      padding-left: 0; }
  .page-content--form .gform_button {
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    background: #e4003b;
    border-radius: 4px;
    color: #fff;
    cursor: pointer;
    display: block;
    font-weight: 600;
    letter-spacing: 0.05em;
    padding: 14px 20px;
    text-decoration: none;
    text-align: center;
    -webkit-transition: background 200ms ease, opacity 200ms ease;
    transition: background 200ms ease, opacity 200ms ease;
    border: 0; }
    .page-content--form .gform_button:hover {
      background: #b1002e; }
    .page-content--form .gform_button:focus {
      background: #ff0b4a; }
    .page-content--form .gform_button:focus {
      border: 0; }
  .page-content--form .gform_footer {
    padding: 7.5px 0; }
  .page-content--form .gform_confirmation_wrapper {
    color: #000;
    padding-bottom: 20px;
    text-align: center; }
  @media (max-width: 900px) {
    .page-content--form .ginput_complex > span {
      display: block;
      margin-right: 0;
      padding-bottom: 5px;
      padding-top: 5px;
      width: 100%; }
      .page-content--form .ginput_complex > span:nth-child(odd) {
        margin-right: 0;
        padding-right: 0; }
      .page-content--form .ginput_complex > span:nth-child(even) {
        padding-left: 0; }
    .page-content--form .ginput_container_date .ginput_container_date {
      margin-right: -5px;
      padding-right: 15px;
      width: 33.33%; }
    .page-content--form .ginput_container_time {
      margin-right: -5px;
      padding-right: 10px;
      width: 33.33%; } }

.header {
  background: #fff;
  -webkit-box-shadow: 0 1px 7px 1px #909090;
          box-shadow: 0 1px 7px 1px #909090;
  left: 0;
  min-width: 300px;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 100; }
  .header .container {
    position: relative; }

.admin-bar .header {
  top: 46px; }
  @media screen and (min-width: 48.9375em) {
    .admin-bar .header {
      top: 32px; } }

.nav {
  padding: 0 10px;
  position: relative; }

.logo {
  display: inline-block;
  font-family: 'Intro', sans-serif;
  font-size: 20px;
  line-height: 1em;
  padding: 15px 0;
  text-decoration: none;
  text-transform: uppercase; }
  @media print, screen and (min-width: 40em) {
    .logo {
      padding: 12px 0; } }
  .logo--desktop {
    height: 31px;
    width: 320px; }
  .logo--mobile {
    height: 25px;
    width: 120px; }

.header__burger {
  cursor: pointer;
  height: 32px;
  margin: 9px 15px;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 25px; }
  .header__burger span {
    background: #000;
    border-radius: 2px;
    display: block;
    height: 2px;
    position: relative;
    -webkit-transition: top .4s .4s,  opacity 0s .4s,  -webkit-transform .4s;
    transition: top .4s .4s,  opacity 0s .4s,  -webkit-transform .4s;
    transition: top .4s .4s,  transform .4s,  opacity 0s .4s;
    transition: top .4s .4s,  transform .4s,  opacity 0s .4s,  -webkit-transform .4s;
    width: 100%; }
    .header__burger span:first-of-type {
      top: 0;
      -webkit-transform: rotate(0deg);
          -ms-transform: rotate(0deg);
              transform: rotate(0deg); }
    .header__burger span:nth-of-type(2) {
      opacity: 1;
      top: 5px; }
    .header__burger span:last-of-type {
      left: 0;
      top: 10px;
      -webkit-transform: rotate(0deg);
          -ms-transform: rotate(0deg);
              transform: rotate(0deg); }
  .header__burger.active span {
    -webkit-transition: top .4s,  opacity 0s .4s,  -webkit-transform .4s .4s;
    transition: top .4s,  opacity 0s .4s,  -webkit-transform .4s .4s;
    transition: top .4s,  transform .4s .4s,  opacity 0s .4s;
    transition: top .4s,  transform .4s .4s,  opacity 0s .4s,  -webkit-transform .4s .4s; }
    .header__burger.active span:first-of-type {
      top: 8px;
      -webkit-transform: rotate(45deg);
          -ms-transform: rotate(45deg);
              transform: rotate(45deg); }
    .header__burger.active span:nth-of-type(2) {
      opacity: 0; }
    .header__burger.active span:last-of-type {
      left: 0;
      top: 4px;
      -webkit-transform: rotate(-45deg);
          -ms-transform: rotate(-45deg);
              transform: rotate(-45deg); }
  @media print, screen and (min-width: 64em) {
    .header__burger {
      display: none; } }

.nav__container {
  background: #fff;
  display: none;
  left: 0;
  padding-bottom: 20px;
  position: absolute;
  top: 55px;
  -webkit-transition: top .5s;
  transition: top .5s;
  width: 100%;
  z-index: 99; }
  @media print, screen and (min-width: 64em) {
    .nav__container {
      background: none;
      display: block;
      height: 56px;
      left: auto;
      padding: 10px 0;
      right: 95px;
      text-align: right;
      top: 0;
      -webkit-transition: none;
      transition: none;
      width: auto; } }

.nav__menu {
  position: relative;
  text-align: right;
  top: 9px; }
  @media print, screen and (min-width: 64em) {
    .nav__menu {
      top: 9px; } }
  .nav__menu li {
    display: block;
    font-family: 'Intro', sans-serif;
    font-size: 15px;
    margin: 15px 10px;
    padding: 0 10px;
    text-transform: uppercase; }
    .nav__menu li.current_page_item a {
      color: #e4003b; }
      .nav__menu li.current_page_item a:after {
        width: 100%; }
    .nav__menu li a {
      color: #000;
      position: relative;
      text-decoration: none; }
      .nav__menu li a:after {
        background: #e4003b;
        border-radius: 2px;
        bottom: -2px;
        content: '';
        display: block;
        height: 3px;
        position: absolute;
        right: 0;
        -webkit-transition: width .5s;
        transition: width .5s;
        width: 0; }
      .nav__menu li a:hover:after {
        width: 100%; }
    @media print, screen and (min-width: 64em) {
      .nav__menu li {
        display: inline;
        margin: 0;
        padding: 0 15px; }
        .nav__menu li:last-of-type {
          padding-right: 45px; }
        .nav__menu li a:after {
          left: 0;
          right: auto; } }

.labour-logo {
  display: none; }
  @media screen and (min-width: 30em) {
    .labour-logo {
      display: block;
      position: absolute;
      right: 60px;
      top: 50%;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%); } }
  @media print, screen and (min-width: 64em) {
    .labour-logo {
      right: 10px; } }
  .labour-logo img {
    height: 15px;
    width: 86px; }

.header-actions {
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 100%;
  width: 100%; }
  .header-actions li {
    display: inline-block;
    float: right;
    max-width: 240px;
    width: calc(100% / 3); }
    .header-actions li .button {
      border-radius: 0;
      font-size: 13px;
      height: 40px;
      padding: 10px 0;
      pointer-events: all;
      width: 100%; }
      @media screen and (min-width: 30em) {
        .header-actions li .button {
          font-size: 14px; } }

.hero {
  background-position: center center;
  background-repeat: no-repeat;
  -webkit-background-size: cover;
          background-size: cover;
  height: 100vh;
  min-height: 550px;
  padding-top: 56px;
  position: relative; }
  @media screen and (min-width: 30em) {
    .hero {
      min-height: 500px; } }
  @media print, screen and (min-width: 40em) {
    .hero {
      min-height: 600px; } }
  @media print, screen and (min-width: 64em) {
    .hero {
      min-height: 650px; } }
  .hero > .container {
    height: 100%;
    position: relative; }
  .hero .iframe-wrapper {
    height: 100%;
    padding: 0; }
  .hero--generic {
    background-position: center 90px;
    height: 400px;
    min-height: 0; }
    @media print, screen and (min-width: 40em) {
      .hero--generic {
        background-position: center 50px;
        height: 500px; } }
    @media print, screen and (min-width: 64em) {
      .hero--generic {
        background-position: center top;
        height: 600px; } }

.hero__content {
  left: 0;
  position: absolute;
  top: 42%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 100%; }
  .hero__content h1 {
    height: 0;
    margin: 0;
    text-indent: -10000px; }

.hero__branding {
  display: block;
  margin: auto;
  width: 90%; }
  @media screen and (min-width: 30em) {
    .hero__branding {
      width: 80%; } }
  @media print, screen and (min-width: 40em) {
    .hero__branding {
      margin: 0;
      width: 450px; } }
  @media print, screen and (min-width: 64em) {
    .hero__branding {
      width: 565px; } }

.hero__box {
  background: #36a9e1;
  border-radius: 5px;
  margin: auto;
  max-width: 350px;
  padding: 20px;
  text-align: center;
  width: 90%; }
  @media print, screen and (min-width: 40em) {
    .hero__box {
      margin-left: 25px; } }
  .hero__box img {
    display: block;
    margin: auto;
    width: 180px; }
  .hero__box h2 {
    color: #fff;
    font-size: 1.4em;
    line-height: 1.2em;
    margin-top: 20px; }
    @media print, screen and (min-width: 40em) {
      .hero__box h2 {
        font-size: 1.7em; } }
  .hero__box p {
    color: #fff;
    margin-bottom: 0; }
  .hero__box .button {
    font-size: 1.2em;
    height: auto;
    margin: 15px 0;
    padding: 5px 10px; }

body.page-template-holding {
  background: #e4003b; }
  body.page-template-holding .wrapper {
    padding-bottom: 0; }

.holding {
  padding: 100px 20px 50px; }
  .holding .popup__content {
    background: #e4003b;
    margin: 0;
    padding: 25px 0;
    position: relative;
    top: 0;
    -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
            transform: translateY(0);
    width: 100%; }
    .holding .popup__content h3 {
      text-transform: initial; }

.holding__content {
  color: #fff;
  margin: auto;
  max-width: 500px;
  text-align: center;
  width: 100%; }
  .holding__content > img {
    display: block;
    height: 155px;
    margin: auto;
    width: 200px; }

.holding__text {
  margin: 50px 0 20px; }
  .holding__text h2 {
    font-size: 20px;
    line-height: 1.1em;
    text-transform: initial; }
    @media screen and (min-width: 30em) {
      .holding__text h2 {
        font-size: 1.5em; } }
    .holding__text h2 span {
      display: inline-block; }

.page-content {
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .page-content {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .page-content, .page-content:last-child:not(:first-child) {
    float: left;
    clear: none; }
  .page-content:last-child:not(:first-child) {
    float: right; }
  @media print, screen and (min-width: 64em) {
    .page-content {
      width: 83.33333%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem;
      margin-left: 8.33333%; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .page-content {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
      .page-content, .page-content:last-child:not(:first-child) {
        float: left;
        clear: none; }
      .page-content:last-child:not(:first-child) {
        float: right; } }
  @media print, screen and (min-width: 40em) {
    .page-content--thinner {
      width: 83.33333%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem;
      margin-left: 8.33333%; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .page-content--thinner {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) {
      .page-content--thinner, .page-content--thinner:last-child:not(:first-child) {
        float: left;
        clear: none; }
      .page-content--thinner:last-child:not(:first-child) {
        float: right; } }
  @media print, screen and (min-width: 64em) {
    .page-content--thinner {
      width: 66.66667%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem;
      margin-left: 16.66667%; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .page-content--thinner {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
      .page-content--thinner, .page-content--thinner:last-child:not(:first-child) {
        float: left;
        clear: none; }
      .page-content--thinner:last-child:not(:first-child) {
        float: right; } }
  .page-content--no-hero {
    padding-top: 130px; }
  @media print, screen and (min-width: 40em) {
    .page-content--has-bg {
      background: url("../img/river.svg") no-repeat center bottom;
      -webkit-background-size: 44% 44%;
              background-size: 44%; } }

.page-content__header {
  margin: 30px 10px;
  position: relative;
  text-align: center; }
  @media print, screen and (min-width: 40em) {
    .page-content__header {
      margin: 40px auto 60px; } }
  .page-content__header h1 {
    font-size: 30px;
    line-height: 1.1em;
    margin-bottom: 20px; }
    @media print, screen and (min-width: 40em) {
      .page-content__header h1 {
        font-size: 40px; } }
    @media print, screen and (min-width: 64em) {
      .page-content__header h1 {
        font-size: 56px; } }
  .page-content__header--has-border:after {
    background: #e4003b;
    content: '';
    display: inline-block;
    height: 8px;
    position: relative;
    width: 150px; }
    @media print, screen and (min-width: 40em) {
      .page-content__header--has-border:after {
        height: 12px; } }
  .page-content__header--cleaner-air {
    color: #fff; }
    .page-content__header--cleaner-air h1,
    .page-content__header--cleaner-air h2 {
      font-family: 'Intro', sans-serif;
      font-weight: normal;
      line-height: 1.3em; }
    .page-content__header--cleaner-air h2 {
      font-size: 1.2em;
      line-height: 1.4em; }
      @media print, screen and (min-width: 40em) {
        .page-content__header--cleaner-air h2 {
          font-size: 1.5em;
          line-height: 1.3em; } }
  .page-content__header .button {
    display: block;
    line-height: 1.5em;
    margin: 10px;
    padding: 5px 35px; }
    @media print, screen and (min-width: 40em) {
      .page-content__header .button {
        display: inline-block;
        margin: 0 5px; } }

.page-content__header-text {
  font-family: 'Lota-Bold';
  font-size: 18px;
  line-height: 1.3em;
  margin-top: 20px; }
  @media print, screen and (min-width: 40em) {
    .page-content__header-text {
      font-size: 20px;
      margin-top: 40px; } }
  .page-content__header-text--short {
    margin-left: auto;
    margin-right: auto;
    max-width: 800px; }
  .page-content__header-text--alt .page-content__header-quote {
    color: #000; }
  .page-content__header-text--alt .page-content__header-source {
    background: #000;
    margin-bottom: 20px; }
  .page-content__header-text h1,
  .page-content__header-text h2 {
    line-height: 1.2em; }
  .page-content__header-text blockquote {
    margin: 30px 10px; }
    .page-content__header-text blockquote cite {
      background: #36a9e1;
      color: #fff;
      display: inline-block;
      font-style: normal;
      padding: 2px 30px;
      text-transform: uppercase; }

.page-content__header-quote {
  color: #36a9e1;
  line-height: 1.4em;
  text-align: left; }
  @media print, screen and (min-width: 40em) {
    .page-content__header-quote {
      font-size: 22px; } }

.page-content__header-source {
  background: #36a9e1;
  color: #fff;
  display: inline-block;
  margin-top: 20px;
  padding: 2px 30px;
  text-transform: uppercase; }

.page-content__main {
  clear: both;
  content: "";
  display: table;
  width: 100%; }

.page-404 {
  clear: both;
  content: "";
  display: table;
  background: #7eaec0;
  height: 100vh;
  min-height: 500px;
  position: relative;
  width: 100%; }
  @media print, screen and (min-width: 40em) {
    .page-404 {
      padding: 150px 0 50px; } }

.page-404__content {
  color: #fff;
  margin: auto;
  position: absolute;
  text-align: center;
  text-transform: uppercase;
  top: 50%;
  -webkit-transform: translateY(-40%);
      -ms-transform: translateY(-40%);
          transform: translateY(-40%);
  width: 100%; }
  @media print, screen and (min-width: 40em) {
    .page-404__content {
      position: relative;
      -webkit-transform: translateY(0);
          -ms-transform: translateY(0);
              transform: translateY(0); } }
  @media print, screen and (min-width: 64em) {
    .page-404__content {
      max-width: 600px;
      padding-top: 50px; } }
  .page-404__content h1 {
    font-size: 45px;
    line-height: 1em; }
    @media print, screen and (min-width: 40em) {
      .page-404__content h1 {
        font-size: 60px; } }

.page-404__message {
  font-family: 'Lota-Light';
  font-size: 30px;
  line-height: 1.2em;
  margin: 15px auto;
  max-width: 270px;
  position: relative; }
  @media print, screen and (min-width: 40em) {
    .page-404__message {
      font-size: 40px;
      margin: 20px auto;
      max-width: 500px; } }
  .page-404__message:before, .page-404__message:after {
    background: #fff;
    content: '';
    display: block;
    height: 8px;
    margin: 20px auto;
    position: relative;
    width: 100px; }
    @media print, screen and (min-width: 40em) {
      .page-404__message:before, .page-404__message:after {
        height: 12px; } }
  .page-404__message:before {
    margin-top: 0; }
  .page-404__message:after {
    margin-bottom: 0; }
  .page-404__message a {
    color: #fff;
    display: inline-block;
    font-family: 'Lota-SemiBold';
    text-decoration: underline; }

.pollution-map__container {
  height: 600px;
  position: relative; }

.pollution-map__wrapper {
  -ms-overflow-style: none;
  height: 615px;
  overflow: -moz-scrollbars-none;
  overflow-x: auto;
  overflow-y: hidden;
  position: relative;
  width: 100%;
  z-index: 0; }
  .pollution-map__wrapper::-webkit-scrollbar {
    width: 0 !important; }

.scroll-overlay {
  background: rgba(0, 0, 0, 0.5);
  color: #fff;
  font-size: 20px;
  height: 100%;
  left: 0;
  opacity: 0;
  position: absolute;
  text-align: center;
  top: 0;
  -webkit-transition: opacity .4s;
  transition: opacity .4s;
  width: 100%;
  z-index: -1; }
  .scroll-overlay.active {
    z-index: 10; }
  .scroll-overlay span {
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    left: 0;
    line-height: 1.3em;
    padding: 0 25px;
    position: absolute;
    top: 48%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 100%; }

.tooltip {
  background: #fff;
  border: 4px solid #c0c0ce;
  color: #000;
  display: none;
  line-height: 1.2em;
  padding: 10px;
  position: absolute;
  width: 300px;
  z-index: 2; }
  .tooltip:before {
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    border-bottom: 15px solid #c0c0ce;
    border-left: 150px solid transparent;
    border-right: 150px solid transparent;
    content: '';
    left: 50%;
    position: absolute;
    top: -19px;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%); }
  .tooltip.above:before {
    border-bottom: 0;
    border-top: 15px solid #c0c0ce;
    bottom: -19px;
    top: auto; }
  .tooltip.arrow--left:before {
    border-left: 30px solid transparent;
    border-right: 270px solid transparent; }
  .tooltip.arrow--right:before {
    border-left: 270px solid transparent;
    border-right: 30px solid transparent; }
  .tooltip--vertical .tooltip__image {
    float: none;
    margin: auto;
    width: 50%; }
  .tooltip--vertical .tooltip__content {
    float: none;
    text-align: center;
    width: 100%; }
  .tooltip--horizontal .tooltip__image {
    float: left;
    width: 28%; }
  .tooltip--horizontal .tooltip__content {
    float: left;
    padding-left: 10px;
    text-align: left;
    width: 72%; }
  .tooltip--horizontal .tooltip__text span {
    text-align: left; }
  .tooltip--schools {
    -moz-transform: translate(-50%);
    -ms-transform: translate(-50%);
    -o-transform: translate(-50%);
    bottom: 115%;
    left: 50%;
    margin: auto;
    max-width: 300px;
    -webkit-transform: translate(-50%);
            transform: translate(-50%);
    width: 90%; }
    @media print, screen and (min-width: 40em) {
      .tooltip--schools {
        -moz-transform: translate(0);
        -ms-transform: translate(0);
        -o-transform: translate(0);
        left: 30px;
        -webkit-transform: translate(0);
                transform: translate(0);
        width: 300px; } }
    .tooltip--schools:before {
      display: none; }
      @media screen and (min-width: 400px) {
        .tooltip--schools:before {
          display: block; } }

.tooltip__image {
  display: block;
  height: auto; }

.tooltip__content h4 {
  margin: 10px 0; }

.tooltip__text span {
  color: #a2c61e;
  display: block;
  font-family: 'Lota-Bold', sans-serif;
  font-size: 3em;
  line-height: 1em;
  margin: 15px auto 10px;
  text-align: center; }

.pollution-map {
  color: #fff;
  left: 0;
  position: absolute;
  top: 0; }
  .pollution-map .point {
    background: #a2c61e;
    border-radius: 50%;
    cursor: pointer;
    height: 20px;
    position: absolute;
    width: 20px; }
    .pollution-map .point--schools {
      background: #a2c61e; }
      .pollution-map .point--schools:after {
        border: 2px solid #a2c61e; }
    .pollution-map .point--buses {
      background: #e4003b; }
      .pollution-map .point--buses:after {
        border: 2px solid #e4003b; }
    .pollution-map .point--monuments {
      background: #8b008b; }
      .pollution-map .point--monuments:after {
        border: 2px solid #8b008b; }
    .pollution-map .point:after {
      -moz-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      -o-transform: translate(-50%, -50%);
      -webkit-animation: pulsate infinite 1.5s;
              animation: pulsate infinite 1.5s;
      border-radius: 50%;
      content: '';
      height: 20px;
      left: 50%;
      position: absolute;
      top: 50%;
      -webkit-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%);
      width: 20px; }
    .pollution-map .point.active {
      background: #fff; }
      .pollution-map .point.active:after {
        -webkit-animation: none;
                animation: none;
        border: 3px solid #a2c61e;
        height: 23px;
        width: 23px; }
      .pollution-map .point.active.point--schools:after {
        border: 3px solid #a2c61e; }
      .pollution-map .point.active.point--buses:after {
        border: 3px solid #e4003b; }
      .pollution-map .point.active.point--monuments:after {
        border: 3px solid #8b008b; }
  .pollution-map .icon {
    -webkit-animation: scale 1s, bounce infinite 1.5s 1s;
            animation: scale 1s, bounce infinite 1.5s 1s;
    cursor: pointer;
    height: 64px;
    position: absolute;
    -webkit-transform-origin: bottom center;
        -ms-transform-origin: bottom center;
            transform-origin: bottom center;
    width: 45px; }
    .pollution-map .icon--schools {
      background: url("../img/school-icon.png") no-repeat center center;
      -webkit-background-size: 45px 45px;
              background-size: 45px; }

.pollution-map__bg {
  height: 600px;
  max-width: initial;
  width: auto; }
  .pollution-map__bg--desktop {
    display: none; }
    @media print, screen and (min-width: 40em) {
      .pollution-map__bg--desktop {
        display: block; } }
  .pollution-map__bg--mobile {
    display: block; }
    @media print, screen and (min-width: 40em) {
      .pollution-map__bg--mobile {
        display: none; } }

.pollution-map__guide__wrapper {
  left: 0;
  position: absolute;
  top: 0;
  width: 100%; }

.pollution-map__guide {
  height: auto;
  left: 2%;
  max-width: 400px;
  position: relative;
  width: 96%;
  z-index: 11; }
  @media print, screen and (min-width: 64em) {
    .pollution-map__guide {
      left: 10%; } }

.pollution-map__guide__content {
  background: #a2c61e;
  border-radius: 0 0 8px;
  color: #fff;
  display: none;
  font-size: 15px;
  line-height: 1.2em;
  padding: 20px 30px 1px 20px; }
  .pollution-map__guide__content ul {
    margin: 0;
    padding: 0; }

.pollution-map__guide__item {
  list-style: none;
  margin-bottom: 15px;
  padding-left: 40px;
  position: relative; }
  .pollution-map__guide__item:before {
    content: '';
    display: block;
    height: 30px;
    left: 0;
    position: absolute;
    top: 0;
    width: 30px; }
  .pollution-map__guide__item--scroll:before {
    background: url("../img/scroll-icon.png") no-repeat center top;
    -webkit-background-size: 100% 100%;
            background-size: 100%; }
  .pollution-map__guide__item--point:before {
    background: url("../img/point.png") no-repeat center top;
    -webkit-background-size: 20px 20px;
            background-size: 20px; }

.pollution-map__guide__trigger {
  background: #a2c61e url("../img/map-info.png") no-repeat center center;
  -webkit-background-size: 25px 25px;
          background-size: 25px;
  border-radius: 0 0 8px 8px;
  cursor: pointer;
  display: block;
  height: 35px;
  left: 0;
  padding: 5px 7px;
  position: absolute;
  top: 100%;
  width: 40px; }
  .pollution-map__guide__trigger.active {
    background: #a2c61e url("../img/close.png") no-repeat center center;
    -webkit-background-size: 18px 18px;
            background-size: 18px; }

.pollution-map__categories {
  margin-top: -25px;
  min-width: 290px;
  position: relative;
  text-align: center;
  width: 100%;
  z-index: 10; }
  @media print, screen and (min-width: 40em) {
    .pollution-map__categories {
      text-align: left;
      width: auto; } }

.pollution-map__cat {
  cursor: pointer;
  display: inline-block;
  margin: 0 20px 0 0;
  opacity: .6; }
  .pollution-map__cat--last {
    margin-right: 0; }
  @media screen and (min-width: 400px) {
    .pollution-map__cat {
      margin: 0 25px 0 0; }
      .pollution-map__cat--last {
        margin-right: 0; } }
  @media print, screen and (min-width: 40em) {
    .pollution-map__cat {
      float: left;
      margin: 0 30px 0 0;
      position: relative; }
      .pollution-map__cat--last {
        margin-right: 0; } }
  .pollution-map__cat.active {
    opacity: 1; }

.pollution-map__cat__icon {
  border: 2px solid #a2c61e;
  border-radius: 50%;
  height: 80px;
  width: 80px; }
  @media screen and (min-width: 400px) {
    .pollution-map__cat__icon {
      height: 90px;
      width: 90px; } }
  @media print, screen and (min-width: 40em) {
    .pollution-map__cat__icon {
      height: 120px;
      width: 120px; } }
  .pollution-map__cat__icon--schools {
    background: url("/wp-content/themes/labourbp/dist/img/schools.png") no-repeat center center;
    -webkit-background-size: 100% 100%;
            background-size: 100%;
    border: 3px solid #a2c61e; }
  .pollution-map__cat__icon--buses {
    background: url("/wp-content/themes/labourbp/dist/img/buses.png") no-repeat center center;
    -webkit-background-size: 100% 100%;
            background-size: 100%;
    border: 3px solid #e4003b; }
  .pollution-map__cat__icon--monuments {
    background: url("/wp-content/themes/labourbp/dist/img/monuments.png") no-repeat center center;
    -webkit-background-size: 100% 100%;
            background-size: 100%;
    border: 3px solid #8b008b; }

.pollution-map__cat__title {
  color: #fff;
  display: inline-block;
  font-family: 'Intro', sans-serif;
  font-size: 13px;
  font-weight: normal;
  margin-top: 10px;
  text-align: center;
  width: 100%; }
  @media screen and (min-width: 400px) {
    .pollution-map__cat__title {
      font-size: 14px; } }
  @media print, screen and (min-width: 40em) {
    .pollution-map__cat__title {
      font-size: 16px; } }

.pollution-map__filter {
  color: #fff;
  display: block;
  float: left;
  font-weight: bold;
  margin: 15px 0 0;
  text-transform: uppercase;
  width: 100%; }
  @media print, screen and (min-width: 40em) {
    .pollution-map__filter {
      margin: 40px 0 0 20px;
      width: 25%; } }
  @media screen and (min-width: 46.25em) {
    .pollution-map__filter {
      width: auto; } }
  .pollution-map__filter span {
    font-weight: normal; }
  .pollution-map__filter .pollution-map__filter-info {
    display: inline-block;
    line-height: 1.3em;
    margin-bottom: 10px;
    text-transform: initial; }
  .pollution-map__filter .pollution-map__revert {
    cursor: pointer;
    display: none;
    font-weight: bold;
    text-decoration: underline; }

.pollution-map__info {
  font-size: .9em;
  line-height: 1.3em;
  padding: 20px 0; }
  .pollution-map__info ol {
    margin: 0;
    padding-left: 20px; }
    .pollution-map__info ol li {
      margin-bottom: 3px; }

.ie-overlay {
  display: none; }

@-webkit-keyframes pulsate {
  0%,
  100% {
    -ms-transform: translate(-50%, -50%) scale(1.5, 1.5);
    -webkit-transform: translate(-50%, -50%) scale(1.5, 1.5);
            transform: translate(-50%, -50%) scale(1.5, 1.5); }
  50% {
    -ms-transform: translate(-50%, -50%) scale(1, 1);
    -webkit-transform: translate(-50%, -50%) scale(1, 1);
            transform: translate(-50%, -50%) scale(1, 1); } }

@keyframes pulsate {
  0%,
  100% {
    -ms-transform: translate(-50%, -50%) scale(1.5, 1.5);
    -webkit-transform: translate(-50%, -50%) scale(1.5, 1.5);
            transform: translate(-50%, -50%) scale(1.5, 1.5); }
  50% {
    -ms-transform: translate(-50%, -50%) scale(1, 1);
    -webkit-transform: translate(-50%, -50%) scale(1, 1);
            transform: translate(-50%, -50%) scale(1, 1); } }

@-webkit-keyframes bounce {
  0%,
  100% {
    -ms-transform: translateY(0);
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  50% {
    -ms-transform: translateY(-5px);
    -webkit-transform: translateY(-5px);
            transform: translateY(-5px); } }

@keyframes bounce {
  0%,
  100% {
    -ms-transform: translateY(0) scale(1, 1);
    -webkit-transform: translateY(0) scale(1, 1);
            transform: translateY(0) scale(1, 1); }
  50% {
    -ms-transform: translateY(-5px) scale(1, 1);
    -webkit-transform: translateY(-5px) scale(1, 1);
            transform: translateY(-5px) scale(1, 1); } }

@-webkit-keyframes scale {
  0% {
    -ms-transform: scale(0);
    -webkit-transform: scale(0);
            transform: scale(0); }
  100% {
    -ms-transform: scale(1);
    -webkit-transform: scale(1);
            transform: scale(1); } }

@keyframes scale {
  0% {
    -ms-transform: scale(0);
    -webkit-transform: scale(0);
            transform: scale(0); }
  100% {
    -ms-transform: scale(1);
    -webkit-transform: scale(1);
            transform: scale(1); } }

.pollution-search {
  padding: 30px 0 40px; }
  @media print, screen and (min-width: 40em) {
    .pollution-search {
      padding: 40px 0 50px; } }
  @media print, screen and (min-width: 64em) {
    .pollution-search {
      padding: 50px 0 60px; } }
  .pollution-search .page-content__header h2 {
    margin: auto;
    max-width: 700px;
    width: 100%; }
  .pollution-search .postcode-form {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    margin-bottom: 40px; }
    @media print, screen and (min-width: 40em) {
      .pollution-search .postcode-form {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .pollution-search .postcode-form, .pollution-search .postcode-form:last-child:not(:first-child) {
      float: left;
      clear: none; }
    .pollution-search .postcode-form:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .pollution-search .postcode-form {
        width: 83.33333%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem;
        margin-left: 8.33333%; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .pollution-search .postcode-form {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .pollution-search .postcode-form, .pollution-search .postcode-form:last-child:not(:first-child) {
          float: left;
          clear: none; }
        .pollution-search .postcode-form:last-child:not(:first-child) {
          float: right; } }
    @media print, screen and (min-width: 64em) {
      .pollution-search .postcode-form {
        width: 66.66667%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem;
        margin-left: 16.66667%; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .pollution-search .postcode-form {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
        .pollution-search .postcode-form, .pollution-search .postcode-form:last-child:not(:first-child) {
          float: left;
          clear: none; }
        .pollution-search .postcode-form:last-child:not(:first-child) {
          float: right; } }
    .pollution-search .postcode-form--other {
      display: none; }
  .pollution-search .form-row {
    width: 100%; }
  .pollution-search .fieldset {
    float: left;
    margin-bottom: 10px;
    width: 100%; }
    @media print, screen and (min-width: 40em) {
      .pollution-search .fieldset.fieldset--half {
        width: 49%; }
        .pollution-search .fieldset.fieldset--half:first-of-type {
          margin-right: 2%; } }
  .pollution-search input[type='text'], .pollution-search input[type='email'], .pollution-search input[type='number'], .pollution-search input[type='phone'] {
    padding: 10px;
    width: 100%; }
  .pollution-search .label {
    font-size: .9em;
    line-height: 1.3em; }
  .pollution-search .radio-label {
    cursor: pointer;
    display: inline-block;
    font-size: .9em;
    line-height: 1.1em;
    margin-top: 10px;
    padding: 0 10px 0 30px;
    position: relative;
    width: 100%; }
    @media print, screen and (min-width: 40em) {
      .pollution-search .radio-label {
        width: 49%; } }
    .pollution-search .radio-label input {
      height: 0;
      opacity: 0;
      position: absolute;
      width: 0; }
      .pollution-search .radio-label input:checked ~ .radio-icon {
        background-color: #e60665;
        border: 2px solid #fff; }
      .pollution-search .radio-label input:focus ~ .radio-icon {
        outline: 2px solid #4a90e2; }
  .pollution-search .radio-icon {
    background-color: #fff;
    border: 2px solid #fff;
    border-radius: 4px;
    display: inline-block;
    height: 20px;
    left: 0;
    position: absolute;
    top: -2px;
    width: 20px; }
  .pollution-search .form-error {
    display: none;
    margin-bottom: 10px;
    text-align: center; }
  .pollution-search .button {
    height: auto;
    margin-bottom: 10px;
    padding: 15px 10px;
    position: relative;
    text-align: center;
    width: 100%; }
    .pollution-search .button.loading span {
      background: #e60665 url("../img/pink-loader.gif") no-repeat center center;
      -webkit-background-size: 30px 30px;
              background-size: 30px;
      border-radius: 4px;
      color: #e60665;
      height: 100%;
      left: 0;
      position: absolute;
      top: 0;
      width: 100%; }

.postcode-results {
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  display: none;
  margin: 50px 0 40px; }
  @media print, screen and (min-width: 40em) {
    .postcode-results {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .postcode-results, .postcode-results:last-child:not(:first-child) {
    float: left;
    clear: none; }
  .postcode-results:last-child:not(:first-child) {
    float: right; }
  .postcode-results:last-child:last-child {
    float: left; }
  @media print, screen and (min-width: 64em) {
    .postcode-results {
      width: 83.33333%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem;
      margin-left: 8.33333%; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .postcode-results {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
      .postcode-results, .postcode-results:last-child:not(:first-child) {
        float: left;
        clear: none; }
      .postcode-results:last-child:not(:first-child) {
        float: right; }
      .postcode-results:last-child:last-child {
        float: left; } }
  .postcode-results h1 {
    font-size: 1.6em;
    line-height: 1.2em;
    margin: auto;
    max-width: 700px;
    width: 100%; }
    @media print, screen and (min-width: 40em) {
      .postcode-results h1 {
        font-size: 1.8em;
        line-height: 1.3em;
        text-align: center; } }
    @media print, screen and (min-width: 64em) {
      .postcode-results h1 {
        font-size: 2em; } }
    .postcode-results h1 span {
      display: inline-block; }
  .postcode-results small {
    display: block;
    line-height: 1.4em;
    max-width: 500px; }

.postcode-results__content {
  font-size: 1.2em;
  margin-top: 50px;
  width: 100%; }
  @media print, screen and (min-width: 40em) {
    .postcode-results__content {
      font-size: 1.2em; } }
  .postcode-results__content h2 {
    margin-bottom: 0; }
  .postcode-results__content h1 {
    font-size: 2em; }
    @media print, screen and (min-width: 40em) {
      .postcode-results__content h1 {
        font-size: 2.5em;
        text-align: left; } }
    @media print, screen and (min-width: 64em) {
      .postcode-results__content h1 {
        font-size: 3em; } }

.postcode-results__col {
  margin-bottom: 10px; }
  @media print, screen and (min-width: 40em) {
    .postcode-results__col {
      float: left;
      margin-bottom: 0;
      width: 65%; } }
  .postcode-results__col:last-of-type {
    display: none; }
    @media print, screen and (min-width: 40em) {
      .postcode-results__col:last-of-type {
        display: block;
        padding-left: 10px;
        width: 35%; }
        .postcode-results__col:last-of-type img {
          display: inline-block;
          max-width: 300px;
          width: 100%; } }

.popup {
  height: 100%;
  left: 0;
  min-width: 300px;
  position: fixed;
  text-align: center;
  top: 0;
  width: 100%;
  z-index: 100; }

.popup__overlay {
  background: rgba(0, 0, 0, 0.5);
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%; }

.popup__content {
  background: #e60665;
  margin: 0 15px;
  max-width: 500px;
  padding: 25px 20px 20px;
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  width: calc(100% - 30px); }
  @media print, screen and (min-width: 40em) {
    .popup__content {
      margin: auto;
      top: 45%; } }
  .popup__content h3 {
    color: #fff;
    line-height: 1.2em;
    margin-bottom: 14px; }
    .popup__content h3 span {
      display: inline-block; }
  .popup__content .end-module__form {
    margin: auto;
    max-width: 400px; }
    .popup__content .end-module__form .gfield_error input[type='text']:not(.button), .popup__content .end-module__form .gfield_error input[type='email']:not(.button), .popup__content .end-module__form .gfield_error input[type='number']:not(.button), .popup__content .end-module__form .gfield_error input[type='phone']:not(.button) {
      border: 2px solid #000; }
    .popup__content .end-module__form .gform_confirmation_wrapper {
      line-height: 1.2em;
      margin: 20px auto;
      max-width: 300px; }
      .popup__content .end-module__form .gform_confirmation_wrapper a {
        color: inherit; }

.popup__close {
  color: #fff;
  cursor: pointer;
  font-family: 'Lota-SemiBold';
  font-size: 25px;
  position: absolute;
  right: 12px;
  top: -2px; }

.social__block {
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .social__block {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .social__block, .social__block:last-child:not(:first-child) {
    float: left;
    clear: none; }
  .social__block:last-child:not(:first-child) {
    float: right; }
  .social__block:not(:first-of-type) {
    margin-top: 30px; }
  @media screen and (min-width: 30em) {
    .social__block {
      width: 50%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }
  @media screen and (min-width: 30em) and (min-width: 40em) {
    .social__block {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media screen and (min-width: 30em) {
      .social__block, .social__block:last-child:not(:first-child) {
        float: left;
        clear: none; }
      .social__block:last-child:not(:first-child) {
        float: right; }
      .social__block:last-child:last-child {
        float: left; }
      .social__block:not(:first-of-type) {
        margin-top: 0; } }
  @media print, screen and (min-width: 40em) {
    .social__block {
      width: 50%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem;
      max-width: 300px; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .social__block {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) {
      .social__block, .social__block:last-child:not(:first-child) {
        float: left;
        clear: none; }
      .social__block:last-child:not(:first-child) {
        float: right; }
      .social__block:last-child:last-child {
        float: left; }
      .social__block:nth-child(1):nth-last-child(1) {
        width: 100%; }
      .social__block:nth-child(1):nth-last-child(2) {
        width: 50%; }
      .social__block:nth-child(1):nth-last-child(3) {
        width: 33.3333%; }
      .social__block:nth-child(1):nth-last-child(4) {
        width: 25%; }
      .social__block:nth-child(2):nth-last-child(1) {
        width: 50%; }
      .social__block:nth-child(2):nth-last-child(2) {
        width: 33.3333%; }
      .social__block:nth-child(2):nth-last-child(3) {
        width: 25%; }
      .social__block:nth-child(3):nth-last-child(1) {
        width: 33.3333%; }
      .social__block:nth-child(3):nth-last-child(2) {
        width: 25%; }
      .social__block:nth-child(4):nth-last-child(1) {
        width: 25%; } }
  .social__block--insta .social__post {
    padding: 15px 0 5px; }
  .social__block a {
    text-decoration: none; }

.social__title {
  color: #000;
  font-size: 25px;
  text-align: left; }
  @media screen and (min-width: 30em) {
    .social__title {
      font-size: 30px;
      text-align: center; } }
  @media print, screen and (min-width: 40em) {
    .social__title {
      font-size: 35px; } }
  .social__title span {
    margin-left: 5px; }

.social__post {
  border-bottom: 2px solid #000;
  padding: 15px 0; }

.social__image {
  display: block;
  margin: 0 auto 10px;
  width: 100%; }

.social__content {
  clear: both;
  content: "";
  display: table;
  font-size: 15px;
  line-height: 1.4em;
  margin: 0 0 10px;
  text-align: left; }
  .social__content .social__image {
    float: left;
    margin-right: 10px; }
    @media screen and (min-width: 30em) {
      .social__content .social__image {
        float: none;
        margin-right: auto; } }
    @media print, screen and (min-width: 64em) {
      .social__content .social__image {
        float: left;
        margin-right: 10px; } }

.social__stats {
  clear: both;
  content: "";
  display: table;
  margin: 5px 0;
  width: 100%; }
  .social__stats > span {
    float: left; }
    .social__stats > span:last-of-type {
      float: right; }

.social__icon {
  margin-right: 10px; }
  .social__icon > i {
    margin-right: 5px; }

.social__link {
  color: #000;
  font-family: 'Lota-Bold';
  font-size: 14px;
  text-transform: uppercase; }
  .social__link:hover {
    text-decoration: underline; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm91bmRhdGlvbi5zY3NzIiwic3R5bGUuY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy92ZW5kb3Ivbm9ybWFsaXplLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyIsIl9zZXR0aW5ncy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19yb3cuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdW5pdC5zY3NzIiwiX21peGlucy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19ndXR0ZXIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19zaXplLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NvbHVtbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19wb3NpdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19sYXlvdXQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbG9hdC5zY3NzIiwiX3R5cG9ncmFwaHkuc2NzcyIsImJhc2UvX2Jhc2Uuc2NzcyIsIl92YXJpYWJsZXMuc2NzcyIsImJhc2UvX3V0aWxzLnNjc3MiLCJiYXNlL19zZWxlY3RyaWMuc2NzcyIsIm1vZHVsZXMvX2dyaWQtaGVscGVyLnNjc3MiLCJtb2R1bGVzL19hYm91dC5zY3NzIiwibW9kdWxlcy9fYWNoaWV2ZW1lbnRzLnNjc3MiLCJtb2R1bGVzL19hY3Rpb24tYmFyLnNjc3MiLCJtb2R1bGVzL19hcnRpY2xlLnNjc3MiLCJtb2R1bGVzL19icm93c2VydXBncmFkZS5zY3NzIiwibW9kdWxlcy9fYnV0dG9uLnNjc3MiLCJtb2R1bGVzL19jYW1wYWlnbnMuc2NzcyIsIm1vZHVsZXMvX2Nvb2tpZXMtYmFubmVyLnNjc3MiLCJtb2R1bGVzL19kZWxpdmVyaW5nLnNjc3MiLCJtb2R1bGVzL19lbmQtbW9kdWxlLnNjc3MiLCJtb2R1bGVzL19pZS5zY3NzIiwibW9kdWxlcy9fZm9vdGVyLnNjc3MiLCJtb2R1bGVzL19mb3JtLnNjc3MiLCJtb2R1bGVzL19ncmF2aXR5LWZvcm0uc2NzcyIsIm1vZHVsZXMvX2hlYWRlci5zY3NzIiwibW9kdWxlcy9faGVyby5zY3NzIiwibW9kdWxlcy9faG9sZGluZy5zY3NzIiwibW9kdWxlcy9fcGFnZS1jb250ZW50LnNjc3MiLCJtb2R1bGVzL19wYWdlLTQwNC5zY3NzIiwibW9kdWxlcy9fcG9sbHV0aW9uLW1hcC5zY3NzIiwibW9kdWxlcy9fcG9sbHV0aW9uLXNlYXJjaC5zY3NzIiwibW9kdWxlcy9fcG9wdXAuc2NzcyIsIm1vZHVsZXMvX3NvY2lhbC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztFQ0tFO0FDSkEsMkVBQUE7QUFRQTtFQUNFLGlCQUFpQjtFQUNqQiw4QkFBOEIsRUFBQTs7QUFRaEM7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QkFIbUQsRUFBQTs7QVJzRmpEO0VRdERKLHFCRHJDcUQsRUFBQTs7QVB5RWpEO0VNeEZKLFVDZXFELEVBQUE7O0FQK0UvQztFUXhFSixrQkFBa0I7RUFDbEIsU0FIbUQsRUFBQTs7QVI4RS9DO0VRNUVKLGtCQUFrQjtFQUNsQixVQUhtRCxFQUFBOztBUnNGakQ7RVF0REosc0JEckNxRCxFQUFBOztBUHlFakQ7RU14RkosZ0JDZXFELEVBQUE7O0FQK0UvQztFUXhFSixrQkFBa0I7RUFDbEIsZUFIbUQsRUFBQTs7QVI4RS9DO0VRNUVKLGtCQUFrQjtFQUNsQixnQkFIbUQsRUFBQTs7QVJzRmpEO0VRdERKLGdCRHJDcUQsRUFBQTs7QVB5RWpEO0VNeEZKLGdCQ2VxRCxFQUFBOztBUCtFL0M7RVF4RUosa0JBQWtCO0VBQ2xCLGVBSG1ELEVBQUE7O0FSOEUvQztFUTVFSixrQkFBa0I7RUFDbEIsZ0JBSG1ELEVBQUE7O0FSc0ZqRDtFUXRESixzQkRyQ3FELEVBQUE7O0FQeUVqRDtFTXhGSixVQ2VxRCxFQUFBOztBUCtFL0M7RVF4RUosa0JBQWtCO0VBQ2xCLFNBSG1ELEVBQUE7O0FSOEUvQztFUTVFSixrQkFBa0I7RUFDbEIsVUFIbUQsRUFBQTs7QVJzRmpEO0VRdERKLHNCRHJDcUQsRUFBQTs7QVB5RWpEO0VNeEZKLGdCQ2VxRCxFQUFBOztBUCtFL0M7RVF4RUosa0JBQWtCO0VBQ2xCLGVBSG1ELEVBQUE7O0FSOEUvQztFUTVFSixrQkFBa0I7RUFDbEIsZ0JBSG1ELEVBQUE7O0FSc0ZqRDtFUXRESixnQkRyQ3FELEVBQUE7O0FQeUVqRDtFTXhGSixnQkNlcUQsRUFBQTs7QVArRS9DO0VReEVKLGtCQUFrQjtFQUNsQixlQUhtRCxFQUFBOztBUjhFL0M7RVE1RUosa0JBQWtCO0VBQ2xCLGdCQUhtRCxFQUFBOztBUnNGakQ7RVF0REosc0JEckNxRCxFQUFBOztBUHlFakQ7RU14RkosVUNlcUQsRUFBQTs7QVArRS9DO0VReEVKLGtCQUFrQjtFQUNsQixTQUhtRCxFQUFBOztBUjhFL0M7RVE1RUosa0JBQWtCO0VBQ2xCLFVBSG1ELEVBQUE7O0FSc0ZqRDtFUXRESixzQkRyQ3FELEVBQUE7O0FQeUVqRDtFTXhGSixnQkNlcUQsRUFBQTs7QVArRS9DO0VReEVKLGtCQUFrQjtFQUNsQixlQUhtRCxFQUFBOztBUjhFL0M7RVE1RUosa0JBQWtCO0VBQ2xCLGdCQUhtRCxFQUFBOztBUnNGakQ7RVF0REosZ0JEckNxRCxFQUFBOztBUHlFakQ7RU14RkosZ0JDZXFELEVBQUE7O0FQK0UvQztFUXhFSixrQkFBa0I7RUFDbEIsZUFIbUQsRUFBQTs7QVI4RS9DO0VRNUVKLGtCQUFrQjtFQUNsQixnQkFIbUQsRUFBQTs7QVJzRmpEO0VRdERKLHNCRHJDcUQsRUFBQTs7QVB5RWpEO0VNeEZKLFdDZXFELEVBQUE7O0FQMkZqRDtFUXRESixzQkRyQ3FELEVBQUE7O0FQa0dqRDtFU3pHRixXWm9HdUQ7RVluR3ZELFdBQXVCLEVBQUE7RVR3R3JCO0lTakZBLFdBQVcsRUFBQTtFVGlGWDtJUzdFQSxXQUFXLEVBQUE7RVQ2RVg7SVN6RUEsV1pvRXFELEVBQUE7O0FHS3JEO0VTekdGLFdab0d1RDtFWW5HdkQsVUFBdUIsRUFBQTtFVHdHckI7SVNqRkEsV0FBVyxFQUFBO0VUaUZYO0lTN0VBLFdBQVcsRUFBQTtFVDZFWDtJU3pFQSxXWm9FcUQsRUFBQTs7QUdLckQ7RVN6R0YsV1pvR3VEO0VZbkd2RCxnQkFBdUIsRUFBQTtFVHdHckI7SVNqRkEsV0FBVyxFQUFBO0VUaUZYO0lTN0VBLFdBQVcsRUFBQTtFVDZFWDtJU3pFQSxXWm9FcUQsRUFBQTs7QUdLckQ7RVN6R0YsV1pvR3VEO0VZbkd2RCxVQUF1QixFQUFBO0VUd0dyQjtJU2pGQSxXQUFXLEVBQUE7RVRpRlg7SVM3RUEsV0FBVyxFQUFBO0VUNkVYO0lTekVBLFdab0VxRCxFQUFBOztBR0tyRDtFU3pHRixXWm9HdUQ7RVluR3ZELFVBQXVCLEVBQUE7RVR3R3JCO0lTakZBLFdBQVcsRUFBQTtFVGlGWDtJUzdFQSxXQUFXLEVBQUE7RVQ2RVg7SVN6RUEsV1pvRXFELEVBQUE7O0FHS3JEO0VTekdGLFdab0d1RDtFWW5HdkQsZ0JBQXVCLEVBQUE7RVR3R3JCO0lTakZBLFdBQVcsRUFBQTtFVGlGWDtJUzdFQSxXQUFXLEVBQUE7RVQ2RVg7SVN6RUEsV1pvRXFELEVBQUE7O0FHS3JEO0VTekdGLFdab0d1RDtFWW5HdkQsZ0JBQXVCLEVBQUE7RVR3R3JCO0lTakZBLFdBQVcsRUFBQTtFVGlGWDtJUzdFQSxXQUFXLEVBQUE7RVQ2RVg7SVN6RUEsV1pvRXFELEVBQUE7O0FHS3JEO0VTekdGLFdab0d1RDtFWW5HdkQsWUFBdUIsRUFBQTtFVHdHckI7SVNqRkEsV0FBVyxFQUFBO0VUaUZYO0lTN0VBLFdBQVcsRUFBQTtFVDZFWDtJU3pFQSxXWm9FcUQsRUFBQTs7QUdXdkQ7RUkvR0EsZ0JGdUVTO0VFdEVULGVGc0VTLEVBQUE7O0FGd0NUO0VBSUksZUFBZTtFQUNmLGNBQWMsRUFBQTs7QUFJbEI7RUFDRSxlQUFlO0VBQ2YsY0FBYyxFQUFBOztBQUdoQjtFSTdIQSx1QkFGcUM7RUFHckMsc0JBSHFDLEVBQUE7O0FKb0lyQztFUTFHQSxrQkFBa0I7RUFDbEIsaUJBQWlCLEVBQUE7RUFMakI7SUFDRSxXQUFXO0lBQ1gsV0FBVyxFQUFBOztBUmlIYjs7O0VRbkdGLGdCQUFnQjtFQUNoQixlQUFlO0VBQ2YsY0FBYyxFQUFBO0VBekNaOzs7OztJQUNFLFdYc0dxRDtJV3JHckQsV0FBVyxFQUFBO0VBS1g7OztJQUNFLFlYZ0dvRCxFQUFBOztBUTJDdEQ7RUxoRUE7SU14RkosZUNlcUQsRUFBQTtFUCtFL0M7SVF4RUosa0JBQWtCO0lBQ2xCLGNBSG1ELEVBQUE7RVI4RS9DO0lRNUVKLGtCQUFrQjtJQUNsQixlQUhtRCxFQUFBO0VSc0ZqRDtJUXRESixlRHhDZ0MsRUFBQTtFUDRFNUI7SU14RkosZ0JDZXFELEVBQUE7RVArRS9DO0lReEVKLGtCQUFrQjtJQUNsQixlQUhtRCxFQUFBO0VSOEUvQztJUTVFSixrQkFBa0I7SUFDbEIsZ0JBSG1ELEVBQUE7RVJzRmpEO0lRdERKLHFCRHJDcUQsRUFBQTtFUHlFakQ7SU14RkosVUNlcUQsRUFBQTtFUCtFL0M7SVF4RUosa0JBQWtCO0lBQ2xCLFNBSG1ELEVBQUE7RVI4RS9DO0lRNUVKLGtCQUFrQjtJQUNsQixVQUhtRCxFQUFBO0VSc0ZqRDtJUXRESixzQkRyQ3FELEVBQUE7RVB5RWpEO0lNeEZKLGdCQ2VxRCxFQUFBO0VQK0UvQztJUXhFSixrQkFBa0I7SUFDbEIsZUFIbUQsRUFBQTtFUjhFL0M7SVE1RUosa0JBQWtCO0lBQ2xCLGdCQUhtRCxFQUFBO0VSc0ZqRDtJUXRESixnQkRyQ3FELEVBQUE7RVB5RWpEO0lNeEZKLGdCQ2VxRCxFQUFBO0VQK0UvQztJUXhFSixrQkFBa0I7SUFDbEIsZUFIbUQsRUFBQTtFUjhFL0M7SVE1RUosa0JBQWtCO0lBQ2xCLGdCQUhtRCxFQUFBO0VSc0ZqRDtJUXRESixzQkRyQ3FELEVBQUE7RVB5RWpEO0lNeEZKLFVDZXFELEVBQUE7RVArRS9DO0lReEVKLGtCQUFrQjtJQUNsQixTQUhtRCxFQUFBO0VSOEUvQztJUTVFSixrQkFBa0I7SUFDbEIsVUFIbUQsRUFBQTtFUnNGakQ7SVF0REosc0JEckNxRCxFQUFBO0VQeUVqRDtJTXhGSixnQkNlcUQsRUFBQTtFUCtFL0M7SVF4RUosa0JBQWtCO0lBQ2xCLGVBSG1ELEVBQUE7RVI4RS9DO0lRNUVKLGtCQUFrQjtJQUNsQixnQkFIbUQsRUFBQTtFUnNGakQ7SVF0REosZ0JEckNxRCxFQUFBO0VQeUVqRDtJTXhGSixnQkNlcUQsRUFBQTtFUCtFL0M7SVF4RUosa0JBQWtCO0lBQ2xCLGVBSG1ELEVBQUE7RVI4RS9DO0lRNUVKLGtCQUFrQjtJQUNsQixnQkFIbUQsRUFBQTtFUnNGakQ7SVF0REosc0JEckNxRCxFQUFBO0VQeUVqRDtJTXhGSixVQ2VxRCxFQUFBO0VQK0UvQztJUXhFSixrQkFBa0I7SUFDbEIsU0FIbUQsRUFBQTtFUjhFL0M7SVE1RUosa0JBQWtCO0lBQ2xCLFVBSG1ELEVBQUE7RVJzRmpEO0lRdERKLHNCRHJDcUQsRUFBQTtFUHlFakQ7SU14RkosZ0JDZXFELEVBQUE7RVArRS9DO0lReEVKLGtCQUFrQjtJQUNsQixlQUhtRCxFQUFBO0VSOEUvQztJUTVFSixrQkFBa0I7SUFDbEIsZ0JBSG1ELEVBQUE7RVJzRmpEO0lRdERKLGdCRHJDcUQsRUFBQTtFUHlFakQ7SU14RkosZ0JDZXFELEVBQUE7RVArRS9DO0lReEVKLGtCQUFrQjtJQUNsQixlQUhtRCxFQUFBO0VSOEUvQztJUTVFSixrQkFBa0I7SUFDbEIsZ0JBSG1ELEVBQUE7RVJzRmpEO0lRdERKLHNCRHJDcUQsRUFBQTtFUHlFakQ7SU14RkosV0NlcUQsRUFBQTtFUDJGakQ7SVF0REosc0JEckNxRCxFQUFBO0VQa0dqRDtJU3pHRixXWm9HdUQ7SVluR3ZELFdBQXVCLEVBQUE7SVR3R3JCO01TakZBLFdBQVcsRUFBQTtJVGlGWDtNUzdFQSxXQUFXLEVBQUE7SVQ2RVg7TVN6RUEsV1pvRXFELEVBQUE7RUdLckQ7SVN6R0YsV1pvR3VEO0lZbkd2RCxVQUF1QixFQUFBO0lUd0dyQjtNU2pGQSxXQUFXLEVBQUE7SVRpRlg7TVM3RUEsV0FBVyxFQUFBO0lUNkVYO01TekVBLFdab0VxRCxFQUFBO0VHS3JEO0lTekdGLFdab0d1RDtJWW5HdkQsZ0JBQXVCLEVBQUE7SVR3R3JCO01TakZBLFdBQVcsRUFBQTtJVGlGWDtNUzdFQSxXQUFXLEVBQUE7SVQ2RVg7TVN6RUEsV1pvRXFELEVBQUE7RUdLckQ7SVN6R0YsV1pvR3VEO0lZbkd2RCxVQUF1QixFQUFBO0lUd0dyQjtNU2pGQSxXQUFXLEVBQUE7SVRpRlg7TVM3RUEsV0FBVyxFQUFBO0lUNkVYO01TekVBLFdab0VxRCxFQUFBO0VHS3JEO0lTekdGLFdab0d1RDtJWW5HdkQsVUFBdUIsRUFBQTtJVHdHckI7TVNqRkEsV0FBVyxFQUFBO0lUaUZYO01TN0VBLFdBQVcsRUFBQTtJVDZFWDtNU3pFQSxXWm9FcUQsRUFBQTtFR0tyRDtJU3pHRixXWm9HdUQ7SVluR3ZELGdCQUF1QixFQUFBO0lUd0dyQjtNU2pGQSxXQUFXLEVBQUE7SVRpRlg7TVM3RUEsV0FBVyxFQUFBO0lUNkVYO01TekVBLFdab0VxRCxFQUFBO0VHS3JEO0lTekdGLFdab0d1RDtJWW5HdkQsZ0JBQXVCLEVBQUE7SVR3R3JCO01TakZBLFdBQVcsRUFBQTtJVGlGWDtNUzdFQSxXQUFXLEVBQUE7SVQ2RVg7TVN6RUEsV1pvRXFELEVBQUE7RUdLckQ7SVN6R0YsV1pvR3VEO0lZbkd2RCxZQUF1QixFQUFBO0lUd0dyQjtNU2pGQSxXQUFXLEVBQUE7SVRpRlg7TVM3RUEsV0FBVyxFQUFBO0lUNkVYO01TekVBLFdab0VxRCxFQUFBO0VHV3ZEO0lJL0dBLGdCRnVFUztJRXRFVCxlRnNFUyxFQUFBO0VGd0NUO0lBSUksZUFBZTtJQUNmLGNBQWMsRUFBQTtFQUlsQjtJQUNFLGVBQWU7SUFDZixjQUFjLEVBQUE7RUFHaEI7SUk3SEEsd0JBRnFDO0lBR3JDLHVCQUhxQyxFQUFBO0VKb0lyQztJUTFHQSxrQkFBa0I7SUFDbEIsaUJBQWlCLEVBQUE7SUFMakI7TUFDRSxXQUFXO01BQ1gsV0FBVyxFQUFBO0VSaUhiOzs7SVFuR0YsZ0JBQWdCO0lBQ2hCLGVBQWU7SUFDZixjQUFjLEVBQUE7SUF6Q1o7Ozs7O01BQ0UsV1hzR3FEO01XckdyRCxXQUFXLEVBQUE7SUFLWDs7O01BQ0UsWVhnR29ELEVBQUEsRVcvRnJEOztBSDBJRDtFTGhFQTtJTXhGSixlQ2VxRCxFQUFBO0VQK0UvQztJUXhFSixrQkFBa0I7SUFDbEIsY0FIbUQsRUFBQTtFUjhFL0M7SVE1RUosa0JBQWtCO0lBQ2xCLGVBSG1ELEVBQUE7RVJzRmpEO0lRdERKLGVEeENnQyxFQUFBO0VQNEU1QjtJTXhGSixnQkNlcUQsRUFBQTtFUCtFL0M7SVF4RUosa0JBQWtCO0lBQ2xCLGVBSG1ELEVBQUE7RVI4RS9DO0lRNUVKLGtCQUFrQjtJQUNsQixnQkFIbUQsRUFBQTtFUnNGakQ7SVF0REoscUJEckNxRCxFQUFBO0VQeUVqRDtJTXhGSixVQ2VxRCxFQUFBO0VQK0UvQztJUXhFSixrQkFBa0I7SUFDbEIsU0FIbUQsRUFBQTtFUjhFL0M7SVE1RUosa0JBQWtCO0lBQ2xCLFVBSG1ELEVBQUE7RVJzRmpEO0lRdERKLHNCRHJDcUQsRUFBQTtFUHlFakQ7SU14RkosZ0JDZXFELEVBQUE7RVArRS9DO0lReEVKLGtCQUFrQjtJQUNsQixlQUhtRCxFQUFBO0VSOEUvQztJUTVFSixrQkFBa0I7SUFDbEIsZ0JBSG1ELEVBQUE7RVJzRmpEO0lRdERKLGdCRHJDcUQsRUFBQTtFUHlFakQ7SU14RkosZ0JDZXFELEVBQUE7RVArRS9DO0lReEVKLGtCQUFrQjtJQUNsQixlQUhtRCxFQUFBO0VSOEUvQztJUTVFSixrQkFBa0I7SUFDbEIsZ0JBSG1ELEVBQUE7RVJzRmpEO0lRdERKLHNCRHJDcUQsRUFBQTtFUHlFakQ7SU14RkosVUNlcUQsRUFBQTtFUCtFL0M7SVF4RUosa0JBQWtCO0lBQ2xCLFNBSG1ELEVBQUE7RVI4RS9DO0lRNUVKLGtCQUFrQjtJQUNsQixVQUhtRCxFQUFBO0VSc0ZqRDtJUXRESixzQkRyQ3FELEVBQUE7RVB5RWpEO0lNeEZKLGdCQ2VxRCxFQUFBO0VQK0UvQztJUXhFSixrQkFBa0I7SUFDbEIsZUFIbUQsRUFBQTtFUjhFL0M7SVE1RUosa0JBQWtCO0lBQ2xCLGdCQUhtRCxFQUFBO0VSc0ZqRDtJUXRESixnQkRyQ3FELEVBQUE7RVB5RWpEO0lNeEZKLGdCQ2VxRCxFQUFBO0VQK0UvQztJUXhFSixrQkFBa0I7SUFDbEIsZUFIbUQsRUFBQTtFUjhFL0M7SVE1RUosa0JBQWtCO0lBQ2xCLGdCQUhtRCxFQUFBO0VSc0ZqRDtJUXRESixzQkRyQ3FELEVBQUE7RVB5RWpEO0lNeEZKLFVDZXFELEVBQUE7RVArRS9DO0lReEVKLGtCQUFrQjtJQUNsQixTQUhtRCxFQUFBO0VSOEUvQztJUTVFSixrQkFBa0I7SUFDbEIsVUFIbUQsRUFBQTtFUnNGakQ7SVF0REosc0JEckNxRCxFQUFBO0VQeUVqRDtJTXhGSixnQkNlcUQsRUFBQTtFUCtFL0M7SVF4RUosa0JBQWtCO0lBQ2xCLGVBSG1ELEVBQUE7RVI4RS9DO0lRNUVKLGtCQUFrQjtJQUNsQixnQkFIbUQsRUFBQTtFUnNGakQ7SVF0REosZ0JEckNxRCxFQUFBO0VQeUVqRDtJTXhGSixnQkNlcUQsRUFBQTtFUCtFL0M7SVF4RUosa0JBQWtCO0lBQ2xCLGVBSG1ELEVBQUE7RVI4RS9DO0lRNUVKLGtCQUFrQjtJQUNsQixnQkFIbUQsRUFBQTtFUnNGakQ7SVF0REosc0JEckNxRCxFQUFBO0VQeUVqRDtJTXhGSixXQ2VxRCxFQUFBO0VQMkZqRDtJUXRESixzQkRyQ3FELEVBQUE7RVBrR2pEO0lTekdGLFdab0d1RDtJWW5HdkQsV0FBdUIsRUFBQTtJVHdHckI7TVNqRkEsV0FBVyxFQUFBO0lUaUZYO01TN0VBLFdBQVcsRUFBQTtJVDZFWDtNU3pFQSxXWm9FcUQsRUFBQTtFR0tyRDtJU3pHRixXWm9HdUQ7SVluR3ZELFVBQXVCLEVBQUE7SVR3R3JCO01TakZBLFdBQVcsRUFBQTtJVGlGWDtNUzdFQSxXQUFXLEVBQUE7SVQ2RVg7TVN6RUEsV1pvRXFELEVBQUE7RUdLckQ7SVN6R0YsV1pvR3VEO0lZbkd2RCxnQkFBdUIsRUFBQTtJVHdHckI7TVNqRkEsV0FBVyxFQUFBO0lUaUZYO01TN0VBLFdBQVcsRUFBQTtJVDZFWDtNU3pFQSxXWm9FcUQsRUFBQTtFR0tyRDtJU3pHRixXWm9HdUQ7SVluR3ZELFVBQXVCLEVBQUE7SVR3R3JCO01TakZBLFdBQVcsRUFBQTtJVGlGWDtNUzdFQSxXQUFXLEVBQUE7SVQ2RVg7TVN6RUEsV1pvRXFELEVBQUE7RUdLckQ7SVN6R0YsV1pvR3VEO0lZbkd2RCxVQUF1QixFQUFBO0lUd0dyQjtNU2pGQSxXQUFXLEVBQUE7SVRpRlg7TVM3RUEsV0FBVyxFQUFBO0lUNkVYO01TekVBLFdab0VxRCxFQUFBO0VHS3JEO0lTekdGLFdab0d1RDtJWW5HdkQsZ0JBQXVCLEVBQUE7SVR3R3JCO01TakZBLFdBQVcsRUFBQTtJVGlGWDtNUzdFQSxXQUFXLEVBQUE7SVQ2RVg7TVN6RUEsV1pvRXFELEVBQUE7RUdLckQ7SVN6R0YsV1pvR3VEO0lZbkd2RCxnQkFBdUIsRUFBQTtJVHdHckI7TVNqRkEsV0FBVyxFQUFBO0lUaUZYO01TN0VBLFdBQVcsRUFBQTtJVDZF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Y1RyRGEsRUFBQTtJU2RmO01Bc0VHLHlCVHhEWTtNU3lEWixXekJWUyxFQUFBO0V5QjdEWjtJQTRFRSx5QlQ5RGEsRUFBQTtJU2RmO01BK0VHLHlCVGhFaUIsRUFBQTtFU2ZwQjtJQXFGRSxjVHBFa0IsRUFBQTtJU2pCcEI7TUF3RkcseUJUdkVpQjtNU3dFakIsV3pCNUJTLEVBQUE7RXlCN0RaO0lBOEZFLHlCVDdFa0IsRUFBQTtJU2pCcEI7TUFpR0cseUJUL0VzQixFQUFBO0VTbEJ6QjtJQXVHRSxjVGpGYyxFQUFBO0lTdEJoQjtNQTBHRyx5QlRwRmE7TVNxRmIsV3pCOUNTLEVBQUE7RXlCN0RaO0lBZ0hFLHlCVDFGYyxFQUFBO0lTdEJoQjtNQW1IRyx5QlQ1RmtCLEVBQUE7RVN2QnJCO0lBeUhFLGNUaEdZLEVBQUE7SVN6QmQ7TUE0SEcseUJUbkdXO01Tb0dYLFd6QmhFUyxFQUFBO0V5QjdEWjtJQWtJRSx5QlR6R1ksRUFBQTtJU3pCZDtNQXFJRyx5QlQzR2dCLEVBQUE7RVMxQm5CO0lBMklFLGNUN0djLEVBQUE7SVM5QmhCO01BOElHLHlCVGhIYTtNU2lIYixXekJsRlMsRUFBQTtFeUI3RFo7SUFvSkUseUJUdEhjLEVBQUE7SVM5QmhCO01BdUpHLHlCVHhIa0IsRUFBQTtFUy9CckI7SUE4SkUsY1QxSmtCLEVBQUE7SVNKcEI7TUFpS0cseUJUN0ppQjtNUzhKakIsV3pCckdTLEVBQUE7RXlCN0RaO0lBd0tFLHlCVHBLa0IsRUFBQTtJU0pwQjtNQTJLRyx5QlR0S2UsRUFBQTs7QVMyS2xCO0VBQ0Msc0J6QnBIVztFeUJxSFgsc0J6QnRIVztFeUJ1SFgsV3pCdkhXLEVBQUE7RXlCb0haO0lBTUUsc0J6QjFIVTtJeUIySFYsV3pCMUhVLEVBQUE7RXlCbUhaO0lBV0UseUJUbkxZO0lTb0xaLGNUcExZLEVBQUE7SVN3S2Q7TUFlRyx5QlR2TFc7TVN3TFgsV3pCbklTLEVBQUE7RXlCbUhaO0lBcUJFLHlCVDFMaUI7SVMyTGpCLGNUM0xpQixFQUFBO0lTcUtuQjtNQXlCRyx5QlQ5TGdCO01TK0xoQixXekI3SVMsRUFBQTtFeUJtSFo7SUErQkUseUJUak1hO0lTa01iLGNUbE1hLEVBQUE7SVNrS2Y7TUFtQ0cseUJUck1ZO01Tc01aLFd6QnZKUyxFQUFBO0V5Qm1IWjtJQXlDRSx5QlR4TWtCO0lTeU1sQixjVHpNa0IsRUFBQTtJUytKcEI7TUE2Q0cseUJUNU1pQjtNUzZNakIsV3pCaktTLEVBQUE7RXlCbUhaO0lBbURFLHlCVDdNYztJUzhNZCxjVDlNYyxFQUFBO0lTMEpoQjtNQXVERyx5QlRqTmE7TVNrTmIsV3pCM0tTLEVBQUE7RXlCbUhaO0lBNkRFLHlCVHBOWTtJU3FOWixjVHJOWSxFQUFBO0lTdUpkO01BaUVHLHlCVHhOVztNU3lOWCxXekJyTFMsRUFBQTtFeUJtSFo7SUF1RUUseUJUek5jO0lTME5kLGNUMU5jLEVBQUE7SVNrSmhCO01BMkVHLHlCVDdOYTtNUzhOYixXekIvTFMsRUFBQTs7QXlCb01aO0VBQ0Msc0RBQTZDO1VBQTdDLDhDQUE2QztFQUM3QyxlQUFlO0VBQ1osWUFBWTtFQUNaLGNBQWMsRUFBQTs7QUFHbEI7RUFDQyxZQUFZO0VBQ1osYUFBYSxFQUFBOztBQUdkO0VBQ0ksZUFBZTtFQUNsQixZQUFZO0VBQ1Qsa0JBQWtCLEVBQUE7O0FDaFJ0QjtFQUVLLGdCMUIyRE87RTBCMURQLGtCQUFrQixFQUFBO0VuQm1LakI7SW1CdEtOO01BTU0saUJBQWlCLEVBQUEsRUFNckI7RW5CMEpJO0ltQnRLTjtNQVVNLGtCQUFrQixFQUFBLEVBRXRCOztBQUdGO0VyQmdESSxXQUFXO0VBQ1gsV0FBVztFQUNYLGNBQWM7RUduRGhCLFdDZXFEO0VBK0JyRCxXVjhEeUQ7RU9wR3ZELHVCQUZxQztFQUdyQyxzQkFIcUM7RW9CRHhDLGdCQUFnQjtFQUNoQixvQkFBb0I7RUFDcEIsa0JBQWtCLEVBQUE7RW5CaUpiO0ltQnZKTjtNcEJPSSx3QkFGcUM7TUFHckMsdUJBSHFDLEVBQUEsRW9CbUJ4QztFaEJwQkc7SUFDRSxXWHNHcUQ7SVdyR3JELFdBQVcsRUFBQTtFQUtYO0lBQ0UsWVhnR29ELEVBQUE7RVduRDFEO0lBQ0UsV1hpRHVELEVBQUE7RTJCM0czRDtJQVNFLGVBQWU7SUFDZixrQkFBa0IsRUFBQTtJbkI2SWQ7TW1CdkpOO1FBYUcsZUFBZSxFQUFBLEVBVWhCO0luQmdJSTtNbUJ2Sk47UUFpQkcsZUFBZSxFQUFBLEVBTWhCO0lBdkJGO01BcUJHLHFCQUFxQixFQUFBOztBQUt4QjtFQUNDLGNBQWM7RUFDZCxlQUFlO0VBQ2YsZ0JBQWdCO0VBQ2hCLFVBQVUsRUFBQTtFbkJ5SEw7SW1CN0hOO01BT0UsY0FBYztNQUNkLGVBQWU7TUFDZixVQUFVLEVBQUEsRUFZWDtFQXJCRDtJQWFFLGVBQWU7SUFDZixVQUFVLEVBQUE7SW5CK0dOO01tQjdITjtRQWlCRyxlQUFlO1FBQ2YsVUFBVSxFQUFBLEVBRVg7O0FBR0Y7RUFDQyxXQUFXO0VBQ1gsV0FBVztFQUNYLFdBQVcsRUFBQTtFQUVYO0lBQ0MseUJWeERhLEVBQUE7O0FVNERmO0VBQ0MsbUJBQW1CO0VBQ25CLGtCQUFrQixFQUFBO0VBRm5CO0lBS0UsZUFBZSxFQUFBO0VBTGpCO0lBU0UsZ0JBQWdCLEVBQUE7RW5CbUZaO0ltQjVGTjtNQWFFLG1CQUFtQjtNQUNuQixVQUFVLEVBQUE7TUFkWjtRQWlCRyxnQkFBZ0I7UUFDaEIsZUFBZSxFQUFBLEVBQ2Y7O0FBSUg7RUFDQyxrQ0FBa0M7RUFDbEMsNEJBQTRCO0VBQzVCLDhCQUFzQjtVQUF0QixzQkFBc0IsRUFBQTtFbkJrRWpCO0ltQnJFTjtNQU1FLG1CQUFtQjtNQUNuQixVQUFVLEVBQUEsRUFFWDs7QUFFRDtFckI3Q0ksV0FBVztFQUNYLFdBQVc7RUFDWCxjQUFjO0VxQjZDakIsb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYixtQkFBZTtNQUFmLGVBQWU7RUFDZix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQUN2QixtQkFBbUI7RUFDbkIsV0FBVyxFQUFBO0VuQm9ETjtJbUIxRE47TUFTRSxtQkFBbUIsRUFBQSxFQUVwQjs7QUFFRDtFbEIzR0UsV0NlcUQ7RUErQnJELFdWOER5RDtFT3BHdkQsdUJBRnFDO0VBR3JDLHNCQUhxQztFb0J1R3hDLG1CQUFtQixFQUFBO0VuQjJDZDtJbUI3Q047TXBCbkdJLHdCQUZxQztNQUdyQyx1QkFIcUMsRUFBQSxFb0JpSHhDO0VoQmxIRztJQUNFLFdYc0dxRDtJV3JHckQsV0FBVyxFQUFBO0VBS1g7SUFDRSxZWGdHb0QsRUFBQTtFMkJGNUQ7SUFLRSxnQkFBZ0IsRUFBQTtFbkJ3Q1o7SW1CN0NOO01sQjNHRSxnQkNlcUQ7TUErQnJELFdWOER5RDtNT3BHdkQsdUJBRnFDO01BR3JDLHNCQUhxQyxFQUFBLEVvQmlIeEM7RW5CaUNLO0ltQjdDTjtNcEJuR0ksd0JBRnFDO01BR3JDLHVCQUhxQyxFQUFBLEVvQmlIeEM7RW5CaUNLO01HbkpGO1FBQ0UsV1hzR3FEO1FXckdyRCxXQUFXLEVBQUE7TUFLWDtRQUNFLFlYZ0dvRCxFQUFBO01XbkQxRDtRQUNFLFdYaUR1RCxFQUFBLEVXaER4RDs7QWdCNkRIO0VBRUUscUJWaklZLEVBQUE7O0FVK0hkO0VBTUUsY1ZySVksRUFBQTs7QVV5SWQ7RUFFRSxxQlZ4SWlCLEVBQUE7O0FVc0luQjtFQU1FLGNWNUlpQixFQUFBOztBVWdKbkI7RUFFRSxxQlYvSWEsRUFBQTs7QVU2SWY7RUFNRSxjVm5KYSxFQUFBOztBVXVKZjtFQUVFLHFCVnRKa0IsRUFBQTs7QVVvSnBCO0VBTUUsY1YxSmtCLEVBQUE7O0FVOEpwQjtFQUVFLHFCVjNKYyxFQUFBOztBVXlKaEI7RUFNRSxjVi9KYyxFQUFBOztBVW1LaEI7RUFFRSxxQlZsS1ksRUFBQTs7QVVnS2Q7RUFNRSxjVnRLWSxFQUFBOztBVTBLZDtFQUVFLHFCVnZLYyxFQUFBOztBVXFLaEI7RUFNRSxjVjNLYyxFQUFBOztBVStLaEI7RUFFRSxxQlYzTWtCLEVBQUE7O0FVeU1wQjtFQU1FLGNWL01rQixFQUFBOztBVGtLZDtFbUJpRE47SUFFSyxZQUFZO0lBQ1osZ0JBQWdCLEVBQUEsRUFpQnBCOztBQXBCRDtFQU9LLGVBQWU7RUFDZixrQkFBa0I7RUFDbEIsb0JBQW9CLEVBQUE7O0FBVHpCO0VBY0csZ0JBQWdCO0VBQ2hCLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsV0FBVyxFQUFBOztBQUtkO0VBQ0Msa0NBQWtDO0VBQ2xDLDRCQUE0QjtFQUM1Qiw4QkFBc0I7VUFBdEIsc0JBQXNCO0VBQ3RCLHlCVm5PYztFVW9PZCxrQkFBa0I7RUFDZixjQUFjO0VBQ2QsYUFBYTtFQUNiLFlBQVk7RUFDWixZQUFZLEVBQUE7RW5CM0VWO0ltQmtFTjtNQVlLLGFBQWE7TUFDYixZQUFZLEVBQUEsRUFZaEI7RW5CaEdLO0ltQnVFTjtNQWlCSyxhQUFhO01BQ2IsWUFBWSxFQUFBLEVBT2hCO0VuQmhHSztJbUJ1RU47TUFzQkssYUFBYTtNQUNiLFlBQVksRUFBQSxFQUVoQjs7QUN0UUQ7RUFDSSxtQlhHZ0I7RVdGaEIsMEIzQjJEUTtFMkIxRFIsU0FBUztFQUNULFdBQVc7RUFDWCxPQUFPO0VBQ1Asb0JBQW9CO0VBQ3BCLFVBQVU7RUFDVixrQkFBa0I7RUFDbEIsZUFBZTtFQUNmLFFBQVE7RUFDUixrQ0FBMEI7TUFBMUIsOEJBQTBCO1VBQTFCLDBCQUEwQjtFQUMxQix3QkFBZ0I7RUFBaEIsZ0JBQWdCO0VBQ2hCLFdBQVc7RUFDWCxVQUFVLEVBQUE7RUFkZDtJQWlCUSxnQkFBZ0I7SUFDaEIsVUFBVTtJQUNWLFlBQVksRUFBQTtFQW5CcEI7SUF1QlEsYUFBYSxFQUFBO0VwQitJZjtJb0J0S047TUE0QlkscUJBQXFCLEVBQUEsRUFFNUI7RUE5Qkw7SUFpQ1EsY0FBYztJQUNkLHdCQUF3QjtJQUN4QixlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLGlCQUFpQjtJQUNqQixTQUFTO0lBQ1QsVUFBVTtJQUNWLGtCQUFrQixFQUFBO0VBeEMxQjtJQTZDWSxjQUFjO0lBQ2QsMEJBQTBCLEVBQUE7RUE5Q3RDO0lBbURRLGVBQWUsRUFBQTtJQW5EdkI7TUFzRFksVzNCT0E7TTJCTkEsY0FBYztNQUNkLFdBQVc7TUFDWCxtQkFBbUI7TUFDbkIsZ0JBQWdCO01BQ2hCLHFCQUFxQixFQUFBO01wQjJHM0I7UW9CdEtOO1VBOERnQixZQUFZLEVBQUEsRUFFbkI7RUFoRVQ7SUFvRVEsYUFBYTtJQUNiLGtCQUFrQjtJQUNsQixRQUFRO0lBQ1IsTUFBTSxFQUFBO0lBdkVkO01BMEVZLG1CQUFtQjtNQUNuQixtQkFBbUI7TUFDbkIsZUFBZTtNQUNmLGFBQWE7TUFDYixZQUFZO01BQ1osWUFBWTtNQUNaLHdCQUFnQjtNQUFoQixnQkFBZ0I7TUFDaEIsV0FBVyxFQUFBO01BakZ2QjtRQW9GZ0IsbUJBQW1CO1FBQ25CLGFBQWEsRUFBQTtFcEJzRnZCO0lvQjNLTjtNQTRGWSxtQkFBbUIsRUFBQSxFQUUxQjs7QUM5Rkw7RXZCK0RJLFdBQVc7RUFDWCxXQUFXO0VBQ1gsY0FBYztFdUIvRGQsbUJBQW1CLEVBQUE7RXJCb0tqQjtJcUJ0S047TUFPTyxXQUFXLEVBQUE7TUFQbEI7UUFVSyx3QkFBd0I7UUFDeEIsc0JBQXNCLEVBQUE7SUFYM0I7TUFrQk8sWUFBWSxFQUFBO01BbEJuQjtRQXFCSyx5QkFBeUI7UUFDekIsdUJBQXVCO1FBQ3ZCLGlCQUFpQixFQUFBLEVBQ2pCOztBQU1MO0VBRUUscUJaeEJZLEVBQUE7RVlzQmQ7SUFLRyxhWjNCVyxFQUFBOztBWXNCZDtFQVVFLHFCWmhDWSxFQUFBOztBWXNCZDtFQWNFLGNacENZLEVBQUE7O0FZd0NkO0VBRUUscUJacENhLEVBQUE7RVlrQ2Y7SUFLRyxhWnZDWSxFQUFBOztBWWtDZjtFQVVFLHFCWjVDYSxFQUFBOztBWWtDZjtFQWNFLGNaaERhLEVBQUE7O0FZb0RmO0VBRUUscUJaOUNjLEVBQUE7RVk0Q2hCO0lBS0csYVpqRGEsRUFBQTs7QVk0Q2hCO0VBVUUscUJadERjLEVBQUE7O0FZNENoQjtFQWNFLGNaMURjLEVBQUE7O0FZOERoQjtFQUVFLHFCWjNFaUIsRUFBQTtFWXlFbkI7SUFLRyxhWjlFZ0IsRUFBQTs7QVl5RW5CO0VBVUUscUJabkZpQixFQUFBOztBWXlFbkI7RUFjRSxjWnZGaUIsRUFBQTs7QVkyRm5CO0VBRUUscUJadkZrQixFQUFBO0VZcUZwQjtJQUtHLGFaMUZpQixFQUFBOztBWXFGcEI7RUFVRSxxQlovRmtCLEVBQUE7O0FZcUZwQjtFQWNFLGNabkdrQixFQUFBOztBWXVHcEI7RUFFRSxxQlpqR1ksRUFBQTtFWStGZDtJQUtHLGFacEdXLEVBQUE7O0FZK0ZkO0VBVUUscUJaekdZLEVBQUE7O0FZK0ZkO0VBY0UsY1o3R1ksRUFBQTs7QVlpSGQ7RUFFRSxxQlo5R2MsRUFBQTtFWTRHaEI7SUFLRyxhWmpIYSxFQUFBOztBWTRHaEI7RUFVRSxxQlp0SGMsRUFBQTs7QVk0R2hCO0VBY0UsY1oxSGMsRUFBQTs7QVk4SGhCO0VBRUUscUJaMUprQixFQUFBO0VZd0pwQjtJQUtHLGFaN0ppQixFQUFBOztBWXdKcEI7RUFVRSxxQlpsS2tCLEVBQUE7O0FZd0pwQjtFQWNFLGNadEtrQixFQUFBOztBWTBLcEI7RUFDQyxhQUFhLEVBQUE7RXJCVFI7SXFCUU47TUFJSyxjQUFjO01BQ2QsWUFBWSxFQUFBLEVBZWhCO0VBcEJEO0lBU0ssY0FBYyxFQUFBO0lyQmpCYjtNcUJRTjtRQVlNLGFBQWEsRUFBQSxFQU9qQjtJQW5CRjtNQWdCTSxjQUFjO01BQ2QsWUFBWSxFQUFBOztBQUtsQjtFQUNDLFdBQVc7RUFDUixjQUFjO0VBQ2Qsa0JBQWtCO0VBQ2xCLFVBQVUsRUFBQTtFckJsQ1I7SXFCOEJOO012QnJJSSxXQUFXO01BQ1gsV0FBVztNQUNYLGNBQWM7TXVCMkloQixxQkFBcUI7TUFDckIsV0FBVztNQUNYLGlCQUFpQjtNQUNqQixnQkFBZ0I7TUFDaEIsV0FBVyxFQUFBO01BWmI7UUFnQk8sV0FBVyxFQUFBO1FBaEJsQjtVQW1CUSxrQkFBa0IsRUFBQTtNQW5CMUI7UUEwQk8sWUFBWSxFQUFBO1FBMUJuQjtVQTZCUSxtQkFBbUIsRUFBQSxFQUNuQjs7QUFNUjtFQUNDLHFCQUFxQjtFQUNsQixxQkFBcUIsRUFBQTtFckJwRW5CO0lxQmtFTjtNQUtLLFNBQVMsRUFBQSxFQU9iO0VBWkQ7SUFTSyxZQUFZO0lBQ1osV0FBVyxFQUFBOztBQUloQjtFQUNDLHFCQUFxQjtFQUNsQix5QkFBeUI7RUFDekIsZUFBZTtFQUNmLGtCQUFrQjtFQUNsQixlQUFlO0VBQ2Ysc0JBQXNCO0VBQ3RCLFdBQVcsRUFBQTtFckJ2RlQ7SXFCZ0ZOO01BVUssZUFBZSxFQUFBLEVBRW5COztBQUVEO0VBQ0ksV0FBVyxFQUFBO0VyQi9GVDtJcUI4Rk47TUFJRSxlQUFlO01BQ1oseUJBQXlCLEVBQUEsRUFxQjdCO0VyQnhISztJcUI4Rk47TUFTSyx5QkFBeUIsRUFBQSxFQWlCN0I7RUExQkQ7SUFhSyxXNUJwTk87STRCcU5QLHFCQUFxQjtJQUNyQixvQkFBb0I7SUFDcEIsZUFBZTtJQUNmLG1CQUFtQjtJQUNuQixrQkFBa0IsRUFBQTtFQWxCdkI7SUFzQkssNEJBQTRCO0lBQzVCLGVBQWU7SUFDZixrQkFBa0IsRUFBQTs7QUFJdkI7RUFDSSxXQUFXLEVBQUE7RXJCM0hUO0lxQjBITjtNQUlLLGFBQWE7TUFDYixZQUFZLEVBQUEsRUFPaEI7RXJCdElLO0lxQjBITjtNQVNLLGNBQWM7TUFDZCxZQUFZLEVBQUEsRUFFaEI7O0FBRUQ7RUFDQyxrQ0FBa0M7RUFDbEMsNEJBQTRCO0VBQzVCLDhCQUFzQjtVQUF0QixzQkFBc0I7RUFDdEIseUJacFNjO0VZcVNYLGNBQWM7RUFDZCxhQUFhO0VBQ2IsV0FBVyxFQUFBO0VyQi9JVDtJcUJ3SU47TUFVSyxrQkFBa0I7TUFDbEIsYUFBYTtNQUNiLFlBQVk7TUFDWixZQUFZLEVBQUEsRUFFaEI7O0FDN1REO0V4QitESSxXQUFXO0VBQ1gsV0FBVztFQUNYLGNBQWM7RXdCL0RqQixtQmJlbUI7RWFkbkIsa0JBQWtCO0VBQ2xCLFdBQVcsRUFBQTtFdEJrS047SXNCdEtOO01BT0UsdUJBQXVCLEVBQUEsRUFFeEI7O0FBRUQ7RXJCR0UsV0NlcUQ7RUErQnJELFdWOER5RDtFT3BHdkQsdUJBRnFDO0VBR3JDLHNCQUhxQztFdUJQeEMsZ0I3QmdEVztFNkIvQ1gsbUJBQW1CO0VBQ25CLG1CQUFtQjtFQUNuQixrQkFBa0IsRUFBQTtFdEJzSmI7SXNCM0pOO012QldJLHdCQUZxQztNQUdyQyx1QkFIcUMsRUFBQSxFdUJrQnhDO0VuQm5CRztJQUNFLFdYc0dxRDtJV3JHckQsV0FBVyxFQUFBO0VBS1g7SUFDRSxZWGdHb0QsRUFBQTtFUTJDdEQ7SXNCM0pOO01yQkdFLGdCQ2VxRDtNQStCckQsV1Y4RHlEO01PcEd2RCx1QkFGcUM7TUFHckMsc0JBSHFDO01JOEN2QyxxQkRyQ3FELEVBQUEsRW9CU3REO0V0QmdJSztJc0IzSk47TXZCV0ksd0JBRnFDO01BR3JDLHVCQUhxQyxFQUFBLEV1QmtCeEM7RXRCZ0lLO01HbkpGO1FBQ0UsV1hzR3FEO1FXckdyRCxXQUFXLEVBQUE7TUFLWDtRQUNFLFlYZ0dvRCxFQUFBLEVXL0ZyRDtFSDBJRDtJc0IzSk47TXJCR0UsZ0JDZXFEO01BK0JyRCxXVjhEeUQ7TU9wR3ZELHVCQUZxQztNQUdyQyxzQkFIcUM7TUk4Q3ZDLHNCRHJDcUQsRUFBQSxFb0JTdEQ7RXRCZ0lLO0lzQjNKTjtNdkJXSSx3QkFGcUM7TUFHckMsdUJBSHFDLEVBQUEsRXVCa0J4QztFdEJnSUs7TUduSkY7UUFDRSxXWHNHcUQ7UVdyR3JELFdBQVcsRUFBQTtNQUtYO1FBQ0UsWVhnR29ELEVBQUEsRVcvRnJEO0VtQmpCUDtJQWtCRSxjYnpCa0I7SWEwQmYsZUFBZTtJQUNmLGtCQUFrQjtJQUNsQixrQkFBa0IsRUFBQTtJdEJzSWpCO01zQjNKTjtRQXdCRyxlQUFlLEVBQUEsRUFFaEI7O0FBR0Y7RUFDQyxXQUFXO0VBQ1gsa0JBQWtCO0VBQ2xCLFdBQVcsRUFBQTtFdEIySE47SXNCOUhOO01yQjFCRSxnQkNlcUQ7TUErQnJELFdWOER5RDtNT3BHdkQsdUJBRnFDO01BR3JDLHNCQUhxQztNSThDdkMsc0JEckNxRCxFQUFBLEVvQmdEdEQ7RXRCeUZLO0lzQjlITjtNdkJsQkksd0JBRnFDO01BR3JDLHVCQUhxQyxFQUFBLEV1QnlEeEM7RXRCeUZLO01HbkpGO1FBQ0UsV1hzR3FEO1FXckdyRCxXQUFXLEVBQUE7TUFLWDtRQUNFLFlYZ0dvRCxFQUFBO01XbkQxRDtRQUNFLFdYaUR1RCxFQUFBLEVXaER4RDtFSDRGRztJc0I5SE47TXJCMUJFLFVDZXFEO01BK0JyRCxXVjhEeUQ7TU9wR3ZELHVCQUZxQztNQUdyQyxzQkFIcUM7TUk4Q3ZDLGdCRHJDcUQsRUFBQSxFb0JnRHREO0V0QnlGSztJc0I5SE47TXZCbEJJLHdCQUZxQztNQUdyQyx1QkFIcUMsRUFBQSxFdUJ5RHhDO0V0QnlGSztNR25KRjtRQUNFLFdYc0dxRDtRV3JHckQsV0FBVyxFQUFBO01BS1g7UUFDRSxZWGdHb0QsRUFBQTtNV25EMUQ7UUFDRSxXWGlEdUQsRUFBQSxFV2hEeEQ7RW1CakJGO0lBQ0MseUJiL0NpQjtJYWdEakIsYUFBYSxFQUFBO0V0QjJHVDtJc0J4R0w7TXJCaERDLFdDZXFEO01BK0JyRCxXVjhEeUQ7TU9wR3ZELHVCQUZxQztNQUdyQyxzQkFIcUM7TUk4Q3ZDLGVEeENnQztNb0J5Qy9CLHFCQUFxQjtNQUNyQixrQkFBa0IsRUFBQSxFQVFuQjtFdEIwRkk7SXNCeEdMO012QnhDRyx3QkFGcUM7TUFHckMsdUJBSHFDLEVBQUEsRXVCd0R2QztFdEIwRkk7TUduSkY7UUFDRSxXWHNHcUQ7UVdyR3JELFdBQVcsRUFBQTtNQUtYO1FBQ0UsWVhnR29ELEVBQUE7TVduRDFEO1FBQ0UsV1hpRHVELEVBQUEsRVdoRHhEO0VINEZHO0lzQnhHTDtNckJoREMsZ0JDZXFEO01BK0JyRCxXVjhEeUQ7TU9wR3ZELHVCQUZxQztNQUdyQyxzQkFIcUM7TUk4Q3ZDLHNCRHJDcUQsRUFBQSxFb0IrQ3JEO0V0QjBGSTtJc0J4R0w7TXZCeENHLHdCQUZxQztNQUdyQyx1QkFIcUMsRUFBQSxFdUJ3RHZDO0V0QjBGSTtNR25KRjtRQUNFLFdYc0dxRDtRV3JHckQsV0FBVyxFQUFBO01BS1g7UUFDRSxZWGdHb0QsRUFBQTtNV25EMUQ7UUFDRSxXWGlEdUQsRUFBQSxFV2hEeEQ7O0FtQktIO0V4QmhCSSxXQUFXO0VBQ1gsV0FBVztFQUNYLGNBQWM7RXdCZ0JqQixxQkFBcUIsRUFBQTs7QUFHdEI7RUFDQyxXN0J4Qlc7RTZCeUJYLGtCQUFrQjtFQUNsQixtQkFBbUIs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QUFjO0VBQ2QsbUJBQW1CO0VBQ3RCLFdBQVcsRUFBQTs7QUFHWjtFckNwREksV0FBVztFQUNYLFdBQVc7RUFDWCxjQUFjO0VxQ29EZCxlQUFlO0VBQ2Ysa0JBQWtCO0VBQ3JCLGdCQUFnQjtFQUNoQixnQkFBZ0IsRUFBQTtFQUxqQjtJQVFFLFdBQVc7SUFDWCxrQkFBa0IsRUFBQTtJbkMrQ2Q7TW1DeEROO1FBWUcsV0FBVztRQUNYLGtCQUFrQixFQUFBLEVBT25CO0luQytCSTtNbUNuRE47UUFpQkcsV0FBVztRQUNYLGtCQUFrQixFQUFBLEVBRW5COztBQUdGO0VyQzNFSSxXQUFXO0VBQ1gsV0FBVztFQUNYLGNBQWM7RXFDMkVqQixhQUFhO0VBQ2IsV0FBVyxFQUFBO0VBSFo7SUFNRSxXQUFXLEVBQUE7SUFOYjtNQVNHLFlBQVksRUFBQTs7QUFLZjtFQUNDLGtCQUFrQixFQUFBO0VBRG5CO0lBSUUsaUJBQWlCLEVBQUE7O0FBSW5CO0VBQ0MsVzFDckdXO0UwQ3NHWCx3QkFBd0I7RUFDeEIsZUFBZTtFQUNmLHlCQUF5QixFQUFBO0VBSjFCO0lBT0UsMEJBQTBCLEVBQUEiLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4gKiBWZXJzaW9uIDYuNS4xXG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuXG4vLyBEZXBlbmRlbmNpZXNcbkBpbXBvcnQgJ3ZlbmRvci9ub3JtYWxpemUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL21pc3NpbmctZGVwZW5kZW5jaWVzJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy90cnVlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL2NvbnRhaW4nO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcHVyZ2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVtb3ZlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlcGxhY2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvdG8tbGlzdCc7XG5cbi8vIC0tLSBTZXR0aW5ncyAtLS1cbi8vIGltcG9ydCB5b3VyIG93biBgc2V0dGluZ3NgIGhlcmUgb3Jcbi8vIGltcG9ydCBhbmQgbW9kaWZ5IHRoZSBkZWZhdWx0IHNldHRpbmdzIHRocm91Z2hcbi8vIEBpbXBvcnQgJ3NldHRpbmdzL3NldHRpbmdzJztcblxuLy8gLS0tIENvbXBvbmVudHMgLS0tXG4vLyBVdGlsaXRpZXNcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG4vLyBHbG9iYWwgc3R5bGVzXG5AaW1wb3J0ICdnbG9iYWwnO1xuQGltcG9ydCAnZm9ybXMvZm9ybXMnO1xuQGltcG9ydCAndHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcblxuLy8gR3JpZHNcbkBpbXBvcnQgJ2dyaWQvZ3JpZCc7XG5AaW1wb3J0ICd4eS1ncmlkL3h5LWdyaWQnO1xuLy8gR2VuZXJpYyBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi1ncm91cCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Nsb3NlLWJ1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xhYmVsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3dpdGNoJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUnO1xuLy8gQmFzaWMgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsbG91dCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhcmQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sdGlwJztcblxuLy8gQ29udGFpbmVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZWRpYS1vYmplY3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9vcmJpdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Jlc3BvbnNpdmUtZW1iZWQnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcbi8vIE1lbnUtYmFzZWQgY29udGFpbmVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudS1pY29uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcmlsbGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bi1tZW51JztcblxuLy8gTGF5b3V0IGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb2ZmLWNhbnZhcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3JldmVhbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N0aWNreSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RvcC1iYXInO1xuXG4vLyBIZWxwZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL2Zsb2F0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Zpc2liaWxpdHknO1xuQGltcG9ydCAncHJvdG90eXBlL3Byb3RvdHlwZSc7XG5cblxuQG1peGluIGZvdW5kYXRpb24tZXZlcnl0aGluZyhcbiAgJGZsZXg6IHRydWUsXG4gICRwcm90b3R5cGU6IGZhbHNlXG4pIHtcbiAgQGlmICRmbGV4IHtcbiAgICAkZ2xvYmFsLWZsZXhib3g6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIC8vIEdsb2JhbCBzdHlsZXNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG5cbiAgLy8gR3JpZHNcbiAgQGlmIG5vdCAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgJHh5LWdyaWQge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXM7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEdlbmVyaWMgY29tcG9uZW50c1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuICAvLyBCYXNpYyBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcblxuICAvLyBDb250YWluZXJzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuICAvLyBNZW51LWJhc2VkIGNvbnRhaW5lcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuXG4gIC8vIExheW91dCBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuXG4gIC8vIEhlbHBlcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuICBAaWYgJGZsZXggeyBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlczsgfVxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcbiAgQGlmICRwcm90b3R5cGUgeyBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzOyB9XG59XG4iLCIvKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi41LjFcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG4vKiEgbm9ybWFsaXplLmNzcyB2OC4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgfVxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtOyB9XG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IH1cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7IH1cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtOyB9XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07IH1cblxuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyB9XG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDEwMCU7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICBtYXJnaW46IDA7IH1cblxuYnV0dG9uLFxuaW5wdXQge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyB9XG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwOyB9XG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0OyB9XG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtOyB9XG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyB9XG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAwOyB9XG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IH1cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICBmb250OiBpbmhlcml0OyB9XG5cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyB9XG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZvdW5kYXRpb24tbXEge1xuICBmb250LWZhbWlseTogXCJzbWFsbD0wZW0mbW9iaWxlPTMwZW0mbWVkaXVtPTQwZW0mdGFibGV0PTQ2LjI1ZW0mbGFyZ2U9NjRlbSZ4bGFyZ2U9NzVlbSZ4eGxhcmdlPTkwZW1cIjsgfVxuXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZm9udC1zaXplOiAxMDAlOyB9XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzAwMDtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYzsgfVxuXG50ZXh0YXJlYSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogNTBweDtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG5zZWxlY3Qge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4ubWFwX2NhbnZhcyBpbWcsXG4ubWFwX2NhbnZhcyBlbWJlZCxcbi5tYXBfY2FudmFzIG9iamVjdCxcbi5tcWEtZGlzcGxheSBpbWcsXG4ubXFhLWRpc3BsYXkgZW1iZWQsXG4ubXFhLWRpc3BsYXkgb2JqZWN0IHtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7IH1cblxuYnV0dG9uIHtcbiAgcGFkZGluZzogMDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogYXV0bzsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyB9XG5cbi5pcy12aXNpYmxlIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuXG4uaXMtaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5yb3cge1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBjbGVhcjogYm90aDtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7IH1cbiAgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW4sIC5yb3cuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLnJvdyAucm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5yb3cgLnJvdyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucm93IC5yb3cge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgICAucm93IC5yb3cuY29sbGFwc2Uge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnJvdy5leHBhbmRlZCB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gICAgLnJvdy5leHBhbmRlZCAucm93IHtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gIC5yb3c6bm90KC5leHBhbmRlZCkgLnJvdyB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gIC5yb3cuZ3V0dGVyLXNtYWxsID4gLmNvbHVtbiwgLnJvdy5ndXR0ZXItc21hbGwgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAucm93Lmd1dHRlci1tZWRpdW0gPiAuY29sdW1uLCAucm93Lmd1dHRlci1tZWRpdW0gPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9XG5cbi5jb2x1bW4sIC5jb2x1bW5zIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jb2x1bW4sIC5jb2x1bW5zIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLmNvbHVtbiwgLmNvbHVtbnMsIC5jb2x1bW46bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSwgLmNvbHVtbnM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLmNvbHVtbjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLCAuY29sdW1uczpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLmNvbHVtbi5lbmQ6bGFzdC1jaGlsZDpsYXN0LWNoaWxkLCAuZW5kLmNvbHVtbnM6bGFzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uY29sdW1uLnJvdy5yb3csIC5yb3cucm93LmNvbHVtbnMge1xuICBmbG9hdDogbm9uZTsgfVxuXG4ucm93IC5jb2x1bW4ucm93LnJvdywgLnJvdyAucm93LnJvdy5jb2x1bW5zIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi5zbWFsbC0xIHtcbiAgd2lkdGg6IDguMzMzMzMlOyB9XG5cbi5zbWFsbC1wdXNoLTEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDguMzMzMzMlOyB9XG5cbi5zbWFsbC1wdWxsLTEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC04LjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTAge1xuICBtYXJnaW4tbGVmdDogMCU7IH1cblxuLnNtYWxsLTIge1xuICB3aWR0aDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC1wdXNoLTIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDE2LjY2NjY3JTsgfVxuXG4uc21hbGwtcHVsbC0yIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtMTYuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuXG4uc21hbGwtMyB7XG4gIHdpZHRoOiAyNSU7IH1cblxuLnNtYWxsLXB1c2gtMyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogMjUlOyB9XG5cbi5zbWFsbC1wdWxsLTMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC0yNSU7IH1cblxuLnNtYWxsLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuXG4uc21hbGwtNCB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLXB1c2gtNCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC1wdWxsLTQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC0zMy4zMzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuXG4uc21hbGwtNSB7XG4gIHdpZHRoOiA0MS42NjY2NyU7IH1cblxuLnNtYWxsLXB1c2gtNSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogNDEuNjY2NjclOyB9XG5cbi5zbWFsbC1wdWxsLTUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC00MS42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtNiB7XG4gIHdpZHRoOiA1MCU7IH1cblxuLnNtYWxsLXB1c2gtNiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogNTAlOyB9XG5cbi5zbWFsbC1wdWxsLTYge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC01MCU7IH1cblxuLnNtYWxsLW9mZnNldC01IHtcbiAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuXG4uc21hbGwtNyB7XG4gIHdpZHRoOiA1OC4zMzMzMyU7IH1cblxuLnNtYWxsLXB1c2gtNyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogNTguMzMzMzMlOyB9XG5cbi5zbWFsbC1wdWxsLTcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC01OC4zMzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuXG4uc21hbGwtOCB7XG4gIHdpZHRoOiA2Ni42NjY2NyU7IH1cblxuLnNtYWxsLXB1c2gtOCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogNjYuNjY2NjclOyB9XG5cbi5zbWFsbC1wdWxsLTgge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC02Ni42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuXG4uc21hbGwtOSB7XG4gIHdpZHRoOiA3NSU7IH1cblxuLnNtYWxsLXB1c2gtOSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogNzUlOyB9XG5cbi5zbWFsbC1wdWxsLTkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC03NSU7IH1cblxuLnNtYWxsLW9mZnNldC04IHtcbiAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuXG4uc21hbGwtMTAge1xuICB3aWR0aDogODMuMzMzMzMlOyB9XG5cbi5zbWFsbC1wdXNoLTEwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA4My4zMzMzMyU7IH1cblxuLnNtYWxsLXB1bGwtMTAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC04My4zMzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuXG4uc21hbGwtMTEge1xuICB3aWR0aDogOTEuNjY2NjclOyB9XG5cbi5zbWFsbC1wdXNoLTExIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA5MS42NjY2NyU7IH1cblxuLnNtYWxsLXB1bGwtMTEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC05MS42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cblxuLnNtYWxsLTEyIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnNtYWxsLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cblxuLnNtYWxsLXVwLTEgPiAuY29sdW1uLCAuc21hbGwtdXAtMSA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5zbWFsbC11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuc21hbGwtdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4rMSksIC5zbWFsbC11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4rMSkge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC11cC0xID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtMSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5zbWFsbC11cC0yID4gLmNvbHVtbiwgLnNtYWxsLXVwLTIgPiAuY29sdW1ucyB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogNTAlOyB9XG4gIC5zbWFsbC11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuc21hbGwtdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMm4rMSksIC5zbWFsbC11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMm4rMSkge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC11cC0yID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtMiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5zbWFsbC11cC0zID4gLmNvbHVtbiwgLnNtYWxsLXVwLTMgPiAuY29sdW1ucyB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5zbWFsbC11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuc21hbGwtdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoM24rMSksIC5zbWFsbC11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoM24rMSkge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC11cC0zID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtMyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5zbWFsbC11cC00ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTQgPiAuY29sdW1ucyB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMjUlOyB9XG4gIC5zbWFsbC11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuc21hbGwtdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNG4rMSksIC5zbWFsbC11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNG4rMSkge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC11cC00ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtNCA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5zbWFsbC11cC01ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTUgPiAuY29sdW1ucyB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMjAlOyB9XG4gIC5zbWFsbC11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuc21hbGwtdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNW4rMSksIC5zbWFsbC11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNW4rMSkge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC11cC01ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtNSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5zbWFsbC11cC02ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTYgPiAuY29sdW1ucyB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5zbWFsbC11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuc21hbGwtdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNm4rMSksIC5zbWFsbC11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNm4rMSkge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC11cC02ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtNiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5zbWFsbC11cC03ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTcgPiAuY29sdW1ucyB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC5zbWFsbC11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuc21hbGwtdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoN24rMSksIC5zbWFsbC11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoN24rMSkge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC11cC03ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtNyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5zbWFsbC11cC04ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTggPiAuY29sdW1ucyB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTIuNSU7IH1cbiAgLnNtYWxsLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTggPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg4bisxKSwgLnNtYWxsLXVwLTggPiAuY29sdW1uczpudGgtb2YtdHlwZSg4bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTggPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC04ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLWNvbGxhcHNlID4gLmNvbHVtbiwgLnNtYWxsLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLnNtYWxsLWNvbGxhcHNlIC5yb3cge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5leHBhbmRlZC5yb3cgLnNtYWxsLWNvbGxhcHNlLnJvdyB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLnNtYWxsLXVuY29sbGFwc2UgPiAuY29sdW1uLCAuc21hbGwtdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cblxuLnNtYWxsLWNlbnRlcmVkIHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAuc21hbGwtY2VudGVyZWQsIC5zbWFsbC1jZW50ZXJlZDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4uc21hbGwtdW5jZW50ZXJlZCxcbi5zbWFsbC1wdXNoLTAsXG4uc21hbGwtcHVsbC0wIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuICAuc21hbGwtdW5jZW50ZXJlZCwgLnNtYWxsLXVuY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSxcbiAgLnNtYWxsLXB1c2gtMCxcbiAgLnNtYWxsLXB1c2gtMDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICAuc21hbGwtcHVsbC0wLFxuICAuc21hbGwtcHVsbC0wOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11bmNlbnRlcmVkOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksXG4gIC5zbWFsbC1wdXNoLTA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSxcbiAgLnNtYWxsLXB1bGwtMDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdXNoLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLXB1bGwtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC04LjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVzaC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVsbC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tcHVzaC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMjUlOyB9XG4gIC5tZWRpdW0tcHVsbC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTI1JTsgfVxuICAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLXB1c2gtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLXB1bGwtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0zMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdXNoLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdWxsLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tcHVzaC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTAlOyB9XG4gIC5tZWRpdW0tcHVsbC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTUwJTsgfVxuICAubWVkaXVtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLXB1c2gtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLXB1bGwtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC01OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdXNoLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdWxsLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tcHVzaC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNzUlOyB9XG4gIC5tZWRpdW0tcHVsbC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTc1JTsgfVxuICAubWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdXNoLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVsbC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC04My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVzaC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLXB1bGwtMTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKzEpLCAubWVkaXVtLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC0xID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTIgPiAuY29sdW1uLCAubWVkaXVtLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAgIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDJuKzEpLCAubWVkaXVtLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC0yID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTMgPiAuY29sdW1uLCAubWVkaXVtLXVwLTMgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDNuKzEpLCAubWVkaXVtLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgzbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTQgPiAuY29sdW1uLCAubWVkaXVtLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAgIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDRuKzEpLCAubWVkaXVtLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSg0bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC00ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTUgPiAuY29sdW1uLCAubWVkaXVtLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAgIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDVuKzEpLCAubWVkaXVtLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSg1bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC01ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTYgPiAuY29sdW1uLCAubWVkaXVtLXVwLTYgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDZuKzEpLCAubWVkaXVtLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSg2bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC02ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTcgPiAuY29sdW1uLCAubWVkaXVtLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAgIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDduKzEpLCAubWVkaXVtLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSg3bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC03ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTggPiAuY29sdW1uLCAubWVkaXVtLXVwLTggPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEyLjUlOyB9XG4gICAgLm1lZGl1bS11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoOG4rMSksIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDhuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC04ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTggPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tY29sbGFwc2UgPiAuY29sdW1uLCAubWVkaXVtLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC5tZWRpdW0tY29sbGFwc2UgLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5leHBhbmRlZC5yb3cgLm1lZGl1bS1jb2xsYXBzZS5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAubWVkaXVtLXVuY29sbGFwc2UgPiAuY29sdW1uLCAubWVkaXVtLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9XG4gIC5tZWRpdW0tY2VudGVyZWQge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAgIC5tZWRpdW0tY2VudGVyZWQsIC5tZWRpdW0tY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5tZWRpdW0tdW5jZW50ZXJlZCxcbiAgLm1lZGl1bS1wdXNoLTAsXG4gIC5tZWRpdW0tcHVsbC0wIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5tZWRpdW0tdW5jZW50ZXJlZCwgLm1lZGl1bS11bmNlbnRlcmVkOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksXG4gICAgLm1lZGl1bS1wdXNoLTAsXG4gICAgLm1lZGl1bS1wdXNoLTA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSxcbiAgICAubWVkaXVtLXB1bGwtMCxcbiAgICAubWVkaXVtLXB1bGwtMDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVuY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSxcbiAgICAubWVkaXVtLXB1c2gtMDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICAgIC5tZWRpdW0tcHVsbC0wOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtcHVzaC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1bGwtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC04LjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtcHVzaC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1wdWxsLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1wdXNoLTMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAyNSU7IH1cbiAgLmxhcmdlLXB1bGwtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0yNSU7IH1cbiAgLmxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1wdXNoLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1bGwtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0zMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1wdXNoLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLXB1bGwtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC00MS42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1wdXNoLTYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1MCU7IH1cbiAgLmxhcmdlLXB1bGwtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC01MCU7IH1cbiAgLmxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1wdXNoLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1bGwtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC01OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1wdXNoLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLXB1bGwtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC02Ni42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1wdXNoLTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA3NSU7IH1cbiAgLmxhcmdlLXB1bGwtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC03NSU7IH1cbiAgLmxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtcHVzaC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtcHVsbC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC04My4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtcHVzaC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtcHVsbC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC05MS42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLXVwLTEgPiAuY29sdW1uLCAubGFyZ2UtdXAtMSA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5sYXJnZS11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKzEpLCAubGFyZ2UtdXAtMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTEgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC0xID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtdXAtMiA+IC5jb2x1bW4sIC5sYXJnZS11cC0yID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgICAubGFyZ2UtdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgybisxKSwgLmxhcmdlLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC0yID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtMiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTMgPiAuY29sdW1uLCAubGFyZ2UtdXAtMyA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLmxhcmdlLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoM24rMSksIC5sYXJnZS11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoM24rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtMyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTMgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC00ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAgIC5sYXJnZS11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDRuKzEpLCAubGFyZ2UtdXAtNCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDRuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTQgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC00ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtdXAtNSA+IC5jb2x1bW4sIC5sYXJnZS11cC01ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgICAubGFyZ2UtdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg1bisxKSwgLmxhcmdlLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSg1bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC01ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtNSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTYgPiAuY29sdW1uLCAubGFyZ2UtdXAtNiA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLmxhcmdlLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNm4rMSksIC5sYXJnZS11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtNiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTYgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC03ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAgIC5sYXJnZS11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDduKzEpLCAubGFyZ2UtdXAtNyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDduKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTcgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC03ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtdXAtOCA+IC5jb2x1bW4sIC5sYXJnZS11cC04ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMi41JTsgfVxuICAgIC5sYXJnZS11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDhuKzEpLCAubGFyZ2UtdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDhuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTggPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC04ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtY29sbGFwc2UgPiAuY29sdW1uLCAubGFyZ2UtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLmxhcmdlLWNvbGxhcHNlIC5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuZXhwYW5kZWQucm93IC5sYXJnZS1jb2xsYXBzZS5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAubGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC5sYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfVxuICAubGFyZ2UtY2VudGVyZWQge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAgIC5sYXJnZS1jZW50ZXJlZCwgLmxhcmdlLWNlbnRlcmVkOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAubGFyZ2UtdW5jZW50ZXJlZCxcbiAgLmxhcmdlLXB1c2gtMCxcbiAgLmxhcmdlLXB1bGwtMCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubGFyZ2UtdW5jZW50ZXJlZCwgLmxhcmdlLXVuY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSxcbiAgICAubGFyZ2UtcHVzaC0wLFxuICAgIC5sYXJnZS1wdXNoLTA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSxcbiAgICAubGFyZ2UtcHVsbC0wLFxuICAgIC5sYXJnZS1wdWxsLTA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVuY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSxcbiAgICAubGFyZ2UtcHVzaC0wOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksXG4gICAgLmxhcmdlLXB1bGwtMDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfSB9XG5cbi5jb2x1bW4tYmxvY2sge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIC5jb2x1bW4tYmxvY2sgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jb2x1bW4tYmxvY2sge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICAgIC5jb2x1bW4tYmxvY2sgPiA6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuXG4uaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI5Ljk5ODc1ZW0pIHtcbiAgLmhpZGUtZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDBlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAuc2hvdy1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNDYuMjQ4NzVlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ2LjI1ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogNzQuOTk4NzVlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLnNob3ctZm9yLXNyLFxuLnNob3ctb24tZm9jdXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlcjogMDsgfVxuXG4uc2hvdy1vbi1mb2N1czphY3RpdmUsIC5zaG93LW9uLWZvY3VzOmZvY3VzIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bztcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgfVxuXG4uc2hvdy1mb3ItbGFuZHNjYXBlLFxuLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLmhpZGUtZm9yLWxhbmRzY2FwZSxcbi5zaG93LWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cblxuLmZsb2F0LWxlZnQge1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50OyB9XG5cbi5mbG9hdC1yaWdodCB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50OyB9XG5cbi5mbG9hdC1jZW50ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuXG4uY2xlYXJmaXgge1xuICBjbGVhcjogYm90aDtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnSW50cm8nO1xuICBzcmM6IHVybChcIi4uLy4uL2ZvbnRzL0ludHJvLm90ZlwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7XG4gIHNyYzogdXJsKFwiLi4vLi4vZm9udHMvRm9udEF3ZXNvbWUub3RmXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0xvdGEtTGlnaHQnO1xuICBzcmM6IHVybChcIi4uLy4uL2ZvbnRzL0xvdGFHcm90ZXNxdWVBbHQzLUxpZ2h0Lm90ZlwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdMb3RhLVNlbWlCb2xkJztcbiAgc3JjOiB1cmwoXCIuLi8uLi9mb250cy9Mb3RhR3JvdGVzcXVlQWx0My1TZW1pQm9sZC5vdGZcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnTG90YS1Cb2xkJztcbiAgc3JjOiB1cmwoXCIuLi8uLi9mb250cy9Mb3RhR3JvdGVzcXVlQWx0My1Cb2xkLm90ZlwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdMb3RhLUJsYWNrJztcbiAgc3JjOiB1cmwoXCIuLi8uLi9mb250cy9Mb3RhR3JvdGVzcXVlQWx0My1CbGFjay5vdGZcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnTG90YS1SZWd1bGFyJztcbiAgc3JjOiB1cmwoXCIuLi8uLi9mb250cy9Mb3RhR3JvdGVzcXVlQWx0My1SZWd1bGFyLm90ZlwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdMb3RhLVJlZ3VsYXJJdCc7XG4gIHNyYzogdXJsKFwiLi4vLi4vZm9udHMvTG90YUdyb3Rlc3F1ZUFsdDMtUmVndWxhckl0Lm90ZlwiKTsgfVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBmb250LWZhbWlseTogJ0xvdGEtQmxhY2snLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbmh0bWwsXG5ib2R5IHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIG1pbi13aWR0aDogMzAwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBodG1sLmFjdGl2ZSxcbiAgYm9keS5hY3RpdmUge1xuICAgIGhlaWdodDogYXV0bzsgfVxuXG5ib2R5IHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgZm9udC1mYW1pbHk6ICdMb3RhLVJlZ3VsYXInLCBzYW5zLXNlcmlmOyB9XG4gIGJvZHk6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICdicC1zJztcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIGJvZHk6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnYnAtbSc7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICBib2R5OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJ2JwLWwnO1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICBib2R5OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJ2JwLXhsJztcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIGJvZHkuZXJyb3I0MDQgLndyYXBwZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG5cbnVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi5ib2R5LW92ZXJsYXkge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC42cztcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDkwOyB9XG4gIC5ib2R5LW92ZXJsYXkuYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvcGFjaXR5OiAxO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7IH1cblxuLndyYXBwZXIge1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAud3JhcHBlciB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjQwcHg7IH0gfVxuXG4uY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgY2xlYXI6IGJvdGg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICB3aWR0aDogMTAwJTsgfVxuXG5ociB7XG4gIGJhY2tncm91bmQ6ICNlNDAwM2I7XG4gIGJvcmRlcjogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogNnB4O1xuICBtYXJnaW46IDI1cHggYXV0byA0MHB4O1xuICB3aWR0aDogMTAwcHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBociB7XG4gICAgICB3aWR0aDogMTUwcHg7IH0gfVxuXG4uaWZyYW1lLXdyYXBwZXIge1xuICBoZWlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiA1NS4yNSU7XG4gIHBhZGRpbmctdG9wOiAyNXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5pZnJhbWUtd3JhcHBlciBpZnJhbWUge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuaWZyYW1lLXdyYXBwZXIgaWZyYW1lIC55dHAtY2hyb21lLXRvcCxcbiAgICAuaWZyYW1lLXdyYXBwZXIgaWZyYW1lIC55dHAtd2F0ZXJtYXJrIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4ud2hpdGUge1xuICBjb2xvcjogI2ZmZjsgfVxuXG4uYmctd2hpdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG5cbi5ibHVlIHtcbiAgY29sb3I6ICMzNmE5ZTE7IH1cblxuLmJnLWJsdWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzZhOWUxOyB9XG5cbi5wYWxlLWJsdWUge1xuICBjb2xvcjogIzdlYWVjMDsgfVxuXG4uYmctcGFsZS1ibHVlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzdlYWVjMDsgfVxuXG4uZ3JlZW4ge1xuICBjb2xvcjogI2EyYzYxZTsgfVxuXG4uYmctZ3JlZW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTJjNjFlOyB9XG5cbi5wYWxlLWdyZWVuIHtcbiAgY29sb3I6ICNhMGQ1ZDI7IH1cblxuLmJnLXBhbGUtZ3JlZW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTBkNWQyOyB9XG5cbi5vcmFuZ2Uge1xuICBjb2xvcjogI2VmNzg1MDsgfVxuXG4uYmctb3JhbmdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VmNzg1MDsgfVxuXG4ucGluayB7XG4gIGNvbG9yOiAjZTYwNjY1OyB9XG5cbi5iZy1waW5rIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2MDY2NTsgfVxuXG4ucHVycGxlIHtcbiAgY29sb3I6ICM4YjAwOGI7IH1cblxuLmJnLXB1cnBsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4YjAwOGI7IH1cblxuLmxhYm91ci1yZWQge1xuICBjb2xvcjogI2U0MDAzYjsgfVxuXG4uYmctbGFib3VyLXJlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNDAwM2I7IH1cblxuLmhpZGUtbW9iaWxlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgLmhpZGUtbW9iaWxlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTsgfSB9XG5cbi5oaWRlLW1lZGl1bSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuaGlkZS1tZWRpdW0ge1xuICAgICAgZGlzcGxheTogaW5saW5lOyB9IH1cblxuLmhpZGUtdGFibGV0IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5oaWRlLXRhYmxldCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7IH0gfVxuXG4uc2hvdy1tb2JpbGUge1xuICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgIC5zaG93LW1vYmlsZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLnNob3ctbWVkaXVtIHtcbiAgZGlzcGxheTogaW5saW5lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNob3ctbWVkaXVtIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uY2xlYXJmaXg6YmVmb3JlLCAuY2xlYXJmaXg6YWZ0ZXIge1xuICBjb250ZW50OiAnICc7XG4gIGRpc3BsYXk6IHRhYmxlOyB9XG5cbi5jbGVhcmZpeDphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5zZWxlY3RyaWMtd3JhcHBlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5zZWxlY3RyaWMtcmVzcG9uc2l2ZSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5zZWxlY3RyaWMge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuc2VsZWN0cmljIC5sYWJlbCB7XG4gICAgY29sb3I6ICMzNzNhM2M7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGhlaWdodDogNDhweDtcbiAgICBsaW5lLWhlaWdodDogNDhweDtcbiAgICBtYXJnaW46IDAgNDhweCAwIDE2cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gIC5zZWxlY3RyaWMgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNjY2M7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3R0b206IDA7XG4gICAgY29sb3I6ICMzNzNhM2M7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udDogMCBMdWNpZGEgU2FucyBVbmljb2RlLCBBcmlhbCBVbmljb2RlIE1TLCBBcmlhbDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiA0MHB4OyB9XG4gICAgLnNlbGVjdHJpYyAuYnV0dG9uOmFmdGVyIHtcbiAgICAgIGJvcmRlcjogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICMzNzNhM2M7XG4gICAgICBib3R0b206IDA7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSA0MDBtcyBlYXNlO1xuICAgICAgd2lkdGg6IDA7IH1cblxuLnNlbGVjdHJpYy1mb2N1cyAuc2VsZWN0cmljLFxuLnNlbGVjdHJpYy1ob3ZlciAuc2VsZWN0cmljIHtcbiAgYm9yZGVyLWNvbG9yOiAjNGE5MGUyOyB9XG5cbi5zZWxlY3RyaWMtb3BlbiB7XG4gIHotaW5kZXg6IDE2OyB9XG4gIC5zZWxlY3RyaWMtb3BlbiAuc2VsZWN0cmljIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjY2NjO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiAjNGE5MGUyOyB9XG4gIC5zZWxlY3RyaWMtb3BlbiAuc2VsZWN0cmljLWl0ZW1zIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnNlbGVjdHJpYy1vcGVuIC5idXR0b246YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cblxuLnNlbGVjdHJpYy1kaXNhYmxlZCB7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NTApO1xuICBvcGFjaXR5OiAuNTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLnNlbGVjdHJpYy1oaWRlLXNlbGVjdCB7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDsgfVxuICAuc2VsZWN0cmljLWhpZGUtc2VsZWN0IHNlbGVjdCB7XG4gICAgbGVmdDogLTEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC5zZWxlY3RyaWMtaGlkZS1zZWxlY3Quc2VsZWN0cmljLWlzLW5hdGl2ZSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAxMDsgfVxuICAgIC5zZWxlY3RyaWMtaGlkZS1zZWxlY3Quc2VsZWN0cmljLWlzLW5hdGl2ZSBzZWxlY3Qge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHotaW5kZXg6IDE7IH1cblxuLnNlbGVjdHJpYy1pbnB1dCB7XG4gIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCkgIWltcG9ydGFudDtcbiAgZm9udDogMCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHggIWltcG9ydGFudDsgfVxuXG4uc2VsZWN0cmljLXRlbXAtc2hvdyB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDsgfVxuXG4uc2VsZWN0cmljLWFib3ZlIC5zZWxlY3RyaWMtaXRlbXMge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgIzRhOTBlMjtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNHB4O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNHB4O1xuICBib3R0b206IDEwMCU7XG4gIHRvcDogYXV0bzsgfVxuXG4uc2VsZWN0cmljLWFib3ZlLnNlbGVjdHJpYy1vcGVuIC5zZWxlY3RyaWMge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjNGE5MGUyO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHg7IH1cblxuLnNlbGVjdHJpYy1pdGVtcyB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM0YTkwZTI7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm94LXNoYWRvdzogMCAwIDEwcHggLTZweDtcbiAgZGlzcGxheTogbm9uZTtcbiAgbGVmdDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIHotaW5kZXg6IC0xOyB9XG4gIC5zZWxlY3RyaWMtaXRlbXMgLnNlbGVjdHJpYy1zY3JvbGwge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogYXV0bzsgfVxuICAuc2VsZWN0cmljLWl0ZW1zIGxpLFxuICAuc2VsZWN0cmljLWl0ZW1zIHVsIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgbWluLWhlaWdodDogMjBweDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5zZWxlY3RyaWMtaXRlbXMgbGkge1xuICAgIGNvbG9yOiAjNjY2O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiA4cHggMTZweDsgfVxuICAgIC5zZWxlY3RyaWMtaXRlbXMgbGkuc2VsZWN0ZWQge1xuICAgICAgYmFja2dyb3VuZDogI2YxZjFmMTtcbiAgICAgIGNvbG9yOiAjNDQ0OyB9XG4gICAgLnNlbGVjdHJpYy1pdGVtcyBsaS5oaWdobGlnaHRlZCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTFlMWUxO1xuICAgICAgY29sb3I6ICM0NDQ7IH1cbiAgICAuc2VsZWN0cmljLWl0ZW1zIGxpOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmMGYwZjA7XG4gICAgICBjb2xvcjogIzQ0NDsgfVxuICAuc2VsZWN0cmljLWl0ZW1zIC5kaXNhYmxlZCB7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICM2NjYgIWltcG9ydGFudDtcbiAgICBjdXJzb3I6IGRlZmF1bHQgIWltcG9ydGFudDtcbiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NTApO1xuICAgIG9wYWNpdHk6IC41O1xuICAgIHVzZXItc2VsZWN0OiBub25lOyB9XG4gIC5zZWxlY3RyaWMtaXRlbXMgLnNlbGVjdHJpYy1ncm91cCAuc2VsZWN0cmljLWdyb3VwLWxhYmVsIHtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgY29sb3I6ICM0NDQ7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuICAuc2VsZWN0cmljLWl0ZW1zIC5zZWxlY3RyaWMtZ3JvdXAuZGlzYWJsZWQgbGkge1xuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0xMDApO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLnNlbGVjdHJpYy1pdGVtcyAuc2VsZWN0cmljLWdyb3VwIGxpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7IH1cblxuLmdyaWQtaGVscGVyIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5ncmlkLWhlbHBlciAuZ3JpZC1oZWxwZXJfX2lubmVyIHtcbiAgICBtYXgtd2lkdGg6IDc1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAuZ3JpZC1oZWxwZXIgLmdyaWQtaGVscGVyX19jb2wge1xuICAgIHdpZHRoOiA4LjMzMzMzJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZ3JpZC1oZWxwZXIgLmdyaWQtaGVscGVyX19jb2wge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAuZ3JpZC1oZWxwZXIgLmdyaWQtaGVscGVyX19jb2wsIC5ncmlkLWhlbHBlciAuZ3JpZC1oZWxwZXJfX2NvbDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAuZ3JpZC1oZWxwZXIgLmdyaWQtaGVscGVyX19jb2w6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAuZ3JpZC1oZWxwZXIgLmdyaWQtaGVscGVyX19jb2wgcCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDBmO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgb3BhY2l0eTogLjQ7XG4gICAgICBwYWRkaW5nOiAwOyB9XG5cbi5hYm91dF9fbW9tZW50IHtcbiAgY2xlYXI6IGJvdGg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmFib3V0X19tb21lbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDsgfVxuICAgICAgLmFib3V0X19tb21lbnQ6bnRoLWNoaWxkKDJuICsgMSkgPiBkaXYge1xuICAgICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAgICAgLmFib3V0X19tb21lbnQ6bnRoLWNoaWxkKDJuICsgMSkgPiBkaXYuYWJvdXRfX2NvbnRlbnQge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDsgfVxuICAgICAgICAuYWJvdXRfX21vbWVudDpudGgtY2hpbGQoMm4gKyAxKSA+IGRpdiAuYWJvdXRfX2ltYWdlLWNvbnRhaW5lciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpOyB9XG4gICAgICAuYWJvdXRfX21vbWVudDpudGgtY2hpbGQoMm4gKyAyKSA+IGRpdiB7XG4gICAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgICAgIC5hYm91dF9fbW9tZW50Om50aC1jaGlsZCgybiArIDIpID4gZGl2LmFib3V0X19jb250ZW50IHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4OyB9XG4gICAgICAgIC5hYm91dF9fbW9tZW50Om50aC1jaGlsZCgybiArIDIpID4gZGl2IC5hYm91dF9faW1hZ2UtY29udGFpbmVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKTsgfSB9XG5cbi5hYm91dF9fY29udGVudCB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmFib3V0X19jb250ZW50IHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyMDBweCk7IH0gfVxuICAuYWJvdXRfX2NvbnRlbnQgaDQge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LWZhbWlseTogJ0ludHJvJztcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBwYWRkaW5nOiAycHggN3B4IDA7IH1cbiAgLmFib3V0X19jb250ZW50IHAge1xuICAgIGZvbnQtZmFtaWx5OiAnTG90YS1TZW1pQm9sZCc7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjNlbTsgfVxuXG4uYWJvdXRfX2ltYWdlIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYWJvdXRfX2ltYWdlIHtcbiAgICAgIHdpZHRoOiAyMDBweDsgfSB9XG5cbi5hYm91dF9faW1hZ2UtY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZy1ib3R0b206IDExMCU7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAuYWJvdXRfX2ltYWdlLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDgwJTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmFib3V0X19pbWFnZS1jb250YWluZXIge1xuICAgICAgYm9yZGVyOiAxMHB4IHNvbGlkICNkZWVkZWM7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICBib3gtc2hhZG93OiAxcHggMXB4IDdweCAxcHggIzkwOTA5MDtcbiAgICAgIGhlaWdodDogMjAwcHg7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC01ZGVnKTtcbiAgICAgIHdpZHRoOiAxODBweDsgfSB9XG5cbi5hY2hpZXZlbWVudHMge1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xuICBwYWRkaW5nOiA0MHB4IDIwcHggMTBweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5hY2hpZXZlbWVudHMge1xuICAgICAgcGFkZGluZzogNDBweCAwIDEwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5hY2hpZXZlbWVudHMge1xuICAgICAgcGFkZGluZzogNDBweCAyMHB4IDEwcHg7IH0gfVxuICAuYWNoaWV2ZW1lbnRzIC5jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5hY2hpZXZlbWVudHMgaDIge1xuICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmFjaGlldmVtZW50cyBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzJweDsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5hY2hpZXZlbWVudHMgaDIge1xuICAgICAgICBmb250LXNpemU6IDQwcHg7IH0gfVxuICAgIC5hY2hpZXZlbWVudHMgaDIgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLmFjaGlldmVtZW50c19faXRlbXMge1xuICBjbGVhcjogYm90aDtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDUwcHg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmFjaGlldmVtZW50c19faXRlbXMge1xuICAgICAgbWFyZ2luLXRvcDogNzBweDsgfSB9XG5cbi5hY2hpZXZlbWVudHNfX2l0ZW0ge1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmFjaGlldmVtZW50c19faXRlbSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5hY2hpZXZlbWVudHNfX2l0ZW0sIC5hY2hpZXZlbWVudHNfX2l0ZW06bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLmFjaGlldmVtZW50c19faXRlbTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgIC5hY2hpZXZlbWVudHNfX2l0ZW0ge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYWNoaWV2ZW1lbnRzX19pdGVtIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgLmFjaGlldmVtZW50c19faXRlbSwgLmFjaGlldmVtZW50c19faXRlbTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAuYWNoaWV2ZW1lbnRzX19pdGVtOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5hY2hpZXZlbWVudHNfX2l0ZW0ge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmFjaGlldmVtZW50c19faXRlbSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuYWNoaWV2ZW1lbnRzX19pdGVtLCAuYWNoaWV2ZW1lbnRzX19pdGVtOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAgIC5hY2hpZXZlbWVudHNfX2l0ZW06bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG5cbi5hY2hpZXZlbWVudHNfX2l0ZW0tLXBldGl0aW9uIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogNCU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDIwcHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYWNoaWV2ZW1lbnRzX19pdGVtLS1wZXRpdGlvbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDEwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5hY2hpZXZlbWVudHNfX2l0ZW0tLXBldGl0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDIwcHg7IH0gfVxuICAuYWNoaWV2ZW1lbnRzX19pdGVtLS1wZXRpdGlvbi5hY2hpZXZlbWVudHNfX2l0ZW0tLXBldGl0aW9uLW1vYmlsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmFjaGlldmVtZW50c19faXRlbS0tcGV0aXRpb24uYWNoaWV2ZW1lbnRzX19pdGVtLS1wZXRpdGlvbi1tb2JpbGUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmFjaGlldmVtZW50c19faXRlbS0tcGV0aXRpb24gLmFjaGlldmVtZW50c19faXRlbV9faW1hZ2Uge1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiA1JTtcbiAgICBoZWlnaHQ6IDE2MHB4O1xuICAgIG1heC13aWR0aDogMzUwcHg7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmFjaGlldmVtZW50c19faXRlbS0tcGV0aXRpb24gLmFjaGlldmVtZW50c19faXRlbV9faW1hZ2Uge1xuICAgICAgICBoZWlnaHQ6IDIxNXB4OyB9IH1cbiAgLmFjaGlldmVtZW50c19faXRlbS0tcGV0aXRpb24gYSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogMTAwJTsgfVxuXG4uYWNoaWV2ZW1lbnRzX19pdGVtLWNvbnRlbnQge1xuICBtYXJnaW46IGF1dG87XG4gIG1heC13aWR0aDogNDAwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuYWNoaWV2ZW1lbnRzX19pdGVtLWNvbnRlbnQgaDQge1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBsaW5lLWhlaWdodDogMS4yZW07XG4gICAgbWFyZ2luOiAyMHB4IDAgLTEwcHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmFjaGlldmVtZW50c19faXRlbS1jb250ZW50IGg0IHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4OyB9IH1cbiAgLmFjaGlldmVtZW50c19faXRlbS1jb250ZW50IHAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMS4zZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmFjaGlldmVtZW50c19faXRlbS1jb250ZW50IHAge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuYWNoaWV2ZW1lbnRzX19pdGVtLWNvbnRlbnQgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiAzMzBweDsgfSB9XG4gIC5hY2hpZXZlbWVudHNfX2l0ZW0tY29udGVudCBhIHtcbiAgICBtYXgtd2lkdGg6IDE1MHB4O1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbi5hY2hpZXZlbWVudHNfX2l0ZW1fX2ltYWdlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYm9yZGVyOiA0cHggc29saWQgI2MwYzBjMDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAyMjBweDtcbiAgbWFyZ2luOiBhdXRvO1xuICB3aWR0aDogMjIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgIC5hY2hpZXZlbWVudHNfX2l0ZW1fX2ltYWdlIHtcbiAgICAgIGhlaWdodDogMjAwcHg7XG4gICAgICB3aWR0aDogMjAwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5hY2hpZXZlbWVudHNfX2l0ZW1fX2ltYWdlIHtcbiAgICAgIGhlaWdodDogMTgwcHg7XG4gICAgICB3aWR0aDogMTgwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5hY2hpZXZlbWVudHNfX2l0ZW1fX2ltYWdlIHtcbiAgICAgIGhlaWdodDogMjQwcHg7XG4gICAgICB3aWR0aDogMjQwcHg7IH0gfVxuXG4uYWN0aW9uLWJhciB7XG4gIGNsZWFyOiBib3RoO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgI2EyYzYxZSAwJSwgI2EyYzYxZSA1MCUsICNlNjA2NjUgNTAlLCAjZTYwNjY1IDEwMCUpO1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjYTJjNjFlIDAlLCAjYTJjNjFlIDUwJSwgI2U2MDY2NSA1MCUsICNlNjA2NjUgMTAwJSk7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2EyYzYxZSAwJSwgI2EyYzYxZSA1MCUsICNlNjA2NjUgNTAlLCAjZTYwNjY1IDEwMCUpO1xuICBib3R0b206IDA7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjYTJjNjFlJywgZW5kQ29sb3JzdHI9JyNlNjA2NjUnLEdyYWRpZW50VHlwZT0xICk7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmFjdGlvbi1iYXIgLmNvbnRhaW5lciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cblxuLmFjdGlvbi1iYXJfX2NvbHVtbiB7XG4gIG1pbi1oZWlnaHQ6IDExMHB4O1xuICBwYWRkaW5nOiAxMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5hY3Rpb24tYmFyX19jb2x1bW4gaDMge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICBtYXJnaW46IC0ycHggMCAycHg7IH1cblxuLmFjdGlvbi1iYXJfX2RvbmF0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhMmM2MWU7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYWN0aW9uLWJhcl9fZG9uYXRlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogMzUlOyB9IH1cbiAgLmFjdGlvbi1iYXJfX2RvbmF0ZSAuYnV0dG9uIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDElO1xuICAgIHdpZHRoOiAzMSU7IH1cbiAgICAuYWN0aW9uLWJhcl9fZG9uYXRlIC5idXR0b246bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuXG4uYWN0aW9uLWJhcl9fc2lnbnVwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2MDY2NTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5hY3Rpb24tYmFyX19zaWdudXAge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogNjUlOyB9IH1cblxuLmFjdGlvbi1iYXJfX2NvbnRlbnQge1xuICBwYWRkaW5nOiA0cHggMDsgfVxuXG4uYWN0aW9uLWJhcl9fZm9ybSAuZ2Zvcm1fYm9keSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmFjdGlvbi1iYXJfX2Zvcm0gLmdmb3JtX2JvZHkge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDE2MHB4KTsgfSB9XG5cbi5hY3Rpb24tYmFyX19mb3JtIC5nZmllbGQgaW5wdXQge1xuICBtYXJnaW4tcmlnaHQ6IDElO1xuICB3aWR0aDogMzclOyB9XG4gIC5hY3Rpb24tYmFyX19mb3JtIC5nZmllbGQgaW5wdXQubGFyZ2Uge1xuICAgIHdpZHRoOiA2MCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYWN0aW9uLWJhcl9fZm9ybSAuZ2ZpZWxkIGlucHV0IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAyNyU7IH1cbiAgICAgIC5hY3Rpb24tYmFyX19mb3JtIC5nZmllbGQgaW5wdXQubGFyZ2Uge1xuICAgICAgICB3aWR0aDogNDIlOyB9IH1cblxuLmFjdGlvbi1iYXJfX2Zvcm0gLmdmaWVsZDpmaXJzdC1vZi10eXBlIGlucHV0IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5hY3Rpb24tYmFyX19mb3JtIC5nZmllbGQ6Zmlyc3Qtb2YtdHlwZSBpbnB1dCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuXG4uYWN0aW9uLWJhcl9fZm9ybSAuZ2ZpZWxkOmxhc3Qtb2YtdHlwZSBpbnB1dCB7XG4gIG1hcmdpbi1yaWdodDogMDsgfVxuXG4uYWN0aW9uLWJhcl9fZm9ybSAuZ2ZpZWxkX2Vycm9yIGlucHV0W3R5cGU9J3RleHQnXTpub3QoLmJ1dHRvbiksIC5hY3Rpb24tYmFyX19mb3JtIC5nZmllbGRfZXJyb3IgaW5wdXRbdHlwZT0nZW1haWwnXTpub3QoLmJ1dHRvbiksIC5hY3Rpb24tYmFyX19mb3JtIC5nZmllbGRfZXJyb3IgaW5wdXRbdHlwZT0nbnVtYmVyJ106bm90KC5idXR0b24pLCAuYWN0aW9uLWJhcl9fZm9ybSAuZ2ZpZWxkX2Vycm9yIGlucHV0W3R5cGU9J3Bob25lJ106bm90KC5idXR0b24pIHtcbiAgYm9yZGVyOiAycHggc29saWQgIzAwMDsgfVxuXG4uYWN0aW9uLWJhcl9fZm9ybSAuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyODFhZjtcbiAgYm9yZGVyOiAwO1xuICBoZWlnaHQ6IDMycHg7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5hY3Rpb24tYmFyX19mb3JtIC5idXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgY29sb3I6ICNlNjA2NjU7IH1cbiAgLmFjdGlvbi1iYXJfX2Zvcm0gLmJ1dHRvbjpudGgtY2hpbGQoMSk6bnRoLWxhc3QtY2hpbGQoMTApIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDEwMDAwcHg7IH1cblxuLmFjdGlvbi1iYXJfX2Zvcm0gLmdmb3JtX2FqYXhfc3Bpbm5lciB7XG4gIGhlaWdodDogMjBweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5hY3Rpb24tYmFyX19mb3JtIC5nZm9ybV9hamF4X3NwaW5uZXIge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cblxuLmFjdGlvbi1iYXJfX2Zvcm0gLmdmaWVsZCxcbi5hY3Rpb24tYmFyX19mb3JtIC5naW5wdXRfY29udGFpbmVyIHtcbiAgZGlzcGxheTogaW5saW5lOyB9XG5cbi5hY3Rpb24tYmFyX19mb3JtIC5nZm9ybV9mb290ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmFjdGlvbi1iYXJfX2Zvcm0gLmdmb3JtX2Zvb3RlciB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgd2lkdGg6IDE0MHB4OyB9IH1cblxuLmFjdGlvbi1iYXJfX2Zvcm0gLnNtYWxsIHtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDEuM2VtO1xuICBtYXJnaW46IDVweCAxMHB4IDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmFjdGlvbi1iYXJfX2Zvcm0gLnNtYWxsIGEge1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG5cbi5hcnRpY2xlX19oZXJvLWltYWdlIHtcbiAgbWFyZ2luOiA2MHB4IDAgLTUwcHg7XG4gIG1heC1oZWlnaHQ6IDU4N3B4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IC0xOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmFydGljbGVfX2hlcm8taW1hZ2Uge1xuICAgICAgbWFyZ2luOiAxNDVweCAwIC0xNjhweDtcbiAgICAgIHBhZGRpbmc6IDAgMjRweDsgfSB9XG4gIC5hcnRpY2xlX19oZXJvLWltYWdlIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuLmFydGljbGUge1xuICBjbGVhcjogYm90aDtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtZmFtaWx5OiAnTG90YS1SZWd1bGFyJywgc2Fucy1zZXJpZjtcbiAgbWluLWhlaWdodDogNTAwcHg7XG4gIHBhZGRpbmc6IDAgMTBweCA0MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYXJ0aWNsZSB7XG4gICAgICBwYWRkaW5nOiAwIDAgNDBweDsgfSB9XG4gIC5hcnRpY2xlIGEge1xuICAgIGNvbG9yOiAjZTQwMDNiO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5hcnRpY2xlIGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLmFydGljbGUgcCB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjZlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuYXJ0aWNsZSBwIHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4OyB9IH1cbiAgLmFydGljbGUgaDEsXG4gIC5hcnRpY2xlIGgyLFxuICAuYXJ0aWNsZSBoMyxcbiAgLmFydGljbGUgaDQsXG4gIC5hcnRpY2xlIGg1LFxuICAuYXJ0aWNsZSBoNiB7XG4gICAgY29sb3I6ICNlNDAwM2I7XG4gICAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7IH1cbiAgICAuYXJ0aWNsZSBoMTpub3QoOmZpcnN0LW9mLXR5cGUpLFxuICAgIC5hcnRpY2xlIGgyOm5vdCg6Zmlyc3Qtb2YtdHlwZSksXG4gICAgLmFydGljbGUgaDM6bm90KDpmaXJzdC1vZi10eXBlKSxcbiAgICAuYXJ0aWNsZSBoNDpub3QoOmZpcnN0LW9mLXR5cGUpLFxuICAgIC5hcnRpY2xlIGg1Om5vdCg6Zmlyc3Qtb2YtdHlwZSksXG4gICAgLmFydGljbGUgaDY6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgICBtYXJnaW4tdG9wOiA4MHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuYXJ0aWNsZSBoMTpub3QoOmZpcnN0LW9mLXR5cGUpOmJlZm9yZSxcbiAgICAgIC5hcnRpY2xlIGgyOm5vdCg6Zmlyc3Qtb2YtdHlwZSk6YmVmb3JlLFxuICAgICAgLmFydGljbGUgaDM6bm90KDpmaXJzdC1vZi10eXBlKTpiZWZvcmUsXG4gICAgICAuYXJ0aWNsZSBoNDpub3QoOmZpcnN0LW9mLXR5cGUpOmJlZm9yZSxcbiAgICAgIC5hcnRpY2xlIGg1Om5vdCg6Zmlyc3Qtb2YtdHlwZSk6YmVmb3JlLFxuICAgICAgLmFydGljbGUgaDY6bm90KDpmaXJzdC1vZi10eXBlKTpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZTQwMDNiO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC00M3B4O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIHdpZHRoOiAxMDBweDsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgIC5hcnRpY2xlIGgxOm5vdCg6Zmlyc3Qtb2YtdHlwZSk6YmVmb3JlLFxuICAgICAgICAgIC5hcnRpY2xlIGgyOm5vdCg6Zmlyc3Qtb2YtdHlwZSk6YmVmb3JlLFxuICAgICAgICAgIC5hcnRpY2xlIGgzOm5vdCg6Zmlyc3Qtb2YtdHlwZSk6YmVmb3JlLFxuICAgICAgICAgIC5hcnRpY2xlIGg0Om5vdCg6Zmlyc3Qtb2YtdHlwZSk6YmVmb3JlLFxuICAgICAgICAgIC5hcnRpY2xlIGg1Om5vdCg6Zmlyc3Qtb2YtdHlwZSk6YmVmb3JlLFxuICAgICAgICAgIC5hcnRpY2xlIGg2Om5vdCg6Zmlyc3Qtb2YtdHlwZSk6YmVmb3JlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxNTBweDsgfSB9XG4gIC5hcnRpY2xlIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAzNnB4IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmFydGljbGUgZmlndXJlIHtcbiAgICBtYXJnaW46IDAgMCAzNnB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuYXJ0aWNsZSBmaWdjYXB0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gICAgYm90dG9tOiAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBwYWRkaW5nOiA4cHggMTBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmFydGljbGUgYmxvY2txdW90ZSB7XG4gICAgY29sb3I6ICNlNDAwM2I7XG4gICAgbWFyZ2luOiAyMHB4IDEwcHg7IH1cbiAgICAuYXJ0aWNsZSBibG9ja3F1b3RlIHAge1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNGVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5hcnRpY2xlIGJsb2NrcXVvdGUge1xuICAgICAgICBtYXJnaW46IDIwcHggNDBweDsgfSB9XG4gIC5hcnRpY2xlIG9sLFxuICAuYXJ0aWNsZSB1bCB7XG4gICAgbGlzdC1zdHlsZTogaW5pdGlhbDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAyNHB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5hcnRpY2xlIG9sLFxuICAgICAgLmFydGljbGUgdWwge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7IH0gfVxuICAgIC5hcnRpY2xlIG9sIGxpLFxuICAgIC5hcnRpY2xlIHVsIGxpIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5hcnRpY2xlIG9sIGxpLFxuICAgICAgICAuYXJ0aWNsZSB1bCBsaSB7XG4gICAgICAgICAgZm9udC1zaXplOiAyMHB4OyB9IH1cblxuLmFydGljbGVfX3Bvc3Qge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmFydGljbGVfX3Bvc3Qge1xuICAgICAgbWFyZ2luOiAyMHB4IDElO1xuICAgICAgd2lkdGg6IDQ3JTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmFydGljbGVfX3Bvc3Qge1xuICAgICAgd2lkdGg6IDMxJTsgfSB9XG4gIC5hcnRpY2xlX19wb3N0IGEuYnV0dG9uIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gIC5hcnRpY2xlX19wb3N0IHAge1xuICAgIGZvbnQtc2l6ZTogLjllbTtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG5cbi5hcnRpY2xlX19wb3N0X190aHVtYiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgaGVpZ2h0OiAyNTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYXJ0aWNsZV9fcG9zdF9fdGh1bWIge1xuICAgICAgaGVpZ2h0OiAyMDBweDsgfSB9XG5cbi5icm93c2VydXBncmFkZSB7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTAwMDA7IH1cbiAgLmJyb3dzZXJ1cGdyYWRlIHNwYW4ge1xuICAgIGJhY2tncm91bmQ6ICNhMGQ1ZDI7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBtYXgtd2lkdGg6IDcwMHB4O1xuICAgIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuYnJvd3NlcnVwZ3JhZGUgYSxcbiAgLmJyb3dzZXJ1cGdyYWRlIHN0cm9uZyB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgZm9udC1mYW1pbHk6ICdMb3RhLVNlbWlCb2xkJzsgfVxuXG4uYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBjb2xvcjogI2ZmZjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiAnTG90YS1CbGFjaycsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGhlaWdodDogMzBweDtcbiAgcGFkZGluZzogNXB4IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0cmFuc2l0aW9uOiBhbGwgLjRzOyB9XG4gIC5idXR0b24gYSB7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLmJ1dHRvbi0td2hpdGUge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5idXR0b24uYnV0dG9uLS1ibHVlIHtcbiAgICBjb2xvcjogIzM2YTllMTsgfVxuICAgIC5idXR0b24uYnV0dG9uLS1ibHVlOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzNmE5ZTE7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAuYnV0dG9uLmJ1dHRvbi0tYmctYmx1ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzM2YTllMTsgfVxuICAgIC5idXR0b24uYnV0dG9uLS1iZy1ibHVlOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMjA4N2E7IH1cbiAgLmJ1dHRvbi5idXR0b24tLXBhbGUtYmx1ZSB7XG4gICAgY29sb3I6ICM3ZWFlYzA7IH1cbiAgICAuYnV0dG9uLmJ1dHRvbi0tcGFsZS1ibHVlOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzNmE5ZTE7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAuYnV0dG9uLmJ1dHRvbi0tYmctcGFsZS1ibHVlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2VhZWMwOyB9XG4gICAgLmJ1dHRvbi5idXR0b24tLWJnLXBhbGUtYmx1ZTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWI5MjkzOyB9XG4gIC5idXR0b24uYnV0dG9uLS1ncmVlbiB7XG4gICAgY29sb3I6ICNhMmM2MWU7IH1cbiAgICAuYnV0dG9uLmJ1dHRvbi0tZ3JlZW46aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2EyYzYxZTtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5idXR0b24uYnV0dG9uLS1iZy1ncmVlbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2EyYzYxZTsgfVxuICAgIC5idXR0b24uYnV0dG9uLS1iZy1ncmVlbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBhMDMyOyB9XG4gIC5idXR0b24uYnV0dG9uLS1wYWxlLWdyZWVuIHtcbiAgICBjb2xvcjogI2EwZDVkMjsgfVxuICAgIC5idXR0b24uYnV0dG9uLS1wYWxlLWdyZWVuOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhMGQ1ZDI7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAuYnV0dG9uLmJ1dHRvbi0tYmctcGFsZS1ncmVlbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2EwZDVkMjsgfVxuICAgIC5idXR0b24uYnV0dG9uLS1iZy1wYWxlLWdyZWVuOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0Y2MzZDA7IH1cbiAgLmJ1dHRvbi5idXR0b24tLW9yYW5nZSB7XG4gICAgY29sb3I6ICNlZjc4NTA7IH1cbiAgICAuYnV0dG9uLmJ1dHRvbi0tb3JhbmdlOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZjc4NTA7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAuYnV0dG9uLmJ1dHRvbi0tYmctb3JhbmdlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWY3ODUwOyB9XG4gICAgLmJ1dHRvbi5idXR0b24tLWJnLW9yYW5nZTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjk2YzQ3OyB9XG4gIC5idXR0b24uYnV0dG9uLS1waW5rIHtcbiAgICBjb2xvcjogI2U2MDY2NTsgfVxuICAgIC5idXR0b24uYnV0dG9uLS1waW5rOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNjA2NjU7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAuYnV0dG9uLmJ1dHRvbi0tYmctcGluayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2MDY2NTsgfVxuICAgIC5idXR0b24uYnV0dG9uLS1iZy1waW5rOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiZTA2NjU7IH1cbiAgLmJ1dHRvbi5idXR0b24tLXB1cnBsZSB7XG4gICAgY29sb3I6ICM4YjAwOGI7IH1cbiAgICAuYnV0dG9uLmJ1dHRvbi0tcHVycGxlOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4YjAwOGI7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAuYnV0dG9uLmJ1dHRvbi0tYmctcHVycGxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGIwMDhiOyB9XG4gICAgLmJ1dHRvbi5idXR0b24tLWJnLXB1cnBsZTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmIwMDhiOyB9XG4gIC5idXR0b24uYnV0dG9uLS1yZWQsIC5idXR0b24uYnV0dG9uLS1sYWJvdXItcmVkIHtcbiAgICBjb2xvcjogI2U0MDAzYjsgfVxuICAgIC5idXR0b24uYnV0dG9uLS1yZWQ6aG92ZXIsIC5idXR0b24uYnV0dG9uLS1sYWJvdXItcmVkOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNDAwM2I7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAuYnV0dG9uLmJ1dHRvbi0tYmctcmVkLCAuYnV0dG9uLmJ1dHRvbi0tYmctbGFib3VyLXJlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U0MDAzYjsgfVxuICAgIC5idXR0b24uYnV0dG9uLS1iZy1yZWQ6aG92ZXIsIC5idXR0b24uYnV0dG9uLS1iZy1sYWJvdXItcmVkOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhNjAyMmM7IH1cblxuLmJ1dHRvbi0tb3V0bGluZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG4gIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24tLW91dGxpbmU6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmJ1dHRvbi0tb3V0bGluZS5idXR0b24tLWJsdWUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMzNmE5ZTE7XG4gICAgY29sb3I6ICMzNmE5ZTE7IH1cbiAgICAuYnV0dG9uLS1vdXRsaW5lLmJ1dHRvbi0tYmx1ZTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzZhOWUxO1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgLmJ1dHRvbi0tb3V0bGluZS5idXR0b24tLXBhbGUtYmx1ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzdlYWVjMDtcbiAgICBjb2xvcjogIzdlYWVjMDsgfVxuICAgIC5idXR0b24tLW91dGxpbmUuYnV0dG9uLS1wYWxlLWJsdWU6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzdlYWVjMDtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5idXR0b24tLW91dGxpbmUuYnV0dG9uLS1ncmVlbiB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2EyYzYxZTtcbiAgICBjb2xvcjogI2EyYzYxZTsgfVxuICAgIC5idXR0b24tLW91dGxpbmUuYnV0dG9uLS1ncmVlbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTJjNjFlO1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgLmJ1dHRvbi0tb3V0bGluZS5idXR0b24tLXBhbGUtZ3JlZW4ge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNhMGQ1ZDI7XG4gICAgY29sb3I6ICNhMGQ1ZDI7IH1cbiAgICAuYnV0dG9uLS1vdXRsaW5lLmJ1dHRvbi0tcGFsZS1ncmVlbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTBkNWQyO1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgLmJ1dHRvbi0tb3V0bGluZS5idXR0b24tLW9yYW5nZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2VmNzg1MDtcbiAgICBjb2xvcjogI2VmNzg1MDsgfVxuICAgIC5idXR0b24tLW91dGxpbmUuYnV0dG9uLS1vcmFuZ2U6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VmNzg1MDtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5idXR0b24tLW91dGxpbmUuYnV0dG9uLS1waW5rIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTYwNjY1O1xuICAgIGNvbG9yOiAjZTYwNjY1OyB9XG4gICAgLmJ1dHRvbi0tb3V0bGluZS5idXR0b24tLXBpbms6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U2MDY2NTtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5idXR0b24tLW91dGxpbmUuYnV0dG9uLS1wdXJwbGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4YjAwOGI7XG4gICAgY29sb3I6ICM4YjAwOGI7IH1cbiAgICAuYnV0dG9uLS1vdXRsaW5lLmJ1dHRvbi0tcHVycGxlOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4YjAwOGI7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuXG4uYnV0dG9uLS1kb25hdGUge1xuICBib3gtc2hhZG93OiAxcHggMnB4IDZweCAxcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGhlaWdodDogMzRweDtcbiAgcGFkZGluZzogNnB4IDA7IH1cblxuLmJ1dHRvbi0tbGFyZ2Uge1xuICBoZWlnaHQ6IGF1dG87XG4gIHBhZGRpbmc6IDEwcHg7IH1cblxuLmJ1dHRvbi0teGwge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGhlaWdodDogYXV0bztcbiAgcGFkZGluZzogMTVweCAyNXB4OyB9XG5cbi5zaW5nbGUtY2FtcGFpZ24gLnBhZ2UtY29udGVudCB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zaW5nbGUtY2FtcGFpZ24gLnBhZ2UtY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiAtNjBweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnNpbmdsZS1jYW1wYWlnbiAucGFnZS1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IC0xMDBweDsgfSB9XG5cbi5jYW1wYWlnbnMge1xuICBjbGVhcjogYm90aDtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY2FtcGFpZ25zIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLmNhbXBhaWducywgLmNhbXBhaWduczpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuY2FtcGFpZ25zOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAuY2FtcGFpZ25zOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmNhbXBhaWducyBoMSB7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY2FtcGFpZ25zIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiA0MHB4OyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNhbXBhaWducyBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNTVweDsgfSB9XG4gICAgLmNhbXBhaWducyBoMSAuZ3JlZW4ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5jYW1wYWlnbnNfX2ZlYXR1cmVkIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIG1hcmdpbi1sZWZ0OiAyJTtcbiAgbWFyZ2luLXRvcDogNDBweDtcbiAgd2lkdGg6IDk2JTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jYW1wYWlnbnNfX2ZlYXR1cmVkIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDclO1xuICAgICAgd2lkdGg6IDg2JTsgfSB9XG4gIC5jYW1wYWlnbnNfX2ZlYXR1cmVkICsgLnRhYmxlLWJvcmRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDIlO1xuICAgIHdpZHRoOiA5NiU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNhbXBhaWduc19fZmVhdHVyZWQgKyAudGFibGUtYm9yZGVyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDclO1xuICAgICAgICB3aWR0aDogODYlOyB9IH1cblxuLnRhYmxlLWJvcmRlciB7XG4gIGNsZWFyOiBib3RoO1xuICBoZWlnaHQ6IDVweDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnRhYmxlLWJvcmRlci0tZ3JlZW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhMmM2MWU7IH1cblxuLmNhbXBhaWduc19fZmVhdHVyZWQtY29udGVudCB7XG4gIGJhY2tncm91bmQ6ICNlMmUyZTI7XG4gIHBhZGRpbmc6IDMwcHggMjBweDsgfVxuICAuY2FtcGFpZ25zX19mZWF0dXJlZC1jb250ZW50IHAge1xuICAgIG1hcmdpbi10b3A6IDVweDsgfVxuICAuY2FtcGFpZ25zX19mZWF0dXJlZC1jb250ZW50IGEge1xuICAgIG1pbi13aWR0aDogMTUwcHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY2FtcGFpZ25zX19mZWF0dXJlZC1jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB3aWR0aDogNjUlOyB9XG4gICAgICAuY2FtcGFpZ25zX19mZWF0dXJlZC1jb250ZW50IHAge1xuICAgICAgICBmb250LXNpemU6IDEuMmVtO1xuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7IH0gfVxuXG4uY2FtcGFpZ25zX19mZWF0dXJlZC1pbWFnZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY2FtcGFpZ25zX19mZWF0dXJlZC1pbWFnZSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgd2lkdGg6IDM1JTsgfSB9XG5cbi5jYW1wYWlnbnNfX2l0ZW1zIHtcbiAgY2xlYXI6IGJvdGg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW46IDI1cHggMCAzMHB4O1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jYW1wYWlnbnNfX2l0ZW1zIHtcbiAgICAgIG1hcmdpbjogNTBweCAwIDQwcHg7IH0gfVxuXG4uY2FtcGFpZ25zX19pdGVtIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jYW1wYWlnbnNfX2l0ZW0ge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuY2FtcGFpZ25zX19pdGVtLCAuY2FtcGFpZ25zX19pdGVtOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5jYW1wYWlnbnNfX2l0ZW06bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5jYW1wYWlnbnNfX2l0ZW06bGFzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNhbXBhaWduc19faXRlbSB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY2FtcGFpZ25zX19pdGVtIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5jYW1wYWlnbnNfX2l0ZW0sIC5jYW1wYWlnbnNfX2l0ZW06bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBjbGVhcjogbm9uZTsgfVxuICAgICAgLmNhbXBhaWduc19faXRlbTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgICAuY2FtcGFpZ25zX19pdGVtOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0OyB9IH1cblxuLmNhbXBhaWduc19faXRlbS0tYmx1ZSAuY2FtcGFpZ25zX19pdGVtX19pbWFnZSB7XG4gIGJvcmRlci1jb2xvcjogIzM2YTllMTsgfVxuXG4uY2FtcGFpZ25zX19pdGVtLS1ibHVlIGg0IHtcbiAgY29sb3I6ICMzNmE5ZTE7IH1cblxuLmNhbXBhaWduc19faXRlbS0tcGFsZS1ibHVlIC5jYW1wYWlnbnNfX2l0ZW1fX2ltYWdlIHtcbiAgYm9yZGVyLWNvbG9yOiAjN2VhZWMwOyB9XG5cbi5jYW1wYWlnbnNfX2l0ZW0tLXBhbGUtYmx1ZSBoNCB7XG4gIGNvbG9yOiAjN2VhZWMwOyB9XG5cbi5jYW1wYWlnbnNfX2l0ZW0tLWdyZWVuIC5jYW1wYWlnbnNfX2l0ZW1fX2ltYWdlIHtcbiAgYm9yZGVyLWNvbG9yOiAjYTJjNjFlOyB9XG5cbi5jYW1wYWlnbnNfX2l0ZW0tLWdyZWVuIGg0IHtcbiAgY29sb3I6ICNhMmM2MWU7IH1cblxuLmNhbXBhaWduc19faXRlbS0tcGFsZS1ncmVlbiAuY2FtcGFpZ25zX19pdGVtX19pbWFnZSB7XG4gIGJvcmRlci1jb2xvcjogI2EwZDVkMjsgfVxuXG4uY2FtcGFpZ25zX19pdGVtLS1wYWxlLWdyZWVuIGg0IHtcbiAgY29sb3I6ICNhMGQ1ZDI7IH1cblxuLmNhbXBhaWduc19faXRlbS0tb3JhbmdlIC5jYW1wYWlnbnNfX2l0ZW1fX2ltYWdlIHtcbiAgYm9yZGVyLWNvbG9yOiAjZWY3ODUwOyB9XG5cbi5jYW1wYWlnbnNfX2l0ZW0tLW9yYW5nZSBoNCB7XG4gIGNvbG9yOiAjZWY3ODUwOyB9XG5cbi5jYW1wYWlnbnNfX2l0ZW0tLXBpbmsgLmNhbXBhaWduc19faXRlbV9faW1hZ2Uge1xuICBib3JkZXItY29sb3I6ICNlNjA2NjU7IH1cblxuLmNhbXBhaWduc19faXRlbS0tcGluayBoNCB7XG4gIGNvbG9yOiAjZTYwNjY1OyB9XG5cbi5jYW1wYWlnbnNfX2l0ZW0tLXB1cnBsZSAuY2FtcGFpZ25zX19pdGVtX19pbWFnZSB7XG4gIGJvcmRlci1jb2xvcjogIzhiMDA4YjsgfVxuXG4uY2FtcGFpZ25zX19pdGVtLS1wdXJwbGUgaDQge1xuICBjb2xvcjogIzhiMDA4YjsgfVxuXG4uY2FtcGFpZ25zX19pdGVtLS1sYWJvdXItcmVkIC5jYW1wYWlnbnNfX2l0ZW1fX2ltYWdlIHtcbiAgYm9yZGVyLWNvbG9yOiAjZTQwMDNiOyB9XG5cbi5jYW1wYWlnbnNfX2l0ZW0tLWxhYm91ci1yZWQgaDQge1xuICBjb2xvcjogI2U0MDAzYjsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuY2FtcGFpZ25zX19pdGVtLWNvbnRlbnQge1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBtYXgtd2lkdGg6IDI1MHB4OyB9IH1cblxuLmNhbXBhaWduc19faXRlbS1jb250ZW50IGg0IHtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBsaW5lLWhlaWdodDogMS4yZW07XG4gIG1hcmdpbjogMjBweCAwIC0xMHB4OyB9XG5cbi5jYW1wYWlnbnNfX2l0ZW0tY29udGVudCBhLmJ1dHRvbiB7XG4gIG1heC13aWR0aDogMTUwcHg7XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmNhbXBhaWduc19faXRlbV9faW1hZ2Uge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBib3JkZXI6IDRweCBzb2xpZCAjYTJjNjFlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDIyMHB4O1xuICBtYXJnaW46IGF1dG87XG4gIHdpZHRoOiAyMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgLmNhbXBhaWduc19faXRlbV9faW1hZ2Uge1xuICAgICAgaGVpZ2h0OiAyNTBweDtcbiAgICAgIHdpZHRoOiAyNTBweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNhbXBhaWduc19faXRlbV9faW1hZ2Uge1xuICAgICAgaGVpZ2h0OiAxODBweDtcbiAgICAgIHdpZHRoOiAxODBweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNhbXBhaWduc19faXRlbV9faW1hZ2Uge1xuICAgICAgaGVpZ2h0OiAyNDBweDtcbiAgICAgIHdpZHRoOiAyNDBweDsgfSB9XG5cbi5jb29raWVzLWJhbm5lciB7XG4gIGJhY2tncm91bmQ6ICNlNDAwM2I7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZmZmO1xuICBib3R0b206IDA7XG4gIGZsb2F0OiBsZWZ0O1xuICBsZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAtNTBweDtcbiAgb3BhY2l0eTogMDtcbiAgcGFkZGluZzogMzBweCAxMHB4O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbjogLjM1cztcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDk7IH1cbiAgLmNvb2tpZXMtYmFubmVyLmFwcGVhciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHotaW5kZXg6IDk5OTsgfVxuICAuY29va2llcy1iYW5uZXIuc2hvd2VkLWFsZXJ0IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNvb2tpZXMtYmFubmVyIC5pbm5lcnRleHQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cbiAgLmNvb2tpZXMtYmFubmVyIHAge1xuICAgIGNvbG9yOiAjZmFmOGY0O1xuICAgIGZvbnQtZmFtaWx5OiAnTG90YS1Cb2xkJztcbiAgICBmb250LXNpemU6IDE3cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogMTI1JTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmNvb2tpZXMtYmFubmVyIGE6bm90KC5idG4pIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuY29va2llcy1iYW5uZXIgLmJ1dHRvbi13cmFwcGVyIHtcbiAgICBtYXJnaW4tdG9wOiA1cHg7IH1cbiAgICAuY29va2llcy1iYW5uZXIgLmJ1dHRvbi13cmFwcGVyIGEge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luOiAxMHB4IGF1dG8gMDtcbiAgICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5jb29raWVzLWJhbm5lciAuYnV0dG9uLXdyYXBwZXIgYSB7XG4gICAgICAgICAgbWluLXdpZHRoOiAwOyB9IH1cbiAgLmNvb2tpZXMtYmFubmVyIC5jbG9zZS1pY29uIHtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7IH1cbiAgICAuY29va2llcy1iYW5uZXIgLmNsb3NlLWljb24gc3ZnIHtcbiAgICAgIGJhY2tncm91bmQ6ICNlYjQwNmM7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZmlsbDogI2ZhZjhmNDtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgIHRyYW5zaXRpb246IC4zNXM7XG4gICAgICB3aWR0aDogMjBweDsgfVxuICAgICAgLmNvb2tpZXMtYmFubmVyIC5jbG9zZS1pY29uIHN2Zzpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmYWY4ZjQ7XG4gICAgICAgIGZpbGw6ICNlNDAwM2I7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDYuMjVlbSkge1xuICAgIC5jb29raWVzLWJhbm5lciAuY29sLXhzLTEyIHtcbiAgICAgIHBhZGRpbmc6IDAgMjBweCAwIDA7IH0gfVxuXG4uZGVsaXZlcmluZ19fY2F1c2Uge1xuICBjbGVhcjogYm90aDtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIG1hcmdpbi1ib3R0b206IDYwcHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZGVsaXZlcmluZ19fY2F1c2U6bnRoLWNoaWxkKDJuICsgMSkgPiBkaXYge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAgIC5kZWxpdmVyaW5nX19jYXVzZTpudGgtY2hpbGQoMm4gKyAxKSA+IGRpdi5kZWxpdmVyaW5nX19zdGF0cyB7XG4gICAgICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDRweDsgfVxuICAgIC5kZWxpdmVyaW5nX19jYXVzZTpudGgtY2hpbGQoMm4gKyAyKSA+IGRpdiB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAgIC5kZWxpdmVyaW5nX19jYXVzZTpudGgtY2hpbGQoMm4gKyAyKSA+IGRpdi5kZWxpdmVyaW5nX19zdGF0cyB7XG4gICAgICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1yaWdodC13aWR0aDogNHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG5cbi5kZWxpdmVyaW5nX19jYXVzZS0tYmx1ZSAuZGVsaXZlcmluZ19fc3RhdHMge1xuICBib3JkZXItY29sb3I6ICMzNmE5ZTE7IH1cbiAgLmRlbGl2ZXJpbmdfX2NhdXNlLS1ibHVlIC5kZWxpdmVyaW5nX19zdGF0cyAuaWNvbiB7XG4gICAgZmlsbDogIzM2YTllMTsgfVxuXG4uZGVsaXZlcmluZ19fY2F1c2UtLWJsdWUgLmRlbGl2ZXJpbmdfX2ltYWdlLWNvbnRhaW5lciB7XG4gIGJvcmRlci1jb2xvcjogIzM2YTllMTsgfVxuXG4uZGVsaXZlcmluZ19fY2F1c2UtLWJsdWUgLmRlbGl2ZXJpbmdfX3N0YXQtdmFsdWUge1xuICBjb2xvcjogIzM2YTllMTsgfVxuXG4uZGVsaXZlcmluZ19fY2F1c2UtLWdyZWVuIC5kZWxpdmVyaW5nX19zdGF0cyB7XG4gIGJvcmRlci1jb2xvcjogI2EyYzYxZTsgfVxuICAuZGVsaXZlcmluZ19fY2F1c2UtLWdyZWVuIC5kZWxpdmVyaW5nX19zdGF0cyAuaWNvbiB7XG4gICAgZmlsbDogI2EyYzYxZTsgfVxuXG4uZGVsaXZlcmluZ19fY2F1c2UtLWdyZWVuIC5kZWxpdmVyaW5nX19pbWFnZS1jb250YWluZXIge1xuICBib3JkZXItY29sb3I6ICNhMmM2MWU7IH1cblxuLmRlbGl2ZXJpbmdfX2NhdXNlLS1ncmVlbiAuZGVsaXZlcmluZ19fc3RhdC12YWx1ZSB7XG4gIGNvbG9yOiAjYTJjNjFlOyB9XG5cbi5kZWxpdmVyaW5nX19jYXVzZS0tb3JhbmdlIC5kZWxpdmVyaW5nX19zdGF0cyB7XG4gIGJvcmRlci1jb2xvcjogI2VmNzg1MDsgfVxuICAuZGVsaXZlcmluZ19fY2F1c2UtLW9yYW5nZSAuZGVsaXZlcmluZ19fc3RhdHMgLmljb24ge1xuICAgIGZpbGw6ICNlZjc4NTA7IH1cblxuLmRlbGl2ZXJpbmdfX2NhdXNlLS1vcmFuZ2UgLmRlbGl2ZXJpbmdfX2ltYWdlLWNvbnRhaW5lciB7XG4gIGJvcmRlci1jb2xvcjogI2VmNzg1MDsgfVxuXG4uZGVsaXZlcmluZ19fY2F1c2UtLW9yYW5nZSAuZGVsaXZlcmluZ19fc3RhdC12YWx1ZSB7XG4gIGNvbG9yOiAjZWY3ODUwOyB9XG5cbi5kZWxpdmVyaW5nX19jYXVzZS0tcGFsZS1ibHVlIC5kZWxpdmVyaW5nX19zdGF0cyB7XG4gIGJvcmRlci1jb2xvcjogIzdlYWVjMDsgfVxuICAuZGVsaXZlcmluZ19fY2F1c2UtLXBhbGUtYmx1ZSAuZGVsaXZlcmluZ19fc3RhdHMgLmljb24ge1xuICAgIGZpbGw6ICM3ZWFlYzA7IH1cblxuLmRlbGl2ZXJpbmdfX2NhdXNlLS1wYWxlLWJsdWUgLmRlbGl2ZXJpbmdfX2ltYWdlLWNvbnRhaW5lciB7XG4gIGJvcmRlci1jb2xvcjogIzdlYWVjMDsgfVxuXG4uZGVsaXZlcmluZ19fY2F1c2UtLXBhbGUtYmx1ZSAuZGVsaXZlcmluZ19fc3RhdC12YWx1ZSB7XG4gIGNvbG9yOiAjN2VhZWMwOyB9XG5cbi5kZWxpdmVyaW5nX19jYXVzZS0tcGFsZS1ncmVlbiAuZGVsaXZlcmluZ19fc3RhdHMge1xuICBib3JkZXItY29sb3I6ICNhMGQ1ZDI7IH1cbiAgLmRlbGl2ZXJpbmdfX2NhdXNlLS1wYWxlLWdyZWVuIC5kZWxpdmVyaW5nX19zdGF0cyAuaWNvbiB7XG4gICAgZmlsbDogI2EwZDVkMjsgfVxuXG4uZGVsaXZlcmluZ19fY2F1c2UtLXBhbGUtZ3JlZW4gLmRlbGl2ZXJpbmdfX2ltYWdlLWNvbnRhaW5lciB7XG4gIGJvcmRlci1jb2xvcjogI2EwZDVkMjsgfVxuXG4uZGVsaXZlcmluZ19fY2F1c2UtLXBhbGUtZ3JlZW4gLmRlbGl2ZXJpbmdfX3N0YXQtdmFsdWUge1xuICBjb2xvcjogI2EwZDVkMjsgfVxuXG4uZGVsaXZlcmluZ19fY2F1c2UtLXBpbmsgLmRlbGl2ZXJpbmdfX3N0YXRzIHtcbiAgYm9yZGVyLWNvbG9yOiAjZTYwNjY1OyB9XG4gIC5kZWxpdmVyaW5nX19jYXVzZS0tcGluayAuZGVsaXZlcmluZ19fc3RhdHMgLmljb24ge1xuICAgIGZpbGw6ICNlNjA2NjU7IH1cblxuLmRlbGl2ZXJpbmdfX2NhdXNlLS1waW5rIC5kZWxpdmVyaW5nX19pbWFnZS1jb250YWluZXIge1xuICBib3JkZXItY29sb3I6ICNlNjA2NjU7IH1cblxuLmRlbGl2ZXJpbmdfX2NhdXNlLS1waW5rIC5kZWxpdmVyaW5nX19zdGF0LXZhbHVlIHtcbiAgY29sb3I6ICNlNjA2NjU7IH1cblxuLmRlbGl2ZXJpbmdfX2NhdXNlLS1wdXJwbGUgLmRlbGl2ZXJpbmdfX3N0YXRzIHtcbiAgYm9yZGVyLWNvbG9yOiAjOGIwMDhiOyB9XG4gIC5kZWxpdmVyaW5nX19jYXVzZS0tcHVycGxlIC5kZWxpdmVyaW5nX19zdGF0cyAuaWNvbiB7XG4gICAgZmlsbDogIzhiMDA4YjsgfVxuXG4uZGVsaXZlcmluZ19fY2F1c2UtLXB1cnBsZSAuZGVsaXZlcmluZ19faW1hZ2UtY29udGFpbmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjOGIwMDhiOyB9XG5cbi5kZWxpdmVyaW5nX19jYXVzZS0tcHVycGxlIC5kZWxpdmVyaW5nX19zdGF0LXZhbHVlIHtcbiAgY29sb3I6ICM4YjAwOGI7IH1cblxuLmRlbGl2ZXJpbmdfX2NhdXNlLS1sYWJvdXItcmVkIC5kZWxpdmVyaW5nX19zdGF0cyB7XG4gIGJvcmRlci1jb2xvcjogI2U0MDAzYjsgfVxuICAuZGVsaXZlcmluZ19fY2F1c2UtLWxhYm91ci1yZWQgLmRlbGl2ZXJpbmdfX3N0YXRzIC5pY29uIHtcbiAgICBmaWxsOiAjZTQwMDNiOyB9XG5cbi5kZWxpdmVyaW5nX19jYXVzZS0tbGFib3VyLXJlZCAuZGVsaXZlcmluZ19faW1hZ2UtY29udGFpbmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjZTQwMDNiOyB9XG5cbi5kZWxpdmVyaW5nX19jYXVzZS0tbGFib3VyLXJlZCAuZGVsaXZlcmluZ19fc3RhdC12YWx1ZSB7XG4gIGNvbG9yOiAjZTQwMDNiOyB9XG5cbi5kZWxpdmVyaW5nX19zdGF0cyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZGVsaXZlcmluZ19fc3RhdHMge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMjAwcHg7IH0gfVxuICAuZGVsaXZlcmluZ19fc3RhdHMuZGVsaXZlcmluZ19fc3RhdHMtLW1vYmlsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmRlbGl2ZXJpbmdfX3N0YXRzLmRlbGl2ZXJpbmdfX3N0YXRzLS1tb2JpbGUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAuZGVsaXZlcmluZ19fc3RhdHMuZGVsaXZlcmluZ19fc3RhdHMtLW1vYmlsZSBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IGF1dG87IH1cblxuLmRlbGl2ZXJpbmdfX3N0YXQge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZzogMCA1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDMyJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5kZWxpdmVyaW5nX19zdGF0IHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgICAgLmRlbGl2ZXJpbmdfX3N0YXQ6bnRoLWNoaWxkKDJuICsgMSkgPiBzcGFuIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAgICAgLmRlbGl2ZXJpbmdfX3N0YXQ6bnRoLWNoaWxkKDJuICsgMSkgPiBzcGFuLmRlbGl2ZXJpbmdfX3N0YXQtdmFsdWUge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDsgfVxuICAgICAgLmRlbGl2ZXJpbmdfX3N0YXQ6bnRoLWNoaWxkKDJuICsgMikgPiBzcGFuIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgICAgIC5kZWxpdmVyaW5nX19zdGF0Om50aC1jaGlsZCgybiArIDIpID4gc3Bhbi5kZWxpdmVyaW5nX19zdGF0LXZhbHVlIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4OyB9IH1cblxuLmRlbGl2ZXJpbmdfX3N0YXQtaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwIDEwcHggMTBweCAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmRlbGl2ZXJpbmdfX3N0YXQtaWNvbiB7XG4gICAgICBtYXJnaW46IDA7IH0gfVxuICAuZGVsaXZlcmluZ19fc3RhdC1pY29uIGltZyB7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIHdpZHRoOiBhdXRvOyB9XG5cbi5kZWxpdmVyaW5nX19zdGF0LXZhbHVlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LWZhbWlseTogJ0xvdGEtQmxhY2snO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjFlbTtcbiAgbWF4LXdpZHRoOiA5MHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5kZWxpdmVyaW5nX19zdGF0LXZhbHVlIHtcbiAgICAgIG1hcmdpbi10b3A6IDhweDsgfSB9XG5cbi5kZWxpdmVyaW5nX19jb250ZW50IHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZGVsaXZlcmluZ19fY29udGVudCB7XG4gICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMjAwcHgpOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZGVsaXZlcmluZ19fY29udGVudCB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gNDAwcHgpOyB9IH1cbiAgLmRlbGl2ZXJpbmdfX2NvbnRlbnQgaDQge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LWZhbWlseTogJ0ludHJvJztcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBwYWRkaW5nOiAycHggN3B4IDA7IH1cbiAgLmRlbGl2ZXJpbmdfX2NvbnRlbnQgcCB7XG4gICAgZm9udC1mYW1pbHk6ICdMb3RhLVNlbWlCb2xkJztcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuM2VtOyB9XG5cbi5kZWxpdmVyaW5nX19pbWFnZSB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmRlbGl2ZXJpbmdfX2ltYWdlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB3aWR0aDogMjAwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5kZWxpdmVyaW5nX19pbWFnZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAyMDBweDsgfSB9XG5cbi5kZWxpdmVyaW5nX19pbWFnZS1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBib3JkZXI6IDRweCBzb2xpZCAjYTJjNjFlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAyNTBweDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZGVsaXZlcmluZ19faW1hZ2UtY29udGFpbmVyIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGhlaWdodDogMTgwcHg7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICB3aWR0aDogMTgwcHg7IH0gfVxuXG4uZW5kLW1vZHVsZSB7XG4gIGNsZWFyOiBib3RoO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgYmFja2dyb3VuZDogI2EwZDVkMjtcbiAgcGFkZGluZzogMzBweCAyMHB4O1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5lbmQtbW9kdWxlIHtcbiAgICAgIHBhZGRpbmc6IDMwcHggMjBweCAyNXB4OyB9IH1cblxuLmVuZC1tb2R1bGVfX2hlYWRlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIHBhZGRpbmc6IDVweCAxMHB4IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5lbmQtbW9kdWxlX19oZWFkZXIge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuZW5kLW1vZHVsZV9faGVhZGVyLCAuZW5kLW1vZHVsZV9faGVhZGVyOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5lbmQtbW9kdWxlX19oZWFkZXI6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmVuZC1tb2R1bGVfX2hlYWRlciB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZW5kLW1vZHVsZV9faGVhZGVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5lbmQtbW9kdWxlX19oZWFkZXIsIC5lbmQtbW9kdWxlX19oZWFkZXI6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBjbGVhcjogbm9uZTsgfVxuICAgICAgLmVuZC1tb2R1bGVfX2hlYWRlcjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZW5kLW1vZHVsZV9faGVhZGVyIHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZW5kLW1vZHVsZV9faGVhZGVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5lbmQtbW9kdWxlX19oZWFkZXIsIC5lbmQtbW9kdWxlX19oZWFkZXI6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBjbGVhcjogbm9uZTsgfVxuICAgICAgLmVuZC1tb2R1bGVfX2hlYWRlcjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgLmVuZC1tb2R1bGVfX2hlYWRlciBoMiB7XG4gICAgY29sb3I6ICNlNDAwM2I7XG4gICAgZm9udC1zaXplOiAyN3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjFlbTtcbiAgICBwYWRkaW5nOiA1cHggMCA3cHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmVuZC1tb2R1bGVfX2hlYWRlciBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzVweDsgfSB9XG5cbi5lbmQtbW9kdWxlX19jb250ZW50IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZW5kLW1vZHVsZV9fY29udGVudCB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmVuZC1tb2R1bGVfX2NvbnRlbnQge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmVuZC1tb2R1bGVfX2NvbnRlbnQsIC5lbmQtbW9kdWxlX19jb250ZW50Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAgIC5lbmQtbW9kdWxlX19jb250ZW50Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAgIC5lbmQtbW9kdWxlX19jb250ZW50Omxhc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZW5kLW1vZHVsZV9fY29udGVudCB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMjUlOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmVuZC1tb2R1bGVfX2NvbnRlbnQge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmVuZC1tb2R1bGVfX2NvbnRlbnQsIC5lbmQtbW9kdWxlX19jb250ZW50Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAgIC5lbmQtbW9kdWxlX19jb250ZW50Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAgIC5lbmQtbW9kdWxlX19jb250ZW50Omxhc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0OyB9IH1cbiAgLmVuZC1tb2R1bGVfX2NvbnRlbnQtLWRvbmF0ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzdlYWVjMDtcbiAgICBwYWRkaW5nOiAxMHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmVuZC1tb2R1bGVfX2NvbnRlbnQtLXNvY2lhbCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAlO1xuICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmVuZC1tb2R1bGVfX2NvbnRlbnQtLXNvY2lhbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZW5kLW1vZHVsZV9fY29udGVudC0tc29jaWFsLCAuZW5kLW1vZHVsZV9fY29udGVudC0tc29jaWFsOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAgIC5lbmQtbW9kdWxlX19jb250ZW50LS1zb2NpYWw6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgICAgLmVuZC1tb2R1bGVfX2NvbnRlbnQtLXNvY2lhbDpsYXN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgICAgICBmbG9hdDogbGVmdDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmVuZC1tb2R1bGVfX2NvbnRlbnQtLXNvY2lhbCB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmVuZC1tb2R1bGVfX2NvbnRlbnQtLXNvY2lhbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZW5kLW1vZHVsZV9fY29udGVudC0tc29jaWFsLCAuZW5kLW1vZHVsZV9fY29udGVudC0tc29jaWFsOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAgIC5lbmQtbW9kdWxlX19jb250ZW50LS1zb2NpYWw6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgICAgLmVuZC1tb2R1bGVfX2NvbnRlbnQtLXNvY2lhbDpsYXN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgICAgICBmbG9hdDogbGVmdDsgfSB9XG5cbi5lbmQtbW9kdWxlX19jb250ZW50X19pbm5lciB7XG4gIGNsZWFyOiBib3RoO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5lbmQtbW9kdWxlX19jb250ZW50LXRpdGxlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAuZW5kLW1vZHVsZV9fY29udGVudC10aXRsZSBzcGFuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLmVuZC1tb2R1bGVfX2J1dHRvbnMgLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiA1cHg7XG4gIHBhZGRpbmc6IDVweDtcbiAgd2lkdGg6IDQ1JTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5lbmQtbW9kdWxlX19idXR0b25zIC5idXR0b24ge1xuICAgICAgd2lkdGg6IDMwJTsgfSB9XG4gIC5lbmQtbW9kdWxlX19idXR0b25zIC5idXR0b24uZW5kLW1vZHVsZV9fYnV0dG9uLS1sYXJnZSB7XG4gICAgd2lkdGg6IDUwJTsgfVxuXG4uZW5kLW1vZHVsZV9fZm9ybSBpbnB1dCB7XG4gIGJhY2tncm91bmQ6ICNkZWVkZWM7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZWVkZWM7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmVuZC1tb2R1bGVfX2Zvcm0gLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6ICM3ZWFlYzA7XG4gIGJvcmRlcjogMDtcbiAgaGVpZ2h0OiAzMnB4O1xuICB3aWR0aDogMTAwJTsgfVxuICAuZW5kLW1vZHVsZV9fZm9ybSAuYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGNvbG9yOiAjN2VhZWMwOyB9XG5cbi5lbmQtbW9kdWxlX19mb3JtIC5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDEuM2VtO1xuICBtYXJnaW46IDEwcHggYXV0byAwO1xuICBtYXgtd2lkdGg6IDUwMHB4OyB9XG4gIC5lbmQtbW9kdWxlX19mb3JtIC5zbWFsbCBhIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuXG4uaWUgLmFjaGlldmVtZW50c19faXRlbSB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuaWUgLmFjaGlldmVtZW50c19faXRlbSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5pZSAuYWNoaWV2ZW1lbnRzX19pdGVtLCAuaWUgLmFjaGlldmVtZW50c19faXRlbTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuaWUgLmFjaGlldmVtZW50c19faXRlbTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgIC5pZSAuYWNoaWV2ZW1lbnRzX19pdGVtIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgIG1pbi1oZWlnaHQ6IDQwMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuaWUgLmFjaGlldmVtZW50c19faXRlbSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgIC5pZSAuYWNoaWV2ZW1lbnRzX19pdGVtLCAuaWUgLmFjaGlldmVtZW50c19faXRlbTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAuaWUgLmFjaGlldmVtZW50c19faXRlbTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuaWUgLmFjaGlldmVtZW50c19faXRlbSB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuaWUgLmFjaGlldmVtZW50c19faXRlbSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuaWUgLmFjaGlldmVtZW50c19faXRlbSwgLmllIC5hY2hpZXZlbWVudHNfX2l0ZW06bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBjbGVhcjogbm9uZTsgfVxuICAgICAgLmllIC5hY2hpZXZlbWVudHNfX2l0ZW06bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG5cbi5pZSAuY2FtcGFpZ25zX19pdGVtIHtcbiAgbWluLWhlaWdodDogMzYwcHg7IH1cblxuLmllOCAubG9nby0tZGVza3RvcCB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5pZTggLmxvZ28tLW1vYmlsZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmllOCAuaGVybyB7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwMHB4O1xuICBoZWlnaHQ6IDYwMHB4OyB9XG4gIC5pZTggLmhlcm8tLWdlbmVyaWMge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciB0b3A7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAwcHg7XG4gICAgaGVpZ2h0OiA2MDBweDsgfVxuXG4uaWU4IC5oZXJvX19jb250ZW50IHtcbiAgdG9wOiA1JTsgfVxuXG4uaWU4IC5oZXJvX19icmFuZGluZyB7XG4gIHdpZHRoOiA0NjVweDsgfVxuXG4uaWU4IC5hYm91dF9fbW9tZW50IHtcbiAgbWFyZ2luOiAwIGF1dG8gNjBweDsgfVxuICAuaWU4IC5hYm91dF9fbW9tZW50ID4gZGl2IHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAuaWU4IC5hYm91dF9fbW9tZW50ID4gZGl2LmFib3V0X19jb250ZW50IHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTBweDsgfVxuICAgIC5pZTggLmFib3V0X19tb21lbnQgPiBkaXYgLmFib3V0X19pbWFnZS1jb250YWluZXIge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpOyB9XG5cbi5pZTggLmFib3V0X19jb250ZW50IHtcbiAgd2lkdGg6IDQwMHB4OyB9XG5cbi5pZTggLmFib3V0X19pbWFnZSB7XG4gIHdpZHRoOiAyMDBweDsgfVxuXG4uaWU4IC5hYm91dF9faW1hZ2UtY29udGFpbmVyIHtcbiAgYm9yZGVyOiAxMHB4IHNvbGlkICNkZWVkZWM7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm94LXNoYWRvdzogMXB4IDFweCA3cHggMXB4ICM5MDkwOTA7XG4gIGhlaWdodDogMjAwcHg7XG4gIG1hcmdpbjogYXV0bztcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHRyYW5zZm9ybTogcm90YXRlKC01ZGVnKTtcbiAgd2lkdGg6IDE4MHB4OyB9XG5cbi5pZTggLmFjaGlldmVtZW50cyBoMiB7XG4gIGZvbnQtc2l6ZTogNDBweDsgfVxuXG4uaWU4IC5hY2hpZXZlbWVudHNfX2l0ZW1zIHtcbiAgbWFyZ2luLXRvcDogNzBweDsgfVxuXG4uaWU4IC5hY2hpZXZlbWVudHNfX2l0ZW0ge1xuICB3aWR0aDogMzMuMzMzMzMlO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuaWU4IC5hY2hpZXZlbWVudHNfX2l0ZW0ge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuaWU4IC5hY2hpZXZlbWVudHNfX2l0ZW0sIC5pZTggLmFjaGlldmVtZW50c19faXRlbTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuaWU4IC5hY2hpZXZlbWVudHNfX2l0ZW06bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5pZTggLmFjaGlldmVtZW50c19faXRlbS0tcGV0aXRpb24ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuICAuaWU4IC5hY2hpZXZlbWVudHNfX2l0ZW0tLXBldGl0aW9uLmFjaGlldmVtZW50c19faXRlbS0tcGV0aXRpb24tbW9iaWxlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5pZTggLmFjaGlldmVtZW50c19faXRlbS0tcGV0aXRpb24gLmFjaGlldmVtZW50c19faXRlbV9faW1hZ2Uge1xuICAgIGhlaWdodDogMjE1cHg7IH1cblxuLmllOCAuYWNoaWV2ZW1lbnRzX19pdGVtLWNvbnRlbnQgaDQge1xuICBmb250LXNpemU6IDI0cHg7IH1cblxuLmllOCAuYWNoaWV2ZW1lbnRzX19pdGVtLWNvbnRlbnQgcCB7XG4gIGZvbnQtc2l6ZTogMjBweDsgfVxuXG4uaWU4IC5hY2hpZXZlbWVudHNfX2l0ZW1fX2ltYWdlIHtcbiAgaGVpZ2h0OiAyNDBweDtcbiAgd2lkdGg6IDI0MHB4OyB9XG5cbi5pZTggLmFjdGlvbi1iYXJfX2RvbmF0ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDM1JTsgfVxuXG4uaWU4IC5hY3Rpb24tYmFyX19zaWdudXAge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDYyJTsgfVxuXG4uaWU4IC5hY3Rpb24tYmFyX19mb3JtIC5nZm9ybV9ib2R5IHtcbiAgd2lkdGg6IDYwMHB4OyB9XG5cbi5pZTggLmFjdGlvbi1iYXJfX2Zvcm0gLmdmaWVsZCBpbnB1dDpub3QoLmJ1dHRvbikge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAyNyU7IH1cbiAgLmllOCAuYWN0aW9uLWJhcl9fZm9ybSAuZ2ZpZWxkIGlucHV0Om5vdCguYnV0dG9uKS5sYXJnZSB7XG4gICAgd2lkdGg6IDQyJTsgfVxuXG4uaWU4IC5hY3Rpb24tYmFyX19mb3JtIC5nZmllbGQ6Zmlyc3Qtb2YtdHlwZSBpbnB1dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4uaWU4IC5hY3Rpb24tYmFyX19mb3JtIC5nZm9ybV9hamF4X3NwaW5uZXIge1xuICBmbG9hdDogbGVmdDtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4uaWU4IC5hY3Rpb24tYmFyX19mb3JtIC5nZm9ybV9mb290ZXIge1xuICBtYXJnaW4tdG9wOiAwO1xuICB3aWR0aDogMTQwcHg7IH1cblxuLmllOCAuYXJ0aWNsZV9faGVyby1pbWFnZSB7XG4gIG1hcmdpbjogMTQ1cHggMCAtMTY4cHg7XG4gIHBhZGRpbmc6IDAgMjRweDsgfVxuXG4uaWU4IC5hcnRpY2xlIHtcbiAgcGFkZGluZzogMCAwIDQwcHg7IH1cbiAgLmllOCAuYXJ0aWNsZSBwIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7IH1cbiAgLmllOCAuYXJ0aWNsZSBoMTpub3QoOmZpcnN0LWNoaWxkKTpiZWZvcmUsXG4gIC5pZTggLmFydGljbGUgaDI6bm90KDpmaXJzdC1jaGlsZCk6YmVmb3JlLFxuICAuaWU4IC5hcnRpY2xlIGgzOm5vdCg6Zmlyc3QtY2hpbGQpOmJlZm9yZSxcbiAgLmllOCAuYXJ0aWNsZSBoNDpub3QoOmZpcnN0LWNoaWxkKTpiZWZvcmUsXG4gIC5pZTggLmFydGljbGUgaDU6bm90KDpmaXJzdC1jaGlsZCk6YmVmb3JlLFxuICAuaWU4IC5hcnRpY2xlIGg2Om5vdCg6Zmlyc3QtY2hpbGQpOmJlZm9yZSB7XG4gICAgaGVpZ2h0OiAxMnB4OyB9XG4gIC5pZTggLmFydGljbGUgYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAyMHB4IDQwcHg7IH1cbiAgLmllOCAuYXJ0aWNsZSBvbCxcbiAgLmllOCAuYXJ0aWNsZSB1bCB7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4OyB9XG4gICAgLmllOCAuYXJ0aWNsZSBvbCBsaSxcbiAgICAuaWU4IC5hcnRpY2xlIHVsIGxpIHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDsgfVxuXG4uaWU4IC5zb2NpYWxfX2Jsb2NrIHtcbiAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBtYXJnaW46IDAgMjBweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5pZTggLnNvY2lhbF9fYmxvY2sge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuaWU4IC5zb2NpYWxfX2Jsb2NrLCAuaWU4IC5zb2NpYWxfX2Jsb2NrOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5pZTggLnNvY2lhbF9fYmxvY2s6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5pZTggLnNvY2lhbF9fYmxvY2s6bnRoLWNoaWxkKDEpOm50aC1sYXN0LWNoaWxkKDEpIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuaWU4IC5zb2NpYWxfX2Jsb2NrOm50aC1jaGlsZCgxKTpudGgtbGFzdC1jaGlsZCgyKSB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuaWU4IC5zb2NpYWxfX2Jsb2NrOm50aC1jaGlsZCgxKTpudGgtbGFzdC1jaGlsZCgzKSB7XG4gICAgd2lkdGg6IDMzLjMzMzMlOyB9XG4gIC5pZTggLnNvY2lhbF9fYmxvY2s6bnRoLWNoaWxkKDEpOm50aC1sYXN0LWNoaWxkKDQpIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5pZTggLnNvY2lhbF9fYmxvY2s6bnRoLWNoaWxkKDIpOm50aC1sYXN0LWNoaWxkKDEpIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5pZTggLnNvY2lhbF9fYmxvY2s6bnRoLWNoaWxkKDIpOm50aC1sYXN0LWNoaWxkKDIpIHtcbiAgICB3aWR0aDogMzMuMzMzMyU7IH1cbiAgLmllOCAuc29jaWFsX19ibG9jazpudGgtY2hpbGQoMik6bnRoLWxhc3QtY2hpbGQoMykge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmllOCAuc29jaWFsX19ibG9jazpudGgtY2hpbGQoMyk6bnRoLWxhc3QtY2hpbGQoMSkge1xuICAgIHdpZHRoOiAzMy4zMzMzJTsgfVxuICAuaWU4IC5zb2NpYWxfX2Jsb2NrOm50aC1jaGlsZCgzKTpudGgtbGFzdC1jaGlsZCgyKSB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuaWU4IC5zb2NpYWxfX2Jsb2NrOm50aC1jaGlsZCg0KTpudGgtbGFzdC1jaGlsZCgxKSB7XG4gICAgd2lkdGg6IDI1JTsgfVxuXG4uaWU4IC5zb2NpYWxfX3RpdGxlIHtcbiAgZm9udC1zaXplOiAzNXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmllOCAuc29jaWFsX19jb250ZW50IC5zb2NpYWxfX2ltYWdlIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMTBweDsgfVxuXG4uaWU4IC5jYW1wYWlnbnMgaDEge1xuICBmb250LXNpemU6IDU1cHg7IH1cblxuLmllOCAuY2FtcGFpZ25zX19mZWF0dXJlZCB7XG4gIG1hcmdpbi1sZWZ0OiA3JTtcbiAgd2lkdGg6IDg2JTsgfVxuICAuaWU4IC5jYW1wYWlnbnNfX2ZlYXR1cmVkICsgLnRhYmxlLWJvcmRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDclO1xuICAgIHdpZHRoOiA4NiU7IH1cblxuLmllOCAuY2FtcGFpZ25zX19mZWF0dXJlZC1jb250ZW50IHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgd2lkdGg6IDY1JTsgfVxuICAuaWU4IC5jYW1wYWlnbnNfX2ZlYXR1cmVkLWNvbnRlbnQgcCB7XG4gICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICBwYWRkaW5nOiAwIDIwcHg7IH1cblxuLmllOCAuY2FtcGFpZ25zX19mZWF0dXJlZC1pbWFnZSB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHdpZHRoOiAzNSU7IH1cblxuLmllOCAuY2FtcGFpZ25zX19pdGVtcyB7XG4gIG1hcmdpbjogNzBweCAwIDQwcHg7IH1cblxuLmllOCAuY2FtcGFpZ25zX19pdGVtIHtcbiAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmllOCAuY2FtcGFpZ25zX19pdGVtIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLmllOCAuY2FtcGFpZ25zX19pdGVtLCAuaWU4IC5jYW1wYWlnbnNfX2l0ZW06bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLmllOCAuY2FtcGFpZ25zX19pdGVtOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuXG4uaWU4IC5jYW1wYWlnbnNfX2l0ZW0tY29udGVudCB7XG4gIG1hcmdpbjogYXV0bztcbiAgbWF4LXdpZHRoOiAyNTBweDsgfVxuXG4uaWU4IC5jYW1wYWlnbnNfX2l0ZW1fX2ltYWdlIHtcbiAgaGVpZ2h0OiAyNDBweDtcbiAgd2lkdGg6IDI0MHB4OyB9XG5cbi5pZTggLmhlYWRlcl9fYnVyZ2VyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uaWU4IC5uYXZfX2NvbnRhaW5lciB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDU2cHg7XG4gIGxlZnQ6IGF1dG87XG4gIHBhZGRpbmc6IDEwcHggMDtcbiAgcmlnaHQ6IDk1cHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICB0b3A6IDA7XG4gIHRyYW5zaXRpb246IG5vbmU7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5pZTggLm5hdl9fbWVudSB7XG4gIHRvcDogOXB4OyB9XG4gIC5pZTggLm5hdl9fbWVudSBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDI1cHg7IH1cbiAgICAuaWU4IC5uYXZfX21lbnUgbGk6bGFzdC1vZi10eXBlIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDQ1cHg7IH1cbiAgICAuaWU4IC5uYXZfX21lbnUgbGkgYTphZnRlciB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IGF1dG87IH1cblxuLmllOCAubGFib3VyLWxvZ28ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMTBweDtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuXG4uaWU4IC5oZWFkZXItYWN0aW9ucyBsaSAuYnV0dG9uIHtcbiAgZm9udC1zaXplOiAxNHB4OyB9XG5cbi5pZTggLmhpZGUtbW9iaWxlIHtcbiAgZGlzcGxheTogaW5saW5lOyB9XG5cbi5pZTggLmhpZGUtbWVkaXVtIHtcbiAgZGlzcGxheTogaW5saW5lOyB9XG5cbi5pZTggLmhpZGUtdGFibGV0IHtcbiAgZGlzcGxheTogaW5saW5lOyB9XG5cbi5pZTggLnNob3ctbW9iaWxlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uaWU4IC5lbmQtbW9kdWxlIHtcbiAgcGFkZGluZzogMzBweCAyMHB4IDI1cHg7IH1cblxuLmllOCAuZW5kLW1vZHVsZV9faGVhZGVyIHtcbiAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmllOCAuZW5kLW1vZHVsZV9faGVhZGVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLmllOCAuZW5kLW1vZHVsZV9faGVhZGVyLCAuaWU4IC5lbmQtbW9kdWxlX19oZWFkZXI6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLmllOCAuZW5kLW1vZHVsZV9faGVhZGVyOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAuaWU4IC5lbmQtbW9kdWxlX19oZWFkZXIgaDIge1xuICAgIGZvbnQtc2l6ZTogMzVweDsgfVxuXG4uaWU4IC5lbmQtbW9kdWxlX19jb250ZW50IHtcbiAgd2lkdGg6IDUwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogMjUlO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmllOCAuZW5kLW1vZHVsZV9fY29udGVudCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5pZTggLmVuZC1tb2R1bGVfX2NvbnRlbnQsIC5pZTggLmVuZC1tb2R1bGVfX2NvbnRlbnQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLmllOCAuZW5kLW1vZHVsZV9fY29udGVudDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLmllOCAuZW5kLW1vZHVsZV9fY29udGVudDpsYXN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5pZTggLmVuZC1tb2R1bGVfX2NvbnRlbnQtLXNvY2lhbCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5pZTggLmVuZC1tb2R1bGVfX2NvbnRlbnQtLXNvY2lhbCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5pZTggLmVuZC1tb2R1bGVfX2NvbnRlbnQtLXNvY2lhbCwgLmllOCAuZW5kLW1vZHVsZV9fY29udGVudC0tc29jaWFsOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5pZTggLmVuZC1tb2R1bGVfX2NvbnRlbnQtLXNvY2lhbDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgIC5pZTggLmVuZC1tb2R1bGVfX2NvbnRlbnQtLXNvY2lhbDpsYXN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cblxuLmllOCAuZW5kLW1vZHVsZV9fYnV0dG9ucyAuYnV0dG9uIHtcbiAgd2lkdGg6IDMwJTsgfVxuXG4uaWU4IC5kZWxpdmVyaW5nX19jYXVzZSB7XG4gIG1hcmdpbjogMCBhdXRvIDYwcHg7IH1cbiAgLmllOCAuZGVsaXZlcmluZ19fY2F1c2UgPiBkaXYge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLmllOCAuZGVsaXZlcmluZ19fY2F1c2UgPiBkaXYuZGVsaXZlcmluZ19fc3RhdHMge1xuICAgICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDRweDsgfVxuXG4uaWU4IC5kZWxpdmVyaW5nX19zdGF0cyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMjAwcHg7IH1cbiAgLmllOCAuZGVsaXZlcmluZ19fc3RhdHMuZGVsaXZlcmluZ19fc3RhdHMtLW1vYmlsZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uaWU4IC5kZWxpdmVyaW5nX19zdGF0IHtcbiAgY2xlYXI6IGJvdGg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZsb2F0OiBub25lO1xuICBwYWRkaW5nOiA1cHggMTBweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgd2lkdGg6IGF1dG87IH1cbiAgLmllOCAuZGVsaXZlcmluZ19fc3RhdCA+IHNwYW4ge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLmllOCAuZGVsaXZlcmluZ19fc3RhdCA+IHNwYW4uZGVsaXZlcmluZ19fc3RhdC12YWx1ZSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7IH1cblxuLmllOCAuZGVsaXZlcmluZ19fc3RhdC1pY29uIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5pZTggLmRlbGl2ZXJpbmdfX3N0YXQtdmFsdWUge1xuICBtYXJnaW4tdG9wOiA4cHg7IH1cblxuLmllOCAuZGVsaXZlcmluZ19fY29udGVudCB7XG4gIHBhZGRpbmc6IDAgMTBweDtcbiAgd2lkdGg6IDQwMHB4OyB9XG5cbi5pZTggLmRlbGl2ZXJpbmdfX2ltYWdlIHtcbiAgd2lkdGg6IDIwMHB4OyB9XG5cbi5pZTggLmRlbGl2ZXJpbmdfX2ltYWdlLWNvbnRhaW5lciB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgaGVpZ2h0OiAxODBweDtcbiAgbWFyZ2luOiBhdXRvO1xuICB3aWR0aDogMTgwcHg7IH1cblxuLmllOCAuZm9vdGVyIHtcbiAgYm90dG9tOiAwO1xuICBoZWlnaHQ6IDI0MHB4O1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nOiAyMHB4IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuXG4uaWU4IC5mb290ZXJfX2JyYW5kaW5nIHtcbiAgd2lkdGg6IDQxLjY2NjY3JTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLXRvcDogMjVweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5pZTggLmZvb3Rlcl9fYnJhbmRpbmcge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuaWU4IC5mb290ZXJfX2JyYW5kaW5nLCAuaWU4IC5mb290ZXJfX2JyYW5kaW5nOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5pZTggLmZvb3Rlcl9fYnJhbmRpbmc6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5pZTggLmZvb3Rlcl9fYnJhbmRpbmcgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5pZTggLmZvb3Rlcl9fYnJhbmRpbmcgaW1nLnNhZGlxLWxvZ28ge1xuICAgICAgbWFyZ2luOiAwIDAgMjBweDsgfVxuICAgIC5pZTggLmZvb3Rlcl9fYnJhbmRpbmcgaW1nLmxhYm91ciB7XG4gICAgICBtYXJnaW46IDA7IH1cblxuLmllOCAuZm9vdGVyX19pbWFnZSB7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmllOCAuZm9vdGVyX19tZW51cyB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5pZTggLmZvb3Rlcl9fbWVudXMge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuaWU4IC5mb290ZXJfX21lbnVzLCAuaWU4IC5mb290ZXJfX21lbnVzOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5pZTggLmZvb3Rlcl9fbWVudXM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5pZTggLmZvb3Rlcl9fY29udGVudCB7XG4gIGZsb2F0OiByaWdodDtcbiAgcGFkZGluZzogMCAxMHB4OyB9XG5cbi5pZTggLmZvb3Rlcl9fc29jaWFsIHtcbiAgd2lkdGg6IDI1JTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLXRvcDogMjVweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5pZTggLmZvb3Rlcl9fc29jaWFsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLmllOCAuZm9vdGVyX19zb2NpYWwsIC5pZTggLmZvb3Rlcl9fc29jaWFsOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5pZTggLmZvb3Rlcl9fc29jaWFsOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuXG4uaWU4IGJvZHk6YWZ0ZXIge1xuICBjb250ZW50OiAnYnAtbCc7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmllOCAud3JhcHBlciB7XG4gIHBhZGRpbmctYm90dG9tOiAyNDBweDsgfVxuXG4uaWU4IC5wYWdlLWNvbnRlbnQge1xuICB3aWR0aDogODMuMzMzMzMlO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5pZTggLnBhZ2UtY29udGVudCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5pZTggLnBhZ2UtY29udGVudCwgLmllOCAucGFnZS1jb250ZW50Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5pZTggLnBhZ2UtY29udGVudDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLmllOCAucGFnZS1jb250ZW50LS10aGlubmVyIHtcbiAgICB3aWR0aDogNjYuNjY2NjclO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuaWU4IC5wYWdlLWNvbnRlbnQtLXRoaW5uZXIge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAuaWU4IC5wYWdlLWNvbnRlbnQtLXRoaW5uZXIsIC5pZTggLnBhZ2UtY29udGVudC0tdGhpbm5lcjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAuaWU4IC5wYWdlLWNvbnRlbnQtLXRoaW5uZXI6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLmllOCAucGFnZS1jb250ZW50LS1oYXMtYmcge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9yaXZlci5zdmdcIikgbm8tcmVwZWF0IGNlbnRlciBib3R0b207XG4gICAgYmFja2dyb3VuZC1zaXplOiA0NCU7IH1cblxuLmllOCAucGFnZS1jb250ZW50X19oZWFkZXIge1xuICBtYXJnaW46IDQwcHggYXV0byA2MHB4OyB9XG4gIC5pZTggLnBhZ2UtY29udGVudF9faGVhZGVyIGgxIHtcbiAgICBmb250LXNpemU6IDU2cHg7IH1cbiAgLmllOCAucGFnZS1jb250ZW50X19oZWFkZXItLWhhcy1ib3JkZXI6YWZ0ZXIge1xuICAgIGhlaWdodDogMTJweDsgfVxuICAuaWU4IC5wYWdlLWNvbnRlbnRfX2hlYWRlciAuYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwIDVweDsgfVxuXG4uaWU4IC5wYWdlLWNvbnRlbnRfX2hlYWRlci10ZXh0IHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBtYXJnaW4tdG9wOiA0MHB4OyB9XG5cbi5pZTggLnBhZ2UtY29udGVudF9faGVhZGVyLXF1b3RlIHtcbiAgZm9udC1zaXplOiAyMnB4OyB9XG5cbi5pZTggLnBhZ2UtNDA0IHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAxNTBweCAwIDUwcHg7IH1cblxuLmllOCAucGFnZS00MDRfX2NvbnRlbnQge1xuICBtYXgtd2lkdGg6IDYwMHB4O1xuICBwYWRkaW5nLXRvcDogNTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgLmllOCAucGFnZS00MDRfX2NvbnRlbnQgaDEge1xuICAgIGZvbnQtc2l6ZTogNjBweDsgfVxuXG4uaWU4IC5wYWdlLTQwNF9fbWVzc2FnZSB7XG4gIGZvbnQtc2l6ZTogNDBweDtcbiAgbWFyZ2luOiAyMHB4IGF1dG87XG4gIG1heC13aWR0aDogNTAwcHg7IH1cbiAgLmllOCAucGFnZS00MDRfX21lc3NhZ2U6YmVmb3JlLCAuaWU4IC5wYWdlLTQwNF9fbWVzc2FnZTphZnRlciB7XG4gICAgaGVpZ2h0OiAxMnB4OyB9XG5cbi5pZTggLnBvbGx1dGlvbi1tYXAgLnBvaW50OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uaWU4IC5wb2xsdXRpb24tbWFwX19iZy0tZGVza3RvcCB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5pZTggLnBvbGx1dGlvbi1tYXBfX2JnLS1tb2JpbGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5pZTggLnBvbGx1dGlvbi1tYXBfX2NhdGVnb3JpZXMge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB3aWR0aDogYXV0bzsgfVxuXG4uaWU4IC5wb2xsdXRpb24tbWFwX19jYXQge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luOiAwIDMwcHggMCAwOyB9XG5cbi5pZTggLnBvbGx1dGlvbi1tYXBfX2NhdF9faWNvbiB7XG4gIGhlaWdodDogMTIwcHg7XG4gIHdpZHRoOiAxMjBweDsgfVxuXG4uaWU4IC5wb2xsdXRpb24tbWFwX19jYXRfX3RpdGxlIHtcbiAgZm9udC1zaXplOiAxNnB4OyB9XG5cbi5pZTggLnBvbGx1dGlvbi1tYXBfX2ZpbHRlciB7XG4gIG1hcmdpbjogNzBweCAyMHB4IDAgMzBweDtcbiAgd2lkdGg6IGF1dG87IH1cblxuLmllOCAucG9sbHV0aW9uLXNlYXJjaCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmllOCAubWFwLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmllOCAuaWUtb3ZlcmxheSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTA7IH1cbiAgLmllOCAuaWUtb3ZlcmxheSBwIHtcbiAgICBmb250LXNpemU6IDEuM2VtO1xuICAgIGxlZnQ6IDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuM2VtO1xuICAgIHBhZGRpbmc6IDAgMjVweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRvcDogMzAlO1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbi5pZTggLmllLW92ZXJsYXlfX2JnIHtcbiAgLW1zLWZpbHRlcjogJ3Byb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTUwKSc7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5mb290ZXIge1xuICBiYWNrZ3JvdW5kOiAjZTQwMDNiO1xuICBjb2xvcjogI2ZhY2NkODtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMS4xZW07XG4gIHBhZGRpbmc6IDIwcHggMDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZm9vdGVyIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGhlaWdodDogMjQwcHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcGFkZGluZzogMTBweCAwIDI1cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5mb290ZXIge1xuICAgICAgcGFkZGluZzogMjBweCAwOyB9IH1cbiAgLmZvb3RlciBhIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLmZvb3RlciAuY29udGFpbmVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG5cbi5mb290ZXJfX2JyYW5kaW5nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mb290ZXJfX2JyYW5kaW5nIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLmZvb3Rlcl9fYnJhbmRpbmcsIC5mb290ZXJfX2JyYW5kaW5nOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5mb290ZXJfX2JyYW5kaW5nOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgLmZvb3Rlcl9fYnJhbmRpbmcge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgcGFkZGluZy10b3A6IDI1cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mb290ZXJfX2JyYW5kaW5nIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgLmZvb3Rlcl9fYnJhbmRpbmcsIC5mb290ZXJfX2JyYW5kaW5nOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAgIC5mb290ZXJfX2JyYW5kaW5nOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mb290ZXJfX2JyYW5kaW5nIHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mb290ZXJfX2JyYW5kaW5nIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5mb290ZXJfX2JyYW5kaW5nLCAuZm9vdGVyX19icmFuZGluZzpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAuZm9vdGVyX19icmFuZGluZzpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZm9vdGVyX19icmFuZGluZyB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZm9vdGVyX19icmFuZGluZyB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZm9vdGVyX19icmFuZGluZywgLmZvb3Rlcl9fYnJhbmRpbmc6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBjbGVhcjogbm9uZTsgfVxuICAgICAgLmZvb3Rlcl9fYnJhbmRpbmc6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG5cbi5mb290ZXJfX2ltYWdlIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbjogMTBweCAwO1xuICB3aWR0aDogNTAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAuZm9vdGVyX19pbWFnZSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5mb290ZXJfX2ltYWdlIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuZm9vdGVyX19pbWFnZSBpbWcuc2FkaXEtbG9nbyB7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICB3aWR0aDogMTQwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgICAgLmZvb3Rlcl9faW1hZ2UgaW1nLnNhZGlxLWxvZ28ge1xuICAgICAgICAgIG1hcmdpbjogMCAwIDIwcHg7IH0gfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmZvb3Rlcl9faW1hZ2UgaW1nLnNhZGlxLWxvZ28ge1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDIwcHg7IH0gfVxuICAgIC5mb290ZXJfX2ltYWdlIGltZy5sYWJvdXIge1xuICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgbWFyZ2luOiA0MHB4IGF1dG87XG4gICAgICB3aWR0aDogMTIwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgICAgLmZvb3Rlcl9faW1hZ2UgaW1nLmxhYm91ciB7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMjBweDsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuZm9vdGVyX19pbWFnZSBpbWcubGFib3VyIHtcbiAgICAgICAgICBtYXJnaW46IDAgYXV0byAyMHB4OyB9IH1cblxuLmZvb3Rlcl9fbWVudXMge1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLXRvcDogMjVweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mb290ZXJfX21lbnVzIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLmZvb3Rlcl9fbWVudXMsIC5mb290ZXJfX21lbnVzOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5mb290ZXJfX21lbnVzOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgLmZvb3Rlcl9fbWVudXMge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZm9vdGVyX19tZW51cyB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgIC5mb290ZXJfX21lbnVzLCAuZm9vdGVyX19tZW51czpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAuZm9vdGVyX19tZW51czpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZm9vdGVyX19tZW51cyB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZm9vdGVyX19tZW51cyB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZm9vdGVyX19tZW51cywgLmZvb3Rlcl9fbWVudXM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBjbGVhcjogbm9uZTsgfVxuICAgICAgLmZvb3Rlcl9fbWVudXM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmZvb3Rlcl9fbWVudXMge1xuICAgICAgd2lkdGg6IDI1JTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZvb3Rlcl9fbWVudXMge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmZvb3Rlcl9fbWVudXMsIC5mb290ZXJfX21lbnVzOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAgIC5mb290ZXJfX21lbnVzOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICAuZm9vdGVyX19tZW51cyBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4uZm9vdGVyX19jb250ZW50IHtcbiAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmZvb3Rlcl9fY29udGVudDpmaXJzdC1vZi10eXBlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZvb3Rlcl9fY29udGVudCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBwYWRkaW5nOiAwIDEwcHg7IH0gfVxuICAuZm9vdGVyX19jb250ZW50IGg0IHtcbiAgICBmb250LWZhbWlseTogJ0xvdGEtQm9sZCc7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG5cbi5mb290ZXJfX21lbnUgbGkge1xuICBsaW5lLWhlaWdodDogMS4xZW07XG4gIG1hcmdpbjogMTBweCAwOyB9XG5cbi5mb290ZXJfX3NvY2lhbCB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIHBhZGRpbmctdG9wOiAxNXB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZvb3Rlcl9fc29jaWFsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLmZvb3Rlcl9fc29jaWFsLCAuZm9vdGVyX19zb2NpYWw6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLmZvb3Rlcl9fc29jaWFsOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mb290ZXJfX3NvY2lhbCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgICBwYWRkaW5nLXRvcDogMjVweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mb290ZXJfX3NvY2lhbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZm9vdGVyX19zb2NpYWwsIC5mb290ZXJfX3NvY2lhbDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAuZm9vdGVyX19zb2NpYWw6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmZvb3Rlcl9fc29jaWFsIHtcbiAgICAgIHdpZHRoOiAyNSU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mb290ZXJfX3NvY2lhbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZm9vdGVyX19zb2NpYWwsIC5mb290ZXJfX3NvY2lhbDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAuZm9vdGVyX19zb2NpYWw6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gIC5mb290ZXJfX3NvY2lhbCBwIHtcbiAgICBsaW5lLWhlaWdodDogMS41ZW07IH1cbiAgICAuZm9vdGVyX19zb2NpYWwgcDpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uZm9vdGVyX19zb2NpYWwtaWNvbiB7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDE4cHg7XG4gIG1hcmdpbi1yaWdodDogMTBweDsgfVxuICAuZm9vdGVyX19zb2NpYWwtaWNvbjpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuXG5pbnB1dFt0eXBlPSd0ZXh0J106bm90KC5idXR0b24pLCBpbnB1dFt0eXBlPSdlbWFpbCddOm5vdCguYnV0dG9uKSwgaW5wdXRbdHlwZT0nbnVtYmVyJ106bm90KC5idXR0b24pLCBpbnB1dFt0eXBlPSdwaG9uZSddOm5vdCguYnV0dG9uKSB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LWZhbWlseTogJ0xvdGEtUmVndWxhcicsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgcGFkZGluZzogNnB4IDEwcHg7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAyMDBtcyBlYXNlOyB9XG4gIGlucHV0W3R5cGU9J3RleHQnXTpub3QoLmJ1dHRvbik6Zm9jdXMsIGlucHV0W3R5cGU9J2VtYWlsJ106bm90KC5idXR0b24pOmZvY3VzLCBpbnB1dFt0eXBlPSdudW1iZXInXTpub3QoLmJ1dHRvbik6Zm9jdXMsIGlucHV0W3R5cGU9J3Bob25lJ106bm90KC5idXR0b24pOmZvY3VzIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjNGE5MGUyOyB9XG5cbmlucHV0W3R5cGU9J3RleHQnXS5pbnB1dC1lcnJvciwgaW5wdXRbdHlwZT0nZW1haWwnXS5pbnB1dC1lcnJvciwgaW5wdXRbdHlwZT0nbnVtYmVyJ10uaW5wdXQtZXJyb3IsIGlucHV0W3R5cGU9J3Bob25lJ10uaW5wdXQtZXJyb3Ige1xuICBib3JkZXI6IDJweCBzb2xpZCAjZTQwMDNiOyB9XG5cbnRleHRhcmVhIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiAnTG90YS1SZWd1bGFyJywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBwYWRkaW5nOiA2cHggMTBweDtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDIwMG1zIGVhc2U7IH1cbiAgdGV4dGFyZWE6Zm9jdXMge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICM0YTkwZTI7IH1cbiAgdGV4dGFyZWEuaW5wdXQtZXJyb3Ige1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNlNDAwM2I7IH1cblxuLmVycm9yLXN0YXR1cyB7XG4gIGZvbnQtc2l6ZTogLjllbTtcbiAgbWFyZ2luLXRvcDogNXB4OyB9XG5cbi5nZm9ybV9oZWFkaW5nLFxuLmdmaWVsZF9sYWJlbCxcbi5oaWRkZW5fc3ViX2xhYmVsLFxuLnZhbGlkYXRpb25fZXJyb3Ige1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5nZmllbGRfZXJyb3IgaW5wdXRbdHlwZT0ndGV4dCddOm5vdCguYnV0dG9uKSwgLmdmaWVsZF9lcnJvciBpbnB1dFt0eXBlPSdlbWFpbCddOm5vdCguYnV0dG9uKSwgLmdmaWVsZF9lcnJvciBpbnB1dFt0eXBlPSdudW1iZXInXTpub3QoLmJ1dHRvbiksIC5nZmllbGRfZXJyb3IgaW5wdXRbdHlwZT0ncGhvbmUnXTpub3QoLmJ1dHRvbikge1xuICBib3JkZXI6IDJweCBzb2xpZCAjZTQwMDNiOyB9XG5cbi5nZmllbGRfZXJyb3IgdGV4dGFyZWEge1xuICBib3JkZXI6IDJweCBzb2xpZCAjZTQwMDNiICFpbXBvcnRhbnQ7IH1cblxuLmdmb3JtX2NvbmZpcm1hdGlvbl93cmFwcGVyIHtcbiAgY29sb3I6ICNmZmY7IH1cblxuLnBhZ2UtY29udGVudC0tZm9ybSB7XG4gIHBhZGRpbmctYm90dG9tOiAzMHB4OyB9XG4gIC5wYWdlLWNvbnRlbnQtLWZvcm0gLmdmb3JtX3dyYXBwZXIge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogNjcwcHg7XG4gICAgcGFkZGluZzogMTVweCAxNXB4IDMwcHg7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAucGFnZS1jb250ZW50LS1mb3JtIC5nZm9ybV93cmFwcGVyIGlucHV0LFxuICAgIC5wYWdlLWNvbnRlbnQtLWZvcm0gLmdmb3JtX3dyYXBwZXIgdGV4dGFyZWEge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW46IDVweCAwO1xuICAgICAgcGFkZGluZzogMTBweCAxNXB4O1xuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDIwMG1zIGVhc2U7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLnBhZ2UtY29udGVudC0tZm9ybSAuZ2Zvcm1fd3JhcHBlciBpbnB1dDpmb2N1cyxcbiAgICAgIC5wYWdlLWNvbnRlbnQtLWZvcm0gLmdmb3JtX3dyYXBwZXIgdGV4dGFyZWE6Zm9jdXMge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNGE5MGUyOyB9XG4gICAgLnBhZ2UtY29udGVudC0tZm9ybSAuZ2Zvcm1fd3JhcHBlciB0ZXh0YXJlYSB7XG4gICAgICBoZWlnaHQ6IDE1MHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMHB4O1xuICAgICAgcmVzaXplOiB2ZXJ0aWNhbDsgfVxuICAgIC5wYWdlLWNvbnRlbnQtLWZvcm0gLmdmb3JtX3dyYXBwZXIgbGFiZWwge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgLnBhZ2UtY29udGVudC0tZm9ybSAuZ2Zvcm1fd3JhcHBlciAuYnV0dG9uIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgZm9udC1mYW1pbHk6ICdMb3RhLUJsYWNrJzsgfVxuICAucGFnZS1jb250ZW50LS1mb3JtIC5nZm9ybV90aXRsZSB7XG4gICAgcGFkZGluZzogNy41cHggMDsgfVxuICAucGFnZS1jb250ZW50LS1mb3JtIC5nZm9ybV9kZXNjcmlwdGlvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDcuNXB4IDA7IH1cbiAgLnBhZ2UtY29udGVudC0tZm9ybSAuZ2ZpZWxkIHtcbiAgICBwYWRkaW5nOiAxMHB4IDA7IH1cbiAgLnBhZ2UtY29udGVudC0tZm9ybSAuZ2ZpZWxkX2xhYmVsIHtcbiAgICBmb250LWZhbWlseTogJ0xvdGEtU2VtaUJvbGQnOyB9XG4gIC5wYWdlLWNvbnRlbnQtLWZvcm0gLmdmaWVsZF9kZXNjcmlwdGlvbiB7XG4gICAgZm9udC1zaXplOiAxNHB4OyB9XG4gIC5wYWdlLWNvbnRlbnQtLWZvcm0gLnZhbGlkYXRpb25fbWVzc2FnZSB7XG4gICAgY29sb3I6ICNlNDAwM2I7IH1cbiAgLnBhZ2UtY29udGVudC0tZm9ybSAuZ2lucHV0X2NvbnRhaW5lcl9zZWxlY3QsXG4gIC5wYWdlLWNvbnRlbnQtLWZvcm0gLmdpbnB1dF9jb250YWluZXJfbXVsdGlzZWxlY3Qge1xuICAgIHBhZGRpbmc6IDVweCAwOyB9XG4gIC5wYWdlLWNvbnRlbnQtLWZvcm0gLmdmaWVsZF9jaGVja2JveCxcbiAgLnBhZ2UtY29udGVudC0tZm9ybSAuZ2ZpZWxkX3JhZGlvIHtcbiAgICBwYWRkaW5nOiA1cHggMDsgfVxuICAgIC5wYWdlLWNvbnRlbnQtLWZvcm0gLmdmaWVsZF9jaGVja2JveCBsaSxcbiAgICAucGFnZS1jb250ZW50LS1mb3JtIC5nZmllbGRfcmFkaW8gbGkge1xuICAgICAgcGFkZGluZzogNXB4IDA7IH1cbiAgICAucGFnZS1jb250ZW50LS1mb3JtIC5nZmllbGRfY2hlY2tib3ggbGFiZWwsXG4gICAgLnBhZ2UtY29udGVudC0tZm9ybSAuZ2ZpZWxkX3JhZGlvIGxhYmVsIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIHdpZHRoOiA5NSU7IH1cbiAgICAucGFnZS1jb250ZW50LS1mb3JtIC5nZmllbGRfY2hlY2tib3ggaW5wdXQsXG4gICAgLnBhZ2UtY29udGVudC0tZm9ybSAuZ2ZpZWxkX3JhZGlvIGlucHV0IHtcbiAgICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICAgIHBhZGRpbmc6IDcuNXB4IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgLnBhZ2UtY29udGVudC0tZm9ybSAuZ2ZpZWxkX3JhZGlvIGlucHV0W3R5cGU9dGV4dF0ge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBtYXJnaW46IDAgMCAwIDVweDtcbiAgICBwYWRkaW5nOiA3cHg7IH1cbiAgLnBhZ2UtY29udGVudC0tZm9ybSAuZ2Zvcm1faGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5wYWdlLWNvbnRlbnQtLWZvcm0gLmdpbnB1dF9jb21wbGV4ID4gc3BhbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogLTVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICAgIHBhZGRpbmctdG9wOiA1cHg7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB3aWR0aDogNTAlOyB9XG4gICAgLnBhZ2UtY29udGVudC0tZm9ybSAuZ2lucHV0X2NvbXBsZXggPiBzcGFuOm50aC1jaGlsZChvZGQpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTVweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7IH1cbiAgICAucGFnZS1jb250ZW50LS1mb3JtIC5naW5wdXRfY29tcGxleCA+IHNwYW46bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTBweDsgfVxuICAucGFnZS1jb250ZW50LS1mb3JtIC5uYW1lX3ByZWZpeF9zZWxlY3Qge1xuICAgIG1hcmdpbjogNXB4IDA7IH1cbiAgLnBhZ2UtY29udGVudC0tZm9ybSAuZ2lucHV0X2NvbnRhaW5lcl9kYXRlIC5naW5wdXRfY29udGFpbmVyX2RhdGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAucGFnZS1jb250ZW50LS1mb3JtIC5naW5wdXRfY29udGFpbmVyX3RpbWUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5wYWdlLWNvbnRlbnQtLWZvcm0gLmdmaWVsZF90aW1lX2hvdXIgaSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAucGFnZS1jb250ZW50LS1mb3JtIC5nZmllbGRfdGltZV9hbXBtIHtcbiAgICBtYXJnaW46IDVweCAwOyB9XG4gIC5wYWdlLWNvbnRlbnQtLWZvcm0gLmFkZHJlc3NfY291bnRyeSB7XG4gICAgbWFyZ2luOiA1cHggMDsgfVxuICAucGFnZS1jb250ZW50LS1mb3JtIC5naW5wdXRfY2FyZF9leHBpcmF0aW9uX2NvbnRhaW5lciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMTRweCAwOyB9XG4gICAgLnBhZ2UtY29udGVudC0tZm9ybSAuZ2lucHV0X2NhcmRfZXhwaXJhdGlvbl9jb250YWluZXIgbGFiZWwge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnBhZ2UtY29udGVudC0tZm9ybSAuc2VsZWN0cmljLWdpbnB1dF9jYXJkX2V4cGlyYXRpb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IC01cHg7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAucGFnZS1jb250ZW50LS1mb3JtIC5zZWxlY3RyaWMtZ2lucHV0X2NhcmRfZXhwaXJhdGlvbl9tb250aCB7XG4gICAgcGFkZGluZy1yaWdodDogN3B4OyB9XG4gIC5wYWdlLWNvbnRlbnQtLWZvcm0gLnNlbGVjdHJpYy1naW5wdXRfY2FyZF9leHBpcmF0aW9uX3llYXIge1xuICAgIHBhZGRpbmctbGVmdDogN3B4OyB9XG4gIC5wYWdlLWNvbnRlbnQtLWZvcm0gLmdmaWVsZF9jcmVkaXRjYXJkX3dhcm5pbmdfbWVzc2FnZSB7XG4gICAgY29sb3I6ICNlNDAwM2I7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7IH1cbiAgLnBhZ2UtY29udGVudC0tZm9ybSAuZ2lucHV0X2NvbnRhaW5lcl9jcmVkaXRjYXJkID4gc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnBhZ2UtY29udGVudC0tZm9ybSAuZ2lucHV0X2NvbnRhaW5lcl9jcmVkaXRjYXJkID4gc3BhbjpudGgtY2hpbGQoMm4rMSkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAgIC5wYWdlLWNvbnRlbnQtLWZvcm0gLmdpbnB1dF9jb250YWluZXJfY3JlZGl0Y2FyZCA+IHNwYW46bnRoLWNoaWxkKDJuKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLnBhZ2UtY29udGVudC0tZm9ybSAuZ2Zvcm1fYnV0dG9uIHtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogI2U0MDAzYjtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgICBwYWRkaW5nOiAxNHB4IDIwcHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDIwMG1zIGVhc2UsIG9wYWNpdHkgMjAwbXMgZWFzZTtcbiAgICBib3JkZXI6IDA7IH1cbiAgICAucGFnZS1jb250ZW50LS1mb3JtIC5nZm9ybV9idXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2IxMDAyZTsgfVxuICAgIC5wYWdlLWNvbnRlbnQtLWZvcm0gLmdmb3JtX2J1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmYwYjRhOyB9XG4gICAgLnBhZ2UtY29udGVudC0tZm9ybSAuZ2Zvcm1fYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJvcmRlcjogMDsgfVxuICAucGFnZS1jb250ZW50LS1mb3JtIC5nZm9ybV9mb290ZXIge1xuICAgIHBhZGRpbmc6IDcuNXB4IDA7IH1cbiAgLnBhZ2UtY29udGVudC0tZm9ybSAuZ2Zvcm1fY29uZmlybWF0aW9uX3dyYXBwZXIge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAucGFnZS1jb250ZW50LS1mb3JtIC5naW5wdXRfY29tcGxleCA+IHNwYW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICAgICAgcGFkZGluZy10b3A6IDVweDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAucGFnZS1jb250ZW50LS1mb3JtIC5naW5wdXRfY29tcGxleCA+IHNwYW46bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgICAgIC5wYWdlLWNvbnRlbnQtLWZvcm0gLmdpbnB1dF9jb21wbGV4ID4gc3BhbjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAucGFnZS1jb250ZW50LS1mb3JtIC5naW5wdXRfY29udGFpbmVyX2RhdGUgLmdpbnB1dF9jb250YWluZXJfZGF0ZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC01cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgd2lkdGg6IDMzLjMzJTsgfVxuICAgIC5wYWdlLWNvbnRlbnQtLWZvcm0gLmdpbnB1dF9jb250YWluZXJfdGltZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC01cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgd2lkdGg6IDMzLjMzJTsgfSB9XG5cbi5oZWFkZXIge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3gtc2hhZG93OiAwIDFweCA3cHggMXB4ICM5MDkwOTA7XG4gIGxlZnQ6IDA7XG4gIG1pbi13aWR0aDogMzAwcHg7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTAwOyB9XG4gIC5oZWFkZXIgLmNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5hZG1pbi1iYXIgLmhlYWRlciB7XG4gIHRvcDogNDZweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC45Mzc1ZW0pIHtcbiAgICAuYWRtaW4tYmFyIC5oZWFkZXIge1xuICAgICAgdG9wOiAzMnB4OyB9IH1cblxuLm5hdiB7XG4gIHBhZGRpbmc6IDAgMTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5sb2dvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LWZhbWlseTogJ0ludHJvJywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMWVtO1xuICBwYWRkaW5nOiAxNXB4IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5sb2dvIHtcbiAgICAgIHBhZGRpbmc6IDEycHggMDsgfSB9XG4gIC5sb2dvLS1kZXNrdG9wIHtcbiAgICBoZWlnaHQ6IDMxcHg7XG4gICAgd2lkdGg6IDMyMHB4OyB9XG4gIC5sb2dvLS1tb2JpbGUge1xuICAgIGhlaWdodDogMjVweDtcbiAgICB3aWR0aDogMTIwcHg7IH1cblxuLmhlYWRlcl9fYnVyZ2VyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBoZWlnaHQ6IDMycHg7XG4gIG1hcmdpbjogOXB4IDE1cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHdpZHRoOiAyNXB4OyB9XG4gIC5oZWFkZXJfX2J1cmdlciBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNpdGlvbjogdG9wIC40cyAuNHMsICB0cmFuc2Zvcm0gLjRzLCAgb3BhY2l0eSAwcyAuNHM7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuaGVhZGVyX19idXJnZXIgc3BhbjpmaXJzdC1vZi10eXBlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gICAgLmhlYWRlcl9fYnVyZ2VyIHNwYW46bnRoLW9mLXR5cGUoMikge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRvcDogNXB4OyB9XG4gICAgLmhlYWRlcl9fYnVyZ2VyIHNwYW46bGFzdC1vZi10eXBlIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDEwcHg7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAuaGVhZGVyX19idXJnZXIuYWN0aXZlIHNwYW4ge1xuICAgIHRyYW5zaXRpb246IHRvcCAuNHMsICB0cmFuc2Zvcm0gLjRzIC40cywgIG9wYWNpdHkgMHMgLjRzOyB9XG4gICAgLmhlYWRlcl9fYnVyZ2VyLmFjdGl2ZSBzcGFuOmZpcnN0LW9mLXR5cGUge1xuICAgICAgdG9wOiA4cHg7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cbiAgICAuaGVhZGVyX19idXJnZXIuYWN0aXZlIHNwYW46bnRoLW9mLXR5cGUoMikge1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAgIC5oZWFkZXJfX2J1cmdlci5hY3RpdmUgc3BhbjpsYXN0LW9mLXR5cGUge1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogNHB4O1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5oZWFkZXJfX2J1cmdlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLm5hdl9fY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgZGlzcGxheTogbm9uZTtcbiAgbGVmdDogMDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1NXB4O1xuICB0cmFuc2l0aW9uOiB0b3AgLjVzO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogOTk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubmF2X19jb250YWluZXIge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiA1NnB4O1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgIHJpZ2h0OiA5NXB4O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICB0b3A6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgICAgd2lkdGg6IGF1dG87IH0gfVxuXG4ubmF2X19tZW51IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgdG9wOiA5cHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubmF2X19tZW51IHtcbiAgICAgIHRvcDogOXB4OyB9IH1cbiAgLm5hdl9fbWVudSBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1mYW1pbHk6ICdJbnRybycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIG1hcmdpbjogMTVweCAxMHB4O1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLm5hdl9fbWVudSBsaS5jdXJyZW50X3BhZ2VfaXRlbSBhIHtcbiAgICAgIGNvbG9yOiAjZTQwMDNiOyB9XG4gICAgICAubmF2X19tZW51IGxpLmN1cnJlbnRfcGFnZV9pdGVtIGE6YWZ0ZXIge1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5uYXZfX21lbnUgbGkgYSB7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgLm5hdl9fbWVudSBsaSBhOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2U0MDAzYjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICBib3R0b206IC0ycHg7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IHdpZHRoIC41cztcbiAgICAgICAgd2lkdGg6IDA7IH1cbiAgICAgIC5uYXZfX21lbnUgbGkgYTpob3ZlcjphZnRlciB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5uYXZfX21lbnUgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMCAxNXB4OyB9XG4gICAgICAgIC5uYXZfX21lbnUgbGk6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0NXB4OyB9XG4gICAgICAgIC5uYXZfX21lbnUgbGkgYTphZnRlciB7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICByaWdodDogYXV0bzsgfSB9XG5cbi5sYWJvdXItbG9nbyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgIC5sYWJvdXItbG9nbyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiA2MHB4O1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5sYWJvdXItbG9nbyB7XG4gICAgICByaWdodDogMTBweDsgfSB9XG4gIC5sYWJvdXItbG9nbyBpbWcge1xuICAgIGhlaWdodDogMTVweDtcbiAgICB3aWR0aDogODZweDsgfVxuXG4uaGVhZGVyLWFjdGlvbnMge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAxMDAlO1xuICB3aWR0aDogMTAwJTsgfVxuICAuaGVhZGVyLWFjdGlvbnMgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWF4LXdpZHRoOiAyNDBweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMyk7IH1cbiAgICAuaGVhZGVyLWFjdGlvbnMgbGkgLmJ1dHRvbiB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICAgIC5oZWFkZXItYWN0aW9ucyBsaSAuYnV0dG9uIHtcbiAgICAgICAgICBmb250LXNpemU6IDE0cHg7IH0gfVxuXG4uaGVybyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGhlaWdodDogMTAwdmg7XG4gIG1pbi1oZWlnaHQ6IDU1MHB4O1xuICBwYWRkaW5nLXRvcDogNTZweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAuaGVybyB7XG4gICAgICBtaW4taGVpZ2h0OiA1MDBweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmhlcm8ge1xuICAgICAgbWluLWhlaWdodDogNjAwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5oZXJvIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDY1MHB4OyB9IH1cbiAgLmhlcm8gPiAuY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5oZXJvIC5pZnJhbWUtd3JhcHBlciB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmhlcm8tLWdlbmVyaWMge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciA5MHB4O1xuICAgIGhlaWdodDogNDAwcHg7XG4gICAgbWluLWhlaWdodDogMDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuaGVyby0tZ2VuZXJpYyB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciA1MHB4O1xuICAgICAgICBoZWlnaHQ6IDUwMHB4OyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmhlcm8tLWdlbmVyaWMge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgdG9wO1xuICAgICAgICBoZWlnaHQ6IDYwMHB4OyB9IH1cblxuLmhlcm9fX2NvbnRlbnQge1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNDIlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5oZXJvX19jb250ZW50IGgxIHtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtaW5kZW50OiAtMTAwMDBweDsgfVxuXG4uaGVyb19fYnJhbmRpbmcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiBhdXRvO1xuICB3aWR0aDogOTAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAuaGVyb19fYnJhbmRpbmcge1xuICAgICAgd2lkdGg6IDgwJTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmhlcm9fX2JyYW5kaW5nIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHdpZHRoOiA0NTBweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmhlcm9fX2JyYW5kaW5nIHtcbiAgICAgIHdpZHRoOiA1NjVweDsgfSB9XG5cbi5oZXJvX19ib3gge1xuICBiYWNrZ3JvdW5kOiAjMzZhOWUxO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIG1hcmdpbjogYXV0bztcbiAgbWF4LXdpZHRoOiAzNTBweDtcbiAgcGFkZGluZzogMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogOTAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmhlcm9fX2JveCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjVweDsgfSB9XG4gIC5oZXJvX19ib3ggaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IGF1dG87XG4gICAgd2lkdGg6IDE4MHB4OyB9XG4gIC5oZXJvX19ib3ggaDIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMS40ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmhlcm9fX2JveCBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS43ZW07IH0gfVxuICAuaGVyb19fYm94IHAge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmhlcm9fX2JveCAuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDEuMmVtO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW46IDE1cHggMDtcbiAgICBwYWRkaW5nOiA1cHggMTBweDsgfVxuXG5ib2R5LnBhZ2UtdGVtcGxhdGUtaG9sZGluZyB7XG4gIGJhY2tncm91bmQ6ICNlNDAwM2I7IH1cbiAgYm9keS5wYWdlLXRlbXBsYXRlLWhvbGRpbmcgLndyYXBwZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG5cbi5ob2xkaW5nIHtcbiAgcGFkZGluZzogMTAwcHggMjBweCA1MHB4OyB9XG4gIC5ob2xkaW5nIC5wb3B1cF9fY29udGVudCB7XG4gICAgYmFja2dyb3VuZDogI2U0MDAzYjtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMjVweCAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmhvbGRpbmcgLnBvcHVwX19jb250ZW50IGgzIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsOyB9XG5cbi5ob2xkaW5nX19jb250ZW50IHtcbiAgY29sb3I6ICNmZmY7XG4gIG1hcmdpbjogYXV0bztcbiAgbWF4LXdpZHRoOiA1MDBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTsgfVxuICAuaG9sZGluZ19fY29udGVudCA+IGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxNTVweDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgd2lkdGg6IDIwMHB4OyB9XG5cbi5ob2xkaW5nX190ZXh0IHtcbiAgbWFyZ2luOiA1MHB4IDAgMjBweDsgfVxuICAuaG9sZGluZ19fdGV4dCBoMiB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjFlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgIC5ob2xkaW5nX190ZXh0IGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjVlbTsgfSB9XG4gICAgLmhvbGRpbmdfX3RleHQgaDIgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLnBhZ2UtY29udGVudCB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucGFnZS1jb250ZW50IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLnBhZ2UtY29udGVudCwgLnBhZ2UtY29udGVudDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAucGFnZS1jb250ZW50Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wYWdlLWNvbnRlbnQge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBhZ2UtY29udGVudCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucGFnZS1jb250ZW50LCAucGFnZS1jb250ZW50Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAgIC5wYWdlLWNvbnRlbnQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBhZ2UtY29udGVudC0tdGhpbm5lciB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucGFnZS1jb250ZW50LS10aGlubmVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wYWdlLWNvbnRlbnQtLXRoaW5uZXIsIC5wYWdlLWNvbnRlbnQtLXRoaW5uZXI6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBjbGVhcjogbm9uZTsgfVxuICAgICAgLnBhZ2UtY29udGVudC0tdGhpbm5lcjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucGFnZS1jb250ZW50LS10aGlubmVyIHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucGFnZS1jb250ZW50LS10aGlubmVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5wYWdlLWNvbnRlbnQtLXRoaW5uZXIsIC5wYWdlLWNvbnRlbnQtLXRoaW5uZXI6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBjbGVhcjogbm9uZTsgfVxuICAgICAgLnBhZ2UtY29udGVudC0tdGhpbm5lcjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgLnBhZ2UtY29udGVudC0tbm8taGVybyB7XG4gICAgcGFkZGluZy10b3A6IDEzMHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBhZ2UtY29udGVudC0taGFzLWJnIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9yaXZlci5zdmdcIikgbm8tcmVwZWF0IGNlbnRlciBib3R0b207XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDQ0JTsgfSB9XG5cbi5wYWdlLWNvbnRlbnRfX2hlYWRlciB7XG4gIG1hcmdpbjogMzBweCAxMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wYWdlLWNvbnRlbnRfX2hlYWRlciB7XG4gICAgICBtYXJnaW46IDQwcHggYXV0byA2MHB4OyB9IH1cbiAgLnBhZ2UtY29udGVudF9faGVhZGVyIGgxIHtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBhZ2UtY29udGVudF9faGVhZGVyIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiA0MHB4OyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnBhZ2UtY29udGVudF9faGVhZGVyIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiA1NnB4OyB9IH1cbiAgLnBhZ2UtY29udGVudF9faGVhZGVyLS1oYXMtYm9yZGVyOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZTQwMDNiO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDhweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDE1MHB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wYWdlLWNvbnRlbnRfX2hlYWRlci0taGFzLWJvcmRlcjphZnRlciB7XG4gICAgICAgIGhlaWdodDogMTJweDsgfSB9XG4gIC5wYWdlLWNvbnRlbnRfX2hlYWRlci0tY2xlYW5lci1haXIge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLnBhZ2UtY29udGVudF9faGVhZGVyLS1jbGVhbmVyLWFpciBoMSxcbiAgICAucGFnZS1jb250ZW50X19oZWFkZXItLWNsZWFuZXItYWlyIGgyIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnSW50cm8nLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjNlbTsgfVxuICAgIC5wYWdlLWNvbnRlbnRfX2hlYWRlci0tY2xlYW5lci1haXIgaDIge1xuICAgICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjRlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnBhZ2UtY29udGVudF9faGVhZGVyLS1jbGVhbmVyLWFpciBoMiB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4zZW07IH0gfVxuICAucGFnZS1jb250ZW50X19oZWFkZXIgLmJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICAgIG1hcmdpbjogMTBweDtcbiAgICBwYWRkaW5nOiA1cHggMzVweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucGFnZS1jb250ZW50X19oZWFkZXIgLmJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIDVweDsgfSB9XG5cbi5wYWdlLWNvbnRlbnRfX2hlYWRlci10ZXh0IHtcbiAgZm9udC1mYW1pbHk6ICdMb3RhLUJvbGQnO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjNlbTtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wYWdlLWNvbnRlbnRfX2hlYWRlci10ZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIG1hcmdpbi10b3A6IDQwcHg7IH0gfVxuICAucGFnZS1jb250ZW50X19oZWFkZXItdGV4dC0tc2hvcnQge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDgwMHB4OyB9XG4gIC5wYWdlLWNvbnRlbnRfX2hlYWRlci10ZXh0LS1hbHQgLnBhZ2UtY29udGVudF9faGVhZGVyLXF1b3RlIHtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAucGFnZS1jb250ZW50X19oZWFkZXItdGV4dC0tYWx0IC5wYWdlLWNvbnRlbnRfX2hlYWRlci1zb3VyY2Uge1xuICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAucGFnZS1jb250ZW50X19oZWFkZXItdGV4dCBoMSxcbiAgLnBhZ2UtY29udGVudF9faGVhZGVyLXRleHQgaDIge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTsgfVxuICAucGFnZS1jb250ZW50X19oZWFkZXItdGV4dCBibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDMwcHggMTBweDsgfVxuICAgIC5wYWdlLWNvbnRlbnRfX2hlYWRlci10ZXh0IGJsb2NrcXVvdGUgY2l0ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMzZhOWUxO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBwYWRkaW5nOiAycHggMzBweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLnBhZ2UtY29udGVudF9faGVhZGVyLXF1b3RlIHtcbiAgY29sb3I6ICMzNmE5ZTE7XG4gIGxpbmUtaGVpZ2h0OiAxLjRlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wYWdlLWNvbnRlbnRfX2hlYWRlci1xdW90ZSB7XG4gICAgICBmb250LXNpemU6IDIycHg7IH0gfVxuXG4ucGFnZS1jb250ZW50X19oZWFkZXItc291cmNlIHtcbiAgYmFja2dyb3VuZDogIzM2YTllMTtcbiAgY29sb3I6ICNmZmY7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgcGFkZGluZzogMnB4IDMwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLnBhZ2UtY29udGVudF9fbWFpbiB7XG4gIGNsZWFyOiBib3RoO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnBhZ2UtNDA0IHtcbiAgY2xlYXI6IGJvdGg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBiYWNrZ3JvdW5kOiAjN2VhZWMwO1xuICBoZWlnaHQ6IDEwMHZoO1xuICBtaW4taGVpZ2h0OiA1MDBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wYWdlLTQwNCB7XG4gICAgICBwYWRkaW5nOiAxNTBweCAwIDUwcHg7IH0gfVxuXG4ucGFnZS00MDRfX2NvbnRlbnQge1xuICBjb2xvcjogI2ZmZjtcbiAgbWFyZ2luOiBhdXRvO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDAlKTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucGFnZS00MDRfX2NvbnRlbnQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucGFnZS00MDRfX2NvbnRlbnQge1xuICAgICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICAgIHBhZGRpbmctdG9wOiA1MHB4OyB9IH1cbiAgLnBhZ2UtNDA0X19jb250ZW50IGgxIHtcbiAgICBmb250LXNpemU6IDQ1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDFlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucGFnZS00MDRfX2NvbnRlbnQgaDEge1xuICAgICAgICBmb250LXNpemU6IDYwcHg7IH0gfVxuXG4ucGFnZS00MDRfX21lc3NhZ2Uge1xuICBmb250LWZhbWlseTogJ0xvdGEtTGlnaHQnO1xuICBmb250LXNpemU6IDMwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgbWFyZ2luOiAxNXB4IGF1dG87XG4gIG1heC13aWR0aDogMjcwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wYWdlLTQwNF9fbWVzc2FnZSB7XG4gICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICBtYXJnaW46IDIwcHggYXV0bztcbiAgICAgIG1heC13aWR0aDogNTAwcHg7IH0gfVxuICAucGFnZS00MDRfX21lc3NhZ2U6YmVmb3JlLCAucGFnZS00MDRfX21lc3NhZ2U6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiA4cHg7XG4gICAgbWFyZ2luOiAyMHB4IGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDBweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucGFnZS00MDRfX21lc3NhZ2U6YmVmb3JlLCAucGFnZS00MDRfX21lc3NhZ2U6YWZ0ZXIge1xuICAgICAgICBoZWlnaHQ6IDEycHg7IH0gfVxuICAucGFnZS00MDRfX21lc3NhZ2U6YmVmb3JlIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5wYWdlLTQwNF9fbWVzc2FnZTphZnRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAucGFnZS00MDRfX21lc3NhZ2UgYSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiAnTG90YS1TZW1pQm9sZCc7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLnBvbGx1dGlvbi1tYXBfX2NvbnRhaW5lciB7XG4gIGhlaWdodDogNjAwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ucG9sbHV0aW9uLW1hcF9fd3JhcHBlciB7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTtcbiAgaGVpZ2h0OiA2MTVweDtcbiAgb3ZlcmZsb3c6IC1tb3otc2Nyb2xsYmFycy1ub25lO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDA7IH1cbiAgLnBvbGx1dGlvbi1tYXBfX3dyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICB3aWR0aDogMCAhaW1wb3J0YW50OyB9XG5cbi5zY3JvbGwtb3ZlcmxheSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdG9wOiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC40cztcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IC0xOyB9XG4gIC5zY3JvbGwtb3ZlcmxheS5hY3RpdmUge1xuICAgIHotaW5kZXg6IDEwOyB9XG4gIC5zY3JvbGwtb3ZlcmxheSBzcGFuIHtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBsZWZ0OiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjNlbTtcbiAgICBwYWRkaW5nOiAwIDI1cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNDglO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG4udG9vbHRpcCB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlcjogNHB4IHNvbGlkICNjMGMwY2U7XG4gIGNvbG9yOiAjMDAwO1xuICBkaXNwbGF5OiBub25lO1xuICBsaW5lLWhlaWdodDogMS4yZW07XG4gIHBhZGRpbmc6IDEwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDMwMHB4O1xuICB6LWluZGV4OiAyOyB9XG4gIC50b29sdGlwOmJlZm9yZSB7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgYm9yZGVyLWJvdHRvbTogMTVweCBzb2xpZCAjYzBjMGNlO1xuICAgIGJvcmRlci1sZWZ0OiAxNTBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQ6IDE1MHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMTlweDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgLnRvb2x0aXAuYWJvdmU6YmVmb3JlIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJvcmRlci10b3A6IDE1cHggc29saWQgI2MwYzBjZTtcbiAgICBib3R0b206IC0xOXB4O1xuICAgIHRvcDogYXV0bzsgfVxuICAudG9vbHRpcC5hcnJvdy0tbGVmdDpiZWZvcmUge1xuICAgIGJvcmRlci1sZWZ0OiAzMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodDogMjcwcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cbiAgLnRvb2x0aXAuYXJyb3ctLXJpZ2h0OmJlZm9yZSB7XG4gICAgYm9yZGVyLWxlZnQ6IDI3MHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodDogMzBweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAudG9vbHRpcC0tdmVydGljYWwgLnRvb2x0aXBfX2ltYWdlIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgd2lkdGg6IDUwJTsgfVxuICAudG9vbHRpcC0tdmVydGljYWwgLnRvb2x0aXBfX2NvbnRlbnQge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAudG9vbHRpcC0taG9yaXpvbnRhbCAudG9vbHRpcF9faW1hZ2Uge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAyOCU7IH1cbiAgLnRvb2x0aXAtLWhvcml6b250YWwgLnRvb2x0aXBfX2NvbnRlbnQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHdpZHRoOiA3MiU7IH1cbiAgLnRvb2x0aXAtLWhvcml6b250YWwgLnRvb2x0aXBfX3RleHQgc3BhbiB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAudG9vbHRpcC0tc2Nob29scyB7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XG4gICAgYm90dG9tOiAxMTUlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcbiAgICB3aWR0aDogOTAlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC50b29sdGlwLS1zY2hvb2xzIHtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDApO1xuICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwKTtcbiAgICAgICAgbGVmdDogMzBweDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCk7XG4gICAgICAgIHdpZHRoOiAzMDBweDsgfSB9XG4gICAgLnRvb2x0aXAtLXNjaG9vbHM6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwMHB4KSB7XG4gICAgICAgIC50b29sdGlwLS1zY2hvb2xzOmJlZm9yZSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4udG9vbHRpcF9faW1hZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi50b29sdGlwX19jb250ZW50IGg0IHtcbiAgbWFyZ2luOiAxMHB4IDA7IH1cblxuLnRvb2x0aXBfX3RleHQgc3BhbiB7XG4gIGNvbG9yOiAjYTJjNjFlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1mYW1pbHk6ICdMb3RhLUJvbGQnLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDNlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgbWFyZ2luOiAxNXB4IGF1dG8gMTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5wb2xsdXRpb24tbWFwIHtcbiAgY29sb3I6ICNmZmY7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwOyB9XG4gIC5wb2xsdXRpb24tbWFwIC5wb2ludCB7XG4gICAgYmFja2dyb3VuZDogI2EyYzYxZTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGhlaWdodDogMjBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDIwcHg7IH1cbiAgICAucG9sbHV0aW9uLW1hcCAucG9pbnQtLXNjaG9vbHMge1xuICAgICAgYmFja2dyb3VuZDogI2EyYzYxZTsgfVxuICAgICAgLnBvbGx1dGlvbi1tYXAgLnBvaW50LS1zY2hvb2xzOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgI2EyYzYxZTsgfVxuICAgIC5wb2xsdXRpb24tbWFwIC5wb2ludC0tYnVzZXMge1xuICAgICAgYmFja2dyb3VuZDogI2U0MDAzYjsgfVxuICAgICAgLnBvbGx1dGlvbi1tYXAgLnBvaW50LS1idXNlczphZnRlciB7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNlNDAwM2I7IH1cbiAgICAucG9sbHV0aW9uLW1hcCAucG9pbnQtLW1vbnVtZW50cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjOGIwMDhiOyB9XG4gICAgICAucG9sbHV0aW9uLW1hcCAucG9pbnQtLW1vbnVtZW50czphZnRlciB7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICM4YjAwOGI7IH1cbiAgICAucG9sbHV0aW9uLW1hcCAucG9pbnQ6YWZ0ZXIge1xuICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgYW5pbWF0aW9uOiBwdWxzYXRlIGluZmluaXRlIDEuNXM7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICB3aWR0aDogMjBweDsgfVxuICAgIC5wb2xsdXRpb24tbWFwIC5wb2ludC5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjsgfVxuICAgICAgLnBvbGx1dGlvbi1tYXAgLnBvaW50LmFjdGl2ZTphZnRlciB7XG4gICAgICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICAgICAgYm9yZGVyOiAzcHggc29saWQgI2EyYzYxZTtcbiAgICAgICAgaGVpZ2h0OiAyM3B4O1xuICAgICAgICB3aWR0aDogMjNweDsgfVxuICAgICAgLnBvbGx1dGlvbi1tYXAgLnBvaW50LmFjdGl2ZS5wb2ludC0tc2Nob29sczphZnRlciB7XG4gICAgICAgIGJvcmRlcjogM3B4IHNvbGlkICNhMmM2MWU7IH1cbiAgICAgIC5wb2xsdXRpb24tbWFwIC5wb2ludC5hY3RpdmUucG9pbnQtLWJ1c2VzOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyOiAzcHggc29saWQgI2U0MDAzYjsgfVxuICAgICAgLnBvbGx1dGlvbi1tYXAgLnBvaW50LmFjdGl2ZS5wb2ludC0tbW9udW1lbnRzOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyOiAzcHggc29saWQgIzhiMDA4YjsgfVxuICAucG9sbHV0aW9uLW1hcCAuaWNvbiB7XG4gICAgYW5pbWF0aW9uOiBzY2FsZSAxcywgYm91bmNlIGluZmluaXRlIDEuNXMgMXM7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGhlaWdodDogNjRweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGNlbnRlcjtcbiAgICB3aWR0aDogNDVweDsgfVxuICAgIC5wb2xsdXRpb24tbWFwIC5pY29uLS1zY2hvb2xzIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9zY2hvb2wtaWNvbi5wbmdcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDQ1cHg7IH1cblxuLnBvbGx1dGlvbi1tYXBfX2JnIHtcbiAgaGVpZ2h0OiA2MDBweDtcbiAgbWF4LXdpZHRoOiBpbml0aWFsO1xuICB3aWR0aDogYXV0bzsgfVxuICAucG9sbHV0aW9uLW1hcF9fYmctLWRlc2t0b3Age1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBvbGx1dGlvbi1tYXBfX2JnLS1kZXNrdG9wIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAucG9sbHV0aW9uLW1hcF9fYmctLW1vYmlsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBvbGx1dGlvbi1tYXBfX2JnLS1tb2JpbGUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLnBvbGx1dGlvbi1tYXBfX2d1aWRlX193cmFwcGVyIHtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5wb2xsdXRpb24tbWFwX19ndWlkZSB7XG4gIGhlaWdodDogYXV0bztcbiAgbGVmdDogMiU7XG4gIG1heC13aWR0aDogNDAwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDk2JTtcbiAgei1pbmRleDogMTE7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucG9sbHV0aW9uLW1hcF9fZ3VpZGUge1xuICAgICAgbGVmdDogMTAlOyB9IH1cblxuLnBvbGx1dGlvbi1tYXBfX2d1aWRlX19jb250ZW50IHtcbiAgYmFja2dyb3VuZDogI2EyYzYxZTtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDhweDtcbiAgY29sb3I6ICNmZmY7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuICBwYWRkaW5nOiAyMHB4IDMwcHggMXB4IDIwcHg7IH1cbiAgLnBvbGx1dGlvbi1tYXBfX2d1aWRlX19jb250ZW50IHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuXG4ucG9sbHV0aW9uLW1hcF9fZ3VpZGVfX2l0ZW0ge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAucG9sbHV0aW9uLW1hcF9fZ3VpZGVfX2l0ZW06YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAzMHB4OyB9XG4gIC5wb2xsdXRpb24tbWFwX19ndWlkZV9faXRlbS0tc2Nyb2xsOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL3Njcm9sbC1pY29uLnBuZ1wiKSBuby1yZXBlYXQgY2VudGVyIHRvcDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7IH1cbiAgLnBvbGx1dGlvbi1tYXBfX2d1aWRlX19pdGVtLS1wb2ludDpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9wb2ludC5wbmdcIikgbm8tcmVwZWF0IGNlbnRlciB0b3A7XG4gICAgYmFja2dyb3VuZC1zaXplOiAyMHB4OyB9XG5cbi5wb2xsdXRpb24tbWFwX19ndWlkZV9fdHJpZ2dlciB7XG4gIGJhY2tncm91bmQ6ICNhMmM2MWUgdXJsKFwiLi4vaW1nL21hcC1pbmZvLnBuZ1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAyNXB4O1xuICBib3JkZXItcmFkaXVzOiAwIDAgOHB4IDhweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAzNXB4O1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nOiA1cHggN3B4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgd2lkdGg6IDQwcHg7IH1cbiAgLnBvbGx1dGlvbi1tYXBfX2d1aWRlX190cmlnZ2VyLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogI2EyYzYxZSB1cmwoXCIuLi9pbWcvY2xvc2UucG5nXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMThweDsgfVxuXG4ucG9sbHV0aW9uLW1hcF9fY2F0ZWdvcmllcyB7XG4gIG1hcmdpbi10b3A6IC0yNXB4O1xuICBtaW4td2lkdGg6IDI5MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDEwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBvbGx1dGlvbi1tYXBfX2NhdGVnb3JpZXMge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cblxuLnBvbGx1dGlvbi1tYXBfX2NhdCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDAgMjBweCAwIDA7XG4gIG9wYWNpdHk6IC42OyB9XG4gIC5wb2xsdXRpb24tbWFwX19jYXQtLWxhc3Qge1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MDBweCkge1xuICAgIC5wb2xsdXRpb24tbWFwX19jYXQge1xuICAgICAgbWFyZ2luOiAwIDI1cHggMCAwOyB9XG4gICAgICAucG9sbHV0aW9uLW1hcF9fY2F0LS1sYXN0IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucG9sbHV0aW9uLW1hcF9fY2F0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luOiAwIDMwcHggMCAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAucG9sbHV0aW9uLW1hcF9fY2F0LS1sYXN0IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgLnBvbGx1dGlvbi1tYXBfX2NhdC5hY3RpdmUge1xuICAgIG9wYWNpdHk6IDE7IH1cblxuLnBvbGx1dGlvbi1tYXBfX2NhdF9faWNvbiB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNhMmM2MWU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgaGVpZ2h0OiA4MHB4O1xuICB3aWR0aDogODBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MDBweCkge1xuICAgIC5wb2xsdXRpb24tbWFwX19jYXRfX2ljb24ge1xuICAgICAgaGVpZ2h0OiA5MHB4O1xuICAgICAgd2lkdGg6IDkwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wb2xsdXRpb24tbWFwX19jYXRfX2ljb24ge1xuICAgICAgaGVpZ2h0OiAxMjBweDtcbiAgICAgIHdpZHRoOiAxMjBweDsgfSB9XG4gIC5wb2xsdXRpb24tbWFwX19jYXRfX2ljb24tLXNjaG9vbHMge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi93cC1jb250ZW50L3RoZW1lcy9sYWJvdXJicC9kaXN0L2ltZy9zY2hvb2xzLnBuZ1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgYm9yZGVyOiAzcHggc29saWQgI2EyYzYxZTsgfVxuICAucG9sbHV0aW9uLW1hcF9fY2F0X19pY29uLS1idXNlcyB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiL3dwLWNvbnRlbnQvdGhlbWVzL2xhYm91cmJwL2Rpc3QvaW1nL2J1c2VzLnBuZ1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgYm9yZGVyOiAzcHggc29saWQgI2U0MDAzYjsgfVxuICAucG9sbHV0aW9uLW1hcF9fY2F0X19pY29uLS1tb251bWVudHMge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi93cC1jb250ZW50L3RoZW1lcy9sYWJvdXJicC9kaXN0L2ltZy9tb251bWVudHMucG5nXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICBib3JkZXI6IDNweCBzb2xpZCAjOGIwMDhiOyB9XG5cbi5wb2xsdXRpb24tbWFwX19jYXRfX3RpdGxlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1mYW1pbHk6ICdJbnRybycsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MDBweCkge1xuICAgIC5wb2xsdXRpb24tbWFwX19jYXRfX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBvbGx1dGlvbi1tYXBfX2NhdF9fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxNnB4OyB9IH1cblxuLnBvbGx1dGlvbi1tYXBfX2ZpbHRlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IGxlZnQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXJnaW46IDE1cHggMCAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wb2xsdXRpb24tbWFwX19maWx0ZXIge1xuICAgICAgbWFyZ2luOiA0MHB4IDAgMCAyMHB4O1xuICAgICAgd2lkdGg6IDI1JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ2LjI1ZW0pIHtcbiAgICAucG9sbHV0aW9uLW1hcF9fZmlsdGVyIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgLnBvbGx1dGlvbi1tYXBfX2ZpbHRlciBzcGFuIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gIC5wb2xsdXRpb24tbWFwX19maWx0ZXIgLnBvbGx1dGlvbi1tYXBfX2ZpbHRlci1pbmZvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDEuM2VtO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7IH1cbiAgLnBvbGx1dGlvbi1tYXBfX2ZpbHRlciAucG9sbHV0aW9uLW1hcF9fcmV2ZXJ0IHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4ucG9sbHV0aW9uLW1hcF9faW5mbyB7XG4gIGZvbnQtc2l6ZTogLjllbTtcbiAgbGluZS1oZWlnaHQ6IDEuM2VtO1xuICBwYWRkaW5nOiAyMHB4IDA7IH1cbiAgLnBvbGx1dGlvbi1tYXBfX2luZm8gb2wge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7IH1cbiAgICAucG9sbHV0aW9uLW1hcF9faW5mbyBvbCBsaSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzcHg7IH1cblxuLmllLW92ZXJsYXkge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBwdWxzYXRlIHtcbiAgMCUsXG4gIDEwMCUge1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMS41LCAxLjUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxLjUsIDEuNSk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMS41LCAxLjUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEuNSwgMS41KTsgfVxuICA1MCUge1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMSwgMSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEsIDEpO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEsIDEpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEsIDEpOyB9IH1cblxuQGtleWZyYW1lcyBwdWxzYXRlIHtcbiAgMCUsXG4gIDEwMCUge1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMS41LCAxLjUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxLjUsIDEuNSk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMS41LCAxLjUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEuNSwgMS41KTsgfVxuICA1MCUge1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMSwgMSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEsIDEpO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEsIDEpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEsIDEpOyB9IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZSB7XG4gIDAlLFxuICAxMDAlIHtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgNTAlIHtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVweCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZSB7XG4gIDAlLFxuICAxMDAlIHtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSBzY2FsZSgxLCAxKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHNjYWxlKDEsIDEpO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSBzY2FsZSgxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgc2NhbGUoMSwgMSk7IH1cbiAgNTAlIHtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KSBzY2FsZSgxLCAxKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpIHNjYWxlKDEsIDEpO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KSBzY2FsZSgxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVweCkgc2NhbGUoMSwgMSk7IH0gfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2NhbGUge1xuICAwJSB7XG4gICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTsgfVxuICAxMDAlIHtcbiAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9IH1cblxuQGtleWZyYW1lcyBzY2FsZSB7XG4gIDAlIHtcbiAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApOyB9XG4gIDEwMCUge1xuICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAtby10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuXG4ucG9sbHV0aW9uLXNlYXJjaCB7XG4gIHBhZGRpbmc6IDMwcHggMCA0MHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBvbGx1dGlvbi1zZWFyY2gge1xuICAgICAgcGFkZGluZzogNDBweCAwIDUwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wb2xsdXRpb24tc2VhcmNoIHtcbiAgICAgIHBhZGRpbmc6IDUwcHggMCA2MHB4OyB9IH1cbiAgLnBvbGx1dGlvbi1zZWFyY2ggLnBhZ2UtY29udGVudF9faGVhZGVyIGgyIHtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgbWF4LXdpZHRoOiA3MDBweDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAucG9sbHV0aW9uLXNlYXJjaCAucG9zdGNvZGUtZm9ybSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wb2xsdXRpb24tc2VhcmNoIC5wb3N0Y29kZS1mb3JtIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLnBvbGx1dGlvbi1zZWFyY2ggLnBvc3Rjb2RlLWZvcm0sIC5wb2xsdXRpb24tc2VhcmNoIC5wb3N0Y29kZS1mb3JtOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5wb2xsdXRpb24tc2VhcmNoIC5wb3N0Y29kZS1mb3JtOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wb2xsdXRpb24tc2VhcmNoIC5wb3N0Y29kZS1mb3JtIHtcbiAgICAgICAgd2lkdGg6IDgzLjMzMzMzJTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucG9sbHV0aW9uLXNlYXJjaCAucG9zdGNvZGUtZm9ybSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnBvbGx1dGlvbi1zZWFyY2ggLnBvc3Rjb2RlLWZvcm0sIC5wb2xsdXRpb24tc2VhcmNoIC5wb3N0Y29kZS1mb3JtOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAgIC5wb2xsdXRpb24tc2VhcmNoIC5wb3N0Y29kZS1mb3JtOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5wb2xsdXRpb24tc2VhcmNoIC5wb3N0Y29kZS1mb3JtIHtcbiAgICAgICAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBvbGx1dGlvbi1zZWFyY2ggLnBvc3Rjb2RlLWZvcm0ge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5wb2xsdXRpb24tc2VhcmNoIC5wb3N0Y29kZS1mb3JtLCAucG9sbHV0aW9uLXNlYXJjaCAucG9zdGNvZGUtZm9ybTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICBjbGVhcjogbm9uZTsgfVxuICAgICAgICAucG9sbHV0aW9uLXNlYXJjaCAucG9zdGNvZGUtZm9ybTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICAgIC5wb2xsdXRpb24tc2VhcmNoIC5wb3N0Y29kZS1mb3JtLS1vdGhlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5wb2xsdXRpb24tc2VhcmNoIC5mb3JtLXJvdyB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnBvbGx1dGlvbi1zZWFyY2ggLmZpZWxkc2V0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wb2xsdXRpb24tc2VhcmNoIC5maWVsZHNldC5maWVsZHNldC0taGFsZiB7XG4gICAgICAgIHdpZHRoOiA0OSU7IH1cbiAgICAgICAgLnBvbGx1dGlvbi1zZWFyY2ggLmZpZWxkc2V0LmZpZWxkc2V0LS1oYWxmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMiU7IH0gfVxuICAucG9sbHV0aW9uLXNlYXJjaCBpbnB1dFt0eXBlPSd0ZXh0J10sIC5wb2xsdXRpb24tc2VhcmNoIGlucHV0W3R5cGU9J2VtYWlsJ10sIC5wb2xsdXRpb24tc2VhcmNoIGlucHV0W3R5cGU9J251bWJlciddLCAucG9sbHV0aW9uLXNlYXJjaCBpbnB1dFt0eXBlPSdwaG9uZSddIHtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5wb2xsdXRpb24tc2VhcmNoIC5sYWJlbCB7XG4gICAgZm9udC1zaXplOiAuOWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjNlbTsgfVxuICAucG9sbHV0aW9uLXNlYXJjaCAucmFkaW8tbGFiZWwge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAuOWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjFlbTtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIHBhZGRpbmc6IDAgMTBweCAwIDMwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wb2xsdXRpb24tc2VhcmNoIC5yYWRpby1sYWJlbCB7XG4gICAgICAgIHdpZHRoOiA0OSU7IH0gfVxuICAgIC5wb2xsdXRpb24tc2VhcmNoIC5yYWRpby1sYWJlbCBpbnB1dCB7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDA7IH1cbiAgICAgIC5wb2xsdXRpb24tc2VhcmNoIC5yYWRpby1sYWJlbCBpbnB1dDpjaGVja2VkIH4gLnJhZGlvLWljb24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTYwNjY1O1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjZmZmOyB9XG4gICAgICAucG9sbHV0aW9uLXNlYXJjaCAucmFkaW8tbGFiZWwgaW5wdXQ6Zm9jdXMgfiAucmFkaW8taWNvbiB7XG4gICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCAjNGE5MGUyOyB9XG4gIC5wb2xsdXRpb24tc2VhcmNoIC5yYWRpby1pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMnB4O1xuICAgIHdpZHRoOiAyMHB4OyB9XG4gIC5wb2xsdXRpb24tc2VhcmNoIC5mb3JtLWVycm9yIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5wb2xsdXRpb24tc2VhcmNoIC5idXR0b24ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIHBhZGRpbmc6IDE1cHggMTBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnBvbGx1dGlvbi1zZWFyY2ggLmJ1dHRvbi5sb2FkaW5nIHNwYW4ge1xuICAgICAgYmFja2dyb3VuZDogI2U2MDY2NSB1cmwoXCIuLi9pbWcvcGluay1sb2FkZXIuZ2lmXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAzMHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgY29sb3I6ICNlNjA2NjU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cblxuLnBvc3Rjb2RlLXJlc3VsdHMge1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW46IDUwcHggMCA0MHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBvc3Rjb2RlLXJlc3VsdHMge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAucG9zdGNvZGUtcmVzdWx0cywgLnBvc3Rjb2RlLXJlc3VsdHM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnBvc3Rjb2RlLXJlc3VsdHM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5wb3N0Y29kZS1yZXN1bHRzOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucG9zdGNvZGUtcmVzdWx0cyB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucG9zdGNvZGUtcmVzdWx0cyB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucG9zdGNvZGUtcmVzdWx0cywgLnBvc3Rjb2RlLXJlc3VsdHM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBjbGVhcjogbm9uZTsgfVxuICAgICAgLnBvc3Rjb2RlLXJlc3VsdHM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgICAgLnBvc3Rjb2RlLXJlc3VsdHM6bGFzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7IH0gfVxuICAucG9zdGNvZGUtcmVzdWx0cyBoMSB7XG4gICAgZm9udC1zaXplOiAxLjZlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yZW07XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIG1heC13aWR0aDogNzAwcHg7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBvc3Rjb2RlLXJlc3VsdHMgaDEge1xuICAgICAgICBmb250LXNpemU6IDEuOGVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5wb3N0Y29kZS1yZXN1bHRzIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiAyZW07IH0gfVxuICAgIC5wb3N0Y29kZS1yZXN1bHRzIGgxIHNwYW4ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5wb3N0Y29kZS1yZXN1bHRzIHNtYWxsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsaW5lLWhlaWdodDogMS40ZW07XG4gICAgbWF4LXdpZHRoOiA1MDBweDsgfVxuXG4ucG9zdGNvZGUtcmVzdWx0c19fY29udGVudCB7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIG1hcmdpbi10b3A6IDUwcHg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBvc3Rjb2RlLXJlc3VsdHNfX2NvbnRlbnQge1xuICAgICAgZm9udC1zaXplOiAxLjJlbTsgfSB9XG4gIC5wb3N0Y29kZS1yZXN1bHRzX19jb250ZW50IGgyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5wb3N0Y29kZS1yZXN1bHRzX19jb250ZW50IGgxIHtcbiAgICBmb250LXNpemU6IDJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucG9zdGNvZGUtcmVzdWx0c19fY29udGVudCBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi41ZW07XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucG9zdGNvZGUtcmVzdWx0c19fY29udGVudCBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogM2VtOyB9IH1cblxuLnBvc3Rjb2RlLXJlc3VsdHNfX2NvbCB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucG9zdGNvZGUtcmVzdWx0c19fY29sIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHdpZHRoOiA2NSU7IH0gfVxuICAucG9zdGNvZGUtcmVzdWx0c19fY29sOmxhc3Qtb2YtdHlwZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucG9zdGNvZGUtcmVzdWx0c19fY29sOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgIHdpZHRoOiAzNSU7IH1cbiAgICAgICAgLnBvc3Rjb2RlLXJlc3VsdHNfX2NvbDpsYXN0LW9mLXR5cGUgaW1nIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5wb3B1cCB7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgbWluLXdpZHRoOiAzMDBweDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDEwMDsgfVxuXG4ucG9wdXBfX292ZXJsYXkge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5wb3B1cF9fY29udGVudCB7XG4gIGJhY2tncm91bmQ6ICNlNjA2NjU7XG4gIG1hcmdpbjogMCAxNXB4O1xuICBtYXgtd2lkdGg6IDUwMHB4O1xuICBwYWRkaW5nOiAyNXB4IDIwcHggMjBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB3aWR0aDogY2FsYygxMDAlIC0gMzBweCk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucG9wdXBfX2NvbnRlbnQge1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgdG9wOiA0NSU7IH0gfVxuICAucG9wdXBfX2NvbnRlbnQgaDMge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNHB4OyB9XG4gICAgLnBvcHVwX19jb250ZW50IGgzIHNwYW4ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5wb3B1cF9fY29udGVudCAuZW5kLW1vZHVsZV9fZm9ybSB7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIG1heC13aWR0aDogNDAwcHg7IH1cbiAgICAucG9wdXBfX2NvbnRlbnQgLmVuZC1tb2R1bGVfX2Zvcm0gLmdmaWVsZF9lcnJvciBpbnB1dFt0eXBlPSd0ZXh0J106bm90KC5idXR0b24pLCAucG9wdXBfX2NvbnRlbnQgLmVuZC1tb2R1bGVfX2Zvcm0gLmdmaWVsZF9lcnJvciBpbnB1dFt0eXBlPSdlbWFpbCddOm5vdCguYnV0dG9uKSwgLnBvcHVwX19jb250ZW50IC5lbmQtbW9kdWxlX19mb3JtIC5nZmllbGRfZXJyb3IgaW5wdXRbdHlwZT0nbnVtYmVyJ106bm90KC5idXR0b24pLCAucG9wdXBfX2NvbnRlbnQgLmVuZC1tb2R1bGVfX2Zvcm0gLmdmaWVsZF9lcnJvciBpbnB1dFt0eXBlPSdwaG9uZSddOm5vdCguYnV0dG9uKSB7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjMDAwOyB9XG4gICAgLnBvcHVwX19jb250ZW50IC5lbmQtbW9kdWxlX19mb3JtIC5nZm9ybV9jb25maXJtYXRpb25fd3JhcHBlciB7XG4gICAgICBsaW5lLWhlaWdodDogMS4yZW07XG4gICAgICBtYXJnaW46IDIwcHggYXV0bztcbiAgICAgIG1heC13aWR0aDogMzAwcHg7IH1cbiAgICAgIC5wb3B1cF9fY29udGVudCAuZW5kLW1vZHVsZV9fZm9ybSAuZ2Zvcm1fY29uZmlybWF0aW9uX3dyYXBwZXIgYSB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0OyB9XG5cbi5wb3B1cF9fY2xvc2Uge1xuICBjb2xvcjogI2ZmZjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LWZhbWlseTogJ0xvdGEtU2VtaUJvbGQnO1xuICBmb250LXNpemU6IDI1cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDEycHg7XG4gIHRvcDogLTJweDsgfVxuXG4uc29jaWFsX19ibG9jayB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc29jaWFsX19ibG9jayB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5zb2NpYWxfX2Jsb2NrLCAuc29jaWFsX19ibG9jazpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuc29jaWFsX19ibG9jazpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLnNvY2lhbF9fYmxvY2s6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgbWFyZ2luLXRvcDogMzBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgLnNvY2lhbF9fYmxvY2sge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc29jaWFsX19ibG9jayB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgIC5zb2NpYWxfX2Jsb2NrLCAuc29jaWFsX19ibG9jazpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAuc29jaWFsX19ibG9jazpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgICAuc29jaWFsX19ibG9jazpsYXN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgICAgICBmbG9hdDogbGVmdDsgfVxuICAgICAgLnNvY2lhbF9fYmxvY2s6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zb2NpYWxfX2Jsb2NrIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgIG1heC13aWR0aDogMzAwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc29jaWFsX19ibG9jayB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuc29jaWFsX19ibG9jaywgLnNvY2lhbF9fYmxvY2s6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBjbGVhcjogbm9uZTsgfVxuICAgICAgLnNvY2lhbF9fYmxvY2s6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgICAgLnNvY2lhbF9fYmxvY2s6bGFzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAgIC5zb2NpYWxfX2Jsb2NrOm50aC1jaGlsZCgxKTpudGgtbGFzdC1jaGlsZCgxKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAuc29jaWFsX19ibG9jazpudGgtY2hpbGQoMSk6bnRoLWxhc3QtY2hpbGQoMikge1xuICAgICAgICB3aWR0aDogNTAlOyB9XG4gICAgICAuc29jaWFsX19ibG9jazpudGgtY2hpbGQoMSk6bnRoLWxhc3QtY2hpbGQoMykge1xuICAgICAgICB3aWR0aDogMzMuMzMzMyU7IH1cbiAgICAgIC5zb2NpYWxfX2Jsb2NrOm50aC1jaGlsZCgxKTpudGgtbGFzdC1jaGlsZCg0KSB7XG4gICAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAgIC5zb2NpYWxfX2Jsb2NrOm50aC1jaGlsZCgyKTpudGgtbGFzdC1jaGlsZCgxKSB7XG4gICAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAgIC5zb2NpYWxfX2Jsb2NrOm50aC1jaGlsZCgyKTpudGgtbGFzdC1jaGlsZCgyKSB7XG4gICAgICAgIHdpZHRoOiAzMy4zMzMzJTsgfVxuICAgICAgLnNvY2lhbF9fYmxvY2s6bnRoLWNoaWxkKDIpOm50aC1sYXN0LWNoaWxkKDMpIHtcbiAgICAgICAgd2lkdGg6IDI1JTsgfVxuICAgICAgLnNvY2lhbF9fYmxvY2s6bnRoLWNoaWxkKDMpOm50aC1sYXN0LWNoaWxkKDEpIHtcbiAgICAgICAgd2lkdGg6IDMzLjMzMzMlOyB9XG4gICAgICAuc29jaWFsX19ibG9jazpudGgtY2hpbGQoMyk6bnRoLWxhc3QtY2hpbGQoMikge1xuICAgICAgICB3aWR0aDogMjUlOyB9XG4gICAgICAuc29jaWFsX19ibG9jazpudGgtY2hpbGQoNCk6bnRoLWxhc3QtY2hpbGQoMSkge1xuICAgICAgICB3aWR0aDogMjUlOyB9IH1cbiAgLnNvY2lhbF9fYmxvY2stLWluc3RhIC5zb2NpYWxfX3Bvc3Qge1xuICAgIHBhZGRpbmc6IDE1cHggMCA1cHg7IH1cbiAgLnNvY2lhbF9fYmxvY2sgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5zb2NpYWxfX3RpdGxlIHtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMjVweDtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgLnNvY2lhbF9fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc29jaWFsX190aXRsZSB7XG4gICAgICBmb250LXNpemU6IDM1cHg7IH0gfVxuICAuc29jaWFsX190aXRsZSBzcGFuIHtcbiAgICBtYXJnaW4tbGVmdDogNXB4OyB9XG5cbi5zb2NpYWxfX3Bvc3Qge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzAwMDtcbiAgcGFkZGluZzogMTVweCAwOyB9XG5cbi5zb2NpYWxfX2ltYWdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCBhdXRvIDEwcHg7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5zb2NpYWxfX2NvbnRlbnQge1xuICBjbGVhcjogYm90aDtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgbGluZS1oZWlnaHQ6IDEuNGVtO1xuICBtYXJnaW46IDAgMCAxMHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5zb2NpYWxfX2NvbnRlbnQgLnNvY2lhbF9faW1hZ2Uge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgIC5zb2NpYWxfX2NvbnRlbnQgLnNvY2lhbF9faW1hZ2Uge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNvY2lhbF9fY29udGVudCAuc29jaWFsX19pbWFnZSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH0gfVxuXG4uc29jaWFsX19zdGF0cyB7XG4gIGNsZWFyOiBib3RoO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgbWFyZ2luOiA1cHggMDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnNvY2lhbF9fc3RhdHMgPiBzcGFuIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5zb2NpYWxfX3N0YXRzID4gc3BhbjpsYXN0LW9mLXR5cGUge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5zb2NpYWxfX2ljb24ge1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cbiAgLnNvY2lhbF9faWNvbiA+IGkge1xuICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XG5cbi5zb2NpYWxfX2xpbmsge1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC1mYW1pbHk6ICdMb3RhLUJvbGQnO1xuICBmb250LXNpemU6IDE0cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLnNvY2lhbF9fbGluazpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiIsIkBtaXhpbiBmb3VuZGF0aW9uLW5vcm1hbGl6ZSgpIHtcbiAgLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4gIC8vIERvY3VtZW50XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cblxuICBodG1sIHtcbiAgICBsaW5lLWhlaWdodDogMS4xNTsgLy8gMVxuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gMlxuICB9XG5cbiAgLy8gU2VjdGlvbnNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAvLyBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuXG4gIGgxIHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBtYXJnaW46IDAuNjdlbSAwO1xuICB9XG5cbiAgLy8gR3JvdXBpbmcgY29udGVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gIC8vIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuXG4gIGhyIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLy8gMVxuICAgIGhlaWdodDogMDsgLy8gMVxuICAgIG92ZXJmbG93OiB2aXNpYmxlOyAvLyAyXG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgcHJlIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8vIDFcbiAgICBmb250LXNpemU6IDFlbTsgLy8gMlxuICB9XG5cbiAgLy8gVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG5cbiAgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAvLyAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICAvLyAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuXG4gIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lOyAvLyAxXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8vIDJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8vIDJcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG5cbiAgYixcbiAgc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIGNvZGUsXG4gIGtiZCxcbiAgc2FtcCB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvLyAxXG4gICAgZm9udC1zaXplOiAxZW07IC8vIDJcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6IDgwJTtcbiAgfVxuXG4gIC8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICAvLyBhbGwgYnJvd3NlcnMuXG5cbiAgc3ViLFxuICBzdXAge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cblxuICBzdWIge1xuICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgfVxuXG4gIHN1cCB7XG4gICAgdG9wOiAtMC41ZW07XG4gIH1cblxuICAvLyBFbWJlZGRlZCBjb250ZW50XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cblxuICBpbWcge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgfVxuXG4gIC8vIEZvcm1zXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cblxuICBidXR0b24sXG4gIGlucHV0LFxuICBvcHRncm91cCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8vIDFcbiAgICBmb250LXNpemU6IDEwMCU7IC8vIDFcbiAgICBsaW5lLWhlaWdodDogMS4xNTsgLy8gMVxuICAgIG1hcmdpbjogMDsgLy8gMlxuICB9XG5cbiAgLy8gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gIC8vIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG5cbiAgYnV0dG9uLFxuICBpbnB1dCB7IC8vIDFcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAvLyAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG5cbiAgYnV0dG9uLFxuICBzZWxlY3QgeyAvLyAxXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuXG4gIGJ1dHRvbixcbiAgW3R5cGU9XCJidXR0b25cIl0sXG4gIFt0eXBlPVwicmVzZXRcIl0sXG4gIFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG5cbiAgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuXG4gIGJ1dHRvbjotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG5cbiAgZmllbGRzZXQge1xuICAgIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gIC8vIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgLy8gMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAvLyAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cblxuICBsZWdlbmQge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbiAgICBjb2xvcjogaW5oZXJpdDsgLy8gMlxuICAgIGRpc3BsYXk6IHRhYmxlOyAvLyAxXG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyAxXG4gICAgcGFkZGluZzogMDsgLy8gM1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8vIDFcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG5cbiAgcHJvZ3Jlc3Mge1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuXG4gIHRleHRhcmVhIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICAvLyAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG5cbiAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxuICAgIHBhZGRpbmc6IDA7IC8vIDJcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cblxuICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cblxuICBbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIDFcbiAgICBvdXRsaW5lLW9mZnNldDogLTJweDsgLy8gMlxuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuXG4gIFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAvLyAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG5cbiAgOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDFcbiAgICBmb250OiBpbmhlcml0OyAvLyAyXG4gIH1cblxuICAvLyBJbnRlcmFjdGl2ZVxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG5cbiAgZGV0YWlscyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgc3VtbWFyeSB7XG4gICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICB9XG5cbiAgLy8gTWlzY1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cblxuICB0ZW1wbGF0ZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuXG4gIFtoaWRkZW5dIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tY29sb3ItbGl0ZXJhbHMsIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcblxuLy8vL1xuLy8vIEBncm91cCBnbG9iYWxcbi8vLy9cblxuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8vIEZvbnQgc2l6ZSBhdHRyaWJ1dGUgYXBwbGllZCB0byBgPGh0bWw+YCBhbmQgYDxib2R5PmAuIFdlIHVzZSAxMDAlIGJ5IGRlZmF1bHQgc28gdGhlIHZhbHVlIGlzIGluaGVyaXRlZCBmcm9tIHRoZSB1c2VyJ3MgYnJvd3NlciBzZXR0aW5ncy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHdpZHRoIG9mIHlvdXIgc2l0ZS4gVXNlZCBieSB0aGUgZ3JpZCB0byBkZXRlcm1pbmUgcm93IHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBhbGwgdHlwZS4gYCRnbG9iYWwtbGluZWhlaWdodGAgaXMgMjRweCB3aGlsZSBgJGdsb2JhbC1mb250LXNpemVgIGlzIDE2cHhcbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbGluZWhlaWdodDogMS41ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JzIHVzZWQgZm9yIGJ1dHRvbnMsIGNhbGxvdXRzLCBsaW5rcywgZXRjLiBUaGVyZSBtdXN0IGFsd2F5cyBiZSBhIGNvbG9yIGNhbGxlZCBgcHJpbWFyeWAuXG4vLy8gQHR5cGUgTWFwXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICMxNzc5YmEsXG4gIHNlY29uZGFyeTogIzc2NzY3NixcbiAgc3VjY2VzczogIzNhZGI3NixcbiAgd2FybmluZzogI2ZmYWUwMCxcbiAgYWxlcnQ6ICNjYzRiMzcsXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbGlnaHQgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGxpZ2h0LWdyYXk6ICNlNmU2ZTYgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBtZWRpdW0gZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJG1lZGl1bS1ncmF5OiAjY2FjYWNhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgZGFyayBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZGFyay1ncmF5OiAjOGE4YThhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgYmxhY2sgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibGFjazogIzBhMGEwYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIHdoaXRlIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kd2hpdGU6ICNmZWZlZmUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIExpc3RcbiRib2R5LWZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vLyBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSBhbnRpYWxpYXNlZCB0eXBlLCB1c2luZyB0aGUgYC13ZWJraXQtZm9udC1zbW9vdGhpbmdgIGFuZCBgLW1vei1vc3gtZm9udC1zbW9vdGhpbmdgIENTUyBwcm9wZXJ0aWVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIG1hcmdpbiBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcGFkZGluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBvc2l0aW9uaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBvc2l0aW9uOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIG5vcm1hbCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIGJvbGQgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBlbGVtZW50cyB0aGF0IGhhdmUgYSBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1yYWRpdXM6IDAgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBDYW4gYmUgb3ZlcndyaXR0ZW4gYXQgaW5kaXZpZHVhbCBtZW51IGNvbXBvbmVudCBsZXZlbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIE5lc3RlZCBtYXJnaW4gZm9yIHN1Ym1lbnUuXG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIHRleHQgZGlyZWN0aW9uIG9mIHRoZSBDU1MuIENhbiBiZSBlaXRoZXIgYGx0cmAgb3IgYHJ0bGAuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGZvciBjb21wb25lbnRzIHRoYXQgc3VwcG9ydCBpdC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLWZsZXhib3g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVkIHJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHByb3RvdHlwZXMgaWYgYXBwbGljYWJsZVxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIEJ1dHRvbiBjdXJzb3IncyB2YWx1ZSwgYGF1dG9gIGJ5IGRlZmF1bHRcbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLWJ1dHRvbi1jdXJzb3I6IGF1dG8gIWRlZmF1bHQ7XG5cbkBpZiBub3QgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICBAZXJyb3IgJ0luICRmb3VuZGF0aW9uLXBhbGV0dGUsIHlvdSBtdXN0IGhhdmUgYSBjb2xvciBuYW1lZCBcInByaW1hcnlcIi4nO1xufVxuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgdGV4dCBkaXJlY3Rpb25cbiRnbG9iYWwtbGVmdDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIHJpZ2h0LCBsZWZ0KTtcbiRnbG9iYWwtcmlnaHQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBsZWZ0LCByaWdodCk7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlIHRoYXQgY29udGFpbnMgdGhlIGZsZXgganVzdGlmeWluZyBvcHRpb25zXG4kLXpmLWZsZXgtanVzdGlmeTogLXpmLWZsZXgtanVzdGlmeSgkZ2xvYmFsLXRleHQtZGlyZWN0aW9uKTtcblxuLy8vIEdsb2JhbCB0b2xlcmFuY2UgZm9yIGNvbG9yIHBpY2sgY29udHJhc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlOiAwICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgY29sb3JzXG5AaW5jbHVkZSBhZGQtZm91bmRhdGlvbi1jb2xvcnM7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXMge1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW5vcm1hbGl6ZTtcblxuICAvLyBUaGVzZSBzdHlsZXMgYXJlIGFwcGxpZWQgdG8gYSA8bWV0YT4gdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHRcbiAgLmZvdW5kYXRpb24tbXEge1xuICAgIGZvbnQtZmFtaWx5OiAnI3stemYtYnAtc2VyaWFsaXplKCRicmVha3BvaW50cyl9JztcbiAgfVxuXG4gIGh0bWwge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIFNldCBib3gtc2l6aW5nIGdsb2JhbGx5IHRvIGhhbmRsZSBwYWRkaW5nIGFuZCBib3JkZXIgd2lkdGhzXG4gICosXG4gICo6OmJlZm9yZSxcbiAgKjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBEZWZhdWx0IGJvZHkgc3R5bGVzXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG5cbiAgICBAaWYgKCRib2R5LWFudGlhbGlhc2VkKSB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAvLyBHcmlkIGRlZmF1bHRzIHRvIGdldCBpbWFnZXMgYW5kIGVtYmVkcyB0byB3b3JrIHByb3Blcmx5XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHRleHRhcmVhIHRha2VzIG9uIGhlaWdodCBhdXRvbWF0aWNhbGx5XG4gIHRleHRhcmVhIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIE1ha2Ugc2VsZWN0IGVsZW1lbnRzIGFyZSAxMDAlIHdpZHRoIGJ5IGRlZmF1bHRcbiAgc2VsZWN0IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gU3R5bGVzIEdvb2dsZSBNYXBzIGFuZCBNYXBRdWVzdCBlbWJlZHMgcHJvcGVybHlcbiAgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1pZHNcbiAgLm1hcF9jYW52YXMsXG4gIC5tcWEtZGlzcGxheSB7XG4gICAgaW1nLFxuICAgIGVtYmVkLFxuICAgIG9iamVjdCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCA8YnV0dG9uPiBzdHlsZXMgY3JlYXRlZCBieSBtb3N0IGJyb3dzZXJzXG4gIGJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY3Vyc29yOiAkZ2xvYmFsLWJ1dHRvbi1jdXJzb3I7XG4gIH1cblxuICAvLyBQcmV2ZW50IHRleHQgb3ZlcmZsb3cgb24gcHJlXG4gIHByZSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvLyBNYWtlIHJlc2V0IGluaGVyaXQgZm9udC1mYW1pbHkgaW5zdGVhZCBvZiBzZXR0aW5ncyBzYW5zLXNlcmlmXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIG9wdGdyb3VwLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEludGVybmFsIGNsYXNzZXMgdG8gc2hvdy9oaWRlIGVsZW1lbnRzIGluIEphdmFTY3JpcHRcbiAgLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaXMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8vICBGb3VuZGF0aW9uIGZvciBTaXRlcyBTZXR0aW5nc1xuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gIFRhYmxlIG9mIENvbnRlbnRzOlxuLy9cbi8vICAgMS4gR2xvYmFsXG4vLyAgIDIuIEJyZWFrcG9pbnRzXG4vLyAgIDMuIFRoZSBHcmlkXG4vLyAgIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gICA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vICAgNi4gQWJpZGVcbi8vICAgNy4gQWNjb3JkaW9uXG4vLyAgIDguIEFjY29yZGlvbiBNZW51XG4vLyAgIDkuIEJhZGdlXG4vLyAgMTAuIEJyZWFkY3J1bWJzXG4vLyAgMTEuIEJ1dHRvblxuLy8gIDEyLiBCdXR0b24gR3JvdXBcbi8vICAxMy4gQ2FsbG91dFxuLy8gIDE0LiBDbG9zZSBCdXR0b25cbi8vICAxNS4gRHJpbGxkb3duXG4vLyAgMTYuIERyb3Bkb3duXG4vLyAgMTcuIERyb3Bkb3duIE1lbnVcbi8vICAxOC4gRmxleCBWaWRlb1xuLy8gIDE5LiBGb3Jtc1xuLy8gIDIwLiBMYWJlbFxuLy8gIDIxLiBNZWRpYSBPYmplY3Rcbi8vICAyMi4gTWVudVxuLy8gIDIzLiBNZXRlclxuLy8gIDI0LiBPZmYtY2FudmFzXG4vLyAgMjUuIE9yYml0XG4vLyAgMjYuIFBhZ2luYXRpb25cbi8vICAyNy4gUHJvZ3Jlc3MgQmFyXG4vLyAgMjguIFJldmVhbFxuLy8gIDI5LiBTbGlkZXJcbi8vICAzMC4gU3dpdGNoXG4vLyAgMzEuIFRhYmxlXG4vLyAgMzIuIFRhYnNcbi8vICAzMy4gVGh1bWJuYWlsXG4vLyAgMzQuIFRpdGxlIEJhclxuLy8gIDM1LiBUb29sdGlwXG4vLyAgMzYuIFRvcCBCYXJcblxuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8gMS4gR2xvYmFsXG4vLyAtLS0tLS0tLS1cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCU7XG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKTtcbiRnbG9iYWwtbGluZWhlaWdodDogMS41O1xuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjMjE5OWU4LFxuICBzZWNvbmRhcnk6ICM3NzcsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjZWM1ODQwLFxuKTtcbiRsaWdodC1ncmF5OiAjZTZlNmU2O1xuJG1lZGl1bS1ncmF5OiAjY2FjYWNhO1xuJGRhcmstZ3JheTogIzhhOGE4YTtcbiRibGFjazogIzAwMDtcbiR3aGl0ZTogI2ZmZjtcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjaztcbiRib2R5LWZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZTtcbiRnbG9iYWwtbWFyZ2luOiAxcmVtO1xuJGdsb2JhbC1wYWRkaW5nOiAxcmVtO1xuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWw7XG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkO1xuJGdsb2JhbC1yYWRpdXM6IDA7XG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHI7XG4kZ2xvYmFsLWZsZXhib3g6IGZhbHNlO1xuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlO1xuXG5AaW5jbHVkZSBhZGQtZm91bmRhdGlvbi1jb2xvcnM7XG5cbi8vIDIuIEJyZWFrcG9pbnRzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1vYmlsZTogNDgwcHgsXG4gIG1lZGl1bTogNjQwcHgsXG4gIHRhYmxldDogNzQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pO1xuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSk7XG5cbi8vIDMuIFRoZSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4kZ3JpZC1yb3ctd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kZ3JpZC1jb2x1bW4tY291bnQ6IDEyO1xuJGdyaWQtY29sdW1uLWd1dHRlcjogKFxuICBzbWFsbDogMjBweCxcbiAgbWVkaXVtOiAzMHB4LFxuKTtcbiRncmlkLWNvbHVtbi1hbGlnbi1lZGdlOiB0cnVlO1xuJGJsb2NrLWdyaWQtbWF4OiA4O1xuXG4vLyA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsO1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4kaGVhZGVyLXNpemVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogMjQsXG4gICAgJ2gyJzogMjAsXG4gICAgJ2gzJzogMTksXG4gICAgJ2g0JzogMTgsXG4gICAgJ2g1JzogMTcsXG4gICAgJ2g2JzogMTYsXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6IDQ4LFxuICAgICdoMic6IDQwLFxuICAgICdoMyc6IDMxLFxuICAgICdoNCc6IDI1LFxuICAgICdoNSc6IDIwLFxuICAgICdoNic6IDE2LFxuICApLFxuKTtcbiRoZWFkZXItY29sb3I6IGluaGVyaXQ7XG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJHNtYWxsLWZvbnQtc2l6ZTogODAlO1xuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNjtcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRjb2RlLWNvbG9yOiAkYmxhY2s7XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKTtcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lO1xuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvO1xuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KTtcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2s7XG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCk7XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrO1xuXG4vLyA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNTtcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNjtcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40O1xuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheTtcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtO1xuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kc3RhdC1mb250LXNpemU6IDIuNXJlbTtcblxuLy8gNi4gQWJpZGVcbi8vIC0tLS0tLS0tXG5cbiRhYmlkZS1pbnB1dHM6IHRydWU7XG4kYWJpZGUtbGFiZWxzOiB0cnVlO1xuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCk7XG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCk7XG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbi8vIDcuIEFjY29yZGlvblxuLy8gLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWU7XG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6IGZvcmVncm91bmQoJGFjY29yZGlvbi1iYWNrZ3JvdW5kLCAkcHJpbWFyeS1jb2xvcik7XG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtO1xuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogZm9yZWdyb3VuZCgkYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZCwgJGJvZHktZm9udC1jb2xvcik7XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcblxuLy8gOC4gQWNjb3JkaW9uIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZTtcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblxuLy8gOS4gQmFkZ2Vcbi8vIC0tLS0tLS0tXG5cbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRiYWRnZS1jb2xvcjogZm9yZWdyb3VuZCgkYmFkZ2UtYmFja2dyb3VuZCk7XG4kYmFkZ2UtcGFkZGluZzogMC4zZW07XG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtO1xuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtO1xuXG4vLyAxMC4gQnJlYWRjcnVtYnNcbi8vIC0tLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbTtcbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZTtcbiRicmVhZGNydW1icy1pdGVtLXNsYXNoOiB0cnVlO1xuXG4vLyAxMS4gQnV0dG9uXG4vLyAtLS0tLS0tLS0tXG5cbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbTtcbiRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcbiRidXR0b24tZmlsbDogc29saWQ7XG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpO1xuJGJ1dHRvbi1jb2xvcjogJHdoaXRlO1xuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjaztcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRidXR0b24tc2l6ZXM6IChcbiAgdGlueTogMC42cmVtLFxuICBzbWFsbDogMC43NXJlbSxcbiAgZGVmYXVsdDogMC45cmVtLFxuICBsYXJnZTogMS4yNXJlbSxcbik7XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG5cbi8vIDEyLiBCdXR0b24gR3JvdXBcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbTtcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHg7XG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJztcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2O1xuXG4vLyAxMy4gQ2FsbG91dFxuLy8gLS0tLS0tLS0tLS1cblxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSU7XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSk7XG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDA7XG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtO1xuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kO1xuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYWxsb3V0LWxpbmstdGludDogMzAlO1xuXG4vLyAxNC4gQ2xvc2UgQnV0dG9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wO1xuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAxcmVtO1xuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogMC41cmVtO1xuJGNsb3NlYnV0dG9uLXNpemU6IDJlbTtcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxO1xuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5O1xuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2s7XG5cbi8vIDE1LiBEcmlsbGRvd25cbi8vIC0tLS0tLS0tLS0tLS1cblxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyO1xuJGRyaWxsZG93bi1hcnJvd3M6IHRydWU7XG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlO1xuXG4vLyAxNi4gRHJvcGRvd25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd24tcGFkZGluZzogMXJlbTtcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtO1xuJGRyb3Bkb3duLXdpZHRoOiAzMDBweDtcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbik7XG5cbi8vIDE3LiBEcm9wZG93biBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZTtcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3I7XG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHg7XG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuXG4vLyAxOC4gRmxleCBWaWRlb1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJGZsZXh2aWRlby1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XG4kZmxleHZpZGVvLXJhdGlvOiA0IGJ5IDM7XG4kZmxleHZpZGVvLXJhdGlvLXdpZGVzY3JlZW46IDE2IGJ5IDk7XG5cbi8vIDE5LiBGb3Jtc1xuLy8gLS0tLS0tLS0tXG5cbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApO1xuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCk7XG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMyk7XG4kZm9ybS1zcGFjaW5nOiByZW0tY2FsYygxNik7XG4kaGVscHRleHQtY29sb3I6ICRibGFjaztcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWM7XG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW07XG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrO1xuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuODtcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlO1xuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheTtcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRpbnB1dC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKTtcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5O1xuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQ7XG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlO1xuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIwLiBMYWJlbFxuLy8gLS0tLS0tLS0tXG5cbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRsYWJlbC1jb2xvcjogZm9yZWdyb3VuZCgkbGFiZWwtYmFja2dyb3VuZCk7XG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW07XG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjEuIE1lZGlhIE9iamVjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJTtcblxuLy8gMjIuIE1lbnVcbi8vIC0tLS0tLS0tXG5cbiRtZW51LW1hcmdpbjogMDtcbiRtZW51LW1hcmdpbi1uZXN0ZWQ6IDFyZW07XG4kbWVudS1pdGVtLXBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZTtcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG5cbi8vIDIzLiBNZXRlclxuLy8gLS0tLS0tLS0tXG5cbiRtZXRlci1oZWlnaHQ6IDFyZW07XG4kbWV0ZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRtZXRlci1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kbWV0ZXItZmlsbC1nb29kOiAkc3VjY2Vzcy1jb2xvcjtcbiRtZXRlci1maWxsLW1lZGl1bTogJHdhcm5pbmctY29sb3I7XG4kbWV0ZXItZmlsbC1iYWQ6ICRhbGVydC1jb2xvcjtcblxuLy8gMjQuIE9mZi1jYW52YXNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRvZmZjYW52YXMtc2l6ZTogMjUwcHg7XG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJG9mZmNhbnZhcy16aW5kZXg6IC0xO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cztcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2U7XG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZTtcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSk7XG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnO1xuJG1haW5jb250ZW50LXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNSk7XG5cbi8vIDI1LiBPcmJpdFxuLy8gLS0tLS0tLS0tXG5cbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheTtcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMDtcblxuLy8gMjYuIFBhZ2luYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApO1xuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKTtcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiBmb3JlZ3JvdW5kKCRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50KTtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO1xuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlO1xuXG4vLyAyNy4gUHJvZ3Jlc3MgQmFyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm9ncmVzcy1oZWlnaHQ6IDFyZW07XG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDI4LiBSZXZlYWxcbi8vIC0tLS0tLS0tLS1cblxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kcmV2ZWFsLXdpZHRoOiA2MDBweDtcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRyZXZlYWwtemluZGV4OiAxMDA1O1xuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KTtcblxuLy8gMjkuIFNsaWRlclxuLy8gLS0tLS0tLS0tLVxuXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW07XG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuJHNsaWRlci1oZWlnaHQ6IDAuNXJlbTtcbiRzbGlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHNsaWRlci1oYW5kbGUtaGVpZ2h0OiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS13aWR0aDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG4kc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDMwLiBTd2l0Y2hcbi8vIC0tLS0tLS0tLS1cblxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvcjtcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtO1xuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtO1xuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW07XG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtO1xuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luO1xuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtO1xuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcblxuLy8gMzEuIFRhYmxlXG4vLyAtLS0tLS0tLS1cblxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWJsZS1jb2xvci1zY2FsZTogNSU7XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCk7XG4kdGFibGUtaG92ZXItc2NhbGU6IDIlO1xuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXN0cmlwZTogZXZlbjtcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKTtcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2U7XG5cbi8vIDMyLiBUYWJzXG4vLyAtLS0tLS0tLVxuXG4kdGFiLW1hcmdpbjogMDtcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXk7XG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlO1xuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuJHRhYi1leHBhbmQtbWF4OiA2O1xuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5O1xuJHRhYi1jb250ZW50LWNvbG9yOiBmb3JlZ3JvdW5kKCR0YWItYmFja2dyb3VuZCwgJHByaW1hcnktY29sb3IpO1xuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDMzLiBUaHVtYm5haWxcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGU7XG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKTtcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpO1xuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAzNC4gVGl0bGUgQmFyXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2s7XG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW07XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZDtcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5O1xuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbTtcblxuLy8gMzUuIFRvb2x0aXBcbi8vIC0tLS0tLS0tLS0tXG5cbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5O1xuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW07XG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW07XG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NjtcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDM2LiBUb3AgQmFyXG4vLyAtLS0tLS0tLS0tLVxuXG4kdG9wYmFyLXBhZGRpbmc6IDAuNXJlbTtcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJHRvcGJhci1iYWNrZ3JvdW5kO1xuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAxcmVtO1xuJHRvcGJhci1pbnB1dC13aWR0aDogMjAwcHg7XG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xuXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENyZWF0ZXMgYW4gaW5uZXIgYm94LXNoYWRvdyBmb3Igb25seSBvbmUgc2lkZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2lkZSAtIFNpZGUgdGhlIHNoYWRvdyBpcyBzdXBwb3NlZCB0byBhcHBlYXIuIENhbiBiZSBgdG9wYCwgYGxlZnRgLCBgcmlnaHRgIG9yIGBib3R0b21gLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSAtIFdpZHRoIGZvciB0aGUgdGFyZ2V0IHNpZGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3Igb2YgdGhlIHNoYWRvdy5cbkBtaXhpbiBpbm5lci1zaWRlLXNoYWRvdyhcbiAgJHNpZGU6IGJvdHRvbSxcbiAgJHNpemU6IDIwcHgsXG4gICRjb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpXG4pIHtcblxuICAkaGVscGVyOiByb3VuZCgkc2l6ZSAqIDAuNjUpO1xuXG4gIEBpZiAoJHNpZGUgPT0gdG9wKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAkaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGxlZnQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAkaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gcmlnaHQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAoLTEpKiRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBib3R0b20pIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICgtMSkqJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgQ1NTIHRyaWFuZ2xlLCB3aGljaCBjYW4gYmUgdXNlZCBmb3IgZHJvcGRvd24gYXJyb3dzLCBkcm9wZG93biBwaXBzLCBhbmQgbW9yZS4gVXNlIHRoaXMgbWl4aW4gaW5zaWRlIGEgYCY6OmJlZm9yZWAgb3IgYCY6OmFmdGVyYCBzZWxlY3RvciwgdG8gYXR0YWNoIHRoZSB0cmlhbmdsZSB0byBhbiBleGlzdGluZyBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0cmlhbmdsZS1zaXplIC0gV2lkdGggb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICR0cmlhbmdsZS1jb2xvciAtIENvbG9yIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0cmlhbmdsZS1kaXJlY3Rpb24gLSBEaXJlY3Rpb24gdGhlIHRyaWFuZ2xlIHBvaW50cy4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLlxuQG1peGluIGNzcy10cmlhbmdsZShcbiAgJHRyaWFuZ2xlLXNpemUsXG4gICR0cmlhbmdsZS1jb2xvcixcbiAgJHRyaWFuZ2xlLWRpcmVjdGlvblxuKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuXG4gIGJvcmRlcjogaW5zZXQgJHRyaWFuZ2xlLXNpemU7XG5cbiAgY29udGVudDogJyc7XG5cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGRvd24pIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSB1cCkge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHJpZ2h0KSB7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBtZW51IGljb24gd2l0aCBhIHNldCB3aWR0aCwgaGVpZ2h0LCBudW1iZXIgb2YgYmFycywgYW5kIGNvbG9ycy4gVGhlIG1peGluIHVzZXMgdGhlIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiB0aGUgYmFycyB0byBkZXRlcm1pbmUgc3BhY2luZy4gPGRpdiBjbGFzcz1cImRvY3MtZXhhbXBsZS1idXJnZXJcIj48L2Rpdj5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yLWhvdmVyIFskZGFyay1ncmF5XSAtIENvbG9yIHRvIHVzZSB3aGVuIHRoZSBpY29uIGlzIGhvdmVyZWQgb3Zlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFsyMHB4XSAtIFdpZHRoIG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFsxNnB4XSAtIEhlaWdodCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCBbMnB4XSAtIEhlaWdodCBvZiBpbmRpdmlkdWFsIGJhcnMgaW4gdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXJzIFszXSAtIE51bWJlciBvZiBiYXJzIGluIHRoZSBpY29uLlxuQG1peGluIGhhbWJ1cmdlcihcbiAgJGNvbG9yOiAkYmxhY2ssXG4gICRjb2xvci1ob3ZlcjogJGRhcmstZ3JheSxcbiAgJHdpZHRoOiAyMHB4LFxuICAkaGVpZ2h0OiAxNnB4LFxuICAkd2VpZ2h0OiAycHgsXG4gICRiYXJzOiAzXG4pIHtcbiAgLy8gYm94LXNoYWRvdyBDU1Mgb3V0cHV0XG4gICRzaGFkb3c6ICgpO1xuICAkaG92ZXItc2hhZG93OiAoKTtcblxuICAvLyBTcGFjaW5nIGJldHdlZW4gYmFycyBpcyBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSB0b3RhbCBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgZWFjaCBiYXJcbiAgJHNwYWNpbmc6ICgkaGVpZ2h0IC0gKCR3ZWlnaHQgKiAkYmFycykpIC8gKCRiYXJzIC0gMSk7XG5cbiAgQGlmIHVuaXQoJHNwYWNpbmcpID09ICdweCcge1xuICAgICRzcGFjaW5nOiBmbG9vcigkc3BhY2luZyk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICRzaGFkb3c6IGFwcGVuZCgkc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3IsIGNvbW1hKTtcbiAgfVxuXG4gIC8vIEljb24gY29udGFpbmVyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAvLyBJY29uIGJhcnNcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHdlaWdodDtcblxuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICBib3gtc2hhZG93OiAkc2hhZG93O1xuXG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaWYgJGNvbG9yLWhvdmVyIHtcbiAgICAvLyBHZW5lcmF0ZSBDU1NcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgICAkaG92ZXItc2hhZG93OiBhcHBlbmQoJGhvdmVyLXNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLWhvdmVyLCBjb21tYSk7XG4gICAgfVxuXG4gICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xuICAgICAgYm94LXNoYWRvdzogJGhvdmVyLXNoYWRvdztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkb3dud2FyZC1mYWNpbmcgdHJpYW5nbGUgYXMgYSBiYWNrZ3JvdW5kIGltYWdlIHRvIGFuIGVsZW1lbnQuIFRoZSBpbWFnZSBpcyBmb3JtYXR0ZWQgYXMgYW4gU1ZHLCBtYWtpbmcgaXQgZWFzeSB0byBjaGFuZ2UgdGhlIGNvbG9yLiBCZWNhdXNlIEludGVybmV0IEV4cGxvcmVyIGRvZXNuJ3Qgc3VwcG9ydCBlbmNvZGVkIFNWR3MgYXMgYmFja2dyb3VuZCBpbWFnZXMsIGEgUE5HIGZhbGxiYWNrIGlzIGFsc28gaW5jbHVkZWQuXG4vLy8gVGhlcmUgYXJlIHR3byBQTkcgZmFsbGJhY2tzOiBhIGJsYWNrIHRyaWFuZ2xlIGFuZCBhIHdoaXRlIHRyaWFuZ2xlLiBUaGUgb25lIHVzZWQgZGVwZW5kcyBvbiB0aGUgbGlnaHRuZXNzIG9mIHRoZSBpbnB1dCBjb2xvci5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIHRyaWFuZ2xlLlxuQG1peGluIGJhY2tncm91bmQtdHJpYW5nbGUoJGNvbG9yOiAkYmxhY2spIHtcbiAgJHJnYjogJ3JnYiUyOCN7cm91bmQocmVkKCRjb2xvcikpfSwgI3tyb3VuZChncmVlbigkY29sb3IpKX0sICN7cm91bmQoYmx1ZSgkY29sb3IpKX0lMjknO1xuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogI3skcmdifSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIHtcbiAgICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPCA2MCUge1xuICAgICAgLy8gV2hpdGUgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBCbGFjayB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQU1CSlJFRlVlTnJFbGxzT2hDQU1SVnN6QzlJbHpVN0tDbVZIVEpzb01XWU1VdHB5djlCZ2J1WFFCNVpTZGdCWVlZNHljZ0Jpdms4S1lGc1FNZk1pVFRCUDRvM25VekNLek9hYkxKYkx5Mi9nMzFldkdrQWdpblI0L1plZ0tINXFYM2JKQ3NjQTN0MHgza2dPNXRRRnloaEZmNTB4UnFGTGJ5TVVOSlF6Z3lqR1Mvd2dDcHZLcWtSQnB1V3JFNFY5ZCsxRTRkUFVYcUlnMTA3U1FPRS8yRFJReE13VER5Z0lJblZERVQ5VDNsQ29qLzZqL1ZDbUdqWk9sMmxLcFo4QUF3RFFQN3pJaW1ER0ZRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBcHBsaWVzIHRoZSBtaWNybyBjbGVhcmZpeCBoYWNrIHBvcHVsYXJpemVkIGJ5IE5pY29sYXMgR2FsbGFnaGVyLiBJbmNsdWRlIHRoaXMgbWl4aW4gb24gYSBjb250YWluZXIgaWYgaXRzIGNoaWxkcmVuIGFyZSBhbGwgZmxvYXRlZCwgdG8gZ2l2ZSB0aGUgY29udGFpbmVyIGEgcHJvcGVyIGhlaWdodC5cbi8vLyBUaGUgY2xlYXJmaXggaXMgYXVnbWVudGVkIHdpdGggc3BlY2lmaWMgc3R5bGVzIHRvIHByZXZlbnQgYm9yZGVycyBpbiBmbGV4Ym94IGVudmlyb25tZW50c1xuLy8vIEBsaW5rIGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrLyBNaWNybyBDbGVhcmZpeCBIYWNrXG4vLy8gQGxpbmsgaHR0cDovL2RhbmlzYWRlc2lnbmVyLmNvbS9ibG9nL2ZsZXhib3gtY2xlYXItZml4LXBzZXVkby1lbGVtZW50cy8gRmxleGJveCBmaXhcbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLy8gQWRkcyBDU1MgZm9yIGEgXCJxdWFudGl0eSBxdWVyeVwiIHNlbGVjdG9yIHRoYXQgYXV0b21hdGljYWxseSBzaXplcyBlbGVtZW50cyBiYXNlZCBvbiBob3cgbWFueSB0aGVyZSBhcmUgaW5zaWRlIGEgY29udGFpbmVyLlxuLy8vIEBsaW5rIGh0dHA6Ly9hbGlzdGFwYXJ0LmNvbS9hcnRpY2xlL3F1YW50aXR5LXF1ZXJpZXMtZm9yLWNzcyBRdWFudGl0eSBRdWVyaWVzIGZvciBDU1Ncbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IC0gTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gZGV0ZWN0LiBUaGUgaGlnaGVyIHRoaXMgbnVtYmVyIGlzLCB0aGUgbW9yZSBDU1MgdGhhdCdzIHJlcXVpcmVkIHRvIGNvdmVyIGVhY2ggbnVtYmVyIG9mIGl0ZW1zLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGVsZW0gW2xpXSAtIFRhZyB0byB1c2UgZm9yIHNpYmxpbmcgc2VsZWN0b3JzLlxuQG1peGluIGF1dG8td2lkdGgoJG1heCwgJGVsZW06IGxpKSB7XG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJG1heCB7XG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQsXG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQgfiAjeyRlbGVtfSB7XG4gICAgICB3aWR0aDogcGVyY2VudGFnZSgxIC8gJGkpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyB0aGUgZm9jdXMgcmluZyBhcm91bmQgYW4gZWxlbWVudCB3aGVuIGEgbW91c2UgaW5wdXQgaXMgZGV0ZWN0ZWQuXG5AbWl4aW4gZGlzYWJsZS1tb3VzZS1vdXRsaW5lIHtcbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddICYge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgc3RpbGwgYWNjZXNzaWJsZSB0byBrZXlib2FyZHMgYW5kIGFzc2lzdGl2ZSBkZXZpY2VzLlxuLy8vIEBsaW5rIGh0dHA6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHkgSGlkaW5nIENvbnRlbnQgZm9yIEFjY2Vzc2liaWxpdHlcbi8vLyBAbGluayBodHRwOi8vaHVnb2dpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsMCwwLDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBib3JkZXI6IDA7XG59XG5cbi8vLyBSZXZlcnNlcyB0aGUgQ1NTIG91dHB1dCBjcmVhdGVkIGJ5IHRoZSBgZWxlbWVudC1pbnZpc2libGUoKWAgbWl4aW4uXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUtb2ZmIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bztcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgaXRlcmF0ZSBvdmVyIGJyZWFrcG9pbnRzIHdpdGhvdXQgZG9pbmcgdGhlIG1lZGlhIHF1ZXJ5IGl0c2VsZi4gVXNlZnVsIGZvciBtb3JlIGNvbXBsZXggbWVkaWEgcXVlcnkgZ2VuZXJhdGlvbiBhcyBpbiB0aGUgbWFyZ2luIGdyaWQuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IHRydWUsICRhdXRvLWluc2VydC1icmVha3BvaW50czogdHJ1ZSkge1xuICAkbGlzdDogJGJyZWFrcG9pbnQtY2xhc3NlcztcblxuICBAaWYgbm90ICRzbWFsbCB7XG4gICAgJGxpc3Q6IHNsLXJlbW92ZSgkbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUgaW4gJGxpc3Qge1xuICAgICRvbGQtemYtc2l6ZTogbnVsbDtcbiAgICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gICAgfVxuICAgICQtemYtc2l6ZTogJG5hbWUgIWdsb2JhbDtcblxuICAgIEBpZiAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgdGhlIGBAY29udGVudGAgcGFzc2VkIHRvIHRoZSBtaXhpbiB3aXRoIGEgdmFsdWUgYCQtemYtYnAtdmFsdWVgIHJlbGF0ZWQgdG8gYSBicmVha3BvaW50LCBkZXBlbmRpbmcgb24gdGhlIGAkbmFtZWAgcGFyYW1ldGVyOlxuLy8vIC0gRm9yIGEgc2luZ2xlIHZhbHVlLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhpcyB2YWx1ZS5cbi8vLyAtIEZvciBhIGJyZWFrcG9pbnQgbmFtZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgLlxuLy8vIC0gRm9yIFwiYXV0b1wiLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAgYW5kIGlzIHBhc3NlZCB0byBgQGNvbnRlbnRgLCB3aGljaCBpcyBtYWRlIHJlc3BvbnNpdmUgZm9yIGVhY2ggYnJlYWtwb2ludCBvZiBgJG1hcGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8QXJyYXl8S2V5d29yZH0gJG5hbWUgW2F1dG9dIC0gU2luZ2xlIHZhbHVlLCBicmVha3BvaW50IG5hbWUsIG9yIGxpc3Qgb2YgYnJlYWtwb2ludCBuYW1lcyB0byB1c2UuIFwiYXV0b1wiIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gTWFwIG9mIGJyZWFrcG9pbnRzIGFuZCB2YWx1ZXMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS5cbkBtaXhpbiAtemYtYnJlYWtwb2ludC12YWx1ZShcbiAgJG5hbWU6IGF1dG8sXG4gICRtYXA6IG51bGxcbikge1xuICBAaWYgJG5hbWUgPT0gYXV0byBhbmQgdHlwZS1vZigkbWFwKSA9PSAnbWFwJyB7XG4gICAgLy8gXCJhdXRvXCJcbiAgICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRrKSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCR2LCAkbWFwKSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIGJyZWFrcG9pbnQgbmFtZVxuICAgIEBpZiB0eXBlLW9mKCRuYW1lKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkbmFtZTogLXpmLWdldC1icC12YWwoJG1hcCwgJG5hbWUpO1xuICAgIH1cblxuICAgIC8vIGJyZWFrcG9pbnQgdmFsdWVcbiAgICAkLXpmLWJwLXZhbHVlOiAkbmFtZSAhZ2xvYmFsO1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBPdXRwdXRzIENTUyBjbGFzc2VzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBtaXhpbiBmb3VuZGF0aW9uLWdyaWQoXG4gICRyb3c6ICdyb3cnLFxuICAkY29sdW1uOiAnY29sdW1uJyxcbiAgJGNvbHVtbi1yb3c6ICdjb2x1bW4tcm93JyxcbiAgJGd1dHRlcjogJ2d1dHRlcicsXG4gICRwdXNoOiAncHVzaCcsXG4gICRwdWxsOiAncHVsbCcsXG4gICRjZW50ZXI6ICdjZW50ZXJlZCcsXG4gICR1bmNlbnRlcjogJ3VuY2VudGVyZWQnLFxuICAkY29sbGFwc2U6ICdjb2xsYXBzZScsXG4gICR1bmNvbGxhcHNlOiAndW5jb2xsYXBzZScsXG4gICRvZmZzZXQ6ICdvZmZzZXQnLFxuICAkZW5kOiAnZW5kJyxcbiAgJGV4cGFuZGVkOiAnZXhwYW5kZWQnLFxuICAkYmxvY2s6ICdibG9jaydcbikge1xuICAvLyBSb3dcbiAgLiN7JHJvd30ge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93O1xuXG4gICAgLy8gQ29sbGFwc2luZ1xuICAgICYuI3skY29sbGFwc2V9IHtcbiAgICAgID4gLiN7JGNvbHVtbn0ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOZXN0aW5nXG4gICAgJiAuI3skcm93fSB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRncmlkLWNvbHVtbi1ndXR0ZXIpO1xuXG4gICAgICAmLiN7JGNvbGxhcHNlfSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXhwYW5kZWQgKGZ1bGwtd2lkdGgpIHJvd1xuICAgICYuI3skZXhwYW5kZWR9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoZXhwYW5kKTtcblxuICAgICAgLiN7JHJvd30ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KC4jeyRleHBhbmRlZH0pIC4jeyRyb3d9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoZXhwYW5kKTtcbiAgICB9XG5cbiAgICBAaWYgdHlwZS1vZigkZ3JpZC1jb2x1bW4tZ3V0dGVyKSA9PSAnbWFwJyB7XG4gICAgICAvLyBTdGF0aWMgKHVucmVzcG9uc2l2ZSkgcm93IGd1dHRlcnNcbiAgICAgIC8vXG4gICAgICBAZWFjaCAkYnJlYWtwb2ludCwgJHZhbHVlIGluICRncmlkLWNvbHVtbi1ndXR0ZXIge1xuICAgICAgICAmLiN7JGd1dHRlcn0tI3skYnJlYWtwb2ludH0ge1xuICAgICAgICAgID4gLiN7JGNvbHVtbn0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtZ3V0dGVyKCR2YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ29sdW1uXG4gIC4jeyRjb2x1bW59IHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbDtcblxuICAgIEBpZiAkZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZSB7XG4gICAgICAmLiN7JGVuZH0ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1lbmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ29sdW1uIHJvd1xuICAvLyBUaGUgZG91YmxlIC5yb3cgY2xhc3MgaXMgbmVlZGVkIHRvIGJ1bXAgdXAgdGhlIHNwZWNpZmljaXR5XG4gIC4jeyRjb2x1bW59LiN7JHJvd30uI3skcm93fSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cblxuICAvLyBUbyBwcm9wZXJseSBuZXN0IGEgY29sdW1uIHJvdywgcGFkZGluZyBhbmQgbWFyZ2luIGlzIHJlbW92ZWRcbiAgLiN7JHJvd30gLiN7JGNvbHVtbn0uI3skcm93fS4jeyRyb3d9IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbi1jb3VudCB7XG4gICAgICAvLyBDb2x1bW4gd2lkdGhcbiAgICAgIC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1zaXplKCRpKTtcbiAgICAgIH1cblxuICAgICAgLy8gU291cmNlIG9yZGVyaW5nXG4gICAgICBAaWYgJGkgPCAkZ3JpZC1jb2x1bW4tY291bnQge1xuICAgICAgICAuI3skLXpmLXNpemV9LSN7JHB1c2h9LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoJGkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLiN7JC16Zi1zaXplfS0jeyRwdWxsfS0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtcG9zKC0kaSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gT2Zmc2V0c1xuICAgICAgJG86ICRpIC0gMTtcblxuICAgICAgLiN7JC16Zi1zaXplfS0jeyRvZmZzZXR9LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtb2ZmKCRvKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCbG9jayBncmlkXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkYmxvY2stZ3JpZC1tYXgge1xuICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtbGF5b3V0KCRpLCAnLiN7JGNvbHVtbn0nKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIGNvbGxhcHNpbmdcbiAgICAuI3skLXpmLXNpemV9LSN7JGNvbGxhcHNlfSB7XG4gICAgICA+IC4jeyRjb2x1bW59IHsgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7IH1cblxuICAgICAgLiN7JHJvd30ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC4jeyRleHBhbmRlZH0uI3skcm93fSAuI3skLXpmLXNpemV9LSN7JGNvbGxhcHNlfS4jeyRyb3d9IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tI3skdW5jb2xsYXBzZX0ge1xuICAgICAgPiAuI3skY29sdW1ufSB7IEBpbmNsdWRlIGdyaWQtY29sLWd1dHRlcigkLXpmLXNpemUpOyB9XG4gICAgfVxuXG4gICAgLy8gUG9zaXRpb25pbmdcbiAgICAuI3skLXpmLXNpemV9LSN7JGNlbnRlcn0ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtcG9zKGNlbnRlcik7XG4gICAgfVxuXG4gICAgLy8gR3V0dGVyIGFkanVzdG1lbnRcbiAgICAuI3skLXpmLXNpemV9LSN7JHVuY2VudGVyfSxcbiAgICAuI3skLXpmLXNpemV9LSN7JHB1c2h9LTAsXG4gICAgLiN7JC16Zi1zaXplfS0jeyRwdWxsfS0wIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXVucG9zO1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrIGdyaWQgY29sdW1uc1xuICAuI3skY29sdW1ufS0jeyRibG9ja30ge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLW1hcmdpbjtcbiAgfVxuXG4gIEBpZiAkY29sdW1uID09ICdjb2x1bW4nIGFuZCBoYXMtdmFsdWUoJGdyaWQtY29sdW1uLWFsaWFzKSB7XG4gICAgLiN7JGdyaWQtY29sdW1uLWFsaWFzfSB7XG4gICAgICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1ibG9jayBwbGFjZWhvbGRlci1pbi1leHRlbmRcbiAgICAgIEBleHRlbmQgLmNvbHVtbjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIENoYW5nZSB0aGUgYmVoYXZpb3Igb2YgY29sdW1ucyBkZWZpbmVkIGluc2lkZSB0aGlzIG1peGluIHRvIHVzZSBhIGRpZmZlcmVudCBjb2x1bW4gY291bnQuXG4vLy8gQGNvbnRlbnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRyb290IFtmYWxzZV1cbi8vLyAgIElmIGBmYWxzZWAsIHNlbGVjdG9ycyBpbnNpZGUgdGhpcyBtaXhpbiB3aWxsIG5lc3QgaW5zaWRlIHRoZSBwYXJlbnQgc2VsZWN0b3IuXG4vLy8gICBJZiBgdHJ1ZWAsIHNlbGVjdG9ycyB3aWxsIG5vdCBuZXN0LlxuQG1peGluIGdyaWQtY29udGV4dChcbiAgJGNvbHVtbnMsXG4gICRyb290OiBmYWxzZVxuKSB7XG4gIC8vIFN0b3JlIHRoZSBjdXJyZW50IGNvbHVtbiBjb3VudCBzbyBpdCBjYW4gYmUgcmUtc2V0IGxhdGVyXG4gICRvbGQtZ3JpZC1jb2x1bW4tY291bnQ6ICRncmlkLWNvbHVtbi1jb3VudDtcbiAgJGdyaWQtY29sdW1uLWNvdW50OiAkY29sdW1ucyAhZ2xvYmFsO1xuXG4gIEBpZiAkcm9vdCB7XG4gICAgQGF0LXJvb3QgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIFJlc3RvcmUgdGhlIG9sZCBjb2x1bW4gY291bnRcbiAgJGdyaWQtY29sdW1uLWNvdW50OiAkb2xkLWdyaWQtY29sdW1uLWNvdW50ICFnbG9iYWw7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCByb3cuXG4vLy8gQGNvbnRlbnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyBbbnVsbF0gLSBDb2x1bW4gY291bnQgZm9yIHRoaXMgcm93LiBgbnVsbGAgd2lsbCB1c2UgdGhlIGRlZmF1bHQgY29sdW1uIGNvdW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZHN9ICRiZWhhdmlvciBbbnVsbF1cbi8vLyAgIE1vZGlmaWNhdGlvbnMgdG8gdGhlIGRlZmF1bHQgZ3JpZCBzdHlsZXMuIGBuZXN0YCBpbmRpY2F0ZXMgdGhlIHJvdyB3aWxsIGJlIHBsYWNlZCBpbnNpZGUgYW5vdGhlciByb3cuIGBjb2xsYXBzZWAgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbHVtbnMgaW5zaWRlIHRoaXMgcm93IHdpbGwgbm90IGhhdmUgcGFkZGluZy4gYG5lc3QgY29sbGFwc2VgIGNvbWJpbmVzIGJvdGggYmVoYXZpb3JzLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFskZ3JpZC1yb3ctd2lkdGhdIE1heGltdW0gc2l6ZSBvZiB0aGUgcm93LiBTZXQgdG8gYGV4cGFuZGAgdG8gbWFrZSB0aGUgcm93IHRha2luZyB0aGUgZnVsbCB3aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRjZiBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIGEgY2xlYXJmaXguXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucy4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLXJvdyhcbiAgJGNvbHVtbnM6IG51bGwsXG4gICRiZWhhdmlvcjogbnVsbCxcbiAgJHNpemU6ICRncmlkLXJvdy13aWR0aCxcbiAgJGNmOiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gICRtYXJnaW46IGF1dG87XG5cbiAgQGlmIGluZGV4KCRiZWhhdmlvciwgbmVzdCkgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3V0dGVycyk7XG5cbiAgICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBjb2xsYXBzZSkgIT0gbnVsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoJHNpemUpO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIEBpZiAkY2Yge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG5cbiAgQGlmICRjb2x1bW5zICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtY29udGV4dCgkY29sdW1ucykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBJbnZlcnRzIHRoZSBtYXJnaW5zIG9mIGEgcm93IHRvIG5lc3QgaXQgaW5zaWRlIG9mIGEgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucy4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLXJvdy1uZXN0KCRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICRtYXJnaW46IHJlbS1jYWxjKC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkLXpmLXNpemUpKSAvIDIgKiAtMTtcblxuICAgIG1hcmdpbi1yaWdodDogJG1hcmdpbjtcbiAgICBtYXJnaW4tbGVmdDogJG1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0IGEgZ3JpZCByb3cgc2l6ZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgWyRncmlkLXJvdy13aWR0aF0gTWF4aW11bSBzaXplIG9mIHRoZSByb3cuIFNldCB0byBgZXhwYW5kYCB0byBtYWtlIHRoZSByb3cgdGFraW5nIHRoZSBmdWxsIHdpZHRoLlxuQG1peGluIGdyaWQtcm93LXNpemUoJHNpemU6ICRncmlkLXJvdy13aWR0aCkge1xuICBAaWYgJHNpemUgPT0gZXhwYW5kIHtcbiAgICAkc2l6ZTogbm9uZTtcbiAgfVxuXG4gIG1heC13aWR0aDogJHNpemU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBSZW1vdmVzIHRoZSB1bml0IChlLmcuIHB4LCBlbSwgcmVtKSBmcm9tIGEgdmFsdWUsIHJldHVybmluZyB0aGUgbnVtYmVyIG9ubHkuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bSAtIE51bWJlciB0byBzdHJpcCB1bml0IGZyb20uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgc2FtZSBudW1iZXIsIHNhbnMgdW5pdC5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW0pIHtcbiAgQHJldHVybiAkbnVtIC8gKCRudW0gKiAwICsgMSk7XG59XG5cbi8vLyBDb252ZXJ0cyBvbmUgb3IgbW9yZSBwaXhlbCB2YWx1ZXMgaW50byBtYXRjaGluZyByZW0gdmFsdWVzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHZhbHVlcyAtIE9uZSBvciBtb3JlIHZhbHVlcyB0byBjb252ZXJ0LiBCZSBzdXJlIHRvIHNlcGFyYXRlIHRoZW0gd2l0aCBzcGFjZXMgYW5kIG5vdCBjb21tYXMuIElmIHlvdSBuZWVkIHRvIGNvbnZlcnQgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCwgd3JhcCB0aGUgbGlzdCBpbiBwYXJlbnRoZXNlcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gVGhlIGJhc2UgdmFsdWUgdG8gdXNlIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGByZW1gLiBJZiB5b3UncmUgdXNpbmcgRm91bmRhdGlvbiBvdXQgb2YgdGhlIGJveCwgdGhpcyBpcyAxNnB4LiBJZiB0aGlzIHBhcmFtZXRlciBpcyBgbnVsbGAsIHRoZSBmdW5jdGlvbiB3aWxsIHJlZmVyZW5jZSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBVc2luZyByZW0gYXMgYmFzZSBhbGxvd3MgY29ycmVjdCBzY2FsaW5nXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtLWNhbGMoJHZhbHVlLCAkYmFzZTogMTZweCk7XG4gIH1cblxuICAvLyBUaGVuIHRoZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gZW1zXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xuICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBlbSBpbnRvIHJlbSBpZiBzb21lb25lIGhhbmRzIG92ZXIgJ2VtJ3NcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFyZW07XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbSBvciBlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpICogMXJlbTtcbiAgfVxuXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcbiAgICAkdmFsdWU6IDA7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwsIHBlcmNlbnRhZ2UsIHJlbSBvciBlbSB2YWx1ZSB0byBhIHVuaXRsZXNzIHZhbHVlIGJhc2VkIG9uIGEgZ2l2ZW4gZm9udCBzaXplLiBJZGVhbCBmb3Igd29ya2luZyBvdXQgdW5pdGxlc3MgbGluZSBoZWlnaHRzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGNvbnZlcnQgdG8gYSB1bml0bGVzcyBsaW5lIGhlaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBmb250IHNpemUgdG8gdXNlIHRvIHdvcmsgb3V0IHRoZSBsaW5lIGhlaWdodCAtIGRlZmF1bHRzIHRvICRnbG9iYWwtZm9udC1zaXplXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG5AZnVuY3Rpb24gdW5pdGxlc3MtY2FsYygkdmFsdWUsICRiYXNlOiBudWxsKSB7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gRmlyc3QsIGxldHMgY29udmVydCBvdXIgJGJhc2UgdG8gcGl4ZWxzXG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ2VtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIC8vIE5vdyBsZXQncyBjb252ZXJ0IG91ciB2YWx1ZSB0byBwaXhlbHMgdG9vXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJyUnIHtcbiAgICAkdmFsdWU6ICgkdmFsdWUgLyAxMDAlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIC8vICdweCdcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIHtcbiAgICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgLy8gYXNzdW1lIHRoYXQgbGluZS1oZWlnaHRzIGdyZWF0ZXIgdGhhbiAxMCBhcmUgbWVhbnQgdG8gYmUgYWJzb2x1dGUgaW4gJ3B4J1xuICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgKCR2YWx1ZSA+IDEwKSB7XG4gICAgQHJldHVybiAkdmFsdWUgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gIFZlcnRpY2FsbHkgYWxpZ24gaXRlbVxuQG1peGluIHZlcnRpY2FsLWFsaWduKCRwb3NpdGlvbjogcmVsYXRpdmUpIHtcbiAgICBwb3NpdGlvbjogJHBvc2l0aW9uO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuQG1peGluIGJ1dHRvbigkYmFja2dyb3VuZC1jb2xvciwgJGNvbG9yKSB7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG4gICAgcGFkZGluZzogMTRweCAyMHB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAyMDBtcyBlYXNlLCBvcGFjaXR5IDIwMG1zIGVhc2U7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLWNvbG9yLCAxMCUpO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaWdodGVuKCRiYWNrZ3JvdW5kLWNvbG9yLCA3LjUlKTtcbiAgICB9XG59XG5cbkBtaXhpbiBoaWRlLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgICBsZWZ0OiAtOTk5OTlweDtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0ZXh0LWluZGVudDogMTAwJTtcbiAgICB0b3A6IC05OTk5OXB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbkBtaXhpbiByZXNldC1idXR0b24ge1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IHRleHQ7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBtYXJnaW46IDA7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgJjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG59XG5cbkBtaXhpbiBjbGVhcmZpeCB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFNldCB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtblxuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRndXR0ZXIgW2F1dG9dXG4vLy8gICBTcGFjaW5nIGJldHdlZW4gY29sdW1ucywgYWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgc2luZ2xlIHZhbHVlIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBicmVha3BvaW50IG5hbWUgd2lsbCBtYWtlIHRoZSBndXR0ZXIgdGhlIGNvcnJlc3BvbmRpbmcgc2l6ZSBpbiB0aGUgJGd1dHRlcnMgbWFwLlxuLy8vICAgLSBcImF1dG9cIiB3aWxsIG1ha2UgdGhlIGd1dHRlciByZXNwb25zaXZlLCB1c2luZyB0aGUgJGd1dHRlcnMgbWFwIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLWNvbHVtbi1ndXR0ZXIoXG4gICRndXR0ZXI6IGF1dG8sXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJGd1dHRlciwgJGd1dHRlcnMpIHtcbiAgICAkcGFkZGluZzogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgLyAyO1xuXG4gICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgfVxufVxuXG4vLy8gQ29sbGFwc2UgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW4gYnkgcmVtb3ZpbmcgdGhlIHBhZGRpbmcuICoqTm90ZToqKiBvbmx5IHVzZSB0aGlzIG1peGluIHdpdGhpbiBhIGJyZWFrcG9pbnQuIFRvIGNvbGxhcHNlIGEgY29sdW1uJ3MgZ3V0dGVycyBvbiBhbGwgc2NyZWVuIHNpemVzLCB1c2UgdGhlIGAkZ3V0dGVyYCBwYXJhbWV0ZXIgb2YgdGhlIGBncmlkLWNvbHVtbigpYCBtaXhpbiBpbnN0ZWFkLlxuQG1peGluIGdyaWQtY29sdW1uLWNvbGxhcHNlIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKDApO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1ndXR0ZXJcbkBtaXhpbiBncmlkLWNvbC1ndXR0ZXIoXG4gICRndXR0ZXI6IGF1dG8sXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXIsICRndXR0ZXJzKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWNvbGxhcHNlKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1jb2xsYXBzZVxuQG1peGluIGdyaWQtY29sLWNvbGxhcHNlIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tY29sbGFwc2U7XG59XG5cbi8vLyBTZXRzIGJvdHRvbSBtYXJnaW4gb24gZ3JpZCBjb2x1bW5zIHRvIG1hdGNoIGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkbWFyZ2luIFthdXRvXVxuLy8vICAgVGhlIGJvdHRvbSBtYXJnaW4gb24gZ3JpZCBjb2x1bW5zLCBhY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBzaW5nbGUgdmFsdWUgd2lsbCBtYWtlIHRoZSBtYXJnaW4gdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIGJyZWFrcG9pbnQgbmFtZSB3aWxsIG1ha2UgdGhlIG1hcmdpbiB0aGUgY29ycmVzcG9uZGluZyBzaXplIGluIHRoZSAkbWFyZ2lucyBtYXAuXG4vLy8gICAtIFwiYXV0b1wiIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHJlc3BvbnNpdmUsIHVzaW5nIHRoZSAkbWFyZ2lucyBtYXAgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcmdpbnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tbWFyZ2luIChcbiAgJG1hcmdpbjogYXV0byxcbiAgJG1hcmdpbnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkbWFyZ2luLCAkbWFyZ2lucykge1xuICAgICRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKTtcbiAgICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWJvdHRvbTtcblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFrcG9pbnRzXG4vLy8vXG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxhcmdlc3QgbmFtZWQgYnJlYWtwb2ludCBpbiB3aGljaCB0byBpbmNsdWRlIHByaW50IGFzIGEgbWVkaWEgdHlwZVxuLy8vIEB0eXBlIEtleXdvcmRcbiRwcmludC1icmVha3BvaW50OiBsYXJnZSAhZGVmYXVsdDtcblxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xuXG4kLXpmLWJyZWFrcG9pbnRzLWtleXM6IG1hcC10by1saXN0KCRicmVha3BvaW50cywgJ2tleXMnKTtcblxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xuICBAZXJyb3IgJ1RoZSBmaXJzdCBrZXkgaW4gdGhlICRicmVha3BvaW50cyBtYXAgbXVzdCBoYXZlIGEgdmFsdWUgb2YgXCIwXCIuJztcbn1cbkBlbHNlIHtcbiAgJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IG50aChtYXAta2V5cygkYnJlYWtwb2ludHMpLCAxKTtcbn1cblxuLy8vIEFsbCBvZiB0aGUgbmFtZXMgaW4gdGhpcyBsaXN0IHdpbGwgYmUgb3V0cHV0IGFzIGNsYXNzZXMgaW4geW91ciBDU1MsIGxpa2UgYC5zbWFsbC0xMmAsIGAubWVkaXVtLTZgLCBhbmQgc28gb24uIEVhY2ggdmFsdWUgaW4gdGhpcyBsaXN0IG11c3QgYWxzbyBiZSBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLlxuLy8vIEB0eXBlIExpc3RcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgc3RyaW5nIG1hdGNoaW5nIHRoZSBpbnB1dCB2YWx1ZS4gUmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBzZWUgd2hhdCB0aGUgcG9zc2libGUgaW5wdXRzIGFyZS5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWwgW3NtYWxsXSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbkBmdW5jdGlvbiBicmVha3BvaW50KCR2YWw6ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gIC8vIFNpemUgb3Iga2V5d29yZFxuICAkYnA6IG50aCgkdmFsLCAxKTtcbiAgLy8gVmFsdWUgZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1tYXg6IDA7XG4gIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICRkaXI6IGlmKGxlbmd0aCgkdmFsKSA+IDEsIG50aCgkdmFsLCAyKSwgdXApO1xuICAvLyBFdmVudHVhbCBvdXRwdXRcbiAgJHN0cjogJyc7XG4gIC8vIElzIGl0IGEgbmFtZWQgbWVkaWEgcXVlcnk/XG4gICRuYW1lZDogZmFsc2U7XG5cbiAgLy8gT3JpZW50YXRpb24gbWVkaWEgcXVlcmllcyBoYXZlIGEgdW5pcXVlIHN5bnRheFxuICBAaWYgJGJwID09ICdsYW5kc2NhcGUnIG9yICRicCA9PSAncG9ydHJhaXQnIHtcbiAgICBAcmV0dXJuICcob3JpZW50YXRpb246ICN7JGJwfSknO1xuICB9XG4gIEBlbHNlIGlmICRicCA9PSAncmV0aW5hJyB7XG4gICAgQHJldHVybiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSc7XG4gIH1cblxuICAvLyBUcnkgdG8gcHVsbCBhIG5hbWVkIGJyZWFrcG9pbnQgb3V0IG9mIHRoZSAkYnJlYWtwb2ludHMgbWFwXG4gIEBpZiB0eXBlLW9mKCRicCkgPT0gJ3N0cmluZycge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicCkge1xuICAgICAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICAgJGJwLW1heDogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgIH1cblxuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgICRuYW1lZDogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJwOiAwO1xuICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogXCIjeyR2YWx9XCIgaXMgbm90IGRlZmluZWQgaW4geW91ciAkYnJlYWtwb2ludHMgc2V0dGluZy4nO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbnZlcnQgYW55IHBpeGVsLCByZW0sIG9yIHVuaXRsZXNzIHZhbHVlIHRvIGVtXG4gICRicDogLXpmLWJwLXRvLWVtKCRicCk7XG4gIC8vIE1heCB2YWx1ZSBpcyAwLjJweCB1bmRlciB0aGUgbmV4dCBicmVha3BvaW50ICgwLjAyIC8gMTYgPSAwLjAwMTI1KS5cbiAgLy8gVXNlIGEgcHJlY2lzaW9uIHVuZGVyIDFweCB0byBzdXBwb3J0IGJyb3dzZXIgem9vbSwgYnV0IG5vdCB0byBsb3cgdG8gYXZvaWQgcm91bmRpbmcuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMTMxM1xuICBAaWYgJGJwLW1heCB7XG4gICAgJGJwLW1heDogLXpmLWJwLXRvLWVtKCRicC1tYXgpIC0gLjAwMTI1O1xuICB9XG5cbiAgLy8gQ29uZGl0aW9ucyB0byBza2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uXG4gIC8vIC0gSXQncyBhIG5hbWVkIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgZG93blwiIG9yIFwiMCB1cFwiXG4gIC8vIC0gSXQncyBhIG51bWVyaWMgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBcIiArIGFueXRoaW5nXG4gIEBpZiAkYnAgPiAwZW0gb3IgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgIC8vIGBvbmx5YCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pIGFuZCAobWF4LXdpZHRoOiBuKWBcbiAgICBAaWYgJGRpciA9PSAnb25seScge1xuICAgICAgLy8gT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIFwib25seVwiIHJhbmdlXG4gICAgICBAaWYgJG5hbWVkID09IHRydWUge1xuICAgICAgICAvLyBPbmx5IHVzZSBcIm1pbi13aWR0aFwiIGlmIHRoZSBmbG9vciBpcyBncmVhdGVyIHRoYW4gMFxuICAgICAgICBAaWYgJGJwID4gMGVtIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuXG4gICAgICAgICAgLy8gT25seSBhZGQgXCJhbmRcIiB0byB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAgICRzdHI6ICRzdHIgKyAnIGFuZCAnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWF4LXdpZHRoXCIgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRicC1tYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIGBvbmx5YCByYW5nZS4nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGBkb3duYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtYXgtd2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICRtYXg6IGlmKCRuYW1lZCwgJGJwLW1heCwgJGJwKTtcblxuICAgICAgLy8gU2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvbiBpZiBpbnB1dCB2YWx1ZSBpcyBleGFjdGx5IFwiMCBkb3duXCIsXG4gICAgICAvLyB1bmxlc3MgdGhlIGZ1bmN0aW9uIHdhcyBjYWxsZWQgYXMgXCJzbWFsbCBkb3duXCIsIGluIHdoaWNoIGNhc2UgaXQncyBqdXN0IFwic21hbGwgb25seVwiXG4gICAgICBAaWYgJG5hbWVkIG9yICRicCA+IDBlbSB7XG4gICAgICAgIEBpZiAkbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYHVwYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRicCA+IDBlbSB7XG4gICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG4vLy9cbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBicmVha3BvaW50KCR2YWx1ZSkge1xuICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XG4gICRicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkdmFsdWUpO1xuICAkcGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICRwcmludC1icmVha3BvaW50KTtcblxuICAkb2xkLXpmLXNpemU6IG51bGw7XG5cbiAgLy8gTWFrZSBicmVha3BvaW50IHNpemUgYXZhaWxhYmxlIGFzIGEgdmFyaWFibGVcbiAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIHtcbiAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgfVxuICAkLXpmLXNpemU6IG50aCgkdmFsdWUsIDEpICFnbG9iYWw7IC8vIGdldCB0aGUgZmlyc3QgdmFsdWUgdG8gYWNjb3VudCBmb3IgYG9ubHlgIGFuZCBgZG93bmAga2V5d29yZHNcblxuICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXG4gIEBpZiAkc3RyID09ICcnIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gIEBlbHNlIHtcbiAgICAvLyBGb3IgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICRwcmludC1icmVha3BvaW50LCBhZGQgcHJpbnQgdG8gdGhlIG1lZGlhIHR5cGVzXG4gICAgQGlmICRicCAhPSBudWxsIGFuZCAkYnAgPD0gJHBicCB7XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG59XG5cbi8vLyBDb252ZXJ0cyB0aGUgYnJlYWtwb2ludHMgbWFwIHRvIGEgVVJMLWVuY29kZWQgc3RyaW5nLCBsaWtlIHRoaXM6IGBrZXkxPXZhbHVlMSZrZXkyPXZhbHVlMmAuIFRoZSB2YWx1ZSBpcyB0aGVuIGRyb3BwZWQgaW50byB0aGUgQ1NTIGZvciBhIHNwZWNpYWwgYDxtZXRhPmAgdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHQuIFRoaXMgaXMgaG93IHdlIHRyYW5zZmVyIHZhbHVlcyBmcm9tIFNhc3MgdG8gSmF2YVNjcmlwdCwgc28gdGhleSBjYW4gYmUgZGVmaW5lZCBpbiBvbmUgcGxhY2UuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBjb252ZXJ0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gQSBzdHJpbmcgY29udGFpbmluZyB0aGUgbWFwJ3MgY29udGVudHMuXG5AZnVuY3Rpb24gLXpmLWJwLXNlcmlhbGl6ZSgkbWFwKSB7XG4gICRzdHI6ICcnO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgJHN0cjogJHN0ciArICRrZXkgKyAnPScgKyAtemYtYnAtdG8tZW0oJHZhbHVlKSArICcmJztcbiAgfVxuICAkc3RyOiBzdHItc2xpY2UoJHN0ciwgMSwgLTIpO1xuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIEZpbmQgdGhlIG5leHQga2V5IGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGtleSAtIEtleSB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvciB0aGUga2V5IGFmdGVyIGAka2V5YCwgaWYgYCRrZXlgIHdhcyBmb3VuZC4gSWYgYCRrZXlgIHdhcyBub3QgZm91bmQsIG9yIGAka2V5YCB3YXMgdGhlIGxhc3QgdmFsdWUgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0KCRtYXAsICRrZXkpIHtcblxuICAvLyBTdG9yZSB0aGUga2V5cyBvZiB0aGUgbWFwIGFzIGEgbGlzdFxuICAkdmFsdWVzOiBtYXAta2V5cygkbWFwKTtcblxuICAkaTogMDtcblxuICAvLyBJZiB0aGUgS2V5IEV4aXN0cywgR2V0IHRoZSBpbmRleCBvZiB0aGUga2V5IHdpdGhpbiB0aGUgbWFwIGFuZCBhZGQgMSB0byBpdCBmb3IgdGhlIG5leHQgYnJlYWtwb2ludCBpbiB0aGUgbWFwXG4gIEBpZiAobWFwLWhhcy1rZXkoJG1hcCwgJGtleSkpIHtcbiAgICAkaTogaW5kZXgoJHZhbHVlcywgJGtleSkgKyAxO1xuICB9XG5cbiAgLy8gSWYgdGhlIGtleSBkb2Vzbid0IGV4aXN0LCBvciBpdCdzIHRoZSBsYXN0IGtleSBpbiB0aGUgbWFwLCByZXR1cm4gbnVsbFxuICBAaWYgKCRpID4gbGVuZ3RoKCRtYXApIG9yICRpID09IDApIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHZhbHVlXG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgbnRoKCR2YWx1ZXMsICRpKSk7XG4gIH1cblxufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBsYXN0IGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigka2V5KSB7XG4gICRsaXN0OiAoKTtcbiAgJGZvdW5kX2tleTogZmFsc2U7XG5cbiAgQGVhY2ggJG5hbWUgaW4gJC16Zi1icmVha3BvaW50cy1rZXlzIHtcbiAgICBAaWYgKCRuYW1lID09ICRrZXkpIHtcbiAgICAgICRmb3VuZF9rZXk6IHRydWU7XG4gICAgfVxuICAgIEBpZiBub3QgJGZvdW5kX2tleSB7XG4gICAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkbmFtZSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJGxpc3Q7XG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IC0gYSBuYW1lZCBvciBub24tbmFtZWQgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICRsYXN0OiAkLXpmLXplcm8tYnJlYWtwb2ludDtcbiAgJGZvdW5kOiBmYWxzZTtcblxuICAkdmFsdWU6IHVuaXRsZXNzLWNhbGMoJGJyZWFrcG9pbnQsIDFweCk7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICBAaWYgdW5pdGxlc3MtY2FsYygkdmFsKSA+ICR2YWx1ZSB7XG4gICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkbGFzdDogJGtleTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRsYXN0O1xufVxuXG4vLy8gR2V0IGEgdmFsdWUgZm9yIGEgYnJlYWtwb2ludCBmcm9tIGEgcmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdCByZWdhcmRsZXNzIG9mIGAkdmFsdWVgLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgZG9lcyAqbm90KiBoYXZlIHRoZSBicmVha3BvaW50LCB0aGUgdmFsdWUgbWF0Y2hpbmcgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgaW4gdGhlIGNvbmZpZyBtYXAgaXMgcmV0dXJuZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBSZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge01peGVkfSBUaGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlLlxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xuICAvLyBJZiB0aGUgZ2l2ZW4gbWFwIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXRcbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJG1hcDtcbiAgfVxuXG5cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgZ2xvYmFsbHlcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgICAgJHZhbHVlOiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCR2YWx1ZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGluIHRoZSBsb2NhbCBjb25maWcgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRtYXAsICR2YWx1ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkdmFsdWUpO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgZmluZCB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBhbmQgcmV0dXJuIHRoYXQgdmFsdWVcbiAgQGVsc2Uge1xuICAgICRhbmNob3I6IG51bGw7XG4gICAgJGZvdW5kOiBmYWxzZTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcbiAgICAgICAgICAkYW5jaG9yOiAka2V5O1xuICAgICAgICB9XG4gICAgICAgIEBpZiAka2V5ID09ICR2YWx1ZSB7XG4gICAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRhbmNob3IpO1xuICB9XG59XG5cbiRzbWFsbC11cDogJyc7XG4kc21hbGwtb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XG4gICRzbWFsbC11cDogc2NyZWVuO1xuICAkc21hbGwtb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9Jyk7XG59XG5cbiRtZWRpdW0tdXA6ICcnO1xuJG1lZGl1bS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG4kbGFyZ2UtdXA6ICcnO1xuJGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG4keGxhcmdlLXVwOiAnJztcbiR4bGFyZ2Utb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHhsYXJnZSkge1xuICAkeGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UpfScpO1xuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHh4bGFyZ2UtdXA6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKSB7XG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFNldCB0aGUgd2lkdGggb2YgYSBncmlkIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR3aWR0aCBbJGdyaWQtY29sdW1uLWNvdW50XSAtIFdpZHRoIHRvIG1ha2UgdGhlIGNvbHVtbi4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuQG1peGluIGdyaWQtY29sdW1uLXNpemUoXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICB3aWR0aDogZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tc2l6ZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tc2l6ZVxuQG1peGluIGdyaWQtY29sLXNpemUoXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1zaXplKCRjb2x1bW5zKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIENhbGN1bGF0ZXMgdGhlIHdpZHRoIG9mIGEgY29sdW1uIGJhc2VkIG9uIGEgbnVtYmVyIG9mIGZhY3RvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkY29sdW1uc1xuLy8vICAgV2lkdGggb2YgdGhlIGNvbHVtbi4gQWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgcGVyY2VudGFnZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIGNvbHVtbiB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgc2luZ2xlIGRpZ2l0IHdpbGwgbWFrZSB0aGUgY29sdW1uIHNwYW4gdGhhdCBudW1iZXIgb2YgY29sdW1ucyB3aWRlLCB0YWtpbmcgaW50byBhY2NvdW50IHRoZSBjb2x1bW4gY291bnQgb2YgdGhlIHBhcmVudCByb3cuXG4vLy8gICAtIEEgbGlzdCBvZiB0aGUgZm9ybWF0IFwieCBvZiB5XCIgKHdpdGhvdXQgcXVvdGVzKSB3aWxsIG1ha2UgYSBjb2x1bW4gdGhhdCBpcyAqeCogY29sdW1ucyB3aWRlLCBhc3N1bWluZyAqeSogdG90YWwgY29sdW1ucyBmb3IgdGhlIHBhcmVudC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgY2FsY3VsYXRlZCBwZXJjZW50YWdlIHZhbHVlLlxuQGZ1bmN0aW9uIGdyaWQtY29sdW1uKCRjb2x1bW5zKSB7XG4gICR3aWR0aDogMCU7XG5cbiAgLy8gUGFyc2luZyBwZXJjZW50cywgZGVjaW1hbHMsIGFuZCBjb2x1bW4gY291bnRzXG4gIEBpZiB0eXBlLW9mKCRjb2x1bW5zKSA9PSAnbnVtYmVyJyB7XG4gICAgQGlmIHVuaXQoJGNvbHVtbnMpID09ICclJyB7XG4gICAgICAkd2lkdGg6ICRjb2x1bW5zO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkY29sdW1ucyA8IDEge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKCRjb2x1bW5zKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1uLWNvdW50KTtcbiAgICB9XG4gIH1cblxuICAvLyBQYXJzaW5nIFwibiBvZiBuXCIgZXhwcmVzc2lvbnNcbiAgQGVsc2UgaWYgdHlwZS1vZigkY29sdW1ucykgPT0gJ2xpc3QnIHtcbiAgICBAaWYgbGVuZ3RoKCRjb2x1bW5zKSAhPSAzIHtcbiAgICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbigpLiBVc2UgdGhlIGZvcm1hdCBcIm4gb2YgblwiLic7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZShudGgoJGNvbHVtbnMsIDEpIC8gbnRoKCRjb2x1bW5zLCAzKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQW55dGhpbmcgZWxzZSBpcyBpbmNvcnJlY3RcbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbigpLiBVc2UgYSBudW1iZXIsIGRlY2ltYWwsIHBlcmNlbnRhZ2UsIG9yIFwibiBvZiBuXCIuJztcbiAgfVxuXG4gIEByZXR1cm4gJHdpZHRoO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgWyRncmlkLWNvbHVtbi1jb3VudF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLiBSZWZlciB0byB0aGUgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMuIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG5AbWl4aW4gZ3JpZC1jb2x1bW4oXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnQsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tc2l6ZSgkY29sdW1ucyk7XG4gIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG5cbiAgLy8gR3V0dGVyc1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoJGd1dHRlcnM6ICRndXR0ZXJzKTtcblxuICAvLyBQb3NpdGlvblxuICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoYXV0byk7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4gcm93LiBUaGlzIGlzIHRoZSBlcXVpdmFsZW50IG9mIGFkZGluZyBgLnJvd2AgYW5kIGAuY29sdW1uYCB0byB0aGUgc2FtZSBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gV2lkdGggb2YgdGhlIGd1dHRlcnMgb24gZWl0aGVyIHNpZGUgb2YgdGhlIGNvbHVtbiByb3cuIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcm93KFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtcm93O1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbigkZ3V0dGVyczogJGd1dHRlcnMpO1xuXG4gICYsXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxuQGZ1bmN0aW9uIGdyaWQtY29sKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgQHJldHVybiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW5cbkBtaXhpbiBncmlkLWNvbChcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcm93KClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1yb3dcbkBtaXhpbiBncmlkLWNvbC1yb3coXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcm93KCRndXR0ZXJzKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFJlcG9zaXRpb24gYSBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkcG9zaXRpb24gLSBJdCBjYW4gYmU6XG4vLy8gICAqIEEgbnVtYmVyOiBUaGUgY29sdW1uIHdpbGwgbW92ZSBlcXVhbCB0byB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbiBjb3VudFxuLy8vICAgICBzcGVjaWZpZWQuIEEgcG9zaXRpdmUgbnVtYmVyIHdpbGwgcHVzaCB0aGUgY29sdW1uIHRvIHRoZSByaWdodCwgd2hpbGVcbi8vLyAgICAgYSBuZWdhdGl2ZSBudW1iZXIgd2lsbCBwdWxsIGl0IHRvIHRoZSBsZWZ0LlxuLy8vICAgKiBgY2VudGVyYDogQ29sdW1uIHdpbGwgYmUgY2VudGVyZWRcbi8vLyAgICogYGF1dG9gOiBDb2x1bW4gd2lsbCBiZSBwdXNoZWQgdG8gdGhlIGxlZnQgKG9yIHRvIHRoZSByaWdodCBmb3IgdGhlIGxhc3QgY29sdW1uKS5cbkBtaXhpbiBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pIHtcbiAgLy8gQXV0byBwb3NpdGlvbmluZ1xuICBAaWYgJHBvc2l0aW9uID09IGF1dG8ge1xuICAgICYsICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICAgICAgY2xlYXI6IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gTGFzdCBjb2x1bW4gYWxpZ25tZW50XG4gICAgQGlmICRncmlkLWNvbHVtbi1hbGlnbi1lZGdlIHtcbiAgICAgICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGZsb2F0OiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFB1c2gvcHVsbFxuICBAZWxzZSBpZiB0eXBlLW9mKCRwb3NpdGlvbikgPT0gJ251bWJlcicge1xuICAgICRvZmZzZXQ6IHBlcmNlbnRhZ2UoJHBvc2l0aW9uIC8gJGdyaWQtY29sdW1uLWNvdW50KTtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRvZmZzZXQ7XG4gIH1cblxuICAvLyBDZW50ZXIgcG9zaXRpb25pbmdcbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGNlbnRlciB7XG4gICAgJiwgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICBAd2FybiAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbi1wb3NpdGlvbigpLiBFbnRlciBhIHBvc2l0aXZlIG9yIG5lZ2F0aXZlIG51bWJlciwgXCJjZW50ZXJcIiBvciBcImF1dG9cIi4nO1xuICB9XG59XG5cbi8vLyBSZXNldCBhIHBvc2l0aW9uIGRlZmluaXRpb24uXG5AbWl4aW4gZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbiB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXBvc2l0aW9uKGF1dG8pO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4vLy8gT2Zmc2V0cyBhIGNvbHVtbiB0byB0aGUgcmlnaHQgYnkgYCRuYCBjb2x1bW5zLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gV2lkdGggdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tb2Zmc2V0KCRuKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IGdyaWQtY29sdW1uKCRuKTtcbn1cblxuLy8vIERpc2FibGUgdGhlIGRlZmF1bHQgYmVoYXZpb3Igb2YgdGhlIGxhc3QgY29sdW1uIGluIGEgcm93IGFsaWduaW5nIHRvIHRoZSBvcHBvc2l0ZSBlZGdlLlxuQG1peGluIGdyaWQtY29sdW1uLWVuZCB7XG4gIC8vIFRoaXMgZXh0cmEgc3BlY2lmaWNpdHkgaXMgcmVxdWlyZWQgZm9yIHRoZSBwcm9wZXJ0eSB0byBiZSBhcHBsaWVkXG4gICY6bGFzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICB9XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tcG9zaXRpb25cbkBtaXhpbiBncmlkLWNvbC1wb3MoJHBvc2l0aW9uKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXBvc2l0aW9uKCRwb3NpdGlvbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi11bnBvc2l0aW9uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi11bnBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtdW5wb3Mge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi11bnBvc2l0aW9uO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tb2Zmc2V0KClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1vZmZzZXRcbkBtaXhpbiBncmlkLWNvbC1vZmYoJG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tb2Zmc2V0KCRuKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWVuZCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tZW5kXG5AbWl4aW4gZ3JpZC1jb2wtZW5kIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZW5kO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gU2l6ZXMgY2hpbGQgZWxlbWVudHMgc28gdGhhdCBgJG5gIG51bWJlciBvZiBpdGVtcyBhcHBlYXIgb24gZWFjaCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgZWxlbWVudHMgdG8gZGlzcGxheSBwZXIgcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWycuY29sdW1uJ10gLSBTZWxlY3RvcihzKSB0byB1c2UgZm9yIGNoaWxkIGVsZW1lbnRzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRndXR0ZXJcbi8vLyAgIFRoZSBndXR0ZXIgdG8gYXBwbHkgdG8gY2hpbGQgZWxlbWVudHMuIEFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSAkZ3JpZC1jb2x1bW4tZ3V0dGVyIHdpbGwgdXNlIHRoZSB2YWx1ZXMgaW4gdGhlICRncmlkLWNvbHVtbi1ndXR0ZXIgbWFwLCBpbmNsdWRpbmcgYnJlYWtwb2ludCBzaXplcy5cbi8vLyAgIC0gQSBmaXhlZCBudW1lcmljIHZhbHVlIHdpbGwgYXBwbHkgdGhpcyBndXR0ZXIgdG8gYWxsIGJyZWFrcG9pbnRzLlxuQG1peGluIGdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNvbHVtbicsXG4gICRndXR0ZXI6IG51bGxcbikge1xuICAmID4gI3skc2VsZWN0b3J9IHtcbiAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKDEvJG4pO1xuXG4gICAgLy8gSWYgYSAkZ3V0dGVyIHZhbHVlIGlzIHBhc3NlZFxuICAgIEBpZigkZ3V0dGVyKSB7XG4gICAgICAvLyBHdXR0ZXJzXG4gICAgICBAaWYgdHlwZS1vZigkZ3V0dGVyKSA9PSAnbWFwJyB7XG4gICAgICAgIEBlYWNoICRicmVha3BvaW50LCAkdmFsdWUgaW4gJGd1dHRlciB7XG4gICAgICAgICAgJHBhZGRpbmc6IHJlbS1jYWxjKCR2YWx1ZSkgLyAyO1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2UgaWYgdHlwZS1vZigkZ3V0dGVyKSA9PSAnbnVtYmVyJyBhbmQgc3RyaXAtdW5pdCgkZ3V0dGVyKSA+IDAge1xuICAgICAgICAkcGFkZGluZzogcmVtLWNhbGMoJGd1dHRlcikgLyAyO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTtcbiAgICB9XG5cbiAgICAmOm50aC1vZi10eXBlKCN7JG59bisxKSB7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZXh0cmEgQ1NTIHRvIGJsb2NrIGdyaWQgY2hpbGRyZW4gc28gdGhlIGxhc3QgaXRlbXMgaW4gdGhlIHJvdyBjZW50ZXIgYXV0b21hdGljYWxseS4gQXBwbHkgdGhpcyB0byB0aGUgY29sdW1ucywgbm90IHRoZSByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgaXRlbXMgdGhhdCBhcHBlYXIgaW4gZWFjaCByb3cuXG5AbWl4aW4gZ3JpZC1sYXlvdXQtY2VudGVyLWxhc3QoJG4pIHtcbiAgQGZvciAkaSBmcm9tIDEgdG8gJG4ge1xuICAgIEBpZiAkaSA9PSAxIHtcbiAgICAgICY6bnRoLWNoaWxkKCN7JG59bisxKTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICgxMDAgLSAxMDAvJG4gKiAkaSkgLyAyICogMSU7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICY6bnRoLWNoaWxkKCN7JG59bisxKTpudGgtbGFzdC1jaGlsZCgjeyRpfSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogKDEwMCAtIDEwMC8kbiAqICRpKSAvIDIgKiAxJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvcigkc2l6ZSkge1xuICAkc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgLy8gTWF4IHZhbHVlIGlzIDAuMnB4IHVuZGVyIHRoZSBuZXh0IGJyZWFrcG9pbnQgKDAuMDIgLyAxNiA9IDAuMDAxMjUpLlxuICAvLyBVc2UgYSBwcmVjaXNpb24gdW5kZXIgMXB4IHRvIHN1cHBvcnQgYnJvd3NlciB6b29tLCBidXQgbm90IHRvIGxvdyB0byBhdm9pZCByb3VuZGluZy5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzExMzEzXG4gICRzaXplOiAtemYtYnAtdG8tZW0oJHNpemUpIC0gLjAwMTI1O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCB3aXRoaW4gYSBjZXJ0YWluIGJyZWFrcG9pbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvci1vbmx5KCRzaXplKSB7XG4gICRsb3dlci1ib3VuZC1zaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkdXBwZXItYm91bmQtc2l6ZTogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJHNpemUpO1xuXG4gIC8vIG1vcmUgb2Z0ZW4gdGhhbiBub3QgdGhpcyB3aWxsIGJlIGNvcnJlY3QsIGp1c3Qgb25lIHRpbWUgcm91bmQgdGhlIGxvb3AgaXQgd29uJ3Qgc28gc2V0IGluIHNjb3BlIGhlcmVcbiAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpIC0gLjAwMTI1O1xuICAvLyB0ZXN0IGFjdHVhbCBsb3dlci1ib3VuZC1zaXplLCBpZiAwIHNldCBpdCB0byAwZW1cbiAgQGlmIHN0cmlwLXVuaXQoJGxvd2VyLWJvdW5kLXNpemUpID09IDAge1xuICAgICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKTtcbiAgfVxuXG4gIEBpZiAkdXBwZXItYm91bmQtc2l6ZSA9PSBudWxsIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICR1cHBlci1ib3VuZDogLXpmLWJwLXRvLWVtKCR1cHBlci1ib3VuZC1zaXplKTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHVwcGVyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvcigkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3Itb25seSgkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzIHtcbiAgLy8gQmFzaWMgaGlkaW5nIGNsYXNzZXNcbiAgLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAuaGlkZS1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBoaWRlLWZvcigkc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5zaG93LWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlkZS1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBoaWRlLWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBzaG93LWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBTY3JlZW4gcmVhZGVyIHZpc2liaWxpdHkgY2xhc3Nlc1xuICAvLyBOZWVkIGEgXCJoaWRlLWZvci1zclwiIGNsYXNzPyBBZGQgYXJpYS1oaWRkZW49J3RydWUnIHRvIHRoZSBlbGVtZW50XG4gIC5zaG93LWZvci1zcixcbiAgLnNob3ctb24tZm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG5cbiAgLy8gT25seSBkaXNwbGF5IHRoZSBlbGVtZW50IHdoZW4gaXQncyBmb2N1c2VkXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvLyBMYW5kc2NhcGUgYW5kIHBvcnRyYWl0IHZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZmxvYXRcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcyB7XG4gIC5mbG9hdC1sZWZ0IHtcbiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsb2F0LXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1jZW50ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIC5jbGVhcmZpeCB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cbn1cbiIsIkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnSW50cm8nO1xuICAgIHNyYzogdXJsKCcuLi8uLi9mb250cy9JbnRyby5vdGYnKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7XG4gICAgc3JjOiB1cmwoJy4uLy4uL2ZvbnRzL0ZvbnRBd2Vzb21lLm90ZicpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ0xvdGEtTGlnaHQnO1xuICAgIHNyYzogdXJsKCcuLi8uLi9mb250cy9Mb3RhR3JvdGVzcXVlQWx0My1MaWdodC5vdGYnKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdMb3RhLVNlbWlCb2xkJztcbiAgICBzcmM6IHVybCgnLi4vLi4vZm9udHMvTG90YUdyb3Rlc3F1ZUFsdDMtU2VtaUJvbGQub3RmJyk7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnTG90YS1Cb2xkJztcbiAgICBzcmM6IHVybCgnLi4vLi4vZm9udHMvTG90YUdyb3Rlc3F1ZUFsdDMtQm9sZC5vdGYnKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdMb3RhLUJsYWNrJztcbiAgICBzcmM6IHVybCgnLi4vLi4vZm9udHMvTG90YUdyb3Rlc3F1ZUFsdDMtQmxhY2sub3RmJyk7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnTG90YS1SZWd1bGFyJztcbiAgICBzcmM6IHVybCgnLi4vLi4vZm9udHMvTG90YUdyb3Rlc3F1ZUFsdDMtUmVndWxhci5vdGYnKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdMb3RhLVJlZ3VsYXJJdCc7XG4gICAgc3JjOiB1cmwoJy4uLy4uL2ZvbnRzL0xvdGFHcm90ZXNxdWVBbHQzLVJlZ3VsYXJJdC5vdGYnKTtcbn1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgICBmb250LWZhbWlseTogJ0xvdGEtQmxhY2snLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuIiwiaHRtbCxcbmJvZHkge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgbWluLXdpZHRoOiAzMDBweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbn1cblxuYm9keSB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBmb250LWZhbWlseTogJ0xvdGEtUmVndWxhcicsIHNhbnMtc2VyaWY7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJ2JwLXMnO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBjb250ZW50OiAnYnAtbSc7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgY29udGVudDogJ2JwLWwnO1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICAgICBjb250ZW50OiAnYnAteGwnO1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuZXJyb3I0MDQge1xuICAgICAgICAud3JhcHBlciB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxudWwge1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG59XG5cbi5ib2R5LW92ZXJsYXkge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgLjQpO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjZzO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDkwO1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICB9XG59XG5cbi53cmFwcGVyIHtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDI0MHB4O1xuICAgIH1cbn1cblxuLmNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuaHIge1xuICAgIGJhY2tncm91bmQ6ICRsYWJvdXItcmVkO1xuICAgIGJvcmRlcjogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDZweDtcbiAgICBtYXJnaW46IDI1cHggYXV0byA0MHB4O1xuICAgIHdpZHRoOiAxMDBweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHdpZHRoOiAxNTBweDtcbiAgICB9XG59XG4iLCIvL2dlbmVyaWNcbiR3aGl0ZTogI2ZmZjtcblxuLy9sYWJvdXJcbiRsYWJvdXItcmVkOiAjZTQwMDNiO1xuJGRhcmstcmVkOiAjYTYwMjJjO1xuXG4vL3NhZGlxXG4kYmx1ZTogIzM2YTllMTtcbiRkYXJrLWJsdWU6ICMzNjdkYjE7XG5cbiRwYWxlLWJsdWU6ICM3ZWFlYzA7XG4kZGFyay1wYWxlLWJsdWU6ICM1YjkyOTM7XG5cbiRncmVlbjogI2EyYzYxZTtcbiRkYXJrLWdyZWVuOiAjMDBhMDMyO1xuXG4kcGFsZS1ncmVlbjogI2EwZDVkMjtcbiRkYXJrLXBhbGUtZ3JlZW46ICM0Y2MzZDA7XG5cbiRwYWxlLWxpZ2h0LWdyZWVuOiAjZGVlZGVjO1xuXG4kb3JhbmdlOiAjZWY3ODUwO1xuJGRhcmstb3JhbmdlOiAjYjk2YzQ3O1xuXG4kcGluazogI2U2MDY2NTtcbiRkYXJrLXBpbms6ICNiZTA2NjU7XG4kbGlnaHQtcGluazogI2ZhY2NkODtcbiRsaWdodC1waW5rLWJ0bjogI2YyODFhZjtcblxuJHB1cnBsZTogIzhiMDA4YjtcbiRkYXJrLXB1cnBsZTogIzZiMDA4YjtcblxuJGRhcmstYmx1ZTogIzAyMDg3YTtcblxuLy9zb2NpYWxcbiRmYWNlYm9vazogIzNiNTk5ODtcbiR0d2l0dGVyOiAjMDBhY2VkO1xuXG4vL2Zvcm1cbiRmb2N1cy1ibHVlOiAjNGE5MGUyO1xuXG4kZ3JleS0xOiAjYzBjMGMwO1xuJGdyZXktMjogI2Q1ZDVkNTtcbiRncmV5LTM6ICM5MDkwOTA7XG4kZ3JleS00OiAjZTZlNmU2O1xuIiwiLmlmcmFtZS13cmFwcGVyIHtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbGVmdDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTUuMjUlO1xuICAgIHBhZGRpbmctdG9wOiAyNXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIGlmcmFtZSB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIC55dHAtY2hyb21lLXRvcCxcbiAgICAgICAgLnl0cC13YXRlcm1hcmsge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ud2hpdGUge1xuICAgIGNvbG9yOiAkd2hpdGU7XG59XG4uYmctd2hpdGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbn1cblxuLmJsdWUge1xuICAgIGNvbG9yOiAkYmx1ZTtcbn1cbi5iZy1ibHVlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcbn1cblxuLnBhbGUtYmx1ZSB7XG4gICAgY29sb3I6ICRwYWxlLWJsdWU7XG59XG4uYmctcGFsZS1ibHVlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFsZS1ibHVlO1xufVxuXG4uZ3JlZW4ge1xuICAgIGNvbG9yOiAkZ3JlZW47XG59XG4uYmctZ3JlZW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbn1cblxuLnBhbGUtZ3JlZW4ge1xuICAgIGNvbG9yOiAkcGFsZS1ncmVlbjtcbn1cbi5iZy1wYWxlLWdyZWVuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFsZS1ncmVlbjtcbn1cblxuLm9yYW5nZSB7XG4gICAgY29sb3I6ICRvcmFuZ2U7XG59XG4uYmctb3JhbmdlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlO1xufVxuXG4ucGluayB7XG4gICAgY29sb3I6ICRwaW5rO1xufVxuLmJnLXBpbmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwaW5rO1xufVxuXG4ucHVycGxlIHtcbiAgICBjb2xvcjogJHB1cnBsZTtcbn1cbi5iZy1wdXJwbGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwdXJwbGU7XG59XG5cbi5sYWJvdXItcmVkIHtcbiAgICBjb2xvcjogJGxhYm91ci1yZWQ7XG59XG4uYmctbGFib3VyLXJlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxhYm91ci1yZWQ7XG59XG5cbi5oaWRlLW1vYmlsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICB9XG59XG5cbi5oaWRlLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICB9XG59XG5cbi5oaWRlLXRhYmxldCB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgIH1cbn1cblxuLnNob3ctbW9iaWxlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLnNob3ctbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLmNsZWFyZml4IHtcbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyAnO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxufVxuIiwiLnNlbGVjdHJpYy13cmFwcGVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uc2VsZWN0cmljLXJlc3BvbnNpdmUge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uc2VsZWN0cmljIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAjMzczYTNjO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0OHB4O1xuICAgICAgICBtYXJnaW46IDAgNDhweCAwIDE2cHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgIC5idXR0b24ge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNjY2M7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgY29sb3I6ICMzNzNhM2M7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250OiAwIEx1Y2lkYSBTYW5zIFVuaWNvZGUsIEFyaWFsIFVuaWNvZGUgTVMsIEFyaWFsO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiA0MHB4O1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgYm9yZGVyOiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogIzM3M2EzYztcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDQwMG1zIGVhc2U7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNlbGVjdHJpYy1mb2N1cyxcbi5zZWxlY3RyaWMtaG92ZXIge1xuICAgIC5zZWxlY3RyaWMge1xuICAgICAgICBib3JkZXItY29sb3I6ICRmb2N1cy1ibHVlO1xuICAgIH1cbn1cblxuLnNlbGVjdHJpYy1vcGVuIHtcbiAgICB6LWluZGV4OiAxNjtcblxuICAgIC5zZWxlY3RyaWMge1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjY2NjO1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkZm9jdXMtYmx1ZTtcbiAgICB9XG5cbiAgICAuc2VsZWN0cmljLWl0ZW1zIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5idXR0b24ge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zZWxlY3RyaWMtZGlzYWJsZWQge1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT01MCk7XG4gICAgb3BhY2l0eTogLjU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi5zZWxlY3RyaWMtaGlkZS1zZWxlY3Qge1xuICAgIGhlaWdodDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMDtcblxuICAgIHNlbGVjdCB7XG4gICAgICAgIGxlZnQ6IC0xMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgJi5zZWxlY3RyaWMtaXMtbmF0aXZlIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB6LWluZGV4OiAxMDtcblxuICAgICAgICBzZWxlY3Qge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zZWxlY3RyaWMtaW5wdXQge1xuICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApICFpbXBvcnRhbnQ7XG4gICAgZm9udDogMCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHRvcDogMCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbn1cblxuLnNlbGVjdHJpYy10ZW1wLXNob3cge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG5cbi8vIEl0ZW1zIGJveCAvL1xuLnNlbGVjdHJpYy1hYm92ZSB7XG4gICAgLnNlbGVjdHJpYy1pdGVtcyB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZm9jdXMtYmx1ZTtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNHB4O1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNHB4O1xuICAgICAgICBib3R0b206IDEwMCU7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICB9XG5cbiAgICAmLnNlbGVjdHJpYy1vcGVuIHtcbiAgICAgICAgLnNlbGVjdHJpYyB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkZm9jdXMtYmx1ZTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRweDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zZWxlY3RyaWMtaXRlbXMge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGZvY3VzLWJsdWU7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IC02cHg7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBsZWZ0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICB6LWluZGV4OiAtMTtcblxuICAgIC5zZWxlY3RyaWMtc2Nyb2xsIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICB9XG5cbiAgICBsaSxcbiAgICB1bCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbWluLWhlaWdodDogMjBweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICAgIGNvbG9yOiAjNjY2O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiA4cHggMTZweDtcblxuICAgICAgICAmLnNlbGVjdGVkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmMWYxZjE7XG4gICAgICAgICAgICBjb2xvcjogIzQ0NDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuaGlnaGxpZ2h0ZWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2UxZTFlMTtcbiAgICAgICAgICAgIGNvbG9yOiAjNDQ0O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZjBmMGYwO1xuICAgICAgICAgICAgY29sb3I6ICM0NDQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZGlzYWJsZWQge1xuICAgICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICM2NjYgIWltcG9ydGFudDtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0ICFpbXBvcnRhbnQ7XG4gICAgICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT01MCk7XG4gICAgICAgIG9wYWNpdHk6IC41O1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICB9XG5cbiAgICAuc2VsZWN0cmljLWdyb3VwIHtcbiAgICAgICAgLnNlbGVjdHJpYy1ncm91cC1sYWJlbCB7XG4gICAgICAgICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICBjb2xvcjogIzQ0NDtcbiAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy9cbi8vICBHcmlkIGhlbHBlciAodG9nZ2xlIHRoaXMgb24gb3Igb2ZmIHRvIG92ZXJsYXkgYSBncmlkKVxuLy9cbi5ncmlkLWhlbHBlciB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIC5ncmlkLWhlbHBlcl9faW5uZXIge1xuICAgICAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgLmdyaWQtaGVscGVyX19jb2wge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigxKTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzAwZjtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIG9wYWNpdHk6IC40O1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5hYm91dF9fbW9tZW50IHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIFx0bWFyZ2luLWJvdHRvbTogNjBweDtcblxuXHQgICAgJjpudGgtY2hpbGQoMm4gKyAxKSB7XG5cdCAgICBcdCYgPiBkaXYge1xuXHQgICAgXHRcdGZsb2F0OiByaWdodDtcblxuXHQgICAgXHRcdCYuYWJvdXRfX2NvbnRlbnQge1xuXHQgICAgXHRcdFx0cGFkZGluZy1sZWZ0OiAxMHB4O1xuXHQgICAgXHRcdH1cblxuXHQgICAgXHRcdC5hYm91dF9faW1hZ2UtY29udGFpbmVyIHtcblx0XHRcdFx0ICAgIHRyYW5zZm9ybTogcm90YXRlKC01ZGVnKTtcblx0XHRcdFx0fVxuXHQgICAgXHR9XG5cdCAgICB9XG5cblx0ICAgICY6bnRoLWNoaWxkKDJuICsgMikge1xuXHQgICAgXHQmID4gZGl2IHtcblx0ICAgIFx0XHRmbG9hdDogbGVmdDtcblxuXHQgICAgXHRcdCYuYWJvdXRfX2NvbnRlbnQge1xuXHQgICAgXHRcdFx0cGFkZGluZy1yaWdodDogMTBweDtcblx0ICAgIFx0XHR9XG5cblx0ICAgIFx0XHQuYWJvdXRfX2ltYWdlLWNvbnRhaW5lciB7XG5cdFx0XHRcdCAgICB0cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKTtcblx0XHRcdFx0fVxuXHQgICAgXHR9XG4gICAgXHR9XG4gICAgfVxufVxuXG4uYWJvdXRfX2NvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBcdHdpZHRoOiBjYWxjKDEwMCUgLSAyMDBweCk7XG4gICAgfVxuXG4gICAgaDQge1xuICAgIFx0Y29sb3I6ICR3aGl0ZTtcbiAgICBcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0ICAgIGZvbnQtZmFtaWx5OiAnSW50cm8nO1xuXHQgICAgZm9udC1zaXplOiAyMHB4O1xuXHQgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0ICAgIHBhZGRpbmc6IDJweCA3cHggMDtcbiAgICB9XG5cbiAgICBwIHtcblx0ICAgIGZvbnQtZmFtaWx5OiAnTG90YS1TZW1pQm9sZCc7XG5cdCAgICBmb250LXNpemU6IDE2cHg7XG5cdCAgICBsaW5lLWhlaWdodDogMS4zZW07XG5cdH1cbn1cblxuLmFib3V0X19pbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIFx0d2lkdGg6IDIwMHB4O1xuICAgIH1cbn1cblxuLmFib3V0X19pbWFnZS1jb250YWluZXIge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTEwJTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlKSB7XG5cdCAgICBtYXJnaW46IGF1dG87XG5cdCAgICBtYXgtd2lkdGg6IDQwMHB4O1xuXHQgICAgcGFkZGluZy1ib3R0b206IDgwJTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdGJvcmRlcjogMTBweCBzb2xpZCAkcGFsZS1saWdodC1ncmVlbjtcblx0XHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdFx0Ym94LXNoYWRvdzogMXB4IDFweCA3cHggMXB4ICRncmV5LTM7XG4gICAgXHRoZWlnaHQ6IDIwMHB4O1xuICAgIFx0bWFyZ2luOiBhdXRvO1xuICAgIFx0cGFkZGluZy1ib3R0b206IDA7XG4gICAgXHR0cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZyk7XG4gICAgXHR3aWR0aDogMTgwcHg7XG4gICAgfVxufVxuXG4iLCIuYWNoaWV2ZW1lbnRzIHtcblx0YmFja2dyb3VuZDogJGdyZXktNDtcblx0cGFkZGluZzogNDBweCAyMHB4IDEwcHg7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRwYWRkaW5nOiA0MHB4IDAgMTBweDtcblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRwYWRkaW5nOiA0MHB4IDIwcHggMTBweDtcblx0fVxuXG5cdC5jb250YWluZXIge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cblx0aDIge1xuXHRcdGZvbnQtc2l6ZTogMjVweDtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0Zm9udC1zaXplOiAzMnB4O1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdGZvbnQtc2l6ZTogNDBweDtcblx0XHR9XG5cblx0XHRzcGFuIHtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR9XG5cdH1cbn1cblxuLmFjaGlldmVtZW50c19faXRlbXMge1xuXHRAaW5jbHVkZSBjbGVhcmZpeCgpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdG1hcmdpbi10b3A6IDUwcHg7XG5cdHdpZHRoOiAxMDAlOyBcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0bWFyZ2luLXRvcDogNzBweDtcblx0fVxufVxuXG4uYWNoaWV2ZW1lbnRzX19pdGVtIHtcblx0QGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuXHRtYXJnaW4tYm90dG9tOiA0MHB4O1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlKSB7XG5cdFx0QGluY2x1ZGUgZ3JpZC1jb2x1bW4oNik7XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdEBpbmNsdWRlIGdyaWQtY29sdW1uKDQpO1xuXHR9XG59XG5cbi5hY2hpZXZlbWVudHNfX2l0ZW0tLXBldGl0aW9uIHtcblx0YmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDQlO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcGFkZGluZzogMjBweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgXHRkaXNwbGF5OiBibG9jaztcbiAgICBcdHBhZGRpbmc6IDEwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIFx0cGFkZGluZzogMjBweDtcbiAgICB9XG5cbiAgICAmLmFjaGlldmVtZW50c19faXRlbS0tcGV0aXRpb24tbW9iaWxlIHtcbiAgICBcdGRpc3BsYXk6IGJsb2NrO1xuICAgIFx0d2lkdGg6IDEwMCU7XG5cblx0ICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdCAgICBcdGRpc3BsYXk6IG5vbmU7XG5cdCAgICB9XG4gICAgfVxuXG5cdC5hY2hpZXZlbWVudHNfX2l0ZW1fX2ltYWdlIHtcblx0ICAgIGJvcmRlcjogMDtcblx0ICAgIGJvcmRlci1yYWRpdXM6IDUlO1xuXHQgICAgaGVpZ2h0OiAxNjBweDtcbiAgICBcdG1heC13aWR0aDogMzUwcHg7XG5cdCAgICB3aWR0aDogMTAwJTtcblxuXHQgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHQgICAgXHRoZWlnaHQ6IDIxNXB4O1xuXHQgICAgfVxuXHR9XG5cblx0YSB7XG5cdCAgICBmb250LXNpemU6IDIwcHg7XG5cdCAgICBoZWlnaHQ6IGF1dG87XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cbn1cblxuLmFjaGlldmVtZW50c19faXRlbS1jb250ZW50IHtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgbWF4LXdpZHRoOiA0MDBweDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgaDQge1xuICAgIFx0Zm9udC1zaXplOiAyMnB4O1xuICAgIFx0bGluZS1oZWlnaHQ6IDEuMmVtO1xuXHQgICAgbWFyZ2luOiAyMHB4IDAgLTEwcHg7XG5cblx0ICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBcdFx0Zm9udC1zaXplOiAyNHB4O1xuXHQgICAgfVxuXHR9XG5cblx0cCB7XG5cdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjNlbTtcblxuXHQgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBcdFx0Zm9udC1zaXplOiAxOHB4O1xuXHQgICAgfVxuXG5cdCAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgXHRcdGZvbnQtc2l6ZTogMjBweDtcblx0XHQgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0ICAgIG1hcmdpbi1yaWdodDogYXV0bztcblx0XHQgICAgbWF4LXdpZHRoOiAzMzBweDtcblx0ICAgIH1cblx0fVxuXG5cdGEge1xuXHRcdG1heC13aWR0aDogMTUwcHg7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cbn1cblxuLmFjaGlldmVtZW50c19faXRlbV9faW1hZ2Uge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRib3JkZXI6IDRweCBzb2xpZCAkZ3JleS0xO1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAyMjBweDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgd2lkdGg6IDIyMHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUpIHtcbiAgICBcdGhlaWdodDogMjAwcHg7XG4gICAgXHR3aWR0aDogMjAwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBcdGhlaWdodDogMTgwcHg7XG4gICAgXHR3aWR0aDogMTgwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIFx0aGVpZ2h0OiAyNDBweDtcbiAgICBcdHdpZHRoOiAyNDBweDtcbiAgICB9XG59XG4iLCIuYWN0aW9uLWJhciB7XG5cdEBpbmNsdWRlIGNsZWFyZml4KCk7XG5cdFxuXHQvLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1kdXBsaWNhdGUtcHJvcGVydGllc1xuXHRiYWNrZ3JvdW5kOiAjZmZmOyBcblx0YmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgJGdyZWVuIDAlLCAkZ3JlZW4gNTAlLCAkcGluayA1MCUsICRwaW5rIDEwMCUpOyBcblx0YmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgJGdyZWVuIDAlLCAkZ3JlZW4gNTAlLCAkcGluayA1MCUsICRwaW5rIDEwMCUpOyBcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkZ3JlZW4gMCUsICRncmVlbiA1MCUsICRwaW5rIDUwJSwgJHBpbmsgMTAwJSk7IFxuXHQvLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1kdXBsaWNhdGUtcHJvcGVydGllc1xuXG5cdGJvdHRvbTogMDtcdFxuXHRmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nI2EyYzYxZScsIGVuZENvbG9yc3RyPScjZTYwNjY1JyxHcmFkaWVudFR5cGU9MSApO1xuXHRsZWZ0OiAwO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHdpZHRoOiAxMDAlO1xuXG5cdC5jb250YWluZXIge1xuXHRcdEBpbmNsdWRlIGNsZWFyZml4KCk7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHR9XG59XG5cbi5hY3Rpb24tYmFyX19jb2x1bW4ge1xuXHRtaW4taGVpZ2h0OiAxMTBweDtcblx0cGFkZGluZzogMTBweDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR3aWR0aDogMTAwJTtcblx0XG5cdGgzIHtcblx0XHRjb2xvcjogJHdoaXRlO1xuXHQgICAgZm9udC1zaXplOiAxOXB4O1xuXHQgICAgbWFyZ2luOiAtMnB4IDAgMnB4O1x0XG5cdH1cbn1cblxuLmFjdGlvbi1iYXJfX2RvbmF0ZSB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcblx0ZGlzcGxheTogbm9uZTtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGZsb2F0OiBsZWZ0O1xuXHRcdHdpZHRoOiAzNSU7XG5cdH1cblxuXHQuYnV0dG9uIHtcblx0XHRtYXJnaW4tcmlnaHQ6IDElO1xuXHRcdHdpZHRoOiAzMSU7XG5cblx0XHQmOmxhc3Qtb2YtdHlwZSB7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0fVxuXHR9XG59XG5cbi5hY3Rpb24tYmFyX19zaWdudXAge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkcGluaztcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdGZsb2F0OiBsZWZ0O1xuXHRcdHdpZHRoOiA2NSU7XG5cdH1cbn1cblxuLmFjdGlvbi1iYXJfX2NvbnRlbnQge1xuXHRwYWRkaW5nOiA0cHggMDtcbn1cblxuLmFjdGlvbi1iYXJfX2Zvcm0ge1xuXHQuZ2Zvcm1fYm9keSB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdG1hcmdpbi1yaWdodDogMTBweDtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0d2lkdGg6IDEwMCU7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDE2MHB4KTtcblx0XHR9XG5cdH1cblxuXHQuZ2ZpZWxkIHtcblx0ICAgIGlucHV0IHtcblx0XHRcdG1hcmdpbi1yaWdodDogMSU7XG5cdFx0XHR3aWR0aDogMzclO1xuXG5cdFx0XHQmLmxhcmdlIHtcblx0XHRcdFx0d2lkdGg6IDYwJTtcblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdHdpZHRoOiAyNyU7XG5cblx0XHRcdFx0Ji5sYXJnZSB7XG5cdFx0XHRcdFx0d2lkdGg6IDQyJTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCY6Zmlyc3Qtb2YtdHlwZSB7XG5cdFx0XHRpbnB1dCB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cblx0XHRcdCAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHQgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdCAgICB9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0JjpsYXN0LW9mLXR5cGUge1xuXHRcdFx0aW5wdXQge1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LmdmaWVsZF9lcnJvciB7XG5cdCAgICBpbnB1dCB7XG5cdCAgICAgICAgJlt0eXBlPSd0ZXh0J10sXG5cdCAgICAgICAgJlt0eXBlPSdlbWFpbCddLFxuXHQgICAgICAgICZbdHlwZT0nbnVtYmVyJ10sXG5cdCAgICAgICAgJlt0eXBlPSdwaG9uZSddIHtcblx0ICAgICAgICAgICAgJjpub3QoLmJ1dHRvbikge1xuXHQgICAgICAgXHQgXHRcdGJvcmRlcjogMnB4IHNvbGlkICRibGFjaztcblx0ICAgICAgIFx0IFx0fVxuXHQgICAgICAgXHQgfVxuXHQgICAgfVxuXHR9XG5cblx0LmJ1dHRvbiB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LXBpbmstYnRuO1xuXHRcdGJvcmRlcjogMDtcblx0XHRoZWlnaHQ6IDMycHg7XG5cdFx0bWFyZ2luLXRvcDogMDtcblx0XHR3aWR0aDogMTAwJTtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRcdFx0Y29sb3I6ICRwaW5rO1xuXHRcdH1cblxuXHRcdCY6bnRoLWNoaWxkKDEpIHtcblx0XHRcdCY6bnRoLWxhc3QtY2hpbGQoMTApIHtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRyaWdodDogMTAwMDBweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuZ2Zvcm1fYWpheF9zcGlubmVyIHtcblx0XHRoZWlnaHQ6IDIwcHg7XG5cblx0ICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0ICAgIGZsb2F0OiBsZWZ0O1xuXHRcdCAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXHQgICAgfVxuXHR9XG5cblx0LmdmaWVsZCxcblx0LmdpbnB1dF9jb250YWluZXIge1xuXHQgICAgZGlzcGxheTogaW5saW5lO1xuXHR9XG5cdFxuXHQuZ2Zvcm1fZm9vdGVyIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0bWFyZ2luLXRvcDogMTBweDtcblx0XHR3aWR0aDogMTAwJTtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdFx0d2lkdGg6IDE0MHB4O1xuXHRcdH1cblx0fVxuXG5cdC5zbWFsbCB7XG4gICAgXHRjb2xvcjogJHdoaXRlO1xuXHQgICAgZm9udC1zaXplOiAxMnB4O1xuXHQgICAgbGluZS1oZWlnaHQ6IDEuM2VtO1xuXHQgICAgbWFyZ2luOiA1cHggMTBweCAwO1xuXHQgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuXHRcdGEge1xuXHRcdFx0Y29sb3I6IGluaGVyaXQ7XG5cdFx0fVxuXHR9XG59XG4iLCIuYXJ0aWNsZV9faGVyby1pbWFnZSB7XG4gICAgbWFyZ2luOiA2MHB4IDAgLTUwcHg7XG4gICAgbWF4LWhlaWdodDogNTg3cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAtMTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbjogMTQ1cHggMCAtMTY4cHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMjRweDtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuLmFydGljbGUge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgZm9udC1mYW1pbHk6ICdMb3RhLVJlZ3VsYXInLCBzYW5zLXNlcmlmO1xuICAgIG1pbi1oZWlnaHQ6IDUwMHB4O1xuICAgIHBhZGRpbmc6IDAgMTBweCA0MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCA0MHB4O1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICBjb2xvcjogJGxhYm91ci1yZWQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoMSxcbiAgICBoMixcbiAgICBoMyxcbiAgICBoNCxcbiAgICBoNSxcbiAgICBoNiB7XG4gICAgICAgIGNvbG9yOiAkbGFib3VyLXJlZDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XG5cbiAgICAgICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDgwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbGFib3VyLXJlZDtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDZweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogLTQzcHg7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDBweDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNTBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAzNnB4IGF1dG87XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIGZpZ3VyZSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDM2cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICBmaWdjYXB0aW9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAuNCk7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgcGFkZGluZzogOHB4IDEwcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICAgIGNvbG9yOiAkbGFib3VyLXJlZDtcbiAgICAgICAgbWFyZ2luOiAyMHB4IDEwcHg7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS40ZW07XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBtYXJnaW46IDIwcHggNDBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9sLFxuICAgIHVsIHtcbiAgICAgICAgbGlzdC1zdHlsZTogaW5pdGlhbDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICAgICAgfSBcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmFydGljbGVfX3Bvc3Qge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBtYXJnaW46IDIwcHggMSU7XG4gICAgICAgIHdpZHRoOiA0NyU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICB3aWR0aDogMzElO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICAmLmJ1dHRvbiB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiAuOWVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbn1cblxuLmFydGljbGVfX3Bvc3RfX3RodW1iIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGhlaWdodDogMjUwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGhlaWdodDogMjAwcHg7XG4gICAgfVxufVxuIiwiLmJyb3dzZXJ1cGdyYWRlIHtcblx0Ym90dG9tOiAwO1xuXHRsZWZ0OiAwO1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHdpZHRoOiAxMDAlO1xuXHR6LWluZGV4OiAxMDAwMDtcblxuXHRzcGFuIHtcblx0XHRiYWNrZ3JvdW5kOiAkcGFsZS1ncmVlbjtcblx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjJlbTtcblx0XHRtYXJnaW46IGF1dG87XG5cdFx0bWF4LXdpZHRoOiA3MDBweDtcblx0XHRwYWRkaW5nOiAxMHB4IDIwcHg7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cblxuXHRhLFxuXHRzdHJvbmcge1xuXHRcdGNvbG9yOiBpbmhlcml0O1xuXHRcdGZvbnQtZmFtaWx5OiAnTG90YS1TZW1pQm9sZCc7XG5cdH1cbn1cbiIsIi5idXR0b24ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Y29sb3I6ICR3aGl0ZTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdGZvbnQtZmFtaWx5OiAnTG90YS1CbGFjaycsIHNhbnMtc2VyaWY7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdGhlaWdodDogMzBweDtcblx0cGFkZGluZzogNXB4IDA7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHR0cmFuc2l0aW9uOiBhbGwgLjRzO1xuXG5cdGEge1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cdH1cblxuXHQmOmhvdmVyIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG5cdH1cblxuXHQvLyBCbHVlXG5cdCYuYnV0dG9uLS13aGl0ZSB7XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblx0fVxuXG5cdC8vIEJsdWVcblx0Ji5idXR0b24tLWJsdWUge1xuXHRcdGNvbG9yOiAkYmx1ZTtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG5cdFx0XHRjb2xvcjogJHdoaXRlOyBcblx0XHR9XG5cdH1cblxuXHQmLmJ1dHRvbi0tYmctYmx1ZSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRkYXJrLWJsdWU7XG5cdFx0fVxuXHR9XG5cblx0Ly8gUGFsZSBibHVlXG5cdCYuYnV0dG9uLS1wYWxlLWJsdWUge1xuXHRcdGNvbG9yOiAkcGFsZS1ibHVlO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcblx0XHRcdGNvbG9yOiAkd2hpdGU7IFxuXHRcdH1cblx0fVxuXG5cdCYuYnV0dG9uLS1iZy1wYWxlLWJsdWUge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRwYWxlLWJsdWU7XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRkYXJrLXBhbGUtYmx1ZTtcblx0XHR9XG5cdH1cblxuXHQvLyBHcmVlblxuXHQmLmJ1dHRvbi0tZ3JlZW4ge1xuXHRcdGNvbG9yOiAkZ3JlZW47XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcblx0XHRcdGNvbG9yOiAkd2hpdGU7IFxuXHRcdH1cblx0fVxuXG5cdCYuYnV0dG9uLS1iZy1ncmVlbiB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1ncmVlbjtcblx0XHR9XG5cdH1cblxuXHQvLyBQYWxlIGdyZWVuXG5cdCYuYnV0dG9uLS1wYWxlLWdyZWVuIHtcblx0XHRjb2xvcjogJHBhbGUtZ3JlZW47XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRwYWxlLWdyZWVuO1xuXHRcdFx0Y29sb3I6ICR3aGl0ZTsgXG5cdFx0fVxuXHR9XG5cblx0Ji5idXR0b24tLWJnLXBhbGUtZ3JlZW4ge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRwYWxlLWdyZWVuO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1wYWxlLWdyZWVuO1xuXHRcdH1cblx0fVxuXG5cdC8vIE9yYW5nZVxuXHQmLmJ1dHRvbi0tb3JhbmdlIHtcblx0XHRjb2xvcjogJG9yYW5nZTtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZTtcblx0XHRcdGNvbG9yOiAkd2hpdGU7IFxuXHRcdH1cblx0fVxuXG5cdCYuYnV0dG9uLS1iZy1vcmFuZ2Uge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2U7XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRkYXJrLW9yYW5nZTtcblx0XHR9XG5cdH1cblxuXHQvLyBQaW5rXG5cdCYuYnV0dG9uLS1waW5rIHtcblx0XHRjb2xvcjogJHBpbms7XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRwaW5rO1xuXHRcdFx0Y29sb3I6ICR3aGl0ZTsgXG5cdFx0fVxuXHR9XG5cblx0Ji5idXR0b24tLWJnLXBpbmsge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRwaW5rO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1waW5rO1xuXHRcdH1cblx0fVxuXG5cdC8vIFB1cnBsZVxuXHQmLmJ1dHRvbi0tcHVycGxlIHtcblx0XHRjb2xvcjogJHB1cnBsZTtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHB1cnBsZTtcblx0XHRcdGNvbG9yOiAkd2hpdGU7IFxuXHRcdH1cblx0fVxuXG5cdCYuYnV0dG9uLS1iZy1wdXJwbGUge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRwdXJwbGU7XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRkYXJrLXB1cnBsZTtcblx0XHR9XG5cdH1cblxuXHQvLyBQdXJwbGVcblx0Ji5idXR0b24tLXJlZCxcblx0Ji5idXR0b24tLWxhYm91ci1yZWQge1xuXHRcdGNvbG9yOiAkbGFib3VyLXJlZDtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGxhYm91ci1yZWQ7XG5cdFx0XHRjb2xvcjogJHdoaXRlOyBcblx0XHR9XG5cdH1cblxuXHQmLmJ1dHRvbi0tYmctcmVkLFxuXHQmLmJ1dHRvbi0tYmctbGFib3VyLXJlZCB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGxhYm91ci1yZWQ7XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRkYXJrLXJlZDtcblx0XHR9XG5cdH1cbn1cblxuLmJ1dHRvbi0tb3V0bGluZSB7XG5cdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblx0Ym9yZGVyOiAxcHggc29saWQgJGJsYWNrO1xuXHRjb2xvcjogJGJsYWNrO1xuXG5cdCY6aG92ZXIge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcblx0XHRjb2xvcjogJHdoaXRlOyBcblx0fVxuXG5cdCYuYnV0dG9uLS1ibHVlIHtcblx0XHRib3JkZXI6IDFweCBzb2xpZCAkYmx1ZTtcblx0XHRjb2xvcjogJGJsdWU7XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuXHRcdFx0Y29sb3I6ICR3aGl0ZTsgXG5cdFx0fVxuXHR9XG5cblx0Ji5idXR0b24tLXBhbGUtYmx1ZSB7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgJHBhbGUtYmx1ZTtcblx0XHRjb2xvcjogJHBhbGUtYmx1ZTtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHBhbGUtYmx1ZTtcblx0XHRcdGNvbG9yOiAkd2hpdGU7IFxuXHRcdH1cblx0fVxuXG5cdCYuYnV0dG9uLS1ncmVlbiB7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgJGdyZWVuO1xuXHRcdGNvbG9yOiAkZ3JlZW47XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcblx0XHRcdGNvbG9yOiAkd2hpdGU7IFxuXHRcdH1cblx0fVxuXG5cdCYuYnV0dG9uLS1wYWxlLWdyZWVuIHtcblx0XHRib3JkZXI6IDFweCBzb2xpZCAkcGFsZS1ncmVlbjtcblx0XHRjb2xvcjogJHBhbGUtZ3JlZW47XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRwYWxlLWdyZWVuO1xuXHRcdFx0Y29sb3I6ICR3aGl0ZTsgXG5cdFx0fVxuXHR9XG5cblx0Ji5idXR0b24tLW9yYW5nZSB7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgJG9yYW5nZTtcblx0XHRjb2xvcjogJG9yYW5nZTtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZTtcblx0XHRcdGNvbG9yOiAkd2hpdGU7IFxuXHRcdH1cblx0fVxuXG5cdCYuYnV0dG9uLS1waW5rIHtcblx0XHRib3JkZXI6IDFweCBzb2xpZCAkcGluaztcblx0XHRjb2xvcjogJHBpbms7XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRwaW5rO1xuXHRcdFx0Y29sb3I6ICR3aGl0ZTsgXG5cdFx0fVxuXHR9XG5cblx0Ji5idXR0b24tLXB1cnBsZSB7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgJHB1cnBsZTtcblx0XHRjb2xvcjogJHB1cnBsZTtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHB1cnBsZTtcblx0XHRcdGNvbG9yOiAkd2hpdGU7IFxuXHRcdH1cblx0fVxufVxuXG4uYnV0dG9uLS1kb25hdGUge1xuXHRib3gtc2hhZG93OiAxcHggMnB4IDZweCAxcHggcmdiYSgwLCAwLCAwLCAuMyk7XG5cdGZvbnQtc2l6ZTogMTZweDtcbiAgICBoZWlnaHQ6IDM0cHg7XG4gICAgcGFkZGluZzogNnB4IDA7XG59XG5cbi5idXR0b24tLWxhcmdlIHtcblx0aGVpZ2h0OiBhdXRvO1xuXHRwYWRkaW5nOiAxMHB4O1xufVxuXG4uYnV0dG9uLS14bCB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuXHRoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZzogMTVweCAyNXB4O1xufVxuIiwiLnNpbmdsZS1jYW1wYWlnbiB7XG5cdC5wYWdlLWNvbnRlbnQge1xuXHQgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuXHQgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0ICAgXHRcdG1hcmdpbi10b3A6IC02MHB4O1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0ICAgXHRcdG1hcmdpbi10b3A6IC0xMDBweDtcblx0XHR9XG5cdH1cbn1cblxuLmNhbXBhaWducyB7XG5cdEBpbmNsdWRlIGNsZWFyZml4KCk7XG5cdEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcblx0QGluY2x1ZGUgZ3JpZC1jb2x1bW4tZW5kKCk7XG5cdG1hcmdpbi10b3A6IDIwcHg7XG5cdHBhZGRpbmctYm90dG9tOiA0MHB4O1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0aDEge1xuXHRcdGZvbnQtc2l6ZTogMzBweDtcblx0XHRsaW5lLWhlaWdodDogMS4yZW07XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0Zm9udC1zaXplOiA0MHB4O1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdGZvbnQtc2l6ZTogNTVweDtcblx0XHR9XG5cblx0XHQuZ3JlZW4ge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdH1cblx0fVxufVxuXG4uY2FtcGFpZ25zX19mZWF0dXJlZCB7XG5cdGRpc3BsYXk6IHRhYmxlO1xuXHRtYXJnaW4tbGVmdDogMiU7XG5cdG1hcmdpbi10b3A6IDQwcHg7XG5cdHdpZHRoOiA5NiU7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdGRpc3BsYXk6IHRhYmxlO1xuXHRcdG1hcmdpbi1sZWZ0OiA3JTtcblx0XHR3aWR0aDogODYlO1xuXHR9XG5cblx0JiArIC50YWJsZS1ib3JkZXIge1xuXHRcdG1hcmdpbi1sZWZ0OiAyJTtcblx0XHR3aWR0aDogOTYlO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDclO1xuXHRcdFx0d2lkdGg6IDg2JTtcblx0XHR9XG5cdH1cbn1cblxuLnRhYmxlLWJvcmRlciB7XG5cdGNsZWFyOiBib3RoO1xuXHRoZWlnaHQ6IDVweDtcblx0d2lkdGg6IDEwMCU7XG5cblx0Ji0tZ3JlZW4ge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcblx0fVxufVxuXG4uY2FtcGFpZ25zX19mZWF0dXJlZC1jb250ZW50IHtcblx0YmFja2dyb3VuZDogI2UyZTJlMjtcblx0cGFkZGluZzogMzBweCAyMHB4O1xuXG5cdHAge1xuXHRcdG1hcmdpbi10b3A6IDVweDtcblx0fVxuXG5cdGEge1xuXHRcdG1pbi13aWR0aDogMTUwcHg7XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdGRpc3BsYXk6IHRhYmxlLWNlbGw7XG5cdFx0d2lkdGg6IDY1JTtcblx0XHRcblx0XHRwIHtcblx0XHRcdGZvbnQtc2l6ZTogMS4yZW07XG5cdFx0XHRwYWRkaW5nOiAwIDIwcHg7XG5cdFx0fVxuXHR9XG59XG5cbi5jYW1wYWlnbnNfX2ZlYXR1cmVkLWltYWdlIHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0YmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdGRpc3BsYXk6IHRhYmxlLWNlbGw7XG5cdFx0d2lkdGg6IDM1JTtcblx0fVxufVxuXG4uY2FtcGFpZ25zX19pdGVtcyB7XG5cdEBpbmNsdWRlIGNsZWFyZml4KCk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdG1hcmdpbjogMjVweCAwIDMwcHg7XG5cdHdpZHRoOiAxMDAlOyBcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0bWFyZ2luOiA1MHB4IDAgNDBweDtcblx0fVxufVxuXG4uY2FtcGFpZ25zX19pdGVtIHtcblx0QGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuXHRtYXJnaW4tYm90dG9tOiA0MHB4O1xuXG5cdCY6bGFzdC1vZi10eXBlIHtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRAaW5jbHVkZSBncmlkLWNvbHVtbig0KTtcblx0XHRAaW5jbHVkZSBncmlkLWNvbHVtbi1lbmQoKTtcblx0fVxufVxuXG4uY2FtcGFpZ25zX19pdGVtLS1ibHVlIHtcblx0LmNhbXBhaWduc19faXRlbV9faW1hZ2Uge1xuXHRcdGJvcmRlci1jb2xvcjogJGJsdWU7XG5cdH1cblxuXHRoNCB7XG5cdFx0Y29sb3I6ICRibHVlO1xuXHR9XG59XG5cbi5jYW1wYWlnbnNfX2l0ZW0tLXBhbGUtYmx1ZSB7XG5cdC5jYW1wYWlnbnNfX2l0ZW1fX2ltYWdlIHtcblx0XHRib3JkZXItY29sb3I6ICRwYWxlLWJsdWU7XG5cdH1cblxuXHRoNCB7XG5cdFx0Y29sb3I6ICRwYWxlLWJsdWU7XG5cdH1cbn1cblxuLmNhbXBhaWduc19faXRlbS0tZ3JlZW4ge1xuXHQuY2FtcGFpZ25zX19pdGVtX19pbWFnZSB7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkZ3JlZW47XG5cdH1cblxuXHRoNCB7XG5cdFx0Y29sb3I6ICRncmVlbjtcblx0fVxufVxuXG4uY2FtcGFpZ25zX19pdGVtLS1wYWxlLWdyZWVuIHtcblx0LmNhbXBhaWduc19faXRlbV9faW1hZ2Uge1xuXHRcdGJvcmRlci1jb2xvcjogJHBhbGUtZ3JlZW47XG5cdH1cblxuXHRoNCB7XG5cdFx0Y29sb3I6ICRwYWxlLWdyZWVuO1xuXHR9XG59XG5cbi5jYW1wYWlnbnNfX2l0ZW0tLW9yYW5nZSB7XG5cdC5jYW1wYWlnbnNfX2l0ZW1fX2ltYWdlIHtcblx0XHRib3JkZXItY29sb3I6ICRvcmFuZ2U7XG5cdH1cblxuXHRoNCB7XG5cdFx0Y29sb3I6ICRvcmFuZ2U7XG5cdH1cbn1cblxuLmNhbXBhaWduc19faXRlbS0tcGluayB7XG5cdC5jYW1wYWlnbnNfX2l0ZW1fX2ltYWdlIHtcblx0XHRib3JkZXItY29sb3I6ICRwaW5rO1xuXHR9XG5cblx0aDQge1xuXHRcdGNvbG9yOiAkcGluaztcblx0fVxufVxuXG4uY2FtcGFpZ25zX19pdGVtLS1wdXJwbGUge1xuXHQuY2FtcGFpZ25zX19pdGVtX19pbWFnZSB7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkcHVycGxlO1xuXHR9XG5cblx0aDQge1xuXHRcdGNvbG9yOiAkcHVycGxlO1xuXHR9XG59XG5cbi5jYW1wYWlnbnNfX2l0ZW0tLWxhYm91ci1yZWQge1xuXHQuY2FtcGFpZ25zX19pdGVtX19pbWFnZSB7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkbGFib3VyLXJlZDtcblx0fVxuXG5cdGg0IHtcblx0XHRjb2xvcjogJGxhYm91ci1yZWQ7XG5cdH1cbn1cblxuLmNhbXBhaWduc19faXRlbS1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdCAgICBtYXJnaW46IGF1dG87XG5cdCAgICBtYXgtd2lkdGg6IDI1MHB4O1xuICAgIH1cblxuICAgIGg0IHtcbiAgICBcdGZvbnQtc2l6ZTogMjRweDtcbiAgICBcdGxpbmUtaGVpZ2h0OiAxLjJlbTtcblx0ICAgIG1hcmdpbjogMjBweCAwIC0xMHB4O1xuXHR9XG5cblx0YSB7XG5cdFx0Ji5idXR0b24ge1xuXHRcdFx0bWF4LXdpZHRoOiAxNTBweDtcblx0XHRcdHBhZGRpbmctbGVmdDogMTVweDtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDE1cHg7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHR9XG5cdH1cbn1cblxuLmNhbXBhaWduc19faXRlbV9faW1hZ2Uge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRib3JkZXI6IDRweCBzb2xpZCAkZ3JlZW47XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDIyMHB4O1xuICAgIG1hcmdpbjogYXV0bztcbiAgICB3aWR0aDogMjIwcHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZSkge1xuICAgIFx0aGVpZ2h0OiAyNTBweDtcbiAgICBcdHdpZHRoOiAyNTBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIFx0aGVpZ2h0OiAxODBweDtcbiAgICBcdHdpZHRoOiAxODBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgXHRoZWlnaHQ6IDI0MHB4O1xuICAgIFx0d2lkdGg6IDI0MHB4O1xuICAgIH1cbn1cbiIsIi5jb29raWVzLWJhbm5lciB7XG4gICAgYmFja2dyb3VuZDogJGxhYm91ci1yZWQ7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR3aGl0ZTtcbiAgICBib3R0b206IDA7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAtNTBweDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBhZGRpbmc6IDMwcHggMTBweDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgcmlnaHQ6IDA7XG4gICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbjogLjM1cztcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiA5O1xuXG4gICAgJi5hcHBlYXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB6LWluZGV4OiA5OTk7XG4gICAgfVxuXG4gICAgJi5zaG93ZWQtYWxlcnQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5pbm5lcnRleHQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgY29sb3I6ICNmYWY4ZjQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnTG90YS1Cb2xkJztcbiAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMTI1JTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgICY6bm90KC5idG4pIHtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9uLXdyYXBwZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgIG1hcmdpbjogMTBweCBhdXRvIDA7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNsb3NlLWljb24ge1xuICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDA7XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNlYjQwNmM7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgZmlsbDogI2ZhZjhmNDtcbiAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IC4zNXM7XG4gICAgICAgICAgICB3aWR0aDogMjBweDtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZhZjhmNDtcbiAgICAgICAgICAgICAgICBmaWxsOiAjZTQwMDNiO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbC14cy0xMiB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDIwcHggMCAwO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmRlbGl2ZXJpbmdfX2NhdXNlIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHQgICAgJjpudGgtY2hpbGQoMm4gKyAxKSB7XG5cdCAgICBcdCYgPiBkaXYge1xuXHQgICAgXHRcdGZsb2F0OiBsZWZ0O1xuXG5cdCAgICBcdFx0Ji5kZWxpdmVyaW5nX19zdGF0cyB7XG5cdFx0XHRcdFx0Ym9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuXHRcdFx0XHRcdGJvcmRlci1sZWZ0LXdpZHRoOiA0cHg7XG5cdFx0XHRcdH1cblx0ICAgIFx0fVxuXHQgICAgfVxuXG5cdCAgICAmOm50aC1jaGlsZCgybiArIDIpIHtcblx0ICAgIFx0JiA+IGRpdiB7XG5cdCAgICBcdFx0ZmxvYXQ6IHJpZ2h0O1xuXG5cdCAgICBcdFx0Ji5kZWxpdmVyaW5nX19zdGF0cyB7XG5cdFx0XHRcdFx0Ym9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcblx0XHRcdFx0XHRib3JkZXItcmlnaHQtd2lkdGg6IDRweDtcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0XHRcdFx0fVxuXHQgICAgXHR9XG4gICAgXHR9XG4gICAgfVxufVxuXG4uZGVsaXZlcmluZ19fY2F1c2UtLWJsdWUge1xuXHQuZGVsaXZlcmluZ19fc3RhdHMge1xuXHRcdGJvcmRlci1jb2xvcjogJGJsdWU7XG5cblx0XHQuaWNvbiB7XG5cdFx0XHRmaWxsOiAkYmx1ZTtcblx0XHR9XG5cdH1cblxuXHQuZGVsaXZlcmluZ19faW1hZ2UtY29udGFpbmVyIHtcblx0XHRib3JkZXItY29sb3I6ICRibHVlO1xuXHR9XG5cblx0LmRlbGl2ZXJpbmdfX3N0YXQtdmFsdWUge1xuXHRcdGNvbG9yOiAkYmx1ZTtcblx0fVxufVxuXG4uZGVsaXZlcmluZ19fY2F1c2UtLWdyZWVuIHtcblx0LmRlbGl2ZXJpbmdfX3N0YXRzIHtcblx0XHRib3JkZXItY29sb3I6ICRncmVlbjtcblxuXHRcdC5pY29uIHtcblx0XHRcdGZpbGw6ICRncmVlbjtcblx0XHR9XG5cdH1cblxuXHQuZGVsaXZlcmluZ19faW1hZ2UtY29udGFpbmVyIHtcblx0XHRib3JkZXItY29sb3I6ICRncmVlbjtcblx0fVxuXG5cdC5kZWxpdmVyaW5nX19zdGF0LXZhbHVlIHtcblx0XHRjb2xvcjogJGdyZWVuO1xuXHR9XG59XG5cbi5kZWxpdmVyaW5nX19jYXVzZS0tb3JhbmdlIHtcblx0LmRlbGl2ZXJpbmdfX3N0YXRzIHtcblx0XHRib3JkZXItY29sb3I6ICRvcmFuZ2U7XG5cblx0XHQuaWNvbiB7XG5cdFx0XHRmaWxsOiAkb3JhbmdlO1xuXHRcdH1cblx0fVxuXG5cdC5kZWxpdmVyaW5nX19pbWFnZS1jb250YWluZXIge1xuXHRcdGJvcmRlci1jb2xvcjogJG9yYW5nZTtcblx0fVxuXG5cdC5kZWxpdmVyaW5nX19zdGF0LXZhbHVlIHtcblx0XHRjb2xvcjogJG9yYW5nZTtcblx0fVxufVxuXG4uZGVsaXZlcmluZ19fY2F1c2UtLXBhbGUtYmx1ZSB7XG5cdC5kZWxpdmVyaW5nX19zdGF0cyB7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkcGFsZS1ibHVlO1xuXG5cdFx0Lmljb24ge1xuXHRcdFx0ZmlsbDogJHBhbGUtYmx1ZTtcblx0XHR9XG5cdH1cblxuXHQuZGVsaXZlcmluZ19faW1hZ2UtY29udGFpbmVyIHtcblx0XHRib3JkZXItY29sb3I6ICRwYWxlLWJsdWU7XG5cdH1cblxuXHQuZGVsaXZlcmluZ19fc3RhdC12YWx1ZSB7XG5cdFx0Y29sb3I6ICRwYWxlLWJsdWU7XG5cdH1cbn1cblxuLmRlbGl2ZXJpbmdfX2NhdXNlLS1wYWxlLWdyZWVuIHtcblx0LmRlbGl2ZXJpbmdfX3N0YXRzIHtcblx0XHRib3JkZXItY29sb3I6ICRwYWxlLWdyZWVuO1xuXG5cdFx0Lmljb24ge1xuXHRcdFx0ZmlsbDogJHBhbGUtZ3JlZW47XG5cdFx0fVxuXHR9XG5cblx0LmRlbGl2ZXJpbmdfX2ltYWdlLWNvbnRhaW5lciB7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkcGFsZS1ncmVlbjtcblx0fVxuXG5cdC5kZWxpdmVyaW5nX19zdGF0LXZhbHVlIHtcblx0XHRjb2xvcjogJHBhbGUtZ3JlZW47XG5cdH1cbn1cblxuLmRlbGl2ZXJpbmdfX2NhdXNlLS1waW5rIHtcblx0LmRlbGl2ZXJpbmdfX3N0YXRzIHtcblx0XHRib3JkZXItY29sb3I6ICRwaW5rO1xuXG5cdFx0Lmljb24ge1xuXHRcdFx0ZmlsbDogJHBpbms7XG5cdFx0fVxuXHR9XG5cblx0LmRlbGl2ZXJpbmdfX2ltYWdlLWNvbnRhaW5lciB7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkcGluaztcblx0fVxuXG5cdC5kZWxpdmVyaW5nX19zdGF0LXZhbHVlIHtcblx0XHRjb2xvcjogJHBpbms7XG5cdH1cbn1cblxuLmRlbGl2ZXJpbmdfX2NhdXNlLS1wdXJwbGUge1xuXHQuZGVsaXZlcmluZ19fc3RhdHMge1xuXHRcdGJvcmRlci1jb2xvcjogJHB1cnBsZTtcblxuXHRcdC5pY29uIHtcblx0XHRcdGZpbGw6ICRwdXJwbGU7XG5cdFx0fVxuXHR9XG5cblx0LmRlbGl2ZXJpbmdfX2ltYWdlLWNvbnRhaW5lciB7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkcHVycGxlO1xuXHR9XG5cblx0LmRlbGl2ZXJpbmdfX3N0YXQtdmFsdWUge1xuXHRcdGNvbG9yOiAkcHVycGxlO1xuXHR9XG59XG5cbi5kZWxpdmVyaW5nX19jYXVzZS0tbGFib3VyLXJlZCB7XG5cdC5kZWxpdmVyaW5nX19zdGF0cyB7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkbGFib3VyLXJlZDtcblxuXHRcdC5pY29uIHtcblx0XHRcdGZpbGw6ICRsYWJvdXItcmVkO1xuXHRcdH1cblx0fVxuXG5cdC5kZWxpdmVyaW5nX19pbWFnZS1jb250YWluZXIge1xuXHRcdGJvcmRlci1jb2xvcjogJGxhYm91ci1yZWQ7XG5cdH1cblxuXHQuZGVsaXZlcmluZ19fc3RhdC12YWx1ZSB7XG5cdFx0Y29sb3I6ICRsYWJvdXItcmVkO1xuXHR9XG59XG5cbi5kZWxpdmVyaW5nX19zdGF0cyB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIFx0ZGlzcGxheTogYmxvY2s7XG4gICAgXHR3aWR0aDogMjAwcHg7XG4gICAgfVxuXG4gICAgJi5kZWxpdmVyaW5nX19zdGF0cy0tbW9iaWxlIHtcblx0ICAgIGRpc3BsYXk6IGJsb2NrO1xuXG5cdCAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHQgICAgXHRkaXNwbGF5OiBub25lO1xuXHQgICAgfVxuXG5cdCAgICBpbWcge1xuXHQgICAgXHRkaXNwbGF5OiBibG9jaztcblx0ICAgIFx0bWFyZ2luOiBhdXRvO1xuXHQgICAgfVxuXHR9XG59XG5cbi5kZWxpdmVyaW5nX19zdGF0IHtcblx0ZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZzogMCA1cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAzMiU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdEBpbmNsdWRlIGNsZWFyZml4KCk7IFxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRmbG9hdDogbm9uZTtcblx0XHRwYWRkaW5nOiA1cHggMTBweDtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdHdpZHRoOiBhdXRvO1xuXG5cdFx0JjpudGgtY2hpbGQoMm4gKyAxKSB7XG5cdCAgICBcdCYgPiBzcGFuIHtcblx0ICAgIFx0XHRmbG9hdDogbGVmdDtcblxuXHQgICAgXHRcdCYuZGVsaXZlcmluZ19fc3RhdC12YWx1ZSB7XG5cdCAgICBcdFx0XHRwYWRkaW5nLWxlZnQ6IDEwcHg7XG5cdCAgICBcdFx0fVxuXHQgICAgXHR9XG5cdCAgICB9XG5cblx0ICAgICY6bnRoLWNoaWxkKDJuICsgMikge1xuXHQgICAgXHQmID4gc3BhbiB7XG5cdCAgICBcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHQgICAgXHRcdFxuXHQgICAgXHRcdCYuZGVsaXZlcmluZ19fc3RhdC12YWx1ZSB7XG5cdCAgICBcdFx0XHRwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuXHQgICAgXHRcdH1cblx0ICAgIFx0fVxuXHQgICAgfVxuXHR9XG59XG5cbi5kZWxpdmVyaW5nX19zdGF0LWljb24ge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwIDEwcHggMTBweCAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBcdG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgIFx0aGVpZ2h0OiA0MHB4O1xuICAgIFx0d2lkdGg6IGF1dG87XG4gICAgfVxufVxuXG4uZGVsaXZlcmluZ19fc3RhdC12YWx1ZSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LWZhbWlseTogJ0xvdGEtQmxhY2snO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMS4xZW07XG4gICAgbWF4LXdpZHRoOiA5MHB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIFx0bWFyZ2luLXRvcDogOHB4O1xuICAgIH1cbn1cblxuLmRlbGl2ZXJpbmdfX2NvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRwYWRkaW5nOiAwIDEwcHg7XG4gICAgXHR3aWR0aDogY2FsYygxMDAlIC0gMjAwcHgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBcdHdpZHRoOiBjYWxjKDEwMCUgLSA0MDBweCk7XG4gICAgfVxuXG4gICAgaDQge1xuICAgIFx0Y29sb3I6ICR3aGl0ZTtcbiAgICBcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0ICAgIGZvbnQtZmFtaWx5OiAnSW50cm8nO1xuXHQgICAgZm9udC1zaXplOiAyMHB4O1xuXHQgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0ICAgIHBhZGRpbmc6IDJweCA3cHggMDtcbiAgICB9XG5cbiAgICBwIHtcblx0ICAgIGZvbnQtZmFtaWx5OiAnTG90YS1TZW1pQm9sZCc7XG5cdCAgICBmb250LXNpemU6IDE2cHg7XG5cdCAgICBsaW5lLWhlaWdodDogMS4zZW07XG5cdH1cbn1cblxuLmRlbGl2ZXJpbmdfX2ltYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgXHRkaXNwbGF5OiBub25lO1xuICAgIFx0d2lkdGg6IDIwMHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBcdGRpc3BsYXk6IGJsb2NrO1xuICAgIFx0d2lkdGg6IDIwMHB4O1xuICAgIH1cbn1cblxuLmRlbGl2ZXJpbmdfX2ltYWdlLWNvbnRhaW5lciB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdGJvcmRlcjogNHB4IHNvbGlkICRncmVlbjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDI1MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0ICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBcdGhlaWdodDogMTgwcHg7XG4gICAgXHRtYXJnaW46IGF1dG87XG4gICAgXHR3aWR0aDogMTgwcHg7XG4gICAgfVxufVxuXG4iLCIuZW5kLW1vZHVsZSB7XG5cdEBpbmNsdWRlIGNsZWFyZml4KCk7XG5cdGJhY2tncm91bmQ6ICRwYWxlLWdyZWVuO1xuXHRwYWRkaW5nOiAzMHB4IDIwcHg7XG5cdHdpZHRoOiAxMDAlO1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0cGFkZGluZzogMzBweCAyMHB4IDI1cHg7XG5cdH1cbn1cblxuLmVuZC1tb2R1bGVfX2hlYWRlciB7XG5cdEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcblx0YmFja2dyb3VuZDogJHdoaXRlO1xuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHRwYWRkaW5nOiA1cHggMTBweCAwO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRAaW5jbHVkZSBncmlkLWNvbHVtbigxMCk7XG5cdFx0QGluY2x1ZGUgZ3JpZC1jb2x1bW4tb2Zmc2V0KDEpO1xuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdEBpbmNsdWRlIGdyaWQtY29sdW1uKDgpO1xuXHRcdEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgyKTtcblx0fVxuXG5cdGgyIHtcblx0XHRjb2xvcjogJGxhYm91ci1yZWQ7XG5cdCAgICBmb250LXNpemU6IDI3cHg7XG5cdCAgICBsaW5lLWhlaWdodDogMS4xZW07XG5cdCAgICBwYWRkaW5nOiA1cHggMCA3cHg7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0Zm9udC1zaXplOiAzNXB4O1xuXHRcdH1cblx0fVxufVxuXG4uZW5kLW1vZHVsZV9fY29udGVudCB7XG5cdGZsb2F0OiBsZWZ0O1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHdpZHRoOiAxMDAlO1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0QGluY2x1ZGUgZ3JpZC1jb2x1bW4oOCk7XG5cdFx0QGluY2x1ZGUgZ3JpZC1jb2x1bW4tb2Zmc2V0KDIpO1xuXHRcdEBpbmNsdWRlIGdyaWQtY29sdW1uLWVuZCgpO1xuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdEBpbmNsdWRlIGdyaWQtY29sdW1uKDYpO1xuXHRcdEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgzKTtcblx0XHRAaW5jbHVkZSBncmlkLWNvbHVtbi1lbmQoKTtcblx0fVxuXG5cdCYtLWRvbmF0ZSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHBhbGUtYmx1ZTtcblx0XHRwYWRkaW5nOiAxMHB4O1xuXHR9XG5cblx0Ji0tc29jaWFsIHtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0QGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuXHRcdFx0QGluY2x1ZGUgZ3JpZC1jb2x1bW4tb2Zmc2V0KDApO1xuXHRcdFx0QGluY2x1ZGUgZ3JpZC1jb2x1bW4tZW5kKCk7XG5cdFx0XHRwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0QGluY2x1ZGUgZ3JpZC1jb2x1bW4oOCk7XG5cdFx0XHRAaW5jbHVkZSBncmlkLWNvbHVtbi1vZmZzZXQoMik7XG5cdFx0XHRAaW5jbHVkZSBncmlkLWNvbHVtbi1lbmQoKTtcblx0XHR9XG5cdH1cbn1cblxuLmVuZC1tb2R1bGVfX2NvbnRlbnRfX2lubmVyIHtcblx0QGluY2x1ZGUgY2xlYXJmaXgoKTtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uZW5kLW1vZHVsZV9fY29udGVudC10aXRsZSB7XG5cdGNvbG9yOiAkd2hpdGU7XG5cdGxpbmUtaGVpZ2h0OiAxLjJlbTtcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcblxuXHRzcGFuIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdH1cbn1cblxuLmVuZC1tb2R1bGVfX2J1dHRvbnMge1xuXHQuYnV0dG9uIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0bWFyZ2luOiA1cHg7XG5cdFx0cGFkZGluZzogNXB4O1xuXHRcdHdpZHRoOiA0NSU7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0d2lkdGg6IDMwJTtcblx0XHR9XG5cblx0XHQmLmVuZC1tb2R1bGVfX2J1dHRvbi0tbGFyZ2Uge1xuXHRcdFx0d2lkdGg6IDUwJTtcblx0XHR9XG5cdH1cbn1cblxuLmVuZC1tb2R1bGVfX2Zvcm0ge1xuXHRpbnB1dCB7XG5cdCAgICBiYWNrZ3JvdW5kOiAkcGFsZS1saWdodC1ncmVlbjtcblx0ICAgIGJvcmRlcjogMXB4IHNvbGlkICRwYWxlLWxpZ2h0LWdyZWVuO1xuXHQgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG5cblx0LmJ1dHRvbiB7XG5cdFx0YmFja2dyb3VuZDogJHBhbGUtYmx1ZTtcblx0XHRib3JkZXI6IDA7XG5cdFx0aGVpZ2h0OiAzMnB4OyBcblx0XHR3aWR0aDogMTAwJTtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRcdFx0Y29sb3I6ICRwYWxlLWJsdWU7XG5cdFx0fVxuXHR9XG5cblx0LnNtYWxsIHtcblx0ICAgIGZvbnQtc2l6ZTogMTJweDtcblx0ICAgIGxpbmUtaGVpZ2h0OiAxLjNlbTtcblx0ICAgIG1hcmdpbjogMTBweCBhdXRvIDA7XG5cdCAgICBtYXgtd2lkdGg6IDUwMHB4O1xuXG5cdFx0YSB7XG5cdFx0XHRjb2xvcjogaW5oZXJpdDtcblx0XHR9XG5cdH1cbn1cbiIsIi5pZSB7XG5cdC5hY2hpZXZlbWVudHNfX2l0ZW0ge1xuXHRcdEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcblx0XHRtYXJnaW4tYm90dG9tOiA0MHB4O1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUpIHtcblx0XHRcdEBpbmNsdWRlIGdyaWQtY29sdW1uKDYpO1xuXHRcdFx0bWluLWhlaWdodDogNDAwcHg7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdEBpbmNsdWRlIGdyaWQtY29sdW1uKDQpO1xuXHRcdH1cblx0fVxuXG5cdC5jYW1wYWlnbnNfX2l0ZW0ge1xuXHRcdG1pbi1oZWlnaHQ6IDM2MHB4O1xuXHR9XG59XG5cblxuLmllOCB7XG5cdC5sb2dvIHtcblx0XHQmLS1kZXNrdG9wIHtcblx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdH1cblxuXHRcdCYtLW1vYmlsZSB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0fVxuXG5cdC8vSEVSTyBcblx0Lmhlcm8ge1xuXHRcdGJhY2tncm91bmQtc2l6ZTogMTAwMHB4O1xuXHRcdGhlaWdodDogNjAwcHg7XG5cblx0XHQmLS1nZW5lcmljIHtcblx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciB0b3A7XG5cdFx0XHRiYWNrZ3JvdW5kLXNpemU6IDEwMDBweDtcblx0XHRcdGhlaWdodDogNjAwcHg7XG5cdFx0fVxuXHR9XG5cblx0Lmhlcm9fX2NvbnRlbnQge1xuXHRcdHRvcDogNSU7XG5cdH1cblxuXHQuaGVyb19fYnJhbmRpbmcge1xuXHRcdHdpZHRoOiA0NjVweDtcblx0fVxuXG5cdC8vQUJPVVQgUEFHRVxuXHQuYWJvdXRfX21vbWVudCB7XG4gICAgXHRtYXJnaW46IDAgYXV0byA2MHB4O1xuXG4gICAgXHQmID4gZGl2IHtcbiAgICBcdFx0ZmxvYXQ6IHJpZ2h0O1xuXG4gICAgXHRcdCYuYWJvdXRfX2NvbnRlbnQge1xuICAgIFx0XHRcdHBhZGRpbmctbGVmdDogMTBweDtcbiAgICBcdFx0fVxuXG4gICAgXHRcdC5hYm91dF9faW1hZ2UtY29udGFpbmVyIHtcblx0XHRcdCAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZyk7XG5cdFx0XHR9XG4gICAgXHR9XG5cdH1cblxuXHQuYWJvdXRfX2NvbnRlbnQge1xuXHQgICAgd2lkdGg6IDQwMHB4O1xuXHR9XG5cblx0LmFib3V0X19pbWFnZSB7XG5cdCAgICB3aWR0aDogMjAwcHg7XG5cdH1cblxuXHQuYWJvdXRfX2ltYWdlLWNvbnRhaW5lciB7XG5cdFx0Ym9yZGVyOiAxMHB4IHNvbGlkICRwYWxlLWxpZ2h0LWdyZWVuO1xuXHRcdGJvcmRlci1yYWRpdXM6IDRweDtcblx0XHRib3gtc2hhZG93OiAxcHggMXB4IDdweCAxcHggJGdyZXktMztcbiAgICBcdGhlaWdodDogMjAwcHg7XG4gICAgXHRtYXJnaW46IGF1dG87XG4gICAgXHRwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBcdHRyYW5zZm9ybTogcm90YXRlKC01ZGVnKTtcbiAgICBcdHdpZHRoOiAxODBweDtcblx0fVxuXG5cblx0Ly9BVkNISUVWRU1FTlRTIFBBR0Vcblx0LmFjaGlldmVtZW50cyB7XG5cdFx0aDIge1xuXHRcdFx0Zm9udC1zaXplOiA0MHB4O1xuXHRcdH1cblx0fVxuXG5cdC5hY2hpZXZlbWVudHNfX2l0ZW1zIHtcblx0XHRtYXJnaW4tdG9wOiA3MHB4O1xuXHR9XG5cblx0LmFjaGlldmVtZW50c19faXRlbSB7XG5cdFx0QGluY2x1ZGUgZ3JpZC1jb2x1bW4oNCk7XG5cdH1cblxuXHQuYWNoaWV2ZW1lbnRzX19pdGVtLS1wZXRpdGlvbiB7XG5cdCAgICBkaXNwbGF5OiBibG9jaztcblx0ICAgIFxuXG5cdCAgICAmLmFjaGlldmVtZW50c19faXRlbS0tcGV0aXRpb24tbW9iaWxlIHtcblx0XHQgICAgZGlzcGxheTogbm9uZTtcblx0ICAgIH1cblxuXHRcdC5hY2hpZXZlbWVudHNfX2l0ZW1fX2ltYWdlIHtcblx0XHQgICAgaGVpZ2h0OiAyMTVweDtcblx0XHR9XG5cdH1cblxuXHQuYWNoaWV2ZW1lbnRzX19pdGVtLWNvbnRlbnQge1xuXHQgICAgaDQge1xuXHQgICAgXHRmb250LXNpemU6IDI0cHg7XG5cdFx0fVxuXG5cdFx0cCB7XG5cdCAgICBcdGZvbnQtc2l6ZTogMjBweDtcblx0XHR9XG5cdH1cblxuXHQuYWNoaWV2ZW1lbnRzX19pdGVtX19pbWFnZSB7XG5cdCAgICBoZWlnaHQ6IDI0MHB4O1xuXHQgICAgd2lkdGg6IDI0MHB4O1xuXHR9XG5cblx0Ly9BQ1RJT04gQkFSXG5cdC5hY3Rpb24tYmFyX19kb25hdGUge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGZsb2F0OiBsZWZ0O1xuXHRcdHdpZHRoOiAzNSU7XG5cdH1cblxuXHQuYWN0aW9uLWJhcl9fc2lnbnVwIHtcblx0XHRmbG9hdDogbGVmdDtcblx0XHR3aWR0aDogNjIlO1xuXHR9XG5cblx0LmFjdGlvbi1iYXJfX2Zvcm0ge1xuXHRcdC5nZm9ybV9ib2R5IHtcblx0XHRcdHdpZHRoOiA2MDBweDtcblx0XHR9XG5cblx0XHQuZ2ZpZWxkIHtcblx0XHRcdGlucHV0IHtcblx0XHRcdFx0Jjpub3QoLmJ1dHRvbikge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0XHR3aWR0aDogMjclO1xuXG5cdFx0XHRcdFx0Ji5sYXJnZSB7XG5cdFx0XHRcdFx0XHR3aWR0aDogNDIlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmOmZpcnN0LW9mLXR5cGUge1xuXHRcdFx0XHRpbnB1dCB7XG5cdFx0XHRcdCAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQuZ2Zvcm1fYWpheF9zcGlubmVyIHtcblx0XHQgICAgZmxvYXQ6IGxlZnQ7XG5cdFx0ICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0fVxuXHRcdFxuXHRcdC5nZm9ybV9mb290ZXIge1xuXHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHRcdHdpZHRoOiAxNDBweDtcblx0XHR9XG5cdH1cblxuXHQvL0FSVElDTEVcblx0LmFydGljbGVfX2hlcm8taW1hZ2Uge1xuXHQgICAgbWFyZ2luOiAxNDVweCAwIC0xNjhweDtcblx0ICAgIHBhZGRpbmc6IDAgMjRweDtcblx0fVxuXG5cdC5hcnRpY2xlIHtcblx0ICAgIHBhZGRpbmc6IDAgMCA0MHB4O1xuXG5cdCAgICBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuXHQgICAgfVxuXG5cdCAgICBoMSxcblx0ICAgIGgyLFxuXHQgICAgaDMsXG5cdCAgICBoNCxcblx0ICAgIGg1LFxuXHQgICAgaDYge1xuXHQgICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuXHQgICAgICAgICAgICAmOmJlZm9yZSB7XG5cdCAgICAgICAgICAgICAgICBoZWlnaHQ6IDEycHg7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICB9XG5cdCAgICB9XG5cblx0ICAgIGJsb2NrcXVvdGUge1xuXHQgICAgICAgIG1hcmdpbjogMjBweCA0MHB4O1xuXHQgICAgfVxuXG5cdCAgICBvbCxcblx0ICAgIHVsIHtcblx0ICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG5cblx0ICAgICAgICBsaSB7XG5cdCAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcblx0ICAgICAgICB9XG5cdCAgICB9XG5cdH1cblxuXHQvL1NPQ0lBTFxuXHQuc29jaWFsX19ibG9jayB7XG5cdFx0QGluY2x1ZGUgZ3JpZC1jb2x1bW4oNCk7XG5cdFx0bWFyZ2luOiAwIDIwcHg7XG5cblx0XHQvLyBvbmUgaXRlbVxuXHRcdCY6bnRoLWNoaWxkKDEpIHtcblx0XHRcdCY6bnRoLWxhc3QtY2hpbGQoMSkge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdH1cblxuXHRcdFx0JjpudGgtbGFzdC1jaGlsZCgyKSB7XG5cdFx0XHRcdHdpZHRoOiA1MCU7XG5cdFx0XHR9XG5cblx0XHRcdCY6bnRoLWxhc3QtY2hpbGQoMykge1xuXHRcdFx0XHR3aWR0aDogMzMuMzMzMyU7XG5cdFx0XHR9XG5cblx0XHRcdCY6bnRoLWxhc3QtY2hpbGQoNCkge1xuXHRcdFx0XHR3aWR0aDogMjUlO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC8vIHR3byBpdGVtc1xuXHRcdCY6bnRoLWNoaWxkKDIpIHtcblx0XHRcdCY6bnRoLWxhc3QtY2hpbGQoMSkge1xuXHRcdFx0XHR3aWR0aDogNTAlO1xuXHRcdFx0fVxuXG5cdFx0XHQmOm50aC1sYXN0LWNoaWxkKDIpIHtcblx0XHRcdFx0d2lkdGg6IDMzLjMzMzMlO1xuXHRcdFx0fVxuXG5cdFx0XHQmOm50aC1sYXN0LWNoaWxkKDMpIHtcblx0XHRcdFx0d2lkdGg6IDI1JTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQvLyB0aHJlZSBpdGVtc1xuXHRcdCY6bnRoLWNoaWxkKDMpIHtcblx0XHRcdCY6bnRoLWxhc3QtY2hpbGQoMSkge1xuXHRcdFx0XHR3aWR0aDogMzMuMzMzMyU7XG5cdFx0XHR9XG5cblx0XHRcdCY6bnRoLWxhc3QtY2hpbGQoMikge1xuXHRcdFx0XHR3aWR0aDogMjUlO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC8vIGZvdXIgaXRlbXNcblx0XHQmOm50aC1jaGlsZCg0KSB7XG5cdFx0XHQmOm50aC1sYXN0LWNoaWxkKDEpIHtcblx0XHRcdFx0d2lkdGg6IDI1JTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuc29jaWFsX190aXRsZSB7XG5cdFx0Zm9udC1zaXplOiAzNXB4O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0fVxuXG5cdC5zb2NpYWxfX2NvbnRlbnQge1xuXHRcdC5zb2NpYWxfX2ltYWdlIHtcblx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xuXHRcdH1cblx0fVxuXG5cdC8vQ0FNUEFJR05TXG5cdC5jYW1wYWlnbnMge1xuXHRcdGgxIHtcblx0XHRcdGZvbnQtc2l6ZTogNTVweDtcblx0XHR9XG5cdH1cblxuXHQuY2FtcGFpZ25zX19mZWF0dXJlZCB7XG5cdFx0bWFyZ2luLWxlZnQ6IDclO1xuXHRcdHdpZHRoOiA4NiU7XG5cblx0XHQmICsgLnRhYmxlLWJvcmRlciB7XG5cdFx0XHRtYXJnaW4tbGVmdDogNyU7XG5cdFx0XHR3aWR0aDogODYlO1xuXHRcdH1cblx0fVxuXG5cdC5jYW1wYWlnbnNfX2ZlYXR1cmVkLWNvbnRlbnQge1xuXHRcdGRpc3BsYXk6IHRhYmxlLWNlbGw7XG5cdFx0d2lkdGg6IDY1JTtcblx0XHRcblx0XHRwIHtcblx0XHRcdGZvbnQtc2l6ZTogMS4yZW07XG5cdFx0XHRwYWRkaW5nOiAwIDIwcHg7XG5cdFx0fVxuXHR9XG5cblx0LmNhbXBhaWduc19fZmVhdHVyZWQtaW1hZ2Uge1xuXHRcdGRpc3BsYXk6IHRhYmxlLWNlbGw7XG5cdFx0d2lkdGg6IDM1JTtcblx0fVxuXG5cdC5jYW1wYWlnbnNfX2l0ZW1zIHtcblx0XHRtYXJnaW46IDcwcHggMCA0MHB4O1xuXHR9XG5cblx0LmNhbXBhaWduc19faXRlbSB7XG5cdFx0QGluY2x1ZGUgZ3JpZC1jb2x1bW4oNCk7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxuXG5cdC5jYW1wYWlnbnNfX2l0ZW0tY29udGVudCB7XG5cdFx0bWFyZ2luOiBhdXRvO1xuXHRcdG1heC13aWR0aDogMjUwcHg7XG5cdH1cblxuXHQuY2FtcGFpZ25zX19pdGVtX19pbWFnZSB7XG4gICAgXHRoZWlnaHQ6IDI0MHB4O1xuICAgIFx0d2lkdGg6IDI0MHB4O1xuXHR9XG5cblx0Ly9IRUFERVJcblx0LmhlYWRlcl9fYnVyZ2VyIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0Lm5hdl9fY29udGFpbmVyIHtcblx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGhlaWdodDogNTZweDtcblx0XHRsZWZ0OiBhdXRvO1xuXHRcdHBhZGRpbmc6IDEwcHggMDtcblx0ICAgIHJpZ2h0OiA5NXB4O1xuXHQgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cdCAgICB0b3A6IDA7XG4gICAgXHR0cmFuc2l0aW9uOiBub25lO1xuICAgIFx0d2lkdGg6IGF1dG87XG5cdH1cblxuXHQubmF2X19tZW51IHtcblx0ICAgIHRvcDogOXB4O1xuXG5cdCAgICBsaSB7XG4gICAgXHRcdGRpc3BsYXk6IGlubGluZTtcbiAgICBcdFx0bWFyZ2luOiAwO1xuICAgIFx0XHRwYWRkaW5nOiAwIDI1cHg7XG5cblx0ICAgIFx0JjpsYXN0LW9mLXR5cGUge1xuXHQgICAgXHRcdHBhZGRpbmctcmlnaHQ6IDQ1cHg7XG5cdCAgICBcdH1cblxuXHQgICAgXHRhIHtcblx0ICAgIFx0XHQmOmFmdGVyIHtcblx0ICAgIFx0XHRcdGxlZnQ6IDA7XG5cdCAgICBcdFx0XHRyaWdodDogYXV0bztcblx0ICAgIFx0XHR9XG5cdCAgICBcdH1cblx0ICAgIH1cblx0fVxuXG5cdC5sYWJvdXItbG9nbyB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHJpZ2h0OiAxMHB4O1xuXHRcdHRvcDogNTAlO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblx0fVxuXG5cdC5oZWFkZXItYWN0aW9ucyB7XG5cdFx0bGkge1xuXHRcdFx0LmJ1dHRvbiB7XG5cdCAgICBcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8vdXRpbHNcblx0LmhpZGUtbW9iaWxlIHtcblx0ICAgIGRpc3BsYXk6IGlubGluZTtcblx0fVxuXG5cdC5oaWRlLW1lZGl1bSB7XG5cdCAgICBkaXNwbGF5OiBpbmxpbmU7XG5cdH1cblxuXHQuaGlkZS10YWJsZXQge1xuXHQgICAgZGlzcGxheTogaW5saW5lO1xuXHR9XG5cblx0LnNob3ctbW9iaWxlIHtcblx0ICAgIGRpc3BsYXk6IG5vbmU7XG5cdH1cdFxuXG5cdC8vRU5EIE1PRFVMRVxuXHQuZW5kLW1vZHVsZSB7XG5cdFx0cGFkZGluZzogMzBweCAyMHB4IDI1cHg7XG5cdH1cblxuXHQuZW5kLW1vZHVsZV9faGVhZGVyIHtcblx0XHRAaW5jbHVkZSBncmlkLWNvbHVtbig4KTtcblx0XHRAaW5jbHVkZSBncmlkLWNvbHVtbi1vZmZzZXQoMik7XG5cblx0XHRoMiB7XG5cdFx0XHRmb250LXNpemU6IDM1cHg7XG5cdFx0fVxuXHR9XG5cblx0LmVuZC1tb2R1bGVfX2NvbnRlbnQge1xuXHRcdEBpbmNsdWRlIGdyaWQtY29sdW1uKDYpO1xuXHRcdEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgzKTtcblx0XHRAaW5jbHVkZSBncmlkLWNvbHVtbi1lbmQoKTtcblx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG5cdFx0Ji0tc29jaWFsIHtcblx0XHRcdEBpbmNsdWRlIGdyaWQtY29sdW1uKDgpO1xuXHRcdFx0QGluY2x1ZGUgZ3JpZC1jb2x1bW4tb2Zmc2V0KDIpO1xuXHRcdFx0QGluY2x1ZGUgZ3JpZC1jb2x1bW4tZW5kKCk7XG5cdFx0XHRwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHR9XG5cblx0LmVuZC1tb2R1bGVfX2J1dHRvbnMge1xuXHRcdC5idXR0b24ge1xuXHRcdFx0d2lkdGg6IDMwJTtcblx0XHR9XG5cdH1cblxuXHQvL0RFTElWRVJJTkdcblx0LmRlbGl2ZXJpbmdfX2NhdXNlIHtcblx0XHRtYXJnaW46IDAgYXV0byA2MHB4O1xuXG4gICAgXHQmID4gZGl2IHtcbiAgICBcdFx0ZmxvYXQ6IGxlZnQ7XG5cbiAgICBcdFx0Ji5kZWxpdmVyaW5nX19zdGF0cyB7XG5cdFx0XHRcdGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcblx0XHRcdFx0Ym9yZGVyLWxlZnQtd2lkdGg6IDRweDtcblx0XHRcdH1cbiAgICBcdH1cblx0fVxuXG5cdC5kZWxpdmVyaW5nX19zdGF0cyB7XG4gICAgXHRkaXNwbGF5OiBibG9jaztcbiAgICBcdHdpZHRoOiAyMDBweDtcblxuXHQgICAgJi5kZWxpdmVyaW5nX19zdGF0cy0tbW9iaWxlIHtcblx0XHQgICAgZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cblxuXHQuZGVsaXZlcmluZ19fc3RhdCB7XG5cdFx0QGluY2x1ZGUgY2xlYXJmaXgoKTsgXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdGZsb2F0OiBub25lO1xuXHRcdHBhZGRpbmc6IDVweCAxMHB4O1xuXHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0d2lkdGg6IGF1dG87XG5cbiAgICBcdCYgPiBzcGFuIHtcbiAgICBcdFx0ZmxvYXQ6IGxlZnQ7XG5cbiAgICBcdFx0Ji5kZWxpdmVyaW5nX19zdGF0LXZhbHVlIHtcbiAgICBcdFx0XHRwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgXHRcdH1cbiAgICBcdH1cblx0fVxuXG5cdC5kZWxpdmVyaW5nX19zdGF0LWljb24ge1xuXHQgICAgbWFyZ2luOiAwO1xuXHR9XG5cblx0LmRlbGl2ZXJpbmdfX3N0YXQtdmFsdWUge1xuXHQgICAgbWFyZ2luLXRvcDogOHB4O1xuXHR9XG5cblx0LmRlbGl2ZXJpbmdfX2NvbnRlbnQge1xuXHRcdHBhZGRpbmc6IDAgMTBweDtcblx0XHR3aWR0aDogNDAwcHg7XG5cdH1cblxuXHQuZGVsaXZlcmluZ19faW1hZ2Uge1xuXHQgICAgd2lkdGg6IDIwMHB4O1xuXHR9XG5cblx0LmRlbGl2ZXJpbmdfX2ltYWdlLWNvbnRhaW5lciB7XG5cdCAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgXHRoZWlnaHQ6IDE4MHB4O1xuICAgIFx0bWFyZ2luOiBhdXRvO1xuICAgIFx0d2lkdGg6IDE4MHB4O1xuXHR9XG5cblx0Ly9GT09URVJcblx0LmZvb3RlciB7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdGhlaWdodDogMjQwcHg7XG5cdFx0bGVmdDogMDtcblx0XHRwYWRkaW5nOiAyMHB4IDA7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHR9XG5cblx0LmZvb3Rlcl9fYnJhbmRpbmcge1xuXHRcdEBpbmNsdWRlIGdyaWQtY29sdW1uKDUpO1xuXHRcdHBhZGRpbmctdG9wOiAyNXB4O1xuXG5cdFx0aW1nIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXG5cdFx0XHQmLnNhZGlxLWxvZ28ge1xuXHRcdFx0XHRtYXJnaW46IDAgMCAyMHB4O1xuXHRcdFx0fVxuXG5cdFx0XHQmLmxhYm91ciB7XG5cdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuZm9vdGVyX19pbWFnZSB7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG5cblx0LmZvb3Rlcl9fbWVudXMge1xuXHRcdEBpbmNsdWRlIGdyaWQtY29sdW1uKDQpO1xuXHR9XG5cblx0LmZvb3Rlcl9fY29udGVudCB7XG5cdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdHBhZGRpbmc6IDAgMTBweDtcblx0fVxuXG5cdC5mb290ZXJfX3NvY2lhbCB7XG5cdFx0QGluY2x1ZGUgZ3JpZC1jb2x1bW4oMyk7XG5cdFx0cGFkZGluZy10b3A6IDI1cHg7XG5cdH1cblxuXG5cdC8vQkFTRVxuXHRib2R5IHtcblx0ICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJ2JwLWwnO1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblx0ICAgIH1cblx0fVxuXG5cdC53cmFwcGVyIHtcblx0ICAgIHBhZGRpbmctYm90dG9tOiAyNDBweDtcblx0fVxuXG5cdC8vUEFHRSBDT05URU5UXG5cdC5wYWdlLWNvbnRlbnQge1xuXHRcdEBpbmNsdWRlIGdyaWQtY29sdW1uKDEwKTtcblx0XHRAaW5jbHVkZSBncmlkLWNvbHVtbi1vZmZzZXQoMSk7XG5cblx0XHQmLS10aGlubmVyIHtcblx0XHRcdEBpbmNsdWRlIGdyaWQtY29sdW1uKDgpO1xuXHRcdFx0QGluY2x1ZGUgZ3JpZC1jb2x1bW4tb2Zmc2V0KDIpO1xuXHRcdH1cblxuXHRcdCYtLWhhcy1iZyB7XG5cdFx0XHRiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9yaXZlci5zdmcnKSBuby1yZXBlYXQgY2VudGVyIGJvdHRvbTtcblx0ICAgIFx0YmFja2dyb3VuZC1zaXplOiA0NCU7XG5cdFx0fVx0XG5cdH1cblxuXHQucGFnZS1jb250ZW50X19oZWFkZXIge1xuXHQgICAgbWFyZ2luOiA0MHB4IGF1dG8gNjBweDtcblxuXHRcdGgxIHtcblx0XHRcdGZvbnQtc2l6ZTogNTZweDtcblx0XHR9XG5cblx0XHQmLS1oYXMtYm9yZGVyIHtcblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0ICAgIGhlaWdodDogMTJweDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuYnV0dG9uIHtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBcdFx0bWFyZ2luOiAwIDVweDtcblx0XHR9XG5cdH1cblxuXHQucGFnZS1jb250ZW50X19oZWFkZXItdGV4dCB7XG5cdCAgICBmb250LXNpemU6IDIwcHg7XG4gICAgXHRtYXJnaW4tdG9wOiA0MHB4O1xuXHR9XG5cblx0LnBhZ2UtY29udGVudF9faGVhZGVyLXF1b3RlIHtcblx0ICAgIGZvbnQtc2l6ZTogMjJweDtcblx0fVxuXG5cdC8vNDA0XG5cdC5wYWdlLTQwNCB7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdHBhZGRpbmc6IDE1MHB4IDAgNTBweDtcblx0fVxuXG5cdC5wYWdlLTQwNF9fY29udGVudCB7XG5cdFx0bWF4LXdpZHRoOiA2MDBweDtcblx0XHRwYWRkaW5nLXRvcDogNTBweDtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXG5cdFx0aDEge1xuXHRcdFx0Zm9udC1zaXplOiA2MHB4O1xuXHRcdH1cblx0fVxuXG5cdC5wYWdlLTQwNF9fbWVzc2FnZSB7XG5cdFx0Zm9udC1zaXplOiA0MHB4O1xuXHRcdG1hcmdpbjogMjBweCBhdXRvO1xuXHRcdG1heC13aWR0aDogNTAwcHg7XG5cblx0XHQmOmJlZm9yZSxcblx0XHQmOmFmdGVyIHtcblx0XHQgICAgaGVpZ2h0OiAxMnB4O1xuXHRcdH1cblx0fVxuXG5cdC8vQ2xlYW4gYWlyXG5cdC5wb2xsdXRpb24tbWFwIHtcblx0XHQucG9pbnQge1xuXHRcdFx0JjphZnRlciB7XG5cdFx0XHQgICAgZGlzcGxheTogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQucG9sbHV0aW9uLW1hcF9fYmcge1xuXHRcdCYtLWRlc2t0b3Age1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0fVxuXG5cdFx0Ji0tbW9iaWxlIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHR9XG5cblx0LnBvbGx1dGlvbi1tYXBfX2NhdGVnb3JpZXMge1xuICAgIFx0dGV4dC1hbGlnbjogbGVmdDtcbiAgICBcdHdpZHRoOiBhdXRvO1xuXHR9XG5cblx0LnBvbGx1dGlvbi1tYXBfX2NhdCB7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0bWFyZ2luOiAwIDMwcHggMCAwO1xuXHR9XG5cblx0LnBvbGx1dGlvbi1tYXBfX2NhdF9faWNvbiB7XG5cdFx0aGVpZ2h0OiAxMjBweDtcblx0XHR3aWR0aDogMTIwcHg7XG5cdH1cblxuXHQucG9sbHV0aW9uLW1hcF9fY2F0X190aXRsZSB7XG5cdCAgICBmb250LXNpemU6IDE2cHg7XG5cdH1cblxuXHQucG9sbHV0aW9uLW1hcF9fZmlsdGVyIHtcblx0XHRtYXJnaW46IDcwcHggMjBweCAwIDMwcHg7XG4gICAgXHR3aWR0aDogYXV0bztcblx0fVxuXG5cdC5wb2xsdXRpb24tc2VhcmNoIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0Lm1hcC13cmFwcGVyIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdH1cblxuXHQuaWUtb3ZlcmxheSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdGxlZnQ6IDA7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHR6LWluZGV4OiAxMDtcblxuXHRcdHAge1xuXHRcdFx0Zm9udC1zaXplOiAxLjNlbTtcblx0XHQgICAgbGVmdDogMDtcblx0XHQgICAgbGluZS1oZWlnaHQ6IDEuM2VtO1xuXHRcdFx0cGFkZGluZzogMCAyNXB4O1xuXHRcdCAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0ICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHQgICAgdG9wOiAzMCU7XG5cdCAgICAgICAgd2lkdGg6IDEwMCU7XG5cdFx0fVxuXHR9XG5cblx0LmllLW92ZXJsYXlfX2JnIHtcblx0XHQtbXMtZmlsdGVyOiAncHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9NTApJztcblx0XHRiYWNrZ3JvdW5kOiAjMDAwO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRsZWZ0OiAwO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDA7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cbn1cbiIsIi5mb290ZXIge1xuXHRiYWNrZ3JvdW5kOiAkbGFib3VyLXJlZDtcblx0Y29sb3I6ICRsaWdodC1waW5rO1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGxpbmUtaGVpZ2h0OiAxLjFlbTtcblx0cGFkZGluZzogMjBweCAwO1xuXHR3aWR0aDogMTAwJTtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdGJvdHRvbTogMDtcblx0XHRoZWlnaHQ6IDI0MHB4O1xuXHRcdGxlZnQ6IDA7XG5cdFx0cGFkZGluZzogMTBweCAwIDI1cHg7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdHBhZGRpbmc6IDIwcHggMDtcblx0fVxuXG5cdGEge1xuXHRcdGNvbG9yOiBpbmhlcml0O1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0fVxuXG5cdC5jb250YWluZXIge1xuXHRcdEBpbmNsdWRlIGNsZWFyZml4KCk7XG5cdH1cbn1cblxuLmZvb3Rlcl9fYnJhbmRpbmcge1xuXHRAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUpIHtcblx0XHRAaW5jbHVkZSBncmlkLWNvbHVtbig1KTtcblx0XHRwYWRkaW5nLXRvcDogMjVweDtcblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0QGluY2x1ZGUgZ3JpZC1jb2x1bW4oNCk7XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0QGluY2x1ZGUgZ3JpZC1jb2x1bW4oNSk7XG5cdH1cbn1cblxuLmZvb3Rlcl9faW1hZ2Uge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogMTBweCAwO1xuICAgIHdpZHRoOiA1MCU7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUpIHtcblx0XHRtYXJnaW46IDA7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cblxuXHRpbWcge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXG5cdFx0Ji5zYWRpcS1sb2dvIHtcblx0XHRcdG1hcmdpbjogYXV0bztcblx0XHRcdHdpZHRoOiAxNDBweDtcblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUpIHtcblx0XHRcdFx0bWFyZ2luOiAwIDAgMjBweDtcblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdFx0bWFyZ2luOiAwIGF1dG8gMjBweDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLmxhYm91ciB7XG5cdFx0ICAgIGhlaWdodDogMjRweDtcblx0XHQgICAgbWFyZ2luOiA0MHB4IGF1dG87XG5cdFx0ICAgIHdpZHRoOiAxMjBweDtcblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUpIHtcblx0XHRcdFx0bWFyZ2luOiAwIDAgMjBweDtcblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdFx0bWFyZ2luOiAwIGF1dG8gMjBweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLmZvb3Rlcl9fbWVudXMge1xuXHRAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7XG5cdHBhZGRpbmctdG9wOiAyNXB4O1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlKSB7XG5cdFx0QGluY2x1ZGUgZ3JpZC1jb2x1bW4oNSk7XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdEBpbmNsdWRlIGdyaWQtY29sdW1uKDQpO1xuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdEBpbmNsdWRlIGdyaWQtY29sdW1uKDMpO1xuXHR9XG5cblx0YSB7XG5cdFx0Jjpob3ZlciB7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHR9XG5cdH1cbn1cblxuLmZvb3Rlcl9fY29udGVudCB7XG5cdGZsb2F0OiBsZWZ0O1xuXG5cdCY6Zmlyc3Qtb2YtdHlwZSB7XG5cdFx0cGFkZGluZy1yaWdodDogMTBweDtcblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdHBhZGRpbmc6IDAgMTBweDtcblx0fVxuXG5cdGg0IHtcblx0XHRmb250LWZhbWlseTogJ0xvdGEtQm9sZCc7XG5cdFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0XHRtYXJnaW4tYm90dG9tOiAxNXB4O1xuXHR9XG59XG5cbi5mb290ZXJfX21lbnUge1xuXHRsaSB7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMWVtO1xuXHRcdG1hcmdpbjogMTBweCAwO1xuXHR9XG59XG5cbi5mb290ZXJfX3NvY2lhbCB7XG5cdEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcblx0cGFkZGluZy10b3A6IDE1cHg7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRAaW5jbHVkZSBncmlkLWNvbHVtbig0KTtcblx0XHRwYWRkaW5nLXRvcDogMjVweDtcblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRAaW5jbHVkZSBncmlkLWNvbHVtbigzKTtcblx0fVxuXG5cdHAge1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjVlbTtcblxuXHRcdCY6bGFzdC1vZi10eXBlIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0fVxuXHR9XG59XG5cbi5mb290ZXJfX3NvY2lhbC1pY29uIHtcblx0Y29sb3I6ICR3aGl0ZTtcblx0Zm9udC1zaXplOiAxOHB4O1xuXHRtYXJnaW4tcmlnaHQ6IDEwcHg7XG5cblx0JjpsYXN0LW9mLXR5cGUge1xuXHRcdG1hcmdpbi1yaWdodDogMDtcblx0fVxufVxuIiwiaW5wdXQge1xuICAgICZbdHlwZT0ndGV4dCddLFxuICAgICZbdHlwZT0nZW1haWwnXSxcbiAgICAmW3R5cGU9J251bWJlciddLFxuICAgICZbdHlwZT0ncGhvbmUnXSB7XG4gICAgICAgICY6bm90KC5idXR0b24pIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICR3aGl0ZTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnTG90YS1SZWd1bGFyJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDZweCAxMHB4O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDIwMG1zIGVhc2U7XG5cbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRmb2N1cy1ibHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5pbnB1dC1lcnJvciB7XG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkbGFib3VyLXJlZDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxudGV4dGFyZWEge1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LWZhbWlseTogJ0xvdGEtUmVndWxhcicsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIHBhZGRpbmc6IDZweCAxMHB4O1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAyMDBtcyBlYXNlO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRmb2N1cy1ibHVlO1xuICAgIH1cblxuICAgICYuaW5wdXQtZXJyb3Ige1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkbGFib3VyLXJlZDtcbiAgICB9XG59XG5cbi5lcnJvci1zdGF0dXMge1xuICAgIC8vIGNvbG9yOiAkbGFib3VyLXJlZDtcbiAgICBmb250LXNpemU6IC45ZW07XG4gICAgbWFyZ2luLXRvcDogNXB4O1xufVxuXG4uZ2Zvcm1faGVhZGluZyxcbi5nZmllbGRfbGFiZWwsXG4uaGlkZGVuX3N1Yl9sYWJlbCxcbi52YWxpZGF0aW9uX2Vycm9yIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uZ2ZpZWxkX2Vycm9yIHtcbiAgICBpbnB1dCB7XG4gICAgICAgICZbdHlwZT0ndGV4dCddLFxuICAgICAgICAmW3R5cGU9J2VtYWlsJ10sXG4gICAgICAgICZbdHlwZT0nbnVtYmVyJ10sXG4gICAgICAgICZbdHlwZT0ncGhvbmUnXSB7XG4gICAgICAgICAgICAmOm5vdCguYnV0dG9uKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGxhYm91ci1yZWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0ZXh0YXJlYSB7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRsYWJvdXItcmVkICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4uZ2Zvcm1fY29uZmlybWF0aW9uX3dyYXBwZXIgIHtcbiAgICBjb2xvcjogJHdoaXRlO1xufVxuIiwiLy9mb3JtIHZhcmlhYmxlc1xuJHNpdGUtbWVkaXVtLXdpZHRoOiAxMDgwcHg7XG4kc2l0ZS1pbmxpbmUtd2lkdGg6IDY0MHB4O1xuJG1vYmlsZS13aWR0aDogOTAwcHg7XG5cbiRzcGFjaW5nOiAxNXB4O1xuJGJvcmRlci1yYWRpdXM6IDRweDtcblxuLnBhZ2UtY29udGVudC0tZm9ybSB7XG4gICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG5cbiAgICAvLyBHcmF2aXR5IGZvcm0gc3R5bGVzXG4gICAgLmdmb3JtX3dyYXBwZXIge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiAkc2l0ZS1pbmxpbmUtd2lkdGggKyAoJHNwYWNpbmcgKiAyKTtcbiAgICAgICAgcGFkZGluZzogJHNwYWNpbmcgJHNwYWNpbmcgJHNwYWNpbmcgKiAyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgXG4gICAgICAgIC8vIEdsb2JhbCBmb3JtIHN0eWxlc1xuICAgICAgICBpbnB1dCwgXG4gICAgICAgIHRleHRhcmVhIHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmV5LTE7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW46IDVweCAwO1xuICAgICAgICAgICAgcGFkZGluZzogMTBweCAxNXB4O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDIwMG1zIGVhc2U7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGZvY3VzLWJsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0ZXh0YXJlYSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDE1MHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMHB4O1xuICAgICAgICAgICAgcmVzaXplOiB2ZXJ0aWNhbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJ0xvdGEtQmxhY2snO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmdmb3JtX3RpdGxlIHtcbiAgICAgICAgcGFkZGluZzogKCRzcGFjaW5nIC8gMikgMDtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fZGVzY3JpcHRpb24ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6ICgkc3BhY2luZyAvIDIpIDA7XG4gICAgfVxuXG4gICAgLy8gRmllbGRcbiAgICAuZ2ZpZWxkIHtcbiAgICAgICAgcGFkZGluZzogKCRzcGFjaW5nICogKDIvMykpIDA7XG4gICAgfVxuXG4gICAgLmdmaWVsZF9sYWJlbCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnTG90YS1TZW1pQm9sZCc7XG4gICAgfVxuXG4gICAgLy8gRmllbGQgZGVzY3JpcHRpb25cbiAgICAuZ2ZpZWxkX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIH1cblxuICAgIC8vIFZhbGlkYXRpb24gbWVzc2FnZVxuICAgIC52YWxpZGF0aW9uX21lc3NhZ2Uge1xuICAgICAgICBjb2xvcjogJGxhYm91ci1yZWQ7XG4gICAgfVxuXG4gICAgLy8gRmllbGQgc3BlY2lmaWM6c2VsZWN0IC8gbXVsdGlzZWxlY3RcbiAgICAuZ2lucHV0X2NvbnRhaW5lcl9zZWxlY3QsIFxuICAgIC5naW5wdXRfY29udGFpbmVyX211bHRpc2VsZWN0IHtcbiAgICAgICAgcGFkZGluZzogNXB4IDA7XG4gICAgfVxuXG4gICAgLy8gRmllbGQgc3BlY2lmaWM6Y2hlY2tib3ggLyByYWRpb1xuICAgIC5nZmllbGRfY2hlY2tib3gsIFxuICAgIC5nZmllbGRfcmFkaW8ge1xuICAgICAgICBwYWRkaW5nOiA1cHggMDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAoJHNwYWNpbmcgLyAzKSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgd2lkdGg6IDk1JTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICAgICAgICAgIHBhZGRpbmc6ICgkc3BhY2luZyAvIDIpIDA7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZ2ZpZWxkX3JhZGlvIHtcbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgJlt0eXBlPXRleHRdIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCA1cHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogN3B4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gRmllbGQgc3BlY2lmaWM6aGlkZGVuXG4gICAgLmdmb3JtX2hpZGRlbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gRmllbGQgc3BlY2lmaWM6Y29tcGxleFxuICAgIC5naW5wdXRfY29tcGxleCB7XG4gICAgICAgICYgPiBzcGFuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLTVweDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNXB4O1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLTVweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm5hbWVfcHJlZml4X3NlbGVjdCB7XG4gICAgICAgIG1hcmdpbjogNXB4IDA7XG4gICAgfVxuXG4gICAgLy8gRmllbGQgc3BlY2lmaWM6ZGF0ZVxuICAgIC5naW5wdXRfY29udGFpbmVyX2RhdGUge1xuICAgICAgICAuZ2lucHV0X2NvbnRhaW5lcl9kYXRlIHtcbiAgICAgICAgICAgIC8vIEdyYXZpdHkgZm9ybXMgbWVzc2VkIHVzIHVwIGhlcmU6XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBGaWVsZCBzcGVjaWZpYzp0aW1lXG4gICAgLmdpbnB1dF9jb250YWluZXJfdGltZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cblxuICAgIC5nZmllbGRfdGltZV9ob3VyIHtcbiAgICAgICAgaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmdmaWVsZF90aW1lX2FtcG0ge1xuICAgICAgICBtYXJnaW46IDVweCAwO1xuICAgIH1cblxuICAgIC8vIEZpZWxkIHNwZWNpZmljOmFkZHJlc3NcbiAgICAuYWRkcmVzc19jb3VudHJ5IHtcbiAgICAgICAgbWFyZ2luOiA1cHggMDtcbiAgICB9XG5cbiAgICAuZ2lucHV0X2NhcmRfZXhwaXJhdGlvbl9jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMTRweCAwO1xuXG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlbGVjdHJpYy1naW5wdXRfY2FyZF9leHBpcmF0aW9uIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC01cHg7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgfVxuXG4gICAgLnNlbGVjdHJpYy1naW5wdXRfY2FyZF9leHBpcmF0aW9uX21vbnRoIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogN3B4O1xuICAgIH1cblxuICAgIC5zZWxlY3RyaWMtZ2lucHV0X2NhcmRfZXhwaXJhdGlvbl95ZWFyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA3cHg7XG4gICAgfVxuXG4gICAgLy8gRmllbGQgc3BlY2lmaWM6Y3JlZGl0IGNhcmQgXG4gICAgLmdmaWVsZF9jcmVkaXRjYXJkX3dhcm5pbmdfbWVzc2FnZSB7XG4gICAgICAgIGNvbG9yOiAkbGFib3VyLXJlZDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgfVxuXG4gICAgLmdpbnB1dF9jb250YWluZXJfY3JlZGl0Y2FyZCB7XG4gICAgICAgICYgPiBzcGFuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDJuKzEpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTdWJtaXRcbiAgICAuZ2Zvcm1fYnV0dG9uIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uKCRsYWJvdXItcmVkLCAjZmZmKTtcbiAgICAgICAgYm9yZGVyOiAwO1xuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gRm9vdGVyXG4gICAgLmdmb3JtX2Zvb3RlciB7XG4gICAgICAgIHBhZGRpbmc6ICgkc3BhY2luZyAvIDIpIDA7XG4gICAgfVxuXG4gICAgLmdmb3JtX2NvbmZpcm1hdGlvbl93cmFwcGVyIHtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1vYmlsZS13aWR0aCkge1xuICAgICAgICAvLyBGaWVsZCBzcGVjaWZpYzpjb21wbGV4XG4gICAgICAgIC5naW5wdXRfY29tcGxleCB7XG4gICAgICAgICAgICAmID4gc3BhbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDVweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gRmllbGQgc3BlY2lmaWM6ZGF0ZVxuICAgICAgICAuZ2lucHV0X2NvbnRhaW5lcl9kYXRlIHtcbiAgICAgICAgICAgIC5naW5wdXRfY29udGFpbmVyX2RhdGUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLTVweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzMy4zMyU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGaWVsZCBzcGVjaWZpYzp0aW1lXG4gICAgICAgIC5naW5wdXRfY29udGFpbmVyX3RpbWUge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNXB4O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgICAgICAgIHdpZHRoOiAzMy4zMyU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuaGVhZGVyIHtcblx0YmFja2dyb3VuZDogJHdoaXRlO1xuXHRib3gtc2hhZG93OiAwIDFweCA3cHggMXB4ICRncmV5LTM7XG5cdGxlZnQ6IDA7XG5cdG1pbi13aWR0aDogMzAwcHg7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0dG9wOiAwO1xuXHR3aWR0aDogMTAwJTtcblx0ei1pbmRleDogMTAwO1xuXG5cdC5jb250YWluZXIge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0fVxufVxuXG4uYWRtaW4tYmFyIHtcblx0LmhlYWRlciB7XG5cdFx0dG9wOiA0NnB4O1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCg3ODNweCkge1xuXHRcdFx0dG9wOiAzMnB4O1xuXHRcdH1cblx0fVxufVxuXG4ubmF2IHtcblx0cGFkZGluZzogMCAxMHB4O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5sb2dvIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRmb250LWZhbWlseTogJ0ludHJvJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBcdHBhZGRpbmc6IDEycHggMDtcblx0fVxuXG4gICAgJi0tZGVza3RvcCB7XG4gICAgXHRoZWlnaHQ6IDMxcHg7XG4gICAgXHR3aWR0aDogMzIwcHg7XG4gICAgfVxuXG4gICAgJi0tbW9iaWxlIHtcbiAgICBcdGhlaWdodDogMjVweDtcbiAgICBcdHdpZHRoOiAxMjBweDtcbiAgICB9XG59XG5cbi5oZWFkZXJfX2J1cmdlciB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0aGVpZ2h0OiAzMnB4O1xuICAgIG1hcmdpbjogOXB4IDE1cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB3aWR0aDogMjVweDtcblxuXHRzcGFuIHtcblx0XHRiYWNrZ3JvdW5kOiAkYmxhY2s7XG5cdFx0Ym9yZGVyLXJhZGl1czogMnB4O1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGhlaWdodDogMnB4O1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR0cmFuc2l0aW9uOiB0b3AgLjRzIC40cywgXG5cdFx0XHR0cmFuc2Zvcm0gLjRzLCBcblx0XHRcdG9wYWNpdHkgMHMgLjRzO1xuXHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0JjpmaXJzdC1vZi10eXBlIHtcblx0XHRcdHRvcDogMDtcblx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuXHRcdH1cblxuXHRcdCY6bnRoLW9mLXR5cGUoMikge1xuXHRcdFx0b3BhY2l0eTogMTtcbiAgICBcdFx0dG9wOiA1cHg7XG5cdFx0fVxuXG5cdFx0JjpsYXN0LW9mLXR5cGUge1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdHRvcDogMTBweDtcblx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuXHRcdH1cblx0fVxuXG5cdCYuYWN0aXZlIHtcblx0XHRzcGFuIHtcblx0XHRcdHRyYW5zaXRpb246IHRvcCAuNHMsIFxuXHRcdFx0XHR0cmFuc2Zvcm0gLjRzIC40cywgXG5cdFx0XHRcdG9wYWNpdHkgMHMgLjRzO1xuXG5cdFx0XHQmOmZpcnN0LW9mLXR5cGUge1xuXHRcdFx0ICAgIHRvcDogOHB4O1xuXHRcdFx0ICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcblx0XHRcdH1cblxuXHRcdFx0JjpudGgtb2YtdHlwZSgyKSB7XG5cdFx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHR9XG5cblx0XHRcdCY6bGFzdC1vZi10eXBlIHtcblx0XHRcdCAgICBsZWZ0OiAwO1xuXHRcdFx0ICAgIHRvcDogNHB4O1xuXHRcdFx0ICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuLm5hdl9fY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBsZWZ0OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDU1cHg7XG4gICAgdHJhbnNpdGlvbjogdG9wIC41cztcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiA5OTtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0YmFja2dyb3VuZDogbm9uZTtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRoZWlnaHQ6IDU2cHg7XG5cdFx0bGVmdDogYXV0bztcblx0XHRwYWRkaW5nOiAxMHB4IDA7XG5cdCAgICByaWdodDogOTVweDtcblx0ICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXHQgICAgdG9wOiAwO1xuICAgIFx0dHJhbnNpdGlvbjogbm9uZTtcbiAgICBcdHdpZHRoOiBhdXRvO1xuXHR9XG59XG5cbi5uYXZfX21lbnUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB0b3A6IDlweDtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgXHR0b3A6IDlweDtcblx0fVxuXG4gICAgbGkge1xuICAgIFx0ZGlzcGxheTogYmxvY2s7XG4gICAgXHRmb250LWZhbWlseTogJ0ludHJvJywgc2Fucy1zZXJpZjtcbiAgICBcdGZvbnQtc2l6ZTogMTVweDtcbiAgICBcdG1hcmdpbjogMTVweCAxMHB4O1xuICAgIFx0cGFkZGluZzogMCAxMHB4O1xuICAgIFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgIFx0Ji5jdXJyZW50X3BhZ2VfaXRlbSB7XG4gICAgXHRcdGEge1xuICAgIFx0XHRcdGNvbG9yOiAkbGFib3VyLXJlZDtcblxuICAgIFx0XHRcdCY6YWZ0ZXIge1xuICAgIFx0XHRcdFx0d2lkdGg6IDEwMCU7XG4gICAgXHRcdFx0fVxuICAgIFx0XHR9XG4gICAgXHR9XG5cbiAgICBcdGEge1xuICAgIFx0XHRjb2xvcjogJGJsYWNrO1xuICAgIFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgIFx0XHQmOmFmdGVyIHtcbiAgICBcdFx0XHRiYWNrZ3JvdW5kOiAkbGFib3VyLXJlZDtcbiAgICBcdFx0XHRib3JkZXItcmFkaXVzOiAycHg7XG4gICAgXHRcdFx0Ym90dG9tOiAtMnB4O1xuICAgIFx0XHRcdGNvbnRlbnQ6ICcnO1xuICAgIFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuICAgIFx0XHRcdGhlaWdodDogM3B4O1xuICAgIFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBcdFx0XHRyaWdodDogMDtcbiAgICBcdFx0XHR0cmFuc2l0aW9uOiB3aWR0aCAuNXM7XG4gICAgXHRcdFx0d2lkdGg6IDA7XG4gICAgXHRcdH1cblxuICAgIFx0XHQmOmhvdmVyIHtcbiAgICBcdFx0XHQmOmFmdGVyIHtcbiAgICBcdFx0XHRcdHdpZHRoOiAxMDAlO1xuICAgIFx0XHRcdH1cbiAgICBcdFx0fVxuICAgIFx0fVxuXG4gICAgXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgXHRcdGRpc3BsYXk6IGlubGluZTtcbiAgICBcdFx0bWFyZ2luOiAwO1xuICAgIFx0XHRwYWRkaW5nOiAwIDE1cHg7XG5cblx0ICAgIFx0JjpsYXN0LW9mLXR5cGUge1xuXHQgICAgXHRcdHBhZGRpbmctcmlnaHQ6IDQ1cHg7XG5cdCAgICBcdH1cblxuXHQgICAgXHRhIHtcblx0ICAgIFx0XHQmOmFmdGVyIHtcblx0ICAgIFx0XHRcdGxlZnQ6IDA7XG5cdCAgICBcdFx0XHRyaWdodDogYXV0bztcblx0ICAgIFx0XHR9XG5cdCAgICBcdH1cbiAgICBcdH1cbiAgICB9XG59XG5cbi5sYWJvdXItbG9nbyB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUpIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0cmlnaHQ6IDYwcHg7XG5cdFx0dG9wOiA1MCU7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdHJpZ2h0OiAxMHB4O1xuXHR9XG5cblx0aW1nIHtcblx0XHRoZWlnaHQ6IDE1cHg7XG5cdFx0d2lkdGg6IDg2cHg7XG5cdH1cbn1cblxuLmhlYWRlci1hY3Rpb25zIHtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0cmlnaHQ6IDA7XG5cdHRvcDogMTAwJTtcblx0d2lkdGg6IDEwMCU7XG5cblx0bGkge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0bWF4LXdpZHRoOiAyNDBweDtcblx0XHR3aWR0aDogY2FsYygxMDAlIC8gMyk7XG5cblx0XHQuYnV0dG9uIHtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDA7XG4gICAgXHRcdGZvbnQtc2l6ZTogMTNweDtcblx0XHQgICAgaGVpZ2h0OiA0MHB4O1xuXHRcdCAgICBwYWRkaW5nOiAxMHB4IDA7XG5cdFx0XHRwb2ludGVyLWV2ZW50czogYWxsO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlKSB7XG4gICAgXHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLmhlcm8ge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRoZWlnaHQ6IDEwMHZoO1xuXHRtaW4taGVpZ2h0OiA1NTBweDtcblx0cGFkZGluZy10b3A6IDU2cHg7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZSkge1xuXHRcdG1pbi1oZWlnaHQ6IDUwMHB4O1xuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRtaW4taGVpZ2h0OiA2MDBweDtcblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRtaW4taGVpZ2h0OiA2NTBweDtcblx0fVxuXG5cdCYgPiAuY29udGFpbmVyIHtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR9XG5cblx0LmlmcmFtZS13cmFwcGVyIHtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0cGFkZGluZzogMDtcblx0fVxuXG5cdCYtLWdlbmVyaWMge1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciA5MHB4O1xuXHRcdGhlaWdodDogNDAwcHg7XG5cdFx0bWluLWhlaWdodDogMDtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgNTBweDtcblx0XHRcdGhlaWdodDogNTAwcHg7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHRvcDtcblx0XHRcdGhlaWdodDogNjAwcHg7XG5cdFx0fVxuXHR9XG59XG5cbi5oZXJvX19jb250ZW50IHtcblx0bGVmdDogMDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDQyJTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXHR3aWR0aDogMTAwJTtcblxuXHRoMSB7XG5cdCAgICBoZWlnaHQ6IDA7XG5cdCAgICBtYXJnaW46IDA7XG5cdFx0dGV4dC1pbmRlbnQ6IC0xMDAwMHB4O1xuXHR9XG59XG5cbi5oZXJvX19icmFuZGluZyB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtYXJnaW46IGF1dG87XG5cdHdpZHRoOiA5MCU7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUpIHtcblx0XHR3aWR0aDogODAlO1xuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRtYXJnaW46IDA7XG5cdFx0d2lkdGg6IDQ1MHB4O1xuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdHdpZHRoOiA1NjVweDtcblx0fVxufVxuXG4uaGVyb19fYm94IHtcbiAgICBiYWNrZ3JvdW5kOiAkYmx1ZTtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIG1heC13aWR0aDogMzUwcHg7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDkwJTtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdG1hcmdpbi1sZWZ0OiAyNXB4O1xuXHR9XG5cbiAgICBpbWcge1xuXHQgICAgZGlzcGxheTogYmxvY2s7XG5cdCAgICBtYXJnaW46IGF1dG87XG5cdCAgICB3aWR0aDogMTgwcHg7XG4gICAgfVxuXG4gICAgaDIge1xuXHQgICAgY29sb3I6ICR3aGl0ZTtcblx0ICAgIGZvbnQtc2l6ZTogMS40ZW07XG5cdCAgICBsaW5lLWhlaWdodDogMS4yZW07XG5cdCAgICBtYXJnaW4tdG9wOiAyMHB4O1xuXG5cdCAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHQgICAgXHRmb250LXNpemU6IDEuN2VtO1xuXHQgICAgfVxuICAgIH1cblxuICAgIHAge1xuXHQgICAgY29sb3I6ICR3aGl0ZTtcblx0ICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLmJ1dHRvbiB7XG5cdCAgICBmb250LXNpemU6IDEuMmVtO1xuXHQgICAgaGVpZ2h0OiBhdXRvO1xuXHQgICAgbWFyZ2luOiAxNXB4IDA7XG5cdCAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICB9XG59XG4iLCJib2R5IHtcblx0Ji5wYWdlLXRlbXBsYXRlLWhvbGRpbmcge1xuXHRcdGJhY2tncm91bmQ6ICRsYWJvdXItcmVkO1xuXG5cdFx0LndyYXBwZXIge1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdFx0fVxuXHR9XG59XG5cbi5ob2xkaW5nIHtcblx0cGFkZGluZzogMTAwcHggMjBweCA1MHB4O1xuXG5cdC5wb3B1cF9fY29udGVudCB7XG5cdFx0YmFja2dyb3VuZDogJGxhYm91ci1yZWQ7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHBhZGRpbmc6IDI1cHggMDtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0dG9wOiAwO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0XHR3aWR0aDogMTAwJTtcblxuXHRcdGgzIHtcblx0XHRcdHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xuXHRcdH1cblx0fVxufVxuXG4uaG9sZGluZ19fY29udGVudCB7XG5cdGNvbG9yOiAkd2hpdGU7XG5cdG1hcmdpbjogYXV0bztcblx0bWF4LXdpZHRoOiA1MDBweDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR3aWR0aDogMTAwJTtcblxuXHQmID4gaW1nIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRoZWlnaHQ6IDE1NXB4O1xuXHRcdG1hcmdpbjogYXV0bztcblx0XHR3aWR0aDogMjAwcHg7XG5cdH1cbn1cblxuLmhvbGRpbmdfX3RleHQge1xuXHRtYXJnaW46IDUwcHggMCAyMHB4O1xuXG5cdGgyIHtcblx0XHRmb250LXNpemU6IDIwcHg7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMWVtO1xuXHRcdHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUpIHtcblx0XHRcdGZvbnQtc2l6ZTogMS41ZW07XG5cdFx0fVxuXG5cdFx0c3BhbiB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0fVxuXHR9XG59XG4iLCIucGFnZS1jb250ZW50IHtcblx0QGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRAaW5jbHVkZSBncmlkLWNvbHVtbigxMCk7XG5cdFx0QGluY2x1ZGUgZ3JpZC1jb2x1bW4tb2Zmc2V0KDEpO1xuXHR9XG5cblx0Ji0tdGhpbm5lciB7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdEBpbmNsdWRlIGdyaWQtY29sdW1uKDEwKTtcblx0XHRcdEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgxKTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRAaW5jbHVkZSBncmlkLWNvbHVtbig4KTtcblx0XHRcdEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgyKTtcblx0XHR9XG5cdH1cblxuXHQmLS1uby1oZXJvIHtcblx0XHRwYWRkaW5nLXRvcDogMTMwcHg7XG5cdH1cblxuXHQmLS1oYXMtYmcge1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9yaXZlci5zdmcnKSBuby1yZXBlYXQgY2VudGVyIGJvdHRvbTtcblx0ICAgIFx0YmFja2dyb3VuZC1zaXplOiA0NCU7XG5cdFx0fVxuXHR9XHRcbn1cblxuLnBhZ2UtY29udGVudF9faGVhZGVyIHtcblx0bWFyZ2luOiAzMHB4IDEwcHg7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgXHRtYXJnaW46IDQwcHggYXV0byA2MHB4O1xuXHR9XG5cblx0aDEge1xuXHRcdGZvbnQtc2l6ZTogMzBweDtcblx0XHRsaW5lLWhlaWdodDogMS4xZW07XG5cdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRmb250LXNpemU6IDQwcHg7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0Zm9udC1zaXplOiA1NnB4O1xuXHRcdH1cblx0fVxuXG5cdCYtLWhhcy1ib3JkZXIge1xuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0YmFja2dyb3VuZDogJGxhYm91ci1yZWQ7XG5cdFx0ICAgIGNvbnRlbnQ6ICcnO1xuXHRcdCAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0ICAgIGhlaWdodDogOHB4O1xuXHRcdCAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ICAgIHdpZHRoOiAxNTBweDtcblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHQgICAgXHRoZWlnaHQ6IDEycHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ji0tY2xlYW5lci1haXIge1xuXHRcdGNvbG9yOiAjZmZmO1xuXHRcdFxuXHRcdGgxLFxuXHRcdGgyIHtcblx0XHQgICAgZm9udC1mYW1pbHk6ICdJbnRybycsIHNhbnMtc2VyaWY7XG5cdFx0ICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdFx0ICAgIGxpbmUtaGVpZ2h0OiAxLjNlbTtcblx0XHR9XG5cblx0XHRoMiB7XG5cdFx0XHRmb250LXNpemU6IDEuMmVtO1xuXHRcdCAgICBsaW5lLWhlaWdodDogMS40ZW07XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMS41ZW07XG5cdFx0ICAgIFx0bGluZS1oZWlnaHQ6IDEuM2VtO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5idXR0b24ge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHQgICAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICAgIFx0bWFyZ2luOiAxMHB4O1xuXHQgICAgcGFkZGluZzogNXB4IDM1cHg7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIFx0XHRtYXJnaW46IDAgNXB4O1xuXHRcdH1cblx0fVxufVxuXG4ucGFnZS1jb250ZW50X19oZWFkZXItdGV4dCB7XG5cdGZvbnQtZmFtaWx5OiAnTG90YS1Cb2xkJztcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuM2VtO1xuXHRtYXJnaW4tdG9wOiAyMHB4O1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdCAgICBmb250LXNpemU6IDIwcHg7XG4gICAgXHRtYXJnaW4tdG9wOiA0MHB4O1xuXHR9XG5cblx0Ji0tc2hvcnQge1xuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdG1hcmdpbi1yaWdodDogYXV0bztcblx0XHRtYXgtd2lkdGg6IDgwMHB4O1xuXHR9XG5cblx0Ji0tYWx0IHtcblx0XHQucGFnZS1jb250ZW50X19oZWFkZXItcXVvdGUge1xuXHRcdFx0Y29sb3I6ICRibGFjaztcblx0XHR9XG5cblx0XHQucGFnZS1jb250ZW50X19oZWFkZXItc291cmNlIHtcblx0XHRcdGJhY2tncm91bmQ6ICRibGFjaztcblx0XHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdFx0fVxuXHR9XG5cblx0aDEsXG5cdGgyIHtcblx0XHRsaW5lLWhlaWdodDogMS4yZW07XG5cdH1cblxuXHRibG9ja3F1b3RlIHtcblx0XHRtYXJnaW46IDMwcHggMTBweDtcblxuXHRcdGNpdGUge1xuXHRcdCAgICBiYWNrZ3JvdW5kOiAkYmx1ZTtcblx0XHQgICAgY29sb3I6ICNmZmY7XG5cdFx0ICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHQgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdCAgICBwYWRkaW5nOiAycHggMzBweDtcblx0XHQgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHR9XG5cdH1cbn1cblxuLnBhZ2UtY29udGVudF9faGVhZGVyLXF1b3RlIHtcbiAgICBjb2xvcjogJGJsdWU7XG4gICAgbGluZS1oZWlnaHQ6IDEuNGVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBcdGZvbnQtc2l6ZTogMjJweDtcblx0fVxufVxuXG4ucGFnZS1jb250ZW50X19oZWFkZXItc291cmNlIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmx1ZTtcbiAgICBjb2xvcjogJHdoaXRlO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICBwYWRkaW5nOiAycHggMzBweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4ucGFnZS1jb250ZW50X19tYWluIHtcblx0QGluY2x1ZGUgY2xlYXJmaXgoKTtcblx0d2lkdGg6IDEwMCU7XG59XG4iLCIucGFnZS00MDQge1xuXHRAaW5jbHVkZSBjbGVhcmZpeCgpO1xuXHRiYWNrZ3JvdW5kOiAkcGFsZS1ibHVlO1xuXHRoZWlnaHQ6IDEwMHZoO1xuXHRtaW4taGVpZ2h0OiA1MDBweDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogMTAwJTtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdHBhZGRpbmc6IDE1MHB4IDAgNTBweDtcblx0fVxufVxuXG4ucGFnZS00MDRfX2NvbnRlbnQge1xuXHQvLyBAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7XG5cdGNvbG9yOiAkd2hpdGU7XG5cdG1hcmdpbjogYXV0bztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdHRvcDogNTAlO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQwJSk7XG5cdHdpZHRoOiAxMDAlO1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0Ly8gQGluY2x1ZGUgZ3JpZC1jb2x1bW4oOCk7XG5cdFx0Ly8gQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZW5kKCk7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHQvLyBAaW5jbHVkZSBncmlkLWNvbHVtbig2KTtcblx0XHQvLyBAaW5jbHVkZSBncmlkLWNvbHVtbi1lbmQoKTtcblx0XHRtYXgtd2lkdGg6IDYwMHB4O1xuXHRcdHBhZGRpbmctdG9wOiA1MHB4O1xuXHR9XG5cblx0aDEge1xuXHRcdGZvbnQtc2l6ZTogNDVweDtcblx0XHRsaW5lLWhlaWdodDogMWVtO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdGZvbnQtc2l6ZTogNjBweDtcblx0XHR9XG5cblx0XHQvLyBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0Ly8gXHRmb250LXNpemU6IDBweDtcblx0XHQvLyB9XG5cdH1cbn1cblxuLnBhZ2UtNDA0X19tZXNzYWdlIHtcblx0Zm9udC1mYW1pbHk6ICdMb3RhLUxpZ2h0Jztcblx0Zm9udC1zaXplOiAzMHB4O1xuXHRsaW5lLWhlaWdodDogMS4yZW07XG5cdG1hcmdpbjogMTVweCBhdXRvO1xuXHRtYXgtd2lkdGg6IDI3MHB4O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRmb250LXNpemU6IDQwcHg7XG5cdFx0bWFyZ2luOiAyMHB4IGF1dG87XG5cdFx0bWF4LXdpZHRoOiA1MDBweDtcblx0fVxuXG5cdC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0Ly8gXHRmb250LXNpemU6IDUwcHg7XG5cdC8vIH1cblxuXHQmOmJlZm9yZSxcblx0JjphZnRlciB7XG5cdFx0YmFja2dyb3VuZDogJHdoaXRlO1xuXHQgICAgY29udGVudDogJyc7XG5cdCAgICBkaXNwbGF5OiBibG9jaztcblx0ICAgIGhlaWdodDogOHB4O1xuXHQgICAgbWFyZ2luOiAyMHB4IGF1dG87XG5cdCAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cdCAgICB3aWR0aDogMTAwcHg7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHQgICAgXHRoZWlnaHQ6IDEycHg7XG5cdFx0fVxuXHR9XG5cblx0JjpiZWZvcmUge1xuXHRcdG1hcmdpbi10b3A6IDA7XG5cdH1cblxuXHQmOmFmdGVyIHtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHR9XG5cblx0YSB7XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0Zm9udC1mYW1pbHk6ICdMb3RhLVNlbWlCb2xkJztcblx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0fVxufVxuIiwiLnBvbGx1dGlvbi1tYXBfX2NvbnRhaW5lciB7XG5cdGhlaWdodDogNjAwcHg7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnBvbGx1dGlvbi1tYXBfX3dyYXBwZXIge1xuXHQtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7IFxuXHRoZWlnaHQ6IDYxNXB4O1xuXHRvdmVyZmxvdzogLW1vei1zY3JvbGxiYXJzLW5vbmU7IFxuXHRvdmVyZmxvdy14OiBhdXRvO1xuXHRvdmVyZmxvdy15OiBoaWRkZW47XG4gIFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogMTAwJTtcblx0ei1pbmRleDogMDtcblxuXHQmOjotd2Via2l0LXNjcm9sbGJhciB7IFxuXHRcdHdpZHRoOiAwICFpbXBvcnRhbnQ7XG5cdH1cbn1cblxuLnNjcm9sbC1vdmVybGF5IHtcblx0YmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAuNSk7XG5cdGNvbG9yOiAkd2hpdGU7XG5cdGZvbnQtc2l6ZTogMjBweDtcblx0aGVpZ2h0OiAxMDAlO1xuXHRsZWZ0OiAwO1xuXHRvcGFjaXR5OiAwO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0dG9wOiAwO1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IC40cztcblx0d2lkdGg6IDEwMCU7XG5cdHotaW5kZXg6IC0xO1xuXG5cdCYuYWN0aXZlIHtcblx0XHR6LWluZGV4OiAxMDtcblx0fVxuXG5cdHNwYW4ge1xuXHQgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdCAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXHQgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXHQgICAgbGVmdDogMDtcblx0ICAgIGxpbmUtaGVpZ2h0OiAxLjNlbTtcblx0XHRwYWRkaW5nOiAwIDI1cHg7XG5cdCAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cdCAgICB0b3A6IDQ4JTtcblx0ICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cdH1cbn1cblxuLnRvb2x0aXAge1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBib3JkZXI6IDRweCBzb2xpZCAjYzBjMGNlO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAzMDBweDtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgJjpiZWZvcmUge1xuXHQgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cdCAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXHQgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXHRcdGJvcmRlci1ib3R0b206IDE1cHggc29saWQgI2MwYzBjZTtcblx0ICAgIGJvcmRlci1sZWZ0OiAxNTBweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0ICAgIGJvcmRlci1yaWdodDogMTUwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgXHRjb250ZW50OiAnJztcblx0ICAgIGxlZnQ6IDUwJTtcblx0ICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ICAgIHRvcDogLTE5cHg7XG5cdCAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgfVxuXG4gICAgJi5hYm92ZSB7XG5cdCAgICAmOmJlZm9yZSB7XG5cdCAgICBcdGJvcmRlci1ib3R0b206IDA7XG5cdFx0ICAgIGJvcmRlci10b3A6IDE1cHggc29saWQgI2MwYzBjZTtcblx0XHQgICAgYm90dG9tOiAtMTlweDtcblx0XHQgICAgdG9wOiBhdXRvO1xuXHQgICAgfVxuICAgIH1cblxuICAgICYuYXJyb3ctLWxlZnQge1xuICAgIFx0JjpiZWZvcmUge1xuXHRcdCAgICBib3JkZXItbGVmdDogMzBweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHQgICAgYm9yZGVyLXJpZ2h0OiAyNzBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBcdH1cbiAgICB9XG5cbiAgICAmLmFycm93LS1yaWdodCB7XG4gICAgXHQmOmJlZm9yZSB7XG5cdFx0ICAgIGJvcmRlci1sZWZ0OiAyNzBweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHQgICAgYm9yZGVyLXJpZ2h0OiAzMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIFx0fVxuICAgIH1cblxuICAgICYtLXZlcnRpY2FsIHtcblx0ICAgIC50b29sdGlwX19pbWFnZSB7XG5cdCAgICBcdGZsb2F0OiBub25lO1xuXHQgICAgXHRtYXJnaW46IGF1dG87XG5cdFx0XHR3aWR0aDogNTAlO1xuXHRcdH1cblxuXHRcdC50b29sdGlwX19jb250ZW50IHtcblx0ICAgIFx0ZmxvYXQ6IG5vbmU7XG5cdCAgICBcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdH1cbiAgICB9XG5cbiAgICAmLS1ob3Jpem9udGFsIHtcblx0ICAgIC50b29sdGlwX19pbWFnZSB7XG5cdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdHdpZHRoOiAyOCU7XG5cdFx0fVxuXG5cdFx0LnRvb2x0aXBfX2NvbnRlbnQge1xuXHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDEwcHg7XG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdFx0d2lkdGg6IDcyJTtcblx0XHR9XG5cdFx0XG5cdFx0LnRvb2x0aXBfX3RleHQge1xuXHRcdFx0c3BhbiB7XG5cdFx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0XHR9XG5cdFx0fVxuICAgIH1cblxuICAgICYtLXNjaG9vbHMge1xuXHQgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcblx0ICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcblx0ICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xuXHQgICAgYm90dG9tOiAxMTUlO1xuXHQgICAgbGVmdDogNTAlO1xuXHQgICAgbWFyZ2luOiBhdXRvO1xuXHQgICAgbWF4LXdpZHRoOiAzMDBweDtcblx0ICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xuXHQgICAgd2lkdGg6IDkwJTtcblxuXHQgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHQgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwKTtcblx0XHQgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDApO1xuXHRcdCAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwKTtcblx0ICAgIFx0bGVmdDogMzBweDtcblx0ICAgIFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoMCk7XG5cdFx0ICAgIHdpZHRoOiAzMDBweDtcblx0ICAgIH1cblxuICAgIFx0JjpiZWZvcmUge1xuXHQgICAgXHRkaXNwbGF5OiBub25lO1xuXG5cdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MDBweCkge1x0XG5cdCAgICBcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHR9XG5cdCAgICB9XG4gICAgfVxufVxuXG4udG9vbHRpcF9faW1hZ2Uge1xuXHRkaXNwbGF5OiBibG9jaztcblx0aGVpZ2h0OiBhdXRvO1xufVxuXG4udG9vbHRpcF9fY29udGVudCB7XG5cdGg0IHtcblx0XHRtYXJnaW46IDEwcHggMDtcblx0fVxufVxuXG4udG9vbHRpcF9fdGV4dCB7XG5cdHNwYW4ge1xuXHQgICAgY29sb3I6ICRncmVlbjtcblx0ICAgIGRpc3BsYXk6IGJsb2NrO1xuXHQgICAgZm9udC1mYW1pbHk6ICdMb3RhLUJvbGQnLCBzYW5zLXNlcmlmO1xuXHQgICAgZm9udC1zaXplOiAzZW07XG5cdCAgICBsaW5lLWhlaWdodDogMWVtO1xuXHQgICAgbWFyZ2luOiAxNXB4IGF1dG8gMTBweDtcblx0ICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblx0fVxufVxuXG4ucG9sbHV0aW9uLW1hcCB7XG5cdGNvbG9yOiAkd2hpdGU7XG5cdGxlZnQ6IDA7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXG5cdC5wb2ludCB7XG5cdFx0YmFja2dyb3VuZDogJGdyZWVuO1xuXHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0aGVpZ2h0OiAyMHB4O1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR3aWR0aDogMjBweDtcblxuXHRcdCYtLXNjaG9vbHMge1xuXHRcdFx0YmFja2dyb3VuZDogJGdyZWVuO1xuXG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0Ym9yZGVyOiAycHggc29saWQgJGdyZWVuO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYtLWJ1c2VzIHtcblx0XHRcdGJhY2tncm91bmQ6ICRsYWJvdXItcmVkO1xuXG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0Ym9yZGVyOiAycHggc29saWQgJGxhYm91ci1yZWQ7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji0tbW9udW1lbnRzIHtcblx0XHRcdGJhY2tncm91bmQ6ICRwdXJwbGU7XG5cblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRib3JkZXI6IDJweCBzb2xpZCAkcHVycGxlO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCY6YWZ0ZXIge1xuXHRcdCAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuXHRcdCAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cdFx0ICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICBcdFx0XHRhbmltYXRpb246IHB1bHNhdGUgaW5maW5pdGUgMS41cztcblx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0aGVpZ2h0OiAyMHB4O1xuICBcdFx0XHRsZWZ0OiA1MCU7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDUwJTtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuXHRcdFx0d2lkdGg6IDIwcHg7XG5cdFx0fVxuXG5cdFx0Ji5hY3RpdmUge1xuXHRcdFx0YmFja2dyb3VuZDogJHdoaXRlO1xuXG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0YW5pbWF0aW9uOiBub25lO1xuXHRcdFx0XHRib3JkZXI6IDNweCBzb2xpZCAkZ3JlZW47XG5cdFx0XHRcdGhlaWdodDogMjNweDtcblx0XHRcdFx0d2lkdGg6IDIzcHg7XG5cdFx0XHR9XG5cblx0XHRcdCYucG9pbnQtLXNjaG9vbHMge1xuXHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRib3JkZXI6IDNweCBzb2xpZCAkZ3JlZW47XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Ji5wb2ludC0tYnVzZXMge1xuXHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRib3JkZXI6IDNweCBzb2xpZCAkbGFib3VyLXJlZDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmLnBvaW50LS1tb251bWVudHMge1xuXHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRib3JkZXI6IDNweCBzb2xpZCAkcHVycGxlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Lmljb24ge1xuICBcdFx0YW5pbWF0aW9uOiBzY2FsZSAxcywgYm91bmNlIGluZmluaXRlIDEuNXMgMXM7XG4gIFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0aGVpZ2h0OiA2NHB4O1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gY2VudGVyO1xuXHRcdHdpZHRoOiA0NXB4O1xuXG5cdFx0Ji0tc2Nob29scyB7XG5cdFx0XHRiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9zY2hvb2wtaWNvbi5wbmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogNDVweDtcblx0XHR9XG5cdH1cbn1cblxuLnBvbGx1dGlvbi1tYXBfX2JnIHtcblx0aGVpZ2h0OiA2MDBweDtcblx0bWF4LXdpZHRoOiBpbml0aWFsO1xuXHR3aWR0aDogYXV0bztcblxuXHQmLS1kZXNrdG9wIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdH1cblx0fVxuXG5cdCYtLW1vYmlsZSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cbn1cblxuLnBvbGx1dGlvbi1tYXBfX2d1aWRlX193cmFwcGVyIHtcblx0bGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4ucG9sbHV0aW9uLW1hcF9fZ3VpZGUgeyAgICBcbiAgICBoZWlnaHQ6IGF1dG87XG5cdGxlZnQ6IDIlO1xuICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiA5NiU7XG4gICAgei1pbmRleDogMTE7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdGxlZnQ6IDEwJTtcblx0XHQvLyBkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cbi5wb2xsdXRpb24tbWFwX19ndWlkZV9fY29udGVudCB7XG5cdGJhY2tncm91bmQ6ICRncmVlbjtcblx0Ym9yZGVyLXJhZGl1czogMCAwIDhweDtcblx0Y29sb3I6ICR3aGl0ZTtcblx0ZGlzcGxheTogbm9uZTtcblx0Zm9udC1zaXplOiAxNXB4O1xuXHRsaW5lLWhlaWdodDogMS4yZW07XG5cdHBhZGRpbmc6IDIwcHggMzBweCAxcHggMjBweDtcblxuXHR1bCB7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHBhZGRpbmc6IDA7XG5cdH1cbn1cblxuLnBvbGx1dGlvbi1tYXBfX2d1aWRlX19pdGVtIHtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0bWFyZ2luLWJvdHRvbTogMTVweDtcblx0cGFkZGluZy1sZWZ0OiA0MHB4O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0JjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGhlaWdodDogMzBweDtcblx0XHRsZWZ0OiAwO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDA7XG5cdFx0d2lkdGg6IDMwcHg7XG5cdH1cblxuXHQmLS1zY3JvbGwge1xuXHRcdCY6YmVmb3JlIHtcblx0XHRcdGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL3Njcm9sbC1pY29uLnBuZycpIG5vLXJlcGVhdCBjZW50ZXIgdG9wO1xuXHRcdFx0YmFja2dyb3VuZC1zaXplOiAxMDAlO1xuXHRcdH1cblx0fVxuXG5cdCYtLXBvaW50IHtcblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9wb2ludC5wbmcnKSBuby1yZXBlYXQgY2VudGVyIHRvcDtcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogMjBweDtcblx0XHR9XG5cdH1cbn1cblxuLnBvbGx1dGlvbi1tYXBfX2d1aWRlX190cmlnZ2VyIHtcblx0YmFja2dyb3VuZDogJGdyZWVuIHVybCgnLi4vaW1nL21hcC1pbmZvLnBuZycpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuXHRiYWNrZ3JvdW5kLXNpemU6IDI1cHg7XG5cdGJvcmRlci1yYWRpdXM6IDAgMCA4cHggOHB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRoZWlnaHQ6IDM1cHg7XG4gICAgbGVmdDogMDtcblx0cGFkZGluZzogNXB4IDdweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuXHR3aWR0aDogNDBweDtcblxuXHQmLmFjdGl2ZSB7XG5cdFx0YmFja2dyb3VuZDogJGdyZWVuIHVybCgnLi4vaW1nL2Nsb3NlLnBuZycpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuXHRcdGJhY2tncm91bmQtc2l6ZTogMThweDtcblx0fVxufVxuXG4ucG9sbHV0aW9uLW1hcF9fY2F0ZWdvcmllcyB7XG5cdG1hcmdpbi10b3A6IC0yNXB4O1xuICAgIG1pbi13aWR0aDogMjkwcHg7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG5cdHotaW5kZXg6IDEwO1xuXHRcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcdFxuICAgIFx0dGV4dC1hbGlnbjogbGVmdDtcbiAgICBcdHdpZHRoOiBhdXRvO1xuXHR9XG59XG5cbi5wb2xsdXRpb24tbWFwX19jYXQge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRtYXJnaW46IDAgMjBweCAwIDA7XG5cdG9wYWNpdHk6IC42O1xuXG5cdCYtLWxhc3Qge1xuXHRcdG1hcmdpbi1yaWdodDogMDtcblx0fVxuXHRcblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAwcHgpIHtcdFxuXHRcdG1hcmdpbjogMCAyNXB4IDAgMDtcblxuXHRcdCYtLWxhc3Qge1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdH1cblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHRcblx0XHRmbG9hdDogbGVmdDtcblx0XHRtYXJnaW46IDAgMzBweCAwIDA7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0Ji0tbGFzdCB7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0fVxuXHR9XG5cblx0Ji5hY3RpdmUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cbn1cblxuLnBvbGx1dGlvbi1tYXBfX2NhdF9faWNvbiB7XG5cdGJvcmRlcjogMnB4IHNvbGlkICRncmVlbjtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRoZWlnaHQ6IDgwcHg7XG5cdHdpZHRoOiA4MHB4O1xuXHRcblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAwcHgpIHtcdFxuXHRcdGhlaWdodDogOTBweDtcblx0XHR3aWR0aDogOTBweDtcblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHRcblx0XHRoZWlnaHQ6IDEyMHB4O1xuXHRcdHdpZHRoOiAxMjBweDtcblx0fVxuXG5cdCYtLXNjaG9vbHMge1xuXHRcdGJhY2tncm91bmQ6IHVybCgnL3dwLWNvbnRlbnQvdGhlbWVzL2xhYm91cmJwL2Rpc3QvaW1nL3NjaG9vbHMucG5nJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG5cdFx0YmFja2dyb3VuZC1zaXplOiAxMDAlO1xuXHRcdGJvcmRlcjogM3B4IHNvbGlkICRncmVlbjtcblx0fVxuXG5cdCYtLWJ1c2VzIHtcblx0XHRiYWNrZ3JvdW5kOiB1cmwoJy93cC1jb250ZW50L3RoZW1lcy9sYWJvdXJicC9kaXN0L2ltZy9idXNlcy5wbmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG5cdFx0Ym9yZGVyOiAzcHggc29saWQgJGxhYm91ci1yZWQ7XG5cdH1cblxuXHQmLS1tb251bWVudHMge1xuXHRcdGJhY2tncm91bmQ6IHVybCgnL3dwLWNvbnRlbnQvdGhlbWVzL2xhYm91cmJwL2Rpc3QvaW1nL21vbnVtZW50cy5wbmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG5cdFx0Ym9yZGVyOiAzcHggc29saWQgJHB1cnBsZTtcblx0fVxufVxuXG4ucG9sbHV0aW9uLW1hcF9fY2F0X190aXRsZSB7XG5cdGNvbG9yOiAkd2hpdGU7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LWZhbWlseTogJ0ludHJvJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcblxuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MDBweCkge1x0XG4gICAgXHRmb250LXNpemU6IDE0cHg7XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1x0XG4gICAgXHRmb250LXNpemU6IDE2cHg7XG5cdH1cbn1cblxuLnBvbGx1dGlvbi1tYXBfX2ZpbHRlciB7XG5cdGNvbG9yOiAkd2hpdGU7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRmbG9hdDogbGVmdDtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdG1hcmdpbjogMTVweCAwIDA7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdHdpZHRoOiAxMDAlO1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHRcblx0XHRtYXJnaW46IDQwcHggMCAwIDIwcHg7XG4gICAgXHR3aWR0aDogMjUlO1xuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICBcdHdpZHRoOiBhdXRvO1xuXHR9XG5cblx0c3BhbiB7XG5cdFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0fVxuXG5cdC5wb2xsdXRpb24tbWFwX19maWx0ZXItaW5mbyB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjNlbTtcblx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHRcdHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xuXHR9XG5cblx0LnBvbGx1dGlvbi1tYXBfX3JldmVydCB7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdH1cbn1cblxuLnBvbGx1dGlvbi1tYXBfX2luZm8ge1xuXHRmb250LXNpemU6IC45ZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjNlbTtcblx0cGFkZGluZzogMjBweCAwO1xuXG5cdG9sIHtcblx0XHRtYXJnaW46IDA7XG5cdFx0cGFkZGluZy1sZWZ0OiAyMHB4O1xuXG5cdFx0bGkge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogM3B4O1xuXHRcdH1cblx0fVxufVxuXG4uaWUtb3ZlcmxheSB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi8vYW5pbWF0ZSBtYXAgcG9pbnRzXG5ALXdlYmtpdC1rZXlmcmFtZXMgcHVsc2F0ZSB7XG5cdDAlLCBcblx0MTAwJSB7XG5cdCAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEuNSwgMS41KTtcblx0ICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxLjUsIDEuNSk7XG5cdCAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxLjUsIDEuNSk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMS41LCAxLjUpO1xuICBcdH1cblx0NTAlIHtcblx0ICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMSwgMSk7XG5cdCAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMSwgMSk7XG5cdCAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxLCAxKTtcblx0ICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEsIDEpO1xuXHR9XG59XG5Aa2V5ZnJhbWVzIHB1bHNhdGUge1xuXHQwJSwgXG5cdDEwMCUge1xuXHQgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxLjUsIDEuNSk7XG5cdCAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMS41LCAxLjUpO1xuXHQgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMS41LCAxLjUpO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEuNSwgMS41KTtcbiAgXHR9XG5cdDUwJSB7XG5cdCAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEsIDEpO1xuXHQgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEsIDEpO1xuXHQgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMSwgMSk7XG5cdCAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxLCAxKTtcblx0fVxufVxuXG4vL0FOSU1BVEUgSUNPTlNcbi8vc2NhbGUgdXBcbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2Uge1xuICBcdDAlLCBcbiAgXHQxMDAlIHtcblx0ICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXHQgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0ICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICBcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgXHR9XG4gIFx0NTAlIHtcblx0ICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpO1xuXHQgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTtcblx0ICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTtcbiAgICBcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTtcbiAgXHR9XG59XG5Aa2V5ZnJhbWVzIGJvdW5jZSB7XG4gIFx0MCUsIFxuICBcdDEwMCUge1xuXHQgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgc2NhbGUoMSwgMSk7XG5cdCAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHNjYWxlKDEsIDEpO1xuXHQgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHNjYWxlKDEsIDEpO1xuICAgIFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHNjYWxlKDEsIDEpO1xuICBcdH1cbiAgXHQ1MCUge1xuXHQgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVweCkgc2NhbGUoMSwgMSk7XG5cdCAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpIHNjYWxlKDEsIDEpO1xuXHQgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpIHNjYWxlKDEsIDEpO1xuICAgIFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpIHNjYWxlKDEsIDEpO1xuICBcdH1cbn1cbi8vYW5pbWF0ZSBpY29uc1xuQC13ZWJraXQta2V5ZnJhbWVzIHNjYWxlIHtcbiAgXHQwJSB7XG5cdCAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMCk7XG5cdCAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwKTtcblx0ICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgXHR0cmFuc2Zvcm06IHNjYWxlKDApO1xuICBcdH1cbiAgXHQxMDAlIHtcblx0ICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxKTtcblx0ICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHQgICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBcdHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIFx0fVxufVxuQGtleWZyYW1lcyBzY2FsZSB7XG4gIFx0MCUge1xuXHQgICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDApO1xuXHQgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMCk7XG5cdCAgICAtby10cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgIFx0dHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgXHR9XG4gIFx0MTAwJSB7XG5cdCAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMSk7XG5cdCAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTtcblx0ICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgXHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBcdH1cbn1cbiIsIi5wb2xsdXRpb24tc2VhcmNoIHtcblx0cGFkZGluZzogMzBweCAwIDQwcHg7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRwYWRkaW5nOiA0MHB4IDAgNTBweDtcblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRwYWRkaW5nOiA1MHB4IDAgNjBweDtcblx0fVxuXG5cdC5wYWdlLWNvbnRlbnRfX2hlYWRlciB7XG5cdFx0aDIge1xuXHRcdFx0bWFyZ2luOiBhdXRvO1xuXHRcdFx0bWF4LXdpZHRoOiA3MDBweDtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdH1cblx0fVxuXG5cdC5wb3N0Y29kZS1mb3JtIHtcblx0XHRAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7XG5cdFx0bWFyZ2luLWJvdHRvbTogNDBweDtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRAaW5jbHVkZSBncmlkLWNvbHVtbigxMCk7XG5cdFx0XHRAaW5jbHVkZSBncmlkLWNvbHVtbi1vZmZzZXQoMSk7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0QGluY2x1ZGUgZ3JpZC1jb2x1bW4oOCk7XG5cdFx0XHRAaW5jbHVkZSBncmlkLWNvbHVtbi1vZmZzZXQoMik7XG5cdFx0fVxuXG5cdFx0Ji0tb3RoZXIge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cblxuXHQuZm9ybS1yb3cge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG5cblx0LmZpZWxkc2V0IHtcblx0XHRmbG9hdDogbGVmdDtcblx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdCYuZmllbGRzZXQtLWhhbGYge1xuXHRcdFx0XHR3aWR0aDogNDklO1xuXG5cdFx0XHRcdCY6Zmlyc3Qtb2YtdHlwZSB7XG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAyJTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdGlucHV0IHtcblx0ICAgICZbdHlwZT0ndGV4dCddLFxuXHQgICAgJlt0eXBlPSdlbWFpbCddLFxuXHQgICAgJlt0eXBlPSdudW1iZXInXSxcblx0ICAgICZbdHlwZT0ncGhvbmUnXSB7XG5cdFx0XHRwYWRkaW5nOiAxMHB4O1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXHR9XG5cblx0LmxhYmVsIHtcblx0XHRmb250LXNpemU6IC45ZW07XG5cdFx0bGluZS1oZWlnaHQ6IDEuM2VtO1xuXHR9XG5cbiAgICAucmFkaW8tbGFiZWwgIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogLjllbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMWVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDEwcHggMCAzMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcdFxuICAgICAgICBcdHdpZHRoOiA0OSU7XG5cdFx0fVxuXG4gICAgICAgIGlucHV0IHtcblx0ICAgICAgICBoZWlnaHQ6IDA7XG5cdCAgICAgICAgb3BhY2l0eTogMDtcblx0ICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cdCAgICAgICAgd2lkdGg6IDA7XG5cblx0ICAgICAgICAmOmNoZWNrZWQge1xuXHQgICAgICAgIFx0JiB+IC5yYWRpby1pY29uIHtcblx0XHRcdCAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBpbms7XG5cdFx0XHQgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICR3aGl0ZTtcblx0XHRcdCAgICB9XG5cdFx0XHR9XG5cblx0XHQgICAgJjpmb2N1cyB7XG5cdFx0ICAgIFx0JiB+IC5yYWRpby1pY29uIHtcblx0XHRcdCAgICAgICAgb3V0bGluZTogMnB4IHNvbGlkICRmb2N1cy1ibHVlO1xuXHRcdFx0ICAgIH1cblx0XHRcdH1cblx0ICAgIH1cblx0fVxuXG4gICAgLnJhZGlvLWljb24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICR3aGl0ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC0ycHg7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgIH1cblxuXHQuZm9ybS1lcnJvciB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0ICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdCAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdH1cblxuXHQuYnV0dG9uIHtcblx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0bWFyZ2luLWJvdHRvbTogMTBweDtcblx0XHRwYWRkaW5nOiAxNXB4IDEwcHg7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR3aWR0aDogMTAwJTtcblxuXHRcdCYubG9hZGluZyB7XG5cdFx0XHRzcGFuIHtcblx0XHRcdFx0YmFja2dyb3VuZDogJHBpbmsgdXJsKCcuLi9pbWcvcGluay1sb2FkZXIuZ2lmJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG5cdFx0XHRcdGJhY2tncm91bmQtc2l6ZTogMzBweDtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRcdFx0XHRjb2xvcjogJHBpbms7XG5cdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4ucG9zdGNvZGUtcmVzdWx0cyB7XG5cdEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcblx0QGluY2x1ZGUgZ3JpZC1jb2x1bW4tZW5kO1xuXHRkaXNwbGF5OiBub25lO1x0XG5cdG1hcmdpbjogNTBweCAwIDQwcHg7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdEBpbmNsdWRlIGdyaWQtY29sdW1uKDEwKTtcblx0XHRAaW5jbHVkZSBncmlkLWNvbHVtbi1vZmZzZXQoMSk7XG5cdFx0QGluY2x1ZGUgZ3JpZC1jb2x1bW4tZW5kO1xuXHR9XG5cblx0aDEge1xuXHRcdGZvbnQtc2l6ZTogMS42ZW07XG5cdFx0bGluZS1oZWlnaHQ6IDEuMmVtO1xuXHQgICAgbWFyZ2luOiBhdXRvO1xuXHQgICAgbWF4LXdpZHRoOiA3MDBweDtcblx0ICAgIHdpZHRoOiAxMDAlO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdGZvbnQtc2l6ZTogMS44ZW07XG5cdFx0XHRsaW5lLWhlaWdodDogMS4zZW07XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0Zm9udC1zaXplOiAyZW07XG5cdFx0fVxuXG5cdFx0c3BhbiB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0fVxuXHR9XG5cblx0c21hbGwge1xuXHQgICAgZGlzcGxheTogYmxvY2s7XG5cdFx0bGluZS1oZWlnaHQ6IDEuNGVtO1xuXHQgICAgbWF4LXdpZHRoOiA1MDBweDtcblx0fVxufVxuXG4ucG9zdGNvZGUtcmVzdWx0c19fY29udGVudCB7XG5cdGZvbnQtc2l6ZTogMS4yZW07XG5cdG1hcmdpbi10b3A6IDUwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRmb250LXNpemU6IDEuMmVtO1xuXHR9XG5cblx0aDIge1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdH1cblxuXHRoMSB7XG5cdFx0Zm9udC1zaXplOiAyZW07XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0Zm9udC1zaXplOiAyLjVlbTtcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0Zm9udC1zaXplOiAzZW07XG5cdFx0fVxuXHR9XG59XG5cbi5wb3N0Y29kZS1yZXN1bHRzX19jb2wge1xuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHR3aWR0aDogNjUlO1xuXHR9XG5cblx0JjpsYXN0LW9mLXR5cGUge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDEwcHg7XG5cdFx0XHR3aWR0aDogMzUlO1xuXHRcdFx0XG5cdFx0XHRpbWcge1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdG1heC13aWR0aDogMzAwcHg7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLnBvcHVwIHtcblx0Ly8gZGlzcGxheTogbm9uZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICBtaW4td2lkdGg6IDMwMHB4O1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDEwMDtcbn1cblxuLnBvcHVwX19vdmVybGF5IHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIC41KTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogMDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnBvcHVwX19jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kOiAkcGluaztcbiAgICBtYXJnaW46IDAgMTVweDtcbiAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICAgIHBhZGRpbmc6IDI1cHggMjBweCAyMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMwcHgpO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBcdG1hcmdpbjogYXV0bztcbiAgICBcdHRvcDogNDUlO1xuICAgIH1cblxuICAgIGgzIHtcbiAgICBcdGNvbG9yOiAkd2hpdGU7XG4gICAgXHRsaW5lLWhlaWdodDogMS4yZW07XG4gICAgXHRtYXJnaW4tYm90dG9tOiAxNHB4O1xuXG4gICAgXHRzcGFuIHtcbiAgICBcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIFx0fVxuICAgIH1cblxuICAgIC5lbmQtbW9kdWxlX19mb3JtIHtcblx0ICAgIG1hcmdpbjogYXV0bztcblx0XHRtYXgtd2lkdGg6IDQwMHB4O1xuXG5cdFx0LmdmaWVsZF9lcnJvciB7XG4gICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgJlt0eXBlPSd0ZXh0J10sXG4gICAgICAgICAgICAgICAgJlt0eXBlPSdlbWFpbCddLFxuICAgICAgICAgICAgICAgICZbdHlwZT0nbnVtYmVyJ10sXG4gICAgICAgICAgICAgICAgJlt0eXBlPSdwaG9uZSddIHtcbiAgICAgICAgICAgICAgICAgICAgJjpub3QoLmJ1dHRvbikge1xuXHRcdCAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cdFx0ICAgIH1cblx0XHR9XG5cblx0XHQuZ2Zvcm1fY29uZmlybWF0aW9uX3dyYXBwZXIgeyAgICBcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMjBweCBhdXRvO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAzMDBweDtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICB9XG5cdFx0fVxuICAgIH1cbn1cblxuLnBvcHVwX19jbG9zZSB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC1mYW1pbHk6ICdMb3RhLVNlbWlCb2xkJztcbiAgICBmb250LXNpemU6IDI1cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxMnB4O1xuICAgIHRvcDogLTJweDtcbn1cbiIsIi5zb2NpYWxfX2Jsb2NrIHtcblx0QGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuXHRcblx0Jjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcblx0XHRtYXJnaW4tdG9wOiAzMHB4O1xuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUpIHtcblx0XHRAaW5jbHVkZSBncmlkLWNvbHVtbig2KTtcblx0XHRAaW5jbHVkZSBncmlkLWNvbHVtbi1lbmQoKTtcblx0XG5cdFx0Jjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcblx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0fVxuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRAaW5jbHVkZSBncmlkLWNvbHVtbig2KTtcblx0XHRAaW5jbHVkZSBncmlkLWNvbHVtbi1lbmQoKTtcblx0XHRtYXgtd2lkdGg6IDMwMHB4O1xuXG5cdFx0Ly8gb25lIGl0ZW1cblx0XHQmOm50aC1jaGlsZCgxKSB7XG5cdFx0XHQmOm50aC1sYXN0LWNoaWxkKDEpIHtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHR9XG5cblx0XHRcdCY6bnRoLWxhc3QtY2hpbGQoMikge1xuXHRcdFx0XHR3aWR0aDogNTAlO1xuXHRcdFx0fVxuXG5cdFx0XHQmOm50aC1sYXN0LWNoaWxkKDMpIHtcblx0XHRcdFx0d2lkdGg6IDMzLjMzMzMlO1xuXHRcdFx0fVxuXG5cdFx0XHQmOm50aC1sYXN0LWNoaWxkKDQpIHtcblx0XHRcdFx0d2lkdGg6IDI1JTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQvLyB0d28gaXRlbXNcblx0XHQmOm50aC1jaGlsZCgyKSB7XG5cdFx0XHQmOm50aC1sYXN0LWNoaWxkKDEpIHtcblx0XHRcdFx0d2lkdGg6IDUwJTtcblx0XHRcdH1cblxuXHRcdFx0JjpudGgtbGFzdC1jaGlsZCgyKSB7XG5cdFx0XHRcdHdpZHRoOiAzMy4zMzMzJTtcblx0XHRcdH1cblxuXHRcdFx0JjpudGgtbGFzdC1jaGlsZCgzKSB7XG5cdFx0XHRcdHdpZHRoOiAyNSU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ly8gdGhyZWUgaXRlbXNcblx0XHQmOm50aC1jaGlsZCgzKSB7XG5cdFx0XHQmOm50aC1sYXN0LWNoaWxkKDEpIHtcblx0XHRcdFx0d2lkdGg6IDMzLjMzMzMlO1xuXHRcdFx0fVxuXG5cdFx0XHQmOm50aC1sYXN0LWNoaWxkKDIpIHtcblx0XHRcdFx0d2lkdGg6IDI1JTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQvLyBmb3VyIGl0ZW1zXG5cdFx0JjpudGgtY2hpbGQoNCkge1xuXHRcdFx0JjpudGgtbGFzdC1jaGlsZCgxKSB7XG5cdFx0XHRcdHdpZHRoOiAyNSU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ji0taW5zdGEge1xuXHRcdC5zb2NpYWxfX3Bvc3Qge1xuXHRcdFx0cGFkZGluZzogMTVweCAwIDVweDtcblx0XHR9XG5cdH1cblxuXHRhIHtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdH1cbn1cblxuLnNvY2lhbF9fdGl0bGUge1xuXHRjb2xvcjogJGJsYWNrO1xuXHRmb250LXNpemU6IDI1cHg7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUpIHtcblx0XHRmb250LXNpemU6IDMwcHg7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRmb250LXNpemU6IDM1cHg7XG5cdH1cblxuXHRzcGFuIHtcblx0XHRtYXJnaW4tbGVmdDogNXB4O1xuXHR9XG59XG5cbi5zb2NpYWxfX3Bvc3Qge1xuXHRib3JkZXItYm90dG9tOiAycHggc29saWQgJGJsYWNrO1xuXHRwYWRkaW5nOiAxNXB4IDA7XG59XG5cbi5zb2NpYWxfX2ltYWdlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgYXV0byAxMHB4O1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLnNvY2lhbF9fY29udGVudCB7XG5cdEBpbmNsdWRlIGNsZWFyZml4KCk7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjRlbTtcblx0bWFyZ2luOiAwIDAgMTBweDtcblx0dGV4dC1hbGlnbjogbGVmdDtcblxuXHQuc29jaWFsX19pbWFnZSB7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUpIHtcblx0XHRcdGZsb2F0OiBub25lO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xuXHRcdH1cblx0fVxufVxuXG4uc29jaWFsX19zdGF0cyB7XG5cdEBpbmNsdWRlIGNsZWFyZml4KCk7XG5cdG1hcmdpbjogNXB4IDA7XG5cdHdpZHRoOiAxMDAlO1xuXG5cdCYgPiBzcGFuIHtcblx0XHRmbG9hdDogbGVmdDtcblxuXHRcdCY6bGFzdC1vZi10eXBlIHtcblx0XHRcdGZsb2F0OiByaWdodDtcblx0XHR9XG5cdH1cbn1cblxuLnNvY2lhbF9faWNvbiB7XG5cdG1hcmdpbi1yaWdodDogMTBweDtcblxuXHQmID4gaSB7XG5cdFx0bWFyZ2luLXJpZ2h0OiA1cHg7XG5cdH1cbn1cblxuLnNvY2lhbF9fbGluayB7XG5cdGNvbG9yOiAkYmxhY2s7XG5cdGZvbnQtZmFtaWx5OiAnTG90YS1Cb2xkJztcblx0Zm9udC1zaXplOiAxNHB4O1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG5cdCY6aG92ZXIge1xuXHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHR9XG59XG4iXX0= */
