@charset "UTF-8";
/**
 * Foundation for Sites by ZURB
 * Version 6.5.1
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
@media print, screen and (min-width: 40em) {
  .reveal, .reveal.tiny, .reveal.small, .reveal.large {
    right: auto;
    left: auto;
    margin: 0 auto; } }

/*! 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 {
  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;
  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 {
  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"] {
  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&phone-small=23.4375em&phone-medium=25.875em&phone-horiz-tiny=35.5em&medium=40em&tablet-vert=48em&custom-tablet=57.5em&large=64em&xlarge=75em&xlarge2=81.25em&xxlarge=90em"; }

html {
  box-sizing: border-box;
  font-size: 16px; }

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

body {
  margin: 0;
  padding: 0;
  background: #fefefe;
  font-family: "Gotham SSm A", "Gotham SSm B";
  font-weight: normal;
  line-height: 1.5;
  color: #0a0a0a;
  -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 {
  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; }

.grid-container {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 76.25rem;
  margin: 0 auto; }
  @media print, screen and (min-width: 40em) {
    .grid-container {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .grid-container.fluid {
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    max-width: 100%;
    margin: 0 auto; }
    @media print, screen and (min-width: 40em) {
      .grid-container.fluid {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  .grid-container.full {
    padding-right: 0;
    padding-left: 0;
    max-width: 100%;
    margin: 0 auto; }

.grid-x {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap; }

.cell {
  -ms-flex: 0 0 auto;
      flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: 100%; }
  .cell.auto {
    -ms-flex: 1 1 0px;
        flex: 1 1 0px; }
  .cell.shrink {
    -ms-flex: 0 0 auto;
        flex: 0 0 auto; }

.grid-x > .auto {
  width: auto; }

.grid-x > .shrink {
  width: auto; }

.grid-x > .small-shrink, .grid-x > .small-full, .grid-x > .small-1, .grid-x > .small-2, .grid-x > .small-3, .grid-x > .small-4, .grid-x > .small-5, .grid-x > .small-6, .grid-x > .small-7, .grid-x > .small-8, .grid-x > .small-9, .grid-x > .small-10, .grid-x > .small-11, .grid-x > .small-12 {
  -ms-flex-preferred-size: auto;
      flex-basis: auto; }

@media print, screen and (min-width: 40em) {
  .grid-x > .medium-shrink, .grid-x > .medium-full, .grid-x > .medium-1, .grid-x > .medium-2, .grid-x > .medium-3, .grid-x > .medium-4, .grid-x > .medium-5, .grid-x > .medium-6, .grid-x > .medium-7, .grid-x > .medium-8, .grid-x > .medium-9, .grid-x > .medium-10, .grid-x > .medium-11, .grid-x > .medium-12 {
    -ms-flex-preferred-size: auto;
        flex-basis: auto; } }

@media print, screen and (min-width: 64em) {
  .grid-x > .large-shrink, .grid-x > .large-full, .grid-x > .large-1, .grid-x > .large-2, .grid-x > .large-3, .grid-x > .large-4, .grid-x > .large-5, .grid-x > .large-6, .grid-x > .large-7, .grid-x > .large-8, .grid-x > .large-9, .grid-x > .large-10, .grid-x > .large-11, .grid-x > .large-12 {
    -ms-flex-preferred-size: auto;
        flex-basis: auto; } }

.grid-x > .small-1, .grid-x > .small-2, .grid-x > .small-3, .grid-x > .small-4, .grid-x > .small-5, .grid-x > .small-6, .grid-x > .small-7, .grid-x > .small-8, .grid-x > .small-9, .grid-x > .small-10, .grid-x > .small-11, .grid-x > .small-12 {
  -ms-flex: 0 0 auto;
      flex: 0 0 auto; }

.grid-x > .small-1 {
  width: 8.33333%; }

.grid-x > .small-2 {
  width: 16.66667%; }

.grid-x > .small-3 {
  width: 25%; }

.grid-x > .small-4 {
  width: 33.33333%; }

.grid-x > .small-5 {
  width: 41.66667%; }

.grid-x > .small-6 {
  width: 50%; }

.grid-x > .small-7 {
  width: 58.33333%; }

.grid-x > .small-8 {
  width: 66.66667%; }

.grid-x > .small-9 {
  width: 75%; }

.grid-x > .small-10 {
  width: 83.33333%; }

.grid-x > .small-11 {
  width: 91.66667%; }

.grid-x > .small-12 {
  width: 100%; }

@media print, screen and (min-width: 40em) {
  .grid-x > .medium-auto {
    -ms-flex: 1 1 0px;
        flex: 1 1 0px;
    width: auto; }
  .grid-x > .medium-shrink, .grid-x > .medium-1, .grid-x > .medium-2, .grid-x > .medium-3, .grid-x > .medium-4, .grid-x > .medium-5, .grid-x > .medium-6, .grid-x > .medium-7, .grid-x > .medium-8, .grid-x > .medium-9, .grid-x > .medium-10, .grid-x > .medium-11, .grid-x > .medium-12 {
    -ms-flex: 0 0 auto;
        flex: 0 0 auto; }
  .grid-x > .medium-shrink {
    width: auto; }
  .grid-x > .medium-1 {
    width: 8.33333%; }
  .grid-x > .medium-2 {
    width: 16.66667%; }
  .grid-x > .medium-3 {
    width: 25%; }
  .grid-x > .medium-4 {
    width: 33.33333%; }
  .grid-x > .medium-5 {
    width: 41.66667%; }
  .grid-x > .medium-6 {
    width: 50%; }
  .grid-x > .medium-7 {
    width: 58.33333%; }
  .grid-x > .medium-8 {
    width: 66.66667%; }
  .grid-x > .medium-9 {
    width: 75%; }
  .grid-x > .medium-10 {
    width: 83.33333%; }
  .grid-x > .medium-11 {
    width: 91.66667%; }
  .grid-x > .medium-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .grid-x > .large-auto {
    -ms-flex: 1 1 0px;
        flex: 1 1 0px;
    width: auto; }
  .grid-x > .large-shrink, .grid-x > .large-1, .grid-x > .large-2, .grid-x > .large-3, .grid-x > .large-4, .grid-x > .large-5, .grid-x > .large-6, .grid-x > .large-7, .grid-x > .large-8, .grid-x > .large-9, .grid-x > .large-10, .grid-x > .large-11, .grid-x > .large-12 {
    -ms-flex: 0 0 auto;
        flex: 0 0 auto; }
  .grid-x > .large-shrink {
    width: auto; }
  .grid-x > .large-1 {
    width: 8.33333%; }
  .grid-x > .large-2 {
    width: 16.66667%; }
  .grid-x > .large-3 {
    width: 25%; }
  .grid-x > .large-4 {
    width: 33.33333%; }
  .grid-x > .large-5 {
    width: 41.66667%; }
  .grid-x > .large-6 {
    width: 50%; }
  .grid-x > .large-7 {
    width: 58.33333%; }
  .grid-x > .large-8 {
    width: 66.66667%; }
  .grid-x > .large-9 {
    width: 75%; }
  .grid-x > .large-10 {
    width: 83.33333%; }
  .grid-x > .large-11 {
    width: 91.66667%; }
  .grid-x > .large-12 {
    width: 100%; } }

.grid-margin-x:not(.grid-x) > .cell {
  width: auto; }

.grid-margin-y:not(.grid-y) > .cell {
  height: auto; }

.grid-margin-x {
  margin-left: -0.625rem;
  margin-right: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-x {
      margin-left: -0.9375rem;
      margin-right: -0.9375rem; } }
  .grid-margin-x > .cell {
    width: calc(100% - 1.25rem);
    margin-left: 0.625rem;
    margin-right: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-x > .cell {
      width: calc(100% - 1.875rem);
      margin-left: 0.9375rem;
      margin-right: 0.9375rem; } }
  .grid-margin-x > .auto {
    width: auto; }
  .grid-margin-x > .shrink {
    width: auto; }
  .grid-margin-x > .small-1 {
    width: calc(8.33333% - 1.25rem); }
  .grid-margin-x > .small-2 {
    width: calc(16.66667% - 1.25rem); }
  .grid-margin-x > .small-3 {
    width: calc(25% - 1.25rem); }
  .grid-margin-x > .small-4 {
    width: calc(33.33333% - 1.25rem); }
  .grid-margin-x > .small-5 {
    width: calc(41.66667% - 1.25rem); }
  .grid-margin-x > .small-6 {
    width: calc(50% - 1.25rem); }
  .grid-margin-x > .small-7 {
    width: calc(58.33333% - 1.25rem); }
  .grid-margin-x > .small-8 {
    width: calc(66.66667% - 1.25rem); }
  .grid-margin-x > .small-9 {
    width: calc(75% - 1.25rem); }
  .grid-margin-x > .small-10 {
    width: calc(83.33333% - 1.25rem); }
  .grid-margin-x > .small-11 {
    width: calc(91.66667% - 1.25rem); }
  .grid-margin-x > .small-12 {
    width: calc(100% - 1.25rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-x > .auto {
      width: auto; }
    .grid-margin-x > .shrink {
      width: auto; }
    .grid-margin-x > .small-1 {
      width: calc(8.33333% - 1.875rem); }
    .grid-margin-x > .small-2 {
      width: calc(16.66667% - 1.875rem); }
    .grid-margin-x > .small-3 {
      width: calc(25% - 1.875rem); }
    .grid-margin-x > .small-4 {
      width: calc(33.33333% - 1.875rem); }
    .grid-margin-x > .small-5 {
      width: calc(41.66667% - 1.875rem); }
    .grid-margin-x > .small-6 {
      width: calc(50% - 1.875rem); }
    .grid-margin-x > .small-7 {
      width: calc(58.33333% - 1.875rem); }
    .grid-margin-x > .small-8 {
      width: calc(66.66667% - 1.875rem); }
    .grid-margin-x > .small-9 {
      width: calc(75% - 1.875rem); }
    .grid-margin-x > .small-10 {
      width: calc(83.33333% - 1.875rem); }
    .grid-margin-x > .small-11 {
      width: calc(91.66667% - 1.875rem); }
    .grid-margin-x > .small-12 {
      width: calc(100% - 1.875rem); }
    .grid-margin-x > .phone-small-auto {
      width: auto; }
    .grid-margin-x > .phone-small-shrink {
      width: auto; }
    .grid-margin-x > .phone-small-1 {
      width: calc(8.33333% - 1.875rem); }
    .grid-margin-x > .phone-small-2 {
      width: calc(16.66667% - 1.875rem); }
    .grid-margin-x > .phone-small-3 {
      width: calc(25% - 1.875rem); }
    .grid-margin-x > .phone-small-4 {
      width: calc(33.33333% - 1.875rem); }
    .grid-margin-x > .phone-small-5 {
      width: calc(41.66667% - 1.875rem); }
    .grid-margin-x > .phone-small-6 {
      width: calc(50% - 1.875rem); }
    .grid-margin-x > .phone-small-7 {
      width: calc(58.33333% - 1.875rem); }
    .grid-margin-x > .phone-small-8 {
      width: calc(66.66667% - 1.875rem); }
    .grid-margin-x > .phone-small-9 {
      width: calc(75% - 1.875rem); }
    .grid-margin-x > .phone-small-10 {
      width: calc(83.33333% - 1.875rem); }
    .grid-margin-x > .phone-small-11 {
      width: calc(91.66667% - 1.875rem); }
    .grid-margin-x > .phone-small-12 {
      width: calc(100% - 1.875rem); }
    .grid-margin-x > .phone-medium-auto {
      width: auto; }
    .grid-margin-x > .phone-medium-shrink {
      width: auto; }
    .grid-margin-x > .phone-medium-1 {
      width: calc(8.33333% - 1.875rem); }
    .grid-margin-x > .phone-medium-2 {
      width: calc(16.66667% - 1.875rem); }
    .grid-margin-x > .phone-medium-3 {
      width: calc(25% - 1.875rem); }
    .grid-margin-x > .phone-medium-4 {
      width: calc(33.33333% - 1.875rem); }
    .grid-margin-x > .phone-medium-5 {
      width: calc(41.66667% - 1.875rem); }
    .grid-margin-x > .phone-medium-6 {
      width: calc(50% - 1.875rem); }
    .grid-margin-x > .phone-medium-7 {
      width: calc(58.33333% - 1.875rem); }
    .grid-margin-x > .phone-medium-8 {
      width: calc(66.66667% - 1.875rem); }
    .grid-margin-x > .phone-medium-9 {
      width: calc(75% - 1.875rem); }
    .grid-margin-x > .phone-medium-10 {
      width: calc(83.33333% - 1.875rem); }
    .grid-margin-x > .phone-medium-11 {
      width: calc(91.66667% - 1.875rem); }
    .grid-margin-x > .phone-medium-12 {
      width: calc(100% - 1.875rem); }
    .grid-margin-x > .phone-horiz-tiny-auto {
      width: auto; }
    .grid-margin-x > .phone-horiz-tiny-shrink {
      width: auto; }
    .grid-margin-x > .phone-horiz-tiny-1 {
      width: calc(8.33333% - 1.875rem); }
    .grid-margin-x > .phone-horiz-tiny-2 {
      width: calc(16.66667% - 1.875rem); }
    .grid-margin-x > .phone-horiz-tiny-3 {
      width: calc(25% - 1.875rem); }
    .grid-margin-x > .phone-horiz-tiny-4 {
      width: calc(33.33333% - 1.875rem); }
    .grid-margin-x > .phone-horiz-tiny-5 {
      width: calc(41.66667% - 1.875rem); }
    .grid-margin-x > .phone-horiz-tiny-6 {
      width: calc(50% - 1.875rem); }
    .grid-margin-x > .phone-horiz-tiny-7 {
      width: calc(58.33333% - 1.875rem); }
    .grid-margin-x > .phone-horiz-tiny-8 {
      width: calc(66.66667% - 1.875rem); }
    .grid-margin-x > .phone-horiz-tiny-9 {
      width: calc(75% - 1.875rem); }
    .grid-margin-x > .phone-horiz-tiny-10 {
      width: calc(83.33333% - 1.875rem); }
    .grid-margin-x > .phone-horiz-tiny-11 {
      width: calc(91.66667% - 1.875rem); }
    .grid-margin-x > .phone-horiz-tiny-12 {
      width: calc(100% - 1.875rem); }
    .grid-margin-x > .medium-auto {
      width: auto; }
    .grid-margin-x > .medium-shrink {
      width: auto; }
    .grid-margin-x > .medium-1 {
      width: calc(8.33333% - 1.875rem); }
    .grid-margin-x > .medium-2 {
      width: calc(16.66667% - 1.875rem); }
    .grid-margin-x > .medium-3 {
      width: calc(25% - 1.875rem); }
    .grid-margin-x > .medium-4 {
      width: calc(33.33333% - 1.875rem); }
    .grid-margin-x > .medium-5 {
      width: calc(41.66667% - 1.875rem); }
    .grid-margin-x > .medium-6 {
      width: calc(50% - 1.875rem); }
    .grid-margin-x > .medium-7 {
      width: calc(58.33333% - 1.875rem); }
    .grid-margin-x > .medium-8 {
      width: calc(66.66667% - 1.875rem); }
    .grid-margin-x > .medium-9 {
      width: calc(75% - 1.875rem); }
    .grid-margin-x > .medium-10 {
      width: calc(83.33333% - 1.875rem); }
    .grid-margin-x > .medium-11 {
      width: calc(91.66667% - 1.875rem); }
    .grid-margin-x > .medium-12 {
      width: calc(100% - 1.875rem); } }
  @media print, screen and (min-width: 64em) {
    .grid-margin-x > .large-auto {
      width: auto; }
    .grid-margin-x > .large-shrink {
      width: auto; }
    .grid-margin-x > .large-1 {
      width: calc(8.33333% - 1.875rem); }
    .grid-margin-x > .large-2 {
      width: calc(16.66667% - 1.875rem); }
    .grid-margin-x > .large-3 {
      width: calc(25% - 1.875rem); }
    .grid-margin-x > .large-4 {
      width: calc(33.33333% - 1.875rem); }
    .grid-margin-x > .large-5 {
      width: calc(41.66667% - 1.875rem); }
    .grid-margin-x > .large-6 {
      width: calc(50% - 1.875rem); }
    .grid-margin-x > .large-7 {
      width: calc(58.33333% - 1.875rem); }
    .grid-margin-x > .large-8 {
      width: calc(66.66667% - 1.875rem); }
    .grid-margin-x > .large-9 {
      width: calc(75% - 1.875rem); }
    .grid-margin-x > .large-10 {
      width: calc(83.33333% - 1.875rem); }
    .grid-margin-x > .large-11 {
      width: calc(91.66667% - 1.875rem); }
    .grid-margin-x > .large-12 {
      width: calc(100% - 1.875rem); } }

.grid-padding-x .grid-padding-x {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-x .grid-padding-x {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }

.grid-container:not(.full) > .grid-padding-x {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-container:not(.full) > .grid-padding-x {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }

.grid-padding-x > .cell {
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-x > .cell {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }

.small-up-1 > .cell {
  width: 100%; }

.small-up-2 > .cell {
  width: 50%; }

.small-up-3 > .cell {
  width: 33.33333%; }

.small-up-4 > .cell {
  width: 25%; }

.small-up-5 > .cell {
  width: 20%; }

.small-up-6 > .cell {
  width: 16.66667%; }

.small-up-7 > .cell {
  width: 14.28571%; }

.small-up-8 > .cell {
  width: 12.5%; }

@media print, screen and (min-width: 40em) {
  .medium-up-1 > .cell {
    width: 100%; }
  .medium-up-2 > .cell {
    width: 50%; }
  .medium-up-3 > .cell {
    width: 33.33333%; }
  .medium-up-4 > .cell {
    width: 25%; }
  .medium-up-5 > .cell {
    width: 20%; }
  .medium-up-6 > .cell {
    width: 16.66667%; }
  .medium-up-7 > .cell {
    width: 14.28571%; }
  .medium-up-8 > .cell {
    width: 12.5%; } }

@media print, screen and (min-width: 64em) {
  .large-up-1 > .cell {
    width: 100%; }
  .large-up-2 > .cell {
    width: 50%; }
  .large-up-3 > .cell {
    width: 33.33333%; }
  .large-up-4 > .cell {
    width: 25%; }
  .large-up-5 > .cell {
    width: 20%; }
  .large-up-6 > .cell {
    width: 16.66667%; }
  .large-up-7 > .cell {
    width: 14.28571%; }
  .large-up-8 > .cell {
    width: 12.5%; } }

.grid-margin-x.small-up-1 > .cell {
  width: calc(100% - 1.25rem); }

.grid-margin-x.small-up-2 > .cell {
  width: calc(50% - 1.25rem); }

.grid-margin-x.small-up-3 > .cell {
  width: calc(33.33333% - 1.25rem); }

.grid-margin-x.small-up-4 > .cell {
  width: calc(25% - 1.25rem); }

.grid-margin-x.small-up-5 > .cell {
  width: calc(20% - 1.25rem); }

.grid-margin-x.small-up-6 > .cell {
  width: calc(16.66667% - 1.25rem); }

.grid-margin-x.small-up-7 > .cell {
  width: calc(14.28571% - 1.25rem); }

.grid-margin-x.small-up-8 > .cell {
  width: calc(12.5% - 1.25rem); }

@media print, screen and (min-width: 40em) {
  .grid-margin-x.small-up-1 > .cell {
    width: calc(100% - 1.875rem); }
  .grid-margin-x.small-up-2 > .cell {
    width: calc(50% - 1.875rem); }
  .grid-margin-x.small-up-3 > .cell {
    width: calc(33.33333% - 1.875rem); }
  .grid-margin-x.small-up-4 > .cell {
    width: calc(25% - 1.875rem); }
  .grid-margin-x.small-up-5 > .cell {
    width: calc(20% - 1.875rem); }
  .grid-margin-x.small-up-6 > .cell {
    width: calc(16.66667% - 1.875rem); }
  .grid-margin-x.small-up-7 > .cell {
    width: calc(14.28571% - 1.875rem); }
  .grid-margin-x.small-up-8 > .cell {
    width: calc(12.5% - 1.875rem); }
  .grid-margin-x.medium-up-1 > .cell {
    width: calc(100% - 1.875rem); }
  .grid-margin-x.medium-up-2 > .cell {
    width: calc(50% - 1.875rem); }
  .grid-margin-x.medium-up-3 > .cell {
    width: calc(33.33333% - 1.875rem); }
  .grid-margin-x.medium-up-4 > .cell {
    width: calc(25% - 1.875rem); }
  .grid-margin-x.medium-up-5 > .cell {
    width: calc(20% - 1.875rem); }
  .grid-margin-x.medium-up-6 > .cell {
    width: calc(16.66667% - 1.875rem); }
  .grid-margin-x.medium-up-7 > .cell {
    width: calc(14.28571% - 1.875rem); }
  .grid-margin-x.medium-up-8 > .cell {
    width: calc(12.5% - 1.875rem); } }

@media print, screen and (min-width: 64em) {
  .grid-margin-x.large-up-1 > .cell {
    width: calc(100% - 1.875rem); }
  .grid-margin-x.large-up-2 > .cell {
    width: calc(50% - 1.875rem); }
  .grid-margin-x.large-up-3 > .cell {
    width: calc(33.33333% - 1.875rem); }
  .grid-margin-x.large-up-4 > .cell {
    width: calc(25% - 1.875rem); }
  .grid-margin-x.large-up-5 > .cell {
    width: calc(20% - 1.875rem); }
  .grid-margin-x.large-up-6 > .cell {
    width: calc(16.66667% - 1.875rem); }
  .grid-margin-x.large-up-7 > .cell {
    width: calc(14.28571% - 1.875rem); }
  .grid-margin-x.large-up-8 > .cell {
    width: calc(12.5% - 1.875rem); } }

.small-margin-collapse {
  margin-right: 0;
  margin-left: 0; }
  .small-margin-collapse > .cell {
    margin-right: 0;
    margin-left: 0; }
  .small-margin-collapse > .small-1 {
    width: 8.33333%; }
  .small-margin-collapse > .small-2 {
    width: 16.66667%; }
  .small-margin-collapse > .small-3 {
    width: 25%; }
  .small-margin-collapse > .small-4 {
    width: 33.33333%; }
  .small-margin-collapse > .small-5 {
    width: 41.66667%; }
  .small-margin-collapse > .small-6 {
    width: 50%; }
  .small-margin-collapse > .small-7 {
    width: 58.33333%; }
  .small-margin-collapse > .small-8 {
    width: 66.66667%; }
  .small-margin-collapse > .small-9 {
    width: 75%; }
  .small-margin-collapse > .small-10 {
    width: 83.33333%; }
  .small-margin-collapse > .small-11 {
    width: 91.66667%; }
  .small-margin-collapse > .small-12 {
    width: 100%; }
  @media print, screen and (min-width: 40em) {
    .small-margin-collapse > .medium-1 {
      width: 8.33333%; }
    .small-margin-collapse > .medium-2 {
      width: 16.66667%; }
    .small-margin-collapse > .medium-3 {
      width: 25%; }
    .small-margin-collapse > .medium-4 {
      width: 33.33333%; }
    .small-margin-collapse > .medium-5 {
      width: 41.66667%; }
    .small-margin-collapse > .medium-6 {
      width: 50%; }
    .small-margin-collapse > .medium-7 {
      width: 58.33333%; }
    .small-margin-collapse > .medium-8 {
      width: 66.66667%; }
    .small-margin-collapse > .medium-9 {
      width: 75%; }
    .small-margin-collapse > .medium-10 {
      width: 83.33333%; }
    .small-margin-collapse > .medium-11 {
      width: 91.66667%; }
    .small-margin-collapse > .medium-12 {
      width: 100%; } }
  @media print, screen and (min-width: 64em) {
    .small-margin-collapse > .large-1 {
      width: 8.33333%; }
    .small-margin-collapse > .large-2 {
      width: 16.66667%; }
    .small-margin-collapse > .large-3 {
      width: 25%; }
    .small-margin-collapse > .large-4 {
      width: 33.33333%; }
    .small-margin-collapse > .large-5 {
      width: 41.66667%; }
    .small-margin-collapse > .large-6 {
      width: 50%; }
    .small-margin-collapse > .large-7 {
      width: 58.33333%; }
    .small-margin-collapse > .large-8 {
      width: 66.66667%; }
    .small-margin-collapse > .large-9 {
      width: 75%; }
    .small-margin-collapse > .large-10 {
      width: 83.33333%; }
    .small-margin-collapse > .large-11 {
      width: 91.66667%; }
    .small-margin-collapse > .large-12 {
      width: 100%; } }

.small-padding-collapse {
  margin-right: 0;
  margin-left: 0; }
  .small-padding-collapse > .cell {
    padding-right: 0;
    padding-left: 0; }

@media print, screen and (min-width: 40em) {
  .medium-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .medium-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

@media print, screen and (min-width: 40em) {
  .medium-margin-collapse > .small-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .small-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .small-3 {
    width: 25%; }
  .medium-margin-collapse > .small-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .small-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .small-6 {
    width: 50%; }
  .medium-margin-collapse > .small-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .small-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .small-9 {
    width: 75%; }
  .medium-margin-collapse > .small-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .small-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .small-12 {
    width: 100%; } }

@media print, screen and (min-width: 40em) {
  .medium-margin-collapse > .medium-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .medium-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .medium-3 {
    width: 25%; }
  .medium-margin-collapse > .medium-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .medium-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .medium-6 {
    width: 50%; }
  .medium-margin-collapse > .medium-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .medium-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .medium-9 {
    width: 75%; }
  .medium-margin-collapse > .medium-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .medium-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .medium-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .medium-margin-collapse > .large-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .large-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .large-3 {
    width: 25%; }
  .medium-margin-collapse > .large-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .large-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .large-6 {
    width: 50%; }
  .medium-margin-collapse > .large-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .large-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .large-9 {
    width: 75%; }
  .medium-margin-collapse > .large-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .large-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .large-12 {
    width: 100%; } }

@media print, screen and (min-width: 40em) {
  .medium-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .medium-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

@media print, screen and (min-width: 64em) {
  .large-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .large-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .small-1 {
    width: 8.33333%; }
  .large-margin-collapse > .small-2 {
    width: 16.66667%; }
  .large-margin-collapse > .small-3 {
    width: 25%; }
  .large-margin-collapse > .small-4 {
    width: 33.33333%; }
  .large-margin-collapse > .small-5 {
    width: 41.66667%; }
  .large-margin-collapse > .small-6 {
    width: 50%; }
  .large-margin-collapse > .small-7 {
    width: 58.33333%; }
  .large-margin-collapse > .small-8 {
    width: 66.66667%; }
  .large-margin-collapse > .small-9 {
    width: 75%; }
  .large-margin-collapse > .small-10 {
    width: 83.33333%; }
  .large-margin-collapse > .small-11 {
    width: 91.66667%; }
  .large-margin-collapse > .small-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .medium-1 {
    width: 8.33333%; }
  .large-margin-collapse > .medium-2 {
    width: 16.66667%; }
  .large-margin-collapse > .medium-3 {
    width: 25%; }
  .large-margin-collapse > .medium-4 {
    width: 33.33333%; }
  .large-margin-collapse > .medium-5 {
    width: 41.66667%; }
  .large-margin-collapse > .medium-6 {
    width: 50%; }
  .large-margin-collapse > .medium-7 {
    width: 58.33333%; }
  .large-margin-collapse > .medium-8 {
    width: 66.66667%; }
  .large-margin-collapse > .medium-9 {
    width: 75%; }
  .large-margin-collapse > .medium-10 {
    width: 83.33333%; }
  .large-margin-collapse > .medium-11 {
    width: 91.66667%; }
  .large-margin-collapse > .medium-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .large-1 {
    width: 8.33333%; }
  .large-margin-collapse > .large-2 {
    width: 16.66667%; }
  .large-margin-collapse > .large-3 {
    width: 25%; }
  .large-margin-collapse > .large-4 {
    width: 33.33333%; }
  .large-margin-collapse > .large-5 {
    width: 41.66667%; }
  .large-margin-collapse > .large-6 {
    width: 50%; }
  .large-margin-collapse > .large-7 {
    width: 58.33333%; }
  .large-margin-collapse > .large-8 {
    width: 66.66667%; }
  .large-margin-collapse > .large-9 {
    width: 75%; }
  .large-margin-collapse > .large-10 {
    width: 83.33333%; }
  .large-margin-collapse > .large-11 {
    width: 91.66667%; }
  .large-margin-collapse > .large-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .large-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .large-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

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

.grid-margin-x > .small-offset-0 {
  margin-left: calc(0% + 0.625rem); }

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

.grid-margin-x > .small-offset-1 {
  margin-left: calc(8.33333% + 0.625rem); }

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

.grid-margin-x > .small-offset-2 {
  margin-left: calc(16.66667% + 0.625rem); }

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

.grid-margin-x > .small-offset-3 {
  margin-left: calc(25% + 0.625rem); }

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

.grid-margin-x > .small-offset-4 {
  margin-left: calc(33.33333% + 0.625rem); }

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

.grid-margin-x > .small-offset-5 {
  margin-left: calc(41.66667% + 0.625rem); }

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

.grid-margin-x > .small-offset-6 {
  margin-left: calc(50% + 0.625rem); }

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

.grid-margin-x > .small-offset-7 {
  margin-left: calc(58.33333% + 0.625rem); }

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

.grid-margin-x > .small-offset-8 {
  margin-left: calc(66.66667% + 0.625rem); }

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

.grid-margin-x > .small-offset-9 {
  margin-left: calc(75% + 0.625rem); }

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

.grid-margin-x > .small-offset-10 {
  margin-left: calc(83.33333% + 0.625rem); }

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

.grid-margin-x > .small-offset-11 {
  margin-left: calc(91.66667% + 0.625rem); }

@media print, screen and (min-width: 40em) {
  .medium-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .medium-offset-0 {
    margin-left: calc(0% + 0.9375rem); }
  .medium-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .medium-offset-1 {
    margin-left: calc(8.33333% + 0.9375rem); }
  .medium-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .medium-offset-2 {
    margin-left: calc(16.66667% + 0.9375rem); }
  .medium-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .medium-offset-3 {
    margin-left: calc(25% + 0.9375rem); }
  .medium-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .medium-offset-4 {
    margin-left: calc(33.33333% + 0.9375rem); }
  .medium-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .medium-offset-5 {
    margin-left: calc(41.66667% + 0.9375rem); }
  .medium-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .medium-offset-6 {
    margin-left: calc(50% + 0.9375rem); }
  .medium-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .medium-offset-7 {
    margin-left: calc(58.33333% + 0.9375rem); }
  .medium-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .medium-offset-8 {
    margin-left: calc(66.66667% + 0.9375rem); }
  .medium-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .medium-offset-9 {
    margin-left: calc(75% + 0.9375rem); }
  .medium-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .medium-offset-10 {
    margin-left: calc(83.33333% + 0.9375rem); }
  .medium-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .medium-offset-11 {
    margin-left: calc(91.66667% + 0.9375rem); } }

@media print, screen and (min-width: 64em) {
  .large-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .large-offset-0 {
    margin-left: calc(0% + 0.9375rem); }
  .large-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .large-offset-1 {
    margin-left: calc(8.33333% + 0.9375rem); }
  .large-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .large-offset-2 {
    margin-left: calc(16.66667% + 0.9375rem); }
  .large-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .large-offset-3 {
    margin-left: calc(25% + 0.9375rem); }
  .large-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .large-offset-4 {
    margin-left: calc(33.33333% + 0.9375rem); }
  .large-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .large-offset-5 {
    margin-left: calc(41.66667% + 0.9375rem); }
  .large-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .large-offset-6 {
    margin-left: calc(50% + 0.9375rem); }
  .large-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .large-offset-7 {
    margin-left: calc(58.33333% + 0.9375rem); }
  .large-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .large-offset-8 {
    margin-left: calc(66.66667% + 0.9375rem); }
  .large-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .large-offset-9 {
    margin-left: calc(75% + 0.9375rem); }
  .large-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .large-offset-10 {
    margin-left: calc(83.33333% + 0.9375rem); }
  .large-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .large-offset-11 {
    margin-left: calc(91.66667% + 0.9375rem); } }

.grid-y {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: column nowrap;
      flex-flow: column nowrap; }
  .grid-y > .cell {
    width: auto;
    max-width: none; }
  .grid-y > .auto {
    height: auto; }
  .grid-y > .shrink {
    height: auto; }
  .grid-y > .small-shrink, .grid-y > .small-full, .grid-y > .small-1, .grid-y > .small-2, .grid-y > .small-3, .grid-y > .small-4, .grid-y > .small-5, .grid-y > .small-6, .grid-y > .small-7, .grid-y > .small-8, .grid-y > .small-9, .grid-y > .small-10, .grid-y > .small-11, .grid-y > .small-12 {
    -ms-flex-preferred-size: auto;
        flex-basis: auto; }
  @media print, screen and (min-width: 40em) {
    .grid-y > .medium-shrink, .grid-y > .medium-full, .grid-y > .medium-1, .grid-y > .medium-2, .grid-y > .medium-3, .grid-y > .medium-4, .grid-y > .medium-5, .grid-y > .medium-6, .grid-y > .medium-7, .grid-y > .medium-8, .grid-y > .medium-9, .grid-y > .medium-10, .grid-y > .medium-11, .grid-y > .medium-12 {
      -ms-flex-preferred-size: auto;
          flex-basis: auto; } }
  @media print, screen and (min-width: 64em) {
    .grid-y > .large-shrink, .grid-y > .large-full, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 {
      -ms-flex-preferred-size: auto;
          flex-basis: auto; } }
  .grid-y > .small-1, .grid-y > .small-2, .grid-y > .small-3, .grid-y > .small-4, .grid-y > .small-5, .grid-y > .small-6, .grid-y > .small-7, .grid-y > .small-8, .grid-y > .small-9, .grid-y > .small-10, .grid-y > .small-11, .grid-y > .small-12 {
    -ms-flex: 0 0 auto;
        flex: 0 0 auto; }
  .grid-y > .small-1 {
    height: 8.33333%; }
  .grid-y > .small-2 {
    height: 16.66667%; }
  .grid-y > .small-3 {
    height: 25%; }
  .grid-y > .small-4 {
    height: 33.33333%; }
  .grid-y > .small-5 {
    height: 41.66667%; }
  .grid-y > .small-6 {
    height: 50%; }
  .grid-y > .small-7 {
    height: 58.33333%; }
  .grid-y > .small-8 {
    height: 66.66667%; }
  .grid-y > .small-9 {
    height: 75%; }
  .grid-y > .small-10 {
    height: 83.33333%; }
  .grid-y > .small-11 {
    height: 91.66667%; }
  .grid-y > .small-12 {
    height: 100%; }
  @media print, screen and (min-width: 40em) {
    .grid-y > .medium-auto {
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
      height: auto; }
    .grid-y > .medium-shrink, .grid-y > .medium-1, .grid-y > .medium-2, .grid-y > .medium-3, .grid-y > .medium-4, .grid-y > .medium-5, .grid-y > .medium-6, .grid-y > .medium-7, .grid-y > .medium-8, .grid-y > .medium-9, .grid-y > .medium-10, .grid-y > .medium-11, .grid-y > .medium-12 {
      -ms-flex: 0 0 auto;
          flex: 0 0 auto; }
    .grid-y > .medium-shrink {
      height: auto; }
    .grid-y > .medium-1 {
      height: 8.33333%; }
    .grid-y > .medium-2 {
      height: 16.66667%; }
    .grid-y > .medium-3 {
      height: 25%; }
    .grid-y > .medium-4 {
      height: 33.33333%; }
    .grid-y > .medium-5 {
      height: 41.66667%; }
    .grid-y > .medium-6 {
      height: 50%; }
    .grid-y > .medium-7 {
      height: 58.33333%; }
    .grid-y > .medium-8 {
      height: 66.66667%; }
    .grid-y > .medium-9 {
      height: 75%; }
    .grid-y > .medium-10 {
      height: 83.33333%; }
    .grid-y > .medium-11 {
      height: 91.66667%; }
    .grid-y > .medium-12 {
      height: 100%; } }
  @media print, screen and (min-width: 64em) {
    .grid-y > .large-auto {
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
      height: auto; }
    .grid-y > .large-shrink, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 {
      -ms-flex: 0 0 auto;
          flex: 0 0 auto; }
    .grid-y > .large-shrink {
      height: auto; }
    .grid-y > .large-1 {
      height: 8.33333%; }
    .grid-y > .large-2 {
      height: 16.66667%; }
    .grid-y > .large-3 {
      height: 25%; }
    .grid-y > .large-4 {
      height: 33.33333%; }
    .grid-y > .large-5 {
      height: 41.66667%; }
    .grid-y > .large-6 {
      height: 50%; }
    .grid-y > .large-7 {
      height: 58.33333%; }
    .grid-y > .large-8 {
      height: 66.66667%; }
    .grid-y > .large-9 {
      height: 75%; }
    .grid-y > .large-10 {
      height: 83.33333%; }
    .grid-y > .large-11 {
      height: 91.66667%; }
    .grid-y > .large-12 {
      height: 100%; } }

.grid-padding-y .grid-padding-y {
  margin-top: -0.625rem;
  margin-bottom: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-y .grid-padding-y {
      margin-top: -0.9375rem;
      margin-bottom: -0.9375rem; } }

.grid-padding-y > .cell {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-y > .cell {
      padding-top: 0.9375rem;
      padding-bottom: 0.9375rem; } }

.grid-margin-y {
  margin-top: -0.625rem;
  margin-bottom: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y {
      margin-top: -0.9375rem;
      margin-bottom: -0.9375rem; } }
  .grid-margin-y > .cell {
    height: calc(100% - 1.25rem);
    margin-top: 0.625rem;
    margin-bottom: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .cell {
      height: calc(100% - 1.875rem);
      margin-top: 0.9375rem;
      margin-bottom: 0.9375rem; } }
  .grid-margin-y > .auto {
    height: auto; }
  .grid-margin-y > .shrink {
    height: auto; }
  .grid-margin-y > .small-1 {
    height: calc(8.33333% - 1.25rem); }
  .grid-margin-y > .small-2 {
    height: calc(16.66667% - 1.25rem); }
  .grid-margin-y > .small-3 {
    height: calc(25% - 1.25rem); }
  .grid-margin-y > .small-4 {
    height: calc(33.33333% - 1.25rem); }
  .grid-margin-y > .small-5 {
    height: calc(41.66667% - 1.25rem); }
  .grid-margin-y > .small-6 {
    height: calc(50% - 1.25rem); }
  .grid-margin-y > .small-7 {
    height: calc(58.33333% - 1.25rem); }
  .grid-margin-y > .small-8 {
    height: calc(66.66667% - 1.25rem); }
  .grid-margin-y > .small-9 {
    height: calc(75% - 1.25rem); }
  .grid-margin-y > .small-10 {
    height: calc(83.33333% - 1.25rem); }
  .grid-margin-y > .small-11 {
    height: calc(91.66667% - 1.25rem); }
  .grid-margin-y > .small-12 {
    height: calc(100% - 1.25rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .auto {
      height: auto; }
    .grid-margin-y > .shrink {
      height: auto; }
    .grid-margin-y > .small-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .small-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .small-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .small-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .small-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .small-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .small-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .small-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .small-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .small-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .small-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .small-12 {
      height: calc(100% - 1.875rem); }
    .grid-margin-y > .phone-small-auto {
      height: auto; }
    .grid-margin-y > .phone-small-shrink {
      height: auto; }
    .grid-margin-y > .phone-small-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .phone-small-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .phone-small-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .phone-small-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .phone-small-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .phone-small-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .phone-small-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .phone-small-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .phone-small-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .phone-small-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .phone-small-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .phone-small-12 {
      height: calc(100% - 1.875rem); }
    .grid-margin-y > .phone-medium-auto {
      height: auto; }
    .grid-margin-y > .phone-medium-shrink {
      height: auto; }
    .grid-margin-y > .phone-medium-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .phone-medium-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .phone-medium-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .phone-medium-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .phone-medium-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .phone-medium-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .phone-medium-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .phone-medium-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .phone-medium-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .phone-medium-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .phone-medium-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .phone-medium-12 {
      height: calc(100% - 1.875rem); }
    .grid-margin-y > .phone-horiz-tiny-auto {
      height: auto; }
    .grid-margin-y > .phone-horiz-tiny-shrink {
      height: auto; }
    .grid-margin-y > .phone-horiz-tiny-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .phone-horiz-tiny-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .phone-horiz-tiny-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .phone-horiz-tiny-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .phone-horiz-tiny-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .phone-horiz-tiny-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .phone-horiz-tiny-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .phone-horiz-tiny-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .phone-horiz-tiny-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .phone-horiz-tiny-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .phone-horiz-tiny-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .phone-horiz-tiny-12 {
      height: calc(100% - 1.875rem); }
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .medium-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .medium-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .medium-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .medium-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .medium-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .medium-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .medium-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .medium-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .medium-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .medium-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .medium-12 {
      height: calc(100% - 1.875rem); } }
  @media print, screen and (min-width: 64em) {
    .grid-margin-y > .large-auto {
      height: auto; }
    .grid-margin-y > .large-shrink {
      height: auto; }
    .grid-margin-y > .large-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .large-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .large-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .large-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .large-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .large-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .large-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .large-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .large-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .large-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .large-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .large-12 {
      height: calc(100% - 1.875rem); } }

.grid-frame {
  overflow: hidden;
  position: relative;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -ms-flex-align: stretch;
      align-items: stretch;
  width: 100vw; }

.cell .grid-frame {
  width: 100%; }

.cell-block {
  overflow-x: auto;
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar; }

.cell-block-y {
  overflow-y: auto;
  max-height: 100%;
  min-height: 100%;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar; }

.cell-block-container {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  max-height: 100%; }
  .cell-block-container > .grid-x {
    max-height: 100%;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap; }

@media print, screen and (min-width: 40em) {
  .medium-grid-frame {
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -ms-flex-align: stretch;
        align-items: stretch;
    width: 100vw; }
  .cell .medium-grid-frame {
    width: 100%; }
  .medium-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar; }
  .medium-cell-block-container {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    max-height: 100%; }
    .medium-cell-block-container > .grid-x {
      max-height: 100%;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
  .medium-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    min-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar; } }

@media print, screen and (min-width: 64em) {
  .large-grid-frame {
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -ms-flex-align: stretch;
        align-items: stretch;
    width: 100vw; }
  .cell .large-grid-frame {
    width: 100%; }
  .large-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar; }
  .large-cell-block-container {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    max-height: 100%; }
    .large-cell-block-container > .grid-x {
      max-height: 100%;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
  .large-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    min-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar; } }

.grid-y.grid-frame {
  width: auto;
  overflow: hidden;
  position: relative;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -ms-flex-align: stretch;
      align-items: stretch;
  height: 100vh; }

@media print, screen and (min-width: 40em) {
  .grid-y.medium-grid-frame {
    width: auto;
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -ms-flex-align: stretch;
        align-items: stretch;
    height: 100vh; } }

@media print, screen and (min-width: 64em) {
  .grid-y.large-grid-frame {
    width: auto;
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -ms-flex-align: stretch;
        align-items: stretch;
    height: 100vh; } }

.cell .grid-y.grid-frame {
  height: 100%; }

@media print, screen and (min-width: 40em) {
  .cell .grid-y.medium-grid-frame {
    height: 100%; } }

@media print, screen and (min-width: 64em) {
  .cell .grid-y.large-grid-frame {
    height: 100%; } }

.grid-margin-y {
  margin-top: -0.625rem;
  margin-bottom: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y {
      margin-top: -0.9375rem;
      margin-bottom: -0.9375rem; } }
  .grid-margin-y > .cell {
    height: calc(100% - 1.25rem);
    margin-top: 0.625rem;
    margin-bottom: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .cell {
      height: calc(100% - 1.875rem);
      margin-top: 0.9375rem;
      margin-bottom: 0.9375rem; } }
  .grid-margin-y > .auto {
    height: auto; }
  .grid-margin-y > .shrink {
    height: auto; }
  .grid-margin-y > .small-1 {
    height: calc(8.33333% - 1.25rem); }
  .grid-margin-y > .small-2 {
    height: calc(16.66667% - 1.25rem); }
  .grid-margin-y > .small-3 {
    height: calc(25% - 1.25rem); }
  .grid-margin-y > .small-4 {
    height: calc(33.33333% - 1.25rem); }
  .grid-margin-y > .small-5 {
    height: calc(41.66667% - 1.25rem); }
  .grid-margin-y > .small-6 {
    height: calc(50% - 1.25rem); }
  .grid-margin-y > .small-7 {
    height: calc(58.33333% - 1.25rem); }
  .grid-margin-y > .small-8 {
    height: calc(66.66667% - 1.25rem); }
  .grid-margin-y > .small-9 {
    height: calc(75% - 1.25rem); }
  .grid-margin-y > .small-10 {
    height: calc(83.33333% - 1.25rem); }
  .grid-margin-y > .small-11 {
    height: calc(91.66667% - 1.25rem); }
  .grid-margin-y > .small-12 {
    height: calc(100% - 1.25rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .auto {
      height: auto; }
    .grid-margin-y > .shrink {
      height: auto; }
    .grid-margin-y > .small-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .small-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .small-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .small-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .small-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .small-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .small-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .small-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .small-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .small-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .small-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .small-12 {
      height: calc(100% - 1.875rem); }
    .grid-margin-y > .phone-small-auto {
      height: auto; }
    .grid-margin-y > .phone-small-shrink {
      height: auto; }
    .grid-margin-y > .phone-small-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .phone-small-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .phone-small-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .phone-small-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .phone-small-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .phone-small-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .phone-small-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .phone-small-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .phone-small-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .phone-small-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .phone-small-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .phone-small-12 {
      height: calc(100% - 1.875rem); }
    .grid-margin-y > .phone-medium-auto {
      height: auto; }
    .grid-margin-y > .phone-medium-shrink {
      height: auto; }
    .grid-margin-y > .phone-medium-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .phone-medium-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .phone-medium-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .phone-medium-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .phone-medium-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .phone-medium-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .phone-medium-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .phone-medium-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .phone-medium-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .phone-medium-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .phone-medium-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .phone-medium-12 {
      height: calc(100% - 1.875rem); }
    .grid-margin-y > .phone-horiz-tiny-auto {
      height: auto; }
    .grid-margin-y > .phone-horiz-tiny-shrink {
      height: auto; }
    .grid-margin-y > .phone-horiz-tiny-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .phone-horiz-tiny-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .phone-horiz-tiny-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .phone-horiz-tiny-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .phone-horiz-tiny-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .phone-horiz-tiny-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .phone-horiz-tiny-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .phone-horiz-tiny-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .phone-horiz-tiny-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .phone-horiz-tiny-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .phone-horiz-tiny-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .phone-horiz-tiny-12 {
      height: calc(100% - 1.875rem); }
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .medium-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .medium-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .medium-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .medium-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .medium-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .medium-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .medium-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .medium-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .medium-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .medium-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .medium-12 {
      height: calc(100% - 1.875rem); } }
  @media print, screen and (min-width: 64em) {
    .grid-margin-y > .large-auto {
      height: auto; }
    .grid-margin-y > .large-shrink {
      height: auto; }
    .grid-margin-y > .large-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .large-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .large-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .large-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .large-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .large-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .large-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .large-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .large-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .large-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .large-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .large-12 {
      height: calc(100% - 1.875rem); } }

.grid-frame.grid-margin-y {
  height: calc(100vh + 1.25rem); }
  @media print, screen and (min-width: 40em) {
    .grid-frame.grid-margin-y {
      height: calc(100vh + 1.875rem); } }
  @media print, screen and (min-width: 64em) {
    .grid-frame.grid-margin-y {
      height: calc(100vh + 1.875rem); } }

@media print, screen and (min-width: 40em) {
  .grid-margin-y.medium-grid-frame {
    height: calc(100vh + 1.875rem); } }

@media print, screen and (min-width: 64em) {
  .grid-margin-y.large-grid-frame {
    height: calc(100vh + 1.875rem); } }

div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0; }

p {
  margin-bottom: 1rem;
  font-size: inherit;
  line-height: 1.6;
  text-rendering: optimizeLegibility; }

em,
i {
  font-style: italic;
  line-height: inherit; }

strong,
b {
  font-weight: bold;
  line-height: inherit; }

small {
  font-size: 80%;
  line-height: inherit; }

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
  font-family: "Gotham SSm A", "Gotham SSm B";
  font-style: normal;
  font-weight: bold;
  color: inherit;
  text-rendering: optimizeLegibility; }
  h1 small, .h1 small,
  h2 small, .h2 small,
  h3 small, .h3 small,
  h4 small, .h4 small,
  h5 small, .h5 small,
  h6 small, .h6 small {
    line-height: 0;
    color: #787878; }

h1, .h1 {
  font-size: 1.5rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h2, .h2 {
  font-size: 1.25rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h3, .h3 {
  font-size: 1.1875rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h4, .h4 {
  font-size: 1.125rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h5, .h5 {
  font-size: 1.0625rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h6, .h6 {
  font-size: 1rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

@media print, screen and (min-width: 40em) {
  h1, .h1 {
    font-size: 3rem; }
  h2, .h2 {
    font-size: 2.5rem; }
  h3, .h3 {
    font-size: 1.9375rem; }
  h4, .h4 {
    font-size: 1.5625rem; }
  h5, .h5 {
    font-size: 1.25rem; }
  h6, .h6 {
    font-size: 1rem; } }

a {
  line-height: inherit;
  color: #1779ba;
  text-decoration: none;
  cursor: pointer; }
  a:hover, a:focus {
    color: #1468a0; }
  a img {
    border: 0; }

hr {
  clear: both;
  max-width: 76.25rem;
  height: 0;
  margin: 1.25rem auto;
  border-top: 0;
  border-right: 0;
  border-bottom: 1px solid #787878;
  border-left: 0; }

ul,
ol,
dl {
  margin-bottom: 1rem;
  list-style-position: outside;
  line-height: 1.6; }

li {
  font-size: inherit; }

ul {
  margin-left: 1.25rem;
  list-style-type: disc; }

ol {
  margin-left: 1.25rem; }

ul ul, ol ul, ul ol, ol ol {
  margin-left: 1.25rem;
  margin-bottom: 0; }

dl {
  margin-bottom: 1rem; }
  dl dt {
    margin-bottom: 0.3rem;
    font-weight: bold; }

blockquote {
  margin: 0 0 1rem;
  padding: 0.5625rem 1.25rem 0 1.1875rem;
  border-left: 1px solid #787878; }
  blockquote, blockquote p {
    line-height: 1.6;
    color: #787878; }

cite {
  display: block;
  font-size: 0.8125rem;
  color: #787878; }
  cite:before {
    content: "— "; }

abbr, abbr[title] {
  border-bottom: 1px dotted #0a0a0a;
  cursor: help;
  text-decoration: none; }

figure {
  margin: 0; }

code {
  padding: 0.125rem 0.3125rem 0.0625rem;
  border: 1px solid #787878;
  background-color: #f0f0f0;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: normal;
  color: #0a0a0a; }

kbd {
  margin: 0;
  padding: 0.125rem 0.25rem 0;
  background-color: #f0f0f0;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  color: #0a0a0a; }

.subheader {
  margin-top: 0.2rem;
  margin-bottom: 0.5rem;
  font-weight: normal;
  line-height: 1.4;
  color: #787878; }

.lead {
  font-size: 20px;
  line-height: 1.6; }

.stat {
  font-size: 2.5rem;
  line-height: 1; }
  p + .stat {
    margin-top: -1rem; }

ul.no-bullet, ol.no-bullet {
  margin-left: 0;
  list-style: none; }

.text-left {
  text-align: left; }

.text-right {
  text-align: right; }

.text-center {
  text-align: center; }

.text-justify {
  text-align: justify; }

@media print, screen and (min-width: 40em) {
  .medium-text-left {
    text-align: left; }
  .medium-text-right {
    text-align: right; }
  .medium-text-center {
    text-align: center; }
  .medium-text-justify {
    text-align: justify; } }

@media print, screen and (min-width: 64em) {
  .large-text-left {
    text-align: left; }
  .large-text-right {
    text-align: right; }
  .large-text-center {
    text-align: center; }
  .large-text-justify {
    text-align: justify; } }

.show-for-print {
  display: none !important; }

@media print {
  * {
    background: transparent !important;
    box-shadow: none !important;
    color: black !important;
    text-shadow: none !important; }
  .show-for-print {
    display: block !important; }
  .hide-for-print {
    display: none !important; }
  table.show-for-print {
    display: table !important; }
  thead.show-for-print {
    display: table-header-group !important; }
  tbody.show-for-print {
    display: table-row-group !important; }
  tr.show-for-print {
    display: table-row !important; }
  td.show-for-print {
    display: table-cell !important; }
  th.show-for-print {
    display: table-cell !important; }
  a,
  a:visited {
    text-decoration: underline; }
  a[href]:after {
    content: " (" attr(href) ")"; }
  .ir a:after,
  a[href^='javascript:']:after,
  a[href^='#']:after {
    content: ''; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  pre,
  blockquote {
    border: 1px solid #787878;
    page-break-inside: avoid; }
  thead {
    display: table-header-group; }
  tr,
  img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  @page {
    margin: 0.5cm; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; }
  .print-break-inside {
    page-break-inside: auto; } }

.button {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  padding: 0.85em 1em;
  border: 1px solid transparent;
  border-radius: 0;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-family: inherit;
  font-size: 0.9rem;
  -webkit-appearance: none;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #1779ba;
  color: #fefefe; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button:hover, .button:focus {
    background-color: #14679e;
    color: #fefefe; }
  .button.tiny {
    font-size: 0.6rem; }
  .button.small {
    font-size: 0.75rem; }
  .button.large {
    font-size: 1.25rem; }
  .button.expanded {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0; }
  .button.primary {
    background-color: #1779ba;
    color: #fefefe; }
    .button.primary:hover, .button.primary:focus {
      background-color: #126195;
      color: #fefefe; }
  .button.secondary {
    background-color: #767676;
    color: #fefefe; }
    .button.secondary:hover, .button.secondary:focus {
      background-color: #5e5e5e;
      color: #fefefe; }
  .button.success {
    background-color: #3adb76;
    color: #0a0a0a; }
    .button.success:hover, .button.success:focus {
      background-color: #22bb5b;
      color: #0a0a0a; }
  .button.warning {
    background-color: #ffae00;
    color: #0a0a0a; }
    .button.warning:hover, .button.warning:focus {
      background-color: #cc8b00;
      color: #0a0a0a; }
  .button.alert {
    background-color: #cc4b37;
    color: #fefefe; }
    .button.alert:hover, .button.alert:focus {
      background-color: #a53b2a;
      color: #fefefe; }
  .button.disabled, .button[disabled] {
    opacity: 0.25;
    cursor: not-allowed; }
    .button.disabled, .button.disabled:hover, .button.disabled:focus, .button[disabled], .button[disabled]:hover, .button[disabled]:focus {
      background-color: #1779ba;
      color: #fefefe; }
    .button.disabled.primary, .button[disabled].primary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.primary, .button.disabled.primary:hover, .button.disabled.primary:focus, .button[disabled].primary, .button[disabled].primary:hover, .button[disabled].primary:focus {
        background-color: #1779ba;
        color: #fefefe; }
    .button.disabled.secondary, .button[disabled].secondary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.secondary, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
        background-color: #767676;
        color: #fefefe; }
    .button.disabled.success, .button[disabled].success {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.success, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success, .button[disabled].success:hover, .button[disabled].success:focus {
        background-color: #3adb76;
        color: #0a0a0a; }
    .button.disabled.warning, .button[disabled].warning {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.warning, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning, .button[disabled].warning:hover, .button[disabled].warning:focus {
        background-color: #ffae00;
        color: #0a0a0a; }
    .button.disabled.alert, .button[disabled].alert {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.alert, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert, .button[disabled].alert:hover, .button[disabled].alert:focus {
        background-color: #cc4b37;
        color: #fefefe; }
  .button.hollow {
    border: 1px solid #1779ba;
    color: #1779ba; }
    .button.hollow, .button.hollow:hover, .button.hollow:focus {
      background-color: transparent; }
    .button.hollow.disabled, .button.hollow.disabled:hover, .button.hollow.disabled:focus, .button.hollow[disabled], .button.hollow[disabled]:hover, .button.hollow[disabled]:focus {
      background-color: transparent; }
    .button.hollow:hover, .button.hollow:focus {
      border-color: #0c3d5d;
      color: #0c3d5d; }
      .button.hollow:hover.disabled, .button.hollow:hover[disabled], .button.hollow:focus.disabled, .button.hollow:focus[disabled] {
        border: 1px solid #1779ba;
        color: #1779ba; }
    .button.hollow.primary {
      border: 1px solid #1779ba;
      color: #1779ba; }
      .button.hollow.primary:hover, .button.hollow.primary:focus {
        border-color: #0c3d5d;
        color: #0c3d5d; }
        .button.hollow.primary:hover.disabled, .button.hollow.primary:hover[disabled], .button.hollow.primary:focus.disabled, .button.hollow.primary:focus[disabled] {
          border: 1px solid #1779ba;
          color: #1779ba; }
    .button.hollow.secondary {
      border: 1px solid #767676;
      color: #767676; }
      .button.hollow.secondary:hover, .button.hollow.secondary:focus {
        border-color: #3b3b3b;
        color: #3b3b3b; }
        .button.hollow.secondary:hover.disabled, .button.hollow.secondary:hover[disabled], .button.hollow.secondary:focus.disabled, .button.hollow.secondary:focus[disabled] {
          border: 1px solid #767676;
          color: #767676; }
    .button.hollow.success {
      border: 1px solid #3adb76;
      color: #3adb76; }
      .button.hollow.success:hover, .button.hollow.success:focus {
        border-color: #157539;
        color: #157539; }
        .button.hollow.success:hover.disabled, .button.hollow.success:hover[disabled], .button.hollow.success:focus.disabled, .button.hollow.success:focus[disabled] {
          border: 1px solid #3adb76;
          color: #3adb76; }
    .button.hollow.warning {
      border: 1px solid #ffae00;
      color: #ffae00; }
      .button.hollow.warning:hover, .button.hollow.warning:focus {
        border-color: #805700;
        color: #805700; }
        .button.hollow.warning:hover.disabled, .button.hollow.warning:hover[disabled], .button.hollow.warning:focus.disabled, .button.hollow.warning:focus[disabled] {
          border: 1px solid #ffae00;
          color: #ffae00; }
    .button.hollow.alert {
      border: 1px solid #cc4b37;
      color: #cc4b37; }
      .button.hollow.alert:hover, .button.hollow.alert:focus {
        border-color: #67251a;
        color: #67251a; }
        .button.hollow.alert:hover.disabled, .button.hollow.alert:hover[disabled], .button.hollow.alert:focus.disabled, .button.hollow.alert:focus[disabled] {
          border: 1px solid #cc4b37;
          color: #cc4b37; }
  .button.clear {
    border: 1px solid #1779ba;
    color: #1779ba; }
    .button.clear, .button.clear:hover, .button.clear:focus {
      background-color: transparent; }
    .button.clear.disabled, .button.clear.disabled:hover, .button.clear.disabled:focus, .button.clear[disabled], .button.clear[disabled]:hover, .button.clear[disabled]:focus {
      background-color: transparent; }
    .button.clear:hover, .button.clear:focus {
      border-color: #0c3d5d;
      color: #0c3d5d; }
      .button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus.disabled, .button.clear:focus[disabled] {
        border: 1px solid #1779ba;
        color: #1779ba; }
    .button.clear, .button.clear.disabled, .button.clear[disabled], .button.clear:hover, .button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus, .button.clear:focus.disabled, .button.clear:focus[disabled] {
      border-color: transparent; }
    .button.clear.primary {
      border: 1px solid #1779ba;
      color: #1779ba; }
      .button.clear.primary:hover, .button.clear.primary:focus {
        border-color: #0c3d5d;
        color: #0c3d5d; }
        .button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] {
          border: 1px solid #1779ba;
          color: #1779ba; }
      .button.clear.primary, .button.clear.primary.disabled, .button.clear.primary[disabled], .button.clear.primary:hover, .button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus, .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] {
        border-color: transparent; }
    .button.clear.secondary {
      border: 1px solid #767676;
      color: #767676; }
      .button.clear.secondary:hover, .button.clear.secondary:focus {
        border-color: #3b3b3b;
        color: #3b3b3b; }
        .button.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], .button.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled] {
          border: 1px solid #767676;
          color: #767676; }
      .button.clear.secondary, .button.clear.secondary.disabled, .button.clear.secondary[disabled], .button.clear.secondary:hover, .button.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], .button.clear.secondary:focus, .button.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled] {
        border-color: transparent; }
    .button.clear.success {
      border: 1px solid #3adb76;
      color: #3adb76; }
      .button.clear.success:hover, .button.clear.success:focus {
        border-color: #157539;
        color: #157539; }
        .button.clear.success:hover.disabled, .button.clear.success:hover[disabled], .button.clear.success:focus.disabled, .button.clear.success:focus[disabled] {
          border: 1px solid #3adb76;
          color: #3adb76; }
      .button.clear.success, .button.clear.success.disabled, .button.clear.success[disabled], .button.clear.success:hover, .button.clear.success:hover.disabled, .button.clear.success:hover[disabled], .button.clear.success:focus, .button.clear.success:focus.disabled, .button.clear.success:focus[disabled] {
        border-color: transparent; }
    .button.clear.warning {
      border: 1px solid #ffae00;
      color: #ffae00; }
      .button.clear.warning:hover, .button.clear.warning:focus {
        border-color: #805700;
        color: #805700; }
        .button.clear.warning:hover.disabled, .button.clear.warning:hover[disabled], .button.clear.warning:focus.disabled, .button.clear.warning:focus[disabled] {
          border: 1px solid #ffae00;
          color: #ffae00; }
      .button.clear.warning, .button.clear.warning.disabled, .button.clear.warning[disabled], .button.clear.warning:hover, .button.clear.warning:hover.disabled, .button.clear.warning:hover[disabled], .button.clear.warning:focus, .button.clear.warning:focus.disabled, .button.clear.warning:focus[disabled] {
        border-color: transparent; }
    .button.clear.alert {
      border: 1px solid #cc4b37;
      color: #cc4b37; }
      .button.clear.alert:hover, .button.clear.alert:focus {
        border-color: #67251a;
        color: #67251a; }
        .button.clear.alert:hover.disabled, .button.clear.alert:hover[disabled], .button.clear.alert:focus.disabled, .button.clear.alert:focus[disabled] {
          border: 1px solid #cc4b37;
          color: #cc4b37; }
      .button.clear.alert, .button.clear.alert.disabled, .button.clear.alert[disabled], .button.clear.alert:hover, .button.clear.alert:hover.disabled, .button.clear.alert:hover[disabled], .button.clear.alert:focus, .button.clear.alert:focus.disabled, .button.clear.alert:focus[disabled] {
        border-color: transparent; }
  .button.dropdown::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4em;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #fefefe transparent transparent;
    position: relative;
    top: 0.4em;
    display: inline-block;
    float: right;
    margin-left: 1em; }
  .button.dropdown.hollow::after, .button.dropdown.clear::after {
    border-top-color: #1779ba; }
  .button.dropdown.hollow.primary::after, .button.dropdown.clear.primary::after {
    border-top-color: #1779ba; }
  .button.dropdown.hollow.secondary::after, .button.dropdown.clear.secondary::after {
    border-top-color: #767676; }
  .button.dropdown.hollow.success::after, .button.dropdown.clear.success::after {
    border-top-color: #3adb76; }
  .button.dropdown.hollow.warning::after, .button.dropdown.clear.warning::after {
    border-top-color: #ffae00; }
  .button.dropdown.hollow.alert::after, .button.dropdown.clear.alert::after {
    border-top-color: #cc4b37; }
  .button.arrow-only::after {
    top: -0.1em;
    float: none;
    margin-left: 0; }

a.button:hover, a.button:focus {
  text-decoration: none; }

.accordion {
  margin-left: 0;
  background: #fefefe;
  list-style-type: none; }
  .accordion[disabled] .accordion-title {
    cursor: not-allowed; }

.accordion-item:first-child > :first-child {
  border-radius: 0 0 0 0; }

.accordion-item:last-child > :last-child {
  border-radius: 0 0 0 0; }

.accordion-title {
  position: relative;
  display: block;
  padding: 1.25rem 1rem;
  border: 1px solid #f0f0f0;
  border-bottom: 0;
  font-size: 0.75rem;
  line-height: 1;
  color: #1779ba; }
  :last-child:not(.is-active) > .accordion-title {
    border-bottom: 1px solid #f0f0f0;
    border-radius: 0 0 0 0; }
  .accordion-title:hover, .accordion-title:focus {
    background-color: #f0f0f0; }
  .accordion-title::before {
    position: absolute;
    top: 50%;
    right: 1rem;
    margin-top: -0.5rem;
    content: '+'; }
  .is-active > .accordion-title::before {
    content: '\2013'; }

.accordion-content {
  display: none;
  padding: 1rem;
  border: 1px solid #f0f0f0;
  border-bottom: 0;
  background-color: #fefefe;
  color: #0a0a0a; }
  :last-child > .accordion-content:last-child {
    border-bottom: 1px solid #f0f0f0; }

.accordion-menu li {
  width: 100%; }

.accordion-menu a {
  padding: 0.7rem 1rem; }

.accordion-menu .is-accordion-submenu a {
  padding: 0.7rem 1rem; }

.accordion-menu .nested.is-accordion-submenu {
  margin-right: 0;
  margin-left: 1rem; }

.accordion-menu.align-right .nested.is-accordion-submenu {
  margin-right: 1rem;
  margin-left: 0; }

.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a {
  position: relative; }
  .accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #fefefe transparent transparent;
    position: absolute;
    top: 50%;
    margin-top: -3px;
    right: 1rem; }

.accordion-menu.align-left .is-accordion-submenu-parent > a::after {
  right: 1rem;
  left: auto; }

.accordion-menu.align-right .is-accordion-submenu-parent > a::after {
  right: auto;
  left: 1rem; }

.accordion-menu .is-accordion-submenu-parent[aria-expanded='true'] > a::after {
  transform: rotate(180deg);
  transform-origin: 50% 50%; }

.is-accordion-submenu-parent {
  position: relative; }

.has-submenu-toggle > a {
  margin-right: 40px; }

.submenu-toggle {
  position: absolute;
  top: 0;
  right: 0;
  width: 40px;
  height: 40px;
  cursor: pointer; }
  .submenu-toggle::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #fefefe transparent transparent;
    top: 0;
    bottom: 0;
    margin: auto; }

.submenu-toggle[aria-expanded='true']::after {
  transform: scaleY(-1);
  transform-origin: 50% 50%; }

.submenu-toggle-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0; }

.badge {
  display: inline-block;
  min-width: 2.1em;
  padding: 0.3em;
  border-radius: 50%;
  font-size: 0.6rem;
  text-align: center;
  background: #1779ba;
  color: #fefefe; }
  .badge.primary {
    background: #1779ba;
    color: #fefefe; }
  .badge.secondary {
    background: #767676;
    color: #fefefe; }
  .badge.success {
    background: #3adb76;
    color: #0a0a0a; }
  .badge.warning {
    background: #ffae00;
    color: #0a0a0a; }
  .badge.alert {
    background: #cc4b37;
    color: #fefefe; }

.button-group {
  margin-bottom: 1rem;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -ms-flex-align: stretch;
      align-items: stretch; }
  .button-group::before, .button-group::after {
    display: table;
    content: ' ';
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -ms-flex-order: 1;
        order: 1; }
  .button-group::after {
    clear: both; }
  .button-group .button {
    margin: 0;
    margin-right: 1px;
    margin-bottom: 1px;
    font-size: 0.9rem;
    -ms-flex: 0 0 auto;
        flex: 0 0 auto; }
    .button-group .button:last-child {
      margin-right: 0; }
  .button-group.tiny .button {
    font-size: 0.6rem; }
  .button-group.small .button {
    font-size: 0.75rem; }
  .button-group.large .button {
    font-size: 1.25rem; }
  .button-group.expanded .button {
    -ms-flex: 1 1 0px;
        flex: 1 1 0px; }
  .button-group.primary .button {
    background-color: #1779ba;
    color: #fefefe; }
    .button-group.primary .button:hover, .button-group.primary .button:focus {
      background-color: #126195;
      color: #fefefe; }
  .button-group.secondary .button {
    background-color: #767676;
    color: #fefefe; }
    .button-group.secondary .button:hover, .button-group.secondary .button:focus {
      background-color: #5e5e5e;
      color: #fefefe; }
  .button-group.success .button {
    background-color: #3adb76;
    color: #0a0a0a; }
    .button-group.success .button:hover, .button-group.success .button:focus {
      background-color: #22bb5b;
      color: #0a0a0a; }
  .button-group.warning .button {
    background-color: #ffae00;
    color: #0a0a0a; }
    .button-group.warning .button:hover, .button-group.warning .button:focus {
      background-color: #cc8b00;
      color: #0a0a0a; }
  .button-group.alert .button {
    background-color: #cc4b37;
    color: #fefefe; }
    .button-group.alert .button:hover, .button-group.alert .button:focus {
      background-color: #a53b2a;
      color: #fefefe; }
  .button-group.stacked, .button-group.stacked-for-small, .button-group.stacked-for-medium {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {
      -ms-flex: 0 0 100%;
          flex: 0 0 100%; }
      .button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child {
        margin-bottom: 0; }
    .button-group.stacked.expanded .button, .button-group.stacked-for-small.expanded .button, .button-group.stacked-for-medium.expanded .button {
      -ms-flex: 1 1 0px;
          flex: 1 1 0px; }
  @media print, screen and (min-width: 40em) {
    .button-group.stacked-for-small .button {
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
      margin-bottom: 0; } }
  @media print, screen and (min-width: 64em) {
    .button-group.stacked-for-medium .button {
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
      margin-bottom: 0; } }
  @media screen and (max-width: 23.43625em) {
    .button-group.stacked-for-small.expanded {
      display: block; }
      .button-group.stacked-for-small.expanded .button {
        display: block;
        margin-right: 0; } }
  @media screen and (max-width: 47.99875em) {
    .button-group.stacked-for-medium.expanded {
      display: block; }
      .button-group.stacked-for-medium.expanded .button {
        display: block;
        margin-right: 0; } }

.callout {
  position: relative;
  margin: 0 0 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(10, 10, 10, 0.25);
  border-radius: 0;
  background-color: white;
  color: #0a0a0a; }
  .callout > :first-child {
    margin-top: 0; }
  .callout > :last-child {
    margin-bottom: 0; }
  .callout.primary {
    background-color: #d7ecfa;
    color: #0a0a0a; }
  .callout.secondary {
    background-color: #eaeaea;
    color: #0a0a0a; }
  .callout.success {
    background-color: #e1faea;
    color: #0a0a0a; }
  .callout.warning {
    background-color: #fff3d9;
    color: #0a0a0a; }
  .callout.alert {
    background-color: #f7e4e1;
    color: #0a0a0a; }
  .callout.small {
    padding-top: 0.5rem;
    padding-right: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 0.5rem; }
  .callout.large {
    padding-top: 3rem;
    padding-right: 3rem;
    padding-bottom: 3rem;
    padding-left: 3rem; }

.card {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-positive: 1;
      flex-grow: 1;
  margin-bottom: 1rem;
  border: 1px solid #f0f0f0;
  border-radius: 0;
  background: #fefefe;
  box-shadow: none;
  overflow: hidden;
  color: #0a0a0a; }
  .card > :last-child {
    margin-bottom: 0; }

.card-divider {
  display: -ms-flexbox;
  display: flex;
  -ms-flex: 0 1 auto;
      flex: 0 1 auto;
  padding: 1rem;
  background: #f0f0f0; }
  .card-divider > :last-child {
    margin-bottom: 0; }

.card-section {
  -ms-flex: 1 0 auto;
      flex: 1 0 auto;
  padding: 1rem; }
  .card-section > :last-child {
    margin-bottom: 0; }

.card-image {
  min-height: 1px; }

.close-button {
  position: absolute;
  color: #787878;
  cursor: pointer; }
  [data-whatinput='mouse'] .close-button {
    outline: 0; }
  .close-button:hover, .close-button:focus {
    color: #0a0a0a; }
  .close-button.small {
    right: 0.66rem;
    top: 0.33em;
    font-size: 1.5em;
    line-height: 1; }
  .close-button, .close-button.medium {
    right: 1rem;
    top: 0.5rem;
    font-size: 2em;
    line-height: 1; }

.responsive-embed,
.flex-video {
  position: relative;
  height: 0;
  margin-bottom: 1rem;
  padding-bottom: 75%;
  overflow: hidden; }
  .responsive-embed iframe,
  .responsive-embed object,
  .responsive-embed embed,
  .responsive-embed video,
  .flex-video iframe,
  .flex-video object,
  .flex-video embed,
  .flex-video video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .responsive-embed.widescreen,
  .flex-video.widescreen {
    padding-bottom: 56.25%; }

.label {
  display: inline-block;
  padding: 0.33333rem 0.5rem;
  border-radius: 0;
  font-size: 0.8rem;
  line-height: 1;
  white-space: nowrap;
  cursor: default;
  background: #1779ba;
  color: #fefefe; }
  .label.primary {
    background: #1779ba;
    color: #fefefe; }
  .label.secondary {
    background: #767676;
    color: #fefefe; }
  .label.success {
    background: #3adb76;
    color: #0a0a0a; }
  .label.warning {
    background: #ffae00;
    color: #0a0a0a; }
  .label.alert {
    background: #cc4b37;
    color: #fefefe; }

.media-object {
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 1rem;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap; }
  .media-object img {
    max-width: none; }
  @media screen and (max-width: 23.43625em) {
    .media-object.stack-for-small {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; } }

.media-object-section {
  -ms-flex: 0 1 auto;
      flex: 0 1 auto; }
  .media-object-section:first-child {
    padding-right: 1rem; }
  .media-object-section:last-child:not(:nth-child(2)) {
    padding-left: 1rem; }
  .media-object-section > :last-child {
    margin-bottom: 0; }
  @media screen and (max-width: 23.43625em) {
    .stack-for-small .media-object-section {
      padding: 0;
      padding-bottom: 1rem;
      -ms-flex-preferred-size: 100%;
          flex-basis: 100%;
      max-width: 100%; }
      .stack-for-small .media-object-section img {
        width: 100%; } }
  .media-object-section.main-section {
    -ms-flex: 1 1 0px;
        flex: 1 1 0px; }

.is-off-canvas-open {
  overflow: hidden; }

.js-off-canvas-overlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 11;
  width: 100%;
  height: 100%;
  transition: opacity 0.5s ease, visibility 0.5s ease;
  background: rgba(254, 254, 254, 0.25);
  opacity: 0;
  visibility: hidden;
  overflow: hidden; }
  .js-off-canvas-overlay.is-visible {
    opacity: 1;
    visibility: visible; }
  .js-off-canvas-overlay.is-closable {
    cursor: pointer; }
  .js-off-canvas-overlay.is-overlay-absolute {
    position: absolute; }
  .js-off-canvas-overlay.is-overlay-fixed {
    position: fixed; }

.off-canvas-wrapper {
  position: relative;
  overflow: hidden; }

.off-canvas {
  position: fixed;
  z-index: 12;
  transition: transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: #2C3840; }
  [data-whatinput='mouse'] .off-canvas {
    outline: 0; }
  .off-canvas.is-transition-push {
    z-index: 12; }
  .off-canvas.is-closed {
    visibility: hidden; }
  .off-canvas.is-transition-overlap {
    z-index: 13; }
    .off-canvas.is-transition-overlap.is-open {
      box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); }
  .off-canvas.is-open {
    transform: translate(0, 0); }

.off-canvas-absolute {
  position: absolute;
  z-index: 12;
  transition: transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: #2C3840; }
  [data-whatinput='mouse'] .off-canvas-absolute {
    outline: 0; }
  .off-canvas-absolute.is-transition-push {
    z-index: 12; }
  .off-canvas-absolute.is-closed {
    visibility: hidden; }
  .off-canvas-absolute.is-transition-overlap {
    z-index: 13; }
    .off-canvas-absolute.is-transition-overlap.is-open {
      box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); }
  .off-canvas-absolute.is-open {
    transform: translate(0, 0); }

.position-left {
  top: 0;
  left: 0;
  height: 100%;
  overflow-y: auto;
  width: 250px;
  transform: translateX(-250px); }
  .off-canvas-content .off-canvas.position-left {
    transform: translateX(-250px); }
    .off-canvas-content .off-canvas.position-left.is-transition-overlap.is-open {
      transform: translate(0, 0); }
  .off-canvas-content.is-open-left.has-transition-push {
    transform: translateX(250px); }
  .position-left.is-transition-push {
    box-shadow: inset -13px 0 20px -13px rgba(10, 10, 10, 0.25); }

.position-right {
  top: 0;
  right: 0;
  height: 100%;
  overflow-y: auto;
  width: 250px;
  transform: translateX(250px); }
  .off-canvas-content .off-canvas.position-right {
    transform: translateX(250px); }
    .off-canvas-content .off-canvas.position-right.is-transition-overlap.is-open {
      transform: translate(0, 0); }
  .off-canvas-content.is-open-right.has-transition-push {
    transform: translateX(-250px); }
  .position-right.is-transition-push {
    box-shadow: inset 13px 0 20px -13px rgba(10, 10, 10, 0.25); }

.position-top {
  top: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  height: 250px;
  transform: translateY(-250px); }
  .off-canvas-content .off-canvas.position-top {
    transform: translateY(-250px); }
    .off-canvas-content .off-canvas.position-top.is-transition-overlap.is-open {
      transform: translate(0, 0); }
  .off-canvas-content.is-open-top.has-transition-push {
    transform: translateY(250px); }
  .position-top.is-transition-push {
    box-shadow: inset 0 -13px 20px -13px rgba(10, 10, 10, 0.25); }

.position-bottom {
  bottom: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  height: 250px;
  transform: translateY(250px); }
  .off-canvas-content .off-canvas.position-bottom {
    transform: translateY(250px); }
    .off-canvas-content .off-canvas.position-bottom.is-transition-overlap.is-open {
      transform: translate(0, 0); }
  .off-canvas-content.is-open-bottom.has-transition-push {
    transform: translateY(-250px); }
  .position-bottom.is-transition-push {
    box-shadow: inset 0 13px 20px -13px rgba(10, 10, 10, 0.25); }

.off-canvas-content {
  transform: none;
  transition: transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }
  .off-canvas-content.has-transition-push {
    transform: translate(0, 0); }
  .off-canvas-content .off-canvas.is-open {
    transform: translate(0, 0); }

@media print, screen and (min-width: 40em) {
  .position-left.reveal-for-medium {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-medium {
      transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 250px; }
    .position-left.reveal-for-medium ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-medium {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-medium {
      transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 250px; }
    .position-right.reveal-for-medium ~ .off-canvas-content {
      margin-right: 250px; }
  .position-top.reveal-for-medium {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-medium {
      transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 250px; }
    .position-top.reveal-for-medium ~ .off-canvas-content {
      margin-top: 250px; }
  .position-bottom.reveal-for-medium {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-medium {
      transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 250px; }
    .position-bottom.reveal-for-medium ~ .off-canvas-content {
      margin-bottom: 250px; } }

@media print, screen and (min-width: 64em) {
  .position-left.reveal-for-large {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-large {
      transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 250px; }
    .position-left.reveal-for-large ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-large {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-large {
      transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 250px; }
    .position-right.reveal-for-large ~ .off-canvas-content {
      margin-right: 250px; }
  .position-top.reveal-for-large {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-large {
      transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 250px; }
    .position-top.reveal-for-large ~ .off-canvas-content {
      margin-top: 250px; }
  .position-bottom.reveal-for-large {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-large {
      transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 250px; }
    .position-bottom.reveal-for-large ~ .off-canvas-content {
      margin-bottom: 250px; } }

@media print, screen and (min-width: 40em) {
  .off-canvas.in-canvas-for-medium {
    visibility: visible;
    height: auto;
    position: static;
    background: none;
    width: auto;
    overflow: visible;
    transition: none; }
    .off-canvas.in-canvas-for-medium.position-left, .off-canvas.in-canvas-for-medium.position-right, .off-canvas.in-canvas-for-medium.position-top, .off-canvas.in-canvas-for-medium.position-bottom {
      box-shadow: none;
      transform: none; }
    .off-canvas.in-canvas-for-medium .close-button {
      display: none; } }

@media print, screen and (min-width: 64em) {
  .off-canvas.in-canvas-for-large {
    visibility: visible;
    height: auto;
    position: static;
    background: none;
    width: auto;
    overflow: visible;
    transition: none; }
    .off-canvas.in-canvas-for-large.position-left, .off-canvas.in-canvas-for-large.position-right, .off-canvas.in-canvas-for-large.position-top, .off-canvas.in-canvas-for-large.position-bottom {
      box-shadow: none;
      transform: none; }
    .off-canvas.in-canvas-for-large .close-button {
      display: none; } }

.orbit {
  position: relative; }

.orbit-container {
  position: relative;
  height: 0;
  margin: 0;
  list-style: none;
  overflow: hidden; }

.orbit-slide {
  width: 100%;
  position: absolute; }
  .orbit-slide.no-motionui.is-active {
    top: 0;
    left: 0; }

.orbit-figure {
  margin: 0; }

.orbit-image {
  width: 100%;
  max-width: 100%;
  margin: 0; }

.orbit-caption {
  position: absolute;
  bottom: 0;
  width: 100%;
  margin-bottom: 0;
  padding: 1rem;
  background-color: rgba(10, 10, 10, 0.5);
  color: #fefefe; }

.orbit-previous, .orbit-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  padding: 1rem;
  color: #fefefe; }
  [data-whatinput='mouse'] .orbit-previous, [data-whatinput='mouse'] .orbit-next {
    outline: 0; }
  .orbit-previous:hover, .orbit-next:hover, .orbit-previous:active, .orbit-next:active, .orbit-previous:focus, .orbit-next:focus {
    background-color: rgba(10, 10, 10, 0.5); }

.orbit-previous {
  left: 0; }

.orbit-next {
  left: auto;
  right: 0; }

.orbit-bullets {
  position: relative;
  margin-top: 0.8rem;
  margin-bottom: 0.8rem;
  text-align: center; }
  [data-whatinput='mouse'] .orbit-bullets {
    outline: 0; }
  .orbit-bullets button {
    width: 1.2rem;
    height: 1.2rem;
    margin: 0.1rem;
    border-radius: 50%;
    background-color: #787878; }
    .orbit-bullets button:hover {
      background-color: #787878; }
    .orbit-bullets button.is-active {
      background-color: #787878; }

.pagination {
  margin-left: 0;
  margin-bottom: 1rem; }
  .pagination::before, .pagination::after {
    display: table;
    content: ' ';
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -ms-flex-order: 1;
        order: 1; }
  .pagination::after {
    clear: both; }
  .pagination li {
    margin-right: 0.0625rem;
    border-radius: 0;
    font-size: 0.875rem;
    display: none; }
    .pagination li:last-child, .pagination li:first-child {
      display: inline-block; }
    @media print, screen and (min-width: 40em) {
      .pagination li {
        display: inline-block; } }
  .pagination a,
  .pagination button {
    display: block;
    padding: 0.1875rem 0.625rem;
    border-radius: 0;
    color: #0a0a0a; }
    .pagination a:hover,
    .pagination button:hover {
      background: #f0f0f0; }
  .pagination .current {
    padding: 0.1875rem 0.625rem;
    background: #1779ba;
    color: #fefefe;
    cursor: default; }
  .pagination .disabled {
    padding: 0.1875rem 0.625rem;
    color: #787878;
    cursor: not-allowed; }
    .pagination .disabled:hover {
      background: transparent; }
  .pagination .ellipsis::after {
    padding: 0.1875rem 0.625rem;
    content: '\2026';
    color: #0a0a0a; }

.pagination-previous a::before,
.pagination-previous.disabled::before {
  display: inline-block;
  margin-right: 0.5rem;
  content: '\00ab'; }

.pagination-next a::after,
.pagination-next.disabled::after {
  display: inline-block;
  margin-left: 0.5rem;
  content: '\00bb'; }

.progress {
  height: 1rem;
  margin-bottom: 1rem;
  border-radius: 0;
  background-color: #787878; }
  .progress.primary .progress-meter {
    background-color: #1779ba; }
  .progress.secondary .progress-meter {
    background-color: #767676; }
  .progress.success .progress-meter {
    background-color: #3adb76; }
  .progress.warning .progress-meter {
    background-color: #ffae00; }
  .progress.alert .progress-meter {
    background-color: #cc4b37; }

.progress-meter {
  position: relative;
  display: block;
  width: 0%;
  height: 100%;
  background-color: #1779ba; }

.progress-meter-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  position: absolute;
  margin: 0;
  font-size: 0.75rem;
  font-weight: bold;
  color: #fefefe;
  white-space: nowrap; }

.slider {
  position: relative;
  height: 0.5rem;
  margin-top: 1.25rem;
  margin-bottom: 2.25rem;
  background-color: #f0f0f0;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -ms-touch-action: none;
      touch-action: none; }

.slider-fill {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  max-width: 100%;
  height: 0.5rem;
  background-color: #787878;
  transition: all 0.2s ease-in-out; }
  .slider-fill.is-dragging {
    transition: all 0s linear; }

.slider-handle {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  z-index: 1;
  display: inline-block;
  width: 1.4rem;
  height: 1.4rem;
  border-radius: 0;
  background-color: #1779ba;
  transition: all 0.2s ease-in-out;
  -ms-touch-action: manipulation;
      touch-action: manipulation; }
  [data-whatinput='mouse'] .slider-handle {
    outline: 0; }
  .slider-handle:hover {
    background-color: #14679e; }
  .slider-handle.is-dragging {
    transition: all 0s linear; }

.slider.disabled,
.slider[disabled] {
  opacity: 0.25;
  cursor: not-allowed; }

.slider.vertical {
  display: inline-block;
  width: 0.5rem;
  height: 12.5rem;
  margin: 0 1.25rem;
  transform: scale(1, -1); }
  .slider.vertical .slider-fill {
    top: 0;
    width: 0.5rem;
    max-height: 100%; }
  .slider.vertical .slider-handle {
    position: absolute;
    top: 0;
    left: 50%;
    width: 1.4rem;
    height: 1.4rem;
    transform: translateX(-50%); }

.sticky-container {
  position: relative; }

.sticky {
  position: relative;
  z-index: 0;
  transform: translate3d(0, 0, 0); }

.sticky.is-stuck {
  position: fixed;
  z-index: 5;
  width: 100%; }
  .sticky.is-stuck.is-at-top {
    top: 0; }
  .sticky.is-stuck.is-at-bottom {
    bottom: 0; }

.sticky.is-anchored {
  position: relative;
  right: auto;
  left: auto; }
  .sticky.is-anchored.is-at-bottom {
    bottom: 0; }

html.is-reveal-open {
  position: fixed;
  width: 100%;
  overflow-y: hidden; }
  html.is-reveal-open.zf-has-scroll {
    overflow-y: scroll; }
  html.is-reveal-open body {
    overflow-y: hidden; }

.reveal-overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1005;
  display: none;
  background-color: rgba(10, 10, 10, 0.45);
  overflow-y: auto; }

.reveal {
  z-index: 1006;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  display: none;
  padding: 1rem;
  border: 1px solid #787878;
  border-radius: 0;
  background-color: #fefefe;
  position: relative;
  top: 100px;
  margin-right: auto;
  margin-left: auto;
  overflow-y: auto; }
  [data-whatinput='mouse'] .reveal {
    outline: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal {
      min-height: 0; } }
  .reveal .column {
    min-width: 0; }
  .reveal > :last-child {
    margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal {
      width: 600px;
      max-width: 76.25rem; } }
  .reveal.collapse {
    padding: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal.tiny {
      width: 30%;
      max-width: 76.25rem; } }
  @media print, screen and (min-width: 40em) {
    .reveal.small {
      width: 50%;
      max-width: 76.25rem; } }
  @media print, screen and (min-width: 40em) {
    .reveal.large {
      width: 90%;
      max-width: 76.25rem; } }
  .reveal.full {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    min-height: 100%;
    margin-left: 0;
    border: 0;
    border-radius: 0; }
  @media screen and (max-width: 23.43625em) {
    .reveal {
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      width: 100%;
      max-width: none;
      height: 100%;
      min-height: 100%;
      margin-left: 0;
      border: 0;
      border-radius: 0; } }
  .reveal.without-overlay {
    position: fixed; }

.switch {
  height: 2rem;
  position: relative;
  margin-bottom: 1rem;
  outline: 0;
  font-size: 0.875rem;
  font-weight: bold;
  color: #fefefe;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }

.switch-input {
  position: absolute;
  margin-bottom: 0;
  opacity: 0; }

.switch-paddle {
  position: relative;
  display: block;
  width: 4rem;
  height: 2rem;
  border-radius: 0;
  background: #787878;
  transition: all 0.25s ease-out;
  font-weight: inherit;
  color: inherit;
  cursor: pointer; }
  input + .switch-paddle {
    margin: 0; }
  .switch-paddle::after {
    position: absolute;
    top: 0.25rem;
    left: 0.25rem;
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    transform: translate3d(0, 0, 0);
    border-radius: 0;
    background: #fefefe;
    transition: all 0.25s ease-out;
    content: ''; }
  input:checked ~ .switch-paddle {
    background: #1779ba; }
    input:checked ~ .switch-paddle::after {
      left: 2.25rem; }
  [data-whatinput='mouse'] input:focus ~ .switch-paddle {
    outline: 0; }

.switch-active, .switch-inactive {
  position: absolute;
  top: 50%;
  transform: translateY(-50%); }

.switch-active {
  left: 8%;
  display: none; }
  input:checked + label > .switch-active {
    display: block; }

.switch-inactive {
  right: 15%; }
  input:checked + label > .switch-inactive {
    display: none; }

.switch.tiny {
  height: 1.5rem; }
  .switch.tiny .switch-paddle {
    width: 3rem;
    height: 1.5rem;
    font-size: 0.625rem; }
  .switch.tiny .switch-paddle::after {
    top: 0.25rem;
    left: 0.25rem;
    width: 1rem;
    height: 1rem; }
  .switch.tiny input:checked ~ .switch-paddle::after {
    left: 1.75rem; }

.switch.small {
  height: 1.75rem; }
  .switch.small .switch-paddle {
    width: 3.5rem;
    height: 1.75rem;
    font-size: 0.75rem; }
  .switch.small .switch-paddle::after {
    top: 0.25rem;
    left: 0.25rem;
    width: 1.25rem;
    height: 1.25rem; }
  .switch.small input:checked ~ .switch-paddle::after {
    left: 2rem; }

.switch.large {
  height: 2.5rem; }
  .switch.large .switch-paddle {
    width: 5rem;
    height: 2.5rem;
    font-size: 1rem; }
  .switch.large .switch-paddle::after {
    top: 0.25rem;
    left: 0.25rem;
    width: 2rem;
    height: 2rem; }
  .switch.large input:checked ~ .switch-paddle::after {
    left: 2.75rem; }

table {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 1rem;
  border-radius: 0; }
  thead,
  tbody,
  tfoot {
    border: 1px solid #f1f1f1;
    background-color: #fefefe; }
  caption {
    padding: 0.5rem 0.625rem 0.625rem;
    font-weight: bold; }
  thead {
    background: #f8f8f8;
    color: #0a0a0a; }
  tfoot {
    background: #f1f1f1;
    color: #0a0a0a; }
  thead tr,
  tfoot tr {
    background: transparent; }
  thead th,
  thead td,
  tfoot th,
  tfoot td {
    padding: 0.5rem 0.625rem 0.625rem;
    font-weight: bold;
    text-align: left; }
  tbody th,
  tbody td {
    padding: 0.5rem 0.625rem 0.625rem; }
  tbody tr:nth-child(even) {
    border-bottom: 0;
    background-color: #f1f1f1; }
  table.unstriped tbody {
    background-color: #fefefe; }
    table.unstriped tbody tr {
      border-bottom: 0;
      border-bottom: 1px solid #f1f1f1;
      background-color: #fefefe; }

@media screen and (max-width: 47.99875em) {
  table.stack thead {
    display: none; }
  table.stack tfoot {
    display: none; }
  table.stack tr,
  table.stack th,
  table.stack td {
    display: block; }
  table.stack td {
    border-top: 0; } }

table.scroll {
  display: block;
  width: 100%;
  overflow-x: auto; }

table.hover thead tr:hover {
  background-color: #f3f3f3; }

table.hover tfoot tr:hover {
  background-color: #ececec; }

table.hover tbody tr:hover {
  background-color: #f9f9f9; }

table.hover:not(.unstriped) tr:nth-of-type(even):hover {
  background-color: #ececec; }

.table-scroll {
  overflow-x: auto; }

.tabs {
  margin: 0;
  border: 1px solid #f0f0f0;
  background: #fefefe;
  list-style-type: none; }
  .tabs::before, .tabs::after {
    display: table;
    content: ' ';
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -ms-flex-order: 1;
        order: 1; }
  .tabs::after {
    clear: both; }

.tabs.vertical > li {
  display: block;
  float: none;
  width: auto; }

.tabs.simple > li > a {
  padding: 0; }
  .tabs.simple > li > a:hover {
    background: transparent; }

.tabs.primary {
  background: #1779ba; }
  .tabs.primary > li > a {
    color: #fefefe; }
    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
      background: #1673b1; }

.tabs-title {
  float: left; }
  .tabs-title > a {
    display: block;
    padding: 1.25rem 1.5rem;
    font-size: 0.75rem;
    line-height: 1;
    color: #1779ba; }
    [data-whatinput='mouse'] .tabs-title > a {
      outline: 0; }
    .tabs-title > a:hover {
      background: #fefefe;
      color: #1468a0; }
    .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {
      background: #f0f0f0;
      color: #1779ba; }

.tabs-content {
  border: 1px solid #f0f0f0;
  border-top: 0;
  background: #fefefe;
  color: #0a0a0a;
  transition: all 0.5s ease; }

.tabs-content.vertical {
  border: 1px solid #f0f0f0;
  border-left: 0; }

.tabs-panel {
  display: none;
  padding: 1rem; }
  .tabs-panel.is-active {
    display: block; }

.thumbnail {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 1rem;
  border: solid 4px #fefefe;
  border-radius: 0;
  box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2);
  line-height: 0; }

a.thumbnail {
  transition: box-shadow 200ms ease-out; }
  a.thumbnail:hover, a.thumbnail:focus {
    box-shadow: 0 0 6px 1px rgba(23, 121, 186, 0.5); }
  a.thumbnail image {
    box-shadow: none; }

.title-bar {
  padding: 0.5rem;
  background: #2C3840;
  color: #fefefe;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-align: center;
      align-items: center; }
  .title-bar .menu-icon {
    margin-left: 0.25rem;
    margin-right: 0.25rem; }

.title-bar-left,
.title-bar-right {
  -ms-flex: 1 1 0px;
      flex: 1 1 0px; }

.title-bar-right {
  text-align: right; }

.title-bar-title {
  display: inline-block;
  vertical-align: middle;
  font-weight: bold; }

.has-tip {
  position: relative;
  display: inline-block;
  border-bottom: dotted 1px #787878;
  font-weight: bold;
  cursor: help; }

.tooltip {
  position: absolute;
  top: calc(100% + 0.6495rem);
  z-index: 1200;
  max-width: 10rem;
  padding: 0.75rem;
  border-radius: 0;
  background-color: #0a0a0a;
  font-size: 80%;
  color: #fefefe; }
  .tooltip::before {
    position: absolute; }
  .tooltip.bottom::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-top-width: 0;
    border-bottom-style: solid;
    border-color: transparent transparent #0a0a0a;
    bottom: 100%; }
  .tooltip.bottom.align-center::before {
    left: 50%;
    transform: translateX(-50%); }
  .tooltip.top::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #0a0a0a transparent transparent;
    top: 100%;
    bottom: auto; }
  .tooltip.top.align-center::before {
    left: 50%;
    transform: translateX(-50%); }
  .tooltip.left::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #0a0a0a;
    left: 100%; }
  .tooltip.left.align-center::before {
    bottom: auto;
    top: 50%;
    transform: translateY(-50%); }
  .tooltip.right::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #0a0a0a transparent transparent;
    right: 100%;
    left: auto; }
  .tooltip.right.align-center::before {
    bottom: auto;
    top: 50%;
    transform: translateY(-50%); }
  .tooltip.align-top::before {
    bottom: auto;
    top: 10%; }
  .tooltip.align-bottom::before {
    bottom: 10%;
    top: auto; }
  .tooltip.align-left::before {
    left: 10%;
    right: auto; }
  .tooltip.align-right::before {
    left: auto;
    right: 10%; }

.top-bar {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-align: center;
      align-items: center;
  padding: 0;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .top-bar,
  .top-bar ul {
    background-color: #2C3840; }
  .top-bar input {
    max-width: 200px;
    margin-right: 1rem; }
  .top-bar .input-group-field {
    width: 100%;
    margin-right: 0; }
  .top-bar input.button {
    width: auto; }
  .top-bar .top-bar-left,
  .top-bar .top-bar-right {
    -ms-flex: 0 0 100%;
        flex: 0 0 100%;
    max-width: 100%; }
  @media print, screen and (min-width: 40em) {
    .top-bar {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
      .top-bar .top-bar-left {
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
        margin-right: auto; }
      .top-bar .top-bar-right {
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
        margin-left: auto; } }
  @media screen and (max-width: 47.99875em) {
    .top-bar.stacked-for-medium {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .top-bar.stacked-for-medium .top-bar-left,
      .top-bar.stacked-for-medium .top-bar-right {
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
        max-width: 100%; } }
  @media screen and (max-width: 74.99875em) {
    .top-bar.stacked-for-large {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .top-bar.stacked-for-large .top-bar-left,
      .top-bar.stacked-for-large .top-bar-right {
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
        max-width: 100%; } }

.top-bar-title {
  -ms-flex: 0 0 auto;
      flex: 0 0 auto;
  margin: 0.5rem 1rem 0.5rem 0; }

.top-bar-left,
.top-bar-right {
  -ms-flex: 0 0 auto;
      flex: 0 0 auto; }

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

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

@media screen and (max-width: 0em), screen and (min-width: 23.4375em) {
  .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: 47.99875em) {
  .hide-for-medium-only {
    display: none !important; } }

@media screen and (max-width: 39.99875em), screen and (min-width: 48em) {
  .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; } }

.align-left {
  -ms-flex-pack: start;
      justify-content: flex-start; }

.align-right {
  -ms-flex-pack: end;
      justify-content: flex-end; }

.align-center {
  -ms-flex-pack: center;
      justify-content: center; }

.align-justify {
  -ms-flex-pack: justify;
      justify-content: space-between; }

.align-spaced {
  -ms-flex-pack: distribute;
      justify-content: space-around; }

.align-left.vertical.menu > li > a {
  -ms-flex-pack: start;
      justify-content: flex-start; }

.align-right.vertical.menu > li > a {
  -ms-flex-pack: end;
      justify-content: flex-end; }

.align-center.vertical.menu > li > a {
  -ms-flex-pack: center;
      justify-content: center; }

.align-top {
  -ms-flex-align: start;
      align-items: flex-start; }

.align-self-top {
  -ms-flex-item-align: start;
      align-self: flex-start; }

.align-bottom {
  -ms-flex-align: end;
      align-items: flex-end; }

.align-self-bottom {
  -ms-flex-item-align: end;
      align-self: flex-end; }

.align-middle {
  -ms-flex-align: center;
      align-items: center; }

.align-self-middle {
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center; }

.align-stretch {
  -ms-flex-align: stretch;
      align-items: stretch; }

.align-self-stretch {
  -ms-flex-item-align: stretch;
      -ms-grid-row-align: stretch;
      align-self: stretch; }

.align-center-middle {
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-line-pack: center;
      align-content: center; }

.small-order-1 {
  -ms-flex-order: 1;
      order: 1; }

.small-order-2 {
  -ms-flex-order: 2;
      order: 2; }

.small-order-3 {
  -ms-flex-order: 3;
      order: 3; }

.small-order-4 {
  -ms-flex-order: 4;
      order: 4; }

.small-order-5 {
  -ms-flex-order: 5;
      order: 5; }

.small-order-6 {
  -ms-flex-order: 6;
      order: 6; }

@media print, screen and (min-width: 40em) {
  .medium-order-1 {
    -ms-flex-order: 1;
        order: 1; }
  .medium-order-2 {
    -ms-flex-order: 2;
        order: 2; }
  .medium-order-3 {
    -ms-flex-order: 3;
        order: 3; }
  .medium-order-4 {
    -ms-flex-order: 4;
        order: 4; }
  .medium-order-5 {
    -ms-flex-order: 5;
        order: 5; }
  .medium-order-6 {
    -ms-flex-order: 6;
        order: 6; } }

@media print, screen and (min-width: 64em) {
  .large-order-1 {
    -ms-flex-order: 1;
        order: 1; }
  .large-order-2 {
    -ms-flex-order: 2;
        order: 2; }
  .large-order-3 {
    -ms-flex-order: 3;
        order: 3; }
  .large-order-4 {
    -ms-flex-order: 4;
        order: 4; }
  .large-order-5 {
    -ms-flex-order: 5;
        order: 5; }
  .large-order-6 {
    -ms-flex-order: 6;
        order: 6; } }

.flex-container {
  display: -ms-flexbox;
  display: flex; }

.flex-child-auto {
  -ms-flex: 1 1 auto;
      flex: 1 1 auto; }

.flex-child-grow {
  -ms-flex: 1 0 auto;
      flex: 1 0 auto; }

.flex-child-shrink {
  -ms-flex: 0 1 auto;
      flex: 0 1 auto; }

.flex-dir-row {
  -ms-flex-direction: row;
      flex-direction: row; }

.flex-dir-row-reverse {
  -ms-flex-direction: row-reverse;
      flex-direction: row-reverse; }

.flex-dir-column {
  -ms-flex-direction: column;
      flex-direction: column; }

.flex-dir-column-reverse {
  -ms-flex-direction: column-reverse;
      flex-direction: column-reverse; }

@media print, screen and (min-width: 40em) {
  .medium-flex-container {
    display: -ms-flexbox;
    display: flex; }
  .medium-flex-child-auto {
    -ms-flex: 1 1 auto;
        flex: 1 1 auto; }
  .medium-flex-child-grow {
    -ms-flex: 1 0 auto;
        flex: 1 0 auto; }
  .medium-flex-child-shrink {
    -ms-flex: 0 1 auto;
        flex: 0 1 auto; }
  .medium-flex-dir-row {
    -ms-flex-direction: row;
        flex-direction: row; }
  .medium-flex-dir-row-reverse {
    -ms-flex-direction: row-reverse;
        flex-direction: row-reverse; }
  .medium-flex-dir-column {
    -ms-flex-direction: column;
        flex-direction: column; }
  .medium-flex-dir-column-reverse {
    -ms-flex-direction: column-reverse;
        flex-direction: column-reverse; } }

@media print, screen and (min-width: 64em) {
  .large-flex-container {
    display: -ms-flexbox;
    display: flex; }
  .large-flex-child-auto {
    -ms-flex: 1 1 auto;
        flex: 1 1 auto; }
  .large-flex-child-grow {
    -ms-flex: 1 0 auto;
        flex: 1 0 auto; }
  .large-flex-child-shrink {
    -ms-flex: 0 1 auto;
        flex: 0 1 auto; }
  .large-flex-dir-row {
    -ms-flex-direction: row;
        flex-direction: row; }
  .large-flex-dir-row-reverse {
    -ms-flex-direction: row-reverse;
        flex-direction: row-reverse; }
  .large-flex-dir-column {
    -ms-flex-direction: column;
        flex-direction: column; }
  .large-flex-dir-column-reverse {
    -ms-flex-direction: column-reverse;
        flex-direction: column-reverse; } }

.slide-in-down.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: translateY(-100%);
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-down.mui-enter.mui-enter-active {
  transform: translateY(0); }

.slide-in-left.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: translateX(-100%);
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-left.mui-enter.mui-enter-active {
  transform: translateX(0); }

.slide-in-up.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: translateY(100%);
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-up.mui-enter.mui-enter-active {
  transform: translateY(0); }

.slide-in-right.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: translateX(100%);
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-right.mui-enter.mui-enter-active {
  transform: translateX(0); }

.slide-out-down.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: translateY(0);
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-down.mui-leave.mui-leave-active {
  transform: translateY(100%); }

.slide-out-right.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: translateX(0);
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-right.mui-leave.mui-leave-active {
  transform: translateX(100%); }

.slide-out-up.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: translateY(0);
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-up.mui-leave.mui-leave-active {
  transform: translateY(-100%); }

.slide-out-left.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: translateX(0);
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-left.mui-leave.mui-leave-active {
  transform: translateX(-100%); }

.fade-in.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  opacity: 0;
  transition-property: opacity; }

.fade-in.mui-enter.mui-enter-active {
  opacity: 1; }

.fade-out.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  opacity: 1;
  transition-property: opacity; }

.fade-out.mui-leave.mui-leave-active {
  opacity: 0; }

.hinge-in-from-top.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotateX(-90deg);
  transform-origin: top;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-top.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-right.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotateY(-90deg);
  transform-origin: right;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-right.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-bottom.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotateX(90deg);
  transform-origin: bottom;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-bottom.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-left.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotateY(90deg);
  transform-origin: left;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-left.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-middle-x.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotateX(-90deg);
  transform-origin: center;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-middle-x.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-middle-y.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotateY(-90deg);
  transform-origin: center;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-middle-y.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-out-from-top.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotate(0deg);
  transform-origin: top;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-top.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateX(-90deg);
  opacity: 0; }

.hinge-out-from-right.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotate(0deg);
  transform-origin: right;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-right.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateY(-90deg);
  opacity: 0; }

.hinge-out-from-bottom.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotate(0deg);
  transform-origin: bottom;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-bottom.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateX(90deg);
  opacity: 0; }

.hinge-out-from-left.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotate(0deg);
  transform-origin: left;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-left.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateY(90deg);
  opacity: 0; }

.hinge-out-from-middle-x.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotate(0deg);
  transform-origin: center;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-middle-x.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateX(-90deg);
  opacity: 0; }

.hinge-out-from-middle-y.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotate(0deg);
  transform-origin: center;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-middle-y.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateY(-90deg);
  opacity: 0; }

.scale-in-up.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: scale(0.5);
  transition-property: transform, opacity;
  opacity: 0; }

.scale-in-up.mui-enter.mui-enter-active {
  transform: scale(1);
  opacity: 1; }

.scale-in-down.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: scale(1.5);
  transition-property: transform, opacity;
  opacity: 0; }

.scale-in-down.mui-enter.mui-enter-active {
  transform: scale(1);
  opacity: 1; }

.scale-out-up.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: scale(1);
  transition-property: transform, opacity;
  opacity: 1; }

.scale-out-up.mui-leave.mui-leave-active {
  transform: scale(1.5);
  opacity: 0; }

.scale-out-down.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: scale(1);
  transition-property: transform, opacity;
  opacity: 1; }

.scale-out-down.mui-leave.mui-leave-active {
  transform: scale(0.5);
  opacity: 0; }

.spin-in.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: rotate(-0.75turn);
  transition-property: transform, opacity;
  opacity: 0; }

.spin-in.mui-enter.mui-enter-active {
  transform: rotate(0);
  opacity: 1; }

.spin-out.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: rotate(0);
  transition-property: transform, opacity;
  opacity: 1; }

.spin-out.mui-leave.mui-leave-active {
  transform: rotate(0.75turn);
  opacity: 0; }

.spin-in-ccw.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: rotate(0.75turn);
  transition-property: transform, opacity;
  opacity: 0; }

.spin-in-ccw.mui-enter.mui-enter-active {
  transform: rotate(0);
  opacity: 1; }

.spin-out-ccw.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: rotate(0);
  transition-property: transform, opacity;
  opacity: 1; }

.spin-out-ccw.mui-leave.mui-leave-active {
  transform: rotate(-0.75turn);
  opacity: 0; }

.slow {
  transition-duration: 750ms !important; }

.fast {
  transition-duration: 250ms !important; }

.linear {
  transition-timing-function: linear !important; }

.ease {
  transition-timing-function: ease !important; }

.ease-in {
  transition-timing-function: ease-in !important; }

.ease-out {
  transition-timing-function: ease-out !important; }

.ease-in-out {
  transition-timing-function: ease-in-out !important; }

.bounce-in {
  transition-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; }

.bounce-out {
  transition-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; }

.bounce-in-out {
  transition-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; }

.short-delay {
  transition-delay: 300ms !important; }

.long-delay {
  transition-delay: 700ms !important; }

.shake {
  animation-name: shake-7; }

@keyframes shake-7 {
  0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% {
    transform: translateX(7%); }
  5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% {
    transform: translateX(-7%); } }

.spin-cw {
  animation-name: spin-cw-1turn; }

@keyframes spin-cw-1turn {
  0% {
    transform: rotate(-1turn); }
  100% {
    transform: rotate(0); } }

.spin-ccw {
  animation-name: spin-cw-1turn; }

@keyframes spin-cw-1turn {
  0% {
    transform: rotate(0); }
  100% {
    transform: rotate(1turn); } }

.wiggle {
  animation-name: wiggle-7deg; }

@keyframes wiggle-7deg {
  40%, 50%, 60% {
    transform: rotate(7deg); }
  35%, 45%, 55%, 65% {
    transform: rotate(-7deg); }
  0%, 30%, 70%, 100% {
    transform: rotate(0); } }

.shake,
.spin-cw,
.spin-ccw,
.wiggle {
  animation-duration: 500ms; }

.infinite {
  animation-iteration-count: infinite; }

.slow {
  animation-duration: 750ms !important; }

.fast {
  animation-duration: 250ms !important; }

.linear {
  animation-timing-function: linear !important; }

.ease {
  animation-timing-function: ease !important; }

.ease-in {
  animation-timing-function: ease-in !important; }

.ease-out {
  animation-timing-function: ease-out !important; }

.ease-in-out {
  animation-timing-function: ease-in-out !important; }

.bounce-in {
  animation-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; }

.bounce-out {
  animation-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; }

.bounce-in-out {
  animation-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; }

.short-delay {
  animation-delay: 300ms !important; }

.long-delay {
  animation-delay: 700ms !important; }

/*
  My custom styles:
  Add your scss files below to structure your project styles
*/
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden; }

.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000; }

*:focus {
  outline: none; }

.hidden {
  display: none;
  visibility: hidden; }

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

nav li {
  margin: 0;
  padding: 0; }

figure {
  margin: 0; }

.container {
  margin: 0 auto;
  max-width: 1220px;
  width: 90%; }
  .container.full {
    max-width: none;
    width: 95%; }

a {
  color: #234a71; }

a:focus {
  color: currentColor;
  outline: none; }

body {
  color: #787878;
  overflow-x: hidden; }

table {
  border: 0;
  background: transparent;
  margin: 40px 0; }
  table thead {
    background: transparent;
    border: 0; }
    table thead tr {
      border-bottom: 2px solid #234a71; }
    table thead th, table thead td {
      color: #234a71;
      font-size: 0.625em;
      border-bottom: 2px solid #234a71;
      padding: 0 20px 20px;
      text-transform: uppercase; }
  table tbody {
    border: 0; }
    table tbody tr:nth-child(even) {
      background: #fff; }
    table tbody td {
      padding: 20px;
      border-right: 1px solid #c7c3c1;
      border-bottom: 1px solid #c7c3c1;
      vertical-align: top;
      font-size: .9em;
      line-height: 1.8; }
      table tbody td:last-of-type {
        border-right: 0; }
  table tfoot {
    border: 0; }

.pagination-container {
  text-align: center; }

.pagination {
  margin: 40px auto;
  display: inline-block;
  border: 2px solid #234a71;
  padding: 5px 8px; }
  .pagination .current {
    background: #234a71; }

p:empty:before {
  content: unset; }

.u-center-border {
  display: block;
  letter-spacing: 0.05em;
  margin-bottom: 35px;
  position: relative;
  text-align: center;
  z-index: 2;
  font-size: 0.75em; }
  .u-center-border ul {
    background-color: #fefefe;
    list-style: none;
    margin: 0 auto;
    max-width: 290px;
    padding: 0;
    position: relative;
    width: 90%;
    z-index: 3; }
    @media print, screen and (min-width: 64em) {
      .u-center-border ul {
        display: -ms-flexbox;
        display: flex;
        max-width: 810px;
        -ms-flex-pack: center;
            justify-content: center; } }
  .u-center-border li {
    font-size: 0.8125em;
    display: block;
    margin: 0 auto; }
    @media print, screen and (min-width: 64em) {
      .u-center-border li {
        background-color: #fefefe;
        border-left: 1px solid #aeaeae;
        padding: 0 20px; }
        .u-center-border li:first-child {
          border-left: 0; } }
  .u-center-border span {
    font-weight: 700;
    background-color: #fff;
    color: #234a71;
    padding: 0 16px;
    position: relative;
    text-transform: uppercase;
    z-index: 2; }
    @media screen and (max-width: 25.87375em) {
      .u-center-border span {
        display: block;
        margin: 0 auto;
        padding: 0;
        width: 85%; } }
  .u-center-border::after {
    background-color: #aeaeae;
    content: "";
    display: block;
    height: 1px;
    left: 0;
    margin-top: -0.5px;
    position: absolute;
    right: 0;
    top: 50%;
    width: 100%;
    z-index: 1; }

.u-round-section {
  background-color: #fefefe;
  margin: 0 auto;
  max-width: 1220px;
  width: 90%;
  /*@include breakpoint(tablet-vert) {
    border-radius: 8px;
    margin-top: -120px;
  }*/ }

/*
  .product-support-content__aside-nav ul
  .support-content__item ul,
  .products-block__info-content-block ul
  .products-block-details__accordion-content ul
  .solutions-gallery__grid-build ul
*/
.u-styled-list, .wysiwyg ul, .wysiwyg ol {
  list-style: none;
  margin: 0 0 30px;
  padding: 0;
  font-size: inherit; }
  .u-styled-list li, .wysiwyg ul li, .wysiwyg ol li {
    font-size: 0.8125rem;
    margin: 0 0 24px;
    padding: 0 0 0 15px;
    position: relative; }
    .u-styled-list li > ul, .u-styled-list li > ol, .wysiwyg ul li > ul, .wysiwyg ul li > ol, .wysiwyg ol li > ul, .wysiwyg ol li > ol {
      margin-top: 24px; }
      .u-styled-list li > ul li, .u-styled-list li > ol li, .wysiwyg ul li > ul li, .wysiwyg ul li > ol li, .wysiwyg ol li > ul li, .wysiwyg ol li > ol li {
        font-size: inherit; }
        .u-styled-list li > ul li a, .u-styled-list li > ol li a, .wysiwyg ul li > ul li a, .wysiwyg ul li > ol li a, .wysiwyg ol li > ul li a, .wysiwyg ol li > ol li a {
          color: #234a71; }
    .u-styled-list li.active a, .wysiwyg ul li.active a, .wysiwyg ol li.active a {
      color: #b20939; }
  .u-styled-list a, .wysiwyg ul a, .wysiwyg ol a {
    color: #234a71; }

ul.u-styled-list li::before, .wysiwyg ul li::before {
  background-image: url("../images/png/list-item-arrow.png");
  background-position: top center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 10px;
  left: 0;
  position: absolute;
  top: 4px;
  width: 6px; }

ol.u-styled-list, .wysiwyg ol {
  counter-reset: li; }
  ol.u-styled-list li, .wysiwyg ol li {
    padding: 0 0 0 35px; }
  ol.u-styled-list li::before, .wysiwyg ol li::before {
    content: counter(li);
    counter-increment: li;
    position: absolute;
    top: 0px;
    left: 0px;
    width: 20px;
    height: 20px;
    margin-right: 8px;
    background-color: #B20838;
    border-radius: 10px;
    text-align: center;
    color: #fefefe; }

ul.three-column, ol.three-column {
  columns: 300px 3;
  column-gap: 40px; }
  ul.three-column li, ol.three-column li {
    page-break-inside: avoid;
    display: block;
    break-inside: avoid; }

ul.two-column, ol.two-column {
  columns: 300px 2;
  column-gap: 40px; }
  ul.two-column li, ol.two-column li {
    page-break-inside: avoid;
    display: block;
    break-inside: avoid; }

/*
//BACKUP:
.u-styled-list {
  list-style: none;
  margin: 0;
  padding: 0;

  &--arrow {
    li {
      position: relative;

      &::before {
        background-image: url("../images/png/list-item-arrow.png");
        background-position: top center;
        background-repeat: no-repeat;
        background-size: contain;
        content: "";
        display: block;
        height: 10px;
        left: 0;
        position: absolute;
        top: 4px;
        width: 6px;
      }
    }
  }

  li {
    @include to-em(13px);
    margin: 24px 0 0;
    padding: 0 0 0 20px;
    position: relative;
  }

  a {
    color: $color-navy-blue;
  }
}
*/
.u-styled-table thead td,
.u-styled-table thead th {
  font-weight: 700;
  color: #234a71; }

section.enlarge-logo .company-logo {
  width: 320px;
  height: 70px; }

.olark-unavailable {
  display: none; }

.cable-column {
  padding-top: 0 !important; }
  .cable-column:first-of-type {
    margin-top: 40px; }
  .cable-column h2 {
    border-bottom: 1px solid #aeaeae;
    padding-bottom: 20px; }
  @media print, screen and (min-width: 48em) {
    .cable-column .open-text__copy {
      display: -ms-flexbox;
      display: flex; }
      .cable-column .open-text__copy > * {
        -ms-flex: 1 0 50%;
            flex: 1 0 50%;
        width: 50%; } }

#wpadminbar {
  position: fixed !important; }

body.admin-bar.f-topbar-fixed .sticky.fixed {
  margin-top: 2rem; }

body.admin-bar.offcanvas .off-canvas.is-open {
  top: 2.875rem; }
  @media screen and (min-width: 48.9375em) {
    body.admin-bar.offcanvas .off-canvas.is-open {
      top: 2rem; } }

.aligncenter, .alignnone {
  margin: 40px auto;
  float: none;
  display: table; }
  @media print, screen and (min-width: 48em) {
    .aligncenter.wp-caption, .alignnone.wp-caption {
      max-width: 540px; } }
  .aligncenter > *, .alignnone > * {
    clear: both;
    display: block;
    margin-top: 40px; }

.alignleft {
  float: left; }
  @media print, screen and (min-width: 48em) {
    .alignleft {
      margin: 0 40px 40px 0; } }
  @media print, screen and (min-width: 48em) {
    .alignleft.wp-caption {
      max-width: 300px; } }

.alignright {
  float: right; }
  @media print, screen and (min-width: 48em) {
    .alignright {
      margin: 0 0 40px 40px; } }
  @media print, screen and (min-width: 48em) {
    .alignright.wp-caption {
      max-width: 300px; } }

figure.wp-caption {
  width: auto; }
  figure.wp-caption a {
    display: block; }
  figure.wp-caption img {
    max-width: 100%;
    height: auto; }

figure .wp-caption-text {
  font-size: .7em;
  padding: 25px 15px;
  border-bottom: 1px solid #aeaeae;
  margin: 0 0 30px; }

.entry-content {
  overflow: hidden; }
  .entry-content h1 {
    font-size: 2.5em;
    margin: 0 0 15px;
    padding: 0;
    color: #234a71; }
  .entry-content h2 {
    font-size: 1.875em;
    margin: 0 0 15px;
    padding: 0;
    color: #234a71; }
  .entry-content h3 {
    font-size: 1.5625em;
    margin: 0 0 15px;
    padding: 0;
    color: #234a71; }
  .entry-content p {
    color: #787878;
    margin: 0 0 15px;
    font-size: 1em;
    line-height: 150%; }
    .entry-content p + h1, .entry-content p + h2, .entry-content p + h3, .entry-content p + h4, .entry-content p + h5, .entry-content p + h6 {
      margin-top: 30px; }
  .entry-content a {
    color: #234a71;
    text-decoration: underline; }
    .entry-content a:hover {
      text-decoration: none; }
  .entry-content img {
    border-radius: 8px; }
  .entry-content .aligncenter, .entry-content .alignnone {
    margin: auto auto;
    float: none;
    display: table; }
    @media print, screen and (min-width: 48em) {
      .entry-content .aligncenter, .entry-content .alignnone {
        max-width: 540px; } }
    .entry-content .aligncenter > *, .entry-content .alignnone > * {
      clear: both;
      display: block;
      margin-top: 40px; }
  .entry-content .alignleft {
    float: left; }
    @media print, screen and (min-width: 48em) {
      .entry-content .alignleft {
        margin: 0 40px 40px 0;
        max-width: 300px; } }
  .entry-content .alignright {
    float: right; }
    @media print, screen and (min-width: 48em) {
      .entry-content .alignright {
        margin: 0 0 40px 40px;
        max-width: 300px; } }
  .entry-content ul, .entry-content ol {
    margin: 0;
    padding: 0 0 15px 40px;
    font-size: 1em;
    line-height: 150%; }
    .entry-content ul li, .entry-content ol li {
      margin: 0 0 8px;
      padding: 0; }
      .entry-content ul li:last-of-type, .entry-content ol li:last-of-type {
        margin: 0; }
  .entry-content figure.wp-caption {
    width: auto; }
    .entry-content figure.wp-caption a {
      display: block; }
    .entry-content figure.wp-caption img {
      max-width: 100%;
      height: auto; }
  .entry-content figure .wp-caption-text {
    font-size: .7em;
    padding: 25px 15px;
    border-bottom: 1px solid #aeaeae;
    margin: 0 0 30px; }
  .entry-content .more-link {
    display: inline-block;
    background: #234a71;
    padding: 10px 20px;
    color: #fff;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.75em;
    margin: 25px 0;
    text-decoration: none;
    transition: all 200ms; }
    .entry-content .more-link:hover {
      background: #295784; }

.gallery {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-align: stretch;
      align-items: stretch;
  margin: 40px auto; }
  .gallery figure.gallery-item {
    margin: 10px;
    background: #f0f0f0;
    border-radius: 5px;
    overflow: hidden;
    border: 2px solid #ececec;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: center;
        justify-content: center; }
    .gallery figure.gallery-item a {
      display: block; }
    .gallery figure.gallery-item .gallery-icon {
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center;
      -ms-flex-pack: center;
          justify-content: center; }
    .gallery figure.gallery-item figcaption.gallery-caption {
      margin: 0;
      border-bottom: 0;
      background: #eaeaea;
      text-align: center;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto; }
      .gallery figure.gallery-item figcaption.gallery-caption h4 {
        color: #b20939;
        margin: 0 0 5px;
        padding: 0;
        font-size: 1.25em; }
      .gallery figure.gallery-item figcaption.gallery-caption strong {
        color: #2C3840;
        margin: 0 0 5px;
        display: block; }

.gallery.gallery-columns-1 figure.gallery-item {
  -ms-flex: 0 1 calc(100% - 20px);
      flex: 0 1 calc(100% - 20px);
  width: calc(100% - 20px); }

.gallery.gallery-columns-2 figure.gallery-item {
  -ms-flex: 0 1 calc(100% - 20px);
      flex: 0 1 calc(100% - 20px);
  width: calc(100% - 20px); }

.gallery.gallery-columns-3 figure.gallery-item {
  -ms-flex: 0 1 calc(100% - 20px);
      flex: 0 1 calc(100% - 20px);
  width: calc(100% - 20px); }

.gallery.gallery-columns-4 figure.gallery-item {
  -ms-flex: 0 1 calc(100% - 20px);
      flex: 0 1 calc(100% - 20px);
  width: calc(100% - 20px); }

.gallery.gallery-columns-5 figure.gallery-item {
  -ms-flex: 0 1 calc(100% - 20px);
      flex: 0 1 calc(100% - 20px);
  width: calc(100% - 20px); }

.gallery.gallery-columns-6 figure.gallery-item {
  -ms-flex: 0 1 calc(100% - 20px);
      flex: 0 1 calc(100% - 20px);
  width: calc(100% - 20px); }

.gallery.gallery-columns-7 figure.gallery-item {
  -ms-flex: 0 1 calc(100% - 20px);
      flex: 0 1 calc(100% - 20px);
  width: calc(100% - 20px); }

.gallery.gallery-columns-8 figure.gallery-item {
  -ms-flex: 0 1 calc(100% - 20px);
      flex: 0 1 calc(100% - 20px);
  width: calc(100% - 20px); }

.gallery.gallery-columns-9 figure.gallery-item {
  -ms-flex: 0 1 calc(100% - 20px);
      flex: 0 1 calc(100% - 20px);
  width: calc(100% - 20px); }

@media print, screen and (min-width: 48em) {
  .gallery.gallery-columns-1 figure.gallery-item {
    -ms-flex: 0 1 calc(50% - 20px);
        flex: 0 1 calc(50% - 20px);
    width: calc(50% - 20px); }
  .gallery.gallery-columns-2 figure.gallery-item {
    -ms-flex: 0 1 calc(50% - 20px);
        flex: 0 1 calc(50% - 20px);
    width: calc(50% - 20px); }
  .gallery.gallery-columns-3 figure.gallery-item {
    -ms-flex: 0 1 calc(50% - 20px);
        flex: 0 1 calc(50% - 20px);
    width: calc(50% - 20px); }
  .gallery.gallery-columns-4 figure.gallery-item {
    -ms-flex: 0 1 calc(50% - 20px);
        flex: 0 1 calc(50% - 20px);
    width: calc(50% - 20px); }
  .gallery.gallery-columns-5 figure.gallery-item {
    -ms-flex: 0 1 calc(50% - 20px);
        flex: 0 1 calc(50% - 20px);
    width: calc(50% - 20px); }
  .gallery.gallery-columns-6 figure.gallery-item {
    -ms-flex: 0 1 calc(50% - 20px);
        flex: 0 1 calc(50% - 20px);
    width: calc(50% - 20px); }
  .gallery.gallery-columns-7 figure.gallery-item {
    -ms-flex: 0 1 calc(50% - 20px);
        flex: 0 1 calc(50% - 20px);
    width: calc(50% - 20px); }
  .gallery.gallery-columns-8 figure.gallery-item {
    -ms-flex: 0 1 calc(50% - 20px);
        flex: 0 1 calc(50% - 20px);
    width: calc(50% - 20px); }
  .gallery.gallery-columns-9 figure.gallery-item {
    -ms-flex: 0 1 calc(50% - 20px);
        flex: 0 1 calc(50% - 20px);
    width: calc(50% - 20px); } }

@media print, screen and (min-width: 64em) {
  .gallery.gallery-columns-1 figure.gallery-item {
    -ms-flex: 0 1 calc(100% - 20px);
        flex: 0 1 calc(100% - 20px);
    width: calc(100% - 20px); }
  .gallery.gallery-columns-2 figure.gallery-item {
    -ms-flex: 0 1 calc(50% - 20px);
        flex: 0 1 calc(50% - 20px);
    width: calc(50% - 20px); }
  .gallery.gallery-columns-3 figure.gallery-item {
    -ms-flex: 0 1 calc(33.33333% - 20px);
        flex: 0 1 calc(33.33333% - 20px);
    width: calc(33.33333% - 20px); }
  .gallery.gallery-columns-4 figure.gallery-item {
    -ms-flex: 0 1 calc(25% - 20px);
        flex: 0 1 calc(25% - 20px);
    width: calc(25% - 20px); }
  .gallery.gallery-columns-5 figure.gallery-item {
    -ms-flex: 0 1 calc(20% - 20px);
        flex: 0 1 calc(20% - 20px);
    width: calc(20% - 20px); }
  .gallery.gallery-columns-6 figure.gallery-item {
    -ms-flex: 0 1 calc(16.66667% - 20px);
        flex: 0 1 calc(16.66667% - 20px);
    width: calc(16.66667% - 20px); }
  .gallery.gallery-columns-7 figure.gallery-item {
    -ms-flex: 0 1 calc(14.28571% - 20px);
        flex: 0 1 calc(14.28571% - 20px);
    width: calc(14.28571% - 20px); }
  .gallery.gallery-columns-8 figure.gallery-item {
    -ms-flex: 0 1 calc(12.5% - 20px);
        flex: 0 1 calc(12.5% - 20px);
    width: calc(12.5% - 20px); }
  .gallery.gallery-columns-9 figure.gallery-item {
    -ms-flex: 0 1 calc(11.11111% - 20px);
        flex: 0 1 calc(11.11111% - 20px);
    width: calc(11.11111% - 20px); } }

.reveal.searchModal {
  overflow-x: hidden;
  padding: 0;
  border-radius: 6px; }
  @media print, screen and (min-width: 48em) {
    .reveal.searchModal {
      width: 65%; } }
  .reveal.searchModal .product-search {
    background-color: #f0f0f0;
    padding: 20px; }
    @media print, screen and (min-width: 48em) {
      .reveal.searchModal .product-search {
        /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#e8e8e8+45,f4f4f4+45 */
        background: #f0f0f0;
        /* Old browsers */ } }
    @media screen and (max-width: 47.99875em) {
      .reveal.searchModal .product-search {
        padding-bottom: 80px; } }
    @media screen and (min-width: 75em) {
      .reveal.searchModal .product-search {
        padding: 20px; } }
    .reveal.searchModal .product-search .search-bar__wrapper {
      width: 100%;
      margin-bottom: 20px; }
      @media print, screen and (min-width: 48em) {
        .reveal.searchModal .product-search .search-bar__wrapper {
          margin-bottom: 0;
          max-width: 680px;
          width: 65%; }
          .reveal.searchModal .product-search .search-bar__wrapper--full-width {
            width: 100%;
            max-width: none; } }
    .reveal.searchModal .product-search .search-bar__form {
      padding: 4px 4px 4px 20px; }
      @media screen and (max-width: 74.99875em) {
        .reveal.searchModal .product-search .search-bar__form {
          display: -ms-flexbox;
          display: flex;
          -ms-flex-align: center;
              align-items: center; } }
      @media print, screen and (min-width: 48em) {
        .reveal.searchModal .product-search .search-bar__form {
          padding: 4px 4px 4px 30px; } }
    .reveal.searchModal .product-search .search-bar__form-submit {
      overflow: hidden;
      height: auto;
      width: auto;
      text-indent: 0;
      background-image: none;
      background-size: auto;
      background-position: center;
      background-repeat: no-repeat;
      font-size: 0.9375em;
      border-radius: 3px;
      color: #fefefe;
      cursor: pointer;
      display: block;
      font-weight: bold;
      padding: 12px 25px;
      text-align: center;
      text-transform: uppercase;
      transition: all 200ms;
      position: relative;
      z-index: 1;
      background: #b20939; }
      .reveal.searchModal .product-search .search-bar__form-submit:after {
        display: block;
        content: "";
        z-index: -1;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        background: linear-gradient(to bottom, #c5466a 0%, #b20939 100%);
        opacity: 1;
        transition: all 200ms; }
      @media screen and (max-width: 47.99875em) {
        .reveal.searchModal .product-search .search-bar__form-submit {
          position: absolute;
          bottom: 20px;
          left: 50%;
          transform: translateX(-50%);
          width: calc(100% - 40px); } }
      @media print, screen and (min-width: 48em) {
        .reveal.searchModal .product-search .search-bar__form-submit:hover {
          color: #fefefe; }
          .reveal.searchModal .product-search .search-bar__form-submit:hover:after {
            opacity: 0; } }
  .reveal.searchModal .search-results {
    position: relative; }
    .reveal.searchModal .search-results.active {
      padding: 20px 40px; }
    .reveal.searchModal .search-results:after {
      width: 1px;
      background: #f0f0f0;
      content: "";
      position: absolute;
      top: 20px;
      bottom: 20px;
      left: 50%; }
    .reveal.searchModal .search-results h4 {
      font-size: 1.0625em;
      color: #b20939;
      margin: 10px 0 20px; }
    .reveal.searchModal .search-results__post {
      padding-left: 40px;
      padding-right: 40px; }
      .reveal.searchModal .search-results__post ul {
        margin: 0;
        padding: 0;
        list-style: none; }
        .reveal.searchModal .search-results__post ul li {
          margin: 0 0 24px;
          padding: 0;
          list-style: none;
          /*&::before {
              top: 50%;
              margin-top: -5px;
            }*/ }
          .reveal.searchModal .search-results__post ul li a {
            display: -ms-flexbox;
            display: flex;
            -ms-flex-align: center;
                align-items: center;
            color: #234a71;
            font-size: 0.8125em; }
            .reveal.searchModal .search-results__post ul li a img {
              width: 70px;
              height: 70px;
              object-fit: contain;
              border-radius: 6px;
              background: #f5f5f5;
              margin-left: 15px; }
            .reveal.searchModal .search-results__post ul li a span {
              -ms-flex: 0 1 auto;
                  flex: 0 1 auto;
              margin-left: 15px; }
    .reveal.searchModal .search-results__page {
      padding-left: 40px;
      padding-right: 40px; }
      .reveal.searchModal .search-results__page ul {
        margin: 0;
        padding: 0;
        list-style: none; }
        .reveal.searchModal .search-results__page ul li {
          margin: 0 0 24px;
          padding: 0;
          list-style: none; }
          .reveal.searchModal .search-results__page ul li a {
            display: -ms-flexbox;
            display: flex;
            -ms-flex-align: center;
                align-items: center;
            color: #234a71;
            font-size: 0.8125em; }
            .reveal.searchModal .search-results__page ul li a img {
              width: 70px;
              height: 70px;
              object-fit: contain;
              border-radius: 6px;
              background: #f5f5f5;
              margin-left: 15px; }
            .reveal.searchModal .search-results__page ul li a span {
              -ms-flex: 0 1 auto;
                  flex: 0 1 auto;
              margin-left: 15px; }
          .reveal.searchModal .search-results__page ul li::before {
            top: 50%;
            margin-top: -5px; }

.price {
  white-space: nowrap; }

.shortcodeSKU {
  display: none; }

.usd_price {
  display: inline-block; }

.gbp_price {
  display: none; }

.eur_price {
  display: none; }

.euralt_price {
  display: none; }

html[lang="es-MX"] .usd_price {
  display: inline-block; }

html[lang="es-MX"] .gbp_price {
  display: none; }

html[lang="es-MX"] .eur_price {
  display: none; }

html[lang="es-MX"] .euralt_price {
  display: none; }

html[lang="en-GB"] .usd_price {
  display: none; }

html[lang="en-GB"] .gbp_price {
  display: inline-block; }

html[lang="en-GB"] .eur_price {
  display: none; }

html[lang="en-GB"] .euralt_price {
  display: none; }

html[lang="en-EU"] .usd_price {
  display: none; }

html[lang="en-EU"] .gbp_price {
  display: none; }

html[lang="en-EU"] .eur_price {
  display: inline-block; }

html[lang="en-EU"] .euralt_price {
  display: none; }

html[lang="de-DE"] .usd_price, html[lang="it-IT"] .usd_price, html[lang="es-ES"] .usd_price, html[lang="fr-FR"] .usd_price {
  display: none; }

html[lang="de-DE"] .gbp_price, html[lang="it-IT"] .gbp_price, html[lang="es-ES"] .gbp_price, html[lang="fr-FR"] .gbp_price {
  display: none; }

html[lang="de-DE"] .eur_price, html[lang="it-IT"] .eur_price, html[lang="es-ES"] .eur_price, html[lang="fr-FR"] .eur_price {
  display: none; }

html[lang="de-DE"] .euralt_price, html[lang="it-IT"] .euralt_price, html[lang="es-ES"] .euralt_price, html[lang="fr-FR"] .euralt_price {
  display: inline-block; }

.masthead--bg:not(.masthead--simple):not(.masthead--support):not(.masthead--blog) .company-logo {
  background-image: url("../images/svg/hope-logo.svg");
  background-size: contain;
  /*html[lang="en-EU"] & {
      background-image: url("../images/svg/hope-logo-eu.svg");
	}*/
  /*html[lang="en-GB"] & {
      background-image: url("../images/svg/hope-logo-gb.svg");		
	}*/ }
  html[lang="de-DE"] .masthead--bg:not(.masthead--simple):not(.masthead--support):not(.masthead--blog) .company-logo {
    background-image: url("../images/svg/hope-logo-de.svg"); }
  html[lang="it-IT"] .masthead--bg:not(.masthead--simple):not(.masthead--support):not(.masthead--blog) .company-logo {
    background-image: url("../images/svg/hope-logo-it.svg"); }
  html[lang="es-ES"] .masthead--bg:not(.masthead--simple):not(.masthead--support):not(.masthead--blog) .company-logo, html[lang="es-MX"] .masthead--bg:not(.masthead--simple):not(.masthead--support):not(.masthead--blog) .company-logo {
    background-image: url("../images/svg/hope-logo-es.svg"); }
  html[lang="fr-FR"] .masthead--bg:not(.masthead--simple):not(.masthead--support):not(.masthead--blog) .company-logo {
    background-image: url("../images/svg/hope-logo-fr.svg"); }

.masthead--nobg .company-logo,
.masthead--simple .company-logo,
.masthead--support .company-logo,
.masthead--blog .company-logo {
  background-image: url("../images/svg/hope-logo-color.svg");
  /*html[lang="en-EU"] & {
      background-image: url("../images/svg/hope-logo-color-eu.svg");
	}*/
  /*html[lang="en-GB"] & {
      background-image: url("../images/svg/hope-logo-color-gb.svg");		
	}*/ }
  html[lang="de-DE"] .masthead--nobg .company-logo, html[lang="de-DE"]
  .masthead--simple .company-logo, html[lang="de-DE"]
  .masthead--support .company-logo, html[lang="de-DE"]
  .masthead--blog .company-logo {
    background-image: url("../images/svg/hope-logo-color-de.svg"); }
  html[lang="it-IT"] .masthead--nobg .company-logo, html[lang="it-IT"]
  .masthead--simple .company-logo, html[lang="it-IT"]
  .masthead--support .company-logo, html[lang="it-IT"]
  .masthead--blog .company-logo {
    background-image: url("../images/svg/hope-logo-color-it.svg"); }
  html[lang="es-ES"] .masthead--nobg .company-logo, html[lang="es-MX"] .masthead--nobg .company-logo, html[lang="es-ES"]
  .masthead--simple .company-logo, html[lang="es-MX"]
  .masthead--simple .company-logo, html[lang="es-ES"]
  .masthead--support .company-logo, html[lang="es-MX"]
  .masthead--support .company-logo, html[lang="es-ES"]
  .masthead--blog .company-logo, html[lang="es-MX"]
  .masthead--blog .company-logo {
    background-image: url("../images/svg/hope-logo-color-es.svg"); }
  html[lang="fr-FR"] .masthead--nobg .company-logo, html[lang="fr-FR"]
  .masthead--simple .company-logo, html[lang="fr-FR"]
  .masthead--support .company-logo, html[lang="fr-FR"]
  .masthead--blog .company-logo {
    background-image: url("../images/svg/hope-logo-color-fr.svg"); }

.btn {
  font-size: 0.9375em;
  border-radius: 3px;
  color: #fefefe;
  cursor: pointer;
  display: block;
  font-weight: bold;
  padding: 12px 0;
  text-align: center;
  text-transform: uppercase;
  transition: all 200ms;
  overflow: hidden;
  position: relative;
  z-index: 1; }
  .btn--navy-blue {
    background-color: #234a71; }
    @media print, screen and (min-width: 48em) {
      .btn--navy-blue:hover {
        background-color: #1d3d5e; } }
  .btn__gray-disable {
    pointer-events: none;
    background-color: #787878; }
  .btn__red-gradient {
    background: #b20939; }
    .btn__red-gradient:after {
      display: block;
      content: "";
      z-index: -1;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      background: linear-gradient(to bottom, #c5466a 0%, #b20939 100%);
      filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#c5466a", endColorstr="#b20939", GradientType=0 );
      opacity: 1;
      transition: all 200ms; }
    @media print, screen and (min-width: 48em) {
      .btn__red-gradient:hover, .btn__red-gradient:focus {
        color: #fefefe; }
        .btn__red-gradient:hover:after, .btn__red-gradient:focus:after {
          opacity: 0; } }
  .btn__invert {
    transition: ease all 0.3s;
    display: block;
    padding: 10px 0; }
    .btn__invert--white {
      border: 2px solid #fefefe; }
      @media print, screen and (min-width: 48em) {
        .btn__invert--white:hover {
          background-color: #fefefe;
          color: #0a0a0a; } }
    .btn__invert--blue {
      border: 2px solid #234a71;
      color: #234a71; }
      @media print, screen and (min-width: 48em) {
        .btn__invert--blue:hover {
          background-color: #234a71;
          color: #fefefe; } }
      .btn__invert--blue.is-active {
        background-color: #204468;
        color: #fefefe; }

.main-container {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 76.25rem;
  margin: 0 auto; }
  @media print, screen and (min-width: 40em) {
    .main-container {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }

.main-grid {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap;
  margin-top: 1rem; }
  @media print, screen and (min-width: 40em) {
    .main-grid {
      margin-top: 3rem; } }
  .main-grid.sidebar-left .main-content {
    -ms-flex-order: 1;
        order: 1; }
  .main-grid.sidebar-left .sidebar {
    -ms-flex-order: 2;
        order: 2; }
  @media print, screen and (min-width: 40em) {
    .main-grid.sidebar-left .main-content {
      -ms-flex-order: 2;
          order: 2; }
    .main-grid.sidebar-left .sidebar {
      -ms-flex-order: 1;
          order: 1; } }
  .main-grid .main-content-full-width {
    width: calc(100% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
  .main-grid .main-content {
    width: calc(100% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .main-grid .main-content {
        width: calc(66.66667% - 1.875rem);
        margin-right: 0.9375rem;
        margin-left: 0.9375rem; } }
  .main-grid .sidebar {
    width: calc(100% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .main-grid .sidebar {
        width: calc(33.33333% - 1.875rem);
        margin-right: 0.9375rem;
        margin-left: 0.9375rem;
        margin-top: 1rem; } }

.footer-container {
  background: #234a71;
  position: relative;
  z-index: 1; }
  @media print, screen and (min-width: 64em) {
    .footer-container {
      background: linear-gradient(to right, #234a71, #234a71 50%, #204468 50%, #204468 100%); } }

.main-footer {
  background-color: #234a71;
  letter-spacing: .05em;
  width: 90%;
  max-width: 1220px;
  margin: 0 auto; }
  @media print, screen and (min-width: 64em) {
    .main-footer {
      -ms-flex-align: stretch;
          align-items: stretch;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: center;
          justify-content: center;
      /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#234a71+62,234a71+62,204468+65,204468+65 */
      background: #234a71;
      /* Old browsers */
      /* FF3.6-15 */
      /* Chrome10-25,Safari5.1-6 */
      background: linear-gradient(to right, #234a71 70%, #234a71 70%, #204468 70%, #204468 70%);
      /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
      filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#234a71', endColorstr='#204468',GradientType=1 );
      /* IE6-9 */ } }
  .main-footer__heading {
    font-size: 1em; }
    .main-footer__heading a {
      font-size: 12px;
      line-height: 14px;
      padding: 20px 40px;
      display: block; }
    @media print, screen and (min-width: 64em) {
      .main-footer__heading {
        font-size: 0.875em;
        font-weight: 700;
        text-transform: uppercase; }
        .main-footer__heading a {
          padding: 0; } }
    .main-footer__heading a {
      color: #6b96be;
      text-decoration: none; }
  .main-footer__nav {
    padding: 20px 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -ms-flex-pack: justify;
        justify-content: space-between; }
    .main-footer__nav .award-col {
      -ms-flex-preferred-size: 125px;
          flex-basis: 125px;
      margin: 0px 53.5px 0px 3.5px; }
      .main-footer__nav .award-col img {
        width: 100%; }
      .main-footer__nav .award-col p {
        color: white;
        letter-spacing: 0px;
        font-size: 12px;
        line-height: 14px;
        text-align: center;
        margin-top: 27px; }
    @media print, screen and (min-width: 64em) {
      .main-footer__nav {
        padding: 100px 0;
        width: 81%;
        gap: 28px; } }
  .main-footer__nav-wrap {
    -ms-flex-positive: 1;
        flex-grow: 1;
    gap: 10px; }
    @media print, screen and (min-width: 64em) {
      .main-footer__nav-wrap {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: justify;
            justify-content: space-between;
        gap: 64px; } }
    .main-footer__nav-wrap > li {
      font-weight: 700;
      -ms-flex-positive: 1;
          flex-grow: 1;
      /*
      &:first-of-type {
        flex-basis: 184px;
      }
      &:nth-of-type(2) {
        flex-basis: 92px;
      }
      &:last-of-type {
        flex-basis: 120px;
      }
      */ }
      .main-footer__nav-wrap > li > a {
        font-size: 12px;
        line-height: 14px;
        letter-spacing: 1px;
        display: block;
        padding: 20px 40px;
        color: #6b96be; }
        @media print, screen and (min-width: 64em) {
          .main-footer__nav-wrap > li > a {
            text-decoration: none;
            text-transform: uppercase;
            padding: 0; } }
      .main-footer__nav-wrap > li > ul {
        display: none; }
        @media print, screen and (min-width: 64em) {
          .main-footer__nav-wrap > li > ul {
            display: block; } }
      .main-footer__nav-wrap > li > ul li {
        font-weight: 400;
        margin-top: 18px; }
        .main-footer__nav-wrap > li > ul li a {
          color: #fefefe;
          text-transform: uppercase;
          font-size: 11px;
          line-height: 13px;
          letter-spacing: 0.3px; }
  .main-footer .company-info {
    background-color: #204468;
    display: none; }
    .main-footer .company-info p {
      font-size: 0.6875em;
      line-height: 13px;
      color: #fefefe;
      line-height: 1.666666667; }
    @media print, screen and (min-width: 64em) {
      .main-footer .company-info {
        display: block;
        padding: 100px 60px;
        width: 33.3%;
        max-width: 470px; } }
  .main-footer .social-info {
    display: inline-block;
    list-style: none;
    margin: 10px 0 0 0;
    padding: 25px 0 0 0;
    border-top: 1px solid rgba(255, 255, 255, 0.2); }
    .main-footer .social-info li {
      margin: 0;
      padding: 0 20px 0 0;
      display: inline-block;
      list-style: none; }
      .main-footer .social-info li:last-of-type {
        padding: 0; }
      .main-footer .social-info li a img {
        width: auto;
        height: 22px;
        opacity: .6;
        transition: all 200ms; }
      .main-footer .social-info li a:hover img {
        opacity: 1; }

.disclaimer {
  padding: 32px 0;
  background-color: #fefefe;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  gap: 32px 44px;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .disclaimer ul {
    text-align: center;
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%; }
  .disclaimer li {
    font-size: 0.75em;
    color: #234a71;
    display: inline-block; }
    .disclaimer li:first-of-type {
      display: block; }
    .disclaimer li:last-child {
      border-left: 1px solid rgba(35, 74, 113, 0.5);
      margin-left: 12px;
      padding-left: 12px; }
    .disclaimer li.disclaimer__city {
      display: block; }
  .disclaimer a {
    color: #234a71; }
  @media print, screen and (min-width: 64em) {
    .disclaimer {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
      .disclaimer ul {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: center;
            justify-content: center;
        -ms-flex-preferred-size: unset;
            flex-basis: unset; }
      .disclaimer li {
        margin-left: 12px;
        padding-left: 12px;
        border-left: 1px solid rgba(35, 74, 113, 0.5); }
        .disclaimer li:first-of-type {
          display: inline-block; }
        .disclaimer li:first-child {
          border-left: 0;
          padding-left: 0;
          margin-left: 0; } }

body#tinymce {
  height: auto;
  max-width: 76.25rem;
  padding: 1.25rem !important; }

.pivot-container {
  margin-left: -5px;
  margin-right: -5px; }
  .pivot-container div.cell {
    margin-left: 0;
    margin-right: 0;
    padding: 0 5px;
    margin-bottom: 10px;
    width: 50%; }
    @media print, screen and (min-width: 48em) {
      .pivot-container div.cell {
        width: 33.3333%; } }

.pivot {
  display: block;
  text-align: center;
  border: 1px #b3b3b3 solid;
  font-size: 0.6875rem;
  color: #787878;
  transition: all 100ms; }
  .pivot:hover {
    color: #fefefe;
    background-color: #787878; }
    .pivot:hover .pivot__value {
      background-color: #6d6d6d; }
  .pivot.active {
    font-weight: bold;
    background-color: #234a71;
    color: #fefefe; }
    .pivot.active:hover {
      background-color: #234a71;
      cursor: default; }
      .pivot.active:hover .pivot__value {
        background: #204468; }
    .pivot.active .pivot__value {
      background: #204468; }
  .pivot__key {
    font-size: 0.9375rem;
    transition: all 100ms;
    padding: 6px 2px; }
  .pivot__value {
    background: #f0f0f0;
    transition: all 100ms;
    padding: 4px 2px;
    width: 100%; }

.configurator-text {
  display: none;
  padding: 0 20px 10px; }
  .configurator-text.is-active {
    display: block; }
  .configurator-text ul li {
    font-size: 0.75em;
    margin: 0 0 12px;
    padding: 0 0 0 20px; }

.demo-image, .media-entry img, .media-entry iframe, .media-link img {
  width: 90%;
  height: auto;
  margin-left: auto;
  margin-right: auto; }
  .demo-image.hidden, .media-entry img.hidden, .media-entry iframe.hidden, .media-link img.hidden {
    display: none; }

.image-nav a {
  display: block;
  margin-bottom: 5px; }

.image-container {
  text-align: center; }

.products-block .dropdowns-container {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-left: -5px;
  margin-right: -5px;
  margin-bottom: 15px; }
  .products-block .dropdowns-container .ddl-wrapper {
    -ms-flex: 1 0 auto;
        flex: 1 0 auto;
    padding: 5px;
    max-width: 100%; }
    .products-block .dropdowns-container .ddl-wrapper[data-att='Power'] {
      -ms-flex: 1 0 100%;
          flex: 1 0 100%; }
      @media print, screen and (min-width: 48em) {
        .products-block .dropdowns-container .ddl-wrapper[data-att='Power'] {
          -ms-flex: 1 0 auto;
              flex: 1 0 auto; } }
    .products-block .dropdowns-container .ddl-wrapper[data-att='Window'] {
      -ms-flex: 2 0 auto;
          flex: 2 0 auto; }
    .products-block .dropdowns-container .ddl-wrapper[data-att='Bezel Material'] {
      -ms-flex: 1 0 100%;
          flex: 1 0 100%; }
    .products-block .dropdowns-container .ddl-wrapper select {
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
      background: #fff;
      border: 1px solid #b3b3b3;
      color: #787878;
      font-size: 0.875em;
      padding: 15px 40px 15px 10px;
      background-image: url("../images/svg/ddl-accent.svg");
      background-position: calc(100% - 15px) center;
      background-size: 15px;
      background-repeat: no-repeat; }

.products-block h5.miniconfig-labels {
  font-size: 0.6875em;
  margin-bottom: 5px; }

.products-block h6.media--caption {
  font-weight: 300;
  font-size: .7em;
  margin: 15px 0;
  text-align: left; }

.zoomContainer {
  z-index: 99; }

.zoomWindow {
  box-shadow: 0 0 50px rgba(0, 0, 0, 0.2); }

.zoomWindowContainer, .zoomContainer {
  width: 0 !important;
  height: 0 !important; }

.flexible-content.accordions {
  padding: 20px 0; }
  @media print, screen and (min-width: 48em) {
    .flexible-content.accordions {
      padding: 40px 0; } }

.block-carousel {
  padding: 45px 0;
  position: relative; }
  @media print, screen and (min-width: 40em) {
    .block-carousel {
      padding: 60px 0; } }
  .block-carousel__heading {
    font-size: 1.875rem;
    color: #234a71;
    text-align: center; }
    @media print, screen and (min-width: 40em) {
      .block-carousel__heading {
        font-size: 2.5rem; } }
  .block-carousel__carousel {
    margin-top: 70px; }
  .block-carousel__carousel-item {
    border: 2px solid #787878;
    margin: 45px auto 0;
    padding: 65px 10% 30px;
    position: relative;
    width: 288px; }
    @media print, screen and (min-width: 40em) {
      .block-carousel__carousel-item {
        padding: 105px 90px 70px;
        width: 600px; } }
    @media screen and (min-width: 75em) {
      .block-carousel__carousel-item {
        padding: 105px 90px 70px;
        width: 780px; } }
  .block-carousel__carousel-item.has-icon::before {
    content: "";
    position: absolute;
    top: -45px;
    left: 50%;
    margin-left: -60px;
    height: 90px;
    width: 120px;
    background-position: center;
    background-color: #fefefe;
    background-size: contain;
    display: block;
    background-repeat: no-repeat; }
  .block-carousel__carousel-pagination {
    position: absolute;
    width: 928px;
    margin: 0 auto;
    height: 48px;
    top: 60%;
    left: 50%;
    margin-left: -464px;
    display: none; }
    @media print, screen and (min-width: 40em) {
      .block-carousel__carousel-pagination {
        display: block; } }
  .block-carousel .slick-slide {
    margin: 0 15px;
    opacity: .3;
    transform: scale(0.9);
    transition: ease all 0.3s;
    width: 288px; }
    @media print, screen and (min-width: 40em) {
      .block-carousel .slick-slide {
        width: 600px; } }
    @media screen and (min-width: 75em) {
      .block-carousel .slick-slide {
        margin: 0 60px;
        width: 780px; } }
  .block-carousel .slick-current {
    opacity: 1;
    transform: scale(1); }
  .block-carousel .slick-arrow {
    position: absolute;
    top: 50%;
    margin-top: -24px;
    height: 48px;
    width: 26px;
    background-position: center;
    background-repeat: no-repeat;
    text-indent: 10000%;
    overflow: hidden;
    background-size: contain;
    transition: all 200ms;
    cursor: pointer; }
    .block-carousel .slick-arrow.slick-prev {
      background-image: url("../images/png/left-arrow@3x.png");
      left: 0; }
      .block-carousel .slick-arrow.slick-prev:hover {
        transform: translateX(-10px); }
    .block-carousel .slick-arrow.slick-next {
      background-image: url("../images/png/right-arrow@3x.png");
      right: 0; }
      .block-carousel .slick-arrow.slick-next:hover {
        transform: translateX(10px); }
  .block-carousel p {
    font-size: 1.25rem;
    color: #b20939;
    text-align: center; }

/*
.corporate-goals {
  padding: 45px 0;
  position: relative;

  @include breakpoint(tablet-vert) {
    padding: 90px 0;
  }

  &__heading {
    @include to-em(30px);
    color: $color-navy-blue;
    text-align: center;

    @include breakpoint(tablet-vert) {
      @include to-em(40px);
    }
  }

  &__carousel {
    margin-top: 70px;
  }

  &__carousel-item {
    border: 2px solid $text;
    margin: 45px auto 0;
    padding: 65px 10% 30px;
    position: relative;
    width: 288px;

    &::before {
      content: "";
      position: absolute;
      top: -45px;
      left: 50%;
      margin-left: -60px;
      height: 90px;
      width: 120px;
      background-image: url("../images/svg/corporate-goals-icon.svg");
      background-position: center;
      background-color: $color-white;
      background-size: contain;
      display: block;
      background-repeat: no-repeat;
    }

    @include breakpoint(tablet-vert) {
      padding: 105px 90px 70px;
      width: 600px;
    }

    @include breakpoint(xlarge) {
      width: 780px;
    }
  }

  &__carousel-pagination {
    position: absolute;
    width: 928px;
    border: 1px solid red;
    margin: 0 auto;
    height: 48px;
    top: 60%;
    left: 50%;
    margin-left: -464px;
    display: none;
  }

  .slick-slide {
    margin: 0 15px;
    opacity: .3;
    transform: scale(0.9);
    transition: ease all 0.3s;
    width: 288px;

    @include breakpoint(tablet-vert) {
      width: 600px;
    }

    @include breakpoint(xlarge) {
      margin: 0 60px;
      width: 780px;
    }
  }

  .slick-current {
    opacity: 1;
    transform: scale(1);
  }

  .slick-arrow {
    position: absolute;
    top: 50%;
    margin-top: -24px;
    height: 48px;
    width: 26px;
    background-position: center;
    background-repeat: no-repeat;
    text-indent: 10000%;
    overflow: hidden;
    background-size: contain;

    &.slick-prev {
      background-image: url("../images/svg/left-arrow@3x.png");
      left: 0;
    }

    &.slick-next {
      background-image: url("../images/svg/right-arrow@3x.png");
      right: 0;
    }
  }

  p {
    @include to-em(20px);
    color: $color-brilliant-red;
    text-align: center;
  }
}*/
/* .service-support  was removed because it was borking with the & refs */
.bulletin-points-icon {
  background-size: cover;
  background-position: top center;
  background-repeat: no-repeat;
  color: #fff;
  text-align: center;
  padding: 45px 0; }
  @media print, screen and (min-width: 48em) {
    .bulletin-points-icon {
      padding: 60px 0; } }
  .bulletin-points-icon__header {
    margin: 0 auto 75px;
    max-width: 760px;
    text-align: center; }
  .bulletin-points-icon__heading {
    font-weight: 800;
    margin-bottom: 25px; }
  @media print, screen and (min-width: 35.5em) {
    .bulletin-points-icon__grid {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -ms-flex-pack: justify;
          justify-content: space-between; } }
  @media print, screen and (min-width: 57.5em) {
    .bulletin-points-icon__grid {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
      margin: 0 auto;
      max-width: 1120px; } }
  .bulletin-points-icon__grid-item {
    margin-bottom: 60px;
    padding-bottom: 80px;
    position: relative; }
    @media print, screen and (min-width: 57.5em) {
      .bulletin-points-icon__grid-item {
        margin-bottom: 0; }
        .bulletin-points-icon__grid-item:first-child .service-support__grid-item-image::before,
        .bulletin-points-icon__grid-item:first-child .bulletin-points__grid-item-image::before {
          display: none; } }
    .bulletin-points-icon__grid-item p {
      margin: 0 20px 0;
      font-size: .9em; }
    .bulletin-points-icon__grid-item:first-of-type > figure::before {
      display: none; }
  .bulletin-points-icon__grid-item-image {
    height: 95px;
    margin-bottom: 55px; }
    @media print, screen and (min-width: 57.5em) {
      .bulletin-points-icon__grid-item-image {
        position: relative; }
        .bulletin-points-icon__grid-item-image::before {
          background-color: #fefefe;
          content: '';
          height: 100px;
          left: 0;
          margin-top: -50px;
          position: absolute;
          top: 50%;
          width: 1px; } }
    .bulletin-points-icon__grid-item-image img {
      width: auto;
      height: 100%;
      display: block;
      margin: 0 auto;
      max-width: 130px;
      max-height: 90px; }
  .bulletin-points-icon .btn__invert {
    margin: 0 auto;
    width: 163px;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%); }

/* .experience-innovation was removed because it was borking with the & refs */
.bulletin-points {
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
  color: #fefefe;
  padding: 45px 0; }
  @media print, screen and (min-width: 48em) {
    .bulletin-points {
      padding: 60px 0; } }
  .bulletin-points__header {
    margin: 0 auto;
    max-width: 720px;
    text-align: center; }
  .bulletin-points__heading {
    font-weight: 700;
    margin-bottom: 25px; }
  @media print, screen and (min-width: 48em) {
    .bulletin-points__grid {
      -ms-flex-align: stretch;
          align-items: stretch;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -ms-flex-pack: justify;
          justify-content: space-between; } }
  .bulletin-points__grid-item {
    position: relative;
    padding-left: 32px;
    margin-top: 40px; }
    .bulletin-points__grid-item p {
      margin: 0; }
    .bulletin-points__grid-item a {
      color: #fff;
      text-decoration: underline; }
    .bulletin-points__grid-item::before {
      content: "";
      background-image: url("../images/svg/white-arrow-icon.svg");
      background-position: top center;
      background-repeat: no-repeat;
      display: block;
      height: 17px;
      left: 0;
      position: absolute;
      top: 3px;
      width: 17px; }
    @media print, screen and (min-width: 48em) {
      .bulletin-points__grid-item {
        width: 31.2%;
        margin-top: 55px;
        padding-left: 58px; }
        .bulletin-points__grid-item::before {
          left: 26px; }
        .bulletin-points__grid-item:nth-of-type(3n+1) {
          padding-left: 32px; }
          .bulletin-points__grid-item:nth-of-type(3n+1)::before {
            left: 0; } }

.client-carousel,
.company-grid,
.our-client {
  padding-bottom: 20px;
  background: #fff; }
  .client-carousel .slick-track,
  .company-grid .slick-track,
  .our-client .slick-track {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center; }
    .client-carousel .slick-track .client_logo,
    .company-grid .slick-track .client_logo,
    .our-client .slick-track .client_logo {
      padding: 0 15px; }
      .client-carousel .slick-track .client_logo img,
      .company-grid .slick-track .client_logo img,
      .our-client .slick-track .client_logo img {
        margin: auto;
        max-height: 120px;
        width: auto; }
  .client-carousel .slick-arrow,
  .company-grid .slick-arrow,
  .our-client .slick-arrow {
    width: 17px;
    height: 17px;
    border: 2px solid #aeaeae;
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    position: absolute;
    top: 50%;
    transform: translateY(-50%); }
    .client-carousel .slick-arrow.slick-next,
    .company-grid .slick-arrow.slick-next,
    .our-client .slick-arrow.slick-next {
      right: -50px;
      transform: translateY(-50%) rotate(45deg);
      border-width: 2px 2px 0 0px; }
    .client-carousel .slick-arrow.slick-prev,
    .company-grid .slick-arrow.slick-prev,
    .our-client .slick-arrow.slick-prev {
      left: -50px;
      transform: translateY(-50%) rotate(-45deg);
      border-width: 2px 0 0 2px; }
  .client-carousel__company-logos ul,
  .company-grid__company-logos ul,
  .our-client__company-logos ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: -ms-flexbox;
    display: flex; }
  .client-carousel__company-logos li,
  .company-grid__company-logos li,
  .our-client__company-logos li {
    margin: 0;
    padding: 0; }
  .client-carousel__company-logos img,
  .company-grid__company-logos img,
  .our-client__company-logos img {
    display: block;
    height: auto;
    width: 100%; }
  .client-carousel__heading,
  .company-grid__heading,
  .our-client__heading {
    margin-bottom: 15px; }

.company-grid {
  padding: 20px 0;
  background: #fff; }
  @media print, screen and (min-width: 48em) {
    .company-grid {
      padding: 60px; } }
  .company-grid .grid-x {
    -ms-flex-align: start;
        align-items: flex-start; }
  .company-grid__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    width: 100%;
    overflow: hidden; }
  .company-grid__list-item {
    margin: 0;
    padding: 0;
    width: 50%;
    -ms-flex: 0 1 50%;
        flex: 0 1 50%;
    position: relative;
    text-align: center;
    top: 1px;
    left: 1px; }
    .company-grid__list-item .logo-container {
      border-right: 1px solid rgba(174, 174, 174, 0.4);
      border-bottom: 1px solid rgba(174, 174, 174, 0.4); }
    .company-grid__list-item img {
      display: block; }
    @media print, screen and (min-width: 35.5em) {
      .company-grid__list-item {
        width: 33.33333%;
        -ms-flex: 0 1 33.33333%;
            flex: 0 1 33.33333%; } }
    @media print, screen and (min-width: 40em) {
      .company-grid__list-item {
        width: 25%;
        -ms-flex: 0 1 25%;
            flex: 0 1 25%; } }
    @media print, screen and (min-width: 48em) {
      .company-grid__list-item {
        width: 16.66667%;
        -ms-flex: 0 1 16.66667%;
            flex: 0 1 16.66667%; } }
    @media print, screen and (min-width: 57.5em) {
      .company-grid__list-item {
        width: 12.5%;
        -ms-flex: 0 1 12.5%;
            flex: 0 1 12.5%; } }
  .company-grid__list-item.active {
    position: relative;
    top: 1px;
    left: 1px; }
    @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
      .company-grid__list-item.active {
        left: 2px; } }
  .company-grid__list-item.inactive {
    display: none !important; }
  .company-grid__case-study {
    font-size: 0.625em;
    font-weight: 500;
    color: #234a71;
    text-transform: uppercase;
    text-align: center;
    display: block;
    position: absolute;
    left: 0;
    width: 100%;
    bottom: 15px;
    z-index: 2; }
  .company-grid .btn {
    width: 162px;
    margin: 65px auto 0;
    display: block; }
  .company-grid .sidebar-industries {
    display: none;
    padding-right: 20px; }
    @media print, screen and (min-width: 64em) {
      .company-grid .sidebar-industries {
        display: block; } }
    .company-grid .sidebar-industries h4 {
      font-size: 0.75em;
      text-transform: uppercase;
      margin: 0 0 30px 0;
      padding: 0 0 10px 0;
      border-bottom: 1px solid #aeaeae; }
  .company-grid .company-industry__list {
    margin: 0;
    padding: 0; }
  .company-grid .company-industry__list-item.is-active {
    font-weight: bold; }
    .company-grid .company-industry__list-item.is-active a.all-customers:after {
      display: none; }

.company-logo {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  display: block;
  height: 45px;
  width: 200px; }
  @media print, screen and (min-width: 25.875em) {
    .company-logo {
      width: 270px;
      height: 60px; } }

.masthead {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover; }
  .masthead .btn {
    display: inline-block;
    padding-left: 30px;
    padding-right: 30px;
    margin-top: 20px; }
  .masthead .masthead__sub-heading {
    font-size: 1em;
    letter-spacing: 0.02em; }
    .masthead .masthead__sub-heading + .btn {
      margin-top: 40px;
      margin-left: auto;
      margin-right: auto; }
    @media print, screen and (min-width: 48em) {
      .masthead .masthead__sub-heading {
        font-size: 1.09375em; }
        .masthead .masthead__sub-heading + .btn {
          margin-left: 0;
          margin-right: auto; } }
  .masthead--full, .masthead--home {
    height: 75vh;
    padding-bottom: 0; }
    @media print, screen and (min-width: 48em) {
      .masthead--full, .masthead--home {
        height: 85vh;
        min-height: 650px;
        padding-bottom: 120px; } }
    .masthead--full .masthead__sub-heading + .btn, .masthead--home .masthead__sub-heading + .btn {
      margin-top: 40px;
      margin-left: auto;
      margin-right: auto; }
    @media print, screen and (min-width: 48em) {
      .masthead--full .masthead__sub-heading + .btn, .masthead--home .masthead__sub-heading + .btn {
        margin-left: 0;
        margin-right: auto; } }
    .masthead--full + *, .masthead--home + * {
      background-color: #fefefe;
      margin: 0 auto;
      max-width: 1220px;
      width: 90%;
      z-index: 99;
      position: relative; }
      .masthead--full + *:after, .masthead--home + *:after {
        content: "";
        background: #fff;
        display: block;
        position: absolute;
        width: 100vw;
        transform: translateX(-50%);
        left: 50%;
        top: 0;
        bottom: 0;
        z-index: -1; }
      @media print, screen and (min-width: 48em) {
        .masthead--full + *, .masthead--home + * {
          border-radius: 8px 8px 0 0;
          margin-top: -200px !important;
          padding: 40px !important;
          position: relative;
          z-index: 1; }
          .masthead--full + * > .container, .masthead--home + * > .container {
            width: 100%; }
          .masthead--full + *:after, .masthead--home + *:after {
            top: 200px; } }
    .masthead--full:after, .masthead--home:after {
      content: "";
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 50%;
      z-index: 1;
      /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#000000+0,000000+100&1+0,0+100 */
      /* FF3.6-15 */
      /* Chrome10-25,Safari5.1-6 */
      background: linear-gradient(to bottom, black 0%, rgba(0, 0, 0, 0) 100%);
      /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
      opacity: .3; }
    .masthead--full section, .masthead--home section {
      position: relative;
      z-index: 2; }
    .masthead--full header, .masthead--home header {
      position: relative;
      z-index: 3; }
  .masthead--large, .masthead--about {
    height: 55vh;
    padding-bottom: 0; }
    .masthead--large .masthead__header, .masthead--about .masthead__header {
      z-index: 99; }
    @media print, screen and (min-width: 48em) {
      .masthead--large, .masthead--about {
        min-height: 500px;
        padding-bottom: 120px; } }
    .masthead--large .masthead__sub-heading + .btn, .masthead--about .masthead__sub-heading + .btn {
      margin-top: 0px;
      margin-left: auto;
      margin-right: auto; }
    @media print, screen and (min-width: 48em) {
      .masthead--large .masthead__sub-heading + .btn, .masthead--about .masthead__sub-heading + .btn {
        margin-left: 0;
        margin-right: auto; } }
    .masthead--large + *, .masthead--about + * {
      background-color: #fefefe;
      margin: 0 auto;
      max-width: 1220px;
      width: 90%;
      z-index: 99;
      position: relative; }
      .masthead--large + *:after, .masthead--about + *:after {
        content: "";
        background: #fff;
        display: block;
        position: absolute;
        width: 100vw;
        transform: translateX(-50%);
        left: 50%;
        top: 0;
        bottom: 0;
        z-index: -1; }
      @media print, screen and (min-width: 48em) {
        .masthead--large + *, .masthead--about + * {
          border-radius: 8px 8px 0 0;
          margin-top: -200px !important;
          padding: 40px !important;
          position: relative;
          z-index: 1; }
          .masthead--large + * > .container, .masthead--about + * > .container {
            width: 100%; }
          .masthead--large + *:after, .masthead--about + *:after {
            top: 200px; } }
    .masthead--large:after, .masthead--about:after {
      content: "";
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 50%;
      z-index: 1;
      /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#000000+0,000000+100&1+0,0+100 */
      /* FF3.6-15 */
      /* Chrome10-25,Safari5.1-6 */
      background: linear-gradient(to bottom, black 0%, rgba(0, 0, 0, 0) 100%);
      /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
      opacity: .3; }
    .masthead--large header, .masthead--large section, .masthead--about header, .masthead--about section {
      position: relative;
      z-index: 2; }
  .masthead--simple, .masthead--support, .masthead--blog {
    padding: 0; }
    .masthead--simple .masthead__header, .masthead--support .masthead__header, .masthead--blog .masthead__header {
      background: rgba(254, 254, 254, 0.9);
      z-index: 99;
      /*.company-logo {
        background-image: url("../images/svg/hope-logo-color.svg");
        background-size: contain;
      }*/ }
    @media print, screen and (min-width: 48em) {
      .masthead--simple .masthead__content-wrapper, .masthead--support .masthead__content-wrapper, .masthead--blog .masthead__content-wrapper {
        padding: 80px 0 20px; } }
  .masthead .masthead__content {
    padding-top: 0px; }
  .masthead--singlepost {
    background-image: url("../images/jpg/about-masthead-bg.jpg");
    padding-bottom: 0; }
    @media print, screen and (min-width: 48em) {
      .masthead--singlepost .masthead__content-wrapper {
        padding: 50px 0 20px; } }
    @media print, screen and (min-width: 48em) {
      .masthead--singlepost .masthead__content {
        max-width: 55%; } }
  .masthead--home {
    background-image: url("../images/jpg/home-masthead.jpg"); }
  .masthead--about {
    background-image: url("../images/jpg/about-masthead-bg.jpg"); }
  .masthead--customers {
    background-image: url("../images/jpg/customers-masthead-bg.jpg"); }
    @media print, screen and (min-width: 48em) {
      .masthead--customers {
        height: 545px; } }
  .masthead--contact {
    background-image: url("../images/jpg/contact-masthead-bg.jpg"); }
    @media print, screen and (min-width: 48em) {
      .masthead--contact {
        height: 532px; }
        .masthead--contact .masthead__content-wrapper--padded {
          -ms-flex-align: end;
              align-items: flex-end; } }
  .masthead--seo {
    background-image: url("../images/jpg/seo-landing-bg.jpg");
    padding-bottom: 60px; }
    .masthead--seo .masthead__content-wrapper {
      padding-top: 60px; }
    @media print, screen and (min-width: 48em) {
      .masthead--seo {
        height: 814px; }
        .masthead--seo .masthead__content-wrapper {
          padding-top: 0; }
        .masthead--seo .masthead__sub-heading {
          font-size: 1em; }
        .masthead--seo .masthead__content-wrapper {
          -ms-flex-align: center;
              align-items: center;
          display: -ms-flexbox;
          display: flex;
          -ms-flex-pack: justify;
              justify-content: space-between; } }
  .masthead--product-support {
    background-image: url("../images/png/product-support-bg.png"); }
    @media screen and (min-width: 75em) {
      .masthead--product-support .masthead__content-wrapper {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
            align-items: center;
        -ms-flex-pack: justify;
            justify-content: space-between; } }
  @media print, screen and (min-width: 48em) {
    .masthead--flexed .masthead__content-wrapper {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center;
      -ms-flex-pack: justify;
          justify-content: space-between; } }
  .masthead__heading {
    font-size: 1.75em;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 0.02em; }
    .masthead__heading span {
      font-weight: 400;
      font-size: 0.56em;
      display: block;
      margin-bottom: 10px; }
    @media print, screen and (min-width: 48em) {
      .masthead__heading {
        font-size: 2.5em; }
        .masthead__heading span {
          margin-bottom: 20px; } }
  .masthead__sub-heading {
    font-size: 0.9375em;
    letter-spacing: 0.02em;
    margin-top: 30px; }
    .masthead__sub-heading + .btn {
      margin-top: 40px;
      margin-left: auto;
      margin-right: auto; }
    @media print, screen and (min-width: 48em) {
      .masthead__sub-heading {
        font-size: 1.0625em; }
        .masthead__sub-heading + .btn {
          margin-left: 0;
          margin-right: auto; } }
  .masthead__text {
    font-size: 1.125em;
    font-weight: bold;
    line-height: 1.555555556; }
  .masthead__header {
    padding-top: 15px; }
    .masthead__header .container {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center;
      -ms-flex-pack: justify;
          justify-content: space-between; }
    @media print, screen and (min-width: 64em) {
      .masthead__header {
        padding-top: 20px;
        padding-bottom: 20px; } }
  .masthead__content-wrapper .grid-x {
    width: 100%; }
  .masthead__content-wrapper--padded {
    padding-top: 60px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: end;
        align-items: flex-end; }
    .masthead--full .masthead__content-wrapper--padded {
      -ms-flex-align: center;
          align-items: center; }
    @media print, screen and (min-width: 48em) {
      .masthead__content-wrapper--padded {
        padding-top: 0;
        height: calc(100% - 220px); } }
  .masthead__content-wrapper--padded-100 {
    padding: 30px 0 20px; }
    @media print, screen and (min-width: 48em) {
      .masthead__content-wrapper--padded-100 {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
            align-items: center;
        padding: 0; } }
  .masthead__content {
    color: #fff;
    text-align: center; }
    @media print, screen and (min-width: 48em) {
      .masthead__content {
        text-align: left; } }
    @media print, screen and (min-width: 48em) {
      .masthead__content--full-width {
        max-width: none; } }
  .masthead__image {
    transform: translateX(40px); }
    .masthead__image img {
      display: block;
      height: auto;
      width: 100%; }
  .masthead__info {
    font-size: 0.875em;
    text-align: center;
    color: #fefefe;
    -ms-flex: 1 0 auto;
        flex: 1 0 auto; }
    .masthead__info ul {
      list-style: none;
      margin: 0;
      padding: 0; }
    .masthead__info li {
      margin: 0;
      padding: 0; }
      .masthead__info li img {
        width: 30px;
        height: 30px; }
    .masthead__info a {
      color: #fefefe;
      text-decoration: underline; }
    .masthead__info p {
      margin: 0; }
    .masthead__info ul {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -ms-flex-pack: center;
          justify-content: center; }
      .masthead__info ul.icon-feeds li {
        margin-left: 34px; }
        .masthead__info ul.icon-feeds li:first-child {
          margin-left: 0; }
          .masthead__info ul.icon-feeds li:first-child::before {
            display: none; }
        .masthead__info ul.icon-feeds li::before {
          content: "";
          position: absolute;
          background-color: #fefefe;
          width: 1px;
          height: 14px;
          left: -17px;
          top: 50%;
          display: block;
          margin-top: -7px; }
    .masthead__info li {
      position: relative;
      margin-left: 24px; }
      .masthead__info li::before {
        content: "";
        position: absolute;
        background-color: #fefefe;
        width: 1px;
        height: 14px;
        left: -12px;
        top: 50%;
        display: block;
        margin-top: -7px; }
      .masthead__info li:first-child {
        margin-left: 0; }
        .masthead__info li:first-child::before {
          display: none; }
    @media print, screen and (min-width: 48em) {
      .masthead__info {
        text-align: right; }
        .masthead__info ul {
          -ms-flex-pack: end;
              justify-content: flex-end; } }
  body.activeNav .masthead {
    z-index: 999; }

.page-template-configurator-frame .masthead__content-wrapper {
  display: none; }

.img-bg-container {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-size: cover;
  background-position: center; }

.masthead-full-filler {
  height: 75vh;
  padding-bottom: 0;
  background: #234a71;
  position: relative;
  z-index: -1; }
  @media print, screen and (min-width: 48em) {
    .masthead-full-filler {
      height: 85vh;
      min-height: 650px;
      padding-bottom: 120px; } }

.masthead-large-filler {
  height: 55vh;
  padding-bottom: 0;
  background: #234a71;
  position: relative;
  z-index: -1; }
  @media print, screen and (min-width: 48em) {
    .masthead-large-filler {
      min-height: 500px;
      padding-bottom: 120px; } }

.open-text {
  /*&.u-round-section,
  section.masthead + & {
      background-color: $color-white;
      margin: 0 auto;
      max-width: 1220px;
      width: 90%;

      @include breakpoint(medium) { // was mappy-bp(tablet-vert)
        border-radius: 8px;
        margin-top: -200px; // Was -120 but that leaves a huge gap.
      }
  }*/
  padding: 45px 0;
  /*.container {
    max-width: 780px;
  }*/ }
  .open-text .main-container {
    max-width: 48.75rem; }
  .open-text.wide .main-container {
    max-width: 76.25rem; }
  @media print, screen and (min-width: 48em) {
    .open-text {
      padding: 60px 0; } }
  .open-text__heading {
    font-size: 2.5em;
    color: #234a71;
    text-align: center; }
    @media print, screen and (min-width: 48em) {
      .open-text__heading {
        margin-bottom: 40px; } }
  .open-text__copy p {
    line-height: 1.75; }
  .open-text__copy a {
    color: #234a71;
    font-weight: bold; }
  .open-text__copy .wp-video {
    position: relative;
    width: 100% !important;
    padding-bottom: 56.25%; }
    .open-text__copy .wp-video .wp-video-shortcode {
      position: absolute;
      width: 100% !important;
      height: 100% !important; }

/*.hope-mission {
  padding: 45px 0;

  @include breakpoint(tablet-vert) {
    padding: 90px 0;
  }

  .container {
    max-width: 780px;
  }

  &__heading {
    @include to-em(40px);
    color: $color-navy-blue;
    text-align: center;

    @include breakpoint(tablet-vert) {
      margin-bottom: 40px;
    }
  }

  p {
    line-height: 1.75;

    a {
      color: $color-navy-blue;
      font-weight: bold;
    }
  }
}*/
.product-compare,
.industrial-monitors {
  padding: 45px 0; }
  @media print, screen and (min-width: 48em) {
    .product-compare,
    .industrial-monitors {
      padding: 60px 0; } }
  .product-compare__header,
  .industrial-monitors__header {
    margin: 0 auto 75px;
    max-width: 985px;
    text-align: center; }
  .product-compare__heading,
  .industrial-monitors__heading {
    font-size: 1.75em;
    color: #234a71;
    margin-bottom: 25px; }
    @media print, screen and (min-width: 48em) {
      .product-compare__heading,
      .industrial-monitors__heading {
        font-size: 2.5em; } }
  .product-compare__table,
  .industrial-monitors__table {
    border-bottom: 1px solid rgba(120, 120, 120, 0.3); }
    @media print, screen and (min-width: 48em) {
      .product-compare__table,
      .industrial-monitors__table {
        border-bottom: 0px; } }
    .product-compare__table-top-row,
    .industrial-monitors__table-top-row {
      border-bottom: 2px solid #234A71;
      padding: 0 30px 20px;
      display: none; }
      @media print, screen and (min-width: 48em) {
        .product-compare__table-top-row,
        .industrial-monitors__table-top-row {
          display: -ms-flexbox;
          display: flex; } }
  .product-compare__table-label,
  .industrial-monitors__table-label {
    color: #234a71; }
  .product-compare__table-item,
  .industrial-monitors__table-item {
    display: none; }
    .product-compare__table-item.active,
    .industrial-monitors__table-item.active {
      display: block; }
      @media print, screen and (min-width: 48em) {
        .product-compare__table-item.active,
        .industrial-monitors__table-item.active {
          display: -ms-flexbox;
          display: flex; } }
  .product-compare__image,
  .industrial-monitors__image {
    text-align: left !important; }
  .product-compare__row,
  .industrial-monitors__row {
    padding: 20px 0px;
    border-bottom: 1px solid rgba(120, 120, 120, 0.3);
    color: #787878; }
    .product-compare__row.start-hidden,
    .industrial-monitors__row.start-hidden {
      display: -ms-flexbox;
      display: flex;
      opacity: 0; }
    @media print, screen and (min-width: 48em) {
      .product-compare__row,
      .industrial-monitors__row {
        padding: 20px 30px; } }
    .product-compare__row__heading,
    .industrial-monitors__row__heading {
      font-size: 0.875rem;
      color: #234a71; }
      @media print, screen and (min-width: 48em) {
        .product-compare__row__heading,
        .industrial-monitors__row__heading {
          display: -ms-flexbox;
          display: flex;
          -ms-flex-align: center;
              align-items: center; } }
      .product-compare__row__heading > span,
      .industrial-monitors__row__heading > span {
        padding: 15px 0;
        display: -ms-flexbox;
        display: flex; }
        .product-compare__row__heading > span span,
        .industrial-monitors__row__heading > span span {
          -ms-flex: 1 0 40%;
              flex: 1 0 40%; }
        @media print, screen and (min-width: 48em) {
          .product-compare__row__heading > span,
          .industrial-monitors__row__heading > span {
            padding: 0;
            display: inline-block; } }
        .product-compare__row__heading > span:before,
        .industrial-monitors__row__heading > span:before {
          content: attr(data-header);
          display: inline-block;
          width: 60%;
          -ms-flex: 1 0 60%;
              flex: 1 0 60%;
          color: #234a71;
          font-weight: 600; }
          @media print, screen and (min-width: 48em) {
            .product-compare__row__heading > span:before,
            .industrial-monitors__row__heading > span:before {
              content: "";
              background: url("../images/png/blue-arrow-right.png") center center no-repeat;
              background-size: contain;
              display: inline-block;
              margin-right: 5px;
              width: 10px;
              height: 10px; } }
    .product-compare__row__content,
    .industrial-monitors__row__content {
      -ms-flex-align: center;
          align-items: center;
      font-size: 0.875rem; }
      .product-compare__row__content span.content,
      .industrial-monitors__row__content span.content {
        padding-top: 0 !important; }
      .product-compare__row__content > div,
      .industrial-monitors__row__content > div {
        padding: 15px 0;
        display: -ms-flexbox;
        display: flex; }
        .product-compare__row__content > div:before,
        .industrial-monitors__row__content > div:before {
          content: attr(data-header);
          display: inline-block;
          width: 60%;
          -ms-flex: 1 0 60%;
              flex: 1 0 60%;
          color: #234a71;
          font-weight: 600; }
        @media print, screen and (min-width: 48em) {
          .product-compare__row__content > div,
          .industrial-monitors__row__content > div {
            padding: 0; }
            .product-compare__row__content > div:before,
            .industrial-monitors__row__content > div:before {
              display: none; } }
    .product-compare__row img,
    .industrial-monitors__row img {
      display: block;
      width: 100%;
      height: auto;
      padding: 20px; }
      @media print, screen and (min-width: 48em) {
        .product-compare__row img,
        .industrial-monitors__row img {
          padding: 0 10px 0 0;
          display: inline-block;
          width: auto;
          max-width: 100px; } }
  .product-compare .btn__invert,
  .industrial-monitors .btn__invert {
    width: 100%; }
    @media print, screen and (min-width: 48em) {
      .product-compare .btn__invert,
      .industrial-monitors .btn__invert {
        width: 158px;
        margin: 0 auto; } }
  .product-compare a,
  .industrial-monitors a {
    display: block;
    transition: all 200ms;
    cursor: pointer; }
    .product-compare a:hover,
    .industrial-monitors a:hover {
      background: #f5f5f5; }
  .product-compare a.product-compare--viewmore,
  .industrial-monitors a.product-compare--viewmore {
    margin-top: 40px; }
  .product-compare a.product-compare--viewmore:focus,
  .industrial-monitors a.product-compare--viewmore:focus {
    color: #234a71; }
  .product-compare a.product-compare--viewmore:hover,
  .industrial-monitors a.product-compare--viewmore:hover {
    background-color: #234a71;
    color: #fff; }

.product-groups__wrapper {
  padding: 40px 0; }
  @media print, screen and (min-width: 48em) {
    .product-groups__wrapper {
      padding: 70px 0; } }

.product-groups__heading {
  color: #234a71;
  margin-bottom: 40px;
  text-align: center; }
  @media print, screen and (min-width: 48em) {
    .product-groups__heading {
      font-size: 2.5em;
      margin-bottom: 70px; } }

.product-groups__grid {
  /*@include breakpoint(tablet-vert) {
      display: flex;
      justify-content: space-between;
    }*/ }

.product-groups__grid-item {
  text-align: center;
  /*flex-grow: 1;*/
  /*@include breakpoint(tablet-vert) {
      width: 31.2%;
      margin-left: 3.2%;

      &:first-child {
        margin-left: 0;
      }
    }*/
  /*@include breakpoint(xlarge) {
      width: 33%;
      margin-left: 100px;
    }*/ }
  @media screen and (max-width: 74.99875em) {
    .product-groups__grid-item {
      margin-top: 60px; }
      .product-groups__grid-item:first-child {
        margin-top: 0; } }

.product-groups__grid-item-heading {
  color: #234a71; }
  @media print, screen and (min-width: 48em) {
    .product-groups__grid-item-heading {
      font-size: 1.25em; } }

.product-groups__grid-item-image {
  margin-bottom: 25px; }
  .product-groups__grid-item-image img {
    display: block;
    height: auto;
    width: 100%; }

.product-groups__btn {
  margin: 24px auto 0;
  max-width: 300px; }

.related-links__heading span {
  background-color: #f0f0f0; }

.related-links__grid {
  margin-bottom: 65px; }
  @media print, screen and (min-width: 35.5em) {
    .related-links__grid {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -ms-flex-pack: center;
          justify-content: center; } }
  @media print, screen and (min-width: 57.5em) {
    .related-links__grid {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; } }

.related-links__grid-item {
  text-align: center;
  color: #234a71;
  margin-top: 20px;
  padding: 0 5px;
  border-radius: 3px;
  font-size: .9em;
  /*@include breakpoint(phone-horiz-tiny) {
      width: 48.4%;
      margin-left: 3.2%;
      flex-grow: 1;

      &:nth-of-type(2n+1) {
        margin-left: 0;
      }
    }*/ }
  .related-links__grid-item a {
    background-color: #fefefe;
    padding: 50px 10px;
    display: block;
    border-radius: 3px; }
  @media print, screen and (min-width: 57.5em) {
    .related-links__grid-item {
      margin-top: 0;
      width: auto;
      /*&:nth-of-type(2n+1) {
        margin-left: 3.2%;
      }

      &:first-child {
        margin-left: 0;
      }*/ } }

.seo-accessories {
  padding: 40px 0; }
  @media print, screen and (min-width: 48em) {
    .seo-accessories {
      padding: 70px 0; } }
  .seo-accessories__heading {
    color: #234a71;
    margin-bottom: 40px;
    text-align: center; }
    @media print, screen and (min-width: 48em) {
      .seo-accessories__heading {
        font-size: 2.5em;
        margin-bottom: 70px; } }
  @media print, screen and (min-width: 48em) {
    .seo-accessories__grid {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: justify;
          justify-content: space-between; } }
  .seo-accessories__grid-item {
    text-align: center;
    -ms-flex-positive: 1;
        flex-grow: 1; }
    @media screen and (max-width: 74.99875em) {
      .seo-accessories__grid-item {
        margin-top: 60px; }
        .seo-accessories__grid-item:first-child {
          margin-top: 0; } }
    @media print, screen and (min-width: 48em) {
      .seo-accessories__grid-item {
        width: 31.2%;
        margin-left: 3.2%; }
        .seo-accessories__grid-item:first-child {
          margin-left: 0; } }
    @media screen and (min-width: 75em) {
      .seo-accessories__grid-item {
        width: 33%;
        margin-left: 100px; } }
  .seo-accessories__grid-item-heading {
    color: #234a71; }
    @media print, screen and (min-width: 48em) {
      .seo-accessories__grid-item-heading {
        font-size: 1.25em; } }
  .seo-accessories__grid-item-image {
    margin-bottom: 25px; }
    .seo-accessories__grid-item-image img {
      display: block;
      height: auto;
      width: 100%; }
  .seo-accessories__btn {
    margin: 24px auto 0;
    max-width: 300px; }

.rated-accessories__heading span {
  background-color: #f0f0f0; }

.rated-accessories__grid {
  margin-bottom: 65px; }
  @media print, screen and (min-width: 35.5em) {
    .rated-accessories__grid {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -ms-flex-pack: center;
          justify-content: center; } }
  @media print, screen and (min-width: 57.5em) {
    .rated-accessories__grid {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; } }

.rated-accessories__grid-item {
  text-align: center;
  background-color: #fefefe;
  color: #234a71;
  padding: 50px 10px;
  margin-top: 20px; }
  @media print, screen and (min-width: 35.5em) {
    .rated-accessories__grid-item {
      width: 48.4%;
      margin-left: 3.2%;
      -ms-flex-positive: 1;
          flex-grow: 1; }
      .rated-accessories__grid-item:nth-of-type(2n+1) {
        margin-left: 0; } }
  @media print, screen and (min-width: 57.5em) {
    .rated-accessories__grid-item {
      margin-top: 0;
      width: auto; }
      .rated-accessories__grid-item:nth-of-type(2n+1) {
        margin-left: 3.2%; }
      .rated-accessories__grid-item:first-child {
        margin-left: 0; } }

.product-highlight,
.product-story {
  margin: 0 auto;
  max-width: 1220px;
  padding: 20px !important;
  width: 90%; }
  @media print, screen and (min-width: 35.5em) {
    .product-highlight,
    .product-story {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -ms-flex-pack: justify;
          justify-content: space-between; } }
  @media print, screen and (min-width: 64em) {
    .product-highlight,
    .product-story {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; } }
  .product-highlight .highlight-list,
  .product-story .highlight-list {
    width: 100%; }
  .product-highlight .grid-x,
  .product-story .grid-x {
    margin: 0 -10px; }
  .product-highlight__item,
  .product-story__item {
    font-size: 0.875em;
    margin-bottom: 40px;
    text-align: center; }
    @media print, screen and (min-width: 35.5em) {
      .product-highlight__item,
      .product-story__item {
        width: 48.4%; } }
    @media print, screen and (min-width: 48em) {
      .product-highlight__item,
      .product-story__item {
        padding: 0 10px; } }
    .product-highlight__item a,
    .product-story__item a {
      display: block; }
      .product-highlight__item a:hover img,
      .product-story__item a:hover img {
        opacity: .9; }
    .product-highlight__item-img,
    .product-story__item-img {
      margin: 0;
      padding: 0;
      background: #787878; }
  .product-highlight__image,
  .product-story__image {
    display: block;
    height: auto;
    width: 100%;
    transition: all 400ms; }
    @media print, screen and (min-width: 64em) {
      .product-highlight__image,
      .product-story__image {
        max-height: 324px; } }
  .product-highlight p,
  .product-story p {
    margin: 15px 8px;
    color: #787878;
    font-size: 0.875em; }

.product-spec,
.compare-specs {
  background-color: #f4f4f4; }
  @media print, screen and (min-width: 48em) {
    .product-spec,
    .compare-specs {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: stretch;
          align-items: stretch;
      -ms-flex-pack: center;
          justify-content: center;
      padding: 30px 5%;
      /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#e8e8e8+45,f4f4f4+45 */
      background: #e8e8e8;
      /* Old browsers */
      /* FF3.6-15 */
      /* Chrome10-25,Safari5.1-6 */
      background: linear-gradient(to right, #e8e8e8 45%, #f4f4f4 45%);
      /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
      filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e8e8e8', endColorstr='#f4f4f4',GradientType=1 );
      /* IE6-9 */ } }
  .product-spec__description,
  .compare-specs__description {
    padding: 45px 0 45px 5%;
    width: 90%; }
    @media print, screen and (min-width: 48em) {
      .product-spec__description,
      .compare-specs__description {
        -ms-flex-align: center;
            align-items: center;
        background-color: #e8e8e8;
        display: -ms-flexbox;
        display: flex;
        max-width: 420px;
        padding: 45px 50px 45px 0;
        width: 25%;
        -ms-flex-positive: 1;
            flex-grow: 1; } }
  .product-spec__description-content .btn,
  .compare-specs__description-content .btn {
    width: 250px;
    margin-top: 40px; }
  .product-spec__description-content p,
  .compare-specs__description-content p {
    font-size: 0.9375em;
    color: #6d6d6d; }
  .product-spec__heading,
  .compare-specs__heading {
    font-weight: 700;
    font-size: 1.875em;
    color: #234a71;
    line-height: 1.35em; }
  .product-spec__sub-heading,
  .compare-specs__sub-heading {
    font-weight: 400;
    font-size: 1.25em;
    color: #234a71; }
  .product-spec__detail-wrapper,
  .compare-specs__detail-wrapper {
    margin-top: -45px; }
    @media print, screen and (min-width: 48em) {
      .product-spec__detail-wrapper,
      .compare-specs__detail-wrapper {
        margin-top: 0;
        -ms-flex-align: center;
            align-items: center;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-positive: 2;
            flex-grow: 2;
        max-width: 800px;
        width: 75%; } }
  .product-spec__image,
  .compare-specs__image {
    /*&--desktop {
      display: none;
    }

    &--mobile {
      display: block;
    }*/ }
    .product-spec__image img,
    .compare-specs__image img {
      height: auto;
      width: 100%; }
    @media print, screen and (min-width: 48em) {
      .product-spec__image,
      .compare-specs__image {
        max-width: 470px; } }
    @media screen and (min-width: 75em) {
      .product-spec__image,
      .compare-specs__image {
        margin-right: 80px;
        /*
      &--desktop {
        display: block;
      }

      &--mobile {
        display: none;
      }*/ } }
  .product-spec__details,
  .compare-specs__details {
    display: none; }
    @media print, screen and (min-width: 48em) {
      .product-spec__details,
      .compare-specs__details {
        display: block;
        max-width: 290px; }
        .product-spec__details ul,
        .compare-specs__details ul {
          list-style: none;
          margin: 0;
          padding: 0;
          color: #787878; }
        .product-spec__details li,
        .compare-specs__details li {
          font-size: 0.75em;
          margin: 0 0 18px;
          padding: 0 0 0 30px;
          position: relative; }
          .product-spec__details li::before,
          .compare-specs__details li::before {
            background-image: url("../images/svg/blue-arrow-icon.svg");
            background-position: center left;
            content: "";
            background-repeat: no-repeat;
            width: 17px;
            height: 17px;
            display: block;
            position: absolute;
            top: 3px;
            left: 0; } }

.product-tiles {
  margin: 0 auto;
  max-width: 1220px;
  padding: 20px 0;
  width: 90%; }
  .product-tiles.u-round-section {
    /*@include breakpoint(tablet-vert) {
      margin-top: -200px;
      padding: 20px;
    }*/ }
  @media print, screen and (min-width: 35.5em) {
    .product-tiles {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -ms-flex-pack: justify;
          justify-content: space-between; } }
  @media print, screen and (min-width: 64em) {
    .product-tiles {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; } }
  .product-tiles .grid-x {
    margin: 0 -10px; }
  .product-tiles__item {
    font-size: 0.875em;
    margin-bottom: 40px;
    text-align: center; }
    @media print, screen and (min-width: 35.5em) {
      .product-tiles__item {
        width: 48.4%; } }
    @media print, screen and (min-width: 64em) {
      .product-tiles__item {
        padding: 0 10px; } }
  .product-tiles__image {
    display: block;
    height: auto;
    width: 100%; }
    @media print, screen and (min-width: 48em) {
      .product-tiles__image {
        max-height: 324px; } }
  .product-tiles p {
    margin: 15px 8px;
    color: #787878;
    font-size: 0.875em; }

.related-products {
  padding-bottom: 60px; }
  .related-products.u-round-section {
    /*@include breakpoint(tablet-vert) {
      margin-top: -200px;
      padding: 20px;
    }*/ }
  .related-products__item-grid {
    margin-top: 10px; }
  .related-products__heading {
    font-size: 1.875em;
    color: #234a71; }
  .related-products__item {
    border-radius: 6px;
    border: 3px solid #F0F0F0;
    background: #f0f0f0;
    margin-top: 20px;
    overflow: hidden;
    text-align: center;
    transition: all 400ms; }
    .related-products__item:hover {
      transform: scale(1.02);
      box-shadow: 0 5px 40px 0 rgba(0, 0, 0, 0.05); }
    .related-products__item a {
      display: block; }
    .related-products__item figure {
      margin: 0;
      padding: 30px 0;
      background: #f6f6f6;
      border-radius: 4px 4px 0 0; }
    .related-products__item img {
      display: block;
      height: auto;
      width: 100%; }
  .related-products__item-heading {
    font-weight: 500;
    font-size: 0.875em;
    color: #787878;
    padding: 25px 10px;
    margin: 0; }

.text-tiles {
  padding: 60px 0; }
  .text-tiles h2 {
    font-size: 1.75em;
    color: #234a71;
    margin-bottom: 25px; }
    @media print, screen and (min-width: 48em) {
      .text-tiles h2 {
        font-size: 2.5em; } }
  .text-tiles__item {
    background-color: #f0f0f0;
    border-radius: 6px;
    border: 1px solid #c7c3c1;
    margin-bottom: 20px;
    padding: 42px 20px 84px;
    position: relative;
    text-align: center; }
    .text-tiles__item p {
      margin: 0;
      position: absolute;
      bottom: 42px;
      width: 100%;
      text-align: center;
      left: 0;
      color: #787878; }
  .text-tiles a.text-tiles__item {
    transition: all 200ms; }
    .text-tiles a.text-tiles__item:hover {
      background-color: #f8f8f8; }
  .text-tiles__item-heading {
    font-size: 1em;
    color: #234a71; }
    .text-tiles__item-heading::before {
      content: "";
      width: 90px;
      height: 83px;
      display: block;
      background-position: center;
      background-repeat: no-repeat;
      background-size: contain;
      margin: 0 auto 55px; }
  .text-tiles .text-tile__cta {
    margin-top: 30px; }
  .text-tiles .text-tile__link {
    border: 2px solid #234a71;
    text-transform: uppercase;
    color: #234a71;
    padding: 15px 25px;
    transition: all 200ms;
    font-weight: 400;
    font-size: .9em;
    border-radius: 2px; }
    .text-tiles .text-tile__link:hover {
      background: #234a71;
      color: #fefefe; }

.timeline {
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
  color: #fefefe;
  padding: 45px 0; }
  @media print, screen and (min-width: 48em) {
    .timeline {
      padding: 60px 0; } }
  .timeline__heading {
    font-size: 2.5em;
    text-align: center;
    margin-bottom: 60px; }
  .timeline__entries {
    margin: 0 auto;
    max-width: 990px; }
    .timeline__entries::before, .timeline__entries::after {
      display: table;
      content: ' ';
      -ms-flex-preferred-size: 0;
          flex-basis: 0;
      -ms-flex-order: 1;
          order: 1; }
    .timeline__entries::after {
      clear: both; }
  .timeline__entry p {
    font-size: 0.8125em;
    font-weight: 500; }
  @media screen and (max-width: 57.49875em) {
    .timeline__entry {
      padding-left: 35%;
      margin-bottom: 60px; }
      .timeline__entry:last-child .timeline__entry-icon::before, .timeline__entry:last-child .our-history__timeline-icon::before {
        display: none; } }
  @media print, screen and (min-width: 57.5em) {
    .timeline__entry {
      width: 50%;
      clear: both; }
      .timeline__entry:nth-child(odd) {
        border-right: 2px solid #fefefe;
        margin-left: 1px;
        float: left;
        text-align: right;
        padding-right: 210px; }
        .timeline__entry:nth-child(odd) .timeline__entry-heading::before, .timeline__entry:nth-child(odd) .our-history__timeline-heading::before {
          right: -212px; }
        .timeline__entry:nth-child(odd) .timeline__entry-icon, .timeline__entry:nth-child(odd) .our-history__timeline-icon {
          right: -95px; }
      .timeline__entry:nth-child(even) {
        border-left: 2px solid #fefefe;
        margin-right: 1px;
        float: right;
        padding-left: 210px; }
        .timeline__entry:nth-child(even) .timeline__entry-heading::before, .timeline__entry:nth-child(even) .our-history__timeline-heading::before {
          left: -212px; }
        .timeline__entry:nth-child(even) .timeline__entry-icon, .timeline__entry:nth-child(even) .our-history__timeline-icon {
          left: -95px; } }
  .timeline__entry-heading {
    position: relative;
    font-size: 1.25em;
    margin-bottom: 15px; }
    @media print, screen and (min-width: 57.5em) {
      .timeline__entry-heading {
        display: block; }
        .timeline__entry-heading::before {
          content: "";
          background-color: #fefefe;
          height: 2px;
          position: absolute;
          width: 84px;
          top: 50%;
          margin-top: -1px; } }
  .timeline__entry-icon {
    display: block;
    height: 65px;
    margin-top: -32.5px;
    position: absolute;
    top: 50%;
    width: 65px; }
    .timeline__entry-icon img {
      width: 100%;
      height: auto;
      display: block; }
    @media screen and (max-width: 57.49875em) {
      .timeline__entry-icon {
        left: -100px; }
        .timeline__entry-icon::before {
          content: "";
          position: absolute;
          width: 2px;
          height: 80%;
          background-color: #fefefe;
          left: 50%;
          margin-left: -1px;
          top: 75px; } }

section.flexible-content {
  position: relative; }

.main-nav {
  left: 0;
  opacity: 0;
  position: fixed;
  right: 0;
  top: 80px;
  transition: ease all 0.4s;
  z-index: 99;
  transform: translateY(calc(-100% - 80px)); }
  @media screen and (max-width: 57.49875em) {
    .main-nav.lang-switcher-open .menu-item {
      opacity: 0;
      border-top: none; }
      .main-nav.lang-switcher-open .menu-item a {
        max-height: 0;
        padding: 0px 30px; } }
  .activeNav .main-nav {
    opacity: 1;
    transform: translateY(0); }
  @media print, screen and (min-width: 57.5em) {
    .main-nav {
      display: block;
      position: relative;
      top: auto;
      transform: none;
      opacity: 1; } }
  @media print, screen and (min-width: 57.5em) {
    .main-nav ul {
      -ms-flex-align: center;
          align-items: center;
      display: -ms-flexbox;
      display: flex;
      position: static; } }
  .main-nav li {
    background-color: #fefefe;
    border-top: 2px solid #234a71;
    display: block;
    opacity: 0;
    transform: translateY(-50px);
    transition: all 800ms; }
    .activeNav .main-nav li {
      transform: translateY(0px);
      opacity: 1; }
      .activeNav .main-nav li:nth-child(1) {
        transition-delay: 400ms; }
      .activeNav .main-nav li:nth-child(2) {
        transition-delay: 300ms; }
      .activeNav .main-nav li:nth-child(3) {
        transition-delay: 200ms; }
      .activeNav .main-nav li:nth-child(4) {
        transition-delay: 100ms; }
      .activeNav .main-nav li:nth-child(5) {
        transition-delay: 0ms; }
      .activeNav .main-nav li:nth-child(6) {
        transition-delay: -100ms; }
      .activeNav .main-nav li:nth-child(7) {
        transition-delay: -200ms; }
      .activeNav .main-nav li:nth-child(8) {
        transition-delay: -300ms; }
      .activeNav .main-nav li:nth-child(9) {
        transition-delay: -400ms; }
      .activeNav .main-nav li:nth-child(10) {
        transition-delay: -500ms; }
    .main-nav li.search-link {
      display: none; }
    .main-nav li:first-child {
      border-top: 0; }
    .main-nav li.lang-switcher {
      position: relative;
      height: 30px;
      margin-left: 0px;
      width: 20px; }
      .main-nav li.lang-switcher.menu-item-mobile {
        display: none;
        height: auto;
        width: auto;
        padding: 0;
        transition: all 0.3s; }
        .main-nav li.lang-switcher.menu-item-mobile.open .lang-switcher-link::after {
          transform: scale(-1); }
        .main-nav li.lang-switcher.menu-item-mobile a.lang-switcher-link {
          position: relative;
          height: auto;
          width: auto;
          padding: 15px 30px 15px 60px;
          background-image: url("../images/svg/Globe.svg");
          border-radius: 0 !important;
          background-position: 30px center; }
          .main-nav li.lang-switcher.menu-item-mobile a.lang-switcher-link::after {
            background-image: url("../images/png/blue-select-arrow-down.png");
            content: "";
            background-size: 13px auto;
            position: absolute;
            right: 20px;
            top: 20px;
            background-repeat: no-repeat;
            width: 13px;
            height: 10px; }
        .main-nav li.lang-switcher.menu-item-mobile .lang-switcher-list {
          top: calc(100% + 2px);
          left: 0;
          border-radius: 0;
          box-shadow: none;
          width: 100%; }
        .main-nav li.lang-switcher.menu-item-mobile .lang-link {
          padding: 15px 30px;
          text-align: left; }
      @media screen and (max-width: 57.49875em) {
        .main-nav li.lang-switcher {
          display: none; }
          .main-nav li.lang-switcher.menu-item-mobile {
            display: block; } }
      .main-nav li.lang-switcher a.lang-switcher-link {
        background-position: center;
        background-repeat: no-repeat;
        background-size: 20px auto;
        position: absolute;
        display: block;
        height: 30px;
        width: 20px;
        background-image: url("../images/svg/Globe-white.svg");
        padding: 0;
        border-top-left-radius: 5px;
        border-top-right-radius: 5px; }
        .main-nav li.lang-switcher a.lang-switcher-link:before {
          display: none; }
      .main-nav li.lang-switcher.open a.lang-switcher-link {
        background-image: url("../images/svg/Globe.svg");
        background-color: white; }
      .main-nav li.lang-switcher.open .lang-switcher-list {
        opacity: 1;
        max-height: unset; }
      .main-nav li.lang-switcher a.lang-link {
        color: #234a71;
        padding: 5px 10px;
        margin: 0;
        text-align: center;
        text-transform: none;
        transition: background-color 300ms; }
        .main-nav li.lang-switcher a.lang-link:after {
          position: absolute;
          content: "";
          height: 1px;
          bottom: 0;
          left: 10px;
          right: 10px;
          border-bottom: 1px solid lightgray; }
        .main-nav li.lang-switcher a.lang-link:hover {
          background-color: #f0f0f0;
          opacity: 0.5; }
        .main-nav li.lang-switcher a.lang-link:before {
          display: none; }
        .main-nav li.lang-switcher a.lang-link.active {
          color: #b20939;
          font-weight: bold; }
        .main-nav li.lang-switcher a.lang-link:last-child:after {
          border-bottom: none; }
      .main-nav li.lang-switcher .lang-switcher-list {
        max-height: 0;
        opacity: 0;
        transition: all 0.3s;
        width: 175px;
        overflow-y: hidden;
        background: white;
        position: absolute;
        padding: 0px;
        top: 30px;
        left: -122px;
        border-radius: 5px;
        border-top-right-radius: 0;
        box-shadow: -5px 5px 5px 0px rgba(0, 0, 0, 0.5); }
    .main-nav li.oro-account, .main-nav li.oro-cart {
      margin-left: 30px; }
      .main-nav li.oro-account a, .main-nav li.oro-cart a {
        padding-top: 3px; }
        .main-nav li.oro-account a::before, .main-nav li.oro-cart a::before {
          display: none; }
        .main-nav li.oro-account a i, .main-nav li.oro-cart a i {
          font-size: 20px; }
      .main-nav li.oro-account.menu-item-mobile, .main-nav li.oro-cart.menu-item-mobile {
        display: none; }
      @media screen and (max-width: 57.49875em) {
        .main-nav li.oro-account, .main-nav li.oro-cart {
          display: none; }
          .main-nav li.oro-account.menu-item-mobile, .main-nav li.oro-cart.menu-item-mobile {
            display: block;
            margin-left: 0;
            padding-left: 0; }
            .main-nav li.oro-account.menu-item-mobile a, .main-nav li.oro-cart.menu-item-mobile a {
              padding-top: 15px; } }
    .main-nav li.oro-cart {
      padding-left: 30px;
      margin-left: 30px; }
      .main-nav li.oro-cart::before {
        content: "";
        height: 20px;
        left: 0;
        margin-top: -10px;
        position: absolute;
        top: 50%;
        width: 1px;
        background-color: rgba(254, 254, 254, 0.4); }
    @media print, screen and (min-width: 57.5em) {
      .main-nav li {
        transform: translateY(0px);
        opacity: 1;
        transition: 0.3s all;
        margin-left: 20px;
        background-color: transparent;
        border-top: 0;
        display: inline-block; }
        .main-nav li.search-link {
          display: inline-block; }
        .main-nav li:first-child {
          border-top: 0; }
        .main-nav li:first-child {
          margin-left: 0; }
        .main-nav li.search-link {
          position: relative; }
          .main-nav li.search-link::before {
            content: "";
            height: 20px;
            left: 0;
            margin-top: -10px;
            position: absolute;
            top: 50%;
            width: 1px; }
          .main-nav li.search-link a {
            background-position: center;
            background-repeat: no-repeat;
            display: block;
            width: 76px;
            background-size: contain;
            height: 16px; } }
    @media screen and (min-width: 81.25em) {
      .main-nav li {
        margin-left: 40px; } }
    .main-nav li a {
      text-transform: uppercase;
      position: relative;
      color: #234a71;
      display: block;
      padding: 15px 30px; }
      @media print, screen and (min-width: 57.5em) {
        .main-nav li a {
          transition: all 0.3s;
          max-height: 60px;
          font-size: 0.9375em;
          color: #fff;
          padding: 0; } }
    .main-nav li:not(.search-link) a:before {
      content: "";
      position: absolute;
      top: -10px;
      height: 3px;
      background: #fff;
      width: 100%;
      transform: scaleX(0);
      transform-origin: right;
      transition: transform 200ms; }
    .main-nav li:not(.search-link) a:hover:before {
      transform: scaleX(1);
      transform-origin: left; }
  @media print, screen and (min-width: 57.5em) {
    .masthead--bg .main-nav a {
      color: #fefefe; }
    .masthead--bg .main-nav li.search-link a {
      background-image: url("../images/svg/white-loupe-icon.svg"); }
    .masthead--bg .main-nav li.search-link::before {
      background-color: rgba(254, 254, 254, 0.4); }
    .masthead--small .main-nav a {
      color: #787878; }
    .masthead--nobg .main-nav li.search-link::before,
    .masthead--small .main-nav li.search-link::before,
    .masthead--simple .main-nav li.search-link::before,
    .masthead--blog .main-nav li.search-link::before,
    .masthead--support .main-nav li.search-link::before {
      background-color: rgba(120, 120, 120, 0.4); }
    .masthead--nobg .main-nav li.search-link a,
    .masthead--small .main-nav li.search-link a,
    .masthead--simple .main-nav li.search-link a,
    .masthead--blog .main-nav li.search-link a,
    .masthead--support .main-nav li.search-link a {
      background-image: url("../images/svg/grey-loupe-icon.svg"); }
    .masthead--nobg .main-nav li.lang-switcher > a,
    .masthead--small .main-nav li.lang-switcher > a,
    .masthead--simple .main-nav li.lang-switcher > a,
    .masthead--blog .main-nav li.lang-switcher > a,
    .masthead--support .main-nav li.lang-switcher > a {
      background-image: url("../images/svg/Globe.svg"); }
    .masthead--nobg .main-nav li.lang-switcher.open > a,
    .masthead--small .main-nav li.lang-switcher.open > a,
    .masthead--simple .main-nav li.lang-switcher.open > a,
    .masthead--blog .main-nav li.lang-switcher.open > a,
    .masthead--support .main-nav li.lang-switcher.open > a {
      background-image: url("../images/svg/Globe-navy.svg"); }
    .masthead--nobg .main-nav li.oro-cart::before,
    .masthead--small .main-nav li.oro-cart::before,
    .masthead--simple .main-nav li.oro-cart::before,
    .masthead--blog .main-nav li.oro-cart::before,
    .masthead--support .main-nav li.oro-cart::before {
      background-color: rgba(120, 120, 120, 0.4); }
    .masthead--nobg .main-nav a,
    .masthead--small .main-nav a,
    .masthead--simple .main-nav a,
    .masthead--blog .main-nav a,
    .masthead--support .main-nav a {
      color: #787878; }
      .masthead--nobg .main-nav a:before,
      .masthead--small .main-nav a:before,
      .masthead--simple .main-nav a:before,
      .masthead--blog .main-nav a:before,
      .masthead--support .main-nav a:before {
        background: #787878 !important; } }

@media screen and (max-width: 57.49875em) {
  .activeNav {
    overflow: hidden; }
    .activeNav:before {
      content: "";
      position: fixed;
      background: rgba(0, 0, 0, 0.2);
      top: 0;
      bottom: 0;
      left: 0;
      right: 0; } }

#mobile-search {
  display: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: 0 0;
  border: none;
  cursor: pointer;
  height: 50px;
  outline: 0;
  position: relative;
  transition: ease all 0.45s;
  vertical-align: middle;
  width: 50px;
  z-index: 80;
  background-image: url(/wp-content/themes/hopeind_foundation/dist/assets/images/svg/white-loupe-icon.svg);
  background-position: center;
  background-repeat: no-repeat;
  width: 50px;
  background-size: contain;
  height: 20px; }
  @media screen and (max-width: 47.99875em) {
    #mobile-search {
      display: inline-block; } }

.masthead--nobg #mobile-search,
.masthead--simple #mobile-search,
.masthead--small #mobile-search,
.masthead--support #mobile-search {
  background-image: url(/wp-content/themes/hopeind_foundation/dist/assets/images/svg/grey-loupe-icon.svg); }

#mailto-copy {
  position: absolute;
  outline: 0;
  color: transparent;
  background-color: transparent;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none; }

#burger {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: 0 0;
  border: none;
  cursor: pointer;
  display: inline-block;
  height: 50px;
  outline: none;
  position: relative;
  transition: ease all 450ms;
  vertical-align: middle;
  width: 50px;
  z-index: 80; }
  @media print, screen and (min-width: 57.5em) {
    #burger {
      display: none; } }
  #burger .bar,
  #burger .bars {
    position: absolute; }
  #burger .bars {
    height: 18px;
    left: 50%;
    margin-left: -10px;
    margin-top: -9px;
    top: 50%;
    transition: transform .4s;
    width: 20px;
    will-change: transform; }
  #burger .bar {
    background-color: #fff;
    display: block;
    height: 2px;
    transition: transform .4s, margin .4s, opacity .4s, background .3s;
    width: 100%; }
    .masthead--nobg #burger .bar,
    .masthead--small #burger .bar,
    .masthead--simple #burger .bar {
      background-color: #787878; }
  #burger .bar2 {
    transform: translateY(7px); }
  #burger .bar3 {
    transform: translateY(14px); }
  #burger:focus {
    outline: 0; }
  .activeNav #burger .bars {
    transform: translateY(7px); }
  .activeNav #burger .bar1 {
    transform: rotate(45deg); }
  .activeNav #burger .bar2 {
    opacity: 0; }
  .activeNav #burger .bar3 {
    transform: rotate(-45deg); }

.sites-button {
  background: #1779ba;
  font-size: 1.25rem;
  font-weight: bold;
  box-shadow: 0 -2px 0 rgba(0, 0, 0, 0.2) inset;
  border-radius: 3px;
  border: none; }

.cards-container {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap; }
  .cards-container .card {
    width: calc(100% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
    .cards-container .card .card-content {
      padding: 1rem; }
    @media print, screen and (min-width: 40em) {
      .cards-container .card {
        width: calc(33.33333% - 0.7rem);
        margin-right: 0.35rem;
        margin-left: 0.35rem; } }

.featured-hero {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: 6.25rem; }
  @media print, screen and (min-width: 40em) {
    .featured-hero {
      height: 12.5rem; } }
  @media screen and (min-width: 75em) {
    .featured-hero {
      height: 25rem; } }

.dotted, .section-divider hr {
  border-style: dashed;
  margin: 2rem 0; }

[data-whatinput="mouse"] a:focus, button:focus [data-whatinput="touch"] a:focus, button:focus {
  outline: none; }

@media print, screen and (min-width: 48em) {
  .product-story {
    margin-top: -200px; } }

.product-story .container {
  background-color: #fff;
  overflow: hidden;
  border-radius: 8px; }
  @media print, screen and (min-width: 48em) {
    .product-story .container {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: justify;
          justify-content: space-between;
      padding: 20px; } }

.product-story .grid-x {
  margin: 0 -10px; }

.product-story__item {
  font-size: 0.875em;
  margin-bottom: 40px;
  text-align: center; }
  @media print, screen and (min-width: 48em) {
    .product-story__item {
      padding: 0 10px; }
      .product-story__item:first-child {
        padding-left: 0; } }

.product-story__image {
  display: block;
  height: auto;
  width: 100%; }

.product-story p {
  margin: 15px 8px;
  color: #787878;
  font-size: 0.875em; }

.breadcrumbs--page {
  padding: 30px 0 0; }

.breadcrumbs--products {
  padding-bottom: 30px; }
  @media print, screen and (min-width: 48em) {
    .breadcrumbs--products {
      padding: 20px 0 30px; } }

.breadcrumbs__nav ul {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }

.breadcrumbs__nav li {
  font-size: 0.75em;
  font-weight: 700;
  text-transform: uppercase;
  margin-left: 12px; }
  .breadcrumbs__nav li::before {
    content: "/";
    padding-right: 12px; }
  .breadcrumbs__nav li:first-child {
    margin-left: 0; }
    .breadcrumbs__nav li:first-child::before {
      display: none; }

.breadcrumbs__nav a {
  color: #234a71;
  white-space: nowrap; }

.breadcrumbs__heading {
  font-size: 2.5em;
  color: #234a71;
  margin-top: 20px; }

.c-accordion__header {
  margin-bottom: 20px; }
  @media print, screen and (min-width: 48em) {
    .c-accordion__header {
      -ms-flex-align: center;
          align-items: center;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: justify;
          justify-content: space-between; } }

@media print, screen and (min-width: 48em) {
  .c-accordion__nav {
    display: -ms-flexbox;
    display: flex; }
    .c-accordion__nav li {
      margin-right: 10px; } }

.c-accordion__expand {
  position: absolute;
  top: 35px;
  right: 0;
  font-size: 0.75em;
  color: #234a71;
  cursor: pointer;
  text-transform: uppercase;
  display: none; }
  @media print, screen and (min-width: 48em) {
    .c-accordion__expand {
      margin-left: auto;
      display: block; } }
  @media screen and (min-width: 75em) {
    .c-accordion__expand {
      margin-top: 0; } }

.c-accordion__btn {
  padding: 10px 42px;
  -ms-flex-positive: 1;
      flex-grow: 1;
  border-radius: 0;
  margin-bottom: 10px; }
  .c-accordion__btn.btn__invert {
    border-width: 1px; }
  @media print, screen and (min-width: 48em) {
    .c-accordion__btn {
      margin-left: 20px;
      margin-bottom: 0; }
      .c-accordion__btn:first-child {
        margin-left: 0; } }

.c-accordion__content {
  max-height: 0;
  overflow: hidden;
  transition: ease all 0.3s;
  padding: 20px 40px 0 5%; }
  @media print, screen and (min-width: 48em) {
    .c-accordion__content {
      padding: 20px 0 0 0;
      margin-right: 40px; } }
  .c-accordion__content--table {
    padding: 0; }
  @media print, screen and (min-width: 48em) {
    .c-accordion__content--slim {
      padding-right: 40px; } }

.c-accordion__item-heading {
  font-weight: 700;
  font-size: 1em;
  color: #234a71;
  cursor: pointer;
  display: block;
  margin-bottom: 0;
  -ms-flex: 1 0 15%;
      flex: 1 0 15%; }
  .c-accordion__item-heading::before {
    background-image: url("../images/svg/faq-show-icon.svg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: block;
    height: 20px;
    margin-top: -8px;
    position: absolute;
    right: 0;
    top: 50%;
    width: 20px; }
  .c-accordion__item-heading span {
    display: inline-block;
    padding-right: 10px; }

.c-accordion__item {
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  padding: 25px 0;
  position: relative; }
  .c-accordion__item:last-of-type {
    border-bottom: 0; }
  .c-accordion__item p {
    font-size: 0.8125rem;
    margin-bottom: 0; }
  .c-accordion__item ul, .c-accordion__item ol {
    font-size: 0.8125rem; }
  .c-accordion__item--active > .c-accordion__item-heading::before {
    background-image: url("../images/svg/faq-hide-icon.svg");
    top: 35px; }
  .c-accordion__item--active > .c-accordion__content {
    max-height: none;
    display: block !important; }
  .c-accordion__item .c-accordion__item .c-accordion__item-heading {
    font-size: 0.875rem; }

.tabs {
  border: 0;
  background: transparent; }
  .tabs-title {
    transition: ease all 0.3s;
    padding-right: 0px;
    width: 100%;
    text-align: left;
    position: relative;
    display: none; }
    .tabs-title:after {
      content: "";
      background: url("../images/svg/ddl-accent-white.svg") center center no-repeat;
      background-size: contain;
      width: 15px;
      height: 15px;
      position: absolute;
      right: 20px;
      top: calc(50% - 5px);
      transform: translateY(-50%);
      z-index: 1; }
    .tabs-title a {
      font-size: 0.875rem;
      padding: 15px 25px;
      color: #234a71;
      font-weight: 400;
      text-align: left; }
      .tabs-title a:hover {
        background-color: rgba(35, 74, 113, 0.1); }
    .tabs-title.is-active {
      display: block !important; }
      .tabs-title.is-active a, .tabs-title.is-active a:hover {
        background-color: #234a71;
        color: #fefefe; }
    @media print, screen and (min-width: 48em) {
      .tabs-title {
        display: block !important;
        width: auto;
        padding-right: 10px;
        text-align: center; }
        .tabs-title:after {
          display: none; }
        .tabs-title a {
          text-align: center; } }
  .tabs-content {
    border: 0;
    background: transparent;
    color: #787878; }
  .tabs-panel {
    padding: 0;
    margin-top: 25px;
    border-top: 1px solid rgba(0, 0, 0, 0.2); }
    .tabs-panel p {
      font-size: .9em;
      line-height: 1.8; }
    .tabs-panel table {
      margin-top: 20px; }
    .tabs-panel:not(.c-accordion) {
      padding-top: 25px; }
      .tabs-panel:not(.c-accordion) h2 {
        font-weight: 700;
        color: #b20939;
        margin: .85em 0;
        font-size: 1.5em; }
      .tabs-panel:not(.c-accordion) h3 {
        font-weight: 700;
        color: #b20939;
        margin: .85em 0;
        font-size: 1.25em; }
      .tabs-panel:not(.c-accordion) h4 {
        font-weight: bold;
        color: #787878;
        margin: .5em 0;
        font-size: 1.0em; }
      .tabs-panel:not(.c-accordion) h5 {
        font-weight: bold;
        color: #787878;
        margin-bottom: 25px;
        font-size: .9em; }
      .tabs-panel:not(.c-accordion) > *:first-child {
        margin-top: 0 !important;
        padding-top: 0 !important; }

.contact-form {
  /*&__col {
    margin-top: 20px;

    &:first-child {
      margin-top: 0;
    }

    &--row {
      @include breakpoint(large down) {
        input {
          margin-top: 20px;
          width: 100%;

          &:first-child {
            margin-top: 0;
          }
        }
      }


      @include breakpoint(tablet-vert) {
        display: flex;

        input {
          margin-left: 20px;

          &:first-child {
            margin-left: 0;
          }
        }
      }


    }

    &--full {
      textarea,
      input {
        width: 100%;
      }
    }
  }*/ }
  .contact-form .custom-select, .contact-form__textarea, .contact-form__input {
    font-size: 1.125em;
    border: 1px solid #aeaeae;
    padding: 20px; }
    @media print, screen and (min-width: 48em) {
      .contact-form .custom-select--full, .contact-form__textarea--full, .contact-form__input--full {
        -ms-flex-positive: 2;
            flex-grow: 2; }
      .contact-form .custom-select--half, .contact-form__textarea--half, .contact-form__input--half {
        -ms-flex-positive: 1;
            flex-grow: 1; }
      .contact-form .custom-select--third, .contact-form__textarea--third, .contact-form__input--third {
        width: 40%; } }
  .contact-form__textarea {
    display: block;
    height: 195px; }
  .contact-form .custom-select select {
    color: #787878; }
  @media screen and (max-width: 74.99875em) {
    .contact-form .btn {
      margin: 0 auto; } }
  @media print, screen and (min-width: 48em) {
    .contact-form .btn {
      width: 145px; } }

#configure-container .configure-container-wrap.full-screen-on .configure-product-display {
  top: 65px; }
  @media print, screen and (min-width: 23.4375em) {
    #configure-container .configure-container-wrap.full-screen-on .configure-product-display {
      top: 65px; } }
  @media print, screen and (min-width: 25.875em) {
    #configure-container .configure-container-wrap.full-screen-on .configure-product-display {
      top: 75px; } }
  @media print, screen and (min-width: 35.5em) {
    #configure-container .configure-container-wrap.full-screen-on .configure-product-display {
      top: 75px; } }
  @media print, screen and (min-width: 40em) {
    #configure-container .configure-container-wrap.full-screen-on .configure-product-display {
      top: 75px; } }
  @media print, screen and (min-width: 48em) {
    #configure-container .configure-container-wrap.full-screen-on .configure-product-display {
      top: 75px; } }
  @media print, screen and (min-width: 57.5em) {
    #configure-container .configure-container-wrap.full-screen-on .configure-product-display {
      top: 75px; } }
  @media print, screen and (min-width: 64em) {
    #configure-container .configure-container-wrap.full-screen-on .configure-product-display {
      top: 100px; } }

/* Container used for styling the custom select, the buttom class below adds the bg gradient, corners, etc. */
.custom-select {
  position: relative;
  display: block;
  margin-top: 0.5em;
  padding: 0;
  /* Custom arrow sits on top of the select - could be an image, SVG, icon font, etc. or the arrow could just baked into the bg image on the select. Note this si a 2x image so it will look bad in browsers that don't support background-size. In production, you'd handle this resolution switch via media query but this is a demo. */ }
  .custom-select select {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    width: 100%;
    margin: 0;
    background: none;
    border: 1px solid transparent;
    outline: none; }
    .custom-select select:focus {
      outline: none;
      background-color: transparent;
      color: #222; }
  .custom-select::after {
    content: "";
    position: absolute;
    width: 9px;
    height: 8px;
    top: 50%;
    right: 1em;
    margin-top: -4px;
    background-repeat: no-repeat;
    background-size: 100%;
    z-index: 2;
    /* This hack make the select behind the arrow clickable in some browsers */
    pointer-events: none; }
  .custom-select:hover {
    border: 1px solid #888; }
  .custom-select option {
    font-weight: normal; }

/* ------------------------------------  */
/* START OF UGLY BROWSER-SPECIFIC HACKS */
/* ----------------------------------  */
/* OPERA - Pre-Blink nix the custom arrow, go with a native select button to keep it simple. Targeted via this hack http://browserhacks.com/#hack-a3f166304aafed524566bc6814e1d5c7 */
x:-o-prefocus,
.custom-select::after {
  display: none; }

/* IE 10/11+ - This hides native dropdown button arrow so it will have the custom appearance, IE 9 and earlier get a native select - targeting media query hack via http://browserhacks.com/#hack-28f493d247a12ab654f6c3637f6978d5 - looking for better ways to achieve this targeting */
/* The second rule removes the odd blue bg color behind the text in the select button in IE 10/11 and sets the text color to match the focus style's - fix via http://stackoverflow.com/questions/17553300/change-ie-background-color-on-unopened-focused-select-box */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .custom-select select::-ms-expand {
    display: none; }
  .custom-select select:focus::-ms-value {
    background: transparent;
    color: #222; } }

/* FIREFOX won't let us hide the native select arrow, so we have to make it wider than needed and clip it via overflow on the parent container. The percentage width is a fallback since FF 4+ supports calc() so we can just add a fixed amount of extra width to push the native arrow out of view. We're applying this hack across all FF versions because all the previous hacks were too fragile and complex. You might want to consider not using this hack and using the native select arrow in FF. Note this makes the menus wider than the select button because they display at the specified width and aren't clipped. Targeting hack via http://browserhacks.com/#hack-758bff81c5c32351b02e10480b5ed48e */
/* Show only the native arrow */
@-moz-document url-prefix() {
  .custom-select {
    overflow: hidden; }
    .custom-select select {
      width: 120%;
      width: calc(100% + em); } }

/* Firefox focus has odd artifacts around the text, this kills that. See https://developer.mozilla.org/en-US/docs/Web/CSS/:-moz-focusring */
.custom-select select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #000; }

body.page-template div.gform_wrapper {
  margin-top: 0; }
  body.page-template div.gform_wrapper .top_label div.ginput_container {
    margin-top: 0; }
  body.page-template div.gform_wrapper ul.gform_fields {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-pack: justify;
        justify-content: space-between; }
    body.page-template div.gform_wrapper ul.gform_fields li.gfield {
      -ms-flex-preferred-size: 100%;
          flex-basis: 100%;
      padding-right: 0;
      clear: none;
      padding-top: 0;
      padding-bottom: 0;
      max-width: unset !important; }
      @media print, screen and (min-width: 48em) {
        body.page-template div.gform_wrapper ul.gform_fields li.gfield.half {
          -ms-flex-preferred-size: calc(50% - 10px);
              flex-basis: calc(50% - 10px); }
        body.page-template div.gform_wrapper ul.gform_fields li.gfield.third {
          -ms-flex-preferred-size: calc(33.33% - 10px);
              flex-basis: calc(33.33% - 10px); }
        body.page-template div.gform_wrapper ul.gform_fields li.gfield.two-third {
          -ms-flex-preferred-size: calc(66.66% - 10px);
              flex-basis: calc(66.66% - 10px); } }
      body.page-template div.gform_wrapper ul.gform_fields li.gfield input, body.page-template div.gform_wrapper ul.gform_fields li.gfield select, body.page-template div.gform_wrapper ul.gform_fields li.gfield textarea {
        padding: 20px 25px;
        min-height: 60px;
        font-size: 14px;
        line-height: 16px;
        width: 100% !important;
        border: 1px solid #666; }
        body.page-template div.gform_wrapper ul.gform_fields li.gfield input:placeholder, body.page-template div.gform_wrapper ul.gform_fields li.gfield select:placeholder, body.page-template div.gform_wrapper ul.gform_fields li.gfield textarea:placeholder {
          font-size: 14px;
          line-height: 16px;
          color: #787878; }
      body.page-template div.gform_wrapper ul.gform_fields li.gfield .ginput_container_select {
        border: 1px solid #666; }
        body.page-template div.gform_wrapper ul.gform_fields li.gfield .ginput_container_select select {
          border: none;
          width: calc(100% - 25px) !important;
          color: #757575; }
      body.page-template div.gform_wrapper ul.gform_fields li.gfield input:not([type='radio']):not([type='checkbox']):not([type='submit']):not([type='button']):not([type='image']):not([type='file']) {
        padding: 20px 25px;
        font-size: 14px;
        line-height: 16px;
        margin-top: 0; }
      body.page-template div.gform_wrapper ul.gform_fields li.gfield.gfield_error {
        margin-bottom: 0 !important;
        background: transparent;
        border-top: none;
        border-bottom: none; }
        body.page-template div.gform_wrapper ul.gform_fields li.gfield.gfield_error div.ginput_container {
          margin-top: 0px; }
        body.page-template div.gform_wrapper ul.gform_fields li.gfield.gfield_error div.ginput_container_select {
          border: 1px solid #790000; }
  body.page-template div.gform_wrapper .gform_footer input[type="submit"] {
    background: #b20939;
    text-transform: uppercase;
    font-size: 0.9375em;
    border-radius: 3px;
    color: #fefefe;
    cursor: pointer;
    display: block;
    font-weight: bold;
    padding: 12px 25px;
    text-align: center;
    transition: all 200ms;
    overflow: hidden;
    position: relative;
    z-index: 1;
    margin-bottom: 0px; }
    body.page-template div.gform_wrapper .gform_footer input[type="submit"]:after {
      display: block;
      content: "";
      z-index: -1;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      background: linear-gradient(to bottom, #c5466a 0%, #b20939 100%);
      filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#c5466a", endColorstr="#b20939", GradientType=0 );
      opacity: 1;
      transition: all 200ms; }
    @media print, screen and (min-width: 48em) {
      body.page-template div.gform_wrapper .gform_footer input[type="submit"]:hover {
        color: #fefefe; }
        body.page-template div.gform_wrapper .gform_footer input[type="submit"]:hover:after {
          opacity: 0; } }
  body.page-template div.gform_wrapper.gform_validation_error .gform_body ul li.gfield.gfield_error:not(.gf_left_half):not(.gf_right_half) {
    max-width: unset !important; }
  body.page-template div.gform_wrapper .validation_error {
    color: #fff;
    line-height: 1.5;
    text-shadow: none;
    background: #d94f4f;
    border-color: #c92c2c;
    font-weight: normal;
    margin: 5px 0 5px;
    padding: 3px 12px; }
  body.page-template div.gform_wrapper .validation_message {
    padding-top: 8px !important; }

.global-form__col {
  margin-top: 20px; }
  .global-form__col:first-child {
    margin-top: 0; }
  @media screen and (max-width: 74.99875em) {
    .global-form__col--row input {
      margin-top: 20px;
      width: 100%; }
      .global-form__col--row input:first-child {
        margin-top: 0; } }
  @media print, screen and (min-width: 48em) {
    .global-form__col--row {
      display: -ms-flexbox;
      display: flex; }
      .global-form__col--row input {
        margin-left: 20px; }
        .global-form__col--row input:first-child {
          margin-left: 0; } }
  .global-form__col--full textarea,
  .global-form__col--full input {
    width: 100%; }
  .global-form__col--radio {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }

.global-form__label {
  font-size: 0.75em; }

.global-form .custom-select, .global-form__textarea, .global-form__input {
  font-size: 1.125em;
  border: 1px solid #aeaeae;
  padding: 20px; }
  @media print, screen and (min-width: 48em) {
    .global-form .custom-select--full, .global-form__textarea--full, .global-form__input--full {
      -ms-flex-positive: 2;
          flex-grow: 2; }
    .global-form .custom-select--half, .global-form__textarea--half, .global-form__input--half {
      -ms-flex-positive: 1;
          flex-grow: 1; }
    .global-form .custom-select--third, .global-form__textarea--third, .global-form__input--third {
      width: 40%; } }

.global-form__textarea {
  display: block;
  height: 195px; }

.global-form .custom-select {
  margin-top: 0; }
  .global-form .custom-select select {
    color: #787878; }

.global-form__col-input {
  margin-top: 10px; }
  .global-form__col-input:first-child {
    margin-top: 0; }
  @media print, screen and (min-width: 48em) {
    .global-form__col-input {
      margin-top: 0; } }

.global-form__radio-label {
  border: 1px solid #b3b3b3;
  display: block; }

.global-form__radio-item {
  cursor: pointer;
  margin-left: 20px;
  margin-top: 20px;
  overflow: hidden;
  position: relative;
  text-align: center;
  width: 80px; }
  .global-form__radio-item input[type="radio"] {
    padding: 0;
    margin: 0;
    height: 16px;
    width: 16px;
    float: left;
    position: absolute;
    left: 0;
    opacity: 0; }
  .global-form__radio-item:nth-of-type(4n + 1) {
    margin-left: 0; }
  .global-form__radio-item span {
    display: block; }
  .global-form__radio-item--top {
    font-weight: 700;
    padding: 5px 0; }
  .global-form__radio-item--bottom {
    font-size: 0.8125em;
    background-color: rgba(10, 10, 10, 0.1);
    border: 1px solid #fefefe;
    padding: 3px 0; }
  .global-form__radio-item input[type="radio"]:checked + label {
    background-color: #234a71;
    border-color: #234a71;
    color: #fefefe; }
    .global-form__radio-item input[type="radio"]:checked + label .global-form__radio-item--bottom {
      border-color: #234a71; }

body.page-template div.gform_wrapper form.config-form ul.gform_fields li.gfield .gchoice input {
  width: auto !important;
  min-height: unset;
  margin-top: 0; }

body.page-template div.gform_wrapper form.config-form ul.gform_fields li.gfield .gchoice label {
  margin-top: 0; }

body.page-template div.gform_wrapper form.config-form ul.gform_fields li.gfield.field_description_above .gfield_description {
  font-size: 14px;
  line-height: 16px;
  margin-bottom: 10px; }

body.page-template div.gform_wrapper form.config-form ul.gform_fields li.gfield.units-requested .instruction {
  display: none; }

body.page-template div.gform_wrapper form.config-form ul.gform_fields li.gfield.units-requested .gfield_description {
  padding-top: 0; }

body.page-template div.gform_wrapper form.config-form ul.gform_fields li.gfield.rfq-location textarea {
  height: unset;
  resize: vertical; }

@media print, screen and (min-width: 48em) {
  .monitor-table {
    margin: 0 auto;
    max-width: 1110px; } }

.monitor-table__top-row {
  display: none; }
  @media print, screen and (min-width: 48em) {
    .monitor-table__top-row {
      -ms-flex-align: center;
          align-items: center;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: justify;
          justify-content: space-between;
      padding: 20px 0px; } }

.monitor-table__label {
  font-size: 0.875em;
  color: #234A71;
  font-weight: bold;
  text-transform: uppercase; }
  @media print, screen and (min-width: 48em) {
    .monitor-table__label {
      font-size: 0.75em; } }

.monitor-table__item {
  border-top: 2px solid rgba(120, 120, 120, 0.3);
  padding: 26px 0; }
  .monitor-table__item:first-child {
    border-top: 0; }
  .monitor-table__item:nth-child(2) {
    border-top: 2px solid #234a71; }
  @media print, screen and (min-width: 48em) {
    .monitor-table__item {
      -ms-flex-align: center;
          align-items: center;
      -ms-flex-pack: justify;
          justify-content: space-between;
      padding: 20px 0px;
      display: block; } }
  @media print, screen and (min-width: 48em) and (min-width: 48em) {
    .monitor-table__item {
      display: -ms-flexbox;
      display: flex; } }

.monitor-table__cell {
  margin-bottom: 20px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center; }
  .monitor-table__cell .monitor-table__value {
    font-size: 0.875em; }
  @media print, screen and (min-width: 48em) {
    .monitor-table__cell {
      display: block;
      margin: 0 0px;
      text-align: center; }
      .monitor-table__cell .monitor-table__label {
        display: none; }
      .monitor-table__cell .monitor-table__value {
        margin: 0 auto; } }

.monitor-table__image img {
  display: block;
  height: auto;
  width: 100%; }

@media print, screen and (min-width: 48em) {
  .monitor-table__image {
    max-width: 105px;
    width: 12%; } }

.monitor-table__heading h3 {
  font-weight: 700;
  font-size: 1em;
  color: #234a71; }

@media print, screen and (min-width: 48em) {
  .monitor-table__heading h3 {
    font-weight: 500;
    font-size: 1.125em; } }

.product-compare__row__content {
  text-align: left;
  position: relative; }
  .product-compare__row__content span.content {
    display: inline-block;
    padding-top: 20px;
    -ms-flex: 1 0 40%;
        flex: 1 0 40%; }
  .product-compare__row__content .price {
    font-weight: 700;
    color: #b20939; }
  @media print, screen and (min-width: 48em) {
    .product-compare__row__content {
      text-align: center; }
      .product-compare__row__content span.content {
        display: block; } }

.product-accessories {
  background-color: #f0f0f0;
  padding: 40px 0 70px; }
  .product-accessories .grid-x {
    -ms-flex-align: start;
        align-items: flex-start; }
    .product-accessories .grid-x .sticky-container {
      display: none; }
      @media print, screen and (min-width: 64em) {
        .product-accessories .grid-x .sticky-container {
          display: block; } }
    @media print, screen and (min-width: 64em) {
      .product-accessories .grid-x .accessories-wrapper {
        padding-left: 20px; } }
    .product-accessories .grid-x .accessories-wrapper .bottom-block-item {
      background: #fff;
      padding: 30px 30px 15px;
      margin-bottom: 20px;
      border-radius: 5px; }
  @media print, screen and (min-width: 48em) {
    .product-accessories .container {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: start;
          align-items: flex-start; } }
  .product-accessories__item-wrap {
    -ms-flex-positive: 2;
        flex-grow: 2;
    border-radius: 5px; }
    @media print, screen and (min-width: 48em) {
      .product-accessories__item-wrap {
        width: 85%; } }
  .product-accessories__nav {
    background-color: #fefefe;
    padding: 30px 20px;
    border-radius: 5px;
    /*@include breakpoint(tablet-vert) {
      width: 15%;
      margin-right: 20px;
    }*/ }
    .product-accessories__nav li {
      font-size: 0.75em;
      font-weight: 500;
      line-height: 18px;
      border-top: 1px solid rgba(10, 10, 10, 0.1);
      margin-top: 24px;
      padding-top: 24px; }
      .product-accessories__nav li:first-child {
        border-top: 0;
        margin-top: 0;
        padding-top: 0; }
    .product-accessories__nav a {
      color: #234a71;
      position: relative;
      display: block;
      padding: 0 10px; }
      .product-accessories__nav a::before {
        content: "";
        width: 6px;
        height: 10px;
        background-size: contain;
        background-image: url("../images/png/list-item-arrow.png");
        background-position: center;
        background-repeat: no-repeat;
        position: absolute;
        left: -6px;
        top: 3px; }
      .product-accessories__nav a:hover, .product-accessories__nav a--active {
        color: #b20939; }
  .product-accessories__item {
    background-color: #fefefe;
    margin-top: 20px;
    padding: 30px; }
    .product-accessories__item:first-child {
      margin-top: 0; }
  .product-accessories__heading {
    font-size: 1.125em;
    color: #b20939;
    margin-bottom: 10px; }
  .product-accessories__grid-item {
    color: #234a71;
    padding: 5px;
    text-align: center; }
    .product-accessories__grid-item:hover figure {
      opacity: .9; }
    .product-accessories__grid-item:hover a {
      background-color: #787878; }
    .product-accessories__grid-item a {
      background-color: #f5f5f5;
      display: block;
      border-radius: 6px 6px 0 0;
      overflow: hidden;
      transition: all 400ms; }
      .product-accessories__grid-item a span.title {
        padding: 15px 10px;
        display: block;
        font-size: .9em;
        font-weight: 500;
        color: #234a71;
        background-color: #fff; }
    .product-accessories__grid-item figure {
      border-radius: 0;
      transition: all 400ms; }
    .product-accessories__grid-item img {
      display: block;
      height: auto;
      width: 100%; }
  .product-accessories__copy {
    border-top: 1px solid #aeaeae;
    padding-top: 10px; }
    .product-accessories__copy p {
      font-size: .78em;
      text-align: left; }
    .product-accessories__copy ul {
      font-size: .65em;
      list-style-position: inside;
      margin: 0;
      padding: 0 5px 20px;
      list-style: none;
      text-align: left; }
      .product-accessories__copy ul li {
        list-style: none; }
        .product-accessories__copy ul li strong {
          font-size: 1.2em; }
        .product-accessories__copy ul li ul {
          margin: 5px 0 5px 25px;
          padding: 0;
          border: 0;
          list-style: disc;
          font-size: 1em; }
          .product-accessories__copy ul li ul li {
            list-style: disc;
            font-size: 1em; }
  .product-accessories__grid {
    width: 100%;
    margin-left: -5px;
    margin-right: -5px; }
  .product-accessories__grid-item-heading {
    font-size: 1em;
    color: #234a71;
    padding: 20px 0;
    text-align: center;
    transition: ease all 0.3s; }
  .product-accessories__grid-image {
    background-color: #f0f0f0;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding-top: 50%;
    border-radius: 5px; }

.products-block-details {
  background-color: #fefefe;
  padding: 30px 0;
  overflow: hidden; }
  .products-block-details .container {
    position: relative; }
  .products-block-details ol {
    margin-top: 20px; }
  .products-block-details__accordion-content--numbered {
    counter-reset: accordion-counter; }
  .products-block-details__accordion-content img {
    border-radius: 6px; }
  .products-block-details__accordion-content a {
    text-decoration: underline; }
    .products-block-details__accordion-content a:hover {
      text-decoration: none; }
  @media print, screen and (min-width: 48em) {
    .products-block-details__accordion-content-col {
      width: 50%; } }
  .products-block-details__accordion-content--numbered .products-block-details__accordion-content-col-item {
    position: relative;
    margin-bottom: 45px; }
    .products-block-details__accordion-content--numbered .products-block-details__accordion-content-col-item::before {
      font-weight: 700;
      background-color: #b20939;
      border-radius: 24px;
      color: #fefefe;
      content: counter(accordion-counter);
      counter-increment: accordion-counter;
      display: block;
      height: 24px;
      left: 0;
      line-height: 24px;
      position: absolute;
      text-align: center;
      top: 0;
      width: 24px; }
  .products-block-details__accordion-content-col-item-heading {
    padding-left: 35px; }
  .products-block-details__accordion-content-col-item-list {
    margin-top: 20px;
    padding-left: 35px; }
    .products-block-details__accordion-content-col-item-list li {
      margin-top: 10px; }
  .products-block-details .compare-grid {
    margin-top: 25px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; }
    .products-block-details .compare-grid p:last-of-type {
      margin-bottom: 30px; }
  .products-block-details .ordering-info-grid {
    margin-top: 25px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; }
    .products-block-details .ordering-info-grid + .ordering-info-grid {
      margin-top: 60px; }
    .products-block-details .ordering-info-grid table thead tr th:first-of-type {
      width: 250px; }
  .products-block-details .c-accordion__item {
    padding: 25px 0 5px; }
  @media print, screen and (min-width: 48em) {
    .products-block-details .related-blogs-container {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      margin: 0 -10px; } }
  .products-block-details .related-blog-tile {
    margin: 0 0 20px; }
    @media print, screen and (min-width: 48em) {
      .products-block-details .related-blog-tile {
        -ms-flex: 0 1 33.3333%;
            flex: 0 1 33.3333%;
        padding: 0 10px; } }
    .products-block-details .related-blog-tile a {
      height: 100%;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: center;
          justify-content: center;
      border: 3px solid #f0f0f0;
      border-radius: 3px;
      background: transparent;
      text-align: center;
      padding: 20px;
      transition: all 200ms; }
      .products-block-details .related-blog-tile a:hover {
        background: rgba(32, 68, 104, 0.05); }
      .products-block-details .related-blog-tile a span {
        color: #787878;
        font-size: .7em;
        display: block;
        padding-top: 10px; }

.products-block {
  background-color: #f0f0f0;
  padding: 50px 0; }
  .products-block .container {
    max-width: 1260px; }
  @media print, screen and (min-width: 57.5em) {
    .products-block .container {
      -ms-flex-align: start;
          align-items: flex-start;
      display: -ms-flexbox;
      display: flex; } }
  .products-block__content {
    margin-bottom: 40px; }
    @media print, screen and (min-width: 57.5em) {
      .products-block__content {
        margin-bottom: 0;
        -ms-flex-positive: 1;
            flex-grow: 1;
        max-width: 50%;
        -ms-flex-order: 2;
            order: 2; } }
    @media screen and (min-width: 75em) {
      .products-block__content {
        -ms-flex: 1 0 auto;
            flex: 1 0 auto;
        max-width: 58.33333%; } }
    .products-block__content .support-files {
      margin-top: 40px; }
      .products-block__content .support-files .filecat {
        padding: 0 18px;
        margin-bottom: 30px;
        width: 100%; }
        @media print, screen and (min-width: 48em) {
          .products-block__content .support-files .filecat {
            width: auto;
            -ms-flex: 1 0 50%;
                flex: 1 0 50%; } }
        @media screen and (min-width: 75em) {
          .products-block__content .support-files .filecat {
            width: auto;
            -ms-flex: 1 0 33.3333%;
                flex: 1 0 33.3333%; } }
        .products-block__content .support-files .filecat:last-of-type {
          margin-bottom: 0; }
        .products-block__content .support-files .filecat h4 {
          font-size: 1em;
          color: #234a71;
          padding: 0 0 12px 0;
          border-bottom: 3px solid #234a71;
          margin-bottom: 15px; }
        .products-block__content .support-files .filecat ul {
          border-bottom: 1px solid rgba(35, 74, 113, 0.3);
          padding: 0 10px;
          margin: 0; }
          .products-block__content .support-files .filecat ul li {
            margin: 0 0 14px;
            padding: 0 0 0 16px; }
            .products-block__content .support-files .filecat ul li a:hover {
              text-decoration: underline; }
  .products-block__content-grid-item:not(.products-block__content-thumbnails) {
    position: relative; }
    @media screen and (min-width: 75em) {
      .products-block__content-grid-item:not(.products-block__content-thumbnails) {
        margin-right: 70px; } }
    @media screen and (min-width: 90em) {
      .products-block__content-grid-item:not(.products-block__content-thumbnails) {
        margin-right: 0; } }
    .products-block__content-grid-item:not(.products-block__content-thumbnails) .badge-image-container {
      max-width: 120px;
      position: absolute;
      z-index: 1;
      top: -20px;
      left: -20px; }
      @media print, screen and (min-width: 48em) {
        .products-block__content-grid-item:not(.products-block__content-thumbnails) .badge-image-container {
          top: 20px;
          left: -40px; } }
      .products-block__content-grid-item:not(.products-block__content-thumbnails) .badge-image-container img {
        width: 100%;
        height: auto; }
  .products-block__content-thumbnails {
    margin-top: 20px; }
    @media screen and (min-width: 75em) {
      .products-block__content-thumbnails {
        margin-top: 0;
        position: absolute;
        right: 40px;
        top: 180px; } }
    .products-block__content-thumbnails ul {
      list-style: none;
      margin: 0;
      padding: 0;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: center;
          justify-content: center; }
      @media screen and (min-width: 75em) {
        .products-block__content-thumbnails ul {
          -ms-flex-direction: column;
              flex-direction: column;
          margin-bottom: 20px; } }
    .products-block__content-thumbnails-item {
      border-radius: 6px;
      cursor: pointer;
      height: 70px;
      margin: 0 5px;
      padding: 0;
      width: 70px;
      background: #fff;
      border: 1px solid #b3b3b3;
      position: relative;
      overflow: hidden; }
      @media screen and (min-width: 75em) {
        .products-block__content-thumbnails-item {
          margin: 0; } }
      .products-block__content-thumbnails-item a {
        display: block;
        width: 90%;
        height: 90%;
        overflow: hidden;
        margin: 5%;
        position: relative; }
        .products-block__content-thumbnails-item a[data-open="videoModal"]:before {
          content: "";
          background-image: url("../images/svg/video-play.svg");
          background-position: center;
          background-size: contain;
          display: block;
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%);
          width: 20px;
          height: 20px;
          z-index: 10; }
        .products-block__content-thumbnails-item a img {
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%);
          width: 100%; }
      @media screen and (min-width: 75em) {
        .products-block__content-thumbnails-item {
          margin: 10px 0 0; }
          .products-block__content-thumbnails-item:first-child {
            margin-top: 0; } }
      .products-block__content-thumbnails-item:before {
        content: attr(data-title);
        display: inline-block;
        background: #b20939;
        border-radius: 3px;
        padding: 2px 8px;
        box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.3);
        position: absolute;
        white-space: nowrap;
        color: #fff;
        font-size: 10px;
        text-transform: uppercase;
        z-index: 100;
        transition: all 200ms;
        opacity: 0;
        right: 50%;
        top: 0;
        transform: translate(50%, 0); }
        @media screen and (min-width: 75em) {
          .products-block__content-thumbnails-item:before {
            right: calc(100% - 40px);
            top: 50%;
            transform: translate(0, -50%); } }
      .products-block__content-thumbnails-item:hover {
        overflow: visible; }
        .products-block__content-thumbnails-item:hover:before {
          top: -10px;
          opacity: 1; }
          @media screen and (min-width: 75em) {
            .products-block__content-thumbnails-item:hover:before {
              right: calc(100% - 10px);
              top: 50%;
              transform: translate(0, -50%); } }
    .products-block__content-thumbnails img {
      display: block;
      height: auto;
      width: 100%; }
    .products-block__content-thumbnails--active {
      border: 2px solid #b20939; }
  .products-block__info {
    background-color: #fefefe;
    border-radius: 6px;
    padding: 20px; }
    @media print, screen and (min-width: 57.5em) {
      .products-block__info {
        -ms-flex: 1 0 41.66667%;
            flex: 1 0 41.66667%;
        margin-right: 8.33333%;
        max-width: 420px;
        -ms-flex-order: 1;
            order: 1;
        width: 41.66667%; } }
    @media screen and (min-width: 75em) {
      .products-block__info {
        -ms-flex: 1 0 33.33333%;
            flex: 1 0 33.33333%;
        width: 33.33333%; } }
  .products-block__warranty-ribbon {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    height: 74px;
    left: 0;
    position: absolute;
    top: 0;
    width: 75px; }
    @media print, screen and (min-width: 48em) {
      .products-block__warranty-ribbon {
        top: 65px;
        height: 153px;
        width: 148px; } }
    .products-block__warranty-ribbon--three-years {
      background-image: url("../images/png/warranty-ribbon.png"); }
  .products-block__info-btn-wrapper {
    margin-bottom: 20px; }
    .products-block__info-btn-wrapper .btn {
      border-radius: 0;
      margin-top: 10px; }
      .products-block__info-btn-wrapper .btn:first-child {
        margin-top: 0; }
    @media print, screen and (min-width: 48em) {
      .products-block__info-btn-wrapper {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: justify;
            justify-content: space-between;
        -ms-flex-align: start;
            align-items: flex-start; }
        .products-block__info-btn-wrapper .btn {
          width: 48.4%;
          margin-top: 0; } }
  .products-block__info-heading {
    color: #234a71;
    font-size: 1.5625em; }
  .products-block__info-nav {
    margin-top: 10px; }
    .products-block__info-nav ul {
      display: -ms-flexbox;
      display: flex; }
    .products-block__info-nav li {
      font-size: 0.75em;
      margin-left: 1em; }
      .products-block__info-nav li:first-child {
        margin-left: 0; }
    .products-block__info-nav a {
      font-weight: 500;
      color: #234a71; }
      .products-block__info-nav a::before {
        content: "\025B8";
        margin-right: 5px; }
  .products-block__info-content {
    margin-top: 20px; }
    .products-block__info-content p {
      font-size: 0.8125em;
      line-height: 1.7; }
  .products-block__info-content-block {
    margin-top: 20px; }
    .products-block__info-content-block:first-child {
      margin-top: 0; }
    .products-block__info-content-block .u-styled-list, .products-block__info-content-block .wysiwyg ol, .products-block__info-content-block .wysiwyg ul {
      margin-bottom: 25px; }
      .products-block__info-content-block .u-styled-list:last-child, .products-block__info-content-block .wysiwyg ol:last-child, .products-block__info-content-block .wysiwyg ul:last-child {
        margin-bottom: 0; }
    .products-block__info-content-block.dd-override table {
      margin-top: 0;
      margin-bottom: 15px; }
    .products-block__info-content-block.dd-override td {
      font-size: .7em;
      padding: 5px; }
    .products-block__info-content-block.dd-override th {
      padding-bottom: 0.625rem; }
  .products-block__info-content-image {
    position: relative; }
    .products-block__info-content-image img {
      display: block;
      height: auto;
      width: 100%; }
      .products-block__info-content-image img.media--image {
        width: 100%; }
        @media print, screen and (min-width: 48em) {
          .products-block__info-content-image img.media--image {
            width: calc(100% + 60px);
            max-width: none;
            margin: 0 -30px; } }
  .products-block__info-content-heading {
    font-size: 1.125em;
    line-height: 140%;
    font-weight: 400;
    margin-bottom: 12px;
    color: #b20939; }
  .products-block__info-content-btn {
    margin-top: 20px; }
  .products-block__info-content-scta {
    margin: 15px 0;
    display: inline-block;
    font-size: .8em;
    text-align: left;
    transition: all 200ms;
    color: #234a71; }
    .products-block__info-content-scta:before {
      content: "\025B8";
      margin-right: 5px; }
    .products-block__info-content-scta:hover {
      color: #2f6498; }
  .products-block__info-content-form .global-form__col {
    margin-top: 10px; }
  .products-block__info-content-form .custom-select {
    padding: 12px 20px; }
  @media print, screen and (min-width: 48em) {
    .products-block__info-content-data {
      display: -ms-flexbox;
      display: flex;
      width: 100%;
      -ms-flex-pack: justify;
          justify-content: space-between; } }
  .products-block__info-content-data .u-styled-list li {
    font-size: 0.875em;
    margin-top: 12px; }
  .products-block__info-content-data-item {
    margin-top: 24px; }
    @media print, screen and (min-width: 48em) {
      .products-block__info-content-data-item {
        -ms-flex-positive: 1;
            flex-grow: 1;
        margin-left: 3.2%;
        width: 48.4%; }
        .products-block__info-content-data-item:first-child {
          margin-left: 0; } }
  .products-block__info-content-data-item-heading {
    font-size: 1.25em;
    font-weight: 700;
    color: #234a71;
    border-bottom: 3px solid #234a71;
    padding-bottom: 12px; }
  @media print, screen and (min-width: 48em) {
    .products-block__col-input--power {
      width: 36%;
      -ms-flex-positive: 1;
          flex-grow: 1;
      margin-right: 20px; } }
  @media print, screen and (min-width: 48em) {
    .products-block__col-input--lock {
      -ms-flex-positive: 2;
          flex-grow: 2;
      width: 60%; } }

.reveal.product-reveal {
  overflow: visible;
  border-radius: 6px; }
  @media print, screen and (min-width: 48em) {
    .reveal.product-reveal {
      width: 65%; } }
  .reveal.product-reveal .close-button {
    position: absolute;
    right: -45px;
    color: #fff;
    font-weight: 800;
    top: -8px; }
  .reveal.product-reveal .video-wrapper {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    max-width: 100%; }
    .reveal.product-reveal .video-wrapper iframe,
    .reveal.product-reveal .video-wrapper object,
    .reveal.product-reveal .video-wrapper embed {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }

.search-bar__bg {
  background-color: rgba(10, 10, 10, 0.2);
  bottom: 0;
  display: none;
  height: 100%;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  width: 100%;
  z-index: 98; }
  .search-bar--inview .search-bar__bg {
    display: block; }

.search-bar--inview {
  overflow: hidden; }

.search-bar--modal {
  bottom: 0;
  display: none;
  height: 100%;
  left: 0;
  padding-top: 155px;
  position: fixed;
  right: 0;
  top: 0;
  width: 100%;
  z-index: 99; }
  .search-bar--modal .search-bar__wrapper {
    background-color: #f0f0f0;
    border-radius: 8px;
    margin: 0 auto;
    max-width: 978px;
    position: relative;
    width: 90%; }
    @media print, screen and (min-width: 48em) {
      .search-bar--modal .search-bar__wrapper {
        width: 68%; } }
  .search-bar--modal .search-bar__form-submit {
    font-size: 0.8125em;
    width: 100%; }
    @media print, screen and (min-width: 48em) {
      .search-bar--modal .search-bar__form-submit {
        width: 207px; } }
  .search-bar--inview .search-bar--modal {
    display: block; }
  .search-bar--modal .search-bar__header {
    padding: 18px 18px 15px; }
    @media print, screen and (min-width: 48em) {
      .search-bar--modal .search-bar__header {
        padding: 30px 30px 15px; } }
  .search-bar--modal .search-bar__form-input {
    text-align: center; }
    @media print, screen and (min-width: 48em) {
      .search-bar--modal .search-bar__form-input {
        text-align: left; } }

.search-bar__form {
  background-color: #fefefe;
  border: 1px solid #aeaeae;
  padding: 12px; }
  @media print, screen and (min-width: 48em) {
    .search-bar__form {
      display: -ms-flexbox;
      display: flex;
      padding: 4px 12px 4px 32px;
      -ms-flex-pack: justify;
          justify-content: space-between;
      -ms-flex-align: center;
          align-items: center; } }

.search-bar__form-input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  font-size: 1.25em;
  margin: 0 auto;
  padding: 12px 0;
  width: 100%; }
  .search-bar__form-input:focus {
    outline: none; }
  @media print, screen and (min-width: 48em) {
    .search-bar__form-input {
      margin: 0;
      width: auto;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
      padding: 0 10px 0 0; } }

.search-bar__wrapper--full-width {
  width: 100%; }

.search-bar__example {
  padding: 15px 15px 0;
  text-align: center; }
  .search-bar__example p {
    font-size: 0.75em;
    color: rgba(120, 120, 120, 0.7);
    margin: 0;
    font-style: italic; }
  @media print, screen and (min-width: 48em) {
    .search-bar__example {
      text-align: left; } }

.search-bar__results {
  background-color: #fefefe;
  padding: 20px 18px 18px;
  display: none; }
  .search-bar--results-inview .search-bar__results {
    display: block; }
  @media print, screen and (min-width: 57.5em) {
    .search-bar__results {
      -ms-flex-pack: justify;
          justify-content: space-between;
      padding: 20px 30px 30px; }
      .search-bar--results-inview .search-bar__results {
        display: -ms-flexbox;
        display: flex; } }

.search-bar__results-item {
  padding: 10px 0; }

.search-bar__results-heading {
  font-weight: 700;
  font-size: 1.125em;
  color: #b20939;
  margin-bottom: 32px; }

@media print, screen and (min-width: 57.5em) {
  .search-bar__results-catalog {
    -ms-flex-positive: 1;
        flex-grow: 1;
    width: 48.4%; } }

.search-bar__results-catalog-item a {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center; }

.search-bar__results-catalog-item img {
  height: auto;
  margin-right: 20px;
  width: 68px; }

.search-bar__results-materials {
  margin-top: 40px;
  padding-top: 40px;
  border-top: 1px solid #aeaeae; }
  @media print, screen and (min-width: 57.5em) {
    .search-bar__results-materials {
      border-left: 1px solid #aeaeae;
      border-top: 0;
      -ms-flex-positive: 1;
          flex-grow: 1;
      margin-left: 3.2%;
      margin-top: 0;
      padding-left: 3.2%;
      padding-top: 0;
      width: 48.4%; } }

.search-bar__close {
  background-image: url("../images/svg/close-icon.svg");
  background-position: top center;
  background-repeat: no-repeat;
  background-size: 20px;
  cursor: pointer;
  display: block;
  height: 20px;
  position: absolute;
  width: 20px;
  z-index: 99;
  top: -30px;
  right: 0; }
  @media print, screen and (min-width: 48em) {
    .search-bar__close {
      right: -30px;
      top: 0; } }

.c-search-results {
  padding: 50px 0; }
  .c-search-results .container {
    max-width: 980px; }
  @media print, screen and (min-width: 48em) {
    .c-search-results {
      padding: 50px 0 120px; } }
  .c-search-results__heading {
    font-size: 1.5625em;
    color: #234a71;
    margin-bottom: 26px;
    text-align: center; }
  .c-search-results__nav {
    border: 0;
    background: transparent;
    padding: 20px 0 60px;
    width: 85%;
    margin: 0 auto; }
    .c-search-results__nav ul {
      margin-right: -10px;
      margin-left: -10px; }
      @media print, screen and (min-width: 48em) {
        .c-search-results__nav ul {
          display: -ms-flexbox;
          display: flex;
          -ms-flex-pack: center;
              justify-content: center;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; } }
      @media print, screen and (min-width: 64em) {
        .c-search-results__nav ul {
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; } }
    @media print, screen and (min-width: 48em) {
      .c-search-results__nav li {
        margin: 0 10px;
        -ms-flex: 1 0 50%;
            flex: 1 0 50%; } }
    .c-search-results__nav li a {
      transition: ease all 0.3s;
      font-size: 0.875rem;
      padding: 15px 25px;
      color: #234a71;
      font-weight: 400; }
      .c-search-results__nav li a:hover {
        background-color: rgba(35, 74, 113, 0.1);
        color: #234a71; }
      .c-search-results__nav li a.is-active {
        background-color: #234a71;
        color: #fefefe; }
    .c-search-results__nav .btn {
      border-radius: 0;
      padding: 12px 50px; }
      .c-search-results__nav .btn.active {
        background-color: #234a71;
        color: #fefefe; }
  .c-search-results__item {
    border: 3px solid #F0F0F0;
    background: #f0f0f0;
    margin-top: 16px;
    border-radius: 6px; }
    @media print, screen and (min-width: 48em) {
      .c-search-results__item {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: stretch;
            align-items: stretch; } }
  .c-search-results__item-image {
    background-color: #f6f6f6;
    background-origin: content-box;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    display: block;
    min-height: 100px;
    min-width: 200px;
    padding: 26px; }
    @media print, screen and (min-width: 48em) {
      .c-search-results__item-image {
        padding: 10px;
        width: 20%; } }
  .c-search-results__item-content {
    padding: 20px 20px; }
    @media print, screen and (min-width: 48em) {
      .c-search-results__item-content {
        padding: 20px 30px; } }
    .c-search-results__item-content p {
      margin-bottom: 0;
      font-size: .8em; }
  .c-search-results__item-heading {
    font-size: 1.125em;
    color: #234a71;
    margin-bottom: 0; }
    .c-search-results__item-heading a {
      color: #234a71; }
    .c-search-results__item-heading + p {
      margin-top: 5px; }
  .c-search-results__pagination {
    margin: 40px auto 0;
    max-width: 244px;
    padding: 0;
    position: relative;
    text-align: center;
    display: none; }
    .c-search-results__pagination ul {
      border: 2px solid #234a71;
      display: inline-block;
      padding: 10px; }
      .c-search-results__pagination ul li {
        display: inline-block; }
        .c-search-results__pagination ul li.active {
          background: rgba(35, 74, 113, 0.1); }
    .c-search-results__pagination a {
      font-weight: 700;
      color: #234a71;
      padding: 8px 10px;
      display: block; }
  .c-search-results__pagination-btn {
    background-position: center;
    background-repeat: no-repeat;
    background-size: 6px auto;
    cursor: pointer;
    display: block;
    height: 40px;
    margin-top: -20px;
    position: absolute;
    top: 50%;
    width: 40px; }
    .c-search-results__pagination-btn--left {
      background-image: url("../images/png/blue-left-arrow.png");
      left: 0; }
    .c-search-results__pagination-btn--right {
      background-image: url("../images/png/blue-right-arrow.png");
      right: 0; }

body.page-template-search .product-search {
  background-color: #f0f0f0; }
  @media print, screen and (min-width: 48em) {
    body.page-template-search .product-search {
      /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#e8e8e8+45,f4f4f4+45 */
      background: #f0f0f0;
      /* Old browsers */ }
      body.page-template-search .product-search .container {
        max-width: 980px; } }
  @media print, screen and (min-width: 48em) {
    body.page-template-search .product-search .search-bar__form {
      padding: 15px 30px; } }

.support-faq {
  margin-bottom: 32px; }
  @media print, screen and (min-width: 48em) {
    .support-faq__header {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center;
      -ms-flex-pack: end;
          justify-content: flex-end;
      margin-bottom: 20px; } }
  .support-faq__heading {
    margin: 0;
    -ms-flex: 1 0 auto;
        flex: 1 0 auto; }
  .support-faq__btn-wrapper {
    margin-bottom: 20px;
    position: relative; }
    @media print, screen and (min-width: 64em) {
      .support-faq__btn-wrapper {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: end;
            align-items: flex-end; } }
    .support-faq__btn-wrapper .c-accordion__expand {
      top: 60px; }
  .support-faq__heading {
    font-weight: 700;
    font-size: 1.875em;
    color: #234a71; }
  .support-faq__view-all {
    margin: 20px 0 40px;
    font-size: 0.75em;
    text-transform: uppercase;
    width: 190px; }
    @media print, screen and (min-width: 48em) {
      .support-faq__view-all {
        margin: 0; } }
  @media print, screen and (min-width: 48em) {
    .support-faq__item-content.c-accordion__content {
      padding: 0;
      margin-left: 0;
      padding-top: 25px;
      margin-right: 40px;
      position: relative;
      top: 0; } }
  .support-faq__item {
    display: block; }
    .support-faq__item > .c-accordion__content {
      display: none; }
      @media print, screen and (min-width: 48em) {
        .support-faq__item > .c-accordion__content {
          padding: 0;
          margin-left: 0;
          padding-top: 25px;
          margin-right: 40px;
          position: relative;
          top: 0; } }
      .support-faq__item > .c-accordion__content p {
        margin-bottom: 10px; }
      .support-faq__item > .c-accordion__content--table {
        padding-top: 40px; }
        @media print, screen and (min-width: 48em) {
          .support-faq__item > .c-accordion__content--table {
            margin-right: 0;
            margin-left: 20px; } }

.c-accordion__nav.support-faq__btn-nav {
  border: 0;
  background: transparent;
  padding: 40px 0 25px; }
  .c-accordion__nav.support-faq__btn-nav .c-accordion__btn {
    transition: ease all 0.3s;
    margin-right: 10px;
    margin-left: 0;
    font-size: 0.875rem;
    padding: 15px 25px;
    color: #234a71;
    font-weight: 400; }
    .c-accordion__nav.support-faq__btn-nav .c-accordion__btn:hover {
      background-color: rgba(35, 74, 113, 0.1); }
    .c-accordion__nav.support-faq__btn-nav .c-accordion__btn.is-active, .c-accordion__nav.support-faq__btn-nav .c-accordion__btn.active {
      background-color: #234a71;
      color: #fefefe; }

.c-sitemap {
  padding: 105px 0; }
  .c-sitemap .container {
    max-width: 980px; }
  .c-sitemap__heading {
    font-size: 1.25em;
    color: #234a71;
    border-bottom: 1px solid #aeaeae;
    padding: 0 26px 20px; }
  .c-sitemap__item {
    margin-top: 50px; }
    .c-sitemap__item:first-child {
      margin-top: 0; }
  @media print, screen and (min-width: 48em) {
    .c-sitemap__item-content {
      display: -ms-flexbox;
      display: flex; } }
  @media print, screen and (min-width: 48em) {
    .c-sitemap__item-col {
      width: 50%;
      -ms-flex-positive: 1;
          flex-grow: 1; } }
  .c-sitemap__item-col > ul {
    padding-left: 26px; }
  .c-sitemap__item-col a {
    color: #234a71; }
  .c-sitemap__item-col li {
    font-weight: 700;
    font-size: 0.75em;
    margin-top: 30px;
    text-transform: uppercase; }
    .c-sitemap__item-col li ul {
      margin-left: 20px; }
      @media print, screen and (min-width: 48em) {
        .c-sitemap__item-col li ul {
          margin-left: 35px; } }
      .c-sitemap__item-col li ul li {
        font-size: 0.875em;
        font-weight: 400; }
      .c-sitemap__item-col li ul a {
        color: #787878; }

div.heat-calculator {
  background: #f0f0f0;
  width: 400px;
  padding: 60px 45px;
  margin-left: 10px; }
  @media screen and (max-width: 47.99875em) {
    div.heat-calculator {
      margin-left: 0;
      width: 100%;
      padding: 60px 40px; } }
  div.heat-calculator .presets-factor, div.heat-calculator .presets-offset {
    display: none; }
  div.heat-calculator h3 {
    color: #234a71 !important;
    text-transform: uppercase;
    text-align: center;
    font-size: 13px !important;
    line-height: 17px; }
  div.heat-calculator p {
    color: #787878;
    font-size: 13px;
    line-height: 17px;
    text-align: center; }
  div.heat-calculator .heat-calculator__input {
    height: 45px;
    position: relative;
    display: block;
    margin: 0 auto 10px;
    width: 180px; }
    div.heat-calculator .heat-calculator__input--temp:after {
      content: '°C';
      color: darkslategray;
      position: absolute;
      left: calc(100% + 2px);
      top: calc(50% - 12px); }
    div.heat-calculator .heat-calculator__input--wattage:after {
      content: 'W';
      color: darkslategray;
      position: absolute;
      left: calc(100% + 2px);
      top: calc(50% - 12px); }
    div.heat-calculator .heat-calculator__input input {
      border: 1px solid darkslategray;
      height: 100%;
      width: 100%;
      padding: 0 10px;
      font-size: 20px; }
      div.heat-calculator .heat-calculator__input input:invalid {
        border-color: #b20939; }
      div.heat-calculator .heat-calculator__input input::-webkit-input-placeholder {
        font-size: 13px; }
      div.heat-calculator .heat-calculator__input input:-ms-input-placeholder {
        font-size: 13px; }
      div.heat-calculator .heat-calculator__input input::placeholder {
        font-size: 13px; }
  div.heat-calculator .heat-calculator__radios {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    margin: 10px 0; }
    div.heat-calculator .heat-calculator__radios label {
      font-size: 14px; }
    div.heat-calculator .heat-calculator__radios input {
      margin-right: 10px; }
  div.heat-calculator select {
    width: 250px;
    height: 45px;
    display: block;
    margin: 0 auto 30px;
    padding: 0 10px;
    font-size: 13px; }
  div.heat-calculator .reset {
    text-align: center;
    display: none;
    text-decoration: underline; }
  div.heat-calculator .calculate {
    text-align: center;
    display: block;
    width: 250px;
    margin: 0 auto; }
  div.heat-calculator__results, div.heat-calculator__error {
    display: none;
    color: #b20939;
    font-weight: 700;
    text-align: center;
    font-size: 16px;
    margin-bottom: 10px;
    line-height: 18px; }
  div.heat-calculator.submitted .reset {
    display: block; }
  div.heat-calculator.submitted .calculate {
    display: none; }
  div.heat-calculator.submitted .heat-calculator__results {
    display: block; }

.graph-and-calc {
  display: -ms-flexbox;
  display: flex; }
  @media screen and (max-width: 47.99875em) {
    .graph-and-calc {
      display: block; } }
  .graph-and-calc img {
    margin: 0; }

/*
html[lang="es-MX"], html[lang="es-ES"] {
    div.heat-calculator .heat-calculator__input--wattage:after {
        content: 'watts';
    }
}
*/
@media print, screen and (min-width: 48em) {
  .customers .masthead__content-wrapper .custom-select {
    border: 1px solid #fefefe;
    background-color: #0c1824;
    margin-top: 40px; } }
  @media print, screen and (min-width: 48em) and (min-width: 48em) {
    .customers .masthead__content-wrapper .custom-select {
      margin-top: 0;
      max-width: 320px;
      width: 42%; } }

@media print, screen and (min-width: 48em) {
    .customers .masthead__content-wrapper .custom-select select {
      font-size: 0.875em;
      padding: 16px 60px 16px 30px;
      color: #fefefe;
      text-transform: uppercase; }
    .customers .masthead__content-wrapper .custom-select::after {
      background-image: url("../images/png/select-arrow.png");
      background-size: contain;
      height: 18px;
      right: 30px;
      width: 16px; } }

.masthead--casestudy .masthead__content {
  text-align: center;
  max-width: 48.75rem; }

.customer-summary {
  padding: 45px 0;
  color: #fefefe;
  text-align: center;
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover; }
  .customer-summary__content {
    max-width: 48.75rem; }
  .customer-summary__cta {
    max-width: 15rem;
    margin: 0 auto; }

@media print, screen and (min-width: 57.5em) {
  .no-map {
    display: -ms-flexbox;
    display: flex; } }

.contact-info {
  padding: 45px 0;
  /*&__emails {
    flex-grow: 2;
  }

  &__email-item {
    color: $color-navy-blue;
    text-align: center;
    margin-bottom: 60px;

    @include breakpoint(tablet-vert) {
      flex: 1 0 auto;
      //margin-left: 65px;
      margin-bottom: 0;
    }

    &:first-child {
      margin-left: 0;
    }

    a {
      @include to-em(12px);
      color: $color-navy-blue;
    }
  }

  &__email-item-heading {
    @include font-sans(medium);
    @include to-em(14px);
    text-transform: uppercase;

    &::before {
      content: "";
      display: block;
      margin: 0 auto 40px;
      height: 70px;
      width: auto;
      background-position: top center;
      background-repeat: no-repeat;
    }

    &--email::before {
      background-image: url("../images/svg/email-accounts-icon.svg");
    }

    &--support::before {
      background-image: url("../images/svg/support-icon.svg");
    }

    &--sales::before {
      background-image: url("../images/svg/sales-icon.svg");
    }
  }

  &__phone-chat {
    @include to-em(15px);
    text-align: center;

    @include breakpoint(tablet-vert) {
      border-top: 1px solid $color-border-grey;
      margin-top: 35px;
      padding-top: 35px;
    }

    @include breakpoint(xlarge2) {
      border-left: 1px solid $color-border-grey;
      border-top: 0;
      flex-grow: 1;
      margin-left: 45px;
      margin-top: 0;
      padding-left: 45px;
      padding-top: 0;
      text-align: left;
    }
  }

  &__phone-chat-btns {
    margin-top: 40px;

    .btn {
      @include font-sans(medium);
      @include to-em(13px);
      border-radius: 0;
      margin-top: 12px;
      padding: 10px 20px;
    }

    @include breakpoint(tablet-vert) {
      display: flex;
      justify-content: center;

      .btn {
        margin-left: 10px;
        margin-top: 0;
        flex: 1 0 auto;

        &:first-child {
          margin-left: 0;
        }
      }
    }

    @include breakpoint(xlarge2) {
      justify-content: space-between;
    }
  }*/ }
  @media print, screen and (min-width: 57.5em) {
    .contact-info {
      padding: 45px 56px;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: justify;
          justify-content: space-between; } }
  .contact-info__block {
    border-bottom: 1px solid #aeaeae;
    margin-bottom: 20px; }
    @media print, screen and (min-width: 57.5em) {
      .contact-info__block {
        border-right: 1px solid #aeaeae;
        border-bottom: none;
        margin-bottom: 0;
        padding: 0 30px; } }
    .contact-info__block:first-child {
      padding-left: 0; }
    .contact-info__block:last-child {
      border-right: none;
      padding-right: 0; }
  .contact-info__heading {
    text-transform: uppercase;
    font-weight: bold;
    color: #B20838;
    font-size: 1rem;
    padding-bottom: 5px; }
  .contact-info__chat-us {
    -ms-flex-positive: 1;
        flex-grow: 1; }
    .contact-info__chat-us .contact-info__content {
      background-image: url("../images/svg/icon-contact-chat.svg"); }
  .contact-info__call-us {
    -ms-flex-positive: 1;
        flex-grow: 1; }
    .contact-info__call-us .contact-info__content {
      background-image: url("../images/svg/icon-contact-call.svg"); }
  .contact-info__email-us {
    -ms-flex-positive: 1;
        flex-grow: 1; }
    .contact-info__email-us .contact-info__content {
      background-image: url("../images/svg/icon-contact-email.svg"); }
  .contact-info__mail-us {
    -ms-flex-positive: 1;
        flex-grow: 1; }
    .contact-info__mail-us .contact-info__content {
      background-image: url("../images/svg/icon-contact-mail.svg"); }
  .contact-info__content {
    margin-bottom: 10px;
    padding-left: 75px;
    padding-top: 0;
    color: #6d6d6d;
    background-repeat: no-repeat;
    background-size: 50px;
    font-size: 0.875rem; }
    @media print, screen and (min-width: 57.5em) {
      .contact-info__content {
        padding-top: 75px;
        padding-left: 0; } }
    @media screen and (min-width: 75em) {
      .contact-info__content {
        padding-left: 75px;
        padding-top: 0; } }
    .contact-info__content p {
      line-height: 175%; }
  @media print, screen and (min-width: 57.5em) {
    .no-map .contact-info {
      padding: 0 60px 0 0;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: start;
          justify-content: flex-start;
      -ms-flex-direction: column;
          flex-direction: column; } }
  .no-map .contact-info .contact-info__block {
    -ms-flex: 0 1 auto;
        flex: 0 1 auto;
    padding: 0 0 40px;
    border: 0; }

.form-map {
  padding-bottom: 45px;
  position: relative;
  z-index: 99;
  background-color: #fff; }
  .form-map__wrapper {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: stretch;
        align-items: stretch;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    @media print, screen and (min-width: 57.5em) {
      .form-map__wrapper {
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
        padding: 0 20px; } }
  .form-map iframe {
    width: 100%;
    height: 100%; }
  .form-map__map {
    width: 100%;
    margin-bottom: 60px;
    height: 325px; }
    @media print, screen and (min-width: 57.5em) {
      .form-map__map {
        -ms-flex-positive: 1;
            flex-grow: 1;
        margin-left: 20px;
        -ms-flex-order: 2;
            order: 2;
        width: 50%;
        height: auto; } }
  .form-map__form {
    width: 100%; }
    @media print, screen and (min-width: 57.5em) {
      .form-map__form {
        -ms-flex-positive: 1;
            flex-grow: 1;
        -ms-flex-order: 1;
            order: 1;
        width: 50%;
        min-height: 635px; } }
    .form-map__form .contact-info__heading {
      padding: 0 0 20px 20px; }
  .form-map .acf-field {
    position: relative; }
    .form-map .acf-field .acf-label {
      position: absolute;
      top: 5px;
      left: 31px;
      z-index: 1;
      font-size: .65em;
      opacity: 0;
      transition: all 200ms; }
      .form-map .acf-field .acf-label label {
        font-weight: 200; }
  .form-map #message.updated {
    border: 1px solid #8bc34a;
    padding: 10px;
    margin: 0 5px 10px;
    text-align: center;
    background: rgba(139, 195, 74, 0.1);
    text-transform: uppercase; }
    .form-map #message.updated p {
      margin: 0;
      padding: 0;
      font-size: .8em;
      line-height: 1.2em;
      text-transform: uppercase;
      text-align: center; }
  .no-map .form-map .contact-info__heading {
    padding: 0 0 20px 25px; }

.global-sites {
  padding-bottom: 70px;
  position: relative;
  z-index: 1; }
  .global-sites__sites {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
  .global-sites__site {
    font-size: 0.75em;
    color: #234a71;
    text-align: center;
    display: block;
    margin-bottom: 30px;
    -ms-flex: 1 0 50%;
        flex: 1 0 50%; }
    @media print, screen and (min-width: 48em) {
      .global-sites__site {
        -ms-flex: 1 0 33%;
            flex: 1 0 33%; } }
    @media print, screen and (min-width: 64em) {
      .global-sites__site {
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; } }
    .global-sites__site:first-child .global-sites__site-image {
      border: 0; }
      .global-sites__site:first-child .global-sites__site-image::before {
        display: none; }
  .global-sites__site-image {
    padding: 0 18%; }
    .global-sites__site-image img {
      display: block;
      height: auto;
      margin: 0 auto 35px;
      width: 100%;
      max-width: 230px; }
    @media print, screen and (min-width: 64em) {
      .global-sites__site-image {
        border-left: 1px solid #aeaeae; }
        .global-sites__site-image img {
          width: 68px; } }

.acf-fields > .acf-field {
  border: 0 !important;
  padding: 0 5px 15px !important; }
  .acf-fields > .acf-field:first-child {
    border: 0 !important; }
  .acf-fields > .acf-field input[type="text"],
  .acf-fields > .acf-field input[type="password"],
  .acf-fields > .acf-field input[type="number"],
  .acf-fields > .acf-field input[type="search"],
  .acf-fields > .acf-field input[type="email"],
  .acf-fields > .acf-field input[type="url"],
  .acf-fields > .acf-field textarea,
  .acf-fields > .acf-field select {
    padding: 20px 25px;
    min-height: 60px;
    background-color: #fff;
    border: 1px solid #787878; }
  .acf-fields > .acf-field select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url("../images/svg/ddl-accent.svg");
    background-position: calc(100% - 15px) center;
    background-size: 15px;
    background-repeat: no-repeat;
    color: #787878; }

.acf-form-submit {
  padding: 0 5px; }
  .acf-form-submit input[type="submit"].button {
    background: #b20939;
    text-transform: uppercase;
    font-size: 0.9375em;
    border-radius: 3px;
    color: #fefefe;
    cursor: pointer;
    display: block;
    font-weight: bold;
    padding: 12px 25px;
    text-align: center;
    transition: all 200ms;
    overflow: hidden;
    position: relative;
    z-index: 1;
    margin-bottom: 0px; }
    .acf-form-submit input[type="submit"].button:after {
      display: block;
      content: "";
      z-index: -1;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      background: linear-gradient(to bottom, #c5466a 0%, #b20939 100%);
      filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#c5466a", endColorstr="#b20939", GradientType=0 );
      opacity: 1;
      transition: all 200ms; }
    @media print, screen and (min-width: 48em) {
      .acf-form-submit input[type="submit"].button:hover {
        color: #fefefe; }
        .acf-form-submit input[type="submit"].button:hover:after {
          opacity: 0; } }

.seo-landing {
  background-color: #f0f0f0; }

.seo__table {
  padding: 45px 5% 0;
  width: 100%; }
  @media print, screen and (min-width: 48em) {
    .seo__table {
      margin-top: -170px;
      padding: 20px 20px 40px; }
      .seo__table .monitor-table__heading {
        text-align: left; }
        .seo__table .monitor-table__heading h3 {
          position: relative;
          padding-left: 20px; }
          .seo__table .monitor-table__heading h3:before {
            content: "";
            width: 6px;
            height: 10px;
            background-image: url("../images/png/list-item-arrow.png");
            background-size: contain;
            display: block;
            position: absolute;
            left: 0;
            top: 50%;
            margin-top: -5px;
            background-position: top center;
            background-repeat: no-repeat; } }

.seo-accessories {
  padding: 40px 0; }
  @media print, screen and (min-width: 48em) {
    .seo-accessories {
      padding: 70px 0; } }
  .seo-accessories__heading {
    color: #234a71;
    margin-bottom: 40px;
    text-align: center; }
    @media print, screen and (min-width: 48em) {
      .seo-accessories__heading {
        font-size: 2.5em;
        margin-bottom: 70px; } }
  @media print, screen and (min-width: 48em) {
    .seo-accessories__grid {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: justify;
          justify-content: space-between; } }
  .seo-accessories__grid-item {
    text-align: center;
    -ms-flex-positive: 1;
        flex-grow: 1; }
    @media screen and (max-width: 74.99875em) {
      .seo-accessories__grid-item {
        margin-top: 60px; }
        .seo-accessories__grid-item:first-child {
          margin-top: 0; } }
    @media print, screen and (min-width: 48em) {
      .seo-accessories__grid-item {
        width: 31.2%;
        margin-left: 3.2%; }
        .seo-accessories__grid-item:first-child {
          margin-left: 0; } }
    @media screen and (min-width: 75em) {
      .seo-accessories__grid-item {
        width: 33%;
        margin-left: 100px; } }
  .seo-accessories__grid-item-heading {
    color: #234a71; }
    @media print, screen and (min-width: 48em) {
      .seo-accessories__grid-item-heading {
        font-size: 1.25em; } }
  .seo-accessories__grid-item-image {
    margin-bottom: 25px; }
    .seo-accessories__grid-item-image img {
      display: block;
      height: auto;
      width: 100%; }
  .seo-accessories__btn {
    margin: 24px auto 0;
    max-width: 300px; }

.rated-accessories__heading span {
  background-color: #f0f0f0; }

.rated-accessories__grid {
  margin-bottom: 65px; }
  @media print, screen and (min-width: 35.5em) {
    .rated-accessories__grid {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -ms-flex-pack: center;
          justify-content: center; } }
  @media print, screen and (min-width: 57.5em) {
    .rated-accessories__grid {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; } }

.rated-accessories__grid-item {
  text-align: center;
  background-color: #fefefe;
  color: #234a71;
  padding: 50px 10px;
  margin-top: 20px; }
  @media print, screen and (min-width: 35.5em) {
    .rated-accessories__grid-item {
      width: 48.4%;
      margin-left: 3.2%;
      -ms-flex-positive: 1;
          flex-grow: 1; }
      .rated-accessories__grid-item:nth-of-type(2n+1) {
        margin-left: 0; } }
  @media print, screen and (min-width: 57.5em) {
    .rated-accessories__grid-item {
      margin-top: 0;
      width: auto; }
      .rated-accessories__grid-item:nth-of-type(2n+1) {
        margin-left: 3.2%; }
      .rated-accessories__grid-item:first-child {
        margin-left: 0; } }

.product-search {
  background-color: #f0f0f0;
  padding: 40px 5%; }
  @media print, screen and (min-width: 48em) {
    .product-search {
      /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#e8e8e8+45,f4f4f4+45 */ }
      .product-search .container {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: center;
            justify-content: center; } }
  @media screen and (min-width: 75em) {
    .product-search {
      padding: 40px 0; } }
  .product-search .search-bar__wrapper {
    width: 100%;
    margin-bottom: 20px; }
    @media print, screen and (min-width: 48em) {
      .product-search .search-bar__wrapper {
        margin-bottom: 0;
        max-width: 680px;
        width: 65%; }
        .product-search .search-bar__wrapper--full-width {
          width: 100%;
          max-width: none; } }
  .product-search .search-bar__form {
    padding: 4px 16px; }
    @media screen and (max-width: 74.99875em) {
      .product-search .search-bar__form {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
            align-items: center; } }
    @media print, screen and (min-width: 48em) {
      .product-search .search-bar__form {
        padding: 4px 32px; } }
  .product-search .search-bar__form-submit {
    overflow: hidden;
    height: 24px;
    width: 24px;
    text-indent: 1000%;
    background-image: url("../images/svg/grey-loupe-icon.svg");
    background-size: 19px auto;
    background-position: center;
    background-repeat: no-repeat; }
  @media print, screen and (min-width: 48em) {
    .product-search__chat-button, .product-search__contact-button {
      -ms-flex: 1 0 auto;
          flex: 1 0 auto; } }
  .product-search__chat-button .btn, .product-search__contact-button .btn {
    font-weight: 500;
    border-radius: 0;
    border-width: 1px;
    width: 100%;
    padding: 15px 30px;
    font-weight: 600; }
    .product-search__chat-button .btn span, .product-search__contact-button .btn span {
      font-weight: 300;
      font-size: .8em; }
  .product-search__chat-button p, .product-search__contact-button p {
    font-size: 0.75em;
    color: rgba(120, 120, 120, 0.7);
    margin: 20px 0 0;
    text-align: center; }
  .product-search__chat-button + div, .product-search__contact-button + div {
    margin-top: 10px; }
    @media print, screen and (min-width: 48em) {
      .product-search__chat-button + div, .product-search__contact-button + div {
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
        margin-left: 20px;
        margin-top: 0; } }

.support-content {
  padding: 40px 0 40px; }
  @media print, screen and (min-width: 48em) {
    .support-content .container {
      display: -ms-flexbox;
      display: flex; } }
  .support-content__item {
    width: 100%;
    margin-top: 60px; }
    .support-content__item:first-child {
      margin-top: 0; }
    @media print, screen and (min-width: 48em) {
      .support-content__item {
        margin-left: 20px;
        margin-top: 0; }
        .support-content__item:first-child {
          margin-left: 0; } }
    .support-content__item ul {
      border-top: 1px solid #aeaeae;
      padding-left: 15px;
      padding-top: 25px; }
      .support-content__item ul.u-styled-list {
        margin-bottom: 0; }
        .support-content__item ul.u-styled-list li {
          margin-bottom: 15px; }
        .support-content__item ul.u-styled-list li:last-of-type {
          margin-bottom: 0; }
  .support-content__item-heading {
    font-weight: 700;
    font-size: 1.5em;
    color: #b20939;
    -ms-flex-positive: 1;
        flex-grow: 1;
    padding-left: 35px;
    margin-bottom: 20px;
    position: relative; }
    .support-content__item-heading::before {
      background-position: center;
      background-repeat: no-repeat;
      background-size: contain;
      content: "";
      display: block;
      height: 20px;
      left: 0;
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      width: 20px; }
    .support-content__item-heading--documentation::before {
      background-image: url("../images/svg/documentation-icon.svg"); }
    .support-content__item-heading--drivers::before {
      background-image: url("../images/svg/drivers-icon.svg"); }
    .support-content__item-heading--policies::before {
      background-image: url("../images/svg/policies-icon.svg"); }

.support-certifications {
  padding-bottom: 40px; }
  @media print, screen and (min-width: 48em) {
    .support-certifications {
      padding-bottom: 60px; } }
  @media print, screen and (min-width: 48em) {
    .support-certifications__header {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center;
      -ms-flex-pack: end;
          justify-content: flex-end;
      margin-bottom: 20px; } }
  .support-certifications__heading {
    font-weight: 700;
    font-size: 1.875em;
    color: #234a71;
    margin: 0;
    -ms-flex: 1 0 auto;
        flex: 1 0 auto; }
  .support-certifications__items {
    /*@include breakpoint(tablet-vert) {
      display: flex;
      flex-wrap: wrap;
    }

    @include breakpoint(xlarge2) {
      flex-wrap: nowrap;
    }*/ }
    .support-certifications__items .img-container {
      width: 50px;
      height: 55px;
      margin: 0 auto 15px; }
      .support-certifications__items .img-container img {
        object-fit: contain;
        width: inherit;
        height: inherit; }
  .support-certifications__item {
    padding: 20px 10px 20px;
    text-align: center;
    background-color: #fefefe;
    border: 2px solid #f0f0f0;
    border-radius: 5px;
    margin-top: 20px;
    transition: all 200ms;
    display: block;
    width: calc(50% - 1.875rem) !important;
    /*&:first-child {
      margin-top: 0;
    }

    @include breakpoint(tablet-vert) {
      margin-left: percentage(((100 - (4 * 24))/3)/100); //1.33%;
      width: 48.4%;
      flex: 1 0 48.4%;

      &:nth-of-type(2n + 1) {
        margin-left: 0;
      }

      &:nth-child(-n + 2) {
        margin-top: 0;
      }
    }

    @include breakpoint(xlarge2) {
      width: auto;
      margin-top: 0;
      flex: 0 1 25%;

      &:nth-of-type(2n + 1) {
        //margin-left: 3.2%;
        margin-left: percentage(((100 - (4 * 24))/3)/100); //1.33%;
      }

      &:first-child {
        margin-left: 0;
      }
    }*/ }
    .support-certifications__item:hover {
      background-color: rgba(240, 240, 240, 0.5); }
    @media print, screen and (min-width: 48em) {
      .support-certifications__item {
        width: calc(33% - 1.875rem) !important; } }
    @media print, screen and (min-width: 64em) {
      .support-certifications__item {
        width: calc(20% - 1.875rem) !important; } }
    .support-certifications__item p {
      font-size: 0.875em;
      margin-bottom: 0;
      color: #787878; }
  .support-certifications__items-heading {
    font-size: 0.875em;
    margin-bottom: 0px; }
    .support-certifications__items-heading span {
      color: #234a71;
      display: block; }
    .support-certifications__items-heading + p {
      margin-top: 10px; }
  .support-certifications__btn {
    margin: 40px auto 0;
    padding: 34px 0; }
    @media print, screen and (min-width: 48em) {
      .support-certifications__btn {
        width: 400px;
        margin-top: 80px; } }
  @media print, screen and (min-width: 64em) {
    .support-certifications.4-wide {
      max-width: calc(1220px - 250px); }
      .support-certifications.4-wide .support-certifications__item {
        width: calc(25% - 1.875rem) !important; } }

.support-contact {
  background: #f0f0f0;
  /*&__items {
    @include breakpoint(custom-tablet) {
      border-top: 1px solid $color-border-grey;
      display: flex;
      justify-content: center;
      padding: 55px 0;
    }
  }*/ }
  @media print, screen and (min-width: 64em) {
    .support-contact {
      /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#e8e8e8+45,f4f4f4+45 */
      background: #f0f0f0;
      /* Old browsers */
      /* FF3.6-15 */
      /* Chrome10-25,Safari5.1-6 */
      background: linear-gradient(to right, #f0f0f0 0%, #f0f0f0 30%, #f5f5f5 30%, #f5f5f5 100%);
      filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='$light-gray', endColorstr='$very-light-gray',GradientType=1 );
      /* IE6-9 */ } }
  .support-contact .container {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-align: center;
        align-items: center; }
    @media print, screen and (min-width: 64em) {
      .support-contact .container {
        /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#e8e8e8+45,f4f4f4+45 */
        background: #f0f0f0;
        /* Old browsers */
        /* FF3.6-15 */
        /* Chrome10-25,Safari5.1-6 */
        background: linear-gradient(to right, #f0f0f0 0%, #f0f0f0 30%, #f5f5f5 30%, #f5f5f5 100%);
        filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='$light-gray', endColorstr='$very-light-gray',GradientType=1 );
        /* IE6-9 */ } }
  .support-contact__inner-block {
    border: 1px solid #787878;
    background-color: #f0f0f0;
    padding: 10px 10px 10px 75px;
    background-repeat: no-repeat;
    background-size: 40px 40px;
    background-position: 15px center;
    height: 70px;
    -ms-flex: 1 0 auto;
        flex: 1 0 auto;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: center;
        justify-content: center; }
    .support-contact__inner-block:first-of-type {
      margin: 0 0 10px 0; }
    @media print, screen and (min-width: 40em) {
      .support-contact__inner-block {
        margin: 0; }
        .support-contact__inner-block:first-of-type {
          margin: 0 10px 0 0; } }
    @media print, screen and (min-width: 64em) {
      .support-contact__inner-block {
        padding: 10px 10px 10px 90px;
        background-position: 25px center;
        margin: 0 0 0 20px; }
        .support-contact__inner-block:first-of-type {
          margin: 0 0 0 20px; } }
    .support-contact__inner-block p {
      margin-bottom: 0; }
  .support-contact__block {
    padding: 10px 0;
    height: 100%;
    font-size: 0.75rem;
    text-align: center;
    -ms-flex: 1 0 auto;
        flex: 1 0 auto; }
    @media print, screen and (min-width: 64em) {
      .support-contact__block {
        text-align: left; } }
    .support-contact__block__heading {
      font-weight: bold;
      color: #234A71;
      text-transform: uppercase;
      font-size: 0.875rem;
      text-align: center; }
      @media print, screen and (min-width: 64em) {
        .support-contact__block__heading {
          text-align: left; } }
    .support-contact__block--call {
      -ms-flex: 1 0 100%;
          flex: 1 0 100%; }
      @media print, screen and (min-width: 64em) {
        .support-contact__block--call {
          -ms-flex: 0 1 25%;
              flex: 0 1 25%; } }
      .support-contact__block--call p:last-of-type {
        margin-bottom: 0; }
    .support-contact__block--chat-email {
      -ms-flex: 1 0 100%;
          flex: 1 0 100%;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -ms-flex-pack: space-evenly;
          justify-content: space-evenly;
      padding: 20px 0; }
      @media print, screen and (min-width: 64em) {
        .support-contact__block--chat-email {
          background-color: #f5f5f5;
          -ms-flex: 1 0 auto;
              flex: 1 0 auto; } }
    .support-contact__block--chat {
      background-image: url("../images/svg/icon-contact-chat.svg");
      text-align: left; }
      .support-contact__block--chat h2 {
        margin-bottom: 2px;
        text-align: left; }
    .support-contact__block--email {
      background-image: url("../images/svg/icon-contact-email.svg");
      text-align: left; }
      .support-contact__block--email h2 {
        margin-bottom: 2px;
        text-align: left; }
  .support-contact__item {
    color: #234a71;
    padding-left: 60px;
    position: relative;
    display: block;
    margin-top: 40px; }
    .support-contact__item:first-child {
      margin-left: 0;
      margin-top: 0; }
      .support-contact__item:first-child::after {
        display: none; }
    @media print, screen and (min-width: 57.5em) {
      .support-contact__item {
        margin-left: 90px;
        margin-top: 0; } }
    @media screen and (min-width: 75em) {
      .support-contact__item {
        margin-left: 180px; } }
    .support-contact__item::before {
      background-position: center;
      background-repeat: no-repeat;
      background-size: auto 45px;
      content: "";
      display: block;
      left: 0;
      margin-top: -22px;
      position: absolute;
      top: 50%;
      width: 45px;
      height: 45px; }
    .support-contact__item--accounts::before {
      background-image: url("../images/svg/email-accounts-icon.svg"); }
    .support-contact__item--support::before {
      background-image: url("../images/svg/support-icon.svg"); }
    .support-contact__item--sales::before {
      background-image: url("../images/svg/sales-icon.svg"); }
    .support-contact__item::after {
      background-color: #aeaeae;
      content: "";
      display: block;
      height: 40px;
      left: -90px;
      margin-top: -20px;
      position: absolute;
      top: 50%;
      width: 1px; }
      @media print, screen and (min-width: 57.5em) {
        .support-contact__item::after {
          left: -45px; } }
    .support-contact__item span {
      display: block; }
  .support-contact__item-heading {
    font-weight: 700;
    text-transform: uppercase; }
  .support-contact__item-email {
    font-size: 0.75em; }
  .support-contact .u-center-border ul {
    max-width: 960px;
    margin-top: 40px; }
    @media print, screen and (min-width: 48em) {
      .support-contact .u-center-border ul {
        margin: 0 auto; } }
    .support-contact .u-center-border ul li {
      font-size: 1.25em;
      margin-bottom: 5px; }
      @media print, screen and (min-width: 48em) {
        .support-contact .u-center-border ul li {
          margin: 0;
          -ms-flex: 1 0 auto;
              flex: 1 0 auto; } }

.support-table {
  display: block;
  overflow-x: auto;
  width: 100%; }
  .support-table__table {
    width: 100%;
    max-width: 100%; }
  .support-table__th {
    font-size: 0.875em;
    border-bottom: 2px solid #234a71;
    text-transform: uppercase;
    padding-bottom: 10px;
    text-align: center; }
  .support-table__cell {
    font-size: 0.875em;
    padding: 20px 0;
    text-align: center; }
    .support-table__cell--padding {
      padding-left: 20px;
      padding-right: 20px; }
  .support-table__downloads, .support-table__downloads--unversioned {
    text-align: left; }
  .support-table__driver-filesize {
    white-space: nowrap; }
  .support-table__product, .support-table__product--unversioned {
    width: 190px; }
  .support-table__btn .btn {
    border-radius: 0;
    padding: 8px 0;
    width: 190px;
    margin: 0 auto; }
  .c-accordion__content--table .support-table {
    padding-bottom: 20px;
    padding-top: 20px; }
    .c-accordion__content--table .support-table__th {
      font-size: 0.75em; }
    .c-accordion__content--table .support-table table tbody tr td {
      border-right: 0;
      vertical-align: middle;
      font-size: 0.75em; }
    .c-accordion__content--table .support-table table tbody tr:last-of-type td {
      border-bottom: 0; }

@media print, screen and (min-width: 57.5em) {
  body.page-template-page-basic-content .basic-content-wrapper {
    display: -ms-flexbox;
    display: flex;
    margin: 0 auto;
    max-width: 1220px;
    width: 90%;
    -ms-flex-align: start;
        align-items: flex-start; }
    body.page-template-page-basic-content .basic-content-wrapper .content-main {
      max-width: 920px;
      padding-right: 100px;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto; }
      body.page-template-page-basic-content .basic-content-wrapper .content-main .container {
        width: 100%; } }

.product-support-content__wrapper {
  padding-bottom: 40px; }

.product-support-content__content.no-sidebar, .product-support-content__wrapper .flexible-content-wrapper.no-sidebar {
  max-width: none;
  padding-right: 0; }

.product-support-content__content p, .product-support-content__wrapper .flexible-content-wrapper p {
  font-size: 0.9375em;
  line-height: 190%;
  margin-bottom: 20px; }

.product-support-content__content h2, .product-support-content__wrapper .flexible-content-wrapper h2 {
  font-weight: 700;
  color: #b20939;
  margin: .85em 0;
  font-size: 1.5625em; }

.product-support-content__content h3, .product-support-content__wrapper .flexible-content-wrapper h3 {
  font-weight: 700;
  color: #b20939;
  margin: .85em 0;
  font-size: 1.25em; }

.product-support-content__content h4, .product-support-content__wrapper .flexible-content-wrapper h4 {
  font-weight: bold;
  color: #787878;
  margin: .5em 0;
  font-size: 1em; }

.product-support-content__content h5, .product-support-content__wrapper .flexible-content-wrapper h5 {
  font-weight: bold;
  color: #787878;
  margin: .5em 0;
  font-size: 0.9375em; }

.product-support-content__content a, .product-support-content__wrapper .flexible-content-wrapper a {
  color: #b20939; }

.product-support-content__content ul:not(.u-styled-list), .product-support-content__content ol:not(.u-styled-list), .product-support-content__wrapper .flexible-content-wrapper ul:not(.u-styled-list), .product-support-content__wrapper .flexible-content-wrapper ol:not(.u-styled-list) {
  margin: 0;
  padding: 0 0 25px 40px;
  font-size: 0.9375em;
  line-height: 190%; }
  .product-support-content__content ul:not(.u-styled-list) li, .product-support-content__content ol:not(.u-styled-list) li, .product-support-content__wrapper .flexible-content-wrapper ul:not(.u-styled-list) li, .product-support-content__wrapper .flexible-content-wrapper ol:not(.u-styled-list) li {
    margin: 0 0 8px;
    padding: 0; }
    .product-support-content__content ul:not(.u-styled-list) li:last-of-type, .product-support-content__content ol:not(.u-styled-list) li:last-of-type, .product-support-content__wrapper .flexible-content-wrapper ul:not(.u-styled-list) li:last-of-type, .product-support-content__wrapper .flexible-content-wrapper ol:not(.u-styled-list) li:last-of-type {
      margin: 0; }

.product-support-content__content .u-styled-list a, .product-support-content__wrapper .flexible-content-wrapper .u-styled-list a {
  color: #234a71; }

.product-support-content__aside {
  background-color: #f0f0f0;
  padding: 30px; }
  @media print, screen and (min-width: 57.5em) {
    .product-support-content__aside {
      max-width: 300px;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
      margin-top: 80px; } }
  .product-support-content__aside p {
    font-size: 0.875em;
    line-height: 150%;
    margin-bottom: 0;
    margin-top: 0; }
    .product-support-content__aside p + p {
      margin-top: 15px; }
  .product-support-content__aside .u-styled-list {
    margin: 0; }
    .product-support-content__aside .u-styled-list li {
      font-size: 0.9375em; }
      .product-support-content__aside .u-styled-list li:first-child {
        margin-top: 0; }
      .product-support-content__aside .u-styled-list li:last-child {
        margin-bottom: 0; }
    .product-support-content__aside .u-styled-list a:hover, .product-support-content__aside .u-styled-list a.active {
      color: #b20939; }
    .product-support-content__aside .u-styled-list + .sidebar-open-content p {
      margin-top: 15px; }

.product-support-content__wrapper .flexible-content:first-of-type {
  padding-top: 0 !important; }

@media print, screen and (min-width: 48em) {
  .product-support-content__wrapper .flexible-content .container {
    display: block;
    margin: 0 auto;
    max-width: none;
    width: 100%; } }

.product-support-content__wrapper .flexible-content.accordions {
  padding: 30px 0; }
  .product-support-content__wrapper .flexible-content.accordions h2 {
    text-align: left;
    font-size: 1.25em;
    color: #b20939; }
  .product-support-content__wrapper .flexible-content.accordions .c-accordion__item {
    padding: 25px 0 5px; }
    .product-support-content__wrapper .flexible-content.accordions .c-accordion__item-heading {
      font-weight: 700;
      font-size: 1em;
      color: #234a71;
      margin: 0; }

.product-support-content__wrapper .flexible-content.block-carousel {
  padding: 30px 0; }
  .product-support-content__wrapper .flexible-content.block-carousel h2 {
    text-align: left;
    font-size: 1.25em;
    color: #b20939; }
  .product-support-content__wrapper .flexible-content.block-carousel .block-carousel__carousel {
    margin-top: 0; }

.product-support-content__wrapper .flexible-content.bulletin-points {
  border-radius: 8px;
  padding: 60px 30px; }
  .product-support-content__wrapper .flexible-content.bulletin-points h2 {
    font-size: 2.1875em; }
  .product-support-content__wrapper .flexible-content.bulletin-points a.btn {
    color: #fefefe;
    text-decoration: none; }
    .product-support-content__wrapper .flexible-content.bulletin-points a.btn:hover {
      color: #234a71; }

.product-support-content__wrapper .flexible-content.company-grid {
  padding: 30px 0; }
  .product-support-content__wrapper .flexible-content.company-grid a {
    color: #234a71; }
    .product-support-content__wrapper .flexible-content.company-grid a:hover {
      color: #fefefe; }

.product-support-content__wrapper .flexible-content.open-text {
  padding: 30px 0; }
  .product-support-content__wrapper .flexible-content.open-text h2 {
    text-align: left;
    font-size: 1.25em;
    color: #b20939;
    margin-bottom: 20px; }
  .product-support-content__wrapper .flexible-content.open-text .main-container {
    padding: 0;
    max-width: none; }
  .product-support-content__wrapper .flexible-content.open-text p:last-of-type {
    margin-bottom: 0; }

.product-support-content__wrapper .flexible-content.product-compare {
  padding: 30px 0; }
  .product-support-content__wrapper .flexible-content.product-compare .product-compare__header {
    text-align: left; }
  .product-support-content__wrapper .flexible-content.product-compare h2 {
    text-align: left;
    font-size: 1.25em;
    color: #b20939; }
  .product-support-content__wrapper .flexible-content.product-compare .monitor-table {
    padding: 0; }

.product-support-content__wrapper .flexible-content.product-groups h2 {
  text-align: left;
  font-size: 1.25em;
  color: #b20939;
  margin-bottom: 20px; }

.product-support-content__wrapper .flexible-content.product-groups .container {
  padding: 30px 0; }
  .product-support-content__wrapper .flexible-content.product-groups .container .product-groups__grid {
    margin: 0 -7px; }
  .product-support-content__wrapper .flexible-content.product-groups .container .product-groups__grid-item {
    padding: 7px;
    text-align: left;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column; }
    .product-support-content__wrapper .flexible-content.product-groups .container .product-groups__grid-item-heading {
      background: #f0f0f0;
      margin: 0;
      padding: 15px 20px;
      font-size: 1em;
      color: #234a71; }
    .product-support-content__wrapper .flexible-content.product-groups .container .product-groups__grid-item-caption {
      background: #f0f0f0;
      margin: 0;
      padding: 0 20px 15px;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
      font-size: 0.8125em;
      border: 3px solid #f0f0f0;
      border-radius: 0 0 5px 5px; }
      .product-support-content__wrapper .flexible-content.product-groups .container .product-groups__grid-item-caption .u-styled-list li, .product-support-content__wrapper .flexible-content.product-groups .container .product-groups__grid-item-caption .wysiwyg ul li, .product-support-content__wrapper .flexible-content.product-groups .container .product-groups__grid-item-caption .wysiwyg ol li {
        margin: 0 0 15px; }
    .product-support-content__wrapper .flexible-content.product-groups .container .product-groups__grid-item-image {
      background: #f0f0f0;
      border: 3px solid #f0f0f0;
      border-radius: 5px 5px 0 0;
      margin: 0;
      overflow: hidden; }
    .product-support-content__wrapper .flexible-content.product-groups .container .product-groups__grid-item .product-groups__btn {
      background: #234a71;
      border: 3px solid #f0f0f0;
      border-radius: 0 0 5px 5px;
      color: #fff;
      overflow: hidden;
      margin: 0;
      display: none; }

.product-support-content__wrapper .flexible-content.related-products {
  padding: 30px 0; }
  .product-support-content__wrapper .flexible-content.related-products h2 {
    text-align: left;
    font-size: 1.25em;
    color: #b20939; }
  .product-support-content__wrapper .flexible-content.related-products .related-products__item-grid {
    margin-left: -7px;
    margin-right: -7px; }
    .product-support-content__wrapper .flexible-content.related-products .related-products__item-grid .related-products__item {
      margin-left: 7px;
      margin-right: 7px;
      width: calc(25% - 14px); }
      .product-support-content__wrapper .flexible-content.related-products .related-products__item-grid .related-products__item h4 {
        font-size: .8em; }

.product-support-content__wrapper .flexible-content.text-tiles {
  padding: 30px 0; }
  .product-support-content__wrapper .flexible-content.text-tiles h2 {
    text-align: left;
    font-size: 1.25em;
    color: #b20939; }
  .product-support-content__wrapper .flexible-content.text-tiles .text-tile__link {
    color: #234a71; }
    .product-support-content__wrapper .flexible-content.text-tiles .text-tile__link:hover {
      color: #fefefe; }

.product-support-content__wrapper .flexible-content.timeline {
  border-radius: 8px;
  padding: 60px 30px; }
  .product-support-content__wrapper .flexible-content.timeline h2 {
    font-size: 2.1875em; }
  .product-support-content__wrapper .flexible-content.timeline h3 {
    color: #fefefe;
    margin-bottom: 10px; }
  .product-support-content__wrapper .flexible-content.timeline p {
    line-height: 150%; }

.support-downloads__item > .c-accordion__content--table {
  margin-left: 20px;
  margin-right: 20px; }

.product-category {
  background-color: #f0f0f0;
  padding: 40px 0 0; }
  .product-category__grid-item {
    margin-top: 20px; }
  .product-category__grid-category {
    background-color: #fefefe;
    border: 3px solid #fefefe;
    border-radius: 6px;
    margin-top: 20px;
    -ms-flex-positive: 1;
        flex-grow: 1; }
    .product-category__grid-category:first-child {
      margin-top: 0; }
  .product-category__grid-item-image {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    border-radius: 3px 3px 0 0;
    overflow: hidden; }
    .product-category__grid-item-image img {
      display: block;
      height: auto;
      width: 100%; }
  .product-category__grid-content {
    padding: 30px; }
    .product-category__grid-content p {
      font-size: 0.8125em; }
  .product-category__grid-heading {
    font-size: 1.5625em;
    color: #234a71; }
    .product-category__grid-heading a {
      color: #234a71;
      transition: all 400ms; }
      .product-category__grid-heading a:hover {
        color: #b20939; }
  .product-category__grid-nav {
    margin-left: -2px;
    margin-right: -2px; }
    .product-category__grid-nav > div {
      padding: 2px; }
    .product-category__grid-nav a {
      border: 1px solid #aeaeae;
      color: #787878;
      display: block;
      padding: 10px 0;
      text-align: center;
      transition: ease all 0.3s; }
      .product-category__grid-nav a span {
        font-size: 0.77778em;
        color: #aeaeae; }
      .product-category__grid-nav a:hover {
        color: #fefefe;
        background-color: #234a71;
        border-color: #234a71; }
  .product-category__accessory-grid {
    font-size: 1em;
    font-weight: 700;
    text-align: center;
    margin-left: -5px;
    margin-right: -5px;
    margin-top: 25px; }
  .product-category__accessory-grid-item {
    color: #234a71;
    padding: 5px; }
    .product-category__accessory-grid-item:hover img {
      opacity: .9; }
    .product-category__accessory-grid-item a {
      background-color: #f0f0f0;
      display: block;
      border-radius: 6px;
      overflow: hidden; }
      .product-category__accessory-grid-item a span.title {
        padding: 10px;
        display: block;
        font-size: .9em;
        font-weight: 500;
        color: #234a71; }
    .product-category__accessory-grid-item figure {
      border-radius: 6px 6px 0 0;
      background: #787878; }
    .product-category__accessory-grid-item img {
      display: block;
      height: auto;
      width: 100%;
      border-radius: 6px 6px 0 0;
      transition: all 400ms; }
  .product-category .top-block-wrapper {
    display: block;
    columns: 400px 2; }
    .product-category .top-block-wrapper .top-block {
      width: 100% !important;
      break-inside: avoid;
      page-break-inside: avoid;
      display: block;
      background: #fff;
      margin-bottom: 20px;
      padding: 3px;
      border-radius: 5px; }
      .product-category .top-block-wrapper .top-block:last-of-type {
        margin-bottom: 0; }

.solutions-gallery {
  background-color: #f0f0f0;
  padding-bottom: 80px; }
  .solutions-gallery .mason-sizer {
    width: 8.33333%; }
  .solutions-gallery__header {
    padding: 40px 0 30px; }
    @media print, screen and (min-width: 48em) {
      .solutions-gallery__header {
        -ms-flex-align: center;
            align-items: center;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: justify;
            justify-content: space-between; } }
    .solutions-gallery__header .custom-select {
      font-size: 0.9375em;
      border: 1px solid #aeaeae;
      margin-top: 0;
      background-image: url("../images/png/blue-select-arrow-down.png");
      background-position: 90% center;
      background-size: 13px auto;
      background-repeat: no-repeat; }
      .solutions-gallery__header .custom-select select {
        color: #234a71;
        padding: 12px 75px 10px 15px; }
  @media screen and (max-width: 74.99875em) {
    .solutions-gallery__nav {
      margin-bottom: 20px; } }
  .solutions-gallery__nav ul {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
  .solutions-gallery__nav li {
    font-size: 0.875em;
    text-transform: uppercase;
    margin-right: 10px; }
    .solutions-gallery__nav li:first-child {
      margin-right: 15px; }
    @media print, screen and (min-width: 48em) {
      .solutions-gallery__nav li {
        margin-right: 30px; } }
  .solutions-gallery__nav a {
    color: #234a71;
    position: relative;
    padding-right: 30px; }
    .solutions-gallery__nav a::before {
      content: "";
      width: 16px;
      height: 16px;
      display: block;
      right: 0;
      top: 50%;
      margin-top: -8px;
      position: absolute;
      background-image: url("../images/svg/blue-close-icon.svg");
      background-position: center;
      background-repeat: no-repeat; }
  .solutions-gallery__grid {
    margin-left: -10px;
    margin-right: -10px; }
  .solutions-gallery__grid-image {
    background-image: none;
    box-sizing: border-box; }
    .solutions-gallery__grid-image img {
      display: block;
      height: auto;
      width: 100%; }
    @media print, screen and (min-width: 48em) {
      .solutions-gallery__grid-image {
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover; }
        .solutions-gallery__grid-image img {
          display: none; } }
  .solutions-gallery__grid-content {
    padding: 0 10px 0; }
  .solutions-gallery__grid-item {
    padding: 0px 10px 20px;
    height: 620px;
    box-sizing: border-box; }
    .solutions-gallery__grid-item .grid-item-content {
      background-color: #fefefe;
      border-radius: 6px;
      width: 100%;
      height: 100%;
      overflow: hidden;
      padding: 20px; }
    .solutions-gallery__grid-item.quarter {
      width: 25%; }
    .solutions-gallery__grid-item.third {
      width: 33.3%; }
    .solutions-gallery__grid-item.half {
      width: 50%; }
    .solutions-gallery__grid-item.two-third {
      width: 66.6%; }
    .solutions-gallery__grid-item.three-quarter {
      width: 75%; }
    .solutions-gallery__grid-item.full {
      width: 100%; }
    .solutions-gallery__grid-item p {
      font-size: 0.8125rem; }
    @media print, screen and (min-width: 48em) {
      .solutions-gallery__grid-item.rightside .solutions-gallery__grid-content {
        -ms-flex-positive: 1;
            flex-grow: 1;
        width: 38%; }
      .solutions-gallery__grid-item.rightside .solutions-gallery__grid-image {
        -ms-flex-positive: 2;
            flex-grow: 2;
        height: auto;
        margin-left: 20px;
        -ms-flex-order: 2;
            order: 2;
        width: calc(53% - 20px); } }
    @media screen and (min-width: 75em) {
      .solutions-gallery__grid-item.topside .solutions-gallery__grid-image {
        padding-top: 70%; }
      .solutions-gallery__grid-item.two-third .solutions-gallery__grid-image {
        height: auto; } }

@media screen and (min-width: 75em) and (min-width: 75em) {
  .solutions-gallery__grid-item.rightside {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between; }
    .solutions-gallery__grid-item.rightside .grid-item-content {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: justify;
          justify-content: space-between; }
    .solutions-gallery__grid-item.rightside .solutions-gallery__grid-content {
      -ms-flex-positive: 1;
          flex-grow: 1;
      width: 38%; }
    .solutions-gallery__grid-item.rightside .solutions-gallery__grid-image {
      -ms-flex-positive: 2;
          flex-grow: 2;
      margin-left: 20px;
      -ms-flex-order: 2;
          order: 2;
      width: 53%; } }
    @media screen and (min-width: 75em) {
      .solutions-gallery__grid-item.full .solutions-gallery__grid-content {
        width: 22%; }
      .solutions-gallery__grid-item.full .solutions-gallery__grid-image {
        width: calc(78% - 20px); } }
  .solutions-gallery__grid-heading {
    font-size: 1.125em;
    color: #b20939;
    margin-top: 20px; }
  .solutions-gallery__grid-build {
    border-top: 1px solid rgba(174, 174, 174, 0.2);
    padding-top: 15px; }
    .solutions-gallery__grid-build ul {
      margin: 15px 10px 0; }
    .solutions-gallery__grid-build p {
      font-size: 0.875em;
      font-weight: bold;
      margin: 0; }

body.blog aside h3, body.archive aside h3 {
  color: #b20939;
  font-size: 0.875em;
  border-bottom: 1px solid #aeaeae;
  margin: 0 0 20px 0;
  padding: 0 0 10px 0;
  text-transform: uppercase; }

body.blog aside li a span, body.archive aside li a span {
  float: right;
  color: #787878; }

body.blog .main-grid .breadcrumbs__nav, body.archive .main-grid .breadcrumbs__nav {
  margin-bottom: 25px;
  padding-bottom: 25px; }

body.blog .main-grid .blog-landing-item, body.archive .main-grid .blog-landing-item {
  border-bottom: 1px solid #aeaeae;
  padding-bottom: 50px;
  margin-bottom: 50px;
  clear: both; }
  body.blog .main-grid .blog-landing-item article header, body.archive .main-grid .blog-landing-item article header {
    margin-bottom: 20px; }
    body.blog .main-grid .blog-landing-item article header a, body.archive .main-grid .blog-landing-item article header a {
      color: #234a71; }
    body.blog .main-grid .blog-landing-item article header h2, body.archive .main-grid .blog-landing-item article header h2 {
      font-size: 1.5625em;
      margin: 0;
      padding: 0;
      color: #234a71; }
    body.blog .main-grid .blog-landing-item article header time, body.archive .main-grid .blog-landing-item article header time {
      font-size: .75em;
      display: inline-block; }
    body.blog .main-grid .blog-landing-item article header p.byline, body.archive .main-grid .blog-landing-item article header p.byline {
      font-size: .75em;
      display: block; }
      @media print, screen and (min-width: 48em) {
        body.blog .main-grid .blog-landing-item article header p.byline, body.archive .main-grid .blog-landing-item article header p.byline {
          display: inline-block; } }
      body.blog .main-grid .blog-landing-item article header p.byline:before, body.archive .main-grid .blog-landing-item article header p.byline:before {
        content: "|";
        display: none;
        padding: 0 15px; }
        @media print, screen and (min-width: 48em) {
          body.blog .main-grid .blog-landing-item article header p.byline:before, body.archive .main-grid .blog-landing-item article header p.byline:before {
            display: inline-block; } }
  body.blog .main-grid .blog-landing-item article .entry-content, body.archive .main-grid .blog-landing-item article .entry-content {
    overflow: visible; }
    body.blog .main-grid .blog-landing-item article .entry-content img, body.blog .main-grid .blog-landing-item article .entry-content figure, body.blog .main-grid .blog-landing-item article .entry-content h1, body.blog .main-grid .blog-landing-item article .entry-content h2, body.blog .main-grid .blog-landing-item article .entry-content h3, body.blog .main-grid .blog-landing-item article .entry-content h4, body.blog .main-grid .blog-landing-item article .entry-content h5, body.blog .main-grid .blog-landing-item article .entry-content h6, body.blog .main-grid .blog-landing-item article .entry-content ul, body.archive .main-grid .blog-landing-item article .entry-content img, body.archive .main-grid .blog-landing-item article .entry-content figure, body.archive .main-grid .blog-landing-item article .entry-content h1, body.archive .main-grid .blog-landing-item article .entry-content h2, body.archive .main-grid .blog-landing-item article .entry-content h3, body.archive .main-grid .blog-landing-item article .entry-content h4, body.archive .main-grid .blog-landing-item article .entry-content h5, body.archive .main-grid .blog-landing-item article .entry-content h6, body.archive .main-grid .blog-landing-item article .entry-content ul {
      display: none; }
  body.blog .main-grid .blog-landing-item article .blog-thumbnail, body.archive .main-grid .blog-landing-item article .blog-thumbnail {
    width: 100%;
    margin: 0 0 20px 0;
    float: right;
    background-size: cover;
    background-repeat: no-repeat;
    border-radius: 5px;
    background-position: center center; }
    @media print, screen and (min-width: 48em) {
      body.blog .main-grid .blog-landing-item article .blog-thumbnail, body.archive .main-grid .blog-landing-item article .blog-thumbnail {
        max-width: 300px;
        margin: 0 0 30px 30px; } }
    body.blog .main-grid .blog-landing-item article .blog-thumbnail img, body.archive .main-grid .blog-landing-item article .blog-thumbnail img {
      display: block; }
  body.blog .main-grid .blog-landing-item article + article, body.archive .main-grid .blog-landing-item article + article {
    margin-top: 50px;
    padding-top: 50px;
    border-top: 1px solid #aeaeae; }

body.single-post .back-to-link {
  font-size: 0.75em;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 25px; }
  body.single-post .back-to-link a {
    color: #234a71; }
    body.single-post .back-to-link a:before {
      content: "←";
      display: inline-block;
      margin-right: 5px; }

body.single-post .single-post-container {
  background: #f0f0f0;
  padding-top: 40px;
  padding-bottom: 60px; }
  body.single-post .single-post-container .main-grid {
    margin: 0; }
  body.single-post .single-post-container header {
    margin-bottom: 20px; }
    body.single-post .single-post-container header h1 {
      font-size: 2.5em;
      line-height: 120%;
      color: #234a71; }
    body.single-post .single-post-container header time {
      font-size: .75em;
      display: inline-block; }
    body.single-post .single-post-container header p.byline {
      font-size: .75em;
      display: block; }
      @media print, screen and (min-width: 48em) {
        body.single-post .single-post-container header p.byline {
          display: inline-block; } }
      body.single-post .single-post-container header p.byline:before {
        content: "|";
        display: none;
        padding: 0 15px; }
        @media print, screen and (min-width: 48em) {
          body.single-post .single-post-container header p.byline:before {
            display: inline-block; } }

body.single-post aside {
  margin-top: 60px;
  font-size: .85em;
  display: none; }
  @media print, screen and (min-width: 48em) {
    body.single-post aside {
      display: block; } }
  @media print, screen and (min-width: 64em) {
    body.single-post aside {
      margin-top: 0; } }
  body.single-post aside div {
    background: #fff;
    padding: 20px;
    border-radius: 8px; }
  body.single-post aside h3 {
    color: #b20939;
    font-size: 0.875em;
    border-bottom: 1px solid #aeaeae;
    margin: 0 0 20px 0;
    padding: 0 0 10px 0;
    text-transform: uppercase; }
  body.single-post aside ul {
    margin-bottom: 0; }
    body.single-post aside ul li {
      font-size: .85em; }
      body.single-post aside ul li:last-of-type {
        margin-bottom: 0; }
      body.single-post aside ul li a span {
        float: right;
        color: #787878;
        margin-left: 10px; }

body.single-post .comments-container {
  margin-top: 60px; }
  body.single-post .comments-container section#comments h3 {
    font-size: 1.25em;
    border-top: 2px solid #234a71;
    padding: 15px 0 0 0;
    margin: 0 0 20px 0;
    color: #b20939; }
  body.single-post .comments-container section#comments ol.comment-list {
    margin: 0;
    padding: 0;
    list-style: none; }
    body.single-post .comments-container section#comments ol.comment-list li {
      margin: 0 0 25px;
      padding: 0 0 25px;
      border-bottom: 1px solid #aeaeae;
      list-style: none; }
      body.single-post .comments-container section#comments ol.comment-list li .comment-body .comment-author {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
            align-items: center;
        margin-bottom: 10px; }
        body.single-post .comments-container section#comments ol.comment-list li .comment-body .comment-author img {
          width: 40px;
          height: 40px;
          border-radius: 50%;
          -ms-flex: 0 1 40px;
              flex: 0 1 40px; }
        body.single-post .comments-container section#comments ol.comment-list li .comment-body .comment-author .author-meta {
          -ms-flex: 1 0 auto;
              flex: 1 0 auto;
          padding-left: 15px;
          font-size: .8em; }
          body.single-post .comments-container section#comments ol.comment-list li .comment-body .comment-author .author-meta cite {
            font-size: 1em;
            display: inline;
            font-style: normal;
            padding: 0 5px; }
            body.single-post .comments-container section#comments ol.comment-list li .comment-body .comment-author .author-meta cite:before {
              display: none; }
            body.single-post .comments-container section#comments ol.comment-list li .comment-body .comment-author .author-meta cite a {
              color: #234a71; }
          body.single-post .comments-container section#comments ol.comment-list li .comment-body .comment-author .author-meta time {
            font-size: 1em;
            display: inline;
            padding: 0 5px; }
            body.single-post .comments-container section#comments ol.comment-list li .comment-body .comment-author .author-meta time a {
              color: #234a71; }
      body.single-post .comments-container section#comments ol.comment-list li .comment-body section.comment {
        padding-left: 60px; }
      body.single-post .comments-container section#comments ol.comment-list li .comment-body .reply {
        padding-left: 60px;
        font-size: .6em;
        text-transform: uppercase; }
        body.single-post .comments-container section#comments ol.comment-list li .comment-body .reply a {
          border: 1px solid #234a71;
          padding: 5px 10px;
          display: inline-block;
          color: #234a71;
          transition: all 200ms; }
          body.single-post .comments-container section#comments ol.comment-list li .comment-body .reply a:hover {
            color: #fff;
            background: #234a71; }
      body.single-post .comments-container section#comments ol.comment-list li .children {
        margin: 30px 0 0 60px; }
        body.single-post .comments-container section#comments ol.comment-list li .children li:last-child {
          border: none;
          margin: 0;
          padding: 0; }
  body.single-post .comments-container section#respond h3 {
    font-size: 1.25em;
    padding: 0;
    margin: 0 0 20px 0;
    color: #b20939;
    border: none; }
  body.single-post .comments-container section#respond #commentform {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 0 -10px; }
    body.single-post .comments-container section#respond #commentform p {
      -ms-flex: 1 0 50%;
          flex: 1 0 50%;
      padding: 0 10px; }
      body.single-post .comments-container section#respond #commentform p.col-12 {
        -ms-flex: 1 0 100%;
            flex: 1 0 100%; }
      body.single-post .comments-container section#respond #commentform p#allowed_tags {
        -ms-flex: 1 0 100%;
            flex: 1 0 100%;
        display: none; }
      body.single-post .comments-container section#respond #commentform p.submit-row {
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
      body.single-post .comments-container section#respond #commentform p label {
        display: block;
        font-size: .7em;
        margin-bottom: 10px;
        text-transform: uppercase;
        color: #234a71; }
      body.single-post .comments-container section#respond #commentform p input {
        width: 100%;
        padding: 20px 25px;
        font-size: .9em;
        color: #000;
        border: 1px solid #aeaeae; }
        body.single-post .comments-container section#respond #commentform p input[type=submit] {
          color: #fefefe;
          border: 0; }
      body.single-post .comments-container section#respond #commentform p textarea {
        width: 100%;
        padding: 20px 25px;
        font-size: .9em;
        height: 150px;
        color: #000;
        border: 1px solid #aeaeae; }

#configuratorModal {
  text-align: center; }
  #configuratorModal div {
    margin: 15px; }
    #configuratorModal div.h3 {
      color: #b20939; }
    #configuratorModal div.h4 {
      color: #234a71; }
  #configuratorModal p {
    text-align: justify;
    color: #787878;
    font-family: "Gotham SSm A", "Gotham SSm B";
    line-height: 1.8;
    margin-bottom: 10px; }
  #configuratorModal a {
    margin-top: 20px; }

.page-template-three-showcase {
  background-color: #f5f5f5; }

.three-showcase__container {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 20px;
  margin-bottom: 100px; }

.three-showcase__intro {
  color: #787878;
  text-align: center;
  max-width: 800px;
  width: 90%;
  margin: 60px auto 40px; }
  .three-showcase__intro p {
    font-size: 1.125em;
    line-height: 28px; }
  .three-showcase__intro h2 {
    color: #204468; }

.three-showcase__card {
  -ms-flex: 1 1;
      flex: 1 1;
  background-color: #fefefe;
  padding-bottom: 30px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  position: relative; }
  @media screen and (max-width: 74.99875em) {
    .three-showcase__card {
      -ms-flex-preferred-size: 100%;
          flex-basis: 100%; } }
  .three-showcase__card__image-wrapper {
    background-color: #e8e8e8;
    position: relative;
    height: 255px; }
    .three-showcase__card__image-wrapper img {
      padding: 10px;
      width: 100%;
      height: 100%;
      object-fit: contain;
      opacity: 0;
      background-color: #e8e8e8;
      position: absolute;
      top: 0;
      left: 0; }
      .three-showcase__card__image-wrapper img:first-of-type {
        opacity: 1; }
  .three-showcase__card__gallery {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-align: start;
        align-items: flex-start;
    margin: 0 auto;
    gap: 6px 5px;
    margin: 10px 10px 20px; }
    .three-showcase__card__gallery img {
      width: calc(20% - 4px);
      height: 42px;
      object-fit: contain; }
      .three-showcase__card__gallery img.active {
        height: 46px;
        border: 2px solid #204468; }
  .three-showcase__card__title {
    font-size: 1.875em;
    color: #234a71;
    margin: 0 24px 15px; }
  .three-showcase__card__text {
    letter-spacing: 0;
    margin: 0 24px 45px;
    font-size: 0.8125em; }
  .three-showcase__card > .btn {
    margin: auto 24px 0; }
    .three-showcase__card > .btn.btn--customize {
      margin: 0;
      position: absolute;
      background-color: #fefefe;
      color: #b20939;
      font-size: 0.625em;
      line-height: 23px;
      left: 14px;
      top: 14px;
      padding: 3.5px;
      padding-right: 7px; }
      .three-showcase__card > .btn.btn--customize span {
        color: #b20939;
        font-size: 17px;
        line-height: 23px; }

.front-hero {
  background: url("../images/demo/hero-bg-foundation-6-small.svg") bottom center;
  background-size: cover;
  background-position: bottom;
  padding: 4.0625rem 0;
  margin: 0 0 2rem;
  height: auto;
  position: relative;
  text-align: left; }
  .front-hero .marketing {
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    max-width: 55rem;
    margin: 0 auto;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap; }
    @media print, screen and (min-width: 40em) {
      .front-hero .marketing {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) {
    .front-hero {
      background: url("../images/demo/hero-bg-foundation-6-large.svg") bottom center;
      background-size: cover;
      background-position: center;
      height: 42.8125rem;
      margin: 0 0 4.5rem; } }
  .front-hero .watch {
    width: calc(58.33333% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .front-hero .watch {
        width: calc(100% - 1.875rem);
        margin-right: 0.9375rem;
        margin-left: 0.9375rem; } }
    .front-hero .watch a {
      color: #B4C9D1;
      cursor: pointer;
      font-weight: 400;
      margin-right: 1.25rem; }
    .front-hero .watch a:hover {
      color: #fff; }
    .front-hero .watch #stargazers :before {
      content: "\f09b";
      font-family: FontAwesome;
      font-style: normal;
      font-weight: normal;
      text-decoration: inherit;
      color: #B4C9D1;
      margin-right: 0.5rem; }
    .front-hero .watch #twitter :before {
      content: "\f099";
      font-family: FontAwesome;
      font-style: normal;
      font-weight: normal;
      text-decoration: inherit;
      color: #B4C9D1;
      margin-right: 0.5rem; }
  .front-hero .tagline {
    width: calc(66.66667% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .front-hero .tagline {
        width: calc(41.66667% - 1.875rem);
        margin-right: 0.9375rem;
        margin-left: 0.9375rem;
        padding-top: 6rem; } }
  .front-hero h1 {
    color: #fff;
    font-weight: 500;
    font-size: 2.2rem; }
    @media print, screen and (min-width: 40em) {
      .front-hero h1 {
        font-size: 2.875rem; } }
  .front-hero h4 {
    color: #fefefe;
    font-weight: 300;
    font-size: 1.3125rem; }
  .front-hero .download {
    margin-top: 1.25rem; }

.intro {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 76.25rem;
  margin: 0 auto;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap; }
  @media print, screen and (min-width: 40em) {
    .intro {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .intro .fp-intro {
    width: calc(100% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .intro .fp-intro {
        width: calc(83.33333% - 1.875rem);
        margin-right: 0.9375rem;
        margin-left: 0.9375rem;
        margin-left: calc(8.33333% + 0.625rem); }
        .intro .fp-intro h2 {
          font-weight: 300;
          margin-bottom: 1.5rem; }
        .intro .fp-intro h4 {
          font-size: 1.125rem;
          line-height: 1.6;
          color: #777;
          margin-bottom: 2rem; } }

.section-divider {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 76.25rem;
  margin: 0 auto;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap; }
  @media print, screen and (min-width: 40em) {
    .section-divider {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .section-divider hr {
    width: calc(100% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem;
    box-sizing: border-box; }

.benefits {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 76.25rem;
  margin: 0 auto;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap;
  text-align: center; }
  @media print, screen and (min-width: 40em) {
    .benefits {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .benefits header {
    width: calc(100% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
    .benefits header h2 {
      font-weight: 300; }
    .benefits header h4 {
      font-size: 1.125rem;
      line-height: 1.6;
      color: #777; }
  .benefits .semantic,
  .benefits .responsive,
  .benefits .customizable,
  .benefits .professional {
    width: calc(100% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .benefits .semantic,
      .benefits .responsive,
      .benefits .customizable,
      .benefits .professional {
        width: calc(25% - 1.875rem);
        margin-right: 0.9375rem;
        margin-left: 0.9375rem; } }
    .benefits .semantic img,
    .benefits .responsive img,
    .benefits .customizable img,
    .benefits .professional img {
      padding: 1.25rem;
      margin: 1rem auto 0 auto; }
    .benefits .semantic h3,
    .benefits .responsive h3,
    .benefits .customizable h3,
    .benefits .professional h3 {
      color: #0a0a0a;
      font-weight: 300;
      font-size: 1.75rem; }
    .benefits .semantic p,
    .benefits .responsive p,
    .benefits .customizable p,
    .benefits .professional p {
      font-size: 0.9375rem; }
  .benefits .why-foundation {
    width: calc(100% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem;
    margin-top: 4rem; }

.kitchen-sink-header {
  width: calc(100% - 1.25rem);
  margin-right: 0.625rem;
  margin-left: 0.625rem; }

.kitchen-sink-components {
  width: calc(100% - 1.25rem);
  margin-right: 0.625rem;
  margin-left: 0.625rem; }
  .kitchen-sink-components hr {
    margin: 3rem 0; }
  @media print, screen and (min-width: 64em) {
    .kitchen-sink-components {
      width: calc(75% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }

.kitchen-sink-nav {
  display: none; }
  @media print, screen and (min-width: 64em) {
    .kitchen-sink-nav {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem;
      display: block;
      float: right; }
      .kitchen-sink-nav .docs-sub-menu {
        font-size: 0.85rem;
        margin-top: 1rem; }
      .kitchen-sink-nav .docs-menu-title {
        text-transform: uppercase;
        font-size: 0.75rem;
        color: #787878;
        font-weight: bold;
        line-height: 1;
        padding-left: 0.9rem;
        margin-bottom: 0.5rem;
        border-top: 1px solid #787878;
        margin-top: 1rem;
        padding-top: 1.5rem; }
      .kitchen-sink-nav .docs-toc {
        width: 100%;
        padding-left: 4rem;
        padding-right: 1rem; }
      .kitchen-sink-nav .docs-toc .active {
        background: #2199e8;
        color: white; }
      .kitchen-sink-nav .docs-toc .docs-sub-menu:first-child .docs-menu-title {
        margin-top: 0;
        border-top: 0;
        padding-top: 0; } }

.kitchen-sink-grid .grid-x {
  background: #d6ecfa;
  font-size: 12px;
  line-height: 2rem;
  margin-bottom: 1.5rem; }
  .kitchen-sink-grid .grid-x .cell, .kitchen-sink-grid .grid-x :nth-child(odd) {
    background: #7bc1ef;
    color: #0a0a0a; }
  .kitchen-sink-grid .grid-x .cell:nth-child(even) {
    background: #1779ba;
    color: #fefefe; }

/*!
 *  Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
 *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 */
/* FONT PATH
 * -------------------------- */
@font-face {
  font-family: 'FontAwesome';
  src: url("../fonts/fontawesome-webfont.eot?v=4.7.0");
  src: url("../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0") format("embedded-opentype"), url("../fonts/fontawesome-webfont.woff2?v=4.7.0") format("woff2"), url("../fonts/fontawesome-webfont.woff?v=4.7.0") format("woff"), url("../fonts/fontawesome-webfont.ttf?v=4.7.0") format("truetype"), url("../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular") format("svg");
  font-weight: normal;
  font-style: normal; }

.fa {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

/* makes the font 33% larger relative to the icon container */
.fa-lg {
  font-size: 1.33333em;
  line-height: 0.75em;
  vertical-align: -15%; }

.fa-2x {
  font-size: 2em; }

.fa-3x {
  font-size: 3em; }

.fa-4x {
  font-size: 4em; }

.fa-5x {
  font-size: 5em; }

.fa-fw {
  width: 1.28571em;
  text-align: center; }

.fa-ul {
  padding-left: 0;
  margin-left: 2.14286em;
  list-style-type: none; }
  .fa-ul > li {
    position: relative; }

.fa-li {
  position: absolute;
  left: -2.14286em;
  width: 2.14286em;
  top: 0.14286em;
  text-align: center; }
  .fa-li.fa-lg {
    left: -1.85714em; }

.fa-border {
  padding: .2em .25em .15em;
  border: solid 0.08em #eee;
  border-radius: .1em; }

.fa-pull-left {
  float: left; }

.fa-pull-right {
  float: right; }

.fa.fa-pull-left {
  margin-right: .3em; }

.fa.fa-pull-right {
  margin-left: .3em; }

/* Deprecated as of 4.4.0 */
.pull-right {
  float: right; }

.pull-left {
  float: left; }

.fa.pull-left {
  margin-right: .3em; }

.fa.pull-right {
  margin-left: .3em; }

.fa-spin {
  animation: fa-spin 2s infinite linear; }

.fa-pulse {
  animation: fa-spin 1s infinite steps(8); }

@keyframes fa-spin {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(359deg); } }

.fa-rotate-90 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";
  transform: rotate(90deg); }

.fa-rotate-180 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";
  transform: rotate(180deg); }

.fa-rotate-270 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";
  transform: rotate(270deg); }

.fa-flip-horizontal {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";
  transform: scale(-1, 1); }

.fa-flip-vertical {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
  transform: scale(1, -1); }

:root .fa-rotate-90,
:root .fa-rotate-180,
:root .fa-rotate-270,
:root .fa-flip-horizontal,
:root .fa-flip-vertical {
  filter: none; }

.fa-stack {
  position: relative;
  display: inline-block;
  width: 2em;
  height: 2em;
  line-height: 2em;
  vertical-align: middle; }

.fa-stack-1x, .fa-stack-2x {
  position: absolute;
  left: 0;
  width: 100%;
  text-align: center; }

.fa-stack-1x {
  line-height: inherit; }

.fa-stack-2x {
  font-size: 2em; }

.fa-inverse {
  color: #fff; }

/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
   readers do not read off random characters that represent icons */
.fa-glass:before {
  content: ""; }

.fa-music:before {
  content: ""; }

.fa-search:before {
  content: ""; }

.fa-envelope-o:before {
  content: ""; }

.fa-heart:before {
  content: ""; }

.fa-star:before {
  content: ""; }

.fa-star-o:before {
  content: ""; }

.fa-user:before {
  content: ""; }

.fa-film:before {
  content: ""; }

.fa-th-large:before {
  content: ""; }

.fa-th:before {
  content: ""; }

.fa-th-list:before {
  content: ""; }

.fa-check:before {
  content: ""; }

.fa-remove:before,
.fa-close:before,
.fa-times:before {
  content: ""; }

.fa-search-plus:before {
  content: ""; }

.fa-search-minus:before {
  content: ""; }

.fa-power-off:before {
  content: ""; }

.fa-signal:before {
  content: ""; }

.fa-gear:before,
.fa-cog:before {
  content: ""; }

.fa-trash-o:before {
  content: ""; }

.fa-home:before {
  content: ""; }

.fa-file-o:before {
  content: ""; }

.fa-clock-o:before {
  content: ""; }

.fa-road:before {
  content: ""; }

.fa-download:before {
  content: ""; }

.fa-arrow-circle-o-down:before {
  content: ""; }

.fa-arrow-circle-o-up:before {
  content: ""; }

.fa-inbox:before {
  content: ""; }

.fa-play-circle-o:before {
  content: ""; }

.fa-rotate-right:before,
.fa-repeat:before {
  content: ""; }

.fa-refresh:before {
  content: ""; }

.fa-list-alt:before {
  content: ""; }

.fa-lock:before {
  content: ""; }

.fa-flag:before {
  content: ""; }

.fa-headphones:before {
  content: ""; }

.fa-volume-off:before {
  content: ""; }

.fa-volume-down:before {
  content: ""; }

.fa-volume-up:before {
  content: ""; }

.fa-qrcode:before {
  content: ""; }

.fa-barcode:before {
  content: ""; }

.fa-tag:before {
  content: ""; }

.fa-tags:before {
  content: ""; }

.fa-book:before {
  content: ""; }

.fa-bookmark:before {
  content: ""; }

.fa-print:before {
  content: ""; }

.fa-camera:before {
  content: ""; }

.fa-font:before {
  content: ""; }

.fa-bold:before {
  content: ""; }

.fa-italic:before {
  content: ""; }

.fa-text-height:before {
  content: ""; }

.fa-text-width:before {
  content: ""; }

.fa-align-left:before {
  content: ""; }

.fa-align-center:before {
  content: ""; }

.fa-align-right:before {
  content: ""; }

.fa-align-justify:before {
  content: ""; }

.fa-list:before {
  content: ""; }

.fa-dedent:before,
.fa-outdent:before {
  content: ""; }

.fa-indent:before {
  content: ""; }

.fa-video-camera:before {
  content: ""; }

.fa-photo:before,
.fa-image:before,
.fa-picture-o:before {
  content: ""; }

.fa-pencil:before {
  content: ""; }

.fa-map-marker:before {
  content: ""; }

.fa-adjust:before {
  content: ""; }

.fa-tint:before {
  content: ""; }

.fa-edit:before,
.fa-pencil-square-o:before {
  content: ""; }

.fa-share-square-o:before {
  content: ""; }

.fa-check-square-o:before {
  content: ""; }

.fa-arrows:before {
  content: ""; }

.fa-step-backward:before {
  content: ""; }

.fa-fast-backward:before {
  content: ""; }

.fa-backward:before {
  content: ""; }

.fa-play:before {
  content: ""; }

.fa-pause:before {
  content: ""; }

.fa-stop:before {
  content: ""; }

.fa-forward:before {
  content: ""; }

.fa-fast-forward:before {
  content: ""; }

.fa-step-forward:before {
  content: ""; }

.fa-eject:before {
  content: ""; }

.fa-chevron-left:before {
  content: ""; }

.fa-chevron-right:before {
  content: ""; }

.fa-plus-circle:before {
  content: ""; }

.fa-minus-circle:before {
  content: ""; }

.fa-times-circle:before {
  content: ""; }

.fa-check-circle:before {
  content: ""; }

.fa-question-circle:before {
  content: ""; }

.fa-info-circle:before {
  content: ""; }

.fa-crosshairs:before {
  content: ""; }

.fa-times-circle-o:before {
  content: ""; }

.fa-check-circle-o:before {
  content: ""; }

.fa-ban:before {
  content: ""; }

.fa-arrow-left:before {
  content: ""; }

.fa-arrow-right:before {
  content: ""; }

.fa-arrow-up:before {
  content: ""; }

.fa-arrow-down:before {
  content: ""; }

.fa-mail-forward:before,
.fa-share:before {
  content: ""; }

.fa-expand:before {
  content: ""; }

.fa-compress:before {
  content: ""; }

.fa-plus:before {
  content: ""; }

.fa-minus:before {
  content: ""; }

.fa-asterisk:before {
  content: ""; }

.fa-exclamation-circle:before {
  content: ""; }

.fa-gift:before {
  content: ""; }

.fa-leaf:before {
  content: ""; }

.fa-fire:before {
  content: ""; }

.fa-eye:before {
  content: ""; }

.fa-eye-slash:before {
  content: ""; }

.fa-warning:before,
.fa-exclamation-triangle:before {
  content: ""; }

.fa-plane:before {
  content: ""; }

.fa-calendar:before {
  content: ""; }

.fa-random:before {
  content: ""; }

.fa-comment:before {
  content: ""; }

.fa-magnet:before {
  content: ""; }

.fa-chevron-up:before {
  content: ""; }

.fa-chevron-down:before {
  content: ""; }

.fa-retweet:before {
  content: ""; }

.fa-shopping-cart:before {
  content: ""; }

.fa-folder:before {
  content: ""; }

.fa-folder-open:before {
  content: ""; }

.fa-arrows-v:before {
  content: ""; }

.fa-arrows-h:before {
  content: ""; }

.fa-bar-chart-o:before,
.fa-bar-chart:before {
  content: ""; }

.fa-twitter-square:before {
  content: ""; }

.fa-facebook-square:before {
  content: ""; }

.fa-camera-retro:before {
  content: ""; }

.fa-key:before {
  content: ""; }

.fa-gears:before,
.fa-cogs:before {
  content: ""; }

.fa-comments:before {
  content: ""; }

.fa-thumbs-o-up:before {
  content: ""; }

.fa-thumbs-o-down:before {
  content: ""; }

.fa-star-half:before {
  content: ""; }

.fa-heart-o:before {
  content: ""; }

.fa-sign-out:before {
  content: ""; }

.fa-linkedin-square:before {
  content: ""; }

.fa-thumb-tack:before {
  content: ""; }

.fa-external-link:before {
  content: ""; }

.fa-sign-in:before {
  content: ""; }

.fa-trophy:before {
  content: ""; }

.fa-github-square:before {
  content: ""; }

.fa-upload:before {
  content: ""; }

.fa-lemon-o:before {
  content: ""; }

.fa-phone:before {
  content: ""; }

.fa-square-o:before {
  content: ""; }

.fa-bookmark-o:before {
  content: ""; }

.fa-phone-square:before {
  content: ""; }

.fa-twitter:before {
  content: ""; }

.fa-facebook-f:before,
.fa-facebook:before {
  content: ""; }

.fa-github:before {
  content: ""; }

.fa-unlock:before {
  content: ""; }

.fa-credit-card:before {
  content: ""; }

.fa-feed:before,
.fa-rss:before {
  content: ""; }

.fa-hdd-o:before {
  content: ""; }

.fa-bullhorn:before {
  content: ""; }

.fa-bell:before {
  content: ""; }

.fa-certificate:before {
  content: ""; }

.fa-hand-o-right:before {
  content: ""; }

.fa-hand-o-left:before {
  content: ""; }

.fa-hand-o-up:before {
  content: ""; }

.fa-hand-o-down:before {
  content: ""; }

.fa-arrow-circle-left:before {
  content: ""; }

.fa-arrow-circle-right:before {
  content: ""; }

.fa-arrow-circle-up:before {
  content: ""; }

.fa-arrow-circle-down:before {
  content: ""; }

.fa-globe:before {
  content: ""; }

.fa-wrench:before {
  content: ""; }

.fa-tasks:before {
  content: ""; }

.fa-filter:before {
  content: ""; }

.fa-briefcase:before {
  content: ""; }

.fa-arrows-alt:before {
  content: ""; }

.fa-group:before,
.fa-users:before {
  content: ""; }

.fa-chain:before,
.fa-link:before {
  content: ""; }

.fa-cloud:before {
  content: ""; }

.fa-flask:before {
  content: ""; }

.fa-cut:before,
.fa-scissors:before {
  content: ""; }

.fa-copy:before,
.fa-files-o:before {
  content: ""; }

.fa-paperclip:before {
  content: ""; }

.fa-save:before,
.fa-floppy-o:before {
  content: ""; }

.fa-square:before {
  content: ""; }

.fa-navicon:before,
.fa-reorder:before,
.fa-bars:before {
  content: ""; }

.fa-list-ul:before {
  content: ""; }

.fa-list-ol:before {
  content: ""; }

.fa-strikethrough:before {
  content: ""; }

.fa-underline:before {
  content: ""; }

.fa-table:before {
  content: ""; }

.fa-magic:before {
  content: ""; }

.fa-truck:before {
  content: ""; }

.fa-pinterest:before {
  content: ""; }

.fa-pinterest-square:before {
  content: ""; }

.fa-google-plus-square:before {
  content: ""; }

.fa-google-plus:before {
  content: ""; }

.fa-money:before {
  content: ""; }

.fa-caret-down:before {
  content: ""; }

.fa-caret-up:before {
  content: ""; }

.fa-caret-left:before {
  content: ""; }

.fa-caret-right:before {
  content: ""; }

.fa-columns:before {
  content: ""; }

.fa-unsorted:before,
.fa-sort:before {
  content: ""; }

.fa-sort-down:before,
.fa-sort-desc:before {
  content: ""; }

.fa-sort-up:before,
.fa-sort-asc:before {
  content: ""; }

.fa-envelope:before {
  content: ""; }

.fa-linkedin:before {
  content: ""; }

.fa-rotate-left:before,
.fa-undo:before {
  content: ""; }

.fa-legal:before,
.fa-gavel:before {
  content: ""; }

.fa-dashboard:before,
.fa-tachometer:before {
  content: ""; }

.fa-comment-o:before {
  content: ""; }

.fa-comments-o:before {
  content: ""; }

.fa-flash:before,
.fa-bolt:before {
  content: ""; }

.fa-sitemap:before {
  content: ""; }

.fa-umbrella:before {
  content: ""; }

.fa-paste:before,
.fa-clipboard:before {
  content: ""; }

.fa-lightbulb-o:before {
  content: ""; }

.fa-exchange:before {
  content: ""; }

.fa-cloud-download:before {
  content: ""; }

.fa-cloud-upload:before {
  content: ""; }

.fa-user-md:before {
  content: ""; }

.fa-stethoscope:before {
  content: ""; }

.fa-suitcase:before {
  content: ""; }

.fa-bell-o:before {
  content: ""; }

.fa-coffee:before {
  content: ""; }

.fa-cutlery:before {
  content: ""; }

.fa-file-text-o:before {
  content: ""; }

.fa-building-o:before {
  content: ""; }

.fa-hospital-o:before {
  content: ""; }

.fa-ambulance:before {
  content: ""; }

.fa-medkit:before {
  content: ""; }

.fa-fighter-jet:before {
  content: ""; }

.fa-beer:before {
  content: ""; }

.fa-h-square:before {
  content: ""; }

.fa-plus-square:before {
  content: ""; }

.fa-angle-double-left:before {
  content: ""; }

.fa-angle-double-right:before {
  content: ""; }

.fa-angle-double-up:before {
  content: ""; }

.fa-angle-double-down:before {
  content: ""; }

.fa-angle-left:before {
  content: ""; }

.fa-angle-right:before {
  content: ""; }

.fa-angle-up:before {
  content: ""; }

.fa-angle-down:before {
  content: ""; }

.fa-desktop:before {
  content: ""; }

.fa-laptop:before {
  content: ""; }

.fa-tablet:before {
  content: ""; }

.fa-mobile-phone:before,
.fa-mobile:before {
  content: ""; }

.fa-circle-o:before {
  content: ""; }

.fa-quote-left:before {
  content: ""; }

.fa-quote-right:before {
  content: ""; }

.fa-spinner:before {
  content: ""; }

.fa-circle:before {
  content: ""; }

.fa-mail-reply:before,
.fa-reply:before {
  content: ""; }

.fa-github-alt:before {
  content: ""; }

.fa-folder-o:before {
  content: ""; }

.fa-folder-open-o:before {
  content: ""; }

.fa-smile-o:before {
  content: ""; }

.fa-frown-o:before {
  content: ""; }

.fa-meh-o:before {
  content: ""; }

.fa-gamepad:before {
  content: ""; }

.fa-keyboard-o:before {
  content: ""; }

.fa-flag-o:before {
  content: ""; }

.fa-flag-checkered:before {
  content: ""; }

.fa-terminal:before {
  content: ""; }

.fa-code:before {
  content: ""; }

.fa-mail-reply-all:before,
.fa-reply-all:before {
  content: ""; }

.fa-star-half-empty:before,
.fa-star-half-full:before,
.fa-star-half-o:before {
  content: ""; }

.fa-location-arrow:before {
  content: ""; }

.fa-crop:before {
  content: ""; }

.fa-code-fork:before {
  content: ""; }

.fa-unlink:before,
.fa-chain-broken:before {
  content: ""; }

.fa-question:before {
  content: ""; }

.fa-info:before {
  content: ""; }

.fa-exclamation:before {
  content: ""; }

.fa-superscript:before {
  content: ""; }

.fa-subscript:before {
  content: ""; }

.fa-eraser:before {
  content: ""; }

.fa-puzzle-piece:before {
  content: ""; }

.fa-microphone:before {
  content: ""; }

.fa-microphone-slash:before {
  content: ""; }

.fa-shield:before {
  content: ""; }

.fa-calendar-o:before {
  content: ""; }

.fa-fire-extinguisher:before {
  content: ""; }

.fa-rocket:before {
  content: ""; }

.fa-maxcdn:before {
  content: ""; }

.fa-chevron-circle-left:before {
  content: ""; }

.fa-chevron-circle-right:before {
  content: ""; }

.fa-chevron-circle-up:before {
  content: ""; }

.fa-chevron-circle-down:before {
  content: ""; }

.fa-html5:before {
  content: ""; }

.fa-css3:before {
  content: ""; }

.fa-anchor:before {
  content: ""; }

.fa-unlock-alt:before {
  content: ""; }

.fa-bullseye:before {
  content: ""; }

.fa-ellipsis-h:before {
  content: ""; }

.fa-ellipsis-v:before {
  content: ""; }

.fa-rss-square:before {
  content: ""; }

.fa-play-circle:before {
  content: ""; }

.fa-ticket:before {
  content: ""; }

.fa-minus-square:before {
  content: ""; }

.fa-minus-square-o:before {
  content: ""; }

.fa-level-up:before {
  content: ""; }

.fa-level-down:before {
  content: ""; }

.fa-check-square:before {
  content: ""; }

.fa-pencil-square:before {
  content: ""; }

.fa-external-link-square:before {
  content: ""; }

.fa-share-square:before {
  content: ""; }

.fa-compass:before {
  content: ""; }

.fa-toggle-down:before,
.fa-caret-square-o-down:before {
  content: ""; }

.fa-toggle-up:before,
.fa-caret-square-o-up:before {
  content: ""; }

.fa-toggle-right:before,
.fa-caret-square-o-right:before {
  content: ""; }

.fa-euro:before,
.fa-eur:before {
  content: ""; }

.fa-gbp:before {
  content: ""; }

.fa-dollar:before,
.fa-usd:before {
  content: ""; }

.fa-rupee:before,
.fa-inr:before {
  content: ""; }

.fa-cny:before,
.fa-rmb:before,
.fa-yen:before,
.fa-jpy:before {
  content: ""; }

.fa-ruble:before,
.fa-rouble:before,
.fa-rub:before {
  content: ""; }

.fa-won:before,
.fa-krw:before {
  content: ""; }

.fa-bitcoin:before,
.fa-btc:before {
  content: ""; }

.fa-file:before {
  content: ""; }

.fa-file-text:before {
  content: ""; }

.fa-sort-alpha-asc:before {
  content: ""; }

.fa-sort-alpha-desc:before {
  content: ""; }

.fa-sort-amount-asc:before {
  content: ""; }

.fa-sort-amount-desc:before {
  content: ""; }

.fa-sort-numeric-asc:before {
  content: ""; }

.fa-sort-numeric-desc:before {
  content: ""; }

.fa-thumbs-up:before {
  content: ""; }

.fa-thumbs-down:before {
  content: ""; }

.fa-youtube-square:before {
  content: ""; }

.fa-youtube:before {
  content: ""; }

.fa-xing:before {
  content: ""; }

.fa-xing-square:before {
  content: ""; }

.fa-youtube-play:before {
  content: ""; }

.fa-dropbox:before {
  content: ""; }

.fa-stack-overflow:before {
  content: ""; }

.fa-instagram:before {
  content: ""; }

.fa-flickr:before {
  content: ""; }

.fa-adn:before {
  content: ""; }

.fa-bitbucket:before {
  content: ""; }

.fa-bitbucket-square:before {
  content: ""; }

.fa-tumblr:before {
  content: ""; }

.fa-tumblr-square:before {
  content: ""; }

.fa-long-arrow-down:before {
  content: ""; }

.fa-long-arrow-up:before {
  content: ""; }

.fa-long-arrow-left:before {
  content: ""; }

.fa-long-arrow-right:before {
  content: ""; }

.fa-apple:before {
  content: ""; }

.fa-windows:before {
  content: ""; }

.fa-android:before {
  content: ""; }

.fa-linux:before {
  content: ""; }

.fa-dribbble:before {
  content: ""; }

.fa-skype:before {
  content: ""; }

.fa-foursquare:before {
  content: ""; }

.fa-trello:before {
  content: ""; }

.fa-female:before {
  content: ""; }

.fa-male:before {
  content: ""; }

.fa-gittip:before,
.fa-gratipay:before {
  content: ""; }

.fa-sun-o:before {
  content: ""; }

.fa-moon-o:before {
  content: ""; }

.fa-archive:before {
  content: ""; }

.fa-bug:before {
  content: ""; }

.fa-vk:before {
  content: ""; }

.fa-weibo:before {
  content: ""; }

.fa-renren:before {
  content: ""; }

.fa-pagelines:before {
  content: ""; }

.fa-stack-exchange:before {
  content: ""; }

.fa-arrow-circle-o-right:before {
  content: ""; }

.fa-arrow-circle-o-left:before {
  content: ""; }

.fa-toggle-left:before,
.fa-caret-square-o-left:before {
  content: ""; }

.fa-dot-circle-o:before {
  content: ""; }

.fa-wheelchair:before {
  content: ""; }

.fa-vimeo-square:before {
  content: ""; }

.fa-turkish-lira:before,
.fa-try:before {
  content: ""; }

.fa-plus-square-o:before {
  content: ""; }

.fa-space-shuttle:before {
  content: ""; }

.fa-slack:before {
  content: ""; }

.fa-envelope-square:before {
  content: ""; }

.fa-wordpress:before {
  content: ""; }

.fa-openid:before {
  content: ""; }

.fa-institution:before,
.fa-bank:before,
.fa-university:before {
  content: ""; }

.fa-mortar-board:before,
.fa-graduation-cap:before {
  content: ""; }

.fa-yahoo:before {
  content: ""; }

.fa-google:before {
  content: ""; }

.fa-reddit:before {
  content: ""; }

.fa-reddit-square:before {
  content: ""; }

.fa-stumbleupon-circle:before {
  content: ""; }

.fa-stumbleupon:before {
  content: ""; }

.fa-delicious:before {
  content: ""; }

.fa-digg:before {
  content: ""; }

.fa-pied-piper-pp:before {
  content: ""; }

.fa-pied-piper-alt:before {
  content: ""; }

.fa-drupal:before {
  content: ""; }

.fa-joomla:before {
  content: ""; }

.fa-language:before {
  content: ""; }

.fa-fax:before {
  content: ""; }

.fa-building:before {
  content: ""; }

.fa-child:before {
  content: ""; }

.fa-paw:before {
  content: ""; }

.fa-spoon:before {
  content: ""; }

.fa-cube:before {
  content: ""; }

.fa-cubes:before {
  content: ""; }

.fa-behance:before {
  content: ""; }

.fa-behance-square:before {
  content: ""; }

.fa-steam:before {
  content: ""; }

.fa-steam-square:before {
  content: ""; }

.fa-recycle:before {
  content: ""; }

.fa-automobile:before,
.fa-car:before {
  content: ""; }

.fa-cab:before,
.fa-taxi:before {
  content: ""; }

.fa-tree:before {
  content: ""; }

.fa-spotify:before {
  content: ""; }

.fa-deviantart:before {
  content: ""; }

.fa-soundcloud:before {
  content: ""; }

.fa-database:before {
  content: ""; }

.fa-file-pdf-o:before {
  content: ""; }

.fa-file-word-o:before {
  content: ""; }

.fa-file-excel-o:before {
  content: ""; }

.fa-file-powerpoint-o:before {
  content: ""; }

.fa-file-photo-o:before,
.fa-file-picture-o:before,
.fa-file-image-o:before {
  content: ""; }

.fa-file-zip-o:before,
.fa-file-archive-o:before {
  content: ""; }

.fa-file-sound-o:before,
.fa-file-audio-o:before {
  content: ""; }

.fa-file-movie-o:before,
.fa-file-video-o:before {
  content: ""; }

.fa-file-code-o:before {
  content: ""; }

.fa-vine:before {
  content: ""; }

.fa-codepen:before {
  content: ""; }

.fa-jsfiddle:before {
  content: ""; }

.fa-life-bouy:before,
.fa-life-buoy:before,
.fa-life-saver:before,
.fa-support:before,
.fa-life-ring:before {
  content: ""; }

.fa-circle-o-notch:before {
  content: ""; }

.fa-ra:before,
.fa-resistance:before,
.fa-rebel:before {
  content: ""; }

.fa-ge:before,
.fa-empire:before {
  content: ""; }

.fa-git-square:before {
  content: ""; }

.fa-git:before {
  content: ""; }

.fa-y-combinator-square:before,
.fa-yc-square:before,
.fa-hacker-news:before {
  content: ""; }

.fa-tencent-weibo:before {
  content: ""; }

.fa-qq:before {
  content: ""; }

.fa-wechat:before,
.fa-weixin:before {
  content: ""; }

.fa-send:before,
.fa-paper-plane:before {
  content: ""; }

.fa-send-o:before,
.fa-paper-plane-o:before {
  content: ""; }

.fa-history:before {
  content: ""; }

.fa-circle-thin:before {
  content: ""; }

.fa-header:before {
  content: ""; }

.fa-paragraph:before {
  content: ""; }

.fa-sliders:before {
  content: ""; }

.fa-share-alt:before {
  content: ""; }

.fa-share-alt-square:before {
  content: ""; }

.fa-bomb:before {
  content: ""; }

.fa-soccer-ball-o:before,
.fa-futbol-o:before {
  content: ""; }

.fa-tty:before {
  content: ""; }

.fa-binoculars:before {
  content: ""; }

.fa-plug:before {
  content: ""; }

.fa-slideshare:before {
  content: ""; }

.fa-twitch:before {
  content: ""; }

.fa-yelp:before {
  content: ""; }

.fa-newspaper-o:before {
  content: ""; }

.fa-wifi:before {
  content: ""; }

.fa-calculator:before {
  content: ""; }

.fa-paypal:before {
  content: ""; }

.fa-google-wallet:before {
  content: ""; }

.fa-cc-visa:before {
  content: ""; }

.fa-cc-mastercard:before {
  content: ""; }

.fa-cc-discover:before {
  content: ""; }

.fa-cc-amex:before {
  content: ""; }

.fa-cc-paypal:before {
  content: ""; }

.fa-cc-stripe:before {
  content: ""; }

.fa-bell-slash:before {
  content: ""; }

.fa-bell-slash-o:before {
  content: ""; }

.fa-trash:before {
  content: ""; }

.fa-copyright:before {
  content: ""; }

.fa-at:before {
  content: ""; }

.fa-eyedropper:before {
  content: ""; }

.fa-paint-brush:before {
  content: ""; }

.fa-birthday-cake:before {
  content: ""; }

.fa-area-chart:before {
  content: ""; }

.fa-pie-chart:before {
  content: ""; }

.fa-line-chart:before {
  content: ""; }

.fa-lastfm:before {
  content: ""; }

.fa-lastfm-square:before {
  content: ""; }

.fa-toggle-off:before {
  content: ""; }

.fa-toggle-on:before {
  content: ""; }

.fa-bicycle:before {
  content: ""; }

.fa-bus:before {
  content: ""; }

.fa-ioxhost:before {
  content: ""; }

.fa-angellist:before {
  content: ""; }

.fa-cc:before {
  content: ""; }

.fa-shekel:before,
.fa-sheqel:before,
.fa-ils:before {
  content: ""; }

.fa-meanpath:before {
  content: ""; }

.fa-buysellads:before {
  content: ""; }

.fa-connectdevelop:before {
  content: ""; }

.fa-dashcube:before {
  content: ""; }

.fa-forumbee:before {
  content: ""; }

.fa-leanpub:before {
  content: ""; }

.fa-sellsy:before {
  content: ""; }

.fa-shirtsinbulk:before {
  content: ""; }

.fa-simplybuilt:before {
  content: ""; }

.fa-skyatlas:before {
  content: ""; }

.fa-cart-plus:before {
  content: ""; }

.fa-cart-arrow-down:before {
  content: ""; }

.fa-diamond:before {
  content: ""; }

.fa-ship:before {
  content: ""; }

.fa-user-secret:before {
  content: ""; }

.fa-motorcycle:before {
  content: ""; }

.fa-street-view:before {
  content: ""; }

.fa-heartbeat:before {
  content: ""; }

.fa-venus:before {
  content: ""; }

.fa-mars:before {
  content: ""; }

.fa-mercury:before {
  content: ""; }

.fa-intersex:before,
.fa-transgender:before {
  content: ""; }

.fa-transgender-alt:before {
  content: ""; }

.fa-venus-double:before {
  content: ""; }

.fa-mars-double:before {
  content: ""; }

.fa-venus-mars:before {
  content: ""; }

.fa-mars-stroke:before {
  content: ""; }

.fa-mars-stroke-v:before {
  content: ""; }

.fa-mars-stroke-h:before {
  content: ""; }

.fa-neuter:before {
  content: ""; }

.fa-genderless:before {
  content: ""; }

.fa-facebook-official:before {
  content: ""; }

.fa-pinterest-p:before {
  content: ""; }

.fa-whatsapp:before {
  content: ""; }

.fa-server:before {
  content: ""; }

.fa-user-plus:before {
  content: ""; }

.fa-user-times:before {
  content: ""; }

.fa-hotel:before,
.fa-bed:before {
  content: ""; }

.fa-viacoin:before {
  content: ""; }

.fa-train:before {
  content: ""; }

.fa-subway:before {
  content: ""; }

.fa-medium:before {
  content: ""; }

.fa-yc:before,
.fa-y-combinator:before {
  content: ""; }

.fa-optin-monster:before {
  content: ""; }

.fa-opencart:before {
  content: ""; }

.fa-expeditedssl:before {
  content: ""; }

.fa-battery-4:before,
.fa-battery:before,
.fa-battery-full:before {
  content: ""; }

.fa-battery-3:before,
.fa-battery-three-quarters:before {
  content: ""; }

.fa-battery-2:before,
.fa-battery-half:before {
  content: ""; }

.fa-battery-1:before,
.fa-battery-quarter:before {
  content: ""; }

.fa-battery-0:before,
.fa-battery-empty:before {
  content: ""; }

.fa-mouse-pointer:before {
  content: ""; }

.fa-i-cursor:before {
  content: ""; }

.fa-object-group:before {
  content: ""; }

.fa-object-ungroup:before {
  content: ""; }

.fa-sticky-note:before {
  content: ""; }

.fa-sticky-note-o:before {
  content: ""; }

.fa-cc-jcb:before {
  content: ""; }

.fa-cc-diners-club:before {
  content: ""; }

.fa-clone:before {
  content: ""; }

.fa-balance-scale:before {
  content: ""; }

.fa-hourglass-o:before {
  content: ""; }

.fa-hourglass-1:before,
.fa-hourglass-start:before {
  content: ""; }

.fa-hourglass-2:before,
.fa-hourglass-half:before {
  content: ""; }

.fa-hourglass-3:before,
.fa-hourglass-end:before {
  content: ""; }

.fa-hourglass:before {
  content: ""; }

.fa-hand-grab-o:before,
.fa-hand-rock-o:before {
  content: ""; }

.fa-hand-stop-o:before,
.fa-hand-paper-o:before {
  content: ""; }

.fa-hand-scissors-o:before {
  content: ""; }

.fa-hand-lizard-o:before {
  content: ""; }

.fa-hand-spock-o:before {
  content: ""; }

.fa-hand-pointer-o:before {
  content: ""; }

.fa-hand-peace-o:before {
  content: ""; }

.fa-trademark:before {
  content: ""; }

.fa-registered:before {
  content: ""; }

.fa-creative-commons:before {
  content: ""; }

.fa-gg:before {
  content: ""; }

.fa-gg-circle:before {
  content: ""; }

.fa-tripadvisor:before {
  content: ""; }

.fa-odnoklassniki:before {
  content: ""; }

.fa-odnoklassniki-square:before {
  content: ""; }

.fa-get-pocket:before {
  content: ""; }

.fa-wikipedia-w:before {
  content: ""; }

.fa-safari:before {
  content: ""; }

.fa-chrome:before {
  content: ""; }

.fa-firefox:before {
  content: ""; }

.fa-opera:before {
  content: ""; }

.fa-internet-explorer:before {
  content: ""; }

.fa-tv:before,
.fa-television:before {
  content: ""; }

.fa-contao:before {
  content: ""; }

.fa-500px:before {
  content: ""; }

.fa-amazon:before {
  content: ""; }

.fa-calendar-plus-o:before {
  content: ""; }

.fa-calendar-minus-o:before {
  content: ""; }

.fa-calendar-times-o:before {
  content: ""; }

.fa-calendar-check-o:before {
  content: ""; }

.fa-industry:before {
  content: ""; }

.fa-map-pin:before {
  content: ""; }

.fa-map-signs:before {
  content: ""; }

.fa-map-o:before {
  content: ""; }

.fa-map:before {
  content: ""; }

.fa-commenting:before {
  content: ""; }

.fa-commenting-o:before {
  content: ""; }

.fa-houzz:before {
  content: ""; }

.fa-vimeo:before {
  content: ""; }

.fa-black-tie:before {
  content: ""; }

.fa-fonticons:before {
  content: ""; }

.fa-reddit-alien:before {
  content: ""; }

.fa-edge:before {
  content: ""; }

.fa-credit-card-alt:before {
  content: ""; }

.fa-codiepie:before {
  content: ""; }

.fa-modx:before {
  content: ""; }

.fa-fort-awesome:before {
  content: ""; }

.fa-usb:before {
  content: ""; }

.fa-product-hunt:before {
  content: ""; }

.fa-mixcloud:before {
  content: ""; }

.fa-scribd:before {
  content: ""; }

.fa-pause-circle:before {
  content: ""; }

.fa-pause-circle-o:before {
  content: ""; }

.fa-stop-circle:before {
  content: ""; }

.fa-stop-circle-o:before {
  content: ""; }

.fa-shopping-bag:before {
  content: ""; }

.fa-shopping-basket:before {
  content: ""; }

.fa-hashtag:before {
  content: ""; }

.fa-bluetooth:before {
  content: ""; }

.fa-bluetooth-b:before {
  content: ""; }

.fa-percent:before {
  content: ""; }

.fa-gitlab:before {
  content: ""; }

.fa-wpbeginner:before {
  content: ""; }

.fa-wpforms:before {
  content: ""; }

.fa-envira:before {
  content: ""; }

.fa-universal-access:before {
  content: ""; }

.fa-wheelchair-alt:before {
  content: ""; }

.fa-question-circle-o:before {
  content: ""; }

.fa-blind:before {
  content: ""; }

.fa-audio-description:before {
  content: ""; }

.fa-volume-control-phone:before {
  content: ""; }

.fa-braille:before {
  content: ""; }

.fa-assistive-listening-systems:before {
  content: ""; }

.fa-asl-interpreting:before,
.fa-american-sign-language-interpreting:before {
  content: ""; }

.fa-deafness:before,
.fa-hard-of-hearing:before,
.fa-deaf:before {
  content: ""; }

.fa-glide:before {
  content: ""; }

.fa-glide-g:before {
  content: ""; }

.fa-signing:before,
.fa-sign-language:before {
  content: ""; }

.fa-low-vision:before {
  content: ""; }

.fa-viadeo:before {
  content: ""; }

.fa-viadeo-square:before {
  content: ""; }

.fa-snapchat:before {
  content: ""; }

.fa-snapchat-ghost:before {
  content: ""; }

.fa-snapchat-square:before {
  content: ""; }

.fa-pied-piper:before {
  content: ""; }

.fa-first-order:before {
  content: ""; }

.fa-yoast:before {
  content: ""; }

.fa-themeisle:before {
  content: ""; }

.fa-google-plus-circle:before,
.fa-google-plus-official:before {
  content: ""; }

.fa-fa:before,
.fa-font-awesome:before {
  content: ""; }

.fa-handshake-o:before {
  content: ""; }

.fa-envelope-open:before {
  content: ""; }

.fa-envelope-open-o:before {
  content: ""; }

.fa-linode:before {
  content: ""; }

.fa-address-book:before {
  content: ""; }

.fa-address-book-o:before {
  content: ""; }

.fa-vcard:before,
.fa-address-card:before {
  content: ""; }

.fa-vcard-o:before,
.fa-address-card-o:before {
  content: ""; }

.fa-user-circle:before {
  content: ""; }

.fa-user-circle-o:before {
  content: ""; }

.fa-user-o:before {
  content: ""; }

.fa-id-badge:before {
  content: ""; }

.fa-drivers-license:before,
.fa-id-card:before {
  content: ""; }

.fa-drivers-license-o:before,
.fa-id-card-o:before {
  content: ""; }

.fa-quora:before {
  content: ""; }

.fa-free-code-camp:before {
  content: ""; }

.fa-telegram:before {
  content: ""; }

.fa-thermometer-4:before,
.fa-thermometer:before,
.fa-thermometer-full:before {
  content: ""; }

.fa-thermometer-3:before,
.fa-thermometer-three-quarters:before {
  content: ""; }

.fa-thermometer-2:before,
.fa-thermometer-half:before {
  content: ""; }

.fa-thermometer-1:before,
.fa-thermometer-quarter:before {
  content: ""; }

.fa-thermometer-0:before,
.fa-thermometer-empty:before {
  content: ""; }

.fa-shower:before {
  content: ""; }

.fa-bathtub:before,
.fa-s15:before,
.fa-bath:before {
  content: ""; }

.fa-podcast:before {
  content: ""; }

.fa-window-maximize:before {
  content: ""; }

.fa-window-minimize:before {
  content: ""; }

.fa-window-restore:before {
  content: ""; }

.fa-times-rectangle:before,
.fa-window-close:before {
  content: ""; }

.fa-times-rectangle-o:before,
.fa-window-close-o:before {
  content: ""; }

.fa-bandcamp:before {
  content: ""; }

.fa-grav:before {
  content: ""; }

.fa-etsy:before {
  content: ""; }

.fa-imdb:before {
  content: ""; }

.fa-ravelry:before {
  content: ""; }

.fa-eercast:before {
  content: ""; }

.fa-microchip:before {
  content: ""; }

.fa-snowflake-o:before {
  content: ""; }

.fa-superpowers:before {
  content: ""; }

.fa-wpexplorer:before {
  content: ""; }

.fa-meetup:before {
  content: ""; }

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0; }

.sr-only-focusable:active, .sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto; }

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXZlYWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdmVuZG9yL25vcm1hbGl6ZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MiLCJfc2V0dGluZ3Muc2NzcyIsImdsb2JhbC9fY29sb3JzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2d1dHRlcnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3JpZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191bml0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NlbGwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fbGF5b3V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2ZyYW1lLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9faGVscGVycy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19hbGlnbm1lbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fcHJpbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24tbWVudS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JhZGdlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi1ncm91cC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jYWxsb3V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhcmQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2xvc2UtYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Jlc3BvbnNpdmUtZW1iZWQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWF0aC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19sYWJlbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZWRpYS1vYmplY3Quc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vcmJpdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Byb2dyZXNzLWJhci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zbGlkZXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc3RpY2t5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3N3aXRjaC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJsZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19jb2xvci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RodW1ibmFpbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190aXRsZS1iYXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdG9vbHRpcC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190b3AtYmFyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19mbGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL190cmFuc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy9fY2xhc3Nlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvX3NldHRpbmdzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL19rZXlmcmFtZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3NsaWRlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fZmFkZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvZWZmZWN0cy9faGluZ2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19oaW5nZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3pvb20uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zcGluLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL19hbmltYXRpb24uc2NzcyIsImFwcC5zY3NzIiwiZ2xvYmFsL19hY2Nlc3NpYmlsaXR5LnNjc3MiLCJnbG9iYWwvX21peGlucy5zY3NzIiwiZ2xvYmFsL19iYXNlLnNjc3MiLCJnbG9iYWwvX3V0aWxpdHkuc2NzcyIsImdsb2JhbC9fdHlwb2dyYXBoeS5zY3NzIiwiZ2xvYmFsL193cC1hZG1pbi5zY3NzIiwiZ2xvYmFsL193cC1vdmVycmlkZXMuc2NzcyIsImdsb2JhbC9fZ2xvYmFsLXNlYXJjaC5zY3NzIiwiZ2xvYmFsL19pMThuLnNjc3MiLCJtb2R1bGVzL19idXR0b25zLnNjc3MiLCJtb2R1bGVzL19jb250ZW50LnNjc3MiLCJtb2R1bGVzL19uZXctZm9vdGVyLnNjc3MiLCJtb2R1bGVzL19lZGl0b3Itc3R5bGUuc2NzcyIsIm1vZHVsZXMvX21pbmljb25maWcuc2NzcyIsIm1vZHVsZXMvZmxleGlibGUtY29udGVudC9fYWNjb3JkaW9ucy5zY3NzIiwibW9kdWxlcy9mbGV4aWJsZS1jb250ZW50L19ibG9jay1jYXJvdXNlbC5zY3NzIiwibW9kdWxlcy9mbGV4aWJsZS1jb250ZW50L19idWxsZXRpbi1wb2ludHMuc2NzcyIsIm1vZHVsZXMvZmxleGlibGUtY29udGVudC9fY2xpZW50LWNhcm91c2VsLnNjc3MiLCJtb2R1bGVzL2ZsZXhpYmxlLWNvbnRlbnQvX2NvbXBhbnktZ3JpZC5zY3NzIiwibW9kdWxlcy9mbGV4aWJsZS1jb250ZW50L19tYXN0aGVhZC1oZXJvLWJhbm5lci5zY3NzIiwibW9kdWxlcy9mbGV4aWJsZS1jb250ZW50L19vcGVuLXRleHQuc2NzcyIsIm1vZHVsZXMvZmxleGlibGUtY29udGVudC9fcHJvZHVjdC1jb21wYXJlLnNjc3MiLCJtb2R1bGVzL2ZsZXhpYmxlLWNvbnRlbnQvX3Byb2R1Y3QtZ3JvdXBzLnNjc3MiLCJtb2R1bGVzL2ZsZXhpYmxlLWNvbnRlbnQvX3Byb2R1Y3QtaGlnaGxpZ2h0LnNjc3MiLCJtb2R1bGVzL2ZsZXhpYmxlLWNvbnRlbnQvX3Byb2R1Y3Qtc3BlYy5zY3NzIiwibW9kdWxlcy9mbGV4aWJsZS1jb250ZW50L19wcm9kdWN0LXRpbGVzLnNjc3MiLCJtb2R1bGVzL2ZsZXhpYmxlLWNvbnRlbnQvX3JlbGF0ZWQtcHJvZHVjdHMuc2NzcyIsIm1vZHVsZXMvZmxleGlibGUtY29udGVudC9fdGV4dC10aWxlcy5zY3NzIiwibW9kdWxlcy9mbGV4aWJsZS1jb250ZW50L190aW1lbGluZS5zY3NzIiwibW9kdWxlcy9fZmxleGlibGUtY29udGVudC5zY3NzIiwibW9kdWxlcy9fbmF2LnNjc3MiLCJtb2R1bGVzL19idXJnZXIuc2NzcyIsImNvbXBvbmVudHMvX2J1dHRvbnMuc2NzcyIsImNvbXBvbmVudHMvX2NhcmRzLnNjc3MiLCJjb21wb25lbnRzL19mZWF0dXJlZC1pbWFnZS5zY3NzIiwiY29tcG9uZW50cy9fZGl2aWRlcnMuc2NzcyIsImNvbXBvbmVudHMvX2xpbmtzLnNjc3MiLCJjb21wb25lbnRzL19wcm9kdWN0LXN0b3J5LnNjc3MiLCJjb21wb25lbnRzL19icmVhZGNydW1icy5zY3NzIiwiY29tcG9uZW50cy9fYy1hY2NvcmRpb24uc2NzcyIsImNvbXBvbmVudHMvX2NvbnRhY3QtZm9ybS5zY3NzIiwiY29tcG9uZW50cy9fY29uZmlndXJhdG9yLnNjc3MiLCJjb21wb25lbnRzL19jdXN0b20tc2VsZWN0LnNjc3MiLCJjb21wb25lbnRzL19nbG9iYWwtZm9ybS5zY3NzIiwiY29tcG9uZW50cy9fY29uZmlnLWZvcm0uc2NzcyIsImNvbXBvbmVudHMvX21vbml0b3ItdGFibGUuc2NzcyIsImNvbXBvbmVudHMvX3Byb2R1Y3QtYWNjZXNzb3JpZXMuc2NzcyIsImNvbXBvbmVudHMvX3Byb2R1Y3RzLWJsb2NrLWRldGFpbHMuc2NzcyIsImNvbXBvbmVudHMvX3Byb2R1Y3RzLWJsb2NrLnNjc3MiLCJjb21wb25lbnRzL19zZWFyY2gtYmFyLnNjc3MiLCJjb21wb25lbnRzL19zZWFyY2gtcmVzdWx0cy5zY3NzIiwiY29tcG9uZW50cy9fc3VwcG9ydC1mYXEuc2NzcyIsImNvbXBvbmVudHMvX3NpdGVtYXAuc2NzcyIsImNvbXBvbmVudHMvX2hlYXQtY2FsYy5zY3NzIiwicGFnZXMvX2N1c3RvbWVycy5zY3NzIiwicGFnZXMvX2NvbnRhY3Quc2NzcyIsInBhZ2VzL19zZW8tbGFuZGluZy5zY3NzIiwicGFnZXMvX3Byb2R1Y3Qtc3VwcG9ydC5zY3NzIiwicGFnZXMvX3Byb2R1Y3Qtc3VwcG9ydC1jb250ZW50LnNjc3MiLCJwYWdlcy9fcHJvZHVjdC1jYXRlZ29yeS5zY3NzIiwicGFnZXMvX3NvbHV0aW9ucy1nYWxsZXJ5LnNjc3MiLCJwYWdlcy9fYmxvZy5zY3NzIiwicGFnZXMvX2NvbmZpZ3VyYXRvci5zY3NzIiwicGFnZXMvX3RocmVlLXNob3djYXNlLnNjc3MiLCJ0ZW1wbGF0ZXMvX2Zyb250LnNjc3MiLCJ0ZW1wbGF0ZXMvX2tpdGNoZW4tc2luay5zY3NzIiwiZm9udC1hd2Vzb21lL2ZvbnQtYXdlc29tZS5zY3NzIiwiZm9udC1hd2Vzb21lL19wYXRoLnNjc3MiLCJmb250LWF3ZXNvbWUvX2NvcmUuc2NzcyIsImZvbnQtYXdlc29tZS9fbGFyZ2VyLnNjc3MiLCJmb250LWF3ZXNvbWUvX2ZpeGVkLXdpZHRoLnNjc3MiLCJmb250LWF3ZXNvbWUvX2xpc3Quc2NzcyIsImZvbnQtYXdlc29tZS9fdmFyaWFibGVzLnNjc3MiLCJmb250LWF3ZXNvbWUvX2JvcmRlcmVkLXB1bGxlZC5zY3NzIiwiZm9udC1hd2Vzb21lL19hbmltYXRlZC5zY3NzIiwiZm9udC1hd2Vzb21lL19yb3RhdGVkLWZsaXBwZWQuc2NzcyIsImZvbnQtYXdlc29tZS9fbWl4aW5zLnNjc3MiLCJmb250LWF3ZXNvbWUvX3N0YWNrZWQuc2NzcyIsImZvbnQtYXdlc29tZS9faWNvbnMuc2NzcyIsImZvbnQtYXdlc29tZS9fc2NyZWVuLXJlYWRlci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3NsaWNrLWNhcm91c2VsL3NsaWNrL3NsaWNrLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FDQWpCOzs7OztHQUtHO0FDaUtHO0VDekhKO0lBQ0UsWUFBVztJQUNYLFdBQVU7SUFDVixlQUFjLEVBQ2YsRUFBQTs7QUNoREQsNEVBQTRFO0FBUTVFO0VBQ0Usa0JBQWlCO0VBQ2pCLCtCQUE4QixFQUMvQjs7QUFPRDtFQUNFLFVBQVMsRUFDVjs7QUFLRDtFQUNFLGVBQWM7RUFDZCxpQkFBZ0IsRUFDakI7O0FBUUQ7RUFDRSx3QkFBdUI7RUFDdkIsVUFBUztFQUNULGtCQUFpQixFQUNsQjs7QUFLRDtFQUNFLGtDQUFpQztFQUNqQyxlQUFjLEVBQ2Y7O0FBT0Q7RUFDRSw4QkFBNkIsRUFDOUI7O0FBS0Q7RUFDRSxvQkFBbUI7RUFDbkIsMkJBQTBCO0VBQzFCLGtDQUFpQyxFQUNsQzs7QUFJRDs7RUFFRSxvQkFBbUIsRUFDcEI7O0FBS0Q7OztFQUdFLGtDQUFpQztFQUNqQyxlQUFjLEVB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Qy9HO0VBRkQ7SUluQ0EsaUNBRGdILEVKc0MvRztFQUZEO0lJbkNBLGlDQURnSCxFSnNDL0c7RUFGRDtJSW5DQSwyQkFEZ0gsRUpzQy9HO0VBRkQ7SUluQ0EsaUNBRGdILEVKc0MvRztFQUZEO0lJbkNBLGlDQURnSCxFSnNDL0c7RUFGRDtJSW5DQSw0QkFEZ0gsRUpzQy9HO0VQdUNDO0lPckRKO01JL0JFLFlBQW1CLEVKaUNwQjtJQUVEO01JL0JFLFlBQW1CLEVKaUNwQjtJQU1DO01JbkNBLGlDQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxrQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsNEJBRGdILEVKc0MvRztJQUZEO01JbkNBLGtDQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxrQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsNEJBRGdILEVKc0MvRztJQUZEO01JbkNBLGtDQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxrQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsNEJBRGdILEVKc0MvRztJQUZEO01JbkNBLGtDQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxrQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsNkJBRGdILEVKc0MvRztJQWRIO01JL0JFLFlBQW1CLEVKaUNwQjtJQUVEO01JL0JFLFlBQW1CLEVKaUNwQjtJQU1DO01JbkNBLGlDQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxrQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsNEJBRGdILEVKc0MvRztJQUZEO01JbkNBLGtDQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxrQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsNEJBRGdILEVKc0MvRztJQUZEO01JbkNBLGtDQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxrQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsNEJBRGdILEVKc0MvRztJQUZEO01JbkNBLGtDQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxrQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsNkJBRGdILEVKc0MvRztJQWRIO01JL0JFLFlBQW1CLEVKaUNwQjtJQUVEO01JL0JFLFlBQW1CLEVKaUNwQjtJQU1DO01JbkNBLGlDQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxrQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsNEJBRGdILEVKc0MvRztJQUZEO01JbkNBLGtDQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxrQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsNEJBRGdILEVKc0MvRztJQUZEO01JbkNBLGtDQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxrQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsNEJBRGdILEVKc0MvRztJQUZEO01JbkNBLGtDQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxrQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsNkJBRGdILEVKc0MvRztJQWRIO01JL0JFLFlBQW1CLEVKaUNwQjtJQUVEO01JL0JFLFlBQW1CLEVKaUNwQjtJQU1DO01JbkNBLGlDQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxrQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsNEJBRGdILEVKc0MvRztJQUZEO01JbkNBLGtDQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxrQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsNEJBRGdILEVKc0MvRztJQUZEO01JbkNBLGtDQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxrQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsNEJBRGdILEVKc0MvRztJQUZEO01JbkNBLGtDQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxrQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsNkJBRGdILEVKc0MvRztJQWRIO01JL0JFLFlBQW1CLEVKaUNwQjtJQUVEO01JL0JFLFlBQW1CLEVKaUNwQjtJQU1DO01JbkNBLGlDQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxrQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsNEJBRGdILEVKc0MvRztJQUZEO01JbkNBLGtDQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxrQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsNEJBRGdILEVKc0MvRztJQUZEO01JbkNBLGtDQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxrQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsNEJBRGdILEVKc0MvRztJQUZEO01JbkNBLGtDQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxrQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsNkJBRGdILEVKc0MvRyxFQUFBO0VQdUNDO0lPckRKO01JL0JFLFlBQW1CLEVKaUNwQjtJQUVEO01JL0JFLFlBQW1CLEVKaUNwQjtJQU1DO01JbkNBLGlDQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxrQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsNEJBRGdILEVKc0MvRztJQUZEO01JbkNBLGtDQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxrQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsNEJBRGdILEVKc0MvRztJQUZEO01JbkNBLGtDQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxrQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsNEJBRGdILEVKc0MvRztJQUZEO01JbkNBLGtDQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxrQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsNkJBRGdILEVKc0MvRyxFQUFBOztBQThDSDtFQzdJTSx3QkFBNkQ7RUFBN0QsdUJBQTZELEVEa0poRTtFUFpDO0lPT0o7TUM3SU0seUJBQTZEO01BQTdELHdCQUE2RCxFRGtKaEUsRUFBQTs7QUFJRDtFQ3RKSSx3QkFBNkQ7RUFBN0QsdUJBQTZELEVEd0poRTtFUGxCQztJT2dCRjtNQ3RKSSx5QkFBNkQ7TUFBN0Qsd0JBQTZELEVEd0poRSxFQUFBOztBQVhIO0VDN0lNLHdCQUE2RDtFQUE3RCx1QkFBNkQsRUQ2SmhFO0VQdkJDO0lPT0o7TUM3SU0seUJBQTZEO01BQTdELHdCQUE2RCxFRDZKaEUsRUFBQTs7QUsvSkg7RUQ0REUsWUFEb0QsRUN6RHJEOztBQUZEO0VENERFLFdBRG9ELEVDekRyRDs7QUFGRDtFRDRERSxpQkFEb0QsRUN6RHJEOztBQUZEO0VENERFLFdBRG9ELEVDekRyRDs7QUFGRDtFRDRERSxXQURvRCxFQ3pEckQ7O0FBRkQ7RUQ0REUsaUJBRG9ELEVDekRyRDs7QUFGRDtFRDRERSxpQkFEb0QsRUN6RHJEOztBQUZEO0VENERFLGFBRG9ELEVDekRyRDs7QVpzSUc7RVl4SUo7SUQ0REUsWUFEb0QsRUN6RHJEO0VBRkQ7SUQ0REUsV0FEb0QsRUN6RHJEO0VBRkQ7SUQ0REUsaUJBRG9ELEVDekRyRDtFQUZEO0lENERFLFdBRG9ELEVDekRyRDtFQUZEO0lENERFLFdBRG9ELEVDekRyRDtFQUZEO0lENERFLGlCQURvRCxFQ3pEckQ7RUFGRDtJRDRERSxpQkFEb0QsRUN6RHJEO0VBRkQ7SUQ0REUsYUFEb0QsRUN6RHJELEVBQUE7O0Fac0lHO0VZeElKO0lENERFLFlBRG9ELEVDekRyRDtFQUZEO0lENERFLFdBRG9ELEVDekRyRDtFQUZEO0lENERFLGlCQURvRCxFQ3pEckQ7RUFGRDtJRDRERSxXQURvRCxFQ3pEckQ7RUFGRDtJRDRERSxXQURvRCxFQ3pEckQ7RUFGRDtJRDRERSxpQkFEb0QsRUN6RHJEO0VBRkQ7SUQ0REUsaUJBRG9ELEVDekRyRDtFQUZEO0lENERFLGFBRG9ELEVDekRyRCxFQUFBOztBQUZEO0VENERFLDRCQURnSCxFQ3pEakg7O0FBRkQ7RUQ0REUsMkJBRGdILEVDekRqSDs7QUFGRDtFRDRERSxpQ0FEZ0gsRUN6RGpIOztBQUZEO0VENERFLDJCQURnSCxFQ3pEakg7O0FBRkQ7RUQ0REUsMkJBRGdILEVDekRqSDs7QUFGRDtFRDRERSxpQ0FEZ0gsRUN6RGpIOztBQUZEO0VENERFLGlDQURnSCxFQ3pEakg7O0FBRkQ7RUQ0REUsNkJBRGdILEVDekRqSDs7QVpzSUc7RVl4SUo7SUQ0REUsNkJBRGdILEVDekRqSDtFQUZEO0lENERFLDRCQURnSCxFQ3pEakg7RUFGRDtJRDRERSxrQ0FEZ0gsRUN6RGpIO0VBRkQ7SUQ0REUsNEJBRGdILEVDekRqSDtFQUZEO0lENERFLDRCQURnSCxFQ3pEakg7RUFGRDtJRDRERSxrQ0FEZ0gsRUN6RGpIO0VBRkQ7SUQ0REUsa0NBRGdILEVDekRqSDtFQUZEO0lENERFLDhCQURnSCxFQ3pEakg7RUFGRDtJRDRERSw2QkFEZ0gsRUN6RGpIO0VBRkQ7SUQ0REUsNEJBRGdILEVDekRqSDtFQUZEO0lENERFLGtDQURnSCxFQ3pEakg7RUFGRDtJRDRERSw0QkFEZ0gsRUN6RGpIO0VBRkQ7SUQ0REUsNEJBRGdILEVDekRqSDtFQUZEO0lENERFLGtDQURnSCxFQ3pEakg7RUFGRDtJRDRERSxrQ0FEZ0gsRUN6RGpIO0VBRkQ7SUQ0REUsOEJBRGdILEVDekRqSCxFQUFBOztBWnNJRztFWXhJSjtJRDRERSw2QkFEZ0gsRUN6RGpIO0VBRkQ7SUQ0REUsNEJBRGdILEVDekRqSDtFQUZEO0lENERFLGtDQURnSCxFQ3pEakg7RUFGRDtJRDRERSw0QkFEZ0gsRUN6RGpIO0VBRkQ7SUQ0REUsNEJBRGdILEVDekRqSDtFQUZEO0lENERFLGtDQURnSCxFQ3pEakg7RUFGRDtJRDRERSxrQ0FEZ0gsRUN6RGpIO0VBRkQ7SUQ0REUsOEJBRGdILEVDekRqSCxFQUFBOztBTHlNRztFTWhORSxnQkFBMEI7RUFBMUIsZUFBMEIsRU5rTjNCO0VNL01EO0lBRUksZ0JBQTBCO0lBQTFCLGVBQTBCLEVBRTdCO0VBb0JLO0lGc0NSLGdCQURvRCxFRW5DM0M7RUFGRDtJRnNDUixpQkFEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsV0FEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsaUJBRG9ELEVFbkMzQztFQUZEO0lGc0NSLGlCQURvRCxFRW5DM0M7RUFGRDtJRnNDUixXQURvRCxFRW5DM0M7RUFGRDtJRnNDUixpQkFEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsaUJBRG9ELEVFbkMzQztFQUZEO0lGc0NSLFdBRG9ELEVFbkMzQztFQUZEO0lGc0NSLGlCQURvRCxFRW5DM0M7RUFGRDtJRnNDUixpQkFEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsWUFEb0QsRUVuQzNDO0ViZ0hQO0lhbEhNO01Gc0NSLGdCQURvRCxFRW5DM0M7SUFGRDtNRnNDUixpQkFEb0QsRUVuQzNDO0lBRkQ7TUZzQ1IsV0FEb0QsRUVuQzNDO0lBRkQ7TUZzQ1IsaUJBRG9ELEVFbkMzQztJQUZEO01Gc0NSLGlCQURvRCxFRW5DM0M7SUFGRDtNRnNDUixX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K0NSLFdBRG9ELEVFNUMzQztFQUZEO0lGK0NSLGlCQURvRCxFRTVDM0M7RUFGRDtJRitDUixpQkFEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsV0FEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsaUJBRG9ELEVFNUMzQztFQUZEO0lGK0NSLGlCQURvRCxFRTVDM0M7RUFGRDtJRitDUixXQURvRCxFRTVDM0M7RUFGRDtJRitDUixpQkFEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsaUJBRG9ELEVFNUMzQztFQUZEO0lGK0NSLFlBRG9ELEVFNUMzQyxFQUFBOztBYnlIUDtFYTNITTtJRitDUixnQkFEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsaUJBRG9ELEVFNUMzQztFQUZEO0lGK0NSLFdBRG9ELEVFNUMzQztFQUZEO0lGK0NSLGlCQURvRCxFRTVDM0M7RUFGRDtJRitDUixpQkFEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsV0FEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsaUJBRG9ELEVFNUMzQztFQUZEO0lGK0NSLGlCQURvRCxFRTVDM0M7RUFGRDtJRitDUixXQURvRCxFRTVDM0M7RUFGRDtJRitDUixpQkFEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsaUJBRG9ELEVFNUMzQztFQUZEO0lGK0NSLFlBRG9ELEVFNUMzQyxFQUFBOztBYnlIUDtFYWxITTtJRnNDUixnQkFEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsaUJBRG9ELEVFbkMzQztFQUZEO0lGc0NSLFdBRG9ELEVFbkMzQztFQUZEO0lGc0NSLGlCQURvRCxFRW5DM0M7RUFGRDtJRnNDUixpQkFEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsV0FEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsaUJBRG9ELEVFbkMzQztFQUZEO0lGc0NSLGlCQURvRCxFRW5DM0M7RUFGRDtJRnNDUixXQURvRCxFRW5DM0M7RUFGRDtJRnNDUixpQkFEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsaUJBRG9ELEVFbkMzQztFQUZEO0lGc0NSLFlBRG9ELEVFbkMzQyxFQUFBOztBYmdIUDtFT3lFQTtJTS9LRSxnQkFBMEI7SUFBMUIsZUFBMEIsRU5pTDNCO0lNOUtEO01BRUksaUJBQTRCO01BQTVCLGdCQUE0QixFQUUvQixFQUFBOztBTnNMRDtFT2hPRixnQkFBNkIsRVBrTzFCOztBQUVEO0VPcE9GLGlDQUE2QixFUHNPMUI7O0FBTkQ7RU9oT0Ysc0JBQTZCLEVQa08xQjs7QUFFRDtFT3BPRix1Q0FBNkIsRVBzTzFCOztBQU5EO0VPaE9GLHVCQUE2QixFUGtPMUI7O0FBRUQ7RU9wT0Ysd0NBQTZCLEVQc08xQjs7QUFORDtFT2hPRixpQkFBNkIsRVBrTzFCOztBQUVEO0VPcE9GLGtDQUE2QixFUHNPMUI7O0FBTkQ7RU9oT0YsdUJBQTZCLEVQa08xQjs7QUFFRDtFT3BPRix3Q0FBNkIsRVBzTzFCOztBQU5EO0VPaE9GLHVCQUE2QixFUGtPMUI7O0FBRUQ7RU9wT0Ysd0NBQTZCLEVQc08xQjs7QUFORDtFT2hPRixpQkFBNkIsRVBrTzFCOztBQUVEO0VPcE9GLGtDQUE2QixFUHNPMUI7O0FBTkQ7RU9oT0YsdUJBQTZCLEVQa08xQjs7QUFFRDtFT3BPRix3Q0FBNkIsRVBzTzFCOztBQU5EO0VPaE9GLHVCQUE2QixFUGtPMUI7O0FBRUQ7RU9wT0Ysd0NBQTZCLEVQc08xQjs7QUFORDtFT2hPRixpQkFBNkIsRVBrTzFCOztBQUVEO0VPcE9GLGtDQUE2QixFUHNPMUI7O0FBTkQ7RU9oT0YsdUJBQTZCLEVQa08xQjs7QUFFRDtFT3BPRix3Q0FBNkIsRVBzTzFCOztBQU5EO0VPaE9GLHVCQUE2QixFUGtPMUI7O0FBRUQ7RU9wT0Ysd0NBQTZCLEVQc08xQjs7QVA3RkQ7RU91RkE7SU9oT0YsZ0JBQTZCLEVQa08xQjtFQUVEO0lPcE9GLGtDQUE2QixFUHNPMUI7RUFORDtJT2hPRixzQkFBNkIsRVBrTzFCO0VBRUQ7SU9wT0Ysd0NBQTZCLEVQc08xQjtFQU5EO0lPaE9GLHVCQUE2QixFUGtPMUI7RUFFRDtJT3BPRix5Q0FBNkIsRVBzTzFCO0VBTkQ7SU9oT0YsaUJBQTZCLEVQa08xQjtFQUVEO0lPcE9GLG1DQUE2QixFUHNPMUI7RUFORDtJT2hPRix1QkFBNkIsRVBrTzFCO0VBRUQ7SU9wT0YseUNBQTZCLEVQc08xQjtFQU5EO0lPaE9GLHVCQUE2QixFUGtPMUI7RUFFRDtJT3BPRix5Q0FBNkIsRVBzTzFCO0VBTkQ7SU9oT0YsaUJBQTZCLEVQa08xQjtFQUVEO0lPcE9GLG1DQUE2QixFUHNPMUI7RUFORDtJT2hPRix1QkFBNkIsRVBrTzFCO0VBRUQ7SU9wT0YseUNBQTZCLEVQc08xQjtFQU5EO0lPaE9GLHVCQUE2QixFUGtPMUI7RUFFRDtJT3BPRix5Q0FBNkIsRVBzTzFCO0VBTkQ7SU9oT0YsaUJBQTZCLEVQa08xQjtFQUVEO0lPcE9GLG1DQUE2QixFUHNPMUI7RUFORDtJT2hPRix1QkFBNkIsRVBrTzFCO0VBRUQ7SU9wT0YseUNBQTZCLEVQc08xQjtFQU5EO0lPaE9GLHVCQUE2QixFUGtPMUI7RUFFRDtJT3BPRix5Q0FBNkIsRVBzTzFCLEVBQUE7O0FQN0ZEO0VPdUZBO0lPaE9GLGdCQUE2QixFUGtPMUI7RUFFRDtJT3BPRixrQ0FBNkIsRVBzTzFCO0VBTkQ7SU9oT0Ysc0JBQTZCLEVQa08xQjtFQUVEO0lPcE9GLHdDQUE2QixFUHNPMUI7RUFORDtJT2hPRix1QkFBNkIsRVBrTzFCO0VBRUQ7SU9wT0YseUNBQTZCLEVQc08xQjtFQU5EO0lPaE9GLGlCQUE2QixFUGtPMUI7RUFFRDtJT3BPRixtQ0FBNkIsRVBzTzFCO0VBTkQ7SU9oT0YsdUJBQTZCLEVQa08xQjtFQUVEO0lPcE9GLHlDQUE2QixFUHNPMUI7RUFORDtJT2hPRix1QkFBNkIsRVBrTzFCO0VBRUQ7SU9wT0YseUNBQTZCLEVQc08xQjtFQU5EO0lPaE9GLGlCQUE2QixFUGtPMUI7RUFFRDtJT3BPRixtQ0FBNkIsRVBzTzFCO0VBTkQ7SU9oT0YsdUJBQTZCLEVQa08xQjtFQUVEO0lPcE9GLHlDQUE2QixFUHNPMUI7RUFORDtJT2hPRix1QkFBNkIsRVBrTzFCO0VBRUQ7SU9wT0YseUNBQTZCLEVQc08xQjtFQU5EO0lPaE9GLGlCQUE2QixFUGtPMUI7RUFFRDtJT3BPRixtQ0FBNkIsRVBzTzFCO0VBTkQ7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SmlDcEI7SUFNQztNSW5DQSxrQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDZCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDZCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDZCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDhCQURnSCxFSnNDL0c7SUFkSDtNSS9CRSxhQUFtQixFSmlDcEI7SUFFRDtNSS9CRSxhQUFtQixFSmlDcEI7SUFNQztNSW5DQSxrQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDZCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDZCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDZCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDhCQURnSCxFSnNDL0c7SUFkSDtNSS9CRSxhQUFtQixFSmlDcEI7SUFFRDtNSS9CRSxhQUFtQixFSmlDcEI7SUFNQztNSW5DQSxrQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDZCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDZCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDZCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDhCQURnSCxFSnNDL0c7SUFkSDtNSS9CRSxhQUFtQixFSmlDcEI7SUFFRDtNSS9CRSxhQUFtQixFSmlDcEI7SUFNQztNSW5DQSxrQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDZCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDZCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDZCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDhCQURnSCxFSnNDL0csRUFBQTtFUHVDQztJT3JESjtNSS9CRSxhQUFtQixFSmlDcEI7SUFFRDtNSS9CRSxhQUFtQixFSmlDcEI7SUFNQztNSW5DQSxrQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDZCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDZCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDZCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDhCQURnSCxFSnNDL0csRUFBQTs7QUEwT0g7RVF6VkUsaUJBQWdCO0VBQ2hCLG1CQUFrQjtFQUNsQixzQkFBaUI7TUFBakIsa0JBQWlCO0VBQ2pCLHdCQUFvQjtNQUFwQixxQkFBb0I7RUEyQmhCLGFBQXNDLEVSNlQzQzs7QUFFRDtFQUNFLFlBQVcsRUFDWjs7QUFFRDtFUWhURSxpQkFBZ0I7RUFDaEIsZ0JBQWU7RUFHakIsa0NBQWlDO0VBQ2pDLDZDQUE0QyxFUjZTM0M7O0FBRUQ7RVF4VEUsaUJBQWdCO0VBQ2hCLGlCQUFnQjtFQUNoQixpQkFBZ0I7RUFNbEIsa0NBQWlDO0VBQ2pDLDZDQUE0QyxFUmlUM0M7O0FBR0Q7RVE3U0EscUJBQWE7RUFBYixjQUFhO0VBQ2IsMkJBQXNCO01BQXRCLHVCQUFzQjtFQUN0QixpQkFBZ0IsRVI2U2Y7RVEzU0Q7SUFDRSxpQkFBZ0I7SUFDaEIsc0JBQWlCO1FBQWpCLGtCQUFpQixFQUNsQjs7QWZrRkc7RU8yTkY7SVFqWEEsaUJBQWdCO0lBQ2hCLG1CQUFrQjtJQUNsQixzQkFBaUI7UUFBakIsa0JBQWlCO0lBQ2pCLHdCQUFvQjtRQUFwQixxQkFBb0I7SUEyQmhCLGFBQXNDLEVScVZ6QztFQUVEO0lBQ0UsWUFBVyxFQUNaO0VBRUQ7SVF4VUEsaUJBQWdCO0lBQ2hCLGdCQUFlO0lBR2pCLGtDQUFpQztJQUNqQyw2Q0FBNEMsRVJxVXpDO0VBRUQ7SVFoVUYscUJBQWE7SUFBYixjQUFhO0lBQ2IsMkJBQXNCO1FBQXRCLHVCQUFzQjtJQUN0QixpQkFBZ0IsRVJnVWI7SVE5VEg7TUFDRSxpQkFBZ0I7TUFDaEIsc0JBQWlCO1VBQWpCLGtCQUFpQixFQUNsQjtFUjZUQztJUXBWQSxpQkFBZ0I7SUFDaEIsaUJBQWdCO0lBQ2hCLGlCQUFnQjtJQU1sQixrQ0FBaUM7SUFDakMsNkNBQTRDLEVSNlV6QyxFQUFBOztBUDdPQztFTzJORjtJUWpYQSxpQkFBZ0I7SUFDaEIsbUJBQWtCO0lBQ2xCLHNCQUFpQjtRQUFqQixrQkFBaUI7SUFDakIsd0JBQW9CO1FBQXBCLHFCQUFvQjtJQTJCaEIsYUFBc0MsRVJxVnpDO0VBRUQ7SUFDRSxZQUFXLEVBQ1o7RUFFRDtJUXhVQSxpQkFBZ0I7SUFDaEIsZ0JBQWU7SUFHakIsa0NBQWlDO0lBQ2pDLDZDQUE0QyxFUnFVekM7RUFFRDtJUWhVRixxQkFBYTtJQUFiLGNBQWE7SUFDYiwyQkFBc0I7UUFBdEIsdUJBQXNCO0lBQ3RCLGlCQUFnQixFUmdVYjtJUTlUSDtNQUNFLGlCQUFnQjtNQUNoQixzQkFBaUI7VUFBakIsa0JBQWlCLEVBQ2xCO0VSNlRDO0lRcFZBLGlCQUFnQjtJQUNoQixpQkFBZ0I7SUFDaEIsaUJBQWdCO0lBTWxCLGtDQUFpQztJQUNqQyw2Q0FBNEMsRVI2VXpDLEVBQUE7O0FBSUQ7RUFFSSxZQUFXO0VRellmLGlCQUFnQjtFQUNoQixtQkFBa0I7RUFDbEIsc0JBQWlCO01BQWpCLGtCQUFpQjtFQUNqQix3QkFBb0I7TUFBcEIscUJBQW9CO0VBeUJoQixjQUF1QyxFUitXeEM7O0FQclBEO0VPaVBGO0lBUU0sWUFBVztJUS9ZakIsaUJBQWdCO0lBQ2hCLG1CQUFrQjtJQUNsQixzQkFBaUI7UUFBakIsa0JBQWlCO0lBQ2pCLHdCQUFvQjtRQUFwQixxQkFBb0I7SUF5QmhCLGNBQXVDLEVScVh0QyxFQUFBOztBUDNQSDtFT2lQRjtJQVFNLFlBQVc7SVEvWWpCLGlCQUFnQjtJQUNoQixtQkFBa0I7SUFDbEIsc0JBQWlCO1FBQWpCLGtCQUFpQjtJQUNqQix3QkFBb0I7UUFBcEIscUJBQW9CO0lBeUJoQixjQUF1QyxFUnFYdEMsRUFBQTs7QUFJTDtFQUVJLGFBQVksRUFDYjs7QVBsUUQ7RU8rUEY7SUFNTSxhQUFZLEVBQ2IsRUFBQTs7QVB0UUg7RU8rUEY7SUFNTSxhQUFZLEVBQ2IsRUFBQTs7QUFuU1A7RUN6R00sc0JBQTZEO0VBQTdELHlCQUE2RCxFRHdJbEU7RVBGRztJTzdCSjtNQ3pHTSx1QkFBNkQ7TUFBN0QsMEJBQTZELEVEd0lsRSxFQUFBO0VBL0JEO0lJMURFLDZCQUQ0RTtJSHJDMUUscUJBQTZEO0lBQTdELHdCQUE2RCxFRHNHOUQ7RVB1QkM7SU83Qko7TUkxREUsOEJBRDRFO01IckMxRSxzQkFBNkQ7TUFBN0QseUJBQTZELEVENkcxRCxFQUFBO0VBckNQO0lJL0JFLGFBQW1CLEVKaUNwQjtFQUVEO0lJL0JFLGFBQW1CLEVKaUNwQjtFQU1DO0lJbkNBLGlDQURnSCxFSnNDL0c7RUFGRDtJSW5DQSxrQ0FEZ0gsRUpzQy9HO0VBRkQ7SUluQ0EsNEJBRGdILEVKc0MvRztFQUZEO0lJbkNBLGtDQURnSCxFSnNDL0c7RUFGRDtJSW5DQSxrQ0FEZ0gsRUpzQy9HO0VBRkQ7SUluQ0EsNEJBRGdILEVKc0MvRztFQUZEO0lJbkNBLGtDQURnSCxFSnNDL0c7RUFGRDtJSW5DQSxrQ0FEZ0gsRUpzQy9HO0VBRkQ7SUluQ0EsNEJBRGdILEVKc0MvRztFQUZEO0lJbkNBLGtDQURnSCxFSnNDL0c7RUFGRDtJSW5DQSxrQ0FEZ0gsRUpzQy9HO0VBRkQ7SUluQ0EsNkJBRGdILEVKc0MvRztFUHVDQztJT3JESjtNSS9CRSxhQUFtQixFSmlDcEI7SUFFRDtNSS9CRSxhQUFtQixFSmlDcEI7SUFNQztNSW5DQSxrQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDZCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDZCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDZCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDhCQURnSCxFSnNDL0c7SUFkSDtNSS9CRSxhQUFtQixFSmlDcEI7SUFFRDtNSS9CRSxhQUFtQixFSmlDcEI7SUFNQztNSW5DQSxrQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDZCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDZCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDZCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDhCQURnSCxFSnNDL0c7SUFkSDtNSS9CRSxhQUFtQixFSmlDcEI7SUFFRDtNSS9CRSxhQUFtQixFSmlDcEI7SUFNQztNSW5DQSxrQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDZCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDZCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDZCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDhCQURnSCxFSnNDL0c7SUFkSDtNSS9CRSxhQUFtQixFSmlDcEI7SUFFRDtNSS9CRSxhQUFtQixFSmlDcEI7SUFNQztNSW5DQSxrQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDZCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDZCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDZCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDhCQURnSCxFSnNDL0c7SUFkSDtNSS9CRSxhQUFtQixFSmlDcEI7SUFFRDtNSS9CRSxhQUFtQixFSmlDcEI7SUFNQztNSW5DQSxrQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDZCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDZCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDZCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDhCQURnSCxFSnNDL0csRUFBQTtFUHVDQztJT3JESjtNSS9CRSxhQUFtQixFSmlDcEI7SUFFRDtNSS9CRSxhQUFtQixFSmlDcEI7SUFNQztNSW5DQSxrQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDZCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDZCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDZCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDhCQURnSCxFSnNDL0csRUFBQTs7QUFtVEQ7RVEvWUksOEJBQW1DLEVSaVp0QztFUDlRQztJTzRRRjtNUS9ZSSwrQkFBbUMsRVJpWnRDLEVBQUE7RVA5UUM7SU80UUY7TVEvWUksK0JBQW1DLEVSaVp0QyxFQUFBOztBUDlRQztFT2dSQTtJUW5aRSwrQkFBbUMsRVJxWnBDLEVBQUE7O0FQbFJEO0VPZ1JBO0lRblpFLCtCQUFtQyxFUnFacEMsRUFBQTs7QVN6TEw7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFtQkUsVUFBUztFQUNULFdBQVUsRUFDWDs7QUFHRDtFQUNFLG9CWnBGMEI7RVlzRjFCLG1CQUFrQjtFQUNsQixpQlp4RnNCO0VZeUZ0QixtQ1p2RnlDLEVZd0YxQzs7QUFHRDs7RUFFRSxtQkFBa0I7RUFDbEIscUJBQW9CLEVBQ3JCOztBQUdEOztFQUVFLGtCWm5NcUI7RVlvTXJCLHFCQUFvQixFQUNyQjs7QWRuTkQ7RWN1TkUsZVo5R2lCO0VZK0dqQixxQkFBb0IsRUFDckI7O0FBR0Q7Ozs7OztFQU1FLDRDWjVONkM7RVk2TjdDLG1CWmxKc0I7RVltSnRCLGtCWnROcUI7RVl1TnJCLGVabEprQjtFWW1KbEIsbUNaOUhzQyxFWW9JdkM7RUFoQkQ7Ozs7OztJQWFJLGVBQWM7SUFDZCxlWDlTZSxFVytTaEI7O0FBUUc7RUFJSSxrQk52UDZDO0VNbVE3QyxpQlovS1c7RVl1TFgsY0FBYTtFQU9iLHNCWjdMaUIsRVkrTHBCOztBQWpDRDtFQUlJLG1CTnZQNkM7RU1tUTdDLGlCWi9LVztFWXVMWCxjQUFhO0VBT2Isc0JaN0xpQixFWStMcEI7O0FBakNEO0VBSUkscUJOdlA2QztFTW1RN0MsaUJaL0tXO0VZdUxYLGNBQWE7RUFPYixzQlo3TGlCLEVZK0xwQjs7QUFqQ0Q7RUFJSSxvQk52UDZDO0VNbVE3QyxpQlovS1c7RVl1TFgsY0FBYTtFQU9iLHNCWjdMaUIsRVkrTHBCOztBQWpDRDtFQUlJLHFCTnZQNkM7RU1tUTdDLGlCWi9LVztFWXVMWCxjQUFhO0VBT2Isc0JaN0xpQixFWStMcEI7O0FBakNEO0VBSUksZ0JOdlA2QztFTW1RN0MsaUJaL0tXO0VZdUxYLGNBQWE7RUFPYixzQlo3TGlCLEVZK0xwQjs7QWhCdE1IO0VnQnFLRTtJQUlJLGdCTnZQNkMsRU1vUmhEO0VBakNEO0lBSUksa0JOdlA2QyxFTW9SaEQ7RUFqQ0Q7SUFJSSxxQk52UDZDLEVNb1JoRDtFQWpDRDtJQUlJLHFCTnZQNkMsRU1vUmhEO0VBakNEO0lBSUksbUJOdlA2QyxFTW9SaEQ7RUFqQ0Q7SUFJSSxnQk52UDZDLEVNb1JoRCxFQUFBOztBZHBUUDtFYzJURSxxQkFBb0I7RUFDcEIsZVp2U2M7RVl3U2Qsc0Jadkt5QjtFWXlLekIsZ0JBQWUsRUFhaEI7RUFsQkQ7SUFTSSxlWjlLMkQsRVlrTDVEO0VBYkg7SUFnQkksVUFBUyxFQUNWOztBZDlWSDtFY21XRSxZQUFXO0VBRVgsb0JObFRxRDtFTW1UckQsVUFBUztFQUNULHFCWjFMeUI7RVk0THpCLGNBQWE7RUFDYixnQkFBZTtFQUNmLGlDWDVYaUI7RVc2WGpCLGVBQWMsRUFDZjs7QUFHRDs7O0VBR0Usb0JacE4wQjtFWXFOMUIsNkJabk15QjtFWW9NekIsaUJadk5zQixFWXdOdkI7O0FBR0Q7RUFDRSxtQkFBa0IsRUFDbkI7O0FBR0Q7RUFDRSxxQlo3TXNCO0VZOE10QixzQlpoTmtCLEVZaU5uQjs7QUFHRDtFQUNFLHFCWm5Oc0IsRVlvTnZCOztBQUdEO0VBRUkscUJaeE4yQjtFWXlOM0IsaUJBQWdCLEVBQ2pCOztBQUlIO0VBQ0Usb0JaOU55QixFWW9PMUI7RUFQRDtJQUlJLHNCWi9OOEI7SVlnTzlCLGtCWnJWbUIsRVlzVnBCOztBQUlIO0VBQ0UsaUJaN1AwQjtFWThQMUIsdUNOMVdxRDtFTTJXckQsK0JYL2FpQixFV3FibEI7RUFURDtJQU1JLGlCWm5Rb0I7SVlvUXBCLGVYaGNhLEVXaWNkOztBQUlIO0VBQ0UsZUFBYztFQUNkLHFCTnRYcUQ7RU11WHJELGVYeGNlLEVXNmNoQjtFQVJEO0lBTUksY1pqUDZCLEVBQUE7O0FZc1BqQztFQUNFLGtDWGxjVztFV21jWCxhQUFZO0VBQ1osc0JBQXFCLEVBQ3RCOztBQUdEO0VBQ0UsVUFBUyxFQUNWOztBQUdEO0VBQ0Usc0NONVlxRDtFTThZckQsMEJYbGRpQjtFV21kakIsMEJYamVnQjtFV21laEIsNkRaL1RtRTtFWWdVbkUsb0Jacll5QjtFWXNZekIsZVhyZFcsRVdzZFo7O0FBR0Q7RUFDRSxVQUFTO0VBQ1QsNEJOcFpTO0VNc1pULDBCWDdlZ0I7RVcrZWhCLDZEWjNVbUU7RVk0VW5FLGVYaGVXLEVXcWVaOztBQzVjRDtFQUNFLG1CYmlNeUI7RWFoTXpCLHNCYmlNNEI7RWEvTDVCLG9CYmtEeUI7RWFqRHpCLGlCYjBMc0I7RWF6THRCLGVaOUNlLEVZK0NoQjs7QUFHRDtF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a0JEK0JnQjtNQy9CaEIsU0QrQmdCLEVBR1g7O0FBRkQ7RUNoQ0osa0JEK0JnQjtNQy9CaEIsU0QrQmdCLEVBR1g7O0FBRkQ7RUNoQ0osa0JEK0JnQjtNQy9CaEIsU0QrQmdCLEVBR1g7O0FBRkQ7RUNoQ0osa0JEK0JnQjtNQy9CaEIsU0QrQmdCLEVBR1g7O0FoRHNERDtFZ0R4REE7SUNoQ0osa0JEK0JnQjtRQy9CaEIsU0QrQmdCLEVBR1g7RUFGRDtJQ2hDSixrQkQrQmdCO1FDL0JoQixTRCtCZ0IsRUFHWDtFQUZEO0lDaENKLGtCRCtCZ0I7UUMvQmhCLFNEK0JnQixFQUdYO0VBRkQ7SUNoQ0osa0JEK0JnQjtRQy9CaEIsU0QrQmdCLEVBR1g7RUFGRDtJQ2hDSixrQkQrQmdCO1FDL0JoQixTRCtCZ0IsRUFHWDtFQUZEO0lDaENKLGtCRCtCZ0I7UUMvQmhCLFNEK0JnQixFQUdYLEVBQUE7O0FoRHNERDtFZ0R4REE7SUNoQ0osa0JEK0JnQjtRQy9CaEIsU0QrQmdCLEVBR1g7RUFGRDtJQ2hDSixrQkQrQmdCO1FDL0JoQixTRCtCZ0IsRUFHWDtFQUZEO0lDaENKLGtCRCtCZ0I7UUMvQmhCLFNEK0JnQixFQUdYO0VBRkQ7SUNoQ0osa0JEK0JnQjtRQy9CaEIsU0QrQmdCLEVBR1g7RUFGRDtJQ2hDSixrQkQrQmdCO1FDL0JoQixTRCtCZ0IsRUFHWDtFQUZEO0lDaENKLGtCRCtCZ0I7UUMvQmhCLFNEK0JnQixFQUdYLEVBQUE7O0FBL0ZMO0VDWUEscUJBQWE7RUFBYixjQUFhLEVEVlo7O0FBRUQ7RUFDRSxtQkFBYztNQUFkLGVBQWMsRUFDZjs7QUFFRDtFQUNFLG1CQUFjO01BQWQsZUFBYyxFQUNmOztBQUVEO0VBQ0UsbUJBQWM7TUFBZCxlQUFjLEVBQ2Y7O0FBR0M7RUNzREYsd0JBbkVVO01BbUVWLG9CQW5FVSxFRGVQOztBQUZEO0VDc0RGLGdDQWxFMEI7TUFrRTFCLDRCQWxFMEIsRURjdkI7O0FBRkQ7RUNzREYsMkJBakVnQjtNQWlFaEIsdUJBakVnQixFRGFiOztBQUZEO0VDc0RGLG1DQWhFZ0M7TUFnRWhDLCtCQWhFZ0MsRURZN0I7O0FoRGtJQztFZ0QxSEk7SUNmUixxQkFBYTtJQUFiLGNBQWEsRURpQko7RUFFRDtJQUNFLG1CQUFjO1FBQWQsZUFBYyxFQUNmO0VBRUQ7SUFDRSxtQkFBYztRQUFkLGVBQWMsRUFDZjtFQUVEO0lBQ0UsbUJBQWM7UUFBZCxlQUFjLEVBQ2Y7RUFHQztJQzJCVix3QkFuRVU7UUFtRVYsb0JBbkVVLEVEMENDO0VBRkQ7SUMyQlYsZ0NBbEUwQjtRQWtFMUIsNEJBbEUwQixFRHlDZjtFQUZEO0lDMkJWLDJCQWpFZ0I7UUFpRWhCLHVCQWpFZ0IsRUR3Q0w7RUFGRDtJQzJCVixtQ0FoRWdDO1FBZ0VoQywrQkFoRWdDLEVEdUNyQixFQUFBOztBaER1R1A7RWdEMUhJO0lDZlIscUJBQWE7SUFBYixjQUFhLEVEaUJKO0VBRUQ7SUFDRSxtQkFBYztRQUFkLGVBQWMsRUFDZjtFQUVEO0lBQ0UsbUJBQWM7UUFBZCxlQUFjLEVBQ2Y7RUFFRDtJQUNFLG1CQUFjO1FBQWQsZUFBYyxFQUNmO0VBR0M7SUMyQlYsd0JBbkVVO1FBbUVWLG9CQW5FVSxFRDBDQztFQUZEO0lDMkJWLGdDQWxFMEI7UUFrRTFCLDRCQWxFMEIsRUR5Q2Y7RUFGRDtJQzJCViwyQkFqRWdCO1FBaUVoQix1QkFqRWdCLEVEd0NMO0VBRkQ7SUMyQlYsbUNBaEVnQztRQWdFaEMsK0JBaEVnQyxFRHVDckIsRUFBQTs7QUUxQ1Q7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiw2QkFGeUI7RUN2QnZCLHdDQUF1QztFQUd6QyxvQ0FBMkI7VUFBM0IsNEJBQTJCLEVKUjFCOztBQVVEO0VHb0JBLHlCQUZ5QixFSGhCeEI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiw2QkFGeUI7RUN2QnZCLHdDQUF1QztFQUd6QyxvQ0FBMkI7VUFBM0IsNEJBQTJCLEVKUjFCOztBQVVEO0VHb0JBLHlCQUZ5QixFSGhCeEI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiw0QkFGeUI7RUN2QnZCLHdDQUF1QztFQUd6QyxvQ0FBMkI7VUFBM0IsNEJBQTJCLEVKUjFCOztBQVVEO0VHb0JBLHlCQUZ5QixFSGhCeEI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiw0QkFGeUI7RUN2QnZCLHdDQUF1QztFQUd6QyxvQ0FBMkI7VUFBM0IsNEJBQTJCLEVKUjFCOztBQVVEO0VHb0JBLHlCQUZ5QixFSGhCeEI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYix5QkFGeUI7RUN2QnZCLHdDQUF1QztFQUd6QyxvQ0FBMkI7VUFBM0IsNEJBQTJCLEVKUjFCOztBQVVEO0VHb0JBLDRCQUZ5QixFSGhCeEI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYix5QkFGeUI7RUN2QnZCLHdDQUF1QztFQUd6QyxvQ0FBMkI7VUFBM0IsNEJBQTJCLEVKUjFCOztBQVVEO0VHb0JBLDRCQUZ5QixFSGhCeEI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYix5QkFGeUI7RUN2QnZCLHdDQUF1QztFQUd6QyxvQ0FBMkI7VUFBM0IsNEJBQTJCLEVKUjFCOztBQVVEO0VHb0JBLDZCQUZ5QixFSGhCeEI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYix5QkFGeUI7RUN2QnZCLHdDQUF1QztFQUd6QyxvQ0FBMkI7VUFBM0IsNEJBQTJCLEVKUjFCOztBQVVEO0VHb0JBLDZCQUZ5QixFSGhCeEI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixXRmhDa0M7RUlBbEMsNkJBQTRCLEVMRTNCOztBQVVEO0VHb0JBLFdGaENxQyxFRGNwQzs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLFdGL0JrQztFSURsQyw2QkFBNEIsRUxFM0I7O0FBVUQ7RUdvQkEsV0YvQnFDLEVEYXBDOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsK0NHckNtQztFSHFDbkMsc0JGNUJtRDtFTUdqRCx3Q0FBdUM7RUFDdkMsV0FBMkIsRVBONUI7O0FBVUQ7RUdvQkEsNENHVjRDO0VDSjFDLFdBQTJCLEVQSjVCOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsK0NHcENxQztFSG9DckMsd0JGM0JxRDtFTUVuRCx3Q0FBdUM7RUFDdkMsV0FBMkIsRVBONUI7O0FBVUQ7RUdvQkEsNENHVjRDO0VDSjFDLFdBQTJCLEVQSjVCOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsOENHbkNpQztFSG1DakMseUJGMUJzRDtFTUNwRCx3Q0FBdUM7RUFDdkMsV0FBMkIsRVBONUI7O0FBVUQ7RUdvQkEsNENHVjRDO0VDSjFDLFdBQTJCLEVQSjVCOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsOENHbEMrQjtFSGtDL0IsdUJGekJvRDtFTUFsRCx3Q0FBdUM7RUFDdkMsV0FBMkIsRVBONUI7O0FBVUQ7RUdvQkEsNENHVjRDO0VDSjFDLFdBQTJCLEVQSjVCOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsK0NHckNtQztFSHFDbkMseUJHQ2U7RUMxQmIsd0NBQXVDO0VBQ3ZDLFdBQTJCLEVQTjVCOztBQVVEO0VHb0JBLDRDR1Y0QztFQ0oxQyxXQUEyQixFUEo1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLCtDR3BDcUM7RUhvQ3JDLHlCR0NlO0VDMUJiLHdDQUF1QztFQUN2QyxXQUEyQixFUE41Qjs7QUFVRDtFR29CQSw0Q0dWNEM7RUNKMUMsV0FBMkIsRVBKNUI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiw0Q0dSOEM7RUhROUMsc0JGdEJtRDtFTUhqRCx3Q0FBdUM7RUFDdkMsV0FBOEIsRVBOL0I7O0FBVUQ7RUdvQkEsK0NHckNtQztFQ3VCakMsV0FBOEIsRVBKL0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiw0Q0dSOEM7RUhROUMsd0JGckJxRDtFTUpuRCx3Q0FBdUM7RUFDdkMsV0FBOEIsRVBOL0I7O0FBVUQ7RUdvQkEsK0NHcENxQztFQ3NCbkMsV0FBOEIsRVBKL0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiw0Q0dSOEM7RUhROUMseUJGcEJzRDtFTUxwRCx3Q0FBdUM7RUFDdkMsV0FBOEIsRVBOL0I7O0FBVUQ7RUdvQkEsOENHbkNpQztFQ3FCL0IsV0FBOEIsRVBKL0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiw0Q0dSOEM7RUhROUMsdUJGbkJvRDtFTU5sRCx3Q0FBdUM7RUFDdkMsV0FBOEIsRVBOL0I7O0FBVUQ7RUdvQkEsOENHbEMrQjtFQ29CN0IsV0FBOEIsRVBKL0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiw0Q0dSOEM7RUhROUMseUJHQ2U7RUMxQmIsd0NBQXVDO0VBQ3ZDLFdBQThCLEVQTi9COztBQVVEO0VHb0JBLCtDR3JDbUM7RUN1QmpDLFdBQThCLEVQSi9COztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsNENHUjhDO0VIUTlDLHlCR0NlO0VDMUJiLHdDQUF1QztFQUN2QyxXQUE4QixFUE4vQjs7QUFVRDtFR29CQSwrQ0dwQ3FDO0VDc0JuQyxXQUE4QixFUEovQjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHNCQUZ5QjtFSzNCdkIsd0NBQXVDO0VBQ3ZDLFdBQTJCLEVSRjVCOztBQVVEO0VHb0JBLG9CQUZ5QjtFS2hCdkIsV0FBMkIsRVJBNUI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixzQkFGeUI7RUszQnZCLHdDQUF1QztFQUN2QyxXQUEyQixFUkY1Qjs7QUFVRDtFR29CQSxvQkFGeUI7RUtoQnZCLFdBQTJCLEVSQTVCOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsb0JBRnlCO0VLM0J2Qix3Q0FBdUM7RUFDdkMsV0FBOEIsRVJGL0I7O0FBVUQ7RUdvQkEsc0JBRnlCO0VLaEJ2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QUFBOztBTWhrQnZCOztFQUNnQyxhTmdLWixFQUFBOztBTS9KcEI7RUFBb0MsYU4rcUJaLEVBQUE7O0FNOXFCeEI7RUFBaUMsYU53VlosRUFBQTs7QU12VnJCO0VBQW1DLGFOdVBaLEVBQUE7O0FNdFB2QjtFQUFvQyxhTmdKWixFQUFBOztBTS9JeEI7RUFBaUMsYU5taEJaLEVBQUE7O0FNbGhCckI7RUFBcUMsYU5nTVosRUFBQTs7QU0vTHpCO0VBQWdELGFOWVosRUFBQTs7QU1YcEM7RUFBOEMsYU5jWixFQUFBOztBTWJsQztFQUFrQyxhTnFXWixFQUFBOztBTXBXdEI7RUFBMEMsYU53ZVosRUFBQTs7QU12ZTlCOztFQUNtQyxhTnNnQlosRUFBQTs7QU1yZ0J2QjtFQUFvQyxhTmdnQlosRUFBQTs7QU0vZnhCO0VBQXFDLGFOd1laLEVBQUE7O0FNdll6QjtFQUFpQyxhTjJZWixFQUFBOztBTTFZckI7RUFBaUMsYU40UFosRUFBQTs7QU0zUHJCO0VBQXVDLGFOb1VaLEVBQUE7O0FNblUzQjtFQUF1QyxhTml0QlosRUFBQTs7QU1odEIzQjtFQUF3QyxhTitzQlosRUFBQTs7QU05c0I1QjtFQUFzQyxhTmd0QlosRUFBQTs7QU0vc0IxQjtFQUFtQyxhTnllWixFQUFBOztBTXhldkI7RUFBb0MsYU53QlosRUFBQTs7QU12QnhCO0VBQWdDLGFOeW1CWixFQUFBOztBTXhtQnBCO0VBQWlDLGFOeW1CWixFQUFBOztBTXhtQnJCO0VBQWlDLGFOeURaLEVBQUE7O0FNeERyQjtFQUFxQyxhTnlEWixFQUFBOztBTXhEekI7RUFBa0MsYU4rZFosRUFBQTs7QU05ZHRCO0VBQW1DLGFOMkVaLEVBQUE7O0FNMUV2QjtFQUFpQyxhTjBQWixFQUFBOztBTXpQckI7RUFBaUMsYU5pRFosRUFBQTs7QU1oRHJCO0VBQW1DLGFOMFZaLEVBQUE7O0FNelZ2QjtFQUF3QyxhTndtQlosRUFBQTs7QU12bUI1QjtFQUF1QyxhTndtQlosRUFBQTs7QU12bUIzQjtFQUF1QyxhTnBDWixFQUFBOztBTXFDM0I7RUFBeUMsYU52Q1osRUFBQTs7QU13QzdCO0VBQXdDLGFOckNaLEVBQUE7O0FNc0M1QjtFQUEwQyxhTnhDWixFQUFBOztBTXlDOUI7RUFBaUMsYU4rV1osRUFBQTs7QU05V3JCOztFQUNvQyxhTjJhWixFQUFBOztBTTFheEI7RUFBbUMsYU5zVVosRUFBQTs7QU1yVXZCO0VBQXlDLGFOa3JCWixFQUFBOztBTWpyQjdCOzs7RUFFc0MsYU4wYlosRUFBQTs7QU16YjFCO0VBQW1DLGFOa2JaLEVBQUE7O0FNamJ2QjtFQUF1QyxhTndYWixFQUFBOztBTXZYM0I7RUFBbUMsYU50RFosRUFBQTs7QU11RHZCO0VBQWlDLGFObW5CWixFQUFBOztBTWxuQnJCOztFQUM0QyxhTithWixFQUFBOztBTTlhaEM7RUFBMkMsYU44ZlosRUFBQTs7QU03Zi9CO0VBQTJDLGFOK0VaLEVBQUE7O0FNOUUvQjtFQUFtQyxhTnpCWixFQUFBOztBTTBCdkI7RUFBMEMsYU5takJaLEVBQUE7O0FNbGpCOUI7RUFBMEMsYU5xTFosRUFBQTs7QU1wTDlCO0VBQXFDLGFObEJaLEVBQUE7O0FNbUJ6QjtFQUFpQyxhTnNiWixFQUFBOztBTXJickI7RUFBa0MsYU5nYVosRUFBQTs7QU0vWnRCO0VBQWlDLGFObWpCWixFQUFBOztBTWxqQnJCO0VBQW9DLGFOK05aLEVBQUE7O0FNOU54QjtFQUF5QyxhTmdMWixFQUFBOztBTS9LN0I7RUFBeUMsYU40aUJaLEVBQUE7O0FNM2lCN0I7RUFBa0MsYU4rSVosRUFBQTs7QU05SXRCO0VBQXlDLGFOeUVaLEVBQUE7O0FNeEU3QjtFQUEwQyxhTnlFWixFQUFBOztBTXhFOUI7RUFBd0MsYU5rYlosRUFBQTs7QU1qYjVCO0VBQXlDLGFOdVhaLEVBQUE7O0FNdFg3QjtFQUF5QyxhTjJsQlosRUFBQTs7QU0xbEI3QjtFQUF5QyxhTjJEWixFQUFBOztBTTFEN0I7RUFBNEMsYU55YlosRUFBQTs7QU14YmhDO0VBQXdDLGFOMFNaLEVBQUE7O0FNelM1QjtFQUF1QyxhTjBHWixFQUFBOztBTXpHM0I7RUFBMkMsYU51bEJaLEVBQUE7O0FNdGxCL0I7RUFBMkMsYU51RFosRUFBQTs7QU10RC9CO0VBQWdDLGFObkNaLEVBQUE7O0FNb0NwQjtFQUF1QyxhTm5EWixFQUFBOztBTW9EM0I7RUFBd0MsYU5uRFosRUFBQTs7QU1vRDVCO0VBQXFDLGFObkRaLEVBQUE7O0FNb0R6QjtFQUF1QyxhTnZEWixFQUFBOztBTXdEM0I7O0VBQ2tDLGFONGRaLEVBQUE7O0FNM2R0QjtFQUFtQyxhTjhJWixFQUFBOztBTTdJdkI7RUFBcUMsYU5zRlosRUFBQTs7QU1yRnpCO0VBQWlDLGFOK1paLEVBQUE7O0FNOVpyQjtFQUFrQyxhTm9XWixFQUFBOztBTW5XdEI7RUFBcUMsYU5wRFosRUFBQTs7QU1xRHpCO0VBQStDLGFOdUlaLEVBQUE7O0FNdEluQztFQUFpQyxhTmtOWixFQUFBOztBTWpOckI7RUFBaUMsYU4wU1osRUFBQTs7QU16U3JCO0VBQWlDLGFONktaLEVBQUE7O0FNNUtyQjtFQUFnQyxhTnlJWixFQUFBOztBTXhJcEI7RUFBc0MsYU55SVosRUFBQTs7QU14STFCOztFQUNpRCxhTmlJWixFQUFBOztBTWhJckM7RUFBa0MsYU4rWVosRUFBQTs7QU05WXRCO0VBQXFDLGFOQVosRUFBQTs7QU1DekI7RUFBbUMsYU5vYVosRUFBQTs7QU1uYXZCO0VBQW9DLGFOZ0VaLEVBQUE7O0FNL0R4QjtFQUFtQyxhTjZUWixFQUFBOztBTTVUdkI7RUFBdUMsYU51Q1osRUFBQTs7QU10QzNCO0VBQXlDLGFObUNaLEVBQUE7O0FNbEM3QjtFQUFvQyxhTithWixFQUFBOztBTTlheEI7RUFBMEMsYU5rZFosRUFBQTs7QU1qZDlCO0VBQW1DLGFOMEtaLEVBQUE7O0FNekt2QjtFQUF3QyxhTjJLWixFQUFBOztBTTFLNUI7RUFBcUMsYU4zRVosRUFBQTs7QU00RXpCO0VBQXFDLGFON0VaLEVBQUE7O0FNOEV6Qjs7RUFDc0MsYU5sRVosRUFBQTs7QU1tRTFCO0VBQTJDLGFOK2tCWixFQUFBOztBTTlrQi9CO0VBQTRDLGFONEhaLEVBQUE7O0FNM0hoQztFQUF5QyxhTlRaLEVBQUE7O0FNVTdCO0VBQWdDLGFOMlFaLEVBQUE7O0FNMVFwQjs7RUFDaUMsYU42Q1osRUFBQTs7QU01Q3JCO0VBQXFDLGFOa0RaLEVBQUE7O0FNakR6QjtFQUF3QyxhTnNpQlosRUFBQTs7QU1yaUI1QjtFQUEwQyxhTm9pQlosRUFBQTs7QU1uaUI5QjtFQUFzQyxhTjJlWixFQUFBOztBTTFlMUI7RUFBb0MsYU44TlosRUFBQTs7QU03TnhCO0VBQXFDLGFOb2NaLEVBQUE7O0FNbmN6QjtFQUE0QyxhTnVSWixFQUFBOztBTXRSaEM7RUFBdUMsYU42aEJaLEVBQUE7O0FNNWhCM0I7RUFBMEMsYU5zR1osRUFBQTs7QU1yRzlCO0VBQW9DLGFOOGJaLEVBQUE7O0FNN2J4QjtFQUFtQyxhTnFqQlosRUFBQTs7QU1wakJ2QjtFQUEwQyxhTmdMWixFQUFBOztBTS9LOUI7RUFBbUMsYU51a0JaLEVBQUE7O0FNdGtCdkI7RUFBb0MsYU5xUVosRUFBQTs7QU1wUXhCO0VBQWtDLGFOaVdaLEVBQUE7O0FNaFd0QjtFQUFxQyxhTjJkWixFQUFBOztBTTFkekI7RUFBdUMsYU5qRFosRUFBQTs7QU1rRDNCO0VBQXlDLGFOK1ZaLEVBQUE7O0FNOVY3QjtFQUFvQyxhTnNqQlosRUFBQTs7QU1yakJ4Qjs7RUFDcUMsYU5nR1osRUFBQTs7QU0vRnpCO0VBQW1DLGFOb0taLEVBQUE7O0FNbkt2QjtFQUFtQyxhTjBqQlosRUFBQTs7QU16akJ2QjtFQUF3QyxhTm9DWixFQUFBOztBTW5DNUI7O0VBQ2dDLGFOK1laLEVBQUE7O0FNOVlwQjtFQUFrQyxhTm9NWixFQUFBOztBTW5NdEI7RUFBcUMsYU5yRFosRUFBQTs7QU1zRHpCO0VBQWlDLGFOaEZaLEVBQUE7O0FNaUZyQjtFQUF3QyxhTnJCWixFQUFBOztBTXNCNUI7RUFBeUMsYU5vTFosRUFBQTs7QU1uTDdCO0VBQXdDLGFOa0xaLEVBQUE7O0FNakw1QjtFQUFzQyxhTm1MWixFQUFBOztBTWxMMUI7RUFBd0MsYU4rS1osRUFBQTs7QU05SzVCO0VBQThDLGFOcklaLEVBQUE7O0FNc0lsQztFQUErQyxhTmpJWixFQUFBOztBTWtJbkM7RUFBNEMsYU5qSVosRUFBQTs7QU1rSWhDO0VBQThDLGFOeklaLEVBQUE7O0FNMElsQztFQUFrQyxhTjJKWixFQUFBOztBTTFKdEI7RUFBbUMsYU42bEJaLEVBQUE7O0FNNWxCdkI7RUFBa0MsYU5xZVosRUFBQTs7QU1wZXRCO0VBQW1DLGFOeUdaLEVBQUE7O0FNeEd2QjtFQUFzQyxhTnpFWixFQUFBOztBTTBFMUI7RUFBdUMsYU5sSVosRUFBQTs7QU1tSTNCOztFQUNrQyxhTmlqQlosRUFBQTs7QU1oakJ0Qjs7RUFDaUMsYU40T1osRUFBQTs7QU0zT3JCO0VBQWtDLGFOZFosRUFBQTs7QU1ldEI7RUFBa0MsYU4wR1osRUFBQTs7QU16R3RCOztFQUNxQyxhTjZYWixFQUFBOztBTTVYekI7O0VBQ29DLGFOMkZaLEVBQUE7O0FNMUZ4QjtFQUFzQyxhTjZTWixFQUFBOztBTTVTMUI7O0VBQ3FDLGFOcUdaLEVBQUE7O0FNcEd6QjtFQUFtQyxhTmdiWixFQUFBOztBTS9hdkI7OztFQUVpQyxhTmxJWixFQUFBOztBTW1JckI7RUFBb0MsYU5zT1osRUFBQTs7QU1yT3hCO0VBQW9DLGFOb09aLEVBQUE7O0FNbk94QjtFQUEwQyxhTitiWixFQUFBOztBTTliOUI7RUFBc0MsYU4yZ0JaLEVBQUE7O0FNMWdCMUI7RUFBa0MsYU51Y1osRUFBQTs7QU10Y3RCO0VBQWtDLGFOeU9aLEVBQUE7O0FNeE90QjtFQUFrQyxhTjZmWixFQUFBOztBTTVmdEI7RUFBc0MsYU5tVFosRUFBQTs7QU1sVDFCO0VBQTZDLGFOb1RaLEVBQUE7O0FNblRqQztFQUErQyxhTmdJWixFQUFBOztBTS9IbkM7RUFBd0MsYU40SFosRUFBQTs7QU0zSDVCO0VBQWtDLGFOcVFaLEVBQUE7O0FNcFF0QjtFQUF1QyxhTnBGWixFQUFBOztBTXFGM0I7RUFBcUMsYU45RVosRUFBQTs7QU0rRXpCO0VBQXVDLGFOckZaLEVBQUE7O0FNc0YzQjtFQUF3QyxhTnJGWixFQUFBOztBTXNGNUI7RUFBb0MsYU5oQ1osRUFBQTs7QU1pQ3hCOztFQUNpQyxhTjBZWixFQUFBOztBTXpZckI7O0VBQ3NDLGFOOFlaLEVBQUE7O0FNN1kxQjs7RUFDcUMsYU4yWVosRUFBQTs7QU0xWXpCO0VBQXFDLGFOVVosRUFBQTs7QU1UekI7RUFBcUMsYU51TVosRUFBQTs7QU10TXpCOztFQUNpQyxhTnFmWixFQUFBOztBTXBmckI7O0VBQ2tDLGFOb0ZaLEVBQUE7O0FNbkZ0Qjs7RUFDdUMsYU4rYVosRUFBQTs7QU05YTNCO0VBQXNDLGFON0NaLEVBQUE7O0FNOEMxQjtFQUF1QyxhTjFDWixFQUFBOztBTTJDM0I7O0VBQ2lDLGFOcElaLEVBQUE7O0FNcUlyQjtFQUFvQyxhTjZXWixFQUFBOztBTTVXeEI7RUFBcUMsYU55ZVosRUFBQTs7QU14ZXpCOztFQUNzQyxhTnJFWixFQUFBOztBTXNFMUI7RUFBd0MsYU5xTFosRUFBQTs7QU1wTDVCO0VBQXFDLGFOR1osRUFBQTs7QU1GekI7RUFBMkMsYU5uRVosRUFBQTs7QU1vRS9CO0VBQXlDLGFObkVaLEVBQUE7O0FNb0U3QjtFQUFvQyxhTmlmWixFQUFBOztBTWhmeEI7RUFBd0MsYU44WVosRUFBQTs7QU03WTVCO0VBQXFDLGFOeVpaLEVBQUE7O0FNeFp6QjtFQUFtQyxhTjlKWixFQUFBOztBTStKdkI7RUFBbUMsYU5sRVosRUFBQTs7QU1tRXZCO0VBQW9DLGFOMUNaLEVBQUE7O0FNMkN4QjtFQUF3QyxhTjhCWixFQUFBOztBTTdCNUI7RUFBdUMsYU4xSVosRUFBQTs7QU0ySTNCO0VBQXVDLGFOc0haLEVBQUE7O0FNckgzQjtFQUFzQyxhTnJPWixFQUFBOztBTXNPMUI7RUFBbUMsYU40TVosRUFBQTs7QU0zTXZCO0VBQXdDLGFOVVosRUFBQTs7QU1UNUI7RUFBaUMsYU4zS1osRUFBQTs7QU00S3JCO0VBQXFDLGFOdUZaLEVBQUE7O0FNdEZ6QjtFQUF3QyxhTjJRWixFQUFBOztBTTFRNUI7RUFBOEMsYU5yT1osRUFBQTs7QU1zT2xDO0VBQStDLGFOck9aLEVBQUE7O0FNc09uQztFQUE0QyxhTnJPWixFQUFBOztBTXNPaEM7RUFBOEMsYU56T1osRUFBQTs7QU0wT2xDO0VBQXVDLGFOck9aLEVBQUE7O0FNc08zQjtFQUF3QyxhTnJPWixFQUFBOztBTXNPNUI7RUFBcUMsYU5yT1osRUFBQTs7QU1zT3pCO0VBQXVDLGFOek9aLEVBQUE7O0FNME8zQjtFQUFvQyxhTnBEWixFQUFBOztBTXFEeEI7RUFBbUMsYU40SVosRUFBQTs7QU0zSXZCO0VBQW1DLGFOd1laLEVBQUE7O0FNdll2Qjs7RUFDbUMsYU51TVosRUFBQTs7QU10TXZCO0VBQXFDLGFOekdaLEVBQUE7O0FNMEd6QjtFQUF1QyxhTnlRWixFQUFBOztBTXhRM0I7RUFBd0MsYU55UVosRUFBQTs7QU14UTVCO0VBQW9DLGFOK1ZaLEVBQUE7O0FNOVZ4QjtFQUFtQyxhTjlHWixFQUFBOztBTStHdkI7O0VBQ2tDLGFOb1JaLEVBQUE7O0FNblJ0QjtFQUF1QyxhTitDWixFQUFBOztBTTlDM0I7RUFBcUMsYU5tQlosRUFBQTs7QU1sQnpCO0VBQTBDLGFOb0JaLEVBQUE7O0FNbkI5QjtFQUFvQyxhTnFVWixFQUFBOztBTXBVeEI7RUFBb0MsYU4yQlosRUFBQTs7QU0xQnhCO0VBQWtDLGFOZ0xaLEVBQUE7O0FNL0t0QjtFQUFvQyxhTjJCWixFQUFBOztBTTFCeEI7RUFBdUMsYU51SFosRUFBQTs7QU10SDNCO0VBQW1DLGFOTVosRUFBQTs7QU1MdkI7RUFBMkMsYU5JWixFQUFBOztBTUgvQjtFQUFxQyxhTjZYWixFQUFBOztBTTVYekI7RUFBaUMsYU5oSFosRUFBQTs7QU1pSHJCOztFQUNzQyxhTnVRWixFQUFBOztBTXRRMUI7OztFQUV3QyxhTnNWWixFQUFBOztBTXJWNUI7RUFBMkMsYU53SVosRUFBQTs7QU12SS9CO0VBQWlDLGFOaEdaLEVBQUE7O0FNaUdyQjtFQUFzQyxhTnZIWixFQUFBOztBTXdIMUI7O0VBQ3lDLGFOdEpaLEVBQUE7O0FNdUo3QjtFQUFxQyxhTnlPWixFQUFBOztBTXhPekI7RUFBaUMsYU4wRlosRUFBQTs7QU16RnJCO0VBQXdDLGFOMURaLEVBQUE7O0FNMkQ1QjtFQUF3QyxhTmtXWixFQUFBOztBTWpXNUI7RUFBc0MsYU40VlosRUFBQTs7QU0zVjFCO0VBQW1DLGFObEVaLEVBQUE7O0FNbUV2QjtFQUF5QyxhTmdPWixFQUFBOztBTS9ON0I7RUFBdUMsYU4ySlosRUFBQTs7QU0xSjNCO0VBQTZDLGFOMkpaLEVBQUE7O0FNMUpqQztFQUFtQyxhTnNSWixFQUFBOztBTXJSdkI7RUFBdUMsYU41TFosRUFBQTs7QU02TDNCO0VBQThDLGFOeEJaLEVBQUE7O0FNeUJsQztFQUFtQyxhTnVQWixFQUFBOztBTXRQdkI7RUFBbUMsYU42SVosRUFBQTs7QU01SXZCO0VBQWdELGFOOUpaLEVBQUE7O0FNK0pwQztFQUFpRCxhTjlKWixFQUFBOztBTStKckM7RUFBOEMsYU45SlosRUFBQTs7QU0rSmxDO0VBQWdELGFObEtaLEVBQUE7O0FNbUtwQztFQUFrQyxhTjhEWixFQUFBOztBTTdEdEI7RUFBaUMsYU5ySFosRUFBQTs7QU1zSHJCO0VBQW1DLGFOdlNaLEVBQUE7O0FNd1N2QjtFQUF1QyxhTjJaWixFQUFBOztBTTFaM0I7RUFBcUMsYU5oTlosRUFBQTs7QU1pTnpCO0VBQXVDLGFON0ZaLEVBQUE7O0FNOEYzQjtFQUF1QyxhTjdGWixFQUFBOztBTThGM0I7RUFBdUMsYU4rT1osRUFBQTs7QU05TzNCO0VBQXdDLGFOaU1aLEVBQUE7O0FNaE01QjtFQUFtQyxhTjZXWixFQUFBOztBTTVXdkI7RUFBeUMsYU4wSVosRUFBQTs7QU16STdCO0VBQTJDLGFOMElaLEVBQUE7O0FNekkvQjtFQUFxQyxhTnFGWixFQUFBOztBTXBGekI7RUFBdUMsYU5tRlosRUFBQTs7QU1sRjNCO0VBQXlDLGFObkxaLEVBQUE7O0FNb0w3QjtFQUEwQyxhTjBLWixFQUFBOztBTXpLOUI7RUFBaUQsYU5wRlosRUFBQTs7QU1xRnJDO0VBQXlDLGFOd1BaLEVBQUE7O0FNdlA3QjtFQUFvQyxhTmpKWixFQUFBOztBTWtKeEI7O0VBQ2dELGFOL01aLEVBQUE7O0FNZ05wQzs7RUFDOEMsYU45TVosRUFBQTs7QU0rTWxDOztFQUNpRCxhTmpOWixFQUFBOztBTWtOckM7O0VBQ2dDLGFOdkdaLEVBQUE7O0FNd0dwQjtFQUFnQyxhTmhDWixFQUFBOztBTWlDcEI7O0VBQ2dDLGFOcVlaLEVBQUE7O0FNcFlwQjs7RUFDZ0MsYU40Q1osRUFBQTs7QU0zQ3BCOzs7O0VBR2dDLGFOZ0RaLEVBQUE7O0FNL0NwQjs7O0VBRWdDLGFOaU5aLEVBQUE7O0FNaE5wQjs7RUFDZ0MsYU4rQ1osRUFBQTs7QU05Q3BCOztFQUNnQyxhTjNQWixFQUFBOztBTTRQcEI7RUFBaUMsYU5oR1osRUFBQTs7QU1pR3JCO0VBQXNDLGFOcEZaLEVBQUE7O0FNcUYxQjtFQUEyQyxhTjBQWixFQUFBOztBTXpQL0I7RUFBNEMsYU4wUFosRUFBQTs7QU16UGhDO0VBQTRDLGFOMFBaLEVBQUE7O0FNelBoQztFQUE2QyxhTjBQWixFQUFBOztBTXpQakM7RUFBNkMsYU42UFosRUFBQTs7QU01UGpDO0VBQThDLGFONlBaLEVBQUE7O0FNNVBsQztFQUFzQyxhTmtVWixFQUFBOztBTWpVMUI7RUFBd0MsYU44VFosRUFBQTs7QU03VDVCO0VBQTJDLGFOeWFaLEVBQUE7O0FNeGEvQjtFQUFvQyxhTnNhWixFQUFBOztBTXJheEI7RUFBaUMsYU4yWlosRUFBQTs7QU0xWnJCO0VBQXdDLGFOMlpaLEVBQUE7O0FNMVo1QjtFQUF5QyxhTm9hWixFQUFBOztBTW5hN0I7RUFBb0MsYU54SlosRUFBQTs7QU15SnhCO0VBQTJDLGFOOFBaLEVBQUE7O0FNN1AvQjtFQUFzQyxhTmdCWixFQUFBOztBTWYxQjtFQUFtQyxhTnBGWixFQUFBOztBTXFGdkI7RUFBZ0MsYU4zV1osRUFBQTs7QU00V3BCO0VBQXNDLGFOL1JaLEVBQUE7O0FNZ1MxQjtFQUE2QyxhTi9SWixFQUFBOztBTWdTakM7RUFBbUMsYU4rVVosRUFBQTs7QU05VXZCO0VBQTBDLGFOK1VaLEVBQUE7O0FNOVU5QjtFQUE0QyxhTmdEWixFQUFBOztBTS9DaEM7RUFBMEMsYU5rRFosRUFBQTs7QU1qRDlCO0VBQTRDLGFOK0NaLEVBQUE7O0FNOUNoQztFQUE2QyxhTitDWixFQUFBOztBTTlDakM7RUFBa0MsYU5qV1osRUFBQTs7QU1rV3RCO0VBQW9DLGFObVlaLEVBQUE7O0FNbFl4QjtFQUFvQyxhTjdXWixFQUFBOztBTThXeEI7RUFBa0MsYU5rQ1osRUFBQTs7QU1qQ3RCO0VBQXFDLGFONUtaLEVBQUE7O0FNNkt6QjtFQUFrQyxhTmdOWixFQUFBOztBTS9NdEI7RUFBdUMsYU54RlosRUFBQTs7QU15RjNCO0VBQW1DLGFONFRaLEVBQUE7O0FNM1R2QjtFQUFtQyxhTnRJWixFQUFBOztBTXVJdkI7RUFBaUMsYU42Q1osRUFBQTs7QU01Q3JCOztFQUNxQyxhTjVEWixFQUFBOztBTTZEekI7RUFBa0MsYU44UFosRUFBQTs7QU03UHRCO0VBQW1DLGFOdUVaLEVBQUE7O0FNdEV2QjtFQUFvQyxhTjlXWixFQUFBOztBTStXeEI7RUFBZ0MsYU50U1osRUFBQTs7QU11U3BCO0VBQStCLGFOaVdaLEVBQUE7O0FNaFduQjtFQUFrQyxhTnVXWixFQUFBOztBTXRXdEI7RUFBbUMsYU4rSVosRUFBQTs7QU05SXZCO0VBQXNDLGFOa0ZaLEVBQUE7O0FNakYxQjtFQUEyQyxhTjZOWixFQUFBOztBTTVOL0I7RUFBaUQsYU4vV1osRUFBQTs7QU1nWHJDO0VBQWdELGFOalhaLEVBQUE7O0FNa1hwQzs7RUFDZ0QsYU56UlosRUFBQTs7QU0wUnBDO0VBQXlDLGFObk1aLEVBQUE7O0FNb003QjtFQUF1QyxhTmlXWixFQUFBOztBTWhXM0I7RUFBeUMsYU5vVlosRUFBQTs7QU1uVjdCOztFQUNnQyxhTjBTWixFQUFBOztBTXpTcEI7RUFBMEMsYU4wR1osRUFBQTs7QU16RzlCO0VBQTBDLGFONE1aLEVBQUE7O0FNM005QjtFQUFrQyxhTnNMWixFQUFBOztBTXJMdEI7RUFBNEMsYU56TFosRUFBQTs7QU0wTGhDO0VBQXNDLGFOb1daLEVBQUE7O0FNblcxQjtFQUFtQyxhTjhEWixFQUFBOztBTTdEdkI7OztFQUV1QyxhTjhTWixFQUFBOztBTTdTM0I7O0VBQzJDLGFOMUZaLEVBQUE7O0FNMkYvQjtFQUFrQyxhTnNXWixFQUFBOztBTXJXdEI7RUFBbUMsYU5sR1osRUFBQTs7QU1tR3ZCO0VBQW1DLGFOZ0haLEVBQUE7O0FNL0d2QjtFQUEwQyxhTmlIWixFQUFBOztBTWhIOUI7RUFBK0MsYU55TlosRUFBQTs7QU14Tm5DO0VBQXdDLGFOdU5aLEVBQUE7O0FNdE41QjtFQUFzQyxhTi9OWixFQUFBOztBTWdPMUI7RUFBaUMsYU41TlosRUFBQTs7QU02TnJCO0VBQTBDLGFOMkVaLEVBQUE7O0FNMUU5QjtFQUEyQyxhTnlFWixFQUFBOztBTXhFL0I7RUFBbUMsYU52TlosRUFBQTs7QU13TnZCO0VBQW1DLGFOekNaLEVBQUE7O0FNMEN2QjtFQUFxQyxhTnBDWixFQUFBOztBTXFDekI7RUFBZ0MsYU50TFosRUFBQTs7QU11THBCO0VBQXFDLGFON1VaLEVBQUE7O0FNOFV6QjtFQUFrQyxhTjFSWixFQUFBOztBTTJSdEI7RUFBZ0MsYU5zRFosRUFBQTs7QU1yRHBCO0VBQWtDLGFObUxaLEVBQUE7O0FNbEx0QjtFQUFpQyxhTnJQWixFQUFBOztBTXNQckI7RUFBa0MsYU5yUFosRUFBQTs7QU1zUHRCO0VBQW9DLGFON1daLEVBQUE7O0FNOFd4QjtFQUEyQyxhTjdXWixFQUFBOztBTThXL0I7RUFBa0MsYU4wTFosRUFBQTs7QU16THRCO0VBQXlDLGFOMExaLEVBQUE7O0FNekw3QjtFQUFvQyxhTnlGWixFQUFBOztBTXhGeEI7O0VBQ2dDLGFOelVaLEVBQUE7O0FNMFVwQjs7RUFDaUMsYU4rTVosRUFBQTs7QU05TXJCO0VBQWlDLGFONFBaLEVBQUE7O0FNM1ByQjtFQUFvQyxhTnVLWixFQUFBOztBTXRLeEI7RUFBdUMsYU50UFosRUFBQTs7QU11UDNCO0VBQXVDLGFOaUtaLEVBQUE7O0FNaEszQjtFQUFxQyxhTjlQWixFQUFBOztBTStQekI7RUFBdUMsYU4vTFosRUFBQTs7QU1nTTNCO0VBQXdDLGFOeExaLEVBQUE7O0FNeUw1QjtFQUF5QyxhTnJNWixFQUFBOztBTXNNN0I7RUFBOEMsYU4vTFosRUFBQTs7QU1nTWxDOzs7RUFFeUMsYU54TVosRUFBQTs7QU15TTdCOztFQUMyQyxhTjlNWixFQUFBOztBTStNL0I7O0VBQ3lDLGFOL01aLEVBQUE7O0FNZ043Qjs7RUFDeUMsYU5wTVosRUFBQTs7QU1xTTdCO0VBQXdDLGFOak5aLEVBQUE7O0FNa041QjtFQUFpQyxhTnVSWixFQUFBOztBTXRSckI7RUFBb0MsYU41U1osRUFBQTs7QU02U3hCO0VBQXFDLGFOOUVaLEVBQUE7O0FNK0V6Qjs7Ozs7RUFJc0MsYU5uRVosRUFBQTs7QU1vRTFCO0VBQTJDLGFOL1RaLEVBQUE7O0FNZ1UvQjs7O0VBRWtDLGFOcURaLEVBQUE7O0FNcER0Qjs7RUFDbUMsYU5uUVosRUFBQTs7QU1vUXZCO0VBQXVDLGFOektaLEVBQUE7O0FNMEszQjtFQUFnQyxhTjNLWixFQUFBOztBTTRLcEI7OztFQUV3QyxhTnhKWixFQUFBOztBTXlKNUI7RUFBMEMsYU4yS1osRUFBQTs7QU0xSzlCO0VBQStCLGFOaUNaLEVBQUE7O0FNaENuQjs7RUFDbUMsYU4wUVosRUFBQTs7QU16UXZCOztFQUN3QyxhTlZaLEVBQUE7O0FNVzVCOztFQUMwQyxhTlhaLEVBQUE7O0FNWTlCO0VBQW9DLGFOMUlaLEVBQUE7O0FNMkl4QjtFQUF3QyxhTmxWWixFQUFBOztBTW1WNUI7RUFBbUMsYU5qSlosRUFBQTs7QU1rSnZCO0VBQXNDLGFOYlosRUFBQTs7QU1jMUI7RUFBb0MsYU4rRlosRUFBQTs7QU05RnhCO0VBQXNDLGFOdUVaLEVBQUE7O0FNdEUxQjtFQUE2QyxhTnVFWixFQUFBOztBTXRFakM7RUFBaUMsYU56WlosRUFBQTs7QU0wWnJCOztFQUNxQyxhTjVNWixFQUFBOztBTTZNekI7RUFBZ0MsYU4wTVosRUFBQTs7QU16TXBCO0VBQXVDLGFOeGFaLEVBQUE7O0FNeWEzQjtFQUFpQyxhTklaLEVBQUE7O0FNSHJCO0VBQXVDLGFOdUZaLEVBQUE7O0FNdEYzQjtFQUFtQyxhTjJNWixFQUFBOztBTTFNdkI7RUFBaUMsYU4rUVosRUFBQTs7QU05UXJCO0VBQXdDLGFOekNaLEVBQUE7O0FNMEM1QjtFQUFpQyxhTndQWixFQUFBOztBTXZQckI7RUFBdUMsYU5yWlosRUFBQTs7QU1zWjNCO0VBQW1DLGFOdkJaLEVBQUE7O0FNd0J2QjtFQUEwQyxhTjNMWixFQUFBOztBTTRMOUI7RUFBb0MsYU41WFosRUFBQTs7QU02WHhCO0VBQTBDLGFOaFlaLEVBQUE7O0FNaVk5QjtFQUF3QyxhTm5ZWixFQUFBOztBTW9ZNUI7RUFBb0MsYU50WVosRUFBQTs7QU11WXhCO0VBQXNDLGFObFlaLEVBQUE7O0FNbVkxQjtFQUFzQyxhTmxZWixFQUFBOztBTW1ZMUI7RUFBdUMsYU4zYlosRUFBQTs7QU00YjNCO0VBQXlDLGFOM2JaLEVBQUE7O0FNNGI3QjtFQUFrQyxhTitLWixFQUFBOztBTTlLdEI7RUFBc0MsYU5uVlosRUFBQTs7QU1vVjFCO0VBQStCLGFOOWRaLEVBQUE7O0FNK2RuQjtFQUF1QyxhTjVSWixFQUFBOztBTTZSM0I7RUFBd0MsYU4vQ1osRUFBQTs7QU1nRDVCO0VBQTBDLGFOOWJaLEVBQUE7O0FNK2I5QjtFQUF1QyxhTnRmWixFQUFBOztBTXVmM0I7RUFBc0MsYU4vQlosRUFBQTs7QU1nQzFCO0VBQXVDLGFOekhaLEVBQUE7O0FNMEgzQjtFQUFtQyxhTnZJWixFQUFBOztBTXdJdkI7RUFBMEMsYU52SVosRUFBQTs7QU13STlCO0VBQXVDLGFONEpaLEVBQUE7O0FNM0ozQjtFQUFzQyxhTjRKWixFQUFBOztBTTNKMUI7RUFBb0MsYU54Y1osRUFBQTs7QU15Y3hCO0VBQWdDLGFOamJaLEVBQUE7O0FNa2JwQjtFQUFvQyxhTnZKWixFQUFBOztBTXdKeEI7RUFBc0MsYU4zZ0JaLEVBQUE7O0FNNGdCMUI7RUFBK0IsYU43WlosRUFBQTs7QU04Wm5COzs7RUFFZ0MsYU56S1osRUFBQTs7QU0wS3BCO0VBQXFDLGFOcEdaLEVBQUE7O0FNcUd6QjtFQUF1QyxhTnhiWixFQUFBOztBTXliM0I7RUFBMkMsYU41V1osRUFBQTs7QU02Vy9CO0VBQXFDLGFOOVZaLEVBQUE7O0FNK1Z6QjtFQUFxQyxhTjlQWixFQUFBOztBTStQekI7RUFBb0MsYU5ySlosRUFBQTs7QU1zSnhCO0VBQW1DLGFOZVosRUFBQTs7QU1kdkI7RUFBeUMsYU4yQlosRUFBQTs7QU0xQjdCO0VBQXdDLGFOb0NaLEVBQUE7O0FNbkM1QjtFQUFxQyxhTnFDWixFQUFBOztBTXBDekI7RUFBc0MsYU41YVosRUFBQTs7QU02YTFCO0VBQTRDLGFOOWFaLEVBQUE7O0FNK2FoQztFQUFvQyxhTi9WWixFQUFBOztBTWdXeEI7RUFBaUMsYU5vQlosRUFBQTs7QU1uQnJCO0VBQXdDLGFOOEtaLEVBQUE7O0FNN0s1QjtFQUF1QyxhTi9GWixFQUFBOztBTWdHM0I7RUFBd0MsYU42RVosRUFBQTs7QU01RTVCO0VBQXNDLGFOOU1aLEVBQUE7O0FNK00xQjtFQUFrQyxhTitLWixFQUFBOztBTTlLdEI7RUFBaUMsYU43SFosRUFBQTs7QU04SHJCO0VBQW9DLGFObkhaLEVBQUE7O0FNb0h4Qjs7RUFDd0MsYU5rSVosRUFBQTs7QU1qSTVCO0VBQTRDLGFOa0laLEVBQUE7O0FNakloQztFQUF5QyxhTjBLWixFQUFBOztBTXpLN0I7RUFBd0MsYU5sSVosRUFBQTs7QU1tSTVCO0VBQXVDLGFOeUtaLEVBQUE7O0FNeEszQjtFQUF3QyxhTm5JWixFQUFBOztBTW9JNUI7RUFBMEMsYU5sSVosRUFBQTs7QU1tSTlCO0VBQTBDLGFOcElaLEVBQUE7O0FNcUk5QjtFQUFtQyxhTjFHWixFQUFBOztBTTJHdkI7RUFBdUMsYU43UVosRUFBQTs7QU04UTNCO0VBQThDLGFOMVVaLEVBQUE7O0FNMlVsQztFQUF3QyxhTnpFWixFQUFBOztBTTBFNUI7RUFBcUMsYU5rTFosRUFBQTs7QU1qTHpCO0VBQW1DLGFOWFosRUFBQTs7QU1ZdkI7RUFBc0MsYU51SlosRUFBQTs7QU10SjFCO0VBQXVDLGFOd0paLEVBQUE7O0FNdkozQjs7RUFDZ0MsYU4vZlosRUFBQTs7QU1nZ0JwQjtFQUFvQyxhTjRKWixFQUFBOztBTTNKeEI7RUFBa0MsYU44R1osRUFBQTs7QU03R3RCO0VBQW1DLGFOd0RaLEVBQUE7O0FNdkR2QjtFQUFtQyxhTjlJWixFQUFBOztBTStJdkI7O0VBQ3lDLGFOMExaLEVBQUE7O0FNekw3QjtFQUEwQyxhTmpIWixFQUFBOztBTWtIOUI7RUFBcUMsYU5ySFosRUFBQTs7QU1zSHpCO0VBQXlDLGFObldaLEVBQUE7O0FNb1c3Qjs7O0VBRXlDLGFOL2dCWixFQUFBOztBTWdoQjdCOztFQUNtRCxhTjlnQlosRUFBQTs7QU0rZ0J2Qzs7RUFDeUMsYU5saEJaLEVBQUE7O0FNbWhCN0I7O0VBQzRDLGFObmhCWixFQUFBOztBTW9oQmhDOztFQUMwQyxhTnhoQlosRUFBQTs7QU15aEI5QjtFQUEwQyxhTjNJWixFQUFBOztBTTRJOUI7RUFBcUMsYU4zT1osRUFBQTs7QU00T3pCO0VBQXlDLGFOeElaLEVBQUE7O0FNeUk3QjtFQUEyQyxhTnhJWixFQUFBOztBTXlJL0I7RUFBd0MsYU53QlosRUFBQTs7QU12QjVCO0VBQTBDLGFOd0JaLEVBQUE7O0FNdkI5QjtFQUFtQyxhTi9kWixFQUFBOztBTWdldkI7RUFBMkMsYU5sZVosRUFBQTs7QU1tZS9CO0VBQWtDLGFOcGNaLEVBQUE7O0FNcWN0QjtFQUEwQyxhTmxqQlosRUFBQTs7QU1takI5QjtFQUF3QyxhTnhQWixFQUFBOztBTXlQNUI7O0VBQzRDLGFOelBaLEVBQUE7O0FNMFBoQzs7RUFDMkMsYU43UFosRUFBQTs7QU04UC9COztFQUMwQyxhTmhRWixFQUFBOztBTWlROUI7RUFBc0MsYU5yUVosRUFBQTs7QU1zUTFCOztFQUN3QyxhTnhSWixFQUFBOztBTXlSNUI7O0VBQ3lDLGFON1JaLEVBQUE7O0FNOFI3QjtFQUE0QyxhTjFSWixFQUFBOztBTTJSaEM7RUFBMEMsYU5wU1osRUFBQTs7QU1xUzlCO0VBQXlDLGFOM1JaLEVBQUE7O0FNNFI3QjtFQUEyQyxhTi9SWixFQUFBOztBTWdTL0I7RUFBeUMsYU5qU1osRUFBQTs7QU1rUzdCO0VBQXNDLGFOK0RaLEVBQUE7O0FNOUQxQjtFQUF1QyxhTi9GWixFQUFBOztBTWdHM0I7RUFBNkMsYU4vYlosRUFBQTs7QU1nY2pDO0VBQStCLGFOdFVaLEVBQUE7O0FNdVVuQjtFQUFzQyxhTnRVWixFQUFBOztBTXVVMUI7RUFBd0MsYU5rRVosRUFBQTs7QU1qRTVCO0VBQTBDLGFOcktaLEVBQUE7O0FNc0s5QjtFQUFpRCxhTnJLWixFQUFBOztBTXNLckM7RUFBdUMsYU41VVosRUFBQTs7QU02VTNCO0VBQXdDLGFOd0haLEVBQUE7O0FNdkg1QjtFQUFtQyxhTm5GWixFQUFBOztBTW9GdkI7RUFBbUMsYU56ZVosRUFBQTs7QU0wZXZCO0VBQW9DLGFOOVdaLEVBQUE7O0FNK1d4QjtFQUFrQyxhTnhLWixFQUFBOztBTXlLdEI7RUFBOEMsYU5wUVosRUFBQTs7QU1xUWxDOztFQUN1QyxhTlNaLEVBQUE7O0FNUjNCO0VBQW1DLGFOamRaLEVBQUE7O0FNa2R2QjtFQUFrQyxhTnpvQlosRUFBQTs7QU0wb0J0QjtFQUFtQyxhTi9uQlosRUFBQTs7QU1nb0J2QjtFQUE0QyxhTjNoQlosRUFBQTs7QU00aEJoQztFQUE2QyxhTjloQlosRUFBQTs7QU0raEJqQztFQUE2QyxhTjVoQlosRUFBQTs7QU02aEJqQztFQUE2QyxhTmppQlosRUFBQTs7QU1raUJqQztFQUFxQyxhTnBSWixFQUFBOztBTXFSekI7RUFBb0MsYU41TlosRUFBQTs7QU02TnhCO0VBQXNDLGFONU5aLEVBQUE7O0FNNk4xQjtFQUFrQyxhTi9OWixFQUFBOztBTWdPdEI7RUFBZ0MsYU5sT1osRUFBQTs7QU1tT3BCO0VBQXVDLGFOcGVaLEVBQUE7O0FNcWUzQjtFQUF5QyxhTnBlWixFQUFBOztBTXFlN0I7RUFBa0MsYU50U1osRUFBQTs7QU11U3RCO0VBQWtDLGFOaUZaLEVBQUE7O0FNaEZ0QjtFQUFzQyxhTmxrQlosRUFBQTs7QU1ta0IxQjtFQUFzQyxhTnJYWixFQUFBOztBTXNYMUI7RUFBeUMsYU5wSVosRUFBQTs7QU1xSTdCO0VBQWlDLGFOcGNaLEVBQUE7O0FNcWNyQjtFQUE0QyxhTmhlWixFQUFBOztBTWllaEM7RUFBcUMsYU5wZlosRUFBQTs7QU1xZnpCO0VBQWlDLGFObE5aLEVBQUE7O0FNbU5yQjtFQUF5QyxhTjFYWixFQUFBOztBTTJYN0I7RUFBZ0MsYU5vRFosRUFBQTs7QU1uRHBCO0VBQXlDLGFOM0paLEVBQUE7O0FNNEo3QjtFQUFxQyxhTnpOWixFQUFBOztBTTBOekI7RUFBbUMsYU5sSFosRUFBQTs7QU1tSHZCO0VBQXlDLGFON0xaLEVBQUE7O0FNOEw3QjtFQUEyQyxhTjdMWixFQUFBOztBTThML0I7RUFBd0MsYU4zQ1osRUFBQTs7QU00QzVCO0VBQTBDLGFOM0NaLEVBQUE7O0FNNEM5QjtFQUF5QyxhTnJHWixFQUFBOztBTXNHN0I7RUFBNEMsYU5yR1osRUFBQTs7QU1zR2hDO0VBQW9DLGFON1VaLEVBQUE7O0FNOFV4QjtFQUFzQyxhTm5sQlosRUFBQTs7QU1vbEIxQjtFQUF3QyxhTm5sQlosRUFBQTs7QU1vbEI1QjtFQUFvQyxhTi9MWixFQUFBOztBTWdNeEI7RUFBbUMsYU5sWFosRUFBQTs7QU1tWHZCO0VBQXVDLGFOa0ZaLEVBQUE7O0FNakYzQjtFQUFvQyxhTm1GWixFQUFBOztBTWxGeEI7RUFBbUMsYU45Y1osRUFBQTs7QU0rY3ZCO0VBQTZDLGFOMkJaLEVBQUE7O0FNMUJqQztFQUEyQyxhTm1FWixFQUFBOztBTWxFL0I7RUFBOEMsYU54S1osRUFBQTs7QU15S2xDO0VBQWtDLGFOOWxCWixFQUFBOztBTStsQnRCO0VBQThDLGFOdG9CWixFQUFBOztBTXVvQmxDO0VBQWlELGFOcURaLEVBQUE7O0FNcERyQztFQUFvQyxhTnhsQlosRUFBQTs7QU15bEJ4QjtFQUF3RCxhTjVvQlosRUFBQTs7QU02b0I1Qzs7RUFDZ0UsYU45cUJaLEVBQUE7O0FNK3FCcEQ7OztFQUVpQyxhTnZmWixFQUFBOztBTXdmckI7RUFBa0MsYU5oWVosRUFBQTs7QU1pWXRCO0VBQW9DLGFOaFlaLEVBQUE7O0FNaVl4Qjs7RUFDMEMsYU4xSFosRUFBQTs7QU0ySDlCO0VBQXVDLGFOelJaLEVBQUE7O0FNMFIzQjtFQUFtQyxhTmlDWixFQUFBOztBTWhDdkI7RUFBMEMsYU5pQ1osRUFBQTs7QU1oQzlCO0VBQXFDLGFObEhaLEVBQUE7O0FNbUh6QjtFQUEyQyxhTmxIWixFQUFBOztBTW1IL0I7RUFBNEMsYU5sSFosRUFBQTs7QU1tSGhDO0VBQXVDLGFOck5aLEVBQUE7O0FNc04zQjtFQUF3QyxhTnBiWixFQUFBOztBTXFiNUI7RUFBa0MsYU5tRVosRUFBQTs7QU1sRXRCO0VBQXNDLGFOcERaLEVBQUE7O0FNcUQxQjs7RUFDaUQsYU56WVosRUFBQTs7QU0wWXJDOztFQUN5QyxhTjdhWixFQUFBOztBTThhN0I7RUFBd0MsYU50WFosRUFBQTs7QU11WDVCO0VBQTBDLGFObGZaLEVBQUE7O0FNbWY5QjtFQUE0QyxhTmxmWixFQUFBOztBTW1maEM7RUFBbUMsYU50VFosRUFBQTs7QU11VHZCO0VBQXlDLGFOcHRCWixFQUFBOztBTXF0QjdCO0VBQTJDLGFOcHRCWixFQUFBOztBTXF0Qi9COztFQUN5QyxhTnJ0QlosRUFBQTs7QU1zdEI3Qjs7RUFDMkMsYU50dEJaLEVBQUE7O0FNdXRCL0I7RUFBd0MsYU5KWixFQUFBOztBTUs1QjtFQUEwQyxhTkpaLEVBQUE7O0FNSzlCO0VBQW1DLGFOSFosRUFBQTs7QU1JdkI7RUFBcUMsYU4zV1osRUFBQTs7QU00V3pCOztFQUNvQyxhTjVXWixFQUFBOztBTTZXeEI7O0VBQ3NDLGFON1daLEVBQUE7O0FNOFcxQjtFQUFrQyxhTnROWixFQUFBOztBTXVOdEI7RUFBMkMsYU4zYlosRUFBQTs7QU00Yi9CO0VBQXFDLGFOdEZaLEVBQUE7O0FNdUZ6Qjs7O0VBRTZDLGFOeEVaLEVBQUE7O0FNeUVqQzs7RUFDdUQsYU52RVosRUFBQTs7QU13RTNDOztFQUM2QyxhTjNFWixFQUFBOztBTTRFakM7O0VBQ2dELGFONUVaLEVBQUE7O0FNNkVwQzs7RUFDOEMsYU5qRlosRUFBQTs7QU1rRmxDO0VBQW1DLGFOM0taLEVBQUE7O0FNNEt2Qjs7O0VBRWlDLGFOenJCWixFQUFBOztBTTByQnJCO0VBQW9DLGFObFBaLEVBQUE7O0FNbVB4QjtFQUE0QyxhTktaLEVBQUE7O0FNSmhDO0VBQTRDLGFOS1osRUFBQTs7QU1KaEM7RUFBMkMsYU5LWixFQUFBOztBTUovQjs7RUFDeUMsYU5EWixFQUFBOztBTUU3Qjs7RUFDMkMsYU5GWixFQUFBOztBTUcvQjtFQUFxQyxhTnhzQlosRUFBQTs7QU15c0J6QjtFQUFpQyxhTnBiWixFQUFBOztBTXFickI7RUFBaUMsYU4xaEJaLEVBQUE7O0FNMmhCckI7RUFBaUMsYU54WVosRUFBQTs7QU15WXJCO0VBQW9DLGFOL09aLEVBQUE7O0FNZ1B4QjtFQUFvQyxhTnppQlosRUFBQTs7QU0waUJ4QjtFQUFzQyxhTmpVWixFQUFBOztBTWtVMUI7RUFBd0MsYU43S1osRUFBQTs7QU04SzVCO0VBQXdDLGFOaElaLEVBQUE7O0FNaUk1QjtFQUF1QyxhTkpaLEVBQUE7O0FNSzNCO0VBQW1DLGFOeFVaLEVBQUE7O0FPemN2QjtFSDhCRSxtQkFBa0I7RUFDbEIsV0FBVTtFQUNWLFlBQVc7RUFDWCxXQUFVO0VBQ1YsYUFBWTtFQUNaLGlCQUFnQjtFQUNoQix1QkFBbUI7RUFDbkIsVUFBUyxFR3JDc0I7O0FIK0MvQjtFQUVFLGlCQUFnQjtFQUNoQixZQUFXO0VBQ1gsYUFBWTtFQUNaLFVBQVM7RUFDVCxrQkFBaUI7RUFDakIsV0FBVSxFQUNYOztBSTFESCxZQUFZO0FBRVo7RUFDSSxtQkFBa0I7RUFDbEIsZUFBYztFQUNkLHVCQUFzQjtFQUN0Qiw0QkFBMkI7RUFDM0IsMEJBQXlCO0VBRXpCLHVCQUFzQjtFQUN0QixzQkFBcUI7RUFDckIsa0JBQWlCO0VBQ2pCLHdCQUF1QjtFQUN2QixvQkFBbUI7RUFDbkIseUNBQXdDLEVBQzNDOztBQUNEO0VBQ0ksbUJBQWtCO0VBQ2xCLGlCQUFnQjtFQUNoQixlQUFjO0VBQ2QsVUFBUztFQUNULFdBQVUsRUFVYjtFQWZEO0lBUVEsY0FBYSxFQUNoQjtFQVRMO0lBWVEsZ0JBQWU7SUFDZixhQUFZLEVBQ2Y7O0FBRUw7O0VBTUksZ0NBQStCLEVBQ2xDOztBQUVEO0VBQ0ksbUJBQWtCO0VBQ2xCLFFBQU87RUFDUCxPQUFNO0VBQ04sZUFBYztFQUNkLGtCQUFpQjtFQUNqQixtQkFBa0IsRUFlckI7RUFyQkQ7SUFVUSxZQUFXO0lBQ1gsZUFBYyxFQUNqQjtFQVpMO0lBZVEsWUFBVyxFQUNkO0VBRUQ7SUFDSSxtQkFBa0IsRUFDckI7O0FBRUw7RUFDSSxZQUFXO0VBQ1gsYUFBWTtFQUNaLGdCQUFlO0VBV2YsY0FBYSxFQW1CaEI7RWhKOGxjQztJZ0oxbmNNLGFBQVksRUFDZjtFQU5MO0lBUVEsZUFBYyxFQUNqQjtFQVRMO0lBV1EsY0FBYSxFQUNoQjtFQVpMO0lBaUJRLHFCQUFvQixFQUN2QjtFQUVEO0lBQ0ksZUFBYyxFQUNqQjtFQUVEO0lBQ0ksbUJBQWtCLEVBQ3JCO0VBRUQ7SUFDSSxlQUFjO0lBQ2QsYUFBWTtJQUNaLDhCQUE2QixFQUNoQzs7QUFFTDtFQUNJLGNBQWEsRUFDaEIiLCJmaWxlIjoiYXBwLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuICogVmVyc2lvbiA2LjUuMVxuICogZm91bmRhdGlvbi56dXJiLmNvbVxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5yZXZlYWwsIC5yZXZlYWwudGlueSwgLnJldmVhbC5zbWFsbCwgLnJldmVhbC5sYXJnZSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG5cbi8qISBub3JtYWxpemUuY3NzIHY4LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyB9XG5cbmJvZHkge1xuICBtYXJnaW46IDA7IH1cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07IH1cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgfVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07IH1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7IH1cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIG1hcmdpbjogMDsgfVxuXG5idXR0b24sXG5pbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IH1cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7IH1cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07IH1cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IH1cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDA7IH1cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgfVxuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIGZvbnQ6IGluaGVyaXQ7IH1cblxuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IH1cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZm91bmRhdGlvbi1tcSB7XG4gIGZvbnQtZmFtaWx5OiBcInNtYWxsPTBlbSZwaG9uZS1zbWFsbD0yMy40Mzc1ZW0mcGhvbmUtbWVkaXVtPTI1Ljg3NWVtJnBob25lLWhvcml6LXRpbnk9MzUuNWVtJm1lZGl1bT00MGVtJnRhYmxldC12ZXJ0PTQ4ZW0mY3VzdG9tLXRhYmxldD01Ny41ZW0mbGFyZ2U9NjRlbSZ4bGFyZ2U9NzVlbSZ4bGFyZ2UyPTgxLjI1ZW0meHhsYXJnZT05MGVtXCI7IH1cblxuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQtc2l6ZTogMTZweDsgfVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBTU20gQVwiLCBcIkdvdGhhbSBTU20gQlwiO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzBhMGEwYTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYzsgfVxuXG50ZXh0YXJlYSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogNTBweDtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG5zZWxlY3Qge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4ubWFwX2NhbnZhcyBpbWcsXG4ubWFwX2NhbnZhcyBlbWJlZCxcbi5tYXBfY2FudmFzIG9iamVjdCxcbi5tcWEtZGlzcGxheSBpbWcsXG4ubXFhLWRpc3BsYXkgZW1iZWQsXG4ubXFhLWRpc3BsYXkgb2JqZWN0IHtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7IH1cblxuYnV0dG9uIHtcbiAgcGFkZGluZzogMDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogYXV0bzsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyB9XG5cbi5pcy12aXNpYmxlIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuXG4uaXMtaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5ncmlkLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBtYXgtd2lkdGg6IDc2LjI1cmVtO1xuICBtYXJnaW46IDAgYXV0bzsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5ncmlkLWNvbnRhaW5lci5mbHVpZCB7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmdyaWQtY29udGFpbmVyLmZsdWlkIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5ncmlkLWNvbnRhaW5lci5mdWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cblxuLmdyaWQteCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cblxuLmNlbGwge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWluLWhlaWdodDogMHB4O1xuICBtaW4td2lkdGg6IDBweDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmNlbGwuYXV0byB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuICAuY2VsbC5zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvOyB9XG5cbi5ncmlkLXggPiAuYXV0byB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5ncmlkLXggPiAuc2hyaW5rIHtcbiAgd2lkdGg6IGF1dG87IH1cblxuLmdyaWQteCA+IC5zbWFsbC1zaHJpbmssIC5ncmlkLXggPiAuc21hbGwtZnVsbCwgLmdyaWQteCA+IC5zbWFsbC0xLCAuZ3JpZC14ID4gLnNtYWxsLTIsIC5ncmlkLXggPiAuc21hbGwtMywgLmdyaWQteCA+IC5zbWFsbC00LCAuZ3JpZC14ID4gLnNtYWxsLTUsIC5ncmlkLXggPiAuc21hbGwtNiwgLmdyaWQteCA+IC5zbWFsbC03LCAuZ3JpZC14ID4gLnNtYWxsLTgsIC5ncmlkLXggPiAuc21hbGwtOSwgLmdyaWQteCA+IC5zbWFsbC0xMCwgLmdyaWQteCA+IC5zbWFsbC0xMSwgLmdyaWQteCA+IC5zbWFsbC0xMiB7XG4gIGZsZXgtYmFzaXM6IGF1dG87IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQteCA+IC5tZWRpdW0tc2hyaW5rLCAuZ3JpZC14ID4gLm1lZGl1bS1mdWxsLCAuZ3JpZC14ID4gLm1lZGl1bS0xLCAuZ3JpZC14ID4gLm1lZGl1bS0yLCAuZ3JpZC14ID4gLm1lZGl1bS0zLCAuZ3JpZC14ID4gLm1lZGl1bS00LCAuZ3JpZC14ID4gLm1lZGl1bS01LCAuZ3JpZC14ID4gLm1lZGl1bS02LCAuZ3JpZC14ID4gLm1lZGl1bS03LCAuZ3JpZC14ID4gLm1lZGl1bS04LCAuZ3JpZC14ID4gLm1lZGl1bS05LCAuZ3JpZC14ID4gLm1lZGl1bS0xMCwgLmdyaWQteCA+IC5tZWRpdW0tMTEsIC5ncmlkLXggPiAubWVkaXVtLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQteCA+IC5sYXJnZS1zaHJpbmssIC5ncmlkLXggPiAubGFyZ2UtZnVsbCwgLmdyaWQteCA+IC5sYXJnZS0xLCAuZ3JpZC14ID4gLmxhcmdlLTIsIC5ncmlkLXggPiAubGFyZ2UtMywgLmdyaWQteCA+IC5sYXJnZS00LCAuZ3JpZC14ID4gLmxhcmdlLTUsIC5ncmlkLXggPiAubGFyZ2UtNiwgLmdyaWQteCA+IC5sYXJnZS03LCAuZ3JpZC14ID4gLmxhcmdlLTgsIC5ncmlkLXggPiAubGFyZ2UtOSwgLmdyaWQteCA+IC5sYXJnZS0xMCwgLmdyaWQteCA+IC5sYXJnZS0xMSwgLmdyaWQteCA+IC5sYXJnZS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG5cbi5ncmlkLXggPiAuc21hbGwtMSwgLmdyaWQteCA+IC5zbWFsbC0yLCAuZ3JpZC14ID4gLnNtYWxsLTMsIC5ncmlkLXggPiAuc21hbGwtNCwgLmdyaWQteCA+IC5zbWFsbC01LCAuZ3JpZC14ID4gLnNtYWxsLTYsIC5ncmlkLXggPiAuc21hbGwtNywgLmdyaWQteCA+IC5zbWFsbC04LCAuZ3JpZC14ID4gLnNtYWxsLTksIC5ncmlkLXggPiAuc21hbGwtMTAsIC5ncmlkLXggPiAuc21hbGwtMTEsIC5ncmlkLXggPiAuc21hbGwtMTIge1xuICBmbGV4OiAwIDAgYXV0bzsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEge1xuICB3aWR0aDogOC4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0yIHtcbiAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTMge1xuICB3aWR0aDogMjUlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNCB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC01IHtcbiAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTYge1xuICB3aWR0aDogNTAlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNyB7XG4gIHdpZHRoOiA1OC4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC04IHtcbiAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTkge1xuICB3aWR0aDogNzUlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTAge1xuICB3aWR0aDogODMuMzMzMzMlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTEge1xuICB3aWR0aDogOTEuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTIge1xuICB3aWR0aDogMTAwJTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC14ID4gLm1lZGl1bS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLXNocmluaywgLmdyaWQteCA+IC5tZWRpdW0tMSwgLmdyaWQteCA+IC5tZWRpdW0tMiwgLmdyaWQteCA+IC5tZWRpdW0tMywgLmdyaWQteCA+IC5tZWRpdW0tNCwgLmdyaWQteCA+IC5tZWRpdW0tNSwgLmdyaWQteCA+IC5tZWRpdW0tNiwgLmdyaWQteCA+IC5tZWRpdW0tNywgLmdyaWQteCA+IC5tZWRpdW0tOCwgLmdyaWQteCA+IC5tZWRpdW0tOSwgLmdyaWQteCA+IC5tZWRpdW0tMTAsIC5ncmlkLXggPiAubWVkaXVtLTExLCAuZ3JpZC14ID4gLm1lZGl1bS0xMiB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLXggPiAubGFyZ2UtYXV0byB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLXNocmluaywgLmdyaWQteCA+IC5sYXJnZS0xLCAuZ3JpZC14ID4gLmxhcmdlLTIsIC5ncmlkLXggPiAubGFyZ2UtMywgLmdyaWQteCA+IC5sYXJnZS00LCAuZ3JpZC14ID4gLmxhcmdlLTUsIC5ncmlkLXggPiAubGFyZ2UtNiwgLmdyaWQteCA+IC5sYXJnZS03LCAuZ3JpZC14ID4gLmxhcmdlLTgsIC5ncmlkLXggPiAubGFyZ2UtOSwgLmdyaWQteCA+IC5sYXJnZS0xMCwgLmdyaWQteCA+IC5sYXJnZS0xMSwgLmdyaWQteCA+IC5sYXJnZS0xMiB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgLmdyaWQteCA+IC5sYXJnZS1zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpID4gLmNlbGwge1xuICB3aWR0aDogYXV0bzsgfVxuXG4uZ3JpZC1tYXJnaW4teTpub3QoLmdyaWQteSkgPiAuY2VsbCB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uZ3JpZC1tYXJnaW4teCB7XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXgge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5jZWxsIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5hdXRvIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IGNhbGMoNzUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnBob25lLXNtYWxsLWF1dG8ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5waG9uZS1zbWFsbC1zaHJpbmsge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5waG9uZS1zbWFsbC0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAucGhvbmUtc21hbGwtMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5waG9uZS1zbWFsbC0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnBob25lLXNtYWxsLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAucGhvbmUtc21hbGwtNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5waG9uZS1zbWFsbC02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnBob25lLXNtYWxsLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAucGhvbmUtc21hbGwtOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5waG9uZS1zbWFsbC05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnBob25lLXNtYWxsLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnBob25lLXNtYWxsLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnBob25lLXNtYWxsLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5waG9uZS1tZWRpdW0tYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnBob25lLW1lZGl1bS1zaHJpbmsge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5waG9uZS1tZWRpdW0tMSB7XG4gICAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnBob25lLW1lZGl1bS0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnBob25lLW1lZGl1bS0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnBob25lLW1lZGl1bS00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnBob25lLW1lZGl1bS01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnBob25lLW1lZGl1bS02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnBob25lLW1lZGl1bS03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnBob25lLW1lZGl1bS04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnBob25lLW1lZGl1bS05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnBob25lLW1lZGl1bS0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5waG9uZS1tZWRpdW0tMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAucGhvbmUtbWVkaXVtLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5waG9uZS1ob3Jpei10aW55LWF1dG8ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5waG9uZS1ob3Jpei10aW55LXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnBob25lLWhvcml6LXRpbnktMSB7XG4gICAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnBob25lLWhvcml6LXRpbnktMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5waG9uZS1ob3Jpei10aW55LTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAucGhvbmUtaG9yaXotdGlueS00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnBob25lLWhvcml6LXRpbnktNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5waG9uZS1ob3Jpei10aW55LTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAucGhvbmUtaG9yaXotdGlueS03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnBob25lLWhvcml6LXRpbnktOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5waG9uZS1ob3Jpei10aW55LTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAucGhvbmUtaG9yaXotdGlueS0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5waG9uZS1ob3Jpei10aW55LTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnBob25lLWhvcml6LXRpbnktMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTUge1xuICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteCAuZ3JpZC1wYWRkaW5nLXgge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteCAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuXG4uZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+IC5ncmlkLXBhZGRpbmcteCB7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXggPiAuY2VsbCB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy14ID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuXG4uc21hbGwtdXAtMSA+IC5jZWxsIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gIHdpZHRoOiA1MCU7IH1cblxuLnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gIHdpZHRoOiAyNSU7IH1cblxuLnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gIHdpZHRoOiAyMCU7IH1cblxuLnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gIHdpZHRoOiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLXVwLTcgPiAuY2VsbCB7XG4gIHdpZHRoOiAxNC4yODU3MSU7IH1cblxuLnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gIHdpZHRoOiAxMi41JTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLm1lZGl1bS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLm1lZGl1bS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5sYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLmxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC5sYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0yID4gLmNlbGwge1xuICB3aWR0aDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0zID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC00ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC01ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygyMCUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC02ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC03ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC04ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxMi41JSAtIDEuMjVyZW0pOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjg3NXJlbSk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDEuODc1cmVtKTsgfSB9XG5cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2Uge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uc21hbGwtcGFkZGluZy1jb2xsYXBzZSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnNtYWxsLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5tZWRpdW0tcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLmxhcmdlLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuLnNtYWxsLW9mZnNldC0wIHtcbiAgbWFyZ2luLWxlZnQ6IDAlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0wIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMjUlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC01IHtcbiAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTcge1xuICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMyUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC04IHtcbiAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogNzUlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTAge1xuICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyAwLjYyNXJlbSk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDAuOTM3NXJlbSk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMC45Mzc1cmVtKTsgfSB9XG5cbi5ncmlkLXkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cbiAgLmdyaWQteSA+IC5jZWxsIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgLmdyaWQteSA+IC5hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQteSA+IC5zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLXNocmluaywgLmdyaWQteSA+IC5zbWFsbC1mdWxsLCAuZ3JpZC15ID4gLnNtYWxsLTEsIC5ncmlkLXkgPiAuc21hbGwtMiwgLmdyaWQteSA+IC5zbWFsbC0zLCAuZ3JpZC15ID4gLnNtYWxsLTQsIC5ncmlkLXkgPiAuc21hbGwtNSwgLmdyaWQteSA+IC5zbWFsbC02LCAuZ3JpZC15ID4gLnNtYWxsLTcsIC5ncmlkLXkgPiAuc21hbGwtOCwgLmdyaWQteSA+IC5zbWFsbC05LCAuZ3JpZC15ID4gLnNtYWxsLTEwLCAuZ3JpZC15ID4gLnNtYWxsLTExLCAuZ3JpZC15ID4gLnNtYWxsLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tc2hyaW5rLCAuZ3JpZC15ID4gLm1lZGl1bS1mdWxsLCAuZ3JpZC15ID4gLm1lZGl1bS0xLCAuZ3JpZC15ID4gLm1lZGl1bS0yLCAuZ3JpZC15ID4gLm1lZGl1bS0zLCAuZ3JpZC15ID4gLm1lZGl1bS00LCAuZ3JpZC15ID4gLm1lZGl1bS01LCAuZ3JpZC15ID4gLm1lZGl1bS02LCAuZ3JpZC15ID4gLm1lZGl1bS03LCAuZ3JpZC15ID4gLm1lZGl1bS04LCAuZ3JpZC15ID4gLm1lZGl1bS05LCAuZ3JpZC15ID4gLm1lZGl1bS0xMCwgLmdyaWQteSA+IC5tZWRpdW0tMTEsIC5ncmlkLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLXkgPiAubGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLmxhcmdlLWZ1bGwsIC5ncmlkLXkgPiAubGFyZ2UtMSwgLmdyaWQteSA+IC5sYXJnZS0yLCAuZ3JpZC15ID4gLmxhcmdlLTMsIC5ncmlkLXkgPiAubGFyZ2UtNCwgLmdyaWQteSA+IC5sYXJnZS01LCAuZ3JpZC15ID4gLmxhcmdlLTYsIC5ncmlkLXkgPiAubGFyZ2UtNywgLmdyaWQteSA+IC5sYXJnZS04LCAuZ3JpZC15ID4gLmxhcmdlLTksIC5ncmlkLXkgPiAubGFyZ2UtMTAsIC5ncmlkLXkgPiAubGFyZ2UtMTEsIC5ncmlkLXkgPiAubGFyZ2UtMTIge1xuICAgICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMSwgLmdyaWQteSA+IC5zbWFsbC0yLCAuZ3JpZC15ID4gLnNtYWxsLTMsIC5ncmlkLXkgPiAuc21hbGwtNCwgLmdyaWQteSA+IC5zbWFsbC01LCAuZ3JpZC15ID4gLnNtYWxsLTYsIC5ncmlkLXkgPiAuc21hbGwtNywgLmdyaWQteSA+IC5zbWFsbC04LCAuZ3JpZC15ID4gLnNtYWxsLTksIC5ncmlkLXkgPiAuc21hbGwtMTAsIC5ncmlkLXkgPiAuc21hbGwtMTEsIC5ncmlkLXkgPiAuc21hbGwtMTIge1xuICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMSB7XG4gICAgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTIge1xuICAgIGhlaWdodDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMyB7XG4gICAgaGVpZ2h0OiAyNSU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC00IHtcbiAgICBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTUge1xuICAgIGhlaWdodDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtNiB7XG4gICAgaGVpZ2h0OiA1MCU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC03IHtcbiAgICBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTgge1xuICAgIGhlaWdodDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtOSB7XG4gICAgaGVpZ2h0OiA3NSU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xMCB7XG4gICAgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xMSB7XG4gICAgaGVpZ2h0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xMiB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tYXV0byB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tc2hyaW5rLCAuZ3JpZC15ID4gLm1lZGl1bS0xLCAuZ3JpZC15ID4gLm1lZGl1bS0yLCAuZ3JpZC15ID4gLm1lZGl1bS0zLCAuZ3JpZC15ID4gLm1lZGl1bS00LCAuZ3JpZC15ID4gLm1lZGl1bS01LCAuZ3JpZC15ID4gLm1lZGl1bS02LCAuZ3JpZC15ID4gLm1lZGl1bS03LCAuZ3JpZC15ID4gLm1lZGl1bS04LCAuZ3JpZC15ID4gLm1lZGl1bS05LCAuZ3JpZC15ID4gLm1lZGl1bS0xMCwgLmdyaWQteSA+IC5tZWRpdW0tMTEsIC5ncmlkLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTEge1xuICAgICAgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTIge1xuICAgICAgaGVpZ2h0OiAxNi42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0zIHtcbiAgICAgIGhlaWdodDogMjUlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tNCB7XG4gICAgICBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTUge1xuICAgICAgaGVpZ2h0OiA0MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS02IHtcbiAgICAgIGhlaWdodDogNTAlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tNyB7XG4gICAgICBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTgge1xuICAgICAgaGVpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS05IHtcbiAgICAgIGhlaWdodDogNzUlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMTAge1xuICAgICAgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xMSB7XG4gICAgICBoZWlnaHQ6IDkxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQteSA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLXNocmluaywgLmdyaWQteSA+IC5sYXJnZS0xLCAuZ3JpZC15ID4gLmxhcmdlLTIsIC5ncmlkLXkgPiAubGFyZ2UtMywgLmdyaWQteSA+IC5sYXJnZS00LCAuZ3JpZC15ID4gLmxhcmdlLTUsIC5ncmlkLXkgPiAubGFyZ2UtNiwgLmdyaWQteSA+IC5sYXJnZS03LCAuZ3JpZC15ID4gLmxhcmdlLTgsIC5ncmlkLXkgPiAubGFyZ2UtOSwgLmdyaWQteSA+IC5sYXJnZS0xMCwgLmdyaWQteSA+IC5sYXJnZS0xMSwgLmdyaWQteSA+IC5sYXJnZS0xMiB7XG4gICAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0yIHtcbiAgICAgIGhlaWdodDogMTYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0zIHtcbiAgICAgIGhlaWdodDogMjUlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS00IHtcbiAgICAgIGhlaWdodDogMzMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS01IHtcbiAgICAgIGhlaWdodDogNDEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS02IHtcbiAgICAgIGhlaWdodDogNTAlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS03IHtcbiAgICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS04IHtcbiAgICAgIGhlaWdodDogNjYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS05IHtcbiAgICAgIGhlaWdodDogNzUlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiA5MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteSAuZ3JpZC1wYWRkaW5nLXkge1xuICBtYXJnaW4tdG9wOiAtMC42MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteSAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgbWFyZ2luLXRvcDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0wLjkzNzVyZW07IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXkgPiAuY2VsbCB7XG4gIHBhZGRpbmctdG9wOiAwLjYyNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy15ID4gLmNlbGwge1xuICAgICAgcGFkZGluZy10b3A6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwLjkzNzVyZW07IH0gfVxuXG4uZ3JpZC1tYXJnaW4teSB7XG4gIG1hcmdpbi10b3A6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkge1xuICAgICAgbWFyZ2luLXRvcDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0wLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi10b3A6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnBob25lLXNtYWxsLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAucGhvbmUtc21hbGwtc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnBob25lLXNtYWxsLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAucGhvbmUtc21hbGwtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAucGhvbmUtc21hbGwtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAucGhvbmUtc21hbGwtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAucGhvbmUtc21hbGwtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAucGhvbmUtc21hbGwtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAucGhvbmUtc21hbGwtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAucGhvbmUtc21hbGwtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAucGhvbmUtc21hbGwtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAucGhvbmUtc21hbGwtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnBob25lLXNtYWxsLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5waG9uZS1zbWFsbC0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnBob25lLW1lZGl1bS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnBob25lLW1lZGl1bS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAucGhvbmUtbWVkaXVtLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAucGhvbmUtbWVkaXVtLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnBob25lLW1lZGl1bS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5waG9uZS1tZWRpdW0tNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAucGhvbmUtbWVkaXVtLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnBob25lLW1lZGl1bS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5waG9uZS1tZWRpdW0tNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAucGhvbmUtbWVkaXVtLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnBob25lLW1lZGl1bS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5waG9uZS1tZWRpdW0tMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnBob25lLW1lZGl1bS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAucGhvbmUtbWVkaXVtLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAucGhvbmUtaG9yaXotdGlueS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnBob25lLWhvcml6LXRpbnktc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnBob25lLWhvcml6LXRpbnktMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5waG9uZS1ob3Jpei10aW55LTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnBob25lLWhvcml6LXRpbnktMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAucGhvbmUtaG9yaXotdGlueS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5waG9uZS1ob3Jpei10aW55LTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnBob25lLWhvcml6LXRpbnktNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAucGhvbmUtaG9yaXotdGlueS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5waG9uZS1ob3Jpei10aW55LTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnBob25lLWhvcml6LXRpbnktOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAucGhvbmUtaG9yaXotdGlueS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAucGhvbmUtaG9yaXotdGlueS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAucGhvbmUtaG9yaXotdGlueS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH0gfVxuXG4uZ3JpZC1mcmFtZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB3aWR0aDogMTAwdnc7IH1cblxuLmNlbGwgLmdyaWQtZnJhbWUge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uY2VsbC1ibG9jayB7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuXG4uY2VsbC1ibG9jay15IHtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuXG4uY2VsbC1ibG9jay1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gIC5jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB3aWR0aDogMTAwdnc7IH1cbiAgLmNlbGwgLm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLWNlbGwtYmxvY2sge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuICAubWVkaXVtLWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAgIC5tZWRpdW0tY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAubWVkaXVtLWNlbGwtYmxvY2steSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHdpZHRoOiAxMDB2dzsgfVxuICAuY2VsbCAubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLWNlbGwtYmxvY2sge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuICAubGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gICAgLmxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLmxhcmdlLWNlbGwtYmxvY2steSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9IH1cblxuLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgd2lkdGg6IGF1dG87XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBoZWlnaHQ6IDEwMHZoOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLXkubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwdmg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC15LmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwdmg7IH0gfVxuXG4uY2VsbCAuZ3JpZC15LmdyaWQtZnJhbWUge1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmNlbGwgLmdyaWQteS5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmNlbGwgLmdyaWQteS5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG4uZ3JpZC1tYXJnaW4teSB7XG4gIG1hcmdpbi10b3A6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkge1xuICAgICAgbWFyZ2luLXRvcDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0wLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi10b3A6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnBob25lLXNtYWxsLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAucGhvbmUtc21hbGwtc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnBob25lLXNtYWxsLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAucGhvbmUtc21hbGwtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAucGhvbmUtc21hbGwtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAucGhvbmUtc21hbGwtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAucGhvbmUtc21hbGwtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAucGhvbmUtc21hbGwtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAucGhvbmUtc21hbGwtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAucGhvbmUtc21hbGwtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAucGhvbmUtc21hbGwtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAucGhvbmUtc21hbGwtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnBob25lLXNtYWxsLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5waG9uZS1zbWFsbC0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnBob25lLW1lZGl1bS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnBob25lLW1lZGl1bS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAucGhvbmUtbWVkaXVtLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAucGhvbmUtbWVkaXVtLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnBob25lLW1lZGl1bS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5waG9uZS1tZWRpdW0tNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAucGhvbmUtbWVkaXVtLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnBob25lLW1lZGl1bS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5waG9uZS1tZWRpdW0tNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAucGhvbmUtbWVkaXVtLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnBob25lLW1lZGl1bS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5waG9uZS1tZWRpdW0tMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnBob25lLW1lZGl1bS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAucGhvbmUtbWVkaXVtLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAucGhvbmUtaG9yaXotdGlueS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnBob25lLWhvcml6LXRpbnktc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnBob25lLWhvcml6LXRpbnktMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5waG9uZS1ob3Jpei10aW55LTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnBob25lLWhvcml6LXRpbnktMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAucGhvbmUtaG9yaXotdGlueS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5waG9uZS1ob3Jpei10aW55LTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnBob25lLWhvcml6LXRpbnktNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAucGhvbmUtaG9yaXotdGlueS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5waG9uZS1ob3Jpei10aW55LTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnBob25lLWhvcml6LXRpbnktOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAucGhvbmUtaG9yaXotdGlueS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAucGhvbmUtaG9yaXotdGlueS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAucGhvbmUtaG9yaXotdGlueS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH0gfVxuXG4uZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS4yNXJlbSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjg3NXJlbSk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC1tYXJnaW4teS5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS44NzVyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS44NzVyZW0pOyB9IH1cblxuZGl2LFxuZGwsXG5kdCxcbmRkLFxudWwsXG5vbCxcbmxpLFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxucHJlLFxuZm9ybSxcbnAsXG5ibG9ja3F1b3RlLFxudGgsXG50ZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG5wIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMS42O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyB9XG5cbmVtLFxuaSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuc3Ryb25nLFxuYiB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5oMSwgLmgxLFxuaDIsIC5oMixcbmgzLCAuaDMsXG5oNCwgLmg0LFxuaDUsIC5oNSxcbmg2LCAuaDYge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gU1NtIEFcIiwgXCJHb3RoYW0gU1NtIEJcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cbiAgaDEgc21hbGwsIC5oMSBzbWFsbCxcbiAgaDIgc21hbGwsIC5oMiBzbWFsbCxcbiAgaDMgc21hbGwsIC5oMyBzbWFsbCxcbiAgaDQgc21hbGwsIC5oNCBzbWFsbCxcbiAgaDUgc21hbGwsIC5oNSBzbWFsbCxcbiAgaDYgc21hbGwsIC5oNiBzbWFsbCB7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgY29sb3I6ICM3ODc4Nzg7IH1cblxuaDEsIC5oMSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDIsIC5oMiB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmgzLCAuaDMge1xuICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmg0LCAuaDQge1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDUsIC5oNSB7XG4gIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDYsIC5oNiB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIGgxLCAuaDEge1xuICAgIGZvbnQtc2l6ZTogM3JlbTsgfVxuICBoMiwgLmgyIHtcbiAgICBmb250LXNpemU6IDIuNXJlbTsgfVxuICBoMywgLmgzIHtcbiAgICBmb250LXNpemU6IDEuOTM3NXJlbTsgfVxuICBoNCwgLmg0IHtcbiAgICBmb250LXNpemU6IDEuNTYyNXJlbTsgfVxuICBoNSwgLmg1IHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgaDYsIC5oNiB7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9IH1cblxuYSB7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogIzE3NzliYTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgYTpob3ZlciwgYTpmb2N1cyB7XG4gICAgY29sb3I6ICMxNDY4YTA7IH1cbiAgYSBpbWcge1xuICAgIGJvcmRlcjogMDsgfVxuXG5ociB7XG4gIGNsZWFyOiBib3RoO1xuICBtYXgtd2lkdGg6IDc2LjI1cmVtO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogMS4yNXJlbSBhdXRvO1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNzg3ODc4O1xuICBib3JkZXItbGVmdDogMDsgfVxuXG51bCxcbm9sLFxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuICBsaW5lLWhlaWdodDogMS42OyB9XG5cbmxpIHtcbiAgZm9udC1zaXplOiBpbmhlcml0OyB9XG5cbnVsIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYzsgfVxuXG5vbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9XG5cbnVsIHVsLCBvbCB1bCwgdWwgb2wsIG9sIG9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIGRsIGR0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjNyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNTYyNXJlbSAxLjI1cmVtIDAgMS4xODc1cmVtO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICM3ODc4Nzg7IH1cbiAgYmxvY2txdW90ZSwgYmxvY2txdW90ZSBwIHtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIGNvbG9yOiAjNzg3ODc4OyB9XG5cbmNpdGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGNvbG9yOiAjNzg3ODc4OyB9XG4gIGNpdGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIuKAlCBcIjsgfVxuXG5hYmJyLCBhYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgIzBhMGEwYTtcbiAgY3Vyc29yOiBoZWxwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbmNvZGUge1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjMxMjVyZW0gMC4wNjI1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjNzg3ODc4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICMwYTBhMGE7IH1cblxua2JkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjI1cmVtIDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBjb2xvcjogIzBhMGEwYTsgfVxuXG4uc3ViaGVhZGVyIHtcbiAgbWFyZ2luLXRvcDogMC4ycmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGNvbG9yOiAjNzg3ODc4OyB9XG5cbi5sZWFkIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMS42OyB9XG5cbi5zdGF0IHtcbiAgZm9udC1zaXplOiAyLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIHAgKyAuc3RhdCB7XG4gICAgbWFyZ2luLXRvcDogLTFyZW07IH1cblxudWwubm8tYnVsbGV0LCBvbC5uby1idWxsZXQge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4udGV4dC1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4udGV4dC1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50ZXh0LWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4udGV4dC1qdXN0aWZ5IHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubWVkaXVtLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5tZWRpdW0tdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVkaXVtLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmxhcmdlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5sYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5sYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG4uc2hvdy1mb3ItcHJpbnQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIHByaW50IHtcbiAgKiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLmhpZGUtZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgdGFibGUuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgdGhlYWQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRib2R5LnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0ci5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICB0aC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIGEsXG4gIGE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgYVtocmVmXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7IH1cbiAgLmlyIGE6YWZ0ZXIsXG4gIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gIGFbaHJlZl49JyMnXTphZnRlciB7XG4gICAgY29udGVudDogJyc7IH1cbiAgYWJiclt0aXRsZV06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjsgfVxuICBwcmUsXG4gIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM3ODc4Nzg7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cbiAgdHIsXG4gIGltZyB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgQHBhZ2Uge1xuICAgIG1hcmdpbjogMC41Y207IH1cbiAgcCxcbiAgaDIsXG4gIGgzIHtcbiAgICBvcnBoYW5zOiAzO1xuICAgIHdpZG93czogMzsgfVxuICBoMixcbiAgaDMge1xuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG4gIC5wcmludC1icmVhay1pbnNpZGUge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdXRvOyB9IH1cblxuLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBwYWRkaW5nOiAwLjg1ZW0gMWVtO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDAuOXJlbTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNzc5YmE7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5idXR0b246aG92ZXIsIC5idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNDY3OWU7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi50aW55IHtcbiAgICBmb250LXNpemU6IDAuNnJlbTsgfVxuICAuYnV0dG9uLnNtYWxsIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLmJ1dHRvbi5sYXJnZSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIC5idXR0b24uZXhwYW5kZWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuYnV0dG9uLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNzc5YmE7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLnByaW1hcnk6aG92ZXIsIC5idXR0b24ucHJpbWFyeTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTI2MTk1O1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzY7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVlNWU1ZTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNhZGI3NjtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC5idXR0b24uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5zdWNjZXNzOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMmJiNWI7XG4gICAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYnV0dG9uLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAuYnV0dG9uLndhcm5pbmc6aG92ZXIsIC5idXR0b24ud2FybmluZzpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M4YjAwO1xuICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi5hbGVydCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjNGIzNztcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uYWxlcnQ6aG92ZXIsIC5idXR0b24uYWxlcnQ6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2E1M2IyYTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b25bZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAwLjI1O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxNzc5YmE7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeSwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeSB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5LCAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnk6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeTpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeSwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxNzc5YmE7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnksIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeSB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnksIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5LCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzY7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzIHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3MsIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNhZGI3NjtcbiAgICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmcsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmcge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQud2FybmluZywgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmcsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwO1xuICAgICAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuYWxlcnQsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0IHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0LCAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydCwgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjNGIzNztcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi5ob2xsb3cge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMxNzc5YmE7XG4gICAgY29sb3I6ICMxNzc5YmE7IH1cbiAgICAuYnV0dG9uLmhvbGxvdywgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5idXR0b24uaG9sbG93OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICMwYzNkNWQ7XG4gICAgICBjb2xvcjogIzBjM2Q1ZDsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3c6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMxNzc5YmE7XG4gICAgICAgIGNvbG9yOiAjMTc3OWJhOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMTc3OWJhO1xuICAgICAgY29sb3I6ICMxNzc5YmE7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnByaW1hcnk6aG92ZXIsIC5idXR0b24uaG9sbG93LnByaW1hcnk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMwYzNkNWQ7XG4gICAgICAgIGNvbG9yOiAjMGMzZDVkOyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93LnByaW1hcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnByaW1hcnk6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzE3NzliYTtcbiAgICAgICAgICBjb2xvcjogIzE3NzliYTsgfVxuICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNzY3Njc2O1xuICAgICAgY29sb3I6ICM3Njc2NzY7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjM2IzYjNiO1xuICAgICAgICBjb2xvcjogIzNiM2IzYjsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzc2NzY3NjtcbiAgICAgICAgICBjb2xvcjogIzc2NzY3NjsgfVxuICAgIC5idXR0b24uaG9sbG93LnN1Y2Nlc3Mge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzNhZGI3NjtcbiAgICAgIGNvbG9yOiAjM2FkYjc2OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMTU3NTM5O1xuICAgICAgICBjb2xvcjogIzE1NzUzOTsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzYWRiNzY7XG4gICAgICAgICAgY29sb3I6ICMzYWRiNzY7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmFlMDA7XG4gICAgICBjb2xvcjogI2ZmYWUwMDsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3ZlciwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzgwNTcwMDtcbiAgICAgICAgY29sb3I6ICM4MDU3MDA7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZhZTAwO1xuICAgICAgICAgIGNvbG9yOiAjZmZhZTAwOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjNGIzNztcbiAgICAgIGNvbG9yOiAjY2M0YjM3OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM2NzI1MWE7XG4gICAgICAgIGNvbG9yOiAjNjcyNTFhOyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93LmFsZXJ0OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LmFsZXJ0OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYzRiMzc7XG4gICAgICAgICAgY29sb3I6ICNjYzRiMzc7IH1cbiAgLmJ1dHRvbi5jbGVhciB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzE3NzliYTtcbiAgICBjb2xvcjogIzE3NzliYTsgfVxuICAgIC5idXR0b24uY2xlYXIsIC5idXR0b24uY2xlYXI6aG92ZXIsIC5idXR0b24uY2xlYXI6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhcjpob3ZlciwgLmJ1dHRvbi5jbGVhcjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICMwYzNkNWQ7XG4gICAgICBjb2xvcjogIzBjM2Q1ZDsgfVxuICAgICAgLmJ1dHRvbi5jbGVhcjpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcjpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXI6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXI6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzE3NzliYTtcbiAgICAgICAgY29sb3I6ICMxNzc5YmE7IH1cbiAgICAuYnV0dG9uLmNsZWFyLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhcjpob3ZlciwgLmJ1dHRvbi5jbGVhcjpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcjpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXI6Zm9jdXMsIC5idXR0b24uY2xlYXI6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXI6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLnByaW1hcnkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzE3NzliYTtcbiAgICAgIGNvbG9yOiAjMTc3OWJhOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIsIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzBjM2Q1ZDtcbiAgICAgICAgY29sb3I6ICMwYzNkNWQ7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMxNzc5YmE7XG4gICAgICAgICAgY29sb3I6ICMxNzc5YmE7IH1cbiAgICAgIC5idXR0b24uY2xlYXIucHJpbWFyeSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5LmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnlbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIsIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzc2NzY3NjtcbiAgICAgIGNvbG9yOiAjNzY3Njc2OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMzYjNiM2I7XG4gICAgICAgIGNvbG9yOiAjM2IzYjNiOyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM3Njc2NzY7XG4gICAgICAgICAgY29sb3I6ICM3Njc2NzY7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeS5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnlbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5zdWNjZXNzIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzYWRiNzY7XG4gICAgICBjb2xvcjogIzNhZGI3NjsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMxNTc1Mzk7XG4gICAgICAgIGNvbG9yOiAjMTU3NTM5OyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjM2FkYjc2O1xuICAgICAgICAgIGNvbG9yOiAjM2FkYjc2OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3MsIC5idXR0b24uY2xlYXIuc3VjY2Vzcy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1cywgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIud2FybmluZyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZhZTAwO1xuICAgICAgY29sb3I6ICNmZmFlMDA7IH1cbiAgICAgIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlciwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjODA1NzAwO1xuICAgICAgICBjb2xvcjogIzgwNTcwMDsgfVxuICAgICAgICAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmYWUwMDtcbiAgICAgICAgICBjb2xvcjogI2ZmYWUwMDsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci53YXJuaW5nLCAuYnV0dG9uLmNsZWFyLndhcm5pbmcuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZ1tkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlciwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLmFsZXJ0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYzRiMzc7XG4gICAgICBjb2xvcjogI2NjNGIzNzsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlciwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzY3MjUxYTtcbiAgICAgICAgY29sb3I6ICM2NzI1MWE7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci5hbGVydDpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2M0YjM3O1xuICAgICAgICAgIGNvbG9yOiAjY2M0YjM3OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLmFsZXJ0LCAuYnV0dG9uLmNsZWFyLmFsZXJ0LmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0W2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlciwgLmJ1dHRvbi5jbGVhci5hbGVydDpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXMsIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYnV0dG9uLmRyb3Bkb3duOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC40ZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICNmZWZlZmUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tbGVmdDogMWVtOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93OjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhcjo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMxNzc5YmE7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cucHJpbWFyeTo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIucHJpbWFyeTo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMxNzc5YmE7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuc2Vjb25kYXJ5OjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci5zZWNvbmRhcnk6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjNzY3Njc2OyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnN1Y2Nlc3M6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLnN1Y2Nlc3M6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjM2FkYjc2OyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93Lndhcm5pbmc6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLndhcm5pbmc6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjZmZhZTAwOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LmFsZXJ0OjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci5hbGVydDo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNjYzRiMzc7IH1cbiAgLmJ1dHRvbi5hcnJvdy1vbmx5OjphZnRlciB7XG4gICAgdG9wOiAtMC4xZW07XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuYS5idXR0b246aG92ZXIsIGEuYnV0dG9uOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5hY2NvcmRpb24ge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gIC5hY2NvcmRpb25bZGlzYWJsZWRdIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLmFjY29yZGlvbi1pdGVtOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuXG4uYWNjb3JkaW9uLWl0ZW06bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuXG4uYWNjb3JkaW9uLXRpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMS4yNXJlbSAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZjBmMGYwO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogIzE3NzliYTsgfVxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YwZjBmMDtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gIC5hY2NvcmRpb24tdGl0bGU6aG92ZXIsIC5hY2NvcmRpb24tdGl0bGU6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7IH1cbiAgLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICBjb250ZW50OiAnKyc7IH1cbiAgLmlzLWFjdGl2ZSA+IC5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcMjAxMyc7IH1cblxuLmFjY29yZGlvbi1jb250ZW50IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2YwZjBmMDtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgY29sb3I6ICMwYTBhMGE7IH1cbiAgOmxhc3QtY2hpbGQgPiAuYWNjb3JkaW9uLWNvbnRlbnQ6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMGYwZjA7IH1cblxuLmFjY29yZGlvbi1tZW51IGxpIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmFjY29yZGlvbi1tZW51IGEge1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51IGEge1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51LmFsaWduLXJpZ2h0IC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50Om5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQ6bm90KC5oYXMtc3VibWVudS10b2dnbGUpID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI2ZlZmVmZSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTNweDtcbiAgICByaWdodDogMXJlbTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUuYWxpZ24tbGVmdCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICByaWdodDogMXJlbTtcbiAgbGVmdDogYXV0bzsgfVxuXG4uYWNjb3JkaW9uLW1lbnUuYWxpZ24tcmlnaHQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD0ndHJ1ZSddID4gYTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlOyB9XG5cbi5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmhhcy1zdWJtZW51LXRvZ2dsZSA+IGEge1xuICBtYXJnaW4tcmlnaHQ6IDQwcHg7IH1cblxuLnN1Ym1lbnUtdG9nZ2xlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLnN1Ym1lbnUtdG9nZ2xlOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmVmZWZlIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG5cbi5zdWJtZW51LXRvZ2dsZVthcmlhLWV4cGFuZGVkPSd0cnVlJ106OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVkoLTEpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlOyB9XG5cbi5zdWJtZW51LXRvZ2dsZS10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBib3JkZXI6IDA7IH1cblxuLmJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6IDIuMWVtO1xuICBwYWRkaW5nOiAwLjNlbTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBmb250LXNpemU6IDAuNnJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiAjMTc3OWJhO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYmFkZ2UucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogIzE3NzliYTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYmFkZ2Uuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjNzY3Njc2O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5iYWRnZS5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5iYWRnZS53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5iYWRnZS5hbGVydCB7XG4gICAgYmFja2dyb3VuZDogI2NjNGIzNztcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4uYnV0dG9uLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4gIC5idXR0b24tZ3JvdXA6OmJlZm9yZSwgLmJ1dHRvbi1ncm91cDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5idXR0b24tZ3JvdXA6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuYnV0dG9uLWdyb3VwIC5idXR0b24ge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDFweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxcHg7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgICAuYnV0dG9uLWdyb3VwIC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmJ1dHRvbi1ncm91cC50aW55IC5idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMC42cmVtOyB9XG4gIC5idXR0b24tZ3JvdXAuc21hbGwgLmJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5idXR0b24tZ3JvdXAubGFyZ2UgLmJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbiB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuICAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE3NzliYTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTI2MTk1O1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc2NzY3NjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVlNWU1ZTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMmJiNWI7XG4gICAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M4YjAwO1xuICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0YjM3O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2E1M2IyYTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24tZ3JvdXAuc3RhY2tlZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b24ge1xuICAgICAgZmxleDogMCAwIDEwMCU7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZCAuYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLmV4cGFuZGVkIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQgLmJ1dHRvbiB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbiB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyMy40MzYyNWVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCAuYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3Ljk5ODc1ZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bS5leHBhbmRlZCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQgLmJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG4uY2FsbG91dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEwLCAxMCwgMTAsIDAuMjUpO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmNhbGxvdXQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmNhbGxvdXQgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuY2FsbG91dC5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDdlY2ZhO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5jYWxsb3V0LnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VhZWFlYTtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuY2FsbG91dC5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTFmYWVhO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5jYWxsb3V0Lndhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYzZDk7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmNhbGxvdXQuYWxlcnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmN2U0ZTE7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmNhbGxvdXQuc21hbGwge1xuICAgIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07IH1cbiAgLmNhbGxvdXQubGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtOyB9XG5cbi5jYXJkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1ncm93OiAxO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZjBmMGYwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBib3gtc2hhZG93OiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogIzBhMGEwYTsgfVxuICAuY2FyZCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jYXJkLWRpdmlkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDEgYXV0bztcbiAgcGFkZGluZzogMXJlbTtcbiAgYmFja2dyb3VuZDogI2YwZjBmMDsgfVxuICAuY2FyZC1kaXZpZGVyID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmNhcmQtc2VjdGlvbiB7XG4gIGZsZXg6IDEgMCBhdXRvO1xuICBwYWRkaW5nOiAxcmVtOyB9XG4gIC5jYXJkLXNlY3Rpb24gPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2FyZC1pbWFnZSB7XG4gIG1pbi1oZWlnaHQ6IDFweDsgfVxuXG4uY2xvc2UtYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogIzc4Nzg3ODtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuY2xvc2UtYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5jbG9zZS1idXR0b246aG92ZXIsIC5jbG9zZS1idXR0b246Zm9jdXMge1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5jbG9zZS1idXR0b24uc21hbGwge1xuICAgIHJpZ2h0OiAwLjY2cmVtO1xuICAgIHRvcDogMC4zM2VtO1xuICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLmNsb3NlLWJ1dHRvbiwgLmNsb3NlLWJ1dHRvbi5tZWRpdW0ge1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIHRvcDogMC41cmVtO1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi5yZXNwb25zaXZlLWVtYmVkLFxuLmZsZXgtdmlkZW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDc1JTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAucmVzcG9uc2l2ZS1lbWJlZCBpZnJhbWUsXG4gIC5yZXNwb25zaXZlLWVtYmVkIG9iamVjdCxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgZW1iZWQsXG4gIC5yZXNwb25zaXZlLWVtYmVkIHZpZGVvLFxuICAuZmxleC12aWRlbyBpZnJhbWUsXG4gIC5mbGV4LXZpZGVvIG9iamVjdCxcbiAgLmZsZXgtdmlkZW8gZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5yZXNwb25zaXZlLWVtYmVkLndpZGVzY3JlZW4sXG4gIC5mbGV4LXZpZGVvLndpZGVzY3JlZW4ge1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7IH1cblxuLmxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGJhY2tncm91bmQ6ICMxNzc5YmE7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5sYWJlbC5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjMTc3OWJhO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5sYWJlbC5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6ICM3Njc2NzY7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmxhYmVsLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQ6ICMzYWRiNzY7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmxhYmVsLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQ6ICNmZmFlMDA7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmxhYmVsLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kOiAjY2M0YjM3O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5tZWRpYS1vYmplY3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAubWVkaWEtb2JqZWN0IGltZyB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDIzLjQzNjI1ZW0pIHtcbiAgICAubWVkaWEtb2JqZWN0LnN0YWNrLWZvci1zbWFsbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH0gfVxuXG4ubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICBmbGV4OiAwIDEgYXV0bzsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb246Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uOmxhc3QtY2hpbGQ6bm90KDpudGgtY2hpbGQoMikpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMjMuNDM2MjVlbSkge1xuICAgIC5zdGFjay1mb3Itc21hbGwgLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5zdGFjay1mb3Itc21hbGwgLm1lZGlhLW9iamVjdC1zZWN0aW9uIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uLm1haW4tc2VjdGlvbiB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuXG4uaXMtb2ZmLWNhbnZhcy1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uanMtb2ZmLWNhbnZhcy1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDExO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgZWFzZSwgdmlzaWJpbGl0eSAwLjVzIGVhc2U7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU0LCAyNTQsIDI1NCwgMC4yNSk7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLXZpc2libGUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLWNsb3NhYmxlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1vdmVybGF5LWFic29sdXRlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1vdmVybGF5LWZpeGVkIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cblxuLm9mZi1jYW52YXMtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4ub2ZmLWNhbnZhcyB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTI7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2U7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogIzJDMzg0MDsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9mZi1jYW52YXMge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9mZi1jYW52YXMuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB6LWluZGV4OiAxMjsgfVxuICAub2ZmLWNhbnZhcy5pcy1jbG9zZWQge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuICAgIHotaW5kZXg6IDEzOyB9XG4gICAgLm9mZi1jYW52YXMuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgxMCwgMTAsIDEwLCAwLjcpOyB9XG4gIC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbi5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjMkMzODQwOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub2ZmLWNhbnZhcy1hYnNvbHV0ZSB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6IDEyOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogMTM7IH1cbiAgICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDEwLCAxMCwgMTAsIDAuNyk7IH1cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cblxuLnBvc2l0aW9uLWxlZnQge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgd2lkdGg6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1MHB4KTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWxlZnQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUwcHgpOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1sZWZ0LmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1sZWZ0Lmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNTBweCk7IH1cbiAgLnBvc2l0aW9uLWxlZnQuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAtMTNweCAwIDIwcHggLTEzcHggcmdiYSgxMCwgMTAsIDEwLCAwLjI1KTsgfVxuXG4ucG9zaXRpb24tcmlnaHQge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHdpZHRoOiAyNTBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1MHB4KTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXJpZ2h0IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUwcHgpOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1yaWdodC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tcmlnaHQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNTBweCk7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMTNweCAwIDIwcHggLTEzcHggcmdiYSgxMCwgMTAsIDEwLCAwLjI1KTsgfVxuXG4ucG9zaXRpb24tdG9wIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgaGVpZ2h0OiAyNTBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNTBweCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi10b3Age1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjUwcHgpOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi10b3AuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLXRvcC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUwcHgpOyB9XG4gIC5wb3NpdGlvbi10b3AuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIC0xM3B4IDIwcHggLTEzcHggcmdiYSgxMCwgMTAsIDEwLCAwLjI1KTsgfVxuXG4ucG9zaXRpb24tYm90dG9tIHtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgaGVpZ2h0OiAyNTBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI1MHB4KTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI1MHB4KTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tYm90dG9tLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1ib3R0b20uaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNTBweCk7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMTNweCAyMHB4IC0xM3B4IHJnYmEoMTAsIDEwLCAxMCwgMC4yNSk7IH1cblxuLm9mZi1jYW52YXMtY29udGVudCB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWxlZnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXJpZ2h0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC10b3Age1xuICAgICAgbWFyZ2luLXRvcDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiAyNTBweDsgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWJvdHRvbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1MHB4OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1sZWZ0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXJpZ2h0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXRvcCB7XG4gICAgICBtYXJnaW4tdG9wOiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1ib3R0b20ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1MHB4OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB0cmFuc2l0aW9uOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tbGVmdCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tcmlnaHQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLXRvcCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tYm90dG9tIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgdHJhbnNpdGlvbjogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tbGVmdCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi1yaWdodCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi10b3AsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tYm90dG9tIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5vcmJpdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ub3JiaXQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4ub3JiaXQtc2xpZGUge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC5vcmJpdC1zbGlkZS5uby1tb3Rpb251aS5pcy1hY3RpdmUge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwOyB9XG5cbi5vcmJpdC1maWd1cmUge1xuICBtYXJnaW46IDA7IH1cblxuLm9yYml0LWltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwOyB9XG5cbi5vcmJpdC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nOiAxcmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwLCAxMCwgMTAsIDAuNSk7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5vcmJpdC1wcmV2aW91cywgLm9yYml0LW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHotaW5kZXg6IDEwO1xuICBwYWRkaW5nOiAxcmVtO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LXByZXZpb3VzLCBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LW5leHQge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9yYml0LXByZXZpb3VzOmhvdmVyLCAub3JiaXQtbmV4dDpob3ZlciwgLm9yYml0LXByZXZpb3VzOmFjdGl2ZSwgLm9yYml0LW5leHQ6YWN0aXZlLCAub3JiaXQtcHJldmlvdXM6Zm9jdXMsIC5vcmJpdC1uZXh0OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwLCAxMCwgMTAsIDAuNSk7IH1cblxuLm9yYml0LXByZXZpb3VzIHtcbiAgbGVmdDogMDsgfVxuXG4ub3JiaXQtbmV4dCB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwOyB9XG5cbi5vcmJpdC1idWxsZXRzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAwLjhyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub3JiaXQtYnVsbGV0cyB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub3JiaXQtYnVsbGV0cyBidXR0b24ge1xuICAgIHdpZHRoOiAxLjJyZW07XG4gICAgaGVpZ2h0OiAxLjJyZW07XG4gICAgbWFyZ2luOiAwLjFyZW07XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3ODc4Nzg7IH1cbiAgICAub3JiaXQtYnVsbGV0cyBidXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzc4Nzg3ODsgfVxuICAgIC5vcmJpdC1idWxsZXRzIGJ1dHRvbi5pcy1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzc4Nzg3ODsgfVxuXG4ucGFnaW5hdGlvbiB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5wYWdpbmF0aW9uOjpiZWZvcmUsIC5wYWdpbmF0aW9uOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnBhZ2luYXRpb246OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAucGFnaW5hdGlvbiBsaSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjA2MjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAucGFnaW5hdGlvbiBsaTpsYXN0LWNoaWxkLCAucGFnaW5hdGlvbiBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBhZ2luYXRpb24gbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuICAucGFnaW5hdGlvbiBhLFxuICAucGFnaW5hdGlvbiBidXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLnBhZ2luYXRpb24gYTpob3ZlcixcbiAgICAucGFnaW5hdGlvbiBidXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2YwZjBmMDsgfVxuICAucGFnaW5hdGlvbiAuY3VycmVudCB7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGJhY2tncm91bmQ6ICMxNzc5YmE7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gIC5wYWdpbmF0aW9uIC5kaXNhYmxlZCB7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGNvbG9yOiAjNzg3ODc4O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAucGFnaW5hdGlvbiAuZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgLnBhZ2luYXRpb24gLmVsbGlwc2lzOjphZnRlciB7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGNvbnRlbnQ6ICdcXDIwMjYnO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG5cbi5wYWdpbmF0aW9uLXByZXZpb3VzIGE6OmJlZm9yZSxcbi5wYWdpbmF0aW9uLXByZXZpb3VzLmRpc2FibGVkOjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICBjb250ZW50OiAnXFwwMGFiJzsgfVxuXG4ucGFnaW5hdGlvbi1uZXh0IGE6OmFmdGVyLFxuLnBhZ2luYXRpb24tbmV4dC5kaXNhYmxlZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIGNvbnRlbnQ6ICdcXDAwYmInOyB9XG5cbi5wcm9ncmVzcyB7XG4gIGhlaWdodDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc4Nzg3ODsgfVxuICAucHJvZ3Jlc3MucHJpbWFyeSAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNzc5YmE7IH1cbiAgLnByb2dyZXNzLnNlY29uZGFyeSAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzY7IH1cbiAgLnByb2dyZXNzLnN1Y2Nlc3MgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2OyB9XG4gIC5wcm9ncmVzcy53YXJuaW5nIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDsgfVxuICAucHJvZ3Jlc3MuYWxlcnQgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0YjM3OyB9XG5cbi5wcm9ncmVzcy1tZXRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTc3OWJhOyB9XG5cbi5wcm9ncmVzcy1tZXRlci10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5zbGlkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMC41cmVtO1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7IH1cblxuLnNsaWRlci1maWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDAuNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc4Nzg3ODtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7IH1cbiAgLnNsaWRlci1maWxsLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyOyB9XG5cbi5zbGlkZXItaGFuZGxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxLjRyZW07XG4gIGhlaWdodDogMS40cmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTc3OWJhO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5zbGlkZXItaGFuZGxlIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5zbGlkZXItaGFuZGxlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTQ2NzllOyB9XG4gIC5zbGlkZXItaGFuZGxlLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyOyB9XG5cbi5zbGlkZXIuZGlzYWJsZWQsXG4uc2xpZGVyW2Rpc2FibGVkXSB7XG4gIG9wYWNpdHk6IDAuMjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLnNsaWRlci52ZXJ0aWNhbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDAuNXJlbTtcbiAgaGVpZ2h0OiAxMi41cmVtO1xuICBtYXJnaW46IDAgMS4yNXJlbTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7IH1cbiAgLnNsaWRlci52ZXJ0aWNhbCAuc2xpZGVyLWZpbGwge1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMC41cmVtO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgLnNsaWRlci52ZXJ0aWNhbCAuc2xpZGVyLWhhbmRsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6IDEuNHJlbTtcbiAgICBoZWlnaHQ6IDEuNHJlbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cblxuLnN0aWNreS1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnN0aWNreSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuXG4uc3RpY2t5LmlzLXN0dWNrIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiA1O1xuICB3aWR0aDogMTAwJTsgfVxuICAuc3RpY2t5LmlzLXN0dWNrLmlzLWF0LXRvcCB7XG4gICAgdG9wOiAwOyB9XG4gIC5zdGlja3kuaXMtc3R1Y2suaXMtYXQtYm90dG9tIHtcbiAgICBib3R0b206IDA7IH1cblxuLnN0aWNreS5pcy1hbmNob3JlZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IGF1dG87IH1cbiAgLnN0aWNreS5pcy1hbmNob3JlZC5pcy1hdC1ib3R0b20ge1xuICAgIGJvdHRvbTogMDsgfVxuXG5odG1sLmlzLXJldmVhbC1vcGVuIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteTogaGlkZGVuOyB9XG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4uemYtaGFzLXNjcm9sbCB7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4gYm9keSB7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuOyB9XG5cbi5yZXZlYWwtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDA1O1xuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwLCAxMCwgMTAsIDAuNDUpO1xuICBvdmVyZmxvdy15OiBhdXRvOyB9XG5cbi5yZXZlYWwge1xuICB6LWluZGV4OiAxMDA2O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICM3ODc4Nzg7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAxMDBweDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnJldmVhbCB7XG4gICAgb3V0bGluZTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgbWluLWhlaWdodDogMDsgfSB9XG4gIC5yZXZlYWwgLmNvbHVtbiB7XG4gICAgbWluLXdpZHRoOiAwOyB9XG4gIC5yZXZlYWwgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgd2lkdGg6IDYwMHB4O1xuICAgICAgbWF4LXdpZHRoOiA3Ni4yNXJlbTsgfSB9XG4gIC5yZXZlYWwuY29sbGFwc2Uge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsLnRpbnkge1xuICAgICAgd2lkdGg6IDMwJTtcbiAgICAgIG1heC13aWR0aDogNzYuMjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwuc21hbGwge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIG1heC13aWR0aDogNzYuMjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwubGFyZ2Uge1xuICAgICAgd2lkdGg6IDkwJTtcbiAgICAgIG1heC13aWR0aDogNzYuMjVyZW07IH0gfVxuICAucmV2ZWFsLmZ1bGwge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMjMuNDM2MjVlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAwOyB9IH1cbiAgLnJldmVhbC53aXRob3V0LW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuXG4uc3dpdGNoIHtcbiAgaGVpZ2h0OiAycmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIG91dGxpbmU6IDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLnN3aXRjaC1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3dpdGNoLXBhZGRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiA0cmVtO1xuICBoZWlnaHQ6IDJyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6ICM3ODc4Nzg7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgaW5wdXQgKyAuc3dpdGNoLXBhZGRsZSB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMC4yNXJlbTtcbiAgICBsZWZ0OiAwLjI1cmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxLjVyZW07XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZSB7XG4gICAgYmFja2dyb3VuZDogIzE3NzliYTsgfVxuICAgIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgICAgbGVmdDogMi4yNXJlbTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gaW5wdXQ6Zm9jdXMgfiAuc3dpdGNoLXBhZGRsZSB7XG4gICAgb3V0bGluZTogMDsgfVxuXG4uc3dpdGNoLWFjdGl2ZSwgLnN3aXRjaC1pbmFjdGl2ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuXG4uc3dpdGNoLWFjdGl2ZSB7XG4gIGxlZnQ6IDglO1xuICBkaXNwbGF5OiBub25lOyB9XG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+IC5zd2l0Y2gtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uc3dpdGNoLWluYWN0aXZlIHtcbiAgcmlnaHQ6IDE1JTsgfVxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAuc3dpdGNoLWluYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5zd2l0Y2gudGlueSB7XG4gIGhlaWdodDogMS41cmVtOyB9XG4gIC5zd2l0Y2gudGlueSAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6IDNyZW07XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgZm9udC1zaXplOiAwLjYyNXJlbTsgfVxuICAuc3dpdGNoLnRpbnkgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB0b3A6IDAuMjVyZW07XG4gICAgbGVmdDogMC4yNXJlbTtcbiAgICB3aWR0aDogMXJlbTtcbiAgICBoZWlnaHQ6IDFyZW07IH1cbiAgLnN3aXRjaC50aW55IGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIGxlZnQ6IDEuNzVyZW07IH1cblxuLnN3aXRjaC5zbWFsbCB7XG4gIGhlaWdodDogMS43NXJlbTsgfVxuICAuc3dpdGNoLnNtYWxsIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogMy41cmVtO1xuICAgIGhlaWdodDogMS43NXJlbTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLnN3aXRjaC5zbWFsbCAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHRvcDogMC4yNXJlbTtcbiAgICBsZWZ0OiAwLjI1cmVtO1xuICAgIHdpZHRoOiAxLjI1cmVtO1xuICAgIGhlaWdodDogMS4yNXJlbTsgfVxuICAuc3dpdGNoLnNtYWxsIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIGxlZnQ6IDJyZW07IH1cblxuLnN3aXRjaC5sYXJnZSB7XG4gIGhlaWdodDogMi41cmVtOyB9XG4gIC5zd2l0Y2gubGFyZ2UgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiA1cmVtO1xuICAgIGhlaWdodDogMi41cmVtO1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuc3dpdGNoLmxhcmdlIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAwLjI1cmVtO1xuICAgIGxlZnQ6IDAuMjVyZW07XG4gICAgd2lkdGg6IDJyZW07XG4gICAgaGVpZ2h0OiAycmVtOyB9XG4gIC5zd2l0Y2gubGFyZ2UgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgbGVmdDogMi43NXJlbTsgfVxuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGZvb3Qge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMWYxZjE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuICBjYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6ICNmOGY4Zjg7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICNmMWYxZjE7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgdGhlYWQgdHIsXG4gIHRmb290IHRyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICB0aGVhZCB0aCxcbiAgdGhlYWQgdGQsXG4gIHRmb290IHRoLFxuICB0Zm9vdCB0ZCB7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgdGJvZHkgdGgsXG4gIHRib2R5IHRkIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07IH1cbiAgdGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7IH1cbiAgdGFibGUudW5zdHJpcGVkIHRib2R5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG4gICAgdGFibGUudW5zdHJpcGVkIHRib2R5IHRyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YxZjFmMTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTk4NzVlbSkge1xuICB0YWJsZS5zdGFjayB0aGVhZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0cixcbiAgdGFibGUuc3RhY2sgdGgsXG4gIHRhYmxlLnN0YWNrIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICB0YWJsZS5zdGFjayB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDsgfSB9XG5cbnRhYmxlLnNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuXG50YWJsZS5ob3ZlciB0aGVhZCB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH1cblxudGFibGUuaG92ZXIgdGZvb3QgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2VjOyB9XG5cbnRhYmxlLmhvdmVyIHRib2R5IHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTsgfVxuXG50YWJsZS5ob3Zlcjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2VjOyB9XG5cbi50YWJsZS1zY3JvbGwge1xuICBvdmVyZmxvdy14OiBhdXRvOyB9XG5cbi50YWJzIHtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZjBmMGYwO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgLnRhYnM6OmJlZm9yZSwgLnRhYnM6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBvcmRlcjogMTsgfVxuICAudGFiczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi50YWJzLnZlcnRpY2FsID4gbGkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IG5vbmU7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi50YWJzLnNpbXBsZSA+IGxpID4gYSB7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnRhYnMuc2ltcGxlID4gbGkgPiBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuXG4udGFicy5wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogIzE3NzliYTsgfVxuICAudGFicy5wcmltYXJ5ID4gbGkgPiBhIHtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC50YWJzLnByaW1hcnkgPiBsaSA+IGE6aG92ZXIsIC50YWJzLnByaW1hcnkgPiBsaSA+IGE6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogIzE2NzNiMTsgfVxuXG4udGFicy10aXRsZSB7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC50YWJzLXRpdGxlID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMS4yNXJlbSAxLjVyZW07XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAjMTc3OWJhOyB9XG4gICAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC50YWJzLXRpdGxlID4gYSB7XG4gICAgICBvdXRsaW5lOiAwOyB9XG4gICAgLnRhYnMtdGl0bGUgPiBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgICBjb2xvcjogIzE0NjhhMDsgfVxuICAgIC50YWJzLXRpdGxlID4gYTpmb2N1cywgLnRhYnMtdGl0bGUgPiBhW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjBmMGYwO1xuICAgICAgY29sb3I6ICMxNzc5YmE7IH1cblxuLnRhYnMtY29udGVudCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmMGYwZjA7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlOyB9XG5cbi50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZjBmMGYwO1xuICBib3JkZXItbGVmdDogMDsgfVxuXG4udGFicy1wYW5lbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07IH1cbiAgLnRhYnMtcGFuZWwuaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4udGh1bWJuYWlsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlcjogc29saWQgNHB4ICNmZWZlZmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDEwLCAxMCwgMTAsIDAuMik7XG4gIGxpbmUtaGVpZ2h0OiAwOyB9XG5cbmEudGh1bWJuYWlsIHtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDsgfVxuICBhLnRodW1ibmFpbDpob3ZlciwgYS50aHVtYm5haWw6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgMCA2cHggMXB4IHJnYmEoMjMsIDEyMSwgMTg2LCAwLjUpOyB9XG4gIGEudGh1bWJuYWlsIGltYWdlIHtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG5cbi50aXRsZS1iYXIge1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJhY2tncm91bmQ6ICMyQzM4NDA7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLnRpdGxlLWJhciAubWVudS1pY29uIHtcbiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07IH1cblxuLnRpdGxlLWJhci1sZWZ0LFxuLnRpdGxlLWJhci1yaWdodCB7XG4gIGZsZXg6IDEgMSAwcHg7IH1cblxuLnRpdGxlLWJhci1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50aXRsZS1iYXItdGl0bGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5oYXMtdGlwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggIzc4Nzg3ODtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGN1cnNvcjogaGVscDsgfVxuXG4udG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDEwMCUgKyAwLjY0OTVyZW0pO1xuICB6LWluZGV4OiAxMjAwO1xuICBtYXgtd2lkdGg6IDEwcmVtO1xuICBwYWRkaW5nOiAwLjc1cmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGEwYTBhO1xuICBmb250LXNpemU6IDgwJTtcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLnRvb2x0aXA6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC50b29sdGlwLmJvdHRvbTo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMGEwYTBhO1xuICAgIGJvdHRvbTogMTAwJTsgfVxuICAudG9vbHRpcC5ib3R0b20uYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgLnRvb2x0aXAudG9wOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNzVyZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICMwYTBhMGEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgdG9wOiAxMDAlO1xuICAgIGJvdHRvbTogYXV0bzsgfVxuICAudG9vbHRpcC50b3AuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgLnRvb2x0aXAubGVmdDo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMGEwYTBhO1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLnRvb2x0aXAubGVmdC5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAudG9vbHRpcC5yaWdodDo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMGEwYTBhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnRvb2x0aXAucmlnaHQuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgLnRvb2x0aXAuYWxpZ24tdG9wOjpiZWZvcmUge1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0b3A6IDEwJTsgfVxuICAudG9vbHRpcC5hbGlnbi1ib3R0b206OmJlZm9yZSB7XG4gICAgYm90dG9tOiAxMCU7XG4gICAgdG9wOiBhdXRvOyB9XG4gIC50b29sdGlwLmFsaWduLWxlZnQ6OmJlZm9yZSB7XG4gICAgbGVmdDogMTAlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC50b29sdGlwLmFsaWduLXJpZ2h0OjpiZWZvcmUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwJTsgfVxuXG4udG9wLWJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDA7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAudG9wLWJhcixcbiAgLnRvcC1iYXIgdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyQzM4NDA7IH1cbiAgLnRvcC1iYXIgaW5wdXQge1xuICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gIC50b3AtYmFyIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC50b3AtYmFyIGlucHV0LmJ1dHRvbiB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCxcbiAgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC50b3AtYmFyIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gICAgICAudG9wLWJhciAudG9wLWJhci1sZWZ0IHtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAgICAgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQge1xuICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45OTg3NWVtKSB7XG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbWVkaXVtIC50b3AtYmFyLWxlZnQsXG4gICAgICAudG9wLWJhci5zdGFja2VkLWZvci1tZWRpdW0gLnRvcC1iYXItcmlnaHQge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTk4NzVlbSkge1xuICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLWxhcmdlIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbGFyZ2UgLnRvcC1iYXItbGVmdCxcbiAgICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLWxhcmdlIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG5cbi50b3AtYmFyLXRpdGxlIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1hcmdpbjogMC41cmVtIDFyZW0gMC41cmVtIDA7IH1cblxuLnRvcC1iYXItbGVmdCxcbi50b3AtYmFyLXJpZ2h0IHtcbiAgZmxleDogMCAwIGF1dG87IH1cblxuLmhpZGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyMy40MzYyNWVtKSB7XG4gIC5oaWRlLWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAwZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDIzLjQzNzVlbSkge1xuICAuc2hvdy1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNDcuOTk4NzVlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogNzQuOTk4NzVlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLnNob3ctZm9yLXNyLFxuLnNob3ctb24tZm9jdXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlcjogMDsgfVxuXG4uc2hvdy1vbi1mb2N1czphY3RpdmUsIC5zaG93LW9uLWZvY3VzOmZvY3VzIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bztcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgfVxuXG4uc2hvdy1mb3ItbGFuZHNjYXBlLFxuLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLmhpZGUtZm9yLWxhbmRzY2FwZSxcbi5zaG93LWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cblxuLmFsaWduLWxlZnQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLXJpZ2h0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmFsaWduLWp1c3RpZnkge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cblxuLmFsaWduLXNwYWNlZCB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbi5hbGlnbi1sZWZ0LnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLXJpZ2h0LnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1jZW50ZXIudmVydGljYWwubWVudSA+IGxpID4gYSB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5hbGlnbi10b3Age1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuXG4uYWxpZ24tc2VsZi10b3Age1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1ib3R0b20ge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cblxuLmFsaWduLXNlbGYtYm90dG9tIHtcbiAgYWxpZ24tc2VsZjogZmxleC1lbmQ7IH1cblxuLmFsaWduLW1pZGRsZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLmFsaWduLXNlbGYtbWlkZGxlIHtcbiAgYWxpZ24tc2VsZjogY2VudGVyOyB9XG5cbi5hbGlnbi1zdHJldGNoIHtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cblxuLmFsaWduLXNlbGYtc3RyZXRjaCB7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7IH1cblxuLmFsaWduLWNlbnRlci1taWRkbGUge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24tY29udGVudDogY2VudGVyOyB9XG5cbi5zbWFsbC1vcmRlci0xIHtcbiAgb3JkZXI6IDE7IH1cblxuLnNtYWxsLW9yZGVyLTIge1xuICBvcmRlcjogMjsgfVxuXG4uc21hbGwtb3JkZXItMyB7XG4gIG9yZGVyOiAzOyB9XG5cbi5zbWFsbC1vcmRlci00IHtcbiAgb3JkZXI6IDQ7IH1cblxuLnNtYWxsLW9yZGVyLTUge1xuICBvcmRlcjogNTsgfVxuXG4uc21hbGwtb3JkZXItNiB7XG4gIG9yZGVyOiA2OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLm1lZGl1bS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAubWVkaXVtLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5tZWRpdW0tb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLm1lZGl1bS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAubWVkaXVtLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5sYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAubGFyZ2Utb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLmxhcmdlLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC5sYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAubGFyZ2Utb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG4uZmxleC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi5mbGV4LWNoaWxkLWF1dG8ge1xuICBmbGV4OiAxIDEgYXV0bzsgfVxuXG4uZmxleC1jaGlsZC1ncm93IHtcbiAgZmxleDogMSAwIGF1dG87IH1cblxuLmZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgZmxleDogMCAxIGF1dG87IH1cblxuLmZsZXgtZGlyLXJvdyB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cblxuLmZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG5cbi5mbGV4LWRpci1jb2x1bW4ge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi5mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87IH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC5tZWRpdW0tZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5tZWRpdW0tZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1mbGV4LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC5sYXJnZS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLmxhcmdlLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgLmxhcmdlLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAubGFyZ2UtZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbi5zbGlkZS1pbi1kb3duLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tZG93bi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG4uc2xpZGUtaW4tbGVmdC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLWxlZnQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cblxuLnNsaWRlLWluLXVwLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi11cC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG4uc2xpZGUtaW4tcmlnaHQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLXJpZ2h0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG5cbi5zbGlkZS1vdXQtZG93bi5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LWRvd24ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7IH1cblxuLnNsaWRlLW91dC1yaWdodC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LXJpZ2h0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG5cbi5zbGlkZS1vdXQtdXAubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC11cC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7IH1cblxuLnNsaWRlLW91dC1sZWZ0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtbGVmdC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cblxuLmZhZGUtaW4ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7IH1cblxuLmZhZGUtaW4ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5mYWRlLW91dC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTsgfVxuXG4uZmFkZS1vdXQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXRvcC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tdG9wLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1yaWdodC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1yaWdodC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tYm90dG9tLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWJvdHRvbS5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tbGVmdC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tbGVmdC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXgubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS14Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteS5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXkubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS10b3AubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS10b3AubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1yaWdodC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tcmlnaHQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1ib3R0b20ubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1ib3R0b20ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLWxlZnQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbGVmdC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXgubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1pbi11cC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLXVwLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtaW4tZG93bi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLWRvd24ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtdXAubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtb3V0LXVwLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1vdXQtZG93bi5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtZG93bi5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTAuNzV0dXJuKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuNzV0dXJuKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi1jY3cubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuNzV0dXJuKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLWNjdy5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC1jY3cubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0LWNjdy5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0wLjc1dHVybik7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNsb3cge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NTBtcyAhaW1wb3J0YW50OyB9XG5cbi5mYXN0IHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXMgIWltcG9ydGFudDsgfVxuXG4ubGluZWFyIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhciAhaW1wb3J0YW50OyB9XG5cbi5lYXNlIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbiB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Utb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4tb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbiB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbi1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLnNob3J0LWRlbGF5IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMzAwbXMgIWltcG9ydGFudDsgfVxuXG4ubG9uZy1kZWxheSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDcwMG1zICFpbXBvcnRhbnQ7IH1cblxuLnNoYWtlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlLTc7IH1cblxuQGtleWZyYW1lcyBzaGFrZS03IHtcbiAgMCUsIDEwJSwgMjAlLCAzMCUsIDQwJSwgNTAlLCA2MCUsIDcwJSwgODAlLCA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg3JSk7IH1cbiAgNSUsIDE1JSwgMjUlLCAzNSUsIDQ1JSwgNTUlLCA2NSUsIDc1JSwgODUlLCA5NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNyUpOyB9IH1cblxuLnNwaW4tY3cge1xuICBhbmltYXRpb24tbmFtZTogc3Bpbi1jdy0xdHVybjsgfVxuXG5Aa2V5ZnJhbWVzIHNwaW4tY3ctMXR1cm4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTF0dXJuKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfSB9XG5cbi5zcGluLWNjdyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzcGluLWN3LTF0dXJuOyB9XG5cbkBrZXlmcmFtZXMgc3Bpbi1jdy0xdHVybiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxdHVybik7IH0gfVxuXG4ud2lnZ2xlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHdpZ2dsZS03ZGVnOyB9XG5cbkBrZXlmcmFtZXMgd2lnZ2xlLTdkZWcge1xuICA0MCUsIDUwJSwgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg3ZGVnKTsgfVxuICAzNSUsIDQ1JSwgNTUlLCA2NSUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC03ZGVnKTsgfVxuICAwJSwgMzAlLCA3MCUsIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9IH1cblxuLnNoYWtlLFxuLnNwaW4tY3csXG4uc3Bpbi1jY3csXG4ud2lnZ2xlIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA1MDBtczsgfVxuXG4uaW5maW5pdGUge1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxuXG4uc2xvdyB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogNzUwbXMgIWltcG9ydGFudDsgfVxuXG4uZmFzdCB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMjUwbXMgIWltcG9ydGFudDsgfVxuXG4ubGluZWFyIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Uge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4ge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Utb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbi1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dCAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4ge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc2LCAtMC4yNDUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5zaG9ydC1kZWxheSB7XG4gIGFuaW1hdGlvbi1kZWxheTogMzAwbXMgIWltcG9ydGFudDsgfVxuXG4ubG9uZy1kZWxheSB7XG4gIGFuaW1hdGlvbi1kZWxheTogNzAwbXMgIWltcG9ydGFudDsgfVxuXG4vKlxuICBNeSBjdXN0b20gc3R5bGVzOlxuICBBZGQgeW91ciBzY3NzIGZpbGVzIGJlbG93IHRvIHN0cnVjdHVyZSB5b3VyIHByb2plY3Qgc3R5bGVzXG4qL1xuLnNjcmVlbi1yZWFkZXItdGV4dCB7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4O1xuICB3aWR0aDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5zY3JlZW4tcmVhZGVyLXRleHQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaGFkb3c6IDAgMCAycHggMnB4IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgY2xpcDogYXV0byAhaW1wb3J0YW50O1xuICBjb2xvcjogIzIxNzU5YjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGhlaWdodDogYXV0bztcbiAgbGVmdDogNXB4O1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAxNXB4IDIzcHggMTRweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0b3A6IDVweDtcbiAgd2lkdGg6IGF1dG87XG4gIHotaW5kZXg6IDEwMDAwMDsgfVxuXG4qOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbm5hdiB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG5uYXYgbGkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5jb250YWluZXIge1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWF4LXdpZHRoOiAxMjIwcHg7XG4gIHdpZHRoOiA5MCU7IH1cbiAgLmNvbnRhaW5lci5mdWxsIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgd2lkdGg6IDk1JTsgfVxuXG5hIHtcbiAgY29sb3I6ICMyMzRhNzE7IH1cblxuYTpmb2N1cyB7XG4gIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuYm9keSB7XG4gIGNvbG9yOiAjNzg3ODc4O1xuICBvdmVyZmxvdy14OiBoaWRkZW47IH1cblxudGFibGUge1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBtYXJnaW46IDQwcHggMDsgfVxuICB0YWJsZSB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwOyB9XG4gICAgdGFibGUgdGhlYWQgdHIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMyMzRhNzE7IH1cbiAgICB0YWJsZSB0aGVhZCB0aCwgdGFibGUgdGhlYWQgdGQge1xuICAgICAgY29sb3I6ICMyMzRhNzE7XG4gICAgICBmb250LXNpemU6IDAuNjI1ZW07XG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzIzNGE3MTtcbiAgICAgIHBhZGRpbmc6IDAgMjBweCAyMHB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICB0YWJsZSB0Ym9keSB7XG4gICAgYm9yZGVyOiAwOyB9XG4gICAgdGFibGUgdGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7IH1cbiAgICB0YWJsZSB0Ym9keSB0ZCB7XG4gICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2M3YzNjMTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYzdjM2MxO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIGZvbnQtc2l6ZTogLjllbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjg7IH1cbiAgICAgIHRhYmxlIHRib2R5IHRkOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIGJvcmRlci1yaWdodDogMDsgfVxuICB0YWJsZSB0Zm9vdCB7XG4gICAgYm9yZGVyOiAwOyB9XG5cbi5wYWdpbmF0aW9uLWNvbnRhaW5lciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ucGFnaW5hdGlvbiB7XG4gIG1hcmdpbjogNDBweCBhdXRvO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlcjogMnB4IHNvbGlkICMyMzRhNzE7XG4gIHBhZGRpbmc6IDVweCA4cHg7IH1cbiAgLnBhZ2luYXRpb24gLmN1cnJlbnQge1xuICAgIGJhY2tncm91bmQ6ICMyMzRhNzE7IH1cblxucDplbXB0eTpiZWZvcmUge1xuICBjb250ZW50OiB1bnNldDsgfVxuXG4udS1jZW50ZXItYm9yZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG4gIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB6LWluZGV4OiAyO1xuICBmb250LXNpemU6IDAuNzVlbTsgfVxuICAudS1jZW50ZXItYm9yZGVyIHVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiAyOTBweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogOTAlO1xuICAgIHotaW5kZXg6IDM7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnUtY2VudGVyLWJvcmRlciB1bCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG1heC13aWR0aDogODEwcHg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cbiAgLnUtY2VudGVyLWJvcmRlciBsaSB7XG4gICAgZm9udC1zaXplOiAwLjgxMjVlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAudS1jZW50ZXItYm9yZGVyIGxpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjYWVhZWFlO1xuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7IH1cbiAgICAgICAgLnUtY2VudGVyLWJvcmRlciBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7IH0gfVxuICAudS1jZW50ZXItYm9yZGVyIHNwYW4ge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBjb2xvcjogIzIzNGE3MTtcbiAgICBwYWRkaW5nOiAwIDE2cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgei1pbmRleDogMjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI1Ljg3Mzc1ZW0pIHtcbiAgICAgIC51LWNlbnRlci1ib3JkZXIgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgd2lkdGg6IDg1JTsgfSB9XG4gIC51LWNlbnRlci1ib3JkZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWVhZWFlO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW4tdG9wOiAtMC41cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogNTAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDE7IH1cblxuLnUtcm91bmQtc2VjdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDEyMjBweDtcbiAgd2lkdGg6IDkwJTtcbiAgLypAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIG1hcmdpbi10b3A6IC0xMjBweDtcbiAgfSovIH1cblxuLypcbiAgLnByb2R1Y3Qtc3VwcG9ydC1jb250ZW50X19hc2lkZS1uYXYgdWxcbiAgLnN1cHBvcnQtY29udGVudF9faXRlbSB1bCxcbiAgLnByb2R1Y3RzLWJsb2NrX19pbmZvLWNvbnRlbnQtYmxvY2sgdWxcbiAgLnByb2R1Y3RzLWJsb2NrLWRldGFpbHNfX2FjY29yZGlvbi1jb250ZW50IHVsXG4gIC5zb2x1dGlvbnMtZ2FsbGVyeV9fZ3JpZC1idWlsZCB1bFxuKi9cbi51LXN0eWxlZC1saXN0LCAud3lzaXd5ZyB1bCwgLnd5c2l3eWcgb2wge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDAgMCAzMHB4O1xuICBwYWRkaW5nOiAwO1xuICBmb250LXNpemU6IGluaGVyaXQ7IH1cbiAgLnUtc3R5bGVkLWxpc3QgbGksIC53eXNpd3lnIHVsIGxpLCAud3lzaXd5ZyBvbCBsaSB7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgbWFyZ2luOiAwIDAgMjRweDtcbiAgICBwYWRkaW5nOiAwIDAgMCAxNXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC51LXN0eWxlZC1saXN0IGxpID4gdWwsIC51LXN0eWxlZC1saXN0IGxpID4gb2wsIC53eXNpd3lnIHVsIGxpID4gdWwsIC53eXNpd3lnIHVsIGxpID4gb2wsIC53eXNpd3lnIG9sIGxpID4gdWwsIC53eXNpd3lnIG9sIGxpID4gb2wge1xuICAgICAgbWFyZ2luLXRvcDogMjRweDsgfVxuICAgICAgLnUtc3R5bGVkLWxpc3QgbGkgPiB1bCBsaSwgLnUtc3R5bGVkLWxpc3QgbGkgPiBvbCBsaSwgLnd5c2l3eWcgdWwgbGkgPiB1bCBsaSwgLnd5c2l3eWcgdWwgbGkgPiBvbCBsaSwgLnd5c2l3eWcgb2wgbGkgPiB1bCBsaSwgLnd5c2l3eWcgb2wgbGkgPiBvbCBsaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDsgfVxuICAgICAgICAudS1zdHlsZWQtbGlzdCBsaSA+IHVsIGxpIGEsIC51LXN0eWxlZC1saXN0IGxpID4gb2wgbGkgYSwgLnd5c2l3eWcgdWwgbGkgPiB1bCBsaSBhLCAud3lzaXd5ZyB1bCBsaSA+IG9sIGxpIGEsIC53eXNpd3lnIG9sIGxpID4gdWwgbGkgYSwgLnd5c2l3eWcgb2wgbGkgPiBvbCBsaSBhIHtcbiAgICAgICAgICBjb2xvcjogIzIzNGE3MTsgfVxuICAgIC51LXN0eWxlZC1saXN0IGxpLmFjdGl2ZSBhLCAud3lzaXd5ZyB1bCBsaS5hY3RpdmUgYSwgLnd5c2l3eWcgb2wgbGkuYWN0aXZlIGEge1xuICAgICAgY29sb3I6ICNiMjA5Mzk7IH1cbiAgLnUtc3R5bGVkLWxpc3QgYSwgLnd5c2l3eWcgdWwgYSwgLnd5c2l3eWcgb2wgYSB7XG4gICAgY29sb3I6ICMyMzRhNzE7IH1cblxudWwudS1zdHlsZWQtbGlzdCBsaTo6YmVmb3JlLCAud3lzaXd5ZyB1bCBsaTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3BuZy9saXN0LWl0ZW0tYXJyb3cucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEwcHg7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA0cHg7XG4gIHdpZHRoOiA2cHg7IH1cblxub2wudS1zdHlsZWQtbGlzdCwgLnd5c2l3eWcgb2wge1xuICBjb3VudGVyLXJlc2V0OiBsaTsgfVxuICBvbC51LXN0eWxlZC1saXN0IGxpLCAud3lzaXd5ZyBvbCBsaSB7XG4gICAgcGFkZGluZzogMCAwIDAgMzVweDsgfVxuICBvbC51LXN0eWxlZC1saXN0IGxpOjpiZWZvcmUsIC53eXNpd3lnIG9sIGxpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IGNvdW50ZXIobGkpO1xuICAgIGNvdW50ZXItaW5jcmVtZW50OiBsaTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwcHg7XG4gICAgbGVmdDogMHB4O1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQjIwODM4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG5cbnVsLnRocmVlLWNvbHVtbiwgb2wudGhyZWUtY29sdW1uIHtcbiAgY29sdW1uczogMzAwcHggMztcbiAgY29sdW1uLWdhcDogNDBweDsgfVxuICB1bC50aHJlZS1jb2x1bW4gbGksIG9sLnRocmVlLWNvbHVtbiBsaSB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxudWwudHdvLWNvbHVtbiwgb2wudHdvLWNvbHVtbiB7XG4gIGNvbHVtbnM6IDMwMHB4IDI7XG4gIGNvbHVtbi1nYXA6IDQwcHg7IH1cbiAgdWwudHdvLWNvbHVtbiBsaSwgb2wudHdvLWNvbHVtbiBsaSB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxuLypcbi8vQkFDS1VQOlxuLnUtc3R5bGVkLWxpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG5cbiAgJi0tYXJyb3cge1xuICAgIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3BuZy9saXN0LWl0ZW0tYXJyb3cucG5nXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA0cHg7XG4gICAgICAgIHdpZHRoOiA2cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbGkge1xuICAgIEBpbmNsdWRlIHRvLWVtKDEzcHgpO1xuICAgIG1hcmdpbjogMjRweCAwIDA7XG4gICAgcGFkZGluZzogMCAwIDAgMjBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICBhIHtcbiAgICBjb2xvcjogJGNvbG9yLW5hdnktYmx1ZTtcbiAgfVxufVxuKi9cbi51LXN0eWxlZC10YWJsZSB0aGVhZCB0ZCxcbi51LXN0eWxlZC10YWJsZSB0aGVhZCB0aCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjMjM0YTcxOyB9XG5cbnNlY3Rpb24uZW5sYXJnZS1sb2dvIC5jb21wYW55LWxvZ28ge1xuICB3aWR0aDogMzIwcHg7XG4gIGhlaWdodDogNzBweDsgfVxuXG4ub2xhcmstdW5hdmFpbGFibGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5jYWJsZS1jb2x1bW4ge1xuICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50OyB9XG4gIC5jYWJsZS1jb2x1bW46Zmlyc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLXRvcDogNDBweDsgfVxuICAuY2FibGUtY29sdW1uIGgyIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2FlYWVhZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jYWJsZS1jb2x1bW4gLm9wZW4tdGV4dF9fY29weSB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAuY2FibGUtY29sdW1uIC5vcGVuLXRleHRfX2NvcHkgPiAqIHtcbiAgICAgICAgZmxleDogMSAwIDUwJTtcbiAgICAgICAgd2lkdGg6IDUwJTsgfSB9XG5cbiN3cGFkbWluYmFyIHtcbiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7IH1cblxuYm9keS5hZG1pbi1iYXIuZi10b3BiYXItZml4ZWQgLnN0aWNreS5maXhlZCB7XG4gIG1hcmdpbi10b3A6IDJyZW07IH1cblxuYm9keS5hZG1pbi1iYXIub2ZmY2FudmFzIC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICB0b3A6IDIuODc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4LjkzNzVlbSkge1xuICAgIGJvZHkuYWRtaW4tYmFyLm9mZmNhbnZhcyAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgICAgIHRvcDogMnJlbTsgfSB9XG5cbi5hbGlnbmNlbnRlciwgLmFsaWdubm9uZSB7XG4gIG1hcmdpbjogNDBweCBhdXRvO1xuICBmbG9hdDogbm9uZTtcbiAgZGlzcGxheTogdGFibGU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYWxpZ25jZW50ZXIud3AtY2FwdGlvbiwgLmFsaWdubm9uZS53cC1jYXB0aW9uIHtcbiAgICAgIG1heC13aWR0aDogNTQwcHg7IH0gfVxuICAuYWxpZ25jZW50ZXIgPiAqLCAuYWxpZ25ub25lID4gKiB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogNDBweDsgfVxuXG4uYWxpZ25sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYWxpZ25sZWZ0IHtcbiAgICAgIG1hcmdpbjogMCA0MHB4IDQwcHggMDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFsaWdubGVmdC53cC1jYXB0aW9uIHtcbiAgICAgIG1heC13aWR0aDogMzAwcHg7IH0gfVxuXG4uYWxpZ25yaWdodCB7XG4gIGZsb2F0OiByaWdodDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hbGlnbnJpZ2h0IHtcbiAgICAgIG1hcmdpbjogMCAwIDQwcHggNDBweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFsaWducmlnaHQud3AtY2FwdGlvbiB7XG4gICAgICBtYXgtd2lkdGg6IDMwMHB4OyB9IH1cblxuZmlndXJlLndwLWNhcHRpb24ge1xuICB3aWR0aDogYXV0bzsgfVxuICBmaWd1cmUud3AtY2FwdGlvbiBhIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICBmaWd1cmUud3AtY2FwdGlvbiBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87IH1cblxuZmlndXJlIC53cC1jYXB0aW9uLXRleHQge1xuICBmb250LXNpemU6IC43ZW07XG4gIHBhZGRpbmc6IDI1cHggMTVweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNhZWFlYWU7XG4gIG1hcmdpbjogMCAwIDMwcHg7IH1cblxuLmVudHJ5LWNvbnRlbnQge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5lbnRyeS1jb250ZW50IGgxIHtcbiAgICBmb250LXNpemU6IDIuNWVtO1xuICAgIG1hcmdpbjogMCAwIDE1cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBjb2xvcjogIzIzNGE3MTsgfVxuICAuZW50cnktY29udGVudCBoMiB7XG4gICAgZm9udC1zaXplOiAxLjg3NWVtO1xuICAgIG1hcmdpbjogMCAwIDE1cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBjb2xvcjogIzIzNGE3MTsgfVxuICAuZW50cnktY29udGVudCBoMyB7XG4gICAgZm9udC1zaXplOiAxLjU2MjVlbTtcbiAgICBtYXJnaW46IDAgMCAxNXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY29sb3I6ICMyMzRhNzE7IH1cbiAgLmVudHJ5LWNvbnRlbnQgcCB7XG4gICAgY29sb3I6ICM3ODc4Nzg7XG4gICAgbWFyZ2luOiAwIDAgMTVweDtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBsaW5lLWhlaWdodDogMTUwJTsgfVxuICAgIC5lbnRyeS1jb250ZW50IHAgKyBoMSwgLmVudHJ5LWNvbnRlbnQgcCArIGgyLCAuZW50cnktY29udGVudCBwICsgaDMsIC5lbnRyeS1jb250ZW50IHAgKyBoNCwgLmVudHJ5LWNvbnRlbnQgcCArIGg1LCAuZW50cnktY29udGVudCBwICsgaDYge1xuICAgICAgbWFyZ2luLXRvcDogMzBweDsgfVxuICAuZW50cnktY29udGVudCBhIHtcbiAgICBjb2xvcjogIzIzNGE3MTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIC5lbnRyeS1jb250ZW50IGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5lbnRyeS1jb250ZW50IGltZyB7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4OyB9XG4gIC5lbnRyeS1jb250ZW50IC5hbGlnbmNlbnRlciwgLmVudHJ5LWNvbnRlbnQgLmFsaWdubm9uZSB7XG4gICAgbWFyZ2luOiBhdXRvIGF1dG87XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmVudHJ5LWNvbnRlbnQgLmFsaWduY2VudGVyLCAuZW50cnktY29udGVudCAuYWxpZ25ub25lIHtcbiAgICAgICAgbWF4LXdpZHRoOiA1NDBweDsgfSB9XG4gICAgLmVudHJ5LWNvbnRlbnQgLmFsaWduY2VudGVyID4gKiwgLmVudHJ5LWNvbnRlbnQgLmFsaWdubm9uZSA+ICoge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi10b3A6IDQwcHg7IH1cbiAgLmVudHJ5LWNvbnRlbnQgLmFsaWdubGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmVudHJ5LWNvbnRlbnQgLmFsaWdubGVmdCB7XG4gICAgICAgIG1hcmdpbjogMCA0MHB4IDQwcHggMDtcbiAgICAgICAgbWF4LXdpZHRoOiAzMDBweDsgfSB9XG4gIC5lbnRyeS1jb250ZW50IC5hbGlnbnJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmVudHJ5LWNvbnRlbnQgLmFsaWducmlnaHQge1xuICAgICAgICBtYXJnaW46IDAgMCA0MHB4IDQwcHg7XG4gICAgICAgIG1heC13aWR0aDogMzAwcHg7IH0gfVxuICAuZW50cnktY29udGVudCB1bCwgLmVudHJ5LWNvbnRlbnQgb2wge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDAgMTVweCA0MHB4O1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxNTAlOyB9XG4gICAgLmVudHJ5LWNvbnRlbnQgdWwgbGksIC5lbnRyeS1jb250ZW50IG9sIGxpIHtcbiAgICAgIG1hcmdpbjogMCAwIDhweDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIC5lbnRyeS1jb250ZW50IHVsIGxpOmxhc3Qtb2YtdHlwZSwgLmVudHJ5LWNvbnRlbnQgb2wgbGk6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gIC5lbnRyeS1jb250ZW50IGZpZ3VyZS53cC1jYXB0aW9uIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5lbnRyeS1jb250ZW50IGZpZ3VyZS53cC1jYXB0aW9uIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuZW50cnktY29udGVudCBmaWd1cmUud3AtY2FwdGlvbiBpbWcge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5lbnRyeS1jb250ZW50IGZpZ3VyZSAud3AtY2FwdGlvbi10ZXh0IHtcbiAgICBmb250LXNpemU6IC43ZW07XG4gICAgcGFkZGluZzogMjVweCAxNXB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYWVhZWFlO1xuICAgIG1hcmdpbjogMCAwIDMwcHg7IH1cbiAgLmVudHJ5LWNvbnRlbnQgLm1vcmUtbGluayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJhY2tncm91bmQ6ICMyMzRhNzE7XG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDAuNzVlbTtcbiAgICBtYXJnaW46IDI1cHggMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zOyB9XG4gICAgLmVudHJ5LWNvbnRlbnQgLm1vcmUtbGluazpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMjk1Nzg0OyB9XG5cbi5nYWxsZXJ5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBtYXJnaW46IDQwcHggYXV0bzsgfVxuICAuZ2FsbGVyeSBmaWd1cmUuZ2FsbGVyeS1pdGVtIHtcbiAgICBtYXJnaW46IDEwcHg7XG4gICAgYmFja2dyb3VuZDogI2YwZjBmMDtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZWNlY2VjO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5nYWxsZXJ5IGZpZ3VyZS5nYWxsZXJ5LWl0ZW0gYSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5nYWxsZXJ5IGZpZ3VyZS5nYWxsZXJ5LWl0ZW0gLmdhbGxlcnktaWNvbiB7XG4gICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAuZ2FsbGVyeSBmaWd1cmUuZ2FsbGVyeS1pdGVtIGZpZ2NhcHRpb24uZ2FsbGVyeS1jYXB0aW9uIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBiYWNrZ3JvdW5kOiAjZWFlYWVhO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZmxleDogMCAxIGF1dG87IH1cbiAgICAgIC5nYWxsZXJ5IGZpZ3VyZS5nYWxsZXJ5LWl0ZW0gZmlnY2FwdGlvbi5nYWxsZXJ5LWNhcHRpb24gaDQge1xuICAgICAgICBjb2xvcjogI2IyMDkzOTtcbiAgICAgICAgbWFyZ2luOiAwIDAgNXB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBmb250LXNpemU6IDEuMjVlbTsgfVxuICAgICAgLmdhbGxlcnkgZmlndXJlLmdhbGxlcnktaXRlbSBmaWdjYXB0aW9uLmdhbGxlcnktY2FwdGlvbiBzdHJvbmcge1xuICAgICAgICBjb2xvcjogIzJDMzg0MDtcbiAgICAgICAgbWFyZ2luOiAwIDAgNXB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtMSBmaWd1cmUuZ2FsbGVyeS1pdGVtIHtcbiAgZmxleDogMCAxIGNhbGMoMTAwJSAtIDIwcHgpO1xuICB3aWR0aDogY2FsYygxMDAlIC0gMjBweCk7IH1cblxuLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTIgZmlndXJlLmdhbGxlcnktaXRlbSB7XG4gIGZsZXg6IDAgMSBjYWxjKDEwMCUgLSAyMHB4KTtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDIwcHgpOyB9XG5cbi5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy0zIGZpZ3VyZS5nYWxsZXJ5LWl0ZW0ge1xuICBmbGV4OiAwIDEgY2FsYygxMDAlIC0gMjBweCk7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAyMHB4KTsgfVxuXG4uZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtNCBmaWd1cmUuZ2FsbGVyeS1pdGVtIHtcbiAgZmxleDogMCAxIGNhbGMoMTAwJSAtIDIwcHgpO1xuICB3aWR0aDogY2FsYygxMDAlIC0gMjBweCk7IH1cblxuLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTUgZmlndXJlLmdhbGxlcnktaXRlbSB7XG4gIGZsZXg6IDAgMSBjYWxjKDEwMCUgLSAyMHB4KTtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDIwcHgpOyB9XG5cbi5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy02IGZpZ3VyZS5nYWxsZXJ5LWl0ZW0ge1xuICBmbGV4OiAwIDEgY2FsYygxMDAlIC0gMjBweCk7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAyMHB4KTsgfVxuXG4uZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtNyBmaWd1cmUuZ2FsbGVyeS1pdGVtIHtcbiAgZmxleDogMCAxIGNhbGMoMTAwJSAtIDIwcHgpO1xuICB3aWR0aDogY2FsYygxMDAlIC0gMjBweCk7IH1cblxuLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTggZmlndXJlLmdhbGxlcnktaXRlbSB7XG4gIGZsZXg6IDAgMSBjYWxjKDEwMCUgLSAyMHB4KTtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDIwcHgpOyB9XG5cbi5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy05IGZpZ3VyZS5nYWxsZXJ5LWl0ZW0ge1xuICBmbGV4OiAwIDEgY2FsYygxMDAlIC0gMjBweCk7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAyMHB4KTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtMSBmaWd1cmUuZ2FsbGVyeS1pdGVtIHtcbiAgICBmbGV4OiAwIDEgY2FsYyg1MCUgLSAyMHB4KTtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAyMHB4KTsgfVxuICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtMiBmaWd1cmUuZ2FsbGVyeS1pdGVtIHtcbiAgICBmbGV4OiAwIDEgY2FsYyg1MCUgLSAyMHB4KTtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAyMHB4KTsgfVxuICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtMyBmaWd1cmUuZ2FsbGVyeS1pdGVtIHtcbiAgICBmbGV4OiAwIDEgY2FsYyg1MCUgLSAyMHB4KTtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAyMHB4KTsgfVxuICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtNCBmaWd1cmUuZ2FsbGVyeS1pdGVtIHtcbiAgICBmbGV4OiAwIDEgY2FsYyg1MCUgLSAyMHB4KTtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAyMHB4KTsgfVxuICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtNSBmaWd1cmUuZ2FsbGVyeS1pdGVtIHtcbiAgICBmbGV4OiAwIDEgY2FsYyg1MCUgLSAyMHB4KTtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAyMHB4KTsgfVxuICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtNiBmaWd1cmUuZ2FsbGVyeS1pdGVtIHtcbiAgICBmbGV4OiAwIDEgY2FsYyg1MCUgLSAyMHB4KTtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAyMHB4KTsgfVxuICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtNyBmaWd1cmUuZ2FsbGVyeS1pdGVtIHtcbiAgICBmbGV4OiAwIDEgY2FsYyg1MCUgLSAyMHB4KTtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAyMHB4KTsgfVxuICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtOCBmaWd1cmUuZ2FsbGVyeS1pdGVtIHtcbiAgICBmbGV4OiAwIDEgY2FsYyg1MCUgLSAyMHB4KTtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAyMHB4KTsgfVxuICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtOSBmaWd1cmUuZ2FsbGVyeS1pdGVtIHtcbiAgICBmbGV4OiAwIDEgY2FsYyg1MCUgLSAyMHB4KTtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAyMHB4KTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy0xIGZpZ3VyZS5nYWxsZXJ5LWl0ZW0ge1xuICAgIGZsZXg6IDAgMSBjYWxjKDEwMCUgLSAyMHB4KTtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMjBweCk7IH1cbiAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTIgZmlndXJlLmdhbGxlcnktaXRlbSB7XG4gICAgZmxleDogMCAxIGNhbGMoNTAlIC0gMjBweCk7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMjBweCk7IH1cbiAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTMgZmlndXJlLmdhbGxlcnktaXRlbSB7XG4gICAgZmxleDogMCAxIGNhbGMoMzMuMzMzMzMlIC0gMjBweCk7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMjBweCk7IH1cbiAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTQgZmlndXJlLmdhbGxlcnktaXRlbSB7XG4gICAgZmxleDogMCAxIGNhbGMoMjUlIC0gMjBweCk7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMjBweCk7IH1cbiAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTUgZmlndXJlLmdhbGxlcnktaXRlbSB7XG4gICAgZmxleDogMCAxIGNhbGMoMjAlIC0gMjBweCk7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMjBweCk7IH1cbiAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTYgZmlndXJlLmdhbGxlcnktaXRlbSB7XG4gICAgZmxleDogMCAxIGNhbGMoMTYuNjY2NjclIC0gMjBweCk7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMjBweCk7IH1cbiAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTcgZmlndXJlLmdhbGxlcnktaXRlbSB7XG4gICAgZmxleDogMCAxIGNhbGMoMTQuMjg1NzElIC0gMjBweCk7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMjBweCk7IH1cbiAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTggZmlndXJlLmdhbGxlcnktaXRlbSB7XG4gICAgZmxleDogMCAxIGNhbGMoMTIuNSUgLSAyMHB4KTtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDIwcHgpOyB9XG4gIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy05IGZpZ3VyZS5nYWxsZXJ5LWl0ZW0ge1xuICAgIGZsZXg6IDAgMSBjYWxjKDExLjExMTExJSAtIDIwcHgpO1xuICAgIHdpZHRoOiBjYWxjKDExLjExMTExJSAtIDIwcHgpOyB9IH1cblxuLnJldmVhbC5zZWFyY2hNb2RhbCB7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLXJhZGl1czogNnB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnJldmVhbC5zZWFyY2hNb2RhbCB7XG4gICAgICB3aWR0aDogNjUlOyB9IH1cbiAgLnJldmVhbC5zZWFyY2hNb2RhbCAucHJvZHVjdC1zZWFyY2gge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7XG4gICAgcGFkZGluZzogMjBweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAucmV2ZWFsLnNlYXJjaE1vZGFsIC5wcm9kdWN0LXNlYXJjaCB7XG4gICAgICAgIC8qIFBlcm1hbGluayAtIHVzZSB0byBlZGl0IGFuZCBzaGFyZSB0aGlzIGdyYWRpZW50OiBodHRwOi8vY29sb3J6aWxsYS5jb20vZ3JhZGllbnQtZWRpdG9yLyNlOGU4ZTgrNDUsZjRmNGY0KzQ1ICovXG4gICAgICAgIGJhY2tncm91bmQ6ICNmMGYwZjA7XG4gICAgICAgIC8qIE9sZCBicm93c2VycyAqLyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45OTg3NWVtKSB7XG4gICAgICAucmV2ZWFsLnNlYXJjaE1vZGFsIC5wcm9kdWN0LXNlYXJjaCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA4MHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAucmV2ZWFsLnNlYXJjaE1vZGFsIC5wcm9kdWN0LXNlYXJjaCB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHg7IH0gfVxuICAgIC5yZXZlYWwuc2VhcmNoTW9kYWwgLnByb2R1Y3Qtc2VhcmNoIC5zZWFyY2gtYmFyX193cmFwcGVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLnJldmVhbC5zZWFyY2hNb2RhbCAucHJvZHVjdC1zZWFyY2ggLnNlYXJjaC1iYXJfX3dyYXBwZXIge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgbWF4LXdpZHRoOiA2ODBweDtcbiAgICAgICAgICB3aWR0aDogNjUlOyB9XG4gICAgICAgICAgLnJldmVhbC5zZWFyY2hNb2RhbCAucHJvZHVjdC1zZWFyY2ggLnNlYXJjaC1iYXJfX3dyYXBwZXItLWZ1bGwtd2lkdGgge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7IH0gfVxuICAgIC5yZXZlYWwuc2VhcmNoTW9kYWwgLnByb2R1Y3Qtc2VhcmNoIC5zZWFyY2gtYmFyX19mb3JtIHtcbiAgICAgIHBhZGRpbmc6IDRweCA0cHggNHB4IDIwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0Ljk5ODc1ZW0pIHtcbiAgICAgICAgLnJldmVhbC5zZWFyY2hNb2RhbCAucHJvZHVjdC1zZWFyY2ggLnNlYXJjaC1iYXJfX2Zvcm0ge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAucmV2ZWFsLnNlYXJjaE1vZGFsIC5wcm9kdWN0LXNlYXJjaCAuc2VhcmNoLWJhcl9fZm9ybSB7XG4gICAgICAgICAgcGFkZGluZzogNHB4IDRweCA0cHggMzBweDsgfSB9XG4gICAgLnJldmVhbC5zZWFyY2hNb2RhbCAucHJvZHVjdC1zZWFyY2ggLnNlYXJjaC1iYXJfX2Zvcm0tc3VibWl0IHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIHRleHQtaW5kZW50OiAwO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0bztcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBmb250LXNpemU6IDAuOTM3NWVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgcGFkZGluZzogMTJweCAyNXB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBiYWNrZ3JvdW5kOiAjYjIwOTM5OyB9XG4gICAgICAucmV2ZWFsLnNlYXJjaE1vZGFsIC5wcm9kdWN0LXNlYXJjaCAuc2VhcmNoLWJhcl9fZm9ybS1zdWJtaXQ6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjYzU0NjZhIDAlLCAjYjIwOTM5IDEwMCUpO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXM7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3Ljk5ODc1ZW0pIHtcbiAgICAgICAgLnJldmVhbC5zZWFyY2hNb2RhbCAucHJvZHVjdC1zZWFyY2ggLnNlYXJjaC1iYXJfX2Zvcm0tc3VibWl0IHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYm90dG9tOiAyMHB4O1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpOyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5yZXZlYWwuc2VhcmNoTW9kYWwgLnByb2R1Y3Qtc2VhcmNoIC5zZWFyY2gtYmFyX19mb3JtLXN1Ym1pdDpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAgICAgICAucmV2ZWFsLnNlYXJjaE1vZGFsIC5wcm9kdWN0LXNlYXJjaCAuc2VhcmNoLWJhcl9fZm9ybS1zdWJtaXQ6aG92ZXI6YWZ0ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMDsgfSB9XG4gIC5yZXZlYWwuc2VhcmNoTW9kYWwgLnNlYXJjaC1yZXN1bHRzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAucmV2ZWFsLnNlYXJjaE1vZGFsIC5zZWFyY2gtcmVzdWx0cy5hY3RpdmUge1xuICAgICAgcGFkZGluZzogMjBweCA0MHB4OyB9XG4gICAgLnJldmVhbC5zZWFyY2hNb2RhbCAuc2VhcmNoLXJlc3VsdHM6YWZ0ZXIge1xuICAgICAgd2lkdGg6IDFweDtcbiAgICAgIGJhY2tncm91bmQ6ICNmMGYwZjA7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAyMHB4O1xuICAgICAgYm90dG9tOiAyMHB4O1xuICAgICAgbGVmdDogNTAlOyB9XG4gICAgLnJldmVhbC5zZWFyY2hNb2RhbCAuc2VhcmNoLXJlc3VsdHMgaDQge1xuICAgICAgZm9udC1zaXplOiAxLjA2MjVlbTtcbiAgICAgIGNvbG9yOiAjYjIwOTM5O1xuICAgICAgbWFyZ2luOiAxMHB4IDAgMjBweDsgfVxuICAgIC5yZXZlYWwuc2VhcmNoTW9kYWwgLnNlYXJjaC1yZXN1bHRzX19wb3N0IHtcbiAgICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7IH1cbiAgICAgIC5yZXZlYWwuc2VhcmNoTW9kYWwgLnNlYXJjaC1yZXN1bHRzX19wb3N0IHVsIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgICAgIC5yZXZlYWwuc2VhcmNoTW9kYWwgLnNlYXJjaC1yZXN1bHRzX19wb3N0IHVsIGxpIHtcbiAgICAgICAgICBtYXJnaW46IDAgMCAyNHB4O1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAvKiY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgICAgICAgICAgfSovIH1cbiAgICAgICAgICAucmV2ZWFsLnNlYXJjaE1vZGFsIC5zZWFyY2gtcmVzdWx0c19fcG9zdCB1bCBsaSBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgY29sb3I6ICMyMzRhNzE7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuODEyNWVtOyB9XG4gICAgICAgICAgICAucmV2ZWFsLnNlYXJjaE1vZGFsIC5zZWFyY2gtcmVzdWx0c19fcG9zdCB1bCBsaSBhIGltZyB7XG4gICAgICAgICAgICAgIHdpZHRoOiA3MHB4O1xuICAgICAgICAgICAgICBoZWlnaHQ6IDcwcHg7XG4gICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2Y1ZjVmNTtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7IH1cbiAgICAgICAgICAgIC5yZXZlYWwuc2VhcmNoTW9kYWwgLnNlYXJjaC1yZXN1bHRzX19wb3N0IHVsIGxpIGEgc3BhbiB7XG4gICAgICAgICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTVweDsgfVxuICAgIC5yZXZlYWwuc2VhcmNoTW9kYWwgLnNlYXJjaC1yZXN1bHRzX19wYWdlIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7IH1cbiAgICAgIC5yZXZlYWwuc2VhcmNoTW9kYWwgLnNlYXJjaC1yZXN1bHRzX19wYWdlIHVsIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgICAgIC5yZXZlYWwuc2VhcmNoTW9kYWwgLnNlYXJjaC1yZXN1bHRzX19wYWdlIHVsIGxpIHtcbiAgICAgICAgICBtYXJnaW46IDAgMCAyNHB4O1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgICAgICAgIC5yZXZlYWwuc2VhcmNoTW9kYWwgLnNlYXJjaC1yZXN1bHRzX19wYWdlIHVsIGxpIGEge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBjb2xvcjogIzIzNGE3MTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44MTI1ZW07IH1cbiAgICAgICAgICAgIC5yZXZlYWwuc2VhcmNoTW9kYWwgLnNlYXJjaC1yZXN1bHRzX19wYWdlIHVsIGxpIGEgaW1nIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDcwcHg7XG4gICAgICAgICAgICAgIGhlaWdodDogNzBweDtcbiAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZjVmNWY1O1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTVweDsgfVxuICAgICAgICAgICAgLnJldmVhbC5zZWFyY2hNb2RhbCAuc2VhcmNoLXJlc3VsdHNfX3BhZ2UgdWwgbGkgYSBzcGFuIHtcbiAgICAgICAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4OyB9XG4gICAgICAgICAgLnJldmVhbC5zZWFyY2hNb2RhbCAuc2VhcmNoLXJlc3VsdHNfX3BhZ2UgdWwgbGk6OmJlZm9yZSB7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC01cHg7IH1cblxuLnByaWNlIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4uc2hvcnRjb2RlU0tVIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4udXNkX3ByaWNlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5nYnBfcHJpY2Uge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5ldXJfcHJpY2Uge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5ldXJhbHRfcHJpY2Uge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbmh0bWxbbGFuZz1cImVzLU1YXCJdIC51c2RfcHJpY2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuaHRtbFtsYW5nPVwiZXMtTVhcIl0gLmdicF9wcmljZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuaHRtbFtsYW5nPVwiZXMtTVhcIl0gLmV1cl9wcmljZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuaHRtbFtsYW5nPVwiZXMtTVhcIl0gLmV1cmFsdF9wcmljZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuaHRtbFtsYW5nPVwiZW4tR0JcIl0gLnVzZF9wcmljZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuaHRtbFtsYW5nPVwiZW4tR0JcIl0gLmdicF9wcmljZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG5odG1sW2xhbmc9XCJlbi1HQlwiXSAuZXVyX3ByaWNlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5odG1sW2xhbmc9XCJlbi1HQlwiXSAuZXVyYWx0X3ByaWNlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5odG1sW2xhbmc9XCJlbi1FVVwiXSAudXNkX3ByaWNlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5odG1sW2xhbmc9XCJlbi1FVVwiXSAuZ2JwX3ByaWNlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5odG1sW2xhbmc9XCJlbi1FVVwiXSAuZXVyX3ByaWNlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbmh0bWxbbGFuZz1cImVuLUVVXCJdIC5ldXJhbHRfcHJpY2Uge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbmh0bWxbbGFuZz1cImRlLURFXCJdIC51c2RfcHJpY2UsIGh0bWxbbGFuZz1cIml0LUlUXCJdIC51c2RfcHJpY2UsIGh0bWxbbGFuZz1cImVzLUVTXCJdIC51c2RfcHJpY2UsIGh0bWxbbGFuZz1cImZyLUZSXCJdIC51c2RfcHJpY2Uge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbmh0bWxbbGFuZz1cImRlLURFXCJdIC5nYnBfcHJpY2UsIGh0bWxbbGFuZz1cIml0LUlUXCJdIC5nYnBfcHJpY2UsIGh0bWxbbGFuZz1cImVzLUVTXCJdIC5nYnBfcHJpY2UsIGh0bWxbbGFuZz1cImZyLUZSXCJdIC5nYnBfcHJpY2Uge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbmh0bWxbbGFuZz1cImRlLURFXCJdIC5ldXJfcHJpY2UsIGh0bWxbbGFuZz1cIml0LUlUXCJdIC5ldXJfcHJpY2UsIGh0bWxbbGFuZz1cImVzLUVTXCJdIC5ldXJfcHJpY2UsIGh0bWxbbGFuZz1cImZyLUZSXCJdIC5ldXJfcHJpY2Uge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbmh0bWxbbGFuZz1cImRlLURFXCJdIC5ldXJhbHRfcHJpY2UsIGh0bWxbbGFuZz1cIml0LUlUXCJdIC5ldXJhbHRfcHJpY2UsIGh0bWxbbGFuZz1cImVzLUVTXCJdIC5ldXJhbHRfcHJpY2UsIGh0bWxbbGFuZz1cImZyLUZSXCJdIC5ldXJhbHRfcHJpY2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLm1hc3RoZWFkLS1iZzpub3QoLm1hc3RoZWFkLS1zaW1wbGUpOm5vdCgubWFzdGhlYWQtLXN1cHBvcnQpOm5vdCgubWFzdGhlYWQtLWJsb2cpIC5jb21wYW55LWxvZ28ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc3ZnL2hvcGUtbG9nby5zdmdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgLypodG1sW2xhbmc9XCJlbi1FVVwiXSAmIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvaG9wZS1sb2dvLWV1LnN2Z1wiKTtcblx0fSovXG4gIC8qaHRtbFtsYW5nPVwiZW4tR0JcIl0gJiB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc3ZnL2hvcGUtbG9nby1nYi5zdmdcIik7XHRcdFxuXHR9Ki8gfVxuICBodG1sW2xhbmc9XCJkZS1ERVwiXSAubWFzdGhlYWQtLWJnOm5vdCgubWFzdGhlYWQtLXNpbXBsZSk6bm90KC5tYXN0aGVhZC0tc3VwcG9ydCk6bm90KC5tYXN0aGVhZC0tYmxvZykgLmNvbXBhbnktbG9nbyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9ob3BlLWxvZ28tZGUuc3ZnXCIpOyB9XG4gIGh0bWxbbGFuZz1cIml0LUlUXCJdIC5tYXN0aGVhZC0tYmc6bm90KC5tYXN0aGVhZC0tc2ltcGxlKTpub3QoLm1hc3RoZWFkLS1zdXBwb3J0KTpub3QoLm1hc3RoZWFkLS1ibG9nKSAuY29tcGFueS1sb2dvIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc3ZnL2hvcGUtbG9nby1pdC5zdmdcIik7IH1cbiAgaHRtbFtsYW5nPVwiZXMtRVNcIl0gLm1hc3RoZWFkLS1iZzpub3QoLm1hc3RoZWFkLS1zaW1wbGUpOm5vdCgubWFzdGhlYWQtLXN1cHBvcnQpOm5vdCgubWFzdGhlYWQtLWJsb2cpIC5jb21wYW55LWxvZ28sIGh0bWxbbGFuZz1cImVzLU1YXCJdIC5tYXN0aGVhZC0tYmc6bm90KC5tYXN0aGVhZC0tc2ltcGxlKTpub3QoLm1hc3RoZWFkLS1zdXBwb3J0KTpub3QoLm1hc3RoZWFkLS1ibG9nKSAuY29tcGFueS1sb2dvIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc3ZnL2hvcGUtbG9nby1lcy5zdmdcIik7IH1cbiAgaHRtbFtsYW5nPVwiZnItRlJcIl0gLm1hc3RoZWFkLS1iZzpub3QoLm1hc3RoZWFkLS1zaW1wbGUpOm5vdCgubWFzdGhlYWQtLXN1cHBvcnQpOm5vdCgubWFzdGhlYWQtLWJsb2cpIC5jb21wYW55LWxvZ28ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvaG9wZS1sb2dvLWZyLnN2Z1wiKTsgfVxuXG4ubWFzdGhlYWQtLW5vYmcgLmNvbXBhbnktbG9nbyxcbi5tYXN0aGVhZC0tc2ltcGxlIC5jb21wYW55LWxvZ28sXG4ubWFzdGhlYWQtLXN1cHBvcnQgLmNvbXBhbnktbG9nbyxcbi5tYXN0aGVhZC0tYmxvZyAuY29tcGFueS1sb2dvIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9ob3BlLWxvZ28tY29sb3Iuc3ZnXCIpO1xuICAvKmh0bWxbbGFuZz1cImVuLUVVXCJdICYge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9ob3BlLWxvZ28tY29sb3ItZXUuc3ZnXCIpO1xuXHR9Ki9cbiAgLypodG1sW2xhbmc9XCJlbi1HQlwiXSAmIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvaG9wZS1sb2dvLWNvbG9yLWdiLnN2Z1wiKTtcdFx0XG5cdH0qLyB9XG4gIGh0bWxbbGFuZz1cImRlLURFXCJdIC5tYXN0aGVhZC0tbm9iZyAuY29tcGFueS1sb2dvLCBodG1sW2xhbmc9XCJkZS1ERVwiXVxuICAubWFzdGhlYWQtLXNpbXBsZSAuY29tcGFueS1sb2dvLCBodG1sW2xhbmc9XCJkZS1ERVwiXVxuICAubWFzdGhlYWQtLXN1cHBvcnQgLmNvbXBhbnktbG9nbywgaHRtbFtsYW5nPVwiZGUtREVcIl1cbiAgLm1hc3RoZWFkLS1ibG9nIC5jb21wYW55LWxvZ28ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvaG9wZS1sb2dvLWNvbG9yLWRlLnN2Z1wiKTsgfVxuICBodG1sW2xhbmc9XCJpdC1JVFwiXSAubWFzdGhlYWQtLW5vYmcgLmNvbXBhbnktbG9nbywgaHRtbFtsYW5nPVwiaXQtSVRcIl1cbiAgLm1hc3RoZWFkLS1zaW1wbGUgLmNvbXBhbnktbG9nbywgaHRtbFtsYW5nPVwiaXQtSVRcIl1cbiAgLm1hc3RoZWFkLS1zdXBwb3J0IC5jb21wYW55LWxvZ28sIGh0bWxbbGFuZz1cIml0LUlUXCJdXG4gIC5tYXN0aGVhZC0tYmxvZyAuY29tcGFueS1sb2dvIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc3ZnL2hvcGUtbG9nby1jb2xvci1pdC5zdmdcIik7IH1cbiAgaHRtbFtsYW5nPVwiZXMtRVNcIl0gLm1hc3RoZWFkLS1ub2JnIC5jb21wYW55LWxvZ28sIGh0bWxbbGFuZz1cImVzLU1YXCJdIC5tYXN0aGVhZC0tbm9iZyAuY29tcGFueS1sb2dvLCBodG1sW2xhbmc9XCJlcy1FU1wiXVxuICAubWFzdGhlYWQtLXNpbXBsZSAuY29tcGFueS1sb2dvLCBodG1sW2xhbmc9XCJlcy1NWFwiXVxuICAubWFzdGhlYWQtLXNpbXBsZSAuY29tcGFueS1sb2dvLCBodG1sW2xhbmc9XCJlcy1FU1wiXVxuICAubWFzdGhlYWQtLXN1cHBvcnQgLmNvbXBhbnktbG9nbywgaHRtbFtsYW5nPVwiZXMtTVhcIl1cbiAgLm1hc3RoZWFkLS1zdXBwb3J0IC5jb21wYW55LWxvZ28sIGh0bWxbbGFuZz1cImVzLUVTXCJdXG4gIC5tYXN0aGVhZC0tYmxvZyAuY29tcGFueS1sb2dvLCBodG1sW2xhbmc9XCJlcy1NWFwiXVxuICAubWFzdGhlYWQtLWJsb2cgLmNvbXBhbnktbG9nbyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9ob3BlLWxvZ28tY29sb3ItZXMuc3ZnXCIpOyB9XG4gIGh0bWxbbGFuZz1cImZyLUZSXCJdIC5tYXN0aGVhZC0tbm9iZyAuY29tcGFueS1sb2dvLCBodG1sW2xhbmc9XCJmci1GUlwiXVxuICAubWFzdGhlYWQtLXNpbXBsZSAuY29tcGFueS1sb2dvLCBodG1sW2xhbmc9XCJmci1GUlwiXVxuICAubWFzdGhlYWQtLXN1cHBvcnQgLmNvbXBhbnktbG9nbywgaHRtbFtsYW5nPVwiZnItRlJcIl1cbiAgLm1hc3RoZWFkLS1ibG9nIC5jb21wYW55LWxvZ28ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvaG9wZS1sb2dvLWNvbG9yLWZyLnN2Z1wiKTsgfVxuXG4uYnRuIHtcbiAgZm9udC1zaXplOiAwLjkzNzVlbTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBhZGRpbmc6IDEycHggMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0cmFuc2l0aW9uOiBhbGwgMjAwbXM7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTsgfVxuICAuYnRuLS1uYXZ5LWJsdWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMzRhNzE7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmJ0bi0tbmF2eS1ibHVlOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFkM2Q1ZTsgfSB9XG4gIC5idG5fX2dyYXktZGlzYWJsZSB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc4Nzg3ODsgfVxuICAuYnRuX19yZWQtZ3JhZGllbnQge1xuICAgIGJhY2tncm91bmQ6ICNiMjA5Mzk7IH1cbiAgICAuYnRuX19yZWQtZ3JhZGllbnQ6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICNjNTQ2NmEgMCUsICNiMjA5MzkgMTAwJSk7XG4gICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICNjNTQ2NmEgMCUsICNiMjA5MzkgMTAwJSk7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjYzU0NjZhIDAlLCAjYjIwOTM5IDEwMCUpO1xuICAgICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9XCIjYzU0NjZhXCIsIGVuZENvbG9yc3RyPVwiI2IyMDkzOVwiLCBHcmFkaWVudFR5cGU9MCApO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtczsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuYnRuX19yZWQtZ3JhZGllbnQ6aG92ZXIsIC5idG5fX3JlZC1ncmFkaWVudDpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgICAgIC5idG5fX3JlZC1ncmFkaWVudDpob3ZlcjphZnRlciwgLmJ0bl9fcmVkLWdyYWRpZW50OmZvY3VzOmFmdGVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAwOyB9IH1cbiAgLmJ0bl9faW52ZXJ0IHtcbiAgICB0cmFuc2l0aW9uOiBlYXNlIGFsbCAwLjNzO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDEwcHggMDsgfVxuICAgIC5idG5fX2ludmVydC0td2hpdGUge1xuICAgICAgYm9yZGVyOiAycHggc29saWQgI2ZlZmVmZTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmJ0bl9faW52ZXJ0LS13aGl0ZTpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICAgICAgICBjb2xvcjogIzBhMGEwYTsgfSB9XG4gICAgLmJ0bl9faW52ZXJ0LS1ibHVlIHtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICMyMzRhNzE7XG4gICAgICBjb2xvcjogIzIzNGE3MTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmJ0bl9faW52ZXJ0LS1ibHVlOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjM0YTcxO1xuICAgICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9IH1cbiAgICAgIC5idG5fX2ludmVydC0tYmx1ZS5pcy1hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjA0NDY4O1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4ubWFpbi1jb250YWluZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgbWF4LXdpZHRoOiA3Ni4yNXJlbTtcbiAgbWFyZ2luOiAwIGF1dG87IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubWFpbi1jb250YWluZXIge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuXG4ubWFpbi1ncmlkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgbWFyZ2luLXRvcDogMXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5tYWluLWdyaWQge1xuICAgICAgbWFyZ2luLXRvcDogM3JlbTsgfSB9XG4gIC5tYWluLWdyaWQuc2lkZWJhci1sZWZ0IC5tYWluLWNvbnRlbnQge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5tYWluLWdyaWQuc2lkZWJhci1sZWZ0IC5zaWRlYmFyIHtcbiAgICBvcmRlcjogMjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5tYWluLWdyaWQuc2lkZWJhci1sZWZ0IC5tYWluLWNvbnRlbnQge1xuICAgICAgb3JkZXI6IDI7IH1cbiAgICAubWFpbi1ncmlkLnNpZGViYXItbGVmdCAuc2lkZWJhciB7XG4gICAgICBvcmRlcjogMTsgfSB9XG4gIC5tYWluLWdyaWQgLm1haW4tY29udGVudC1mdWxsLXdpZHRoIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07IH1cbiAgLm1haW4tZ3JpZCAubWFpbi1jb250ZW50IHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLm1haW4tZ3JpZCAubWFpbi1jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5tYWluLWdyaWQgLnNpZGViYXIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubWFpbi1ncmlkIC5zaWRlYmFyIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogMXJlbTsgfSB9XG5cbi5mb290ZXItY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZDogIzIzNGE3MTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmZvb3Rlci1jb250YWluZXIge1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjMjM0YTcxLCAjMjM0YTcxIDUwJSwgIzIwNDQ2OCA1MCUsICMyMDQ0NjggMTAwJSk7IH0gfVxuXG4ubWFpbi1mb290ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjM0YTcxO1xuICBsZXR0ZXItc3BhY2luZzogLjA1ZW07XG4gIHdpZHRoOiA5MCU7XG4gIG1heC13aWR0aDogMTIyMHB4O1xuICBtYXJnaW46IDAgYXV0bzsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5tYWluLWZvb3RlciB7XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIC8qIFBlcm1hbGluayAtIHVzZSB0byBlZGl0IGFuZCBzaGFyZSB0aGlzIGdyYWRpZW50OiBodHRwOi8vY29sb3J6aWxsYS5jb20vZ3JhZGllbnQtZWRpdG9yLyMyMzRhNzErNjIsMjM0YTcxKzYyLDIwNDQ2OCs2NSwyMDQ0NjgrNjUgKi9cbiAgICAgIGJhY2tncm91bmQ6ICMyMzRhNzE7XG4gICAgICAvKiBPbGQgYnJvd3NlcnMgKi9cbiAgICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsICMyMzRhNzEgNzAlLCAjMjM0YTcxIDcwJSwgIzIwNDQ2OCA3MCUsICMyMDQ0NjggNzAlKTtcbiAgICAgIC8qIEZGMy42LTE1ICovXG4gICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjMjM0YTcxIDcwJSwgIzIzNGE3MSA3MCUsICMyMDQ0NjggNzAlLCAjMjA0NDY4IDcwJSk7XG4gICAgICAvKiBDaHJvbWUxMC0yNSxTYWZhcmk1LjEtNiAqL1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjMjM0YTcxIDcwJSwgIzIzNGE3MSA3MCUsICMyMDQ0NjggNzAlLCAjMjA0NDY4IDcwJSk7XG4gICAgICAvKiBXM0MsIElFMTArLCBGRjE2KywgQ2hyb21lMjYrLCBPcGVyYTEyKywgU2FmYXJpNysgKi9cbiAgICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjMjM0YTcxJywgZW5kQ29sb3JzdHI9JyMyMDQ0NjgnLEdyYWRpZW50VHlwZT0xICk7XG4gICAgICAvKiBJRTYtOSAqLyB9IH1cbiAgLm1haW4tZm9vdGVyX19oZWFkaW5nIHtcbiAgICBmb250LXNpemU6IDFlbTsgfVxuICAgIC5tYWluLWZvb3Rlcl9faGVhZGluZyBhIHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICAgICAgcGFkZGluZzogMjBweCA0MHB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLm1haW4tZm9vdGVyX19oZWFkaW5nIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NWVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgICAgIC5tYWluLWZvb3Rlcl9faGVhZGluZyBhIHtcbiAgICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAubWFpbi1mb290ZXJfX2hlYWRpbmcgYSB7XG4gICAgICBjb2xvcjogIzZiOTZiZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAubWFpbi1mb290ZXJfX25hdiB7XG4gICAgcGFkZGluZzogMjBweCAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLm1haW4tZm9vdGVyX19uYXYgLmF3YXJkLWNvbCB7XG4gICAgICBmbGV4LWJhc2lzOiAxMjVweDtcbiAgICAgIG1hcmdpbjogMHB4IDUzLjVweCAwcHggMy41cHg7IH1cbiAgICAgIC5tYWluLWZvb3Rlcl9fbmF2IC5hd2FyZC1jb2wgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5tYWluLWZvb3Rlcl9fbmF2IC5hd2FyZC1jb2wgcCB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDBweDtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTRweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW4tdG9wOiAyN3B4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5tYWluLWZvb3Rlcl9fbmF2IHtcbiAgICAgICAgcGFkZGluZzogMTAwcHggMDtcbiAgICAgICAgd2lkdGg6IDgxJTtcbiAgICAgICAgZ2FwOiAyOHB4OyB9IH1cbiAgLm1haW4tZm9vdGVyX19uYXYtd3JhcCB7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGdhcDogMTBweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAubWFpbi1mb290ZXJfX25hdi13cmFwIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBnYXA6IDY0cHg7IH0gfVxuICAgIC5tYWluLWZvb3Rlcl9fbmF2LXdyYXAgPiBsaSB7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgLypcbiAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDE4NHB4O1xuICAgICAgfVxuICAgICAgJjpudGgtb2YtdHlwZSgyKSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDkycHg7XG4gICAgICB9XG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDEyMHB4O1xuICAgICAgfVxuICAgICAgKi8gfVxuICAgICAgLm1haW4tZm9vdGVyX19uYXYtd3JhcCA+IGxpID4gYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDQwcHg7XG4gICAgICAgIGNvbG9yOiAjNmI5NmJlOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgLm1haW4tZm9vdGVyX19uYXYtd3JhcCA+IGxpID4gYSB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgICAubWFpbi1mb290ZXJfX25hdi13cmFwID4gbGkgPiB1bCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAubWFpbi1mb290ZXJfX25hdi13cmFwID4gbGkgPiB1bCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gICAgICAubWFpbi1mb290ZXJfX25hdi13cmFwID4gbGkgPiB1bCBsaSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDE4cHg7IH1cbiAgICAgICAgLm1haW4tZm9vdGVyX19uYXYtd3JhcCA+IGxpID4gdWwgbGkgYSB7XG4gICAgICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEzcHg7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuM3B4OyB9XG4gIC5tYWluLWZvb3RlciAuY29tcGFueS1pbmZvIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjA0NDY4O1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAubWFpbi1mb290ZXIgLmNvbXBhbnktaW5mbyBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMC42ODc1ZW07XG4gICAgICBsaW5lLWhlaWdodDogMTNweDtcbiAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjY2NjY2NjY3OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5tYWluLWZvb3RlciAuY29tcGFueS1pbmZvIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDEwMHB4IDYwcHg7XG4gICAgICAgIHdpZHRoOiAzMy4zJTtcbiAgICAgICAgbWF4LXdpZHRoOiA0NzBweDsgfSB9XG4gIC5tYWluLWZvb3RlciAuc29jaWFsLWluZm8ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMTBweCAwIDAgMDtcbiAgICBwYWRkaW5nOiAyNXB4IDAgMCAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7IH1cbiAgICAubWFpbi1mb290ZXIgLnNvY2lhbC1pbmZvIGxpIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDAgMjBweCAwIDA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgICAubWFpbi1mb290ZXIgLnNvY2lhbC1pbmZvIGxpOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIC5tYWluLWZvb3RlciAuc29jaWFsLWluZm8gbGkgYSBpbWcge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgICBvcGFjaXR5OiAuNjtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zOyB9XG4gICAgICAubWFpbi1mb290ZXIgLnNvY2lhbC1pbmZvIGxpIGE6aG92ZXIgaW1nIHtcbiAgICAgICAgb3BhY2l0eTogMTsgfVxuXG4uZGlzY2xhaW1lciB7XG4gIHBhZGRpbmc6IDMycHggMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogMzJweCA0NHB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLmRpc2NsYWltZXIgdWwge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmbGV4LWJhc2lzOiAxMDAlOyB9XG4gIC5kaXNjbGFpbWVyIGxpIHtcbiAgICBmb250LXNpemU6IDAuNzVlbTtcbiAgICBjb2xvcjogIzIzNGE3MTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAuZGlzY2xhaW1lciBsaTpmaXJzdC1vZi10eXBlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLmRpc2NsYWltZXIgbGk6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoMzUsIDc0LCAxMTMsIDAuNSk7XG4gICAgICBtYXJnaW4tbGVmdDogMTJweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMTJweDsgfVxuICAgIC5kaXNjbGFpbWVyIGxpLmRpc2NsYWltZXJfX2NpdHkge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmRpc2NsYWltZXIgYSB7XG4gICAgY29sb3I6ICMyMzRhNzE7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZGlzY2xhaW1lciB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAgICAgLmRpc2NsYWltZXIgdWwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZmxleC1iYXNpczogdW5zZXQ7IH1cbiAgICAgIC5kaXNjbGFpbWVyIGxpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTJweDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDM1LCA3NCwgMTEzLCAwLjUpOyB9XG4gICAgICAgIC5kaXNjbGFpbWVyIGxpOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICAgICAuZGlzY2xhaW1lciBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuYm9keSN0aW55bWNlIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXgtd2lkdGg6IDc2LjI1cmVtO1xuICBwYWRkaW5nOiAxLjI1cmVtICFpbXBvcnRhbnQ7IH1cblxuLnBpdm90LWNvbnRhaW5lciB7XG4gIG1hcmdpbi1sZWZ0OiAtNXB4O1xuICBtYXJnaW4tcmlnaHQ6IC01cHg7IH1cbiAgLnBpdm90LWNvbnRhaW5lciBkaXYuY2VsbCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAucGl2b3QtY29udGFpbmVyIGRpdi5jZWxsIHtcbiAgICAgICAgd2lkdGg6IDMzLjMzMzMlOyB9IH1cblxuLnBpdm90IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyOiAxcHggI2IzYjNiMyBzb2xpZDtcbiAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gIGNvbG9yOiAjNzg3ODc4O1xuICB0cmFuc2l0aW9uOiBhbGwgMTAwbXM7IH1cbiAgLnBpdm90OmhvdmVyIHtcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzg3ODc4OyB9XG4gICAgLnBpdm90OmhvdmVyIC5waXZvdF9fdmFsdWUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzZkNmQ2ZDsgfVxuICAucGl2b3QuYWN0aXZlIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjM0YTcxO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLnBpdm90LmFjdGl2ZTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjM0YTcxO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gICAgICAucGl2b3QuYWN0aXZlOmhvdmVyIC5waXZvdF9fdmFsdWUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMjA0NDY4OyB9XG4gICAgLnBpdm90LmFjdGl2ZSAucGl2b3RfX3ZhbHVlIHtcbiAgICAgIGJhY2tncm91bmQ6ICMyMDQ0Njg7IH1cbiAgLnBpdm90X19rZXkge1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIHRyYW5zaXRpb246IGFsbCAxMDBtcztcbiAgICBwYWRkaW5nOiA2cHggMnB4OyB9XG4gIC5waXZvdF9fdmFsdWUge1xuICAgIGJhY2tncm91bmQ6ICNmMGYwZjA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDEwMG1zO1xuICAgIHBhZGRpbmc6IDRweCAycHg7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuLmNvbmZpZ3VyYXRvci10ZXh0IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMCAyMHB4IDEwcHg7IH1cbiAgLmNvbmZpZ3VyYXRvci10ZXh0LmlzLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmNvbmZpZ3VyYXRvci10ZXh0IHVsIGxpIHtcbiAgICBmb250LXNpemU6IDAuNzVlbTtcbiAgICBtYXJnaW46IDAgMCAxMnB4O1xuICAgIHBhZGRpbmc6IDAgMCAwIDIwcHg7IH1cblxuLmRlbW8taW1hZ2UsIC5tZWRpYS1lbnRyeSBpbWcsIC5tZWRpYS1lbnRyeSBpZnJhbWUsIC5tZWRpYS1saW5rIGltZyB7XG4gIHdpZHRoOiA5MCU7XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAuZGVtby1pbWFnZS5oaWRkZW4sIC5tZWRpYS1lbnRyeSBpbWcuaGlkZGVuLCAubWVkaWEtZW50cnkgaWZyYW1lLmhpZGRlbiwgLm1lZGlhLWxpbmsgaW1nLmhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uaW1hZ2UtbmF2IGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG5cbi5pbWFnZS1jb250YWluZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnByb2R1Y3RzLWJsb2NrIC5kcm9wZG93bnMtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tbGVmdDogLTVweDtcbiAgbWFyZ2luLXJpZ2h0OiAtNXB4O1xuICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gIC5wcm9kdWN0cy1ibG9jayAuZHJvcGRvd25zLWNvbnRhaW5lciAuZGRsLXdyYXBwZXIge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAucHJvZHVjdHMtYmxvY2sgLmRyb3Bkb3ducy1jb250YWluZXIgLmRkbC13cmFwcGVyW2RhdGEtYXR0PSdQb3dlciddIHtcbiAgICAgIGZsZXg6IDEgMCAxMDAlOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAucHJvZHVjdHMtYmxvY2sgLmRyb3Bkb3ducy1jb250YWluZXIgLmRkbC13cmFwcGVyW2RhdGEtYXR0PSdQb3dlciddIHtcbiAgICAgICAgICBmbGV4OiAxIDAgYXV0bzsgfSB9XG4gICAgLnByb2R1Y3RzLWJsb2NrIC5kcm9wZG93bnMtY29udGFpbmVyIC5kZGwtd3JhcHBlcltkYXRhLWF0dD0nV2luZG93J10ge1xuICAgICAgZmxleDogMiAwIGF1dG87IH1cbiAgICAucHJvZHVjdHMtYmxvY2sgLmRyb3Bkb3ducy1jb250YWluZXIgLmRkbC13cmFwcGVyW2RhdGEtYXR0PSdCZXplbCBNYXRlcmlhbCddIHtcbiAgICAgIGZsZXg6IDEgMCAxMDAlOyB9XG4gICAgLnByb2R1Y3RzLWJsb2NrIC5kcm9wZG93bnMtY29udGFpbmVyIC5kZGwtd3JhcHBlciBzZWxlY3Qge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjYjNiM2IzO1xuICAgICAgY29sb3I6ICM3ODc4Nzg7XG4gICAgICBmb250LXNpemU6IDAuODc1ZW07XG4gICAgICBwYWRkaW5nOiAxNXB4IDQwcHggMTVweCAxMHB4O1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9kZGwtYWNjZW50LnN2Z1wiKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoMTAwJSAtIDE1cHgpIGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTVweDtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cblxuLnByb2R1Y3RzLWJsb2NrIGg1Lm1pbmljb25maWctbGFiZWxzIHtcbiAgZm9udC1zaXplOiAwLjY4NzVlbTtcbiAgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG5cbi5wcm9kdWN0cy1ibG9jayBoNi5tZWRpYS0tY2FwdGlvbiB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc2l6ZTogLjdlbTtcbiAgbWFyZ2luOiAxNXB4IDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnpvb21Db250YWluZXIge1xuICB6LWluZGV4OiA5OTsgfVxuXG4uem9vbVdpbmRvdyB7XG4gIGJveC1zaGFkb3c6IDAgMCA1MHB4IHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuXG4uem9vbVdpbmRvd0NvbnRhaW5lciwgLnpvb21Db250YWluZXIge1xuICB3aWR0aDogMCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDAgIWltcG9ydGFudDsgfVxuXG4uZmxleGlibGUtY29udGVudC5hY2NvcmRpb25zIHtcbiAgcGFkZGluZzogMjBweCAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmZsZXhpYmxlLWNvbnRlbnQuYWNjb3JkaW9ucyB7XG4gICAgICBwYWRkaW5nOiA0MHB4IDA7IH0gfVxuXG4uYmxvY2stY2Fyb3VzZWwge1xuICBwYWRkaW5nOiA0NXB4IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ibG9jay1jYXJvdXNlbCB7XG4gICAgICBwYWRkaW5nOiA2MHB4IDA7IH0gfVxuICAuYmxvY2stY2Fyb3VzZWxfX2hlYWRpbmcge1xuICAgIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gICAgY29sb3I6ICMyMzRhNzE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5ibG9jay1jYXJvdXNlbF9faGVhZGluZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi41cmVtOyB9IH1cbiAgLmJsb2NrLWNhcm91c2VsX19jYXJvdXNlbCB7XG4gICAgbWFyZ2luLXRvcDogNzBweDsgfVxuICAuYmxvY2stY2Fyb3VzZWxfX2Nhcm91c2VsLWl0ZW0ge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICM3ODc4Nzg7XG4gICAgbWFyZ2luOiA0NXB4IGF1dG8gMDtcbiAgICBwYWRkaW5nOiA2NXB4IDEwJSAzMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMjg4cHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmJsb2NrLWNhcm91c2VsX19jYXJvdXNlbC1pdGVtIHtcbiAgICAgICAgcGFkZGluZzogMTA1cHggOTBweCA3MHB4O1xuICAgICAgICB3aWR0aDogNjAwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5ibG9jay1jYXJvdXNlbF9fY2Fyb3VzZWwtaXRlbSB7XG4gICAgICAgIHBhZGRpbmc6IDEwNXB4IDkwcHggNzBweDtcbiAgICAgICAgd2lkdGg6IDc4MHB4OyB9IH1cbiAgLmJsb2NrLWNhcm91c2VsX19jYXJvdXNlbC1pdGVtLmhhcy1pY29uOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTQ1cHg7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtNjBweDtcbiAgICBoZWlnaHQ6IDkwcHg7XG4gICAgd2lkdGg6IDEyMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gIC5ibG9jay1jYXJvdXNlbF9fY2Fyb3VzZWwtcGFnaW5hdGlvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiA5MjhweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgdG9wOiA2MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtNDY0cHg7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuYmxvY2stY2Fyb3VzZWxfX2Nhcm91c2VsLXBhZ2luYXRpb24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5ibG9jay1jYXJvdXNlbCAuc2xpY2stc2xpZGUge1xuICAgIG1hcmdpbjogMCAxNXB4O1xuICAgIG9wYWNpdHk6IC4zO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45KTtcbiAgICB0cmFuc2l0aW9uOiBlYXNlIGFsbCAwLjNzO1xuICAgIHdpZHRoOiAyODhweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuYmxvY2stY2Fyb3VzZWwgLnNsaWNrLXNsaWRlIHtcbiAgICAgICAgd2lkdGg6IDYwMHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAuYmxvY2stY2Fyb3VzZWwgLnNsaWNrLXNsaWRlIHtcbiAgICAgICAgbWFyZ2luOiAwIDYwcHg7XG4gICAgICAgIHdpZHRoOiA3ODBweDsgfSB9XG4gIC5ibG9jay1jYXJvdXNlbCAuc2xpY2stY3VycmVudCB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gIC5ibG9jay1jYXJvdXNlbCAuc2xpY2stYXJyb3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtMjRweDtcbiAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgd2lkdGg6IDI2cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgdGV4dC1pbmRlbnQ6IDEwMDAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXM7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLmJsb2NrLWNhcm91c2VsIC5zbGljay1hcnJvdy5zbGljay1wcmV2IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9wbmcvbGVmdC1hcnJvd0AzeC5wbmdcIik7XG4gICAgICBsZWZ0OiAwOyB9XG4gICAgICAuYmxvY2stY2Fyb3VzZWwgLnNsaWNrLWFycm93LnNsaWNrLXByZXY6aG92ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpOyB9XG4gICAgLmJsb2NrLWNhcm91c2VsIC5zbGljay1hcnJvdy5zbGljay1uZXh0IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9wbmcvcmlnaHQtYXJyb3dAM3gucG5nXCIpO1xuICAgICAgcmlnaHQ6IDA7IH1cbiAgICAgIC5ibG9jay1jYXJvdXNlbCAuc2xpY2stYXJyb3cuc2xpY2stbmV4dDpob3ZlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTsgfVxuICAuYmxvY2stY2Fyb3VzZWwgcCB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGNvbG9yOiAjYjIwOTM5O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4vKlxuLmNvcnBvcmF0ZS1nb2FscyB7XG4gIHBhZGRpbmc6IDQ1cHggMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICBwYWRkaW5nOiA5MHB4IDA7XG4gIH1cblxuICAmX19oZWFkaW5nIHtcbiAgICBAaW5jbHVkZSB0by1lbSgzMHB4KTtcbiAgICBjb2xvcjogJGNvbG9yLW5hdnktYmx1ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgICBAaW5jbHVkZSB0by1lbSg0MHB4KTtcbiAgICB9XG4gIH1cblxuICAmX19jYXJvdXNlbCB7XG4gICAgbWFyZ2luLXRvcDogNzBweDtcbiAgfVxuXG4gICZfX2Nhcm91c2VsLWl0ZW0ge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICR0ZXh0O1xuICAgIG1hcmdpbjogNDVweCBhdXRvIDA7XG4gICAgcGFkZGluZzogNjVweCAxMCUgMzBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDI4OHB4O1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC00NXB4O1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IC02MHB4O1xuICAgICAgaGVpZ2h0OiA5MHB4O1xuICAgICAgd2lkdGg6IDEyMHB4O1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9jb3Jwb3JhdGUtZ29hbHMtaWNvbi5zdmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgICAgcGFkZGluZzogMTA1cHggOTBweCA3MHB4O1xuICAgICAgd2lkdGg6IDYwMHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICB3aWR0aDogNzgwcHg7XG4gICAgfVxuICB9XG5cbiAgJl9fY2Fyb3VzZWwtcGFnaW5hdGlvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiA5MjhweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZWQ7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgaGVpZ2h0OiA0OHB4O1xuICAgIHRvcDogNjAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLTQ2NHB4O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuc2xpY2stc2xpZGUge1xuICAgIG1hcmdpbjogMCAxNXB4O1xuICAgIG9wYWNpdHk6IC4zO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45KTtcbiAgICB0cmFuc2l0aW9uOiBlYXNlIGFsbCAwLjNzO1xuICAgIHdpZHRoOiAyODhweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICAgIHdpZHRoOiA2MDBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgbWFyZ2luOiAwIDYwcHg7XG4gICAgICB3aWR0aDogNzgwcHg7XG4gICAgfVxuICB9XG5cbiAgLnNsaWNrLWN1cnJlbnQge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxuXG4gIC5zbGljay1hcnJvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC0yNHB4O1xuICAgIGhlaWdodDogNDhweDtcbiAgICB3aWR0aDogMjZweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB0ZXh0LWluZGVudDogMTAwMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuXG4gICAgJi5zbGljay1wcmV2IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvbGVmdC1hcnJvd0AzeC5wbmdcIik7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cblxuICAgICYuc2xpY2stbmV4dCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc3ZnL3JpZ2h0LWFycm93QDN4LnBuZ1wiKTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG4gIHAge1xuICAgIEBpbmNsdWRlIHRvLWVtKDIwcHgpO1xuICAgIGNvbG9yOiAkY29sb3ItYnJpbGxpYW50LXJlZDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn0qL1xuLyogLnNlcnZpY2Utc3VwcG9ydCAgd2FzIHJlbW92ZWQgYmVjYXVzZSBpdCB3YXMgYm9ya2luZyB3aXRoIHRoZSAmIHJlZnMgKi9cbi5idWxsZXRpbi1wb2ludHMtaWNvbiB7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDQ1cHggMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5idWxsZXRpbi1wb2ludHMtaWNvbiB7XG4gICAgICBwYWRkaW5nOiA2MHB4IDA7IH0gfVxuICAuYnVsbGV0aW4tcG9pbnRzLWljb25fX2hlYWRlciB7XG4gICAgbWFyZ2luOiAwIGF1dG8gNzVweDtcbiAgICBtYXgtd2lkdGg6IDc2MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuYnVsbGV0aW4tcG9pbnRzLWljb25fX2hlYWRpbmcge1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzUuNWVtKSB7XG4gICAgLmJ1bGxldGluLXBvaW50cy1pY29uX19ncmlkIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTcuNWVtKSB7XG4gICAgLmJ1bGxldGluLXBvaW50cy1pY29uX19ncmlkIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDExMjBweDsgfSB9XG4gIC5idWxsZXRpbi1wb2ludHMtaWNvbl9fZ3JpZC1pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA4MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1Ny41ZW0pIHtcbiAgICAgIC5idWxsZXRpbi1wb2ludHMtaWNvbl9fZ3JpZC1pdGVtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgICAuYnVsbGV0aW4tcG9pbnRzLWljb25fX2dyaWQtaXRlbTpmaXJzdC1jaGlsZCAuc2VydmljZS1zdXBwb3J0X19ncmlkLWl0ZW0taW1hZ2U6OmJlZm9yZSxcbiAgICAgICAgLmJ1bGxldGluLXBvaW50cy1pY29uX19ncmlkLWl0ZW06Zmlyc3QtY2hpbGQgLmJ1bGxldGluLXBvaW50c19fZ3JpZC1pdGVtLWltYWdlOjpiZWZvcmUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIC5idWxsZXRpbi1wb2ludHMtaWNvbl9fZ3JpZC1pdGVtIHAge1xuICAgICAgbWFyZ2luOiAwIDIwcHggMDtcbiAgICAgIGZvbnQtc2l6ZTogLjllbTsgfVxuICAgIC5idWxsZXRpbi1wb2ludHMtaWNvbl9fZ3JpZC1pdGVtOmZpcnN0LW9mLXR5cGUgPiBmaWd1cmU6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5idWxsZXRpbi1wb2ludHMtaWNvbl9fZ3JpZC1pdGVtLWltYWdlIHtcbiAgICBoZWlnaHQ6IDk1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNTVweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1Ny41ZW0pIHtcbiAgICAgIC5idWxsZXRpbi1wb2ludHMtaWNvbl9fZ3JpZC1pdGVtLWltYWdlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgIC5idWxsZXRpbi1wb2ludHMtaWNvbl9fZ3JpZC1pdGVtLWltYWdlOjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIG1hcmdpbi10b3A6IC01MHB4O1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICB3aWR0aDogMXB4OyB9IH1cbiAgICAuYnVsbGV0aW4tcG9pbnRzLWljb25fX2dyaWQtaXRlbS1pbWFnZSBpbWcge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiAxMzBweDtcbiAgICAgIG1heC1oZWlnaHQ6IDkwcHg7IH1cbiAgLmJ1bGxldGluLXBvaW50cy1pY29uIC5idG5fX2ludmVydCB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgd2lkdGg6IDE2M3B4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuXG4vKiAuZXhwZXJpZW5jZS1pbm5vdmF0aW9uIHdhcyByZW1vdmVkIGJlY2F1c2UgaXQgd2FzIGJvcmtpbmcgd2l0aCB0aGUgJiByZWZzICovXG4uYnVsbGV0aW4tcG9pbnRzIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIHBhZGRpbmc6IDQ1cHggMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5idWxsZXRpbi1wb2ludHMge1xuICAgICAgcGFkZGluZzogNjBweCAwOyB9IH1cbiAgLmJ1bGxldGluLXBvaW50c19faGVhZGVyIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6IDcyMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuYnVsbGV0aW4tcG9pbnRzX19oZWFkaW5nIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYnVsbGV0aW4tcG9pbnRzX19ncmlkIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfSB9XG4gIC5idWxsZXRpbi1wb2ludHNfX2dyaWQtaXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogMzJweDtcbiAgICBtYXJnaW4tdG9wOiA0MHB4OyB9XG4gICAgLmJ1bGxldGluLXBvaW50c19fZ3JpZC1pdGVtIHAge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmJ1bGxldGluLXBvaW50c19fZ3JpZC1pdGVtIGEge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIC5idWxsZXRpbi1wb2ludHNfX2dyaWQtaXRlbTo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc3ZnL3doaXRlLWFycm93LWljb24uc3ZnXCIpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMTdweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDNweDtcbiAgICAgIHdpZHRoOiAxN3B4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5idWxsZXRpbi1wb2ludHNfX2dyaWQtaXRlbSB7XG4gICAgICAgIHdpZHRoOiAzMS4yJTtcbiAgICAgICAgbWFyZ2luLXRvcDogNTVweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA1OHB4OyB9XG4gICAgICAgIC5idWxsZXRpbi1wb2ludHNfX2dyaWQtaXRlbTo6YmVmb3JlIHtcbiAgICAgICAgICBsZWZ0OiAyNnB4OyB9XG4gICAgICAgIC5idWxsZXRpbi1wb2ludHNfX2dyaWQtaXRlbTpudGgtb2YtdHlwZSgzbisxKSB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAzMnB4OyB9XG4gICAgICAgICAgLmJ1bGxldGluLXBvaW50c19fZ3JpZC1pdGVtOm50aC1vZi10eXBlKDNuKzEpOjpiZWZvcmUge1xuICAgICAgICAgICAgbGVmdDogMDsgfSB9XG5cbi5jbGllbnQtY2Fyb3VzZWwsXG4uY29tcGFueS1ncmlkLFxuLm91ci1jbGllbnQge1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgYmFja2dyb3VuZDogI2ZmZjsgfVxuICAuY2xpZW50LWNhcm91c2VsIC5zbGljay10cmFjayxcbiAgLmNvbXBhbnktZ3JpZCAuc2xpY2stdHJhY2ssXG4gIC5vdXItY2xpZW50IC5zbGljay10cmFjayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLmNsaWVudC1jYXJvdXNlbCAuc2xpY2stdHJhY2sgLmNsaWVudF9sb2dvLFxuICAgIC5jb21wYW55LWdyaWQgLnNsaWNrLXRyYWNrIC5jbGllbnRfbG9nbyxcbiAgICAub3VyLWNsaWVudCAuc2xpY2stdHJhY2sgLmNsaWVudF9sb2dvIHtcbiAgICAgIHBhZGRpbmc6IDAgMTVweDsgfVxuICAgICAgLmNsaWVudC1jYXJvdXNlbCAuc2xpY2stdHJhY2sgLmNsaWVudF9sb2dvIGltZyxcbiAgICAgIC5jb21wYW55LWdyaWQgLnNsaWNrLXRyYWNrIC5jbGllbnRfbG9nbyBpbWcsXG4gICAgICAub3VyLWNsaWVudCAuc2xpY2stdHJhY2sgLmNsaWVudF9sb2dvIGltZyB7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgbWF4LWhlaWdodDogMTIwcHg7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5jbGllbnQtY2Fyb3VzZWwgLnNsaWNrLWFycm93LFxuICAuY29tcGFueS1ncmlkIC5zbGljay1hcnJvdyxcbiAgLm91ci1jbGllbnQgLnNsaWNrLWFycm93IHtcbiAgICB3aWR0aDogMTdweDtcbiAgICBoZWlnaHQ6IDE3cHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2FlYWVhZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtaW5kZW50OiAxMDAlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAgIC5jbGllbnQtY2Fyb3VzZWwgLnNsaWNrLWFycm93LnNsaWNrLW5leHQsXG4gICAgLmNvbXBhbnktZ3JpZCAuc2xpY2stYXJyb3cuc2xpY2stbmV4dCxcbiAgICAub3VyLWNsaWVudCAuc2xpY2stYXJyb3cuc2xpY2stbmV4dCB7XG4gICAgICByaWdodDogLTUwcHg7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgIGJvcmRlci13aWR0aDogMnB4IDJweCAwIDBweDsgfVxuICAgIC5jbGllbnQtY2Fyb3VzZWwgLnNsaWNrLWFycm93LnNsaWNrLXByZXYsXG4gICAgLmNvbXBhbnktZ3JpZCAuc2xpY2stYXJyb3cuc2xpY2stcHJldixcbiAgICAub3VyLWNsaWVudCAuc2xpY2stYXJyb3cuc2xpY2stcHJldiB7XG4gICAgICBsZWZ0OiAtNTBweDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgIGJvcmRlci13aWR0aDogMnB4IDAgMCAycHg7IH1cbiAgLmNsaWVudC1jYXJvdXNlbF9fY29tcGFueS1sb2dvcyB1bCxcbiAgLmNvbXBhbnktZ3JpZF9fY29tcGFueS1sb2dvcyB1bCxcbiAgLm91ci1jbGllbnRfX2NvbXBhbnktbG9nb3MgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAuY2xpZW50LWNhcm91c2VsX19jb21wYW55LWxvZ29zIGxpLFxuICAuY29tcGFueS1ncmlkX19jb21wYW55LWxvZ29zIGxpLFxuICAub3VyLWNsaWVudF9fY29tcGFueS1sb2dvcyBsaSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmNsaWVudC1jYXJvdXNlbF9fY29tcGFueS1sb2dvcyBpbWcsXG4gIC5jb21wYW55LWdyaWRfX2NvbXBhbnktbG9nb3MgaW1nLFxuICAub3VyLWNsaWVudF9fY29tcGFueS1sb2dvcyBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuY2xpZW50LWNhcm91c2VsX19oZWFkaW5nLFxuICAuY29tcGFueS1ncmlkX19oZWFkaW5nLFxuICAub3VyLWNsaWVudF9faGVhZGluZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuXG4uY29tcGFueS1ncmlkIHtcbiAgcGFkZGluZzogMjBweCAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNvbXBhbnktZ3JpZCB7XG4gICAgICBwYWRkaW5nOiA2MHB4OyB9IH1cbiAgLmNvbXBhbnktZ3JpZCAuZ3JpZC14IHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICAuY29tcGFueS1ncmlkX19saXN0IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuY29tcGFueS1ncmlkX19saXN0LWl0ZW0ge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiA1MCU7XG4gICAgZmxleDogMCAxIDUwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRvcDogMXB4O1xuICAgIGxlZnQ6IDFweDsgfVxuICAgIC5jb21wYW55LWdyaWRfX2xpc3QtaXRlbSAubG9nby1jb250YWluZXIge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgxNzQsIDE3NCwgMTc0LCAwLjQpO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMTc0LCAxNzQsIDE3NCwgMC40KTsgfVxuICAgIC5jb21wYW55LWdyaWRfX2xpc3QtaXRlbSBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzUuNWVtKSB7XG4gICAgICAuY29tcGFueS1ncmlkX19saXN0LWl0ZW0ge1xuICAgICAgICB3aWR0aDogMzMuMzMzMzMlO1xuICAgICAgICBmbGV4OiAwIDEgMzMuMzMzMzMlOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmNvbXBhbnktZ3JpZF9fbGlzdC1pdGVtIHtcbiAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgZmxleDogMCAxIDI1JTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jb21wYW55LWdyaWRfX2xpc3QtaXRlbSB7XG4gICAgICAgIHdpZHRoOiAxNi42NjY2NyU7XG4gICAgICAgIGZsZXg6IDAgMSAxNi42NjY2NyU7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1Ny41ZW0pIHtcbiAgICAgIC5jb21wYW55LWdyaWRfX2xpc3QtaXRlbSB7XG4gICAgICAgIHdpZHRoOiAxMi41JTtcbiAgICAgICAgZmxleDogMCAxIDEyLjUlOyB9IH1cbiAgLmNvbXBhbnktZ3JpZF9fbGlzdC1pdGVtLmFjdGl2ZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICAgIGxlZnQ6IDFweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSwgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgICAgIC5jb21wYW55LWdyaWRfX2xpc3QtaXRlbS5hY3RpdmUge1xuICAgICAgICBsZWZ0OiAycHg7IH0gfVxuICAuY29tcGFueS1ncmlkX19saXN0LWl0ZW0uaW5hY3RpdmUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuY29tcGFueS1ncmlkX19jYXNlLXN0dWR5IHtcbiAgICBmb250LXNpemU6IDAuNjI1ZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogIzIzNGE3MTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3R0b206IDE1cHg7XG4gICAgei1pbmRleDogMjsgfVxuICAuY29tcGFueS1ncmlkIC5idG4ge1xuICAgIHdpZHRoOiAxNjJweDtcbiAgICBtYXJnaW46IDY1cHggYXV0byAwO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5jb21wYW55LWdyaWQgLnNpZGViYXItaW5kdXN0cmllcyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jb21wYW55LWdyaWQgLnNpZGViYXItaW5kdXN0cmllcyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICAuY29tcGFueS1ncmlkIC5zaWRlYmFyLWluZHVzdHJpZXMgaDQge1xuICAgICAgZm9udC1zaXplOiAwLjc1ZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbWFyZ2luOiAwIDAgMzBweCAwO1xuICAgICAgcGFkZGluZzogMCAwIDEwcHggMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYWVhZWFlOyB9XG4gIC5jb21wYW55LWdyaWQgLmNvbXBhbnktaW5kdXN0cnlfX2xpc3Qge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5jb21wYW55LWdyaWQgLmNvbXBhbnktaW5kdXN0cnlfX2xpc3QtaXRlbS5pcy1hY3RpdmUge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gICAgLmNvbXBhbnktZ3JpZCAuY29tcGFueS1pbmR1c3RyeV9fbGlzdC1pdGVtLmlzLWFjdGl2ZSBhLmFsbC1jdXN0b21lcnM6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuXG4uY29tcGFueS1sb2dvIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDQ1cHg7XG4gIHdpZHRoOiAyMDBweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjUuODc1ZW0pIHtcbiAgICAuY29tcGFueS1sb2dvIHtcbiAgICAgIHdpZHRoOiAyNzBweDtcbiAgICAgIGhlaWdodDogNjBweDsgfSB9XG5cbi5tYXN0aGVhZCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICAubWFzdGhlYWQgLmJ0biB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgLm1hc3RoZWFkIC5tYXN0aGVhZF9fc3ViLWhlYWRpbmcge1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAyZW07IH1cbiAgICAubWFzdGhlYWQgLm1hc3RoZWFkX19zdWItaGVhZGluZyArIC5idG4ge1xuICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5tYXN0aGVhZCAubWFzdGhlYWRfX3N1Yi1oZWFkaW5nIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjA5Mzc1ZW07IH1cbiAgICAgICAgLm1hc3RoZWFkIC5tYXN0aGVhZF9fc3ViLWhlYWRpbmcgKyAuYnRuIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH0gfVxuICAubWFzdGhlYWQtLWZ1bGwsIC5tYXN0aGVhZC0taG9tZSB7XG4gICAgaGVpZ2h0OiA3NXZoO1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5tYXN0aGVhZC0tZnVsbCwgLm1hc3RoZWFkLS1ob21lIHtcbiAgICAgICAgaGVpZ2h0OiA4NXZoO1xuICAgICAgICBtaW4taGVpZ2h0OiA2NTBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEyMHB4OyB9IH1cbiAgICAubWFzdGhlYWQtLWZ1bGwgLm1hc3RoZWFkX19zdWItaGVhZGluZyArIC5idG4sIC5tYXN0aGVhZC0taG9tZSAubWFzdGhlYWRfX3N1Yi1oZWFkaW5nICsgLmJ0biB7XG4gICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLm1hc3RoZWFkLS1mdWxsIC5tYXN0aGVhZF9fc3ViLWhlYWRpbmcgKyAuYnRuLCAubWFzdGhlYWQtLWhvbWUgLm1hc3RoZWFkX19zdWItaGVhZGluZyArIC5idG4ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9IH1cbiAgICAubWFzdGhlYWQtLWZ1bGwgKyAqLCAubWFzdGhlYWQtLWhvbWUgKyAqIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIG1heC13aWR0aDogMTIyMHB4O1xuICAgICAgd2lkdGg6IDkwJTtcbiAgICAgIHotaW5kZXg6IDk5O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAubWFzdGhlYWQtLWZ1bGwgKyAqOmFmdGVyLCAubWFzdGhlYWQtLWhvbWUgKyAqOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHotaW5kZXg6IC0xOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAubWFzdGhlYWQtLWZ1bGwgKyAqLCAubWFzdGhlYWQtLWhvbWUgKyAqIHtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHggOHB4IDAgMDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtMjAwcHggIWltcG9ydGFudDtcbiAgICAgICAgICBwYWRkaW5nOiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHotaW5kZXg6IDE7IH1cbiAgICAgICAgICAubWFzdGhlYWQtLWZ1bGwgKyAqID4gLmNvbnRhaW5lciwgLm1hc3RoZWFkLS1ob21lICsgKiA+IC5jb250YWluZXIge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgICAubWFzdGhlYWQtLWZ1bGwgKyAqOmFmdGVyLCAubWFzdGhlYWQtLWhvbWUgKyAqOmFmdGVyIHtcbiAgICAgICAgICAgIHRvcDogMjAwcHg7IH0gfVxuICAgIC5tYXN0aGVhZC0tZnVsbDphZnRlciwgLm1hc3RoZWFkLS1ob21lOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogNTAlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIC8qIFBlcm1hbGluayAtIHVzZSB0byBlZGl0IGFuZCBzaGFyZSB0aGlzIGdyYWRpZW50OiBodHRwOi8vY29sb3J6aWxsYS5jb20vZ3JhZGllbnQtZWRpdG9yLyMwMDAwMDArMCwwMDAwMDArMTAwJjErMCwwKzEwMCAqL1xuICAgICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCBibGFjayAwJSwgcmdiYSgwLCAwLCAwLCAwKSAxMDAlKTtcbiAgICAgIC8qIEZGMy42LTE1ICovXG4gICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIGJsYWNrIDAlLCByZ2JhKDAsIDAsIDAsIDApIDEwMCUpO1xuICAgICAgLyogQ2hyb21lMTAtMjUsU2FmYXJpNS4xLTYgKi9cbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIGJsYWNrIDAlLCByZ2JhKDAsIDAsIDAsIDApIDEwMCUpO1xuICAgICAgLyogVzNDLCBJRTEwKywgRkYxNissIENocm9tZTI2KywgT3BlcmExMissIFNhZmFyaTcrICovXG4gICAgICBvcGFjaXR5OiAuMzsgfVxuICAgIC5tYXN0aGVhZC0tZnVsbCBzZWN0aW9uLCAubWFzdGhlYWQtLWhvbWUgc2VjdGlvbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAyOyB9XG4gICAgLm1hc3RoZWFkLS1mdWxsIGhlYWRlciwgLm1hc3RoZWFkLS1ob21lIGhlYWRlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAzOyB9XG4gIC5tYXN0aGVhZC0tbGFyZ2UsIC5tYXN0aGVhZC0tYWJvdXQge1xuICAgIGhlaWdodDogNTV2aDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAgIC5tYXN0aGVhZC0tbGFyZ2UgLm1hc3RoZWFkX19oZWFkZXIsIC5tYXN0aGVhZC0tYWJvdXQgLm1hc3RoZWFkX19oZWFkZXIge1xuICAgICAgei1pbmRleDogOTk7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLm1hc3RoZWFkLS1sYXJnZSwgLm1hc3RoZWFkLS1hYm91dCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDUwMHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTIwcHg7IH0gfVxuICAgIC5tYXN0aGVhZC0tbGFyZ2UgLm1hc3RoZWFkX19zdWItaGVhZGluZyArIC5idG4sIC5tYXN0aGVhZC0tYWJvdXQgLm1hc3RoZWFkX19zdWItaGVhZGluZyArIC5idG4ge1xuICAgICAgbWFyZ2luLXRvcDogMHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLm1hc3RoZWFkLS1sYXJnZSAubWFzdGhlYWRfX3N1Yi1oZWFkaW5nICsgLmJ0biwgLm1hc3RoZWFkLS1hYm91dCAubWFzdGhlYWRfX3N1Yi1oZWFkaW5nICsgLmJ0biB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH0gfVxuICAgIC5tYXN0aGVhZC0tbGFyZ2UgKyAqLCAubWFzdGhlYWQtLWFib3V0ICsgKiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDEyMjBweDtcbiAgICAgIHdpZHRoOiA5MCU7XG4gICAgICB6LWluZGV4OiA5OTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLm1hc3RoZWFkLS1sYXJnZSArICo6YWZ0ZXIsIC5tYXN0aGVhZC0tYWJvdXQgKyAqOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHotaW5kZXg6IC0xOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAubWFzdGhlYWQtLWxhcmdlICsgKiwgLm1hc3RoZWFkLS1hYm91dCArICoge1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweCA4cHggMCAwO1xuICAgICAgICAgIG1hcmdpbi10b3A6IC0yMDBweCAhaW1wb3J0YW50O1xuICAgICAgICAgIHBhZGRpbmc6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgei1pbmRleDogMTsgfVxuICAgICAgICAgIC5tYXN0aGVhZC0tbGFyZ2UgKyAqID4gLmNvbnRhaW5lciwgLm1hc3RoZWFkLS1hYm91dCArICogPiAuY29udGFpbmVyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgICAgLm1hc3RoZWFkLS1sYXJnZSArICo6YWZ0ZXIsIC5tYXN0aGVhZC0tYWJvdXQgKyAqOmFmdGVyIHtcbiAgICAgICAgICAgIHRvcDogMjAwcHg7IH0gfVxuICAgIC5tYXN0aGVhZC0tbGFyZ2U6YWZ0ZXIsIC5tYXN0aGVhZC0tYWJvdXQ6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiA1MCU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgLyogUGVybWFsaW5rIC0gdXNlIHRvIGVkaXQgYW5kIHNoYXJlIHRoaXMgZ3JhZGllbnQ6IGh0dHA6Ly9jb2xvcnppbGxhLmNvbS9ncmFkaWVudC1lZGl0b3IvIzAwMDAwMCswLDAwMDAwMCsxMDAmMSswLDArMTAwICovXG4gICAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsIGJsYWNrIDAlLCByZ2JhKDAsIDAsIDAsIDApIDEwMCUpO1xuICAgICAgLyogRkYzLjYtMTUgKi9cbiAgICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgYmxhY2sgMCUsIHJnYmEoMCwgMCwgMCwgMCkgMTAwJSk7XG4gICAgICAvKiBDaHJvbWUxMC0yNSxTYWZhcmk1LjEtNiAqL1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgYmxhY2sgMCUsIHJnYmEoMCwgMCwgMCwgMCkgMTAwJSk7XG4gICAgICAvKiBXM0MsIElFMTArLCBGRjE2KywgQ2hyb21lMjYrLCBPcGVyYTEyKywgU2FmYXJpNysgKi9cbiAgICAgIG9wYWNpdHk6IC4zOyB9XG4gICAgLm1hc3RoZWFkLS1sYXJnZSBoZWFkZXIsIC5tYXN0aGVhZC0tbGFyZ2Ugc2VjdGlvbiwgLm1hc3RoZWFkLS1hYm91dCBoZWFkZXIsIC5tYXN0aGVhZC0tYWJvdXQgc2VjdGlvbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAyOyB9XG4gIC5tYXN0aGVhZC0tc2ltcGxlLCAubWFzdGhlYWQtLXN1cHBvcnQsIC5tYXN0aGVhZC0tYmxvZyB7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC5tYXN0aGVhZC0tc2ltcGxlIC5tYXN0aGVhZF9faGVhZGVyLCAubWFzdGhlYWQtLXN1cHBvcnQgLm1hc3RoZWFkX19oZWFkZXIsIC5tYXN0aGVhZC0tYmxvZyAubWFzdGhlYWRfX2hlYWRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NCwgMjU0LCAyNTQsIDAuOSk7XG4gICAgICB6LWluZGV4OiA5OTtcbiAgICAgIC8qLmNvbXBhbnktbG9nbyB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvaG9wZS1sb2dvLWNvbG9yLnN2Z1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgfSovIH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLm1hc3RoZWFkLS1zaW1wbGUgLm1hc3RoZWFkX19jb250ZW50LXdyYXBwZXIsIC5tYXN0aGVhZC0tc3VwcG9ydCAubWFzdGhlYWRfX2NvbnRlbnQtd3JhcHBlciwgLm1hc3RoZWFkLS1ibG9nIC5tYXN0aGVhZF9fY29udGVudC13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZzogODBweCAwIDIwcHg7IH0gfVxuICAubWFzdGhlYWQgLm1hc3RoZWFkX19jb250ZW50IHtcbiAgICBwYWRkaW5nLXRvcDogMHB4OyB9XG4gIC5tYXN0aGVhZC0tc2luZ2xlcG9zdCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2pwZy9hYm91dC1tYXN0aGVhZC1iZy5qcGdcIik7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLm1hc3RoZWFkLS1zaW5nbGVwb3N0IC5tYXN0aGVhZF9fY29udGVudC13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZzogNTBweCAwIDIwcHg7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAubWFzdGhlYWQtLXNpbmdsZXBvc3QgLm1hc3RoZWFkX19jb250ZW50IHtcbiAgICAgICAgbWF4LXdpZHRoOiA1NSU7IH0gfVxuICAubWFzdGhlYWQtLWhvbWUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9qcGcvaG9tZS1tYXN0aGVhZC5qcGdcIik7IH1cbiAgLm1hc3RoZWFkLS1hYm91dCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2pwZy9hYm91dC1tYXN0aGVhZC1iZy5qcGdcIik7IH1cbiAgLm1hc3RoZWFkLS1jdXN0b21lcnMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9qcGcvY3VzdG9tZXJzLW1hc3RoZWFkLWJnLmpwZ1wiKTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAubWFzdGhlYWQtLWN1c3RvbWVycyB7XG4gICAgICAgIGhlaWdodDogNTQ1cHg7IH0gfVxuICAubWFzdGhlYWQtLWNvbnRhY3Qge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9qcGcvY29udGFjdC1tYXN0aGVhZC1iZy5qcGdcIik7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLm1hc3RoZWFkLS1jb250YWN0IHtcbiAgICAgICAgaGVpZ2h0OiA1MzJweDsgfVxuICAgICAgICAubWFzdGhlYWQtLWNvbnRhY3QgLm1hc3RoZWFkX19jb250ZW50LXdyYXBwZXItLXBhZGRlZCB7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9IH1cbiAgLm1hc3RoZWFkLS1zZW8ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9qcGcvc2VvLWxhbmRpbmctYmcuanBnXCIpO1xuICAgIHBhZGRpbmctYm90dG9tOiA2MHB4OyB9XG4gICAgLm1hc3RoZWFkLS1zZW8gLm1hc3RoZWFkX19jb250ZW50LXdyYXBwZXIge1xuICAgICAgcGFkZGluZy10b3A6IDYwcHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLm1hc3RoZWFkLS1zZW8ge1xuICAgICAgICBoZWlnaHQ6IDgxNHB4OyB9XG4gICAgICAgIC5tYXN0aGVhZC0tc2VvIC5tYXN0aGVhZF9fY29udGVudC13cmFwcGVyIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAgICAgICAubWFzdGhlYWQtLXNlbyAubWFzdGhlYWRfX3N1Yi1oZWFkaW5nIHtcbiAgICAgICAgICBmb250LXNpemU6IDFlbTsgfVxuICAgICAgICAubWFzdGhlYWQtLXNlbyAubWFzdGhlYWRfX2NvbnRlbnQtd3JhcHBlciB7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfSB9XG4gIC5tYXN0aGVhZC0tcHJvZHVjdC1zdXBwb3J0IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcG5nL3Byb2R1Y3Qtc3VwcG9ydC1iZy5wbmdcIik7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAubWFzdGhlYWQtLXByb2R1Y3Qtc3VwcG9ydCAubWFzdGhlYWRfX2NvbnRlbnQtd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLm1hc3RoZWFkLS1mbGV4ZWQgLm1hc3RoZWFkX19jb250ZW50LXdyYXBwZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH0gfVxuICAubWFzdGhlYWRfX2hlYWRpbmcge1xuICAgIGZvbnQtc2l6ZTogMS43NWVtO1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtOyB9XG4gICAgLm1hc3RoZWFkX19oZWFkaW5nIHNwYW4ge1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC41NmVtO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5tYXN0aGVhZF9faGVhZGluZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi41ZW07IH1cbiAgICAgICAgLm1hc3RoZWFkX19oZWFkaW5nIHNwYW4ge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH0gfVxuICAubWFzdGhlYWRfX3N1Yi1oZWFkaW5nIHtcbiAgICBmb250LXNpemU6IDAuOTM3NWVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG4gICAgbWFyZ2luLXRvcDogMzBweDsgfVxuICAgIC5tYXN0aGVhZF9fc3ViLWhlYWRpbmcgKyAuYnRuIHtcbiAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAubWFzdGhlYWRfX3N1Yi1oZWFkaW5nIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjA2MjVlbTsgfVxuICAgICAgICAubWFzdGhlYWRfX3N1Yi1oZWFkaW5nICsgLmJ0biB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9IH1cbiAgLm1hc3RoZWFkX190ZXh0IHtcbiAgICBmb250LXNpemU6IDEuMTI1ZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTU1NTU1NTU2OyB9XG4gIC5tYXN0aGVhZF9faGVhZGVyIHtcbiAgICBwYWRkaW5nLXRvcDogMTVweDsgfVxuICAgIC5tYXN0aGVhZF9faGVhZGVyIC5jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLm1hc3RoZWFkX19oZWFkZXIge1xuICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7IH0gfVxuICAubWFzdGhlYWRfX2NvbnRlbnQtd3JhcHBlciAuZ3JpZC14IHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubWFzdGhlYWRfX2NvbnRlbnQtd3JhcHBlci0tcGFkZGVkIHtcbiAgICBwYWRkaW5nLXRvcDogNjBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuICAgIC5tYXN0aGVhZC0tZnVsbCAubWFzdGhlYWRfX2NvbnRlbnQtd3JhcHBlci0tcGFkZGVkIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLm1hc3RoZWFkX19jb250ZW50LXdyYXBwZXItLXBhZGRlZCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDIyMHB4KTsgfSB9XG4gIC5tYXN0aGVhZF9fY29udGVudC13cmFwcGVyLS1wYWRkZWQtMTAwIHtcbiAgICBwYWRkaW5nOiAzMHB4IDAgMjBweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAubWFzdGhlYWRfX2NvbnRlbnQtd3JhcHBlci0tcGFkZGVkLTEwMCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAubWFzdGhlYWRfX2NvbnRlbnQge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAubWFzdGhlYWRfX2NvbnRlbnQge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLm1hc3RoZWFkX19jb250ZW50LS1mdWxsLXdpZHRoIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lOyB9IH1cbiAgLm1hc3RoZWFkX19pbWFnZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwcHgpOyB9XG4gICAgLm1hc3RoZWFkX19pbWFnZSBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAubWFzdGhlYWRfX2luZm8ge1xuICAgIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgZmxleDogMSAwIGF1dG87IH1cbiAgICAubWFzdGhlYWRfX2luZm8gdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAubWFzdGhlYWRfX2luZm8gbGkge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgLm1hc3RoZWFkX19pbmZvIGxpIGltZyB7XG4gICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICBoZWlnaHQ6IDMwcHg7IH1cbiAgICAubWFzdGhlYWRfX2luZm8gYSB7XG4gICAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgLm1hc3RoZWFkX19pbmZvIHAge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLm1hc3RoZWFkX19pbmZvIHVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgICAgLm1hc3RoZWFkX19pbmZvIHVsLmljb24tZmVlZHMgbGkge1xuICAgICAgICBtYXJnaW4tbGVmdDogMzRweDsgfVxuICAgICAgICAubWFzdGhlYWRfX2luZm8gdWwuaWNvbi1mZWVkcyBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAgICAgICAubWFzdGhlYWRfX2luZm8gdWwuaWNvbi1mZWVkcyBsaTpmaXJzdC1jaGlsZDo6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgLm1hc3RoZWFkX19pbmZvIHVsLmljb24tZmVlZHMgbGk6OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgIGhlaWdodDogMTRweDtcbiAgICAgICAgICBsZWZ0OiAtMTdweDtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtN3B4OyB9XG4gICAgLm1hc3RoZWFkX19pbmZvIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNHB4OyB9XG4gICAgICAubWFzdGhlYWRfX2luZm8gbGk6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgICBsZWZ0OiAtMTJweDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiAtN3B4OyB9XG4gICAgICAubWFzdGhlYWRfX2luZm8gbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgICAgICAubWFzdGhlYWRfX2luZm8gbGk6Zmlyc3QtY2hpbGQ6OmJlZm9yZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAubWFzdGhlYWRfX2luZm8ge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICAgICAubWFzdGhlYWRfX2luZm8gdWwge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH0gfVxuICBib2R5LmFjdGl2ZU5hdiAubWFzdGhlYWQge1xuICAgIHotaW5kZXg6IDk5OTsgfVxuXG4ucGFnZS10ZW1wbGF0ZS1jb25maWd1cmF0b3ItZnJhbWUgLm1hc3RoZWFkX19jb250ZW50LXdyYXBwZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5pbWctYmctY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgfVxuXG4ubWFzdGhlYWQtZnVsbC1maWxsZXIge1xuICBoZWlnaHQ6IDc1dmg7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kOiAjMjM0YTcxO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IC0xOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLm1hc3RoZWFkLWZ1bGwtZmlsbGVyIHtcbiAgICAgIGhlaWdodDogODV2aDtcbiAgICAgIG1pbi1oZWlnaHQ6IDY1MHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDEyMHB4OyB9IH1cblxuLm1hc3RoZWFkLWxhcmdlLWZpbGxlciB7XG4gIGhlaWdodDogNTV2aDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIGJhY2tncm91bmQ6ICMyMzRhNzE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogLTE7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAubWFzdGhlYWQtbGFyZ2UtZmlsbGVyIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDUwMHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDEyMHB4OyB9IH1cblxuLm9wZW4tdGV4dCB7XG4gIC8qJi51LXJvdW5kLXNlY3Rpb24sXG4gIHNlY3Rpb24ubWFzdGhlYWQgKyAmIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiAxMjIwcHg7XG4gICAgICB3aWR0aDogOTAlO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyAvLyB3YXMgbWFwcHktYnAodGFibGV0LXZlcnQpXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTIwMHB4OyAvLyBXYXMgLTEyMCBidXQgdGhhdCBsZWF2ZXMgYSBodWdlIGdhcC5cbiAgICAgIH1cbiAgfSovXG4gIHBhZGRpbmc6IDQ1cHggMDtcbiAgLyouY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDc4MHB4O1xuICB9Ki8gfVxuICAub3Blbi10ZXh0IC5tYWluLWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA0OC43NXJlbTsgfVxuICAub3Blbi10ZXh0LndpZGUgLm1haW4tY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDc2LjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLm9wZW4tdGV4dCB7XG4gICAgICBwYWRkaW5nOiA2MHB4IDA7IH0gfVxuICAub3Blbi10ZXh0X19oZWFkaW5nIHtcbiAgICBmb250LXNpemU6IDIuNWVtO1xuICAgIGNvbG9yOiAjMjM0YTcxO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAub3Blbi10ZXh0X19oZWFkaW5nIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfSB9XG4gIC5vcGVuLXRleHRfX2NvcHkgcCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNzU7IH1cbiAgLm9wZW4tdGV4dF9fY29weSBhIHtcbiAgICBjb2xvcjogIzIzNGE3MTtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAub3Blbi10ZXh0X19jb3B5IC53cC12aWRlbyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTsgfVxuICAgIC5vcGVuLXRleHRfX2NvcHkgLndwLXZpZGVvIC53cC12aWRlby1zaG9ydGNvZGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbi8qLmhvcGUtbWlzc2lvbiB7XG4gIHBhZGRpbmc6IDQ1cHggMDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgcGFkZGluZzogOTBweCAwO1xuICB9XG5cbiAgLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA3ODBweDtcbiAgfVxuXG4gICZfX2hlYWRpbmcge1xuICAgIEBpbmNsdWRlIHRvLWVtKDQwcHgpO1xuICAgIGNvbG9yOiAkY29sb3ItbmF2eS1ibHVlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgfVxuICB9XG5cbiAgcCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNzU7XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkY29sb3ItbmF2eS1ibHVlO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuICB9XG59Ki9cbi5wcm9kdWN0LWNvbXBhcmUsXG4uaW5kdXN0cmlhbC1tb25pdG9ycyB7XG4gIHBhZGRpbmc6IDQ1cHggMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wcm9kdWN0LWNvbXBhcmUsXG4gICAgLmluZHVzdHJpYWwtbW9uaXRvcnMge1xuICAgICAgcGFkZGluZzogNjBweCAwOyB9IH1cbiAgLnByb2R1Y3QtY29tcGFyZV9faGVhZGVyLFxuICAuaW5kdXN0cmlhbC1tb25pdG9yc19faGVhZGVyIHtcbiAgICBtYXJnaW46IDAgYXV0byA3NXB4O1xuICAgIG1heC13aWR0aDogOTg1cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5wcm9kdWN0LWNvbXBhcmVfX2hlYWRpbmcsXG4gIC5pbmR1c3RyaWFsLW1vbml0b3JzX19oZWFkaW5nIHtcbiAgICBmb250LXNpemU6IDEuNzVlbTtcbiAgICBjb2xvcjogIzIzNGE3MTtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5wcm9kdWN0LWNvbXBhcmVfX2hlYWRpbmcsXG4gICAgICAuaW5kdXN0cmlhbC1tb25pdG9yc19faGVhZGluZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi41ZW07IH0gfVxuICAucHJvZHVjdC1jb21wYXJlX190YWJsZSxcbiAgLmluZHVzdHJpYWwtbW9uaXRvcnNfX3RhYmxlIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgxMjAsIDEyMCwgMTIwLCAwLjMpOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5wcm9kdWN0LWNvbXBhcmVfX3RhYmxlLFxuICAgICAgLmluZHVzdHJpYWwtbW9uaXRvcnNfX3RhYmxlIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMHB4OyB9IH1cbiAgICAucHJvZHVjdC1jb21wYXJlX190YWJsZS10b3Atcm93LFxuICAgIC5pbmR1c3RyaWFsLW1vbml0b3JzX190YWJsZS10b3Atcm93IHtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMjM0QTcxO1xuICAgICAgcGFkZGluZzogMCAzMHB4IDIwcHg7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAucHJvZHVjdC1jb21wYXJlX190YWJsZS10b3Atcm93LFxuICAgICAgICAuaW5kdXN0cmlhbC1tb25pdG9yc19fdGFibGUtdG9wLXJvdyB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDsgfSB9XG4gIC5wcm9kdWN0LWNvbXBhcmVfX3RhYmxlLWxhYmVsLFxuICAuaW5kdXN0cmlhbC1tb25pdG9yc19fdGFibGUtbGFiZWwge1xuICAgIGNvbG9yOiAjMjM0YTcxOyB9XG4gIC5wcm9kdWN0LWNvbXBhcmVfX3RhYmxlLWl0ZW0sXG4gIC5pbmR1c3RyaWFsLW1vbml0b3JzX190YWJsZS1pdGVtIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnByb2R1Y3QtY29tcGFyZV9fdGFibGUtaXRlbS5hY3RpdmUsXG4gICAgLmluZHVzdHJpYWwtbW9uaXRvcnNfX3RhYmxlLWl0ZW0uYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAucHJvZHVjdC1jb21wYXJlX190YWJsZS1pdGVtLmFjdGl2ZSxcbiAgICAgICAgLmluZHVzdHJpYWwtbW9uaXRvcnNfX3RhYmxlLWl0ZW0uYWN0aXZlIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4OyB9IH1cbiAgLnByb2R1Y3QtY29tcGFyZV9faW1hZ2UsXG4gIC5pbmR1c3RyaWFsLW1vbml0b3JzX19pbWFnZSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gIC5wcm9kdWN0LWNvbXBhcmVfX3JvdyxcbiAgLmluZHVzdHJpYWwtbW9uaXRvcnNfX3JvdyB7XG4gICAgcGFkZGluZzogMjBweCAwcHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMTIwLCAxMjAsIDEyMCwgMC4zKTtcbiAgICBjb2xvcjogIzc4Nzg3ODsgfVxuICAgIC5wcm9kdWN0LWNvbXBhcmVfX3Jvdy5zdGFydC1oaWRkZW4sXG4gICAgLmluZHVzdHJpYWwtbW9uaXRvcnNfX3Jvdy5zdGFydC1oaWRkZW4ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnByb2R1Y3QtY29tcGFyZV9fcm93LFxuICAgICAgLmluZHVzdHJpYWwtbW9uaXRvcnNfX3JvdyB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMzBweDsgfSB9XG4gICAgLnByb2R1Y3QtY29tcGFyZV9fcm93X19oZWFkaW5nLFxuICAgIC5pbmR1c3RyaWFsLW1vbml0b3JzX19yb3dfX2hlYWRpbmcge1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGNvbG9yOiAjMjM0YTcxOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAucHJvZHVjdC1jb21wYXJlX19yb3dfX2hlYWRpbmcsXG4gICAgICAgIC5pbmR1c3RyaWFsLW1vbml0b3JzX19yb3dfX2hlYWRpbmcge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfSB9XG4gICAgICAucHJvZHVjdC1jb21wYXJlX19yb3dfX2hlYWRpbmcgPiBzcGFuLFxuICAgICAgLmluZHVzdHJpYWwtbW9uaXRvcnNfX3Jvd19faGVhZGluZyA+IHNwYW4ge1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgICAgLnByb2R1Y3QtY29tcGFyZV9fcm93X19oZWFkaW5nID4gc3BhbiBzcGFuLFxuICAgICAgICAuaW5kdXN0cmlhbC1tb25pdG9yc19fcm93X19oZWFkaW5nID4gc3BhbiBzcGFuIHtcbiAgICAgICAgICBmbGV4OiAxIDAgNDAlOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICAgLnByb2R1Y3QtY29tcGFyZV9fcm93X19oZWFkaW5nID4gc3BhbixcbiAgICAgICAgICAuaW5kdXN0cmlhbC1tb25pdG9yc19fcm93X19oZWFkaW5nID4gc3BhbiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cbiAgICAgICAgLnByb2R1Y3QtY29tcGFyZV9fcm93X19oZWFkaW5nID4gc3BhbjpiZWZvcmUsXG4gICAgICAgIC5pbmR1c3RyaWFsLW1vbml0b3JzX19yb3dfX2hlYWRpbmcgPiBzcGFuOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogYXR0cihkYXRhLWhlYWRlcik7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgICAgZmxleDogMSAwIDYwJTtcbiAgICAgICAgICBjb2xvcjogIzIzNGE3MTtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgICAgIC5wcm9kdWN0LWNvbXBhcmVfX3Jvd19faGVhZGluZyA+IHNwYW46YmVmb3JlLFxuICAgICAgICAgICAgLmluZHVzdHJpYWwtbW9uaXRvcnNfX3Jvd19faGVhZGluZyA+IHNwYW46YmVmb3JlIHtcbiAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL3BuZy9ibHVlLWFycm93LXJpZ2h0LnBuZ1wiKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAxMHB4OyB9IH1cbiAgICAucHJvZHVjdC1jb21wYXJlX19yb3dfX2NvbnRlbnQsXG4gICAgLmluZHVzdHJpYWwtbW9uaXRvcnNfX3Jvd19fY29udGVudCB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgICAgLnByb2R1Y3QtY29tcGFyZV9fcm93X19jb250ZW50IHNwYW4uY29udGVudCxcbiAgICAgIC5pbmR1c3RyaWFsLW1vbml0b3JzX19yb3dfX2NvbnRlbnQgc3Bhbi5jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDsgfVxuICAgICAgLnByb2R1Y3QtY29tcGFyZV9fcm93X19jb250ZW50ID4gZGl2LFxuICAgICAgLmluZHVzdHJpYWwtbW9uaXRvcnNfX3Jvd19fY29udGVudCA+IGRpdiB7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgICAucHJvZHVjdC1jb21wYXJlX19yb3dfX2NvbnRlbnQgPiBkaXY6YmVmb3JlLFxuICAgICAgICAuaW5kdXN0cmlhbC1tb25pdG9yc19fcm93X19jb250ZW50ID4gZGl2OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogYXR0cihkYXRhLWhlYWRlcik7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgICAgZmxleDogMSAwIDYwJTtcbiAgICAgICAgICBjb2xvcjogIzIzNGE3MTtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICAgLnByb2R1Y3QtY29tcGFyZV9fcm93X19jb250ZW50ID4gZGl2LFxuICAgICAgICAgIC5pbmR1c3RyaWFsLW1vbml0b3JzX19yb3dfX2NvbnRlbnQgPiBkaXYge1xuICAgICAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgICAgICAgLnByb2R1Y3QtY29tcGFyZV9fcm93X19jb250ZW50ID4gZGl2OmJlZm9yZSxcbiAgICAgICAgICAgIC5pbmR1c3RyaWFsLW1vbml0b3JzX19yb3dfX2NvbnRlbnQgPiBkaXY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgLnByb2R1Y3QtY29tcGFyZV9fcm93IGltZyxcbiAgICAuaW5kdXN0cmlhbC1tb25pdG9yc19fcm93IGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgcGFkZGluZzogMjBweDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLnByb2R1Y3QtY29tcGFyZV9fcm93IGltZyxcbiAgICAgICAgLmluZHVzdHJpYWwtbW9uaXRvcnNfX3JvdyBpbWcge1xuICAgICAgICAgIHBhZGRpbmc6IDAgMTBweCAwIDA7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIG1heC13aWR0aDogMTAwcHg7IH0gfVxuICAucHJvZHVjdC1jb21wYXJlIC5idG5fX2ludmVydCxcbiAgLmluZHVzdHJpYWwtbW9uaXRvcnMgLmJ0bl9faW52ZXJ0IHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAucHJvZHVjdC1jb21wYXJlIC5idG5fX2ludmVydCxcbiAgICAgIC5pbmR1c3RyaWFsLW1vbml0b3JzIC5idG5fX2ludmVydCB7XG4gICAgICAgIHdpZHRoOiAxNThweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuICAucHJvZHVjdC1jb21wYXJlIGEsXG4gIC5pbmR1c3RyaWFsLW1vbml0b3JzIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcztcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAucHJvZHVjdC1jb21wYXJlIGE6aG92ZXIsXG4gICAgLmluZHVzdHJpYWwtbW9uaXRvcnMgYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjVmNWY1OyB9XG4gIC5wcm9kdWN0LWNvbXBhcmUgYS5wcm9kdWN0LWNvbXBhcmUtLXZpZXdtb3JlLFxuICAuaW5kdXN0cmlhbC1tb25pdG9ycyBhLnByb2R1Y3QtY29tcGFyZS0tdmlld21vcmUge1xuICAgIG1hcmdpbi10b3A6IDQwcHg7IH1cbiAgLnByb2R1Y3QtY29tcGFyZSBhLnByb2R1Y3QtY29tcGFyZS0tdmlld21vcmU6Zm9jdXMsXG4gIC5pbmR1c3RyaWFsLW1vbml0b3JzIGEucHJvZHVjdC1jb21wYXJlLS12aWV3bW9yZTpmb2N1cyB7XG4gICAgY29sb3I6ICMyMzRhNzE7IH1cbiAgLnByb2R1Y3QtY29tcGFyZSBhLnByb2R1Y3QtY29tcGFyZS0tdmlld21vcmU6aG92ZXIsXG4gIC5pbmR1c3RyaWFsLW1vbml0b3JzIGEucHJvZHVjdC1jb21wYXJlLS12aWV3bW9yZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzIzNGE3MTtcbiAgICBjb2xvcjogI2ZmZjsgfVxuXG4ucHJvZHVjdC1ncm91cHNfX3dyYXBwZXIge1xuICBwYWRkaW5nOiA0MHB4IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucHJvZHVjdC1ncm91cHNfX3dyYXBwZXIge1xuICAgICAgcGFkZGluZzogNzBweCAwOyB9IH1cblxuLnByb2R1Y3QtZ3JvdXBzX19oZWFkaW5nIHtcbiAgY29sb3I6ICMyMzRhNzE7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wcm9kdWN0LWdyb3Vwc19faGVhZGluZyB7XG4gICAgICBmb250LXNpemU6IDIuNWVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNzBweDsgfSB9XG5cbi5wcm9kdWN0LWdyb3Vwc19fZ3JpZCB7XG4gIC8qQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9Ki8gfVxuXG4ucHJvZHVjdC1ncm91cHNfX2dyaWQtaXRlbSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgLypmbGV4LWdyb3c6IDE7Ki9cbiAgLypAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgICB3aWR0aDogMzEuMiU7XG4gICAgICBtYXJnaW4tbGVmdDogMy4yJTtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH0qL1xuICAvKkBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICB3aWR0aDogMzMlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwMHB4O1xuICAgIH0qLyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0Ljk5ODc1ZW0pIHtcbiAgICAucHJvZHVjdC1ncm91cHNfX2dyaWQtaXRlbSB7XG4gICAgICBtYXJnaW4tdG9wOiA2MHB4OyB9XG4gICAgICAucHJvZHVjdC1ncm91cHNfX2dyaWQtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuXG4ucHJvZHVjdC1ncm91cHNfX2dyaWQtaXRlbS1oZWFkaW5nIHtcbiAgY29sb3I6ICMyMzRhNzE7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucHJvZHVjdC1ncm91cHNfX2dyaWQtaXRlbS1oZWFkaW5nIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNWVtOyB9IH1cblxuLnByb2R1Y3QtZ3JvdXBzX19ncmlkLWl0ZW0taW1hZ2Uge1xuICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG4gIC5wcm9kdWN0LWdyb3Vwc19fZ3JpZC1pdGVtLWltYWdlIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbi5wcm9kdWN0LWdyb3Vwc19fYnRuIHtcbiAgbWFyZ2luOiAyNHB4IGF1dG8gMDtcbiAgbWF4LXdpZHRoOiAzMDBweDsgfVxuXG4ucmVsYXRlZC1saW5rc19faGVhZGluZyBzcGFuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDsgfVxuXG4ucmVsYXRlZC1saW5rc19fZ3JpZCB7XG4gIG1hcmdpbi1ib3R0b206IDY1cHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM1LjVlbSkge1xuICAgIC5yZWxhdGVkLWxpbmtzX19ncmlkIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1Ny41ZW0pIHtcbiAgICAucmVsYXRlZC1saW5rc19fZ3JpZCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfSB9XG5cbi5yZWxhdGVkLWxpbmtzX19ncmlkLWl0ZW0ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjMjM0YTcxO1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBwYWRkaW5nOiAwIDVweDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBmb250LXNpemU6IC45ZW07XG4gIC8qQGluY2x1ZGUgYnJlYWtwb2ludChwaG9uZS1ob3Jpei10aW55KSB7XG4gICAgICB3aWR0aDogNDguNCU7XG4gICAgICBtYXJnaW4tbGVmdDogMy4yJTtcbiAgICAgIGZsZXgtZ3JvdzogMTtcblxuICAgICAgJjpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH0qLyB9XG4gIC5yZWxhdGVkLWxpbmtzX19ncmlkLWl0ZW0gYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICBwYWRkaW5nOiA1MHB4IDEwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1Ny41ZW0pIHtcbiAgICAucmVsYXRlZC1saW5rc19fZ3JpZC1pdGVtIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIC8qJjpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAzLjIlO1xuICAgICAgfVxuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9Ki8gfSB9XG5cbi5zZW8tYWNjZXNzb3JpZXMge1xuICBwYWRkaW5nOiA0MHB4IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuc2VvLWFjY2Vzc29yaWVzIHtcbiAgICAgIHBhZGRpbmc6IDcwcHggMDsgfSB9XG4gIC5zZW8tYWNjZXNzb3JpZXNfX2hlYWRpbmcge1xuICAgIGNvbG9yOiAjMjM0YTcxO1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5zZW8tYWNjZXNzb3JpZXNfX2hlYWRpbmcge1xuICAgICAgICBmb250LXNpemU6IDIuNWVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA3MHB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuc2VvLWFjY2Vzc29yaWVzX19ncmlkIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH0gfVxuICAuc2VvLWFjY2Vzc29yaWVzX19ncmlkLWl0ZW0ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmbGV4LWdyb3c6IDE7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45OTg3NWVtKSB7XG4gICAgICAuc2VvLWFjY2Vzc29yaWVzX19ncmlkLWl0ZW0ge1xuICAgICAgICBtYXJnaW4tdG9wOiA2MHB4OyB9XG4gICAgICAgIC5zZW8tYWNjZXNzb3JpZXNfX2dyaWQtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5zZW8tYWNjZXNzb3JpZXNfX2dyaWQtaXRlbSB7XG4gICAgICAgIHdpZHRoOiAzMS4yJTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDMuMiU7IH1cbiAgICAgICAgLnNlby1hY2Nlc3Nvcmllc19fZ3JpZC1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLnNlby1hY2Nlc3Nvcmllc19fZ3JpZC1pdGVtIHtcbiAgICAgICAgd2lkdGg6IDMzJTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwMHB4OyB9IH1cbiAgLnNlby1hY2Nlc3Nvcmllc19fZ3JpZC1pdGVtLWhlYWRpbmcge1xuICAgIGNvbG9yOiAjMjM0YTcxOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5zZW8tYWNjZXNzb3JpZXNfX2dyaWQtaXRlbS1oZWFkaW5nIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1ZW07IH0gfVxuICAuc2VvLWFjY2Vzc29yaWVzX19ncmlkLWl0ZW0taW1hZ2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cbiAgICAuc2VvLWFjY2Vzc29yaWVzX19ncmlkLWl0ZW0taW1hZ2UgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLnNlby1hY2Nlc3Nvcmllc19fYnRuIHtcbiAgICBtYXJnaW46IDI0cHggYXV0byAwO1xuICAgIG1heC13aWR0aDogMzAwcHg7IH1cblxuLnJhdGVkLWFjY2Vzc29yaWVzX19oZWFkaW5nIHNwYW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwOyB9XG5cbi5yYXRlZC1hY2Nlc3Nvcmllc19fZ3JpZCB7XG4gIG1hcmdpbi1ib3R0b206IDY1cHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM1LjVlbSkge1xuICAgIC5yYXRlZC1hY2Nlc3Nvcmllc19fZ3JpZCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTcuNWVtKSB7XG4gICAgLnJhdGVkLWFjY2Vzc29yaWVzX19ncmlkIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9IH1cblxuLnJhdGVkLWFjY2Vzc29yaWVzX19ncmlkLWl0ZW0ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGNvbG9yOiAjMjM0YTcxO1xuICBwYWRkaW5nOiA1MHB4IDEwcHg7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM1LjVlbSkge1xuICAgIC5yYXRlZC1hY2Nlc3Nvcmllc19fZ3JpZC1pdGVtIHtcbiAgICAgIHdpZHRoOiA0OC40JTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzLjIlO1xuICAgICAgZmxleC1ncm93OiAxOyB9XG4gICAgICAucmF0ZWQtYWNjZXNzb3JpZXNfX2dyaWQtaXRlbTpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3LjVlbSkge1xuICAgIC5yYXRlZC1hY2Nlc3Nvcmllc19fZ3JpZC1pdGVtIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgICAgLnJhdGVkLWFjY2Vzc29yaWVzX19ncmlkLWl0ZW06bnRoLW9mLXR5cGUoMm4rMSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogMy4yJTsgfVxuICAgICAgLnJhdGVkLWFjY2Vzc29yaWVzX19ncmlkLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbi5wcm9kdWN0LWhpZ2hsaWdodCxcbi5wcm9kdWN0LXN0b3J5IHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogMTIyMHB4O1xuICBwYWRkaW5nOiAyMHB4ICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiA5MCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM1LjVlbSkge1xuICAgIC5wcm9kdWN0LWhpZ2hsaWdodCxcbiAgICAucHJvZHVjdC1zdG9yeSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucHJvZHVjdC1oaWdobGlnaHQsXG4gICAgLnByb2R1Y3Qtc3Rvcnkge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH0gfVxuICAucHJvZHVjdC1oaWdobGlnaHQgLmhpZ2hsaWdodC1saXN0LFxuICAucHJvZHVjdC1zdG9yeSAuaGlnaGxpZ2h0LWxpc3Qge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5wcm9kdWN0LWhpZ2hsaWdodCAuZ3JpZC14LFxuICAucHJvZHVjdC1zdG9yeSAuZ3JpZC14IHtcbiAgICBtYXJnaW46IDAgLTEwcHg7IH1cbiAgLnByb2R1Y3QtaGlnaGxpZ2h0X19pdGVtLFxuICAucHJvZHVjdC1zdG9yeV9faXRlbSB7XG4gICAgZm9udC1zaXplOiAwLjg3NWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM1LjVlbSkge1xuICAgICAgLnByb2R1Y3QtaGlnaGxpZ2h0X19pdGVtLFxuICAgICAgLnByb2R1Y3Qtc3RvcnlfX2l0ZW0ge1xuICAgICAgICB3aWR0aDogNDguNCU7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAucHJvZHVjdC1oaWdobGlnaHRfX2l0ZW0sXG4gICAgICAucHJvZHVjdC1zdG9yeV9faXRlbSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDsgfSB9XG4gICAgLnByb2R1Y3QtaGlnaGxpZ2h0X19pdGVtIGEsXG4gICAgLnByb2R1Y3Qtc3RvcnlfX2l0ZW0gYSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLnByb2R1Y3QtaGlnaGxpZ2h0X19pdGVtIGE6aG92ZXIgaW1nLFxuICAgICAgLnByb2R1Y3Qtc3RvcnlfX2l0ZW0gYTpob3ZlciBpbWcge1xuICAgICAgICBvcGFjaXR5OiAuOTsgfVxuICAgIC5wcm9kdWN0LWhpZ2hsaWdodF9faXRlbS1pbWcsXG4gICAgLnByb2R1Y3Qtc3RvcnlfX2l0ZW0taW1nIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiAjNzg3ODc4OyB9XG4gIC5wcm9kdWN0LWhpZ2hsaWdodF9faW1hZ2UsXG4gIC5wcm9kdWN0LXN0b3J5X19pbWFnZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRyYW5zaXRpb246IGFsbCA0MDBtczsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucHJvZHVjdC1oaWdobGlnaHRfX2ltYWdlLFxuICAgICAgLnByb2R1Y3Qtc3RvcnlfX2ltYWdlIHtcbiAgICAgICAgbWF4LWhlaWdodDogMzI0cHg7IH0gfVxuICAucHJvZHVjdC1oaWdobGlnaHQgcCxcbiAgLnByb2R1Y3Qtc3RvcnkgcCB7XG4gICAgbWFyZ2luOiAxNXB4IDhweDtcbiAgICBjb2xvcjogIzc4Nzg3ODtcbiAgICBmb250LXNpemU6IDAuODc1ZW07IH1cblxuLnByb2R1Y3Qtc3BlYyxcbi5jb21wYXJlLXNwZWNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wcm9kdWN0LXNwZWMsXG4gICAgLmNvbXBhcmUtc3BlY3Mge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiAzMHB4IDUlO1xuICAgICAgLyogUGVybWFsaW5rIC0gdXNlIHRvIGVkaXQgYW5kIHNoYXJlIHRoaXMgZ3JhZGllbnQ6IGh0dHA6Ly9jb2xvcnppbGxhLmNvbS9ncmFkaWVudC1lZGl0b3IvI2U4ZThlOCs0NSxmNGY0ZjQrNDUgKi9cbiAgICAgIGJhY2tncm91bmQ6ICNlOGU4ZTg7XG4gICAgICAvKiBPbGQgYnJvd3NlcnMgKi9cbiAgICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsICNlOGU4ZTggNDUlLCAjZjRmNGY0IDQ1JSk7XG4gICAgICAvKiBGRjMuNi0xNSAqL1xuICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgI2U4ZThlOCA0NSUsICNmNGY0ZjQgNDUlKTtcbiAgICAgIC8qIENocm9tZTEwLTI1LFNhZmFyaTUuMS02ICovXG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNlOGU4ZTggNDUlLCAjZjRmNGY0IDQ1JSk7XG4gICAgICAvKiBXM0MsIElFMTArLCBGRjE2KywgQ2hyb21lMjYrLCBPcGVyYTEyKywgU2FmYXJpNysgKi9cbiAgICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjZThlOGU4JywgZW5kQ29sb3JzdHI9JyNmNGY0ZjQnLEdyYWRpZW50VHlwZT0xICk7XG4gICAgICAvKiBJRTYtOSAqLyB9IH1cbiAgLnByb2R1Y3Qtc3BlY19fZGVzY3JpcHRpb24sXG4gIC5jb21wYXJlLXNwZWNzX19kZXNjcmlwdGlvbiB7XG4gICAgcGFkZGluZzogNDVweCAwIDQ1cHggNSU7XG4gICAgd2lkdGg6IDkwJTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAucHJvZHVjdC1zcGVjX19kZXNjcmlwdGlvbixcbiAgICAgIC5jb21wYXJlLXNwZWNzX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlOGU4ZTg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG1heC13aWR0aDogNDIwcHg7XG4gICAgICAgIHBhZGRpbmc6IDQ1cHggNTBweCA0NXB4IDA7XG4gICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgIGZsZXgtZ3JvdzogMTsgfSB9XG4gIC5wcm9kdWN0LXNwZWNfX2Rlc2NyaXB0aW9uLWNvbnRlbnQgLmJ0bixcbiAgLmNvbXBhcmUtc3BlY3NfX2Rlc2NyaXB0aW9uLWNvbnRlbnQgLmJ0biB7XG4gICAgd2lkdGg6IDI1MHB4O1xuICAgIG1hcmdpbi10b3A6IDQwcHg7IH1cbiAgLnByb2R1Y3Qtc3BlY19fZGVzY3JpcHRpb24tY29udGVudCBwLFxuICAuY29tcGFyZS1zcGVjc19fZGVzY3JpcHRpb24tY29udGVudCBwIHtcbiAgICBmb250LXNpemU6IDAuOTM3NWVtO1xuICAgIGNvbG9yOiAjNmQ2ZDZkOyB9XG4gIC5wcm9kdWN0LXNwZWNfX2hlYWRpbmcsXG4gIC5jb21wYXJlLXNwZWNzX19oZWFkaW5nIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMS44NzVlbTtcbiAgICBjb2xvcjogIzIzNGE3MTtcbiAgICBsaW5lLWhlaWdodDogMS4zNWVtOyB9XG4gIC5wcm9kdWN0LXNwZWNfX3N1Yi1oZWFkaW5nLFxuICAuY29tcGFyZS1zcGVjc19fc3ViLWhlYWRpbmcge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAxLjI1ZW07XG4gICAgY29sb3I6ICMyMzRhNzE7IH1cbiAgLnByb2R1Y3Qtc3BlY19fZGV0YWlsLXdyYXBwZXIsXG4gIC5jb21wYXJlLXNwZWNzX19kZXRhaWwtd3JhcHBlciB7XG4gICAgbWFyZ2luLXRvcDogLTQ1cHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnByb2R1Y3Qtc3BlY19fZGV0YWlsLXdyYXBwZXIsXG4gICAgICAuY29tcGFyZS1zcGVjc19fZGV0YWlsLXdyYXBwZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWdyb3c6IDI7XG4gICAgICAgIG1heC13aWR0aDogODAwcHg7XG4gICAgICAgIHdpZHRoOiA3NSU7IH0gfVxuICAucHJvZHVjdC1zcGVjX19pbWFnZSxcbiAgLmNvbXBhcmUtc3BlY3NfX2ltYWdlIHtcbiAgICAvKiYtLWRlc2t0b3Age1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmLS1tb2JpbGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfSovIH1cbiAgICAucHJvZHVjdC1zcGVjX19pbWFnZSBpbWcsXG4gICAgLmNvbXBhcmUtc3BlY3NfX2ltYWdlIGltZyB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAucHJvZHVjdC1zcGVjX19pbWFnZSxcbiAgICAgIC5jb21wYXJlLXNwZWNzX19pbWFnZSB7XG4gICAgICAgIG1heC13aWR0aDogNDcwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5wcm9kdWN0LXNwZWNfX2ltYWdlLFxuICAgICAgLmNvbXBhcmUtc3BlY3NfX2ltYWdlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA4MHB4O1xuICAgICAgICAvKlxuICAgICAgJi0tZGVza3RvcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgICAmLS1tb2JpbGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfSovIH0gfVxuICAucHJvZHVjdC1zcGVjX19kZXRhaWxzLFxuICAuY29tcGFyZS1zcGVjc19fZGV0YWlscyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAucHJvZHVjdC1zcGVjX19kZXRhaWxzLFxuICAgICAgLmNvbXBhcmUtc3BlY3NfX2RldGFpbHMge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWF4LXdpZHRoOiAyOTBweDsgfVxuICAgICAgICAucHJvZHVjdC1zcGVjX19kZXRhaWxzIHVsLFxuICAgICAgICAuY29tcGFyZS1zcGVjc19fZGV0YWlscyB1bCB7XG4gICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBjb2xvcjogIzc4Nzg3ODsgfVxuICAgICAgICAucHJvZHVjdC1zcGVjX19kZXRhaWxzIGxpLFxuICAgICAgICAuY29tcGFyZS1zcGVjc19fZGV0YWlscyBsaSB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjc1ZW07XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMThweDtcbiAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAzMHB4O1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICAgIC5wcm9kdWN0LXNwZWNfX2RldGFpbHMgbGk6OmJlZm9yZSxcbiAgICAgICAgICAuY29tcGFyZS1zcGVjc19fZGV0YWlscyBsaTo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvYmx1ZS1hcnJvdy1pY29uLnN2Z1wiKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBsZWZ0O1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICB3aWR0aDogMTdweDtcbiAgICAgICAgICAgIGhlaWdodDogMTdweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAzcHg7XG4gICAgICAgICAgICBsZWZ0OiAwOyB9IH1cblxuLnByb2R1Y3QtdGlsZXMge1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWF4LXdpZHRoOiAxMjIwcHg7XG4gIHBhZGRpbmc6IDIwcHggMDtcbiAgd2lkdGg6IDkwJTsgfVxuICAucHJvZHVjdC10aWxlcy51LXJvdW5kLXNlY3Rpb24ge1xuICAgIC8qQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgICAgbWFyZ2luLXRvcDogLTIwMHB4O1xuICAgICAgcGFkZGluZzogMjBweDtcbiAgICB9Ki8gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzUuNWVtKSB7XG4gICAgLnByb2R1Y3QtdGlsZXMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnByb2R1Y3QtdGlsZXMge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH0gfVxuICAucHJvZHVjdC10aWxlcyAuZ3JpZC14IHtcbiAgICBtYXJnaW46IDAgLTEwcHg7IH1cbiAgLnByb2R1Y3QtdGlsZXNfX2l0ZW0ge1xuICAgIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNS41ZW0pIHtcbiAgICAgIC5wcm9kdWN0LXRpbGVzX19pdGVtIHtcbiAgICAgICAgd2lkdGg6IDQ4LjQlOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnByb2R1Y3QtdGlsZXNfX2l0ZW0ge1xuICAgICAgICBwYWRkaW5nOiAwIDEwcHg7IH0gfVxuICAucHJvZHVjdC10aWxlc19faW1hZ2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAucHJvZHVjdC10aWxlc19faW1hZ2Uge1xuICAgICAgICBtYXgtaGVpZ2h0OiAzMjRweDsgfSB9XG4gIC5wcm9kdWN0LXRpbGVzIHAge1xuICAgIG1hcmdpbjogMTVweCA4cHg7XG4gICAgY29sb3I6ICM3ODc4Nzg7XG4gICAgZm9udC1zaXplOiAwLjg3NWVtOyB9XG5cbi5yZWxhdGVkLXByb2R1Y3RzIHtcbiAgcGFkZGluZy1ib3R0b206IDYwcHg7IH1cbiAgLnJlbGF0ZWQtcHJvZHVjdHMudS1yb3VuZC1zZWN0aW9uIHtcbiAgICAvKkBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICAgIG1hcmdpbi10b3A6IC0yMDBweDtcbiAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgfSovIH1cbiAgLnJlbGF0ZWQtcHJvZHVjdHNfX2l0ZW0tZ3JpZCB7XG4gICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAucmVsYXRlZC1wcm9kdWN0c19faGVhZGluZyB7XG4gICAgZm9udC1zaXplOiAxLjg3NWVtO1xuICAgIGNvbG9yOiAjMjM0YTcxOyB9XG4gIC5yZWxhdGVkLXByb2R1Y3RzX19pdGVtIHtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgYm9yZGVyOiAzcHggc29saWQgI0YwRjBGMDtcbiAgICBiYWNrZ3JvdW5kOiAjZjBmMGYwO1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDQwMG1zOyB9XG4gICAgLnJlbGF0ZWQtcHJvZHVjdHNfX2l0ZW06aG92ZXIge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAyKTtcbiAgICAgIGJveC1zaGFkb3c6IDAgNXB4IDQwcHggMCByZ2JhKDAsIDAsIDAsIDAuMDUpOyB9XG4gICAgLnJlbGF0ZWQtcHJvZHVjdHNfX2l0ZW0gYSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5yZWxhdGVkLXByb2R1Y3RzX19pdGVtIGZpZ3VyZSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAzMHB4IDA7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xuICAgICAgYm9yZGVyLXJhZGl1czogNHB4IDRweCAwIDA7IH1cbiAgICAucmVsYXRlZC1wcm9kdWN0c19faXRlbSBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAucmVsYXRlZC1wcm9kdWN0c19faXRlbS1oZWFkaW5nIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgICBjb2xvcjogIzc4Nzg3ODtcbiAgICBwYWRkaW5nOiAyNXB4IDEwcHg7XG4gICAgbWFyZ2luOiAwOyB9XG5cbi50ZXh0LXRpbGVzIHtcbiAgcGFkZGluZzogNjBweCAwOyB9XG4gIC50ZXh0LXRpbGVzIGgyIHtcbiAgICBmb250LXNpemU6IDEuNzVlbTtcbiAgICBjb2xvcjogIzIzNGE3MTtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC50ZXh0LXRpbGVzIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjVlbTsgfSB9XG4gIC50ZXh0LXRpbGVzX19pdGVtIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYzdjM2MxO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgcGFkZGluZzogNDJweCAyMHB4IDg0cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC50ZXh0LXRpbGVzX19pdGVtIHAge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiA0MnB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgY29sb3I6ICM3ODc4Nzg7IH1cbiAgLnRleHQtdGlsZXMgYS50ZXh0LXRpbGVzX19pdGVtIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXM7IH1cbiAgICAudGV4dC10aWxlcyBhLnRleHQtdGlsZXNfX2l0ZW06aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODsgfVxuICAudGV4dC10aWxlc19faXRlbS1oZWFkaW5nIHtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBjb2xvcjogIzIzNGE3MTsgfVxuICAgIC50ZXh0LXRpbGVzX19pdGVtLWhlYWRpbmc6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgd2lkdGg6IDkwcHg7XG4gICAgICBoZWlnaHQ6IDgzcHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICBtYXJnaW46IDAgYXV0byA1NXB4OyB9XG4gIC50ZXh0LXRpbGVzIC50ZXh0LXRpbGVfX2N0YSB7XG4gICAgbWFyZ2luLXRvcDogMzBweDsgfVxuICAudGV4dC10aWxlcyAudGV4dC10aWxlX19saW5rIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjMjM0YTcxO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICMyMzRhNzE7XG4gICAgcGFkZGluZzogMTVweCAyNXB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcztcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogLjllbTtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7IH1cbiAgICAudGV4dC10aWxlcyAudGV4dC10aWxlX19saW5rOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICMyMzRhNzE7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4udGltZWxpbmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgcGFkZGluZzogNDVweCAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnRpbWVsaW5lIHtcbiAgICAgIHBhZGRpbmc6IDYwcHggMDsgfSB9XG4gIC50aW1lbGluZV9faGVhZGluZyB7XG4gICAgZm9udC1zaXplOiAyLjVlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogNjBweDsgfVxuICAudGltZWxpbmVfX2VudHJpZXMge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogOTkwcHg7IH1cbiAgICAudGltZWxpbmVfX2VudHJpZXM6OmJlZm9yZSwgLnRpbWVsaW5lX19lbnRyaWVzOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBvcmRlcjogMTsgfVxuICAgIC50aW1lbGluZV9fZW50cmllczo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLnRpbWVsaW5lX19lbnRyeSBwIHtcbiAgICBmb250LXNpemU6IDAuODEyNWVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTcuNDk4NzVlbSkge1xuICAgIC50aW1lbGluZV9fZW50cnkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAzNSU7XG4gICAgICBtYXJnaW4tYm90dG9tOiA2MHB4OyB9XG4gICAgICAudGltZWxpbmVfX2VudHJ5Omxhc3QtY2hpbGQgLnRpbWVsaW5lX19lbnRyeS1pY29uOjpiZWZvcmUsIC50aW1lbGluZV9fZW50cnk6bGFzdC1jaGlsZCAub3VyLWhpc3RvcnlfX3RpbWVsaW5lLWljb246OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTcuNWVtKSB7XG4gICAgLnRpbWVsaW5lX19lbnRyeSB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgIC50aW1lbGluZV9fZW50cnk6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAjZmVmZWZlO1xuICAgICAgICBtYXJnaW4tbGVmdDogMXB4O1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIxMHB4OyB9XG4gICAgICAgIC50aW1lbGluZV9fZW50cnk6bnRoLWNoaWxkKG9kZCkgLnRpbWVsaW5lX19lbnRyeS1oZWFkaW5nOjpiZWZvcmUsIC50aW1lbGluZV9fZW50cnk6bnRoLWNoaWxkKG9kZCkgLm91ci1oaXN0b3J5X190aW1lbGluZS1oZWFkaW5nOjpiZWZvcmUge1xuICAgICAgICAgIHJpZ2h0OiAtMjEycHg7IH1cbiAgICAgICAgLnRpbWVsaW5lX19lbnRyeTpudGgtY2hpbGQob2RkKSAudGltZWxpbmVfX2VudHJ5LWljb24sIC50aW1lbGluZV9fZW50cnk6bnRoLWNoaWxkKG9kZCkgLm91ci1oaXN0b3J5X190aW1lbGluZS1pY29uIHtcbiAgICAgICAgICByaWdodDogLTk1cHg7IH1cbiAgICAgIC50aW1lbGluZV9fZW50cnk6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjZmVmZWZlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDFweDtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIxMHB4OyB9XG4gICAgICAgIC50aW1lbGluZV9fZW50cnk6bnRoLWNoaWxkKGV2ZW4pIC50aW1lbGluZV9fZW50cnktaGVhZGluZzo6YmVmb3JlLCAudGltZWxpbmVfX2VudHJ5Om50aC1jaGlsZChldmVuKSAub3VyLWhpc3RvcnlfX3RpbWVsaW5lLWhlYWRpbmc6OmJlZm9yZSB7XG4gICAgICAgICAgbGVmdDogLTIxMnB4OyB9XG4gICAgICAgIC50aW1lbGluZV9fZW50cnk6bnRoLWNoaWxkKGV2ZW4pIC50aW1lbGluZV9fZW50cnktaWNvbiwgLnRpbWVsaW5lX19lbnRyeTpudGgtY2hpbGQoZXZlbikgLm91ci1oaXN0b3J5X190aW1lbGluZS1pY29uIHtcbiAgICAgICAgICBsZWZ0OiAtOTVweDsgfSB9XG4gIC50aW1lbGluZV9fZW50cnktaGVhZGluZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTcuNWVtKSB7XG4gICAgICAudGltZWxpbmVfX2VudHJ5LWhlYWRpbmcge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICAudGltZWxpbmVfX2VudHJ5LWhlYWRpbmc6OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB3aWR0aDogODRweDtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtMXB4OyB9IH1cbiAgLnRpbWVsaW5lX19lbnRyeS1pY29uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDY1cHg7XG4gICAgbWFyZ2luLXRvcDogLTMyLjVweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgd2lkdGg6IDY1cHg7IH1cbiAgICAudGltZWxpbmVfX2VudHJ5LWljb24gaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1Ny40OTg3NWVtKSB7XG4gICAgICAudGltZWxpbmVfX2VudHJ5LWljb24ge1xuICAgICAgICBsZWZ0OiAtMTAwcHg7IH1cbiAgICAgICAgLnRpbWVsaW5lX19lbnRyeS1pY29uOjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHdpZHRoOiAycHg7XG4gICAgICAgICAgaGVpZ2h0OiA4MCU7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gICAgICAgICAgdG9wOiA3NXB4OyB9IH1cblxuc2VjdGlvbi5mbGV4aWJsZS1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5tYWluLW5hdiB7XG4gIGxlZnQ6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogODBweDtcbiAgdHJhbnNpdGlvbjogZWFzZSBhbGwgMC40cztcbiAgei1pbmRleDogOTk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWShjYWxjKC0xMDAlIC0gODBweCkpOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3LjQ5ODc1ZW0pIHtcbiAgICAubWFpbi1uYXYubGFuZy1zd2l0Y2hlci1vcGVuIC5tZW51LWl0ZW0ge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIGJvcmRlci10b3A6IG5vbmU7IH1cbiAgICAgIC5tYWluLW5hdi5sYW5nLXN3aXRjaGVyLW9wZW4gLm1lbnUtaXRlbSBhIHtcbiAgICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgICAgcGFkZGluZzogMHB4IDMwcHg7IH0gfVxuICAuYWN0aXZlTmF2IC5tYWluLW5hdiB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3LjVlbSkge1xuICAgIC5tYWluLW5hdiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgIG9wYWNpdHk6IDE7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTcuNWVtKSB7XG4gICAgLm1haW4tbmF2IHVsIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcG9zaXRpb246IHN0YXRpYzsgfSB9XG4gIC5tYWluLW5hdiBsaSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgIzIzNGE3MTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTBweCk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDgwMG1zOyB9XG4gICAgLmFjdGl2ZU5hdiAubWFpbi1uYXYgbGkge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAuYWN0aXZlTmF2IC5tYWluLW5hdiBsaTpudGgtY2hpbGQoMSkge1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiA0MDBtczsgfVxuICAgICAgLmFjdGl2ZU5hdiAubWFpbi1uYXYgbGk6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMzAwbXM7IH1cbiAgICAgIC5hY3RpdmVOYXYgLm1haW4tbmF2IGxpOm50aC1jaGlsZCgzKSB7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDIwMG1zOyB9XG4gICAgICAuYWN0aXZlTmF2IC5tYWluLW5hdiBsaTpudGgtY2hpbGQoNCkge1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAxMDBtczsgfVxuICAgICAgLmFjdGl2ZU5hdiAubWFpbi1uYXYgbGk6bnRoLWNoaWxkKDUpIHtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMG1zOyB9XG4gICAgICAuYWN0aXZlTmF2IC5tYWluLW5hdiBsaTpudGgtY2hpbGQoNikge1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAtMTAwbXM7IH1cbiAgICAgIC5hY3RpdmVOYXYgLm1haW4tbmF2IGxpOm50aC1jaGlsZCg3KSB7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IC0yMDBtczsgfVxuICAgICAgLmFjdGl2ZU5hdiAubWFpbi1uYXYgbGk6bnRoLWNoaWxkKDgpIHtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogLTMwMG1zOyB9XG4gICAgICAuYWN0aXZlTmF2IC5tYWluLW5hdiBsaTpudGgtY2hpbGQoOSkge1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAtNDAwbXM7IH1cbiAgICAgIC5hY3RpdmVOYXYgLm1haW4tbmF2IGxpOm50aC1jaGlsZCgxMCkge1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAtNTAwbXM7IH1cbiAgICAubWFpbi1uYXYgbGkuc2VhcmNoLWxpbmsge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5tYWluLW5hdiBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItdG9wOiAwOyB9XG4gICAgLm1haW4tbmF2IGxpLmxhbmctc3dpdGNoZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgICAgIHdpZHRoOiAyMHB4OyB9XG4gICAgICAubWFpbi1uYXYgbGkubGFuZy1zd2l0Y2hlci5tZW51LWl0ZW0tbW9iaWxlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7IH1cbiAgICAgICAgLm1haW4tbmF2IGxpLmxhbmctc3dpdGNoZXIubWVudS1pdGVtLW1vYmlsZS5vcGVuIC5sYW5nLXN3aXRjaGVyLWxpbms6OmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKC0xKTsgfVxuICAgICAgICAubWFpbi1uYXYgbGkubGFuZy1zd2l0Y2hlci5tZW51LWl0ZW0tbW9iaWxlIGEubGFuZy1zd2l0Y2hlci1saW5rIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIHBhZGRpbmc6IDE1cHggMzBweCAxNXB4IDYwcHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9HbG9iZS5zdmdcIik7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDMwcHggY2VudGVyOyB9XG4gICAgICAgICAgLm1haW4tbmF2IGxpLmxhbmctc3dpdGNoZXIubWVudS1pdGVtLW1vYmlsZSBhLmxhbmctc3dpdGNoZXItbGluazo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3BuZy9ibHVlLXNlbGVjdC1hcnJvdy1kb3duLnBuZ1wiKTtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEzcHggYXV0bztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgdG9wOiAyMHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIHdpZHRoOiAxM3B4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMHB4OyB9XG4gICAgICAgIC5tYWluLW5hdiBsaS5sYW5nLXN3aXRjaGVyLm1lbnUtaXRlbS1tb2JpbGUgLmxhbmctc3dpdGNoZXItbGlzdCB7XG4gICAgICAgICAgdG9wOiBjYWxjKDEwMCUgKyAycHgpO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgIC5tYWluLW5hdiBsaS5sYW5nLXN3aXRjaGVyLm1lbnUtaXRlbS1tb2JpbGUgLmxhbmctbGluayB7XG4gICAgICAgICAgcGFkZGluZzogMTVweCAzMHB4O1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3LjQ5ODc1ZW0pIHtcbiAgICAgICAgLm1haW4tbmF2IGxpLmxhbmctc3dpdGNoZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgICAubWFpbi1uYXYgbGkubGFuZy1zd2l0Y2hlci5tZW51LWl0ZW0tbW9iaWxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICAgIC5tYWluLW5hdiBsaS5sYW5nLXN3aXRjaGVyIGEubGFuZy1zd2l0Y2hlci1saW5rIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDIwcHggYXV0bztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9HbG9iZS13aGl0ZS5zdmdcIik7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDVweDtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDVweDsgfVxuICAgICAgICAubWFpbi1uYXYgbGkubGFuZy1zd2l0Y2hlciBhLmxhbmctc3dpdGNoZXItbGluazpiZWZvcmUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5tYWluLW5hdiBsaS5sYW5nLXN3aXRjaGVyLm9wZW4gYS5sYW5nLXN3aXRjaGVyLWxpbmsge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc3ZnL0dsb2JlLnN2Z1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cbiAgICAgIC5tYWluLW5hdiBsaS5sYW5nLXN3aXRjaGVyLm9wZW4gLmxhbmctc3dpdGNoZXItbGlzdCB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIG1heC1oZWlnaHQ6IHVuc2V0OyB9XG4gICAgICAubWFpbi1uYXYgbGkubGFuZy1zd2l0Y2hlciBhLmxhbmctbGluayB7XG4gICAgICAgIGNvbG9yOiAjMjM0YTcxO1xuICAgICAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDMwMG1zOyB9XG4gICAgICAgIC5tYWluLW5hdiBsaS5sYW5nLXN3aXRjaGVyIGEubGFuZy1saW5rOmFmdGVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgbGVmdDogMTBweDtcbiAgICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbGlnaHRncmF5OyB9XG4gICAgICAgIC5tYWluLW5hdiBsaS5sYW5nLXN3aXRjaGVyIGEubGFuZy1saW5rOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xuICAgICAgICAgIG9wYWNpdHk6IDAuNTsgfVxuICAgICAgICAubWFpbi1uYXYgbGkubGFuZy1zd2l0Y2hlciBhLmxhbmctbGluazpiZWZvcmUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgLm1haW4tbmF2IGxpLmxhbmctc3dpdGNoZXIgYS5sYW5nLWxpbmsuYWN0aXZlIHtcbiAgICAgICAgICBjb2xvcjogI2IyMDkzOTtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAgICAgICAubWFpbi1uYXYgbGkubGFuZy1zd2l0Y2hlciBhLmxhbmctbGluazpsYXN0LWNoaWxkOmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lOyB9XG4gICAgICAubWFpbi1uYXYgbGkubGFuZy1zd2l0Y2hlciAubGFuZy1zd2l0Y2hlci1saXN0IHtcbiAgICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG4gICAgICAgIHdpZHRoOiAxNzVweDtcbiAgICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBwYWRkaW5nOiAwcHg7XG4gICAgICAgIHRvcDogMzBweDtcbiAgICAgICAgbGVmdDogLTEyMnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IC01cHggNXB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgICAgICAtbW96LWJveC1zaGFkb3c6IC01cHggNXB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgICAgICBib3gtc2hhZG93OiAtNXB4IDVweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuICAgIC5tYWluLW5hdiBsaS5vcm8tYWNjb3VudCwgLm1haW4tbmF2IGxpLm9yby1jYXJ0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4OyB9XG4gICAgICAubWFpbi1uYXYgbGkub3JvLWFjY291bnQgYSwgLm1haW4tbmF2IGxpLm9yby1jYXJ0IGEge1xuICAgICAgICBwYWRkaW5nLXRvcDogM3B4OyB9XG4gICAgICAgIC5tYWluLW5hdiBsaS5vcm8tYWNjb3VudCBhOjpiZWZvcmUsIC5tYWluLW5hdiBsaS5vcm8tY2FydCBhOjpiZWZvcmUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgLm1haW4tbmF2IGxpLm9yby1hY2NvdW50IGEgaSwgLm1haW4tbmF2IGxpLm9yby1jYXJ0IGEgaSB7XG4gICAgICAgICAgZm9udC1zaXplOiAyMHB4OyB9XG4gICAgICAubWFpbi1uYXYgbGkub3JvLWFjY291bnQubWVudS1pdGVtLW1vYmlsZSwgLm1haW4tbmF2IGxpLm9yby1jYXJ0Lm1lbnUtaXRlbS1tb2JpbGUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1Ny40OTg3NWVtKSB7XG4gICAgICAgIC5tYWluLW5hdiBsaS5vcm8tYWNjb3VudCwgLm1haW4tbmF2IGxpLm9yby1jYXJ0IHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICAgLm1haW4tbmF2IGxpLm9yby1hY2NvdW50Lm1lbnUtaXRlbS1tb2JpbGUsIC5tYWluLW5hdiBsaS5vcm8tY2FydC5tZW51LWl0ZW0tbW9iaWxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAgICAgICAgIC5tYWluLW5hdiBsaS5vcm8tYWNjb3VudC5tZW51LWl0ZW0tbW9iaWxlIGEsIC5tYWluLW5hdiBsaS5vcm8tY2FydC5tZW51LWl0ZW0tbW9iaWxlIGEge1xuICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMTVweDsgfSB9XG4gICAgLm1haW4tbmF2IGxpLm9yby1jYXJ0IHtcbiAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4OyB9XG4gICAgICAubWFpbi1uYXYgbGkub3JvLWNhcnQ6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTEwcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU0LCAyNTQsIDI1NCwgMC40KTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1Ny41ZW0pIHtcbiAgICAgIC5tYWluLW5hdiBsaSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjNzIGFsbDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgICAgLm1haW4tbmF2IGxpLnNlYXJjaC1saW5rIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgICAgLm1haW4tbmF2IGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItdG9wOiAwOyB9XG4gICAgICAgIC5tYWluLW5hdiBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAgICAgLm1haW4tbmF2IGxpLnNlYXJjaC1saW5rIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgICAubWFpbi1uYXYgbGkuc2VhcmNoLWxpbms6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0xMHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICB3aWR0aDogMXB4OyB9XG4gICAgICAgICAgLm1haW4tbmF2IGxpLnNlYXJjaC1saW5rIGEge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDc2cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICBoZWlnaHQ6IDE2cHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tYWluLW5hdiBsaSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA0MHB4OyB9IH1cbiAgICAubWFpbi1uYXYgbGkgYSB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgY29sb3I6ICMyMzRhNzE7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDE1cHggMzBweDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3LjVlbSkge1xuICAgICAgICAubWFpbi1uYXYgbGkgYSB7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG4gICAgICAgICAgbWF4LWhlaWdodDogNjBweDtcbiAgICAgICAgICBmb250LXNpemU6IDAuOTM3NWVtO1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgIC5tYWluLW5hdiBsaTpub3QoLnNlYXJjaC1saW5rKSBhOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAtMTBweDtcbiAgICAgIGhlaWdodDogM3B4O1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyMDBtczsgfVxuICAgIC5tYWluLW5hdiBsaTpub3QoLnNlYXJjaC1saW5rKSBhOmhvdmVyOmJlZm9yZSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3LjVlbSkge1xuICAgIC5tYXN0aGVhZC0tYmcgLm1haW4tbmF2IGEge1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAubWFzdGhlYWQtLWJnIC5tYWluLW5hdiBsaS5zZWFyY2gtbGluayBhIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvd2hpdGUtbG91cGUtaWNvbi5zdmdcIik7IH1cbiAgICAubWFzdGhlYWQtLWJnIC5tYWluLW5hdiBsaS5zZWFyY2gtbGluazo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU0LCAyNTQsIDI1NCwgMC40KTsgfVxuICAgIC5tYXN0aGVhZC0tc21hbGwgLm1haW4tbmF2IGEge1xuICAgICAgY29sb3I6ICM3ODc4Nzg7IH1cbiAgICAubWFzdGhlYWQtLW5vYmcgLm1haW4tbmF2IGxpLnNlYXJjaC1saW5rOjpiZWZvcmUsXG4gICAgLm1hc3RoZWFkLS1zbWFsbCAubWFpbi1uYXYgbGkuc2VhcmNoLWxpbms6OmJlZm9yZSxcbiAgICAubWFzdGhlYWQtLXNpbXBsZSAubWFpbi1uYXYgbGkuc2VhcmNoLWxpbms6OmJlZm9yZSxcbiAgICAubWFzdGhlYWQtLWJsb2cgLm1haW4tbmF2IGxpLnNlYXJjaC1saW5rOjpiZWZvcmUsXG4gICAgLm1hc3RoZWFkLS1zdXBwb3J0IC5tYWluLW5hdiBsaS5zZWFyY2gtbGluazo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTIwLCAxMjAsIDEyMCwgMC40KTsgfVxuICAgIC5tYXN0aGVhZC0tbm9iZyAubWFpbi1uYXYgbGkuc2VhcmNoLWxpbmsgYSxcbiAgICAubWFzdGhlYWQtLXNtYWxsIC5tYWluLW5hdiBsaS5zZWFyY2gtbGluayBhLFxuICAgIC5tYXN0aGVhZC0tc2ltcGxlIC5tYWluLW5hdiBsaS5zZWFyY2gtbGluayBhLFxuICAgIC5tYXN0aGVhZC0tYmxvZyAubWFpbi1uYXYgbGkuc2VhcmNoLWxpbmsgYSxcbiAgICAubWFzdGhlYWQtLXN1cHBvcnQgLm1haW4tbmF2IGxpLnNlYXJjaC1saW5rIGEge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9ncmV5LWxvdXBlLWljb24uc3ZnXCIpOyB9XG4gICAgLm1hc3RoZWFkLS1ub2JnIC5tYWluLW5hdiBsaS5sYW5nLXN3aXRjaGVyID4gYSxcbiAgICAubWFzdGhlYWQtLXNtYWxsIC5tYWluLW5hdiBsaS5sYW5nLXN3aXRjaGVyID4gYSxcbiAgICAubWFzdGhlYWQtLXNpbXBsZSAubWFpbi1uYXYgbGkubGFuZy1zd2l0Y2hlciA+IGEsXG4gICAgLm1hc3RoZWFkLS1ibG9nIC5tYWluLW5hdiBsaS5sYW5nLXN3aXRjaGVyID4gYSxcbiAgICAubWFzdGhlYWQtLXN1cHBvcnQgLm1haW4tbmF2IGxpLmxhbmctc3dpdGNoZXIgPiBhIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvR2xvYmUuc3ZnXCIpOyB9XG4gICAgLm1hc3RoZWFkLS1ub2JnIC5tYWluLW5hdiBsaS5sYW5nLXN3aXRjaGVyLm9wZW4gPiBhLFxuICAgIC5tYXN0aGVhZC0tc21hbGwgLm1haW4tbmF2IGxpLmxhbmctc3dpdGNoZXIub3BlbiA+IGEsXG4gICAgLm1hc3RoZWFkLS1zaW1wbGUgLm1haW4tbmF2IGxpLmxhbmctc3dpdGNoZXIub3BlbiA+IGEsXG4gICAgLm1hc3RoZWFkLS1ibG9nIC5tYWluLW5hdiBsaS5sYW5nLXN3aXRjaGVyLm9wZW4gPiBhLFxuICAgIC5tYXN0aGVhZC0tc3VwcG9ydCAubWFpbi1uYXYgbGkubGFuZy1zd2l0Y2hlci5vcGVuID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc3ZnL0dsb2JlLW5hdnkuc3ZnXCIpOyB9XG4gICAgLm1hc3RoZWFkLS1ub2JnIC5tYWluLW5hdiBsaS5vcm8tY2FydDo6YmVmb3JlLFxuICAgIC5tYXN0aGVhZC0tc21hbGwgLm1haW4tbmF2IGxpLm9yby1jYXJ0OjpiZWZvcmUsXG4gICAgLm1hc3RoZWFkLS1zaW1wbGUgLm1haW4tbmF2IGxpLm9yby1jYXJ0OjpiZWZvcmUsXG4gICAgLm1hc3RoZWFkLS1ibG9nIC5tYWluLW5hdiBsaS5vcm8tY2FydDo6YmVmb3JlLFxuICAgIC5tYXN0aGVhZC0tc3VwcG9ydCAubWFpbi1uYXYgbGkub3JvLWNhcnQ6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEyMCwgMTIwLCAxMjAsIDAuNCk7IH1cbiAgICAubWFzdGhlYWQtLW5vYmcgLm1haW4tbmF2IGEsXG4gICAgLm1hc3RoZWFkLS1zbWFsbCAubWFpbi1uYXYgYSxcbiAgICAubWFzdGhlYWQtLXNpbXBsZSAubWFpbi1uYXYgYSxcbiAgICAubWFzdGhlYWQtLWJsb2cgLm1haW4tbmF2IGEsXG4gICAgLm1hc3RoZWFkLS1zdXBwb3J0IC5tYWluLW5hdiBhIHtcbiAgICAgIGNvbG9yOiAjNzg3ODc4OyB9XG4gICAgICAubWFzdGhlYWQtLW5vYmcgLm1haW4tbmF2IGE6YmVmb3JlLFxuICAgICAgLm1hc3RoZWFkLS1zbWFsbCAubWFpbi1uYXYgYTpiZWZvcmUsXG4gICAgICAubWFzdGhlYWQtLXNpbXBsZSAubWFpbi1uYXYgYTpiZWZvcmUsXG4gICAgICAubWFzdGhlYWQtLWJsb2cgLm1haW4tbmF2IGE6YmVmb3JlLFxuICAgICAgLm1hc3RoZWFkLS1zdXBwb3J0IC5tYWluLW5hdiBhOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICM3ODc4NzggIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3LjQ5ODc1ZW0pIHtcbiAgLmFjdGl2ZU5hdiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIC5hY3RpdmVOYXY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7IH0gfVxuXG4jbW9iaWxlLXNlYXJjaCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQ6IDAgMDtcbiAgYm9yZGVyOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGhlaWdodDogNTBweDtcbiAgb3V0bGluZTogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uOiBlYXNlIGFsbCAwLjQ1cztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDUwcHg7XG4gIHotaW5kZXg6IDgwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL3dwLWNvbnRlbnQvdGhlbWVzL2hvcGVpbmRfZm91bmRhdGlvbi9kaXN0L2Fzc2V0cy9pbWFnZXMvc3ZnL3doaXRlLWxvdXBlLWljb24uc3ZnKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICB3aWR0aDogNTBweDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBoZWlnaHQ6IDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTk4NzVlbSkge1xuICAgICNtb2JpbGUtc2VhcmNoIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG5cbi5tYXN0aGVhZC0tbm9iZyAjbW9iaWxlLXNlYXJjaCxcbi5tYXN0aGVhZC0tc2ltcGxlICNtb2JpbGUtc2VhcmNoLFxuLm1hc3RoZWFkLS1zbWFsbCAjbW9iaWxlLXNlYXJjaCxcbi5tYXN0aGVhZC0tc3VwcG9ydCAjbW9iaWxlLXNlYXJjaCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvd3AtY29udGVudC90aGVtZXMvaG9wZWluZF9mb3VuZGF0aW9uL2Rpc3QvYXNzZXRzL2ltYWdlcy9zdmcvZ3JleS1sb3VwZS1pY29uLnN2Zyk7IH1cblxuI21haWx0by1jb3B5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvdXRsaW5lOiAwO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IG5vbmU7IH1cblxuI2J1cmdlciB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQ6IDAgMDtcbiAgYm9yZGVyOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiA1MHB4O1xuICBvdXRsaW5lOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zaXRpb246IGVhc2UgYWxsIDQ1MG1zO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogNTBweDtcbiAgei1pbmRleDogODA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3LjVlbSkge1xuICAgICNidXJnZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICNidXJnZXIgLmJhcixcbiAgI2J1cmdlciAuYmFycyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICNidXJnZXIgLmJhcnMge1xuICAgIGhlaWdodDogMThweDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICAgIG1hcmdpbi10b3A6IC05cHg7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC40cztcbiAgICB3aWR0aDogMjBweDtcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtOyB9XG4gICNidXJnZXIgLmJhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDJweDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjRzLCBtYXJnaW4gLjRzLCBvcGFjaXR5IC40cywgYmFja2dyb3VuZCAuM3M7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAubWFzdGhlYWQtLW5vYmcgI2J1cmdlciAuYmFyLFxuICAgIC5tYXN0aGVhZC0tc21hbGwgI2J1cmdlciAuYmFyLFxuICAgIC5tYXN0aGVhZC0tc2ltcGxlICNidXJnZXIgLmJhciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzg3ODc4OyB9XG4gICNidXJnZXIgLmJhcjIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg3cHgpOyB9XG4gICNidXJnZXIgLmJhcjMge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNHB4KTsgfVxuICAjYnVyZ2VyOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5hY3RpdmVOYXYgI2J1cmdlciAuYmFycyB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDdweCk7IH1cbiAgLmFjdGl2ZU5hdiAjYnVyZ2VyIC5iYXIxIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cbiAgLmFjdGl2ZU5hdiAjYnVyZ2VyIC5iYXIyIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIC5hY3RpdmVOYXYgI2J1cmdlciAuYmFyMyB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuXG4uc2l0ZXMtYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogIzE3NzliYTtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgYm94LXNoYWRvdzogMCAtMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjIpIGluc2V0O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJvcmRlcjogbm9uZTsgfVxuXG4uY2FyZHMtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuICAuY2FyZHMtY29udGFpbmVyIC5jYXJkIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07IH1cbiAgICAuY2FyZHMtY29udGFpbmVyIC5jYXJkIC5jYXJkLWNvbnRlbnQge1xuICAgICAgcGFkZGluZzogMXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY2FyZHMtY29udGFpbmVyIC5jYXJkIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMC43cmVtKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjM1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC4zNXJlbTsgfSB9XG5cbi5mZWF0dXJlZC1oZXJvIHtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBoZWlnaHQ6IDYuMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZmVhdHVyZWQtaGVybyB7XG4gICAgICBoZWlnaHQ6IDEyLjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLmZlYXR1cmVkLWhlcm8ge1xuICAgICAgaGVpZ2h0OiAyNXJlbTsgfSB9XG5cbi5kb3R0ZWQsIC5zZWN0aW9uLWRpdmlkZXIgaHIge1xuICBib3JkZXItc3R5bGU6IGRhc2hlZDtcbiAgbWFyZ2luOiAycmVtIDA7IH1cblxuW2RhdGEtd2hhdGlucHV0PVwibW91c2VcIl0gYTpmb2N1cywgYnV0dG9uOmZvY3VzIFtkYXRhLXdoYXRpbnB1dD1cInRvdWNoXCJdIGE6Zm9jdXMsIGJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnByb2R1Y3Qtc3Rvcnkge1xuICAgIG1hcmdpbi10b3A6IC0yMDBweDsgfSB9XG5cbi5wcm9kdWN0LXN0b3J5IC5jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItcmFkaXVzOiA4cHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucHJvZHVjdC1zdG9yeSAuY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBwYWRkaW5nOiAyMHB4OyB9IH1cblxuLnByb2R1Y3Qtc3RvcnkgLmdyaWQteCB7XG4gIG1hcmdpbjogMCAtMTBweDsgfVxuXG4ucHJvZHVjdC1zdG9yeV9faXRlbSB7XG4gIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnByb2R1Y3Qtc3RvcnlfX2l0ZW0ge1xuICAgICAgcGFkZGluZzogMCAxMHB4OyB9XG4gICAgICAucHJvZHVjdC1zdG9yeV9faXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbi5wcm9kdWN0LXN0b3J5X19pbWFnZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5wcm9kdWN0LXN0b3J5IHAge1xuICBtYXJnaW46IDE1cHggOHB4O1xuICBjb2xvcjogIzc4Nzg3ODtcbiAgZm9udC1zaXplOiAwLjg3NWVtOyB9XG5cbi5icmVhZGNydW1icy0tcGFnZSB7XG4gIHBhZGRpbmc6IDMwcHggMCAwOyB9XG5cbi5icmVhZGNydW1icy0tcHJvZHVjdHMge1xuICBwYWRkaW5nLWJvdHRvbTogMzBweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5icmVhZGNydW1icy0tcHJvZHVjdHMge1xuICAgICAgcGFkZGluZzogMjBweCAwIDMwcHg7IH0gfVxuXG4uYnJlYWRjcnVtYnNfX25hdiB1bCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuXG4uYnJlYWRjcnVtYnNfX25hdiBsaSB7XG4gIGZvbnQtc2l6ZTogMC43NWVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW4tbGVmdDogMTJweDsgfVxuICAuYnJlYWRjcnVtYnNfX25hdiBsaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIi9cIjtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4OyB9XG4gIC5icmVhZGNydW1ic19fbmF2IGxpOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5icmVhZGNydW1ic19fbmF2IGxpOmZpcnN0LWNoaWxkOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuXG4uYnJlYWRjcnVtYnNfX25hdiBhIHtcbiAgY29sb3I6ICMyMzRhNzE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLmJyZWFkY3J1bWJzX19oZWFkaW5nIHtcbiAgZm9udC1zaXplOiAyLjVlbTtcbiAgY29sb3I6ICMyMzRhNzE7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuLmMtYWNjb3JkaW9uX19oZWFkZXIge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmMtYWNjb3JkaW9uX19oZWFkZXIge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuYy1hY2NvcmRpb25fX25hdiB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAgIC5jLWFjY29yZGlvbl9fbmF2IGxpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDsgfSB9XG5cbi5jLWFjY29yZGlvbl9fZXhwYW5kIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDM1cHg7XG4gIHJpZ2h0OiAwO1xuICBmb250LXNpemU6IDAuNzVlbTtcbiAgY29sb3I6ICMyMzRhNzE7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jLWFjY29yZGlvbl9fZXhwYW5kIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLmMtYWNjb3JkaW9uX19leHBhbmQge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG5cbi5jLWFjY29yZGlvbl9fYnRuIHtcbiAgcGFkZGluZzogMTBweCA0MnB4O1xuICBmbGV4LWdyb3c6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgLmMtYWNjb3JkaW9uX19idG4uYnRuX19pbnZlcnQge1xuICAgIGJvcmRlci13aWR0aDogMXB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmMtYWNjb3JkaW9uX19idG4ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAuYy1hY2NvcmRpb25fX2J0bjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuLmMtYWNjb3JkaW9uX19jb250ZW50IHtcbiAgbWF4LWhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogZWFzZSBhbGwgMC4zcztcbiAgcGFkZGluZzogMjBweCA0MHB4IDAgNSU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYy1hY2NvcmRpb25fX2NvbnRlbnQge1xuICAgICAgcGFkZGluZzogMjBweCAwIDAgMDtcbiAgICAgIG1hcmdpbi1yaWdodDogNDBweDsgfSB9XG4gIC5jLWFjY29yZGlvbl9fY29udGVudC0tdGFibGUge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYy1hY2NvcmRpb25fX2NvbnRlbnQtLXNsaW0ge1xuICAgICAgcGFkZGluZy1yaWdodDogNDBweDsgfSB9XG5cbi5jLWFjY29yZGlvbl9faXRlbS1oZWFkaW5nIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxZW07XG4gIGNvbG9yOiAjMjM0YTcxO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmbGV4OiAxIDAgMTUlOyB9XG4gIC5jLWFjY29yZGlvbl9faXRlbS1oZWFkaW5nOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvZmFxLXNob3ctaWNvbi5zdmdcIik7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIG1hcmdpbi10b3A6IC04cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogNTAlO1xuICAgIHdpZHRoOiAyMHB4OyB9XG4gIC5jLWFjY29yZGlvbl9faXRlbS1oZWFkaW5nIHNwYW4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4OyB9XG5cbi5jLWFjY29yZGlvbl9faXRlbSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIHBhZGRpbmc6IDI1cHggMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5jLWFjY29yZGlvbl9faXRlbTpsYXN0LW9mLXR5cGUge1xuICAgIGJvcmRlci1ib3R0b206IDA7IH1cbiAgLmMtYWNjb3JkaW9uX19pdGVtIHAge1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmMtYWNjb3JkaW9uX19pdGVtIHVsLCAuYy1hY2NvcmRpb25fX2l0ZW0gb2wge1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG4gIC5jLWFjY29yZGlvbl9faXRlbS0tYWN0aXZlID4gLmMtYWNjb3JkaW9uX19pdGVtLWhlYWRpbmc6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9mYXEtaGlkZS1pY29uLnN2Z1wiKTtcbiAgICB0b3A6IDM1cHg7IH1cbiAgLmMtYWNjb3JkaW9uX19pdGVtLS1hY3RpdmUgPiAuYy1hY2NvcmRpb25fX2NvbnRlbnQge1xuICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAuYy1hY2NvcmRpb25fX2l0ZW0gLmMtYWNjb3JkaW9uX19pdGVtIC5jLWFjY29yZGlvbl9faXRlbS1oZWFkaW5nIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi50YWJzIHtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAudGFicy10aXRsZSB7XG4gICAgdHJhbnNpdGlvbjogZWFzZSBhbGwgMC4zcztcbiAgICBwYWRkaW5nLXJpZ2h0OiAwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC50YWJzLXRpdGxlOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvc3ZnL2RkbC1hY2NlbnQtd2hpdGUuc3ZnXCIpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMjBweDtcbiAgICAgIHRvcDogY2FsYyg1MCUgLSA1cHgpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgei1pbmRleDogMTsgfVxuICAgIC50YWJzLXRpdGxlIGEge1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIHBhZGRpbmc6IDE1cHggMjVweDtcbiAgICAgIGNvbG9yOiAjMjM0YTcxO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIC50YWJzLXRpdGxlIGE6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM1LCA3NCwgMTEzLCAwLjEpOyB9XG4gICAgLnRhYnMtdGl0bGUuaXMtYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAgIC50YWJzLXRpdGxlLmlzLWFjdGl2ZSBhLCAudGFicy10aXRsZS5pcy1hY3RpdmUgYTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMzRhNzE7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC50YWJzLXRpdGxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICAudGFicy10aXRsZTphZnRlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAudGFicy10aXRsZSBhIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAudGFicy1jb250ZW50IHtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICM3ODc4Nzg7IH1cbiAgLnRhYnMtcGFuZWwge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG4gICAgLnRhYnMtcGFuZWwgcCB7XG4gICAgICBmb250LXNpemU6IC45ZW07XG4gICAgICBsaW5lLWhlaWdodDogMS44OyB9XG4gICAgLnRhYnMtcGFuZWwgdGFibGUge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAgIC50YWJzLXBhbmVsOm5vdCguYy1hY2NvcmRpb24pIHtcbiAgICAgIHBhZGRpbmctdG9wOiAyNXB4OyB9XG4gICAgICAudGFicy1wYW5lbDpub3QoLmMtYWNjb3JkaW9uKSBoMiB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGNvbG9yOiAjYjIwOTM5O1xuICAgICAgICBtYXJnaW46IC44NWVtIDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41ZW07IH1cbiAgICAgIC50YWJzLXBhbmVsOm5vdCguYy1hY2NvcmRpb24pIGgzIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgY29sb3I6ICNiMjA5Mzk7XG4gICAgICAgIG1hcmdpbjogLjg1ZW0gMDtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1ZW07IH1cbiAgICAgIC50YWJzLXBhbmVsOm5vdCguYy1hY2NvcmRpb24pIGg0IHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGNvbG9yOiAjNzg3ODc4O1xuICAgICAgICBtYXJnaW46IC41ZW0gMDtcbiAgICAgICAgZm9udC1zaXplOiAxLjBlbTsgfVxuICAgICAgLnRhYnMtcGFuZWw6bm90KC5jLWFjY29yZGlvbikgaDUge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgY29sb3I6ICM3ODc4Nzg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogLjllbTsgfVxuICAgICAgLnRhYnMtcGFuZWw6bm90KC5jLWFjY29yZGlvbikgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50OyB9XG5cbi5jb250YWN0LWZvcm0ge1xuICAvKiZfX2NvbCB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICAmLS1yb3cge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG5cbiAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG5cbiAgICB9XG5cbiAgICAmLS1mdWxsIHtcbiAgICAgIHRleHRhcmVhLFxuICAgICAgaW5wdXQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH0qLyB9XG4gIC5jb250YWN0LWZvcm0gLmN1c3RvbS1zZWxlY3QsIC5jb250YWN0LWZvcm1fX3RleHRhcmVhLCAuY29udGFjdC1mb3JtX19pbnB1dCB7XG4gICAgZm9udC1zaXplOiAxLjEyNWVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNhZWFlYWU7XG4gICAgcGFkZGluZzogMjBweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY29udGFjdC1mb3JtIC5jdXN0b20tc2VsZWN0LS1mdWxsLCAuY29udGFjdC1mb3JtX190ZXh0YXJlYS0tZnVsbCwgLmNvbnRhY3QtZm9ybV9faW5wdXQtLWZ1bGwge1xuICAgICAgICBmbGV4LWdyb3c6IDI7IH1cbiAgICAgIC5jb250YWN0LWZvcm0gLmN1c3RvbS1zZWxlY3QtLWhhbGYsIC5jb250YWN0LWZvcm1fX3RleHRhcmVhLS1oYWxmLCAuY29udGFjdC1mb3JtX19pbnB1dC0taGFsZiB7XG4gICAgICAgIGZsZXgtZ3JvdzogMTsgfVxuICAgICAgLmNvbnRhY3QtZm9ybSAuY3VzdG9tLXNlbGVjdC0tdGhpcmQsIC5jb250YWN0LWZvcm1fX3RleHRhcmVhLS10aGlyZCwgLmNvbnRhY3QtZm9ybV9faW5wdXQtLXRoaXJkIHtcbiAgICAgICAgd2lkdGg6IDQwJTsgfSB9XG4gIC5jb250YWN0LWZvcm1fX3RleHRhcmVhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDE5NXB4OyB9XG4gIC5jb250YWN0LWZvcm0gLmN1c3RvbS1zZWxlY3Qgc2VsZWN0IHtcbiAgICBjb2xvcjogIzc4Nzg3ODsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45OTg3NWVtKSB7XG4gICAgLmNvbnRhY3QtZm9ybSAuYnRuIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY29udGFjdC1mb3JtIC5idG4ge1xuICAgICAgd2lkdGg6IDE0NXB4OyB9IH1cblxuI2NvbmZpZ3VyZS1jb250YWluZXIgLmNvbmZpZ3VyZS1jb250YWluZXItd3JhcC5mdWxsLXNjcmVlbi1vbiAuY29uZmlndXJlLXByb2R1Y3QtZGlzcGxheSB7XG4gIHRvcDogNjVweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjMuNDM3NWVtKSB7XG4gICAgI2NvbmZpZ3VyZS1jb250YWluZXIgLmNvbmZpZ3VyZS1jb250YWluZXItd3JhcC5mdWxsLXNjcmVlbi1vbiAuY29uZmlndXJlLXByb2R1Y3QtZGlzcGxheSB7XG4gICAgICB0b3A6IDY1cHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjUuODc1ZW0pIHtcbiAgICAjY29uZmlndXJlLWNvbnRhaW5lciAuY29uZmlndXJlLWNvbnRhaW5lci13cmFwLmZ1bGwtc2NyZWVuLW9uIC5jb25maWd1cmUtcHJvZHVjdC1kaXNwbGF5IHtcbiAgICAgIHRvcDogNzVweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNS41ZW0pIHtcbiAgICAjY29uZmlndXJlLWNvbnRhaW5lciAuY29uZmlndXJlLWNvbnRhaW5lci13cmFwLmZ1bGwtc2NyZWVuLW9uIC5jb25maWd1cmUtcHJvZHVjdC1kaXNwbGF5IHtcbiAgICAgIHRvcDogNzVweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgI2NvbmZpZ3VyZS1jb250YWluZXIgLmNvbmZpZ3VyZS1jb250YWluZXItd3JhcC5mdWxsLXNjcmVlbi1vbiAuY29uZmlndXJlLXByb2R1Y3QtZGlzcGxheSB7XG4gICAgICB0b3A6IDc1cHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNjb25maWd1cmUtY29udGFpbmVyIC5jb25maWd1cmUtY29udGFpbmVyLXdyYXAuZnVsbC1zY3JlZW4tb24gLmNvbmZpZ3VyZS1wcm9kdWN0LWRpc3BsYXkge1xuICAgICAgdG9wOiA3NXB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3LjVlbSkge1xuICAgICNjb25maWd1cmUtY29udGFpbmVyIC5jb25maWd1cmUtY29udGFpbmVyLXdyYXAuZnVsbC1zY3JlZW4tb24gLmNvbmZpZ3VyZS1wcm9kdWN0LWRpc3BsYXkge1xuICAgICAgdG9wOiA3NXB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAjY29uZmlndXJlLWNvbnRhaW5lciAuY29uZmlndXJlLWNvbnRhaW5lci13cmFwLmZ1bGwtc2NyZWVuLW9uIC5jb25maWd1cmUtcHJvZHVjdC1kaXNwbGF5IHtcbiAgICAgIHRvcDogMTAwcHg7IH0gfVxuXG4vKiBDb250YWluZXIgdXNlZCBmb3Igc3R5bGluZyB0aGUgY3VzdG9tIHNlbGVjdCwgdGhlIGJ1dHRvbSBjbGFzcyBiZWxvdyBhZGRzIHRoZSBiZyBncmFkaWVudCwgY29ybmVycywgZXRjLiAqL1xuLmN1c3RvbS1zZWxlY3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAwLjVlbTtcbiAgcGFkZGluZzogMDtcbiAgLyogQ3VzdG9tIGFycm93IHNpdHMgb24gdG9wIG9mIHRoZSBzZWxlY3QgLSBjb3VsZCBiZSBhbiBpbWFnZSwgU1ZHLCBpY29uIGZvbnQsIGV0Yy4gb3IgdGhlIGFycm93IGNvdWxkIGp1c3QgYmFrZWQgaW50byB0aGUgYmcgaW1hZ2Ugb24gdGhlIHNlbGVjdC4gTm90ZSB0aGlzIHNpIGEgMnggaW1hZ2Ugc28gaXQgd2lsbCBsb29rIGJhZCBpbiBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgYmFja2dyb3VuZC1zaXplLiBJbiBwcm9kdWN0aW9uLCB5b3UnZCBoYW5kbGUgdGhpcyByZXNvbHV0aW9uIHN3aXRjaCB2aWEgbWVkaWEgcXVlcnkgYnV0IHRoaXMgaXMgYSBkZW1vLiAqLyB9XG4gIC5jdXN0b20tc2VsZWN0IHNlbGVjdCB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgLmN1c3RvbS1zZWxlY3Qgc2VsZWN0OmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjMjIyOyB9XG4gIC5jdXN0b20tc2VsZWN0OjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDlweDtcbiAgICBoZWlnaHQ6IDhweDtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMWVtO1xuICAgIG1hcmdpbi10b3A6IC00cHg7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgei1pbmRleDogMjtcbiAgICAvKiBUaGlzIGhhY2sgbWFrZSB0aGUgc2VsZWN0IGJlaGluZCB0aGUgYXJyb3cgY2xpY2thYmxlIGluIHNvbWUgYnJvd3NlcnMgKi9cbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAuY3VzdG9tLXNlbGVjdDpob3ZlciB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzg4ODsgfVxuICAuY3VzdG9tLXNlbGVjdCBvcHRpb24ge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAqL1xuLyogU1RBUlQgT0YgVUdMWSBCUk9XU0VSLVNQRUNJRklDIEhBQ0tTICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAqL1xuLyogT1BFUkEgLSBQcmUtQmxpbmsgbml4IHRoZSBjdXN0b20gYXJyb3csIGdvIHdpdGggYSBuYXRpdmUgc2VsZWN0IGJ1dHRvbiB0byBrZWVwIGl0IHNpbXBsZS4gVGFyZ2V0ZWQgdmlhIHRoaXMgaGFjayBodHRwOi8vYnJvd3NlcmhhY2tzLmNvbS8jaGFjay1hM2YxNjYzMDRhYWZlZDUyNDU2NmJjNjgxNGUxZDVjNyAqL1xueDotby1wcmVmb2N1cyxcbi5jdXN0b20tc2VsZWN0OjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogSUUgMTAvMTErIC0gVGhpcyBoaWRlcyBuYXRpdmUgZHJvcGRvd24gYnV0dG9uIGFycm93IHNvIGl0IHdpbGwgaGF2ZSB0aGUgY3VzdG9tIGFwcGVhcmFuY2UsIElFIDkgYW5kIGVhcmxpZXIgZ2V0IGEgbmF0aXZlIHNlbGVjdCAtIHRhcmdldGluZyBtZWRpYSBxdWVyeSBoYWNrIHZpYSBodHRwOi8vYnJvd3NlcmhhY2tzLmNvbS8jaGFjay0yOGY0OTNkMjQ3YTEyYWI2NTRmNmMzNjM3ZjY5NzhkNSAtIGxvb2tpbmcgZm9yIGJldHRlciB3YXlzIHRvIGFjaGlldmUgdGhpcyB0YXJnZXRpbmcgKi9cbi8qIFRoZSBzZWNvbmQgcnVsZSByZW1vdmVzIHRoZSBvZGQgYmx1ZSBiZyBjb2xvciBiZWhpbmQgdGhlIHRleHQgaW4gdGhlIHNlbGVjdCBidXR0b24gaW4gSUUgMTAvMTEgYW5kIHNldHMgdGhlIHRleHQgY29sb3IgdG8gbWF0Y2ggdGhlIGZvY3VzIHN0eWxlJ3MgLSBmaXggdmlhIGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMTc1NTMzMDAvY2hhbmdlLWllLWJhY2tncm91bmQtY29sb3Itb24tdW5vcGVuZWQtZm9jdXNlZC1zZWxlY3QtYm94ICovXG5AbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAuY3VzdG9tLXNlbGVjdCBzZWxlY3Q6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmN1c3RvbS1zZWxlY3Qgc2VsZWN0OmZvY3VzOjotbXMtdmFsdWUge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjMjIyOyB9IH1cblxuLyogRklSRUZPWCB3b24ndCBsZXQgdXMgaGlkZSB0aGUgbmF0aXZlIHNlbGVjdCBhcnJvdywgc28gd2UgaGF2ZSB0byBtYWtlIGl0IHdpZGVyIHRoYW4gbmVlZGVkIGFuZCBjbGlwIGl0IHZpYSBvdmVyZmxvdyBvbiB0aGUgcGFyZW50IGNvbnRhaW5lci4gVGhlIHBlcmNlbnRhZ2Ugd2lkdGggaXMgYSBmYWxsYmFjayBzaW5jZSBGRiA0KyBzdXBwb3J0cyBjYWxjKCkgc28gd2UgY2FuIGp1c3QgYWRkIGEgZml4ZWQgYW1vdW50IG9mIGV4dHJhIHdpZHRoIHRvIHB1c2ggdGhlIG5hdGl2ZSBhcnJvdyBvdXQgb2Ygdmlldy4gV2UncmUgYXBwbHlpbmcgdGhpcyBoYWNrIGFjcm9zcyBhbGwgRkYgdmVyc2lvbnMgYmVjYXVzZSBhbGwgdGhlIHByZXZpb3VzIGhhY2tzIHdlcmUgdG9vIGZyYWdpbGUgYW5kIGNvbXBsZXguIFlvdSBtaWdodCB3YW50IHRvIGNvbnNpZGVyIG5vdCB1c2luZyB0aGlzIGhhY2sgYW5kIHVzaW5nIHRoZSBuYXRpdmUgc2VsZWN0IGFycm93IGluIEZGLiBOb3RlIHRoaXMgbWFrZXMgdGhlIG1lbnVzIHdpZGVyIHRoYW4gdGhlIHNlbGVjdCBidXR0b24gYmVjYXVzZSB0aGV5IGRpc3BsYXkgYXQgdGhlIHNwZWNpZmllZCB3aWR0aCBhbmQgYXJlbid0IGNsaXBwZWQuIFRhcmdldGluZyBoYWNrIHZpYSBodHRwOi8vYnJvd3NlcmhhY2tzLmNvbS8jaGFjay03NThiZmY4MWM1YzMyMzUxYjAyZTEwNDgwYjVlZDQ4ZSAqL1xuLyogU2hvdyBvbmx5IHRoZSBuYXRpdmUgYXJyb3cgKi9cbkAtbW96LWRvY3VtZW50IHVybC1wcmVmaXgoKSB7XG4gIC5jdXN0b20tc2VsZWN0IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgLmN1c3RvbS1zZWxlY3Qgc2VsZWN0IHtcbiAgICAgIHdpZHRoOiAxMjAlO1xuICAgICAgd2lkdGg6IC1tb3otY2FsYygxMDAlICsgM2VtKTtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyBlbSk7IH0gfVxuXG4vKiBGaXJlZm94IGZvY3VzIGhhcyBvZGQgYXJ0aWZhY3RzIGFyb3VuZCB0aGUgdGV4dCwgdGhpcyBraWxscyB0aGF0LiBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTLzotbW96LWZvY3VzcmluZyAqL1xuLmN1c3RvbS1zZWxlY3Qgc2VsZWN0Oi1tb3otZm9jdXNyaW5nIHtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogMCAwIDAgIzAwMDsgfVxuXG5ib2R5LnBhZ2UtdGVtcGxhdGUgZGl2Lmdmb3JtX3dyYXBwZXIge1xuICBtYXJnaW4tdG9wOiAwOyB9XG4gIGJvZHkucGFnZS10ZW1wbGF0ZSBkaXYuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGRpdi5naW5wdXRfY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIGJvZHkucGFnZS10ZW1wbGF0ZSBkaXYuZ2Zvcm1fd3JhcHBlciB1bC5nZm9ybV9maWVsZHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIGJvZHkucGFnZS10ZW1wbGF0ZSBkaXYuZ2Zvcm1fd3JhcHBlciB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkIHtcbiAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgbWF4LXdpZHRoOiB1bnNldCAhaW1wb3J0YW50OyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICBib2R5LnBhZ2UtdGVtcGxhdGUgZGl2Lmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZC5oYWxmIHtcbiAgICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKDUwJSAtIDEwcHgpOyB9XG4gICAgICAgIGJvZHkucGFnZS10ZW1wbGF0ZSBkaXYuZ2Zvcm1fd3JhcHBlciB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkLnRoaXJkIHtcbiAgICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKDMzLjMzJSAtIDEwcHgpOyB9XG4gICAgICAgIGJvZHkucGFnZS10ZW1wbGF0ZSBkaXYuZ2Zvcm1fd3JhcHBlciB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkLnR3by10aGlyZCB7XG4gICAgICAgICAgZmxleC1iYXNpczogY2FsYyg2Ni42NiUgLSAxMHB4KTsgfSB9XG4gICAgICBib2R5LnBhZ2UtdGVtcGxhdGUgZGl2Lmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZCBpbnB1dCwgYm9keS5wYWdlLXRlbXBsYXRlIGRpdi5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQgc2VsZWN0LCBib2R5LnBhZ2UtdGVtcGxhdGUgZGl2Lmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZCB0ZXh0YXJlYSB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMjVweDtcbiAgICAgICAgbWluLWhlaWdodDogNjBweDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzY2NjsgfVxuICAgICAgICBib2R5LnBhZ2UtdGVtcGxhdGUgZGl2Lmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZCBpbnB1dDpwbGFjZWhvbGRlciwgYm9keS5wYWdlLXRlbXBsYXRlIGRpdi5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQgc2VsZWN0OnBsYWNlaG9sZGVyLCBib2R5LnBhZ2UtdGVtcGxhdGUgZGl2Lmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZCB0ZXh0YXJlYTpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgIGNvbG9yOiAjNzg3ODc4OyB9XG4gICAgICBib2R5LnBhZ2UtdGVtcGxhdGUgZGl2Lmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lcl9zZWxlY3Qge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNjY2OyB9XG4gICAgICAgIGJvZHkucGFnZS10ZW1wbGF0ZSBkaXYuZ2Zvcm1fd3JhcHBlciB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyX3NlbGVjdCBzZWxlY3Qge1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMjVweCkgIWltcG9ydGFudDtcbiAgICAgICAgICBjb2xvcjogIzc1NzU3NTsgfVxuICAgICAgYm9keS5wYWdlLXRlbXBsYXRlIGRpdi5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQgaW5wdXQ6bm90KFt0eXBlPSdyYWRpbyddKTpub3QoW3R5cGU9J2NoZWNrYm94J10pOm5vdChbdHlwZT0nc3VibWl0J10pOm5vdChbdHlwZT0nYnV0dG9uJ10pOm5vdChbdHlwZT0naW1hZ2UnXSk6bm90KFt0eXBlPSdmaWxlJ10pIHtcbiAgICAgICAgcGFkZGluZzogMjBweCAyNXB4O1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgICBib2R5LnBhZ2UtdGVtcGxhdGUgZGl2Lmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZC5nZmllbGRfZXJyb3Ige1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lOyB9XG4gICAgICAgIGJvZHkucGFnZS10ZW1wbGF0ZSBkaXYuZ2Zvcm1fd3JhcHBlciB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvciBkaXYuZ2lucHV0X2NvbnRhaW5lciB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMHB4OyB9XG4gICAgICAgIGJvZHkucGFnZS10ZW1wbGF0ZSBkaXYuZ2Zvcm1fd3JhcHBlciB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvciBkaXYuZ2lucHV0X2NvbnRhaW5lcl9zZWxlY3Qge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM3OTAwMDA7IH1cbiAgYm9keS5wYWdlLXRlbXBsYXRlIGRpdi5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgYmFja2dyb3VuZDogI2IyMDkzOTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1ZW07XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBwYWRkaW5nOiAxMnB4IDI1cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIG1hcmdpbi1ib3R0b206IDBweDsgfVxuICAgIGJvZHkucGFnZS10ZW1wbGF0ZSBkaXYuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06YWZ0ZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICNjNTQ2NmEgMCUsICNiMjA5MzkgMTAwJSk7XG4gICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICNjNTQ2NmEgMCUsICNiMjA5MzkgMTAwJSk7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjYzU0NjZhIDAlLCAjYjIwOTM5IDEwMCUpO1xuICAgICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9XCIjYzU0NjZhXCIsIGVuZENvbG9yc3RyPVwiI2IyMDkzOVwiLCBHcmFkaWVudFR5cGU9MCApO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtczsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICBib2R5LnBhZ2UtdGVtcGxhdGUgZGl2Lmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAgICAgYm9keS5wYWdlLXRlbXBsYXRlIGRpdi5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpob3ZlcjphZnRlciB7XG4gICAgICAgICAgb3BhY2l0eTogMDsgfSB9XG4gIGJvZHkucGFnZS10ZW1wbGF0ZSBkaXYuZ2Zvcm1fd3JhcHBlci5nZm9ybV92YWxpZGF0aW9uX2Vycm9yIC5nZm9ybV9ib2R5IHVsIGxpLmdmaWVsZC5nZmllbGRfZXJyb3I6bm90KC5nZl9sZWZ0X2hhbGYpOm5vdCguZ2ZfcmlnaHRfaGFsZikge1xuICAgIG1heC13aWR0aDogdW5zZXQgIWltcG9ydGFudDsgfVxuICBib2R5LnBhZ2UtdGVtcGxhdGUgZGl2Lmdmb3JtX3dyYXBwZXIgLnZhbGlkYXRpb25fZXJyb3Ige1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogI2Q5NGY0ZjtcbiAgICBib3JkZXItY29sb3I6ICNjOTJjMmM7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBtYXJnaW46IDVweCAwIDVweDtcbiAgICBwYWRkaW5nOiAzcHggMTJweDsgfVxuICBib2R5LnBhZ2UtdGVtcGxhdGUgZGl2Lmdmb3JtX3dyYXBwZXIgLnZhbGlkYXRpb25fbWVzc2FnZSB7XG4gICAgcGFkZGluZy10b3A6IDhweCAhaW1wb3J0YW50OyB9XG5cbi5nbG9iYWwtZm9ybV9fY29sIHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAuZ2xvYmFsLWZvcm1fX2NvbDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45OTg3NWVtKSB7XG4gICAgLmdsb2JhbC1mb3JtX19jb2wtLXJvdyBpbnB1dCB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5nbG9iYWwtZm9ybV9fY29sLS1yb3cgaW5wdXQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZ2xvYmFsLWZvcm1fX2NvbC0tcm93IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgIC5nbG9iYWwtZm9ybV9fY29sLS1yb3cgaW5wdXQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMjBweDsgfVxuICAgICAgICAuZ2xvYmFsLWZvcm1fX2NvbC0tcm93IGlucHV0OmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG4gIC5nbG9iYWwtZm9ybV9fY29sLS1mdWxsIHRleHRhcmVhLFxuICAuZ2xvYmFsLWZvcm1fX2NvbC0tZnVsbCBpbnB1dCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmdsb2JhbC1mb3JtX19jb2wtLXJhZGlvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuXG4uZ2xvYmFsLWZvcm1fX2xhYmVsIHtcbiAgZm9udC1zaXplOiAwLjc1ZW07IH1cblxuLmdsb2JhbC1mb3JtIC5jdXN0b20tc2VsZWN0LCAuZ2xvYmFsLWZvcm1fX3RleHRhcmVhLCAuZ2xvYmFsLWZvcm1fX2lucHV0IHtcbiAgZm9udC1zaXplOiAxLjEyNWVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYWVhZWFlO1xuICBwYWRkaW5nOiAyMHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmdsb2JhbC1mb3JtIC5jdXN0b20tc2VsZWN0LS1mdWxsLCAuZ2xvYmFsLWZvcm1fX3RleHRhcmVhLS1mdWxsLCAuZ2xvYmFsLWZvcm1fX2lucHV0LS1mdWxsIHtcbiAgICAgIGZsZXgtZ3JvdzogMjsgfVxuICAgIC5nbG9iYWwtZm9ybSAuY3VzdG9tLXNlbGVjdC0taGFsZiwgLmdsb2JhbC1mb3JtX190ZXh0YXJlYS0taGFsZiwgLmdsb2JhbC1mb3JtX19pbnB1dC0taGFsZiB7XG4gICAgICBmbGV4LWdyb3c6IDE7IH1cbiAgICAuZ2xvYmFsLWZvcm0gLmN1c3RvbS1zZWxlY3QtLXRoaXJkLCAuZ2xvYmFsLWZvcm1fX3RleHRhcmVhLS10aGlyZCwgLmdsb2JhbC1mb3JtX19pbnB1dC0tdGhpcmQge1xuICAgICAgd2lkdGg6IDQwJTsgfSB9XG5cbi5nbG9iYWwtZm9ybV9fdGV4dGFyZWEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAxOTVweDsgfVxuXG4uZ2xvYmFsLWZvcm0gLmN1c3RvbS1zZWxlY3Qge1xuICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5nbG9iYWwtZm9ybSAuY3VzdG9tLXNlbGVjdCBzZWxlY3Qge1xuICAgIGNvbG9yOiAjNzg3ODc4OyB9XG5cbi5nbG9iYWwtZm9ybV9fY29sLWlucHV0IHtcbiAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAuZ2xvYmFsLWZvcm1fX2NvbC1pbnB1dDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5nbG9iYWwtZm9ybV9fY29sLWlucHV0IHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuXG4uZ2xvYmFsLWZvcm1fX3JhZGlvLWxhYmVsIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2IzYjNiMztcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmdsb2JhbC1mb3JtX19yYWRpby1pdGVtIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBtYXJnaW4tbGVmdDogMjBweDtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiA4MHB4OyB9XG4gIC5nbG9iYWwtZm9ybV9fcmFkaW8taXRlbSBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGhlaWdodDogMTZweDtcbiAgICB3aWR0aDogMTZweDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIC5nbG9iYWwtZm9ybV9fcmFkaW8taXRlbTpudGgtb2YtdHlwZSg0biArIDEpIHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuZ2xvYmFsLWZvcm1fX3JhZGlvLWl0ZW0gc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmdsb2JhbC1mb3JtX19yYWRpby1pdGVtLS10b3Age1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgcGFkZGluZzogNXB4IDA7IH1cbiAgLmdsb2JhbC1mb3JtX19yYWRpby1pdGVtLS1ib3R0b20ge1xuICAgIGZvbnQtc2l6ZTogMC44MTI1ZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMCwgMTAsIDEwLCAwLjEpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZWZlZmU7XG4gICAgcGFkZGluZzogM3B4IDA7IH1cbiAgLmdsb2JhbC1mb3JtX19yYWRpby1pdGVtIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgbGFiZWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMzRhNzE7XG4gICAgYm9yZGVyLWNvbG9yOiAjMjM0YTcxO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmdsb2JhbC1mb3JtX19yYWRpby1pdGVtIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgbGFiZWwgLmdsb2JhbC1mb3JtX19yYWRpby1pdGVtLS1ib3R0b20ge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMjM0YTcxOyB9XG5cbmJvZHkucGFnZS10ZW1wbGF0ZSBkaXYuZ2Zvcm1fd3JhcHBlciBmb3JtLmNvbmZpZy1mb3JtIHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQgLmdjaG9pY2UgaW5wdXQge1xuICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICBtaW4taGVpZ2h0OiB1bnNldDtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG5ib2R5LnBhZ2UtdGVtcGxhdGUgZGl2Lmdmb3JtX3dyYXBwZXIgZm9ybS5jb25maWctZm9ybSB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkIC5nY2hvaWNlIGxhYmVsIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG5ib2R5LnBhZ2UtdGVtcGxhdGUgZGl2Lmdmb3JtX3dyYXBwZXIgZm9ybS5jb25maWctZm9ybSB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkLmZpZWxkX2Rlc2NyaXB0aW9uX2Fib3ZlIC5nZmllbGRfZGVzY3JpcHRpb24ge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbmJvZHkucGFnZS10ZW1wbGF0ZSBkaXYuZ2Zvcm1fd3JhcHBlciBmb3JtLmNvbmZpZy1mb3JtIHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQudW5pdHMtcmVxdWVzdGVkIC5pbnN0cnVjdGlvbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuYm9keS5wYWdlLXRlbXBsYXRlIGRpdi5nZm9ybV93cmFwcGVyIGZvcm0uY29uZmlnLWZvcm0gdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZC51bml0cy1yZXF1ZXN0ZWQgLmdmaWVsZF9kZXNjcmlwdGlvbiB7XG4gIHBhZGRpbmctdG9wOiAwOyB9XG5cbmJvZHkucGFnZS10ZW1wbGF0ZSBkaXYuZ2Zvcm1fd3JhcHBlciBmb3JtLmNvbmZpZy1mb3JtIHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQucmZxLWxvY2F0aW9uIHRleHRhcmVhIHtcbiAgaGVpZ2h0OiB1bnNldDtcbiAgcmVzaXplOiB2ZXJ0aWNhbDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubW9uaXRvci10YWJsZSB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMTEwcHg7IH0gfVxuXG4ubW9uaXRvci10YWJsZV9fdG9wLXJvdyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAubW9uaXRvci10YWJsZV9fdG9wLXJvdyB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIHBhZGRpbmc6IDIwcHggMHB4OyB9IH1cblxuLm1vbml0b3ItdGFibGVfX2xhYmVsIHtcbiAgZm9udC1zaXplOiAwLjg3NWVtO1xuICBjb2xvcjogIzIzNEE3MTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAubW9uaXRvci10YWJsZV9fbGFiZWwge1xuICAgICAgZm9udC1zaXplOiAwLjc1ZW07IH0gfVxuXG4ubW9uaXRvci10YWJsZV9faXRlbSB7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCByZ2JhKDEyMCwgMTIwLCAxMjAsIDAuMyk7XG4gIHBhZGRpbmc6IDI2cHggMDsgfVxuICAubW9uaXRvci10YWJsZV9faXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXRvcDogMDsgfVxuICAubW9uaXRvci10YWJsZV9faXRlbTpudGgtY2hpbGQoMikge1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjMjM0YTcxOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLm1vbml0b3ItdGFibGVfX2l0ZW0ge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIHBhZGRpbmc6IDIwcHggMHB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAubW9uaXRvci10YWJsZV9faXRlbSB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9IH1cblxuLm1vbml0b3ItdGFibGVfX2NlbGwge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5tb25pdG9yLXRhYmxlX19jZWxsIC5tb25pdG9yLXRhYmxlX192YWx1ZSB7XG4gICAgZm9udC1zaXplOiAwLjg3NWVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLm1vbml0b3ItdGFibGVfX2NlbGwge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDAgMHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAubW9uaXRvci10YWJsZV9fY2VsbCAubW9uaXRvci10YWJsZV9fbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAubW9uaXRvci10YWJsZV9fY2VsbCAubW9uaXRvci10YWJsZV9fdmFsdWUge1xuICAgICAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG5cbi5tb25pdG9yLXRhYmxlX19pbWFnZSBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMTAwJTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubW9uaXRvci10YWJsZV9faW1hZ2Uge1xuICAgIG1heC13aWR0aDogMTA1cHg7XG4gICAgd2lkdGg6IDEyJTsgfSB9XG5cbi5tb25pdG9yLXRhYmxlX19oZWFkaW5nIGgzIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxZW07XG4gIGNvbG9yOiAjMjM0YTcxOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tb25pdG9yLXRhYmxlX19oZWFkaW5nIGgzIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVlbTsgfSB9XG5cbi5wcm9kdWN0LWNvbXBhcmVfX3Jvd19fY29udGVudCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAucHJvZHVjdC1jb21wYXJlX19yb3dfX2NvbnRlbnQgc3Bhbi5jb250ZW50IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgZmxleDogMSAwIDQwJTsgfVxuICAucHJvZHVjdC1jb21wYXJlX19yb3dfX2NvbnRlbnQgLnByaWNlIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjYjIwOTM5OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnByb2R1Y3QtY29tcGFyZV9fcm93X19jb250ZW50IHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLnByb2R1Y3QtY29tcGFyZV9fcm93X19jb250ZW50IHNwYW4uY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLnByb2R1Y3QtYWNjZXNzb3JpZXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xuICBwYWRkaW5nOiA0MHB4IDAgNzBweDsgfVxuICAucHJvZHVjdC1hY2Nlc3NvcmllcyAuZ3JpZC14IHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICAgIC5wcm9kdWN0LWFjY2Vzc29yaWVzIC5ncmlkLXggLnN0aWNreS1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLnByb2R1Y3QtYWNjZXNzb3JpZXMgLmdyaWQteCAuc3RpY2t5LWNvbnRhaW5lciB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucHJvZHVjdC1hY2Nlc3NvcmllcyAuZ3JpZC14IC5hY2Nlc3Nvcmllcy13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4OyB9IH1cbiAgICAucHJvZHVjdC1hY2Nlc3NvcmllcyAuZ3JpZC14IC5hY2Nlc3Nvcmllcy13cmFwcGVyIC5ib3R0b20tYmxvY2staXRlbSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgcGFkZGluZzogMzBweCAzMHB4IDE1cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnByb2R1Y3QtYWNjZXNzb3JpZXMgLmNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH0gfVxuICAucHJvZHVjdC1hY2Nlc3Nvcmllc19faXRlbS13cmFwIHtcbiAgICBmbGV4LWdyb3c6IDI7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5wcm9kdWN0LWFjY2Vzc29yaWVzX19pdGVtLXdyYXAge1xuICAgICAgICB3aWR0aDogODUlOyB9IH1cbiAgLnByb2R1Y3QtYWNjZXNzb3JpZXNfX25hdiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICBwYWRkaW5nOiAzMHB4IDIwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIC8qQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgICAgd2lkdGg6IDE1JTtcbiAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICB9Ki8gfVxuICAgIC5wcm9kdWN0LWFjY2Vzc29yaWVzX19uYXYgbGkge1xuICAgICAgZm9udC1zaXplOiAwLjc1ZW07XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgxMCwgMTAsIDEwLCAwLjEpO1xuICAgICAgbWFyZ2luLXRvcDogMjRweDtcbiAgICAgIHBhZGRpbmctdG9wOiAyNHB4OyB9XG4gICAgICAucHJvZHVjdC1hY2Nlc3Nvcmllc19fbmF2IGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7IH1cbiAgICAucHJvZHVjdC1hY2Nlc3Nvcmllc19fbmF2IGEge1xuICAgICAgY29sb3I6ICMyMzRhNzE7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAgICAgLnByb2R1Y3QtYWNjZXNzb3JpZXNfX25hdiBhOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB3aWR0aDogNnB4O1xuICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3BuZy9saXN0LWl0ZW0tYXJyb3cucG5nXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogLTZweDtcbiAgICAgICAgdG9wOiAzcHg7IH1cbiAgICAgIC5wcm9kdWN0LWFjY2Vzc29yaWVzX19uYXYgYTpob3ZlciwgLnByb2R1Y3QtYWNjZXNzb3JpZXNfX25hdiBhLS1hY3RpdmUge1xuICAgICAgICBjb2xvcjogI2IyMDkzOTsgfVxuICAucHJvZHVjdC1hY2Nlc3Nvcmllc19faXRlbSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIHBhZGRpbmc6IDMwcHg7IH1cbiAgICAucHJvZHVjdC1hY2Nlc3Nvcmllc19faXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5wcm9kdWN0LWFjY2Vzc29yaWVzX19oZWFkaW5nIHtcbiAgICBmb250LXNpemU6IDEuMTI1ZW07XG4gICAgY29sb3I6ICNiMjA5Mzk7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAucHJvZHVjdC1hY2Nlc3Nvcmllc19fZ3JpZC1pdGVtIHtcbiAgICBjb2xvcjogIzIzNGE3MTtcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLnByb2R1Y3QtYWNjZXNzb3JpZXNfX2dyaWQtaXRlbTpob3ZlciBmaWd1cmUge1xuICAgICAgb3BhY2l0eTogLjk7IH1cbiAgICAucHJvZHVjdC1hY2Nlc3Nvcmllc19fZ3JpZC1pdGVtOmhvdmVyIGEge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzc4Nzg3ODsgfVxuICAgIC5wcm9kdWN0LWFjY2Vzc29yaWVzX19ncmlkLWl0ZW0gYSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBib3JkZXItcmFkaXVzOiA2cHggNnB4IDAgMDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgNDAwbXM7IH1cbiAgICAgIC5wcm9kdWN0LWFjY2Vzc29yaWVzX19ncmlkLWl0ZW0gYSBzcGFuLnRpdGxlIHtcbiAgICAgICAgcGFkZGluZzogMTVweCAxMHB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAuOWVtO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBjb2xvcjogIzIzNGE3MTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICAgIC5wcm9kdWN0LWFjY2Vzc29yaWVzX19ncmlkLWl0ZW0gZmlndXJlIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgNDAwbXM7IH1cbiAgICAucHJvZHVjdC1hY2Nlc3Nvcmllc19fZ3JpZC1pdGVtIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5wcm9kdWN0LWFjY2Vzc29yaWVzX19jb3B5IHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2FlYWVhZTtcbiAgICBwYWRkaW5nLXRvcDogMTBweDsgfVxuICAgIC5wcm9kdWN0LWFjY2Vzc29yaWVzX19jb3B5IHAge1xuICAgICAgZm9udC1zaXplOiAuNzhlbTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAucHJvZHVjdC1hY2Nlc3Nvcmllc19fY29weSB1bCB7XG4gICAgICBmb250LXNpemU6IC42NWVtO1xuICAgICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogaW5zaWRlO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMCA1cHggMjBweDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAucHJvZHVjdC1hY2Nlc3Nvcmllc19fY29weSB1bCBsaSB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAgICAgLnByb2R1Y3QtYWNjZXNzb3JpZXNfX2NvcHkgdWwgbGkgc3Ryb25nIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMmVtOyB9XG4gICAgICAgIC5wcm9kdWN0LWFjY2Vzc29yaWVzX19jb3B5IHVsIGxpIHVsIHtcbiAgICAgICAgICBtYXJnaW46IDVweCAwIDVweCAyNXB4O1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgIGxpc3Qtc3R5bGU6IGRpc2M7XG4gICAgICAgICAgZm9udC1zaXplOiAxZW07IH1cbiAgICAgICAgICAucHJvZHVjdC1hY2Nlc3Nvcmllc19fY29weSB1bCBsaSB1bCBsaSB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBkaXNjO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxZW07IH1cbiAgLnByb2R1Y3QtYWNjZXNzb3JpZXNfX2dyaWQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtNXB4O1xuICAgIG1hcmdpbi1yaWdodDogLTVweDsgfVxuICAucHJvZHVjdC1hY2Nlc3Nvcmllc19fZ3JpZC1pdGVtLWhlYWRpbmcge1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIGNvbG9yOiAjMjM0YTcxO1xuICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogZWFzZSBhbGwgMC4zczsgfVxuICAucHJvZHVjdC1hY2Nlc3Nvcmllc19fZ3JpZC1pbWFnZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIHBhZGRpbmctdG9wOiA1MCU7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG5cbi5wcm9kdWN0cy1ibG9jay1kZXRhaWxzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgcGFkZGluZzogMzBweCAwO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5wcm9kdWN0cy1ibG9jay1kZXRhaWxzIC5jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAucHJvZHVjdHMtYmxvY2stZGV0YWlscyBvbCB7XG4gICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAucHJvZHVjdHMtYmxvY2stZGV0YWlsc19fYWNjb3JkaW9uLWNvbnRlbnQtLW51bWJlcmVkIHtcbiAgICBjb3VudGVyLXJlc2V0OiBhY2NvcmRpb24tY291bnRlcjsgfVxuICAucHJvZHVjdHMtYmxvY2stZGV0YWlsc19fYWNjb3JkaW9uLWNvbnRlbnQgaW1nIHtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7IH1cbiAgLnByb2R1Y3RzLWJsb2NrLWRldGFpbHNfX2FjY29yZGlvbi1jb250ZW50IGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgLnByb2R1Y3RzLWJsb2NrLWRldGFpbHNfX2FjY29yZGlvbi1jb250ZW50IGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnByb2R1Y3RzLWJsb2NrLWRldGFpbHNfX2FjY29yZGlvbi1jb250ZW50LWNvbCB7XG4gICAgICB3aWR0aDogNTAlOyB9IH1cbiAgLnByb2R1Y3RzLWJsb2NrLWRldGFpbHNfX2FjY29yZGlvbi1jb250ZW50LS1udW1iZXJlZCAucHJvZHVjdHMtYmxvY2stZGV0YWlsc19fYWNjb3JkaW9uLWNvbnRlbnQtY29sLWl0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiA0NXB4OyB9XG4gICAgLnByb2R1Y3RzLWJsb2NrLWRldGFpbHNfX2FjY29yZGlvbi1jb250ZW50LS1udW1iZXJlZCAucHJvZHVjdHMtYmxvY2stZGV0YWlsc19fYWNjb3JkaW9uLWNvbnRlbnQtY29sLWl0ZW06OmJlZm9yZSB7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2IyMDkzOTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDI0cHg7XG4gICAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICAgIGNvbnRlbnQ6IGNvdW50ZXIoYWNjb3JkaW9uLWNvdW50ZXIpO1xuICAgICAgY291bnRlci1pbmNyZW1lbnQ6IGFjY29yZGlvbi1jb3VudGVyO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMjRweDsgfVxuICAucHJvZHVjdHMtYmxvY2stZGV0YWlsc19fYWNjb3JkaW9uLWNvbnRlbnQtY29sLWl0ZW0taGVhZGluZyB7XG4gICAgcGFkZGluZy1sZWZ0OiAzNXB4OyB9XG4gIC5wcm9kdWN0cy1ibG9jay1kZXRhaWxzX19hY2NvcmRpb24tY29udGVudC1jb2wtaXRlbS1saXN0IHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMzVweDsgfVxuICAgIC5wcm9kdWN0cy1ibG9jay1kZXRhaWxzX19hY2NvcmRpb24tY29udGVudC1jb2wtaXRlbS1saXN0IGxpIHtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgLnByb2R1Y3RzLWJsb2NrLWRldGFpbHMgLmNvbXBhcmUtZ3JpZCB7XG4gICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgfVxuICAgIC5wcm9kdWN0cy1ibG9jay1kZXRhaWxzIC5jb21wYXJlLWdyaWQgcDpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAucHJvZHVjdHMtYmxvY2stZGV0YWlscyAub3JkZXJpbmctaW5mby1ncmlkIHtcbiAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XG4gICAgLnByb2R1Y3RzLWJsb2NrLWRldGFpbHMgLm9yZGVyaW5nLWluZm8tZ3JpZCArIC5vcmRlcmluZy1pbmZvLWdyaWQge1xuICAgICAgbWFyZ2luLXRvcDogNjBweDsgfVxuICAgIC5wcm9kdWN0cy1ibG9jay1kZXRhaWxzIC5vcmRlcmluZy1pbmZvLWdyaWQgdGFibGUgdGhlYWQgdHIgdGg6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICB3aWR0aDogMjUwcHg7IH1cbiAgLnByb2R1Y3RzLWJsb2NrLWRldGFpbHMgLmMtYWNjb3JkaW9uX19pdGVtIHtcbiAgICBwYWRkaW5nOiAyNXB4IDAgNXB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnByb2R1Y3RzLWJsb2NrLWRldGFpbHMgLnJlbGF0ZWQtYmxvZ3MtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBtYXJnaW46IDAgLTEwcHg7IH0gfVxuICAucHJvZHVjdHMtYmxvY2stZGV0YWlscyAucmVsYXRlZC1ibG9nLXRpbGUge1xuICAgIG1hcmdpbjogMCAwIDIwcHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnByb2R1Y3RzLWJsb2NrLWRldGFpbHMgLnJlbGF0ZWQtYmxvZy10aWxlIHtcbiAgICAgICAgZmxleDogMCAxIDMzLjMzMzMlO1xuICAgICAgICBwYWRkaW5nOiAwIDEwcHg7IH0gfVxuICAgIC5wcm9kdWN0cy1ibG9jay1kZXRhaWxzIC5yZWxhdGVkLWJsb2ctdGlsZSBhIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBib3JkZXI6IDNweCBzb2xpZCAjZjBmMGYwO1xuICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zOyB9XG4gICAgICAucHJvZHVjdHMtYmxvY2stZGV0YWlscyAucmVsYXRlZC1ibG9nLXRpbGUgYTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMzIsIDY4LCAxMDQsIDAuMDUpOyB9XG4gICAgICAucHJvZHVjdHMtYmxvY2stZGV0YWlscyAucmVsYXRlZC1ibG9nLXRpbGUgYSBzcGFuIHtcbiAgICAgICAgY29sb3I6ICM3ODc4Nzg7XG4gICAgICAgIGZvbnQtc2l6ZTogLjdlbTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMHB4OyB9XG5cbi5wcm9kdWN0cy1ibG9jayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7XG4gIHBhZGRpbmc6IDUwcHggMDsgfVxuICAucHJvZHVjdHMtYmxvY2sgLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMjYwcHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3LjVlbSkge1xuICAgIC5wcm9kdWN0cy1ibG9jayAuY29udGFpbmVyIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgZGlzcGxheTogZmxleDsgfSB9XG4gIC5wcm9kdWN0cy1ibG9ja19fY29udGVudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1Ny41ZW0pIHtcbiAgICAgIC5wcm9kdWN0cy1ibG9ja19fY29udGVudCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICAgIG9yZGVyOiAyOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAucHJvZHVjdHMtYmxvY2tfX2NvbnRlbnQge1xuICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH0gfVxuICAgIC5wcm9kdWN0cy1ibG9ja19fY29udGVudCAuc3VwcG9ydC1maWxlcyB7XG4gICAgICBtYXJnaW4tdG9wOiA0MHB4OyB9XG4gICAgICAucHJvZHVjdHMtYmxvY2tfX2NvbnRlbnQgLnN1cHBvcnQtZmlsZXMgLmZpbGVjYXQge1xuICAgICAgICBwYWRkaW5nOiAwIDE4cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICAgLnByb2R1Y3RzLWJsb2NrX19jb250ZW50IC5zdXBwb3J0LWZpbGVzIC5maWxlY2F0IHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgZmxleDogMSAwIDUwJTsgfSB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgICAgICAucHJvZHVjdHMtYmxvY2tfX2NvbnRlbnQgLnN1cHBvcnQtZmlsZXMgLmZpbGVjYXQge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBmbGV4OiAxIDAgMzMuMzMzMyU7IH0gfVxuICAgICAgICAucHJvZHVjdHMtYmxvY2tfX2NvbnRlbnQgLnN1cHBvcnQtZmlsZXMgLmZpbGVjYXQ6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAgIC5wcm9kdWN0cy1ibG9ja19fY29udGVudCAuc3VwcG9ydC1maWxlcyAuZmlsZWNhdCBoNCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgICAgY29sb3I6ICMyMzRhNzE7XG4gICAgICAgICAgcGFkZGluZzogMCAwIDEycHggMDtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgIzIzNGE3MTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gICAgICAgIC5wcm9kdWN0cy1ibG9ja19fY29udGVudCAuc3VwcG9ydC1maWxlcyAuZmlsZWNhdCB1bCB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMzUsIDc0LCAxMTMsIDAuMyk7XG4gICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgICAgIC5wcm9kdWN0cy1ibG9ja19fY29udGVudCAuc3VwcG9ydC1maWxlcyAuZmlsZWNhdCB1bCBsaSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxNHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMTZweDsgfVxuICAgICAgICAgICAgLnByb2R1Y3RzLWJsb2NrX19jb250ZW50IC5zdXBwb3J0LWZpbGVzIC5maWxlY2F0IHVsIGxpIGE6aG92ZXIge1xuICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAucHJvZHVjdHMtYmxvY2tfX2NvbnRlbnQtZ3JpZC1pdGVtOm5vdCgucHJvZHVjdHMtYmxvY2tfX2NvbnRlbnQtdGh1bWJuYWlscykge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5wcm9kdWN0cy1ibG9ja19fY29udGVudC1ncmlkLWl0ZW06bm90KC5wcm9kdWN0cy1ibG9ja19fY29udGVudC10aHVtYm5haWxzKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNzBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgLnByb2R1Y3RzLWJsb2NrX19jb250ZW50LWdyaWQtaXRlbTpub3QoLnByb2R1Y3RzLWJsb2NrX19jb250ZW50LXRodW1ibmFpbHMpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgICAucHJvZHVjdHMtYmxvY2tfX2NvbnRlbnQtZ3JpZC1pdGVtOm5vdCgucHJvZHVjdHMtYmxvY2tfX2NvbnRlbnQtdGh1bWJuYWlscykgLmJhZGdlLWltYWdlLWNvbnRhaW5lciB7XG4gICAgICBtYXgtd2lkdGg6IDEyMHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIHRvcDogLTIwcHg7XG4gICAgICBsZWZ0OiAtMjBweDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLnByb2R1Y3RzLWJsb2NrX19jb250ZW50LWdyaWQtaXRlbTpub3QoLnByb2R1Y3RzLWJsb2NrX19jb250ZW50LXRodW1ibmFpbHMpIC5iYWRnZS1pbWFnZS1jb250YWluZXIge1xuICAgICAgICAgIHRvcDogMjBweDtcbiAgICAgICAgICBsZWZ0OiAtNDBweDsgfSB9XG4gICAgICAucHJvZHVjdHMtYmxvY2tfX2NvbnRlbnQtZ3JpZC1pdGVtOm5vdCgucHJvZHVjdHMtYmxvY2tfX2NvbnRlbnQtdGh1bWJuYWlscykgLmJhZGdlLWltYWdlLWNvbnRhaW5lciBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5wcm9kdWN0cy1ibG9ja19fY29udGVudC10aHVtYm5haWxzIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLnByb2R1Y3RzLWJsb2NrX19jb250ZW50LXRodW1ibmFpbHMge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiA0MHB4O1xuICAgICAgICB0b3A6IDE4MHB4OyB9IH1cbiAgICAucHJvZHVjdHMtYmxvY2tfX2NvbnRlbnQtdGh1bWJuYWlscyB1bCB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgICAgLnByb2R1Y3RzLWJsb2NrX19jb250ZW50LXRodW1ibmFpbHMgdWwge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfSB9XG4gICAgLnByb2R1Y3RzLWJsb2NrX19jb250ZW50LXRodW1ibmFpbHMtaXRlbSB7XG4gICAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBoZWlnaHQ6IDcwcHg7XG4gICAgICBtYXJnaW46IDAgNXB4O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHdpZHRoOiA3MHB4O1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNiM2IzYjM7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAgIC5wcm9kdWN0cy1ibG9ja19fY29udGVudC10aHVtYm5haWxzLWl0ZW0ge1xuICAgICAgICAgIG1hcmdpbjogMDsgfSB9XG4gICAgICAucHJvZHVjdHMtYmxvY2tfX2NvbnRlbnQtdGh1bWJuYWlscy1pdGVtIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDkwJTtcbiAgICAgICAgaGVpZ2h0OiA5MCU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIG1hcmdpbjogNSU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICAucHJvZHVjdHMtYmxvY2tfX2NvbnRlbnQtdGh1bWJuYWlscy1pdGVtIGFbZGF0YS1vcGVuPVwidmlkZW9Nb2RhbFwiXTpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy92aWRlby1wbGF5LnN2Z1wiKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgIHotaW5kZXg6IDEwOyB9XG4gICAgICAgIC5wcm9kdWN0cy1ibG9ja19fY29udGVudC10aHVtYm5haWxzLWl0ZW0gYSBpbWcge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgICAgLnByb2R1Y3RzLWJsb2NrX19jb250ZW50LXRodW1ibmFpbHMtaXRlbSB7XG4gICAgICAgICAgbWFyZ2luOiAxMHB4IDAgMDsgfVxuICAgICAgICAgIC5wcm9kdWN0cy1ibG9ja19fY29udGVudC10aHVtYm5haWxzLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gICAgICAucHJvZHVjdHMtYmxvY2tfX2NvbnRlbnQtdGh1bWJuYWlscy1pdGVtOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS10aXRsZSk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgYmFja2dyb3VuZDogI2IyMDkzOTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICBwYWRkaW5nOiAycHggOHB4O1xuICAgICAgICBib3gtc2hhZG93OiAycHggMnB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIHotaW5kZXg6IDEwMDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICByaWdodDogNTAlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwgMCk7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgICAgIC5wcm9kdWN0cy1ibG9ja19fY29udGVudC10aHVtYm5haWxzLWl0ZW06YmVmb3JlIHtcbiAgICAgICAgICAgIHJpZ2h0OiBjYWxjKDEwMCUgLSA0MHB4KTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7IH0gfVxuICAgICAgLnByb2R1Y3RzLWJsb2NrX19jb250ZW50LXRodW1ibmFpbHMtaXRlbTpob3ZlciB7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyB9XG4gICAgICAgIC5wcm9kdWN0cy1ibG9ja19fY29udGVudC10aHVtYm5haWxzLWl0ZW06aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IC0xMHB4O1xuICAgICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAgICAgICAucHJvZHVjdHMtYmxvY2tfX2NvbnRlbnQtdGh1bWJuYWlscy1pdGVtOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgICAgICAgIHJpZ2h0OiBjYWxjKDEwMCUgLSAxMHB4KTtcbiAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpOyB9IH1cbiAgICAucHJvZHVjdHMtYmxvY2tfX2NvbnRlbnQtdGh1bWJuYWlscyBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5wcm9kdWN0cy1ibG9ja19fY29udGVudC10aHVtYm5haWxzLS1hY3RpdmUge1xuICAgICAgYm9yZGVyOiAycHggc29saWQgI2IyMDkzOTsgfVxuICAucHJvZHVjdHMtYmxvY2tfX2luZm8ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIHBhZGRpbmc6IDIwcHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTcuNWVtKSB7XG4gICAgICAucHJvZHVjdHMtYmxvY2tfX2luZm8ge1xuICAgICAgICBmbGV4OiAxIDAgNDEuNjY2NjclO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDguMzMzMzMlO1xuICAgICAgICBtYXgtd2lkdGg6IDQyMHB4O1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLnByb2R1Y3RzLWJsb2NrX19pbmZvIHtcbiAgICAgICAgZmxleDogMSAwIDMzLjMzMzMzJTtcbiAgICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfSB9XG4gIC5wcm9kdWN0cy1ibG9ja19fd2FycmFudHktcmliYm9uIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGhlaWdodDogNzRweDtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDc1cHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnByb2R1Y3RzLWJsb2NrX193YXJyYW50eS1yaWJib24ge1xuICAgICAgICB0b3A6IDY1cHg7XG4gICAgICAgIGhlaWdodDogMTUzcHg7XG4gICAgICAgIHdpZHRoOiAxNDhweDsgfSB9XG4gICAgLnByb2R1Y3RzLWJsb2NrX193YXJyYW50eS1yaWJib24tLXRocmVlLXllYXJzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9wbmcvd2FycmFudHktcmliYm9uLnBuZ1wiKTsgfVxuICAucHJvZHVjdHMtYmxvY2tfX2luZm8tYnRuLXdyYXBwZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICAucHJvZHVjdHMtYmxvY2tfX2luZm8tYnRuLXdyYXBwZXIgLmJ0biB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAgICAgLnByb2R1Y3RzLWJsb2NrX19pbmZvLWJ0bi13cmFwcGVyIC5idG46Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5wcm9kdWN0cy1ibG9ja19faW5mby1idG4td3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgICAgICAgLnByb2R1Y3RzLWJsb2NrX19pbmZvLWJ0bi13cmFwcGVyIC5idG4ge1xuICAgICAgICAgIHdpZHRoOiA0OC40JTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgLnByb2R1Y3RzLWJsb2NrX19pbmZvLWhlYWRpbmcge1xuICAgIGNvbG9yOiAjMjM0YTcxO1xuICAgIGZvbnQtc2l6ZTogMS41NjI1ZW07IH1cbiAgLnByb2R1Y3RzLWJsb2NrX19pbmZvLW5hdiB7XG4gICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAgIC5wcm9kdWN0cy1ibG9ja19faW5mby1uYXYgdWwge1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgIC5wcm9kdWN0cy1ibG9ja19faW5mby1uYXYgbGkge1xuICAgICAgZm9udC1zaXplOiAwLjc1ZW07XG4gICAgICBtYXJnaW4tbGVmdDogMWVtOyB9XG4gICAgICAucHJvZHVjdHMtYmxvY2tfX2luZm8tbmF2IGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAucHJvZHVjdHMtYmxvY2tfX2luZm8tbmF2IGEge1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGNvbG9yOiAjMjM0YTcxOyB9XG4gICAgICAucHJvZHVjdHMtYmxvY2tfX2luZm8tbmF2IGE6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFwwMjVCOFwiO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuICAucHJvZHVjdHMtYmxvY2tfX2luZm8tY29udGVudCB7XG4gICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAgIC5wcm9kdWN0cy1ibG9ja19faW5mby1jb250ZW50IHAge1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjc7IH1cbiAgLnByb2R1Y3RzLWJsb2NrX19pbmZvLWNvbnRlbnQtYmxvY2sge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgICAucHJvZHVjdHMtYmxvY2tfX2luZm8tY29udGVudC1ibG9jazpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgLnByb2R1Y3RzLWJsb2NrX19pbmZvLWNvbnRlbnQtYmxvY2sgLnUtc3R5bGVkLWxpc3QsIC5wcm9kdWN0cy1ibG9ja19faW5mby1jb250ZW50LWJsb2NrIC53eXNpd3lnIG9sLCAucHJvZHVjdHMtYmxvY2tfX2luZm8tY29udGVudC1ibG9jayAud3lzaXd5ZyB1bCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG4gICAgICAucHJvZHVjdHMtYmxvY2tfX2luZm8tY29udGVudC1ibG9jayAudS1zdHlsZWQtbGlzdDpsYXN0LWNoaWxkLCAucHJvZHVjdHMtYmxvY2tfX2luZm8tY29udGVudC1ibG9jayAud3lzaXd5ZyBvbDpsYXN0LWNoaWxkLCAucHJvZHVjdHMtYmxvY2tfX2luZm8tY29udGVudC1ibG9jayAud3lzaXd5ZyB1bDpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5wcm9kdWN0cy1ibG9ja19faW5mby1jb250ZW50LWJsb2NrLmRkLW92ZXJyaWRlIHRhYmxlIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gICAgLnByb2R1Y3RzLWJsb2NrX19pbmZvLWNvbnRlbnQtYmxvY2suZGQtb3ZlcnJpZGUgdGQge1xuICAgICAgZm9udC1zaXplOiAuN2VtO1xuICAgICAgcGFkZGluZzogNXB4OyB9XG4gICAgLnByb2R1Y3RzLWJsb2NrX19pbmZvLWNvbnRlbnQtYmxvY2suZGQtb3ZlcnJpZGUgdGgge1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuNjI1cmVtOyB9XG4gIC5wcm9kdWN0cy1ibG9ja19faW5mby1jb250ZW50LWltYWdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAucHJvZHVjdHMtYmxvY2tfX2luZm8tY29udGVudC1pbWFnZSBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLnByb2R1Y3RzLWJsb2NrX19pbmZvLWNvbnRlbnQtaW1hZ2UgaW1nLm1lZGlhLS1pbWFnZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICAgLnByb2R1Y3RzLWJsb2NrX19pbmZvLWNvbnRlbnQtaW1hZ2UgaW1nLm1lZGlhLS1pbWFnZSB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgNjBweCk7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW46IDAgLTMwcHg7IH0gfVxuICAucHJvZHVjdHMtYmxvY2tfX2luZm8tY29udGVudC1oZWFkaW5nIHtcbiAgICBmb250LXNpemU6IDEuMTI1ZW07XG4gICAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgIGNvbG9yOiAjYjIwOTM5OyB9XG4gIC5wcm9kdWN0cy1ibG9ja19faW5mby1jb250ZW50LWJ0biB7XG4gICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAucHJvZHVjdHMtYmxvY2tfX2luZm8tY29udGVudC1zY3RhIHtcbiAgICBtYXJnaW46IDE1cHggMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAuOGVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zO1xuICAgIGNvbG9yOiAjMjM0YTcxOyB9XG4gICAgLnByb2R1Y3RzLWJsb2NrX19pbmZvLWNvbnRlbnQtc2N0YTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXDAyNUI4XCI7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuICAgIC5wcm9kdWN0cy1ibG9ja19faW5mby1jb250ZW50LXNjdGE6aG92ZXIge1xuICAgICAgY29sb3I6ICMyZjY0OTg7IH1cbiAgLnByb2R1Y3RzLWJsb2NrX19pbmZvLWNvbnRlbnQtZm9ybSAuZ2xvYmFsLWZvcm1fX2NvbCB7XG4gICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAucHJvZHVjdHMtYmxvY2tfX2luZm8tY29udGVudC1mb3JtIC5jdXN0b20tc2VsZWN0IHtcbiAgICBwYWRkaW5nOiAxMnB4IDIwcHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucHJvZHVjdHMtYmxvY2tfX2luZm8tY29udGVudC1kYXRhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfSB9XG4gIC5wcm9kdWN0cy1ibG9ja19faW5mby1jb250ZW50LWRhdGEgLnUtc3R5bGVkLWxpc3QgbGkge1xuICAgIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgICBtYXJnaW4tdG9wOiAxMnB4OyB9XG4gIC5wcm9kdWN0cy1ibG9ja19faW5mby1jb250ZW50LWRhdGEtaXRlbSB7XG4gICAgbWFyZ2luLXRvcDogMjRweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAucHJvZHVjdHMtYmxvY2tfX2luZm8tY29udGVudC1kYXRhLWl0ZW0ge1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAzLjIlO1xuICAgICAgICB3aWR0aDogNDguNCU7IH1cbiAgICAgICAgLnByb2R1Y3RzLWJsb2NrX19pbmZvLWNvbnRlbnQtZGF0YS1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG4gIC5wcm9kdWN0cy1ibG9ja19faW5mby1jb250ZW50LWRhdGEtaXRlbS1oZWFkaW5nIHtcbiAgICBmb250LXNpemU6IDEuMjVlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMjM0YTcxO1xuICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAjMjM0YTcxO1xuICAgIHBhZGRpbmctYm90dG9tOiAxMnB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnByb2R1Y3RzLWJsb2NrX19jb2wtaW5wdXQtLXBvd2VyIHtcbiAgICAgIHdpZHRoOiAzNiU7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wcm9kdWN0cy1ibG9ja19fY29sLWlucHV0LS1sb2NrIHtcbiAgICAgIGZsZXgtZ3JvdzogMjtcbiAgICAgIHdpZHRoOiA2MCU7IH0gfVxuXG4ucmV2ZWFsLnByb2R1Y3QtcmV2ZWFsIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGJvcmRlci1yYWRpdXM6IDZweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5yZXZlYWwucHJvZHVjdC1yZXZlYWwge1xuICAgICAgd2lkdGg6IDY1JTsgfSB9XG4gIC5yZXZlYWwucHJvZHVjdC1yZXZlYWwgLmNsb3NlLWJ1dHRvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAtNDVweDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXdlaWdodDogODAwO1xuICAgIHRvcDogLThweDsgfVxuICAucmV2ZWFsLnByb2R1Y3QtcmV2ZWFsIC52aWRlby13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAucmV2ZWFsLnByb2R1Y3QtcmV2ZWFsIC52aWRlby13cmFwcGVyIGlmcmFtZSxcbiAgICAucmV2ZWFsLnByb2R1Y3QtcmV2ZWFsIC52aWRlby13cmFwcGVyIG9iamVjdCxcbiAgICAucmV2ZWFsLnByb2R1Y3QtcmV2ZWFsIC52aWRlby13cmFwcGVyIGVtYmVkIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuXG4uc2VhcmNoLWJhcl9fYmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwLCAxMCwgMTAsIDAuMik7XG4gIGJvdHRvbTogMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiA5ODsgfVxuICAuc2VhcmNoLWJhci0taW52aWV3IC5zZWFyY2gtYmFyX19iZyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnNlYXJjaC1iYXItLWludmlldyB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLnNlYXJjaC1iYXItLW1vZGFsIHtcbiAgYm90dG9tOiAwO1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmctdG9wOiAxNTVweDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogOTk7IH1cbiAgLnNlYXJjaC1iYXItLW1vZGFsIC5zZWFyY2gtYmFyX193cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6IDk3OHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogOTAlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5zZWFyY2gtYmFyLS1tb2RhbCAuc2VhcmNoLWJhcl9fd3JhcHBlciB7XG4gICAgICAgIHdpZHRoOiA2OCU7IH0gfVxuICAuc2VhcmNoLWJhci0tbW9kYWwgLnNlYXJjaC1iYXJfX2Zvcm0tc3VibWl0IHtcbiAgICBmb250LXNpemU6IDAuODEyNWVtO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5zZWFyY2gtYmFyLS1tb2RhbCAuc2VhcmNoLWJhcl9fZm9ybS1zdWJtaXQge1xuICAgICAgICB3aWR0aDogMjA3cHg7IH0gfVxuICAuc2VhcmNoLWJhci0taW52aWV3IC5zZWFyY2gtYmFyLS1tb2RhbCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnNlYXJjaC1iYXItLW1vZGFsIC5zZWFyY2gtYmFyX19oZWFkZXIge1xuICAgIHBhZGRpbmc6IDE4cHggMThweCAxNXB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5zZWFyY2gtYmFyLS1tb2RhbCAuc2VhcmNoLWJhcl9faGVhZGVyIHtcbiAgICAgICAgcGFkZGluZzogMzBweCAzMHB4IDE1cHg7IH0gfVxuICAuc2VhcmNoLWJhci0tbW9kYWwgLnNlYXJjaC1iYXJfX2Zvcm0taW5wdXQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuc2VhcmNoLWJhci0tbW9kYWwgLnNlYXJjaC1iYXJfX2Zvcm0taW5wdXQge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cblxuLnNlYXJjaC1iYXJfX2Zvcm0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYWVhZWFlO1xuICBwYWRkaW5nOiAxMnB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnNlYXJjaC1iYXJfX2Zvcm0ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHBhZGRpbmc6IDRweCAxMnB4IDRweCAzMnB4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfSB9XG5cbi5zZWFyY2gtYmFyX19mb3JtLWlucHV0IHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBmb250LXNpemU6IDEuMjVlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDEycHggMDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnNlYXJjaC1iYXJfX2Zvcm0taW5wdXQ6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuc2VhcmNoLWJhcl9fZm9ybS1pbnB1dCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgcGFkZGluZzogMCAxMHB4IDAgMDsgfSB9XG5cbi5zZWFyY2gtYmFyX193cmFwcGVyLS1mdWxsLXdpZHRoIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnNlYXJjaC1iYXJfX2V4YW1wbGUge1xuICBwYWRkaW5nOiAxNXB4IDE1cHggMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5zZWFyY2gtYmFyX19leGFtcGxlIHAge1xuICAgIGZvbnQtc2l6ZTogMC43NWVtO1xuICAgIGNvbG9yOiByZ2JhKDEyMCwgMTIwLCAxMjAsIDAuNyk7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5zZWFyY2gtYmFyX19leGFtcGxlIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG4uc2VhcmNoLWJhcl9fcmVzdWx0cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIHBhZGRpbmc6IDIwcHggMThweCAxOHB4O1xuICBkaXNwbGF5OiBub25lOyB9XG4gIC5zZWFyY2gtYmFyLS1yZXN1bHRzLWludmlldyAuc2VhcmNoLWJhcl9fcmVzdWx0cyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3LjVlbSkge1xuICAgIC5zZWFyY2gtYmFyX19yZXN1bHRzIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIHBhZGRpbmc6IDIwcHggMzBweCAzMHB4OyB9XG4gICAgICAuc2VhcmNoLWJhci0tcmVzdWx0cy1pbnZpZXcgLnNlYXJjaC1iYXJfX3Jlc3VsdHMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyB9IH1cblxuLnNlYXJjaC1iYXJfX3Jlc3VsdHMtaXRlbSB7XG4gIHBhZGRpbmc6IDEwcHggMDsgfVxuXG4uc2VhcmNoLWJhcl9fcmVzdWx0cy1oZWFkaW5nIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxLjEyNWVtO1xuICBjb2xvcjogI2IyMDkzOTtcbiAgbWFyZ2luLWJvdHRvbTogMzJweDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTcuNWVtKSB7XG4gIC5zZWFyY2gtYmFyX19yZXN1bHRzLWNhdGFsb2cge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICB3aWR0aDogNDguNCU7IH0gfVxuXG4uc2VhcmNoLWJhcl9fcmVzdWx0cy1jYXRhbG9nLWl0ZW0gYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLnNlYXJjaC1iYXJfX3Jlc3VsdHMtY2F0YWxvZy1pdGVtIGltZyB7XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICB3aWR0aDogNjhweDsgfVxuXG4uc2VhcmNoLWJhcl9fcmVzdWx0cy1tYXRlcmlhbHMge1xuICBtYXJnaW4tdG9wOiA0MHB4O1xuICBwYWRkaW5nLXRvcDogNDBweDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNhZWFlYWU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3LjVlbSkge1xuICAgIC5zZWFyY2gtYmFyX19yZXN1bHRzLW1hdGVyaWFscyB7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNhZWFlYWU7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgbWFyZ2luLWxlZnQ6IDMuMiU7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAzLjIlO1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICB3aWR0aDogNDguNCU7IH0gfVxuXG4uc2VhcmNoLWJhcl9fY2xvc2Uge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc3ZnL2Nsb3NlLWljb24uc3ZnXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDIwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMjBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMjBweDtcbiAgei1pbmRleDogOTk7XG4gIHRvcDogLTMwcHg7XG4gIHJpZ2h0OiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnNlYXJjaC1iYXJfX2Nsb3NlIHtcbiAgICAgIHJpZ2h0OiAtMzBweDtcbiAgICAgIHRvcDogMDsgfSB9XG5cbi5jLXNlYXJjaC1yZXN1bHRzIHtcbiAgcGFkZGluZzogNTBweCAwOyB9XG4gIC5jLXNlYXJjaC1yZXN1bHRzIC5jb250YWluZXIge1xuICAgIG1heC13aWR0aDogOTgwcHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYy1zZWFyY2gtcmVzdWx0cyB7XG4gICAgICBwYWRkaW5nOiA1MHB4IDAgMTIwcHg7IH0gfVxuICAuYy1zZWFyY2gtcmVzdWx0c19faGVhZGluZyB7XG4gICAgZm9udC1zaXplOiAxLjU2MjVlbTtcbiAgICBjb2xvcjogIzIzNGE3MTtcbiAgICBtYXJnaW4tYm90dG9tOiAyNnB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuYy1zZWFyY2gtcmVzdWx0c19fbmF2IHtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZzogMjBweCAwIDYwcHg7XG4gICAgd2lkdGg6IDg1JTtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgIC5jLXNlYXJjaC1yZXN1bHRzX19uYXYgdWwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMTBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMTBweDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmMtc2VhcmNoLXJlc3VsdHNfX25hdiB1bCB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7IH0gfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmMtc2VhcmNoLXJlc3VsdHNfX25hdiB1bCB7XG4gICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuYy1zZWFyY2gtcmVzdWx0c19fbmF2IGxpIHtcbiAgICAgICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgICAgIGZsZXg6IDEgMCA1MCU7IH0gfVxuICAgIC5jLXNlYXJjaC1yZXN1bHRzX19uYXYgbGkgYSB7XG4gICAgICB0cmFuc2l0aW9uOiBlYXNlIGFsbCAwLjNzO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIHBhZGRpbmc6IDE1cHggMjVweDtcbiAgICAgIGNvbG9yOiAjMjM0YTcxO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgICAgLmMtc2VhcmNoLXJlc3VsdHNfX25hdiBsaSBhOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzNSwgNzQsIDExMywgMC4xKTtcbiAgICAgICAgY29sb3I6ICMyMzRhNzE7IH1cbiAgICAgIC5jLXNlYXJjaC1yZXN1bHRzX19uYXYgbGkgYS5pcy1hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjM0YTcxO1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5jLXNlYXJjaC1yZXN1bHRzX19uYXYgLmJ0biB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgcGFkZGluZzogMTJweCA1MHB4OyB9XG4gICAgICAuYy1zZWFyY2gtcmVzdWx0c19fbmF2IC5idG4uYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIzNGE3MTtcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmMtc2VhcmNoLXJlc3VsdHNfX2l0ZW0ge1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICNGMEYwRjA7XG4gICAgYmFja2dyb3VuZDogI2YwZjBmMDtcbiAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuYy1zZWFyY2gtcmVzdWx0c19faXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9IH1cbiAgLmMtc2VhcmNoLXJlc3VsdHNfX2l0ZW0taW1hZ2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtaW4taGVpZ2h0OiAxMDBweDtcbiAgICBtaW4td2lkdGg6IDIwMHB4O1xuICAgIHBhZGRpbmc6IDI2cHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmMtc2VhcmNoLXJlc3VsdHNfX2l0ZW0taW1hZ2Uge1xuICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICB3aWR0aDogMjAlOyB9IH1cbiAgLmMtc2VhcmNoLXJlc3VsdHNfX2l0ZW0tY29udGVudCB7XG4gICAgcGFkZGluZzogMjBweCAyMHB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jLXNlYXJjaC1yZXN1bHRzX19pdGVtLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDMwcHg7IH0gfVxuICAgIC5jLXNlYXJjaC1yZXN1bHRzX19pdGVtLWNvbnRlbnQgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgZm9udC1zaXplOiAuOGVtOyB9XG4gIC5jLXNlYXJjaC1yZXN1bHRzX19pdGVtLWhlYWRpbmcge1xuICAgIGZvbnQtc2l6ZTogMS4xMjVlbTtcbiAgICBjb2xvcjogIzIzNGE3MTtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmMtc2VhcmNoLXJlc3VsdHNfX2l0ZW0taGVhZGluZyBhIHtcbiAgICAgIGNvbG9yOiAjMjM0YTcxOyB9XG4gICAgLmMtc2VhcmNoLXJlc3VsdHNfX2l0ZW0taGVhZGluZyArIHAge1xuICAgICAgbWFyZ2luLXRvcDogNXB4OyB9XG4gIC5jLXNlYXJjaC1yZXN1bHRzX19wYWdpbmF0aW9uIHtcbiAgICBtYXJnaW46IDQwcHggYXV0byAwO1xuICAgIG1heC13aWR0aDogMjQ0cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuYy1zZWFyY2gtcmVzdWx0c19fcGFnaW5hdGlvbiB1bCB7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjMjM0YTcxO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogMTBweDsgfVxuICAgICAgLmMtc2VhcmNoLXJlc3VsdHNfX3BhZ2luYXRpb24gdWwgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgICAgLmMtc2VhcmNoLXJlc3VsdHNfX3BhZ2luYXRpb24gdWwgbGkuYWN0aXZlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDM1LCA3NCwgMTEzLCAwLjEpOyB9XG4gICAgLmMtc2VhcmNoLXJlc3VsdHNfX3BhZ2luYXRpb24gYSB7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgY29sb3I6ICMyMzRhNzE7XG4gICAgICBwYWRkaW5nOiA4cHggMTBweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5jLXNlYXJjaC1yZXN1bHRzX19wYWdpbmF0aW9uLWJ0biB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiA2cHggYXV0bztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIG1hcmdpbi10b3A6IC0yMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB3aWR0aDogNDBweDsgfVxuICAgIC5jLXNlYXJjaC1yZXN1bHRzX19wYWdpbmF0aW9uLWJ0bi0tbGVmdCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcG5nL2JsdWUtbGVmdC1hcnJvdy5wbmdcIik7XG4gICAgICBsZWZ0OiAwOyB9XG4gICAgLmMtc2VhcmNoLXJlc3VsdHNfX3BhZ2luYXRpb24tYnRuLS1yaWdodCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcG5nL2JsdWUtcmlnaHQtYXJyb3cucG5nXCIpO1xuICAgICAgcmlnaHQ6IDA7IH1cblxuYm9keS5wYWdlLXRlbXBsYXRlLXNlYXJjaCAucHJvZHVjdC1zZWFyY2gge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgYm9keS5wYWdlLXRlbXBsYXRlLXNlYXJjaCAucHJvZHVjdC1zZWFyY2gge1xuICAgICAgLyogUGVybWFsaW5rIC0gdXNlIHRvIGVkaXQgYW5kIHNoYXJlIHRoaXMgZ3JhZGllbnQ6IGh0dHA6Ly9jb2xvcnppbGxhLmNvbS9ncmFkaWVudC1lZGl0b3IvI2U4ZThlOCs0NSxmNGY0ZjQrNDUgKi9cbiAgICAgIGJhY2tncm91bmQ6ICNmMGYwZjA7XG4gICAgICAvKiBPbGQgYnJvd3NlcnMgKi8gfVxuICAgICAgYm9keS5wYWdlLXRlbXBsYXRlLXNlYXJjaCAucHJvZHVjdC1zZWFyY2ggLmNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogOTgwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIGJvZHkucGFnZS10ZW1wbGF0ZS1zZWFyY2ggLnByb2R1Y3Qtc2VhcmNoIC5zZWFyY2gtYmFyX19mb3JtIHtcbiAgICAgIHBhZGRpbmc6IDE1cHggMzBweDsgfSB9XG5cbi5zdXBwb3J0LWZhcSB7XG4gIG1hcmdpbi1ib3R0b206IDMycHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuc3VwcG9ydC1mYXFfX2hlYWRlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9IH1cbiAgLnN1cHBvcnQtZmFxX19oZWFkaW5nIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZmxleDogMSAwIGF1dG87IH1cbiAgLnN1cHBvcnQtZmFxX19idG4td3JhcHBlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnN1cHBvcnQtZmFxX19idG4td3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfSB9XG4gICAgLnN1cHBvcnQtZmFxX19idG4td3JhcHBlciAuYy1hY2NvcmRpb25fX2V4cGFuZCB7XG4gICAgICB0b3A6IDYwcHg7IH1cbiAgLnN1cHBvcnQtZmFxX19oZWFkaW5nIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMS44NzVlbTtcbiAgICBjb2xvcjogIzIzNGE3MTsgfVxuICAuc3VwcG9ydC1mYXFfX3ZpZXctYWxsIHtcbiAgICBtYXJnaW46IDIwcHggMCA0MHB4O1xuICAgIGZvbnQtc2l6ZTogMC43NWVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgd2lkdGg6IDE5MHB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5zdXBwb3J0LWZhcV9fdmlldy1hbGwge1xuICAgICAgICBtYXJnaW46IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5zdXBwb3J0LWZhcV9faXRlbS1jb250ZW50LmMtYWNjb3JkaW9uX19jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIHBhZGRpbmctdG9wOiAyNXB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAwOyB9IH1cbiAgLnN1cHBvcnQtZmFxX19pdGVtIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5zdXBwb3J0LWZhcV9faXRlbSA+IC5jLWFjY29yZGlvbl9fY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuc3VwcG9ydC1mYXFfX2l0ZW0gPiAuYy1hY2NvcmRpb25fX2NvbnRlbnQge1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDI1cHg7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB0b3A6IDA7IH0gfVxuICAgICAgLnN1cHBvcnQtZmFxX19pdGVtID4gLmMtYWNjb3JkaW9uX19jb250ZW50IHAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gICAgICAuc3VwcG9ydC1mYXFfX2l0ZW0gPiAuYy1hY2NvcmRpb25fX2NvbnRlbnQtLXRhYmxlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDQwcHg7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgICAuc3VwcG9ydC1mYXFfX2l0ZW0gPiAuYy1hY2NvcmRpb25fX2NvbnRlbnQtLXRhYmxlIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9IH1cblxuLmMtYWNjb3JkaW9uX19uYXYuc3VwcG9ydC1mYXFfX2J0bi1uYXYge1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiA0MHB4IDAgMjVweDsgfVxuICAuYy1hY2NvcmRpb25fX25hdi5zdXBwb3J0LWZhcV9fYnRuLW5hdiAuYy1hY2NvcmRpb25fX2J0biB7XG4gICAgdHJhbnNpdGlvbjogZWFzZSBhbGwgMC4zcztcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBwYWRkaW5nOiAxNXB4IDI1cHg7XG4gICAgY29sb3I6ICMyMzRhNzE7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgIC5jLWFjY29yZGlvbl9fbmF2LnN1cHBvcnQtZmFxX19idG4tbmF2IC5jLWFjY29yZGlvbl9fYnRuOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzUsIDc0LCAxMTMsIDAuMSk7IH1cbiAgICAuYy1hY2NvcmRpb25fX25hdi5zdXBwb3J0LWZhcV9fYnRuLW5hdiAuYy1hY2NvcmRpb25fX2J0bi5pcy1hY3RpdmUsIC5jLWFjY29yZGlvbl9fbmF2LnN1cHBvcnQtZmFxX19idG4tbmF2IC5jLWFjY29yZGlvbl9fYnRuLmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjM0YTcxO1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cblxuLmMtc2l0ZW1hcCB7XG4gIHBhZGRpbmc6IDEwNXB4IDA7IH1cbiAgLmMtc2l0ZW1hcCAuY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDk4MHB4OyB9XG4gIC5jLXNpdGVtYXBfX2hlYWRpbmcge1xuICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xuICAgIGNvbG9yOiAjMjM0YTcxO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYWVhZWFlO1xuICAgIHBhZGRpbmc6IDAgMjZweCAyMHB4OyB9XG4gIC5jLXNpdGVtYXBfX2l0ZW0ge1xuICAgIG1hcmdpbi10b3A6IDUwcHg7IH1cbiAgICAuYy1zaXRlbWFwX19pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYy1zaXRlbWFwX19pdGVtLWNvbnRlbnQge1xuICAgICAgZGlzcGxheTogZmxleDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmMtc2l0ZW1hcF9faXRlbS1jb2wge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIGZsZXgtZ3JvdzogMTsgfSB9XG4gIC5jLXNpdGVtYXBfX2l0ZW0tY29sID4gdWwge1xuICAgIHBhZGRpbmctbGVmdDogMjZweDsgfVxuICAuYy1zaXRlbWFwX19pdGVtLWNvbCBhIHtcbiAgICBjb2xvcjogIzIzNGE3MTsgfVxuICAuYy1zaXRlbWFwX19pdGVtLWNvbCBsaSB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDAuNzVlbTtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAuYy1zaXRlbWFwX19pdGVtLWNvbCBsaSB1bCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjBweDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmMtc2l0ZW1hcF9faXRlbS1jb2wgbGkgdWwge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzNXB4OyB9IH1cbiAgICAgIC5jLXNpdGVtYXBfX2l0ZW0tY29sIGxpIHVsIGxpIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NWVtO1xuICAgICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgICAuYy1zaXRlbWFwX19pdGVtLWNvbCBsaSB1bCBhIHtcbiAgICAgICAgY29sb3I6ICM3ODc4Nzg7IH1cblxuZGl2LmhlYXQtY2FsY3VsYXRvciB7XG4gIGJhY2tncm91bmQ6ICNmMGYwZjA7XG4gIHdpZHRoOiA0MDBweDtcbiAgcGFkZGluZzogNjBweCA0NXB4O1xuICBtYXJnaW4tbGVmdDogMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45OTg3NWVtKSB7XG4gICAgZGl2LmhlYXQtY2FsY3VsYXRvciB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogNjBweCA0MHB4OyB9IH1cbiAgZGl2LmhlYXQtY2FsY3VsYXRvciAucHJlc2V0cy1mYWN0b3IsIGRpdi5oZWF0LWNhbGN1bGF0b3IgLnByZXNldHMtb2Zmc2V0IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIGRpdi5oZWF0LWNhbGN1bGF0b3IgaDMge1xuICAgIGNvbG9yOiAjMjM0YTcxICFpbXBvcnRhbnQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxM3B4ICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDE3cHg7IH1cbiAgZGl2LmhlYXQtY2FsY3VsYXRvciBwIHtcbiAgICBjb2xvcjogIzc4Nzg3ODtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE3cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIGRpdi5oZWF0LWNhbGN1bGF0b3IgLmhlYXQtY2FsY3VsYXRvcl9faW5wdXQge1xuICAgIGhlaWdodDogNDVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG8gMTBweDtcbiAgICB3aWR0aDogMTgwcHg7IH1cbiAgICBkaXYuaGVhdC1jYWxjdWxhdG9yIC5oZWF0LWNhbGN1bGF0b3JfX2lucHV0LS10ZW1wOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICfCsEMnO1xuICAgICAgY29sb3I6IGRhcmtzbGF0ZWdyYXk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiBjYWxjKDEwMCUgKyAycHgpO1xuICAgICAgdG9wOiBjYWxjKDUwJSAtIDEycHgpOyB9XG4gICAgZGl2LmhlYXQtY2FsY3VsYXRvciAuaGVhdC1jYWxjdWxhdG9yX19pbnB1dC0td2F0dGFnZTphZnRlciB7XG4gICAgICBjb250ZW50OiAnVyc7XG4gICAgICBjb2xvcjogZGFya3NsYXRlZ3JheTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IGNhbGMoMTAwJSArIDJweCk7XG4gICAgICB0b3A6IGNhbGMoNTAlIC0gMTJweCk7IH1cbiAgICBkaXYuaGVhdC1jYWxjdWxhdG9yIC5oZWF0LWNhbGN1bGF0b3JfX2lucHV0IGlucHV0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtzbGF0ZWdyYXk7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDsgfVxuICAgICAgZGl2LmhlYXQtY2FsY3VsYXRvciAuaGVhdC1jYWxjdWxhdG9yX19pbnB1dCBpbnB1dDppbnZhbGlkIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjYjIwOTM5OyB9XG4gICAgICBkaXYuaGVhdC1jYWxjdWxhdG9yIC5oZWF0LWNhbGN1bGF0b3JfX2lucHV0IGlucHV0OjpwbGFjZWhvbGRlciB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDsgfVxuICBkaXYuaGVhdC1jYWxjdWxhdG9yIC5oZWF0LWNhbGN1bGF0b3JfX3JhZGlvcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWFyZ2luOiAxMHB4IDA7IH1cbiAgICBkaXYuaGVhdC1jYWxjdWxhdG9yIC5oZWF0LWNhbGN1bGF0b3JfX3JhZGlvcyBsYWJlbCB7XG4gICAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgICBkaXYuaGVhdC1jYWxjdWxhdG9yIC5oZWF0LWNhbGN1bGF0b3JfX3JhZGlvcyBpbnB1dCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cbiAgZGl2LmhlYXQtY2FsY3VsYXRvciBzZWxlY3Qge1xuICAgIHdpZHRoOiAyNTBweDtcbiAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG8gMzBweDtcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgZm9udC1zaXplOiAxM3B4OyB9XG4gIGRpdi5oZWF0LWNhbGN1bGF0b3IgLnJlc2V0IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICBkaXYuaGVhdC1jYWxjdWxhdG9yIC5jYWxjdWxhdGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMjUwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgZGl2LmhlYXQtY2FsY3VsYXRvcl9fcmVzdWx0cywgZGl2LmhlYXQtY2FsY3VsYXRvcl9fZXJyb3Ige1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgY29sb3I6ICNiMjA5Mzk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7IH1cbiAgZGl2LmhlYXQtY2FsY3VsYXRvci5zdWJtaXR0ZWQgLnJlc2V0IHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICBkaXYuaGVhdC1jYWxjdWxhdG9yLnN1Ym1pdHRlZCAuY2FsY3VsYXRlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIGRpdi5oZWF0LWNhbGN1bGF0b3Iuc3VibWl0dGVkIC5oZWF0LWNhbGN1bGF0b3JfX3Jlc3VsdHMge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5ncmFwaC1hbmQtY2FsYyB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTk4NzVlbSkge1xuICAgIC5ncmFwaC1hbmQtY2FsYyB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5ncmFwaC1hbmQtY2FsYyBpbWcge1xuICAgIG1hcmdpbjogMDsgfVxuXG4vKlxuaHRtbFtsYW5nPVwiZXMtTVhcIl0sIGh0bWxbbGFuZz1cImVzLUVTXCJdIHtcbiAgICBkaXYuaGVhdC1jYWxjdWxhdG9yIC5oZWF0LWNhbGN1bGF0b3JfX2lucHV0LS13YXR0YWdlOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJ3dhdHRzJztcbiAgICB9XG59XG4qL1xuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmN1c3RvbWVycyAubWFzdGhlYWRfX2NvbnRlbnQtd3JhcHBlciAuY3VzdG9tLXNlbGVjdCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZlZmVmZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGMxODI0O1xuICAgIG1hcmdpbi10b3A6IDQwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3VzdG9tZXJzIC5tYXN0aGVhZF9fY29udGVudC13cmFwcGVyIC5jdXN0b20tc2VsZWN0IHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXgtd2lkdGg6IDMyMHB4O1xuICAgICAgd2lkdGg6IDQyJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmN1c3RvbWVycyAubWFzdGhlYWRfX2NvbnRlbnQtd3JhcHBlciAuY3VzdG9tLXNlbGVjdCBzZWxlY3Qge1xuICAgICAgZm9udC1zaXplOiAwLjg3NWVtO1xuICAgICAgcGFkZGluZzogMTZweCA2MHB4IDE2cHggMzBweDtcbiAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5jdXN0b21lcnMgLm1hc3RoZWFkX19jb250ZW50LXdyYXBwZXIgLmN1c3RvbS1zZWxlY3Q6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9wbmcvc2VsZWN0LWFycm93LnBuZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgIGhlaWdodDogMThweDtcbiAgICAgIHJpZ2h0OiAzMHB4O1xuICAgICAgd2lkdGg6IDE2cHg7IH0gfVxuXG4ubWFzdGhlYWQtLWNhc2VzdHVkeSAubWFzdGhlYWRfX2NvbnRlbnQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1heC13aWR0aDogNDguNzVyZW07IH1cblxuLmN1c3RvbWVyLXN1bW1hcnkge1xuICBwYWRkaW5nOiA0NXB4IDA7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgLmN1c3RvbWVyLXN1bW1hcnlfX2NvbnRlbnQge1xuICAgIG1heC13aWR0aDogNDguNzVyZW07IH1cbiAgLmN1c3RvbWVyLXN1bW1hcnlfX2N0YSB7XG4gICAgbWF4LXdpZHRoOiAxNXJlbTtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTcuNWVtKSB7XG4gIC5uby1tYXAge1xuICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuXG4uY29udGFjdC1pbmZvIHtcbiAgcGFkZGluZzogNDVweCAwO1xuICAvKiZfX2VtYWlscyB7XG4gICAgZmxleC1ncm93OiAyO1xuICB9XG5cbiAgJl9fZW1haWwtaXRlbSB7XG4gICAgY29sb3I6ICRjb2xvci1uYXZ5LWJsdWU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgIC8vbWFyZ2luLWxlZnQ6IDY1cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSB0by1lbSgxMnB4KTtcbiAgICAgIGNvbG9yOiAkY29sb3ItbmF2eS1ibHVlO1xuICAgIH1cbiAgfVxuXG4gICZfX2VtYWlsLWl0ZW0taGVhZGluZyB7XG4gICAgQGluY2x1ZGUgZm9udC1zYW5zKG1lZGl1bSk7XG4gICAgQGluY2x1ZGUgdG8tZW0oMTRweCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDAgYXV0byA0MHB4O1xuICAgICAgaGVpZ2h0OiA3MHB4O1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB9XG5cbiAgICAmLS1lbWFpbDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvZW1haWwtYWNjb3VudHMtaWNvbi5zdmdcIik7XG4gICAgfVxuXG4gICAgJi0tc3VwcG9ydDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvc3VwcG9ydC1pY29uLnN2Z1wiKTtcbiAgICB9XG5cbiAgICAmLS1zYWxlczo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvc2FsZXMtaWNvbi5zdmdcIik7XG4gICAgfVxuICB9XG5cbiAgJl9fcGhvbmUtY2hhdCB7XG4gICAgQGluY2x1ZGUgdG8tZW0oMTVweCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItZ3JleTtcbiAgICAgIG1hcmdpbi10b3A6IDM1cHg7XG4gICAgICBwYWRkaW5nLXRvcDogMzVweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZTIpIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGNvbG9yLWJvcmRlci1ncmV5O1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIG1hcmdpbi1sZWZ0OiA0NXB4O1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogNDVweDtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gIH1cblxuICAmX19waG9uZS1jaGF0LWJ0bnMge1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG5cbiAgICAuYnRuIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2FucyhtZWRpdW0pO1xuICAgICAgQGluY2x1ZGUgdG8tZW0oMTNweCk7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgIC5idG4ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgZmxleDogMSAwIGF1dG87XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZTIpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG4gIH0qLyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1Ny41ZW0pIHtcbiAgICAuY29udGFjdC1pbmZvIHtcbiAgICAgIHBhZGRpbmc6IDQ1cHggNTZweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH0gfVxuICAuY29udGFjdC1pbmZvX19ibG9jayB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNhZWFlYWU7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1Ny41ZW0pIHtcbiAgICAgIC5jb250YWN0LWluZm9fX2Jsb2NrIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2FlYWVhZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZzogMCAzMHB4OyB9IH1cbiAgICAuY29udGFjdC1pbmZvX19ibG9jazpmaXJzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAuY29udGFjdC1pbmZvX19ibG9jazpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLmNvbnRhY3QtaW5mb19faGVhZGluZyB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBjb2xvcjogI0IyMDgzODtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDVweDsgfVxuICAuY29udGFjdC1pbmZvX19jaGF0LXVzIHtcbiAgICBmbGV4LWdyb3c6IDE7IH1cbiAgICAuY29udGFjdC1pbmZvX19jaGF0LXVzIC5jb250YWN0LWluZm9fX2NvbnRlbnQge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9pY29uLWNvbnRhY3QtY2hhdC5zdmdcIik7IH1cbiAgLmNvbnRhY3QtaW5mb19fY2FsbC11cyB7XG4gICAgZmxleC1ncm93OiAxOyB9XG4gICAgLmNvbnRhY3QtaW5mb19fY2FsbC11cyAuY29udGFjdC1pbmZvX19jb250ZW50IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvaWNvbi1jb250YWN0LWNhbGwuc3ZnXCIpOyB9XG4gIC5jb250YWN0LWluZm9fX2VtYWlsLXVzIHtcbiAgICBmbGV4LWdyb3c6IDE7IH1cbiAgICAuY29udGFjdC1pbmZvX19lbWFpbC11cyAuY29udGFjdC1pbmZvX19jb250ZW50IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvaWNvbi1jb250YWN0LWVtYWlsLnN2Z1wiKTsgfVxuICAuY29udGFjdC1pbmZvX19tYWlsLXVzIHtcbiAgICBmbGV4LWdyb3c6IDE7IH1cbiAgICAuY29udGFjdC1pbmZvX19tYWlsLXVzIC5jb250YWN0LWluZm9fX2NvbnRlbnQge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9pY29uLWNvbnRhY3QtbWFpbC5zdmdcIik7IH1cbiAgLmNvbnRhY3QtaW5mb19fY29udGVudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDc1cHg7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDUwcHg7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1Ny41ZW0pIHtcbiAgICAgIC5jb250YWN0LWluZm9fX2NvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLXRvcDogNzVweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAuY29udGFjdC1pbmZvX19jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA3NXB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG4gICAgLmNvbnRhY3QtaW5mb19fY29udGVudCBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNzUlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1Ny41ZW0pIHtcbiAgICAubm8tbWFwIC5jb250YWN0LWluZm8ge1xuICAgICAgcGFkZGluZzogMCA2MHB4IDAgMDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgLm5vLW1hcCAuY29udGFjdC1pbmZvIC5jb250YWN0LWluZm9fX2Jsb2NrIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICBwYWRkaW5nOiAwIDAgNDBweDtcbiAgICBib3JkZXI6IDA7IH1cblxuLmZvcm0tbWFwIHtcbiAgcGFkZGluZy1ib3R0b206IDQ1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogOTk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgLmZvcm0tbWFwX193cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTcuNWVtKSB7XG4gICAgICAuZm9ybS1tYXBfX3dyYXBwZXIge1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgcGFkZGluZzogMCAyMHB4OyB9IH1cbiAgLmZvcm0tbWFwIGlmcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5mb3JtLW1hcF9fbWFwIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgIGhlaWdodDogMzI1cHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTcuNWVtKSB7XG4gICAgICAuZm9ybS1tYXBfX21hcCB7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87IH0gfVxuICAuZm9ybS1tYXBfX2Zvcm0ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3LjVlbSkge1xuICAgICAgLmZvcm0tbWFwX19mb3JtIHtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgbWluLWhlaWdodDogNjM1cHg7IH0gfVxuICAgIC5mb3JtLW1hcF9fZm9ybSAuY29udGFjdC1pbmZvX19oZWFkaW5nIHtcbiAgICAgIHBhZGRpbmc6IDAgMCAyMHB4IDIwcHg7IH1cbiAgLmZvcm0tbWFwIC5hY2YtZmllbGQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5mb3JtLW1hcCAuYWNmLWZpZWxkIC5hY2YtbGFiZWwge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1cHg7XG4gICAgICBsZWZ0OiAzMXB4O1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGZvbnQtc2l6ZTogLjY1ZW07XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zOyB9XG4gICAgICAuZm9ybS1tYXAgLmFjZi1maWVsZCAuYWNmLWxhYmVsIGxhYmVsIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDIwMDsgfVxuICAuZm9ybS1tYXAgI21lc3NhZ2UudXBkYXRlZCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzhiYzM0YTtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIG1hcmdpbjogMCA1cHggMTBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMzksIDE5NSwgNzQsIDAuMSk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5mb3JtLW1hcCAjbWVzc2FnZS51cGRhdGVkIHAge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGZvbnQtc2l6ZTogLjhlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm5vLW1hcCAuZm9ybS1tYXAgLmNvbnRhY3QtaW5mb19faGVhZGluZyB7XG4gICAgcGFkZGluZzogMCAwIDIwcHggMjVweDsgfVxuXG4uZ2xvYmFsLXNpdGVzIHtcbiAgcGFkZGluZy1ib3R0b206IDcwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTsgfVxuICAuZ2xvYmFsLXNpdGVzX19zaXRlcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLmdsb2JhbC1zaXRlc19fc2l0ZSB7XG4gICAgZm9udC1zaXplOiAwLjc1ZW07XG4gICAgY29sb3I6ICMyMzRhNzE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgZmxleDogMSAwIDUwJTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuZ2xvYmFsLXNpdGVzX19zaXRlIHtcbiAgICAgICAgZmxleDogMSAwIDMzJTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5nbG9iYWwtc2l0ZXNfX3NpdGUge1xuICAgICAgICBmbGV4OiAxIDAgYXV0bzsgfSB9XG4gICAgLmdsb2JhbC1zaXRlc19fc2l0ZTpmaXJzdC1jaGlsZCAuZ2xvYmFsLXNpdGVzX19zaXRlLWltYWdlIHtcbiAgICAgIGJvcmRlcjogMDsgfVxuICAgICAgLmdsb2JhbC1zaXRlc19fc2l0ZTpmaXJzdC1jaGlsZCAuZ2xvYmFsLXNpdGVzX19zaXRlLWltYWdlOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5nbG9iYWwtc2l0ZXNfX3NpdGUtaW1hZ2Uge1xuICAgIHBhZGRpbmc6IDAgMTglOyB9XG4gICAgLmdsb2JhbC1zaXRlc19fc2l0ZS1pbWFnZSBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW46IDAgYXV0byAzNXB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDIzMHB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5nbG9iYWwtc2l0ZXNfX3NpdGUtaW1hZ2Uge1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNhZWFlYWU7IH1cbiAgICAgICAgLmdsb2JhbC1zaXRlc19fc2l0ZS1pbWFnZSBpbWcge1xuICAgICAgICAgIHdpZHRoOiA2OHB4OyB9IH1cblxuLmFjZi1maWVsZHMgPiAuYWNmLWZpZWxkIHtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgNXB4IDE1cHggIWltcG9ydGFudDsgfVxuICAuYWNmLWZpZWxkcyA+IC5hY2YtZmllbGQ6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50OyB9XG4gIC5hY2YtZmllbGRzID4gLmFjZi1maWVsZCBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbiAgLmFjZi1maWVsZHMgPiAuYWNmLWZpZWxkIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbiAgLmFjZi1maWVsZHMgPiAuYWNmLWZpZWxkIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG4gIC5hY2YtZmllbGRzID4gLmFjZi1maWVsZCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuICAuYWNmLWZpZWxkcyA+IC5hY2YtZmllbGQgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuICAuYWNmLWZpZWxkcyA+IC5hY2YtZmllbGQgaW5wdXRbdHlwZT1cInVybFwiXSxcbiAgLmFjZi1maWVsZHMgPiAuYWNmLWZpZWxkIHRleHRhcmVhLFxuICAuYWNmLWZpZWxkcyA+IC5hY2YtZmllbGQgc2VsZWN0IHtcbiAgICBwYWRkaW5nOiAyMHB4IDI1cHg7XG4gICAgbWluLWhlaWdodDogNjBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM3ODc4Nzg7IH1cbiAgLmFjZi1maWVsZHMgPiAuYWNmLWZpZWxkIHNlbGVjdCB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvZGRsLWFjY2VudC5zdmdcIik7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2FsYygxMDAlIC0gMTVweCkgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTVweDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGNvbG9yOiAjNzg3ODc4OyB9XG5cbi5hY2YtZm9ybS1zdWJtaXQge1xuICBwYWRkaW5nOiAwIDVweDsgfVxuICAuYWNmLWZvcm0tc3VibWl0IGlucHV0W3R5cGU9XCJzdWJtaXRcIl0uYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kOiAjYjIwOTM5O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAwLjkzNzVlbTtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHBhZGRpbmc6IDEycHggMjVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4OyB9XG4gICAgLmFjZi1mb3JtLXN1Ym1pdCBpbnB1dFt0eXBlPVwic3VibWl0XCJdLmJ1dHRvbjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgI2M1NDY2YSAwJSwgI2IyMDkzOSAxMDAlKTtcbiAgICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgI2M1NDY2YSAwJSwgI2IyMDkzOSAxMDAlKTtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNjNTQ2NmEgMCUsICNiMjA5MzkgMTAwJSk7XG4gICAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj1cIiNjNTQ2NmFcIiwgZW5kQ29sb3JzdHI9XCIjYjIwOTM5XCIsIEdyYWRpZW50VHlwZT0wICk7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5hY2YtZm9ybS1zdWJtaXQgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5idXR0b246aG92ZXIge1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgICAgICAuYWNmLWZvcm0tc3VibWl0IGlucHV0W3R5cGU9XCJzdWJtaXRcIl0uYnV0dG9uOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAwOyB9IH1cblxuLnNlby1sYW5kaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDsgfVxuXG4uc2VvX190YWJsZSB7XG4gIHBhZGRpbmc6IDQ1cHggNSUgMDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuc2VvX190YWJsZSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMTcwcHg7XG4gICAgICBwYWRkaW5nOiAyMHB4IDIwcHggNDBweDsgfVxuICAgICAgLnNlb19fdGFibGUgLm1vbml0b3ItdGFibGVfX2hlYWRpbmcge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAgIC5zZW9fX3RhYmxlIC5tb25pdG9yLXRhYmxlX19oZWFkaW5nIGgzIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4OyB9XG4gICAgICAgICAgLnNlb19fdGFibGUgLm1vbml0b3ItdGFibGVfX2hlYWRpbmcgaDM6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICB3aWR0aDogNnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3BuZy9saXN0LWl0ZW0tYXJyb3cucG5nXCIpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH0gfVxuXG4uc2VvLWFjY2Vzc29yaWVzIHtcbiAgcGFkZGluZzogNDBweCAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnNlby1hY2Nlc3NvcmllcyB7XG4gICAgICBwYWRkaW5nOiA3MHB4IDA7IH0gfVxuICAuc2VvLWFjY2Vzc29yaWVzX19oZWFkaW5nIHtcbiAgICBjb2xvcjogIzIzNGE3MTtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuc2VvLWFjY2Vzc29yaWVzX19oZWFkaW5nIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjVlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNzBweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnNlby1hY2Nlc3Nvcmllc19fZ3JpZCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9IH1cbiAgLnNlby1hY2Nlc3Nvcmllc19fZ3JpZC1pdGVtIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZmxleC1ncm93OiAxOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTk4NzVlbSkge1xuICAgICAgLnNlby1hY2Nlc3Nvcmllc19fZ3JpZC1pdGVtIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNjBweDsgfVxuICAgICAgICAuc2VvLWFjY2Vzc29yaWVzX19ncmlkLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuc2VvLWFjY2Vzc29yaWVzX19ncmlkLWl0ZW0ge1xuICAgICAgICB3aWR0aDogMzEuMiU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAzLjIlOyB9XG4gICAgICAgIC5zZW8tYWNjZXNzb3JpZXNfX2dyaWQtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5zZW8tYWNjZXNzb3JpZXNfX2dyaWQtaXRlbSB7XG4gICAgICAgIHdpZHRoOiAzMyU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMDBweDsgfSB9XG4gIC5zZW8tYWNjZXNzb3JpZXNfX2dyaWQtaXRlbS1oZWFkaW5nIHtcbiAgICBjb2xvcjogIzIzNGE3MTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuc2VvLWFjY2Vzc29yaWVzX19ncmlkLWl0ZW0taGVhZGluZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNWVtOyB9IH1cbiAgLnNlby1hY2Nlc3Nvcmllc19fZ3JpZC1pdGVtLWltYWdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG4gICAgLnNlby1hY2Nlc3Nvcmllc19fZ3JpZC1pdGVtLWltYWdlIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5zZW8tYWNjZXNzb3JpZXNfX2J0biB7XG4gICAgbWFyZ2luOiAyNHB4IGF1dG8gMDtcbiAgICBtYXgtd2lkdGg6IDMwMHB4OyB9XG5cbi5yYXRlZC1hY2Nlc3Nvcmllc19faGVhZGluZyBzcGFuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDsgfVxuXG4ucmF0ZWQtYWNjZXNzb3JpZXNfX2dyaWQge1xuICBtYXJnaW4tYm90dG9tOiA2NXB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNS41ZW0pIHtcbiAgICAucmF0ZWQtYWNjZXNzb3JpZXNfX2dyaWQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3LjVlbSkge1xuICAgIC5yYXRlZC1hY2Nlc3Nvcmllc19fZ3JpZCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfSB9XG5cbi5yYXRlZC1hY2Nlc3Nvcmllc19fZ3JpZC1pdGVtIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBjb2xvcjogIzIzNGE3MTtcbiAgcGFkZGluZzogNTBweCAxMHB4O1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNS41ZW0pIHtcbiAgICAucmF0ZWQtYWNjZXNzb3JpZXNfX2dyaWQtaXRlbSB7XG4gICAgICB3aWR0aDogNDguNCU7XG4gICAgICBtYXJnaW4tbGVmdDogMy4yJTtcbiAgICAgIGZsZXgtZ3JvdzogMTsgfVxuICAgICAgLnJhdGVkLWFjY2Vzc29yaWVzX19ncmlkLWl0ZW06bnRoLW9mLXR5cGUoMm4rMSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1Ny41ZW0pIHtcbiAgICAucmF0ZWQtYWNjZXNzb3JpZXNfX2dyaWQtaXRlbSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAgIC5yYXRlZC1hY2Nlc3Nvcmllc19fZ3JpZC1pdGVtOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDMuMiU7IH1cbiAgICAgIC5yYXRlZC1hY2Nlc3Nvcmllc19fZ3JpZC1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG4ucHJvZHVjdC1zZWFyY2gge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xuICBwYWRkaW5nOiA0MHB4IDUlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnByb2R1Y3Qtc2VhcmNoIHtcbiAgICAgIC8qIFBlcm1hbGluayAtIHVzZSB0byBlZGl0IGFuZCBzaGFyZSB0aGlzIGdyYWRpZW50OiBodHRwOi8vY29sb3J6aWxsYS5jb20vZ3JhZGllbnQtZWRpdG9yLyNlOGU4ZTgrNDUsZjRmNGY0KzQ1ICovIH1cbiAgICAgIC5wcm9kdWN0LXNlYXJjaCAuY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnByb2R1Y3Qtc2VhcmNoIHtcbiAgICAgIHBhZGRpbmc6IDQwcHggMDsgfSB9XG4gIC5wcm9kdWN0LXNlYXJjaCAuc2VhcmNoLWJhcl9fd3JhcHBlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAucHJvZHVjdC1zZWFyY2ggLnNlYXJjaC1iYXJfX3dyYXBwZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBtYXgtd2lkdGg6IDY4MHB4O1xuICAgICAgICB3aWR0aDogNjUlOyB9XG4gICAgICAgIC5wcm9kdWN0LXNlYXJjaCAuc2VhcmNoLWJhcl9fd3JhcHBlci0tZnVsbC13aWR0aCB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWF4LXdpZHRoOiBub25lOyB9IH1cbiAgLnByb2R1Y3Qtc2VhcmNoIC5zZWFyY2gtYmFyX19mb3JtIHtcbiAgICBwYWRkaW5nOiA0cHggMTZweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0Ljk5ODc1ZW0pIHtcbiAgICAgIC5wcm9kdWN0LXNlYXJjaCAuc2VhcmNoLWJhcl9fZm9ybSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAucHJvZHVjdC1zZWFyY2ggLnNlYXJjaC1iYXJfX2Zvcm0ge1xuICAgICAgICBwYWRkaW5nOiA0cHggMzJweDsgfSB9XG4gIC5wcm9kdWN0LXNlYXJjaCAuc2VhcmNoLWJhcl9fZm9ybS1zdWJtaXQge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIHdpZHRoOiAyNHB4O1xuICAgIHRleHQtaW5kZW50OiAxMDAwJTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc3ZnL2dyZXktbG91cGUtaWNvbi5zdmdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxOXB4IGF1dG87XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucHJvZHVjdC1zZWFyY2hfX2NoYXQtYnV0dG9uLCAucHJvZHVjdC1zZWFyY2hfX2NvbnRhY3QtYnV0dG9uIHtcbiAgICAgIGZsZXg6IDEgMCBhdXRvOyB9IH1cbiAgLnByb2R1Y3Qtc2VhcmNoX19jaGF0LWJ1dHRvbiAuYnRuLCAucHJvZHVjdC1zZWFyY2hfX2NvbnRhY3QtYnV0dG9uIC5idG4ge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAxNXB4IDMwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIC5wcm9kdWN0LXNlYXJjaF9fY2hhdC1idXR0b24gLmJ0biBzcGFuLCAucHJvZHVjdC1zZWFyY2hfX2NvbnRhY3QtYnV0dG9uIC5idG4gc3BhbiB7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgZm9udC1zaXplOiAuOGVtOyB9XG4gIC5wcm9kdWN0LXNlYXJjaF9fY2hhdC1idXR0b24gcCwgLnByb2R1Y3Qtc2VhcmNoX19jb250YWN0LWJ1dHRvbiBwIHtcbiAgICBmb250LXNpemU6IDAuNzVlbTtcbiAgICBjb2xvcjogcmdiYSgxMjAsIDEyMCwgMTIwLCAwLjcpO1xuICAgIG1hcmdpbjogMjBweCAwIDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5wcm9kdWN0LXNlYXJjaF9fY2hhdC1idXR0b24gKyBkaXYsIC5wcm9kdWN0LXNlYXJjaF9fY29udGFjdC1idXR0b24gKyBkaXYge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnByb2R1Y3Qtc2VhcmNoX19jaGF0LWJ1dHRvbiArIGRpdiwgLnByb2R1Y3Qtc2VhcmNoX19jb250YWN0LWJ1dHRvbiArIGRpdiB7XG4gICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG5cbi5zdXBwb3J0LWNvbnRlbnQge1xuICBwYWRkaW5nOiA0MHB4IDAgNDBweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5zdXBwb3J0LWNvbnRlbnQgLmNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9IH1cbiAgLnN1cHBvcnQtY29udGVudF9faXRlbSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogNjBweDsgfVxuICAgIC5zdXBwb3J0LWNvbnRlbnRfX2l0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuc3VwcG9ydC1jb250ZW50X19pdGVtIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgICAgLnN1cHBvcnQtY29udGVudF9faXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuICAgIC5zdXBwb3J0LWNvbnRlbnRfX2l0ZW0gdWwge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNhZWFlYWU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICBwYWRkaW5nLXRvcDogMjVweDsgfVxuICAgICAgLnN1cHBvcnQtY29udGVudF9faXRlbSB1bC51LXN0eWxlZC1saXN0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgICAuc3VwcG9ydC1jb250ZW50X19pdGVtIHVsLnUtc3R5bGVkLWxpc3QgbGkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgICAgICAgLnN1cHBvcnQtY29udGVudF9faXRlbSB1bC51LXN0eWxlZC1saXN0IGxpOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuc3VwcG9ydC1jb250ZW50X19pdGVtLWhlYWRpbmcge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICBjb2xvcjogI2IyMDkzOTtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgcGFkZGluZy1sZWZ0OiAzNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLnN1cHBvcnQtY29udGVudF9faXRlbS1oZWFkaW5nOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIHdpZHRoOiAyMHB4OyB9XG4gICAgLnN1cHBvcnQtY29udGVudF9faXRlbS1oZWFkaW5nLS1kb2N1bWVudGF0aW9uOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9kb2N1bWVudGF0aW9uLWljb24uc3ZnXCIpOyB9XG4gICAgLnN1cHBvcnQtY29udGVudF9faXRlbS1oZWFkaW5nLS1kcml2ZXJzOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9kcml2ZXJzLWljb24uc3ZnXCIpOyB9XG4gICAgLnN1cHBvcnQtY29udGVudF9faXRlbS1oZWFkaW5nLS1wb2xpY2llczo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvcG9saWNpZXMtaWNvbi5zdmdcIik7IH1cblxuLnN1cHBvcnQtY2VydGlmaWNhdGlvbnMge1xuICBwYWRkaW5nLWJvdHRvbTogNDBweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5zdXBwb3J0LWNlcnRpZmljYXRpb25zIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA2MHB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuc3VwcG9ydC1jZXJ0aWZpY2F0aW9uc19faGVhZGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH0gfVxuICAuc3VwcG9ydC1jZXJ0aWZpY2F0aW9uc19faGVhZGluZyB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDEuODc1ZW07XG4gICAgY29sb3I6ICMyMzRhNzE7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gIC5zdXBwb3J0LWNlcnRpZmljYXRpb25zX19pdGVtcyB7XG4gICAgLypAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlMikge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgfSovIH1cbiAgICAuc3VwcG9ydC1jZXJ0aWZpY2F0aW9uc19faXRlbXMgLmltZy1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICBoZWlnaHQ6IDU1cHg7XG4gICAgICBtYXJnaW46IDAgYXV0byAxNXB4OyB9XG4gICAgICAuc3VwcG9ydC1jZXJ0aWZpY2F0aW9uc19faXRlbXMgLmltZy1jb250YWluZXIgaW1nIHtcbiAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgICAgIGhlaWdodDogaW5oZXJpdDsgfVxuICAuc3VwcG9ydC1jZXJ0aWZpY2F0aW9uc19faXRlbSB7XG4gICAgcGFkZGluZzogMjBweCAxMHB4IDIwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2YwZjBmMDtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXM7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pICFpbXBvcnRhbnQ7XG4gICAgLyomOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCgxMDAgLSAoNCAqIDI0KSkvMykvMTAwKTsgLy8xLjMzJTtcbiAgICAgIHdpZHRoOiA0OC40JTtcbiAgICAgIGZsZXg6IDEgMCA0OC40JTtcblxuICAgICAgJjpudGgtb2YtdHlwZSgybiArIDEpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKC1uICsgMikge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlMikge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgZmxleDogMCAxIDI1JTtcblxuICAgICAgJjpudGgtb2YtdHlwZSgybiArIDEpIHtcbiAgICAgICAgLy9tYXJnaW4tbGVmdDogMy4yJTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCgxMDAgLSAoNCAqIDI0KSkvMykvMTAwKTsgLy8xLjMzJTtcbiAgICAgIH1cblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH0qLyB9XG4gICAgLnN1cHBvcnQtY2VydGlmaWNhdGlvbnNfX2l0ZW06aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDAsIDI0MCwgMjQwLCAwLjUpOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5zdXBwb3J0LWNlcnRpZmljYXRpb25zX19pdGVtIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMzMlIC0gMS44NzVyZW0pICFpbXBvcnRhbnQ7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuc3VwcG9ydC1jZXJ0aWZpY2F0aW9uc19faXRlbSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDIwJSAtIDEuODc1cmVtKSAhaW1wb3J0YW50OyB9IH1cbiAgICAuc3VwcG9ydC1jZXJ0aWZpY2F0aW9uc19faXRlbSBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBjb2xvcjogIzc4Nzg3ODsgfVxuICAuc3VwcG9ydC1jZXJ0aWZpY2F0aW9uc19faXRlbXMtaGVhZGluZyB7XG4gICAgZm9udC1zaXplOiAwLjg3NWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDBweDsgfVxuICAgIC5zdXBwb3J0LWNlcnRpZmljYXRpb25zX19pdGVtcy1oZWFkaW5nIHNwYW4ge1xuICAgICAgY29sb3I6ICMyMzRhNzE7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5zdXBwb3J0LWNlcnRpZmljYXRpb25zX19pdGVtcy1oZWFkaW5nICsgcCB7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gIC5zdXBwb3J0LWNlcnRpZmljYXRpb25zX19idG4ge1xuICAgIG1hcmdpbjogNDBweCBhdXRvIDA7XG4gICAgcGFkZGluZzogMzRweCAwOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5zdXBwb3J0LWNlcnRpZmljYXRpb25zX19idG4ge1xuICAgICAgICB3aWR0aDogNDAwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDgwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zdXBwb3J0LWNlcnRpZmljYXRpb25zLjQtd2lkZSB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTIyMHB4IC0gMjUwcHgpOyB9XG4gICAgICAuc3VwcG9ydC1jZXJ0aWZpY2F0aW9ucy40LXdpZGUgLnN1cHBvcnQtY2VydGlmaWNhdGlvbnNfX2l0ZW0ge1xuICAgICAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSkgIWltcG9ydGFudDsgfSB9XG5cbi5zdXBwb3J0LWNvbnRhY3Qge1xuICBiYWNrZ3JvdW5kOiAjZjBmMGYwO1xuICAvKiZfX2l0ZW1zIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGN1c3RvbS10YWJsZXQpIHtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3ItYm9yZGVyLWdyZXk7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiA1NXB4IDA7XG4gICAgfVxuICB9Ki8gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zdXBwb3J0LWNvbnRhY3Qge1xuICAgICAgLyogUGVybWFsaW5rIC0gdXNlIHRvIGVkaXQgYW5kIHNoYXJlIHRoaXMgZ3JhZGllbnQ6IGh0dHA6Ly9jb2xvcnppbGxhLmNvbS9ncmFkaWVudC1lZGl0b3IvI2U4ZThlOCs0NSxmNGY0ZjQrNDUgKi9cbiAgICAgIGJhY2tncm91bmQ6ICNmMGYwZjA7XG4gICAgICAvKiBPbGQgYnJvd3NlcnMgKi9cbiAgICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsICNmMGYwZjAgMCUsICNmMGYwZjAgMzAlLCAjZjVmNWY1IDMwJSwgI2Y1ZjVmNSAxMDAlKTtcbiAgICAgIC8qIEZGMy42LTE1ICovXG4gICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjZjBmMGYwIDAlLCAjZjBmMGYwIDMwJSwgI2Y1ZjVmNSAzMCUsICNmNWY1ZjUgMTAwJSk7XG4gICAgICAvKiBDaHJvbWUxMC0yNSxTYWZhcmk1LjEtNiAqL1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjZjBmMGYwIDAlLCAjZjBmMGYwIDMwJSwgI2Y1ZjVmNSAzMCUsICNmNWY1ZjUgMTAwJSk7XG4gICAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nJGxpZ2h0LWdyYXknLCBlbmRDb2xvcnN0cj0nJHZlcnktbGlnaHQtZ3JheScsR3JhZGllbnRUeXBlPTEgKTtcbiAgICAgIC8qIElFNi05ICovIH0gfVxuICAuc3VwcG9ydC1jb250YWN0IC5jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnN1cHBvcnQtY29udGFjdCAuY29udGFpbmVyIHtcbiAgICAgICAgLyogUGVybWFsaW5rIC0gdXNlIHRvIGVkaXQgYW5kIHNoYXJlIHRoaXMgZ3JhZGllbnQ6IGh0dHA6Ly9jb2xvcnppbGxhLmNvbS9ncmFkaWVudC1lZGl0b3IvI2U4ZThlOCs0NSxmNGY0ZjQrNDUgKi9cbiAgICAgICAgYmFja2dyb3VuZDogI2YwZjBmMDtcbiAgICAgICAgLyogT2xkIGJyb3dzZXJzICovXG4gICAgICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsICNmMGYwZjAgMCUsICNmMGYwZjAgMzAlLCAjZjVmNWY1IDMwJSwgI2Y1ZjVmNSAxMDAlKTtcbiAgICAgICAgLyogRkYzLjYtMTUgKi9cbiAgICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgI2YwZjBmMCAwJSwgI2YwZjBmMCAzMCUsICNmNWY1ZjUgMzAlLCAjZjVmNWY1IDEwMCUpO1xuICAgICAgICAvKiBDaHJvbWUxMC0yNSxTYWZhcmk1LjEtNiAqL1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNmMGYwZjAgMCUsICNmMGYwZjAgMzAlLCAjZjVmNWY1IDMwJSwgI2Y1ZjVmNSAxMDAlKTtcbiAgICAgICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyRsaWdodC1ncmF5JywgZW5kQ29sb3JzdHI9JyR2ZXJ5LWxpZ2h0LWdyYXknLEdyYWRpZW50VHlwZT0xICk7XG4gICAgICAgIC8qIElFNi05ICovIH0gfVxuICAuc3VwcG9ydC1jb250YWN0X19pbm5lci1ibG9jayB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzc4Nzg3ODtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xuICAgIHBhZGRpbmc6IDEwcHggMTBweCAxMHB4IDc1cHg7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDQwcHggNDBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxNXB4IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDcwcHg7XG4gICAgZmxleDogMSAwIGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLnN1cHBvcnQtY29udGFjdF9faW5uZXItYmxvY2s6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW46IDAgMCAxMHB4IDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnN1cHBvcnQtY29udGFjdF9faW5uZXItYmxvY2sge1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgICAgLnN1cHBvcnQtY29udGFjdF9faW5uZXItYmxvY2s6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgbWFyZ2luOiAwIDEwcHggMCAwOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnN1cHBvcnQtY29udGFjdF9faW5uZXItYmxvY2sge1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDEwcHggMTBweCA5MHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAyNXB4IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAyMHB4OyB9XG4gICAgICAgIC5zdXBwb3J0LWNvbnRhY3RfX2lubmVyLWJsb2NrOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgIG1hcmdpbjogMCAwIDAgMjBweDsgfSB9XG4gICAgLnN1cHBvcnQtY29udGFjdF9faW5uZXItYmxvY2sgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5zdXBwb3J0LWNvbnRhY3RfX2Jsb2NrIHtcbiAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZmxleDogMSAwIGF1dG87IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnN1cHBvcnQtY29udGFjdF9fYmxvY2sge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgICAuc3VwcG9ydC1jb250YWN0X19ibG9ja19faGVhZGluZyB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGNvbG9yOiAjMjM0QTcxO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5zdXBwb3J0LWNvbnRhY3RfX2Jsb2NrX19oZWFkaW5nIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgICAuc3VwcG9ydC1jb250YWN0X19ibG9jay0tY2FsbCB7XG4gICAgICBmbGV4OiAxIDAgMTAwJTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLnN1cHBvcnQtY29udGFjdF9fYmxvY2stLWNhbGwge1xuICAgICAgICAgIGZsZXg6IDAgMSAyNSU7IH0gfVxuICAgICAgLnN1cHBvcnQtY29udGFjdF9fYmxvY2stLWNhbGwgcDpsYXN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLnN1cHBvcnQtY29udGFjdF9fYmxvY2stLWNoYXQtZW1haWwge1xuICAgICAgZmxleDogMSAwIDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG4gICAgICBwYWRkaW5nOiAyMHB4IDA7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5zdXBwb3J0LWNvbnRhY3RfX2Jsb2NrLS1jaGF0LWVtYWlsIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xuICAgICAgICAgIGZsZXg6IDEgMCBhdXRvOyB9IH1cbiAgICAuc3VwcG9ydC1jb250YWN0X19ibG9jay0tY2hhdCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc3ZnL2ljb24tY29udGFjdC1jaGF0LnN2Z1wiKTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIC5zdXBwb3J0LWNvbnRhY3RfX2Jsb2NrLS1jaGF0IGgyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgLnN1cHBvcnQtY29udGFjdF9fYmxvY2stLWVtYWlsIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvaWNvbi1jb250YWN0LWVtYWlsLnN2Z1wiKTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIC5zdXBwb3J0LWNvbnRhY3RfX2Jsb2NrLS1lbWFpbCBoMiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJweDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAuc3VwcG9ydC1jb250YWN0X19pdGVtIHtcbiAgICBjb2xvcjogIzIzNGE3MTtcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDQwcHg7IH1cbiAgICAuc3VwcG9ydC1jb250YWN0X19pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgICAgLnN1cHBvcnQtY29udGFjdF9faXRlbTpmaXJzdC1jaGlsZDo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3LjVlbSkge1xuICAgICAgLnN1cHBvcnQtY29udGFjdF9faXRlbSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA5MHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAuc3VwcG9ydC1jb250YWN0X19pdGVtIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE4MHB4OyB9IH1cbiAgICAuc3VwcG9ydC1jb250YWN0X19pdGVtOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byA0NXB4O1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbi10b3A6IC0yMnB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB3aWR0aDogNDVweDtcbiAgICAgIGhlaWdodDogNDVweDsgfVxuICAgIC5zdXBwb3J0LWNvbnRhY3RfX2l0ZW0tLWFjY291bnRzOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9lbWFpbC1hY2NvdW50cy1pY29uLnN2Z1wiKTsgfVxuICAgIC5zdXBwb3J0LWNvbnRhY3RfX2l0ZW0tLXN1cHBvcnQ6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc3ZnL3N1cHBvcnQtaWNvbi5zdmdcIik7IH1cbiAgICAuc3VwcG9ydC1jb250YWN0X19pdGVtLS1zYWxlczo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvc2FsZXMtaWNvbi5zdmdcIik7IH1cbiAgICAuc3VwcG9ydC1jb250YWN0X19pdGVtOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWVhZWFlO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgbGVmdDogLTkwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAtMjBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgd2lkdGg6IDFweDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3LjVlbSkge1xuICAgICAgICAuc3VwcG9ydC1jb250YWN0X19pdGVtOjphZnRlciB7XG4gICAgICAgICAgbGVmdDogLTQ1cHg7IH0gfVxuICAgIC5zdXBwb3J0LWNvbnRhY3RfX2l0ZW0gc3BhbiB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuc3VwcG9ydC1jb250YWN0X19pdGVtLWhlYWRpbmcge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAuc3VwcG9ydC1jb250YWN0X19pdGVtLWVtYWlsIHtcbiAgICBmb250LXNpemU6IDAuNzVlbTsgfVxuICAuc3VwcG9ydC1jb250YWN0IC51LWNlbnRlci1ib3JkZXIgdWwge1xuICAgIG1heC13aWR0aDogOTYwcHg7XG4gICAgbWFyZ2luLXRvcDogNDBweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuc3VwcG9ydC1jb250YWN0IC51LWNlbnRlci1ib3JkZXIgdWwge1xuICAgICAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG4gICAgLnN1cHBvcnQtY29udGFjdCAudS1jZW50ZXItYm9yZGVyIHVsIGxpIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuc3VwcG9ydC1jb250YWN0IC51LWNlbnRlci1ib3JkZXIgdWwgbGkge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBmbGV4OiAxIDAgYXV0bzsgfSB9XG5cbi5zdXBwb3J0LXRhYmxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5zdXBwb3J0LXRhYmxlX190YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5zdXBwb3J0LXRhYmxlX190aCB7XG4gICAgZm9udC1zaXplOiAwLjg3NWVtO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMjM0YTcxO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5zdXBwb3J0LXRhYmxlX19jZWxsIHtcbiAgICBmb250LXNpemU6IDAuODc1ZW07XG4gICAgcGFkZGluZzogMjBweCAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5zdXBwb3J0LXRhYmxlX19jZWxsLS1wYWRkaW5nIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7IH1cbiAgLnN1cHBvcnQtdGFibGVfX2Rvd25sb2FkcywgLnN1cHBvcnQtdGFibGVfX2Rvd25sb2Fkcy0tdW52ZXJzaW9uZWQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnN1cHBvcnQtdGFibGVfX2RyaXZlci1maWxlc2l6ZSB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAuc3VwcG9ydC10YWJsZV9fcHJvZHVjdCwgLnN1cHBvcnQtdGFibGVfX3Byb2R1Y3QtLXVudmVyc2lvbmVkIHtcbiAgICB3aWR0aDogMTkwcHg7IH1cbiAgLnN1cHBvcnQtdGFibGVfX2J0biAuYnRuIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHBhZGRpbmc6IDhweCAwO1xuICAgIHdpZHRoOiAxOTBweDtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAuYy1hY2NvcmRpb25fX2NvbnRlbnQtLXRhYmxlIC5zdXBwb3J0LXRhYmxlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICBwYWRkaW5nLXRvcDogMjBweDsgfVxuICAgIC5jLWFjY29yZGlvbl9fY29udGVudC0tdGFibGUgLnN1cHBvcnQtdGFibGVfX3RoIHtcbiAgICAgIGZvbnQtc2l6ZTogMC43NWVtOyB9XG4gICAgLmMtYWNjb3JkaW9uX19jb250ZW50LS10YWJsZSAuc3VwcG9ydC10YWJsZSB0YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgZm9udC1zaXplOiAwLjc1ZW07IH1cbiAgICAuYy1hY2NvcmRpb25fX2NvbnRlbnQtLXRhYmxlIC5zdXBwb3J0LXRhYmxlIHRhYmxlIHRib2R5IHRyOmxhc3Qtb2YtdHlwZSB0ZCB7XG4gICAgICBib3JkZXItYm90dG9tOiAwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1Ny41ZW0pIHtcbiAgYm9keS5wYWdlLXRlbXBsYXRlLXBhZ2UtYmFzaWMtY29udGVudCAuYmFzaWMtY29udGVudC13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogMTIyMHB4O1xuICAgIHdpZHRoOiA5MCU7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgICBib2R5LnBhZ2UtdGVtcGxhdGUtcGFnZS1iYXNpYy1jb250ZW50IC5iYXNpYy1jb250ZW50LXdyYXBwZXIgLmNvbnRlbnQtbWFpbiB7XG4gICAgICBtYXgtd2lkdGg6IDkyMHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMTAwcHg7XG4gICAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAgICAgYm9keS5wYWdlLXRlbXBsYXRlLXBhZ2UtYmFzaWMtY29udGVudCAuYmFzaWMtY29udGVudC13cmFwcGVyIC5jb250ZW50LW1haW4gLmNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLnByb2R1Y3Qtc3VwcG9ydC1jb250ZW50X193cmFwcGVyIHtcbiAgcGFkZGluZy1ib3R0b206IDQwcHg7IH1cblxuLnByb2R1Y3Qtc3VwcG9ydC1jb250ZW50X19jb250ZW50Lm5vLXNpZGViYXIsIC5wcm9kdWN0LXN1cHBvcnQtY29udGVudF9fd3JhcHBlciAuZmxleGlibGUtY29udGVudC13cmFwcGVyLm5vLXNpZGViYXIge1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIHBhZGRpbmctcmlnaHQ6IDA7IH1cblxuLnByb2R1Y3Qtc3VwcG9ydC1jb250ZW50X19jb250ZW50IHAsIC5wcm9kdWN0LXN1cHBvcnQtY29udGVudF9fd3JhcHBlciAuZmxleGlibGUtY29udGVudC13cmFwcGVyIHAge1xuICBmb250LXNpemU6IDAuOTM3NWVtO1xuICBsaW5lLWhlaWdodDogMTkwJTtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4ucHJvZHVjdC1zdXBwb3J0LWNvbnRlbnRfX2NvbnRlbnQgaDIsIC5wcm9kdWN0LXN1cHBvcnQtY29udGVudF9fd3JhcHBlciAuZmxleGlibGUtY29udGVudC13cmFwcGVyIGgyIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICNiMjA5Mzk7XG4gIG1hcmdpbjogLjg1ZW0gMDtcbiAgZm9udC1zaXplOiAxLjU2MjVlbTsgfVxuXG4ucHJvZHVjdC1zdXBwb3J0LWNvbnRlbnRfX2NvbnRlbnQgaDMsIC5wcm9kdWN0LXN1cHBvcnQtY29udGVudF9fd3JhcHBlciAuZmxleGlibGUtY29udGVudC13cmFwcGVyIGgzIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICNiMjA5Mzk7XG4gIG1hcmdpbjogLjg1ZW0gMDtcbiAgZm9udC1zaXplOiAxLjI1ZW07IH1cblxuLnByb2R1Y3Qtc3VwcG9ydC1jb250ZW50X19jb250ZW50IGg0LCAucHJvZHVjdC1zdXBwb3J0LWNvbnRlbnRfX3dyYXBwZXIgLmZsZXhpYmxlLWNvbnRlbnQtd3JhcHBlciBoNCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogIzc4Nzg3ODtcbiAgbWFyZ2luOiAuNWVtIDA7XG4gIGZvbnQtc2l6ZTogMWVtOyB9XG5cbi5wcm9kdWN0LXN1cHBvcnQtY29udGVudF9fY29udGVudCBoNSwgLnByb2R1Y3Qtc3VwcG9ydC1jb250ZW50X193cmFwcGVyIC5mbGV4aWJsZS1jb250ZW50LXdyYXBwZXIgaDUge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICM3ODc4Nzg7XG4gIG1hcmdpbjogLjVlbSAwO1xuICBmb250LXNpemU6IDAuOTM3NWVtOyB9XG5cbi5wcm9kdWN0LXN1cHBvcnQtY29udGVudF9fY29udGVudCBhLCAucHJvZHVjdC1zdXBwb3J0LWNvbnRlbnRfX3dyYXBwZXIgLmZsZXhpYmxlLWNvbnRlbnQtd3JhcHBlciBhIHtcbiAgY29sb3I6ICNiMjA5Mzk7IH1cblxuLnByb2R1Y3Qtc3VwcG9ydC1jb250ZW50X19jb250ZW50IHVsOm5vdCgudS1zdHlsZWQtbGlzdCksIC5wcm9kdWN0LXN1cHBvcnQtY29udGVudF9fY29udGVudCBvbDpub3QoLnUtc3R5bGVkLWxpc3QpLCAucHJvZHVjdC1zdXBwb3J0LWNvbnRlbnRfX3dyYXBwZXIgLmZsZXhpYmxlLWNvbnRlbnQtd3JhcHBlciB1bDpub3QoLnUtc3R5bGVkLWxpc3QpLCAucHJvZHVjdC1zdXBwb3J0LWNvbnRlbnRfX3dyYXBwZXIgLmZsZXhpYmxlLWNvbnRlbnQtd3JhcHBlciBvbDpub3QoLnUtc3R5bGVkLWxpc3QpIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwIDAgMjVweCA0MHB4O1xuICBmb250LXNpemU6IDAuOTM3NWVtO1xuICBsaW5lLWhlaWdodDogMTkwJTsgfVxuICAucHJvZHVjdC1zdXBwb3J0LWNvbnRlbnRfX2NvbnRlbnQgdWw6bm90KC51LXN0eWxlZC1saXN0KSBsaSwgLnByb2R1Y3Qtc3VwcG9ydC1jb250ZW50X19jb250ZW50IG9sOm5vdCgudS1zdHlsZWQtbGlzdCkgbGksIC5wcm9kdWN0LXN1cHBvcnQtY29udGVudF9fd3JhcHBlciAuZmxleGlibGUtY29udGVudC13cmFwcGVyIHVsOm5vdCgudS1zdHlsZWQtbGlzdCkgbGksIC5wcm9kdWN0LXN1cHBvcnQtY29udGVudF9fd3JhcHBlciAuZmxleGlibGUtY29udGVudC13cmFwcGVyIG9sOm5vdCgudS1zdHlsZWQtbGlzdCkgbGkge1xuICAgIG1hcmdpbjogMCAwIDhweDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLnByb2R1Y3Qtc3VwcG9ydC1jb250ZW50X19jb250ZW50IHVsOm5vdCgudS1zdHlsZWQtbGlzdCkgbGk6bGFzdC1vZi10eXBlLCAucHJvZHVjdC1zdXBwb3J0LWNvbnRlbnRfX2NvbnRlbnQgb2w6bm90KC51LXN0eWxlZC1saXN0KSBsaTpsYXN0LW9mLXR5cGUsIC5wcm9kdWN0LXN1cHBvcnQtY29udGVudF9fd3JhcHBlciAuZmxleGlibGUtY29udGVudC13cmFwcGVyIHVsOm5vdCgudS1zdHlsZWQtbGlzdCkgbGk6bGFzdC1vZi10eXBlLCAucHJvZHVjdC1zdXBwb3J0LWNvbnRlbnRfX3dyYXBwZXIgLmZsZXhpYmxlLWNvbnRlbnQtd3JhcHBlciBvbDpub3QoLnUtc3R5bGVkLWxpc3QpIGxpOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW46IDA7IH1cblxuLnByb2R1Y3Qtc3VwcG9ydC1jb250ZW50X19jb250ZW50IC51LXN0eWxlZC1saXN0IGEsIC5wcm9kdWN0LXN1cHBvcnQtY29udGVudF9fd3JhcHBlciAuZmxleGlibGUtY29udGVudC13cmFwcGVyIC51LXN0eWxlZC1saXN0IGEge1xuICBjb2xvcjogIzIzNGE3MTsgfVxuXG4ucHJvZHVjdC1zdXBwb3J0LWNvbnRlbnRfX2FzaWRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDtcbiAgcGFkZGluZzogMzBweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTcuNWVtKSB7XG4gICAgLnByb2R1Y3Qtc3VwcG9ydC1jb250ZW50X19hc2lkZSB7XG4gICAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICBtYXJnaW4tdG9wOiA4MHB4OyB9IH1cbiAgLnByb2R1Y3Qtc3VwcG9ydC1jb250ZW50X19hc2lkZSBwIHtcbiAgICBmb250LXNpemU6IDAuODc1ZW07XG4gICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgLnByb2R1Y3Qtc3VwcG9ydC1jb250ZW50X19hc2lkZSBwICsgcCB7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4OyB9XG4gIC5wcm9kdWN0LXN1cHBvcnQtY29udGVudF9fYXNpZGUgLnUtc3R5bGVkLWxpc3Qge1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5wcm9kdWN0LXN1cHBvcnQtY29udGVudF9fYXNpZGUgLnUtc3R5bGVkLWxpc3QgbGkge1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVlbTsgfVxuICAgICAgLnByb2R1Y3Qtc3VwcG9ydC1jb250ZW50X19hc2lkZSAudS1zdHlsZWQtbGlzdCBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgIC5wcm9kdWN0LXN1cHBvcnQtY29udGVudF9fYXNpZGUgLnUtc3R5bGVkLWxpc3QgbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAucHJvZHVjdC1zdXBwb3J0LWNvbnRlbnRfX2FzaWRlIC51LXN0eWxlZC1saXN0IGE6aG92ZXIsIC5wcm9kdWN0LXN1cHBvcnQtY29udGVudF9fYXNpZGUgLnUtc3R5bGVkLWxpc3QgYS5hY3RpdmUge1xuICAgICAgY29sb3I6ICNiMjA5Mzk7IH1cbiAgICAucHJvZHVjdC1zdXBwb3J0LWNvbnRlbnRfX2FzaWRlIC51LXN0eWxlZC1saXN0ICsgLnNpZGViYXItb3Blbi1jb250ZW50IHAge1xuICAgICAgbWFyZ2luLXRvcDogMTVweDsgfVxuXG4ucHJvZHVjdC1zdXBwb3J0LWNvbnRlbnRfX3dyYXBwZXIgLmZsZXhpYmxlLWNvbnRlbnQ6Zmlyc3Qtb2YtdHlwZSB7XG4gIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnByb2R1Y3Qtc3VwcG9ydC1jb250ZW50X193cmFwcGVyIC5mbGV4aWJsZS1jb250ZW50IC5jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5wcm9kdWN0LXN1cHBvcnQtY29udGVudF9fd3JhcHBlciAuZmxleGlibGUtY29udGVudC5hY2NvcmRpb25zIHtcbiAgcGFkZGluZzogMzBweCAwOyB9XG4gIC5wcm9kdWN0LXN1cHBvcnQtY29udGVudF9fd3JhcHBlciAuZmxleGlibGUtY29udGVudC5hY2NvcmRpb25zIGgyIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xuICAgIGNvbG9yOiAjYjIwOTM5OyB9XG4gIC5wcm9kdWN0LXN1cHBvcnQtY29udGVudF9fd3JhcHBlciAuZmxleGlibGUtY29udGVudC5hY2NvcmRpb25zIC5jLWFjY29yZGlvbl9faXRlbSB7XG4gICAgcGFkZGluZzogMjVweCAwIDVweDsgfVxuICAgIC5wcm9kdWN0LXN1cHBvcnQtY29udGVudF9fd3JhcHBlciAuZmxleGlibGUtY29udGVudC5hY2NvcmRpb25zIC5jLWFjY29yZGlvbl9faXRlbS1oZWFkaW5nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgIGNvbG9yOiAjMjM0YTcxO1xuICAgICAgbWFyZ2luOiAwOyB9XG5cbi5wcm9kdWN0LXN1cHBvcnQtY29udGVudF9fd3JhcHBlciAuZmxleGlibGUtY29udGVudC5ibG9jay1jYXJvdXNlbCB7XG4gIHBhZGRpbmc6IDMwcHggMDsgfVxuICAucHJvZHVjdC1zdXBwb3J0LWNvbnRlbnRfX3dyYXBwZXIgLmZsZXhpYmxlLWNvbnRlbnQuYmxvY2stY2Fyb3VzZWwgaDIge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgZm9udC1zaXplOiAxLjI1ZW07XG4gICAgY29sb3I6ICNiMjA5Mzk7IH1cbiAgLnByb2R1Y3Qtc3VwcG9ydC1jb250ZW50X193cmFwcGVyIC5mbGV4aWJsZS1jb250ZW50LmJsb2NrLWNhcm91c2VsIC5ibG9jay1jYXJvdXNlbF9fY2Fyb3VzZWwge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cblxuLnByb2R1Y3Qtc3VwcG9ydC1jb250ZW50X193cmFwcGVyIC5mbGV4aWJsZS1jb250ZW50LmJ1bGxldGluLXBvaW50cyB7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgcGFkZGluZzogNjBweCAzMHB4OyB9XG4gIC5wcm9kdWN0LXN1cHBvcnQtY29udGVudF9fd3JhcHBlciAuZmxleGlibGUtY29udGVudC5idWxsZXRpbi1wb2ludHMgaDIge1xuICAgIGZvbnQtc2l6ZTogMi4xODc1ZW07IH1cbiAgLnByb2R1Y3Qtc3VwcG9ydC1jb250ZW50X193cmFwcGVyIC5mbGV4aWJsZS1jb250ZW50LmJ1bGxldGluLXBvaW50cyBhLmJ0biB7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLnByb2R1Y3Qtc3VwcG9ydC1jb250ZW50X193cmFwcGVyIC5mbGV4aWJsZS1jb250ZW50LmJ1bGxldGluLXBvaW50cyBhLmJ0bjpob3ZlciB7XG4gICAgICBjb2xvcjogIzIzNGE3MTsgfVxuXG4ucHJvZHVjdC1zdXBwb3J0LWNvbnRlbnRfX3dyYXBwZXIgLmZsZXhpYmxlLWNvbnRlbnQuY29tcGFueS1ncmlkIHtcbiAgcGFkZGluZzogMzBweCAwOyB9XG4gIC5wcm9kdWN0LXN1cHBvcnQtY29udGVudF9fd3JhcHBlciAuZmxleGlibGUtY29udGVudC5jb21wYW55LWdyaWQgYSB7XG4gICAgY29sb3I6ICMyMzRhNzE7IH1cbiAgICAucHJvZHVjdC1zdXBwb3J0LWNvbnRlbnRfX3dyYXBwZXIgLmZsZXhpYmxlLWNvbnRlbnQuY29tcGFueS1ncmlkIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cblxuLnByb2R1Y3Qtc3VwcG9ydC1jb250ZW50X193cmFwcGVyIC5mbGV4aWJsZS1jb250ZW50Lm9wZW4tdGV4dCB7XG4gIHBhZGRpbmc6IDMwcHggMDsgfVxuICAucHJvZHVjdC1zdXBwb3J0LWNvbnRlbnRfX3dyYXBwZXIgLmZsZXhpYmxlLWNvbnRlbnQub3Blbi10ZXh0IGgyIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xuICAgIGNvbG9yOiAjYjIwOTM5O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgLnByb2R1Y3Qtc3VwcG9ydC1jb250ZW50X193cmFwcGVyIC5mbGV4aWJsZS1jb250ZW50Lm9wZW4tdGV4dCAubWFpbi1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gIC5wcm9kdWN0LXN1cHBvcnQtY29udGVudF9fd3JhcHBlciAuZmxleGlibGUtY29udGVudC5vcGVuLXRleHQgcDpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLnByb2R1Y3Qtc3VwcG9ydC1jb250ZW50X193cmFwcGVyIC5mbGV4aWJsZS1jb250ZW50LnByb2R1Y3QtY29tcGFyZSB7XG4gIHBhZGRpbmc6IDMwcHggMDsgfVxuICAucHJvZHVjdC1zdXBwb3J0LWNvbnRlbnRfX3dyYXBwZXIgLmZsZXhpYmxlLWNvbnRlbnQucHJvZHVjdC1jb21wYXJlIC5wcm9kdWN0LWNvbXBhcmVfX2hlYWRlciB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAucHJvZHVjdC1zdXBwb3J0LWNvbnRlbnRfX3dyYXBwZXIgLmZsZXhpYmxlLWNvbnRlbnQucHJvZHVjdC1jb21wYXJlIGgyIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xuICAgIGNvbG9yOiAjYjIwOTM5OyB9XG4gIC5wcm9kdWN0LXN1cHBvcnQtY29udGVudF9fd3JhcHBlciAuZmxleGlibGUtY29udGVudC5wcm9kdWN0LWNvbXBhcmUgLm1vbml0b3ItdGFibGUge1xuICAgIHBhZGRpbmc6IDA7IH1cblxuLnByb2R1Y3Qtc3VwcG9ydC1jb250ZW50X193cmFwcGVyIC5mbGV4aWJsZS1jb250ZW50LnByb2R1Y3QtZ3JvdXBzIGgyIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgZm9udC1zaXplOiAxLjI1ZW07XG4gIGNvbG9yOiAjYjIwOTM5O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbi5wcm9kdWN0LXN1cHBvcnQtY29udGVudF9fd3JhcHBlciAuZmxleGlibGUtY29udGVudC5wcm9kdWN0LWdyb3VwcyAuY29udGFpbmVyIHtcbiAgcGFkZGluZzogMzBweCAwOyB9XG4gIC5wcm9kdWN0LXN1cHBvcnQtY29udGVudF9fd3JhcHBlciAuZmxleGlibGUtY29udGVudC5wcm9kdWN0LWdyb3VwcyAuY29udGFpbmVyIC5wcm9kdWN0LWdyb3Vwc19fZ3JpZCB7XG4gICAgbWFyZ2luOiAwIC03cHg7IH1cbiAgLnByb2R1Y3Qtc3VwcG9ydC1jb250ZW50X193cmFwcGVyIC5mbGV4aWJsZS1jb250ZW50LnByb2R1Y3QtZ3JvdXBzIC5jb250YWluZXIgLnByb2R1Y3QtZ3JvdXBzX19ncmlkLWl0ZW0ge1xuICAgIHBhZGRpbmc6IDdweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5wcm9kdWN0LXN1cHBvcnQtY29udGVudF9fd3JhcHBlciAuZmxleGlibGUtY29udGVudC5wcm9kdWN0LWdyb3VwcyAuY29udGFpbmVyIC5wcm9kdWN0LWdyb3Vwc19fZ3JpZC1pdGVtLWhlYWRpbmcge1xuICAgICAgYmFja2dyb3VuZDogI2YwZjBmMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDE1cHggMjBweDtcbiAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgY29sb3I6ICMyMzRhNzE7IH1cbiAgICAucHJvZHVjdC1zdXBwb3J0LWNvbnRlbnRfX3dyYXBwZXIgLmZsZXhpYmxlLWNvbnRlbnQucHJvZHVjdC1ncm91cHMgLmNvbnRhaW5lciAucHJvZHVjdC1ncm91cHNfX2dyaWQtaXRlbS1jYXB0aW9uIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmMGYwZjA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwIDIwcHggMTVweDtcbiAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVlbTtcbiAgICAgIGJvcmRlcjogM3B4IHNvbGlkICNmMGYwZjA7XG4gICAgICBib3JkZXItcmFkaXVzOiAwIDAgNXB4IDVweDsgfVxuICAgICAgLnByb2R1Y3Qtc3VwcG9ydC1jb250ZW50X193cmFwcGVyIC5mbGV4aWJsZS1jb250ZW50LnByb2R1Y3QtZ3JvdXBzIC5jb250YWluZXIgLnByb2R1Y3QtZ3JvdXBzX19ncmlkLWl0ZW0tY2FwdGlvbiAudS1zdHlsZWQtbGlzdCBsaSwgLnByb2R1Y3Qtc3VwcG9ydC1jb250ZW50X193cmFwcGVyIC5mbGV4aWJsZS1jb250ZW50LnByb2R1Y3QtZ3JvdXBzIC5jb250YWluZXIgLnByb2R1Y3QtZ3JvdXBzX19ncmlkLWl0ZW0tY2FwdGlvbiAud3lzaXd5ZyB1bCBsaSwgLnByb2R1Y3Qtc3VwcG9ydC1jb250ZW50X193cmFwcGVyIC5mbGV4aWJsZS1jb250ZW50LnByb2R1Y3QtZ3JvdXBzIC5jb250YWluZXIgLnByb2R1Y3QtZ3JvdXBzX19ncmlkLWl0ZW0tY2FwdGlvbiAud3lzaXd5ZyBvbCBsaSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDE1cHg7IH1cbiAgICAucHJvZHVjdC1zdXBwb3J0LWNvbnRlbnRfX3dyYXBwZXIgLmZsZXhpYmxlLWNvbnRlbnQucHJvZHVjdC1ncm91cHMgLmNvbnRhaW5lciAucHJvZHVjdC1ncm91cHNfX2dyaWQtaXRlbS1pbWFnZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjBmMGYwO1xuICAgICAgYm9yZGVyOiAzcHggc29saWQgI2YwZjBmMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDVweCA1cHggMCAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIC5wcm9kdWN0LXN1cHBvcnQtY29udGVudF9fd3JhcHBlciAuZmxleGlibGUtY29udGVudC5wcm9kdWN0LWdyb3VwcyAuY29udGFpbmVyIC5wcm9kdWN0LWdyb3Vwc19fZ3JpZC1pdGVtIC5wcm9kdWN0LWdyb3Vwc19fYnRuIHtcbiAgICAgIGJhY2tncm91bmQ6ICMyMzRhNzE7XG4gICAgICBib3JkZXI6IDNweCBzb2xpZCAjZjBmMGYwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDVweCA1cHg7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5wcm9kdWN0LXN1cHBvcnQtY29udGVudF9fd3JhcHBlciAuZmxleGlibGUtY29udGVudC5yZWxhdGVkLXByb2R1Y3RzIHtcbiAgcGFkZGluZzogMzBweCAwOyB9XG4gIC5wcm9kdWN0LXN1cHBvcnQtY29udGVudF9fd3JhcHBlciAuZmxleGlibGUtY29udGVudC5yZWxhdGVkLXByb2R1Y3RzIGgyIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xuICAgIGNvbG9yOiAjYjIwOTM5OyB9XG4gIC5wcm9kdWN0LXN1cHBvcnQtY29udGVudF9fd3JhcHBlciAuZmxleGlibGUtY29udGVudC5yZWxhdGVkLXByb2R1Y3RzIC5yZWxhdGVkLXByb2R1Y3RzX19pdGVtLWdyaWQge1xuICAgIG1hcmdpbi1sZWZ0OiAtN3B4O1xuICAgIG1hcmdpbi1yaWdodDogLTdweDsgfVxuICAgIC5wcm9kdWN0LXN1cHBvcnQtY29udGVudF9fd3JhcHBlciAuZmxleGlibGUtY29udGVudC5yZWxhdGVkLXByb2R1Y3RzIC5yZWxhdGVkLXByb2R1Y3RzX19pdGVtLWdyaWQgLnJlbGF0ZWQtcHJvZHVjdHNfX2l0ZW0ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDdweDtcbiAgICAgIG1hcmdpbi1yaWdodDogN3B4O1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMTRweCk7IH1cbiAgICAgIC5wcm9kdWN0LXN1cHBvcnQtY29udGVudF9fd3JhcHBlciAuZmxleGlibGUtY29udGVudC5yZWxhdGVkLXByb2R1Y3RzIC5yZWxhdGVkLXByb2R1Y3RzX19pdGVtLWdyaWQgLnJlbGF0ZWQtcHJvZHVjdHNfX2l0ZW0gaDQge1xuICAgICAgICBmb250LXNpemU6IC44ZW07IH1cblxuLnByb2R1Y3Qtc3VwcG9ydC1jb250ZW50X193cmFwcGVyIC5mbGV4aWJsZS1jb250ZW50LnRleHQtdGlsZXMge1xuICBwYWRkaW5nOiAzMHB4IDA7IH1cbiAgLnByb2R1Y3Qtc3VwcG9ydC1jb250ZW50X193cmFwcGVyIC5mbGV4aWJsZS1jb250ZW50LnRleHQtdGlsZXMgaDIge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgZm9udC1zaXplOiAxLjI1ZW07XG4gICAgY29sb3I6ICNiMjA5Mzk7IH1cbiAgLnByb2R1Y3Qtc3VwcG9ydC1jb250ZW50X193cmFwcGVyIC5mbGV4aWJsZS1jb250ZW50LnRleHQtdGlsZXMgLnRleHQtdGlsZV9fbGluayB7XG4gICAgY29sb3I6ICMyMzRhNzE7IH1cbiAgICAucHJvZHVjdC1zdXBwb3J0LWNvbnRlbnRfX3dyYXBwZXIgLmZsZXhpYmxlLWNvbnRlbnQudGV4dC10aWxlcyAudGV4dC10aWxlX19saW5rOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5wcm9kdWN0LXN1cHBvcnQtY29udGVudF9fd3JhcHBlciAuZmxleGlibGUtY29udGVudC50aW1lbGluZSB7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgcGFkZGluZzogNjBweCAzMHB4OyB9XG4gIC5wcm9kdWN0LXN1cHBvcnQtY29udGVudF9fd3JhcHBlciAuZmxleGlibGUtY29udGVudC50aW1lbGluZSBoMiB7XG4gICAgZm9udC1zaXplOiAyLjE4NzVlbTsgfVxuICAucHJvZHVjdC1zdXBwb3J0LWNvbnRlbnRfX3dyYXBwZXIgLmZsZXhpYmxlLWNvbnRlbnQudGltZWxpbmUgaDMge1xuICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgLnByb2R1Y3Qtc3VwcG9ydC1jb250ZW50X193cmFwcGVyIC5mbGV4aWJsZS1jb250ZW50LnRpbWVsaW5lIHAge1xuICAgIGxpbmUtaGVpZ2h0OiAxNTAlOyB9XG5cbi5zdXBwb3J0LWRvd25sb2Fkc19faXRlbSA+IC5jLWFjY29yZGlvbl9fY29udGVudC0tdGFibGUge1xuICBtYXJnaW4tbGVmdDogMjBweDtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XG5cbi5wcm9kdWN0LWNhdGVnb3J5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDtcbiAgcGFkZGluZzogNDBweCAwIDA7IH1cbiAgLnByb2R1Y3QtY2F0ZWdvcnlfX2dyaWQtaXRlbSB7XG4gICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAucHJvZHVjdC1jYXRlZ29yeV9fZ3JpZC1jYXRlZ29yeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICBib3JkZXI6IDNweCBzb2xpZCAjZmVmZWZlO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIGZsZXgtZ3JvdzogMTsgfVxuICAgIC5wcm9kdWN0LWNhdGVnb3J5X19ncmlkLWNhdGVnb3J5OmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLnByb2R1Y3QtY2F0ZWdvcnlfX2dyaWQtaXRlbS1pbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweCAzcHggMCAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAucHJvZHVjdC1jYXRlZ29yeV9fZ3JpZC1pdGVtLWltYWdlIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5wcm9kdWN0LWNhdGVnb3J5X19ncmlkLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDMwcHg7IH1cbiAgICAucHJvZHVjdC1jYXRlZ29yeV9fZ3JpZC1jb250ZW50IHAge1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVlbTsgfVxuICAucHJvZHVjdC1jYXRlZ29yeV9fZ3JpZC1oZWFkaW5nIHtcbiAgICBmb250LXNpemU6IDEuNTYyNWVtO1xuICAgIGNvbG9yOiAjMjM0YTcxOyB9XG4gICAgLnByb2R1Y3QtY2F0ZWdvcnlfX2dyaWQtaGVhZGluZyBhIHtcbiAgICAgIGNvbG9yOiAjMjM0YTcxO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDQwMG1zOyB9XG4gICAgICAucHJvZHVjdC1jYXRlZ29yeV9fZ3JpZC1oZWFkaW5nIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogI2IyMDkzOTsgfVxuICAucHJvZHVjdC1jYXRlZ29yeV9fZ3JpZC1uYXYge1xuICAgIG1hcmdpbi1sZWZ0OiAtMnB4O1xuICAgIG1hcmdpbi1yaWdodDogLTJweDsgfVxuICAgIC5wcm9kdWN0LWNhdGVnb3J5X19ncmlkLW5hdiA+IGRpdiB7XG4gICAgICBwYWRkaW5nOiAycHg7IH1cbiAgICAucHJvZHVjdC1jYXRlZ29yeV9fZ3JpZC1uYXYgYSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjYWVhZWFlO1xuICAgICAgY29sb3I6ICM3ODc4Nzg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRyYW5zaXRpb246IGVhc2UgYWxsIDAuM3M7IH1cbiAgICAgIC5wcm9kdWN0LWNhdGVnb3J5X19ncmlkLW5hdiBhIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IDAuNzc3NzhlbTtcbiAgICAgICAgY29sb3I6ICNhZWFlYWU7IH1cbiAgICAgIC5wcm9kdWN0LWNhdGVnb3J5X19ncmlkLW5hdiBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMzRhNzE7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzIzNGE3MTsgfVxuICAucHJvZHVjdC1jYXRlZ29yeV9fYWNjZXNzb3J5LWdyaWQge1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1sZWZ0OiAtNXB4O1xuICAgIG1hcmdpbi1yaWdodDogLTVweDtcbiAgICBtYXJnaW4tdG9wOiAyNXB4OyB9XG4gIC5wcm9kdWN0LWNhdGVnb3J5X19hY2Nlc3NvcnktZ3JpZC1pdGVtIHtcbiAgICBjb2xvcjogIzIzNGE3MTtcbiAgICBwYWRkaW5nOiA1cHg7IH1cbiAgICAucHJvZHVjdC1jYXRlZ29yeV9fYWNjZXNzb3J5LWdyaWQtaXRlbTpob3ZlciBpbWcge1xuICAgICAgb3BhY2l0eTogLjk7IH1cbiAgICAucHJvZHVjdC1jYXRlZ29yeV9fYWNjZXNzb3J5LWdyaWQtaXRlbSBhIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgIC5wcm9kdWN0LWNhdGVnb3J5X19hY2Nlc3NvcnktZ3JpZC1pdGVtIGEgc3Bhbi50aXRsZSB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IC45ZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGNvbG9yOiAjMjM0YTcxOyB9XG4gICAgLnByb2R1Y3QtY2F0ZWdvcnlfX2FjY2Vzc29yeS1ncmlkLWl0ZW0gZmlndXJlIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDZweCA2cHggMCAwO1xuICAgICAgYmFja2dyb3VuZDogIzc4Nzg3ODsgfVxuICAgIC5wcm9kdWN0LWNhdGVnb3J5X19hY2Nlc3NvcnktZ3JpZC1pdGVtIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYm9yZGVyLXJhZGl1czogNnB4IDZweCAwIDA7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgNDAwbXM7IH1cbiAgLnByb2R1Y3QtY2F0ZWdvcnkgLnRvcC1ibG9jay13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2x1bW5zOiA0MDBweCAyOyB9XG4gICAgLnByb2R1Y3QtY2F0ZWdvcnkgLnRvcC1ibG9jay13cmFwcGVyIC50b3AtYmxvY2sge1xuICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgIGJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgcGFkZGluZzogM3B4O1xuICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG4gICAgICAucHJvZHVjdC1jYXRlZ29yeSAudG9wLWJsb2NrLXdyYXBwZXIgLnRvcC1ibG9jazpsYXN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5zb2x1dGlvbnMtZ2FsbGVyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7XG4gIHBhZGRpbmctYm90dG9tOiA4MHB4OyB9XG4gIC5zb2x1dGlvbnMtZ2FsbGVyeSAubWFzb24tc2l6ZXIge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuc29sdXRpb25zLWdhbGxlcnlfX2hlYWRlciB7XG4gICAgcGFkZGluZzogNDBweCAwIDMwcHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnNvbHV0aW9ucy1nYWxsZXJ5X19oZWFkZXIge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH0gfVxuICAgIC5zb2x1dGlvbnMtZ2FsbGVyeV9faGVhZGVyIC5jdXN0b20tc2VsZWN0IHtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1ZW07XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjYWVhZWFlO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9wbmcvYmx1ZS1zZWxlY3QtYXJyb3ctZG93bi5wbmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA5MCUgY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxM3B4IGF1dG87XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gICAgICAuc29sdXRpb25zLWdhbGxlcnlfX2hlYWRlciAuY3VzdG9tLXNlbGVjdCBzZWxlY3Qge1xuICAgICAgICBjb2xvcjogIzIzNGE3MTtcbiAgICAgICAgcGFkZGluZzogMTJweCA3NXB4IDEwcHggMTVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45OTg3NWVtKSB7XG4gICAgLnNvbHV0aW9ucy1nYWxsZXJ5X19uYXYge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfSB9XG4gIC5zb2x1dGlvbnMtZ2FsbGVyeV9fbmF2IHVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc29sdXRpb25zLWdhbGxlcnlfX25hdiBsaSB7XG4gICAgZm9udC1zaXplOiAwLjg3NWVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG4gICAgLnNvbHV0aW9ucy1nYWxsZXJ5X19uYXYgbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5zb2x1dGlvbnMtZ2FsbGVyeV9fbmF2IGxpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4OyB9IH1cbiAgLnNvbHV0aW9ucy1nYWxsZXJ5X19uYXYgYSB7XG4gICAgY29sb3I6ICMyMzRhNzE7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7IH1cbiAgICAuc29sdXRpb25zLWdhbGxlcnlfX25hdiBhOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLThweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvYmx1ZS1jbG9zZS1pY29uLnN2Z1wiKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgLnNvbHV0aW9ucy1nYWxsZXJ5X19ncmlkIHtcbiAgICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTBweDsgfVxuICAuc29sdXRpb25zLWdhbGxlcnlfX2dyaWQtaW1hZ2Uge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuICAgIC5zb2x1dGlvbnMtZ2FsbGVyeV9fZ3JpZC1pbWFnZSBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuc29sdXRpb25zLWdhbGxlcnlfX2dyaWQtaW1hZ2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgICAgICAgLnNvbHV0aW9ucy1nYWxsZXJ5X19ncmlkLWltYWdlIGltZyB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5zb2x1dGlvbnMtZ2FsbGVyeV9fZ3JpZC1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwIDEwcHggMDsgfVxuICAuc29sdXRpb25zLWdhbGxlcnlfX2dyaWQtaXRlbSB7XG4gICAgcGFkZGluZzogMHB4IDEwcHggMjBweDtcbiAgICBoZWlnaHQ6IDYyMHB4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiAgICAuc29sdXRpb25zLWdhbGxlcnlfX2dyaWQtaXRlbSAuZ3JpZC1pdGVtLWNvbnRlbnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBhZGRpbmc6IDIwcHg7IH1cbiAgICAuc29sdXRpb25zLWdhbGxlcnlfX2dyaWQtaXRlbS5xdWFydGVyIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAuc29sdXRpb25zLWdhbGxlcnlfX2dyaWQtaXRlbS50aGlyZCB7XG4gICAgICB3aWR0aDogMzMuMyU7IH1cbiAgICAuc29sdXRpb25zLWdhbGxlcnlfX2dyaWQtaXRlbS5oYWxmIHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAuc29sdXRpb25zLWdhbGxlcnlfX2dyaWQtaXRlbS50d28tdGhpcmQge1xuICAgICAgd2lkdGg6IDY2LjYlOyB9XG4gICAgLnNvbHV0aW9ucy1nYWxsZXJ5X19ncmlkLWl0ZW0udGhyZWUtcXVhcnRlciB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLnNvbHV0aW9ucy1nYWxsZXJ5X19ncmlkLWl0ZW0uZnVsbCB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5zb2x1dGlvbnMtZ2FsbGVyeV9fZ3JpZC1pdGVtIHAge1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnNvbHV0aW9ucy1nYWxsZXJ5X19ncmlkLWl0ZW0ucmlnaHRzaWRlIC5zb2x1dGlvbnMtZ2FsbGVyeV9fZ3JpZC1jb250ZW50IHtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICB3aWR0aDogMzglOyB9XG4gICAgICAuc29sdXRpb25zLWdhbGxlcnlfX2dyaWQtaXRlbS5yaWdodHNpZGUgLnNvbHV0aW9ucy1nYWxsZXJ5X19ncmlkLWltYWdlIHtcbiAgICAgICAgZmxleC1ncm93OiAyO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTMlIC0gMjBweCk7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5zb2x1dGlvbnMtZ2FsbGVyeV9fZ3JpZC1pdGVtLnRvcHNpZGUgLnNvbHV0aW9ucy1nYWxsZXJ5X19ncmlkLWltYWdlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDcwJTsgfVxuICAgICAgLnNvbHV0aW9ucy1nYWxsZXJ5X19ncmlkLWl0ZW0udHdvLXRoaXJkIC5zb2x1dGlvbnMtZ2FsbGVyeV9fZ3JpZC1pbWFnZSB7XG4gICAgICAgIGhlaWdodDogYXV0bzsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5zb2x1dGlvbnMtZ2FsbGVyeV9fZ3JpZC1pdGVtLnJpZ2h0c2lkZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAuc29sdXRpb25zLWdhbGxlcnlfX2dyaWQtaXRlbS5yaWdodHNpZGUgLmdyaWQtaXRlbS1jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAuc29sdXRpb25zLWdhbGxlcnlfX2dyaWQtaXRlbS5yaWdodHNpZGUgLnNvbHV0aW9ucy1nYWxsZXJ5X19ncmlkLWNvbnRlbnQge1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgd2lkdGg6IDM4JTsgfVxuICAgIC5zb2x1dGlvbnMtZ2FsbGVyeV9fZ3JpZC1pdGVtLnJpZ2h0c2lkZSAuc29sdXRpb25zLWdhbGxlcnlfX2dyaWQtaW1hZ2Uge1xuICAgICAgZmxleC1ncm93OiAyO1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICBvcmRlcjogMjtcbiAgICAgIHdpZHRoOiA1MyU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5zb2x1dGlvbnMtZ2FsbGVyeV9fZ3JpZC1pdGVtLmZ1bGwgLnNvbHV0aW9ucy1nYWxsZXJ5X19ncmlkLWNvbnRlbnQge1xuICAgICAgICB3aWR0aDogMjIlOyB9XG4gICAgICAuc29sdXRpb25zLWdhbGxlcnlfX2dyaWQtaXRlbS5mdWxsIC5zb2x1dGlvbnMtZ2FsbGVyeV9fZ3JpZC1pbWFnZSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDc4JSAtIDIwcHgpOyB9IH1cbiAgLnNvbHV0aW9ucy1nYWxsZXJ5X19ncmlkLWhlYWRpbmcge1xuICAgIGZvbnQtc2l6ZTogMS4xMjVlbTtcbiAgICBjb2xvcjogI2IyMDkzOTtcbiAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gIC5zb2x1dGlvbnMtZ2FsbGVyeV9fZ3JpZC1idWlsZCB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMTc0LCAxNzQsIDE3NCwgMC4yKTtcbiAgICBwYWRkaW5nLXRvcDogMTVweDsgfVxuICAgIC5zb2x1dGlvbnMtZ2FsbGVyeV9fZ3JpZC1idWlsZCB1bCB7XG4gICAgICBtYXJnaW46IDE1cHggMTBweCAwOyB9XG4gICAgLnNvbHV0aW9ucy1nYWxsZXJ5X19ncmlkLWJ1aWxkIHAge1xuICAgICAgZm9udC1zaXplOiAwLjg3NWVtO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBtYXJnaW46IDA7IH1cblxuYm9keS5ibG9nIGFzaWRlIGgzLCBib2R5LmFyY2hpdmUgYXNpZGUgaDMge1xuICBjb2xvcjogI2IyMDkzOTtcbiAgZm9udC1zaXplOiAwLjg3NWVtO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2FlYWVhZTtcbiAgbWFyZ2luOiAwIDAgMjBweCAwO1xuICBwYWRkaW5nOiAwIDAgMTBweCAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbmJvZHkuYmxvZyBhc2lkZSBsaSBhIHNwYW4sIGJvZHkuYXJjaGl2ZSBhc2lkZSBsaSBhIHNwYW4ge1xuICBmbG9hdDogcmlnaHQ7XG4gIGNvbG9yOiAjNzg3ODc4OyB9XG5cbmJvZHkuYmxvZyAubWFpbi1ncmlkIC5icmVhZGNydW1ic19fbmF2LCBib2R5LmFyY2hpdmUgLm1haW4tZ3JpZCAuYnJlYWRjcnVtYnNfX25hdiB7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gIHBhZGRpbmctYm90dG9tOiAyNXB4OyB9XG5cbmJvZHkuYmxvZyAubWFpbi1ncmlkIC5ibG9nLWxhbmRpbmctaXRlbSwgYm9keS5hcmNoaXZlIC5tYWluLWdyaWQgLmJsb2ctbGFuZGluZy1pdGVtIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNhZWFlYWU7XG4gIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICBjbGVhcjogYm90aDsgfVxuICBib2R5LmJsb2cgLm1haW4tZ3JpZCAuYmxvZy1sYW5kaW5nLWl0ZW0gYXJ0aWNsZSBoZWFkZXIsIGJvZHkuYXJjaGl2ZSAubWFpbi1ncmlkIC5ibG9nLWxhbmRpbmctaXRlbSBhcnRpY2xlIGhlYWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgIGJvZHkuYmxvZyAubWFpbi1ncmlkIC5ibG9nLWxhbmRpbmctaXRlbSBhcnRpY2xlIGhlYWRlciBhLCBib2R5LmFyY2hpdmUgLm1haW4tZ3JpZCAuYmxvZy1sYW5kaW5nLWl0ZW0gYXJ0aWNsZSBoZWFkZXIgYSB7XG4gICAgICBjb2xvcjogIzIzNGE3MTsgfVxuICAgIGJvZHkuYmxvZyAubWFpbi1ncmlkIC5ibG9nLWxhbmRpbmctaXRlbSBhcnRpY2xlIGhlYWRlciBoMiwgYm9keS5hcmNoaXZlIC5tYWluLWdyaWQgLmJsb2ctbGFuZGluZy1pdGVtIGFydGljbGUgaGVhZGVyIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMS41NjI1ZW07XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgY29sb3I6ICMyMzRhNzE7IH1cbiAgICBib2R5LmJsb2cgLm1haW4tZ3JpZCAuYmxvZy1sYW5kaW5nLWl0ZW0gYXJ0aWNsZSBoZWFkZXIgdGltZSwgYm9keS5hcmNoaXZlIC5tYWluLWdyaWQgLmJsb2ctbGFuZGluZy1pdGVtIGFydGljbGUgaGVhZGVyIHRpbWUge1xuICAgICAgZm9udC1zaXplOiAuNzVlbTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIGJvZHkuYmxvZyAubWFpbi1ncmlkIC5ibG9nLWxhbmRpbmctaXRlbSBhcnRpY2xlIGhlYWRlciBwLmJ5bGluZSwgYm9keS5hcmNoaXZlIC5tYWluLWdyaWQgLmJsb2ctbGFuZGluZy1pdGVtIGFydGljbGUgaGVhZGVyIHAuYnlsaW5lIHtcbiAgICAgIGZvbnQtc2l6ZTogLjc1ZW07XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgYm9keS5ibG9nIC5tYWluLWdyaWQgLmJsb2ctbGFuZGluZy1pdGVtIGFydGljbGUgaGVhZGVyIHAuYnlsaW5lLCBib2R5LmFyY2hpdmUgLm1haW4tZ3JpZCAuYmxvZy1sYW5kaW5nLWl0ZW0gYXJ0aWNsZSBoZWFkZXIgcC5ieWxpbmUge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG4gICAgICBib2R5LmJsb2cgLm1haW4tZ3JpZCAuYmxvZy1sYW5kaW5nLWl0ZW0gYXJ0aWNsZSBoZWFkZXIgcC5ieWxpbmU6YmVmb3JlLCBib2R5LmFyY2hpdmUgLm1haW4tZ3JpZCAuYmxvZy1sYW5kaW5nLWl0ZW0gYXJ0aWNsZSBoZWFkZXIgcC5ieWxpbmU6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJ8XCI7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweDsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAgIGJvZHkuYmxvZyAubWFpbi1ncmlkIC5ibG9nLWxhbmRpbmctaXRlbSBhcnRpY2xlIGhlYWRlciBwLmJ5bGluZTpiZWZvcmUsIGJvZHkuYXJjaGl2ZSAubWFpbi1ncmlkIC5ibG9nLWxhbmRpbmctaXRlbSBhcnRpY2xlIGhlYWRlciBwLmJ5bGluZTpiZWZvcmUge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cbiAgYm9keS5ibG9nIC5tYWluLWdyaWQgLmJsb2ctbGFuZGluZy1pdGVtIGFydGljbGUgLmVudHJ5LWNvbnRlbnQsIGJvZHkuYXJjaGl2ZSAubWFpbi1ncmlkIC5ibG9nLWxhbmRpbmctaXRlbSBhcnRpY2xlIC5lbnRyeS1jb250ZW50IHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuICAgIGJvZHkuYmxvZyAubWFpbi1ncmlkIC5ibG9nLWxhbmRpbmctaXRlbSBhcnRpY2xlIC5lbnRyeS1jb250ZW50IGltZywgYm9keS5ibG9nIC5tYWluLWdyaWQgLmJsb2ctbGFuZGluZy1pdGVtIGFydGljbGUgLmVudHJ5LWNvbnRlbnQgZmlndXJlLCBib2R5LmJsb2cgLm1haW4tZ3JpZCAuYmxvZy1sYW5kaW5nLWl0ZW0gYXJ0aWNsZSAuZW50cnktY29udGVudCBoMSwgYm9keS5ibG9nIC5tYWluLWdyaWQgLmJsb2ctbGFuZGluZy1pdGVtIGFydGljbGUgLmVudHJ5LWNvbnRlbnQgaDIsIGJvZHkuYmxvZyAubWFpbi1ncmlkIC5ibG9nLWxhbmRpbmctaXRlbSBhcnRpY2xlIC5lbnRyeS1jb250ZW50IGgzLCBib2R5LmJsb2cgLm1haW4tZ3JpZCAuYmxvZy1sYW5kaW5nLWl0ZW0gYXJ0aWNsZSAuZW50cnktY29udGVudCBoNCwgYm9keS5ibG9nIC5tYWluLWdyaWQgLmJsb2ctbGFuZGluZy1pdGVtIGFydGljbGUgLmVudHJ5LWNvbnRlbnQgaDUsIGJvZHkuYmxvZyAubWFpbi1ncmlkIC5ibG9nLWxhbmRpbmctaXRlbSBhcnRpY2xlIC5lbnRyeS1jb250ZW50IGg2LCBib2R5LmJsb2cgLm1haW4tZ3JpZCAuYmxvZy1sYW5kaW5nLWl0ZW0gYXJ0aWNsZSAuZW50cnktY29udGVudCB1bCwgYm9keS5hcmNoaXZlIC5tYWluLWdyaWQgLmJsb2ctbGFuZGluZy1pdGVtIGFydGljbGUgLmVudHJ5LWNvbnRlbnQgaW1nLCBib2R5LmFyY2hpdmUgLm1haW4tZ3JpZCAuYmxvZy1sYW5kaW5nLWl0ZW0gYXJ0aWNsZSAuZW50cnktY29udGVudCBmaWd1cmUsIGJvZHkuYXJjaGl2ZSAubWFpbi1ncmlkIC5ibG9nLWxhbmRpbmctaXRlbSBhcnRpY2xlIC5lbnRyeS1jb250ZW50IGgxLCBib2R5LmFyY2hpdmUgLm1haW4tZ3JpZCAuYmxvZy1sYW5kaW5nLWl0ZW0gYXJ0aWNsZSAuZW50cnktY29udGVudCBoMiwgYm9keS5hcmNoaXZlIC5tYWluLWdyaWQgLmJsb2ctbGFuZGluZy1pdGVtIGFydGljbGUgLmVudHJ5LWNvbnRlbnQgaDMsIGJvZHkuYXJjaGl2ZSAubWFpbi1ncmlkIC5ibG9nLWxhbmRpbmctaXRlbSBhcnRpY2xlIC5lbnRyeS1jb250ZW50IGg0LCBib2R5LmFyY2hpdmUgLm1haW4tZ3JpZCAuYmxvZy1sYW5kaW5nLWl0ZW0gYXJ0aWNsZSAuZW50cnktY29udGVudCBoNSwgYm9keS5hcmNoaXZlIC5tYWluLWdyaWQgLmJsb2ctbGFuZGluZy1pdGVtIGFydGljbGUgLmVudHJ5LWNvbnRlbnQgaDYsIGJvZHkuYXJjaGl2ZSAubWFpbi1ncmlkIC5ibG9nLWxhbmRpbmctaXRlbSBhcnRpY2xlIC5lbnRyeS1jb250ZW50IHVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgYm9keS5ibG9nIC5tYWluLWdyaWQgLmJsb2ctbGFuZGluZy1pdGVtIGFydGljbGUgLmJsb2ctdGh1bWJuYWlsLCBib2R5LmFyY2hpdmUgLm1haW4tZ3JpZCAuYmxvZy1sYW5kaW5nLWl0ZW0gYXJ0aWNsZSAuYmxvZy10aHVtYm5haWwge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCAwIDIwcHggMDtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIGJvZHkuYmxvZyAubWFpbi1ncmlkIC5ibG9nLWxhbmRpbmctaXRlbSBhcnRpY2xlIC5ibG9nLXRodW1ibmFpbCwgYm9keS5hcmNoaXZlIC5tYWluLWdyaWQgLmJsb2ctbGFuZGluZy1pdGVtIGFydGljbGUgLmJsb2ctdGh1bWJuYWlsIHtcbiAgICAgICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICAgICAgbWFyZ2luOiAwIDAgMzBweCAzMHB4OyB9IH1cbiAgICBib2R5LmJsb2cgLm1haW4tZ3JpZCAuYmxvZy1sYW5kaW5nLWl0ZW0gYXJ0aWNsZSAuYmxvZy10aHVtYm5haWwgaW1nLCBib2R5LmFyY2hpdmUgLm1haW4tZ3JpZCAuYmxvZy1sYW5kaW5nLWl0ZW0gYXJ0aWNsZSAuYmxvZy10aHVtYm5haWwgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIGJvZHkuYmxvZyAubWFpbi1ncmlkIC5ibG9nLWxhbmRpbmctaXRlbSBhcnRpY2xlICsgYXJ0aWNsZSwgYm9keS5hcmNoaXZlIC5tYWluLWdyaWQgLmJsb2ctbGFuZGluZy1pdGVtIGFydGljbGUgKyBhcnRpY2xlIHtcbiAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYWVhZWFlOyB9XG5cbmJvZHkuc2luZ2xlLXBvc3QgLmJhY2stdG8tbGluayB7XG4gIGZvbnQtc2l6ZTogMC43NWVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG4gIGJvZHkuc2luZ2xlLXBvc3QgLmJhY2stdG8tbGluayBhIHtcbiAgICBjb2xvcjogIzIzNGE3MTsgfVxuICAgIGJvZHkuc2luZ2xlLXBvc3QgLmJhY2stdG8tbGluayBhOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIuKGkFwiO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cblxuYm9keS5zaW5nbGUtcG9zdCAuc2luZ2xlLXBvc3QtY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZDogI2YwZjBmMDtcbiAgcGFkZGluZy10b3A6IDQwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA2MHB4OyB9XG4gIGJvZHkuc2luZ2xlLXBvc3QgLnNpbmdsZS1wb3N0LWNvbnRhaW5lciAubWFpbi1ncmlkIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgYm9keS5zaW5nbGUtcG9zdCAuc2luZ2xlLXBvc3QtY29udGFpbmVyIGhlYWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgIGJvZHkuc2luZ2xlLXBvc3QgLnNpbmdsZS1wb3N0LWNvbnRhaW5lciBoZWFkZXIgaDEge1xuICAgICAgZm9udC1zaXplOiAyLjVlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMjAlO1xuICAgICAgY29sb3I6ICMyMzRhNzE7IH1cbiAgICBib2R5LnNpbmdsZS1wb3N0IC5zaW5nbGUtcG9zdC1jb250YWluZXIgaGVhZGVyIHRpbWUge1xuICAgICAgZm9udC1zaXplOiAuNzVlbTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIGJvZHkuc2luZ2xlLXBvc3QgLnNpbmdsZS1wb3N0LWNvbnRhaW5lciBoZWFkZXIgcC5ieWxpbmUge1xuICAgICAgZm9udC1zaXplOiAuNzVlbTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICBib2R5LnNpbmdsZS1wb3N0IC5zaW5nbGUtcG9zdC1jb250YWluZXIgaGVhZGVyIHAuYnlsaW5lIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuICAgICAgYm9keS5zaW5nbGUtcG9zdCAuc2luZ2xlLXBvc3QtY29udGFpbmVyIGhlYWRlciBwLmJ5bGluZTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcInxcIjtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMCAxNXB4OyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICAgYm9keS5zaW5nbGUtcG9zdCAuc2luZ2xlLXBvc3QtY29udGFpbmVyIGhlYWRlciBwLmJ5bGluZTpiZWZvcmUge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cblxuYm9keS5zaW5nbGUtcG9zdCBhc2lkZSB7XG4gIG1hcmdpbi10b3A6IDYwcHg7XG4gIGZvbnQtc2l6ZTogLjg1ZW07XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICBib2R5LnNpbmdsZS1wb3N0IGFzaWRlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICBib2R5LnNpbmdsZS1wb3N0IGFzaWRlIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuICBib2R5LnNpbmdsZS1wb3N0IGFzaWRlIGRpdiB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDsgfVxuICBib2R5LnNpbmdsZS1wb3N0IGFzaWRlIGgzIHtcbiAgICBjb2xvcjogI2IyMDkzOTtcbiAgICBmb250LXNpemU6IDAuODc1ZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNhZWFlYWU7XG4gICAgbWFyZ2luOiAwIDAgMjBweCAwO1xuICAgIHBhZGRpbmc6IDAgMCAxMHB4IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICBib2R5LnNpbmdsZS1wb3N0IGFzaWRlIHVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgYm9keS5zaW5nbGUtcG9zdCBhc2lkZSB1bCBsaSB7XG4gICAgICBmb250LXNpemU6IC44NWVtOyB9XG4gICAgICBib2R5LnNpbmdsZS1wb3N0IGFzaWRlIHVsIGxpOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIGJvZHkuc2luZ2xlLXBvc3QgYXNpZGUgdWwgbGkgYSBzcGFuIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBjb2xvcjogIzc4Nzg3ODtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7IH1cblxuYm9keS5zaW5nbGUtcG9zdCAuY29tbWVudHMtY29udGFpbmVyIHtcbiAgbWFyZ2luLXRvcDogNjBweDsgfVxuICBib2R5LnNpbmdsZS1wb3N0IC5jb21tZW50cy1jb250YWluZXIgc2VjdGlvbiNjb21tZW50cyBoMyB7XG4gICAgZm9udC1zaXplOiAxLjI1ZW07XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICMyMzRhNzE7XG4gICAgcGFkZGluZzogMTVweCAwIDAgMDtcbiAgICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gICAgY29sb3I6ICNiMjA5Mzk7IH1cbiAgYm9keS5zaW5nbGUtcG9zdCAuY29tbWVudHMtY29udGFpbmVyIHNlY3Rpb24jY29tbWVudHMgb2wuY29tbWVudC1saXN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgYm9keS5zaW5nbGUtcG9zdCAuY29tbWVudHMtY29udGFpbmVyIHNlY3Rpb24jY29tbWVudHMgb2wuY29tbWVudC1saXN0IGxpIHtcbiAgICAgIG1hcmdpbjogMCAwIDI1cHg7XG4gICAgICBwYWRkaW5nOiAwIDAgMjVweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYWVhZWFlO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgICAgYm9keS5zaW5nbGUtcG9zdCAuY29tbWVudHMtY29udGFpbmVyIHNlY3Rpb24jY29tbWVudHMgb2wuY29tbWVudC1saXN0IGxpIC5jb21tZW50LWJvZHkgLmNvbW1lbnQtYXV0aG9yIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAgICAgICBib2R5LnNpbmdsZS1wb3N0IC5jb21tZW50cy1jb250YWluZXIgc2VjdGlvbiNjb21tZW50cyBvbC5jb21tZW50LWxpc3QgbGkgLmNvbW1lbnQtYm9keSAuY29tbWVudC1hdXRob3IgaW1nIHtcbiAgICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgIGZsZXg6IDAgMSA0MHB4OyB9XG4gICAgICAgIGJvZHkuc2luZ2xlLXBvc3QgLmNvbW1lbnRzLWNvbnRhaW5lciBzZWN0aW9uI2NvbW1lbnRzIG9sLmNvbW1lbnQtbGlzdCBsaSAuY29tbWVudC1ib2R5IC5jb21tZW50LWF1dGhvciAuYXV0aG9yLW1ldGEge1xuICAgICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgICBmb250LXNpemU6IC44ZW07IH1cbiAgICAgICAgICBib2R5LnNpbmdsZS1wb3N0IC5jb21tZW50cy1jb250YWluZXIgc2VjdGlvbiNjb21tZW50cyBvbC5jb21tZW50LWxpc3QgbGkgLmNvbW1lbnQtYm9keSAuY29tbWVudC1hdXRob3IgLmF1dGhvci1tZXRhIGNpdGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDVweDsgfVxuICAgICAgICAgICAgYm9keS5zaW5nbGUtcG9zdCAuY29tbWVudHMtY29udGFpbmVyIHNlY3Rpb24jY29tbWVudHMgb2wuY29tbWVudC1saXN0IGxpIC5jb21tZW50LWJvZHkgLmNvbW1lbnQtYXV0aG9yIC5hdXRob3ItbWV0YSBjaXRlOmJlZm9yZSB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgICAgIGJvZHkuc2luZ2xlLXBvc3QgLmNvbW1lbnRzLWNvbnRhaW5lciBzZWN0aW9uI2NvbW1lbnRzIG9sLmNvbW1lbnQtbGlzdCBsaSAuY29tbWVudC1ib2R5IC5jb21tZW50LWF1dGhvciAuYXV0aG9yLW1ldGEgY2l0ZSBhIHtcbiAgICAgICAgICAgICAgY29sb3I6ICMyMzRhNzE7IH1cbiAgICAgICAgICBib2R5LnNpbmdsZS1wb3N0IC5jb21tZW50cy1jb250YWluZXIgc2VjdGlvbiNjb21tZW50cyBvbC5jb21tZW50LWxpc3QgbGkgLmNvbW1lbnQtYm9keSAuY29tbWVudC1hdXRob3IgLmF1dGhvci1tZXRhIHRpbWUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDVweDsgfVxuICAgICAgICAgICAgYm9keS5zaW5nbGUtcG9zdCAuY29tbWVudHMtY29udGFpbmVyIHNlY3Rpb24jY29tbWVudHMgb2wuY29tbWVudC1saXN0IGxpIC5jb21tZW50LWJvZHkgLmNvbW1lbnQtYXV0aG9yIC5hdXRob3ItbWV0YSB0aW1lIGEge1xuICAgICAgICAgICAgICBjb2xvcjogIzIzNGE3MTsgfVxuICAgICAgYm9keS5zaW5nbGUtcG9zdCAuY29tbWVudHMtY29udGFpbmVyIHNlY3Rpb24jY29tbWVudHMgb2wuY29tbWVudC1saXN0IGxpIC5jb21tZW50LWJvZHkgc2VjdGlvbi5jb21tZW50IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA2MHB4OyB9XG4gICAgICBib2R5LnNpbmdsZS1wb3N0IC5jb21tZW50cy1jb250YWluZXIgc2VjdGlvbiNjb21tZW50cyBvbC5jb21tZW50LWxpc3QgbGkgLmNvbW1lbnQtYm9keSAucmVwbHkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogLjZlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgICAgICBib2R5LnNpbmdsZS1wb3N0IC5jb21tZW50cy1jb250YWluZXIgc2VjdGlvbiNjb21tZW50cyBvbC5jb21tZW50LWxpc3QgbGkgLmNvbW1lbnQtYm9keSAucmVwbHkgYSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzIzNGE3MTtcbiAgICAgICAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgY29sb3I6ICMyMzRhNzE7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zOyB9XG4gICAgICAgICAgYm9keS5zaW5nbGUtcG9zdCAuY29tbWVudHMtY29udGFpbmVyIHNlY3Rpb24jY29tbWVudHMgb2wuY29tbWVudC1saXN0IGxpIC5jb21tZW50LWJvZHkgLnJlcGx5IGE6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjM0YTcxOyB9XG4gICAgICBib2R5LnNpbmdsZS1wb3N0IC5jb21tZW50cy1jb250YWluZXIgc2VjdGlvbiNjb21tZW50cyBvbC5jb21tZW50LWxpc3QgbGkgLmNoaWxkcmVuIHtcbiAgICAgICAgbWFyZ2luOiAzMHB4IDAgMCA2MHB4OyB9XG4gICAgICAgIGJvZHkuc2luZ2xlLXBvc3QgLmNvbW1lbnRzLWNvbnRhaW5lciBzZWN0aW9uI2NvbW1lbnRzIG9sLmNvbW1lbnQtbGlzdCBsaSAuY2hpbGRyZW4gbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBwYWRkaW5nOiAwOyB9XG4gIGJvZHkuc2luZ2xlLXBvc3QgLmNvbW1lbnRzLWNvbnRhaW5lciBzZWN0aW9uI3Jlc3BvbmQgaDMge1xuICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwIDAgMjBweCAwO1xuICAgIGNvbG9yOiAjYjIwOTM5O1xuICAgIGJvcmRlcjogbm9uZTsgfVxuICBib2R5LnNpbmdsZS1wb3N0IC5jb21tZW50cy1jb250YWluZXIgc2VjdGlvbiNyZXNwb25kICNjb21tZW50Zm9ybSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luOiAwIC0xMHB4OyB9XG4gICAgYm9keS5zaW5nbGUtcG9zdCAuY29tbWVudHMtY29udGFpbmVyIHNlY3Rpb24jcmVzcG9uZCAjY29tbWVudGZvcm0gcCB7XG4gICAgICBmbGV4OiAxIDAgNTAlO1xuICAgICAgcGFkZGluZzogMCAxMHB4OyB9XG4gICAgICBib2R5LnNpbmdsZS1wb3N0IC5jb21tZW50cy1jb250YWluZXIgc2VjdGlvbiNyZXNwb25kICNjb21tZW50Zm9ybSBwLmNvbC0xMiB7XG4gICAgICAgIGZsZXg6IDEgMCAxMDAlOyB9XG4gICAgICBib2R5LnNpbmdsZS1wb3N0IC5jb21tZW50cy1jb250YWluZXIgc2VjdGlvbiNyZXNwb25kICNjb21tZW50Zm9ybSBwI2FsbG93ZWRfdGFncyB7XG4gICAgICAgIGZsZXg6IDEgMCAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBib2R5LnNpbmdsZS1wb3N0IC5jb21tZW50cy1jb250YWluZXIgc2VjdGlvbiNyZXNwb25kICNjb21tZW50Zm9ybSBwLnN1Ym1pdC1yb3cge1xuICAgICAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAgICAgYm9keS5zaW5nbGUtcG9zdCAuY29tbWVudHMtY29udGFpbmVyIHNlY3Rpb24jcmVzcG9uZCAjY29tbWVudGZvcm0gcCBsYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IC43ZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiAjMjM0YTcxOyB9XG4gICAgICBib2R5LnNpbmdsZS1wb3N0IC5jb21tZW50cy1jb250YWluZXIgc2VjdGlvbiNyZXNwb25kICNjb21tZW50Zm9ybSBwIGlucHV0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMjVweDtcbiAgICAgICAgZm9udC1zaXplOiAuOWVtO1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2FlYWVhZTsgfVxuICAgICAgICBib2R5LnNpbmdsZS1wb3N0IC5jb21tZW50cy1jb250YWluZXIgc2VjdGlvbiNyZXNwb25kICNjb21tZW50Zm9ybSBwIGlucHV0W3R5cGU9c3VibWl0XSB7XG4gICAgICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICAgICAgYm9yZGVyOiAwOyB9XG4gICAgICBib2R5LnNpbmdsZS1wb3N0IC5jb21tZW50cy1jb250YWluZXIgc2VjdGlvbiNyZXNwb25kICNjb21tZW50Zm9ybSBwIHRleHRhcmVhIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMjVweDtcbiAgICAgICAgZm9udC1zaXplOiAuOWVtO1xuICAgICAgICBoZWlnaHQ6IDE1MHB4O1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2FlYWVhZTsgfVxuXG4jY29uZmlndXJhdG9yTW9kYWwge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgI2NvbmZpZ3VyYXRvck1vZGFsIGRpdiB7XG4gICAgbWFyZ2luOiAxNXB4OyB9XG4gICAgI2NvbmZpZ3VyYXRvck1vZGFsIGRpdi5oMyB7XG4gICAgICBjb2xvcjogI2IyMDkzOTsgfVxuICAgICNjb25maWd1cmF0b3JNb2RhbCBkaXYuaDQge1xuICAgICAgY29sb3I6ICMyMzRhNzE7IH1cbiAgI2NvbmZpZ3VyYXRvck1vZGFsIHAge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gICAgY29sb3I6ICM3ODc4Nzg7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIFNTbSBBXCIsIFwiR290aGFtIFNTbSBCXCI7XG4gICAgbGluZS1oZWlnaHQ6IDEuODtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gICNjb25maWd1cmF0b3JNb2RhbCBhIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbi5wYWdlLXRlbXBsYXRlLXRocmVlLXNob3djYXNlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTsgfVxuXG4udGhyZWUtc2hvd2Nhc2VfX2NvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMDBweDsgfVxuXG4udGhyZWUtc2hvd2Nhc2VfX2ludHJvIHtcbiAgY29sb3I6ICM3ODc4Nzg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWF4LXdpZHRoOiA4MDBweDtcbiAgd2lkdGg6IDkwJTtcbiAgbWFyZ2luOiA2MHB4IGF1dG8gNDBweDsgfVxuICAudGhyZWUtc2hvd2Nhc2VfX2ludHJvIHAge1xuICAgIGZvbnQtc2l6ZTogMS4xMjVlbTtcbiAgICBsaW5lLWhlaWdodDogMjhweDsgfVxuICAudGhyZWUtc2hvd2Nhc2VfX2ludHJvIGgyIHtcbiAgICBjb2xvcjogIzIwNDQ2ODsgfVxuXG4udGhyZWUtc2hvd2Nhc2VfX2NhcmQge1xuICBmbGV4OiAxIDE7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTk4NzVlbSkge1xuICAgIC50aHJlZS1zaG93Y2FzZV9fY2FyZCB7XG4gICAgICBmbGV4LWJhc2lzOiAxMDAlOyB9IH1cbiAgLnRocmVlLXNob3djYXNlX19jYXJkX19pbWFnZS13cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZThlOGU4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDI1NXB4OyB9XG4gICAgLnRocmVlLXNob3djYXNlX19jYXJkX19pbWFnZS13cmFwcGVyIGltZyB7XG4gICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlOGU4ZTg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwOyB9XG4gICAgICAudGhyZWUtc2hvd2Nhc2VfX2NhcmRfX2ltYWdlLXdyYXBwZXIgaW1nOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBvcGFjaXR5OiAxOyB9XG4gIC50aHJlZS1zaG93Y2FzZV9fY2FyZF9fZ2FsbGVyeSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgZ2FwOiA2cHggNXB4O1xuICAgIG1hcmdpbjogMTBweCAxMHB4IDIwcHg7IH1cbiAgICAudGhyZWUtc2hvd2Nhc2VfX2NhcmRfX2dhbGxlcnkgaW1nIHtcbiAgICAgIHdpZHRoOiBjYWxjKDIwJSAtIDRweCk7XG4gICAgICBoZWlnaHQ6IDQycHg7XG4gICAgICBvYmplY3QtZml0OiBjb250YWluOyB9XG4gICAgICAudGhyZWUtc2hvd2Nhc2VfX2NhcmRfX2dhbGxlcnkgaW1nLmFjdGl2ZSB7XG4gICAgICAgIGhlaWdodDogNDZweDtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgIzIwNDQ2ODsgfVxuICAudGhyZWUtc2hvd2Nhc2VfX2NhcmRfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDEuODc1ZW07XG4gICAgY29sb3I6ICMyMzRhNzE7XG4gICAgbWFyZ2luOiAwIDI0cHggMTVweDsgfVxuICAudGhyZWUtc2hvd2Nhc2VfX2NhcmRfX3RleHQge1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgIG1hcmdpbjogMCAyNHB4IDQ1cHg7XG4gICAgZm9udC1zaXplOiAwLjgxMjVlbTsgfVxuICAudGhyZWUtc2hvd2Nhc2VfX2NhcmQgPiAuYnRuIHtcbiAgICBtYXJnaW46IGF1dG8gMjRweCAwOyB9XG4gICAgLnRocmVlLXNob3djYXNlX19jYXJkID4gLmJ0bi5idG4tLWN1c3RvbWl6ZSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgICAgY29sb3I6ICNiMjA5Mzk7XG4gICAgICBmb250LXNpemU6IDAuNjI1ZW07XG4gICAgICBsaW5lLWhlaWdodDogMjNweDtcbiAgICAgIGxlZnQ6IDE0cHg7XG4gICAgICB0b3A6IDE0cHg7XG4gICAgICBwYWRkaW5nOiAzLjVweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDdweDsgfVxuICAgICAgLnRocmVlLXNob3djYXNlX19jYXJkID4gLmJ0bi5idG4tLWN1c3RvbWl6ZSBzcGFuIHtcbiAgICAgICAgY29sb3I6ICNiMjA5Mzk7XG4gICAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIzcHg7IH1cblxuLmZyb250LWhlcm8ge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvZGVtby9oZXJvLWJnLWZvdW5kYXRpb24tNi1zbWFsbC5zdmdcIikgYm90dG9tIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tO1xuICBwYWRkaW5nOiA0LjA2MjVyZW0gMDtcbiAgbWFyZ2luOiAwIDAgMnJlbTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmZyb250LWhlcm8gLm1hcmtldGluZyB7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICBtYXgtd2lkdGg6IDU1cmVtO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZnJvbnQtaGVybyAubWFya2V0aW5nIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZyb250LWhlcm8ge1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2RlbW8vaGVyby1iZy1mb3VuZGF0aW9uLTYtbGFyZ2Uuc3ZnXCIpIGJvdHRvbSBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgaGVpZ2h0OiA0Mi44MTI1cmVtO1xuICAgICAgbWFyZ2luOiAwIDAgNC41cmVtOyB9IH1cbiAgLmZyb250LWhlcm8gLndhdGNoIHtcbiAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjI1cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZnJvbnQtaGVybyAud2F0Y2gge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLmZyb250LWhlcm8gLndhdGNoIGEge1xuICAgICAgY29sb3I6ICNCNEM5RDE7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxLjI1cmVtOyB9XG4gICAgLmZyb250LWhlcm8gLndhdGNoIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAuZnJvbnQtaGVybyAud2F0Y2ggI3N0YXJnYXplcnMgOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZjA5YlwiO1xuICAgICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgICAgIGNvbG9yOiAjQjRDOUQxO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH1cbiAgICAuZnJvbnQtaGVybyAud2F0Y2ggI3R3aXR0ZXIgOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZjA5OVwiO1xuICAgICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgICAgIGNvbG9yOiAjQjRDOUQxO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH1cbiAgLmZyb250LWhlcm8gLnRhZ2xpbmUge1xuICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5mcm9udC1oZXJvIC50YWdsaW5lIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy10b3A6IDZyZW07IH0gfVxuICAuZnJvbnQtaGVybyBoMSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDIuMnJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZnJvbnQtaGVybyBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi44NzVyZW07IH0gfVxuICAuZnJvbnQtaGVybyBoNCB7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXNpemU6IDEuMzEyNXJlbTsgfVxuICAuZnJvbnQtaGVybyAuZG93bmxvYWQge1xuICAgIG1hcmdpbi10b3A6IDEuMjVyZW07IH1cblxuLmludHJvIHtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIG1heC13aWR0aDogNzYuMjVyZW07XG4gIG1hcmdpbjogMCBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmludHJvIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLmludHJvIC5mcC1pbnRybyB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5pbnRybyAuZnAtaW50cm8ge1xuICAgICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDAuNjI1cmVtKTsgfVxuICAgICAgICAuaW50cm8gLmZwLWludHJvIGgyIHtcbiAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfVxuICAgICAgICAuaW50cm8gLmZwLWludHJvIGg0IHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICAgICAgY29sb3I6ICM3Nzc7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfSB9XG5cbi5zZWN0aW9uLWRpdmlkZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgbWF4LXdpZHRoOiA3Ni4yNXJlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc2VjdGlvbi1kaXZpZGVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLnNlY3Rpb24tZGl2aWRlciBociB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLmJlbmVmaXRzIHtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIG1heC13aWR0aDogNzYuMjVyZW07XG4gIG1hcmdpbjogMCBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYmVuZWZpdHMge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuYmVuZWZpdHMgaGVhZGVyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07IH1cbiAgICAuYmVuZWZpdHMgaGVhZGVyIGgyIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH1cbiAgICAuYmVuZWZpdHMgaGVhZGVyIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgY29sb3I6ICM3Nzc7IH1cbiAgLmJlbmVmaXRzIC5zZW1hbnRpYyxcbiAgLmJlbmVmaXRzIC5yZXNwb25zaXZlLFxuICAuYmVuZWZpdHMgLmN1c3RvbWl6YWJsZSxcbiAgLmJlbmVmaXRzIC5wcm9mZXNzaW9uYWwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuYmVuZWZpdHMgLnNlbWFudGljLFxuICAgICAgLmJlbmVmaXRzIC5yZXNwb25zaXZlLFxuICAgICAgLmJlbmVmaXRzIC5jdXN0b21pemFibGUsXG4gICAgICAuYmVuZWZpdHMgLnByb2Zlc3Npb25hbCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5iZW5lZml0cyAuc2VtYW50aWMgaW1nLFxuICAgIC5iZW5lZml0cyAucmVzcG9uc2l2ZSBpbWcsXG4gICAgLmJlbmVmaXRzIC5jdXN0b21pemFibGUgaW1nLFxuICAgIC5iZW5lZml0cyAucHJvZmVzc2lvbmFsIGltZyB7XG4gICAgICBwYWRkaW5nOiAxLjI1cmVtO1xuICAgICAgbWFyZ2luOiAxcmVtIGF1dG8gMCBhdXRvOyB9XG4gICAgLmJlbmVmaXRzIC5zZW1hbnRpYyBoMyxcbiAgICAuYmVuZWZpdHMgLnJlc3BvbnNpdmUgaDMsXG4gICAgLmJlbmVmaXRzIC5jdXN0b21pemFibGUgaDMsXG4gICAgLmJlbmVmaXRzIC5wcm9mZXNzaW9uYWwgaDMge1xuICAgICAgY29sb3I6ICMwYTBhMGE7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgZm9udC1zaXplOiAxLjc1cmVtOyB9XG4gICAgLmJlbmVmaXRzIC5zZW1hbnRpYyBwLFxuICAgIC5iZW5lZml0cyAucmVzcG9uc2l2ZSBwLFxuICAgIC5iZW5lZml0cyAuY3VzdG9taXphYmxlIHAsXG4gICAgLmJlbmVmaXRzIC5wcm9mZXNzaW9uYWwgcCB7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAuYmVuZWZpdHMgLndoeS1mb3VuZGF0aW9uIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gICAgbWFyZ2luLXRvcDogNHJlbTsgfVxuXG4ua2l0Y2hlbi1zaW5rLWhlYWRlciB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9XG5cbi5raXRjaGVuLXNpbmstY29tcG9uZW50cyB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIC5raXRjaGVuLXNpbmstY29tcG9uZW50cyBociB7XG4gICAgbWFyZ2luOiAzcmVtIDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAua2l0Y2hlbi1zaW5rLWNvbXBvbmVudHMge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cblxuLmtpdGNoZW4tc2luay1uYXYge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmtpdGNoZW4tc2luay1uYXYge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAgIC5raXRjaGVuLXNpbmstbmF2IC5kb2NzLXN1Yi1tZW51IHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAxcmVtOyB9XG4gICAgICAua2l0Y2hlbi1zaW5rLW5hdiAuZG9jcy1tZW51LXRpdGxlIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICBjb2xvcjogIzc4Nzg3ODtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzc4Nzg3ODtcbiAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgICAgcGFkZGluZy10b3A6IDEuNXJlbTsgfVxuICAgICAgLmtpdGNoZW4tc2luay1uYXYgLmRvY3MtdG9jIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNHJlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMXJlbTsgfVxuICAgICAgLmtpdGNoZW4tc2luay1uYXYgLmRvY3MtdG9jIC5hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMjE5OWU4O1xuICAgICAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAgIC5raXRjaGVuLXNpbmstbmF2IC5kb2NzLXRvYyAuZG9jcy1zdWItbWVudTpmaXJzdC1jaGlsZCAuZG9jcy1tZW51LXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7IH0gfVxuXG4ua2l0Y2hlbi1zaW5rLWdyaWQgLmdyaWQteCB7XG4gIGJhY2tncm91bmQ6ICNkNmVjZmE7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDJyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfVxuICAua2l0Y2hlbi1zaW5rLWdyaWQgLmdyaWQteCAuY2VsbCwgLmtpdGNoZW4tc2luay1ncmlkIC5ncmlkLXggOm50aC1jaGlsZChvZGQpIHtcbiAgICBiYWNrZ3JvdW5kOiAjN2JjMWVmO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5raXRjaGVuLXNpbmstZ3JpZCAuZ3JpZC14IC5jZWxsOm50aC1jaGlsZChldmVuKSB7XG4gICAgYmFja2dyb3VuZDogIzE3NzliYTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4vKiFcbiAqICBGb250IEF3ZXNvbWUgNC43LjAgYnkgQGRhdmVnYW5keSAtIGh0dHA6Ly9mb250YXdlc29tZS5pbyAtIEBmb250YXdlc29tZVxuICogIExpY2Vuc2UgLSBodHRwOi8vZm9udGF3ZXNvbWUuaW8vbGljZW5zZSAoRm9udDogU0lMIE9GTCAxLjEsIENTUzogTUlUIExpY2Vuc2UpXG4gKi9cbi8qIEZPTlQgUEFUSFxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ZvbnRBd2Vzb21lJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9mb250YXdlc29tZS13ZWJmb250LmVvdD92PTQuNy4wXCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2ZvbnRhd2Vzb21lLXdlYmZvbnQuZW90PyNpZWZpeCZ2PTQuNy4wXCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy9mb250YXdlc29tZS13ZWJmb250LndvZmYyP3Y9NC43LjBcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL2ZvbnRhd2Vzb21lLXdlYmZvbnQud29mZj92PTQuNy4wXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL2ZvbnRhd2Vzb21lLXdlYmZvbnQudHRmP3Y9NC43LjBcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzL2ZvbnRhd2Vzb21lLXdlYmZvbnQuc3ZnP3Y9NC43LjAjZm9udGF3ZXNvbWVyZWd1bGFyXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbi5mYSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgMTRweC8xIEZvbnRBd2Vzb21lO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIHRleHQtcmVuZGVyaW5nOiBhdXRvO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG4vKiBtYWtlcyB0aGUgZm9udCAzMyUgbGFyZ2VyIHJlbGF0aXZlIHRvIHRoZSBpY29uIGNvbnRhaW5lciAqL1xuLmZhLWxnIHtcbiAgZm9udC1zaXplOiAxLjMzMzMzZW07XG4gIGxpbmUtaGVpZ2h0OiAwLjc1ZW07XG4gIHZlcnRpY2FsLWFsaWduOiAtMTUlOyB9XG5cbi5mYS0yeCB7XG4gIGZvbnQtc2l6ZTogMmVtOyB9XG5cbi5mYS0zeCB7XG4gIGZvbnQtc2l6ZTogM2VtOyB9XG5cbi5mYS00eCB7XG4gIGZvbnQtc2l6ZTogNGVtOyB9XG5cbi5mYS01eCB7XG4gIGZvbnQtc2l6ZTogNWVtOyB9XG5cbi5mYS1mdyB7XG4gIHdpZHRoOiAxLjI4NTcxZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uZmEtdWwge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAyLjE0Mjg2ZW07XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAuZmEtdWwgPiBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5mYS1saSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTIuMTQyODZlbTtcbiAgd2lkdGg6IDIuMTQyODZlbTtcbiAgdG9wOiAwLjE0Mjg2ZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZmEtbGkuZmEtbGcge1xuICAgIGxlZnQ6IC0xLjg1NzE0ZW07IH1cblxuLmZhLWJvcmRlciB7XG4gIHBhZGRpbmc6IC4yZW0gLjI1ZW0gLjE1ZW07XG4gIGJvcmRlcjogc29saWQgMC4wOGVtICNlZWU7XG4gIGJvcmRlci1yYWRpdXM6IC4xZW07IH1cblxuLmZhLXB1bGwtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5mYS1wdWxsLXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5mYS5mYS1wdWxsLWxlZnQge1xuICBtYXJnaW4tcmlnaHQ6IC4zZW07IH1cblxuLmZhLmZhLXB1bGwtcmlnaHQge1xuICBtYXJnaW4tbGVmdDogLjNlbTsgfVxuXG4vKiBEZXByZWNhdGVkIGFzIG9mIDQuNC4wICovXG4ucHVsbC1yaWdodCB7XG4gIGZsb2F0OiByaWdodDsgfVxuXG4ucHVsbC1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLmZhLnB1bGwtbGVmdCB7XG4gIG1hcmdpbi1yaWdodDogLjNlbTsgfVxuXG4uZmEucHVsbC1yaWdodCB7XG4gIG1hcmdpbi1sZWZ0OiAuM2VtOyB9XG5cbi5mYS1zcGluIHtcbiAgLXdlYmtpdC1hbmltYXRpb246IGZhLXNwaW4gMnMgaW5maW5pdGUgbGluZWFyO1xuICBhbmltYXRpb246IGZhLXNwaW4gMnMgaW5maW5pdGUgbGluZWFyOyB9XG5cbi5mYS1wdWxzZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBmYS1zcGluIDFzIGluZmluaXRlIHN0ZXBzKDgpO1xuICBhbmltYXRpb246IGZhLXNwaW4gMXMgaW5maW5pdGUgc3RlcHMoOCk7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhLXNwaW4ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmEtc3BpbiB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpOyB9IH1cblxuLmZhLXJvdGF0ZS05MCB7XG4gIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MSlcIjtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsgfVxuXG4uZmEtcm90YXRlLTE4MCB7XG4gIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MilcIjtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuXG4uZmEtcm90YXRlLTI3MCB7XG4gIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MylcIjtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTsgfVxuXG4uZmEtZmxpcC1ob3Jpem9udGFsIHtcbiAgLW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0wLCBtaXJyb3I9MSlcIjtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoLTEsIDEpO1xuICB0cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTsgfVxuXG4uZmEtZmxpcC12ZXJ0aWNhbCB7XG4gIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MiwgbWlycm9yPTEpXCI7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7IH1cblxuOnJvb3QgLmZhLXJvdGF0ZS05MCxcbjpyb290IC5mYS1yb3RhdGUtMTgwLFxuOnJvb3QgLmZhLXJvdGF0ZS0yNzAsXG46cm9vdCAuZmEtZmxpcC1ob3Jpem9udGFsLFxuOnJvb3QgLmZhLWZsaXAtdmVydGljYWwge1xuICBmaWx0ZXI6IG5vbmU7IH1cblxuLmZhLXN0YWNrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAyZW07XG4gIGhlaWdodDogMmVtO1xuICBsaW5lLWhlaWdodDogMmVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi5mYS1zdGFjay0xeCwgLmZhLXN0YWNrLTJ4IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5mYS1zdGFjay0xeCB7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbi5mYS1zdGFjay0yeCB7XG4gIGZvbnQtc2l6ZTogMmVtOyB9XG5cbi5mYS1pbnZlcnNlIHtcbiAgY29sb3I6ICNmZmY7IH1cblxuLyogRm9udCBBd2Vzb21lIHVzZXMgdGhlIFVuaWNvZGUgUHJpdmF0ZSBVc2UgQXJlYSAoUFVBKSB0byBlbnN1cmUgc2NyZWVuXG4gICByZWFkZXJzIGRvIG5vdCByZWFkIG9mZiByYW5kb20gY2hhcmFjdGVycyB0aGF0IHJlcHJlc2VudCBpY29ucyAqL1xuLmZhLWdsYXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CAXCI7IH1cblxuLmZhLW11c2ljOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CBXCI7IH1cblxuLmZhLXNlYXJjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+AglwiOyB9XG5cbi5mYS1lbnZlbG9wZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CDXCI7IH1cblxuLmZhLWhlYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CEXCI7IH1cblxuLmZhLXN0YXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgIVcIjsgfVxuXG4uZmEtc3Rhci1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CGXCI7IH1cblxuLmZhLXVzZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgIdcIjsgfVxuXG4uZmEtZmlsbTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+AiFwiOyB9XG5cbi5mYS10aC1sYXJnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+AiVwiOyB9XG5cbi5mYS10aDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+AilwiOyB9XG5cbi5mYS10aC1saXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CLXCI7IH1cblxuLmZhLWNoZWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CMXCI7IH1cblxuLmZhLXJlbW92ZTpiZWZvcmUsXG4uZmEtY2xvc2U6YmVmb3JlLFxuLmZhLXRpbWVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CNXCI7IH1cblxuLmZhLXNlYXJjaC1wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74COXCI7IH1cblxuLmZhLXNlYXJjaC1taW51czpiZWZvcmUge1xuICBjb250ZW50OiBcIu+AkFwiOyB9XG5cbi5mYS1wb3dlci1vZmY6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgJFcIjsgfVxuXG4uZmEtc2lnbmFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CSXCI7IH1cblxuLmZhLWdlYXI6YmVmb3JlLFxuLmZhLWNvZzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Ak1wiOyB9XG5cbi5mYS10cmFzaC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CUXCI7IH1cblxuLmZhLWhvbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgJVcIjsgfVxuXG4uZmEtZmlsZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CWXCI7IH1cblxuLmZhLWNsb2NrLW86YmVmb3JlIHtcbiAgY29udGVudDogXCLvgJdcIjsgfVxuXG4uZmEtcm9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+AmFwiOyB9XG5cbi5mYS1kb3dubG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+AmVwiOyB9XG5cbi5mYS1hcnJvdy1jaXJjbGUtby1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CaXCI7IH1cblxuLmZhLWFycm93LWNpcmNsZS1vLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CbXCI7IH1cblxuLmZhLWluYm94OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CcXCI7IH1cblxuLmZhLXBsYXktY2lyY2xlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCLvgJ1cIjsgfVxuXG4uZmEtcm90YXRlLXJpZ2h0OmJlZm9yZSxcbi5mYS1yZXBlYXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgJ5cIjsgfVxuXG4uZmEtcmVmcmVzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+AoVwiOyB9XG5cbi5mYS1saXN0LWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+AolwiOyB9XG5cbi5mYS1sb2NrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CjXCI7IH1cblxuLmZhLWZsYWc6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgKRcIjsgfVxuXG4uZmEtaGVhZHBob25lczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ApVwiOyB9XG5cbi5mYS12b2x1bWUtb2ZmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CmXCI7IH1cblxuLmZhLXZvbHVtZS1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CnXCI7IH1cblxuLmZhLXZvbHVtZS11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+AqFwiOyB9XG5cbi5mYS1xcmNvZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgKlcIjsgfVxuXG4uZmEtYmFyY29kZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+AqlwiOyB9XG5cbi5mYS10YWc6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgKtcIjsgfVxuXG4uZmEtdGFnczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ArFwiOyB9XG5cbi5mYS1ib29rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CtXCI7IH1cblxuLmZhLWJvb2ttYXJrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CuXCI7IH1cblxuLmZhLXByaW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CvXCI7IH1cblxuLmZhLWNhbWVyYTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+AsFwiOyB9XG5cbi5mYS1mb250OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CxXCI7IH1cblxuLmZhLWJvbGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgLJcIjsgfVxuXG4uZmEtaXRhbGljOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CzXCI7IH1cblxuLmZhLXRleHQtaGVpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74C0XCI7IH1cblxuLmZhLXRleHQtd2lkdGg6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgLVcIjsgfVxuXG4uZmEtYWxpZ24tbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+AtlwiOyB9XG5cbi5mYS1hbGlnbi1jZW50ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgLdcIjsgfVxuXG4uZmEtYWxpZ24tcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgLhcIjsgfVxuXG4uZmEtYWxpZ24tanVzdGlmeTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+AuVwiOyB9XG5cbi5mYS1saXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74C6XCI7IH1cblxuLmZhLWRlZGVudDpiZWZvcmUsXG4uZmEtb3V0ZGVudDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Au1wiOyB9XG5cbi5mYS1pbmRlbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgLxcIjsgfVxuXG4uZmEtdmlkZW8tY2FtZXJhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74C9XCI7IH1cblxuLmZhLXBob3RvOmJlZm9yZSxcbi5mYS1pbWFnZTpiZWZvcmUsXG4uZmEtcGljdHVyZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74C+XCI7IH1cblxuLmZhLXBlbmNpbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BgFwiOyB9XG5cbi5mYS1tYXAtbWFya2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GBXCI7IH1cblxuLmZhLWFkanVzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BglwiOyB9XG5cbi5mYS10aW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GDXCI7IH1cblxuLmZhLWVkaXQ6YmVmb3JlLFxuLmZhLXBlbmNpbC1zcXVhcmUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BhFwiOyB9XG5cbi5mYS1zaGFyZS1zcXVhcmUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BhVwiOyB9XG5cbi5mYS1jaGVjay1zcXVhcmUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BhlwiOyB9XG5cbi5mYS1hcnJvd3M6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgYdcIjsgfVxuXG4uZmEtc3RlcC1iYWNrd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BiFwiOyB9XG5cbi5mYS1mYXN0LWJhY2t3YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GJXCI7IH1cblxuLmZhLWJhY2t3YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GKXCI7IH1cblxuLmZhLXBsYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgYtcIjsgfVxuXG4uZmEtcGF1c2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgYxcIjsgfVxuXG4uZmEtc3RvcDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BjVwiOyB9XG5cbi5mYS1mb3J3YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GOXCI7IH1cblxuLmZhLWZhc3QtZm9yd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BkFwiOyB9XG5cbi5mYS1zdGVwLWZvcndhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgZFcIjsgfVxuXG4uZmEtZWplY3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgZJcIjsgfVxuXG4uZmEtY2hldnJvbi1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GTXCI7IH1cblxuLmZhLWNoZXZyb24tcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgZRcIjsgfVxuXG4uZmEtcGx1cy1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgZVcIjsgfVxuXG4uZmEtbWludXMtY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GWXCI7IH1cblxuLmZhLXRpbWVzLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Bl1wiOyB9XG5cbi5mYS1jaGVjay1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgZhcIjsgfVxuXG4uZmEtcXVlc3Rpb24tY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GZXCI7IH1cblxuLmZhLWluZm8tY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GaXCI7IH1cblxuLmZhLWNyb3NzaGFpcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgZtcIjsgfVxuXG4uZmEtdGltZXMtY2lyY2xlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCLvgZxcIjsgfVxuXG4uZmEtY2hlY2stY2lyY2xlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCLvgZ1cIjsgfVxuXG4uZmEtYmFuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GeXCI7IH1cblxuLmZhLWFycm93LWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgaBcIjsgfVxuXG4uZmEtYXJyb3ctcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgaFcIjsgfVxuXG4uZmEtYXJyb3ctdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgaJcIjsgfVxuXG4uZmEtYXJyb3ctZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Bo1wiOyB9XG5cbi5mYS1tYWlsLWZvcndhcmQ6YmVmb3JlLFxuLmZhLXNoYXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GkXCI7IH1cblxuLmZhLWV4cGFuZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BpVwiOyB9XG5cbi5mYS1jb21wcmVzczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BplwiOyB9XG5cbi5mYS1wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GnXCI7IH1cblxuLmZhLW1pbnVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GoXCI7IH1cblxuLmZhLWFzdGVyaXNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GpXCI7IH1cblxuLmZhLWV4Y2xhbWF0aW9uLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BqlwiOyB9XG5cbi5mYS1naWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GrXCI7IH1cblxuLmZhLWxlYWY6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgaxcIjsgfVxuXG4uZmEtZmlyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BrVwiOyB9XG5cbi5mYS1leWU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvga5cIjsgfVxuXG4uZmEtZXllLXNsYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GwXCI7IH1cblxuLmZhLXdhcm5pbmc6YmVmb3JlLFxuLmZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GxXCI7IH1cblxuLmZhLXBsYW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GyXCI7IH1cblxuLmZhLWNhbGVuZGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GzXCI7IH1cblxuLmZhLXJhbmRvbTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BtFwiOyB9XG5cbi5mYS1jb21tZW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74G1XCI7IH1cblxuLmZhLW1hZ25ldDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BtlwiOyB9XG5cbi5mYS1jaGV2cm9uLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74G3XCI7IH1cblxuLmZhLWNoZXZyb24tZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BuFwiOyB9XG5cbi5mYS1yZXR3ZWV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74G5XCI7IH1cblxuLmZhLXNob3BwaW5nLWNhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgbpcIjsgfVxuXG4uZmEtZm9sZGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74G7XCI7IH1cblxuLmZhLWZvbGRlci1vcGVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74G8XCI7IH1cblxuLmZhLWFycm93cy12OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74G9XCI7IH1cblxuLmZhLWFycm93cy1oOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74G+XCI7IH1cblxuLmZhLWJhci1jaGFydC1vOmJlZm9yZSxcbi5mYS1iYXItY2hhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgoBcIjsgfVxuXG4uZmEtdHdpdHRlci1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgoFcIjsgfVxuXG4uZmEtZmFjZWJvb2stc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74KCXCI7IH1cblxuLmZhLWNhbWVyYS1yZXRybzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Cg1wiOyB9XG5cbi5mYS1rZXk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgoRcIjsgfVxuXG4uZmEtZ2VhcnM6YmVmb3JlLFxuLmZhLWNvZ3M6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgoVcIjsgfVxuXG4uZmEtY29tbWVudHM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgoZcIjsgfVxuXG4uZmEtdGh1bWJzLW8tdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgodcIjsgfVxuXG4uZmEtdGh1bWJzLW8tZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+CiFwiOyB9XG5cbi5mYS1zdGFyLWhhbGY6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgolcIjsgfVxuXG4uZmEtaGVhcnQtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+CilwiOyB9XG5cbi5mYS1zaWduLW91dDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Ci1wiOyB9XG5cbi5mYS1saW5rZWRpbi1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgoxcIjsgfVxuXG4uZmEtdGh1bWItdGFjazpiZWZvcmUge1xuICBjb250ZW50OiBcIu+CjVwiOyB9XG5cbi5mYS1leHRlcm5hbC1saW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74KOXCI7IH1cblxuLmZhLXNpZ24taW46YmVmb3JlIHtcbiAgY29udGVudDogXCLvgpBcIjsgfVxuXG4uZmEtdHJvcGh5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74KRXCI7IH1cblxuLmZhLWdpdGh1Yi1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgpJcIjsgfVxuXG4uZmEtdXBsb2FkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74KTXCI7IH1cblxuLmZhLWxlbW9uLW86YmVmb3JlIHtcbiAgY29udGVudDogXCLvgpRcIjsgfVxuXG4uZmEtcGhvbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgpVcIjsgfVxuXG4uZmEtc3F1YXJlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCLvgpZcIjsgfVxuXG4uZmEtYm9va21hcmstbzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Cl1wiOyB9XG5cbi5mYS1waG9uZS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgphcIjsgfVxuXG4uZmEtdHdpdHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+CmVwiOyB9XG5cbi5mYS1mYWNlYm9vay1mOmJlZm9yZSxcbi5mYS1mYWNlYm9vazpiZWZvcmUge1xuICBjb250ZW50OiBcIu+CmlwiOyB9XG5cbi5mYS1naXRodWI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgptcIjsgfVxuXG4uZmEtdW5sb2NrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74KcXCI7IH1cblxuLmZhLWNyZWRpdC1jYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74KdXCI7IH1cblxuLmZhLWZlZWQ6YmVmb3JlLFxuLmZhLXJzczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+CnlwiOyB9XG5cbi5mYS1oZGQtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+CoFwiOyB9XG5cbi5mYS1idWxsaG9ybjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+CoVwiOyB9XG5cbi5mYS1iZWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74OzXCI7IH1cblxuLmZhLWNlcnRpZmljYXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74KjXCI7IH1cblxuLmZhLWhhbmQtby1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+CpFwiOyB9XG5cbi5mYS1oYW5kLW8tbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+CpVwiOyB9XG5cbi5mYS1oYW5kLW8tdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgqZcIjsgfVxuXG4uZmEtaGFuZC1vLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCLvgqdcIjsgfVxuXG4uZmEtYXJyb3ctY2lyY2xlLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgqhcIjsgfVxuXG4uZmEtYXJyb3ctY2lyY2xlLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74KpXCI7IH1cblxuLmZhLWFycm93LWNpcmNsZS11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+CqlwiOyB9XG5cbi5mYS1hcnJvdy1jaXJjbGUtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Cq1wiOyB9XG5cbi5mYS1nbG9iZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+CrFwiOyB9XG5cbi5mYS13cmVuY2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgq1cIjsgfVxuXG4uZmEtdGFza3M6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgq5cIjsgfVxuXG4uZmEtZmlsdGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74KwXCI7IH1cblxuLmZhLWJyaWVmY2FzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+CsVwiOyB9XG5cbi5mYS1hcnJvd3MtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74KyXCI7IH1cblxuLmZhLWdyb3VwOmJlZm9yZSxcbi5mYS11c2VyczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DgFwiOyB9XG5cbi5mYS1jaGFpbjpiZWZvcmUsXG4uZmEtbGluazpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DgVwiOyB9XG5cbi5mYS1jbG91ZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DglwiOyB9XG5cbi5mYS1mbGFzazpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Dg1wiOyB9XG5cbi5mYS1jdXQ6YmVmb3JlLFxuLmZhLXNjaXNzb3JzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74OEXCI7IH1cblxuLmZhLWNvcHk6YmVmb3JlLFxuLmZhLWZpbGVzLW86YmVmb3JlIHtcbiAgY29udGVudDogXCLvg4VcIjsgfVxuXG4uZmEtcGFwZXJjbGlwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74OGXCI7IH1cblxuLmZhLXNhdmU6YmVmb3JlLFxuLmZhLWZsb3BweS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74OHXCI7IH1cblxuLmZhLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DiFwiOyB9XG5cbi5mYS1uYXZpY29uOmJlZm9yZSxcbi5mYS1yZW9yZGVyOmJlZm9yZSxcbi5mYS1iYXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74OJXCI7IH1cblxuLmZhLWxpc3QtdWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvg4pcIjsgfVxuXG4uZmEtbGlzdC1vbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Di1wiOyB9XG5cbi5mYS1zdHJpa2V0aHJvdWdoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74OMXCI7IH1cblxuLmZhLXVuZGVybGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DjVwiOyB9XG5cbi5mYS10YWJsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DjlwiOyB9XG5cbi5mYS1tYWdpYzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DkFwiOyB9XG5cbi5mYS10cnVjazpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DkVwiOyB9XG5cbi5mYS1waW50ZXJlc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCLvg5JcIjsgfVxuXG4uZmEtcGludGVyZXN0LXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Dk1wiOyB9XG5cbi5mYS1nb29nbGUtcGx1cy1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvg5RcIjsgfVxuXG4uZmEtZ29vZ2xlLXBsdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvg5VcIjsgfVxuXG4uZmEtbW9uZXk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvg5ZcIjsgfVxuXG4uZmEtY2FyZXQtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Dl1wiOyB9XG5cbi5mYS1jYXJldC11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DmFwiOyB9XG5cbi5mYS1jYXJldC1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74OZXCI7IH1cblxuLmZhLWNhcmV0LXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74OaXCI7IH1cblxuLmZhLWNvbHVtbnM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvg5tcIjsgfVxuXG4uZmEtdW5zb3J0ZWQ6YmVmb3JlLFxuLmZhLXNvcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvg5xcIjsgfVxuXG4uZmEtc29ydC1kb3duOmJlZm9yZSxcbi5mYS1zb3J0LWRlc2M6YmVmb3JlIHtcbiAgY29udGVudDogXCLvg51cIjsgfVxuXG4uZmEtc29ydC11cDpiZWZvcmUsXG4uZmEtc29ydC1hc2M6YmVmb3JlIHtcbiAgY29udGVudDogXCLvg55cIjsgfVxuXG4uZmEtZW52ZWxvcGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvg6BcIjsgfVxuXG4uZmEtbGlua2VkaW46YmVmb3JlIHtcbiAgY29udGVudDogXCLvg6FcIjsgfVxuXG4uZmEtcm90YXRlLWxlZnQ6YmVmb3JlLFxuLmZhLXVuZG86YmVmb3JlIHtcbiAgY29udGVudDogXCLvg6JcIjsgfVxuXG4uZmEtbGVnYWw6YmVmb3JlLFxuLmZhLWdhdmVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74OjXCI7IH1cblxuLmZhLWRhc2hib2FyZDpiZWZvcmUsXG4uZmEtdGFjaG9tZXRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DpFwiOyB9XG5cbi5mYS1jb21tZW50LW86YmVmb3JlIHtcbiAgY29udGVudDogXCLvg6VcIjsgfVxuXG4uZmEtY29tbWVudHMtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DplwiOyB9XG5cbi5mYS1mbGFzaDpiZWZvcmUsXG4uZmEtYm9sdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Dp1wiOyB9XG5cbi5mYS1zaXRlbWFwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74OoXCI7IH1cblxuLmZhLXVtYnJlbGxhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74OpXCI7IH1cblxuLmZhLXBhc3RlOmJlZm9yZSxcbi5mYS1jbGlwYm9hcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvg6pcIjsgfVxuXG4uZmEtbGlnaHRidWxiLW86YmVmb3JlIHtcbiAgY29udGVudDogXCLvg6tcIjsgfVxuXG4uZmEtZXhjaGFuZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvg6xcIjsgfVxuXG4uZmEtY2xvdWQtZG93bmxvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvg61cIjsgfVxuXG4uZmEtY2xvdWQtdXBsb2FkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74OuXCI7IH1cblxuLmZhLXVzZXItbWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvg7BcIjsgfVxuXG4uZmEtc3RldGhvc2NvcGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvg7FcIjsgfVxuXG4uZmEtc3VpdGNhc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvg7JcIjsgfVxuXG4uZmEtYmVsbC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74KiXCI7IH1cblxuLmZhLWNvZmZlZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DtFwiOyB9XG5cbi5mYS1jdXRsZXJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74O1XCI7IH1cblxuLmZhLWZpbGUtdGV4dC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74O2XCI7IH1cblxuLmZhLWJ1aWxkaW5nLW86YmVmb3JlIHtcbiAgY29udGVudDogXCLvg7dcIjsgfVxuXG4uZmEtaG9zcGl0YWwtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DuFwiOyB9XG5cbi5mYS1hbWJ1bGFuY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvg7lcIjsgfVxuXG4uZmEtbWVka2l0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74O6XCI7IH1cblxuLmZhLWZpZ2h0ZXItamV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74O7XCI7IH1cblxuLmZhLWJlZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvg7xcIjsgfVxuXG4uZmEtaC1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvg71cIjsgfVxuXG4uZmEtcGx1cy1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvg75cIjsgfVxuXG4uZmEtYW5nbGUtZG91YmxlLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhIBcIjsgfVxuXG4uZmEtYW5nbGUtZG91YmxlLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74SBXCI7IH1cblxuLmZhLWFuZ2xlLWRvdWJsZS11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+EglwiOyB9XG5cbi5mYS1hbmdsZS1kb3VibGUtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Eg1wiOyB9XG5cbi5mYS1hbmdsZS1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74SEXCI7IH1cblxuLmZhLWFuZ2xlLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74SFXCI7IH1cblxuLmZhLWFuZ2xlLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74SGXCI7IH1cblxuLmZhLWFuZ2xlLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCLvhIdcIjsgfVxuXG4uZmEtZGVza3RvcDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+EiFwiOyB9XG5cbi5mYS1sYXB0b3A6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhIlcIjsgfVxuXG4uZmEtdGFibGV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74SKXCI7IH1cblxuLmZhLW1vYmlsZS1waG9uZTpiZWZvcmUsXG4uZmEtbW9iaWxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74SLXCI7IH1cblxuLmZhLWNpcmNsZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74SMXCI7IH1cblxuLmZhLXF1b3RlLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhI1cIjsgfVxuXG4uZmEtcXVvdGUtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhI5cIjsgfVxuXG4uZmEtc3Bpbm5lcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+EkFwiOyB9XG5cbi5mYS1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhJFcIjsgfVxuXG4uZmEtbWFpbC1yZXBseTpiZWZvcmUsXG4uZmEtcmVwbHk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhJJcIjsgfVxuXG4uZmEtZ2l0aHViLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Ek1wiOyB9XG5cbi5mYS1mb2xkZXItbzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ElFwiOyB9XG5cbi5mYS1mb2xkZXItb3Blbi1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74SVXCI7IH1cblxuLmZhLXNtaWxlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCLvhJhcIjsgfVxuXG4uZmEtZnJvd24tbzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+EmVwiOyB9XG5cbi5mYS1tZWgtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+EmlwiOyB9XG5cbi5mYS1nYW1lcGFkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74SbXCI7IH1cblxuLmZhLWtleWJvYXJkLW86YmVmb3JlIHtcbiAgY29udGVudDogXCLvhJxcIjsgfVxuXG4uZmEtZmxhZy1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74SdXCI7IH1cblxuLmZhLWZsYWctY2hlY2tlcmVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74SeXCI7IH1cblxuLmZhLXRlcm1pbmFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74SgXCI7IH1cblxuLmZhLWNvZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhKFcIjsgfVxuXG4uZmEtbWFpbC1yZXBseS1hbGw6YmVmb3JlLFxuLmZhLXJlcGx5LWFsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+EolwiOyB9XG5cbi5mYS1zdGFyLWhhbGYtZW1wdHk6YmVmb3JlLFxuLmZhLXN0YXItaGFsZi1mdWxsOmJlZm9yZSxcbi5mYS1zdGFyLWhhbGYtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Eo1wiOyB9XG5cbi5mYS1sb2NhdGlvbi1hcnJvdzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+EpFwiOyB9XG5cbi5mYS1jcm9wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74SlXCI7IH1cblxuLmZhLWNvZGUtZm9yazpiZWZvcmUge1xuICBjb250ZW50OiBcIu+EplwiOyB9XG5cbi5mYS11bmxpbms6YmVmb3JlLFxuLmZhLWNoYWluLWJyb2tlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Ep1wiOyB9XG5cbi5mYS1xdWVzdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+EqFwiOyB9XG5cbi5mYS1pbmZvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74SpXCI7IH1cblxuLmZhLWV4Y2xhbWF0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74SqXCI7IH1cblxuLmZhLXN1cGVyc2NyaXB0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74SrXCI7IH1cblxuLmZhLXN1YnNjcmlwdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ErFwiOyB9XG5cbi5mYS1lcmFzZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhK1cIjsgfVxuXG4uZmEtcHV6emxlLXBpZWNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74SuXCI7IH1cblxuLmZhLW1pY3JvcGhvbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhLBcIjsgfVxuXG4uZmEtbWljcm9waG9uZS1zbGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+EsVwiOyB9XG5cbi5mYS1zaGllbGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhLJcIjsgfVxuXG4uZmEtY2FsZW5kYXItbzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Es1wiOyB9XG5cbi5mYS1maXJlLWV4dGluZ3Vpc2hlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+EtFwiOyB9XG5cbi5mYS1yb2NrZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhLVcIjsgfVxuXG4uZmEtbWF4Y2RuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74S2XCI7IH1cblxuLmZhLWNoZXZyb24tY2lyY2xlLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhLdcIjsgfVxuXG4uZmEtY2hldnJvbi1jaXJjbGUtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhLhcIjsgfVxuXG4uZmEtY2hldnJvbi1jaXJjbGUtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhLlcIjsgfVxuXG4uZmEtY2hldnJvbi1jaXJjbGUtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+EulwiOyB9XG5cbi5mYS1odG1sNTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Eu1wiOyB9XG5cbi5mYS1jc3MzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74S8XCI7IH1cblxuLmZhLWFuY2hvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+EvVwiOyB9XG5cbi5mYS11bmxvY2stYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74S+XCI7IH1cblxuLmZhLWJ1bGxzZXllOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WAXCI7IH1cblxuLmZhLWVsbGlwc2lzLWg6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhYFcIjsgfVxuXG4uZmEtZWxsaXBzaXMtdjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FglwiOyB9XG5cbi5mYS1yc3Mtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WDXCI7IH1cblxuLmZhLXBsYXktY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WEXCI7IH1cblxuLmZhLXRpY2tldDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FhVwiOyB9XG5cbi5mYS1taW51cy1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhYZcIjsgfVxuXG4uZmEtbWludXMtc3F1YXJlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCLvhYdcIjsgfVxuXG4uZmEtbGV2ZWwtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhYhcIjsgfVxuXG4uZmEtbGV2ZWwtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FiVwiOyB9XG5cbi5mYS1jaGVjay1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhYpcIjsgfVxuXG4uZmEtcGVuY2lsLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Fi1wiOyB9XG5cbi5mYS1leHRlcm5hbC1saW5rLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FjFwiOyB9XG5cbi5mYS1zaGFyZS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhY1cIjsgfVxuXG4uZmEtY29tcGFzczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FjlwiOyB9XG5cbi5mYS10b2dnbGUtZG93bjpiZWZvcmUsXG4uZmEtY2FyZXQtc3F1YXJlLW8tZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FkFwiOyB9XG5cbi5mYS10b2dnbGUtdXA6YmVmb3JlLFxuLmZhLWNhcmV0LXNxdWFyZS1vLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WRXCI7IH1cblxuLmZhLXRvZ2dsZS1yaWdodDpiZWZvcmUsXG4uZmEtY2FyZXQtc3F1YXJlLW8tcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhZJcIjsgfVxuXG4uZmEtZXVybzpiZWZvcmUsXG4uZmEtZXVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WTXCI7IH1cblxuLmZhLWdicDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FlFwiOyB9XG5cbi5mYS1kb2xsYXI6YmVmb3JlLFxuLmZhLXVzZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FlVwiOyB9XG5cbi5mYS1ydXBlZTpiZWZvcmUsXG4uZmEtaW5yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WWXCI7IH1cblxuLmZhLWNueTpiZWZvcmUsXG4uZmEtcm1iOmJlZm9yZSxcbi5mYS15ZW46YmVmb3JlLFxuLmZhLWpweTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Fl1wiOyB9XG5cbi5mYS1ydWJsZTpiZWZvcmUsXG4uZmEtcm91YmxlOmJlZm9yZSxcbi5mYS1ydWI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhZhcIjsgfVxuXG4uZmEtd29uOmJlZm9yZSxcbi5mYS1rcnc6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhZlcIjsgfVxuXG4uZmEtYml0Y29pbjpiZWZvcmUsXG4uZmEtYnRjOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WaXCI7IH1cblxuLmZhLWZpbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhZtcIjsgfVxuXG4uZmEtZmlsZS10ZXh0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WcXCI7IH1cblxuLmZhLXNvcnQtYWxwaGEtYXNjOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WdXCI7IH1cblxuLmZhLXNvcnQtYWxwaGEtZGVzYzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FnlwiOyB9XG5cbi5mYS1zb3J0LWFtb3VudC1hc2M6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhaBcIjsgfVxuXG4uZmEtc29ydC1hbW91bnQtZGVzYzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FoVwiOyB9XG5cbi5mYS1zb3J0LW51bWVyaWMtYXNjOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WiXCI7IH1cblxuLmZhLXNvcnQtbnVtZXJpYy1kZXNjOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WjXCI7IH1cblxuLmZhLXRodW1icy11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FpFwiOyB9XG5cbi5mYS10aHVtYnMtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FpVwiOyB9XG5cbi5mYS15b3V0dWJlLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FplwiOyB9XG5cbi5mYS15b3V0dWJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WnXCI7IH1cblxuLmZhLXhpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhahcIjsgfVxuXG4uZmEteGluZy1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhalcIjsgfVxuXG4uZmEteW91dHViZS1wbGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WqXCI7IH1cblxuLmZhLWRyb3Bib3g6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhatcIjsgfVxuXG4uZmEtc3RhY2stb3ZlcmZsb3c6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhaxcIjsgfVxuXG4uZmEtaW5zdGFncmFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WtXCI7IH1cblxuLmZhLWZsaWNrcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FrlwiOyB9XG5cbi5mYS1hZG46YmVmb3JlIHtcbiAgY29udGVudDogXCLvhbBcIjsgfVxuXG4uZmEtYml0YnVja2V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WxXCI7IH1cblxuLmZhLWJpdGJ1Y2tldC1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhbJcIjsgfVxuXG4uZmEtdHVtYmxyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WzXCI7IH1cblxuLmZhLXR1bWJsci1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhbRcIjsgfVxuXG4uZmEtbG9uZy1hcnJvdy1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74W1XCI7IH1cblxuLmZhLWxvbmctYXJyb3ctdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhbZcIjsgfVxuXG4uZmEtbG9uZy1hcnJvdy1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74W3XCI7IH1cblxuLmZhLWxvbmctYXJyb3ctcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhbhcIjsgfVxuXG4uZmEtYXBwbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhblcIjsgfVxuXG4uZmEtd2luZG93czpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FulwiOyB9XG5cbi5mYS1hbmRyb2lkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74W7XCI7IH1cblxuLmZhLWxpbnV4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74W8XCI7IH1cblxuLmZhLWRyaWJiYmxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74W9XCI7IH1cblxuLmZhLXNreXBlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74W+XCI7IH1cblxuLmZhLWZvdXJzcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhoBcIjsgfVxuXG4uZmEtdHJlbGxvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74aBXCI7IH1cblxuLmZhLWZlbWFsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+GglwiOyB9XG5cbi5mYS1tYWxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74aDXCI7IH1cblxuLmZhLWdpdHRpcDpiZWZvcmUsXG4uZmEtZ3JhdGlwYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhoRcIjsgfVxuXG4uZmEtc3VuLW86YmVmb3JlIHtcbiAgY29udGVudDogXCLvhoVcIjsgfVxuXG4uZmEtbW9vbi1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74aGXCI7IH1cblxuLmZhLWFyY2hpdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhodcIjsgfVxuXG4uZmEtYnVnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74aIXCI7IH1cblxuLmZhLXZrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74aJXCI7IH1cblxuLmZhLXdlaWJvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74aKXCI7IH1cblxuLmZhLXJlbnJlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Gi1wiOyB9XG5cbi5mYS1wYWdlbGluZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhoxcIjsgfVxuXG4uZmEtc3RhY2stZXhjaGFuZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvho1cIjsgfVxuXG4uZmEtYXJyb3ctY2lyY2xlLW8tcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvho5cIjsgfVxuXG4uZmEtYXJyb3ctY2lyY2xlLW8tbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+GkFwiOyB9XG5cbi5mYS10b2dnbGUtbGVmdDpiZWZvcmUsXG4uZmEtY2FyZXQtc3F1YXJlLW8tbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+GkVwiOyB9XG5cbi5mYS1kb3QtY2lyY2xlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCLvhpJcIjsgfVxuXG4uZmEtd2hlZWxjaGFpcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Gk1wiOyB9XG5cbi5mYS12aW1lby1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhpRcIjsgfVxuXG4uZmEtdHVya2lzaC1saXJhOmJlZm9yZSxcbi5mYS10cnk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhpVcIjsgfVxuXG4uZmEtcGx1cy1zcXVhcmUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+GllwiOyB9XG5cbi5mYS1zcGFjZS1zaHV0dGxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74aXXCI7IH1cblxuLmZhLXNsYWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74aYXCI7IH1cblxuLmZhLWVudmVsb3BlLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+GmVwiOyB9XG5cbi5mYS13b3JkcHJlc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhppcIjsgfVxuXG4uZmEtb3BlbmlkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74abXCI7IH1cblxuLmZhLWluc3RpdHV0aW9uOmJlZm9yZSxcbi5mYS1iYW5rOmJlZm9yZSxcbi5mYS11bml2ZXJzaXR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74acXCI7IH1cblxuLmZhLW1vcnRhci1ib2FyZDpiZWZvcmUsXG4uZmEtZ3JhZHVhdGlvbi1jYXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhp1cIjsgfVxuXG4uZmEteWFob286YmVmb3JlIHtcbiAgY29udGVudDogXCLvhp5cIjsgfVxuXG4uZmEtZ29vZ2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74agXCI7IH1cblxuLmZhLXJlZGRpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+GoVwiOyB9XG5cbi5mYS1yZWRkaXQtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74aiXCI7IH1cblxuLmZhLXN0dW1ibGV1cG9uLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Go1wiOyB9XG5cbi5mYS1zdHVtYmxldXBvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+GpFwiOyB9XG5cbi5mYS1kZWxpY2lvdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhqVcIjsgfVxuXG4uZmEtZGlnZzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+GplwiOyB9XG5cbi5mYS1waWVkLXBpcGVyLXBwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74anXCI7IH1cblxuLmZhLXBpZWQtcGlwZXItYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74aoXCI7IH1cblxuLmZhLWRydXBhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+GqVwiOyB9XG5cbi5mYS1qb29tbGE6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhqpcIjsgfVxuXG4uZmEtbGFuZ3VhZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhqtcIjsgfVxuXG4uZmEtZmF4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74asXCI7IH1cblxuLmZhLWJ1aWxkaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74atXCI7IH1cblxuLmZhLWNoaWxkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74auXCI7IH1cblxuLmZhLXBhdzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+GsFwiOyB9XG5cbi5mYS1zcG9vbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+GsVwiOyB9XG5cbi5mYS1jdWJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74ayXCI7IH1cblxuLmZhLWN1YmVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74azXCI7IH1cblxuLmZhLWJlaGFuY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhrRcIjsgfVxuXG4uZmEtYmVoYW5jZS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhrVcIjsgfVxuXG4uZmEtc3RlYW06YmVmb3JlIHtcbiAgY29udGVudDogXCLvhrZcIjsgfVxuXG4uZmEtc3RlYW0tc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74a3XCI7IH1cblxuLmZhLXJlY3ljbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhrhcIjsgfVxuXG4uZmEtYXV0b21vYmlsZTpiZWZvcmUsXG4uZmEtY2FyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74a5XCI7IH1cblxuLmZhLWNhYjpiZWZvcmUsXG4uZmEtdGF4aTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+GulwiOyB9XG5cbi5mYS10cmVlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74a7XCI7IH1cblxuLmZhLXNwb3RpZnk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhrxcIjsgfVxuXG4uZmEtZGV2aWFudGFydDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+GvVwiOyB9XG5cbi5mYS1zb3VuZGNsb3VkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74a+XCI7IH1cblxuLmZhLWRhdGFiYXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74eAXCI7IH1cblxuLmZhLWZpbGUtcGRmLW86YmVmb3JlIHtcbiAgY29udGVudDogXCLvh4FcIjsgfVxuXG4uZmEtZmlsZS13b3JkLW86YmVmb3JlIHtcbiAgY29udGVudDogXCLvh4JcIjsgfVxuXG4uZmEtZmlsZS1leGNlbC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74eDXCI7IH1cblxuLmZhLWZpbGUtcG93ZXJwb2ludC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74eEXCI7IH1cblxuLmZhLWZpbGUtcGhvdG8tbzpiZWZvcmUsXG4uZmEtZmlsZS1waWN0dXJlLW86YmVmb3JlLFxuLmZhLWZpbGUtaW1hZ2UtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HhVwiOyB9XG5cbi5mYS1maWxlLXppcC1vOmJlZm9yZSxcbi5mYS1maWxlLWFyY2hpdmUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HhlwiOyB9XG5cbi5mYS1maWxlLXNvdW5kLW86YmVmb3JlLFxuLmZhLWZpbGUtYXVkaW8tbzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Hh1wiOyB9XG5cbi5mYS1maWxlLW1vdmllLW86YmVmb3JlLFxuLmZhLWZpbGUtdmlkZW8tbzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HiFwiOyB9XG5cbi5mYS1maWxlLWNvZGUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HiVwiOyB9XG5cbi5mYS12aW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74eKXCI7IH1cblxuLmZhLWNvZGVwZW46YmVmb3JlIHtcbiAgY29udGVudDogXCLvh4tcIjsgfVxuXG4uZmEtanNmaWRkbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh4xcIjsgfVxuXG4uZmEtbGlmZS1ib3V5OmJlZm9yZSxcbi5mYS1saWZlLWJ1b3k6YmVmb3JlLFxuLmZhLWxpZmUtc2F2ZXI6YmVmb3JlLFxuLmZhLXN1cHBvcnQ6YmVmb3JlLFxuLmZhLWxpZmUtcmluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HjVwiOyB9XG5cbi5mYS1jaXJjbGUtby1ub3RjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HjlwiOyB9XG5cbi5mYS1yYTpiZWZvcmUsXG4uZmEtcmVzaXN0YW5jZTpiZWZvcmUsXG4uZmEtcmViZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh5BcIjsgfVxuXG4uZmEtZ2U6YmVmb3JlLFxuLmZhLWVtcGlyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HkVwiOyB9XG5cbi5mYS1naXQtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74eSXCI7IH1cblxuLmZhLWdpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Hk1wiOyB9XG5cbi5mYS15LWNvbWJpbmF0b3Itc3F1YXJlOmJlZm9yZSxcbi5mYS15Yy1zcXVhcmU6YmVmb3JlLFxuLmZhLWhhY2tlci1uZXdzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74eUXCI7IH1cblxuLmZhLXRlbmNlbnQtd2VpYm86YmVmb3JlIHtcbiAgY29udGVudDogXCLvh5VcIjsgfVxuXG4uZmEtcXE6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh5ZcIjsgfVxuXG4uZmEtd2VjaGF0OmJlZm9yZSxcbi5mYS13ZWl4aW46YmVmb3JlIHtcbiAgY29udGVudDogXCLvh5dcIjsgfVxuXG4uZmEtc2VuZDpiZWZvcmUsXG4uZmEtcGFwZXItcGxhbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh5hcIjsgfVxuXG4uZmEtc2VuZC1vOmJlZm9yZSxcbi5mYS1wYXBlci1wbGFuZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74eZXCI7IH1cblxuLmZhLWhpc3Rvcnk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh5pcIjsgfVxuXG4uZmEtY2lyY2xlLXRoaW46YmVmb3JlIHtcbiAgY29udGVudDogXCLvh5tcIjsgfVxuXG4uZmEtaGVhZGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74ecXCI7IH1cblxuLmZhLXBhcmFncmFwaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HnVwiOyB9XG5cbi5mYS1zbGlkZXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74eeXCI7IH1cblxuLmZhLXNoYXJlLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HoFwiOyB9XG5cbi5mYS1zaGFyZS1hbHQtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74ehXCI7IH1cblxuLmZhLWJvbWI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh6JcIjsgfVxuXG4uZmEtc29jY2VyLWJhbGwtbzpiZWZvcmUsXG4uZmEtZnV0Ym9sLW86YmVmb3JlIHtcbiAgY29udGVudDogXCLvh6NcIjsgfVxuXG4uZmEtdHR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74ekXCI7IH1cblxuLmZhLWJpbm9jdWxhcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh6VcIjsgfVxuXG4uZmEtcGx1ZzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HplwiOyB9XG5cbi5mYS1zbGlkZXNoYXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74enXCI7IH1cblxuLmZhLXR3aXRjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HqFwiOyB9XG5cbi5mYS15ZWxwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74epXCI7IH1cblxuLmZhLW5ld3NwYXBlci1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74eqXCI7IH1cblxuLmZhLXdpZmk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh6tcIjsgfVxuXG4uZmEtY2FsY3VsYXRvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HrFwiOyB9XG5cbi5mYS1wYXlwYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh61cIjsgfVxuXG4uZmEtZ29vZ2xlLXdhbGxldDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HrlwiOyB9XG5cbi5mYS1jYy12aXNhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74ewXCI7IH1cblxuLmZhLWNjLW1hc3RlcmNhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh7FcIjsgfVxuXG4uZmEtY2MtZGlzY292ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh7JcIjsgfVxuXG4uZmEtY2MtYW1leDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Hs1wiOyB9XG5cbi5mYS1jYy1wYXlwYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh7RcIjsgfVxuXG4uZmEtY2Mtc3RyaXBlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74e1XCI7IH1cblxuLmZhLWJlbGwtc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh7ZcIjsgfVxuXG4uZmEtYmVsbC1zbGFzaC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74e3XCI7IH1cblxuLmZhLXRyYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74e4XCI7IH1cblxuLmZhLWNvcHlyaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HuVwiOyB9XG5cbi5mYS1hdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HulwiOyB9XG5cbi5mYS1leWVkcm9wcGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74e7XCI7IH1cblxuLmZhLXBhaW50LWJydXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74e8XCI7IH1cblxuLmZhLWJpcnRoZGF5LWNha2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh71cIjsgfVxuXG4uZmEtYXJlYS1jaGFydDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HvlwiOyB9XG5cbi5mYS1waWUtY2hhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLviIBcIjsgfVxuXG4uZmEtbGluZS1jaGFydDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+IgVwiOyB9XG5cbi5mYS1sYXN0Zm06YmVmb3JlIHtcbiAgY29udGVudDogXCLviIJcIjsgfVxuXG4uZmEtbGFzdGZtLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Ig1wiOyB9XG5cbi5mYS10b2dnbGUtb2ZmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74iEXCI7IH1cblxuLmZhLXRvZ2dsZS1vbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+IhVwiOyB9XG5cbi5mYS1iaWN5Y2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74iGXCI7IH1cblxuLmZhLWJ1czpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Ih1wiOyB9XG5cbi5mYS1pb3hob3N0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74iIXCI7IH1cblxuLmZhLWFuZ2VsbGlzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+IiVwiOyB9XG5cbi5mYS1jYzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+IilwiOyB9XG5cbi5mYS1zaGVrZWw6YmVmb3JlLFxuLmZhLXNoZXFlbDpiZWZvcmUsXG4uZmEtaWxzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74iLXCI7IH1cblxuLmZhLW1lYW5wYXRoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74iMXCI7IH1cblxuLmZhLWJ1eXNlbGxhZHM6YmVmb3JlIHtcbiAgY29udGVudDogXCLviI1cIjsgfVxuXG4uZmEtY29ubmVjdGRldmVsb3A6YmVmb3JlIHtcbiAgY29udGVudDogXCLviI5cIjsgfVxuXG4uZmEtZGFzaGN1YmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLviJBcIjsgfVxuXG4uZmEtZm9ydW1iZWU6YmVmb3JlIHtcbiAgY29udGVudDogXCLviJFcIjsgfVxuXG4uZmEtbGVhbnB1YjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+IklwiOyB9XG5cbi5mYS1zZWxsc3k6YmVmb3JlIHtcbiAgY29udGVudDogXCLviJNcIjsgfVxuXG4uZmEtc2hpcnRzaW5idWxrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74iUXCI7IH1cblxuLmZhLXNpbXBseWJ1aWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74iVXCI7IH1cblxuLmZhLXNreWF0bGFzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74iWXCI7IH1cblxuLmZhLWNhcnQtcGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Il1wiOyB9XG5cbi5mYS1jYXJ0LWFycm93LWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCLviJhcIjsgfVxuXG4uZmEtZGlhbW9uZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ImVwiOyB9XG5cbi5mYS1zaGlwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74iaXCI7IH1cblxuLmZhLXVzZXItc2VjcmV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74ibXCI7IH1cblxuLmZhLW1vdG9yY3ljbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLviJxcIjsgfVxuXG4uZmEtc3RyZWV0LXZpZXc6YmVmb3JlIHtcbiAgY29udGVudDogXCLviJ1cIjsgfVxuXG4uZmEtaGVhcnRiZWF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74ieXCI7IH1cblxuLmZhLXZlbnVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74ihXCI7IH1cblxuLmZhLW1hcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCLviKJcIjsgfVxuXG4uZmEtbWVyY3VyeTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Io1wiOyB9XG5cbi5mYS1pbnRlcnNleDpiZWZvcmUsXG4uZmEtdHJhbnNnZW5kZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLviKRcIjsgfVxuXG4uZmEtdHJhbnNnZW5kZXItYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74ilXCI7IH1cblxuLmZhLXZlbnVzLWRvdWJsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+IplwiOyB9XG5cbi5mYS1tYXJzLWRvdWJsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Ip1wiOyB9XG5cbi5mYS12ZW51cy1tYXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74ioXCI7IH1cblxuLmZhLW1hcnMtc3Ryb2tlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74ipXCI7IH1cblxuLmZhLW1hcnMtc3Ryb2tlLXY6YmVmb3JlIHtcbiAgY29udGVudDogXCLviKpcIjsgfVxuXG4uZmEtbWFycy1zdHJva2UtaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Iq1wiOyB9XG5cbi5mYS1uZXV0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLviKxcIjsgfVxuXG4uZmEtZ2VuZGVybGVzczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+IrVwiOyB9XG5cbi5mYS1mYWNlYm9vay1vZmZpY2lhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+IsFwiOyB9XG5cbi5mYS1waW50ZXJlc3QtcDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+IsVwiOyB9XG5cbi5mYS13aGF0c2FwcDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+IslwiOyB9XG5cbi5mYS1zZXJ2ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLviLNcIjsgfVxuXG4uZmEtdXNlci1wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74i0XCI7IH1cblxuLmZhLXVzZXItdGltZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLviLVcIjsgfVxuXG4uZmEtaG90ZWw6YmVmb3JlLFxuLmZhLWJlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ItlwiOyB9XG5cbi5mYS12aWFjb2luOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74i3XCI7IH1cblxuLmZhLXRyYWluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74i4XCI7IH1cblxuLmZhLXN1YndheTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+IuVwiOyB9XG5cbi5mYS1tZWRpdW06YmVmb3JlIHtcbiAgY29udGVudDogXCLviLpcIjsgfVxuXG4uZmEteWM6YmVmb3JlLFxuLmZhLXktY29tYmluYXRvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Iu1wiOyB9XG5cbi5mYS1vcHRpbi1tb25zdGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74i8XCI7IH1cblxuLmZhLW9wZW5jYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74i9XCI7IH1cblxuLmZhLWV4cGVkaXRlZHNzbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+IvlwiOyB9XG5cbi5mYS1iYXR0ZXJ5LTQ6YmVmb3JlLFxuLmZhLWJhdHRlcnk6YmVmb3JlLFxuLmZhLWJhdHRlcnktZnVsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JgFwiOyB9XG5cbi5mYS1iYXR0ZXJ5LTM6YmVmb3JlLFxuLmZhLWJhdHRlcnktdGhyZWUtcXVhcnRlcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCLviYFcIjsgfVxuXG4uZmEtYmF0dGVyeS0yOmJlZm9yZSxcbi5mYS1iYXR0ZXJ5LWhhbGY6YmVmb3JlIHtcbiAgY29udGVudDogXCLviYJcIjsgfVxuXG4uZmEtYmF0dGVyeS0xOmJlZm9yZSxcbi5mYS1iYXR0ZXJ5LXF1YXJ0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLviYNcIjsgfVxuXG4uZmEtYmF0dGVyeS0wOmJlZm9yZSxcbi5mYS1iYXR0ZXJ5LWVtcHR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74mEXCI7IH1cblxuLmZhLW1vdXNlLXBvaW50ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLviYVcIjsgfVxuXG4uZmEtaS1jdXJzb3I6YmVmb3JlIHtcbiAgY29udGVudDogXCLviYZcIjsgfVxuXG4uZmEtb2JqZWN0LWdyb3VwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74mHXCI7IH1cblxuLmZhLW9iamVjdC11bmdyb3VwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74mIXCI7IH1cblxuLmZhLXN0aWNreS1ub3RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74mJXCI7IH1cblxuLmZhLXN0aWNreS1ub3RlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCLviYpcIjsgfVxuXG4uZmEtY2MtamNiOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74mLXCI7IH1cblxuLmZhLWNjLWRpbmVycy1jbHViOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74mMXCI7IH1cblxuLmZhLWNsb25lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74mNXCI7IH1cblxuLmZhLWJhbGFuY2Utc2NhbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLviY5cIjsgfVxuXG4uZmEtaG91cmdsYXNzLW86YmVmb3JlIHtcbiAgY29udGVudDogXCLviZBcIjsgfVxuXG4uZmEtaG91cmdsYXNzLTE6YmVmb3JlLFxuLmZhLWhvdXJnbGFzcy1zdGFydDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JkVwiOyB9XG5cbi5mYS1ob3VyZ2xhc3MtMjpiZWZvcmUsXG4uZmEtaG91cmdsYXNzLWhhbGY6YmVmb3JlIHtcbiAgY29udGVudDogXCLviZJcIjsgfVxuXG4uZmEtaG91cmdsYXNzLTM6YmVmb3JlLFxuLmZhLWhvdXJnbGFzcy1lbmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLviZNcIjsgfVxuXG4uZmEtaG91cmdsYXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74mUXCI7IH1cblxuLmZhLWhhbmQtZ3JhYi1vOmJlZm9yZSxcbi5mYS1oYW5kLXJvY2stbzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JlVwiOyB9XG5cbi5mYS1oYW5kLXN0b3AtbzpiZWZvcmUsXG4uZmEtaGFuZC1wYXBlci1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74mWXCI7IH1cblxuLmZhLWhhbmQtc2Npc3NvcnMtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Jl1wiOyB9XG5cbi5mYS1oYW5kLWxpemFyZC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74mYXCI7IH1cblxuLmZhLWhhbmQtc3BvY2stbzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JmVwiOyB9XG5cbi5mYS1oYW5kLXBvaW50ZXItbzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JmlwiOyB9XG5cbi5mYS1oYW5kLXBlYWNlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCLviZtcIjsgfVxuXG4uZmEtdHJhZGVtYXJrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74mcXCI7IH1cblxuLmZhLXJlZ2lzdGVyZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLviZ1cIjsgfVxuXG4uZmEtY3JlYXRpdmUtY29tbW9uczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JnlwiOyB9XG5cbi5mYS1nZzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JoFwiOyB9XG5cbi5mYS1nZy1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLviaFcIjsgfVxuXG4uZmEtdHJpcGFkdmlzb3I6YmVmb3JlIHtcbiAgY29udGVudDogXCLviaJcIjsgfVxuXG4uZmEtb2Rub2tsYXNzbmlraTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Jo1wiOyB9XG5cbi5mYS1vZG5va2xhc3NuaWtpLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JpFwiOyB9XG5cbi5mYS1nZXQtcG9ja2V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74mlXCI7IH1cblxuLmZhLXdpa2lwZWRpYS13OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74mmXCI7IH1cblxuLmZhLXNhZmFyaTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Jp1wiOyB9XG5cbi5mYS1jaHJvbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCLviahcIjsgfVxuXG4uZmEtZmlyZWZveDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JqVwiOyB9XG5cbi5mYS1vcGVyYTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JqlwiOyB9XG5cbi5mYS1pbnRlcm5ldC1leHBsb3JlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Jq1wiOyB9XG5cbi5mYS10djpiZWZvcmUsXG4uZmEtdGVsZXZpc2lvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JrFwiOyB9XG5cbi5mYS1jb250YW86YmVmb3JlIHtcbiAgY29udGVudDogXCLvia1cIjsgfVxuXG4uZmEtNTAwcHg6YmVmb3JlIHtcbiAgY29udGVudDogXCLvia5cIjsgfVxuXG4uZmEtYW1hem9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74mwXCI7IH1cblxuLmZhLWNhbGVuZGFyLXBsdXMtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JsVwiOyB9XG5cbi5mYS1jYWxlbmRhci1taW51cy1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74myXCI7IH1cblxuLmZhLWNhbGVuZGFyLXRpbWVzLW86YmVmb3JlIHtcbiAgY29udGVudDogXCLvibNcIjsgfVxuXG4uZmEtY2FsZW5kYXItY2hlY2stbzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JtFwiOyB9XG5cbi5mYS1pbmR1c3RyeTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JtVwiOyB9XG5cbi5mYS1tYXAtcGluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74m2XCI7IH1cblxuLmZhLW1hcC1zaWduczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Jt1wiOyB9XG5cbi5mYS1tYXAtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JuFwiOyB9XG5cbi5mYS1tYXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLviblcIjsgfVxuXG4uZmEtY29tbWVudGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JulwiOyB9XG5cbi5mYS1jb21tZW50aW5nLW86YmVmb3JlIHtcbiAgY29udGVudDogXCLvibtcIjsgfVxuXG4uZmEtaG91eno6YmVmb3JlIHtcbiAgY29udGVudDogXCLvibxcIjsgfVxuXG4uZmEtdmltZW86YmVmb3JlIHtcbiAgY29udGVudDogXCLvib1cIjsgfVxuXG4uZmEtYmxhY2stdGllOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74m+XCI7IH1cblxuLmZhLWZvbnRpY29uczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+KgFwiOyB9XG5cbi5mYS1yZWRkaXQtYWxpZW46YmVmb3JlIHtcbiAgY29udGVudDogXCLvioFcIjsgfVxuXG4uZmEtZWRnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+KglwiOyB9XG5cbi5mYS1jcmVkaXQtY2FyZC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvioNcIjsgfVxuXG4uZmEtY29kaWVwaWU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvioRcIjsgfVxuXG4uZmEtbW9keDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+KhVwiOyB9XG5cbi5mYS1mb3J0LWF3ZXNvbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvioZcIjsgfVxuXG4uZmEtdXNiOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qHXCI7IH1cblxuLmZhLXByb2R1Y3QtaHVudDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+KiFwiOyB9XG5cbi5mYS1taXhjbG91ZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+KiVwiOyB9XG5cbi5mYS1zY3JpYmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLviopcIjsgfVxuXG4uZmEtcGF1c2UtY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qLXCI7IH1cblxuLmZhLXBhdXNlLWNpcmNsZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qMXCI7IH1cblxuLmZhLXN0b3AtY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qNXCI7IH1cblxuLmZhLXN0b3AtY2lyY2xlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCLvio5cIjsgfVxuXG4uZmEtc2hvcHBpbmctYmFnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qQXCI7IH1cblxuLmZhLXNob3BwaW5nLWJhc2tldDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+KkVwiOyB9XG5cbi5mYS1oYXNodGFnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qSXCI7IH1cblxuLmZhLWJsdWV0b290aDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Kk1wiOyB9XG5cbi5mYS1ibHVldG9vdGgtYjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+KlFwiOyB9XG5cbi5mYS1wZXJjZW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qVXCI7IH1cblxuLmZhLWdpdGxhYjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+KllwiOyB9XG5cbi5mYS13cGJlZ2lubmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qXXCI7IH1cblxuLmZhLXdwZm9ybXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLviphcIjsgfVxuXG4uZmEtZW52aXJhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qZXCI7IH1cblxuLmZhLXVuaXZlcnNhbC1hY2Nlc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCLvippcIjsgfVxuXG4uZmEtd2hlZWxjaGFpci1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLviptcIjsgfVxuXG4uZmEtcXVlc3Rpb24tY2lyY2xlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCLvipxcIjsgfVxuXG4uZmEtYmxpbmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvip1cIjsgfVxuXG4uZmEtYXVkaW8tZGVzY3JpcHRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCLvip5cIjsgfVxuXG4uZmEtdm9sdW1lLWNvbnRyb2wtcGhvbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLviqBcIjsgfVxuXG4uZmEtYnJhaWxsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+KoVwiOyB9XG5cbi5mYS1hc3Npc3RpdmUtbGlzdGVuaW5nLXN5c3RlbXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLviqJcIjsgfVxuXG4uZmEtYXNsLWludGVycHJldGluZzpiZWZvcmUsXG4uZmEtYW1lcmljYW4tc2lnbi1sYW5ndWFnZS1pbnRlcnByZXRpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCLviqNcIjsgfVxuXG4uZmEtZGVhZm5lc3M6YmVmb3JlLFxuLmZhLWhhcmQtb2YtaGVhcmluZzpiZWZvcmUsXG4uZmEtZGVhZjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+KpFwiOyB9XG5cbi5mYS1nbGlkZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+KpVwiOyB9XG5cbi5mYS1nbGlkZS1nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qmXCI7IH1cblxuLmZhLXNpZ25pbmc6YmVmb3JlLFxuLmZhLXNpZ24tbGFuZ3VhZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLviqdcIjsgfVxuXG4uZmEtbG93LXZpc2lvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+KqFwiOyB9XG5cbi5mYS12aWFkZW86YmVmb3JlIHtcbiAgY29udGVudDogXCLviqlcIjsgfVxuXG4uZmEtdmlhZGVvLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+KqlwiOyB9XG5cbi5mYS1zbmFwY2hhdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Kq1wiOyB9XG5cbi5mYS1zbmFwY2hhdC1naG9zdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+KrFwiOyB9XG5cbi5mYS1zbmFwY2hhdC1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLviq1cIjsgfVxuXG4uZmEtcGllZC1waXBlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+KrlwiOyB9XG5cbi5mYS1maXJzdC1vcmRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+KsFwiOyB9XG5cbi5mYS15b2FzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+KsVwiOyB9XG5cbi5mYS10aGVtZWlzbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvirJcIjsgfVxuXG4uZmEtZ29vZ2xlLXBsdXMtY2lyY2xlOmJlZm9yZSxcbi5mYS1nb29nbGUtcGx1cy1vZmZpY2lhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Ks1wiOyB9XG5cbi5mYS1mYTpiZWZvcmUsXG4uZmEtZm9udC1hd2Vzb21lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74q0XCI7IH1cblxuLmZhLWhhbmRzaGFrZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74q1XCI7IH1cblxuLmZhLWVudmVsb3BlLW9wZW46YmVmb3JlIHtcbiAgY29udGVudDogXCLvirZcIjsgfVxuXG4uZmEtZW52ZWxvcGUtb3Blbi1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74q3XCI7IH1cblxuLmZhLWxpbm9kZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+KuFwiOyB9XG5cbi5mYS1hZGRyZXNzLWJvb2s6YmVmb3JlIHtcbiAgY29udGVudDogXCLvirlcIjsgfVxuXG4uZmEtYWRkcmVzcy1ib29rLW86YmVmb3JlIHtcbiAgY29udGVudDogXCLvirpcIjsgfVxuXG4uZmEtdmNhcmQ6YmVmb3JlLFxuLmZhLWFkZHJlc3MtY2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Ku1wiOyB9XG5cbi5mYS12Y2FyZC1vOmJlZm9yZSxcbi5mYS1hZGRyZXNzLWNhcmQtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+KvFwiOyB9XG5cbi5mYS11c2VyLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+KvVwiOyB9XG5cbi5mYS11c2VyLWNpcmNsZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74q+XCI7IH1cblxuLmZhLXVzZXItbzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+LgFwiOyB9XG5cbi5mYS1pZC1iYWRnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+LgVwiOyB9XG5cbi5mYS1kcml2ZXJzLWxpY2Vuc2U6YmVmb3JlLFxuLmZhLWlkLWNhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvi4JcIjsgfVxuXG4uZmEtZHJpdmVycy1saWNlbnNlLW86YmVmb3JlLFxuLmZhLWlkLWNhcmQtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Lg1wiOyB9XG5cbi5mYS1xdW9yYTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+LhFwiOyB9XG5cbi5mYS1mcmVlLWNvZGUtY2FtcDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+LhVwiOyB9XG5cbi5mYS10ZWxlZ3JhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+LhlwiOyB9XG5cbi5mYS10aGVybW9tZXRlci00OmJlZm9yZSxcbi5mYS10aGVybW9tZXRlcjpiZWZvcmUsXG4uZmEtdGhlcm1vbWV0ZXItZnVsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Lh1wiOyB9XG5cbi5mYS10aGVybW9tZXRlci0zOmJlZm9yZSxcbi5mYS10aGVybW9tZXRlci10aHJlZS1xdWFydGVyczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+LiFwiOyB9XG5cbi5mYS10aGVybW9tZXRlci0yOmJlZm9yZSxcbi5mYS10aGVybW9tZXRlci1oYWxmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74uJXCI7IH1cblxuLmZhLXRoZXJtb21ldGVyLTE6YmVmb3JlLFxuLmZhLXRoZXJtb21ldGVyLXF1YXJ0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvi4pcIjsgfVxuXG4uZmEtdGhlcm1vbWV0ZXItMDpiZWZvcmUsXG4uZmEtdGhlcm1vbWV0ZXItZW1wdHk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvi4tcIjsgfVxuXG4uZmEtc2hvd2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74uMXCI7IH1cblxuLmZhLWJhdGh0dWI6YmVmb3JlLFxuLmZhLXMxNTpiZWZvcmUsXG4uZmEtYmF0aDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+LjVwiOyB9XG5cbi5mYS1wb2RjYXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74uOXCI7IH1cblxuLmZhLXdpbmRvdy1tYXhpbWl6ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+LkFwiOyB9XG5cbi5mYS13aW5kb3ctbWluaW1pemU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvi5FcIjsgfVxuXG4uZmEtd2luZG93LXJlc3RvcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvi5JcIjsgfVxuXG4uZmEtdGltZXMtcmVjdGFuZ2xlOmJlZm9yZSxcbi5mYS13aW5kb3ctY2xvc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvi5NcIjsgfVxuXG4uZmEtdGltZXMtcmVjdGFuZ2xlLW86YmVmb3JlLFxuLmZhLXdpbmRvdy1jbG9zZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74uUXCI7IH1cblxuLmZhLWJhbmRjYW1wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74uVXCI7IH1cblxuLmZhLWdyYXY6YmVmb3JlIHtcbiAgY29udGVudDogXCLvi5ZcIjsgfVxuXG4uZmEtZXRzeTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Ll1wiOyB9XG5cbi5mYS1pbWRiOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74uYXCI7IH1cblxuLmZhLXJhdmVscnk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvi5lcIjsgfVxuXG4uZmEtZWVyY2FzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+LmlwiOyB9XG5cbi5mYS1taWNyb2NoaXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLvi5tcIjsgfVxuXG4uZmEtc25vd2ZsYWtlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCLvi5xcIjsgfVxuXG4uZmEtc3VwZXJwb3dlcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvi51cIjsgfVxuXG4uZmEtd3BleHBsb3JlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+LnlwiOyB9XG5cbi5mYS1tZWV0dXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLvi6BcIjsgfVxuXG4uc3Itb25seSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgYm9yZGVyOiAwOyB9XG5cbi5zci1vbmx5LWZvY3VzYWJsZTphY3RpdmUsIC5zci1vbmx5LWZvY3VzYWJsZTpmb2N1cyB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87IH1cblxuLyogU2xpZGVyICovXG4uc2xpY2stc2xpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5zbGljay1saXN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG4gIC5zbGljay1saXN0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gIC5zbGljay1saXN0LmRyYWdnaW5nIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY3Vyc29yOiBoYW5kOyB9XG5cbi5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxuLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuXG4uc2xpY2stdHJhY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgLnNsaWNrLXRyYWNrOmJlZm9yZSwgLnNsaWNrLXRyYWNrOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5zbGljay10cmFjazphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNsaWNrLWxvYWRpbmcgLnNsaWNrLXRyYWNrIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWNrLXNsaWRlIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBkaXNwbGF5OiBub25lOyB9XG4gIFtkaXI9XCJydGxcIl0gLnNsaWNrLXNsaWRlIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLnNsaWNrLXNsaWRlIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnNsaWNrLXNsaWRlLnNsaWNrLWxvYWRpbmcgaW1nIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5zbGljay1zbGlkZS5kcmFnZ2luZyBpbWcge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIC5zbGljay1pbml0aWFsaXplZCAuc2xpY2stc2xpZGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zbGljay1sb2FkaW5nIC5zbGljay1zbGlkZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5zbGljay12ZXJ0aWNhbCAuc2xpY2stc2xpZGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuXG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuIiwiLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4gKiBWZXJzaW9uIDYuNS4xXG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuXG4vLyBEZXBlbmRlbmNpZXNcbkBpbXBvcnQgJ3ZlbmRvci9ub3JtYWxpemUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL21pc3NpbmctZGVwZW5kZW5jaWVzJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy90cnVlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL2NvbnRhaW4nO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcHVyZ2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVtb3ZlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlcGxhY2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvdG8tbGlzdCc7XG5cbi8vIC0tLSBTZXR0aW5ncyAtLS1cbi8vIGltcG9ydCB5b3VyIG93biBgc2V0dGluZ3NgIGhlcmUgb3Jcbi8vIGltcG9ydCBhbmQgbW9kaWZ5IHRoZSBkZWZhdWx0IHNldHRpbmdzIHRocm91Z2hcbi8vIEBpbXBvcnQgJ3NldHRpbmdzL3NldHRpbmdzJztcblxuLy8gLS0tIENvbXBvbmVudHMgLS0tXG4vLyBVdGlsaXRpZXNcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG4vLyBHbG9iYWwgc3R5bGVzXG5AaW1wb3J0ICdnbG9iYWwnO1xuQGltcG9ydCAnZm9ybXMvZm9ybXMnO1xuQGltcG9ydCAndHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcblxuLy8gR3JpZHNcbkBpbXBvcnQgJ2dyaWQvZ3JpZCc7XG5AaW1wb3J0ICd4eS1ncmlkL3h5LWdyaWQnO1xuLy8gR2VuZXJpYyBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi1ncm91cCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Nsb3NlLWJ1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xhYmVsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3dpdGNoJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUnO1xuLy8gQmFzaWMgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsbG91dCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhcmQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sdGlwJztcblxuLy8gQ29udGFpbmVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZWRpYS1vYmplY3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9vcmJpdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Jlc3BvbnNpdmUtZW1iZWQnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcbi8vIE1lbnUtYmFzZWQgY29udGFpbmVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudS1pY29uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcmlsbGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bi1tZW51JztcblxuLy8gTGF5b3V0IGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb2ZmLWNhbnZhcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3JldmVhbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N0aWNreSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RvcC1iYXInO1xuXG4vLyBIZWxwZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL2Zsb2F0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Zpc2liaWxpdHknO1xuQGltcG9ydCAncHJvdG90eXBlL3Byb3RvdHlwZSc7XG5cblxuQG1peGluIGZvdW5kYXRpb24tZXZlcnl0aGluZyhcbiAgJGZsZXg6IHRydWUsXG4gICRwcm90b3R5cGU6IGZhbHNlXG4pIHtcbiAgQGlmICRmbGV4IHtcbiAgICAkZ2xvYmFsLWZsZXhib3g6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIC8vIEdsb2JhbCBzdHlsZXNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG5cbiAgLy8gR3JpZHNcbiAgQGlmIG5vdCAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgJHh5LWdyaWQge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXM7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEdlbmVyaWMgY29tcG9uZW50c1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuICAvLyBCYXNpYyBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcblxuICAvLyBDb250YWluZXJzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuICAvLyBNZW51LWJhc2VkIGNvbnRhaW5lcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuXG4gIC8vIExheW91dCBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuXG4gIC8vIEhlbHBlcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuICBAaWYgJGZsZXggeyBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlczsgfVxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcbiAgQGlmICRwcm90b3R5cGUgeyBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzOyB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVha3BvaW50c1xuLy8vL1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsYXJnZXN0IG5hbWVkIGJyZWFrcG9pbnQgaW4gd2hpY2ggdG8gaW5jbHVkZSBwcmludCBhcyBhIG1lZGlhIHR5cGVcbi8vLyBAdHlwZSBLZXl3b3JkXG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2UgIWRlZmF1bHQ7XG5cbiQtemYtemVyby1icmVha3BvaW50OiBzbWFsbCAhZGVmYXVsdDtcblxuJC16Zi1icmVha3BvaW50cy1rZXlzOiBtYXAtdG8tbGlzdCgkYnJlYWtwb2ludHMsICdrZXlzJyk7XG5cbkBpZiBudGgobWFwLXZhbHVlcygkYnJlYWtwb2ludHMpLCAxKSAhPSAwIHtcbiAgQGVycm9yICdUaGUgZmlyc3Qga2V5IGluIHRoZSAkYnJlYWtwb2ludHMgbWFwIG11c3QgaGF2ZSBhIHZhbHVlIG9mIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiAwO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gRXZlbnR1YWwgb3V0cHV0XG4gICRzdHI6ICcnO1xuICAvLyBJcyBpdCBhIG5hbWVkIG1lZGlhIHF1ZXJ5P1xuICAkbmFtZWQ6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuICBAZWxzZSBpZiAkYnAgPT0gJ3JldGluYScge1xuICAgIEByZXR1cm4gJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknO1xuICB9XG5cbiAgLy8gVHJ5IHRvIHB1bGwgYSBuYW1lZCBicmVha3BvaW50IG91dCBvZiB0aGUgJGJyZWFrcG9pbnRzIG1hcFxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgICAgICRicC1tYXg6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICB9XG5cbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICAkbmFtZWQ6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgJGJyZWFrcG9pbnRzIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICAvLyBDb252ZXJ0IGFueSBwaXhlbCwgcmVtLCBvciB1bml0bGVzcyB2YWx1ZSB0byBlbVxuICAkYnA6IC16Zi1icC10by1lbSgkYnApO1xuICAvLyBNYXggdmFsdWUgaXMgMC4ycHggdW5kZXIgdGhlIG5leHQgYnJlYWtwb2ludCAoMC4wMiAvIDE2ID0gMC4wMDEyNSkuXG4gIC8vIFVzZSBhIHByZWNpc2lvbiB1bmRlciAxcHggdG8gc3VwcG9ydCBicm93c2VyIHpvb20sIGJ1dCBub3QgdG8gbG93IHRvIGF2b2lkIHJvdW5kaW5nLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTEzMTNcbiAgQGlmICRicC1tYXgge1xuICAgICRicC1tYXg6IC16Zi1icC10by1lbSgkYnAtbWF4KSAtIC4wMDEyNTtcbiAgfVxuXG4gIC8vIENvbmRpdGlvbnMgdG8gc2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvblxuICAvLyAtIEl0J3MgYSBuYW1lZCBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIGRvd25cIiBvciBcIjAgdXBcIlxuICAvLyAtIEl0J3MgYSBudW1lcmljIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgXCIgKyBhbnl0aGluZ1xuICBAaWYgJGJwID4gMGVtIG9yICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBgb25seWAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKSBhbmQgKG1heC13aWR0aDogbilgXG4gICAgQGlmICRkaXIgPT0gJ29ubHknIHtcbiAgICAgIC8vIE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBcIm9ubHlcIiByYW5nZVxuICAgICAgQGlmICRuYW1lZCA9PSB0cnVlIHtcbiAgICAgICAgLy8gT25seSB1c2UgXCJtaW4td2lkdGhcIiBpZiB0aGUgZmxvb3IgaXMgZ3JlYXRlciB0aGFuIDBcbiAgICAgICAgQGlmICRicCA+IDBlbSB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcblxuICAgICAgICAgIC8vIE9ubHkgYWRkIFwiYW5kXCIgdG8gdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgICAkc3RyOiAkc3RyICsgJyBhbmQgJztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPbmx5IHVzZSBcIm1heC13aWR0aFwiIGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skYnAtbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgZG93bmAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWF4LXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkZGlyID09ICdkb3duJyB7XG4gICAgICAkbWF4OiBpZigkbmFtZWQsICRicC1tYXgsICRicCk7XG5cbiAgICAgIC8vIFNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb24gaWYgaW5wdXQgdmFsdWUgaXMgZXhhY3RseSBcIjAgZG93blwiLFxuICAgICAgLy8gdW5sZXNzIHRoZSBmdW5jdGlvbiB3YXMgY2FsbGVkIGFzIFwic21hbGwgZG93blwiLCBpbiB3aGljaCBjYXNlIGl0J3MganVzdCBcInNtYWxsIG9ubHlcIlxuICAgICAgQGlmICRuYW1lZCBvciAkYnAgPiAwZW0ge1xuICAgICAgICBAaWYgJG1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JG1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGB1cGAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkYnAgPiAwZW0ge1xuICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuLy8vXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQgYXMtaXMuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWUpIHtcbiAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xuICAkYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHZhbHVlKTtcbiAgJHBicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkcHJpbnQtYnJlYWtwb2ludCk7XG5cbiAgJG9sZC16Zi1zaXplOiBudWxsO1xuXG4gIC8vIE1ha2UgYnJlYWtwb2ludCBzaXplIGF2YWlsYWJsZSBhcyBhIHZhcmlhYmxlXG4gIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gIH1cbiAgJC16Zi1zaXplOiBudGgoJHZhbHVlLCAxKSAhZ2xvYmFsOyAvLyBnZXQgdGhlIGZpcnN0IHZhbHVlIHRvIGFjY291bnQgZm9yIGBvbmx5YCBhbmQgYGRvd25gIGtleXdvcmRzXG5cbiAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICBAaWYgJHN0ciA9PSAnJyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxuICBAZWxzZSB7XG4gICAgLy8gRm9yIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAkcHJpbnQtYnJlYWtwb2ludCwgYWRkIHByaW50IHRvIHRoZSBtZWRpYSB0eXBlc1xuICAgIEBpZiAkYnAgIT0gbnVsbCBhbmQgJGJwIDw9ICRwYnAge1xuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xufVxuXG4vLy8gQ29udmVydHMgdGhlIGJyZWFrcG9pbnRzIG1hcCB0byBhIFVSTC1lbmNvZGVkIHN0cmluZywgbGlrZSB0aGlzOiBga2V5MT12YWx1ZTEma2V5Mj12YWx1ZTJgLiBUaGUgdmFsdWUgaXMgdGhlbiBkcm9wcGVkIGludG8gdGhlIENTUyBmb3IgYSBzcGVjaWFsIGA8bWV0YT5gIHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0LiBUaGlzIGlzIGhvdyB3ZSB0cmFuc2ZlciB2YWx1ZXMgZnJvbSBTYXNzIHRvIEphdmFTY3JpcHQsIHNvIHRoZXkgY2FuIGJlIGRlZmluZWQgaW4gb25lIHBsYWNlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gY29udmVydC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IEEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG1hcCdzIGNvbnRlbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC1zZXJpYWxpemUoJG1hcCkge1xuICAkc3RyOiAnJztcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICRzdHI6ICRzdHIgKyAka2V5ICsgJz0nICsgLXpmLWJwLXRvLWVtKCR2YWx1ZSkgKyAnJic7XG4gIH1cbiAgJHN0cjogc3RyLXNsaWNlKCRzdHIsIDEsIC0yKTtcblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IGtleSBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3IgdGhlIGtleSBhZnRlciBgJGtleWAsIGlmIGAka2V5YCB3YXMgZm91bmQuIElmIGAka2V5YCB3YXMgbm90IGZvdW5kLCBvciBgJGtleWAgd2FzIHRoZSBsYXN0IHZhbHVlIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dCgkbWFwLCAka2V5KSB7XG5cbiAgLy8gU3RvcmUgdGhlIGtleXMgb2YgdGhlIG1hcCBhcyBhIGxpc3RcbiAgJHZhbHVlczogbWFwLWtleXMoJG1hcCk7XG5cbiAgJGk6IDA7XG5cbiAgLy8gSWYgdGhlIEtleSBFeGlzdHMsIEdldCB0aGUgaW5kZXggb2YgdGhlIGtleSB3aXRoaW4gdGhlIG1hcCBhbmQgYWRkIDEgdG8gaXQgZm9yIHRoZSBuZXh0IGJyZWFrcG9pbnQgaW4gdGhlIG1hcFxuICBAaWYgKG1hcC1oYXMta2V5KCRtYXAsICRrZXkpKSB7XG4gICAgJGk6IGluZGV4KCR2YWx1ZXMsICRrZXkpICsgMTtcbiAgfVxuXG4gIC8vIElmIHRoZSBrZXkgZG9lc24ndCBleGlzdCwgb3IgaXQncyB0aGUgbGFzdCBrZXkgaW4gdGhlIG1hcCwgcmV0dXJuIG51bGxcbiAgQGlmICgkaSA+IGxlbmd0aCgkbWFwKSBvciAkaSA9PSAwKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIHRoZSB2YWx1ZVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsIG50aCgkdmFsdWVzLCAkaSkpO1xuICB9XG5cbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIEtleSB0byB1c2UgYXMgbGFzdCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJGtleSkge1xuICAkbGlzdDogKCk7XG4gICRmb3VuZF9rZXk6IGZhbHNlO1xuXG4gIEBlYWNoICRuYW1lIGluICQtemYtYnJlYWtwb2ludHMta2V5cyB7XG4gICAgQGlmICgkbmFtZSA9PSAka2V5KSB7XG4gICAgICAkZm91bmRfa2V5OiB0cnVlO1xuICAgIH1cbiAgICBAaWYgbm90ICRmb3VuZF9rZXkge1xuICAgICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgJG5hbWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRsaXN0O1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCAtIGEgbmFtZWQgb3Igbm9uLW5hbWVkIGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAkbGFzdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICRmb3VuZDogZmFsc2U7XG5cbiAgJHZhbHVlOiB1bml0bGVzcy1jYWxjKCRicmVha3BvaW50LCAxcHgpO1xuICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgQGlmIHVuaXRsZXNzLWNhbGMoJHZhbCkgPiAkdmFsdWUge1xuICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJGxhc3Q6ICRrZXk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbGFzdDtcbn1cblxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXQgcmVnYXJkbGVzcyBvZiBgJHZhbHVlYC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGhhcyB0aGUga2V5IGAkdmFsdWVgLCB0aGUgZXhhY3QgYnJlYWtwb2ludCB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGRvZXMgKm5vdCogaGF2ZSB0aGUgYnJlYWtwb2ludCwgdGhlIHZhbHVlIG1hdGNoaW5nIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGluIHRoZSBjb25maWcgbWFwIGlzIHJldHVybmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gUmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cbkBmdW5jdGlvbiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkdmFsdWUpIHtcbiAgLy8gSWYgdGhlIGdpdmVuIG1hcCBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0XG4gIEBpZiB0eXBlLW9mKCRtYXApID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICRtYXA7XG4gIH1cblxuXG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAgICR2YWx1ZTogLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcbiAgfVxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXG4gIEBlbHNlIHtcbiAgICAkYW5jaG9yOiBudWxsO1xuICAgICRmb3VuZDogZmFsc2U7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcbiAgfVxufVxuXG4kc21hbGwtdXA6ICcnO1xuJHNtYWxsLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBzbWFsbCkge1xuICAkc21hbGwtdXA6IHNjcmVlbjtcbiAgJHNtYWxsLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIG9ubHkpfScpO1xufVxuXG4kbWVkaXVtLXVwOiAnJztcbiRtZWRpdW0tb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIG1lZGl1bSkge1xuICAkbWVkaXVtLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0pfScpO1xuICAkbWVkaXVtLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBvbmx5KX0nKTtcbn1cblxuJGxhcmdlLXVwOiAnJztcbiRsYXJnZS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbGFyZ2UpIHtcbiAgJGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSl9Jyk7XG4gICRsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHhsYXJnZS11cDogJyc7XG4keGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbiR4eGxhcmdlLXVwOiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeHhsYXJnZSkge1xuICAkeHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeHhsYXJnZSl9Jyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXZlYWxcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2lkdGggb2YgYSBtb2RhbCwgd2l0aCBubyBjbGFzcyBhcHBsaWVkLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC13aWR0aDogNjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1heGltdW0gd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gei1pbmRleCBmb3IgbW9kYWxzLiBUaGUgb3ZlcmxheSB1c2VzIHRoaXMgdmFsdWUsIHdoaWxlIHRoZSBtb2RhbCBpdHNlbGYgdXNlcyB0aGlzIHZhbHVlIHBsdXMgb25lLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC16aW5kZXg6IDEwMDUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIG1vZGFsIG92ZXJsYXlzLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpICFkZWZhdWx0O1xuXG5cbi8vIFBsYWNlaG9sZGVyIHNlbGVjdG9yIGZvciBtZWRpdW0tYW5kLXVwIG1vZGFsc1xuLy8gUHJldmVudHMgZHVwbGljYXRlIENTUyB3aGVuIGRlZmluaW5nIG11bHRpcGxlIFJldmVhbCBzaXplc1xuLy8gVGhpcyBzaG91bGQgYmUgaW4gdGhlIHNhbWUgYnJlYWtwb2ludCB0aGVuIGBAbWl4aW4gcmV2ZWFsLW1vZGFsLXdpZHRoYFxuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgJXJldmVhbC1jZW50ZXJlZCB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxufVxuXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtb2RhbCBvdmVybGF5LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBvdmVybGF5LlxuQG1peGluIHJldmVhbC1vdmVybGF5KCRiYWNrZ3JvdW5kOiAkcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZCkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXg7XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciBhIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleCArIDE7XG4gIC8vIFdvcmthcm91bmQgYW5kcm9pZCBicm93c2VyIHotaW5kZXggYnVnXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcmV2ZWFsLXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkcmV2ZWFsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHJldmVhbC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRyZXZlYWwtYmFja2dyb3VuZDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgcm93cyBkb24ndCBoYXZlIGEgbWluLXdpZHRoIG9uIHRoZW1cbiAgLmNvbHVtbiB7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG5cbiAgLy8gU3RyaXAgbWFyZ2lucyBmcm9tIHRoZSBsYXN0IGl0ZW0gaW4gdGhlIG1vZGFsXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkanVzdHMgdGhlIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCAtIFdpZHRoIG9mIHRoZSBtb2RhbC4gR2VuZXJhbGx5IGEgcGVyY2VudGFnZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heC13aWR0aCBbJHJldmVhbC1tYXgtd2lkdGhdIC0gTWF4aW11bSB3aWR0aCBvZiB0aGUgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLXdpZHRoKFxuICAkd2lkdGg6ICRyZXZlYWwtd2lkdGgsXG4gICRtYXgtd2lkdGg6ICRyZXZlYWwtbWF4LXdpZHRoXG4pIHtcbiAgLy8gRXh0ZW5kcyBtdXN0IGJlIG1hZGUgb3V0c2lkZSBvZiBicmVha3BvaW50cyBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5ld2VyIFNhc3MgdmVyc2lvbnMgKGxpYnNhc3MgdjMuNSlcbiAgQGV4dGVuZCAlcmV2ZWFsLWNlbnRlcmVkO1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC1zY3JlZW4gbW9kYWwsIHdoaWNoIHN0cmV0Y2hlcyB0aGUgZnVsbCB3aWR0aCBhbmQgaGVpZ2h0IG9mIHRoZSB3aW5kb3cuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW4ge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG5cbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBtYXJnaW4tbGVmdDogMDtcblxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJldmVhbCB7XG5cbiAgLy8vIERpc2FibGVzIHRoZSBzY3JvbGwgd2hlbiBSZXZlYWwgaXMgc2hvd24gdG8gcHJldmVudCB0aGUgYmFja2dyb3VuZCBmcm9tIHNoaWZ0aW5nXG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4ge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG5cbiAgICAmLnpmLWhhcy1zY3JvbGwge1xuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIH1cblxuICAgIGJvZHkgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICB9XG4gIH1cblxuICAvLyBPdmVybGF5XG4gIC5yZXZlYWwtb3ZlcmxheSB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW92ZXJsYXk7XG4gIH1cblxuICAvLyBNb2RhbCBjb250YWluZXJcbiAgLnJldmVhbCB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2U7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKCRyZXZlYWwtd2lkdGgpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDEwMHB4O1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgLy8gUmVtb3ZlIHBhZGRpbmdcbiAgICAmLmNvbGxhcHNlIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLy8gU2l6aW5nIGNsYXNzZXNcbiAgICAmLnRpbnkgIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDMwJSk7IH1cbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDUwJSk7IH1cbiAgICAmLmxhcmdlIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDkwJSk7IH1cblxuICAgIC8vIEZ1bGwtc2NyZWVuIG1vZGVcbiAgICAmLmZ1bGwge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICAmLndpdGhvdXQtb3ZlcmxheSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gZm91bmRhdGlvbi1ub3JtYWxpemUoKSB7XG4gIC8qISBub3JtYWxpemUuY3NzIHY4LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuICAvLyBEb2N1bWVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG5cbiAgaHRtbCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDFcbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDJcbiAgfVxuXG4gIC8vIFNlY3Rpb25zXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgLy8gYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cblxuICBoMSB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbWFyZ2luOiAwLjY3ZW0gMDtcbiAgfVxuXG4gIC8vIEdyb3VwaW5nIGNvbnRlbnRcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICAvLyAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cblxuICBociB7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8vIDFcbiAgICBoZWlnaHQ6IDA7IC8vIDFcbiAgICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gMlxuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHByZSB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvLyAxXG4gICAgZm9udC1zaXplOiAxZW07IC8vIDJcbiAgfVxuXG4gIC8vIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuXG4gIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLy8gMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAgLy8gMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cblxuICBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLy8gMVxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvLyAyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvLyAyXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuXG4gIGIsXG4gIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cblxuICBjb2RlLFxuICBrYmQsXG4gIHNhbXAge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLy8gMVxuICAgIGZvbnQtc2l6ZTogMWVtOyAvLyAyXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cblxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiA4MCU7XG4gIH1cblxuICAvLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgLy8gYWxsIGJyb3dzZXJzLlxuXG4gIHN1YixcbiAgc3VwIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cbiAgc3ViIHtcbiAgICBib3R0b206IC0wLjI1ZW07XG4gIH1cblxuICBzdXAge1xuICAgIHRvcDogLTAuNWVtO1xuICB9XG5cbiAgLy8gRW1iZWRkZWQgY29udGVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG5cbiAgaW1nIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIH1cblxuICAvLyBGb3Jtc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG5cbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvLyAxXG4gICAgZm9udC1zaXplOiAxMDAlOyAvLyAxXG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDFcbiAgICBtYXJnaW46IDA7IC8vIDJcbiAgfVxuXG4gIC8vIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAvLyAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuXG4gIGJ1dHRvbixcbiAgaW5wdXQgeyAvLyAxXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgLy8gMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuXG4gIGJ1dHRvbixcbiAgc2VsZWN0IHsgLy8gMVxuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cblxuICBidXR0b24sXG4gIFt0eXBlPVwiYnV0dG9uXCJdLFxuICBbdHlwZT1cInJlc2V0XCJdLFxuICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuXG4gIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cblxuICBidXR0b246LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuXG4gIGZpZWxkc2V0IHtcbiAgICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gIC8vIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgLy8gICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgbGVnZW5kIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gICAgY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgICBkaXNwbGF5OiB0YWJsZTsgLy8gMVxuICAgIG1heC13aWR0aDogMTAwJTsgLy8gMVxuICAgIHBhZGRpbmc6IDA7IC8vIDNcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvLyAxXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuXG4gIHByb2dyZXNzIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cblxuICB0ZXh0YXJlYSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAgLy8gMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuXG4gIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gIFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbiAgICBwYWRkaW5nOiAwOyAvLyAyXG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG5cbiAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG5cbiAgW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyAxXG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8vIDJcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cblxuICBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgLy8gMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuXG4gIDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAxXG4gICAgZm9udDogaW5oZXJpdDsgLy8gMlxuICB9XG5cbiAgLy8gSW50ZXJhY3RpdmVcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuXG4gIGRldGFpbHMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgfVxuXG4gIC8vIE1pc2NcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG5cbiAgdGVtcGxhdGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cblxuICBbaGlkZGVuXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIG5vLWNvbG9yLWxpdGVyYWxzLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4vLy8vXG5cbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vLyBGb250IHNpemUgYXR0cmlidXRlIGFwcGxpZWQgdG8gYDxodG1sPmAgYW5kIGA8Ym9keT5gLiBXZSB1c2UgMTAwJSBieSBkZWZhdWx0IHNvIHRoZSB2YWx1ZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgdXNlcidzIGJyb3dzZXIgc2V0dGluZ3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB3aWR0aCBvZiB5b3VyIHNpdGUuIFVzZWQgYnkgdGhlIGdyaWQgdG8gZGV0ZXJtaW5lIHJvdyB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgYWxsIHR5cGUuIGAkZ2xvYmFsLWxpbmVoZWlnaHRgIGlzIDI0cHggd2hpbGUgYCRnbG9iYWwtZm9udC1zaXplYCBpcyAxNnB4XG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNSAhZGVmYXVsdDtcblxuLy8vIENvbG9ycyB1c2VkIGZvciBidXR0b25zLCBjYWxsb3V0cywgbGlua3MsIGV0Yy4gVGhlcmUgbXVzdCBhbHdheXMgYmUgYSBjb2xvciBjYWxsZWQgYHByaW1hcnlgLlxuLy8vIEB0eXBlIE1hcFxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjMTc3OWJhLFxuICBzZWNvbmRhcnk6ICM3Njc2NzYsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjY2M0YjM3LFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGxpZ2h0IGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsaWdodC1ncmF5OiAjZTZlNmU2ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbWVkaXVtIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZWRpdW0tZ3JheTogI2NhY2FjYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGRhcmsgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRhcmstZ3JheTogIzhhOGE4YSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGJsYWNrIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxhY2s6ICMwYTBhMGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciB3aGl0ZSB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHdoaXRlOiAjZmVmZWZlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBMaXN0XG4kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgYW50aWFsaWFzZWQgdHlwZSwgdXNpbmcgdGhlIGAtd2Via2l0LWZvbnQtc21vb3RoaW5nYCBhbmQgYC1tb3otb3N4LWZvbnQtc21vb3RoaW5nYCBDU1MgcHJvcGVydGllcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBtYXJnaW4gb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBhZGRpbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwb3NpdGlvbmluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wb3NpdGlvbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBub3JtYWwgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBib2xkIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgZWxlbWVudHMgdGhhdCBoYXZlIGEgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcmFkaXVzOiAwICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gQ2FuIGJlIG92ZXJ3cml0dGVuIGF0IGluZGl2aWR1YWwgbWVudSBjb21wb25lbnQgbGV2ZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBOZXN0ZWQgbWFyZ2luIGZvciBzdWJtZW51LlxuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0aGUgQ1NTLiBDYW4gYmUgZWl0aGVyIGBsdHJgIG9yIGBydGxgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBmb3IgY29tcG9uZW50cyB0aGF0IHN1cHBvcnQgaXQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlZCByZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBwcm90b3R5cGVzIGlmIGFwcGxpY2FibGVcbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCdXR0b24gY3Vyc29yJ3MgdmFsdWUsIGBhdXRvYCBieSBkZWZhdWx0XG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBhdXRvICFkZWZhdWx0O1xuXG5AaWYgbm90IG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgQGVycm9yICdJbiAkZm91bmRhdGlvbi1wYWxldHRlLCB5b3UgbXVzdCBoYXZlIGEgY29sb3IgbmFtZWQgXCJwcmltYXJ5XCIuJztcbn1cblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIHRleHQgZGlyZWN0aW9uXG4kZ2xvYmFsLWxlZnQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCByaWdodCwgbGVmdCk7XG4kZ2xvYmFsLXJpZ2h0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgbGVmdCwgcmlnaHQpO1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZSB0aGF0IGNvbnRhaW5zIHRoZSBmbGV4IGp1c3RpZnlpbmcgb3B0aW9uc1xuJC16Zi1mbGV4LWp1c3RpZnk6IC16Zi1mbGV4LWp1c3RpZnkoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbik7XG5cbi8vLyBHbG9iYWwgdG9sZXJhbmNlIGZvciBjb2xvciBwaWNrIGNvbnRyYXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMCAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIGNvbG9yc1xuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzIHtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1ub3JtYWxpemU7XG5cbiAgLy8gVGhlc2Ugc3R5bGVzIGFyZSBhcHBsaWVkIHRvIGEgPG1ldGE+IHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0XG4gIC5mb3VuZGF0aW9uLW1xIHtcbiAgICBmb250LWZhbWlseTogJyN7LXpmLWJwLXNlcmlhbGl6ZSgkYnJlYWtwb2ludHMpfSc7XG4gIH1cblxuICBodG1sIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBTZXQgYm94LXNpemluZyBnbG9iYWxseSB0byBoYW5kbGUgcGFkZGluZyBhbmQgYm9yZGVyIHdpZHRoc1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gRGVmYXVsdCBib2R5IHN0eWxlc1xuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuXG4gICAgQGlmICgkYm9keS1hbnRpYWxpYXNlZCkge1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgLy8gR2V0IHJpZCBvZiBnYXAgdW5kZXIgaW1hZ2VzIGJ5IG1ha2luZyB0aGVtIGRpc3BsYXk6IGlubGluZS1ibG9jazsgYnkgZGVmYXVsdFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgLy8gR3JpZCBkZWZhdWx0cyB0byBnZXQgaW1hZ2VzIGFuZCBlbWJlZHMgdG8gd29yayBwcm9wZXJseVxuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSB0ZXh0YXJlYSB0YWtlcyBvbiBoZWlnaHQgYXV0b21hdGljYWxseVxuICB0ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBNYWtlIHNlbGVjdCBlbGVtZW50cyBhcmUgMTAwJSB3aWR0aCBieSBkZWZhdWx0XG4gIHNlbGVjdCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIFN0eWxlcyBHb29nbGUgTWFwcyBhbmQgTWFwUXVlc3QgZW1iZWRzIHByb3Blcmx5XG4gIC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8taWRzXG4gIC5tYXBfY2FudmFzLFxuICAubXFhLWRpc3BsYXkge1xuICAgIGltZyxcbiAgICBlbWJlZCxcbiAgICBvYmplY3Qge1xuICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgPGJ1dHRvbj4gc3R5bGVzIGNyZWF0ZWQgYnkgbW9zdCBicm93c2Vyc1xuICBidXR0b24ge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGN1cnNvcjogJGdsb2JhbC1idXR0b24tY3Vyc29yO1xuICB9XG5cbiAgLy8gUHJldmVudCB0ZXh0IG92ZXJmbG93IG9uIHByZVxuICBwcmUge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLy8gTWFrZSByZXNldCBpbmhlcml0IGZvbnQtZmFtaWx5IGluc3RlYWQgb2Ygc2V0dGluZ3Mgc2Fucy1zZXJpZlxuICBidXR0b24sXG4gIGlucHV0LFxuICBvcHRncm91cCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBJbnRlcm5hbCBjbGFzc2VzIHRvIHNob3cvaGlkZSBlbGVtZW50cyBpbiBKYXZhU2NyaXB0XG4gIC5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmlzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvLyAgRm91bmRhdGlvblByZXNzIHNldHRpbmdzLlxuLy8gIEJhc2VkIG9uIEZvdW5kYXRpb24gZm9yIFNpdGVzIHY2LjQuM1xuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gIFRhYmxlIG9mIENvbnRlbnRzOlxuLy9cbi8vICAgMS4gR2xvYmFsXG4vLyAgIDIuIEJyZWFrcG9pbnRzXG4vLyAgIDMuIFRoZSBHcmlkXG4vLyAgIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gICA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vICAgNi4gQWJpZGVcbi8vICAgNy4gQWNjb3JkaW9uXG4vLyAgIDguIEFjY29yZGlvbiBNZW51XG4vLyAgIDkuIEJhZGdlXG4vLyAgMTAuIEJyZWFkY3J1bWJzXG4vLyAgMTEuIEJ1dHRvblxuLy8gIDEyLiBCdXR0b24gR3JvdXBcbi8vICAxMy4gQ2FsbG91dFxuLy8gIDE0LiBDYXJkXG4vLyAgMTUuIENsb3NlIEJ1dHRvblxuLy8gIDE2LiBEcmlsbGRvd25cbi8vICAxNy4gRHJvcGRvd25cbi8vICAxOC4gRHJvcGRvd24gTWVudVxuLy8gIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xuLy8gIDIwLiBGb3Jtc1xuLy8gIDIxLiBMYWJlbFxuLy8gIDIyLiBNZWRpYSBPYmplY3Rcbi8vICAyMy4gTWVudVxuLy8gIDI0LiBNZXRlclxuLy8gIDI1LiBPZmYtY2FudmFzXG4vLyAgMjYuIE9yYml0XG4vLyAgMjcuIFBhZ2luYXRpb25cbi8vICAyOC4gUHJvZ3Jlc3MgQmFyXG4vLyAgMjkuIFByb3RvdHlwZSBBcnJvd1xuLy8gIDMwLiBQcm90b3R5cGUgQm9yZGVyLUJveFxuLy8gIDMxLiBQcm90b3R5cGUgQm9yZGVyLU5vbmVcbi8vICAzMi4gUHJvdG90eXBlIEJvcmRlcmVkXG4vLyAgMzMuIFByb3RvdHlwZSBEaXNwbGF5XG4vLyAgMzQuIFByb3RvdHlwZSBGb250LVN0eWxpbmdcbi8vICAzNS4gUHJvdG90eXBlIExpc3QtU3R5bGUtVHlwZVxuLy8gIDM2LiBQcm90b3R5cGUgT3ZlcmZsb3dcbi8vICAzNy4gUHJvdG90eXBlIFBvc2l0aW9uXG4vLyAgMzguIFByb3RvdHlwZSBSb3VuZGVkXG4vLyAgMzkuIFByb3RvdHlwZSBTZXBhcmF0b3Jcbi8vICA0MC4gUHJvdG90eXBlIFNoYWRvd1xuLy8gIDQxLiBQcm90b3R5cGUgU2l6aW5nXG4vLyAgNDIuIFByb3RvdHlwZSBTcGFjaW5nXG4vLyAgNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cbi8vICA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cbi8vICA0NS4gUHJvdG90eXBlIFRleHQtVXRpbGl0aWVzXG4vLyAgNDYuIFJlc3BvbnNpdmUgRW1iZWRcbi8vICA0Ny4gUmV2ZWFsXG4vLyAgNDguIFNsaWRlclxuLy8gIDQ5LiBTd2l0Y2hcbi8vICA1MC4gVGFibGVcbi8vICA1MS4gVGFic1xuLy8gIDUyLiBUaHVtYm5haWxcbi8vICA1My4gVGl0bGUgQmFyXG4vLyAgNTQuIFRvb2x0aXBcbi8vICA1NS4gVG9wIEJhclxuLy8gIDU2LiBYeSBHcmlkXG5cbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5AaW1wb3J0ICdnbG9iYWwvY29sb3JzJztcblxuLy8gMS4gR2xvYmFsXG4vLyAtLS0tLS0tLS1cblxuJGdsb2JhbC1mb250LXNpemU6IDE2cHg7Ly8xMDAlOyAvLyBXYXMgMTAwJVxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIyMCk7IC8vIE9yaWdpbmFsbHkgMTIwMFxuXG4kYmFzZS1mb250OiAxNnB4OyAvLyBJbXBvcnRcbiRtYXgtd2lkdGg6IDEyMjBweDsgLy8gSW1wb3J0XG5cbiRnbG9iYWwtbGluZWhlaWdodDogMS41O1xuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjMTc3OWJhLFxuICBzZWNvbmRhcnk6ICM3Njc2NzYsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjY2M0YjM3LFxuKTtcblxuLy8gVE9ETzogcmVjb25jaWxlIHRoZXNlLlxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlO1xuJGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZTsgLy8gaW1wb3J0XG5cbi8vIFRPRE86IHJlY29uY2lsZSB0aGVzZS5cbiRib2R5LWZvbnQtY29sb3I6ICRibGFjaztcbiR0ZXh0OiAkbWVkaXVtLWdyYXk7IC8vIGltcG9ydFxuXG5cbi8vJGJvZHktZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkRyb2lkIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuJGJvZHktZm9udC1mYW1pbHk6IFwiR290aGFtIFNTbSBBXCIsIFwiR290aGFtIFNTbSBCXCI7XG5cblxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWU7XG4kZ2xvYmFsLW1hcmdpbjogMXJlbTtcbiRnbG9iYWwtcGFkZGluZzogMXJlbTtcbiRnbG9iYWwtcG9zaXRpb246IDFyZW07XG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbDtcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQ7XG4kZ2xvYmFsLXJhZGl1czogMDtcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtO1xuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyO1xuJGdsb2JhbC1mbGV4Ym94OiB0cnVlO1xuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlO1xuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBhdXRvO1xuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMDtcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZTtcblxuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuXG4vLyAyLiBCcmVha3BvaW50c1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBwaG9uZS1zbWFsbDogMzc1cHgsXG4gIHBob25lLW1lZGl1bTogNDE0cHgsXG4gIHBob25lLWhvcml6LXRpbnk6IDU2OHB4LFxuICBtZWRpdW06IDY0MHB4LFxuICB0YWJsZXQtdmVydDogNzY4cHgsXG4gIGN1c3RvbS10YWJsZXQ6IDkyMHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeGxhcmdlMjogMTMwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pO1xuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlO1xuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSk7XG5cbi8vIERvdWcncyBCUHNcbiRkb3VnLWJyZWFrcG9pbnRzOiAoIC8vIHdhcyAkYnJlYWtwb2ludHNcbiAgXCJ4eGxcIjogMTU1MHB4LFxuICBcInhsXCI6IDEzMDBweCxcbiAgXCJsYXB0b3BcIjogMTIwMHB4LFxuICBcInRhYmxldC1ob3JpelwiOiAxMDI0cHgsXG4gIFwiY3VzdG9tLXRhYmxldFwiOiA5MjBweCxcbiAgXCJ0YWJsZXQtdmVydFwiOiA3NjhweCxcbiAgXCJwaG9uZS1ob3JpelwiOiA3MzZweCxcbiAgXCJwaG9uZS1ob3Jpei1zbWFsbFwiOiA2NjdweCxcbiAgXCJwaG9uZS1ob3Jpei10aW55XCI6IDU2OHB4LFxuICBcInBob25lLW1lZGl1bVwiOiA0MTRweCxcbiAgXCJwaG9uZS1zbWFsbFwiOiAzNzVweCxcbiAgXCJwaG9uZS10aW55XCI6IDMyMHB4XG4pO1xuXG5cbi8vIDMuIFRoZSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4kZ3JpZC1yb3ctd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kZ3JpZC1jb2x1bW4tY291bnQ6IDEyO1xuJGdyaWQtY29sdW1uLWd1dHRlcjogKFxuICBzbWFsbDogMjBweCxcbiAgbWVkaXVtOiAzMHB4LFxuKTtcbiRncmlkLWNvbHVtbi1hbGlnbi1lZGdlOiB0cnVlO1xuJGdyaWQtY29sdW1uLWFsaWFzOiAnY29sdW1ucyc7XG4kYmxvY2stZ3JpZC1tYXg6IDg7XG5cbi8vIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDsgLy8gV2FzICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsO1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0O1xuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAyNCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAxOSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNDgpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogNDApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMzEpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjUpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuKTtcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRzbWFsbC1mb250LXNpemU6IDgwJTtcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjY7XG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW07XG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kY29kZS1jb2xvcjogJGJsYWNrO1xuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSk7XG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmU7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZTtcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0bztcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW07XG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW07XG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheTtcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSk7XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJztcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjaztcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKTtcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2s7XG5cbi8vIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1O1xuJGxlYWQtbGluZWhlaWdodDogMS42O1xuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5O1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW07XG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtO1xuXG4vLyA2LiBBYmlkZVxuLy8gLS0tLS0tLS1cblxuJGFiaWRlLWlucHV0czogdHJ1ZTtcbiRhYmlkZS1sYWJlbHM6IHRydWU7XG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuLy8gNy4gQWNjb3JkaW9uXG4vLyAtLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZTtcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcblxuLy8gOC4gQWNjb3JkaW9uIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmc7XG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWU7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHdoaXRlO1xuJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kOiBudWxsO1xuJGFjY29yZGlvbm1lbnUtYm9yZGVyOiBudWxsO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDogbnVsbDtcbiRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDogNDBweDtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHg7XG5cbi8vIDkuIEJhZGdlXG4vLyAtLS0tLS0tLVxuXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYmFkZ2UtY29sb3I6ICR3aGl0ZTtcbiRiYWRnZS1jb2xvci1hbHQ6ICRibGFjaztcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJhZGdlLXBhZGRpbmc6IDAuM2VtO1xuJGJhZGdlLW1pbndpZHRoOiAyLjFlbTtcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbTtcblxuLy8gMTAuIEJyZWFkY3J1bWJzXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjaztcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW07XG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWU7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6IHRydWU7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbTogJy8nO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsOiAnXFxcXCc7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRtZWRpdW0tZ3JheTtcblxuLy8gMTEuIEJ1dHRvblxuLy8gLS0tLS0tLS0tLVxuXG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtO1xuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJ1dHRvbi1maWxsOiBzb2xpZDtcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGU7XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAxcHg7XG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pO1xuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJTtcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJTtcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG5cbi8vIDEyLiBCdXR0b24gR3JvdXBcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbTtcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHg7XG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJztcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2O1xuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlO1xuXG4vLyAxMy4gQ2FsbG91dFxuLy8gLS0tLS0tLS0tLS1cblxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSU7XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSk7XG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDA7XG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtO1xuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kO1xuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYWxsb3V0LWxpbmstdGludDogMzAlO1xuXG4vLyAxNC4gQ2FyZFxuLy8gLS0tLS0tLS1cblxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRjYXJkLXNoYWRvdzogbm9uZTtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJGNhcmQtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG5cbi8vIDE1LiBDbG9zZSBCdXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3A7XG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbik7XG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXG4gIHNtYWxsOiAxLjVlbSxcbiAgbWVkaXVtOiAyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDE7XG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXk7XG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjaztcblxuLy8gMTYuIERyaWxsZG93blxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7XG4kZHJpbGxkb3duLWFycm93czogdHJ1ZTtcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDA7XG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweDtcblxuLy8gMTcuIERyb3Bkb3duXG4vLyAtLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW07XG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtO1xuJGRyb3Bkb3duLXdpZHRoOiAzMDBweDtcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbik7XG5cbi8vIDE4LiBEcm9wZG93biBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZTtcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3I7XG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweDtcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtO1xuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4O1xuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kO1xuJGRyb3Bkb3dubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbjogMDtcbiRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmc7XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkbGlnaHQtZ3JheTtcbiRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IHRyYW5zcGFyZW50O1xuXG4vLyAxOS4gRmxleGJveCBVdGlsaXRpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDY7XG4kZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzOiB0cnVlO1xuXG4vLyAyMC4gRm9ybXNcbi8vIC0tLS0tLS0tLVxuXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApO1xuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpO1xuJGZvcm0tc3BhY2luZzogcmVtLWNhbGMoMTYpO1xuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2s7XG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljO1xuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtO1xuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjaztcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjg7XG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kaW5wdXQtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyO1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpO1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZDtcbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWU7XG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMS4gTGFiZWxcbi8vIC0tLS0tLS0tLVxuXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kbGFiZWwtY29sb3I6ICR3aGl0ZTtcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjaztcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtO1xuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIyLiBNZWRpYSBPYmplY3Rcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCU7XG5cbi8vIDIzLiBNZW51XG4vLyAtLS0tLS0tLVxuXG4kbWVudS1tYXJnaW46IDA7XG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbTtcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGU7XG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSk7XG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG4kbWVudS1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJG1lbnUtc3RhdGUtYmFjay1jb21wYXQ6IHRydWU7XG4kbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdDogdHJ1ZTtcbiRtZW51LWljb25zLWJhY2stY29tcGF0OiB0cnVlO1xuXG4vLyAyNC4gTWV0ZXJcbi8vIC0tLS0tLS0tLVxuXG4kbWV0ZXItaGVpZ2h0OiAxcmVtO1xuJG1ldGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kbWV0ZXItYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG1ldGVyLWZpbGwtZ29vZDogJHN1Y2Nlc3MtY29sb3I7XG4kbWV0ZXItZmlsbC1tZWRpdW06ICR3YXJuaW5nLWNvbG9yO1xuJG1ldGVyLWZpbGwtYmFkOiAkYWxlcnQtY29sb3I7XG5cbi8vIDI1LiBPZmYtY2FudmFzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kb2ZmY2FudmFzLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbik7XG4kb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbik7XG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRkYXJrLW5hdi1jb2xvcjtcbiRvZmZjYW52YXMtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC43KTtcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemU6IDIwcHg7XG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpO1xuJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDogMTE7XG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxMjtcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEzO1xuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxMjtcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXM7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlO1xuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWU7XG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpO1xuJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JztcblxuLy8gMjYuIE9yYml0XG4vLyAtLS0tLS0tLS1cblxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5O1xuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW07XG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwO1xuXG4vLyAyNy4gUGFnaW5hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS1cblxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCk7XG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpO1xuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3I7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICR3aGl0ZTtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO1xuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2U7XG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWU7XG5cbi8vIDI4LiBQcm9ncmVzcyBCYXJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJHByb2dyZXNzLWhlaWdodDogMXJlbTtcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kcHJvZ3Jlc3MtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjkuIFByb3RvdHlwZSBBcnJvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWFycm93LWRpcmVjdGlvbnM6IChcbiAgZG93bixcbiAgdXAsXG4gIHJpZ2h0LFxuICBsZWZ0XG4pO1xuJHByb3RvdHlwZS1hcnJvdy1zaXplOiAwLjQzNzVyZW07XG4kcHJvdG90eXBlLWFycm93LWNvbG9yOiAkYmxhY2s7XG5cbi8vIDMwLiBQcm90b3R5cGUgQm9yZGVyLUJveFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyLWJveC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG5cbi8vIDMxLiBQcm90b3R5cGUgQm9yZGVyLU5vbmVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXItbm9uZS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG5cbi8vIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXJlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJvcmRlci13aWR0aDogcmVtLWNhbGMoMSk7XG4kcHJvdG90eXBlLWJvcmRlci10eXBlOiBzb2xpZDtcbiRwcm90b3R5cGUtYm9yZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG5cbi8vIDMzLiBQcm90b3R5cGUgRGlzcGxheVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZGlzcGxheS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWRpc3BsYXk6IChcbiAgaW5saW5lLFxuICBpbmxpbmUtYmxvY2ssXG4gIGJsb2NrLFxuICB0YWJsZSxcbiAgdGFibGUtY2VsbFxuKTtcblxuLy8gMzQuIFByb3RvdHlwZSBGb250LVN0eWxpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZm9udC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXdpZGUtbGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKDQpO1xuJHByb3RvdHlwZS1mb250LW5vcm1hbDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJHByb3RvdHlwZS1mb250LWJvbGQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbi8vIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWxpc3QtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZDogKFxuICBkaXNjLFxuICBjaXJjbGUsXG4gIHNxdWFyZVxuKTtcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkOiAoXG4gIGRlY2ltYWwsXG4gIGxvd2VyLWFscGhhLFxuICBsb3dlci1sYXRpbixcbiAgbG93ZXItcm9tYW4sXG4gIHVwcGVyLWFscGhhLFxuICB1cHBlci1sYXRpbixcbiAgdXBwZXItcm9tYW5cbik7XG5cbi8vIDM2LiBQcm90b3R5cGUgT3ZlcmZsb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1vdmVyZmxvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLW92ZXJmbG93OiAoXG4gIHZpc2libGUsXG4gIGhpZGRlbixcbiAgc2Nyb2xsXG4pO1xuXG4vLyAzNy4gUHJvdG90eXBlIFBvc2l0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtcG9zaXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1wb3NpdGlvbjogKFxuICBzdGF0aWMsXG4gIHJlbGF0aXZlLFxuICBhYnNvbHV0ZSxcbiAgZml4ZWRcbik7XG4kcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXg6IDk3NTtcblxuLy8gMzguIFByb3RvdHlwZSBSb3VuZGVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1yb3VuZGVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMyk7XG5cbi8vIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNlcGFyYXRvci1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1hbGlnbjogY2VudGVyO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItaGVpZ2h0OiByZW0tY2FsYygyKTtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLXdpZHRoOiAzcmVtO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbjtcblxuLy8gNDAuIFByb3RvdHlwZSBTaGFkb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2hhZG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSgwLDAsMCwuMTYpLFxuICAgICAgICAgICAgICAgICAgICAgICAwIDJweCAxMHB4IDAgcmdiYSgwLDAsMCwuMTIpO1xuXG4vLyA0MS4gUHJvdG90eXBlIFNpemluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zaXppbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zaXppbmc6IChcbiAgd2lkdGgsXG4gIGhlaWdodFxuKTtcbiRwcm90b3R5cGUtc2l6ZXM6IChcbiAgMjU6IDI1JSxcbiAgNTA6IDUwJSxcbiAgNzU6IDc1JSxcbiAgMTAwOiAxMDAlXG4pO1xuXG4vLyA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNwYWNpbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zcGFjZXJzLWNvdW50OiAzO1xuXG4vLyA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1kZWNvcmF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uOiAoXG4gIG92ZXJsaW5lLFxuICB1bmRlcmxpbmUsXG4gIGxpbmUtdGhyb3VnaCxcbik7XG5cbi8vIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtdHJhbnNmb3JtYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uOiAoXG4gIGxvd2VyY2FzZSxcbiAgdXBwZXJjYXNlLFxuICBjYXBpdGFsaXplXG4pO1xuXG4vLyA0NS4gUHJvdG90eXBlIFRleHQtVXRpbGl0aWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtdXRpbGl0aWVzLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cbi8vIDQ2LiBSZXNwb25zaXZlIEVtYmVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcbiAgZGVmYXVsdDogNCBieSAzLFxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxuKTtcblxuLy8gNDcuIFJldmVhbFxuLy8gLS0tLS0tLS0tLVxuXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRyZXZlYWwtd2lkdGg6IDYwMHB4O1xuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHJldmVhbC16aW5kZXg6IDEwMDU7XG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpO1xuXG4vLyA0OC4gU2xpZGVyXG4vLyAtLS0tLS0tLS0tXG5cbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbTtcbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4kc2xpZGVyLWhlaWdodDogMC41cmVtO1xuJHNsaWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLXdpZHRoOiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRzbGlkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNDkuIFN3aXRjaFxuLy8gLS0tLS0tLS0tLVxuXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yO1xuJHN3aXRjaC1oZWlnaHQ6IDJyZW07XG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW07XG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW07XG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW47XG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW07XG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuXG4vLyA1MC4gVGFibGVcbi8vIC0tLS0tLS0tLVxuXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JTtcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKTtcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiU7XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWU7XG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1zdHJpcGU6IGV2ZW47XG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMik7XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xuJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcblxuLy8gNTEuIFRhYnNcbi8vIC0tLS0tLS0tXG5cbiR0YWItbWFyZ2luOiAwO1xuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5O1xuJHRhYi1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZTtcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiR0YWItZXhwYW5kLW1heDogNjtcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheTtcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyA1Mi4gVGh1bWJuYWlsXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aHVtYm5haWwtYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlO1xuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMik7XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KTtcbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDtcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNTMuIFRpdGxlIEJhclxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGRhcmstbmF2LWNvbG9yO1xuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtO1xuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQ7XG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlO1xuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheTtcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG5cbi8vIDU0LiBUb29sdGlwXG4vLyAtLS0tLS0tLS0tLVxuXG4kaGFzLXRpcC1jdXJzb3I6IGhlbHA7XG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheTtcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGU7XG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtO1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAxMHJlbTtcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbTtcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2O1xuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNTUuIFRvcCBCYXJcbi8vIC0tLS0tLS0tLS0tXG5cbiR0b3BiYXItcGFkZGluZzogMDtcbiR0b3BiYXItYmFja2dyb3VuZDogJGRhcmstbmF2LWNvbG9yO1xuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZDtcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDA7XG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW07XG5cbi8vIDU2LiBYeSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4keHktZ3JpZDogdHJ1ZTtcbiRncmlkLWNvbnRhaW5lcjogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbnM6IDEyO1xuJGdyaWQtbWFyZ2luLWd1dHRlcnM6IChcbiAgc21hbGw6IDIwcHgsXG4gIG1lZGl1bTogMzBweFxuKTtcbiRncmlkLXBhZGRpbmctZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnM7XG4kZ3JpZC1jb250YWluZXItcGFkZGluZzogJGdyaWQtcGFkZGluZy1ndXR0ZXJzO1xuJGdyaWQtY29udGFpbmVyLW1heDogJGdsb2JhbC13aWR0aDtcbiR4eS1ibG9jay1ncmlkLW1heDogODtcbiIsIi8vIENvbG9yIG5hbWVzIGNvdXJ0ZXN5IG9mIGh0dHA6Ly93d3cuY29sb3JoZXhhLmNvbVxuXG4kYmxhY2s6ICMwMDAwMDA7XG4kd2hpdGU6ICNmZmZmZmY7XG4kbW9zdGx5LXdoaXRlOiAjZjZmNmY2O1xuJHZlcnktbGlnaHQtZ3JheTogI2Y1ZjVmNTtcbiRsaWdodC1ncmF5OiAjZjBmMGYwO1xuJGRhcmstZ3JheTogIzc4Nzg3ODtcbiR2ZXJ5LWRhcmstZ3JheTogIzZkNmQ2ZDtcblxuJGRhcmstcGluazogI0IyMDgzODtcbiR2ZXJ5LWRhcmstYmx1ZTogIzIzNEE3MTtcbiRzbGlnaHRseS1kZXNhdHVyYXRlZC1ibHVlOiAjNkI5NkJFO1xuJGRhcmstbmF2LWNvbG9yOiAjMkMzODQwO1xuXG4kc2l4dHktd2hpdGU6IHJnYmEoJHdoaXRlLDAuNik7XG4kbmluZXR5Zml2ZS13aGl0ZTogcmdiYSgkd2hpdGUsMC45NSk7XG5cblxuLy8kbGlnaHQtZ3JheTogI2Y1ZjVmNTtcbiRtZWRpdW0tZ3JheTogIzc4Nzg3ODtcbi8vJGRhcmstZ3JheTogIzZkNmQ2ZDtcbiRibGFjazogIzBhMGEwYTtcbiR3aGl0ZTogI2ZlZmVmZTtcblxuLy8gSW1wb3J0cyBmcm9tIERvdWdcbiRjb2xvci1ibGFjazogJGJsYWNrOyAvLyBlcXVpdmFsZW50XG4kY29sb3Itd2hpdGU6ICR3aGl0ZTsgLy8gZXF1aXZhbGVudFxuJGNvbG9yLW9mZi13aGl0ZTogJGxpZ2h0LWdyYXk7IC8vIGVxdWl2YWxlbnRcbiRjb2xvci1ib3JkZXItZ3JleTogI2FlYWVhZTtcbiRjb2xvci1uYXZ5LWJsdWU6ICMyMzRhNzE7XG4kY29sb3ItZGFyay1uYXZ5LWJsdWU6ICMyMDQ0Njg7XG4kY29sb3ItbmljZS1ibHVlOiAjNmI5NmJlO1xuJGNvbG9yLWRhcmstYmx1ZTogIzBjMTgyNDtcbiRjb2xvci1saWdodC1ncmV5LTE6ICNmNGY0ZjQ7XG4kY29sb3ItbGlnaHQtZ3JleS0yOiAjZThlOGU4O1xuJGNvbG9yLWxpZ2h0LWdyZXktMzogI2M3YzNjMTtcbiRjb2xvci1saWdodC1ncmV5LTQ6ICNiM2IzYjM7XG4kY29sb3ItZGFyay1ncmV5LTE6ICRkYXJrLWdyYXk7IC8vIGVxdWl2YWxlbnRcbiRjb2xvci1icmlsbGlhbnQtcmVkOiAjYjIwOTM5O1xuXG5cblxuLy8gU3RydWN0dXJhbCBDb2xvciBkZWZpbml0aW9uc1xuJGJvZHlCYWNrZ3JvdW5kQ29sb3I6ICR3aGl0ZTtcbiRib2R5VGV4dENvbG9yOiAkdmVyeS1kYXJrLWJsdWU7XG5cbiRzZWN0aW9uQmFja2dyb3VuZENvbG9yOiAkdmVyeS1saWdodC1ncmF5O1xuJHNlY3Rpb25UZXh0Q29sb3I6ICRkYXJrLWdyYXk7XG5cbiRsaWdodE9uRGFya1RleHRDb2xvcjogJHdoaXRlO1xuJGRhcmtPbkxpZ2h0VGV4dENvbG9yOiAkdmVyeS1kYXJrLWJsdWU7XG5cbiRjYXB0aW9uVGV4dENvbG9yOiAkdmVyeS1kYXJrLWdyYXk7XG5cbiRidXR0b24xVGV4dENvbG9yOiAkd2hpdGU7XG4kYnV0dG9uMUJhY2tncm91bmRDb2xvcjogJGRhcmstcGluaztcbiRidXR0b24xQm9yZGVyQ29sb3I6ICRkYXJrLXBpbms7XG5cbiRidXR0b24yVGV4dENvbG9yOiAkd2hpdGU7XG4kYnV0dG9uMkJhY2tncm91bmRDb2xvcjogdHJhbnNwYXJlbnQ7XG4kYnV0dG9uMkJvcmRlckNvbG9yOiAkd2hpdGU7XG5cbiRidXR0b24zVGV4dENvbG9yOiAkdmVyeS1kYXJrLWJsdWU7XG4kYnV0dG9uM0JhY2tncm91bmRDb2xvcjogJHdoaXRlO1xuJGJ1dHRvbjNCb3JkZXJDb2xvcjogJHZlcnktZGFyay1ibHVlO1xuXG4kYnV0dG9uNFRleHRDb2xvcjogJHdoaXRlO1xuJGJ1dHRvbjRCYWNrZ3JvdW5kQ29sb3I6ICR2ZXJ5LWRhcmstYmx1ZTtcbiRidXR0b240Qm9yZGVyQ29sb3I6ICR2ZXJ5LWRhcmstYmx1ZTtcblxuJGhlYWRpbmdDb2xvcjE6ICR2ZXJ5LWRhcmstYmx1ZTtcbiRoZWFkaW5nQ29sb3IyOiAkZGFyay1waW5rO1xuXG4kaGVhZGVyTWVudVNlY3Rpb246ICR3aGl0ZTtcbiRoZWFkZXJNZW51SXRlbTogJHZlcnktbGlnaHQtZ3JheTtcblxuJGZvb3Rlck1lbnVTZWN0aW9uOiAkc2xpZ2h0bHktZGVzYXR1cmF0ZWQtYmx1ZTtcbiRmb290ZXJNZW51SXRlbTogJHZlcnktbGlnaHQtZ3JheTsiLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENyZWF0ZXMgYW4gaW5uZXIgYm94LXNoYWRvdyBmb3Igb25seSBvbmUgc2lkZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2lkZSAtIFNpZGUgdGhlIHNoYWRvdyBpcyBzdXBwb3NlZCB0byBhcHBlYXIuIENhbiBiZSBgdG9wYCwgYGxlZnRgLCBgcmlnaHRgIG9yIGBib3R0b21gLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSAtIFdpZHRoIGZvciB0aGUgdGFyZ2V0IHNpZGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3Igb2YgdGhlIHNoYWRvdy5cbkBtaXhpbiBpbm5lci1zaWRlLXNoYWRvdyhcbiAgJHNpZGU6IGJvdHRvbSxcbiAgJHNpemU6IDIwcHgsXG4gICRjb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpXG4pIHtcblxuICAkaGVscGVyOiByb3VuZCgkc2l6ZSAqIDAuNjUpO1xuXG4gIEBpZiAoJHNpZGUgPT0gdG9wKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAkaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGxlZnQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAkaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gcmlnaHQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAoLTEpKiRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBib3R0b20pIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICgtMSkqJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgQ1NTIHRyaWFuZ2xlLCB3aGljaCBjYW4gYmUgdXNlZCBmb3IgZHJvcGRvd24gYXJyb3dzLCBkcm9wZG93biBwaXBzLCBhbmQgbW9yZS4gVXNlIHRoaXMgbWl4aW4gaW5zaWRlIGEgYCY6OmJlZm9yZWAgb3IgYCY6OmFmdGVyYCBzZWxlY3RvciwgdG8gYXR0YWNoIHRoZSB0cmlhbmdsZSB0byBhbiBleGlzdGluZyBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0cmlhbmdsZS1zaXplIC0gV2lkdGggb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICR0cmlhbmdsZS1jb2xvciAtIENvbG9yIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0cmlhbmdsZS1kaXJlY3Rpb24gLSBEaXJlY3Rpb24gdGhlIHRyaWFuZ2xlIHBvaW50cy4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLlxuQG1peGluIGNzcy10cmlhbmdsZShcbiAgJHRyaWFuZ2xlLXNpemUsXG4gICR0cmlhbmdsZS1jb2xvcixcbiAgJHRyaWFuZ2xlLWRpcmVjdGlvblxuKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuXG4gIGJvcmRlcjogaW5zZXQgJHRyaWFuZ2xlLXNpemU7XG5cbiAgY29udGVudDogJyc7XG5cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGRvd24pIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSB1cCkge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHJpZ2h0KSB7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBtZW51IGljb24gd2l0aCBhIHNldCB3aWR0aCwgaGVpZ2h0LCBudW1iZXIgb2YgYmFycywgYW5kIGNvbG9ycy4gVGhlIG1peGluIHVzZXMgdGhlIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiB0aGUgYmFycyB0byBkZXRlcm1pbmUgc3BhY2luZy4gPGRpdiBjbGFzcz1cImRvY3MtZXhhbXBsZS1idXJnZXJcIj48L2Rpdj5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yLWhvdmVyIFskZGFyay1ncmF5XSAtIENvbG9yIHRvIHVzZSB3aGVuIHRoZSBpY29uIGlzIGhvdmVyZWQgb3Zlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFsyMHB4XSAtIFdpZHRoIG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFsxNnB4XSAtIEhlaWdodCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCBbMnB4XSAtIEhlaWdodCBvZiBpbmRpdmlkdWFsIGJhcnMgaW4gdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXJzIFszXSAtIE51bWJlciBvZiBiYXJzIGluIHRoZSBpY29uLlxuQG1peGluIGhhbWJ1cmdlcihcbiAgJGNvbG9yOiAkYmxhY2ssXG4gICRjb2xvci1ob3ZlcjogJGRhcmstZ3JheSxcbiAgJHdpZHRoOiAyMHB4LFxuICAkaGVpZ2h0OiAxNnB4LFxuICAkd2VpZ2h0OiAycHgsXG4gICRiYXJzOiAzXG4pIHtcbiAgLy8gYm94LXNoYWRvdyBDU1Mgb3V0cHV0XG4gICRzaGFkb3c6ICgpO1xuICAkaG92ZXItc2hhZG93OiAoKTtcblxuICAvLyBTcGFjaW5nIGJldHdlZW4gYmFycyBpcyBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSB0b3RhbCBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgZWFjaCBiYXJcbiAgJHNwYWNpbmc6ICgkaGVpZ2h0IC0gKCR3ZWlnaHQgKiAkYmFycykpIC8gKCRiYXJzIC0gMSk7XG5cbiAgQGlmIHVuaXQoJHNwYWNpbmcpID09ICdweCcge1xuICAgICRzcGFjaW5nOiBmbG9vcigkc3BhY2luZyk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICRzaGFkb3c6IGFwcGVuZCgkc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3IsIGNvbW1hKTtcbiAgfVxuXG4gIC8vIEljb24gY29udGFpbmVyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAvLyBJY29uIGJhcnNcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHdlaWdodDtcblxuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICBib3gtc2hhZG93OiAkc2hhZG93O1xuXG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaWYgJGNvbG9yLWhvdmVyIHtcbiAgICAvLyBHZW5lcmF0ZSBDU1NcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgICAkaG92ZXItc2hhZG93OiBhcHBlbmQoJGhvdmVyLXNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLWhvdmVyLCBjb21tYSk7XG4gICAgfVxuXG4gICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xuICAgICAgYm94LXNoYWRvdzogJGhvdmVyLXNoYWRvdztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkb3dud2FyZC1mYWNpbmcgdHJpYW5nbGUgYXMgYSBiYWNrZ3JvdW5kIGltYWdlIHRvIGFuIGVsZW1lbnQuIFRoZSBpbWFnZSBpcyBmb3JtYXR0ZWQgYXMgYW4gU1ZHLCBtYWtpbmcgaXQgZWFzeSB0byBjaGFuZ2UgdGhlIGNvbG9yLiBCZWNhdXNlIEludGVybmV0IEV4cGxvcmVyIGRvZXNuJ3Qgc3VwcG9ydCBlbmNvZGVkIFNWR3MgYXMgYmFja2dyb3VuZCBpbWFnZXMsIGEgUE5HIGZhbGxiYWNrIGlzIGFsc28gaW5jbHVkZWQuXG4vLy8gVGhlcmUgYXJlIHR3byBQTkcgZmFsbGJhY2tzOiBhIGJsYWNrIHRyaWFuZ2xlIGFuZCBhIHdoaXRlIHRyaWFuZ2xlLiBUaGUgb25lIHVzZWQgZGVwZW5kcyBvbiB0aGUgbGlnaHRuZXNzIG9mIHRoZSBpbnB1dCBjb2xvci5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIHRyaWFuZ2xlLlxuQG1peGluIGJhY2tncm91bmQtdHJpYW5nbGUoJGNvbG9yOiAkYmxhY2spIHtcbiAgJHJnYjogJ3JnYiUyOCN7cm91bmQocmVkKCRjb2xvcikpfSwgI3tyb3VuZChncmVlbigkY29sb3IpKX0sICN7cm91bmQoYmx1ZSgkY29sb3IpKX0lMjknO1xuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogI3skcmdifSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIHtcbiAgICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPCA2MCUge1xuICAgICAgLy8gV2hpdGUgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBCbGFjayB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQU1CSlJFRlVlTnJFbGxzT2hDQU1SVnN6QzlJbHpVN0tDbVZIVEpzb01XWU1VdHB5djlCZ2J1WFFCNVpTZGdCWVlZNHljZ0Jpdms4S1lGc1FNZk1pVFRCUDRvM25VekNLek9hYkxKYkx5Mi9nMzFldkdrQWdpblI0L1plZ0tINXFYM2JKQ3NjQTN0MHgza2dPNXRRRnloaEZmNTB4UnFGTGJ5TVVOSlF6Z3lqR1Mvd2dDcHZLcWtSQnB1V3JFNFY5ZCsxRTRkUFVYcUlnMTA3U1FPRS8yRFJReE13VER5Z0lJblZERVQ5VDNsQ29qLzZqL1ZDbUdqWk9sMmxLcFo4QUF3RFFQN3pJaW1ER0ZRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBcHBsaWVzIHRoZSBtaWNybyBjbGVhcmZpeCBoYWNrIHBvcHVsYXJpemVkIGJ5IE5pY29sYXMgR2FsbGFnaGVyLiBJbmNsdWRlIHRoaXMgbWl4aW4gb24gYSBjb250YWluZXIgaWYgaXRzIGNoaWxkcmVuIGFyZSBhbGwgZmxvYXRlZCwgdG8gZ2l2ZSB0aGUgY29udGFpbmVyIGEgcHJvcGVyIGhlaWdodC5cbi8vLyBUaGUgY2xlYXJmaXggaXMgYXVnbWVudGVkIHdpdGggc3BlY2lmaWMgc3R5bGVzIHRvIHByZXZlbnQgYm9yZGVycyBpbiBmbGV4Ym94IGVudmlyb25tZW50c1xuLy8vIEBsaW5rIGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrLyBNaWNybyBDbGVhcmZpeCBIYWNrXG4vLy8gQGxpbmsgaHR0cDovL2RhbmlzYWRlc2lnbmVyLmNvbS9ibG9nL2ZsZXhib3gtY2xlYXItZml4LXBzZXVkby1lbGVtZW50cy8gRmxleGJveCBmaXhcbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLy8gQWRkcyBDU1MgZm9yIGEgXCJxdWFudGl0eSBxdWVyeVwiIHNlbGVjdG9yIHRoYXQgYXV0b21hdGljYWxseSBzaXplcyBlbGVtZW50cyBiYXNlZCBvbiBob3cgbWFueSB0aGVyZSBhcmUgaW5zaWRlIGEgY29udGFpbmVyLlxuLy8vIEBsaW5rIGh0dHA6Ly9hbGlzdGFwYXJ0LmNvbS9hcnRpY2xlL3F1YW50aXR5LXF1ZXJpZXMtZm9yLWNzcyBRdWFudGl0eSBRdWVyaWVzIGZvciBDU1Ncbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IC0gTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gZGV0ZWN0LiBUaGUgaGlnaGVyIHRoaXMgbnVtYmVyIGlzLCB0aGUgbW9yZSBDU1MgdGhhdCdzIHJlcXVpcmVkIHRvIGNvdmVyIGVhY2ggbnVtYmVyIG9mIGl0ZW1zLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGVsZW0gW2xpXSAtIFRhZyB0byB1c2UgZm9yIHNpYmxpbmcgc2VsZWN0b3JzLlxuQG1peGluIGF1dG8td2lkdGgoJG1heCwgJGVsZW06IGxpKSB7XG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJG1heCB7XG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQsXG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQgfiAjeyRlbGVtfSB7XG4gICAgICB3aWR0aDogcGVyY2VudGFnZSgxIC8gJGkpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyB0aGUgZm9jdXMgcmluZyBhcm91bmQgYW4gZWxlbWVudCB3aGVuIGEgbW91c2UgaW5wdXQgaXMgZGV0ZWN0ZWQuXG5AbWl4aW4gZGlzYWJsZS1tb3VzZS1vdXRsaW5lIHtcbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddICYge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgc3RpbGwgYWNjZXNzaWJsZSB0byBrZXlib2FyZHMgYW5kIGFzc2lzdGl2ZSBkZXZpY2VzLlxuLy8vIEBsaW5rIGh0dHA6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHkgSGlkaW5nIENvbnRlbnQgZm9yIEFjY2Vzc2liaWxpdHlcbi8vLyBAbGluayBodHRwOi8vaHVnb2dpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsMCwwLDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBib3JkZXI6IDA7XG59XG5cbi8vLyBSZXZlcnNlcyB0aGUgQ1NTIG91dHB1dCBjcmVhdGVkIGJ5IHRoZSBgZWxlbWVudC1pbnZpc2libGUoKWAgbWl4aW4uXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUtb2ZmIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bztcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgaXRlcmF0ZSBvdmVyIGJyZWFrcG9pbnRzIHdpdGhvdXQgZG9pbmcgdGhlIG1lZGlhIHF1ZXJ5IGl0c2VsZi4gVXNlZnVsIGZvciBtb3JlIGNvbXBsZXggbWVkaWEgcXVlcnkgZ2VuZXJhdGlvbiBhcyBpbiB0aGUgbWFyZ2luIGdyaWQuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IHRydWUsICRhdXRvLWluc2VydC1icmVha3BvaW50czogdHJ1ZSkge1xuICAkbGlzdDogJGJyZWFrcG9pbnQtY2xhc3NlcztcblxuICBAaWYgbm90ICRzbWFsbCB7XG4gICAgJGxpc3Q6IHNsLXJlbW92ZSgkbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUgaW4gJGxpc3Qge1xuICAgICRvbGQtemYtc2l6ZTogbnVsbDtcbiAgICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gICAgfVxuICAgICQtemYtc2l6ZTogJG5hbWUgIWdsb2JhbDtcblxuICAgIEBpZiAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgdGhlIGBAY29udGVudGAgcGFzc2VkIHRvIHRoZSBtaXhpbiB3aXRoIGEgdmFsdWUgYCQtemYtYnAtdmFsdWVgIHJlbGF0ZWQgdG8gYSBicmVha3BvaW50LCBkZXBlbmRpbmcgb24gdGhlIGAkbmFtZWAgcGFyYW1ldGVyOlxuLy8vIC0gRm9yIGEgc2luZ2xlIHZhbHVlLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhpcyB2YWx1ZS5cbi8vLyAtIEZvciBhIGJyZWFrcG9pbnQgbmFtZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgLlxuLy8vIC0gRm9yIFwiYXV0b1wiLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAgYW5kIGlzIHBhc3NlZCB0byBgQGNvbnRlbnRgLCB3aGljaCBpcyBtYWRlIHJlc3BvbnNpdmUgZm9yIGVhY2ggYnJlYWtwb2ludCBvZiBgJG1hcGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8QXJyYXl8S2V5d29yZH0gJG5hbWUgW2F1dG9dIC0gU2luZ2xlIHZhbHVlLCBicmVha3BvaW50IG5hbWUsIG9yIGxpc3Qgb2YgYnJlYWtwb2ludCBuYW1lcyB0byB1c2UuIFwiYXV0b1wiIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gTWFwIG9mIGJyZWFrcG9pbnRzIGFuZCB2YWx1ZXMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS5cbkBtaXhpbiAtemYtYnJlYWtwb2ludC12YWx1ZShcbiAgJG5hbWU6IGF1dG8sXG4gICRtYXA6IG51bGxcbikge1xuICBAaWYgJG5hbWUgPT0gYXV0byBhbmQgdHlwZS1vZigkbWFwKSA9PSAnbWFwJyB7XG4gICAgLy8gXCJhdXRvXCJcbiAgICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRrKSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCR2LCAkbWFwKSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIGJyZWFrcG9pbnQgbmFtZVxuICAgIEBpZiB0eXBlLW9mKCRuYW1lKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkbmFtZTogLXpmLWdldC1icC12YWwoJG1hcCwgJG5hbWUpO1xuICAgIH1cblxuICAgIC8vIGJyZWFrcG9pbnQgdmFsdWVcbiAgICAkLXpmLWJwLXZhbHVlOiAkbmFtZSAhZ2xvYmFsO1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vIE1hcmdpbiBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1iYXNlLWdyaWQtY2xhc3NlcyB7XG5cbiAgLy8gR3JpZCBDb250YWluZXJcbiAgLmdyaWQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcjtcblxuICAgICYuZmx1aWQge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXIoMTAwJSk7XG4gICAgfVxuXG4gICAgJi5mdWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyKDEwMCUsIDApO1xuICAgIH1cbiAgfVxuXG4gIC8vIEJhc2UgZ3JpZCBzdHlsZXNcbiAgLmdyaWQteCB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgfVxuXG4gIC5jZWxsIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoKTtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkZ3JpZC1jb2x1bW5zLCBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcblxuICAgICYuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoYXV0byk7XG4gICAgfVxuXG4gICAgJi5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgfVxuXG4gIH1cbiAgLmdyaWQteCB7XG4gICAgPiAuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgPiAuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEF1dG8gd2lkdGhcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzICYgUFJzIGZvciB0aGUgYmFja3N0b3J5OlxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMjIyIGFuZFxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDE2NFxuICAgIC5ncmlkLXgge1xuICAgICAgJHN0cjogXCI+IC4jeyQtemYtc2l6ZX0tc2hyaW5rLCA+IC4jeyQtemYtc2l6ZX0tZnVsbFwiO1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgJHN0cjogJHN0ciArIFwiLCA+IC4jeyQtemYtc2l6ZX0tI3skaX1cIlxuICAgICAgfVxuICAgICAgI3skc3RyfSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAvLyBSZXNwb25zaXZlIFwiYXV0b1wiIG1vZGlmaWVyXG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gc21hbGwpIHtcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LWF1dG8ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoYXV0byk7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAlLXh5LWNlbGwtYmFzZS1zaHJpbmstaG9yaXpvbnRhbC0jeyQtemYtc2l6ZX0ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBcInNocmlua1wiIG1vZGlmaWVyXG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gc21hbGwpIHtcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LXNocmluayB7XG4gICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLWhvcml6b250YWwtI3skLXpmLXNpemV9O1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIHdpZHRoIG1vZGlmaWVyc1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLWhvcml6b250YWwtI3skLXpmLXNpemV9O1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgd2lkdGggd2hlbiB1c2luZyBgLmdyaWQtbWFyZ2luLXhgIG5vdCBvbiBgLmdyaWQteGBcbiAgLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpID4gLmNlbGwge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbiAgLy8gUmVzZXQgaGVpZ2h0IHdoZW4gdXNpbmcgYC5ncmlkLW1hcmdpbi15YCBub3Qgb24gYC5ncmlkLXlgXG4gIC5ncmlkLW1hcmdpbi15Om5vdCguZ3JpZC15KSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxuQG1peGluIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkY2xhc3MtYnJlYWtwb2ludCwgJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWwpIHtcbiAgJHByZWZpeDogaWYoJGNsYXNzLWJyZWFrcG9pbnQgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQsICcnLCAnI3skY2xhc3MtYnJlYWtwb2ludH0tJyk7XG4gID4gLiN7JHByZWZpeH1hdXRvIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgPiAuI3skcHJlZml4fXNocmluayB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgJGNsYXNzbmFtZTogaWYoJHZlcnRpY2FsLCAnLiN7JGNsYXNzLWJyZWFrcG9pbnR9LSN7JGl9JywgJy4jeyRjbGFzcy1icmVha3BvaW50fS0jeyRpfScpO1xuXG4gICAgPiAjeyRjbGFzc25hbWV9IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktbWFyZ2luLWdyaWQtY2xhc3NlcyhcbiAgJGd1dHRlci1wb3NpdGlvbjogbGVmdCByaWdodCxcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJHdyYXBwaW5nLXNlbGVjdG9yOiAnLmdyaWQtbWFyZ2luLXgnXG4pe1xuICAjeyR3cmFwcGluZy1zZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiAkZ3V0dGVyLXBvc2l0aW9uKTtcblxuICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICAvLyBiYXNlIHN0eWxlcyBuZWVkIHRvIGFsbCBiZSBiZWZvcmUgdGhlIGF1dG8gYW5kIHNocmluayBzdHlsZXNcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSBhbmQgJC16Zi1zaXplICE9ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAgID4gLmNlbGwge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG5cbiAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXG4gICAgICAvLyBmb3IgYWxsIHByaW9yIGJyZWFrcG9pbnRzLlxuICAgICAgLy8gQXMgdGhlaXIgZ3V0dGVyIGlzIGRlZmluZWQgd2l0aCB0aGVpciB3aWR0aC9oZWlnaHQsIGV2ZW4gYnJlYWtwb2ludCB3aXRob3V0IGEgbmV3IG1hcmdpbiBtdXN0IGJlXG4gICAgICAvLyBnZW5lcmF0ZWQgdG8gbm90IGhhdmluZyB0aGVpciB3aWR0aC9oZWlnaHQgb3ZlcnJpZGVkIGJ5IHJlLWFkanVzdGVkIHNtYWxsZXIgYnJlYWtwb2ludHMuXG4gICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgIEBlYWNoICRicCBpbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCQtemYtc2l6ZSkge1xuICAgICAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkYnAsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJC16Zi1zaXplLCAkLXpmLXNpemUsICR2ZXJ0aWNhbCk7XG4gICAgfVxuICB9XG59XG5cbi8vIFBhZGRpbmcgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktcGFkZGluZy1ncmlkLWNsYXNzZXMge1xuICAuZ3JpZC1wYWRkaW5nLXgge1xuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBuZXN0ZWQgZ3JpZHNcbiAgICAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICAgIH1cblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgZ3JpZHMgd2l0aGluIGBncmlkLWNvbnRhaW5lci9ncmlkLWNvbnRhaW5lci5mbHVpZGBcbiAgICAvLyBUaGlzIGFsbG93cyBtYXJnaW4gYW5kIHBhZGRpbmcgZ3JpZHMgdG8gbGluZSB1cCB3aXRoIGVhY2hvdGhlclxuICAgIC5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gJiB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBCbG9jayBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkOiB0cnVlLCAkcGFkZGluZy1ncmlkOiB0cnVlKSB7XG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJG46ICRpLCAkc2VsZWN0b3I6ICcuY2VsbCcsICRndXR0ZXItb3V0cHV0OiBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkYnJlYWtwb2ludDogJC16Zi1zaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAvLyBUaGlzIGlzIHB1cmVseSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzIC0gdGhlIG1hcmdpbiBncmlkIGhhcyB0byBnbyBiYWNrIGFuZCBhZGp1c3Qgd2lkdGhzIChvciBoZWlnaHRzKVxuICAgICAgICAvLyBmb3IgcHJpb3IgYnJlYWtwb2ludHMgYmFzZWQgb24gdGhlIHJlc3BvbnNpdmUgZ3V0dGVyLlxuICAgICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgICAgQGVhY2ggJGJwIGluIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJC16Zi1zaXplKSB7XG4gICAgICAgICAgICBAaWYobWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRicCkpIHtcbiAgICAgICAgICAgICAgLmdyaWQtbWFyZ2luLXguI3skYnB9LXVwLSN7JGl9IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkbjogJGksICRzZWxlY3RvcjogJy5jZWxsJywgJGd1dHRlci1vdXRwdXQ6IGZhbHNlLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLmdyaWQtbWFyZ2luLXguI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkbjogJGksICRzZWxlY3RvcjogJy5jZWxsJywgJGd1dHRlci1vdXRwdXQ6IGZhbHNlLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ29sbGFwc2UgY2xhc3Nlc1xuQG1peGluIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQ6IHRydWUsICRwYWRkaW5nLWdyaWQ6IHRydWUpIHtcbiAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgICAgLiN7JGJwfS1tYXJnaW4tY29sbGFwc2Uge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbGxhcHNlKCRndXR0ZXItdHlwZTogbWFyZ2luLCAkbWluLWJyZWFrcG9pbnQ6ICRicCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgICAgLiN7JGJwfS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb2xsYXBzZSgkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRtaW4tYnJlYWtwb2ludDogJGJwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gT2Zmc2V0IGNsYXNzZXNcbkBtaXhpbiB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgIC8vIE9mZnNldHNcbiAgICAgICRvOiAkaSAtIDE7XG5cbiAgICAgIC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoJG8sICRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZywgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5ncmlkLW1hcmdpbi14ID4gLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgkbywgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFZlcnRpY2FsIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcyhcbiAgJG1hcmdpbi1ncmlkOiB0cnVlLFxuICAkcGFkZGluZy1ncmlkOiB0cnVlXG4pIHtcblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIEBpZiBub3QoJC16Zi1zaXplID09IHNtYWxsKSB7XG4gICAgfVxuICB9XG5cbiAgLmdyaWQteSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZCh2ZXJ0aWNhbCwgZmFsc2UpO1xuXG5cbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtcmVzZXQoKTtcbiAgICB9XG5cbiAgICA+IC5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuICAgID4gLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrL3dvcmthcm91bmQsIHNlZSB0aGVzZSBpc3N1ZXMgYW5kIFBScyBmb3IgdGhlIGJhY2tzdG9yeTpcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAyMjIgYW5kXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAxNjRcbiAgICAgICRzdHI6IFwiPiAuI3skLXpmLXNpemV9LXNocmluaywgPiAuI3skLXpmLXNpemV9LWZ1bGxcIjtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICRzdHI6ICRzdHIgKyBcIiwgPiAuI3skLXpmLXNpemV9LSN7JGl9XCJcbiAgICAgIH1cbiAgICAgICN7JHN0cn0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICAvLyBSZXNwb25zaXZlIFwiYXV0b1wiIG1vZGlmaWVyXG4gICAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSBzbWFsbCkge1xuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKGF1dG8pO1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlLCAkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICUteHktY2VsbC1iYXNlLXNocmluay12ZXJ0aWNhbC0jeyQtemYtc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICAgIH1cblxuICAgICAgLy8gUmVzcG9uc2l2ZSBcInNocmlua1wiIG1vZGlmaWVyXG4gICAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSBzbWFsbCkge1xuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tc2hyaW5rIHtcbiAgICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay12ZXJ0aWNhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBSZXNwb25zaXZlIHdpZHRoIG1vZGlmaWVyc1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLXZlcnRpY2FsLSN7JC16Zi1zaXplfTtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgZmFsc2UsICR2ZXJ0aWNhbDogdHJ1ZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICB9XG5cbiAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgIC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIG5lc3RlZCBncmlkc1xuICAgICAgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xuICAgICAgfVxuXG4gICAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgICA+IC5jZWxsIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXModG9wIGJvdHRvbSwgdHJ1ZSwgJy5ncmlkLW1hcmdpbi15Jyk7XG4gIH1cblxufVxuXG5AbWl4aW4geHktZnJhbWUtZ3JpZC1jbGFzc2VzKCR2ZXJ0aWNhbC1ncmlkOiB0cnVlLCAkbWFyZ2luLWdyaWQ6IHRydWUpIHtcbiAgLy8gRnJhbWVkIGdyaWQgc3R5bGVzXG4gIC5ncmlkLWZyYW1lIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lO1xuICB9XG5cbiAgLmNlbGwgLmdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICB9XG5cbiAgLmNlbGwtYmxvY2sge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2soKTtcbiAgfVxuXG4gIC5jZWxsLWJsb2NrLXkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2sodHJ1ZSk7XG4gIH1cblxuXG4gIC5jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jay1jb250YWluZXIoKTtcbiAgfVxuXG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuXG4gICAgLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWU7XG4gICAgfVxuXG4gICAgLmNlbGwgLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgIHdpZHRoOiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKCk7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jay15IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2sodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICR2ZXJ0aWNhbC1ncmlkIHtcbiAgICAuZ3JpZC15IHtcbiAgICAgICYuZ3JpZC1mcmFtZSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAgICYuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cbiAgICAuY2VsbCB7XG4gICAgICAuZ3JpZC15LmdyaWQtZnJhbWUge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgICB9XG4gICAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAgIC5ncmlkLXkuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICAgIGhlaWdodDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKHRvcCBib3R0b20sIHRydWUsICcuZ3JpZC1tYXJnaW4teScpO1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlLCBmYWxzZSwgJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRpbmNsdWRlLWJhc2U6IGZhbHNlKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgLmdyaWQtbWFyZ2luLXkuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUsIGZhbHNlLCAkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEZpbmFsIGNsYXNzZXNcbkBtaXhpbiBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcyhcbiAgJGJhc2UtZ3JpZDogdHJ1ZSxcbiAgJG1hcmdpbi1ncmlkOiB0cnVlLFxuICAkcGFkZGluZy1ncmlkOiB0cnVlLFxuICAkYmxvY2stZ3JpZDogdHJ1ZSxcbiAgJGNvbGxhcHNlOiB0cnVlLFxuICAkb2Zmc2V0OiB0cnVlLFxuICAkdmVydGljYWwtZ3JpZDogdHJ1ZSxcbiAgJGZyYW1lLWdyaWQ6IHRydWVcbikge1xuXG4gIC8vIEJhc2UgZ3JpZCBzdHlsZXNcbiAgQGlmKCRiYXNlLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1iYXNlLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gTWFyZ2luIGdyaWRcbiAgQGlmKCRtYXJnaW4tZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIFBhZGRpbmcgZ3JpZFxuICBAaWYoJHBhZGRpbmctZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LXBhZGRpbmctZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBCbG9jayBncmlkXG4gIEBpZigkYmxvY2stZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWJsb2NrLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgLy8gQ29sbGFwc2UgZ3V0dGVyc1xuICBAaWYoJGNvbGxhcHNlKSB7XG4gICAgQGluY2x1ZGUgeHktY29sbGFwc2UtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICAvLyBPZmZzZXQgZ3V0dGVyc1xuICBAaWYoJG9mZnNldCkge1xuICAgIEBpbmNsdWRlIHh5LW9mZnNldC1jZWxsLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGdyaWRcbiAgQGlmKCR2ZXJ0aWNhbC1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktdmVydGljYWwtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICBAaWYgKCRmcmFtZS1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktZnJhbWUtZ3JpZC1jbGFzc2VzKCR2ZXJ0aWNhbC1ncmlkLCAkbWFyZ2luLWdyaWQpXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZSBndXR0ZXJzIGZvciBhIGNlbGwvY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBlaXRoZXIgbWFyZ2luIG9yIHBhZGRpbmcuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZWdhdGl2ZSBbZmFsc2VdIC0gV2hldGhlciB0byBhcHBseSB0aGUgZ3V0dGVyIGFzIGEgbmVnYXRpdmUgdmFsdWUuIENvbW1vbmx5IHVzZWQgZm9yIG5lc3RlZCBncmlkcy5cbkBtaXhpbiB4eS1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkbmVnYXRpdmU6IGZhbHNlXG4pIHtcbiAgJG9wZXJhdG9yOiBpZigkbmVnYXRpdmUsICctJywgJycpO1xuXG4gIC8vIElmIHdlIGhhdmUgZGVjbGFyZWQgbmVnYXRpdmUgZ3V0dGVycywgZm9yY2UgdHlwZSB0byBgbWFyZ2luLlxuICAkZ3V0dGVyLXR5cGU6IGlmKCRuZWdhdGl2ZSwgJ21hcmdpbicsICRndXR0ZXItdHlwZSk7XG5cbiAgLy8gT3V0cHV0IG91ciBtYXJnaW4gZ3V0dGVycy5cbiAgQGlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJykge1xuICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKGF1dG8sICRndXR0ZXJzKSB7XG4gICAgICAkZ3V0dGVyOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAvIDI7XG5cbiAgICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiB1bnF1b3RlKFwiI3skb3BlcmF0b3J9I3skZ3V0dGVyfVwiKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdudW1iZXInKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcnMpIC8gMjtcblxuICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06IHVucXVvdGUoXCIjeyRvcGVyYXRvcn0jeyRndXR0ZXJ9XCIpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIG1heCB3aWR0aCBjb250YWluZXIsIGRlc2lnbmVkIHRvIGhvdXNlIHlvdXIgZ3JpZCBjb250ZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJGdyaWQtY29udGFpbmVyXSAtIGEgd2lkdGggdG8gbGltaXQgdGhlIGNvbnRhaW5lciB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRncmlkLWNvbnRhaW5lci1wYWRkaW5nXSAtIHBhZGRpbmdzIG9mIHRoZSBjb250YWluZXIuXG5AbWl4aW4geHktZ3JpZC1jb250YWluZXIoXG4gICR3aWR0aDogJGdyaWQtY29udGFpbmVyLFxuICAkcGFkZGluZzogJGdyaWQtY29udGFpbmVyLXBhZGRpbmdcbikge1xuICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkcGFkZGluZywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcblxuICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi8vLyBDcmVhdGVzIGEgY29udGFpbmVyIGZvciB5b3VyIGZsZXggY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2hvcml6b250YWxdIC0gRWl0aGVyIGhvcml6b250YWwgb3IgdmVydGljYWwgZGlyZWN0aW9uIG9mIGNlbGxzIHdpdGhpbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR3cmFwIFt0cnVlXSAtIElmIHRoZSBjZWxscyB3aXRoaW4gc2hvdWxkIHdyYXAgb3Igbm90LlxuQG1peGluIHh5LWdyaWQoXG4gICRkaXJlY3Rpb246IGhvcml6b250YWwsXG4gICR3cmFwOiB0cnVlXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiA9PSAnaG9yaXpvbnRhbCcsIHJvdywgY29sdW1uKTtcbiAgJHdyYXA6IGlmKCR3cmFwLCB3cmFwLCBub3dyYXApO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogJGRpcmVjdGlvbiAkd3JhcDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkdmFsdWVzIC0gT25lIG9yIG1vcmUgdmFsdWVzIHRvIGNvbnZlcnQuIEJlIHN1cmUgdG8gc2VwYXJhdGUgdGhlbSB3aXRoIHNwYWNlcyBhbmQgbm90IGNvbW1hcy4gSWYgeW91IG5lZWQgdG8gY29udmVydCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB3cmFwIHRoZSBsaXN0IGluIHBhcmVudGhlc2VzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBUaGUgYmFzZSB2YWx1ZSB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyB0aGUgYHJlbWAuIElmIHlvdSdyZSB1c2luZyBGb3VuZGF0aW9uIG91dCBvZiB0aGUgYm94LCB0aGlzIGlzIDE2cHguIElmIHRoaXMgcGFyYW1ldGVyIGlzIGBudWxsYCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmVmZXJlbmNlIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlIGFzIHRoZSBiYXNlLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IEEgbGlzdCBvZiBjb252ZXJ0ZWQgdmFsdWVzLlxuQGZ1bmN0aW9uIHJlbS1jYWxjKCR2YWx1ZXMsICRiYXNlOiBudWxsKSB7XG4gICRyZW0tdmFsdWVzOiAoKTtcbiAgJGNvdW50OiBsZW5ndGgoJHZhbHVlcyk7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIC8vIFRoaXMgaXMgYmVjYXVzZSAxMDAlIGZvbnQgc2l6ZSA9IDE2cHggaW4gbW9zdCBhbGwgYnJvd3NlcnNcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIC8vIFVzaW5nIHJlbSBhcyBiYXNlIGFsbG93cyBjb3JyZWN0IHNjYWxpbmdcbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmICRjb3VudCA9PSAxIHtcbiAgICBAcmV0dXJuIC16Zi10by1yZW0oJHZhbHVlcywgJGJhc2UpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY291bnQge1xuICAgICRyZW0tdmFsdWVzOiBhcHBlbmQoJHJlbS12YWx1ZXMsIC16Zi10by1yZW0obnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlbS12YWx1ZXM7XG59XG5cbi8vIENvbnZlcnRzIGEgdW5pdGxlc3MsIHBpeGVsLCBvciByZW0gdmFsdWUgdG8gZW0sIGZvciB1c2UgaW4gYnJlYWtwb2ludHMuXG5AZnVuY3Rpb24gLXpmLWJwLXRvLWVtKCR2YWx1ZSkge1xuICAvLyBQaXhlbCBhbmQgdW5pdGxlc3MgdmFsdWVzIGFyZSBjb252ZXJ0ZWQgdG8gcmVtc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcgb3IgdW5pdGxlc3MoJHZhbHVlKSB7XG4gICAgJHZhbHVlOiByZW0tY2FsYygkdmFsdWUsICRiYXNlOiAxNnB4KTtcbiAgfVxuXG4gIC8vIFRoZW4gdGhlIHZhbHVlIGlzIGNvbnZlcnRlZCB0byBlbXNcbiAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxZW07XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsIHZhbHVlIHRvIG1hdGNoaW5nIHJlbSB2YWx1ZS4gKkFueSogdmFsdWUgcGFzc2VkLCByZWdhcmRsZXNzIG9mIHVuaXQsIGlzIGFzc3VtZWQgdG8gYmUgYSBwaXhlbCB2YWx1ZS4gQnkgZGVmYXVsdCwgdGhlIGJhc2UgcGl4ZWwgdmFsdWUgdXNlZCB0byBjYWxjdWxhdGUgdGhlIHJlbSB2YWx1ZSBpcyB0YWtlbiBmcm9tIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFBpeGVsIHZhbHVlIHRvIGNvbnZlcnQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIEJhc2UgZm9yIHBpeGVsIGNvbnZlcnNpb24uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIG51bWJlciBpbiByZW1zLCBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSBnaXZlbiB2YWx1ZSBhbmQgdGhlIGJhc2UgcGl4ZWwgdmFsdWUuIHJlbSB2YWx1ZXMgYXJlIHBhc3NlZCB0aHJvdWdoIGFzIGlzLlxuQGZ1bmN0aW9uIC16Zi10by1yZW0oJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnbnVtYmVyJyB7XG4gICAgQHdhcm4gaW5zcGVjdCgkdmFsdWUpICsgJyB3YXMgcGFzc2VkIHRvIHJlbS1jYWxjKCksIHdoaWNoIGlzIG5vdCBhIG51bWJlci4nO1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gVHJhbnNmb3JtIGVtIGludG8gcmVtIGlmIHNvbWVvbmUgaGFuZHMgb3ZlciAnZW0nc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogMXJlbTtcbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSByZW0gaWYgdW5pdHMgZm9yICR2YWx1ZSBpcyBub3QgcmVtIG9yIGVtXG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gVHVybiAwcmVtIGludG8gMFxuICBAaWYgJHZhbHVlID09IDByZW0ge1xuICAgICR2YWx1ZTogMDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCwgcGVyY2VudGFnZSwgcmVtIG9yIGVtIHZhbHVlIHRvIGEgdW5pdGxlc3MgdmFsdWUgYmFzZWQgb24gYSBnaXZlbiBmb250IHNpemUuIElkZWFsIGZvciB3b3JraW5nIG91dCB1bml0bGVzcyBsaW5lIGhlaWdodHMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gY29udmVydCB0byBhIHVuaXRsZXNzIGxpbmUgaGVpZ2h0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGZvbnQgc2l6ZSB0byB1c2UgdG8gd29yayBvdXQgdGhlIGxpbmUgaGVpZ2h0IC0gZGVmYXVsdHMgdG8gJGdsb2JhbC1mb250LXNpemVcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBVbml0bGVzcyBudW1iZXJcbkBmdW5jdGlvbiB1bml0bGVzcy1jYWxjKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBGaXJzdCwgbGV0cyBjb252ZXJ0IG91ciAkYmFzZSB0byBwaXhlbHNcblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gTm93IGxldCdzIGNvbnZlcnQgb3VyIHZhbHVlIHRvIHBpeGVscyB0b29cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnJScge1xuICAgICR2YWx1ZTogKCR2YWx1ZSAvIDEwMCUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgLy8gJ3B4J1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcge1xuICAgIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICAvLyBhc3N1bWUgdGhhdCBsaW5lLWhlaWdodHMgZ3JlYXRlciB0aGFuIDEwIGFyZSBtZWFudCB0byBiZSBhYnNvbHV0ZSBpbiAncHgnXG4gIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAoJHZhbHVlID4gMTApIHtcbiAgICBAcmV0dXJuICR2YWx1ZSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDYWxjdWxhdGUgdGhlIHBlcmNlbnRhZ2Ugc2l6ZSBvZiBhIGNlbGwuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkc2l6ZSBbJGdyaWQtY29sdW1uc10gLSBTaXplIHRvIG1ha2UgdGhlIGNlbGwuIFlvdSBjYW4gcGFzcyBhIHZhbHVlIGluIG11bHRpcGxlIGZvcm1hdHMsIHN1Y2ggYXMgYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvM2AuXG5AZnVuY3Rpb24geHktY2VsbC1zaXplKFxuICAkc2l6ZTogJGdyaWQtY29sdW1uc1xuKSB7XG4gIC8vIFBhcnNpbmcgcGVyY2VudHMsIGRlY2ltYWxzLCBuIG9mIG4gYW5kIG51bWJlciBjb3VudHNcbiAgQGlmIHR5cGUtb2YoJHNpemUpID09ICdudW1iZXInIHtcbiAgICBAaWYgdW5pdCgkc2l6ZSkgPT0gJyUnIHtcbiAgICAgICRzaXplOiAkc2l6ZTtcbiAgICB9XG4gICAgQGVsc2UgaWYgJHNpemUgPCAxIHtcbiAgICAgICRzaXplOiBwZXJjZW50YWdlKCRzaXplKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHNpemU6IHBlcmNlbnRhZ2UoJHNpemUgLyAkZ3JpZC1jb2x1bW5zKTtcbiAgICB9XG4gIH1cblxuICAvLyBQYXJzaW5nIFwibiBvZiBuXCIgb3IgXCJuL25cIiBleHByZXNzaW9uc1xuICBAZWxzZSBpZiB0eXBlLW9mKCRzaXplKSA9PSAnbGlzdCcge1xuICAgIEBpZiBsZW5ndGgoJHNpemUpICE9IDMge1xuICAgICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIHh5LWNlbGwtc2l6ZSgpLiBVc2UgdGhlIGZvcm1hdCBcIm4gb2YgblwiIG9yIFwibi9uXCIuJztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHNpemU6IHBlcmNlbnRhZ2UobnRoKCRzaXplLCAxKSAvIG50aCgkc2l6ZSwgMykpO1xuICAgIH1cbiAgfVxuICAvLyBBbnl0aGluZyBlbHNlIGlzIGluY29ycmVjdFxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIHh5LWNlbGwtc2l6ZSgpLiBVc2UgYSBudW1iZXIsIGRlY2ltYWwsIHBlcmNlbnRhZ2UsIG9yIFwibiBvZiBuXCIgLyBcIm4vblwiLic7XG4gIH1cblxuICBAcmV0dXJuICRzaXplO1xufVxuXG4vLy8gU2V0cyBiYXNlIGZsZXggcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQWNjZXB0cyBgZnVsbGAsIGBhdXRvYCwgYHNocmlua2Agb3IgYGdyb3dgLlxuQG1peGluIHh5LWNlbGwtYmFzZSgkc2l6ZTogZnVsbCkge1xuICBAaWYoJHNpemUgPT0gJ2Z1bGwnKSB7XG4gICAgLy8gVGhpcyBpcyB0aGUgYmFzZSBzdHlsZSwgYWxsIG90aGVycyBpbmhlcml0IGZyb20gaXRcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBtaW4taGVpZ2h0OiAwcHg7XG4gICAgbWluLXdpZHRoOiAwcHg7XG4gIH1cbiAgQGVsc2UgaWYgKCRzaXplID09ICdhdXRvJykge1xuICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gIH1cbiAgQGVsc2UgaWYgKCRzaXplID09ICdzaHJpbmsnKSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gIH1cbiAgQGVsc2UgaWYgKCRzaXplID09ICdncm93Jykge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG59XG5cbi8vLyBSZXNldHMgYSBjZWxscyB3aWR0aCAob3IgaGVpZ2h0IGlmIHZlcnRpY2FsIGlzIHRydWUpIGFzIHdlbGwgYXMgc3RyaXBzIGl0cyBndXR0ZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtcmVzZXQoJHZlcnRpY2FsOiB0cnVlKSB7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCB3aWR0aCwgaGVpZ2h0KTtcbiAgI3skZGlyZWN0aW9ufTogYXV0bztcbiAgbWF4LSN7JGRpcmVjdGlvbn06IG5vbmU7XG59XG5cbi8vIFNldHMgb3VyIGNlbGwgd2lkdGhzIG9yIGhlaWdodHMgZGVwZW5kaW5nIG9uIGd1dHRlciB0eXBlLlxuQG1peGluIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsICRtYXJnaW4tZ3V0dGVyLCAkdmVydGljYWwpIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIGhlaWdodCwgd2lkdGgpO1xuICBAaWYoJHNpemUgPT0gJ2Z1bGwnKSB7XG4gICAgJHZhbDogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgMTAwJSwgY2FsYygxMDAlIC0gI3tyZW0tY2FsYygkbWFyZ2luLWd1dHRlcil9KSk7XG4gICAgI3skZGlyZWN0aW9ufTogJHZhbDtcbiAgfVxuICBAZWxzZSBpZiAoJHNpemUgPT0gJ2F1dG8nKSB7XG4gICAgI3skZGlyZWN0aW9ufTogYXV0bztcbiAgICAkdmFsOiBpZigkbWFyZ2luLWd1dHRlciA9PSAwLCAxMDAlLCBjYWxjKDEwMCUgLSAje3JlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKX0pKTtcbiAgfVxuICBAZWxzZSBpZiAoJHNpemUgPT0gJ3NocmluaycpIHtcbiAgICAjeyRkaXJlY3Rpb259OiBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICAkdmFsOiBpZigkbWFyZ2luLWd1dHRlciA9PSAwLCAje3h5LWNlbGwtc2l6ZSgkc2l6ZSl9LCBjYWxjKCN7eHktY2VsbC1zaXplKCRzaXplKX0gLSAje3JlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKX0pKTtcbiAgICAjeyRkaXJlY3Rpb259OiAkdmFsO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgY2VsbCBmb3IgeW91ciBncmlkLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgIChkZWZhdWx0KSBmb3IgMTAwJSB3aWR0aCwgYGF1dG9gIHRvIHVzZSB1cCBhdmFpbGFibGUgc3BhY2UgYW5kIGBzaHJpbmtgIHRvIHVzZSB1cCBvbmx5IHJlcXVpcmVkIHNwYWNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbChcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXItb3V0cHV0OiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRicC1pcy1mYWxsYmFjazogZmFsc2U7XG5cbiAgQGlmKCRicmVha3BvaW50ID09IG51bGwpIHtcbiAgICAvLyBJZiBgJGJwLXNpemVgIGlzIGF2YWlsYWJsZSB0aGVuIHVzZSB0aGlzLCBvdGhlcndpc2UgcmV2ZXJ0IHRvIHRoZSBzbWFsbGVzdCBicC5cbiAgICBAaWYodmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSBhbmQgdHlwZS1vZigkLXpmLXNpemUpICE9ICdudW1iZXInKSBhbmQgJC16Zi1zaXplICE9IG51bGwge1xuICAgICAgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50O1xuICAgICAgJGJwLWlzLWZhbGxiYWNrOiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIC8vIEdldCB0aGUgZ3V0dGVyIGZvciB0aGUgZ2l2ZW4gYnJlYWtwb2ludC92YWx1ZS5cbiAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgLy8gSWYgdGhlIGJyZWFrcG9pbnQgaXMgYSBmYWxsYmFjaywgdXNlIGEgZmFsbGJhY2sgZ3V0dGVyIGFzIHdlbGxcbiAgQGlmICgkYnAtaXMtZmFsbGJhY2sgPT0gdHJ1ZSBhbmQgJGd1dHRlciA9PSBudWxsKSB7XG4gICAgJGd1dHRlcjogMDtcbiAgfVxuXG4gIEBpZigkZ3V0dGVyICE9IG51bGwpIHtcbiAgICAvLyBCYXNlIGZsZXggcHJvcGVydGllc1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZSgkc2l6ZSk7XG5cbiAgICBAaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkZ3V0dGVyLCAkdmVydGljYWwpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAwLCAkdmVydGljYWwpO1xuICAgIH1cblxuICAgIEBpZiAkZ3V0dGVyLW91dHB1dCB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXIsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAneHktY2VsbDogbm8gZ3V0dGVycyB3ZXJlIGZvdW5kIGluIGAkZ3V0dGVyc2AgZm9yIFwiJGJyZWFrcG9pbnQ6ICN7JGJyZWFrcG9pbnR9XCIsIGNlbGwgd2FzIG5vdCBnZW5lcmF0ZWRgJ1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgc2l6ZWQgZ3JpZC4gVXNlZCB0byBnZW5lcmF0ZSBvdXIgZ3JpZCBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgIChkZWZhdWx0KSBmb3IgMTAwJSB3aWR0aCwgYGF1dG9gIHRvIHVzZSB1cCBhdmFpbGFibGUgc3BhY2UgYW5kIGBzaHJpbmtgIHRvIHVzZSB1cCBvbmx5IHJlcXVpcmVkIHNwYWNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtc3RhdGljKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG5cbiAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgJGd1dHRlci1wb3NpdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHRvcCBib3R0b20sIGxlZnQgcmlnaHQpO1xuXG4gIEBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkZ3V0dGVyLCAkdmVydGljYWwpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAwLCAkdmVydGljYWwpO1xuICB9XG5cbiAgLy8gSWYgd2Ugd2FudCB0byBvdXRwdXQgdGhlIGd1dHRlcnNcbiAgQGlmKCRndXR0ZXItb3V0cHV0KSB7XG4gICAgLy8gVE9ETzogRmlndXJlIG91dCBpZiB3ZSBuZWVkIHRvIHBhc3MgYnJlYWtwb2ludCBpbiBoZXJlIHRvby5cbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXIsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIFNpemVzIGNoaWxkIGVsZW1lbnRzIHNvIHRoYXQgYCRuYCBudW1iZXIgb2YgaXRlbXMgYXBwZWFyIG9uIGVhY2ggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGVsZW1lbnRzIHRvIGRpc3BsYXkgcGVyIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsnLmNlbGwnXSAtIFNlbGVjdG9yKHMpIHRvIHVzZSBmb3IgY2hpbGQgZWxlbWVudHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAgb3IgYHBhZGRpbmdgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBicmVha3BvaW50IHRvIHVzZSBmb3IgdGhlIGNlbGwgZ2VuZXJhdGlvbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktZ3JpZC1sYXlvdXQoXG4gICRuLFxuICAkc2VsZWN0b3I6ICcuY2VsbCcsXG4gICRndXR0ZXItb3V0cHV0OiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRzaXplOiBwZXJjZW50YWdlKDEvJG4pO1xuXG4gICYgPiAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemUsICRndXR0ZXItb3V0cHV0LCAkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uLCAkYnJlYWtwb2ludCwgJHZlcnRpY2FsKTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ29sbGFwc2VzIHRoZSBncmlkIGEgY2VsbHMgd2l0aGluIGl0LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbLmNlbGxdIC0gVGhlIGNoaWxkIGVsZW1lbnQgdG8gcmVtb3ZlIHRoZSBndXR0ZXIgZnJvbS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFRoZSB0eXBlIG9mIGd1dHRlciB0byByZW1vdmUuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbnMgdG8gcmVtb3ZlIGd1dHRlcnMgZnJvbS4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkbWluLWJyZWFrcG9pbnQgWyQtemYtemVyby1icmVha3BvaW50XSAtIE1pbmltdW0gYnJlYWtwb2ludCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgZm9yIHdoaWNoIHRvIGNvbGxhcHNlIHRoZSBndXR0ZXIuXG5AbWl4aW4geHktZ3JpZC1jb2xsYXBzZShcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJG1pbi1icmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludFxuKSB7XG4gIC8vIEZpcnN0LCBsZXRzIG5lZ2F0ZSBhbnkgbWFyZ2lucyBvbiB0aGUgdG9wIGxldmVsXG4gIEBpZiAoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgfVxuXG4gICAgICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJGV4Y2x1ZGVkLWJwczogLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkbWluLWJyZWFrcG9pbnQpO1xuXG4gICAgLy8gT3V0cHV0IG5ldyB3aWR0aHMgdG8gbm90IGluY2x1ZGUgZ3V0dGVyc1xuICAgIEBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZihzbC1jb250YWluKCRleGNsdWRlZC1icHMsICRicCkpIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICAgICAgPiAuI3skYnB9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksICRndXR0ZXItb3V0cHV0OiBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicCkge1xuICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgICAgICA+IC4jeyRicH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgJGd1dHRlci1vdXRwdXQ6IGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgfVxuXG4gICAgICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgICBwYWRkaW5nLSN7JHZhbHVlfTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gT2Zmc2V0cyBhIGNvbHVtbiB0byB0aGUgcmlnaHQvYm90dG9tIGJ5IGAkbmAgY29sdW1ucy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gU2l6ZSB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGB6Zi1jZWxsKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSBNYXAgb2YgZ3V0dGVycyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIGZvciByZXNwb25zaXZlIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gVGhlIHR5cGUgb2YgZ3V0dGVyIHRvIHVzZS4gQ2FuIGJlIGBtYXJnaW5gIG9yIGBwYWRkaW5nYFxuLy8vIEBwYXJhbSB7TnVtYmVyfEFycmF5fEtleXdvcmR9ICRicmVha3BvaW50IFskLXpmLXplcm8tYnJlYWtwb2ludF0gLSBTaW5nbGUgdmFsdWUsIGJyZWFrcG9pbnQgbmFtZSwgb3IgbGlzdCBvZiBicmVha3BvaW50IG5hbWVzIHRvIHVzZSBmb3IgYCRndXR0ZXJzYC4gU2VlIGAtemYtYnJlYWtwb2ludC12YWx1ZSgpYC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIFNldHMgdGhlIGRpcmVjdGlvbiBvZiB0aGUgb2Zmc2V0LiBJZiBzZXQgdG8gdHJ1ZSB3aWxsIGFwcGx5IG1hcmdpbi10b3AgaW5zdGVhZC5cbkBtaXhpbiB4eS1jZWxsLW9mZnNldChcbiAkbixcbiAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50LFxuICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwsICd0b3AnLCAkZ2xvYmFsLWxlZnQpO1xuXG4gIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCRicmVha3BvaW50LCAkZ3V0dGVycykge1xuICAgICRndXR0ZXI6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpIC8gMjtcbiAgICAkZ3V0dGVyLW1hcmdpbjogaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nLCAkZ3V0dGVyLCAwKTtcbiAgICAkc2l6ZTogaWYoJGd1dHRlci1tYXJnaW4gPT0gMCwgI3t4eS1jZWxsLXNpemUoJG4pfSwgY2FsYygje3h5LWNlbGwtc2l6ZSgkbil9ICsgI3skZ3V0dGVyLW1hcmdpbn0pKTtcblxuICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAjeyRzaXplfTtcbiAgfVxufVxuIiwiLy8vIE1vZGlmaWVzIGEgZ3JpZCB0byBnaXZlIGl0IFwiZnJhbWVcIiBiZWhhdmlvciAobm8gb3ZlcmZsb3csIG5vIHdyYXAsIHN0cmV0Y2ggYmVoYXZpb3IpXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gSXMgZ3JpZCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsLiBTaG91bGQgbWF0Y2ggZ3JpZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZXN0ZWQgW2ZhbHNlXSAtIElzIGdyaWQgbmVzdGVkIG9yIG5vdC4gSWYgbmVzdGVkIGlzIHRydWUgdGhpcyBzZXRzIHRoZSBmcmFtZSB0byAxMDAlIGhlaWdodCwgb3RoZXJ3aXNlIHdpbGwgYmUgMTAwdmguXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbbnVsbF0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW5jbHVkZS1iYXNlIFt0cnVlXSAtIEluY2x1ZGUgdGhlIGJhc2Ugc3R5bGVzIHRoYXQgZG9uJ3QgdmFyeSBwZXIgYnJlYWtwb2ludC5cbkBtaXhpbiB4eS1ncmlkLWZyYW1lKFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkbmVzdGVkOiBmYWxzZSxcbiAgJGd1dHRlcnM6IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkaW5jbHVkZS1iYXNlOiB0cnVlXG4pIHtcblxuICBAaWYgJGluY2x1ZGUtYmFzZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIH1cblxuICBAaWYgJGJyZWFrcG9pbnQgPT0gbnVsbCBhbmQgdHlwZS1vZigkZ3V0dGVycykgPT0gJ21hcCcge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKCR2ZXJ0aWNhbCwgJG5lc3RlZCwgJGd1dHRlcnMsICQtemYtc2l6ZSwgZmFsc2UpO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgLy8gR2V0IG91ciBndXR0ZXJzIGlmIGFwcGxpY2FibGVcbiAgICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuXG4gICAgLy8gSWYgd2UgaGF2ZSBhIGd1dHRlciwgYWRkIGl0IHRvIHRoZSB3aWR0aC9oZWlnaHRcbiAgICBAaWYgJGd1dHRlciB7XG4gICAgICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgICAgICAkdW5pdDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2aCk7XG4gICAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXIpO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoI3skdW5pdH0gKyAjeyRndXR0ZXJ9KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkdW5pdDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2dyk7XG4gICAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXIpO1xuICAgICAgICB3aWR0aDogY2FsYygjeyR1bml0fSArICN7JGd1dHRlcn0pO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgICAgICBoZWlnaHQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdmgpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIHdpZHRoOiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZ3KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIE1vZGlmaWVzIGEgY2VsbCB0byBnaXZlIGl0IFwiYmxvY2tcIiBiZWhhdmlvciAob3ZlcmZsb3cgYXV0bywgaW5lcnRpYWwgc2Nyb2xsaW5nKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXG5AbWl4aW4geHktY2VsbC1ibG9jayhcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRwcm9wZXJ0eTogaWYoJHZlcnRpY2FsID09IHRydWUsICdvdmVyZmxvdy15JywgJ292ZXJmbG93LXgnKTtcblxuICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICB9IEBlbHNlIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG59XG5cbi8vLyBDb250YWluZXIgZm9yIGluc2lkZSBhIGdyaWQgZnJhbWUgY29udGFpbmluZyBtdWx0aXBsZSBibG9ja3MuIFR5cGljYWxseSB1c2VkXG4vLy8gYXMgYSBtb2RpZmllciBmb3IgYSBgLmNlbGxgIHRvIGFsbG93IHRoZSBjZWxsIHRvIHBhc3MgYWxvbmcgZmxleCBzaXppbmdcbi8vLyBjb25zdHJhaW50cyAvIGZyb20gcGFyZW50cyB0byBjaGlsZHJlbi5cbkBtaXhpbiB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTtcblxuICA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktYmFzZVxuLy8vL1xuXG4vLyBCYXNlIFR5cG9ncmFwaHlcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyBUaGVzZSBhcmUgc3R5bGVzIGFwcGxpZWQgdG8gYmFzaWMgSFRNTCB0YWdzLCBpbmNsdWRpbmc6XG4vLyAgIC0gUGFyYWdyYXBocyA8cD5cbi8vICAgLSBCb2xkL2l0YWxpY3MgPGI+IDxzdHJvbmc+IDxpPiA8ZW0+XG4vLyAgIC0gU21hbGwgdGV4dCA8c21hbGw+XG4vLyAgIC0gSGVhZGluZ3MgPGgxPi08aDY+XG4vLyAgIC0gQW5jaG9ycyA8YT5cbi8vICAgLSBEaXZpZGVycyA8aHI+XG4vLyAgIC0gTGlzdHMgPHVsPiA8b2w+IDxkbD5cbi8vICAgLSBCbG9ja3F1b3RlcyA8YmxvY2txdW90ZT5cbi8vICAgLSBDb2RlIGJsb2NrcyA8Y29kZT5cbi8vICAgLSBBYmJyZXZpYXRpb25zIDxhYmJyPlxuLy8gICAtIENpdGF0aW9ucyA8Y2l0ZT5cbi8vICAgLSBLZXlzdHJva2VzIDxrYmQ+XG5cbi8vLyBGb250IGZhbWlseSBmb3IgaGVhZGVyIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3R5bGUgKGUuZy4gaXRhbGljaXplZCkgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayB1c2VkIGZvciBlbGVtZW50cyB0aGF0IHVzZSBtb25vc3BhY2VkIHR5cGUsIHN1Y2ggYXMgY29kZSBzYW1wbGVzXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgZm9yIGhlYWRpbmdzIGF0IHZhcmlvdXMgc2NyZWVuIHNpemVzLiBFYWNoIGtleSBpcyBhIGJyZWFrcG9pbnQsIGFuZCBlYWNoIHZhbHVlIGlzIGEgbWFwIG9mIGhlYWRpbmcgc3R5bGVzLlxuLy8vIEB0eXBlIE1hcFxuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0OCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiA0MCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyNSksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4pICFkZWZhdWx0O1xuXG4vLyAkaGVhZGVyLXN0eWxlcyBtYXAgaXMgYnVpbHQgZnJvbSAkaGVhZGVyLXNpemVzIGluIG9yZGVyIHRvIGVuc3VyZSBkb3dud2FyZCBjb21wYXRpYmlsaXR5XG4vLyB3aGVuICRoZWFkZXItc2l6ZXMgaXMgZGVwcmVjaWF0ZWQsICRoZWFkZXItc3R5bGVzIG5lZWRzIHRvIGdldCAhZGVmYXVsdCB2YWx1ZXMgbGlrZSBzZXR0aW5ncy5zY3NzXG5AZnVuY3Rpb24gYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcykge1xuICBAd2FybiAnTm90ZSwgdGhhdCAkaGVhZGVyLXNpemVzIGhhcyBiZWVuIHJlcGxhY2VkIHdpdGggJGhlYWRlci1zdHlsZXMuICRoZWFkZXItc2l6ZXMgc3RpbGwgd29ya3MsIGJ1dCBpdCBpcyBnb2luZyB0byBiZSBkZXByZWNpYXRlZC4nO1xuICAkaGVhZGVyLXN0eWxlczogKCk7XG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXNpemVzIHtcbiAgICAkaGVhZGVyLW1hcDogKCk7XG4gICAgQGVhY2ggJGhlYWRlciwgJGZvbnQtc2l6ZSBpbiAkaGVhZGVycyB7XG4gICAgICAkaGVhZGVyLW1hcDogbWFwLW1lcmdlKCRoZWFkZXItbWFwLCAoJGhlYWRlcjogKCdmb250LXNpemUnOiAkZm9udC1zaXplKSkpO1xuICAgIH1cbiAgICAkaGVhZGVyLXN0eWxlczogbWFwLW1lcmdlKCRoZWFkZXItc3R5bGVzLCAoJHNpemU6ICRoZWFkZXItbWFwKSk7XG4gIH1cbiAgQHJldHVybiAkaGVhZGVyLXN0eWxlcztcbn1cblxuLy8gSWYgaXQgZXhpc3RzICRoZWFkZXJzLXNpemVzIGlzIHVzZWQgdG8gYnVpbGQgJGhlYWRlci1zdHlsZXMuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoaGVhZGVyLXNpemVzKSB7XG4gICRoZWFkZXItc3R5bGVzOiBidWlsZF9mcm9tX2hlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKTtcbn1cblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGA8c21hbGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbWFsbC1mb250LXNpemU6IDgwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGA8c21hbGw+YCBlbGVtZW50cyB3aGVuIHBsYWNlZCBpbnNpZGUgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGluc2lkZSBgPHA+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIGZvciBwYXJhZ3JhcGggdGV4dC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBhcm91bmQgdGV4dCBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBMaXN0XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0byAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b20gIWRlZmF1bHQ7XG5cbi8vLyBCdWxsZXQgdHlwZSB0byB1c2UgZm9yIHVub3JkZXJlZCBsaXN0cyAoZS5nLiwgYHNxdWFyZWAsIGBjaXJjbGVgLCBgZGlzY2ApLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYyAhZGVmYXVsdDtcblxuLy8vIFBvc2l0aW9uaW5nIGZvciBidWxsZXRzIG9uIHVub3JkZXJlZCBsaXN0IGl0ZW1zLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGUgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBsaXN0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgYSBsaXN0IGluc2lkZSBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBgPGRsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBgPGR0PmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYDxkdD5gIGFuZCBgPGRkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgYDxibG9ja3F1b3RlPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpICFkZWZhdWx0O1xuXG4vLy8gU2lkZSBib3JkZXIgZm9yIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBzZXVkbyBjb250ZW50IGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjaXRlLXBzZXVkby1jb250ZW50OiAnXFwyMDE0IFxcMDAyMCcgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIGJvcmRlciBzdHlsZSBmb3IgYDxhYmJyPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjayAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1iYXNlIHtcbiAgLy8gVHlwb2dyYXBoeSByZXNldHNcbiAgZGl2LFxuICBkbCxcbiAgZHQsXG4gIGRkLFxuICB1bCxcbiAgb2wsXG4gIGxpLFxuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2LFxuICBwcmUsXG4gIGZvcm0sXG4gIHAsXG4gIGJsb2NrcXVvdGUsXG4gIHRoLFxuICB0ZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBQYXJhZ3JhcGhzXG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgIHRleHQtcmVuZGVyaW5nOiAkcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nO1xuICB9XG5cbiAgLy8gRW1waGFzaXplZCB0ZXh0XG4gIGVtLFxuICBpIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTdHJvbmcgdGV4dFxuICBzdHJvbmcsXG4gIGIge1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU21hbGwgdGV4dFxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSGVhZGluZ3NcbiAgaDEsIC5oMSxcbiAgaDIsIC5oMixcbiAgaDMsIC5oMyxcbiAgaDQsIC5oNCxcbiAgaDUsIC5oNSxcbiAgaDYsIC5oNiB7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgZm9udC1zdHlsZTogJGhlYWRlci1mb250LXN0eWxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkaGVhZGVyLWNvbG9yO1xuICAgIHRleHQtcmVuZGVyaW5nOiAkaGVhZGVyLXRleHQtcmVuZGVyaW5nO1xuXG4gICAgc21hbGwge1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBjb2xvcjogJGhlYWRlci1zbWFsbC1mb250LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhlYWRpbmcgc3R5bGVzXG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXN0eWxlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGhlYWRlciwgJGhlYWRlci1kZWZzIGluICRoZWFkZXJzIHtcbiAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiAxcmVtO1xuICAgICAgICAjeyRoZWFkZXJ9LCAuI3skaGVhZGVyfSB7XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmb250LXNpemUpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZzKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmcykpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxoKSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGgpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMoJGhlYWRlci1saW5laGVpZ2h0LCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG10KSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbXQpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1iKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWIpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCRoZWFkZXItbWFyZ2luLWJvdHRvbSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTGlua3NcbiAgYSB7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgY29sb3I6ICRhbmNob3ItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbjtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGFuY2hvci1jb2xvci1ob3ZlcjtcbiAgICAgIEBpZiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlciAhPSAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbiB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cblxuICAvLyBIb3Jpem9udGFsIHJ1bGVcbiAgaHIge1xuICAgIGNsZWFyOiBib3RoO1xuXG4gICAgbWF4LXdpZHRoOiAkaHItd2lkdGg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1hcmdpbjogJGhyLW1hcmdpbjtcblxuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206ICRoci1ib3JkZXI7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gIH1cblxuICAvLyBMaXN0c1xuICB1bCxcbiAgb2wsXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkbGlzdC1tYXJnaW4tYm90dG9tO1xuICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246ICRsaXN0LXN0eWxlLXBvc2l0aW9uO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGlzdC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gTGlzdCBpdGVtc1xuICBsaSB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gVW5vcmRlcmVkIGxpc3RzXG4gIHVsIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgICBsaXN0LXN0eWxlLXR5cGU6ICRsaXN0LXN0eWxlLXR5cGU7XG4gIH1cblxuICAvLyBPcmRlcmVkIGxpc3RzXG4gIG9sIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgfVxuXG4gIC8vIE5lc3RlZCB1bm9yZGVyZWQvb3JkZXJlZCBsaXN0c1xuICB1bCwgb2wge1xuICAgICYgJiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIERlZmluaXRpb24gbGlzdHNcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZGVmbmxpc3QtdGVybS13ZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2txdW90ZXNcbiAgYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAwIDAgJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuICAgIHBhZGRpbmc6ICRibG9ja3F1b3RlLXBhZGRpbmc7XG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGJsb2NrcXVvdGUtYm9yZGVyO1xuXG4gICAgJiwgcCB7XG4gICAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgICAgY29sb3I6ICRibG9ja3F1b3RlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIENpdGF0aW9uc1xuICBjaXRlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6ICRjaXRlLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGNpdGUtY29sb3I7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAkY2l0ZS1wc2V1ZG8tY29udGVudDtcbiAgICB9XG4gIH1cblxuICAvLyBBYmJyZXZpYXRpb25zXG4gIGFiYnIsIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiAkYWJici11bmRlcmxpbmU7XG4gICAgY3Vyc29yOiBoZWxwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC8vIEZpZ3VyZXNcbiAgZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBDb2RlXG4gIGNvZGUge1xuICAgIHBhZGRpbmc6ICRjb2RlLXBhZGRpbmc7XG5cbiAgICBib3JkZXI6ICRjb2RlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29kZS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRjb2RlLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkY29kZS1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGNvZGUtY29sb3I7XG4gIH1cblxuICAvLyBLZXlzdHJva2VzXG4gIGtiZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6ICRrZXlzdHJva2UtcGFkZGluZztcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRrZXlzdHJva2UtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAka2V5c3Ryb2tlLWZvbnQ7XG4gICAgY29sb3I6ICRrZXlzdHJva2UtY29sb3I7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRrZXlzdHJva2UtcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAka2V5c3Ryb2tlLXJhZGl1cztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktaGVscGVyc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxlYWQtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdG9wIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3Igc3RhdGlzdGljIG51bWJlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3RhdC1mb250LXNpemU6IDIuNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1oZWxwZXJzIHtcbiAgLy8gVXNlIHRvIGNyZWF0ZSBhIHN1YmhlYWRpbmcgdW5kZXIgYSBtYWluIGhlYWRlclxuICAvLyBNYWtlIHN1cmUgeW91IHBhaXIgdGhlIHR3byBlbGVtZW50cyBpbiBhIDxoZWFkZXI+IGVsZW1lbnQsIGxpa2UgdGhpczpcbiAgLy8gPGhlYWRlcj5cbiAgLy8gICA8aDE+SGVhZGluZzwvaDE+XG4gIC8vICAgPGgyPlN1YmhlYWRpbmc8L2gyPlxuICAvLyA8L2hlYWRlcj5cbiAgLnN1YmhlYWRlciB7XG4gICAgbWFyZ2luLXRvcDogJHN1YmhlYWRlci1tYXJnaW4tdG9wO1xuICAgIG1hcmdpbi1ib3R0b206ICRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtd2VpZ2h0OiAkc3ViaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkc3ViaGVhZGVyLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRzdWJoZWFkZXItY29sb3I7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYW4gaW50cm9kdWN0b3J5IGxlYWQsIGRlY2ssIGJsdXJiLCBldGMuXG4gIC5sZWFkIHtcbiAgICBmb250LXNpemU6ICRsZWFkLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGxlYWQtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhIGxhcmdlIG51bWJlciB0byBkaXNwbGF5IGEgc3RhdGlzdGljXG4gIC5zdGF0IHtcbiAgICBmb250LXNpemU6ICRzdGF0LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIHAgKyAmIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xcmVtO1xuICAgIH1cbiAgfVxuXG4gIHVsLCBvbCB7XG4gICAgLy8gVXNlIHRvIHJlbW92ZSBudW1iZXJzIGZyb20gb3JkZXJlZCBsaXN0ICYgYnVsbGV0cyBmcm9tIHVub3JkZXJlZCBsaXN0XG4gICAgJi5uby1idWxsZXQge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tdGV4dC1hbGlnbm1lbnQge1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkYWxpZ24gaW4gKGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnkpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgLnRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSWYgYHRydWVgLCBhbGwgZWxlbWVudHMgd2lsbCBoYXZlIHRyYW5zcGFyZW50IGJhY2tncm91bmRzIHdoZW4gcHJpbnRlZCwgdG8gc2F2ZSBvbiBpbmsuXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBncm91cCBnbG9iYWxcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgZGlzcGxheXMgbmV4dCB0byBhbGwgbGlua3MgdGhlaXIgXCJocmVmXCIgd2hlbiBwcmludGVkLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtaHJlZnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIHNhc3MtbGludDpkaXNhYmxlLWFsbFxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcmludC1zdHlsZXMge1xuICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgICoge1xuICAgICAgQGlmICRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kcyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblxuICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIC5oaWRlLWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgdGFibGUuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gICAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRib2R5LnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0ci5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgICB0aC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuXG4gICAgLy8gRGlzcGxheSB0aGUgVVJMIG9mIGEgbGluayBhZnRlciB0aGUgdGV4dFxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fVxuICAgIEBpZiAkcHJpbnQtaHJlZnMge1xuICAgICAgYVtocmVmXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cihocmVmKSAnKSc7IH1cbiAgICB9XG5cbiAgICAvLyBEb24ndCBkaXNwbGF5IHRoZSBVUkwgZm9yIGltYWdlcyBvciBKYXZhU2NyaXB0L2ludGVybmFsIGxpbmtzXG4gICAgLmlyIGE6YWZ0ZXIsXG4gICAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgICBhW2hyZWZePScjJ106YWZ0ZXIgeyBjb250ZW50OiAnJzsgfVxuXG4gICAgLy8gRGlzcGxheSB3aGF0IGFuIGFiYnJldmlhdGlvbiBzdGFuZHMgZm9yIGFmdGVyIHRoZSB0ZXh0XG4gICAgYWJiclt0aXRsZV06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIodGl0bGUpICcpJzsgfVxuXG4gICAgLy8gUHJldmVudCBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGEgYmxvY2txdW90ZSBvciBwcmVmb3JtYXR0ZWQgdGV4dCBibG9ja1xuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gaDVicC5jb20vdFxuICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG5cbiAgICB0cixcbiAgICBpbWcgeyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxuICAgIGltZyB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgICBAcGFnZSB7IG1hcmdpbjogMC41Y207IH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICAvLyBBdm9pZCBwYWdlIGJyZWFrcyBhZnRlciBhIGhlYWRpbmdcbiAgICBoMixcbiAgICBoMyB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG5cbiAgICAvLyBIZWxwZXIgdG8gcmUtYWxsb3cgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBjZXJ0YWluIGVsZW1lbnRzIChlLmcuIHByZSwgYmxvY2txdW90ZSwgdHIpXG4gICAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvblxuLy8vL1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGJ1dHRvbiBlbGVtZW50cy5cbi8vLyBAdHlwZSBGb250XG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYXJvdW5kIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmaWxsIGZvciBidXR0b25zLiBDYW4gZWl0aGVyIGJlIGBzb2xpZGAgb3IgYGhvbGxvd2AuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGJ1dHRvbi1maWxsOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRpdmUgZm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgd2lkdGggZm9yIGhvbGxvdyBvdXRsaW5lIGJ1dHRvbnNcbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBvcGFjaXR5IGZvciBhIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGhvbGxvdyBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbDogZmxpcCBmcm9tIG1hcmdpbi1yaWdodCB0byBtYXJnaW4tbGVmdCBmb3IgZGVmYXVsdHNcbkBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbn1cblxuLy8vIHRyYW5zaXRpb25zIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBBZGRpdGlvbmFsIHJlc3BvbnNpdmUgY2xhc3NlcyBmb3IgLmV4cGFuZGVkXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJ1dHRvbi1yZXNwb25zaXZlLWV4cGFuZGVkOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gVE9ETzogRG9jdW1lbnQgYnV0dG9uLWJhc2UoKSBtaXhpblxuQG1peGluIGJ1dHRvbi1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG5cbiAgQGlmICh0eXBlLW9mKCRidXR0b24tcGFkZGluZykgPT0gJ21hcCcpIHtcbiAgICBAZWFjaCAkc2l6ZSwgJHBhZGRpbmcgaW4gJGJ1dHRvbi1wYWRkaW5nIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBwYWRkaW5nOiAkYnV0dG9uLXBhZGRpbmc7XG4gIH1cblxuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gIHRyYW5zaXRpb246ICRidXR0b24tdHJhbnNpdGlvbjtcbiAgZm9udC1mYW1pbHk6ICRidXR0b24tZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vLyBFeHBhbmRzIGEgYnV0dG9uIHRvIG1ha2UgaXQgZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgdGhlIGV4cGFuZCBiZWhhdmlvci4gU2V0IHRvIGBmYWxzZWAgdG8gcmV2ZXJzZSB0aGlzIGJlaGF2aW9yLlxuQG1peGluIGJ1dHRvbi1leHBhbmQoJGV4cGFuZDogdHJ1ZSkge1xuICBAaWYgJGV4cGFuZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tc3R5bGUoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgQGlmICRiYWNrZ3JvdW5kLWhvdmVyID09IGF1dG8ge1xuICAgICRiYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzKTtcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgYmFja2dyb3VuZCBmaWxsIG9uIGhvdmVyIGFuZCBmb2N1cyBmb3IgaG9sbG93IGJ1dHRvbnMuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdyB7XG4gICYsXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJltkaXNhYmxlZF0ge1xuICAgICYsXG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1ob2xsb3ctc3R5bGUoXG4gICRjb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3MsXG4gICRib3JkZXItd2lkdGg6ICRidXR0b24taG9sbG93LWJvcmRlci13aWR0aFxuKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkaG92ZXItbGlnaHRuZXNzKTtcblxuICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGNvbG9yO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgJi5kaXNhYmxlZCxcbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGNvbG9yO1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZGlzYWJsZWQgc3R5bGVzIHRvIGEgYnV0dG9uIGJ5IGZhZGluZyB0aGUgZWxlbWVudCwgcmVzZXRpbmcgdGhlIGN1cnNvciwgYW5kIGRpc2FibGluZyBwb2ludGVyIGV2ZW50cy5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tZGlzYWJsZWQoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvclxuKSB7XG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XG4gICAgJGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGJ1dHRvbi1jb2xvciwgJGJ1dHRvbi1jb2xvci1hbHQpKTtcbiAgfVxuXG4gIG9wYWNpdHk6ICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vLyBBZGRzIGEgZHJvcGRvd24gYXJyb3cgdG8gYSBidXR0b24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIFswLjRlbV0gLSBTaXplIG9mIHRoZSBhcnJvdy4gV2UgcmVjb21tZW5kIHVzaW5nIGFuIGBlbWAgdmFsdWUgc28gdGhlIHRyaWFuZ2xlIHNjYWxlcyB3aGVuIHVzZWQgaW5zaWRlIGRpZmZlcmVudCBzaXplcyBvZiBidXR0b25zLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbd2hpdGVdIC0gQ29sb3Igb2YgdGhlIGFycm93LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb2Zmc2V0IFskYnV0dG9uLXBhZGRpbmddIC0gRGlzdGFuY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0IG9mIHRoZSBidXR0b24uIERlZmF1bHRzIHRvIHdoYXRldmVyIHRoZSByaWdodCBwYWRkaW5nIG9mIGEgYnV0dG9uIGlzLlxuQG1peGluIGJ1dHRvbi1kcm9wZG93bihcbiAgJHNpemU6IDAuNGVtLFxuICAkY29sb3I6ICR3aGl0ZSxcbiAgJG9mZnNldDogZ2V0LXNpZGUoJGJ1dHRvbi1wYWRkaW5nLCByaWdodClcbikge1xuICAmOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRzaXplLCAkY29sb3IsIGRvd24pO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtOyAvLyBBbGlnbnMgdGhlIGFycm93IHdpdGggdGhlIHRleHQgb2YgdGhlIGJ1dHRvblxuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtcmlnaHR9O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRvZmZzZXQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgYWxsIHN0eWxlcyBmb3IgYSBidXR0b24uIEZvciBtb3JlIGdyYW51bGFyIGNvbnRyb2wgb3ZlciBzdHlsZXMsIHVzZSB0aGUgaW5kaXZpZHVhbCBidXR0b24gbWl4aW5zLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBtYWtlIHRoZSBidXR0b24gZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3R5bGUgW3NvbGlkXSAtIFNldCB0byBgaG9sbG93YCB0byBjcmVhdGUgYSBob2xsb3cgYnV0dG9uLiBUaGUgY29sb3IgZGVmaW5lZCBpbiBgJGJhY2tncm91bmRgIHdpbGwgYmUgdXNlZCBhcyB0aGUgcHJpbWFyeSBjb2xvciBvZiB0aGUgYnV0dG9uLlxuQG1peGluIGJ1dHRvbihcbiAgJGV4cGFuZDogZmFsc2UsXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJHN0eWxlOiAkYnV0dG9uLWZpbGxcbikge1xuICBAaW5jbHVkZSBidXR0b24tYmFzZTtcblxuICBAaWYgJHN0eWxlID09IHNvbGlkIHtcbiAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuICB9XG4gIEBlbHNlIGlmICRzdHlsZSA9PSBob2xsb3cge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cblxuICBAaWYgJGV4cGFuZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24ge1xuICAuYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBidXR0b247XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7IH1cblxuICAgIEBpZiAkYnV0dG9uLXJlc3BvbnNpdmUtZXhwYW5kZWQge1xuICAgICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoI3skc2l6ZX0gb25seSkge1xuICAgICAgICAgICYuI3skc2l6ZX0tb25seS1leHBhbmRlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoI3skc2l6ZX0gZG93bikge1xuICAgICAgICAgICAgJi4jeyRzaXplfS1kb3duLWV4cGFuZGVkIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9KSB7XG4gICAgICAgICAgICAmLiN7JHNpemV9LWV4cGFuZGVkIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDb2xvcnNcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuI3skbmFtZX0uZHJvcGRvd246OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdHlsZVxuICAgICYuZGlzYWJsZWQsXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkO1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZCgkY29sb3IsIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSG9sbG93IHN0eWxlXG4gICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgJi5ob2xsb3cge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlO1xuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDbGVhciBzdHlsZVxuICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gY2xlYXIge1xuICAgICAgJi5jbGVhciB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGU7XG5cbiAgICAgICAgJiwgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgJiwgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG5cbiAgICAgICAgICAgICYsICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgJixcbiAgICAgICAgICAgICAgJi5kaXNhYmxlZCxcbiAgICAgICAgICAgICAgJltkaXNhYmxlZF0ge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEcm9wZG93biBhcnJvd1xuICAgICYuZHJvcGRvd24ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRyb3Bkb3duO1xuXG4gICAgICBAaWYgJGJ1dHRvbi1maWxsID09IGhvbGxvdyB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5ob2xsb3csICYuY2xlYXIge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQnV0dG9uIHdpdGggZHJvcGRvd24gYXJyb3cgb25seVxuICAgICYuYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgICAgdG9wOiAtMC4xZW07XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgfVxuICB9XG5cbiAgYS5idXR0b24geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYW4gYWNjb3JkaW9uIGdyb3VwLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBwbHVzIGFuZCBtaW51cyBpY29ucyB0byB0aGUgc2lkZSBvZiBlYWNoIGFjY29yZGlvbiB0aXRsZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBhY2NvcmRpb24gdGl0bGVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhbiBhY2NvcmRpb24gaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBhY2NvcmRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBzYW1lIGVsZW1lbnQgdGhhdCBnZXRzIGBkYXRhLWFjY29yZGlvbmAuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRhaW5lciAoXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWJhY2tncm91bmRcbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gICZbZGlzYWJsZWRdIHtcbiAgICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaXN0IGl0ZW0gd2l0aGluIGFuIGFjY29yZGlvbiB1bC5cbkBtaXhpbiBhY2NvcmRpb24taXRlbSB7XG4gICY6Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDAgMDtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgdGl0bGUgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpbmsgd2l0aGluIGFuIGFjY29yZGlvbiBpdGVtLlxuQG1peGluIGFjY29yZGlvbi10aXRsZSAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJGFjY29yZGlvbi10aXRsZS1mb250LXNpemUsXG4gICRjb2xvcjogJGFjY29yZGlvbi1pdGVtLWNvbG9yLFxuICAkYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG5cbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAmIHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG5cbiAgQGlmICRhY2NvcmRpb24tcGx1c21pbnVzIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICcrJztcbiAgICB9XG5cbiAgICAuaXMtYWN0aXZlID4gJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDIwMTMnO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFjY29yZGlvbiBjb250ZW50LiBBcHBseSB0aGlzIHRvIHRoZSBjb250ZW50IHBhbmUgYmVsb3cgYW4gYWNjb3JkaW9uIGl0ZW0ncyB0aXRsZS5cbkBtaXhpbiBhY2NvcmRpb24tY29udGVudCAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZyxcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRhY2NvcmRpb24tY29udGVudC1jb2xvclxuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZCA+ICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24ge1xuICAuYWNjb3JkaW9uIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGFpbmVyO1xuICB9XG5cbiAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24taXRlbTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi10aXRsZTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uLW1lbnVcbi8vLy9cblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBpZiBhY2NvcmRpb24gbWVudXMgaGF2ZSB0aGUgZGVmYXVsdCBhcnJvdyBzdHlsZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIGJvcmRlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBMaXN0XG4kYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjogJGFjY29yZGlvbm1lbnUtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHRvZ2dsZSBiYWNrZ3JvdW5kIHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg6IDQwcHggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgdG9nZ2xlIGJhY2tncm91bmQgaGVpZ2h0LlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtYWNjb3JkaW9uLW1lbnUtbGVmdC1yaWdodC1hcnJvd3Mge1xuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50Om5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplLCAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xICogKCRhY2NvcmRpb25tZW51LWFycm93LXNpemUgLyAyKTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgfVxuICB9XG5cbiAgJi5hbGlnbi1sZWZ0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgbGVmdDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxcmVtO1xuICB9XG59XG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudSB7XG5cbiAgLmFjY29yZGlvbi1tZW51IHtcbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgICBib3JkZXItcmlnaHQ6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLWxlZnQ6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgIH1cbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgQGlmICRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLmlzLWFjY29yZGlvbi1zdWJtZW51IGEge1xuICAgICAgcGFkZGluZzogJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgIC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luLCByaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRhY2NvcmRpb25tZW51LWFycm93cyB7XG4gICAgICBAaW5jbHVkZSB6Zi1hY2NvcmRpb24tbWVudS1sZWZ0LXJpZ2h0LWFycm93cztcblxuICAgICAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPSd0cnVlJ10gPiBhOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51IGxpIHtcbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5oYXMtc3VibWVudS10b2dnbGUgPiBhIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4gIH1cblxuICAvLyBTdWJtZW51IHRvZ2dsZVxuICAuc3VibWVudS10b2dnbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLXJpZ2h0fTogMDtcblxuICAgIHdpZHRoOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiAgICBoZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyO1xuXG4gICAgQGlmICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQge1xuICAgICAgYmFja2dyb3VuZDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAvLyBBZGQgdGhlIGFycm93IHRvIHRoZSB0b2dnbGVcbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoNnB4LCAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG5cbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICB9XG4gIH1cblxuICAvLyBSb3RhdGUgdGhlIGFycm93IHdoZW4gbWVudSBpcyBvcGVuXG4gIC5zdWJtZW51LXRvZ2dsZVthcmlhLWV4cGFuZGVkPSd0cnVlJ106OmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgtMSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgfVxuXG4gIC5zdWJtZW51LXRvZ2dsZS10ZXh0IHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbWVudVxuLy8vL1xuXG4vLy8gTWFyZ2luIG9mIGEgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIExlZnQtaGFuZCBtYXJnaW4gb2YgYSBuZXN0ZWQgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgaXRlbXMgaW4gYSBwaWxsIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1pdGVtcy1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBzaW1wbGUgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LXNpbXBsZS1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhbiBpY29uIGFuZCB0ZXh0IGluIGEgbWVudSBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBzdGF0ZS4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYGFjdGl2ZWAgd2l0aCBgaXMtYWN0aXZlYC4gXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgYGFjdGl2ZWAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LXN0YXRlLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBjZW50ZXJlZC4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYC5tZW51LWNlbnRlcmVkID4gLm1lbnVgIHdpdGggYC5tZW51LmFsaWduLWNlbnRlcmAuIFxuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IGBtZW51LWNlbnRlcmVkYCB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciB1c2luZyBgaWNvbi0qYCBjbGFzc2VzIHdpdGhvdXQgYC5pY29uc2AgY2xhc3Nlc1xuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IHRoaXMgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtaWNvbnMtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgYSBNZW51LlxuQG1peGluIG1lbnUtYmFzZSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgbGkge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgfVxuXG4gIGEsXG4gIC5idXR0b24ge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkbWVudS1pdGVtcy1wYWRkaW5nO1xuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9mIGlubmVyIGVsZW1lbnRzXG4gIGlucHV0LFxuICBzZWxlY3QsXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIGlucHV0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cblxuLy8vIEV4cGFuZHMgdGhlIGl0ZW1zIG9mIGEgTWVudSwgc28gZWFjaCBpdGVtIGlzIHRoZSBzYW1lIHdpZHRoLlxuQG1peGluIG1lbnUtZXhwYW5kIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgPiBsaSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFsaWduIG1lbnUgaXRlbXMuXG5AbWl4aW4gbWVudS1hbGlnbigkYWxpZ25tZW50KSB7XG4gIEBpZiAkYWxpZ25tZW50ID09IGxlZnQge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi52ZXJ0aWNhbCBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG5cbiAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgICAgfVxuXG4gICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGFsaWdubWVudCA9PSBjZW50ZXIge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgYSBNZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbaG9yaXpvbnRhbF0gLSBEaXJlY3Rpb24gb2YgdGhlIE1lbnUuIENhbiBiZSBgaG9yaXpvbnRhbGAgb3IgYHZlcnRpY2FsYC5cbkBtaXhpbiBtZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbXBsZSBNZW51LCB3aGljaCBoYXMgbm8gcGFkZGluZyBvciBob3ZlciBzdGF0ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgWyRnbG9iYWwtbGVmdF0gLSBEaXJlY3Rpb24gb2YgdGhlIG1lbnUuIFRoaXMgZWZmZWN0cyB0aGUgc2lkZSBvZiB0aGUgYDxsaT5gIHRoYXQgcmVjZWl2ZXMgdGhlIG1hcmdpbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1hcmdpbiBbJG1lbnUtc2ltcGxlLW1hcmdpbl0gLSBUaGUgbWFyZ2luIHRvIGFwcGx5IHRvIGVhY2ggYDxsaT5gLlxuQG1peGluIG1lbnUtc2ltcGxlKCRkaXI6ICRnbG9iYWwtbGVmdCwgJG1hcmdpbjogJG1lbnUtc2ltcGxlLW1hcmdpbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgbGkgKyBsaSB7XG4gICAgbWFyZ2luLSN7JGRpcn06ICRtYXJnaW47XG4gIH1cblxuICBhIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBuZXN0ZWQgTWVudSwgYnkgYWRkaW5nIGBtYXJnaW4tbGVmdGAgdG8gdGhlIG1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJG1hcmdpbiBbJG1lbnUtbmVzdGVkLW1hcmdpbl0gLSBMZW5ndGggb2YgdGhlIG1hcmdpbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRuZXN0ZWQtYWxpZ25tZW50IFtsZWZ0XSAtIEFsaWdubWVudCBvZiB0aGUgbmVzdGVkIGNsYXNzXG5AbWl4aW4gbWVudS1uZXN0ZWQoXG4gICRtYXJnaW46ICRtZW51LW5lc3RlZC1tYXJnaW4sXG4gICRuZXN0ZWQtYWxpZ25tZW50OiBsZWZ0XG4pIHtcbiAgQGlmICRuZXN0ZWQtYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJG1hcmdpbjtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbWFyZ2luO1xuICB9XG5cbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBpY29ucyBpbiBtZW51cy5cbkBtaXhpbiBtZW51LWljb25zKCkge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBpbWcsXG4gICAgaSxcbiAgICBzdmcge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgKyBzcGFuIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgcG9zaXRpb24gY2xhc3NlcyBmb3IgaWNvbnMgd2l0aGluIGEgbWVudS5cbkBtaXhpbiBtZW51LWljb24tcG9zaXRpb24oJHBvc2l0aW9uOiBsZWZ0LCAkc3BhY2luZzogJG1lbnUtaWNvbi1zcGFjaW5nKSB7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkc3BhY2luZztcblxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvICRzcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46ICRzcGFjaW5nIGF1dG8gMDtcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1lbnUtdGV4dCB7XG4gIHBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbkBtaXhpbiBtZW51LXN0YXRlLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gIGNvbG9yOiAkbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVudSB7XG4gIC5tZW51IHtcbiAgICBAaW5jbHVkZSBtZW51LWJhc2U7XG5cbiAgICAvLyBEZWZhdWx0IG9yaWVudGF0aW9uOiBob3Jpem9udGFsXG4gICAgJiwgJi5ob3Jpem9udGFsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgIH1cblxuICAgIC8vIFZlcnRpY2FsIG9yaWVudGF0aW9uIG1vZGlmaWVyXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aCBtb2RpZmllciBmb3IgaG9yaXpvbnRhbCBvcmllbnRhdGlvblxuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgfVxuXG4gICAgLy8gU2ltcGxlXG4gICAgJi5zaW1wbGUge1xuICAgICAgQGluY2x1ZGUgbWVudS1zaW1wbGU7XG4gICAgfVxuXG4gICAgLy8gQnJlYWtwb2ludCBzcGVjaWZpYyB2ZXJzaW9uc1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiBmYWxzZSkge1xuICAgICAgJi4jeyQtemYtc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tZXhwYW5kZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tc2ltcGxlIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYubmVzdGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkO1xuICAgIH1cblxuICAgIC8vIEljb24gQmFzZSBTdHlsZXNcbiAgICAmLmljb25zIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG4gICAgfVxuXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG4gICAgQGlmICRtZW51LWljb25zLWJhY2stY29tcGF0IHtcbiAgICAgICYuaWNvbi10b3AsXG4gICAgICAmLmljb24tcmlnaHQsXG4gICAgICAmLmljb24tYm90dG9tLFxuICAgICAgJi5pY29uLWxlZnQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWljb25zO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEljb24gTGVmdFxuICAgICYuaWNvbi1sZWZ0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBJY29uIFJpZ2h0XG4gICAgJi5pY29uLXJpZ2h0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihyaWdodCk7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBUb3BcbiAgICAmLmljb24tdG9wIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbih0b3ApO1xuICAgIH1cblxuICAgIC8vIEljb24gQm90dG9tXG4gICAgJi5pY29uLWJvdHRvbSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24oYm90dG9tKTtcbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAuaXMtYWN0aXZlID4gYSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXN0YXRlLWFjdGl2ZTtcbiAgICB9XG4gICAgXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG4gICAgQGlmICRtZW51LXN0YXRlLWJhY2stY29tcGF0IHtcbiAgICAgIC5hY3RpdmUgPiBhIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1zdGF0ZS1hY3RpdmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gbGVmdFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLWxlZnR9IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24obGVmdCk7XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gcmlnaHRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihyaWdodCk7XG5cbiAgICAgIC5uZXN0ZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkbmVzdGVkLWFsaWdubWVudDogcmlnaHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFsaWduIGNlbnRlclxuICAgICYuYWxpZ24tY2VudGVyIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24oY2VudGVyKTtcbiAgICB9XG5cbiAgICAubWVudS10ZXh0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtdGV4dDtcbiAgICB9XG4gIH1cblxuICBAaWYgJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQge1xuICAgIC5tZW51LWNlbnRlcmVkIHtcbiAgICAgID4gLm1lbnUge1xuICAgICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByZXZlbnQgRk9VQyB3aGVuIHVzaW5nIHRoZSBSZXNwb25zaXZlIE1lbnUgcGx1Z2luXG4gIC5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBiYWRnZVxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0ZSB0ZXh0IGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGJhZGdlLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGJhZGdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbSAhZGVmYXVsdDtcblxuLy8vIE1pbmltdW0gd2lkdGggb2YgYSBiYWRnZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1taW53aWR0aDogMi4xZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgYSBiYWRnZS5cbkBtaXhpbiBiYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLXdpZHRoOiAkYmFkZ2UtbWlud2lkdGg7XG4gIHBhZGRpbmc6ICRiYWRnZS1wYWRkaW5nO1xuXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICBmb250LXNpemU6ICRiYWRnZS1mb250LXNpemU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tYmFkZ2Uge1xuICAuYmFkZ2Uge1xuICAgIEBpbmNsdWRlIGJhZGdlO1xuXG4gICAgYmFja2dyb3VuZDogJGJhZGdlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRiYWRnZS1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJhZGdlLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGNvbG9yLCAoJGJhZGdlLWNvbG9yLCAkYmFkZ2UtY29sb3ItYWx0KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b24tZ3JvdXBcbi8vLy9cblxuLy8vIE1hcmdpbiBmb3IgYnV0dG9uIGdyb3Vwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJyAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gbnVtYmVyIG9mIGJ1dHRvbnMgdGhhdCBjYW4gYmUgaW4gYW4gZXZlbi13aWR0aCBidXR0b24gZ3JvdXAuIChPbmx5IG5lZWRlZCB3aGVuICRnbG9iYWwtZmxleGJveDogZmFsc2U7KVxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDYgIWRlZmF1bHQ7XG5cbi8vLyBEZXRlcm1pbmVzIGlmICRidXR0b24tcmFkaXVzIGlzIGFwcGxpZWQgdG8gZWFjaCBidXR0b24gb3IgdGhlIGJ1dHRvbiBncm91cCBhcyBhIHdob2xlLiBVc2UgJGdsb2JhbC1yYWRpdXMgaW4gX3NldHRpbmdzLnNjc3MgdG8gY2hhbmdlIHJhZGl1cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBBZGQgc3R5bGVzIGZvciBhIGJ1dHRvbiBncm91cCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRjaGlsZC1zZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzcGFjaW5nIFskYnV0dG9uZ3JvdXAtc3BhY2luZ10gLSBTcGFjaW5nIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAoXG4gICRjaGlsZC1zZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yLFxuICAkc3BhY2luZzogJGJ1dHRvbmdyb3VwLXNwYWNpbmdcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLWJvdHRvbTogJGJ1dHRvbmdyb3VwLW1hcmdpbjtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG4gIEBlbHNlIHtcbiAgICBmb250LXNpemU6IDA7XG4gIH1cblxuICAjeyRjaGlsZC1zZWxlY3Rvcn0ge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgfVxuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtd2lkdGggYnV0dG9uIGdyb3VwLCBtYWtpbmcgZWFjaCBidXR0b24gZXF1YWwgd2lkdGguXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzcGFjaW5nIFskYnV0dG9uZ3JvdXAtc3BhY2luZ10gLSBTcGFjaW5nIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtZXhwYW5kKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJHNwYWNpbmc6ICRidXR0b25ncm91cC1zcGFjaW5nLFxuICAkY291bnQ6IG51bGxcbikge1xuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IC0kc3BhY2luZztcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBPbmUgY2hpbGRcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRzcGFjaW5nfSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gVHdvIG9yIG1vcmUgY2hpbGRyZWVuXG4gICAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRidXR0b25ncm91cC1leHBhbmQtbWF4IHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRpfSkge1xuICAgICAgICAgICYsICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIH4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCN7cGVyY2VudGFnZSgxIC8gJGkpfSAtICN7JHNwYWNpbmd9KTtcbiAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nICogLSRidXR0b25ncm91cC1leHBhbmQtbWF4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gU3RhY2tzIHRoZSBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIHRoZSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXN0YWNrKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbi8vLyBVbi1zdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtdW5zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAwO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cCB7XG4gIC5idXR0b24tZ3JvdXAge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cDtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aCBHcm91cFxuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLWV4cGFuZDtcbiAgICB9XG5cbiAgICAvLyBDb2xvcnNcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAgICYuI3skbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAmLiN7JG5hbWV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQsXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCxcbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3RhY2s7XG5cbiAgICAgICYuZXhwYW5kZWQge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtZXhwYW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtdW5zdGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjYWxsb3V0XG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmFkZSB2YWx1ZSBmb3IgY2FsbG91dCBiYWNrZ3JvdW5kcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgc3R5bGUgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIExpc3RcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGlubmVyIHBhZGRpbmcgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLCBpZiB0aGUgY2FsbG91dCBoYXMgYSBkYXJrIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgcmFkaXVzIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFtb3VudCB0byB0aW50IGxpbmtzIHVzZWQgd2l0aGluIGNvbG9yZWQgcGFuZWxzLiBTZXQgdG8gYGZhbHNlYCB0byBkaXNhYmxlIHRoaXMgZmVhdHVyZS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBCb29sZWFuXG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhIGNhbGxvdXQsIGluY2x1ZGluZyBwYWRkaW5nIGFuZCBtYXJnaW4uXG5AbWl4aW4gY2FsbG91dC1iYXNlKCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogJGNhbGxvdXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkY2FsbG91dC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJGNhbGxvdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkY2FsbG91dC1yYWRpdXM7XG5cbiAgLy8gUmVzcGVjdCB0aGUgcGFkZGluZywgZm9vbC5cbiAgPiA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSBxdWljayBzdHlsZXMgZm9yIGEgY2FsbG91dCB1c2luZyBhIHNpbmdsZSBjb2xvciBhcyBhIGJhc2VsaW5lLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dC1zdHlsZSgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgJGJhY2tncm91bmQ6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlKTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkY2FsbG91dC1mb250LWNvbG9yLCAkY2FsbG91dC1mb250LWNvbG9yLWFsdCkpO1xufVxuXG5AbWl4aW4gY2FsbG91dC1zaXplKCRwYWRkaW5nKSB7XG4gIHBhZGRpbmctdG9wOiAkcGFkZGluZztcbiAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcbiAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbn1cblxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FsbG91dC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gIEBpbmNsdWRlIGNhbGxvdXQtYmFzZTtcbiAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jYWxsb3V0IHtcbiAgLmNhbGxvdXQge1xuICAgIEBpbmNsdWRlIGNhbGxvdXQ7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc2l6ZSgwLjVyZW0pO1xuICAgIH1cblxuICAgICYubGFyZ2Uge1xuICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKDNyZW0pO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2FyZFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FyZC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhcmRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FyZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FyZC1kaXZpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgc3R5bGUuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNhcmQgc2hhZG93LlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYXJkLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbi5cbi8vLyBAdHlwZSBudW1iZXJcbiRjYXJkLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FyZCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIGZvbnQgY29sb3Igb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXJnaW4gLSBCb3R0b20gbWFyZ2luIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGJvcmRlciAtIEJvcmRlciBhcm91bmQgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmFkaXVzIC0gYm9yZGVyIHJhZGl1cyBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRzaGFkb3cgLSBib3ggc2hhZG93IG9mIHRoZSBjYXJkLlxuQG1peGluIGNhcmQtY29udGFpbmVyKFxuICAkYmFja2dyb3VuZDogJGNhcmQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkY2FyZC1mb250LWNvbG9yLFxuICAkbWFyZ2luOiAkY2FyZC1tYXJnaW4tYm90dG9tLFxuICAkYm9yZGVyOiAkY2FyZC1ib3JkZXIsXG4gICRyYWRpdXM6ICRjYXJkLWJvcmRlci1yYWRpdXMsXG4gICRzaGFkb3c6ICRjYXJkLXNoYWRvd1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LWdyb3c6IDE7XG4gIH1cblxuICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcblxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FyZCBkaXZpZGVyLlxuQG1peGluIGNhcmQtZGl2aWRlcihcbiAgJGJhY2tncm91bmQ6ICRjYXJkLWRpdmlkZXItYmFja2dyb3VuZCxcbiAgJHBhZGRpbmc6ICRjYXJkLXBhZGRpbmdcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG5cbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuXG4gICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FyZCBzZWN0aW9uLlxuQG1peGluIGNhcmQtc2VjdGlvbihcbiAgJHBhZGRpbmc6ICRjYXJkLXBhZGRpbmdcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxuXG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jYXJkIHtcbiAgLmNhcmQge1xuICAgIEBpbmNsdWRlIGNhcmQtY29udGFpbmVyO1xuICB9XG5cbiAgLmNhcmQtZGl2aWRlciB7XG4gICAgQGluY2x1ZGUgY2FyZC1kaXZpZGVyO1xuICB9XG5cbiAgLmNhcmQtc2VjdGlvbiB7XG4gICAgQGluY2x1ZGUgY2FyZC1zZWN0aW9uO1xuICB9XG5cbiAgLy8gRm9yIElFIDExIC0gRmxleGJ1Z1xuICAvLyBodHRwczovL2dpdGh1Yi5jb20vcGhpbGlwd2FsdG9uL2ZsZXhidWdzL2lzc3Vlcy83NVxuICAuY2FyZC1pbWFnZSB7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjbG9zZS1idXR0b25cbi8vLy9cblxuLy8vIERlZmF1bHQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi4gVGhlIGZpcnN0IHZhbHVlIHNob3VsZCBiZSBgcmlnaHRgIG9yIGBsZWZ0YCwgYW5kIHRoZSBzZWNvbmQgdmFsdWUgc2hvdWxkIGJlIGB0b3BgIG9yIGBib3R0b21gLlxuLy8vIEB0eXBlIExpc3RcbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wICFkZWZhdWx0O1xuXG4vLy8gUmlnaHQgKG9yIGxlZnQpIG9mZnNldChzKSBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAoXG4gIHNtYWxsOiAwLjY2cmVtLFxuICBtZWRpdW06IDFyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gVG9wIChvciBib3R0b20pIG9mZnNldChzKSBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogKFxuICBzbWFsbDogMC4zM2VtLFxuICBtZWRpdW06IDAuNXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZShzKSBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXG4gIHNtYWxsOiAxLjVlbSxcbiAgbWVkaXVtOiAyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxpbmUtaGVpZ2h0IG9mIHRoZSBjbG9zZSBidXR0b24uIEl0IGFmZmVjdHMgdGhlIHNwYWNpbmcgb2YgdGhlIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBDb2xvclxuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uIHdoZW4gYmVpbmcgaG92ZXJlZCBvbi5cbi8vLyBAdHlwZSBDb2xvclxuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2sgIWRlZmF1bHQ7XG5cblxuLy8vIEdldCB0aGUgc2l6ZSBhbmQgcG9zaXRpb24gZm9yIGEgY2xvc2UgYnV0dG9uLiBJZiB0aGUgaW5wdXQgdmFsdWUgaXMgYSBudW1iZXIsIHRoZSBudW1iZXIgaXMgcmV0dXJuZWQuIElmIHRoZSBpbnB1dCB2YWx1ZSBpcyBhIGNvbmZpZyBtYXAgYW5kIHRoZSBtYXAgaGFzIHRoZSBrZXkgYCRzaXplYCwgdGhlIHZhbHVlIGlzIHJldHVybmVkLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkdmFsdWUgLSBBIG51bWJlciBvciBtYXAgdGhhdCByZXByZXNlbnRzIHRoZSBzaXplIG9yIHBvc2l0aW9uIHZhbHVlKHMpIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIFRoZSBzaXplIG9mIHRoZSBjbG9zZSBidXR0b24gdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSBUaGUgZ2l2ZW4gbnVtYmVyIG9yIHRoZSB2YWx1ZSBmb3VuZCBpbiB0aGUgbWFwLlxuQGZ1bmN0aW9uIC16Zi1nZXQtc2l6ZS12YWwoJHZhbHVlLCAkc2l6ZSkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgLy8gSWYgaXQgaXMsIGp1c3QgcmV0dXJuIHRoZSBudW1iZXJcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIENoZWNrIGlmIHRoZSBzaXplIG5hbWUgZXhpc3RzIGluIHRoZSB2YWx1ZSBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJHZhbHVlLCAkc2l6ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJHZhbHVlLCAkc2l6ZSk7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHNpemUgYW5kIHBvc2l0aW9uIG9mIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgW21lZGl1bV0gLSBUaGUgc2l6ZSB0byB1c2UuIFNldCB0byBgc21hbGxgIHRvIGNyZWF0ZSBhIHNtYWxsIGNsb3NlIGJ1dHRvbi4gVGhlICdtZWRpdW0nIHZhbHVlcyBkZWZpbmVkIGluIGAkY2xvc2VidXR0b24tKmAgdmFyaWFibGVzIHdpbGwgYmUgdXNlZCBhcyB0aGUgZGVmYXVsdCBzaXplIGFuZCBwb3NpdGlvbiBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuQG1peGluIGNsb3NlLWJ1dHRvbi1zaXplKCRzaXplKSB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gICN7JHh9OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbCwgJHNpemUpO1xuICAjeyR5fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsLCAkc2l6ZSk7XG4gIGZvbnQtc2l6ZTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tc2l6ZSwgJHNpemUpO1xuICBsaW5lLWhlaWdodDogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tbGluZWhlaWdodCwgJHNpemUpO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2xvc2UgYnV0dG9uLCB1c2luZyB0aGUgc3R5bGVzIGluIHRoZSBzZXR0aW5ncyB2YXJpYWJsZXMuXG5AbWl4aW4gY2xvc2UtYnV0dG9uIHtcbiAgJHg6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDEpO1xuICAkeTogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMik7XG5cbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3I7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbiB7XG4gIC5jbG9zZS1idXR0b24ge1xuICAgIEBpbmNsdWRlIGNsb3NlLWJ1dHRvbjtcblxuICAgICYuc21hbGwgeyBAaW5jbHVkZSBjbG9zZS1idXR0b24tc2l6ZShzbWFsbCkgfVxuICAgICYsICYubWVkaXVtIHsgQGluY2x1ZGUgY2xvc2UtYnV0dG9uLXNpemUobWVkaXVtKSB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJlc3BvbnNpdmUtZW1iZWRcbi8vLy9cblxuLy8vIE1hcmdpbiBiZWxvdyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gQXNwZWN0IHJhdGlvcyB1c2VkIHRvIGRldGVybWluZSBwYWRkaW5nLWJvdHRvbSBvZiByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lcnMuXG4vLy8gQHR5cGUgTWFwXG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcbiAgZGVmYXVsdDogNCBieSAzLFxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxuKSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ3xMaXN0fSAkcmF0aW8gW2RlZmF1bHRdIC0gUmF0aW8gb2YgdGhlIGNvbnRhaW5lci4gQ2FuIGJlIGEga2V5IGZyb20gdGhlIGAkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3NgIG1hcCBvciBhIGxpc3QgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuQG1peGluIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KSB7XG4gIEBpZiB0eXBlLW9mKCRyYXRpbykgPT0gJ3N0cmluZycge1xuICAgICRyYXRpbzogbWFwLWdldCgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsICRyYXRpbyk7XG4gIH1cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b207XG4gIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgaWZyYW1lLFxuICBvYmplY3QsXG4gIGVtYmVkLFxuICB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQge1xuICAucmVzcG9uc2l2ZS1lbWJlZCxcbiAgLmZsZXgtdmlkZW8ge1xuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KTtcblxuICAgICRyYXRpb3M6IG1hcC1yZW1vdmUoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLGRlZmF1bHQpO1xuXG4gICAgQGVhY2ggJG5hbWUsICRyYXRpbyBpbiAkcmF0aW9zIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBGaW5kcyB0aGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3Igb2YgdHdvIGludGVnZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhIC0gRmlyc3QgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiIC0gU2Vjb25kIG51bWJlciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yLlxuQGZ1bmN0aW9uIGdjZCgkYSwgJGIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL0dyZWF0ZXN0X2NvbW1vbl9kaXZpc29yI0phdmFTY3JpcHRcbiAgQGlmICgkYiAhPSAwKSB7XG4gICAgQHJldHVybiBnY2QoJGIsICRhICUgJGIpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIGFicygkYSk7XG4gIH1cbn1cblxuLy8vIEhhbmRsZXMgZGVjaW1hbCBleHBvbmVudHMgYnkgdHJ5aW5nIHRvIGNvbnZlcnQgdGhlbSBpbnRvIGEgZnJhY3Rpb24gYW5kIHRoZW4gdXNlIGEgbnRoLXJvb3QtYWxnb3JpdGhtIGZvciBwYXJ0cyBvZiB0aGUgY2FsY3VsYXRpb25cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBiYXNlIG51bWJlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGV4cG9uZW50IC0gVGhlIGV4cG9uZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHByb2R1Y3Qgb2YgdGhlIGV4cG9uZW50aWF0aW9uLlxuQGZ1bmN0aW9uIHBvdygkYmFzZSwgJGV4cG9uZW50LCAkcHJlYzogMTYpIHtcbiAgQGlmIChmbG9vcigkZXhwb25lbnQpICE9ICRleHBvbmVudCkge1xuICAgICRwcmVjMiA6IHBvdygxMCwgJHByZWMpO1xuICAgICRleHBvbmVudDogcm91bmQoJGV4cG9uZW50ICogJHByZWMyKTtcbiAgICAkZGVub21pbmF0b3I6IGdjZCgkZXhwb25lbnQsICRwcmVjMik7XG4gICAgQHJldHVybiBudGgtcm9vdChwb3coJGJhc2UsICRleHBvbmVudCAvICRkZW5vbWluYXRvciksICRwcmVjMiAvICRkZW5vbWluYXRvciwgJHByZWMpO1xuICB9XG5cbiAgJHZhbHVlOiAkYmFzZTtcbiAgQGlmICRleHBvbmVudCA+IDEge1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogJGJhc2U7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRleHBvbmVudCA8IDEge1xuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggLSRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAvICRiYXNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5AZnVuY3Rpb24gbnRoLXJvb3QoJG51bSwgJG46IDIsICRwcmVjOiAxMikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvTnRoX3Jvb3QjSmF2YVNjcmlwdFxuICAkeDogMTtcblxuICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRwcmVjIHtcbiAgICAkeDogMSAvICRuICogKCgkbiAtIDEpICogJHggKyAoJG51bSAvIHBvdygkeCwgJG4gLSAxKSkpO1xuICB9XG5cbiAgQHJldHVybiAkeDtcbn1cblxuLy8vIENhbGN1bGF0ZXMgdGhlIGhlaWdodCBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIHdpZHRoIGZvciBhIGdpdmVuIHJhdGlvLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhdGlvIC0gUmF0aW8gdG8gdXNlIHRvIGNhbGN1bGF0ZSB0aGUgaGVpZ2h0LCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG4vLy8gQHJldHVybiB7TnVtYmVyfSBBIHBlcmNlbnRhZ2UgdmFsdWUgZm9yIHRoZSBoZWlnaHQgcmVsYXRpdmUgdG8gdGhlIHdpZHRoIG9mIGEgcmVzcG9uc2l2ZSBjb250YWluZXIuXG5AZnVuY3Rpb24gcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pIHtcbiAgJHc6IG50aCgkcmF0aW8sIDEpO1xuICAkaDogbnRoKCRyYXRpbywgMyk7XG4gIEByZXR1cm4gJGggLyAkdyAqIDEwMCU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBsYWJlbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0ZSB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBvZiBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBiYXNlIHN0eWxlcyBmb3IgYSBsYWJlbC5cbkBtaXhpbiBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogJGxhYmVsLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogJGxhYmVsLXJhZGl1cztcblxuICBmb250LXNpemU6ICRsYWJlbC1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWxhYmVsIHtcbiAgLmxhYmVsIHtcbiAgICBAaW5jbHVkZSBsYWJlbDtcblxuICAgIGJhY2tncm91bmQ6ICRsYWJlbC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbGFiZWwtY29sb3I7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRsYWJlbC1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRjb2xvciwgKCRsYWJlbC1jb2xvciwgJGxhYmVsLWNvbG9yLWFsdCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbWVkaWEtb2JqZWN0XG4vLy8vXG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gTGVmdCBhbmQgcmlnaHQgcGFkZGluZyBvbiBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBvZiBpbWFnZXMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LCB3aGVuIHRoZSBvYmplY3QgaXMgc3RhY2tlZCB2ZXJ0aWNhbGx5LiBTZXQgdG8gJ2F1dG8nIHRvIHVzZSB0aGUgaW1hZ2UncyBuYXR1cmFsIHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtZWRpYSBvYmplY3QgY29udGFpbmVyLlxuQG1peGluIG1lZGlhLW9iamVjdC1jb250YWluZXIge1xuICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIGJsb2NrKTtcbiAgbWFyZ2luLWJvdHRvbTogJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b207XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cblxuICBpbWcge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgfVxuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICYuc3RhY2stZm9yLSN7JC16Zi16ZXJvLWJyZWFrcG9pbnR9IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3Igc2VjdGlvbnMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGluZyBbJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZ10gLSBQYWRkaW5nIGJldHdlZW4gc2VjdGlvbnMuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LXNlY3Rpb24oJHBhZGRpbmc6ICRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmcpIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgfVxuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogJHBhZGRpbmc7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQ6bm90KDpudGgtY2hpbGQoMikpIHtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1sZWZ0fTogJHBhZGRpbmc7XG4gIH1cblxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLnN0YWNrLWZvci0jeyQtemYtemVyby1icmVha3BvaW50fSAmIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zdGFjaztcbiAgICB9XG4gIH1cblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAmLm1haW4tc2VjdGlvbiB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJi5taWRkbGUge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAmLmJvdHRvbSB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdG8gc3RhY2sgc2VjdGlvbnMgb2YgYSBtZWRpYSBvYmplY3QuIEFwcGx5IHRoaXMgdG8gdGhlIHNlY3Rpb24gZWxlbWVudHMsIG5vdCB0aGUgY29udGFpbmVyLlxuQG1peGluIG1lZGlhLW9iamVjdC1zdGFjayB7XG4gIHBhZGRpbmc6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIGltZyB7XG4gICAgd2lkdGg6ICRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdCB7XG4gIC5tZWRpYS1vYmplY3Qge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1jb250YWluZXI7XG4gIH1cblxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zZWN0aW9uO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBvZmYtY2FudmFzXG4vLy8vXG5cbi8vLyBXaWR0aCBtYXAgb2YgYSBsZWZ0L3JpZ2h0IG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTWFwXG4kb2ZmY2FudmFzLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgbWFwIG9mIGEgdG9wL2JvdHRvbSBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE1hcFxuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBmb3IgdGhlIG9mZi1jYW52YXMgb3ZlcmxhcCBwYW5lbC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRvZmZjYW52YXMtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC43KSAhZGVmYXVsdDtcblxuLy8vIElubmVyIGJveCBzaGFkb3cgc2l6ZSBmb3IgdGhlIG9mZi1jYW52YXMgcHVzaCBwYW5lbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemU6IDIwcHggIWRlZmF1bHQ7XG5cbi8vLyBJbm5lciBib3ggc2hhZG93IGNvbG9yIGZvciB0aGUgb2ZmLWNhbnZhcyBwdXNoIHBhbmVsLlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIGNvbnRlbnQgb3ZlcmxheS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg6IDExICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHdpdGggdGhlIGBwdXNoYCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMTIgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgd2l0aCB0aGUgYG92ZXJsYXBgIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAxMyAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB1c2luZyB0aGUgYHJldmVhbC1mb3ItKmAgY2xhc3NlcyBvciBtaXhpbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogMTIgIWRlZmF1bHQ7XG5cbi8vLyBMZW5ndGggb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cyAhZGVmYXVsdDtcblxuLy8vIFRpbWluZyBmdW5jdGlvbiBvZiB0aGUgYW5pbWF0aW9uIG9uIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgS2V5d29yZFxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYSByZXZlYWxlZCBvZmYtY2FudmFzIHdpbGwgYmUgZml4ZWQtcG9zaXRpb24sIGFuZCBzY3JvbGwgd2l0aCB0aGUgc2NyZWVuLlxuLy8vIEB0eXBlIEJvb2xcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIG92ZXJsYXkgdGhhdCBhcHBlYXJzIHdoZW4gYW4gb2ZmLWNhbnZhcyBwYW5lbCBpcyBvcGVuLlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gQ1NTIGNsYXNzIHVzZWQgZm9yIHRoZSBtYWluIGNvbnRlbnQgYXJlYS4gVGhlIG9mZi1jYW52YXMgbWl4aW5zIHVzZSB0aGlzIHRvIHRhcmdldCB0aGUgcGFnZSBjb250ZW50LlxuJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JyAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYmFzZWxpbmUgc3R5bGVzIGZvciBvZmYtY2FudmFzLiBUaGlzIENTUyBpcyByZXF1aXJlZCB0byBtYWtlIHRoZSBvdGhlciBwaWVjZXMgd29yay5cbkBtaXhpbiBvZmYtY2FudmFzLWJhc2ljcyB7XG5cbiAgLy8vIFRyYW5zZm9ybSBkZXByZWNhdGVkIHNpemUgc2V0dGluZ3MgaW50byBtYXAgJiBzaG93IHdhcm5pbmdcbiAgQGlmIHZhcmlhYmxlLWV4aXN0cyhvZmZjYW52YXMtc2l6ZSkge1xuICAgICRvZmZjYW52YXMtc2l6ZXM6IChzbWFsbDogJG9mZmNhbnZhcy1zaXplLCBtZWRpdW06ICRvZmZjYW52YXMtc2l6ZSkgIWdsb2JhbDtcbiAgICBAd2FybiAnJG9mZmNhbnZhcy1zaXplIGlzIGRlcHJlY2F0ZWQgYW5kIG5vdCB1c2VkIGFueW1vcmUhIFBsZWFzZSB1cGRhdGUgeW91ciBzZXR0aW5ncyBhbmQgdXNlIHRoZSBtYXAgJG9mZmNhbnZhcy1zaXplcyBpbnN0ZWFkJztcbiAgfVxuICBAaWYgdmFyaWFibGUtZXhpc3RzKG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplKSB7XG4gICAgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKHNtYWxsOiAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUsIG1lZGl1bTogJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplKSAhZ2xvYmFsO1xuICAgIEB3YXJuICckb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUgaXMgZGVwcmVjYXRlZCBhbmQgbm90IHVzZWQgYW55bW9yZSEgUGxlYXNlIHVwZGF0ZSB5b3VyIHNldHRpbmdzIGFuZCB1c2UgdGhlIG1hcCAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzIGluc3RlYWQnO1xuICB9XG5cbiAgLy8gQ2hlY2tzIHRoZSB6LWluZGV4ZXMgYW5kIGluY3JlYXNlIHRoZW0gZHVlIHRvIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LlxuICAvLyBUaGlzIGlzIG5lY2Vzc2FyeSBiZWNhdXNlIHRoZSBvdmVybGF5J3Mgei1pbmRleCBpcyBuZXcgc2luY2UgdjYuNCBhbmQgbWF5IGJlIGlkZW50aWNhbCB0byB0aGUgdXNlciBjdXN0b20gc2V0dGluZ3Mgb2YgdGhlIHB1c2ggei1pbmRleC5cbiAgQGlmICRvZmZjYW52YXMtcHVzaC16aW5kZXggPD0gJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCB7ICRvZmZjYW52YXMtcHVzaC16aW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggKyAxICFnbG9iYWw7IH1cbiAgQGlmICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXggPD0gJG9mZmNhbnZhcy1wdXNoLXppbmRleCB7ICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXggKyAxICFnbG9iYWw7IH1cbiAgQGlmICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCA8PSAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4IHsgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4ICsgMSAhZ2xvYmFsOyB9XG5cbiAgLy8gSGlkZXMgb3ZlcmZsb3cgb24gYm9keSB3aGVuIGFuIG9mZi1jYW52YXMgcGFuZWwgaXMgb3Blbi5cbiAgLmlzLW9mZi1jYW52YXMtb3BlbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgb3ZlcmxheSAoZ2VuZXJhdGVkIGJ5IEphdmFTY3JpcHQpXG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4O1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmcsIHZpc2liaWxpdHkgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuXG4gICAgYmFja2dyb3VuZDogJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ7XG5cbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxuXG4gICAgJi5pcy1jbG9zYWJsZSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgJi5pcy1vdmVybGF5LWFic29sdXRlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG5cbiAgICAmLmlzLW92ZXJsYXktZml4ZWQge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYW4gb2ZmLWNhbnZhcyB3cmFwcGVyLlxuQG1peGluIG9mZi1jYW52YXMtd3JhcHBlcigpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgcGFuZWwuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNlKFxuICAkYmFja2dyb3VuZDogJG9mZmNhbnZhcy1iYWNrZ3JvdW5kLFxuICAkdHJhbnNpdGlvbjogJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nLFxuICAkZml4ZWQ6IHRydWVcbikge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG5cbiAgQGlmICRmaXhlZCA9PSB0cnVlIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gIC8vIFNldCB0aGUgb2ZmLWNhbnZhcyB6LWluZGV4LlxuICB6LWluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4O1xuXG4gIC8vIEluY3JlYXNlIENTUyBzcGVjaWZpY2l0eVxuICAmLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleDtcbiAgfVxuXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuXG4gIC8vIEhpZGUgaW5hY3RpdmUgb2ZmLWNhbnZhcyB3aXRoaW4gdGhlIGNvbnRlbnQgdGhhdCBoYXZlIHRoZSBzYW1lIHBvc2l0aW9uXG4gICYuaXMtY2xvc2VkIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAvLyBPdmVybGFwIG9ubHkgc3R5bGVzLlxuICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDtcblxuICAgICYuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiAkb2ZmY2FudmFzLXNoYWRvdztcbiAgICB9XG4gIH1cblxuICAvLyBTZXRzIHRyYW5zZm9ybSB0byAwIHRvIHNob3cgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbiAgJi5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdG8gcG9zaXRpb24gYW4gb2ZmLWNhbnZhcyBwYW5lbCB0byB0aGUgbGVmdC9yaWdodC90b3AvYm90dG9tLlxuQG1peGluIG9mZi1jYW52YXMtcG9zaXRpb24oXG4gICRwb3NpdGlvbjogbGVmdCxcbiAgJG9yaWVudGF0aW9uOiBob3Jpem9udGFsLFxuICAkc2l6ZXM6IGlmKCRvcmllbnRhdGlvbiA9PSBob3Jpem9udGFsLCAkb2ZmY2FudmFzLXNpemVzLCAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzKVxuKSB7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcblxuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBoZWlnaHQ6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBoZWlnaHQ6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElmICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUgaXMgc2V0LCBhZGQgaW5uZXIgYm94LXNoYWRvdy5cbiAgLy8gVGhpcyBtaW1pY3MgdGhlIG9mZi1jYW52YXMgcGFuZWwgaGF2aW5nIGEgbG93ZXIgei1pbmRleCwgd2l0aG91dCBoYXZpbmcgdG8gaGF2ZSBvbmUuXG4gIEBpZiAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplIHtcbiAgICAmLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhyaWdodCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3cobGVmdCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KGJvdHRvbSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KHRvcCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG5cbi8vLyBTZXRzIHRoZSBzdHlsZXMgZm9yIHRoZSBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiBvZmYtY2FudmFzLWNvbnRlbnQoKSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIC8vIFRyYW5zZm9ybSBzY29wZSB1bnRpbCB0aGUgZWxlbWVudCBpcyBjbG9zZWQgKG1ha2VzIHN1cmUgdHJhbnNpdGlvbmVuZCBnZXRzIHRyaWdnZXJlZClcbiAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxuXG4gIC8vIENvbnNpZGVyIGVsZW1lbnQgJiBjb250ZW50LCBuZXN0ZWQgaW4gYW5vdGhlciBjb250ZW50XG4gIC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0aGF0IHJldmVhbCBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtcmV2ZWFsKFxuJHBvc2l0aW9uOiBsZWZ0LFxuJHppbmRleDogJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LFxuJGNvbnRlbnQ6ICRtYWluY29udGVudC1jbGFzcyxcbiRicmVha3BvaW50OiBzbWFsbFxuKSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgei1pbmRleDogJHppbmRleDtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcblxuICBAaWYgbm90ICRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gQ29uc2lkZXIgcmV2ZWFsZWQgZWxlbWVudCBpcyBuZXN0ZWQgaW4gY29udGVudFxuICAuI3skbWFpbmNvbnRlbnQtY2xhc3N9ICYge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIEBhdC1yb290IC4jeyRjb250ZW50fS5oYXMtcmV2ZWFsLSN7JHBvc2l0aW9ufSB7XG4gICAgbWFyZ2luLSN7JHBvc2l0aW9ufTogLXpmLWdldC1icC12YWwoJG9mZmNhbnZhcy1zaXplcywgJGJyZWFrcG9pbnQpO1xuICB9XG5cbiAgLy8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgKHByaW9yIHRvIHY2LjQpXG4gICYgfiAuI3skY29udGVudH0ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06IC16Zi1nZXQtYnAtdmFsKCRvZmZjYW52YXMtc2l6ZXMsICRicmVha3BvaW50KTtcbiAgfVxufVxuXG4vLy8gT3ZlcnJpZGVzIHRoZSBvZmYtY2FudmFzIHN0eWxlc1xuQG1peGluIGluLWNhbnZhcygpIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHRyYW5zaXRpb246IG5vbmU7XG5cbiAgLy8gSW5jcmVhc2UgQ1NTIHNwZWNpZmljaXR5XG4gICYucG9zaXRpb24tbGVmdCxcbiAgJi5wb3NpdGlvbi1yaWdodCxcbiAgJi5wb3NpdGlvbi10b3AsXG4gICYucG9zaXRpb24tYm90dG9tIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb2ZmLWNhbnZhcyB7XG4gIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzaWNzO1xuXG4gIC8vIE9mZi1jYW52YXMgd3JhcHBlclxuICAub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXdyYXBwZXI7XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lclxuICAub2ZmLWNhbnZhcyB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNlO1xuXG4gICAgLy8gRm9yY2UgcG9zaXRpb24gYWJzb2x1dGUgZm9yIG5lc3RlZCBvZmYtY2FudmFzIGJlY2F1c2UgZml4ZWQgZG9lc24ndCB3b3JrIGZvciBwdXNoIHRyYW5zaXRpb24gd2l0aGluIHRoZSB0cmFuc2Zvcm0gc2NvcGUuXG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAmIHtcbiAgICAgIC8vIE5PVEU6IHNpbmNlIG92ZXJsYXAgdHJhbnNpdGlvbiBpcyBjdXJyZW50bHkgZm9yY2VkIGlmIG5lc3RlZCwgdGhlcmUncyBubyBuZWVkIHRvIGZvcmNlIHBvc2l0aW9uIGFic29sdXRlIHVudGlsIG5lc3RlZCBwdXNoIHRyYW5zaXRpb24gaXMgc3VwcG9ydGVkLlxuICAgICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgY29udGFpbmVyIHdpdGggYWJzb2x1dGUgcG9zaXRpb25cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZSgkZml4ZWQ6IGZhbHNlKTtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgcG9zaXRpb24gY2xhc3Nlc1xuICAucG9zaXRpb24tbGVmdCAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24obGVmdCwgICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tcmlnaHQgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24ocmlnaHQsICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tdG9wICAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24odG9wLCAgICB2ZXJ0aWNhbCk7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbSAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKGJvdHRvbSwgdmVydGljYWwpOyB9XG5cbiAgLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1jb250ZW50O1xuICB9XG5cbiAgLy8gUmV2ZWFsIG9mZi1jYW52YXMgcGFuZWwgb24gbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChsZWZ0LCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKHJpZ2h0LCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbCh0b3AsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKGJvdHRvbSwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE1vdmUgaW4tY2FudmFzIGZvciBsYXJnZXIgc2NyZWVuc1xuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbmFtZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGluLWNhbnZhcztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBvcmJpdFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYWN0aXZlIGNvbG9yIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRpYW1ldGVyIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBiZXR3ZWVuIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRpc3RhbmNlIGZyb20gc2xpZGUgcmVnaW9uIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmcm9tIE9yYml0J3MgYnVsbGV0cyB0byB3aGF0ZXZlciBjb250ZW50IG1heSBsdXJrIGJlbG93IGl0LlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIE9yYml0J3MgY2FwdGlvbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIE9yYml0J3MgY2FwdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIE9yYml0J3MgY29udHJvbHMgd2hlbiBob3ZlcmVkLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgT3JiaXQncyBjb250cm9scy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHotaW5kZXggZm9yIE9yYml0J3MgY29udHJvbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBvdXRlciBPcmJpdCB3cmFwcGVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXRgIGNsYXNzLlxuQG1peGluIG9yYml0LXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGlubmVyIE9yYml0IHNsaWRlIGNvbnRhaW5lci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWNvbnRhaW5lcmAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7IC8vIFByZXZlbnQgRk9VQyBieSBub3Qgc2hvd2luZyB1bnRpbCBKUyBzZXRzIGhlaWdodFxuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGluZGl2aWR1YWwgc2xpZGVzIG9mIGFuIE9yYml0IHNsaWRlci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LXNsaWRlYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1zbGlkZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgJi5uby1tb3Rpb251aSB7XG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG9yYml0LWZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHNsaWRlIGNvbnRhaW5pbmcgYW4gaW1hZ2UuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1pbWFnZWAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtaW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gb3JiaXQgc2xpZGUgY2FwdGlvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWNhcHRpb25gIGNsYXNzLlxuQG1peGluIG9yYml0LWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmc6ICRvcmJpdC1jYXB0aW9uLXBhZGRpbmc7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDtcbiAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZCk7XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciB0aGUgbmV4dC9wcmV2aW91cyBidXR0b25zIGluIGFuIE9yYml0IHNsaWRlci4gVGhlc2Ugc3R5bGVzIGFyZSBzaGFyZWQgYmV0d2VlbiB0aGUgYC5vcmJpdC1uZXh0YCBhbmQgYC5vcmJpdC1wcmV2aW91c2AgY2xhc3NlcyBpbiB0aGUgZGVmYXVsdCBDU1MuXG5AbWl4aW4gb3JiaXQtY29udHJvbCB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyO1xuICB6LWluZGV4OiAkb3JiaXQtY29udHJvbC16aW5kZXg7XG4gIHBhZGRpbmc6ICRvcmJpdC1jb250cm9sLXBhZGRpbmc7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgJjpob3ZlcixcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgcHJldmlvdXMgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtcHJldmlvdXNgIGNsYXNzLlxuQG1peGluIG9yYml0LXByZXZpb3VzIHtcbiAgI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBuZXh0IGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LW5leHRgIGNsYXNzLlxuQG1peGluIG9yYml0LW5leHQge1xuICAjeyRnbG9iYWwtbGVmdH06IGF1dG87XG4gICN7JGdsb2JhbC1yaWdodH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjb250YWluZXIgb2YgT3JiaXQgYnVsbGV0cy4gLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgcHJldmlvdXMgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtYnVsbGV0c2AgY2xhc3MuXG5AbWl4aW4gb3JiaXQtYnVsbGV0cyB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAkb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A7XG4gIG1hcmdpbi1ib3R0b206ICRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIGJ1dHRvbiB7XG4gICAgd2lkdGg6ICRvcmJpdC1idWxsZXQtZGlhbWV0ZXI7XG4gICAgaGVpZ2h0OiAkb3JiaXQtYnVsbGV0LWRpYW1ldGVyO1xuICAgIG1hcmdpbjogJG9yYml0LWJ1bGxldC1tYXJnaW47XG5cbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlO1xuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW9yYml0IHtcbiAgLm9yYml0IHtcbiAgICBAaW5jbHVkZSBvcmJpdC13cmFwcGVyO1xuICB9XG5cbiAgLm9yYml0LWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgb3JiaXQtY29udGFpbmVyO1xuICB9XG5cbiAgLm9yYml0LXNsaWRlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1zbGlkZTtcbiAgfVxuXG4gIC5vcmJpdC1maWd1cmUge1xuICAgIEBpbmNsdWRlIG9yYml0LWZpZ3VyZTtcbiAgfVxuXG4gIC5vcmJpdC1pbWFnZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtaW1hZ2U7XG4gIH1cblxuICAub3JiaXQtY2FwdGlvbiB7XG4gICAgQGluY2x1ZGUgb3JiaXQtY2FwdGlvbjtcbiAgfVxuXG4gICVvcmJpdC1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jb250cm9sO1xuICB9XG5cbiAgLm9yYml0LXByZXZpb3VzIHtcbiAgICBAZXh0ZW5kICVvcmJpdC1jb250cm9sO1xuICAgIEBpbmNsdWRlIG9yYml0LXByZXZpb3VzO1xuICB9XG5cbiAgLm9yYml0LW5leHQge1xuICAgIEBleHRlbmQgJW9yYml0LWNvbnRyb2w7XG4gICAgQGluY2x1ZGUgb3JiaXQtbmV4dDtcbiAgfVxuXG4gIC5vcmJpdC1idWxsZXRzIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1idWxsZXRzO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwYWdpbmF0aW9uXG4vLy8vXG5cbi8vLyBGb250IHNpemUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIG9mIHRoZSBwYWdpbmF0aW9uIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKSAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IG1hcmdpbiB0byBzZXBhcmF0ZSBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhIGRpc2FibGVkIHBhZ2luYXRpb24gaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGVsbGlwc2lzIGluIGEgcGFnaW5hdGlvbiBtZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gSWYgYGZhbHNlYCwgZG9uJ3QgZGlzcGxheSBwYWdlIG51bWJlciBsaW5rcyBvbiBtb2JpbGUsIG9ubHkgbmV4dC9wcmV2aW91cyBsaW5rc1xuLy8vIGFuZCBvcHRpb25hbGx5IGN1cnJlbnQgcGFnZSBudW1iZXIuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgZGlzcGxheSB0aGUgY3VycmVudCBwYWdlIG51bWJlciBvbiBtb2JpbGUgZXZlbiBpZiBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zYCBpcyBzZXQgdG8gYGZhbHNlYC5cbi8vLyBUaGlzIHBhcmFtZXRlciB3aWxsIG9ubHkgb3ZlcnJpZGUgdGhlIHZpc2liaWxpdHkgc2V0dGluZyBvZiB0aGUgY3VycmVudCBpdGVtIGZvciBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtgLFxuLy8vIGl0IHdpbGwgbm90IGFmZmVjdCB0aGUgY3VycmVudCBwYWdlIG51bWJlciB2aXNpYmlsaXR5IHdoZW4gYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtc2AgaXMgc2V0IHRvIGB0cnVlYC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYXJyb3dzIGFyZSBhZGRlZCB0byB0aGUgbmV4dCBhbmQgcHJldmlvdXMgbGlua3Mgb2YgcGFnaW5hdGlvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBwYWdpbmF0aW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWNvbnRhaW5lciAoXG4gICRtYXJnaW4tYm90dG9tOiAkcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tLFxuICAkZm9udC1zaXplOiAkcGFnaW5hdGlvbi1mb250LXNpemUsXG4gICRzcGFjaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmcsXG4gICRyYWRpdXM6ICRwYWdpbmF0aW9uLXJhZGl1cyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIG1hcmdpbi1ib3R0b206ICRtYXJnaW4tYm90dG9tO1xuXG4gIC8vIExpc3QgaXRlbVxuICBsaSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuXG4gICAgQGlmICRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICY6bGFzdC1jaGlsZCxcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtIHtcbiAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgbGlua3NcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBjdXJyZW50IHBhZ2luYXRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byBhbiBgPGE+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0tY3VycmVudCAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRiYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50LFxuICAkY29sb3ItY3VycmVudDogJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50XG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWN1cnJlbnQ7XG4gIGNvbG9yOiAkY29sb3ItY3VycmVudDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZFxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBjb2xvcjogJGNvbG9yO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gZWxsaXBzaXMgZm9yIHVzZSBpbiBhIHBhZ2luYXRpb24gbGlzdC5cbkBtaXhpbiBwYWdpbmF0aW9uLWVsbGlwc2lzIChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvclxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBjb250ZW50OiAnXFwyMDI2JztcbiAgY29sb3I6ICRjb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcGFnaW5hdGlvbiB7XG4gIC5wYWdpbmF0aW9uIHtcbiAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWNvbnRhaW5lcjtcblxuICAgIC5jdXJyZW50IHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1jdXJyZW50O1xuICAgIH1cblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLmVsbGlwc2lzOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWVsbGlwc2lzO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFnaW5hdGlvbi1hcnJvd3Mge1xuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzIGE6OmJlZm9yZSxcbiAgICAucGFnaW5hdGlvbi1wcmV2aW91cy5kaXNhYmxlZDo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjVyZW07XG4gICAgICBjb250ZW50OiAnXFwwMGFiJztcbiAgICB9XG5cbiAgICAucGFnaW5hdGlvbi1uZXh0IGE6OmFmdGVyLFxuICAgIC5wYWdpbmF0aW9uLW5leHQuZGlzYWJsZWQ6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwYmInO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBwcm9ncmVzcyBiYXIgY29udGFpbmVyLlxuQG1peGluIHByb2dyZXNzLWNvbnRhaW5lciB7XG4gIGhlaWdodDogJHByb2dyZXNzLWhlaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogJHByb2dyZXNzLW1hcmdpbi1ib3R0b207XG4gIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYWNrZ3JvdW5kO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbm5lciBtZXRlciBvZiBhIHByb2dyZXNzIGJhci5cbkBtaXhpbiBwcm9ncmVzcy1tZXRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDtcblxuICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRleHQgaW4gdGhlIHByb2dyZXNzIG1ldGVyLlxuQG1peGluIHByb2dyZXNzLW1ldGVyLXRleHQge1xuICBAaW5jbHVkZSBhYnNvbHV0ZS1jZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogJHdoaXRlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyIHtcbiAgLy8gUHJvZ3Jlc3MgYmFyXG4gIC5wcm9ncmVzcyB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtY29udGFpbmVyO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElubmVyIG1ldGVyXG4gIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXI7XG4gIH1cblxuICAvLyBJbm5lciBtZXRlciB0ZXh0XG4gIC5wcm9ncmVzcy1tZXRlci10ZXh0IHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlci10ZXh0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gW1RPRE9dIENoZWNrIGhvdyBwbHVnaW4gY29uZmlybXMgZGlzYWJsZWQgb3IgdmVydGljYWwgc3RhdHVzXG4vLyBbVE9ET10gQ2hlY2sgaWYgdHJhbnNpdGlvbjogYWxsOyBpcyBuZWNlc3NhcnlcblxuLy8vL1xuLy8vIEBncm91cCBzbGlkZXJcbi8vLy9cblxuLy8vIERlZmF1bHQgc2xpZGVyIHdpZHRoIG9mIGEgdmVydGljYWwgc2xpZGVyLiAoRG9lc24ndCBhcHBseSB0byB0aGUgbmF0aXZlIHNsaWRlci4pXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUcmFuc2l0aW9uIHByb3BlcnRpZXMgdG8gYXBwbHkgdG8gdGhlIHNsaWRlciBoYW5kbGUgYW5kIGZpbGwuIChEb2Vzbid0IGFwcGx5IHRvIHRoZSBuYXRpdmUgc2xpZGVyLilcbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHNsaWRlcnMuXG5AbWl4aW4gc2xpZGVyLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMi4yNXJlbTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWJhY2tncm91bmQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTtcbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciBhY3RpdmUgZmlsbCBmb3Igc2xpZGVycy5cbkBtaXhpbiBzbGlkZXItZmlsbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc2xpZGVyLXRyYW5zaXRpb247XG5cbiAgJi5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjtcbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRoZSBzbGlkZXIgaGFuZGxlcy5cbkBtaXhpbiBzbGlkZXItaGFuZGxlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gIGhlaWdodDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuXG4gIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc2xpZGVyLXRyYW5zaXRpb247XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHNjYWxlLWNvbG9yKCRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpO1xuICB9XG5cbiAgJi5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjtcbiAgfVxufVxuXG5AbWl4aW4gc2xpZGVyLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG5AbWl4aW4gc2xpZGVyLXZlcnRpY2FsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNsaWRlci13aWR0aC12ZXJ0aWNhbDtcbiAgaGVpZ2h0OiAxMi41cmVtO1xuICBtYXJnaW46IDAgMS4yNXJlbTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7XG5cbiAgLnNsaWRlci1maWxsIHtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6ICRzbGlkZXItd2lkdGgtdmVydGljYWw7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC5zbGlkZXItaGFuZGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICAgIGhlaWdodDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXNsaWRlciB7XG4gIC8vIENvbnRhaW5lclxuICAuc2xpZGVyIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItY29udGFpbmVyO1xuICB9XG5cbiAgLy8gRmlsbCBhcmVhXG4gIC5zbGlkZXItZmlsbCB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWZpbGw7XG4gIH1cblxuICAvLyBEcmFnZ2FibGUgaGFuZGxlXG4gIC5zbGlkZXItaGFuZGxlIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItaGFuZGxlO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgLnNsaWRlci5kaXNhYmxlZCxcbiAgLnNsaWRlcltkaXNhYmxlZF0ge1xuICAgIEBpbmNsdWRlIHNsaWRlci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIHNsaWRlclxuICAuc2xpZGVyLnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBSVEwgc3VwcG9ydFxuICBAaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xuICAgIC5zbGlkZXI6bm90KC52ZXJ0aWNhbCkge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tc3RpY2t5IHtcbiAgLnN0aWNreS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5zdGlja3kge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAuc3RpY2t5LmlzLXN0dWNrIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogNTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICYuaXMtYXQtdG9wIHtcbiAgICAgIHRvcDogMDtcbiAgICB9XG5cbiAgICAmLmlzLWF0LWJvdHRvbSB7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLnN0aWNreS5pcy1hbmNob3JlZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG5cbiAgICAmLmlzLWF0LWJvdHRvbSB7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBzd2l0Y2hcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBhY3RpdmUgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodDogMnJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC50aW55IGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnNtYWxsIGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAubGFyZ2UgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBvZiB0aGUgc3dpdGNoXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgc3dpdGNoIGNvbnRhaW5lciBhbmQgcGFkZGxlLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYSBzd2l0Y2ggcGFkZGxlIGFuZCB0aGUgZWRnZSBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIGJvcmRlciByYWRpdXMgb2YgdGhlIHN3aXRjaCBwYWRkbGVcbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBzd2l0Y2ggdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8gbWFrZSB0aGVtIHZhcmlhYmxlc1xuLy8gYXNrIGFib3V0IGFjY2Vzc2liaWxpdHkgb24gbGFiZWxcbi8vIGNoYW5nZSBjbGFzcyBuYW1lIGZvciB0ZXh0XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgY29udGFpbmVyIGNsYXNzLlxuQG1peGluIHN3aXRjaC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206ICRzd2l0Y2gtbWFyZ2luO1xuICBvdXRsaW5lOiAwO1xuXG4gIC8vIFRoZXNlIHByb3BlcnRpZXMgY2FzY2FkZSBkb3duIHRvIHRoZSBzd2l0Y2ggdGV4dFxuICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggaW5wdXQuIEFwcGx5IHRoaXMgdG8gYW4gYDxpbnB1dD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGJhY2tncm91bmQgYW5kIHBhZGRsZSBvZiBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byBhIGA8bGFiZWw+YCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXBhZGRsZSB7XG4gICRzd2l0Y2gtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0ICogMjtcbiAgJHBhZGRsZS1oZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRzd2l0Y2gtcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAtICgkc3dpdGNoLXBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1hY3RpdmUtb2ZmZXN0OiAkc3dpdGNoLXdpZHRoIC0gJHBhZGRsZS13aWR0aCAtICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogJHN3aXRjaC13aWR0aDtcbiAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcblxuICBib3JkZXItcmFkaXVzOiAkc3dpdGNoLXJhZGl1cztcbiAgYmFja2dyb3VuZDogJHN3aXRjaC1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uO1xuXG4gIC8vIFJlc2V0dGluZyB0aGVzZSA8bGFiZWw+IHByZXNldHMgc28gdHlwZSBzdHlsZXMgY2FzY2FkZSBkb3duXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcblxuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gTmVlZGVkIHRvIG92ZXJyaWRlIHNwZWNpZmljaXR5XG4gIGlucHV0ICsgJiB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gVGhlIHBhZGRsZSBpdHNlbGZcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xuICAgIGhlaWdodDogJHBhZGRsZS1oZWlnaHQ7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcGFkZGxlLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAvLyBDaGFuZ2UgdGhlIHZpc3VhbCBzdHlsZSB3aGVuIHRoZSBzd2l0Y2ggaXMgYWN0aXZlXG4gIGlucHV0OmNoZWNrZWQgfiAmIHtcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q7XG4gICAgfVxuICB9XG5cbiAgaW5wdXQ6Zm9jdXMgfiAmIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGFjdGl2ZS9pbmFjdGl2ZSB0ZXh0IGluc2lkZSBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byB0ZXh0IGVsZW1lbnRzIGluc2lkZSB0aGUgc3dpdGNoIGA8bGFiZWw+YC5cbkBtaXhpbiBzd2l0Y2gtdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYWN0aXZlIHN0YXRlIHRleHQgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC10ZXh0LWFjdGl2ZSB7XG4gICN7JGdsb2JhbC1sZWZ0fTogOCU7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5hY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXRleHQtaW5hY3RpdmUge1xuICAjeyRnbG9iYWwtcmlnaHR9OiAxNSU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc2l6ZSBvZiBhIHN3aXRjaCBieSBtb2RpZnlpbmcgdGhlIHNpemUgb2YgdGhlIGJvZHkgYW5kIHBhZGRsZS4gQXBwbHkgdGhpcyB0byBhIHN3aXRjaCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmb250LXNpemUgWzFyZW1dIC0gRm9udCBzaXplIG9mIGxhYmVsIHRleHQgd2l0aGluIHRoZSBzd2l0Y2guXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzd2l0Y2gtaGVpZ2h0IFsycmVtXSAtIEhlaWdodCBvZiB0aGUgc3dpdGNoIGJvZHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkbGUtb2Zmc2V0IFswLjI1cmVtXSAtIFNwYWNpbmcgYmV0d2VlbiB0aGUgc3dpdGNoIHBhZGRsZSBhbmQgdGhlIGVkZ2Ugb2YgdGhlIHN3aXRjaCBib2R5LlxuQG1peGluIHN3aXRjaC1zaXplKFxuICAkZm9udC1zaXplOiAxcmVtLFxuICAkc3dpdGNoLWhlaWdodDogMnJlbSxcbiAgJHBhZGRsZS1vZmZzZXQ6IDAuMjVyZW1cbikge1xuXG4gICRzd2l0Y2gtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0ICogMjtcbiAgJHBhZGRsZS13aWR0aDogJHN3aXRjaC1oZWlnaHQgLSAoJHBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1oZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRwYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtYWN0aXZlLW9mZmVzdDogJHN3aXRjaC13aWR0aCAtICRwYWRkbGUtd2lkdGggLSAkcGFkZGxlLW9mZnNldDtcblxuICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuXG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogJHN3aXRjaC13aWR0aDtcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgfVxuXG4gIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAkcGFkZGxlLW9mZnNldDtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtb2Zmc2V0O1xuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xuICAgIGhlaWdodDogJHBhZGRsZS1oZWlnaHQ7XG4gIH1cblxuICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtYWN0aXZlLW9mZmVzdDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zd2l0Y2gge1xuICAvLyBDb250YWluZXIgY2xhc3NcbiAgLnN3aXRjaCB7XG4gICAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtY29udGFpbmVyO1xuICB9XG5cbiAgLy8gPGlucHV0PiBlbGVtZW50XG4gIC5zd2l0Y2gtaW5wdXQge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1pbnB1dDtcbiAgfVxuXG4gIC8vIDxsYWJlbD4gZWxlbWVudFxuICAuc3dpdGNoLXBhZGRsZSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXBhZGRsZTtcbiAgfVxuXG4gIC8vIEJhc2UgbGFiZWwgdGV4dCBzdHlsZXNcbiAgJXN3aXRjaC10ZXh0IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dDtcbiAgfVxuXG4gIC8vIEFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAuc3dpdGNoLWFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtYWN0aXZlO1xuICB9XG5cbiAgLy8gSW5hY3RpdmUgbGFiZWwgdGV4dCBzdHlsZXNcbiAgLnN3aXRjaC1pbmFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtaW5hY3RpdmU7XG4gIH1cblxuICAvLyBTd2l0Y2ggc2l6ZXNcbiAgLnN3aXRjaC50aW55IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMCksICRzd2l0Y2gtaGVpZ2h0LXRpbnksICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cblxuICAuc3dpdGNoLnNtYWxsIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMiksICRzd2l0Y2gtaGVpZ2h0LXNtYWxsLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG5cbiAgLnN3aXRjaC5sYXJnZSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTYpLCAkc3dpdGNoLWhlaWdodC1sYXJnZSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcblxuLy8vL1xuLy8vIEBncm91cCB0YWJsZVxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgdGFibGUgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZSAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHN0cmlwZWQgdGFibGUgcm93cyBhbmQgdGhlIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1jb2xvci1zY2FsZTogNSUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHN0eWxlIGZvciB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWJsZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0YW5kYXJkIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdHJpcGVkIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgdGFibGVzIGFyZSBzdHJpcGVkIGJ5IGRlZmF1bHQgYW5kIGFuIC51bnN0cmlwZWQgY2xhc3MgaXMgY3JlYXRlZC4gSWYgYGZhbHNlYCwgYSAuc3RyaXBlZCBjbGFzcyBpcyBjcmVhdGVkLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiR0YWJsZS1pcy1zdHJpcGVkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBzdHJpcGVkIHJvd3MuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3Igc2hvd2luZyB0aGUgc3RyaXBlIG9uIHJvd3Mgb2YgdGhlIHRhYmxlcywgZXhjbHVkaW5nIHRoZSBoZWFkZXIgYW5kIGZvb3Rlci4gSWYgZXZlbiwgdGhlIGV2ZW4gcm93cyB3aWxsIGhhdmUgYSBiYWNrZ3JvdW5kIGNvbG9yLiBJZiBvZGQsIHRoZSBvZGQgcm93cyB3aWxsIGhhdmUgYSBiYWNrZ3JvdW5kIGNvbG9yLiBJZiBlbXB0eSwgb3IgYW55IG90aGVyIHZhbHVlLCB0aGUgdGFibGUgcm93cyB3aWxsIGhhdmUgbm8gc3RyaXBpbmcuXG4vLy8gQHR5cGUgS2V5d29yZFxuJHRhYmxlLXN0cmlwZTogZXZlbiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlYWRlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIGhlYWRlciByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1oZWFkLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBmb290ZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIGZvb3RlciByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1mb290LXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1mb290LWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGhlYWRlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9vdGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3Igc2hvd2luZyB0aGUgaGVhZGVyIHdoZW4gdXNpbmcgc3RhY2tlZCB0YWJsZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgYXQgd2hpY2ggc3RhY2tlZCB0YWJsZSBzd2l0Y2hlcyBmcm9tIG1vYmlsZSB0byBkZXNrdG9wIHZpZXcuXG4vLy8gQHR5cGUgQnJlYWtwb2ludFxuJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bSAhZGVmYXVsdDtcblxuQG1peGluIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSkge1xuICB0ciB7XG4gICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBldmVuLCBkYXJrZW4gdGhlIGV2ZW4gcm93cy5cbiAgICBAaWYgJHN0cmlwZSA9PSBldmVuIHtcbiAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIG9kZCwgZGFya2VuIHRoZSBvZGQgcm93cy5cbiAgICBAZWxzZSBpZiAkc3RyaXBlID09IG9kZCB7XG4gICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIC16Zi10YWJsZS11bnN0cmlwZSgpIHtcbiAgdHIge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogJHRhYmxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgfVxufVxuXG5AbWl4aW4gLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlOiAkdGFibGUtc3RyaXBlLCAkaXMtc3RyaXBlZDogJHRhYmxlLWlzLXN0cmlwZWQpIHtcbiAgdGhlYWQsXG4gIHRib2R5LFxuICB0Zm9vdCB7XG4gICAgYm9yZGVyOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLy8gQ2FwdGlvblxuICBjYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgfVxuXG4gIC8vIFRhYmxlIGhlYWRcbiAgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1oZWFkLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1oZWFkLWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBmb290XG4gIHRmb290IHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtZm9vdC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGFibGUtZm9vdC1mb250LWNvbG9yO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZCBhbmQgZm9vdFxuICB0aGVhZCxcbiAgdGZvb3Qge1xuICAgIC8vIFJvd3Mgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0ciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAvLyBDZWxscyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICB0ZXh0LWFsaWduOiAjeyRnbG9iYWwtbGVmdH07XG4gICAgfVxuICB9XG5cbiAgLy8gVGFibGUgcm93c1xuICB0Ym9keSB7XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGFibGVzIGFyZSBzdHJpcGVkXG4gIEBpZiAkaXMtc3RyaXBlZCA9PSB0cnVlIHtcbiAgICB0Ym9keSB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGUpO1xuICAgIH1cblxuICAgICYudW5zdHJpcGVkIHtcbiAgICAgIHRib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXVuc3RyaXBlKCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElmIHRhYmxlcyBhcmUgbm90IHN0cmlwZWRcbiAgQGVsc2UgaWYgJGlzLXN0cmlwZWQgPT0gZmFsc2Uge1xuICAgIHRib2R5IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS11bnN0cmlwZSgpO1xuICAgIH1cblxuICAgICYuc3RyaXBlZCB7XG4gICAgICB0Ym9keSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgdGFibGVzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0cmlwZSBbJHRhYmxlLXN0cmlwZV0gLSBVc2VzIGtleXdvcmRzIGV2ZW4sIG9kZCwgb3Igbm9uZSB0byBkYXJrZW4gcm93cyBvZiB0aGUgdGFibGUuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGV2ZW4uXG5AbWl4aW4gdGFibGUoXG4gICRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsXG4gICRuZXN0OiBmYWxzZVxuKSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbiAgQGlmICRuZXN0IHtcbiAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAYXQtcm9vdCB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgYWJpbGl0eSB0byBob3Jpem9udGFsbHkgc2Nyb2xsIHRoZSB0YWJsZSB3aGVuIHRoZSBjb250ZW50IG92ZXJmbG93cyBob3Jpem9udGFsbHkuXG5AbWl4aW4gdGFibGUtc2Nyb2xsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG4vLy8gU2xpZ2h0bHkgZGFya2VucyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbkBtaXhpbiB0YWJsZS1ob3ZlciB7XG4gIHRoZWFkIHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGhlYWRlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhlYWQtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGZvb3RlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWZvb3Qtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRib2R5IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIG5vbi1zdHJpcGVkIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSB0cnVlIHtcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2UgaWYoJHRhYmxlLXN0cmlwZSA9PSBvZGQpIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgLy8gRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZSBpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWNrZWQgdGFibGUuIFVzZWZ1bCBmb3Igc21hbGwtc2NyZWVuIGxheW91dHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaGVhZGVyIFskc2hvdy1oZWFkZXItZm9yLXN0YWNrZWRdIC0gU2hvdyB0aGUgZmlyc3QgdGggb2YgaGVhZGVyIHdoZW4gc3RhY2tlZC5cbkBtaXhpbiB0YWJsZS1zdGFjaygkaGVhZGVyOiAkc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQpIHtcbiAgQGlmICRoZWFkZXIge1xuICAgIHRoZWFkIHtcbiAgICAgIHRoIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgdHIsXG4gIHRoLFxuICB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJsZSgkbmVzdDogZmFsc2UpIHtcbiAgdGFibGUge1xuICAgIEBpbmNsdWRlIHRhYmxlKCRuZXN0OiAkbmVzdCk7XG4gIH1cblxuICB0YWJsZS5zdGFjayB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGUtc3RhY2stYnJlYWtwb2ludCBkb3duKSB7XG4gICAgICBAaW5jbHVkZSB0YWJsZS1zdGFjaztcbiAgICB9XG4gIH1cblxuICB0YWJsZS5zY3JvbGwge1xuICAgIEBpbmNsdWRlIHRhYmxlLXNjcm9sbDtcbiAgfVxuXG4gIHRhYmxlLmhvdmVyIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1ob3ZlcjtcbiAgfVxuXG4gIC50YWJsZS1zY3JvbGwge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ21hdGgnO1xuXG4kY29udHJhc3Qtd2FybmluZ3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIGNoZWNrIHRoZSBsdW1pbmFuY2Ugb2YuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuQGZ1bmN0aW9uIGNvbG9yLWx1bWluYW5jZSgkY29sb3IpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI3JlbGF0aXZlbHVtaW5hbmNlZGVmXG4gICRyZ2JhOiByZWQoJGNvbG9yKSwgZ3JlZW4oJGNvbG9yKSwgYmx1ZSgkY29sb3IpO1xuICAkcmdiYTI6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMyB7XG4gICAgJHJnYjogbnRoKCRyZ2JhLCAkaSk7XG4gICAgJHJnYjogJHJnYiAvIDI1NTtcblxuICAgICRyZ2I6IGlmKCRyZ2IgPCAwLjAzOTI4LCAkcmdiIC8gMTIuOTIsIHBvdygoJHJnYiArIDAuMDU1KSAvIDEuMDU1LCAyLjQpKTtcblxuICAgICRyZ2JhMjogYXBwZW5kKCRyZ2JhMiwgJHJnYik7XG4gIH1cblxuICBAcmV0dXJuIDAuMjEyNiAqIG50aCgkcmdiYTIsIDEpICsgMC43MTUyICogbnRoKCRyZ2JhMiwgMikgKyAwLjA3MjIgKiBudGgoJHJnYmEyLCAzKTtcbn1cblxuLy8vIENoZWNrcyB0aGUgY29udHJhc3QgcmF0aW8gb2YgdHdvIGNvbG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjEgLSBGaXJzdCBjb2xvciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjIgLSBTZWNvbmQgY29sb3IgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBjb250cmFzdCByYXRpbyBvZiB0aGUgY29tcGFyZWQgY29sb3JzLlxuQGZ1bmN0aW9uIGNvbG9yLWNvbnRyYXN0KCRjb2xvcjEsICRjb2xvcjIpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI2NvbnRyYXN0LXJhdGlvZGVmXG4gICRsdW1pbmFuY2UxOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMSkgKyAwLjA1O1xuICAkbHVtaW5hbmNlMjogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjIpICsgMC4wNTtcbiAgJHJhdGlvOiAkbHVtaW5hbmNlMSAvICRsdW1pbmFuY2UyO1xuXG4gIEBpZiAkbHVtaW5hbmNlMiA+ICRsdW1pbmFuY2UxIHtcbiAgICAkcmF0aW86IDEgLyAkcmF0aW87XG4gIH1cblxuICAkcmF0aW86IHJvdW5kKCRyYXRpbyAqIDEwKSAvIDEwO1xuXG4gIEByZXR1cm4gJHJhdGlvO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRiYXNlYCwgYW5kIHJldHVybnMgdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFzZSAtIENvbG9yIHRvIGNoZWNrIGx1bWluYW5jZS5cbi8vLyBAcGFyYW0ge0xpc3R9ICRjb2xvcnMgWygkd2hpdGUsICRibGFjayldIC0gQ29sb3JzIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b2xlcmFuY2UgWyRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2VdIC0gQ29udHJhc3QgdG9sZXJhbmNlLlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbkBmdW5jdGlvbiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYXNlLCAkY29sb3JzOiAoJHdoaXRlLCAkYmxhY2spLCAkdG9sZXJhbmNlOiAkZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlKSB7XG4gICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAxKSk7XG4gICRiZXN0OiBudGgoJGNvbG9ycywgMSk7XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCBsZW5ndGgoJGNvbG9ycykge1xuICAgICRjdXJyZW50LWNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgQGlmICgkY3VycmVudC1jb250cmFzdCAtICRjb250cmFzdCA+ICR0b2xlcmFuY2UpIHtcbiAgICAgICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgICAgJGJlc3Q6IG50aCgkY29sb3JzLCAkaSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkY29udHJhc3Qtd2FybmluZ3MgYW5kICRjb250cmFzdCA8IDMpIHtcbiAgICBAd2FybiBcIkNvbnRyYXN0IHJhdGlvIG9mICN7JGJlc3R9IG9uICN7JGJhc2V9IGlzIHByZXR0eSBiYWQsIGp1c3QgI3skY29udHJhc3R9XCI7XG4gIH1cblxuICBAcmV0dXJuICRiZXN0O1xufVxuXG4vLy8gU2NhbGVzIGEgY29sb3IgdG8gYmUgZGFya2VyIGlmIGl0J3MgbGlnaHQsIG9yIGxpZ2h0ZXIgaWYgaXQncyBkYXJrLiBVc2UgdGhpcyBmdW5jdGlvbiB0byB0aW50IGEgY29sb3IgYXBwcm9wcmlhdGUgdG8gaXRzIGxpZ2h0bmVzcy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIHNjYWxlLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHNjYWxlIFs1JV0gLSBBbW91bnQgdG8gc2NhbGUgdXAgb3IgZG93bi5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICR0aHJlc2hvbGQgWzQwJV0gLSBUaHJlc2hvbGQgb2YgbGlnaHRuZXNzIHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IEEgc2NhbGVkIGNvbG9yLlxuQGZ1bmN0aW9uIHNtYXJ0LXNjYWxlKCRjb2xvciwgJHNjYWxlOiA1JSwgJHRocmVzaG9sZDogNDAlKSB7XG4gIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA+ICR0aHJlc2hvbGQge1xuICAgICRzY2FsZTogLSRzY2FsZTtcbiAgfVxuICBAcmV0dXJuIHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJHNjYWxlKTtcbn1cblxuLy8vIEdldCBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHBhcmFtIHtrZXl9IGNvbG9yIGtleSBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuQGZ1bmN0aW9uIGdldC1jb2xvcigka2V5KSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ2dpdmVuICRrZXkgaXMgbm90IGF2YWlsYWJsZSBpbiAkZm91bmRhdGlvbi1wYWxldHRlJztcbiAgfVxufVxuXG4vLy8gVHJhbnNmZXJzIHRoZSBjb2xvcnMgaW4gdGhlIGAkZm91bmRhdGlvbi1wYWxldHRlYCBtYXAgaW50byB2YXJpYWJsZXMsIHN1Y2ggYXMgYCRwcmltYXJ5LWNvbG9yYCBhbmQgYCRzZWNvbmRhcnktY29sb3JgLiBDYWxsIHRoaXMgbWl4aW4gYmVsb3cgdGhlIEdsb2JhbCBzZWN0aW9uIG9mIHlvdXIgc2V0dGluZ3MgZmlsZSB0byBwcm9wZXJseSBtaWdyYXRlIHlvdXIgY29kZWJhc2UuXG5AbWl4aW4gYWRkLWZvdW5kYXRpb24tY29sb3JzKCkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICAgICRwcmltYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRwcmltYXJ5LWNvbG9yOiAjMTc3OWJhICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkge1xuICAgICRzZWNvbmRhcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiAjNzY3Njc2ICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogIzNhZGI3NiAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSB7XG4gICAgJHdhcm5pbmctY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHdhcm5pbmctY29sb3I6ICNmZmFlMDAgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpIHtcbiAgICAkYWxlcnQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRhbGVydC1jb2xvcjogI2NjNGIzNyAhZ2xvYmFsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0YWJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBvZiB0aGUgdGFiIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGFiIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIG9mIHRhYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGFiIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBBY3RpdmUgZm9udCBjb2xvciBvZiB0YWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRhYiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhIHRhYiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lciAoXG4gICRtYXJnaW46ICR0YWItbWFyZ2luLFxuICAkYmFja2dyb3VuZDogJHRhYi1iYWNrZ3JvdW5kLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJG1hcmdpbjtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRhaW5lciB0byBoYXZlIHZlcnRpY2FsIHRhYnMuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGFpbmVyKClgLlxuQG1peGluIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsIHtcbiAgPiBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgbGlua3Mgd2l0aGluIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgYDxsaT5gIGVsZW1lbnRzIGluc2lkZSBhIHRhYiBjb250YWluZXIuXG5AbWl4aW4gdGFicy10aXRsZSAoXG4gICRwYWRkaW5nOiAkdGFiLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJHRhYi1pdGVtLWZvbnQtc2l6ZSxcbiAgJGNvbG9yOiAkdGFiLWNvbG9yLFxuICAkY29sb3ItYWN0aXZlOiAkdGFiLWFjdGl2ZS1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXI6ICR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkYmFja2dyb3VuZC1hY3RpdmU6ICR0YWItYmFja2dyb3VuZC1hY3RpdmVcbikge1xuICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuXG4gID4gYSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICAgIGNvbG9yOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJlthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgY29sb3I6ICRjb2xvci1hY3RpdmU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHdyYXBwZXIgdGhhdCBzdXJyb3VuZHMgYSB0YWIgZ3JvdXAncyBjb250ZW50IHBhbmVzLlxuQG1peGluIHRhYnMtY29udGVudCAoXG4gICRiYWNrZ3JvdW5kOiAkdGFiLWNvbnRlbnQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkdGFiLWNvbnRlbnQtY29sb3IsXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBib3JkZXItdG9wOiAwO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6ICRjb2xvcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbn1cblxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRlbnQgY29udGFpbmVyIHRvIGhhdmUgYSB2ZXJ0aWNhbCBzdHlsZSwgYnkgc2hpZnRpbmcgdGhlIGJvcmRlciBhcm91bmQuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGVudCgpYC5cbkBtaXhpbiB0YWJzLWNvbnRlbnQtdmVydGljYWwgKFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBpbmRpdmlkdWFsIHRhYiBjb250ZW50IHBhbmVsIHdpdGhpbiB0aGUgdGFiIGNvbnRlbnQgY29udGFpbmVyLlxuQG1peGluIHRhYnMtcGFuZWwgKFxuICAkcGFkZGluZzogJHRhYi1jb250ZW50LXBhZGRpbmdcbikge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGFicyB7XG4gIC50YWJzIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsXG4gIC50YWJzLnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbDtcbiAgfVxuXG4gIC8vIFNpbXBsZVxuICAudGFicy5zaW1wbGUge1xuICAgID4gbGkgPiBhIHtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQcmltYXJ5IGNvbG9yXG4gIC50YWJzLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgPiBsaSA+IGEge1xuICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJHByaW1hcnktY29sb3IpO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCRwcmltYXJ5LWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudGFicy10aXRsZSB7XG4gICAgQGluY2x1ZGUgdGFicy10aXRsZTtcbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGVudDtcbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGVudC12ZXJ0aWNhbDtcbiAgfVxuXG4gIC50YWJzLXBhbmVsIHtcbiAgICBAaW5jbHVkZSB0YWJzLXBhbmVsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0aHVtYm5haWxcbi8vLy9cblxuLy8vIEJvcmRlciBhcm91bmQgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBCb3JkZXJcbiR0aHVtYm5haWwtYm9yZGVyOiA0cHggc29saWQgJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyB1bmRlciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFNoYWRvd1xuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBUcmFuc2l0aW9uIHByb3BydGllcyBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFkZHMgdGh1bWJuYWlsIHN0eWxlcyB0byBhbiBlbGVtZW50LlxuQG1peGluIHRodW1ibmFpbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkdGh1bWJuYWlsLW1hcmdpbi1ib3R0b207XG5cbiAgYm9yZGVyOiAkdGh1bWJuYWlsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHRodW1ibmFpbC1yYWRpdXM7XG4gIGJveC1zaGFkb3c6ICR0aHVtYm5haWwtc2hhZG93O1xuXG4gIGxpbmUtaGVpZ2h0OiAwO1xufVxuXG5AbWl4aW4gdGh1bWJuYWlsLWxpbmsge1xuICB0cmFuc2l0aW9uOiAkdGh1bWJuYWlsLXRyYW5zaXRpb247XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI7XG4gIH1cblxuICBpbWFnZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10aHVtYm5haWwge1xuICAudGh1bWJuYWlsIHtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWw7XG4gIH1cblxuICBhLnRodW1ibmFpbCB7XG4gICAgQGluY2x1ZGUgdGh1bWJuYWlsLWxpbms7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRpdGxlLWJhclxuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIFdlaWdodFxuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBtZW51IGljb25zIGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIHRoZSBtZW51IGljb24gYW5kIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdGl0bGUtYmFyIHtcbiAgLnRpdGxlLWJhciB7XG4gICAgcGFkZGluZzogJHRpdGxlYmFyLXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJHRpdGxlYmFyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0aXRsZWJhci1jb2xvcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cblxuICAgIC5tZW51LWljb24ge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJHRpdGxlYmFyLWljb24tc3BhY2luZztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC50aXRsZS1iYXItbGVmdCxcbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50aXRsZS1iYXItbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC50aXRsZS1iYXItdGl0bGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkdGl0bGViYXItdGV4dC1mb250LXdlaWdodDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdG9vbHRpcFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjdXJzb3Igb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGFzLXRpcC1jdXJzb3I6IGhlbHAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBib3R0b20gb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBMaXN0XG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgZm9udC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWF4IHdpZHRoIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLW1heC13aWR0aDogMTByZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBvZiB0aGUgdG9vbHRpcCB0ZXh0LiBCeSBkZWZhdWx0LCB3ZSByZWNvbW1lbmQgYSBzbWFsbGVyIGZvbnQgc2l6ZSB0aGFuIHRoZSBib2R5IGNvcHkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCB3aWR0aCBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCBoZWlnaHQgZm9yIHRvb2x0aXBzLiBUaGlzIGlzIGhlbHBmdWwgZm9yIGNhbGN1bGF0aW5nIHRoZSBkaXN0YW5jZSBvZiB0aGUgdG9vbHRpcCBmcm9tIHRoZSB0b29sdGlwIHdvcmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBoYXMtdGlwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgYm9yZGVyLWJvdHRvbTogJGhhcy10aXAtYm9yZGVyLWJvdHRvbTtcbiAgZm9udC13ZWlnaHQ6ICRoYXMtdGlwLWZvbnQtd2VpZ2h0O1xuICBjdXJzb3I6ICRoYXMtdGlwLWN1cnNvcjtcbn1cblxuQG1peGluIHRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxMDAlICsgI3skdG9vbHRpcC1waXAtaGVpZ2h0fSk7XG4gIHotaW5kZXg6IDEyMDA7XG5cbiAgbWF4LXdpZHRoOiAkdG9vbHRpcC1tYXgtd2lkdGg7XG4gIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yO1xuICBmb250LXNpemU6ICR0b29sdGlwLWZvbnQtc2l6ZTtcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgJi5ib3R0b20ge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCB1cCk7XG4gICAgICBib3R0b206IDEwMCU7XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi50b3Age1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCBkb3duKTtcbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLmxlZnQge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCByaWdodCk7XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5yaWdodCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGxlZnQpO1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5hbGlnbi10b3A6OmJlZm9yZSB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogMTAlO1xuICB9XG5cbiAgJi5hbGlnbi1ib3R0b206OmJlZm9yZSB7XG4gICAgYm90dG9tOiAxMCU7XG4gICAgdG9wOiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1sZWZ0OjpiZWZvcmUge1xuICAgIGxlZnQ6IDEwJTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQ6OmJlZm9yZSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRvb2x0aXAge1xuICAuaGFzLXRpcCB7XG4gICAgQGluY2x1ZGUgaGFzLXRpcDtcbiAgfVxuXG4gIC50b29sdGlwIHtcbiAgICBAaW5jbHVkZSB0b29sdGlwO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0b3AtYmFyXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGZvciB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHRvcCBiYXIuIFRoaXMgY29sb3IgYWxzbyBjYXNjYWRlcyB0byBtZW51cyB3aXRoaW4gdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHN1Ym1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci4gVXNlZnVsbCBpZiAkdG9wYmFyLWJhY2tncm91bmQgaXMgdHJhbnNwYXJlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGZvciB0aGUgdG9wIGJhciB0aXRsZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDAgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGA8aW5wdXQ+YCBlbGVtZW50cyBpbnNpZGUgdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgYXQgd2hpY2ggdG9wIGJhciBzd2l0Y2hlcyBmcm9tIG1vYmlsZSB0byBkZXNrdG9wIHZpZXcuXG4vLy8gQHR5cGUgQnJlYWtwb2ludFxuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRvcCBiYXIgY29udGFpbmVyLlxuQG1peGluIHRvcC1iYXItY29udGFpbmVyIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cblxuICBwYWRkaW5nOiAkdG9wYmFyLXBhZGRpbmc7XG5cbiAgJixcbiAgdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENoZWNrIGlmICR0b3BiYXItYmFja2dyb3VuZCBpcyBkaWZmZXJudCBmcm9tICR0b3BiYXItYmFja2dyb3VuZC1zdWJtZW51XG4gIEBpZiAoJHRvcGJhci1iYWNrZ3JvdW5kICE9ICR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kKSB7XG4gICAgdWwgdWwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzdHJhaW4gd2lkdGggb2YgaW5wdXRzIGJ5IGRlZmF1bHQgdG8gbWFrZSB0aGVtIGVhc2llciB0byBhcnJhbmdlXG4gIGlucHV0IHtcbiAgICBtYXgtd2lkdGg6ICR0b3BiYXItaW5wdXQtd2lkdGg7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gIH1cblxuICAvLyBUaGUgYWJvdmUgc3R5bGVzIHNob3VsZG4ndCBhcHBseSB0byBpbnB1dCBncm91cCBmaWVsZHNcbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgfVxuXG4gIGlucHV0LmJ1dHRvbiB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vLyBNYWtlcyBzZWN0aW9ucyBvZiBhIHRvcCBiYXIgc3RhY2sgb24gdG9wIG9mIGVhY2ggb3RoZXIuXG5AbWl4aW4gdG9wLWJhci1zdGFja2VkIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgLy8gU3ViLXNlY3Rpb25zXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIFN1Yi1zZWN0aW9uc1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBVbmRvZXMgdGhlIENTUyBhcHBsaWVkIGJ5IHRoZSBgdG9wLWJhci1zdGFja2VkKClgIG1peGluLlxuQG1peGluIHRvcC1iYXItdW5zdGFjayB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gICAgLnRvcC1iYXItbGVmdCB7XG4gICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9wLWJhciB7XG4gIC8vIFRvcCBiYXIgY29udGFpbmVyXG4gIC50b3AtYmFyIHtcbiAgICBAaW5jbHVkZSB0b3AtYmFyLWNvbnRhaW5lcjtcblxuICAgIC8vIFN0YWNrIG9uIHNtYWxsIHNjcmVlbnMgYnkgZGVmYXVsdFxuICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBpbmNsdWRlIHRvcC1iYXItdW5zdGFjaztcbiAgICB9XG5cbiAgICAvLyBHZW5lcmF0ZSBjbGFzc2VzIGZvciBzdGFja2luZyBvbiBlYWNoIHNjcmVlbiBzaXplIChkZWZpbmVkIGluICRicmVha3BvaW50LWNsYXNzZXMpXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAmLnN0YWNrZWQtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTdWItc2VjdGlvbnNcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBtYXJnaW46ICR0b3BiYXItdGl0bGUtc3BhY2luZztcbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nOiAkdG9wYmFyLXRpdGxlLXNwYWNpbmc7XG5cbiAgICAgIC5tZW51LWljb24ge1xuICAgICAgICBib3R0b206IDJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvcigkc2l6ZSkge1xuICAkc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgLy8gTWF4IHZhbHVlIGlzIDAuMnB4IHVuZGVyIHRoZSBuZXh0IGJyZWFrcG9pbnQgKDAuMDIgLyAxNiA9IDAuMDAxMjUpLlxuICAvLyBVc2UgYSBwcmVjaXNpb24gdW5kZXIgMXB4IHRvIHN1cHBvcnQgYnJvd3NlciB6b29tLCBidXQgbm90IHRvIGxvdyB0byBhdm9pZCByb3VuZGluZy5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzExMzEzXG4gICRzaXplOiAtemYtYnAtdG8tZW0oJHNpemUpIC0gLjAwMTI1O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCB3aXRoaW4gYSBjZXJ0YWluIGJyZWFrcG9pbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvci1vbmx5KCRzaXplKSB7XG4gICRsb3dlci1ib3VuZC1zaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkdXBwZXItYm91bmQtc2l6ZTogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJHNpemUpO1xuXG4gIC8vIG1vcmUgb2Z0ZW4gdGhhbiBub3QgdGhpcyB3aWxsIGJlIGNvcnJlY3QsIGp1c3Qgb25lIHRpbWUgcm91bmQgdGhlIGxvb3AgaXQgd29uJ3Qgc28gc2V0IGluIHNjb3BlIGhlcmVcbiAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpIC0gLjAwMTI1O1xuICAvLyB0ZXN0IGFjdHVhbCBsb3dlci1ib3VuZC1zaXplLCBpZiAwIHNldCBpdCB0byAwZW1cbiAgQGlmIHN0cmlwLXVuaXQoJGxvd2VyLWJvdW5kLXNpemUpID09IDAge1xuICAgICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKTtcbiAgfVxuXG4gIEBpZiAkdXBwZXItYm91bmQtc2l6ZSA9PSBudWxsIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICR1cHBlci1ib3VuZDogLXpmLWJwLXRvLWVtKCR1cHBlci1ib3VuZC1zaXplKTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHVwcGVyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvcigkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3Itb25seSgkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzIHtcbiAgLy8gQmFzaWMgaGlkaW5nIGNsYXNzZXNcbiAgLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAuaGlkZS1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBoaWRlLWZvcigkc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5zaG93LWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlkZS1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBoaWRlLWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBzaG93LWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBTY3JlZW4gcmVhZGVyIHZpc2liaWxpdHkgY2xhc3Nlc1xuICAvLyBOZWVkIGEgXCJoaWRlLWZvci1zclwiIGNsYXNzPyBBZGQgYXJpYS1oaWRkZW49J3RydWUnIHRvIHRoZSBlbGVtZW50XG4gIC5zaG93LWZvci1zcixcbiAgLnNob3ctb24tZm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG5cbiAgLy8gT25seSBkaXNwbGF5IHRoZSBlbGVtZW50IHdoZW4gaXQncyBmb2N1c2VkXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvLyBMYW5kc2NhcGUgYW5kIHBvcnRyYWl0IHZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgRmxleGJveCBVdGlsaXRpZXNcbi8vLy9cbi8vXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgdGhlIGNvdW50IG9mIHNvdXJjZSBvcmRlcmluZ2Bcbi8vLyBAdHlwZSBOdW1iZXJcbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNiAhZGVmYXVsdDtcblxuLy8vIFF1aWNrbHkgZGlzYWJsZS9lbmFibGUgUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgVmFuaWxsYSBGbGV4IEhlbHBlcnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZSAhZGVmYXVsdDtcblxuQG1peGluIGZsZXgtaGVscGVycyB7XG4gIC5mbGV4LWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleDtcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cblxuICAuZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG5cbiAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgLmZsZXgtZGlyLSN7JGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY29udGFpbmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtYXV0byB7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1ncm93IHtcbiAgICAgICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcbiAgICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LWNsYXNzZXMge1xuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCB1c2luZyBqdXN0aWZ5LWNvbnRlbnRcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluICQtemYtZmxleC1qdXN0aWZ5IHtcbiAgICAuYWxpZ24tI3skaGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogJGhkaXIpO1xuICAgIH1cbiAgfVxuICBcbiAgLy8gSG9yaXpvbnRhbCBhbGlnbm1lbnQgU3BlY2lmaWNhbGx5IGZvciBWZXJ0aWNhbCBNZW51XG4gIEBlYWNoICRoZGlyLCAkcHJvcCBpbiBtYXAtcmVtb3ZlKCQtemYtZmxleC1qdXN0aWZ5LCAnanVzdGlmeScsICdzcGFjZWQnKSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgICYudmVydGljYWwge1xuICAgICAgICAmLm1lbnUgPiBsaSA+IGEge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGFsaWdubWVudCB1c2luZyBhbGlnbi1pdGVtcyBhbmQgYWxpZ24tc2VsZlxuICBAZWFjaCAkdmRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWFsaWduIHtcbiAgICAuYWxpZ24tI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeTogJHZkaXIpO1xuICAgIH1cblxuICAgIC5hbGlnbi1zZWxmLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZigkeTogJHZkaXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENlbnRyYWwgYWxpZ25tZW50IG9mIGNvbnRlbnRcbiAgLmFsaWduLWNlbnRlci1taWRkbGUge1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6IGNlbnRlciwgJHk6IG1pZGRsZSk7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgLy8gU291cmNlIG9yZGVyaW5nXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tb3JkZXItI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LW9yZGVyKCRpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWYW5pbGxhIEZsZXhib3ggSGVscGVyc1xuICBAaW5jbHVkZSBmbGV4LWhlbHBlcnM7XG59XG4iLCJAZnVuY3Rpb24gLXpmLWZsZXgtanVzdGlmeSgkdGV4dC1kaXJlY3Rpb24pe1xuICAkLXpmLWZsZXgtanVzdGlmeTogKFxuICAgICdsZWZ0JzogaWYoJHRleHQtZGlyZWN0aW9uID09IHJ0bCwgZmxleC1lbmQsIGZsZXgtc3RhcnQpLFxuICAgICdyaWdodCc6IGlmKCR0ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGZsZXgtc3RhcnQsIGZsZXgtZW5kKSxcbiAgICAnY2VudGVyJzogY2VudGVyLFxuICAgICdqdXN0aWZ5Jzogc3BhY2UtYmV0d2VlbixcbiAgICAnc3BhY2VkJzogc3BhY2UtYXJvdW5kLFxuICApO1xuXG4gIEByZXR1cm4gJC16Zi1mbGV4LWp1c3RpZnk7XG59XG5cblxuJC16Zi1mbGV4LWFsaWduOiAoXG4gICd0b3AnOiBmbGV4LXN0YXJ0LFxuICAnYm90dG9tJzogZmxleC1lbmQsXG4gICdtaWRkbGUnOiBjZW50ZXIsXG4gICdzdHJldGNoJzogc3RyZXRjaCxcbik7XG5cbiQtemYtZmxleC1kaXJlY3Rpb246IChcbiAgJ3Jvdyc6IHJvdyxcbiAgJ3Jvdy1yZXZlcnNlJzogcm93LXJldmVyc2UsXG4gICdjb2x1bW4nOiBjb2x1bW4sXG4gICdjb2x1bW4tcmV2ZXJzZSc6IGNvbHVtbi1yZXZlcnNlLFxuKTtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBieSBhZGRpbmcgYGRpc3BsYXk6IGZsZXhgIHRvIHRoZSBlbGVtZW50LlxuQG1peGluIGZsZXgge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkgYWxpZ25zIHRoZSBpdGVtcyB3aXRoaW4gYSBmbGV4IGNvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHggW251bGxdIC0gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYGxlZnRgLCBgcmlnaHRgLCBgY2VudGVyYCwgYGp1c3RpZnlgLCBvciBgc3BhY2VkYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IGhvcml6b250YWwgYWxpZ25tZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduKCR4OiBudWxsLCAkeTogbnVsbCkge1xuICBAaWYgJHgge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtanVzdGlmeSwgJHgpIHtcbiAgICAgICR4OiBtYXAtZ2V0KCQtemYtZmxleC1qdXN0aWZ5LCAkeCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHh9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBob3Jpem9udGFsIGFsaWdubWVudC4gVXNlIGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnksIG9yIHNwYWNlZC4nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgdmVydGljYWwgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nO1xuICAgIH1cbiAgfVxuXG4gIGp1c3RpZnktY29udGVudDogJHg7XG4gIGFsaWduLWl0ZW1zOiAkeTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgYWxpZ24gYSBzaW5nbGUgY29sdW1uIHdpdGhpbiBhIGZsZXggcm93LiBBcHBseSB0aGlzIG1peGluIHRvIGEgZmxleCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR5OiBudWxsKSB7XG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLWNvbHVtbi1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nO1xuICAgIH1cbiAgfVxuXG4gIGFsaWduLXNlbGY6ICR5O1xufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc291cmNlIG9yZGVyIG9mIGEgZmxleCBjaGlsZC4gQ2hpbGRyZW4gd2l0aCBsb3dlciBudW1iZXJzIGFwcGVhciBmaXJzdCBpbiB0aGUgbGF5b3V0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb3JkZXIgWzBdIC0gT3JkZXIgbnVtYmVyIHRvIGFwcGx5LlxuQG1peGluIGZsZXgtb3JkZXIoJG9yZGVyOiAwKSB7XG4gIG9yZGVyOiAkb3JkZXI7XG59XG5cbi8vLyBDaGFuZ2UgZmxleC1kaXJlY3Rpb25cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW3Jvd10gLSBGbGV4IGRpcmVjdGlvbiB0byB1c2UuIENhbiBiZVxuLy8vICAgLSByb3cgKGRlZmF1bHQpOiBzYW1lIGFzIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIHJvdy1yZXZlcnNlOiBvcHBvc2l0ZSB0byB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSBjb2x1bW46IHNhbWUgYXMgcm93IGJ1dCB0b3AgdG8gYm90dG9tXG4vLy8gICAtIGNvbHVtbi1yZXZlcnNlOiBzYW1lIGFzIHJvdy1yZXZlcnNlIHRvcCB0byBib3R0b21cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkZGlyZWN0aW9uOiByb3cpIHtcbiAgZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG59XG4iLCIvLy8gQXBwbGllcyBiYXNpYyB0cmFuc2l0aW9uIHNldHRpbmdzIHRvIGFuIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gdHJhbnNpdGlvbi1iYXNpY3MoXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgQGluY2x1ZGUgLW1vdGlvbi11aS1kZWZhdWx0cztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZztcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5O1xufVxuXG4vLy8gV3JhcHMgdGhlIGNvbnRlbnQgaW4gdGhlIHNldHVwIGNsYXNzIGZvciBhIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gU3RhdGUgdG8gc2V0dXAgZm9yIHRyYW5zaXRpb24uXG5AbWl4aW4gdHJhbnNpdGlvbi1zdGFydCgkZGlyKSB7XG4gICRzZWxlY3RvcjogLW11aS1idWlsZC1zZWxlY3RvcihtYXAtZ2V0KCRtb3Rpb24tdWktc3RhdGVzLCAkZGlyKSk7XG5cbiAgQGF0LXJvb3Qge1xuICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFdyYXBzIHRoZSBjb250ZW50IGluIHRoZSBhY3RpdmUgY2xhc3MgZm9yIGEgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgLSBTdGF0ZSB0byBhY3RpdmF0ZSBhIHRyYW5zaXRpb24gb24uXG5AbWl4aW4gdHJhbnNpdGlvbi1lbmQoJGRpcikge1xuICAkc2VsZWN0b3I6IC1tdWktYnVpbGQtc2VsZWN0b3IobWFwLWdldCgkbW90aW9uLXVpLXN0YXRlcywgJGRpciksIHRydWUpO1xuXG4gIEBhdC1yb290IHtcbiAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzdGFnZ2VyIGFuaW1hdGlvbiwgd2hpY2ggY2FuIGJlIHVzZWQgd2l0aCBBbmd1bGFyJ3MgYG5nLXJlcGVhdGAuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5LWFtb3VudCAtIEFtb3VudCBvZiB0aW1lIGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIHRvIGFkZCBiZXR3ZWVuIGVhY2ggaXRlbSdzIGFuaW1hdGlvbi5cbkBtaXhpbiBzdGFnZ2VyKCRkZWxheS1hbW91bnQpIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5LWFtb3VudDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMDsgLy8gUHJldmVudCBhY2NpZGVudGFsIENTUyBpbmhlcml0YW5jZVxufVxuIiwiLy8gc2Nzcy1saW50OmRpc2FibGUgSW1wb3J0YW50UnVsZSwgU3BhY2VBZnRlckNvbW1hLCBTaW5nbGVMaW5lUGVyUHJvcGVydHlcblxuQG1peGluIC1tb3Rpb24tdWktZGVmYXVsdHMge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktc3BlZWRzLCBkZWZhdWx0KTtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IG1hcC1nZXQoJG1vdGlvbi11aS1lYXNpbmdzLCBkZWZhdWx0KTtcbn1cblxuLy8gVHJhbnNpdGlvbnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5AbWl4aW4gbW90aW9uLXVpLXRyYW5zaXRpb25zIHtcbiAgLy8gU2xpZGVcbiAgLnNsaWRlLWluLWRvd24gICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICBkb3duKTsgfVxuICAuc2xpZGUtaW4tbGVmdCAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIHJpZ2h0KTsgfVxuICAuc2xpZGUtaW4tdXAgICAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIHVwKTsgfVxuICAuc2xpZGUtaW4tcmlnaHQgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIGxlZnQpOyB9XG4gIC5zbGlkZS1vdXQtZG93biAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgZG93bik7IH1cbiAgLnNsaWRlLW91dC1yaWdodCAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCByaWdodCk7IH1cbiAgLnNsaWRlLW91dC11cCAgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCB1cCk7IH1cbiAgLnNsaWRlLW91dC1sZWZ0ICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCBsZWZ0KTsgfVxuXG4gIC8vIEZhZGVcbiAgLmZhZGUtaW4gIHsgQGluY2x1ZGUgbXVpLWZhZGUoaW4sICAwLCAxKTsgfVxuICAuZmFkZS1vdXQgeyBAaW5jbHVkZSBtdWktZmFkZShvdXQsIDEsIDApOyB9XG5cbiAgLy8gSGluZ2VcbiAgLmhpbmdlLWluLWZyb20tdG9wICAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICB0b3ApOyB9XG4gIC5oaW5nZS1pbi1mcm9tLXJpZ2h0ICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgcmlnaHQpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLWJvdHRvbSAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgYm90dG9tKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1sZWZ0ICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIGxlZnQpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS14ICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHRvcCwgICBjZW50ZXIpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS15ICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHJpZ2h0LCBjZW50ZXIpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS10b3AgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgdG9wKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tcmlnaHQgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHJpZ2h0KTsgfVxuICAuaGluZ2Utb3V0LWZyb20tYm90dG9tICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIGJvdHRvbSk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLWxlZnQgICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCBsZWZ0KTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXggeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCB0b3AsICAgY2VudGVyKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCByaWdodCwgY2VudGVyKTsgfVxuXG4gIC8vIFNjYWxlXG4gIC5zY2FsZS1pbi11cCAgICB7IEBpbmNsdWRlIG11aS16b29tKGluLCAgMC41LCAxKTsgfVxuICAuc2NhbGUtaW4tZG93biAgeyBAaW5jbHVkZSBtdWktem9vbShpbiwgIDEuNSwgMSk7IH1cbiAgLnNjYWxlLW91dC11cCAgIHsgQGluY2x1ZGUgbXVpLXpvb20ob3V0LCAxLCAxLjUpOyB9XG4gIC5zY2FsZS1vdXQtZG93biB7IEBpbmNsdWRlIG11aS16b29tKG91dCwgMSwgMC41KTsgfVxuXG4gIC8vIFNwaW5cbiAgLnNwaW4taW4gICAgIHsgQGluY2x1ZGUgbXVpLXNwaW4oaW4sICBjdyk7IH1cbiAgLnNwaW4tb3V0ICAgIHsgQGluY2x1ZGUgbXVpLXNwaW4ob3V0LCBjdyk7IH1cbiAgLnNwaW4taW4tY2N3ICB7IEBpbmNsdWRlIG11aS1zcGluKGluLCAgY2N3KTsgfVxuICAuc3Bpbi1vdXQtY2N3IHsgQGluY2x1ZGUgbXVpLXNwaW4ob3V0LCBjY3cpOyB9XG5cbiAgLy8gVHJhbnNpdGlvbiBNb2RpZmllcnNcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktc3BlZWRzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1lYXNpbmdzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZGVsYXlzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0tZGVsYXkgeyB0cmFuc2l0aW9uLWRlbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBBbmltYXRpb25zXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuQG1peGluIG1vdGlvbi11aS1hbmltYXRpb25zIHtcbiAgLnNoYWtlICAgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzaGFrZSk7IH1cbiAgLnNwaW4tY3cgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzcGluKTsgfVxuICAuc3Bpbi1jY3cgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNwaW4oY2N3KSk7IH1cbiAgLndpZ2dsZSAgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbih3aWdnbGUpOyB9XG5cbiAgLnNoYWtlLFxuICAuc3Bpbi1jdyxcbiAgLnNwaW4tY2N3LFxuICAud2lnZ2xlIHtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IG1hcC1nZXQoJG1vdGlvbi11aS1zcGVlZHMsIGRlZmF1bHQpO1xuICB9XG5cbiAgLy8gQW5pbWF0aW9uIE1vZGlmaWVyc1xuICAvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuICAuaW5maW5pdGUgeyBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1zcGVlZHMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IGFuaW1hdGlvbi1kdXJhdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZWFzaW5ncyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZGVsYXlzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0tZGVsYXkgeyBhbmltYXRpb24tZGVsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG4iLCIvLy8gRm9ybWF0IGZvciBDU1MgY2xhc3NlcyBjcmVhdGVkIHdpdGggTW90aW9uIFVJLlxuLy8vIEB0eXBlIE1hcFxuLy8vIEBwcm9wIHtCb29sZWFufSBhcHBlbmQgW3RydWVdIC0gRGVmaW5lcyBpZiBzZWxlY3RvcnMgYXJlIGNoYWluZWQgdG8gdGhlIHNlbGVjdG9yIChgLmNsYXNzLmVudGVyYCksIG9yIGFwcGVuZGVkIGFzIGEgbmV3IGNsYXNzIChgLmNsYXNzLWVudGVyYCkuXG4vLy8gQHByb3Age1N0cmluZ30gcHJlZml4IFsnbXVpLSddIC0gUHJlZml4IHRvIGFkZCBiZWZvcmUgdGhlIHN0YXRlIG9mIGEgY2xhc3MuIEVudGVyIGFuIGVtcHR5IHN0cmluZyB0byB1c2Ugbm8gcHJlZml4LlxuLy8vIEBwcm9wIHtTdHJpbmd9IHByZWZpeCBbJy1hY3RpdmUnXSAtIFN1ZmZpeCB0byBhZGQgdG8gdGhlIGFjdGl2ZSBzdGF0ZSBjbGFzcy5cbiRtb3Rpb24tdWktY2xhc3NlczogKFxuICBjaGFpbjogdHJ1ZSxcbiAgcHJlZml4OiAnbXVpLScsXG4gIGFjdGl2ZTogJy1hY3RpdmUnLFxuKSAhZGVmYXVsdDtcblxuLy8vIFN0YXRlIG5hbWVzIHRvIHJlZmVyZW5jZSB3aGVuIHdyaXRpbmcgbW90aW9uIGNsYXNzZXMuIFRvIHVzZSBtdWx0aXBsZSBjbGFzcyBuYW1lcyBmb3Igb25lIHN0YXRlLCBlbnRlciBhIGxpc3Qgb2Ygc3RyaW5ncyBpbnN0ZWFkIG9mIG9uZSBzdHJpbmcuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLXN0YXRlczogKFxuICBpbjogJ2VudGVyJyxcbiAgb3V0OiAnbGVhdmUnLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3BlZWQgdGhhdCB0cmFuc2l0aW9ucyBhbmQgYW5pbWF0aW9ucyBwbGF5IGF0LCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIHNwZWVkLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1zcGVlZHM6IChcbiAgZGVmYXVsdDogNTAwbXMsXG4gIHNsb3c6IDc1MG1zLFxuICBmYXN0OiAyNTBtcyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRlbGF5IHRvIGFkZCBiZWZvcmUgbW90aW9uLCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIGRlbGF5LlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1kZWxheXM6IChcbiAgZGVmYXVsdDogMCxcbiAgc2hvcnQ6IDMwMG1zLFxuICBsb25nOiA3MDBtcyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGVhc2luZyBmb3IgdHJhbnNpdGlvbnMgYW5kIGFuaW1hdGlvbnMsIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgZWFzaW5nLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1lYXNpbmdzOiAoXG4gIGRlZmF1bHQ6IGxpbmVhcixcbiAgbGluZWFyOiBsaW5lYXIsXG4gIGVhc2U6IGVhc2UsXG4gIGVhc2UtaW46IGVhc2UtaW4sXG4gIGVhc2Utb3V0OiBlYXNlLW91dCxcbiAgZWFzZS1pbi1vdXQ6IGVhc2UtaW4tb3V0LFxuICBib3VuY2UtaW46IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSxcbiAgYm91bmNlLW91dDogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSxcbiAgYm91bmNlLWluLW91dDogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpLFxuKSAhZGVmYXVsdDtcblxuLy8vIE1pc2NlbGxhbmVvdXMgc2V0dGluZ3MgcmVsYXRlZCB0byBNb3Rpb24gVUkuXG4vLy8gQHR5cGUgTWFwXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFtmYWxzZV0gLSBEZWZpbmVzIGlmIHNsaWRlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgaGluZ2UgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBzY2FsZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNwaW4gbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbiRtb3Rpb24tdWktc2V0dGluZ3M6IChcbiAgc2xpZGUtYW5kLWZhZGU6IGZhbHNlLFxuICBoaW5nZS1hbmQtZmFkZTogdHJ1ZSxcbiAgc2NhbGUtYW5kLWZhZGU6IHRydWUsXG4gIHNwaW4tYW5kLWZhZGU6IHRydWUsXG4gIGFjdGl2YXRlLXF1ZXVlLWNsYXNzOiAnaXMtYW5pbWF0aW5nJyxcbikgIWRlZmF1bHQ7XG4iLCIvLyBJbnRlcm5hbCBjb3VudGVyIGZvciBjcmVhdGluZyB1bmlxdWUga2V5ZnJhbWUgbmFtZXNcbiQtbXVpLWN1c3RvbTogMDtcblxuLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMuIFVzZSB0aGlzIGZ1bmN0aW9uIGluc3RlYWQgb2YgYG11aS1hbmltYXRpb25gIGlmIHlvdSB3YW50IHRvIGNyZWF0ZSBhIGtleWZyYW1lIGFuaW1hdGlvbiAqd2l0aG91dCogYXV0b21hdGljYWxseSBhc3NpZ25pbmcgaXQgdG8gdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUga2V5ZnJhbWUuXG4vLy8gQHBhcmFtIHtGdW5jdGlvbn0gJGVmZmVjdHMuLi4gLSBPbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIHRvIGJ1aWxkIHRoZSBrZXlmcmFtZSB3aXRoLlxuQG1peGluIG11aS1rZXlmcmFtZXMoJG5hbWUsICRlZmZlY3RzLi4uKSB7XG4gICRvYmo6IC1tdWktcHJvY2Vzcy1hcmdzKCRlZmZlY3RzLi4uKTtcbiAgJG9iajogbWFwLXJlbW92ZSgkb2JqLCBuYW1lKTtcblxuICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAvLyBOb3cgaXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgcGVyY2VudGFnZVxuICAgIEBlYWNoICRwY3QsICRwcm9wcyBpbiAkb2JqIHtcbiAgICAgICN7LW11aS1rZXlmcmFtZS1wY3QoJHBjdCl9IHtcbiAgICAgICAgLy8gTGFzdGx5LCBpdGVyYXRlIHRocm91Z2ggZWFjaCBDU1MgcHJvcGVydHkgd2l0aGluIGEgcGVyY2VudGFnZSBhbmQgcHJpbnQgaXQgb3V0XG4gICAgICAgIEBlYWNoICRwcm9wLCAkdmFsdWUgaW4gJHByb3BzIHtcbiAgICAgICAgICAjeyRwcm9wfTogI3skdmFsdWV9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc3RyaW5nIGZvciBhIENTUyBrZXlmcmFtZSwgYnkgY29udmVydGluZyBhIGxpc3Qgb2YgbnVtYmVycyB0byBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIHBlcmNlbnRhZ2UgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRpbnB1dCAtIExpc3Qgb2YgbnVtYmVycyB0byB1c2UuXG4vLy8gQHJldHVybiB7U3RyaW5nfSBBIHNldCBvZiBjb21tYS1zZXBhcmF0ZWQgcGVyY2VudGFnZSB2YWx1ZXMuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1wY3QoJGlucHV0KSB7XG4gICRvdXRwdXQ6ICgpO1xuXG4gIEBpZiB0eXBlLW9mKCRpbnB1dCkgPT0gJ251bWJlcicge1xuICAgICRvdXRwdXQ6ICgkaW5wdXQgKiAxJSk7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkaW5wdXQpID09ICdsaXN0JyB7XG4gICAgQGVhY2ggJGkgaW4gJGlucHV0IHtcbiAgICAgICRvdXRwdXQ6IGFwcGVuZCgkb3V0cHV0LCAoJGkgKiAxJSksIGNvbW1hKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRvdXRwdXQ7XG59XG5cbi8vLyBQcmludHMgdGhlIENTUyBwcm9wZXJ0aWVzIGZyb20gYSBzcGVjaWZpYyBrZXkgaW4gYSBrZXlmcmFtZXMgbWFwLiBVc2VkIHRvIGJvcnJvdyBDU1MgZnJvbSBrZXlmcmFtZSBmdW5jdGlvbnMgZm9yIHVzZSBpbiB0cmFuc2l0aW9ucy5cbi8vLyBAcGFyYW0ge01hcH0gJGtmIC0gS2V5ZnJhbWUgbWFwIHRvIGV4dHJhY3QgZnJvbS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGtleSAtIEtleSBpbiB0aGUgbWFwIHRvIHByaW50IHRoZSBDU1Mgb2YuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLW11aS1rZXlmcmFtZS1nZXQoJGtmLCAka2V5KSB7XG4gICRtYXA6IG1hcC1nZXQoJGtmLCAka2V5KTtcblxuICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRtYXAgb3IgKCkge1xuICAgIC8vIFNvbWUga2V5ZnJhbWUgbWFwcyBzdG9yZSB0cmFuc2Zvcm1zIGFzIHF1b3RlZCBzdHJpbmdzXG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkdmFsdWU6IHVucXVvdGUoJHZhbHVlKTtcbiAgICB9XG4gICAgI3skcHJvcH06ICR2YWx1ZTtcbiAgfVxufVxuXG4vLy8gUmVmb3JtYXRzIGEgbWFwIGNvbnRhaW5pbmcga2V5cyB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMsIHNvIHRoYXQgZWFjaCBrZXkgaXMgYSBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gc3BsaXQgdXAuXG4vLy8gQHJldHVybiB7TWFwfSBBIHJlZm9ybWF0dGVkIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIFNwbGl0IGtleXMgd2l0aCBtdWx0aXBsZSB2YWx1ZXMgaW50byBpbmRpdmlkdWFsIGtleXNcbiAgQGVhY2ggJGtleSwgJGl0ZW0gaW4gJG1hcCB7XG4gICAgJGtleS10eXBlOiB0eXBlLW9mKCRrZXkpO1xuXG4gICAgQGlmICRrZXktdHlwZSA9PSAnbnVtYmVyJyB7XG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJGl0ZW0pKTtcbiAgICB9IEBlbHNlIGlmICRrZXktdHlwZSA9PSAnbGlzdCcge1xuICAgICAgQGVhY2ggJGsgaW4gJGtleSB7XG4gICAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgkazogJGl0ZW0pKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRuZXctbWFwO1xufVxuXG4vLy8gQ29tYmluZXMgYSBzZXJpZXMgb2Yga2V5ZnJhbWUgb2JqZWN0cyBpbnRvIG9uZS5cbi8vLyBAcGFyYW0ge01hcH0gJG1hcHMuLi4gLSBBIHNlcmllcyBvZiBtYXBzIHRvIG1lcmdlLCBhcyBpbmRpdmlkdWFsIHBhcmFtZXRlcnMuXG4vLy8gQHJldHVybiB7TWFwfSBBIGNvbWJpbmVkIGtleWZyYW1lIG9iamVjdC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLWNvbWJpbmUoJG1hcHMuLi4pIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIG1hcCBwYXNzZWQgaW5cbiAgQGVhY2ggJG1hcCBpbiAkbWFwcyB7XG4gICAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ3N0cmluZycge1xuICAgICAgJG1hcDogY2FsbCgkbWFwKTtcbiAgICB9XG5cbiAgICAkbWFwOiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApO1xuXG4gICAgLy8gSXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgaW4gdGhlIG1hcFxuICAgIC8vICRrZXkgaXMgdGhlIGtleWZyYW1lIHBlcmNlbnRhZ2VcbiAgICAvLyAkdmFsdWUgaXMgYSBtYXAgb2YgQ1NTIHByb3BlcnRpZXNcbiAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgICAkbmV3LXZhbHVlOiAoKTtcblxuICAgICAgQGlmIG1hcC1oYXMta2V5KCRuZXctbWFwLCAka2V5KSB7XG4gICAgICAgIC8vIElmIHRoZSBtYXAgYWxyZWFkeSBoYXMgdGhlIGtleWZyYW1lICUsIGFwcGVuZCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6IC1tdWktbWVyZ2UtcHJvcGVydGllcyhtYXAtZ2V0KCRuZXctbWFwLCAka2V5KSwgJHZhbHVlKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBPdGhlcndpc2UsIGNyZWF0ZSBhIG5ldyBtYXAgd2l0aCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6ICR2YWx1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gRmluYWxseSwgbWVyZ2UgdGhlIG1vZGlmaWVkIGtleWZyYW1lIHZhbHVlIGludG8gdGhlIG91dHB1dCBtYXBcbiAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgka2V5OiAkbmV3LXZhbHVlKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gTWFrZSBhIG5hbWUgZm9yIHRoZSBrZXlmcmFtZXNcbiAgJC1tdWktY3VzdG9tOiAkLW11aS1jdXN0b20gKyAxICFnbG9iYWw7XG4gICRtYXAtbmFtZTogKG5hbWU6ICdjdXN0b20tI3skLW11aS1jdXN0b219Jyk7XG4gICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICRtYXAtbmFtZSk7XG5cbiAgQHJldHVybiAkbmV3LW1hcDtcbn1cblxuLy8vIENvbWJpbmVzIHR3byBtYXBzIG9mIENTUyBwcm9wZXJ0aWVzIGludG8gb25lIG1hcC4gSWYgYm90aCBtYXBzIGhhdmUgYSB0cmFuc2Zvcm0gcHJvcGVydHksIHRoZSB2YWx1ZXMgZnJvbSBlYWNoIHdpbGwgYmUgY29tYmluZWQgaW50byBvbmUgcHJvcGVydHkuXG4vLy8gQHBhcmFtIHtNYXB9ICRvbmUgLSBGaXJzdCBtYXAgdG8gbWVyZ2UuXG4vLy8gQHBhcmFtIHtNYXB9ICR0d28gLSBTZWNvbmQgbWFwIHRvIG1lcmdlLlxuLy8vIEByZXR1cm4ge01hcH0gQSBjb21iaW5lZCBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1tZXJnZS1wcm9wZXJ0aWVzKCRvbmUsICR0d28pIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRvbmUsIHRyYW5zZm9ybSkgYW5kIG1hcC1oYXMta2V5KCR0d28sIHRyYW5zZm9ybSkge1xuICAgICR0cmFuc2Zvcm06IGpvaW4obWFwLWdldCgkb25lLCB0cmFuc2Zvcm0pLCBtYXAtZ2V0KCR0d28sIHRyYW5zZm9ybSkpO1xuICAgICRvbmU6IG1hcC1tZXJnZSgkb25lLCAodHJhbnNmb3JtOiAkdHJhbnNmb3JtKSk7XG4gICAgJHR3bzogbWFwLXJlbW92ZSgkdHdvLCB0cmFuc2Zvcm0pO1xuICB9XG5cbiAgQHJldHVybiBtYXAtbWVyZ2UoJG9uZSwgJHR3byk7XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNsaWRpbmcgdHJhbnNpdGlvbiBieSB0cmFuc2xhdGluZyB0aGUgZWxlbWVudCBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2xlZnRdIC0gRGlyZWN0aW9uIHRvIHNsaWRlIHRvLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRhbW91bnQgWzEwMCVdIC0gTGVuZ3RoIG9mIHRoZSBzbGlkZSBhcyBhIHBlcmNlbnRhZ2UgdmFsdWUuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktc2xpZGUgKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBsZWZ0LFxuICAkYW1vdW50OiAxMDAlLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzbGlkZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHNsaWRlOiBzbGlkZSgkc3RhdGUsICRkaXJlY3Rpb24sICRhbW91bnQpO1xuXG4gIC8vIENTUyBPdXRwdXRcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNsaWRlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cblxuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzbGlkZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBmYWRlIHRyYW5zaXRpb24gYnkgYWRqdXN0aW5nIHRoZSBvcGFjaXR5IG9mIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMF0gLSBPcGFjaXR5IHRvIHN0YXJ0IGF0LiBNdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gMCBhbmQgMS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvIFsxXSAtIE9wYWNpdHkgdG8gZW5kIG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWZhZGUoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiAwLFxuICAkdG86IDEsXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGZhZGU6IGZhZGUoJGZyb20sICR0byk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGZhZGUsIDApO1xuXG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRmYWRlLCAxMDApO1xuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGhpbmdlIGVmZmVjdCBieSByb3RhdGluZyB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmcm9tIFtsZWZ0XSAtIEVkZ2Ugb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIGZyb20uIENhbiBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRheGlzIFtlZGdlXSAtIEF4aXMgb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIG9uLiBDYW4gYmUgYGVkZ2VgIG9yIGBjZW50ZXJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGVyc3BlY3RpdmUgWzIwMDBweF0gLSBQZXJjZWl2ZWQgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdmlld2VyIGFuZCB0aGUgZWxlbWVudC4gQSBoaWdoZXIgbnVtYmVyIHdpbGwgbWFrZSB0aGUgcm90YXRpb24gZWZmZWN0IG1vcmUgcHJvbm91bmNlZC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0dXJuLW9yaWdpbiBbZnJvbS1iYWNrXSAtIFNpZGUgb2YgdGhlIGVsZW1lbnQgdG8gc3RhcnQgdGhlIHJvdGF0aW9uIGZyb20uIENhbiBiZSBgZnJvbS1iYWNrYCBvciBgZnJvbS1mcm9udGAuXG5AZnVuY3Rpb24gaGluZ2UgKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbGVmdCxcbiAgJGF4aXM6IGVkZ2UsXG4gICRwZXJzcGVjdGl2ZTogMjAwMHB4LFxuICAkdHVybi1vcmlnaW46IGZyb20tYmFja1xuKSB7XG4gIC8vIFJvdGF0aW9uIGRpcmVjdGlvbnMgd2hlbiBoaW5naW5nIGZyb20gYmFjayB2cy4gZnJvbnRcbiAgJHJvdGF0aW9uLWFtb3VudDogOTBkZWc7XG4gICRyb3RhdGlvbnMtYmFjazogKFxuICAgIHRvcDogcm90YXRlWCgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIHJpZ2h0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgYm90dG9tOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIGxlZnQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCksXG4gICk7XG4gICRyb3RhdGlvbnMtZnJvbTogKFxuICAgIHRvcDogcm90YXRlWCgkcm90YXRpb24tYW1vdW50KSxcbiAgICByaWdodDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50KSxcbiAgICBib3R0b206IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICBsZWZ0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICk7XG5cbiAgLy8gUm90YXRpb24gb3JpZ2luXG4gICRyb3RhdGlvbjogJyc7XG4gIEBpZiAkdHVybi1vcmlnaW4gPT0gZnJvbS1mcm9udCB7XG4gICAgJHJvdGF0aW9uOiBtYXAtZ2V0KCRyb3RhdGlvbnMtZnJvbSwgJGZyb20pO1xuICB9IEBlbHNlIGlmICR0dXJuLW9yaWdpbiA9PSBmcm9tLWJhY2sge1xuICAgICRyb3RhdGlvbjogbWFwLWdldCgkcm90YXRpb25zLWJhY2ssICRmcm9tKTtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gJyR0dXJuLW9yaWdpbiBtdXN0IGJlIGVpdGhlciBcImZyb20tYmFja1wiIG9yIFwiZnJvbS1mcm9udFwiJztcbiAgfVxuXG4gIC8vIFN0YXJ0IGFuZCBlbmQgc3RhdGVcbiAgJHN0YXJ0OiAnJztcbiAgJGVuZDogJyc7XG4gIEBpZiAkc3RhdGUgPT0gaW4ge1xuICAgICRzdGFydDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkcm90YXRpb247XG4gICAgJGVuZDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSByb3RhdGUoMGRlZyk7XG4gIH0gQGVsc2Uge1xuICAgICRzdGFydDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSByb3RhdGUoMGRlZyk7XG4gICAgJGVuZDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkcm90YXRpb247XG4gIH1cblxuICAvLyBUdXJuIGF4aXNcbiAgJG9yaWdpbjogJyc7XG4gIEBpZiAkYXhpcyA9PSBlZGdlIHtcbiAgICAkb3JpZ2luOiAkZnJvbTtcbiAgfSBAZWxzZSB7XG4gICAgJG9yaWdpbjogY2VudGVyO1xuICB9XG5cbiAgJGtleWZyYW1lczogKFxuICAgIG5hbWU6ICdoaW5nZS0jeyRzdGF0ZX0tI3skZnJvbX0tI3skYXhpc30tI3skdHVybi1vcmlnaW59JyxcbiAgICAwOiAodHJhbnNmb3JtOiAkc3RhcnQsIHRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW4pLFxuICAgIDEwMDogKHRyYW5zZm9ybTogJGVuZCksXG4gICk7XG5cbiAgQHJldHVybiAka2V5ZnJhbWVzO1xufVxuIiwiLy8vIENyZWF0ZXMgYSBoaW5nZSB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZyb20gW2xlZnRdIC0gRWRnZSBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgZnJvbS4gQ2FuIGJlIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGF4aXMgW2VkZ2VdIC0gQXhpcyBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgb24uIENhbiBiZSBgZWRnZWAgb3IgYGNlbnRlcmAuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRwZXJzcGVjdGl2ZSBbMjAwMHB4XSAtIFBlcmNlaXZlZCBkaXN0YW5jZSBiZXR3ZWVuIHRoZSB2aWV3ZXIgYW5kIHRoZSBlbGVtZW50LiBBIGhpZ2hlciBudW1iZXIgd2lsbCBtYWtlIHRoZSByb3RhdGlvbiBlZmZlY3QgbW9yZSBwcm9ub3VuY2VkLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHR1cm4tb3JpZ2luIFtmcm9tLWJhY2tdIC0gU2lkZSBvZiB0aGUgZWxlbWVudCB0byBzdGFydCB0aGUgcm90YXRpb24gZnJvbS4gQ2FuIGJlIGBmcm9tLWJhY2tgIG9yIGBmcm9tLWZyb250YC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWhpbmdlIChcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IGxlZnQsXG4gICRheGlzOiBlZGdlLFxuICAkcGVyc3BlY3RpdmU6IDIwMDBweCxcbiAgJHR1cm4tb3JpZ2luOiBmcm9tLWJhY2ssXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIGhpbmdlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkaGluZ2U6IGhpbmdlKCRzdGF0ZSwgJGZyb20sICRheGlzLCAkcGVyc3BlY3RpdmUsICR0dXJuLW9yaWdpbik7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGhpbmdlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRoaW5nZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBzY2FsaW5nIHRyYW5zaXRpb24uIEEgc2NhbGUgb2YgYDFgIG1lYW5zIHRoZSBlbGVtZW50IGlzIHRoZSBzYW1lIHNpemUuIExhcmdlciBudW1iZXJzIG1ha2UgdGhlIGVsZW1lbnQgYmlnZ2VyLCB3aGlsZSBudW1iZXJzIGxlc3MgdGhhbiAxIG1ha2UgdGhlIGVsZW1lbnQgc21hbGxlci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gWzEuNV0gLSBTaXplIHRvIHN0YXJ0IGF0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMV0gLSBTaXplIHRvIGVuZCBhdC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXpvb20oXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiAxLjUsXG4gICR0bzogMSxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc2NhbGUtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzY2FsZTogem9vbSgkZnJvbSwgJHRvKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2NhbGUsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNjYWxlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNwaW5uaW5nIHRyYW5zaXRpb24gYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuIFRoZSBgdHVybmAgdW5pdCBpcyB1c2VkIHRvIHNwZWNpZnkgaG93IGZhciB0byByb3RhdGUuIGAxdHVybmAgaXMgZXF1YWwgdG8gYSAzNjAtZGVncmVlIHNwaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZGlyZWN0aW9uIFtjd10gLSBEaXJlY3Rpb24gdG8gc3Bpbi4gU2hvdWxkIGJlIGBjd2AgKGNsb2Nrd2lzZSkgb3IgYGNjd2AgKGNvdW50ZXJjbG9ja3dpc2UpLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYW1vdW50IFswLjc1dHVybl0gLSBBbW91bnQgdG8gZWxlbWVudCB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1zcGluKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBjdyxcbiAgJGFtb3VudDogMC43NXR1cm4sXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNwaW4tYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzcGluOiBzcGluKCRzdGF0ZSwgJGRpcmVjdGlvbiwgJGFtb3VudCk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEga2V5ZnJhbWUgZnJvbSBvbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIGFuZCBhc3NpZ25zIGl0IHRvIHRoZSBlbGVtZW50IGJ5IGFkZGluZyB0aGUgYGFuaW1hdGlvbi1uYW1lYCBwcm9wZXJ0eS5cbi8vLyBAcGFyYW0ge0Z1bmN0aW9ufSAkZWZmZWN0cy4uLiAtIE9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgdG8gYnVpbGQgdGhlIGtleWZyYW1lIHdpdGguXG5AbWl4aW4gbXVpLWFuaW1hdGlvbigkYXJncy4uLikge1xuICAkbmFtZTogbWFwLWdldCgtbXVpLXByb2Nlc3MtYXJncygkYXJncy4uLiksIG5hbWUpO1xuICBAaW5jbHVkZSBtdWkta2V5ZnJhbWVzKCRuYW1lLCAkYXJncy4uLik7XG4gIGFuaW1hdGlvbi1uYW1lOiB1bnF1b3RlKCRuYW1lKTtcbn1cbiIsIkBjaGFyc2V0ICd1dGYtOCc7XG5cblxuQGltcG9ydCAnc2V0dGluZ3MnO1xuQGltcG9ydCAnZm91bmRhdGlvbic7XG5AaW1wb3J0ICdtb3Rpb24tdWknO1xuXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG5cbkBpbmNsdWRlIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1yYW5nZS1pbnB1dDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1wYWdpbmF0aW9uO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3Nlcztcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXM7XG5AaW5jbHVkZSBtb3Rpb24tdWktdHJhbnNpdGlvbnM7XG5AaW5jbHVkZSBtb3Rpb24tdWktYW5pbWF0aW9ucztcblxuLypcbiAgTXkgY3VzdG9tIHN0eWxlczpcbiAgQWRkIHlvdXIgc2NzcyBmaWxlcyBiZWxvdyB0byBzdHJ1Y3R1cmUgeW91ciBwcm9qZWN0IHN0eWxlc1xuKi9cblxuLy8gR2xvYmFsXG5AaW1wb3J0IFwiZ2xvYmFsL19hY2Nlc3NpYmlsaXR5XCI7XG5AaW1wb3J0IFwiZ2xvYmFsL2NvbG9yc1wiO1xuQGltcG9ydCBcImdsb2JhbC9taXhpbnNcIjtcbkBpbXBvcnQgXCJnbG9iYWwvdHlwb2dyYXBoeVwiO1xuQGltcG9ydCBcImdsb2JhbC9iYXNlXCI7XG5AaW1wb3J0IFwiZ2xvYmFsL3V0aWxpdHlcIjtcbkBpbXBvcnQgXCJnbG9iYWwvd3AtYWRtaW5cIjtcbkBpbXBvcnQgXCJnbG9iYWwvd3Atb3ZlcnJpZGVzXCI7XG5AaW1wb3J0IFwiZ2xvYmFsL2dsb2JhbC1zZWFyY2hcIjtcbkBpbXBvcnQgXCJnbG9iYWwvaTE4blwiO1xuXG4vLyBNb2R1bGVzXG4vLyBAaW1wb3J0IFwibW9kdWxlcy9uYXZpZ2F0aW9uXCI7XG4vLyBAaW1wb3J0IFwibW9kdWxlcy9mb290ZXJcIjtcbi8vIEBpbXBvcnQgXCJtb2R1bGVzL2hlYWRlclwiO1xuQGltcG9ydCBcIm1vZHVsZXMvYnV0dG9uc1wiO1xuQGltcG9ydCBcIm1vZHVsZXMvY29udGVudFwiO1xuQGltcG9ydCBcIm1vZHVsZXMvbmV3LWZvb3RlclwiO1xuQGltcG9ydCBcIm1vZHVsZXMvZWRpdG9yLXN0eWxlXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9taW5pY29uZmlnXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9mbGV4aWJsZS1jb250ZW50XCI7XG5AaW1wb3J0IFwibW9kdWxlcy9uYXZcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL2J1cmdlclwiO1xuXG4vLyBDb21wb25lbnRzXG5AaW1wb3J0IFwiY29tcG9uZW50cy9idXR0b25zXCI7IC8vIFdlJ3JlIG5vdCB1c2luZyB0aGlzIHJpZ2h0IG5vdy5cbkBpbXBvcnQgXCJjb21wb25lbnRzL2NhcmRzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9mZWF0dXJlZC1pbWFnZVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZGl2aWRlcnNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2xpbmtzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9wcm9kdWN0LXN0b3J5XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9icmVhZGNydW1ic1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvYy1hY2NvcmRpb25cIjtcbi8vQGltcG9ydCBcImNvbXBvbmVudHMvY29tcGFueS1ncmlkXCI7IC8vIE1vdmVkIHRvIG1vZHVsZXMvZmxleGlibGUtY29udGVudC9fY29tcGFueS1ncmlkIGFuZCBtb2RpZmllZC5cbkBpbXBvcnQgXCJjb21wb25lbnRzL2NvbnRhY3QtZm9ybVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvY29uZmlndXJhdG9yXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9jdXN0b20tc2VsZWN0XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9nbG9iYWwtZm9ybVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvY29uZmlnLWZvcm1cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL21vbml0b3ItdGFibGVcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3Byb2R1Y3QtYWNjZXNzb3JpZXNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3Byb2R1Y3RzLWJsb2NrLWRldGFpbHNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3Byb2R1Y3RzLWJsb2NrXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9zZWFyY2gtYmFyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9zZWFyY2gtcmVzdWx0c1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvc3VwcG9ydC1mYXFcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3NpdGVtYXBcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2hlYXQtY2FsY1wiO1xuXG4vLyBQYWdlc1xuQGltcG9ydCBcInBhZ2VzL2N1c3RvbWVyc1wiO1xuQGltcG9ydCBcInBhZ2VzL2NvbnRhY3RcIjtcbkBpbXBvcnQgXCJwYWdlcy9zZW8tbGFuZGluZ1wiO1xuQGltcG9ydCBcInBhZ2VzL3Byb2R1Y3Qtc3VwcG9ydFwiO1xuQGltcG9ydCBcInBhZ2VzL3Byb2R1Y3Qtc3VwcG9ydC1jb250ZW50XCI7XG5AaW1wb3J0IFwicGFnZXMvcHJvZHVjdC1jYXRlZ29yeVwiO1xuQGltcG9ydCBcInBhZ2VzL3NvbHV0aW9ucy1nYWxsZXJ5XCI7XG5AaW1wb3J0IFwicGFnZXMvYmxvZ1wiO1xuQGltcG9ydCBcInBhZ2VzL2NvbmZpZ3VyYXRvclwiO1xuQGltcG9ydCBcInBhZ2VzL3RocmVlLXNob3djYXNlXCI7XG5cblxuLy8gVGVtcGxhdGVzXG5AaW1wb3J0IFwidGVtcGxhdGVzL2Zyb250XCI7XG5AaW1wb3J0IFwidGVtcGxhdGVzL2tpdGNoZW4tc2lua1wiO1xuXG4vLyBGb250IEF3ZXNvbWVcbkBpbXBvcnQgXCJmb250LWF3ZXNvbWUvZm9udC1hd2Vzb21lXCI7XG5AaW1wb3J0IFwic2xpY2suc2Nzc1wiO1xuIiwiLy8gVGV4dCBtZWFudCBvbmx5IGZvciBzY3JlZW4gcmVhZGVycy4gQWRkcmVzc2VzIHBhcnQgb2YgdGhlbWUtY2hlY2sgaXNzdWUgIzg0MC5cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9BdXRvbWF0dGljL19zL2Jsb2IvbWFzdGVyL3N0eWxlLmNzc1xuLnNjcmVlbi1yZWFkZXItdGV4dCB7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4O1xuICB3aWR0aDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uc2NyZWVuLXJlYWRlci10ZXh0OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3gtc2hhZG93OiAwIDAgMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIGNsaXA6IGF1dG8gIWltcG9ydGFudDtcbiAgY29sb3I6ICMyMTc1OWI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBoZWlnaHQ6IGF1dG87XG4gIGxlZnQ6IDVweDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgcGFkZGluZzogMTVweCAyM3B4IDE0cHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdG9wOiA1cHg7XG4gIHdpZHRoOiBhdXRvO1xuICB6LWluZGV4OiAxMDAwMDA7IC8vIEFib3ZlIFdQIHRvb2xiYXIuXG59XG5cbio6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuIiwiQG1peGluIHRvLWVtKCR0YXJnZXQsICRjb250ZXh0OiAkYmFzZS1mb250KSB7XG4gIGZvbnQtc2l6ZTogKCR0YXJnZXQgLyAkY29udGV4dCkgKyAwZW07XG59XG5cbkBtaXhpbiBoaWRlKCkge1xuICBkaXNwbGF5OiBub25lO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbkBtaXhpbiBzaG93KCkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuLmhpZGRlbiB7XG4gIEBpbmNsdWRlIGhpZGU7XG59XG5cbkBtaXhpbiBpZU9ubHkoKSB7XG4gIEBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSwgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgICBAY29udGVudDtcbiAgfVxufSIsIm5hdiB7XG4gIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgbGkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLmNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XG4gIHdpZHRoOiA5MCU7XG5cbiAgJi5mdWxsIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgd2lkdGg6IDk1JTtcbiAgfVxufVxuXG5hIHtcbiAgY29sb3I6ICRjb2xvci1uYXZ5LWJsdWU7XG59XG5cbmE6Zm9jdXMge1xuICBjb2xvcjogY3VycmVudENvbG9yO1xuICBvdXRsaW5lOiBub25lO1xufVxuXG5ib2R5IHtcbiAgY29sb3I6ICRkYXJrLWdyYXk7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cblxudGFibGUge1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBtYXJnaW46IDQwcHggMDtcblxuICB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuXG4gICAgdHIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRjb2xvci1uYXZ5LWJsdWU7XG4gICAgfVxuXG4gICAgdGgsIHRkIHtcbiAgICAgIGNvbG9yOiAkY29sb3ItbmF2eS1ibHVlO1xuICAgICAgQGluY2x1ZGUgdG8tZW0oMTBweCk7XG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGNvbG9yLW5hdnktYmx1ZTtcbiAgICAgIHBhZGRpbmc6IDAgMjBweCAyMHB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG4gIH1cblxuICB0Ym9keSB7XG4gICAgYm9yZGVyOiAwO1xuXG4gICAgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgfVxuXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRjb2xvci1saWdodC1ncmV5LTM7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLWxpZ2h0LWdyZXktMztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICBmb250LXNpemU6IC45ZW07XG4gICAgICBsaW5lLWhlaWdodDogMS44O1xuXG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB0Zm9vdCB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG59XG5cbi5wYWdpbmF0aW9uLWNvbnRhaW5lciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnBhZ2luYXRpb24ge1xuICBtYXJnaW46IDQwcHggYXV0bztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3ItbmF2eS1ibHVlO1xuICBwYWRkaW5nOiA1cHggOHB4O1xuXG4gIC5jdXJyZW50IHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItbmF2eS1ibHVlO1xuICB9XG59XG5cbi8vIFVuZG8gZ2xvYmFsIEd1dGVuYmVyZyBjaGFuZ2UgdG8gZW1wdHkgcCBibG9ja3MgLSBrZWVwIHRoZW0gaGVpZ2h0IDAuXG5wOmVtcHR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IHVuc2V0O1xufVxuXG4iLCIudS1jZW50ZXItYm9yZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG4gIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB6LWluZGV4OiAyO1xuICBAaW5jbHVkZSB0by1lbSgxMnB4KTtcblxuICB1bCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiAyOTBweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogOTAlO1xuICAgIHotaW5kZXg6IDM7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgbWF4LXdpZHRoOiA4MTBweDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gIGxpIHtcbiAgICBAaW5jbHVkZSB0by1lbSgxM3B4KTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAvLyB3aWR0aDogMjgwcHg7XG4gICAgLy8gcGFkZGluZzogMCAyMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkY29sb3ItYm9yZGVyLWdyZXk7XG4gICAgICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzcGFuIHtcbiAgICBAaW5jbHVkZSBmb250LXNhbnMoYm9sZCk7XG4gICAgLy9AaW5jbHVkZSB0by1lbSgxMnB4KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGNvbG9yOiAkY29sb3ItbmF2eS1ibHVlO1xuICAgIHBhZGRpbmc6IDAgMTZweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwaG9uZS1zbWFsbCBkb3duKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHdpZHRoOiA4NSU7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ib3JkZXItZ3JleTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMXB4O1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luLXRvcDogLTAuNXB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDUwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAxO1xuICB9XG59XG5cbi51LXJvdW5kLXNlY3Rpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2hpdGU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDEyMjBweDtcbiAgd2lkdGg6IDkwJTtcblxuICAvKkBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgbWFyZ2luLXRvcDogLTEyMHB4O1xuICB9Ki9cbn1cblxuLy8gVGhpcyBuZWVkcyB0byBiZSB0aGUgbGlzdCBzdHlsZSBmb3IgYWxsIFVMJ3MgYmVjYXVzZSB3ZSdsbCBub3QgYmUgYWJsZSB0byBhZGQgY2xhc3NlcyB0byB3eXNpd3lnIFVMJ3MuIEFuZCBhZGQgYW4gT0wgc3R5bGUgdG8gbWF0Y2guXG4vLyBaYWNoOiBIZXJlJ3MgYSBsaXN0IG9mIGV2ZXJ5IHdyYXBwZXIgd2hlcmUgdGhpcyBVTCBjbGFzcyAodS1zdHlsZWQtbGlzdCkgaXMgdXNlZCwgc28gd2UgY2FuIGtlZXAgdGhlbSAoYW5kIGFkZCBvbikgd2hlbiB3ZSBhbHNvIGFkZCB0aGlzIHN0eWxlIHRvIHd5c2l3eWdzLlxuLypcbiAgLnByb2R1Y3Qtc3VwcG9ydC1jb250ZW50X19hc2lkZS1uYXYgdWxcbiAgLnN1cHBvcnQtY29udGVudF9faXRlbSB1bCxcbiAgLnByb2R1Y3RzLWJsb2NrX19pbmZvLWNvbnRlbnQtYmxvY2sgdWxcbiAgLnByb2R1Y3RzLWJsb2NrLWRldGFpbHNfX2FjY29yZGlvbi1jb250ZW50IHVsXG4gIC5zb2x1dGlvbnMtZ2FsbGVyeV9fZ3JpZC1idWlsZCB1bFxuKi9cblxuXG5cblxuLnUtc3R5bGVkLWxpc3QsIC53eXNpd3lnIHVsLCAud3lzaXd5ZyBvbCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMCAwIDMwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcblxuICBsaSB7XG4gICAgLy9AaW5jbHVkZSB0by1lbSgxM3B4KTtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBtYXJnaW46IDAgMCAyNHB4O1xuICAgIC8vbWFyZ2luOiAyNHB4IDAgMDsgLy8gVG9wIG1hcmdpbnMgY2F1c2Ugd2VpcmRuZXNzIHdoZW4gd2UgZG8gY29sdW1uLWNvdW50OiAyXG4gICAgcGFkZGluZzogMCAwIDAgMTVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmID4gdWwsICYgPiBvbCB7XG4gICAgICBtYXJnaW4tdG9wOiAyNHB4O1xuXG4gICAgICBsaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcblxuICAgICAgICBhIHtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yLW5hdnktYmx1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuYWN0aXZlIHtcbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogJGNvbG9yLWJyaWxsaWFudC1yZWQ7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICBhIHtcbiAgICBjb2xvcjogJGNvbG9yLW5hdnktYmx1ZTtcbiAgfVxuXG59XG5cbnVsLnUtc3R5bGVkLWxpc3QsIC53eXNpd3lnIHVsIHtcblxuICBsaTo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9wbmcvbGlzdC1pdGVtLWFycm93LnBuZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNHB4O1xuICAgICAgd2lkdGg6IDZweDtcbiAgfSAgXG59XG5cbm9sLnUtc3R5bGVkLWxpc3QsIC53eXNpd3lnIG9sIHtcbiAgY291bnRlci1yZXNldDogbGk7XG5cbiAgbGkge1xuICAgIHBhZGRpbmc6IDAgMCAwIDM1cHg7XG4gIH1cblxuICBsaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBjb3VudGVyKGxpKTtcbiAgICBjb3VudGVyLWluY3JlbWVudDogbGk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMHB4O1xuICAgIGxlZnQ6IDBweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmstcGluaztcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICB9XG59XG5cbnVsLCBvbCB7XG4gICYudGhyZWUtY29sdW1uIHtcbiAgICBjb2x1bW5zOiAzMDBweCAzO1xuICAgIGNvbHVtbi1nYXA6IDQwcHg7XG5cbiAgICBsaSB7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuICB9XG5cbiAgJi50d28tY29sdW1uIHtcbiAgICBjb2x1bW5zOiAzMDBweCAyO1xuICAgIGNvbHVtbi1nYXA6IDQwcHg7XG5cbiAgICBsaSB7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuICB9XG59XG5cbi8qXG4vL0JBQ0tVUDpcbi51LXN0eWxlZC1saXN0IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuXG4gICYtLWFycm93IHtcbiAgICBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9wbmcvbGlzdC1pdGVtLWFycm93LnBuZ1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNHB4O1xuICAgICAgICB3aWR0aDogNnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGxpIHtcbiAgICBAaW5jbHVkZSB0by1lbSgxM3B4KTtcbiAgICBtYXJnaW46IDI0cHggMCAwO1xuICAgIHBhZGRpbmc6IDAgMCAwIDIwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgYSB7XG4gICAgY29sb3I6ICRjb2xvci1uYXZ5LWJsdWU7XG4gIH1cbn1cbiovXG5cblxuLnUtc3R5bGVkLXRhYmxlIHtcbiAgdGhlYWQge1xuICAgIHRkLFxuICAgIHRoIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2Fucyhib2xkKTtcbiAgICAgIGNvbG9yOiAkY29sb3ItbmF2eS1ibHVlO1xuICAgIH1cbiAgfVxufVxuXG5cbi5pbWFnZU1vZGFsIHtcblxufVxuXG5zZWN0aW9uLmVubGFyZ2UtbG9nbyB7XG4gIC5jb21wYW55LWxvZ28ge1xuICAgIHdpZHRoOiAzMjBweDtcbiAgICBoZWlnaHQ6IDcwcHg7XG4gIH1cbn1cblxuLm9sYXJrLXVuYXZhaWxhYmxlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmNhYmxlLWNvbHVtbiB7XG4gIHBhZGRpbmctdG9wOiAwIWltcG9ydGFudDtcbiAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICB9XG5cbiAgaDIge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItYm9yZGVyLWdyZXk7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgLm9wZW4tdGV4dF9fY29weSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICA+ICoge1xuICAgICAgICBmbGV4OiAxIDAgNTAlO1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIkBtaXhpbiBmb250LXNhbnMoJHdlaWdodDogYm9vaykge1xuICBAaWYoJHdlaWdodCA9PSBleHRyYS1saWdodCkge1xuICAgIGZvbnQtd2VpZ2h0OiAyMDA7XG4gIH1cblxuICBAZWxzZSBpZigkd2VpZ2h0ID09IGxpZ2h0KSB7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgfVxuXG4gIEBlbHNlIGlmKCR3ZWlnaHQgPT0gbWVkaXVtKSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuXG4gIEBlbHNlIGlmKCR3ZWlnaHQgPT0gYm9sZCkge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIH1cblxuICBAZWxzZSBpZigkd2VpZ2h0ID09IGJsYWNrKSB7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICB9XG59XG4iLCIvLyBGaXggdGhlIGlzc3VlIHdoZXJlIHRoZSBXUCBhZG1pbi1iYXIgb3ZlcmxhcHMgdGhlIG1vYmlsZSBtZW51XG4jd3BhZG1pbmJhciB7XG4gIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xufVxuXG4vLyBNYWtlIHN1cmUgdGhhdCB0aGUgV1AgYWRtaW4tYmFyIGRvZXMgbm90IG92ZXJsYXAgRm91bmRhdGlvbiBjb21wb25lbnRzXG5ib2R5LmFkbWluLWJhciB7XG4gIC8vIE9mZnNldCBzdGlja3kgdG9wIGJhclxuICAmLmYtdG9wYmFyLWZpeGVkIHtcbiAgICAuc3RpY2t5LmZpeGVkIHtcbiAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDMyKTtcbiAgICB9XG4gIH1cbiAgLy8gT2Zmc2V0IG1vYmlsZSBvZmYtY2FudmFzIG1lbnVcbiAgJi5vZmZjYW52YXMge1xuICAgIC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgICAgdG9wOiByZW0tY2FsYyg0Nik7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KDc4Mykge1xuICAgICAgICB0b3A6IHJlbS1jYWxjKDMyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vZ2VuZXJhbCBpbWFnZSBvdmVycmlkZXNcbi5hbGlnbmNlbnRlciwgLmFsaWdubm9uZSB7XG4gIG1hcmdpbjogNDBweCBhdXRvO1xuICBmbG9hdDogbm9uZTtcbiAgZGlzcGxheTogdGFibGU7XG5cbiAgJi53cC1jYXB0aW9uIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpe1xuICAgICAgbWF4LXdpZHRoOiA1NDBweDtcbiAgICB9XG4gIH1cblxuICAmID4gKiB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcbiAgfVxufVxuXG4uYWxpZ25sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpe1xuICAgIG1hcmdpbjogMCA0MHB4IDQwcHggMDtcbiAgfVxuXG4gICYud3AtY2FwdGlvbiB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KXtcbiAgICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgfVxuICB9XG59XG5cbi5hbGlnbnJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgbWFyZ2luOiAwIDAgNDBweCA0MHB4O1xuICB9XG5cbiAgJi53cC1jYXB0aW9uIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpe1xuICAgICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICB9XG4gIH1cbn1cblxuZmlndXJlIHtcbiAgJi53cC1jYXB0aW9uIHtcbiAgICB3aWR0aDogYXV0bztcblxuICAgIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICAud3AtY2FwdGlvbi10ZXh0IHtcbiAgICBmb250LXNpemU6IC43ZW07XG4gICAgcGFkZGluZzogMjVweCAxNXB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItYm9yZGVyLWdyZXk7XG4gICAgbWFyZ2luOiAwIDAgMzBweDtcbiAgfVxufVxuXG4vL3dwIG1ldGEgYm94IHN0eWxlc1xuLmVudHJ5LWNvbnRlbnQge1xuXG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgaDEge1xuICAgIEBpbmNsdWRlIHRvLWVtKDQwcHgpO1xuICAgIG1hcmdpbjogMCAwIDE1cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBjb2xvcjogJGNvbG9yLW5hdnktYmx1ZTtcbiAgfVxuICBcbiAgaDIge1xuICAgIEBpbmNsdWRlIHRvLWVtKDMwcHgpO1xuICAgIG1hcmdpbjogMCAwIDE1cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBjb2xvcjogJGNvbG9yLW5hdnktYmx1ZTtcbiAgfVxuXG4gIGgzIHtcbiAgICBAaW5jbHVkZSB0by1lbSgyNXB4KTtcbiAgICBtYXJnaW46IDAgMCAxNXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY29sb3I6ICRjb2xvci1uYXZ5LWJsdWU7XG4gIH1cblxuICBwIHtcbiAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgICBtYXJnaW46IDAgMCAxNXB4O1xuICAgIEBpbmNsdWRlIHRvLWVtKDE2cHgpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuXG4gICAgJiArIGgxLCAmICsgaDIsICYgKyBoMywgJiArIGg0LCAmICsgaDUsICYgKyBoNiB7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIH1cbiAgfVxuXG4gIGEge1xuICAgIGNvbG9yOiAkY29sb3ItbmF2eS1ibHVlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIH1cblxuICAuYWxpZ25jZW50ZXIsIC5hbGlnbm5vbmUge1xuICAgIG1hcmdpbjogYXV0byBhdXRvO1xuICAgIGZsb2F0OiBub25lO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCl7XG4gICAgICBtYXgtd2lkdGg6IDU0MHB4O1xuICAgIH1cblxuICAgICYgPiAqIHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgIH1cbiAgfVxuXG4gIC5hbGlnbmxlZnQge1xuICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCl7XG4gICAgICBtYXJnaW46IDAgNDBweCA0MHB4IDA7XG4gICAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgIH1cbiAgfVxuXG4gIC5hbGlnbnJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KXtcbiAgICAgIG1hcmdpbjogMCAwIDQwcHggNDBweDtcbiAgICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgfVxuICB9XG5cbiAgdWwsIG9sIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCAwIDE1cHggNDBweDtcbiAgICBAaW5jbHVkZSB0by1lbSgxNnB4KTtcbiAgICBsaW5lLWhlaWdodDogMTUwJTtcblxuICAgIGxpIHtcbiAgICAgIG1hcmdpbjogMCAwIDhweDtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGZpZ3VyZSB7XG4gICAgJi53cC1jYXB0aW9uIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgICBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIC53cC1jYXB0aW9uLXRleHQge1xuICAgICAgZm9udC1zaXplOiAuN2VtO1xuICAgICAgcGFkZGluZzogMjVweCAxNXB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItZ3JleTtcbiAgICAgIG1hcmdpbjogMCAwIDMwcHg7XG4gICAgfVxuICB9XG5cbiAgLm1vcmUtbGluayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci1uYXZ5LWJsdWU7XG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBAaW5jbHVkZSB0by1lbSgxMnB4KTtcbiAgICBtYXJnaW46IDI1cHggMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiBsaWdodGVuKCRjb2xvci1uYXZ5LWJsdWUsIDUlKTtcbiAgICB9XG4gIH1cbn1cblxuLmdhbGxlcnkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIG1hcmdpbjogNDBweCBhdXRvO1xuXG4gIGZpZ3VyZXtcbiAgICAmLmdhbGxlcnktaXRlbSB7XG4gICAgICBtYXJnaW46IDEwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjBmMGYwO1xuICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNlY2VjZWM7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIC5nYWxsZXJ5LWljb24ge1xuICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGZpZ2NhcHRpb24ge1xuICAgICAgICAmLmdhbGxlcnktY2FwdGlvbiB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2VhZWFlYTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgZmxleDogMCAxIGF1dG87XG5cbiAgICAgICAgICBoNCB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWJyaWxsaWFudC1yZWQ7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCA1cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgQGluY2x1ZGUgdG8tZW0oMjBweCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZGFyay1uYXYtY29sb3I7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCA1cHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGZvciAkaSBmcm9tIDEgdGhyb3VnaCA5IHtcbiAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLSN7JGl9IHtcblxuICAgICR3OiAxMDAlIC8gJGk7XG5cbiAgICBmaWd1cmUge1xuICAgICAgJi5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgICBmbGV4OiAwIDEgY2FsYygxMDAlIC0gMjBweCk7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyMHB4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDkge1xuICAgIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy0jeyRpfSB7XG4gICAgICBmaWd1cmUge1xuICAgICAgICAmLmdhbGxlcnktaXRlbSB7XG4gICAgICAgICAgZmxleDogMCAxIGNhbGMoNTAlIC0gMjBweCk7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMjBweCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDkge1xuICAgIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy0jeyRpfSB7XG5cbiAgICAgICR3OiAxMDAlIC8gJGk7XG5cbiAgICAgIGZpZ3VyZSB7XG4gICAgICAgICYuZ2FsbGVyeS1pdGVtIHtcbiAgICAgICAgICBmbGV4OiAwIDEgY2FsYygjeyR3fSAtIDIwcHgpO1xuICAgICAgICAgIHdpZHRoOiBjYWxjKCN7JHd9IC0gMjBweCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5yZXZlYWwge1xuICAmLnNlYXJjaE1vZGFsIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgICB3aWR0aDogNjUlO1xuICAgIH1cblxuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcblxuICAgIC5wcm9kdWN0LXNlYXJjaCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itb2ZmLXdoaXRlO1xuICAgICAgcGFkZGluZzogMjBweDtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuXG4gICAgICAgIC8qIFBlcm1hbGluayAtIHVzZSB0byBlZGl0IGFuZCBzaGFyZSB0aGlzIGdyYWRpZW50OiBodHRwOi8vY29sb3J6aWxsYS5jb20vZ3JhZGllbnQtZWRpdG9yLyNlOGU4ZTgrNDUsZjRmNGY0KzQ1ICovXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1vZmYtd2hpdGU7IC8qIE9sZCBicm93c2VycyAqL1xuICAgICAgICAvL2JhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsICRjb2xvci1vZmYtd2hpdGUgNjQlLCAkY29sb3ItbGlnaHQtZ3JleS0yIDY0JSk7IC8qIEZGMy42LTE1ICovXG4gICAgICAgIC8vYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgJGNvbG9yLW9mZi13aGl0ZSA2NCUsJGNvbG9yLWxpZ2h0LWdyZXktMiA2NCUpOyAvKiBDaHJvbWUxMC0yNSxTYWZhcmk1LjEtNiAqL1xuICAgICAgICAvL2JhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJGNvbG9yLW9mZi13aGl0ZSA2NCUsJGNvbG9yLWxpZ2h0LWdyZXktMiA2NCUpOyAvKiBXM0MsIElFMTArLCBGRjE2KywgQ2hyb21lMjYrLCBPcGVyYTEyKywgU2FmYXJpNysgKi9cbiAgICAgICAgLy9maWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nJGNvbG9yLW9mZi13aGl0ZScsIGVuZENvbG9yc3RyPSckY29sb3ItbGlnaHQtZ3JleS0yJyxHcmFkaWVudFR5cGU9MSApOyAvKiBJRTYtOSAqL1xuXG4gICAgICAgIC5jb250YWluZXIge1xuICAgICAgICAgIC8vZGlzcGxheTogZmxleDtcbiAgICAgICAgICAvL2p1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAvL21heC13aWR0aDogOTgwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogODBweDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgIH1cblxuICAgICAgLnNlYXJjaC1iYXJfX3dyYXBwZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICBtYXgtd2lkdGg6IDY4MHB4O1xuICAgICAgICAgIHdpZHRoOiA2NSU7XG5cbiAgICAgICAgICAmLS1mdWxsLXdpZHRoIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuc2VhcmNoLWJhcl9fZm9ybSB7XG4gICAgICAgIHBhZGRpbmc6IDRweCA0cHggNHB4IDIwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgICAgICAgIHBhZGRpbmc6IDRweCA0cHggNHB4IDMwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnNlYXJjaC1iYXJfX2Zvcm0tc3VibWl0IHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgdGV4dC1pbmRlbnQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0bztcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXG4gICAgICAgIEBpbmNsdWRlIHRvLWVtKDE1cHgpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBwYWRkaW5nOiAxMnB4IDI1cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWJyaWxsaWFudC1yZWQ7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNjNTQ2NmEgMCUsICNiMjA5MzkgMTAwJSk7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXM7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGJvdHRvbTogMjBweDtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICB9XG5cbiAgICAuc2VhcmNoLXJlc3VsdHMge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggNDBweDtcbiAgICAgIH1cblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMjBweDtcbiAgICAgICAgYm90dG9tOiAyMHB4O1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICB9XG5cbiAgICAgIGg0IHtcbiAgICAgICAgQGluY2x1ZGUgdG8tZW0oMTdweCk7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItYnJpbGxpYW50LXJlZDtcbiAgICAgICAgbWFyZ2luOiAxMHB4IDAgMjBweDtcbiAgICAgIH1cblxuICAgICAgJl9fcG9zdCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNDBweDtcblxuICAgICAgICB1bCB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDI0cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItbmF2eS1ibHVlO1xuICAgICAgICAgICAgICBAaW5jbHVkZSB0by1lbSgxM3B4KTtcblxuICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA3MHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogNzBweDtcbiAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdmVyeS1saWdodC1ncmF5O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLyomOjpiZWZvcmUge1xuICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTVweDtcbiAgICAgICAgICAgIH0qL1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmX19wYWdlIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgICAgICAgbGkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMjRweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1uYXZ5LWJsdWU7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRvLWVtKDEzcHgpO1xuXG4gICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDcwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA3MHB4O1xuICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR2ZXJ5LWxpZ2h0LWdyYXk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuIiwiLnByaWNlIHtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnNob3J0Y29kZVNLVSB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi51c2RfcHJpY2Uge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5nYnBfcHJpY2Uge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4uZXVyX3ByaWNlIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cdFxuXG4uZXVyYWx0X3ByaWNlIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cdFxuXG5odG1sW2xhbmc9XCJlcy1NWFwiXSB7XG5cdC51c2RfcHJpY2Uge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0fVxuXHRcblx0LmdicF9wcmljZSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXHRcblx0LmV1cl9wcmljZSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVx0XG5cdFxuXHQuZXVyYWx0X3ByaWNlIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XHRcdFxufVxuXG5odG1sW2xhbmc9XCJlbi1HQlwiXSB7XG5cdC51c2RfcHJpY2Uge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQuZ2JwX3ByaWNlIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdH1cblxuXHQuZXVyX3ByaWNlIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XHRcblxuXHQuZXVyYWx0X3ByaWNlIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XHRcbn1cblxuXG5odG1sW2xhbmc9XCJlbi1FVVwiXSB7XG5cdC51c2RfcHJpY2Uge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQuZ2JwX3ByaWNlIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0LmV1cl9wcmljZSB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR9XHRcblxuXHQuZXVyYWx0X3ByaWNlIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XHRcbn1cblxuaHRtbFtsYW5nPVwiZGUtREVcIl0sIGh0bWxbbGFuZz1cIml0LUlUXCJdLCBodG1sW2xhbmc9XCJlcy1FU1wiXSwgaHRtbFtsYW5nPVwiZnItRlJcIl17XG5cdC51c2RfcHJpY2Uge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQuZ2JwX3ByaWNlIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0LmV1cl9wcmljZSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVx0XG5cblx0LmV1cmFsdF9wcmljZSB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR9XHRcbn1cblxuLy8gTG9nbyB3aGVuIGEgYmFja2dyb3VuZCBpcyBwcmVzZW50XG4ubWFzdGhlYWQtLWJnOm5vdCgubWFzdGhlYWQtLXNpbXBsZSk6bm90KC5tYXN0aGVhZC0tc3VwcG9ydCk6bm90KC5tYXN0aGVhZC0tYmxvZykgLmNvbXBhbnktbG9nbyB7XG5cbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc3ZnL2hvcGUtbG9nby5zdmdcIik7XG5cdGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcblxuXHQvKmh0bWxbbGFuZz1cImVuLUVVXCJdICYge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9ob3BlLWxvZ28tZXUuc3ZnXCIpO1xuXHR9Ki9cblx0aHRtbFtsYW5nPVwiZGUtREVcIl0gJiB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc3ZnL2hvcGUtbG9nby1kZS5zdmdcIik7XHRcdFxuXHR9XG5cdGh0bWxbbGFuZz1cIml0LUlUXCJdICYge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9ob3BlLWxvZ28taXQuc3ZnXCIpO1xuXHR9XG5cdGh0bWxbbGFuZz1cImVzLUVTXCJdICYsIGh0bWxbbGFuZz1cImVzLU1YXCJdICYge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9ob3BlLWxvZ28tZXMuc3ZnXCIpO1xuXHR9XG5cdGh0bWxbbGFuZz1cImZyLUZSXCJdICYge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9ob3BlLWxvZ28tZnIuc3ZnXCIpO1xuXHR9XG5cdC8qaHRtbFtsYW5nPVwiZW4tR0JcIl0gJiB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc3ZnL2hvcGUtbG9nby1nYi5zdmdcIik7XHRcdFxuXHR9Ki9cblxufVxuXG4vLyBMb2dvIHdoZW4gYSBiYWNrZ3JvdW5kIGlzIG5vdCBwcmVzZW50XG4ubWFzdGhlYWQtLW5vYmcgLmNvbXBhbnktbG9nbyxcbi5tYXN0aGVhZC0tc2ltcGxlIC5jb21wYW55LWxvZ28sXG4ubWFzdGhlYWQtLXN1cHBvcnQgLmNvbXBhbnktbG9nbyxcbi5tYXN0aGVhZC0tYmxvZyAuY29tcGFueS1sb2dvIHtcblxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvaG9wZS1sb2dvLWNvbG9yLnN2Z1wiKTtcblxuXHQvKmh0bWxbbGFuZz1cImVuLUVVXCJdICYge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9ob3BlLWxvZ28tY29sb3ItZXUuc3ZnXCIpO1xuXHR9Ki9cblx0aHRtbFtsYW5nPVwiZGUtREVcIl0gJiB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc3ZnL2hvcGUtbG9nby1jb2xvci1kZS5zdmdcIik7XHRcdFxuXHR9XG5cdGh0bWxbbGFuZz1cIml0LUlUXCJdICYge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9ob3BlLWxvZ28tY29sb3ItaXQuc3ZnXCIpO1xuXHR9XG5cdGh0bWxbbGFuZz1cImVzLUVTXCJdICYsIGh0bWxbbGFuZz1cImVzLU1YXCJdICYge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9ob3BlLWxvZ28tY29sb3ItZXMuc3ZnXCIpO1xuXHR9XG5cdGh0bWxbbGFuZz1cImZyLUZSXCJdICYge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9ob3BlLWxvZ28tY29sb3ItZnIuc3ZnXCIpO1xuXHR9XG5cdC8qaHRtbFtsYW5nPVwiZW4tR0JcIl0gJiB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc3ZnL2hvcGUtbG9nby1jb2xvci1nYi5zdmdcIik7XHRcdFxuXHR9Ki9cblxufVxuIiwiLmJ0biB7XG4gIEBpbmNsdWRlIHRvLWVtKDE1cHgpO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwYWRkaW5nOiAxMnB4IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdHJhbnNpdGlvbjogYWxsIDIwMG1zO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG5cbiAgJi0tbmF2eS1ibHVlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbmF2eS1ibHVlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3ItbmF2eS1ibHVlLCA1JSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fZ3JheS1kaXNhYmxlIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1ncmF5O1xuICB9XG5cbiAgJl9fcmVkLWdyYWRpZW50IHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYnJpbGxpYW50LXJlZDtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICNjNTQ2NmEgMCUsICNiMjA5MzkgMTAwJSk7XG4gICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICNjNTQ2NmEgMCUsICNiMjA5MzkgMTAwJSk7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjYzU0NjZhIDAlLCAjYjIwOTM5IDEwMCUpO1xuICAgICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoXG4gICAgICAgICAgICAgICAgICAgICAgc3RhcnRDb2xvcnN0cj1cIiNjNTQ2NmFcIixcbiAgICAgICAgICAgICAgICAgICAgICBlbmRDb2xvcnN0cj1cIiNiMjA5MzlcIixcbiAgICAgICAgICAgICAgICAgICAgICBHcmFkaWVudFR5cGU9MFxuICAgICAgKTtcblxuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcztcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgLy9iYWNrZ3JvdW5kOiAkY29sb3ItYnJpbGxpYW50LXJlZDtcbiAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9faW52ZXJ0IHtcbiAgICB0cmFuc2l0aW9uOiBlYXNlIGFsbCAwLjNzO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDEwcHggMDtcblxuICAgICYtLXdoaXRlIHtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvci13aGl0ZTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtLWJsdWUge1xuICAgICAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yLW5hdnktYmx1ZTtcbiAgICAgIGNvbG9yOiAkY29sb3ItbmF2eS1ibHVlO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1uYXZ5LWJsdWU7XG4gICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWRhcmstbmF2eS1ibHVlO1xuICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7ICAgICAgICBcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5tYWluLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyO1xufVxuXG4ubWFpbi1ncmlkIHtcbiAgQGluY2x1ZGUgeHktZ3JpZCgpO1xuICBtYXJnaW4tdG9wOiAxcmVtO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgfVxuXG4gICYuc2lkZWJhci1sZWZ0IHtcbiAgICAvLyBQbGFjZSB0aGUgc2lkZWJhciBiZWxvdyBtYWluIGNvbnRlbnQgb24gc21hbGwgc2NyZWVucyAuLi5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAubWFpbi1jb250ZW50IHsgb3JkZXI6IDE7IH1cbiAgICAgIC5zaWRlYmFyIHsgb3JkZXI6IDI7IH1cbiAgICB9XG5cbiAgICAvLyAuLi4gYW5kIHRvIHRoZSBsZWZ0IG9uIG1lZGl1bS11cCBzY3JlZW5zLCB3aGVuIHVzaW5nIHRoZSBzaWRlYmFyLWxlZnQgdGVtcGxhdGVcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgLm1haW4tY29udGVudCB7IG9yZGVyOiAyOyB9XG4gICAgICAuc2lkZWJhciB7IG9yZGVyOiAxOyB9XG4gICAgfVxuICB9XG5cbiAgLy8gRnVsbCB3aWR0aCB0ZW1wbGF0ZVxuICAubWFpbi1jb250ZW50LWZ1bGwtd2lkdGgge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwoMTIpO1xuICB9XG5cbiAgLy8gRGVmYXVsdCB0ZW1wbGF0ZVxuICAubWFpbi1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKDEyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbCg4KTtcbiAgICB9XG4gIH1cblxuICAuc2lkZWJhciB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbCgxMik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwoNCk7XG4gICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIH1cblxuICB9XG59XG4iLCIuZm9vdGVyLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQ6ICRjb2xvci1uYXZ5LWJsdWU7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRjb2xvci1uYXZ5LWJsdWUsICRjb2xvci1uYXZ5LWJsdWUgNTAlLCAkY29sb3ItZGFyay1uYXZ5LWJsdWUgNTAlLCAkY29sb3ItZGFyay1uYXZ5LWJsdWUgMTAwJSk7XG4gIH1cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xufVxuXG4ubWFpbi1mb290ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbmF2eS1ibHVlO1xuICBsZXR0ZXItc3BhY2luZzogLjA1ZW07XG4gIHdpZHRoOiA5MCU7XG4gIG1heC13aWR0aDogMTIyMHB4O1xuICBtYXJnaW46IDAgYXV0bztcblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgIC8qIFBlcm1hbGluayAtIHVzZSB0byBlZGl0IGFuZCBzaGFyZSB0aGlzIGdyYWRpZW50OiBodHRwOi8vY29sb3J6aWxsYS5jb20vZ3JhZGllbnQtZWRpdG9yLyMyMzRhNzErNjIsMjM0YTcxKzYyLDIwNDQ2OCs2NSwyMDQ0NjgrNjUgKi9cbiAgICBiYWNrZ3JvdW5kOiByZ2IoMzUsNzQsMTEzKTsgLyogT2xkIGJyb3dzZXJzICovXG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgzNSw3NCwxMTMsMSkgNzAlLCByZ2JhKDM1LDc0LDExMywxKSA3MCUsIHJnYmEoMzIsNjgsMTA0LDEpIDcwJSwgcmdiYSgzMiw2OCwxMDQsMSkgNzAlKTsgLyogRkYzLjYtMTUgKi9cbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDM1LDc0LDExMywxKSA3MCUscmdiYSgzNSw3NCwxMTMsMSkgNzAlLHJnYmEoMzIsNjgsMTA0LDEpIDcwJSxyZ2JhKDMyLDY4LDEwNCwxKSA3MCUpOyAvKiBDaHJvbWUxMC0yNSxTYWZhcmk1LjEtNiAqL1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgzNSw3NCwxMTMsMSkgNzAlLHJnYmEoMzUsNzQsMTEzLDEpIDcwJSxyZ2JhKDMyLDY4LDEwNCwxKSA3MCUscmdiYSgzMiw2OCwxMDQsMSkgNzAlKTsgLyogVzNDLCBJRTEwKywgRkYxNissIENocm9tZTI2KywgT3BlcmExMissIFNhZmFyaTcrICovXG4gICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyMyMzRhNzEnLCBlbmRDb2xvcnN0cj0nIzIwNDQ2OCcsR3JhZGllbnRUeXBlPTEgKTsgLyogSUU2LTkgKi9cbiAgfVxuXG4gICZfX2hlYWRpbmcge1xuXG4gICAgQGluY2x1ZGUgdG8tZW0oMTZweCk7XG5cbiAgICBhIHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICAgICAgcGFkZGluZzogMjBweCA0MHB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgQGluY2x1ZGUgdG8tZW0oMTRweCk7XG4gICAgICBAaW5jbHVkZSBmb250LXNhbnMoYm9sZCk7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICBhIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkY29sb3ItbmljZS1ibHVlO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICZfX25hdiB7XG4gICAgcGFkZGluZzogMjBweCAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgLmF3YXJkLWNvbCB7IC8vIDU4LjVweCBmcm9tIHRoZSBjb2xvciBjaGFuZ2VcbiAgICAgIGZsZXgtYmFzaXM6IDEyNXB4O1xuICAgICAgbWFyZ2luOiAwcHggNTMuNXB4IDBweCAzLjVweDtcbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICBwIHtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMHB4O1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi10b3A6IDI3cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgLy9tYXgtd2lkdGg6IDk3MHB4O1xuICAgICAgcGFkZGluZzogMTAwcHggMDtcbiAgICAgIHdpZHRoOiA4MSU7XG4gICAgICBnYXA6IDI4cHg7XG4gICAgfVxuICB9XG5cbiAgJl9fbmF2LXdyYXAge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBnYXA6IDEwcHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgZ2FwOiA2NHB4O1xuICAgIH1cblxuICAgID4gbGkge1xuICAgICAgQGluY2x1ZGUgZm9udC1zYW5zKGJvbGQpO1xuICAgICAgZmxleC1ncm93OiAxO1xuXG4gICAgICAvKlxuICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgZmxleC1iYXNpczogMTg0cHg7XG4gICAgICB9XG4gICAgICAmOm50aC1vZi10eXBlKDIpIHtcbiAgICAgICAgZmxleC1iYXNpczogOTJweDtcbiAgICAgIH1cbiAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgZmxleC1iYXNpczogMTIwcHg7XG4gICAgICB9XG4gICAgICAqL1xuICAgICAgXG4gICAgICA+IGEge1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDQwcHg7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItbmljZS1ibHVlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgPiB1bCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgID4gdWwgbGkge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNhbnMoYm9vayk7XG4gICAgICAgIG1hcmdpbi10b3A6IDE4cHg7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTNweDtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4zcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cblxuICB9XG5cbiAgJl9fY29sIHtcbiAgICAvLyBwYWRkaW5nOiAwIDQwcHg7XG4gIH1cblxuICAuY29tcGFueS1pbmZvIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZGFyay1uYXZ5LWJsdWU7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIHAge1xuICAgICAgQGluY2x1ZGUgdG8tZW0oMTFweCk7XG4gICAgICBsaW5lLWhlaWdodDogMTNweDtcbiAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICBsaW5lLWhlaWdodDogMS42NjY2NjY2Njc7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAxMDBweCA2MHB4O1xuICAgICAgd2lkdGg6IDMzLjMlO1xuICAgICAgbWF4LXdpZHRoOiA0NzBweDtcbiAgICB9XG4gIH1cblxuICAuc29jaWFsLWluZm8ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMTBweCAwIDAgMDtcbiAgICBwYWRkaW5nOiAyNXB4IDAgMCAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKCNmZmYsLjIpO1xuXG4gICAgbGkge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMCAyMHB4IDAgMDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cblxuICAgICAgYSB7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBoZWlnaHQ6IDIycHg7XG4gICAgICAgICAgb3BhY2l0eTogLjY7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cblxuLmRpc2NsYWltZXIge1xuICBwYWRkaW5nOiAzMnB4IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogMzJweCA0NHB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgdWwge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICB9XG5cbiAgbGkge1xuICAgIEBpbmNsdWRlIHRvLWVtKDEycHgpO1xuICAgIGNvbG9yOiAkY29sb3ItbmF2eS1ibHVlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKCRjb2xvci1uYXZ5LWJsdWUsIC41KTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xuICAgIH1cblxuICAgICYuZGlzY2xhaW1lcl9fY2l0eSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICBhIHtcbiAgICBjb2xvcjogJGNvbG9yLW5hdnktYmx1ZTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcblxuICAgIHVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGZsZXgtYmFzaXM6IHVuc2V0O1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKCRjb2xvci1uYXZ5LWJsdWUsIC41KTtcblxuICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJib2R5I3RpbnltY2V7XG4gIGhlaWdodDogYXV0bzsgLy8gRml4IGVkaXRvciBzdHlsZSBidWdcbiAgbWF4LXdpZHRoOiAkZ3JpZC1yb3ctd2lkdGg7IC8vIEdpdmUgdGhlIGVkaXRvciBhIG1heC13aWR0aFxuICBwYWRkaW5nOiByZW0tY2FsYygyMCkgIWltcG9ydGFudDtcbn0iLCIucGl2b3QtY29udGFpbmVyIHtcblx0bWFyZ2luLWxlZnQ6IC01cHg7XG5cdG1hcmdpbi1yaWdodDogLTVweDtcblxuXHRkaXYuY2VsbCB7XG5cdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXG5cdFx0cGFkZGluZzogMCA1cHg7XG5cdFx0bWFyZ2luLWJvdHRvbTogMTBweDtcblxuXHRcdHdpZHRoOiA1MCU7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG5cdFx0XHR3aWR0aDogMzMuMzMzMyU7XG5cdFx0fVxuXHR9XG59XG5cbi5waXZvdCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGJvcmRlcjogMXB4ICRjb2xvci1saWdodC1ncmV5LTQgc29saWQ7XG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTFweCk7XG5cdGNvbG9yOiAkZGFyay1ncmF5O1xuXHR0cmFuc2l0aW9uOiBhbGwgMTAwbXM7XG5cblx0Jjpob3ZlciB7XG5cdFx0Y29sb3I6ICRjb2xvci13aGl0ZTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1ncmF5O1xuXG5cblx0XHQucGl2b3RfX3ZhbHVlIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR2ZXJ5LWRhcmstZ3JheTtcblx0XHR9XG5cdH1cblxuXHQmLmFjdGl2ZSB7XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW5hdnktYmx1ZTtcblx0XHRjb2xvcjogJHdoaXRlO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbmF2eS1ibHVlO1xuXHRcdFx0Y3Vyc29yOiBkZWZhdWx0O1xuXG5cdFx0XHQucGl2b3RfX3ZhbHVlIHtcblx0XHRcdFx0YmFja2dyb3VuZDogJGNvbG9yLWRhcmstbmF2eS1ibHVlO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5waXZvdF9fdmFsdWUge1xuXHRcdFx0YmFja2dyb3VuZDogJGNvbG9yLWRhcmstbmF2eS1ibHVlO1xuXHRcdH1cblx0fVxuXG5cdCZfX2tleSB7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNXB4KTtcblx0XHR0cmFuc2l0aW9uOiBhbGwgMTAwbXM7XG5cdFx0cGFkZGluZzogNnB4IDJweDtcblx0fVxuXG5cdCZfX3ZhbHVlIHtcblx0XHRiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcblx0XHR0cmFuc2l0aW9uOiBhbGwgMTAwbXM7XG5cdFx0cGFkZGluZzogNHB4IDJweDtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxufVxuXG4uY29uZmlndXJhdG9yLXRleHQge1xuXHRkaXNwbGF5OiBub25lO1xuXHRwYWRkaW5nOiAwIDIwcHggMTBweDtcblxuXHQmLmlzLWFjdGl2ZSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblxuXHR1bCB7XG5cdFx0bGkge1xuXHRcdFx0QGluY2x1ZGUgdG8tZW0oMTJweCk7XG5cdFx0XHRtYXJnaW46IDAgMCAxMnB4O1xuXHRcdFx0cGFkZGluZzogMCAwIDAgMjBweDtcblx0XHR9XG5cdH1cbn1cblxuLmRlbW8taW1hZ2UsIC5tZWRpYS1lbnRyeSBpbWcsIC5tZWRpYS1lbnRyeSBpZnJhbWUsIC5tZWRpYS1saW5rIGltZyB7XG5cdHdpZHRoOiA5MCU7XG5cdGhlaWdodDogYXV0bztcblx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdG1hcmdpbi1yaWdodDogYXV0bztcblxuXHQmLmhpZGRlbiB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuXG4uaW1hZ2UtbmF2IGEge1xuXHRkaXNwbGF5OiBibG9jaztcblx0bWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG4uaW1hZ2UtY29udGFpbmVyIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1x0XG59XG5cbiNzcGVjcy1wYW5lbCB7XG5cblx0dWwsIG9sIHtcblx0XHQvL2NvbHVtbi1jb3VudDogMjtcblx0XHQvL21vdmluZyB0byBhIGdsb2JhbCBjbGFzc1xuXHR9XG59XG5cbi5wcm9kdWN0cy1ibG9jayB7XG5cdC5kcm9wZG93bnMtY29udGFpbmVyIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRtYXJnaW4tbGVmdDogLTVweDtcblx0XHRtYXJnaW4tcmlnaHQ6IC01cHg7XG5cdFx0bWFyZ2luLWJvdHRvbTogMTVweDtcblxuXHRcdC5kZGwtd3JhcHBlciB7XG5cdFx0XHRmbGV4OiAxIDAgYXV0bztcblx0XHRcdHBhZGRpbmc6IDVweDtcblx0XHRcdG1heC13aWR0aDogMTAwJTtcblxuXHRcdFx0JltkYXRhLWF0dCA9ICdQb3dlciddIHtcblx0XHRcdFx0ZmxleDogMSAwIDEwMCU7XG5cblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCl7XG5cdFx0XHRcdFx0ZmxleDogMSAwIGF1dG87XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0JltkYXRhLWF0dCA9ICdXaW5kb3cnXSB7XG5cdFx0XHRcdGZsZXg6IDIgMCBhdXRvO1xuXHRcdFx0fVxuXG5cdFx0XHQmW2RhdGEtYXR0ID0gJ0JlemVsIE1hdGVyaWFsJ10ge1xuXHRcdFx0XHRmbGV4OiAxIDAgMTAwJTtcblx0XHRcdH1cblxuXHRcdFx0c2VsZWN0IHtcblx0XHRcdFx0LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXHRcdFx0XHQtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG5cdFx0XHRcdGFwcGVhcmFuY2U6IG5vbmU7XG5cblx0XHRcdFx0YmFja2dyb3VuZDogI2ZmZjtcblx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJGNvbG9yLWxpZ2h0LWdyZXktNDtcblx0XHRcdFx0Y29sb3I6ICRkYXJrLWdyYXk7XG5cdFx0XHRcdEBpbmNsdWRlIHRvLWVtKDE0cHgpO1xuXHRcdFx0XHRwYWRkaW5nOiAxNXB4IDQwcHggMTVweCAxMHB4O1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc3ZnL2RkbC1hY2NlbnQuc3ZnXCIpO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjYWxjKDEwMCUgLSAxNXB4KSBjZW50ZXI7XG5cdFx0XHRcdGJhY2tncm91bmQtc2l6ZTogMTVweDtcblx0XHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRoNS5taW5pY29uZmlnLWxhYmVscyB7XG5cdFx0QGluY2x1ZGUgdG8tZW0oMTFweCk7XG5cdFx0bWFyZ2luLWJvdHRvbTogNXB4O1xuXHR9XG5cdFxuXHRoNi5tZWRpYS0tY2FwdGlvbiB7XG5cdFx0Zm9udC13ZWlnaHQ6IDMwMDtcblx0XHRmb250LXNpemU6IC43ZW07XG5cdFx0bWFyZ2luOiAxNXB4IDA7XG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0fVxufVxuXG4uem9vbUNvbnRhaW5lciB7XG5cdHotaW5kZXg6IDk5OyAvLyBQdXRzIGl0IGluIGZyb250IG9mIGV2ZXJ5dGhpbmcgb24gdGhlIFByb2R1Y3QgcGFnZS5cbn1cblxuLnpvb21XaW5kb3cge1xuXHRib3gtc2hhZG93OiAwIDAgNTBweCByZ2JhKDAsMCwwLC4yKTtcbn1cblxuLnpvb21XaW5kb3dDb250YWluZXIsIC56b29tQ29udGFpbmVyIHtcblx0Ly9ub3Qgc3VyZSB3aHkgdGhpcyBpcyBuZWVkZWQsIGJ1dCBpdCdzIGNhdXNpbmcgc29tZSBzdHJhbmdlIHN0dWZmIHdpdGhvdXQgaXQuXG5cdHdpZHRoOiAwIWltcG9ydGFudDtcblx0aGVpZ2h0OiAwIWltcG9ydGFudDtcbn0iLCIuZmxleGlibGUtY29udGVudC5hY2NvcmRpb25zIHtcblx0cGFkZGluZzogMjBweCAwO1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcblx0XHRwYWRkaW5nOiA0MHB4IDA7XG5cdH1cbn0iLCIuYmxvY2stY2Fyb3VzZWwge1xuICBcdHBhZGRpbmc6IDQ1cHggMDtcbiAgXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgLy8gd2FzIG1hcHB5LWJwKHRhYmxldC12ZXJ0KVxuXHRcdHBhZGRpbmc6IDYwcHggMDtcblx0fVxuXG5cdCZfX2hlYWRpbmcge1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMzBweCk7IC8vIHdhcyB0by1lbSgzMHB4KTtcblx0XHRjb2xvcjogJGNvbG9yLW5hdnktYmx1ZTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyAvLyB3YXMgbWFwcHktYnAodGFibGV0LXZlcnQpXG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDQwcHgpOyAvLyB3YXMgdG8tZW0oNDBweCk7XG5cdFx0fVxuXHR9XG5cblx0Jl9fY2Fyb3VzZWwge1xuXHRcdG1hcmdpbi10b3A6IDcwcHg7XG5cdH1cblxuICAmX19jYXJvdXNlbC1pdGVtIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkdGV4dDtcbiAgICBtYXJnaW46IDQ1cHggYXV0byAwO1xuICAgIHBhZGRpbmc6IDY1cHggMTAlIDMwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAyODhweDtcblxuXG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyAvLyB3YXMgbWFwcHktYnAodGFibGV0LXZlcnQpXG4gICAgICBwYWRkaW5nOiAxMDVweCA5MHB4IDcwcHg7XG4gICAgICB3aWR0aDogNjAwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHsgLy8gd2FzIG1hcHB5LWJwKGxhcHRvcClcbiAgICAgIHBhZGRpbmc6IDEwNXB4IDkwcHggNzBweDtcbiAgICAgIHdpZHRoOiA3ODBweDtcbiAgICB9XG4gIH1cblxuXHQmX19jYXJvdXNlbC1pdGVtLmhhcy1pY29uOjpiZWZvcmUge1xuXHQgIGNvbnRlbnQ6IFwiXCI7XG5cdCAgcG9zaXRpb246IGFic29sdXRlO1xuXHQgIHRvcDogLTQ1cHg7XG5cdCAgbGVmdDogNTAlO1xuXHQgIG1hcmdpbi1sZWZ0OiAtNjBweDtcblx0ICBoZWlnaHQ6IDkwcHg7XG5cdCAgd2lkdGg6IDEyMHB4O1xuXHQgIC8vYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9jb3Jwb3JhdGUtZ29hbHMtaWNvbi5zdmdcIik7XG5cdCAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXHQgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZTtcblx0ICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG5cdCAgZGlzcGxheTogYmxvY2s7XG5cdCAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0fVxuXG4gICZfX2Nhcm91c2VsLXBhZ2luYXRpb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogOTI4cHg7XG4gICAgLy9ib3JkZXI6IDFweCBzb2xpZCByZWQ7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgaGVpZ2h0OiA0OHB4O1xuICAgIHRvcDogNjAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLTQ2NHB4O1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gIH1cblxuICAuc2xpY2stc2xpZGUge1xuICAgIG1hcmdpbjogMCAxNXB4O1xuICAgIG9wYWNpdHk6IC4zO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45KTtcbiAgICB0cmFuc2l0aW9uOiBlYXNlIGFsbCAwLjNzO1xuICAgIHdpZHRoOiAyODhweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICB3aWR0aDogNjAwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgIG1hcmdpbjogMCA2MHB4O1xuICAgICAgd2lkdGg6IDc4MHB4O1xuICAgIH1cbiAgfVxuXG4gIC5zbGljay1jdXJyZW50IHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cblxuICAuc2xpY2stYXJyb3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtMjRweDtcbiAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgd2lkdGg6IDI2cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgdGV4dC1pbmRlbnQ6IDEwMDAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXM7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJi5zbGljay1wcmV2IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9wbmcvbGVmdC1hcnJvd0AzeC5wbmdcIik7XG4gICAgICBsZWZ0OiAwO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNsaWNrLW5leHQge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3BuZy9yaWdodC1hcnJvd0AzeC5wbmdcIik7XG4gICAgICByaWdodDogMDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwcHgpO1xuICAgIGNvbG9yOiAkY29sb3ItYnJpbGxpYW50LXJlZDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLypcbi5jb3Jwb3JhdGUtZ29hbHMge1xuICBwYWRkaW5nOiA0NXB4IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgcGFkZGluZzogOTBweCAwO1xuICB9XG5cbiAgJl9faGVhZGluZyB7XG4gICAgQGluY2x1ZGUgdG8tZW0oMzBweCk7XG4gICAgY29sb3I6ICRjb2xvci1uYXZ5LWJsdWU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgICAgQGluY2x1ZGUgdG8tZW0oNDBweCk7XG4gICAgfVxuICB9XG5cbiAgJl9fY2Fyb3VzZWwge1xuICAgIG1hcmdpbi10b3A6IDcwcHg7XG4gIH1cblxuICAmX19jYXJvdXNlbC1pdGVtIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkdGV4dDtcbiAgICBtYXJnaW46IDQ1cHggYXV0byAwO1xuICAgIHBhZGRpbmc6IDY1cHggMTAlIDMwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAyODhweDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAtNDVweDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNjBweDtcbiAgICAgIGhlaWdodDogOTBweDtcbiAgICAgIHdpZHRoOiAxMjBweDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvY29ycG9yYXRlLWdvYWxzLWljb24uc3ZnXCIpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICAgIHBhZGRpbmc6IDEwNXB4IDkwcHggNzBweDtcbiAgICAgIHdpZHRoOiA2MDBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgd2lkdGg6IDc4MHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX2Nhcm91c2VsLXBhZ2luYXRpb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogOTI4cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmVkO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGhlaWdodDogNDhweDtcbiAgICB0b3A6IDYwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC00NjRweDtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLnNsaWNrLXNsaWRlIHtcbiAgICBtYXJnaW46IDAgMTVweDtcbiAgICBvcGFjaXR5OiAuMztcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7XG4gICAgdHJhbnNpdGlvbjogZWFzZSBhbGwgMC4zcztcbiAgICB3aWR0aDogMjg4cHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgICB3aWR0aDogNjAwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgIG1hcmdpbjogMCA2MHB4O1xuICAgICAgd2lkdGg6IDc4MHB4O1xuICAgIH1cbiAgfVxuXG4gIC5zbGljay1jdXJyZW50IHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cblxuICAuc2xpY2stYXJyb3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtMjRweDtcbiAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgd2lkdGg6IDI2cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgdGV4dC1pbmRlbnQ6IDEwMDAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcblxuICAgICYuc2xpY2stcHJldiB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc3ZnL2xlZnQtYXJyb3dAM3gucG5nXCIpO1xuICAgICAgbGVmdDogMDtcbiAgICB9XG5cbiAgICAmLnNsaWNrLW5leHQge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9yaWdodC1hcnJvd0AzeC5wbmdcIik7XG4gICAgICByaWdodDogMDtcbiAgICB9XG4gIH1cblxuICBwIHtcbiAgICBAaW5jbHVkZSB0by1lbSgyMHB4KTtcbiAgICBjb2xvcjogJGNvbG9yLWJyaWxsaWFudC1yZWQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59Ki8iLCJcbi8qIC5zZXJ2aWNlLXN1cHBvcnQgIHdhcyByZW1vdmVkIGJlY2F1c2UgaXQgd2FzIGJvcmtpbmcgd2l0aCB0aGUgJiByZWZzICovXG5cbi5idWxsZXRpbi1wb2ludHMtaWNvbiB7XG4gIC8vYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2pwZy9zZXJ2aWNlLXN1cHBvcnQtYmcuanBnXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiA0NXB4IDA7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgIHBhZGRpbmc6IDYwcHggMDtcbiAgfVxuXG4gICZfX2hlYWRlciB7XG4gICAgbWFyZ2luOiAwIGF1dG8gNzVweDtcbiAgICBtYXgtd2lkdGg6IDc2MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gICZfX2hlYWRpbmcge1xuICAgIC8vQGluY2x1ZGUgdG8tZW0oMjhweCk7XG4gICAgQGluY2x1ZGUgZm9udC1zYW5zKGJsYWNrKTtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICB9XG5cbiAgJl9fZ3JpZCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwaG9uZS1ob3Jpei10aW55KSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoY3VzdG9tLXRhYmxldCkge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIG1heC13aWR0aDogMTEyMHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX2dyaWQtaXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNjBweDtcblxuICAgIHBhZGRpbmctYm90dG9tOiA4MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocGhvbmUtaG9yaXotdGlueSkge1xuICAgICAgLy93aWR0aDogNTAlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoY3VzdG9tLXRhYmxldCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIC8vd2lkdGg6IDI1JTtcbiAgICAgIC8vZmxleC1ncm93OiAxO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgLnNlcnZpY2Utc3VwcG9ydF9fZ3JpZC1pdGVtLWltYWdlOjpiZWZvcmUsXG4gICAgICAgIC5idWxsZXRpbi1wb2ludHNfX2dyaWQtaXRlbS1pbWFnZTo6YmVmb3JlIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBtYXJnaW46IDAgMjBweCAwO1xuICAgICAgZm9udC1zaXplOiAuOWVtO1xuICAgIH1cblxuICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAmID4gZmlndXJlIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fZ3JpZC1pdGVtLWltYWdlIHtcbiAgICBoZWlnaHQ6IDk1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNTVweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoY3VzdG9tLXRhYmxldCkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiAtNTBweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiAxMzBweDtcbiAgICAgIG1heC1oZWlnaHQ6IDkwcHg7XG4gICAgfVxuICB9XG5cbiAgLmJ0bl9faW52ZXJ0IHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB3aWR0aDogMTYzcHg7XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cbn1cblxuLyogLmV4cGVyaWVuY2UtaW5ub3ZhdGlvbiB3YXMgcmVtb3ZlZCBiZWNhdXNlIGl0IHdhcyBib3JraW5nIHdpdGggdGhlICYgcmVmcyAqL1xuXG4uYnVsbGV0aW4tcG9pbnRzIHtcbiAgLy9iYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvanBnL2V4cGVyaWVuY2UtaW5ub3ZhdGlvbi1iZy5qcGdcIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gIHBhZGRpbmc6IDQ1cHggMDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgcGFkZGluZzogNjBweCAwO1xuICB9XG5cbiAgJl9faGVhZGVyIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6IDcyMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gICZfX2hlYWRpbmcge1xuICAgIC8vQGluY2x1ZGUgdG8tZW0oNDBweCk7XG4gICAgQGluY2x1ZGUgZm9udC1zYW5zKGJvbGQpO1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gIH1cblxuICAmX19ncmlkIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG4gIH1cblxuICAmX19ncmlkLWl0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDMycHg7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcblxuICAgIHAge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvd2hpdGUtYXJyb3ctaWNvbi5zdmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAxN3B4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogM3B4O1xuICAgICAgd2lkdGg6IDE3cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgICAgd2lkdGg6IDMxLjIlO1xuICAgICAgbWFyZ2luLXRvcDogNTVweDtcbiAgICAgIHBhZGRpbmctbGVmdDogNThweDtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IDI2cHg7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLW9mLXR5cGUoM24rMSkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDMycHg7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmNsaWVudC1jYXJvdXNlbCxcbi5jb21wYW55LWdyaWQsXG4ub3VyLWNsaWVudCB7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuXG4gIC5zbGljay10cmFjayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgLmNsaWVudF9sb2dvIHtcbiAgICAgIHBhZGRpbmc6IDAgMTVweDtcblxuICAgICAgaW1nIHtcbiAgICAgIFx0bWFyZ2luOiBhdXRvO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMjBweDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnNsaWNrLWFycm93e1xuICAgIHdpZHRoOiAxN3B4O1xuICAgIGhlaWdodDogMTdweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3ItYm9yZGVyLWdyZXk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LWluZGVudDogMTAwJTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cbiAgICAmLnNsaWNrLW5leHQge1xuICAgICAgcmlnaHQ6IC01MHB4O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg0NWRlZyk7XG4gICAgICBib3JkZXItd2lkdGg6IDJweCAycHggMCAwcHg7XG4gICAgfVxuXG4gICAgJi5zbGljay1wcmV2IHtcbiAgICAgIGxlZnQ6IC01MHB4O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgYm9yZGVyLXdpZHRoOiAycHggMCAwIDJweDtcbiAgICB9XG4gIH1cblxuICAmX19jb21wYW55LWxvZ29zIHtcbiAgICB1bCB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAmX19oZWFkaW5nIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICB9XG5cbn1cbiIsIi5jb21wYW55LWdyaWQge1xuICBwYWRkaW5nOiAyMHB4IDA7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCl7XG4gICAgcGFkZGluZzogNjBweDtcbiAgfVxuXG4gIC5ncmlkLXgge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICB9XG5cbiAgJl9fbGlzdCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7IC8vIG92ZXJyaWRlcyBzbGlja1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAmX19saXN0LWl0ZW0ge1xuICAgIC8vZGlzcGxheTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogNTAlO1xuICAgIGZsZXg6IDAgMSAoKDMvNikgKiAxMDAlKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRvcDogMXB4O1xuICAgIGxlZnQ6IDFweDtcblxuICAgIC5sb2dvLWNvbnRhaW5lciB7XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKCRjb2xvci1ib3JkZXItZ3JleSwgLjQpO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoJGNvbG9yLWJvcmRlci1ncmV5LCAuNCk7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocGhvbmUtaG9yaXotdGlueSkge1xuICAgICAgd2lkdGg6ICgoMS8zKSAqIDEwMCUpO1xuICAgICAgZmxleDogMCAxICgoMS8zKSAqIDEwMCUpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICB3aWR0aDogKCgxLzQpICogMTAwJSk7XG4gICAgICBmbGV4OiAwIDEgKCgxLzQpICogMTAwJSk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgICAgd2lkdGg6ICgoMS82KSAqIDEwMCUpO1xuICAgICAgZmxleDogMCAxICgoMS82KSAqIDEwMCUpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoY3VzdG9tLXRhYmxldCkge1xuICAgICAgd2lkdGg6ICgoLjc1LzYpICogMTAwJSk7XG4gICAgICBmbGV4OiAwIDEgKCguNzUvNikgKiAxMDAlKTtcbiAgICB9XG5cbiAgfVxuXG4gICZfX2xpc3QtaXRlbS5hY3RpdmUge1xuICAgIC8vZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICAgIGxlZnQ6IDFweDtcblxuICAgIEBpbmNsdWRlIGllT25seSB7XG4gICAgICBsZWZ0OiAycHg7XG4gICAgfVxuICB9XG5cbiAgJl9fbGlzdC1pdGVtLmluYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBub25lIWltcG9ydGFudDtcbiAgfVxuXG5cbiAgJl9fY2FzZS1zdHVkeSB7XG4gICAgQGluY2x1ZGUgdG8tZW0oMTBweCk7XG4gICAgQGluY2x1ZGUgZm9udC1zYW5zKG1lZGl1bSk7XG4gICAgY29sb3I6ICRjb2xvci1uYXZ5LWJsdWU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm90dG9tOiAxNXB4O1xuICAgIHotaW5kZXg6IDI7XG4gIH1cblxuICAuYnRuIHtcbiAgICB3aWR0aDogMTYycHg7XG4gICAgbWFyZ2luOiA2NXB4IGF1dG8gMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC5zaWRlYmFyLWluZHVzdHJpZXMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgXG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICBoNCB7XG4gICAgICBAaW5jbHVkZSB0by1lbSgxMnB4KTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBtYXJnaW46IDAgMCAzMHB4IDA7XG4gICAgICBwYWRkaW5nOiAwIDAgMTBweCAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItZ3JleTtcbiAgICB9XG4gIH1cblxuICAuY29tcGFueS1pbmR1c3RyeSB7XG4gICAgJl9fbGlzdCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgICZfX2xpc3QtaXRlbS5pcy1hY3RpdmUge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgICAgIGEge1xuICAgICAgICAvLyY6YWZ0ZXIge1xuICAgICAgICAvLyAgY29udGVudDogXCJcIjtcbiAgICAgICAgLy8gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgLy8gIHdpZHRoOiAxMHB4O1xuICAgICAgICAvLyAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICAvLyAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9zdmcvYmx1ZS1jbG9zZS1pY29uLnN2ZykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG4gICAgICAgIC8vICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAvLyAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgIC8vfVxuXG4gICAgICAgICYuYWxsLWN1c3RvbWVyczphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiIsIi5jb21wYW55LWxvZ28ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogNDVweDtcbiAgd2lkdGg6IDIwMHB4O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQocGhvbmUtbWVkaXVtKSB7XG4gICAgd2lkdGg6IDI3MHB4O1xuICAgIGhlaWdodDogNjBweDtcbiAgfVxufVxuXG5cblxuXG4ubWFzdGhlYWQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cbiAgLmJ0biB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gIH1cblxuICAubWFzdGhlYWRfX3N1Yi1oZWFkaW5nIHtcbiAgICBAaW5jbHVkZSB0by1lbSgxNnB4KTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xuXG4gICAgJiArIC5idG4ge1xuICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICAgIEBpbmNsdWRlIHRvLWVtKDE3LjVweCk7XG4gICAgICAmICsgLmJ0biB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gU2l6aW5nIHNpbWlsYXIgdG8gdGhlIGhvbWUgcGFnZSAoYnV0IHdpdGhvdXQgc3RhdGljIGFzc2V0IGRlY2xhcmF0aW9ucylcbiAgJi0tZnVsbCwgJi0taG9tZSB7XG4gICAgaGVpZ2h0OiA3NXZoO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgICAgaGVpZ2h0OiA4NXZoO1xuICAgICAgbWluLWhlaWdodDogNjUwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTIwcHg7XG4gICAgfVxuXG4gICAgLm1hc3RoZWFkX19zdWItaGVhZGluZyB7XG4gICAgICAmICsgLmJ0biB7XG4gICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICAgICAgJiArIC5idG4ge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYgKyAqIHtcblxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDEyMjBweDtcbiAgICAgIHdpZHRoOiA5MCU7XG4gICAgICB6LWluZGV4OiA5OTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHggOHB4IDAgMDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTIwMHB4IWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogNDBweCFpbXBvcnRhbnQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICAmID4gLmNvbnRhaW5lciB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICB0b3A6IDIwMHB4O1xuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogNTAlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIC8qIFBlcm1hbGluayAtIHVzZSB0byBlZGl0IGFuZCBzaGFyZSB0aGlzIGdyYWRpZW50OiBodHRwOi8vY29sb3J6aWxsYS5jb20vZ3JhZGllbnQtZWRpdG9yLyMwMDAwMDArMCwwMDAwMDArMTAwJjErMCwwKzEwMCAqL1xuICAgICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsMCwwLDEpIDAlLCByZ2JhKDAsMCwwLDApIDEwMCUpOyAvKiBGRjMuNi0xNSAqL1xuICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsMCwwLDEpIDAlLHJnYmEoMCwwLDAsMCkgMTAwJSk7IC8qIENocm9tZTEwLTI1LFNhZmFyaTUuMS02ICovXG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsMCwwLDEpIDAlLHJnYmEoMCwwLDAsMCkgMTAwJSk7IC8qIFczQywgSUUxMCssIEZGMTYrLCBDaHJvbWUyNissIE9wZXJhMTIrLCBTYWZhcmk3KyAqL1xuICAgICAgb3BhY2l0eTogLjM7XG4gICAgfVxuXG4gICAgc2VjdGlvbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAyO1xuICAgIH1cblxuICAgIGhlYWRlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAzO1xuICAgIH1cblxuICB9XG5cbiAgLy8gU2l6aW5nIHNpbWlsYXIgdG8gdGhlIEFib3V0IHBhZ2UgKHdpdGhvdXQgc3RhdGljIGFzc2V0IGRlY2xhcmF0aW9ucylcbiAgJi0tbGFyZ2UsICYtLWFib3V0IHtcbiAgICBoZWlnaHQ6IDU1dmg7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG5cbiAgICAubWFzdGhlYWRfX2hlYWRlciB7XG4gICAgICB6LWluZGV4OiA5OTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgICBtaW4taGVpZ2h0OiA1MDBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMjBweDtcbiAgICB9XG5cbiAgICAubWFzdGhlYWRfX3N1Yi1oZWFkaW5nIHtcbiAgICAgICYgKyAuYnRuIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgICAgICYgKyAuYnRuIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmICsgKiB7XG5cbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiAxMjIwcHg7XG4gICAgICB3aWR0aDogOTAlO1xuICAgICAgei1pbmRleDogOTk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4IDhweCAwIDA7XG4gICAgICAgIG1hcmdpbi10b3A6IC0yMDBweCFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDQwcHghaW1wb3J0YW50O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgJiA+IC5jb250YWluZXIge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgdG9wOiAyMDBweDtcbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogNTAlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIC8qIFBlcm1hbGluayAtIHVzZSB0byBlZGl0IGFuZCBzaGFyZSB0aGlzIGdyYWRpZW50OiBodHRwOi8vY29sb3J6aWxsYS5jb20vZ3JhZGllbnQtZWRpdG9yLyMwMDAwMDArMCwwMDAwMDArMTAwJjErMCwwKzEwMCAqL1xuICAgICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsMCwwLDEpIDAlLCByZ2JhKDAsMCwwLDApIDEwMCUpOyAvKiBGRjMuNi0xNSAqL1xuICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsMCwwLDEpIDAlLHJnYmEoMCwwLDAsMCkgMTAwJSk7IC8qIENocm9tZTEwLTI1LFNhZmFyaTUuMS02ICovXG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsMCwwLDEpIDAlLHJnYmEoMCwwLDAsMCkgMTAwJSk7IC8qIFczQywgSUUxMCssIEZGMTYrLCBDaHJvbWUyNissIE9wZXJhMTIrLCBTYWZhcmk3KyAqL1xuICAgICAgb3BhY2l0eTogLjM7XG4gICAgfVxuXG4gICAgaGVhZGVyLCBzZWN0aW9uIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuXG4gIH1cblxuICAvLyBKdXN0IGVub3VnaCB0byBhbGxvdyBmb3Igcm91bmRlZC1jb3JuZXIgb3Blbi10ZXh0XG4gICYtLXNpbXBsZSwgJi0tc3VwcG9ydCwgJi0tYmxvZyB7XG4gICAgcGFkZGluZzogMDtcblxuICAgIC5tYXN0aGVhZF9faGVhZGVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAuOSk7XG4gICAgICB6LWluZGV4OiA5OTtcblxuICAgICAgLyouY29tcGFueS1sb2dvIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9ob3BlLWxvZ28tY29sb3Iuc3ZnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICB9Ki9cbiAgICB9XG5cbiAgICAubWFzdGhlYWRfX2NvbnRlbnQtd3JhcHBlciB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgICAgIHBhZGRpbmc6IDgwcHggMCAyMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tYXN0aGVhZF9fY29udGVudCB7XG4gICAgcGFkZGluZy10b3A6IDBweDtcbiAgfVxuXG4gICYtLXNpbmdsZXBvc3Qge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9qcGcvYWJvdXQtbWFzdGhlYWQtYmcuanBnXCIpO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuXG4gICAgLm1hc3RoZWFkX19jb250ZW50LXdyYXBwZXIgeyBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7IHBhZGRpbmc6IDUwcHggMCAyMHB4OyB9IH1cbiAgICAubWFzdGhlYWRfX2NvbnRlbnQgeyBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7bWF4LXdpZHRoOiA1NSUgfSB9XG4gIH1cblxuXG4gIC8vIFN0YXRpYyBhc3NldHMgZm9yIHN0YXRpYyB2ZXJzaW9ucyBvZiBwYWdlcy5cbiAgJi0taG9tZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2pwZy9ob21lLW1hc3RoZWFkLmpwZ1wiKTtcbiAgfVxuXG4gICYtLWFib3V0IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvanBnL2Fib3V0LW1hc3RoZWFkLWJnLmpwZ1wiKTtcbiAgfVxuXG5cbiAgJi0tY3VzdG9tZXJzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvanBnL2N1c3RvbWVycy1tYXN0aGVhZC1iZy5qcGdcIik7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgICBoZWlnaHQ6IDU0NXB4O1xuICAgIH1cbiAgfVxuXG4gICYtLWNvbnRhY3Qge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9qcGcvY29udGFjdC1tYXN0aGVhZC1iZy5qcGdcIik7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgICBoZWlnaHQ6IDUzMnB4O1xuXG4gICAgICAubWFzdGhlYWRfX2NvbnRlbnQtd3JhcHBlci0tcGFkZGVkIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLXNlbyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2pwZy9zZW8tbGFuZGluZy1iZy5qcGdcIik7XG4gICAgcGFkZGluZy1ib3R0b206IDYwcHg7XG5cbiAgICAubWFzdGhlYWRfX2NvbnRlbnQtd3JhcHBlciB7XG4gICAgICBwYWRkaW5nLXRvcDogNjBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgICBoZWlnaHQ6IDgxNHB4O1xuXG4gICAgICAubWFzdGhlYWRfX2NvbnRlbnQtd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICAubWFzdGhlYWRfX3N1Yi1oZWFkaW5nIHtcbiAgICAgICAgQGluY2x1ZGUgdG8tZW0oMTZweCk7XG4gICAgICB9XG5cbiAgICAgIC5tYXN0aGVhZF9fY29udGVudC13cmFwcGVyIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLXByb2R1Y3Qtc3VwcG9ydCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3BuZy9wcm9kdWN0LXN1cHBvcnQtYmcucG5nXCIpO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgICAgLy9oZWlnaHQ6IDM1MHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAvL2hlaWdodDogMjgwcHg7XG5cbiAgICAgIC5tYXN0aGVhZF9fY29udGVudC13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLWZsZXhlZCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgICAgLm1hc3RoZWFkX19jb250ZW50LXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9faGVhZGluZyB7XG4gICAgQGluY2x1ZGUgdG8tZW0oMjhweCk7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG5cbiAgICBzcGFuIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2Fucyhib29rKTtcbiAgICAgIEBpbmNsdWRlIHRvLWVtKDI4cHgsIDUwcHgpO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICAgIEBpbmNsdWRlIHRvLWVtKDQwcHgpO1xuXG4gICAgICBzcGFuIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19zdWItaGVhZGluZyB7XG4gICAgQGluY2x1ZGUgdG8tZW0oMTVweCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuXG4gICAgJiArIC5idG4ge1xuICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICAgIEBpbmNsdWRlIHRvLWVtKDE3cHgpO1xuICAgICAgJiArIC5idG4ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX3RleHQge1xuICAgIEBpbmNsdWRlIHRvLWVtKDE4cHgpO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU1NTU1NTU1NjtcbiAgfVxuXG4gICZfX2hlYWRlciB7XG4gICAgcGFkZGluZy10b3A6IDE1cHg7XG5cbiAgICAuY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgfVxuICB9XG5cbiAgJl9fY29udGVudC13cmFwcGVyIHtcblxuICAgIC5ncmlkLXgge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJi0tcGFkZGVkIHtcbiAgICAgIHBhZGRpbmctdG9wOiA2MHB4O1xuXG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuXG4gICAgICAubWFzdGhlYWQtLWZ1bGwgJiB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMjIwcHgpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLXBhZGRlZC0xMDAge1xuICAgICAgLy9wYWRkaW5nLXRvcDogMTIwcHg7XG4gICAgICAvL2hlaWdodDogY2FsYygxMDAlIC0gMTY1cHgpO1xuICAgICAgcGFkZGluZzogMzBweCAwIDIwcHg7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcblxuICAgICAgICAvL3BhZGRpbmctdG9wOiAxMDBweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19jb250ZW50IHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgICYtLWZ1bGwtd2lkdGgge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9faW1hZ2Uge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MHB4KTtcblxuICAgIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gICZfX2luZm8ge1xuICAgIEBpbmNsdWRlIHRvLWVtKDE0cHgpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuXG4gICAgdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG5cbiAgICBmbGV4OiAxIDAgYXV0bztcblxuICAgIHAge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIHVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgJi5pY29uLWZlZWRzIHtcbiAgICAgICAgbGkge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzNHB4O1xuXG4gICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgICAgICBsZWZ0OiAtMTdweDtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtN3B4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIGhlaWdodDogMTRweDtcbiAgICAgICAgbGVmdDogLTEycHg7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogLTdweDtcbiAgICAgIH1cblxuICAgICAgbWFyZ2luLWxlZnQ6IDI0cHg7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgICAgdWwge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgYm9keS5hY3RpdmVOYXYgJiB7XG4gICAgei1pbmRleDogOTk5O1xuICB9XG5cbn1cblxuLy8gLnBhZ2UtdGVtcGxhdGUtY29uZmlndXJhdG9yLWZyYW1lXG4ucGFnZS10ZW1wbGF0ZS1jb25maWd1cmF0b3ItZnJhbWUge1xuICAubWFzdGhlYWRfX2NvbnRlbnQtd3JhcHBlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uaW1nLWJnLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG59XG5cbi5tYXN0aGVhZC1mdWxsLWZpbGxlciB7XG4gIGhlaWdodDogNzV2aDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIGJhY2tncm91bmQ6ICRjb2xvci1uYXZ5LWJsdWU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogLTE7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgIGhlaWdodDogODV2aDtcbiAgICBtaW4taGVpZ2h0OiA2NTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTIwcHg7XG4gIH1cbn1cblxuLm1hc3RoZWFkLWxhcmdlLWZpbGxlciB7XG4gIGhlaWdodDogNTV2aDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIGJhY2tncm91bmQ6ICRjb2xvci1uYXZ5LWJsdWU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogLTE7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgIG1pbi1oZWlnaHQ6IDUwMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMjBweDtcbiAgfVxufVxuIiwiLm9wZW4tdGV4dCB7XG5cbiAgLyomLnUtcm91bmQtc2VjdGlvbixcbiAgc2VjdGlvbi5tYXN0aGVhZCArICYge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDEyMjBweDtcbiAgICAgIHdpZHRoOiA5MCU7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IC8vIHdhcyBtYXBweS1icCh0YWJsZXQtdmVydClcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAtMjAwcHg7IC8vIFdhcyAtMTIwIGJ1dCB0aGF0IGxlYXZlcyBhIGh1Z2UgZ2FwLlxuICAgICAgfVxuICB9Ki9cblxuXG4gIC5tYWluLWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiByZW0tY2FsYyg3ODBweCk7XG4gIH1cblxuICAmLndpZGUge1xuICAgIC5tYWluLWNvbnRhaW5lciB7XG4gICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDEyMjBweCk7XG4gICAgfVxuICB9XG5cblxuICBwYWRkaW5nOiA0NXB4IDA7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgIHBhZGRpbmc6IDYwcHggMDtcbiAgfVxuXG4gIC8vIFJlcGxhY2VkIHdpdGggRm91bmRhdGlvbiBjb250YWluZXIgd2hpY2ggdXNlcyByZW1zXG4gIC8qLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA3ODBweDtcbiAgfSovXG5cbiAgJl9faGVhZGluZyB7XG4gICAgQGluY2x1ZGUgdG8tZW0oNDBweCk7XG4gICAgY29sb3I6ICRjb2xvci1uYXZ5LWJsdWU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICB9XG4gIH1cblxuICAmX19jb3B5IHtcblxuICAgIHAge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNzU7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBjb2xvcjogJGNvbG9yLW5hdnktYmx1ZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cblxuICAgIC8vIFdoZW5ldmVyIHdlIHVzZSB2aWRlb3Mgd2UgZW5zdXJlIHRoYXQgdGhleSBhcmUgYXBwcm9wcmlhdGVseSBzcGFjZWQsIGluIGNhc2UgTWVkaWFFbGVtZW50SlMgZG9lc24ndCBmaXJlIGZvciBzb21lIHJlYXNvbi5cbiAgICAud3AtdmlkZW8ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG5cbiAgICAgIC53cC12aWRlby1zaG9ydGNvZGUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cblxuLyouaG9wZS1taXNzaW9uIHtcbiAgcGFkZGluZzogNDVweCAwO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICBwYWRkaW5nOiA5MHB4IDA7XG4gIH1cblxuICAuY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDc4MHB4O1xuICB9XG5cbiAgJl9faGVhZGluZyB7XG4gICAgQGluY2x1ZGUgdG8tZW0oNDBweCk7XG4gICAgY29sb3I6ICRjb2xvci1uYXZ5LWJsdWU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICB9XG4gIH1cblxuICBwIHtcbiAgICBsaW5lLWhlaWdodDogMS43NTtcblxuICAgIGEge1xuICAgICAgY29sb3I6ICRjb2xvci1uYXZ5LWJsdWU7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG4gIH1cbn0qL1xuIiwiLnByb2R1Y3QtY29tcGFyZSxcbi5pbmR1c3RyaWFsLW1vbml0b3JzIHtcbiAgcGFkZGluZzogNDVweCAwO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICBwYWRkaW5nOiA2MHB4IDA7XG4gIH1cblxuICAmX19oZWFkZXIge1xuICAgIG1hcmdpbjogMCBhdXRvIDc1cHg7XG4gICAgbWF4LXdpZHRoOiA5ODVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAmX19oZWFkaW5nIHtcbiAgICBAaW5jbHVkZSB0by1lbSgyOHB4KTtcbiAgICBjb2xvcjogJGNvbG9yLW5hdnktYmx1ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgICAgQGluY2x1ZGUgdG8tZW0oNDBweCk7XG4gICAgfVxuICB9XG5cbiAgJl9fdGFibGUge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKCRkYXJrLWdyYXksIC4zKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDBweDtcbiAgICB9XG5cbiAgICAmLXRvcC1yb3cge1xuXG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJHZlcnktZGFyay1ibHVlO1xuICAgICAgcGFkZGluZzogMCAzMHB4IDIwcHg7XG5cbiAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIH1cblxuICAgIH1cbiAgfVxuXG4gICZfX3RhYmxlLWxhYmVsIHtcbiAgICBjb2xvcjogJGNvbG9yLW5hdnktYmx1ZTtcbiAgfVxuXG4gICZfX3RhYmxlLWl0ZW0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgJl9faW1hZ2Uge1xuICAgIHRleHQtYWxpZ246IGxlZnQhaW1wb3J0YW50O1xuICB9XG5cbiAgJl9fcm93IHtcbiAgICBwYWRkaW5nOiAyMHB4IDBweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgkZGFyay1ncmF5LCAuMyk7XG4gICAgY29sb3I6ICRkYXJrLWdyYXk7XG5cbiAgICAmLnN0YXJ0LWhpZGRlbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgLy9oZWlnaHQ6IDA7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICAgIHBhZGRpbmc6IDIwcHggMzBweDtcbiAgICB9XG5cbiAgICAmX19oZWFkaW5nIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTRweCk7IC8vIEFkZGVkIHRvIGdldCBzb21lIHNwYWNpbmcgYmFjayBmcm9tIGltYWdlcy5cbiAgICAgIGNvbG9yOiAkY29sb3ItbmF2eS1ibHVlO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgID4gc3BhbiB7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBmbGV4OiAxIDAgNDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCl7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogYXR0cihkYXRhLWhlYWRlcik7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgICAgZmxleDogMSAwIDYwJTtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yLW5hdnktYmx1ZTtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCl7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL3BuZy9ibHVlLWFycm93LXJpZ2h0LnBuZ1wiKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0cHgpOyAvLyBBZGRlZCB0byBnZXQgc29tZSBzcGFjaW5nIGJhY2sgZnJvbSBpbWFnZXMuXG5cbiAgICAgIHNwYW4uY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgPiBkaXYge1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1oZWFkZXIpO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB3aWR0aDogNjAlO1xuICAgICAgICAgIGZsZXg6IDEgMCA2MCU7XG4gICAgICAgICAgY29sb3I6ICRjb2xvci1uYXZ5LWJsdWU7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpe1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgICBwYWRkaW5nOiAyMHB4O1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweCAwIDA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1heC13aWR0aDogMTAwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmJ0bl9faW52ZXJ0IHtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICAgIHdpZHRoOiAxNThweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cblxuICB9XG5cbiAgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJHZlcnktbGlnaHQtZ3JheTtcbiAgICB9XG4gIH1cblxuICBhLnByb2R1Y3QtY29tcGFyZS0tdmlld21vcmUge1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gIH1cblxuICBhLnByb2R1Y3QtY29tcGFyZS0tdmlld21vcmU6Zm9jdXMge1xuICAgIGNvbG9yOiAkY29sb3ItbmF2eS1ibHVlO1xuICB9XG5cbiAgYS5wcm9kdWN0LWNvbXBhcmUtLXZpZXdtb3JlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbmF2eS1ibHVlO1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG59IiwiLnByb2R1Y3QtZ3JvdXBzIHtcbiAgJl9fd3JhcHBlciB7XG4gICAgcGFkZGluZzogNDBweCAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgICAgcGFkZGluZzogNzBweCAwO1xuICAgIH1cbiAgfVxuXG4gIFxuICAmX19oZWFkaW5nIHtcbiAgICBjb2xvcjogJGNvbG9yLW5hdnktYmx1ZTtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICAgIEBpbmNsdWRlIHRvLWVtKDQwcHgpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNzBweDtcbiAgICB9XG4gIH1cblxuICAmX19ncmlkIHtcbiAgICAvKkBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfSovXG4gIH1cblxuICAmX19ncmlkLWl0ZW0ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAvKmZsZXgtZ3JvdzogMTsqL1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgICBtYXJnaW4tdG9wOiA2MHB4O1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKkBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICAgIHdpZHRoOiAzMS4yJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzLjIlO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfSovXG5cbiAgICAvKkBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICB3aWR0aDogMzMlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwMHB4O1xuICAgIH0qL1xuICB9XG5cbiAgJl9fZ3JpZC1pdGVtLWhlYWRpbmcge1xuICAgIGNvbG9yOiAkY29sb3ItbmF2eS1ibHVlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgICAgQGluY2x1ZGUgdG8tZW0oMjBweCk7XG4gICAgfVxuICB9XG5cbiAgJl9fZ3JpZC1pdGVtLWltYWdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuXG4gICAgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgJl9fYnRuIHtcbiAgICBtYXJnaW46IDI0cHggYXV0byAwO1xuICAgIG1heC13aWR0aDogMzAwcHg7XG4gIH1cblxufVxuXG5cbi5yZWxhdGVkLWxpbmtzIHtcbiAgJl9faGVhZGluZyB7XG4gICAgc3BhbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itb2ZmLXdoaXRlO1xuICAgIH1cbiAgfVxuXG4gICZfX2dyaWQge1xuICAgIG1hcmdpbi1ib3R0b206IDY1cHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBob25lLWhvcml6LXRpbnkpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGN1c3RvbS10YWJsZXQpIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIH1cbiAgfVxuXG4gICZfX2dyaWQtaXRlbSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAkY29sb3ItbmF2eS1ibHVlO1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgcGFkZGluZzogMCA1cHg7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGZvbnQtc2l6ZTogLjllbTtcblxuICAgIGEge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgcGFkZGluZzogNTBweCAxMHB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgfVxuXG4gICAgLypAaW5jbHVkZSBicmVha3BvaW50KHBob25lLWhvcml6LXRpbnkpIHtcbiAgICAgIHdpZHRoOiA0OC40JTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzLjIlO1xuICAgICAgZmxleC1ncm93OiAxO1xuXG4gICAgICAmOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfSovXG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGN1c3RvbS10YWJsZXQpIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB3aWR0aDogYXV0bztcblxuICAgICAgLyomOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDMuMiU7XG4gICAgICB9XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH0qL1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG4vLyAjVE9ETzogRGVsZXRlIHdoZW4gc3RhdGljIHVzYWdlIGlzIG5vIGxvbmdlciBuZWVkZWQuXG4uc2VvLWFjY2Vzc29yaWVzIHtcbiAgcGFkZGluZzogNDBweCAwO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICBwYWRkaW5nOiA3MHB4IDA7XG4gIH1cblxuICAmX19oZWFkaW5nIHtcbiAgICBjb2xvcjogJGNvbG9yLW5hdnktYmx1ZTtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICAgIEBpbmNsdWRlIHRvLWVtKDQwcHgpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNzBweDtcbiAgICB9XG4gIH1cblxuICAmX19ncmlkIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cbiAgfVxuXG4gICZfX2dyaWQtaXRlbSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZsZXgtZ3JvdzogMTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuICAgICAgbWFyZ2luLXRvcDogNjBweDtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgICAgd2lkdGg6IDMxLjIlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDMuMiU7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgd2lkdGg6IDMzJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMDBweDtcbiAgICB9XG4gIH1cblxuICAmX19ncmlkLWl0ZW0taGVhZGluZyB7XG4gICAgY29sb3I6ICRjb2xvci1uYXZ5LWJsdWU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgICBAaW5jbHVkZSB0by1lbSgyMHB4KTtcbiAgICB9XG4gIH1cblxuICAmX19ncmlkLWl0ZW0taW1hZ2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG5cbiAgICBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAmX19idG4ge1xuICAgIG1hcmdpbjogMjRweCBhdXRvIDA7XG4gICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgfVxufVxuXG4ucmF0ZWQtYWNjZXNzb3JpZXMge1xuICAmX19oZWFkaW5nIHtcbiAgICBzcGFuIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1vZmYtd2hpdGU7XG4gICAgfVxuICB9XG5cbiAgJl9fZ3JpZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNjVweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocGhvbmUtaG9yaXotdGlueSkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoY3VzdG9tLXRhYmxldCkge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgfVxuICB9XG5cbiAgJl9fZ3JpZC1pdGVtIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgIGNvbG9yOiAkY29sb3ItbmF2eS1ibHVlO1xuICAgIHBhZGRpbmc6IDUwcHggMTBweDtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwaG9uZS1ob3Jpei10aW55KSB7XG4gICAgICB3aWR0aDogNDguNCU7XG4gICAgICBtYXJnaW4tbGVmdDogMy4yJTtcbiAgICAgIGZsZXgtZ3JvdzogMTtcblxuICAgICAgJjpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoY3VzdG9tLXRhYmxldCkge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgICAmOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDMuMiU7XG4gICAgICB9XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5wcm9kdWN0LWhpZ2hsaWdodCxcbi5wcm9kdWN0LXN0b3J5IHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogMTIyMHB4O1xuICBwYWRkaW5nOiAyMHB4IWltcG9ydGFudDtcbiAgd2lkdGg6IDkwJTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHBob25lLWhvcml6LXRpbnkpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cblxuICAuaGlnaGxpZ2h0LWxpc3Qge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmdyaWQteCB7XG4gICAgbWFyZ2luOiAwIC0xMHB4O1xuICB9XG5cbiAgJl9faXRlbSB7XG4gICAgQGluY2x1ZGUgdG8tZW0oMTRweCk7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBob25lLWhvcml6LXRpbnkpIHtcbiAgICAgIHdpZHRoOiA0OC40JTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgLy90cmFuc2Zvcm06IHNjYWxlKDEuMDEpO1xuICAgICAgICAgIC8vYm94LXNoYWRvdzogMHB4IDVweCAyNXB4IDAgcmdiYSgwLDAsMCwuMik7XG4gICAgICAgICAgb3BhY2l0eTogLjk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLWltZyB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuICAgIH1cbiAgfVxuXG4gICZfX2ltYWdlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDQwMG1zO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgbWF4LWhlaWdodDogMzI0cHg7XG4gICAgfVxuICB9XG5cbiAgcCB7XG4gICAgbWFyZ2luOiAxNXB4IDhweDtcbiAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgICBAaW5jbHVkZSB0by1lbSgxNHB4KTtcbiAgfVxufVxuIiwiLnByb2R1Y3Qtc3BlYyxcbi5jb21wYXJlLXNwZWNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWxpZ2h0LWdyZXktMTtcblxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgcGFkZGluZzogMzBweCA1JTtcblxuICAgIC8qIFBlcm1hbGluayAtIHVzZSB0byBlZGl0IGFuZCBzaGFyZSB0aGlzIGdyYWRpZW50OiBodHRwOi8vY29sb3J6aWxsYS5jb20vZ3JhZGllbnQtZWRpdG9yLyNlOGU4ZTgrNDUsZjRmNGY0KzQ1ICovXG4gICAgYmFja2dyb3VuZDogcmdiKDIzMiwyMzIsMjMyKTsgLyogT2xkIGJyb3dzZXJzICovXG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyMzIsMjMyLDIzMiwxKSA0NSUsIHJnYmEoMjQ0LDI0NCwyNDQsMSkgNDUlKTsgLyogRkYzLjYtMTUgKi9cbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDIzMiwyMzIsMjMyLDEpIDQ1JSxyZ2JhKDI0NCwyNDQsMjQ0LDEpIDQ1JSk7IC8qIENocm9tZTEwLTI1LFNhZmFyaTUuMS02ICovXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDIzMiwyMzIsMjMyLDEpIDQ1JSxyZ2JhKDI0NCwyNDQsMjQ0LDEpIDQ1JSk7IC8qIFczQywgSUUxMCssIEZGMTYrLCBDaHJvbWUyNissIE9wZXJhMTIrLCBTYWZhcmk3KyAqL1xuICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjZThlOGU4JywgZW5kQ29sb3JzdHI9JyNmNGY0ZjQnLEdyYWRpZW50VHlwZT0xICk7IC8qIElFNi05ICovXG4gIH1cblxuICAmX19kZXNjcmlwdGlvbiB7XG4gICAgcGFkZGluZzogNDVweCAwIDQ1cHggNSU7XG4gICAgd2lkdGg6IDkwJTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbGlnaHQtZ3JleS0yO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIG1heC13aWR0aDogNDIwcHg7XG4gICAgICBwYWRkaW5nOiA0NXB4IDUwcHggNDVweCAwO1xuICAgICAgd2lkdGg6IDI1JTtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICB9XG4gIH1cblxuXG4gICZfX2Rlc2NyaXB0aW9uLWNvbnRlbnQge1xuICAgIC5idG4ge1xuICAgICAgd2lkdGg6IDI1MHB4O1xuICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIEBpbmNsdWRlIHRvLWVtKDE1cHgpO1xuICAgICAgY29sb3I6ICR2ZXJ5LWRhcmstZ3JheTtcbiAgICB9XG4gIH1cblxuICAmX19oZWFkaW5nIHtcbiAgICBAaW5jbHVkZSBmb250LXNhbnMoYm9sZCk7XG4gICAgQGluY2x1ZGUgdG8tZW0oMzBweCk7XG4gICAgY29sb3I6ICRjb2xvci1uYXZ5LWJsdWU7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzVlbTtcbiAgfVxuXG4gICZfX3N1Yi1oZWFkaW5nIHtcbiAgICBAaW5jbHVkZSBmb250LXNhbnMoYm9vayk7XG4gICAgQGluY2x1ZGUgdG8tZW0oMjBweCk7XG4gICAgY29sb3I6ICRjb2xvci1uYXZ5LWJsdWU7XG4gIH1cblxuICAmX19kZXRhaWwtd3JhcHBlciB7XG4gICAgbWFyZ2luLXRvcDogLTQ1cHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZ3JvdzogMjtcbiAgICAgIG1heC13aWR0aDogODAwcHg7XG4gICAgICB3aWR0aDogNzUlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG5cbiAgICB9XG4gIH1cblxuICAmX19pbWFnZSB7XG4gICAgLyomLS1kZXNrdG9wIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJi0tbW9iaWxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH0qL1xuXG4gICAgaW1nIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICAgIG1heC13aWR0aDogNDcwcHg7XG4gICAgICAvL21hcmdpbi1sZWZ0OiAtNDBweDtcblxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDgwcHg7XG4gICAgICAvKlxuICAgICAgJi0tZGVza3RvcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgICAmLS1tb2JpbGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfSovXG4gICAgfVxuICB9XG5cbiAgJl9fZGV0YWlscyB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWF4LXdpZHRoOiAyOTBweDtcbiAgICAgIC8vIHdpZHRoOiAyNSU7XG5cbiAgICAgIHVsIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xuICAgICAgfVxuXG4gICAgICBsaSB7XG4gICAgICAgIEBpbmNsdWRlIHRvLWVtKDEycHgpO1xuICAgICAgICBtYXJnaW46IDAgMCAxOHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAzMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc3ZnL2JsdWUtYXJyb3ctaWNvbi5zdmdcIik7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGxlZnQ7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgIHdpZHRoOiAxN3B4O1xuICAgICAgICAgIGhlaWdodDogMTdweDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAzcHg7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnByb2R1Y3QtdGlsZXMge1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWF4LXdpZHRoOiAxMjIwcHg7XG4gIHBhZGRpbmc6IDIwcHggMDtcbiAgd2lkdGg6IDkwJTtcblxuICAmLnUtcm91bmQtc2VjdGlvbiB7XG4gICAgLypAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMjAwcHg7XG4gICAgICBwYWRkaW5nOiAyMHB4O1xuICAgIH0qL1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChwaG9uZS1ob3Jpei10aW55KSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG5cbiAgLmdyaWQteCB7XG4gICAgbWFyZ2luOiAwIC0xMHB4O1xuICB9XG5cbiAgJl9faXRlbSB7XG4gICAgQGluY2x1ZGUgdG8tZW0oMTRweCk7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBob25lLWhvcml6LXRpbnkpIHtcbiAgICAgIHdpZHRoOiA0OC40JTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAvL3BhZGRpbmctbGVmdDogMjJweDtcbiAgICAgIHBhZGRpbmc6IDAgMTBweDtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIC8vcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2ltYWdlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgICAgbWF4LWhlaWdodDogMzI0cHg7XG4gICAgfVxuICB9XG5cbiAgcCB7XG4gICAgbWFyZ2luOiAxNXB4IDhweDtcbiAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgICBAaW5jbHVkZSB0by1lbSgxNHB4KTtcbiAgfVxufVxuIiwiLnJlbGF0ZWQtcHJvZHVjdHMge1xuICBwYWRkaW5nLWJvdHRvbTogNjBweDtcblxuICAmLnUtcm91bmQtc2VjdGlvbiB7XG4gICAgLypAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMjAwcHg7XG4gICAgICBwYWRkaW5nOiAyMHB4O1xuICAgIH0qL1xuICB9XG5cbiAgJl9faXRlbS1ncmlkIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICB9XG5cbiAgJl9faGVhZGluZyB7XG4gICAgQGluY2x1ZGUgdG8tZW0oMzBweCk7XG4gICAgY29sb3I6ICRjb2xvci1uYXZ5LWJsdWU7XG4gIH1cblxuICAmX19pdGVtIHtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgYm9yZGVyOiAzcHggc29saWQgI0YwRjBGMDtcbiAgICBiYWNrZ3JvdW5kOiAjZjBmMGYwO1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDQwMG1zO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDIpO1xuICAgICAgYm94LXNoYWRvdzogMCA1cHggNDBweCAwIHJnYmEoMCwwLDAsLjA1KTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIGZpZ3VyZSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAzMHB4IDA7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xuICAgICAgYm9yZGVyLXJhZGl1czogNHB4IDRweCAwIDA7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgJl9faXRlbS1oZWFkaW5nIHtcbiAgICBAaW5jbHVkZSBmb250LXNhbnMobWVkaXVtKTtcbiAgICBAaW5jbHVkZSB0by1lbSgxNHB4KTtcbiAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgICBwYWRkaW5nOiAyNXB4IDEwcHg7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG4iLCIudGV4dC10aWxlcyB7XG4gIHBhZGRpbmc6IDYwcHggMDtcblxuICAmX19ncmlkIHtcblxuICB9XG5cbiAgaDIge1xuICAgIEBpbmNsdWRlIHRvLWVtKDI4cHgpO1xuICAgIGNvbG9yOiAkY29sb3ItbmF2eS1ibHVlO1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgICBAaW5jbHVkZSB0by1lbSg0MHB4KTtcbiAgICB9XG4gIH1cblxuICAmX19pdGVtIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itb2ZmLXdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItbGlnaHQtZ3JleS0zO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgcGFkZGluZzogNDJweCAyMHB4IDg0cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIHAge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiA0MnB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgY29sb3I6ICRkYXJrLWdyYXk7XG4gICAgfVxuICB9XG5cbiAgYS50ZXh0LXRpbGVzX19pdGVtIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXM7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJGNvbG9yLW9mZi13aGl0ZSwgMyUpO1xuICAgIH1cbiAgfVxuXG4gICZfX2l0ZW0taGVhZGluZyB7XG4gICAgQGluY2x1ZGUgdG8tZW0oMTZweCk7XG4gICAgY29sb3I6ICRjb2xvci1uYXZ5LWJsdWU7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHdpZHRoOiA5MHB4O1xuICAgICAgaGVpZ2h0OiA4M3B4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgbWFyZ2luOiAwIGF1dG8gNTVweDtcbiAgICB9XG5cbiAgfVxuXG4gIC50ZXh0LXRpbGUge1xuICAgICZfX2N0YSB7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yLW5hdnktYmx1ZTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBjb2xvcjogJGNvbG9yLW5hdnktYmx1ZTtcbiAgICAgIHBhZGRpbmc6IDE1cHggMjVweDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcztcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBmb250LXNpemU6IC45ZW07XG4gICAgICBib3JkZXItcmFkaXVzOiAycHg7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItbmF2eS1ibHVlO1xuICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnRpbWVsaW5lIHtcbiAgLy9iYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvanBnL2hpc3RvcnktYmcuanBnXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICBwYWRkaW5nOiA0NXB4IDA7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgIHBhZGRpbmc6IDYwcHggMDtcbiAgfVxuXG4gICZfX2hlYWRpbmcge1xuICAgIEBpbmNsdWRlIHRvLWVtKDQwcHgpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICB9XG5cbiAgJl9fZW50cmllcyB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6IDk5MHB4O1xuICB9XG5cbiAgJl9fZW50cnkge1xuICAgIHAge1xuICAgICAgQGluY2x1ZGUgdG8tZW0oMTNweCk7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQgZG93bikge1xuICAgICAgcGFkZGluZy1sZWZ0OiAzNSU7XG4gICAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAudGltZWxpbmVfX2VudHJ5LWljb246OmJlZm9yZSwgLm91ci1oaXN0b3J5X190aW1lbGluZS1pY29uOjpiZWZvcmUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGN1c3RvbS10YWJsZXQpIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBjbGVhcjogYm90aDtcblxuICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICRjb2xvci13aGl0ZTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDFweDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMTBweDtcblxuICAgICAgICAudGltZWxpbmVfX2VudHJ5LWhlYWRpbmcsIC5vdXItaGlzdG9yeV9fdGltZWxpbmUtaGVhZGluZyB7XG4gICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIHJpZ2h0OiAtMjEycHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC50aW1lbGluZV9fZW50cnktaWNvbiwgLm91ci1oaXN0b3J5X190aW1lbGluZS1pY29uIHtcbiAgICAgICAgICByaWdodDogLTk1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICRjb2xvci13aGl0ZTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcHg7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMTBweDtcblxuICAgICAgICAudGltZWxpbmVfX2VudHJ5LWhlYWRpbmcsIC5vdXItaGlzdG9yeV9fdGltZWxpbmUtaGVhZGluZyB7XG4gICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGxlZnQ6IC0yMTJweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudGltZWxpbmVfX2VudHJ5LWljb24sIC5vdXItaGlzdG9yeV9fdGltZWxpbmUtaWNvbiB7XG4gICAgICAgICAgbGVmdDogLTk1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gICZfX2VudHJ5LWhlYWRpbmcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaW5jbHVkZSB0by1lbSgyMHB4KTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuXG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGN1c3RvbS10YWJsZXQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiA4NHB4O1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogLTFweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19lbnRyeS1pY29uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDY1cHg7XG4gICAgbWFyZ2luLXRvcDogLTMyLjVweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgd2lkdGg6IDY1cHg7XG5cbiAgICBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0IGRvd24pIHtcbiAgICAgIGxlZnQ6IC0xMDBweDtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMnB4O1xuICAgICAgICBoZWlnaHQ6IDgwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgICAgICB0b3A6IDc1cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0IFwiZmxleGlibGUtY29udGVudC9hY2NvcmRpb25zXCI7XG5AaW1wb3J0IFwiZmxleGlibGUtY29udGVudC9ibG9jay1jYXJvdXNlbFwiO1xuQGltcG9ydCBcImZsZXhpYmxlLWNvbnRlbnQvYnVsbGV0aW4tcG9pbnRzXCI7XG5AaW1wb3J0IFwiZmxleGlibGUtY29udGVudC9jbGllbnQtY2Fyb3VzZWxcIjtcbkBpbXBvcnQgXCJmbGV4aWJsZS1jb250ZW50L2NvbXBhbnktZ3JpZFwiO1xuQGltcG9ydCBcImZsZXhpYmxlLWNvbnRlbnQvbWFzdGhlYWQtaGVyby1iYW5uZXJcIjtcbkBpbXBvcnQgXCJmbGV4aWJsZS1jb250ZW50L29wZW4tdGV4dFwiO1xuXG5AaW1wb3J0IFwiZmxleGlibGUtY29udGVudC9wcm9kdWN0LWNvbXBhcmVcIjtcbkBpbXBvcnQgXCJmbGV4aWJsZS1jb250ZW50L3Byb2R1Y3QtZ3JvdXBzXCI7XG5AaW1wb3J0IFwiZmxleGlibGUtY29udGVudC9wcm9kdWN0LWhpZ2hsaWdodFwiO1xuQGltcG9ydCBcImZsZXhpYmxlLWNvbnRlbnQvcHJvZHVjdC1zcGVjXCI7XG5AaW1wb3J0IFwiZmxleGlibGUtY29udGVudC9wcm9kdWN0LXRpbGVzXCI7XG5cbkBpbXBvcnQgXCJmbGV4aWJsZS1jb250ZW50L3JlbGF0ZWQtcHJvZHVjdHNcIjtcbkBpbXBvcnQgXCJmbGV4aWJsZS1jb250ZW50L3RleHQtdGlsZXNcIjtcbkBpbXBvcnQgXCJmbGV4aWJsZS1jb250ZW50L3RpbWVsaW5lXCI7XG5cbnNlY3Rpb24uZmxleGlibGUtY29udGVudCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0Ly96LWluZGV4OiAxO1xufVxuXG5cblxuXG4iLCIubWFpbi1uYXYge1xuICBsZWZ0OiAwO1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDgwcHg7XG4gIHRyYW5zaXRpb246IGVhc2UgYWxsIDAuNHM7XG4gIHotaW5kZXg6IDk5O1xuXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWShjYWxjKC0xMDAlIC0gODBweCkpO1xuXG4gICYubGFuZy1zd2l0Y2hlci1vcGVuIC5tZW51LWl0ZW0ge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQgZG93bikge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIGJvcmRlci10b3A6IG5vbmU7XG5cbiAgICAgIGEge1xuICAgICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nOiAwcHggMzBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYWN0aXZlTmF2ICYge1xuICAgIC8vbGVmdDogMDtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuXG4gIC8vIG1haW4gbmF2XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoY3VzdG9tLXRhYmxldCkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IGF1dG87XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB1bCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChjdXN0b20tdGFibGV0KSB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgfVxuICB9XG5cbiAgbGkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgJGNvbG9yLW5hdnktYmx1ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIG9wYWNpdHk6IDA7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwcHgpO1xuICAgIHRyYW5zaXRpb246IGFsbCA4MDBtcztcblxuICAgIC5hY3RpdmVOYXYgJiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcbiAgICAgIG9wYWNpdHk6IDE7XG5cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMTAge1xuICAgICAgICAmOm50aC1jaGlsZCgjeyRpfSkge1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDUwMG1zIC0gKCRpICogMTAwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuc2VhcmNoLWxpbmsge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgfVxuXG4gICAgJi5sYW5nLXN3aXRjaGVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGhlaWdodDogMzBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG4gICAgICAvL3BhZGRpbmc6IDAgMjNweDtcbiAgICAgIHdpZHRoOiAyMHB4O1xuXG4gICAgICAmLm1lbnUtaXRlbS1tb2JpbGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcblxuICAgICAgICAmLm9wZW4gLmxhbmctc3dpdGNoZXItbGluazo6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoLTEpO1xuICAgICAgICB9XG5cbiAgICAgICAgYS5sYW5nLXN3aXRjaGVyLWxpbmsge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgcGFkZGluZzogMTVweCAzMHB4IDE1cHggNjBweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc3ZnL0dsb2JlLnN2Z1wiKTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMzBweCBjZW50ZXI7XG5cbiAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcG5nL2JsdWUtc2VsZWN0LWFycm93LWRvd24ucG5nXCIpO1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTNweCBhdXRvO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICB0b3A6IDIwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgd2lkdGg6IDEzcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmxhbmctc3dpdGNoZXItbGlzdCB7XG4gICAgICAgICAgdG9wOiBjYWxjKDEwMCUgKyAycHgpO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmxhbmctbGluayB7XG4gICAgICAgICAgcGFkZGluZzogMTVweCAzMHB4O1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCBkb3duKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgJi5tZW51LWl0ZW0tbW9iaWxlIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuXG5cbiAgICAgIGEubGFuZy1zd2l0Y2hlci1saW5rIHtcbiAgICAgICAgLy8gdGhlIHNlYXJjaCBsb3VwZVxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjBweCBhdXRvO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc3ZnL0dsb2JlLXdoaXRlLnN2Z1wiKTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNXB4O1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNXB4O1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYub3BlbiB7XG4gICAgICAgIGEubGFuZy1zd2l0Y2hlci1saW5rIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc3ZnL0dsb2JlLnN2Z1wiKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5sYW5nLXN3aXRjaGVyLWxpc3Qge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgbWF4LWhlaWdodDogdW5zZXQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYS5sYW5nLWxpbmsge1xuICAgICAgICBjb2xvcjogJGNvbG9yLW5hdnktYmx1ZTtcbiAgICAgICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAzMDBtcztcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgbGVmdDogMTBweDtcbiAgICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbGlnaHRncmF5O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDtcbiAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICBjb2xvcjogI2IyMDkzOTtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZDphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAubGFuZy1zd2l0Y2hlci1saXN0IHtcbiAgICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG4gICAgICAgIHdpZHRoOiAxNzVweDtcbiAgICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBwYWRkaW5nOiAwcHg7XG4gICAgICAgIHRvcDogMzBweDtcbiAgICAgICAgbGVmdDogLTEyMnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IC01cHggNXB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgICAgICAtbW96LWJveC1zaGFkb3c6IC01cHggNXB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgICAgICBib3gtc2hhZG93OiAtNXB4IDVweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm9yby1hY2NvdW50LFxuICAgICYub3JvLWNhcnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG5cbiAgICAgIGEge1xuICAgICAgICBwYWRkaW5nLXRvcDogM3B4O1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgaSB7XG4gICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLm1lbnUtaXRlbS1tb2JpbGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0IGRvd24pIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAmLm1lbnUtaXRlbS1tb2JpbGUge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICAmLm9yby1jYXJ0IHtcbiAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xMHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvci13aGl0ZSwgMC40KTtcbiAgICAgIH1cblxuICAgIH1cblxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChjdXN0b20tdGFibGV0KSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2l0aW9uOiAwLjNzIGFsbDtcblxuICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG5cbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgJi5zZWFyY2gtbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICB9XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cblxuICAgICAgJi5zZWFyY2gtbGluayB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLTEwcHg7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAvL2JhY2tncm91bmQtc2l6ZTogMTZweCBhdXRvO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIC8vaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgIHdpZHRoOiA3NnB4O1xuXG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlMikge1xuICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICBjb2xvcjogJGNvbG9yLW5hdnktYmx1ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogMTVweCAzMHB4O1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGN1c3RvbS10YWJsZXQpIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG4gICAgICAgIG1heC1oZWlnaHQ6IDYwcHg7XG4gICAgICAgIEBpbmNsdWRlIHRvLWVtKDE1cHgpO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm5vdCguc2VhcmNoLWxpbmspIHtcbiAgICAgIGEge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAtMTBweDtcbiAgICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDApO1xuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyMDBtcztcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KGN1c3RvbS10YWJsZXQpIHtcbiAgICAubWFzdGhlYWQtLWJnICYge1xuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICB9XG5cbiAgICAgIGxpLnNlYXJjaC1saW5rIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy93aGl0ZS1sb3VwZS1pY29uLnN2Z1wiKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3Itd2hpdGUsIDAuNCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWFzdGhlYWQtLXNtYWxsICYge1xuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tYXN0aGVhZC0tbm9iZyAmLFxuICAgIC5tYXN0aGVhZC0tc21hbGwgJixcbiAgICAubWFzdGhlYWQtLXNpbXBsZSAmLFxuICAgIC5tYXN0aGVhZC0tYmxvZyAmLFxuICAgIC5tYXN0aGVhZC0tc3VwcG9ydCAmIHtcbiAgICAgIGxpLnNlYXJjaC1saW5rIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvci1kYXJrLWdyZXktMSwgMC40KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvZ3JleS1sb3VwZS1pY29uLnN2Z1wiKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBsaS5sYW5nLXN3aXRjaGVyIHtcbiAgICAgICAgPiBhIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc3ZnL0dsb2JlLnN2Z1wiKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYub3BlbiA+IGEge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvR2xvYmUtbmF2eS5zdmdcIik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgbGkub3JvLWNhcnQge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLWRhcmstZ3JleS0xLCAwLjQpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogJGNvbG9yLWRhcmstZ3JleS0xO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItZGFyay1ncmV5LTEgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0IGRvd24pIHtcbiAgLmFjdGl2ZU5hdiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuICB9XG59XG5cbiNtb2JpbGUtc2VhcmNoIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZDogMCAwO1xuICBib3JkZXI6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgaGVpZ2h0OiA1MHB4O1xuICBvdXRsaW5lOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zaXRpb246IGVhc2UgYWxsIDAuNDVzO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogNTBweDtcbiAgei1pbmRleDogODA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvd3AtY29udGVudC90aGVtZXMvaG9wZWluZF9mb3VuZGF0aW9uL2Rpc3QvYXNzZXRzL2ltYWdlcy9zdmcvd2hpdGUtbG91cGUtaWNvbi5zdmcpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIHdpZHRoOiA1MHB4O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGhlaWdodDogMjBweDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbi5tYXN0aGVhZC0tbm9iZyxcbi5tYXN0aGVhZC0tc2ltcGxlLFxuLm1hc3RoZWFkLS1zbWFsbCxcbi5tYXN0aGVhZC0tc3VwcG9ydCB7XG4gICNtb2JpbGUtc2VhcmNoIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL3dwLWNvbnRlbnQvdGhlbWVzL2hvcGVpbmRfZm91bmRhdGlvbi9kaXN0L2Fzc2V0cy9pbWFnZXMvc3ZnL2dyZXktbG91cGUtaWNvbi5zdmcpO1xuICB9XG59XG5cbiNtYWlsdG8tY29weSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3V0bGluZTogMDtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xufVxuIiwiI2J1cmdlciB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQ6IDAgMDtcbiAgYm9yZGVyOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiA1MHB4O1xuICBvdXRsaW5lOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zaXRpb246IGVhc2UgYWxsIDQ1MG1zO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogNTBweDtcbiAgei1pbmRleDogODA7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChjdXN0b20tdGFibGV0KSB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICB9XG5cbiAgLmJhcixcbiAgLmJhcnMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gIC5iYXJzIHtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtMTBweDtcbiAgICBtYXJnaW4tdG9wOiAtOXB4O1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNHM7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgfVxuXG4gIC5iYXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC40cywgbWFyZ2luIC40cywgb3BhY2l0eSAuNHMsIGJhY2tncm91bmQgLjNzO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLm1hc3RoZWFkLS1ub2JnICYsXG4gICAgLm1hc3RoZWFkLS1zbWFsbCAmLFxuICAgIC5tYXN0aGVhZC0tc2ltcGxlICYge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmstZ3JheTtcbiAgICB9XG4gIH1cblxuICAuYmFyMiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDdweCk7XG4gIH1cblxuICAuYmFyMyB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE0cHgpO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIC5iYXIge1xuICAgICAgLy9iYWNrZ3JvdW5kOiAjYjIwOTM5O1xuICAgIH1cbiAgfVxuXG4gIC5hY3RpdmVOYXYgJiB7XG4gICAgLmJhcnMge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDdweCk7XG4gICAgfVxuXG4gICAgLmJhcjEge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIH1cblxuICAgIC5iYXIyIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgLmJhcjMge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICB9XG4gIH1cbn1cbiIsIi5zaXRlcy1idXR0b24ge1xuICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgYm94LXNoYWRvdzogMCAtMnB4IDAgcmdiYSgwLDAsMCwwLjIpIGluc2V0O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJvcmRlcjogbm9uZTtcbn1cbiIsIi5jYXJkcy1jb250YWluZXIge1xuXG4gIEBpbmNsdWRlIHh5LWdyaWQ7XG5cbiAgLmNhcmQge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMTIpO1xuXG4gICAgICAuY2FyZC1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgIH1cblxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKDEgb2YgMywgdHJ1ZSwgMC43cmVtICk7XG5cbiAgICB9XG5cbiAgfVxufVxuIiwiLmZlYXR1cmVkLWhlcm8ge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGhlaWdodDogcmVtLWNhbGMoMTAwKTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIGhlaWdodDogcmVtLWNhbGMoMjAwKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgaGVpZ2h0OiByZW0tY2FsYyg0MDApO1xuICB9XG59XG5cbiIsIi5kb3R0ZWQge1xuICBib3JkZXItc3R5bGU6IGRhc2hlZDtcbiAgbWFyZ2luOiAycmVtIDA7XG59XG5cbiIsIi8vIEFwcGx5IG91dGxpbmUgc3R5bGVzIG9ubHkgd2hlbiBpbnB1dCBtZXRob2QgaXMga2V5Ym9hcmRcbi8vIHJlbW92ZSA6Zm9jdXMgc3R5bGUgdmlhIFdoYXQgSW5wdXQgdXNpbmcgcHJvZ3Jlc3NpdmUgZW5oYW5jZW1lbnRcbi8vIHNvIDpmb2N1cyBpc24ndCBsZWZ0IGJyb2tlbiBpZiBKYXZhU2NyaXB0IGZhaWxzXG5cbltkYXRhLXdoYXRpbnB1dD1cIm1vdXNlXCJdIGE6Zm9jdXMsIGJ1dHRvbjpmb2N1c1xuW2RhdGEtd2hhdGlucHV0PVwidG91Y2hcIl0gYTpmb2N1cywgYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cbiIsIi5wcm9kdWN0LXN0b3J5IHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgIG1hcmdpbi10b3A6IC0yMDBweDtcbiAgfVxuXG4gIC5jb250YWluZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgcGFkZGluZzogMjBweDtcbiAgICB9XG4gIH1cblxuICAuZ3JpZC14IHtcbiAgICBtYXJnaW46IDAgLTEwcHg7XG4gIH1cblxuICAmX19pdGVtIHtcbiAgICBAaW5jbHVkZSB0by1lbSgxNHB4KTtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICAgIC8vcGFkZGluZy1sZWZ0OiAyMnB4O1xuICAgICAgcGFkZGluZzogMCAxMHB4O1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2ltYWdlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICBwIHtcbiAgICBtYXJnaW46IDE1cHggOHB4O1xuICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICAgIEBpbmNsdWRlIHRvLWVtKDE0cHgpO1xuICB9XG59XG4iLCIuYnJlYWRjcnVtYnMge1xuICAmLS1wYWdlIHtcbiAgICBwYWRkaW5nOiAzMHB4IDAgMDtcbiAgfVxuXG4gICYtLXByb2R1Y3RzIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICAgIHBhZGRpbmc6IDIwcHggMCAzMHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX25hdiB7XG4gICAgdWwge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgLy8gVGhpcyBpcyBzbyBsb25nIHRpdGxlcyB3aWxsIHdyYXAgcHJvcGVybHkgaW4gdGhlIGJyZWFkY3J1bWIuXG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgQGluY2x1ZGUgdG8tZW0oMTJweCk7XG4gICAgICBAaW5jbHVkZSBmb250LXNhbnMoYm9sZCk7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiL1wiO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xuICAgICAgfVxuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBjb2xvcjogJGNvbG9yLW5hdnktYmx1ZTtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIEluZGl2aWR1YWwgYnJlYWRjcnVtYnMgc2hvdWxkbid0IGludGVybmFsbHkgd3JhcC5cbiAgICB9XG4gIH1cblxuICAmX19oZWFkaW5nIHtcbiAgICBAaW5jbHVkZSB0by1lbSg0MHB4KTtcbiAgICBjb2xvcjogJGNvbG9yLW5hdnktYmx1ZTtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICB9XG59XG4iLCIuYy1hY2NvcmRpb24ge1xuXG4gICZfX2hlYWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cbiAgfVxuXG4gICZfX25hdiB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgbGkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fZXhwYW5kIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAzNXB4O1xuICAgIHJpZ2h0OiAwO1xuICAgIEBpbmNsdWRlIHRvLWVtKDEycHgpO1xuICAgIGNvbG9yOiAkY29sb3ItbmF2eS1ibHVlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIC8vbWFyZ2luLXRvcDogMjBweDtcblxuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgfVxuXG4gICZfX2J0biB7XG4gICAgcGFkZGluZzogMTBweCA0MnB4O1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgICAmLmJ0bl9faW52ZXJ0IHtcbiAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2NvbnRlbnQge1xuICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgLy9kaXNwbGF5OiBub25lO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogZWFzZSBhbGwgMC4zcztcbiAgICBwYWRkaW5nOiAyMHB4IDQwcHggMCA1JTtcbiAgICAvL3BhZGRpbmc6IDBweCA0MHB4IDAgNSU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgICBwYWRkaW5nOiAyMHB4IDAgMCAwO1xuICAgICAgLy9wYWRkaW5nOiAwcHggMCAwIDA7XG4gICAgICAvL21hcmdpbi1sZWZ0OiAxNSU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDQwcHg7XG4gICAgICAvL3Bvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIC8vdG9wOiAtMjBweDtcbiAgICB9XG5cbiAgICAmLS10YWJsZSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgICYtLXNsaW0ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2l0ZW0taGVhZGluZyB7XG4gICAgQGluY2x1ZGUgZm9udC1zYW5zKGJvbGQpO1xuICAgIEBpbmNsdWRlIHRvLWVtKDE2cHgpO1xuICAgIGNvbG9yOiAkY29sb3ItbmF2eS1ibHVlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAvL3Bvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgZmxleDogMSAwIDE1JTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc3ZnL2ZhcS1zaG93LWljb24uc3ZnXCIpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIG1hcmdpbi10b3A6IC04cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgfVxuXG4gICAgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAvL3dpZHRoOiAxNSU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIH1cblxuICB9XG5cblxuXG4gICZfX2l0ZW0ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsMCwwLC4yKTtcbiAgICBwYWRkaW5nOiAyNXB4IDA7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgLy9wYWRkaW5nLXRvcDogMDtcbiAgICB9XG5cbiAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxM3B4KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgdWwsIG9sIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTNweCk7XG4gICAgfVxuXG4gICAgJi0tYWN0aXZlIHtcbiAgICAgID4gLmMtYWNjb3JkaW9uX19pdGVtLWhlYWRpbmc6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvZmFxLWhpZGUtaWNvbi5zdmdcIik7XG4gICAgICAgIHRvcDogMzVweDtcbiAgICAgIH1cblxuICAgICAgPiAuYy1hY2NvcmRpb25fX2NvbnRlbnQge1xuICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAvL3BhZGRpbmctYm90dG9tOiAyNnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNlY29uZCBsZXZlbCBuZXN0ZWRcbiAgICAuYy1hY2NvcmRpb25fX2l0ZW0gLmMtYWNjb3JkaW9uX19pdGVtLWhlYWRpbmcge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNHB4KTtcbiAgICB9XG5cbiAgfVxufVxuXG4udGFicyB7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cbiAgJi10aXRsZSB7XG4gICAgdHJhbnNpdGlvbjogZWFzZSBhbGwgMC4zcztcbiAgICBwYWRkaW5nLXJpZ2h0OiAwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9zdmcvZGRsLWFjY2VudC13aGl0ZS5zdmdcIikgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICB3aWR0aDogMTVweDtcbiAgICAgIGhlaWdodDogMTVweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgdG9wOiBjYWxjKDUwJSAtIDVweCk7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNHB4KTtcbiAgICAgIHBhZGRpbmc6IDE1cHggMjVweDtcbiAgICAgIGNvbG9yOiAkY29sb3ItbmF2eS1ibHVlO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvci1uYXZ5LWJsdWUsIC4xKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2shaW1wb3J0YW50O1xuXG4gICAgICBhLCBhOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW5hdnktYmx1ZTtcbiAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KXtcbiAgICAgIGRpc3BsYXk6IGJsb2NrIWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIGEge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1jb250ZW50IHtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICRkYXJrLWdyYXk7XG4gIH1cblxuICAmLXBhbmVsIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgLy9wYWRkaW5nLXRvcDogMjVweDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLDAsMCwuMik7XG5cbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogLjllbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjg7XG4gICAgfVxuXG4gICAgdGFibGUge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB9XG5cbiAgICAmOm5vdCguYy1hY2NvcmRpb24pIHtcbiAgICAgIHBhZGRpbmctdG9wOiAyNXB4O1xuXG4gICAgICBoMiB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItYnJpbGxpYW50LXJlZDtcbiAgICAgICAgbWFyZ2luOiAuODVlbSAwO1xuICAgICAgICBmb250LXNpemU6IDEuNWVtO1xuICAgICAgfVxuXG4gICAgICBoMyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItYnJpbGxpYW50LXJlZDtcbiAgICAgICAgbWFyZ2luOiAuODVlbSAwO1xuICAgICAgICBmb250LXNpemU6IDEuMjVlbTtcbiAgICAgIH1cblxuICAgICAgaDQge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgY29sb3I6ICRkYXJrLWdyYXk7XG4gICAgICAgIG1hcmdpbjogLjVlbSAwO1xuICAgICAgICBmb250LXNpemU6IDEuMGVtO1xuICAgICAgfVxuXG4gICAgICBoNSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgZm9udC1zaXplOiAuOWVtO1xuICAgICAgfVxuXG4gICAgICA+ICoge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwIWltcG9ydGFudDtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMCFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuIiwiXG4uY29udGFjdC1mb3JtIHtcbiAgLyomX19jb2wge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgJi0tcm93IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuXG4gICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuXG4gICAgfVxuXG4gICAgJi0tZnVsbCB7XG4gICAgICB0ZXh0YXJlYSxcbiAgICAgIGlucHV0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9Ki9cblxuICAuY3VzdG9tLXNlbGVjdCxcbiAgJl9fdGV4dGFyZWEsXG4gICZfX2lucHV0IHtcbiAgICBAaW5jbHVkZSB0by1lbSgxOHB4KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItYm9yZGVyLWdyZXk7XG4gICAgcGFkZGluZzogMjBweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICAgICYtLWZ1bGwge1xuICAgICAgICBmbGV4LWdyb3c6IDI7XG4gICAgICB9XG5cbiAgICAgICYtLWhhbGYge1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICB9XG5cbiAgICAgICYtLXRoaXJkIHtcbiAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX190ZXh0YXJlYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxOTVweDtcbiAgfVxuXG4gIC5jdXN0b20tc2VsZWN0IHtcbiAgICBzZWxlY3Qge1xuICAgICAgY29sb3I6ICR0ZXh0O1xuICAgIH1cbiAgfVxuXG4gIC5idG4ge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgICAgd2lkdGg6IDE0NXB4O1xuICAgIH1cbiAgfVxufVxuIiwiI2NvbmZpZ3VyZS1jb250YWluZXIge1xuICAgIC8vei1pbmRleDogMTAwOyAvLyBGdWxsIHNjcmVlbiB3aWxsIG92ZXJsYXAgdGhlIHRvcCBuYXYsIGFzIGRlc2lyZWQuXG4gICAgLy8gT3RoZXIgb3B0aW9uIGlzIHRvIHBvc2l0aW9uIHRoZSB0b3AgYm9yZGVyIG9mIHRoZSBmdWxsIHNjcmVlbiBiZWxvdyB0aGUgbmF2LlxuXG4gICAgLmNvbmZpZ3VyZS1jb250YWluZXItd3JhcC5mdWxsLXNjcmVlbi1vbiAuY29uZmlndXJlLXByb2R1Y3QtZGlzcGxheSB7XG4gICAgICAgIHRvcDogNjVweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHBob25lLXNtYWxsKSB7XG4gICAgICAgICAgICB0b3A6IDY1cHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChwaG9uZS1tZWRpdW0pIHtcbiAgICAgICAgICAgIHRvcDogNzVweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHBob25lLWhvcml6LXRpbnkpIHtcbiAgICAgICAgICAgIHRvcDogNzVweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgdG9wOiA3NXB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICAgICAgICAgIHRvcDogNzVweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGN1c3RvbS10YWJsZXQpIHtcbiAgICAgICAgICAgIHRvcDogNzVweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICB0b3A6IDEwMHB4O1xuICAgICAgICB9XG4gICAgfVxufSIsIi8qIENvbnRhaW5lciB1c2VkIGZvciBzdHlsaW5nIHRoZSBjdXN0b20gc2VsZWN0LCB0aGUgYnV0dG9tIGNsYXNzIGJlbG93IGFkZHMgdGhlIGJnIGdyYWRpZW50LCBjb3JuZXJzLCBldGMuICovXG5cbi5jdXN0b20tc2VsZWN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMC41ZW07XG4gIHBhZGRpbmc6IDA7XG5cbiAgc2VsZWN0IHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgLy8gcGFkZGluZzogLjZlbSAxLjllbSAuNWVtIC44ZW07XG4gICAgLy8gbGluZS1oZWlnaHQ6MS4zO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogIzIyMjtcbiAgICB9XG4gIH1cbiAgLyogQ3VzdG9tIGFycm93IHNpdHMgb24gdG9wIG9mIHRoZSBzZWxlY3QgLSBjb3VsZCBiZSBhbiBpbWFnZSwgU1ZHLCBpY29uIGZvbnQsIGV0Yy4gb3IgdGhlIGFycm93IGNvdWxkIGp1c3QgYmFrZWQgaW50byB0aGUgYmcgaW1hZ2Ugb24gdGhlIHNlbGVjdC4gTm90ZSB0aGlzIHNpIGEgMnggaW1hZ2Ugc28gaXQgd2lsbCBsb29rIGJhZCBpbiBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgYmFja2dyb3VuZC1zaXplLiBJbiBwcm9kdWN0aW9uLCB5b3UnZCBoYW5kbGUgdGhpcyByZXNvbHV0aW9uIHN3aXRjaCB2aWEgbWVkaWEgcXVlcnkgYnV0IHRoaXMgaXMgYSBkZW1vLiAqL1xuICAmOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDlweDtcbiAgICBoZWlnaHQ6IDhweDtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMWVtO1xuICAgIG1hcmdpbi10b3A6IC00cHg7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgei1pbmRleDogMjtcbiAgICAvKiBUaGlzIGhhY2sgbWFrZSB0aGUgc2VsZWN0IGJlaGluZCB0aGUgYXJyb3cgY2xpY2thYmxlIGluIHNvbWUgYnJvd3NlcnMgKi9cbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4ODg7XG4gIH1cblxuICBvcHRpb24ge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAqL1xuXG5cbi8qIFNUQVJUIE9GIFVHTFkgQlJPV1NFUi1TUEVDSUZJQyBIQUNLUyAqL1xuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gICovXG5cblxuLyogT1BFUkEgLSBQcmUtQmxpbmsgbml4IHRoZSBjdXN0b20gYXJyb3csIGdvIHdpdGggYSBuYXRpdmUgc2VsZWN0IGJ1dHRvbiB0byBrZWVwIGl0IHNpbXBsZS4gVGFyZ2V0ZWQgdmlhIHRoaXMgaGFjayBodHRwOi8vYnJvd3NlcmhhY2tzLmNvbS8jaGFjay1hM2YxNjYzMDRhYWZlZDUyNDU2NmJjNjgxNGUxZDVjNyAqL1xuXG54Oi1vLXByZWZvY3VzLFxuLmN1c3RvbS1zZWxlY3Q6OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuXG4vKiBJRSAxMC8xMSsgLSBUaGlzIGhpZGVzIG5hdGl2ZSBkcm9wZG93biBidXR0b24gYXJyb3cgc28gaXQgd2lsbCBoYXZlIHRoZSBjdXN0b20gYXBwZWFyYW5jZSwgSUUgOSBhbmQgZWFybGllciBnZXQgYSBuYXRpdmUgc2VsZWN0IC0gdGFyZ2V0aW5nIG1lZGlhIHF1ZXJ5IGhhY2sgdmlhIGh0dHA6Ly9icm93c2VyaGFja3MuY29tLyNoYWNrLTI4ZjQ5M2QyNDdhMTJhYjY1NGY2YzM2MzdmNjk3OGQ1IC0gbG9va2luZyBmb3IgYmV0dGVyIHdheXMgdG8gYWNoaWV2ZSB0aGlzIHRhcmdldGluZyAqL1xuXG5cbi8qIFRoZSBzZWNvbmQgcnVsZSByZW1vdmVzIHRoZSBvZGQgYmx1ZSBiZyBjb2xvciBiZWhpbmQgdGhlIHRleHQgaW4gdGhlIHNlbGVjdCBidXR0b24gaW4gSUUgMTAvMTEgYW5kIHNldHMgdGhlIHRleHQgY29sb3IgdG8gbWF0Y2ggdGhlIGZvY3VzIHN0eWxlJ3MgLSBmaXggdmlhIGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMTc1NTMzMDAvY2hhbmdlLWllLWJhY2tncm91bmQtY29sb3Itb24tdW5vcGVuZWQtZm9jdXNlZC1zZWxlY3QtYm94ICovXG5cbkBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSxcbigtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAuY3VzdG9tLXNlbGVjdCBzZWxlY3Q6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmN1c3RvbS1zZWxlY3Qgc2VsZWN0OmZvY3VzOjotbXMtdmFsdWUge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjMjIyO1xuICB9XG59XG5cblxuLyogRklSRUZPWCB3b24ndCBsZXQgdXMgaGlkZSB0aGUgbmF0aXZlIHNlbGVjdCBhcnJvdywgc28gd2UgaGF2ZSB0byBtYWtlIGl0IHdpZGVyIHRoYW4gbmVlZGVkIGFuZCBjbGlwIGl0IHZpYSBvdmVyZmxvdyBvbiB0aGUgcGFyZW50IGNvbnRhaW5lci4gVGhlIHBlcmNlbnRhZ2Ugd2lkdGggaXMgYSBmYWxsYmFjayBzaW5jZSBGRiA0KyBzdXBwb3J0cyBjYWxjKCkgc28gd2UgY2FuIGp1c3QgYWRkIGEgZml4ZWQgYW1vdW50IG9mIGV4dHJhIHdpZHRoIHRvIHB1c2ggdGhlIG5hdGl2ZSBhcnJvdyBvdXQgb2Ygdmlldy4gV2UncmUgYXBwbHlpbmcgdGhpcyBoYWNrIGFjcm9zcyBhbGwgRkYgdmVyc2lvbnMgYmVjYXVzZSBhbGwgdGhlIHByZXZpb3VzIGhhY2tzIHdlcmUgdG9vIGZyYWdpbGUgYW5kIGNvbXBsZXguIFlvdSBtaWdodCB3YW50IHRvIGNvbnNpZGVyIG5vdCB1c2luZyB0aGlzIGhhY2sgYW5kIHVzaW5nIHRoZSBuYXRpdmUgc2VsZWN0IGFycm93IGluIEZGLiBOb3RlIHRoaXMgbWFrZXMgdGhlIG1lbnVzIHdpZGVyIHRoYW4gdGhlIHNlbGVjdCBidXR0b24gYmVjYXVzZSB0aGV5IGRpc3BsYXkgYXQgdGhlIHNwZWNpZmllZCB3aWR0aCBhbmQgYXJlbid0IGNsaXBwZWQuIFRhcmdldGluZyBoYWNrIHZpYSBodHRwOi8vYnJvd3NlcmhhY2tzLmNvbS8jaGFjay03NThiZmY4MWM1YzMyMzUxYjAyZTEwNDgwYjVlZDQ4ZSAqL1xuXG5cbi8qIFNob3cgb25seSB0aGUgbmF0aXZlIGFycm93ICovXG5cbkAtbW96LWRvY3VtZW50IHVybC1wcmVmaXgoKSB7XG4gIC5jdXN0b20tc2VsZWN0IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHNlbGVjdCB7XG4gICAgICB3aWR0aDogMTIwJTtcbiAgICAgIHdpZHRoOiAtbW96LWNhbGMoMTAwJSArIDNlbSk7XG4gICAgICB3aWR0aDogY2FsYygxMDAlICsgZW0pO1xuICAgIH1cbiAgfVxufVxuXG5cbi8qIEZpcmVmb3ggZm9jdXMgaGFzIG9kZCBhcnRpZmFjdHMgYXJvdW5kIHRoZSB0ZXh0LCB0aGlzIGtpbGxzIHRoYXQuIFNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1MvOi1tb3otZm9jdXNyaW5nICovXG5cbi5jdXN0b20tc2VsZWN0IHNlbGVjdDotbW96LWZvY3VzcmluZyB7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdGV4dC1zaGFkb3c6IDAgMCAwICMwMDA7XG59IiwiYm9keS5wYWdlLXRlbXBsYXRlIGRpdi5nZm9ybV93cmFwcGVyIHtcblx0bWFyZ2luLXRvcDogMDtcblxuXHQudG9wX2xhYmVsIGRpdi5naW5wdXRfY29udGFpbmVyIHtcblx0XHRtYXJnaW4tdG9wOiAwO1xuXHR9XG5cblx0dWwuZ2Zvcm1fZmllbGRzIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cblx0XHRsaS5nZmllbGQge1xuXHRcdFx0ZmxleC1iYXNpczogMTAwJTtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0XHRjbGVhcjogbm9uZTtcblx0XHRcdHBhZGRpbmctdG9wOiAwO1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdFx0XHRtYXgtd2lkdGg6IHVuc2V0ICFpbXBvcnRhbnQ7XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcblx0XHRcdFx0Ji5oYWxmIHtcblx0XHRcdFx0XHRmbGV4LWJhc2lzOiBjYWxjKDUwJSAtIDEwcHgpO1xuXHRcdFx0XHR9XG5cdFxuXHRcdFx0XHQmLnRoaXJkIHtcblx0XHRcdFx0XHRmbGV4LWJhc2lzOiBjYWxjKDMzLjMzJSAtIDEwcHgpO1xuXHRcdFx0XHR9XG5cdFxuXHRcdFx0XHQmLnR3by10aGlyZCB7XG5cdFx0XHRcdFx0ZmxleC1iYXNpczogY2FsYyg2Ni42NiUgLSAxMHB4KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cblx0XHRcdC8vIERlZmF1bHQgaW5wdXQgc3R5bGVcblx0XHRcdGlucHV0LHNlbGVjdCx0ZXh0YXJlYSB7XG5cdFx0XHRcdHBhZGRpbmc6IDIwcHggMjVweDtcblx0XHRcdFx0bWluLWhlaWdodDogNjBweDtcblx0XHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMTZweDtcblx0XHRcdFx0d2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgIzY2NjtcblxuXHRcdFx0XHQmOnBsYWNlaG9sZGVyIHtcblx0XHRcdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDE2cHg7XG5cdFx0XHRcdFx0Y29sb3I6ICRkYXJrLWdyYXk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0LmdpbnB1dF9jb250YWluZXJfc2VsZWN0IHtcblx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgIzY2Njtcblx0XHRcdFx0c2VsZWN0IHtcblx0XHRcdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRcdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDI1cHgpICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0Y29sb3I6ICM3NTc1NzU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXG5cblx0XHRcdGlucHV0Om5vdChbdHlwZT0ncmFkaW8nXSk6bm90KFt0eXBlPSdjaGVja2JveCddKTpub3QoW3R5cGU9J3N1Ym1pdCddKTpub3QoW3R5cGU9J2J1dHRvbiddKTpub3QoW3R5cGU9J2ltYWdlJ10pOm5vdChbdHlwZT0nZmlsZSddKSB7XG5cdFx0XHRcdHBhZGRpbmc6IDIwcHggMjVweDtcblx0XHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMTZweDtcblx0XHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHRcdH1cblxuXHRcdFx0Ji5nZmllbGRfZXJyb3Ige1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdFx0XHRib3JkZXItdG9wOiBub25lO1xuXHRcdFx0XHRib3JkZXItYm90dG9tOiBub25lO1xuXG5cdFx0XHRcdGRpdi5naW5wdXRfY29udGFpbmVyIHtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAwcHg7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRkaXYuZ2lucHV0X2NvbnRhaW5lcl9zZWxlY3Qge1xuXHRcdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICM3OTAwMDA7IFxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Lmdmb3JtX2Zvb3RlciBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcblx0XHRiYWNrZ3JvdW5kOiAkY29sb3ItYnJpbGxpYW50LXJlZDtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG5cdFx0QGluY2x1ZGUgdG8tZW0oMTVweCk7XG5cdFx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRcdGNvbG9yOiAkY29sb3Itd2hpdGU7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdHBhZGRpbmc6IDEycHggMjVweDtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0dHJhbnNpdGlvbjogYWxsIDIwMG1zO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHotaW5kZXg6IDE7XG5cdFx0bWFyZ2luLWJvdHRvbTogMHB4O1xuXG5cdFx0JjphZnRlciB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHR6LWluZGV4OiAtMTtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMDtcblx0XHRcdGJvdHRvbTogMDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRyaWdodDogMDtcblx0XHRcdGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgI2M1NDY2YSAwJSwgI2IyMDkzOSAxMDAlKTtcblx0XHRcdGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgI2M1NDY2YSAwJSwgI2IyMDkzOSAxMDAlKTtcblx0XHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNjNTQ2NmEgMCUsICNiMjA5MzkgMTAwJSk7XG5cdFx0XHRmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRzdGFydENvbG9yc3RyPVwiI2M1NDY2YVwiLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGVuZENvbG9yc3RyPVwiI2IyMDkzOVwiLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdEdyYWRpZW50VHlwZT0wXG5cdFx0XHQpO1xuXG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0dHJhbnNpdGlvbjogYWxsIDIwMG1zO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHQvL2JhY2tncm91bmQ6ICRjb2xvci1icmlsbGlhbnQtcmVkO1xuXHRcdFx0XHRjb2xvcjogJGNvbG9yLXdoaXRlO1xuXG5cdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0fVxuXG5cdFxuXHQmLmdmb3JtX3ZhbGlkYXRpb25fZXJyb3IgLmdmb3JtX2JvZHkgdWwgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvcjpub3QoLmdmX2xlZnRfaGFsZik6bm90KC5nZl9yaWdodF9oYWxmKSB7XG5cdFx0bWF4LXdpZHRoOiB1bnNldCAhaW1wb3J0YW50O1xuXHR9XG5cblxuXHQudmFsaWRhdGlvbl9lcnJvciB7XG5cdFx0Y29sb3I6ICNmZmY7XG5cdFx0bGluZS1oZWlnaHQ6IDEuNTtcblx0XHR0ZXh0LXNoYWRvdzogbm9uZTtcblx0XHRiYWNrZ3JvdW5kOiAjZDk0ZjRmO1xuXHRcdGJvcmRlci1jb2xvcjogI2M5MmMyYztcblx0XHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRcdG1hcmdpbjogNXB4IDAgNXB4O1xuXHRcdHBhZGRpbmc6IDNweCAxMnB4O1xuXHR9XG5cblx0LnZhbGlkYXRpb25fbWVzc2FnZSB7XG5cdFx0cGFkZGluZy10b3A6IDhweCAhaW1wb3J0YW50O1xuXHR9XG59XG5cblxuXG5cblxuXG5cbi5nbG9iYWwtZm9ybSB7XG5cdCZfX2NvbCB7XG5cdFx0bWFyZ2luLXRvcDogMjBweDtcblxuXHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHR9XG5cblx0XHQmLS1yb3cge1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG5cdFx0XHRcdGlucHV0IHtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAyMHB4O1xuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0XHRcdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cblx0XHRcdFx0aW5wdXQge1xuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAyMHB4O1xuXG5cdFx0XHRcdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLS1mdWxsIHtcblx0XHRcdHRleHRhcmVhLFxuXHRcdFx0aW5wdXQge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLS1yYWRpbyB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdH1cblx0fVxuXG5cdCZfX2xhYmVsIHtcblx0XHRAaW5jbHVkZSB0by1lbSgxMnB4KTtcblx0fVxuXG5cdC5jdXN0b20tc2VsZWN0LFxuXHQmX190ZXh0YXJlYSxcblx0Jl9faW5wdXQge1xuXHRcdEBpbmNsdWRlIHRvLWVtKDE4cHgpO1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItZ3JleTtcblx0XHRwYWRkaW5nOiAyMHB4O1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuXHRcdFx0Ji0tZnVsbCB7XG5cdFx0XHRcdGZsZXgtZ3JvdzogMjtcblx0XHRcdH1cblxuXHRcdFx0Ji0taGFsZiB7XG5cdFx0XHRcdGZsZXgtZ3JvdzogMTtcblx0XHRcdH1cblxuXHRcdFx0Ji0tdGhpcmQge1xuXHRcdFx0XHR3aWR0aDogNDAlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCZfX3RleHRhcmVhIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRoZWlnaHQ6IDE5NXB4O1xuXHR9XG5cblx0LmN1c3RvbS1zZWxlY3Qge1xuXHRcdG1hcmdpbi10b3A6IDA7XG5cblx0XHRzZWxlY3Qge1xuXHRcdFx0Y29sb3I6ICR0ZXh0O1xuXHRcdH1cblx0fVxuXG5cdCZfX2NvbC1pbnB1dCB7XG5cdFx0bWFyZ2luLXRvcDogMTBweDtcblxuXHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG5cdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdH1cblx0fVxuXG5cdCZfX3JhZGlvLWxhYmVsIHtcblx0XHRib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItbGlnaHQtZ3JleS00O1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cblx0Jl9fcmFkaW8taXRlbSB7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdG1hcmdpbi1sZWZ0OiAyMHB4O1xuXHRcdG1hcmdpbi10b3A6IDIwcHg7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdHdpZHRoOiA4MHB4O1xuXG5cdFx0aW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRoZWlnaHQ6IDE2cHg7XG5cdFx0XHR3aWR0aDogMTZweDtcblx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0fVxuXG5cdFx0JjpudGgtb2YtdHlwZSg0biArIDEpIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdH1cblxuXHRcdHNwYW4ge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0fVxuXG5cdFx0Ji0tdG9wIHtcblx0XHRcdEBpbmNsdWRlIGZvbnQtc2Fucyhib2xkKTtcblx0XHRcdHBhZGRpbmc6IDVweCAwO1xuXHRcdH1cblxuXHRcdCYtLWJvdHRvbSB7XG5cdFx0XHRAaW5jbHVkZSB0by1lbSgxM3B4KTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLWJsYWNrLCAwLjEpO1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJGNvbG9yLXdoaXRlO1xuXHRcdFx0cGFkZGluZzogM3B4IDA7XG5cdFx0fVxuXG5cdFx0aW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyBsYWJlbCB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbmF2eS1ibHVlO1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAkY29sb3ItbmF2eS1ibHVlO1xuXHRcdFx0Y29sb3I6ICRjb2xvci13aGl0ZTtcblxuXHRcdFx0Lmdsb2JhbC1mb3JtX19yYWRpby1pdGVtLS1ib3R0b20ge1xuXHRcdFx0XHRib3JkZXItY29sb3I6ICRjb2xvci1uYXZ5LWJsdWU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCJib2R5LnBhZ2UtdGVtcGxhdGUgZGl2Lmdmb3JtX3dyYXBwZXIgZm9ybS5jb25maWctZm9ybSB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkICB7XG4gLmdjaG9pY2Uge1xuICAgIGlucHV0IHtcbiAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgbWluLWhlaWdodDogdW5zZXQ7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICAgIGxhYmVsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gfVxuICYuZmllbGRfZGVzY3JpcHRpb25fYWJvdmUge1xuICAgIC5nZmllbGRfZGVzY3JpcHRpb24ge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cbiB9XG4gJi51bml0cy1yZXF1ZXN0ZWQge1xuICAgIC5pbnN0cnVjdGlvbiB7IGRpc3BsYXk6IG5vbmU7IH0gLy8gaGlkZSBudW1iZXIgcmFuZ2UsIGl0J3Mgc3VwZXJmbHVvdXNcbiAgICAuZ2ZpZWxkX2Rlc2NyaXB0aW9uIHsgcGFkZGluZy10b3A6IDA7IH1cbiB9ICAgXG5cbiAmLnJmcS1sb2NhdGlvbiB0ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiB1bnNldDtcbiAgICByZXNpemU6IHZlcnRpY2FsO1xuIH1cbn0iLCJcbi5tb25pdG9yLXRhYmxlIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogMTExMHB4O1xuICB9XG5cbiAgJl9fdG9wLXJvdyB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgcGFkZGluZzogMjBweCAwcHg7IC8vIHdhcyAyMCA0MFxuICAgIH1cbiAgfVxuXG4gICZfX2xhYmVsIHtcbiAgICBAaW5jbHVkZSB0by1lbSgxNHB4KTtcbiAgICBjb2xvcjogJHZlcnktZGFyay1ibHVlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgICBAaW5jbHVkZSB0by1lbSgxMnB4KTtcbiAgICB9XG4gIH1cblxuICAmX19pdGVtIHtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgcmdiYSgkdGV4dCwgLjMpO1xuICAgIHBhZGRpbmc6IDI2cHggMDtcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICBib3JkZXItdG9wOiAycHggc29saWQgJGNvbG9yLW5hdnktYmx1ZTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgcGFkZGluZzogMjBweCAwcHg7IC8vIHdhcyAyMCA0MFxuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19jZWxsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIC5tb25pdG9yLXRhYmxlX19sYWJlbCB7XG4gICAgICAvL3dpZHRoOiA1NCU7XG4gICAgfVxuXG4gICAgLm1vbml0b3ItdGFibGVfX3ZhbHVlIHtcbiAgICAgIEBpbmNsdWRlIHRvLWVtKDE0cHgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwIDBweDsgLy8gd2FzIDAgMTBcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgLm1vbml0b3ItdGFibGVfX2xhYmVsIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLm1vbml0b3ItdGFibGVfX3ZhbHVlIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9faW1hZ2Uge1xuICAgIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICAgIG1heC13aWR0aDogMTA1cHg7XG4gICAgICB3aWR0aDogMTIlO1xuICAgIH1cbiAgfVxuXG4gICZfX2hlYWRpbmcge1xuICAgIGgzIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2Fucyhib2xkKTtcbiAgICAgIEBpbmNsdWRlIHRvLWVtKDE2cHgpO1xuICAgICAgY29sb3I6ICRjb2xvci1uYXZ5LWJsdWU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgICAgLy93aWR0aDogMzAlO1xuXG4gICAgICBoMyB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2FucyhtZWRpdW0pO1xuICAgICAgICBAaW5jbHVkZSB0by1lbSgxOHB4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuXG5cbi5wcm9kdWN0LWNvbXBhcmVfX3Jvd19fY29udGVudCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBzcGFuLmNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcblxuICAgIGZsZXg6IDEgMCA0MCU7XG4gIH1cblxuICAucHJpY2Uge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICRjb2xvci1icmlsbGlhbnQtcmVkO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIHNwYW4uY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn0iLCIucHJvZHVjdC1hY2Nlc3NvcmllcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1vZmYtd2hpdGU7XG4gIHBhZGRpbmc6IDQwcHggMCA3MHB4O1xuXG5cbiAgLmdyaWQteCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgLy9qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgIC5zdGlja3ktY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmFjY2Vzc29yaWVzLXdyYXBwZXIge1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgIH1cblxuICAgICAgLmJvdHRvbS1ibG9jay1pdGVtIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgcGFkZGluZzogMzBweCAzMHB4IDE1cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICB9XG5cbiAgJl9faXRlbS13cmFwIHtcbiAgICBmbGV4LWdyb3c6IDI7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgICAgd2lkdGg6IDg1JTtcbiAgICB9XG4gIH1cblxuICAmX19uYXYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICBwYWRkaW5nOiAzMHB4IDIwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuXG5cbiAgICAvKkBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICAgIHdpZHRoOiAxNSU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgfSovXG5cbiAgICBsaSB7XG4gICAgICBAaW5jbHVkZSB0by1lbSgxMnB4KTtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2FucyhtZWRpdW0pO1xuICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgkY29sb3ItYmxhY2ssIDAuMSk7XG4gICAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICAgICAgcGFkZGluZy10b3A6IDI0cHg7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkY29sb3ItbmF2eS1ibHVlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAwIDEwcHg7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHdpZHRoOiA2cHg7XG4gICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcG5nL2xpc3QtaXRlbS1hcnJvdy5wbmdcIik7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAtNnB4O1xuICAgICAgICB0b3A6IDNweDtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlcixcbiAgICAgICYtLWFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItYnJpbGxpYW50LXJlZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19pdGVtIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICBwYWRkaW5nOiAzMHB4O1xuICAgIC8vZmxleC1ncm93OiAyO1xuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgfVxuXG4gICZfX2hlYWRpbmcge1xuICAgIEBpbmNsdWRlIHRvLWVtKDE4cHgpO1xuICAgIGNvbG9yOiAkY29sb3ItYnJpbGxpYW50LXJlZDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG5cbiAgJl9fZ3JpZC1pdGVtIHtcbiAgICBjb2xvcjogJGNvbG9yLW5hdnktYmx1ZTtcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBmaWd1cmUge1xuICAgICAgICAvL3RyYW5zZm9ybTogc2NhbGUoMS4wMSk7XG4gICAgICAgIC8vYm94LXNoYWRvdzogMCA1cHggMjVweCAwIHJnYmEoMCwwLDAsLjIpO1xuICAgICAgICBvcGFjaXR5OiAuOTtcbiAgICAgIH1cblxuICAgICAgYSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZWRpdW0tZ3JheTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR2ZXJ5LWxpZ2h0LWdyYXk7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDZweCA2cHggMCAwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHRyYW5zaXRpb246IGFsbCA0MDBtcztcblxuICAgICAgc3BhbiB7XG4gICAgICAgICYudGl0bGUge1xuICAgICAgICAgIHBhZGRpbmc6IDE1cHggMTBweDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBmb250LXNpemU6IC45ZW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yLW5hdnktYmx1ZTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgZmlndXJlIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgNDAwbXM7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAvL2JvcmRlci1yYWRpdXM6IDZweCA2cHggMCAwO1xuXG4gICAgfVxuICB9XG5cbiAgJl9fY29weSB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItZ3JleTtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiAuNzhlbTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgZm9udC1zaXplOiAuNjVlbTtcbiAgICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246IGluc2lkZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDAgNXB4IDIwcHg7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgbGkge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICBtYXJnaW46IDVweCAwIDVweCAyNXB4O1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgIGxpc3Qtc3R5bGU6IGRpc2M7XG4gICAgICAgICAgZm9udC1zaXplOiAxZW07XG5cbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBkaXNjO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fZ3JpZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IC01cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtNXB4O1xuICB9XG5cbiAgJl9fZ3JpZC1pdGVtLWhlYWRpbmcge1xuICAgIEBpbmNsdWRlIHRvLWVtKDE2cHgpO1xuICAgIGNvbG9yOiAkY29sb3ItbmF2eS1ibHVlO1xuICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogZWFzZSBhbGwgMC4zcztcbiAgfVxuXG4gICZfX2dyaWQtaW1hZ2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1vZmYtd2hpdGU7XG4gICAgLy9iYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAvL21pbi1oZWlnaHQ6IDE1MHB4O1xuICAgIHBhZGRpbmctdG9wOiA1MCU7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICB9XG59XG4iLCIucHJvZHVjdHMtYmxvY2stZGV0YWlscyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgcGFkZGluZzogMzBweCAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC5jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIG9sIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICB9XG5cbiAgJl9fYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgICYtLW51bWJlcmVkIHtcbiAgICAgIGNvdW50ZXItcmVzZXQ6IGFjY29yZGlvbi1jb3VudGVyO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICAgIC8vZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIH1cblxuICAgIGEge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fYWNjb3JkaW9uLWNvbnRlbnQtY29sIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgIH1cbiAgfVxuXG4gICZfX2FjY29yZGlvbi1jb250ZW50LWNvbC1pdGVtIHtcbiAgICAucHJvZHVjdHMtYmxvY2stZGV0YWlsc19fYWNjb3JkaW9uLWNvbnRlbnQtLW51bWJlcmVkICYge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDVweDtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zYW5zKGJvbGQpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYnJpbGxpYW50LXJlZDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjRweDtcbiAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgY29udGVudDogY291bnRlcihhY2NvcmRpb24tY291bnRlcik7XG4gICAgICAgIGNvdW50ZXItaW5jcmVtZW50OiBhY2NvcmRpb24tY291bnRlcjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2FjY29yZGlvbi1jb250ZW50LWNvbC1pdGVtLWhlYWRpbmcge1xuICAgIHBhZGRpbmctbGVmdDogMzVweDtcbiAgfVxuXG4gICZfX2FjY29yZGlvbi1jb250ZW50LWNvbC1pdGVtLWxpc3Qge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAzNXB4O1xuXG4gICAgbGkge1xuICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICB9XG4gIH1cblxuICAuY29tcGFyZS1ncmlkIHtcbiAgICBtYXJnaW4tdG9wOiAyNXB4O1xuXG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgICBwOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cbiAgfVxuXG4gIC5vcmRlcmluZy1pbmZvLWdyaWQge1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG5cbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAgICYgKyAub3JkZXJpbmctaW5mby1ncmlkIHtcbiAgICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgfVxuXG4gICAgdGFibGUge1xuICAgICAgdGhlYWQge1xuICAgICAgICB0ciB7XG4gICAgICAgICAgdGgge1xuICAgICAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDI1MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jLWFjY29yZGlvbl9faXRlbSB7Ly9vdmVyaWRlIGZvciBwcm9kdWN0IHBhZ2VzXG4gICAgcGFkZGluZzogMjVweCAwIDVweDtcbiAgfVxuXG4gIC5yZWxhdGVkLWJsb2dzLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIG1hcmdpbjogMCAtMTBweDtcbiAgICB9XG4gIH1cbiAgLnJlbGF0ZWQtYmxvZy10aWxlIHtcbiAgICBtYXJnaW46IDAgMCAyMHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgICAgZmxleDogMCAxIDMzLjMzMzMlO1xuICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgIH1cblxuICAgIGEge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGJvcmRlcjogM3B4IHNvbGlkICRsaWdodC1ncmF5O1xuICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkY29sb3ItZGFyay1uYXZ5LWJsdWUsIC4wNSk7XG4gICAgICB9XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgICAgICAgZm9udC1zaXplOiAuN2VtO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxufVxuIiwiLnByb2R1Y3RzLWJsb2NrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW9mZi13aGl0ZTtcbiAgcGFkZGluZzogNTBweCAwO1xuXG4gIC5jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMTI2MHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChjdXN0b20tdGFibGV0KSB7XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICB9XG5cbiAgJl9fY29udGVudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAvL3Bvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoY3VzdG9tLXRhYmxldCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIG1heC13aWR0aDogKDYvMTIgKiAxMDAlKTtcbiAgICAgIG9yZGVyOiAyO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgIG1heC13aWR0aDogKDcvMTIgKiAxMDAlKTtcbiAgICB9XG5cblxuICAgIC5zdXBwb3J0LWZpbGVzIHtcbiAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG5cbiAgICAgIC5maWxlY2F0IHtcbiAgICAgICAgcGFkZGluZzogMCAxOHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgZmxleDogMSAwIDUwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgZmxleDogMSAwIDMzLjMzMzMlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICBoNCB7XG4gICAgICAgICAgQGluY2x1ZGUgdG8tZW0oMTZweCk7XG4gICAgICAgICAgY29sb3I6ICRjb2xvci1uYXZ5LWJsdWU7XG4gICAgICAgICAgcGFkZGluZzogMCAwIDEycHggMDtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgJGNvbG9yLW5hdnktYmx1ZTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgdWwge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKCRjb2xvci1uYXZ5LWJsdWUsIC4zKTtcbiAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG5cbiAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxNHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMTZweDtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19jb250ZW50LWdyaWQge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAvL2FsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgLy9kaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgICYtaXRlbTpub3QoLnByb2R1Y3RzLWJsb2NrX19jb250ZW50LXRodW1ibmFpbHMpIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNzBweDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cblxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAuYmFkZ2UtaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMjBweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAvL3RyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgdG9wOiAtMjBweDtcbiAgICAgICAgbGVmdDogLTIwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgICAgICAgIHRvcDogMjBweDtcbiAgICAgICAgICBsZWZ0OiAtNDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fY29udGVudC10aHVtYm5haWxzIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogNDBweDtcbiAgICAgIHRvcDogMTgwcHg7XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgLy9qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLWl0ZW0ge1xuICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgaGVpZ2h0OiA3MHB4O1xuICAgICAgbWFyZ2luOiAwIDVweDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB3aWR0aDogNzBweDtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItbGlnaHQtZ3JleS00O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuXG4gICAgICBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgIGhlaWdodDogOTAlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBtYXJnaW46IDUlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJltkYXRhLW9wZW49XCJ2aWRlb01vZGFsXCJdIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy92aWRlby1wbGF5LnN2Z1wiKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAvL21hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICBtYXJnaW46IDEwcHggMCAwO1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtdGl0bGUpO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1icmlsbGlhbnQtcmVkO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgIHBhZGRpbmc6IDJweCA4cHg7XG4gICAgICAgIGJveC1zaGFkb3c6IDJweCAycHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgei1pbmRleDogMTAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXM7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHJpZ2h0OiA1MCU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCAwKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAgIHJpZ2h0OiBjYWxjKDEwMCUgLSA0MHB4KTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IC0xMHB4O1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAgICAgcmlnaHQ6IGNhbGMoMTAwJSAtIDEwcHgpO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmLS1hY3RpdmUge1xuICAgICAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yLWJyaWxsaWFudC1yZWQ7XG4gICAgfVxuICB9XG5cbiAgJl9faW5mbyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBwYWRkaW5nOiAyMHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChjdXN0b20tdGFibGV0KSB7XG4gICAgICBmbGV4OiAxIDAgKDUvMTIgKiAxMDAlKTtcbiAgICAgIG1hcmdpbi1yaWdodDogKDEvMTIgKiAxMDAlKTtcbiAgICAgIG1heC13aWR0aDogNDIwcHg7XG4gICAgICBvcmRlcjogMTtcbiAgICAgIHdpZHRoOiAoNS8xMiAqIDEwMCUpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICBmbGV4OiAxIDAgKDQvMTIgKiAxMDAlKTtcbiAgICAgIHdpZHRoOiAoNC8xMiAqIDEwMCUpO1xuICAgIH1cbiAgfVxuXG4gICZfX3dhcnJhbnR5LXJpYmJvbiB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBoZWlnaHQ6IDc0cHg7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiA3NXB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgICAgdG9wOiA2NXB4O1xuICAgICAgaGVpZ2h0OiAxNTNweDtcbiAgICAgIHdpZHRoOiAxNDhweDtcbiAgICB9XG5cbiAgICAmLS10aHJlZS15ZWFycyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcG5nL3dhcnJhbnR5LXJpYmJvbi5wbmdcIik7XG4gICAgfVxuICB9XG5cbiAgJl9faW5mby1idG4td3JhcHBlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgIC5idG4ge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuICAgICAgLmJ0biB7XG4gICAgICAgIHdpZHRoOiA0OC40JTtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19pbmZvLWhlYWRpbmcge1xuICAgIGNvbG9yOiAkY29sb3ItbmF2eS1ibHVlO1xuICAgIEBpbmNsdWRlIHRvLWVtKDI1cHgpO1xuICB9XG5cbiAgJl9faW5mby1uYXYge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG5cbiAgICB1bCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIEBpbmNsdWRlIHRvLWVtKDEycHgpO1xuICAgICAgbWFyZ2luLWxlZnQ6IDFlbTtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgQGluY2x1ZGUgZm9udC1zYW5zKG1lZGl1bSk7XG4gICAgICBjb2xvcjogJGNvbG9yLW5hdnktYmx1ZTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcXDAyNUI4XCI7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2luZm8tY29udGVudCB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcblxuICAgIHAge1xuICAgICAgQGluY2x1ZGUgdG8tZW0oMTNweCk7XG4gICAgICBsaW5lLWhlaWdodDogMS43O1xuICAgIH1cbiAgfVxuXG4gICZfX2luZm8tY29udGVudC1ibG9jayB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICAudS1zdHlsZWQtbGlzdCwgLnd5c2l3eWcgb2wsIC53eXNpd3lnIHVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVFxuICAgICYuZGQtb3ZlcnJpZGUge1xuICAgICAgdGFibGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgfVxuICAgICAgdGQge1xuICAgICAgICBmb250LXNpemU6IC43ZW07XG4gICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgIH1cbiAgICAgIHRoIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDAuNjI1cmVtO1xuICAgICAgfSAgXG4gICAgICBcbiAgICB9XG4gIH1cblxuICAmX19pbmZvLWNvbnRlbnQtaW1hZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAmLm1lZGlhLS1pbWFnZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgNjBweCk7XG4gICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgIG1hcmdpbjogMCAtMzBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2luZm8tY29udGVudC1oZWFkaW5nIHtcbiAgICBAaW5jbHVkZSB0by1lbSgxOHB4KTtcbiAgICBsaW5lLWhlaWdodDogMTQwJTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgY29sb3I6ICRjb2xvci1icmlsbGlhbnQtcmVkO1xuICB9XG5cbiAgJl9faW5mby1jb250ZW50LWJ0biB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgfVxuXG4gICZfX2luZm8tY29udGVudC1zY3RhIHtcbiAgICBtYXJnaW46IDE1cHggMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAuOGVtO1xuICAgIC8vdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcztcbiAgICBjb2xvcjogJGNvbG9yLW5hdnktYmx1ZTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFwwMjVCOFwiO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogbGlnaHRlbigkY29sb3ItbmF2eS1ibHVlLCAxMCUpO1xuICAgIH1cbiAgfVxuXG4gICZfX2luZm8tY29udGVudC1mb3JtIHtcbiAgICAuZ2xvYmFsLWZvcm1fX2NvbCB7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIH1cblxuICAgIC5jdXN0b20tc2VsZWN0IHtcbiAgICAgIHBhZGRpbmc6IDEycHggMjBweDtcbiAgICB9XG4gIH1cblxuICAmX19pbmZvLWNvbnRlbnQtZGF0YSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cblxuICAgIC51LXN0eWxlZC1saXN0IHtcbiAgICAgIGxpIHtcbiAgICAgICAgQGluY2x1ZGUgdG8tZW0oMTRweCk7XG4gICAgICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9faW5mby1jb250ZW50LWRhdGEtaXRlbSB7XG4gICAgbWFyZ2luLXRvcDogMjRweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzLjIlO1xuICAgICAgd2lkdGg6IDQ4LjQlO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9faW5mby1jb250ZW50LWRhdGEtaXRlbS1oZWFkaW5nIHtcbiAgICBAaW5jbHVkZSB0by1lbSgyMHB4KTtcbiAgICBAaW5jbHVkZSBmb250LXNhbnMoYm9sZCk7XG4gICAgY29sb3I6ICRjb2xvci1uYXZ5LWJsdWU7XG4gICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICRjb2xvci1uYXZ5LWJsdWU7XG4gICAgcGFkZGluZy1ib3R0b206IDEycHg7XG4gIH1cblxuICAmX19jb2wtaW5wdXQge1xuICAgICYtLXBvd2VyIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICAgICAgd2lkdGg6IDM2JTtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tbG9jayB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgICAgIGZsZXgtZ3JvdzogMjtcbiAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnJldmVhbC5wcm9kdWN0LXJldmVhbCB7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgIHdpZHRoOiA2NSU7XG4gIH1cblxuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuXG4gIC5jbG9zZS1idXR0b24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogLTQ1cHg7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICB0b3A6IC04cHg7XG4gIH1cblxuICAudmlkZW8td3JhcHBlciB7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICBpZnJhbWUsXG4gICAgb2JqZWN0LFxuICAgIGVtYmVkIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICAvL2lmcmFtZSB7XG4gICAgLy8gIHdpZHRoOiAxMDAlO1xuICAgIC8vICBoZWlnaHQ6IDEwMCU7XG4gICAgLy99XG4gIH1cbn1cblxuIiwiLnNlYXJjaC1iYXIge1xuICAmX19iZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3ItYmxhY2ssIDAuMik7XG4gICAgYm90dG9tOiAwO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiA5ODtcblxuICAgIC5zZWFyY2gtYmFyLS1pbnZpZXcgJiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAmLS1pbnZpZXcge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAmLS1tb2RhbCB7XG4gICAgYm90dG9tOiAwO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgcGFkZGluZy10b3A6IDE1NXB4O1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogOTk7XG5cbiAgICAuc2VhcmNoLWJhcl9fd3JhcHBlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itb2ZmLXdoaXRlO1xuICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDk3OHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDkwJTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgICAgICB3aWR0aDogNjglO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zZWFyY2gtYmFyX19mb3JtLXN1Ym1pdCB7XG4gICAgICBAaW5jbHVkZSB0by1lbSgxM3B4KTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgICAgIHdpZHRoOiAyMDdweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VhcmNoLWJhci0taW52aWV3ICYge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLnNlYXJjaC1iYXJfX2hlYWRlciB7XG4gICAgICBwYWRkaW5nOiAxOHB4IDE4cHggMTVweDtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgICAgICBwYWRkaW5nOiAzMHB4IDMwcHggMTVweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VhcmNoLWJhcl9fZm9ybS1pbnB1dCB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19mb3JtIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWJvcmRlci1ncmV5O1xuICAgIHBhZGRpbmc6IDEycHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcGFkZGluZzogNHB4IDEycHggNHB4IDMycHg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gICZfX2Zvcm0taW5wdXQge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuXG4gICAgJjpmb2N1cyB7IG91dGxpbmU6IG5vbmUgfVxuXG4gICAgQGluY2x1ZGUgdG8tZW0oMjBweCk7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogMTJweCAwO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgIHBhZGRpbmc6IDAgMTBweCAwIDA7XG4gICAgfVxuICB9XG5cbiAgJl9fd3JhcHBlciB7XG4gICAgJi0tZnVsbC13aWR0aCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAmX19leGFtcGxlIHtcbiAgICBwYWRkaW5nOiAxNXB4IDE1cHggMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBwIHtcbiAgICAgIEBpbmNsdWRlIHRvLWVtKDEycHgpO1xuICAgICAgY29sb3I6IHJnYmEoJHRleHQsIDAuNyk7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gIH1cblxuICAmX19yZXN1bHRzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgcGFkZGluZzogMjBweCAxOHB4IDE4cHg7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIC5zZWFyY2gtYmFyLS1yZXN1bHRzLWludmlldyAmIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoY3VzdG9tLXRhYmxldCkge1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgcGFkZGluZzogMjBweCAzMHB4IDMwcHg7XG5cbiAgICAgIC5zZWFyY2gtYmFyLS1yZXN1bHRzLWludmlldyAmIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19yZXN1bHRzLWl0ZW0ge1xuICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgfVxuXG4gICZfX3Jlc3VsdHMtaGVhZGluZyB7XG4gICAgQGluY2x1ZGUgZm9udC1zYW5zKGJvbGQpO1xuICAgIEBpbmNsdWRlIHRvLWVtKDE4cHgpO1xuICAgIGNvbG9yOiAkY29sb3ItYnJpbGxpYW50LXJlZDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuICB9XG5cbiAgJl9fcmVzdWx0cy1jYXRhbG9nIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGN1c3RvbS10YWJsZXQpIHtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIHdpZHRoOiA0OC40JTtcbiAgICB9XG4gIH1cblxuICAmX19yZXN1bHRzLWNhdGFsb2ctaXRlbSB7XG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgd2lkdGg6IDY4cHg7XG4gICAgfVxuICB9XG5cbiAgJl9fcmVzdWx0cy1tYXRlcmlhbHMge1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgcGFkZGluZy10b3A6IDQwcHg7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItZ3JleTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoY3VzdG9tLXRhYmxldCkge1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkY29sb3ItYm9yZGVyLWdyZXk7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgbWFyZ2luLWxlZnQ6IDMuMiU7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAzLjIlO1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICB3aWR0aDogNDguNCU7XG4gICAgfVxuICB9XG5cbiAgJl9fY2xvc2Uge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvY2xvc2UtaWNvbi5zdmdcIik7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMjBweDtcbiAgICB6LWluZGV4OiA5OTtcbiAgICB0b3A6IC0zMHB4O1xuICAgIHJpZ2h0OiAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgICAgcmlnaHQ6IC0zMHB4O1xuICAgICAgdG9wOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLmMtc2VhcmNoLXJlc3VsdHMge1xuICBwYWRkaW5nOiA1MHB4IDA7XG5cbiAgLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA5ODBweDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICBwYWRkaW5nOiA1MHB4IDAgMTIwcHg7XG4gIH1cblxuICAmX19oZWFkaW5nIHtcbiAgICBAaW5jbHVkZSB0by1lbSgyNXB4KTtcbiAgICBjb2xvcjogJGNvbG9yLW5hdnktYmx1ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAyNnB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG5cblxuXG4gICZfX25hdiB7XG5cbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZzogMjBweCAwIDYwcHg7XG4gICAgd2lkdGg6IDg1JTtcbiAgICBtYXJnaW46IDAgYXV0bztcblxuICAgIC8vbWFyZ2luLWJvdHRvbTogNzBweDtcblxuICAgIHVsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTEwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogLTEwcHg7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICAvL21hcmdpbi10b3A6IDEwcHg7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICAgICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgICAgIC8vbWluLXdpZHRoOiAxODBweDtcbiAgICAgICAgLy93aWR0aDogY2FsYyg1MCUgLSAxMHB4KTtcbiAgICAgICAgLy9mbGV4LWdyb3c6IDE7XG4gICAgICAgIGZsZXg6IDEgMCA1MCU7XG4gICAgICB9XG5cbiAgICAgIC8vQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgLy8gIHdpZHRoOiBhdXRvO1xuICAgICAgLy8gIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgLy9cbiAgICAgIC8vICAmOm50aC1vZi10eXBlKDJuLTEpIHtcbiAgICAgIC8vICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgLy8gIH1cbiAgICAgIC8vfVxuXG4gICAgICBhIHtcbiAgICAgICAgdHJhbnNpdGlvbjogZWFzZSBhbGwgMC4zcztcbiAgICAgICAgLy9tYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgIC8vbWFyZ2luLWxlZnQ6IDA7XG5cblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0cHgpO1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDI1cHg7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItbmF2eS1ibHVlO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLW5hdnktYmx1ZSwgLjEpO1xuICAgICAgICAgIGNvbG9yOiAkY29sb3ItbmF2eS1ibHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1uYXZ5LWJsdWU7XG4gICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5idG4ge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIHBhZGRpbmc6IDEycHggNTBweDtcblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbmF2eS1ibHVlO1xuICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgJl9faXRlbSB7XG4gICAgYm9yZGVyOiAzcHggc29saWQgI0YwRjBGMDtcbiAgICBiYWNrZ3JvdW5kOiAjZjBmMGYwO1xuICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIH1cbiAgfVxuXG4gICZfX2l0ZW0taW1hZ2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtaW4taGVpZ2h0OiAxMDBweDtcbiAgICBtaW4td2lkdGg6IDIwMHB4O1xuICAgIHBhZGRpbmc6IDI2cHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgd2lkdGg6IDIwJTtcbiAgICB9XG4gIH1cblxuICAmX19pdGVtLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDIwcHggMjBweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICAgIHBhZGRpbmc6IDIwcHggMzBweDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBmb250LXNpemU6IC44ZW07XG4gICAgfVxuICB9XG5cbiAgJl9faXRlbS1oZWFkaW5nIHtcbiAgICBAaW5jbHVkZSB0by1lbSgxOHB4KTtcbiAgICBjb2xvcjogJGNvbG9yLW5hdnktYmx1ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgYSB7XG4gICAgICBjb2xvcjogJGNvbG9yLW5hdnktYmx1ZTtcbiAgICB9XG5cbiAgICAmICsgcCB7XG4gICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgfVxuICB9XG5cbiAgJl9fcGFnaW5hdGlvbiB7XG4gICAgLy8gYm9yZGVyIHdhcyBoZXJlXG4gICAgbWFyZ2luOiA0MHB4IGF1dG8gMDtcbiAgICBtYXgtd2lkdGg6IDI0NHB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICB1bCB7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3ItbmF2eS1ibHVlOyAvLyBib3JkZXIgbW92ZWQgaGVyZVxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvLyB3YXMgZmxleFxuICAgICAgLy9qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IDEwcHg7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRjb2xvci1uYXZ5LWJsdWUsIC4xKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgQGluY2x1ZGUgZm9udC1zYW5zKGJvbGQpO1xuICAgICAgY29sb3I6ICRjb2xvci1uYXZ5LWJsdWU7XG4gICAgICBwYWRkaW5nOiA4cHggMTBweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gICZfX3BhZ2luYXRpb24tYnRuIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDZweCBhdXRvO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgbWFyZ2luLXRvcDogLTIwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHdpZHRoOiA0MHB4O1xuXG4gICAgJi0tbGVmdCB7XG4gICAgICAvLyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc3ZnL2JsdWUtbGVmdC1hcnJvdy5zdmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcG5nL2JsdWUtbGVmdC1hcnJvdy5wbmdcIik7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cblxuICAgICYtLXJpZ2h0IHtcbiAgICAgIC8vIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvYmx1ZS1yaWdodC1hcnJvdy5zdmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcG5nL2JsdWUtcmlnaHQtYXJyb3cucG5nXCIpO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuICB9XG59XG5cbmJvZHkucGFnZS10ZW1wbGF0ZS1zZWFyY2gge1xuICAucHJvZHVjdC1zZWFyY2gge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1vZmYtd2hpdGU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG5cbiAgICAgIC8qIFBlcm1hbGluayAtIHVzZSB0byBlZGl0IGFuZCBzaGFyZSB0aGlzIGdyYWRpZW50OiBodHRwOi8vY29sb3J6aWxsYS5jb20vZ3JhZGllbnQtZWRpdG9yLyNlOGU4ZTgrNDUsZjRmNGY0KzQ1ICovXG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3Itb2ZmLXdoaXRlOyAvKiBPbGQgYnJvd3NlcnMgKi9cbiAgICAgIC8vYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgJGNvbG9yLW9mZi13aGl0ZSA2NCUsICRjb2xvci1saWdodC1ncmV5LTIgNjQlKTsgLyogRkYzLjYtMTUgKi9cbiAgICAgIC8vYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgJGNvbG9yLW9mZi13aGl0ZSA2NCUsJGNvbG9yLWxpZ2h0LWdyZXktMiA2NCUpOyAvKiBDaHJvbWUxMC0yNSxTYWZhcmk1LjEtNiAqL1xuICAgICAgLy9iYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRjb2xvci1vZmYtd2hpdGUgNjQlLCRjb2xvci1saWdodC1ncmV5LTIgNjQlKTsgLyogVzNDLCBJRTEwKywgRkYxNissIENocm9tZTI2KywgT3BlcmExMissIFNhZmFyaTcrICovXG4gICAgICAvL2ZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPSckY29sb3Itb2ZmLXdoaXRlJywgZW5kQ29sb3JzdHI9JyRjb2xvci1saWdodC1ncmV5LTInLEdyYWRpZW50VHlwZT0xICk7IC8qIElFNi05ICovXG5cbiAgICAgIC5jb250YWluZXIge1xuICAgICAgICAvL2Rpc3BsYXk6IGZsZXg7XG4gICAgICAgIC8vanVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBtYXgtd2lkdGg6IDk4MHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zZWFyY2gtYmFyX19mb3JtIHtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDMwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cbiIsIi5zdXBwb3J0LWZhcSB7XG4gIG1hcmdpbi1ib3R0b206IDMycHg7XG5cbiAgJl9faGVhZGVyIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX2hlYWRpbmcge1xuICAgIG1hcmdpbjogMDtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxuXG4gICZfX2J0bi13cmFwcGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgfVxuXG4gICAgLmMtYWNjb3JkaW9uX19leHBhbmQge1xuICAgICAgdG9wOiA2MHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX2hlYWRpbmcge1xuICAgIEBpbmNsdWRlIGZvbnQtc2Fucyhib2xkKTtcbiAgICBAaW5jbHVkZSB0by1lbSgzMHB4KTtcbiAgICBjb2xvcjogJGNvbG9yLW5hdnktYmx1ZTtcbiAgfVxuXG4gICZfX3ZpZXctYWxsIHtcbiAgICBtYXJnaW46IDIwcHggMCA0MHB4O1xuICAgIEBpbmNsdWRlIHRvLWVtKDEycHgpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgd2lkdGg6IDE5MHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuXG4gICZfX2l0ZW0tY29udGVudCB7XG4gICAgJi5jLWFjY29yZGlvbl9fY29udGVudCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXRvcDogMjVweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogMDtcblxuICAgICAgfVxuXG4gICAgfVxuICB9XG5cbiAgJl9faXRlbSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICA+IC5jLWFjY29yZGlvbl9fY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDI1cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNDBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IDA7XG5cbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICB9XG5cbiAgICAgICYtLXRhYmxlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDQwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi5jLWFjY29yZGlvbl9fbmF2LnN1cHBvcnQtZmFxX19idG4tbmF2IHtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICBwYWRkaW5nOiA0MHB4IDAgMjVweDtcblxuICAuYy1hY2NvcmRpb25fX2J0biB7XG4gICAgdHJhbnNpdGlvbjogZWFzZSBhbGwgMC4zcztcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG5cblxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTRweCk7XG4gICAgcGFkZGluZzogMTVweCAyNXB4O1xuICAgIGNvbG9yOiAkY29sb3ItbmF2eS1ibHVlO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLW5hdnktYmx1ZSwgLjEpO1xuICAgIH1cblxuICAgICYuaXMtYWN0aXZlLCAmLmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbmF2eS1ibHVlO1xuICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICB9XG4gIH1cbn0iLCIuYy1zaXRlbWFwIHtcbiAgcGFkZGluZzogMTA1cHggMDtcblxuICAuY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDk4MHB4O1xuICB9XG5cbiAgJl9faGVhZGluZyB7XG4gICAgQGluY2x1ZGUgdG8tZW0oMjBweCk7XG4gICAgY29sb3I6ICRjb2xvci1uYXZ5LWJsdWU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItZ3JleTtcbiAgICBwYWRkaW5nOiAwIDI2cHggMjBweDtcbiAgfVxuXG4gICZfX2l0ZW0ge1xuICAgIG1hcmdpbi10b3A6IDUwcHg7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICB9XG5cbiAgJl9faXRlbS1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgfVxuXG4gICZfX2l0ZW0tY29sIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgIH1cblxuICAgICYgPiB1bCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDI2cHg7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBjb2xvcjogJGNvbG9yLW5hdnktYmx1ZTtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNhbnMoYm9sZCk7XG4gICAgICBAaW5jbHVkZSB0by1lbSgxMnB4KTtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICB1bCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMzVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICBAaW5jbHVkZSB0by1lbSgxNHB4KTtcbiAgICAgICAgICBAaW5jbHVkZSBmb250LXNhbnMoYm9vayk7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICBjb2xvcjogJHRleHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsImRpdi5oZWF0LWNhbGN1bGF0b3Ige1xuICAgIGJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuICAgIHdpZHRoOiA0MDBweDtcbiAgICBwYWRkaW5nOiA2MHB4IDQ1cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDYwcHggNDBweDtcbiAgICB9XG5cbiAgICAucHJlc2V0cy1mYWN0b3IsIC5wcmVzZXRzLW9mZnNldCB7IGRpc3BsYXk6IG5vbmU7IH1cblxuICAgIGgzIHtcbiAgICAgICAgY29sb3I6ICMyMzRhNzEgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IDEzcHggIWltcG9ydGFudDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE3cHg7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIGNvbG9yOiAjNzg3ODc4O1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxN3B4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmhlYXQtY2FsY3VsYXRvcl9faW5wdXQge1xuICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgIC8vdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgYXV0byAxMHB4O1xuICAgICAgICB3aWR0aDogMTgwcHg7XG5cbiAgICAgICAgJi0tdGVtcDphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnwrBDJztcbiAgICAgICAgICAgIGNvbG9yOiBkYXJrc2xhdGVncmF5O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogY2FsYygxMDAlICsgMnB4KTtcbiAgICAgICAgICAgIHRvcDogY2FsYyg1MCUgLSAxMnB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXdhdHRhZ2U6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJ1cnO1xuICAgICAgICAgICAgY29sb3I6IGRhcmtzbGF0ZWdyYXk7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiBjYWxjKDEwMCUgKyAycHgpO1xuICAgICAgICAgICAgdG9wOiBjYWxjKDUwJSAtIDEycHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgZGFya3NsYXRlZ3JheTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuXG4gICAgICAgICAgICAmOmludmFsaWQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI2IyMDkzOTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIFxuICAgIH1cblxuICAgIC5oZWF0LWNhbGN1bGF0b3JfX3JhZGlvcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgbWFyZ2luOiAxMHB4IDA7XG5cbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2VsZWN0IHtcbiAgICAgICAgd2lkdGg6IDI1MHB4O1xuICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgYXV0byAzMHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICB9XG5cbiAgICAucmVzZXQgeyBcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBub25lOyBcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuXG4gICAgLmNhbGN1bGF0ZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAyNTBweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxuXG4gICAgJl9fcmVzdWx0cywgJl9fZXJyb3Ige1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBjb2xvcjogI2IyMDkzOTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgIH1cblxuICAgICYuc3VibWl0dGVkIHtcbiAgICAgICAgLnJlc2V0IHsgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgLmNhbGN1bGF0ZSB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgLmhlYXQtY2FsY3VsYXRvcl9fcmVzdWx0cyB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgfVxufVxuXG4uZ3JhcGgtYW5kLWNhbGMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9O1xufVxuXG4vKlxuaHRtbFtsYW5nPVwiZXMtTVhcIl0sIGh0bWxbbGFuZz1cImVzLUVTXCJdIHtcbiAgICBkaXYuaGVhdC1jYWxjdWxhdG9yIC5oZWF0LWNhbGN1bGF0b3JfX2lucHV0LS13YXR0YWdlOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJ3dhdHRzJztcbiAgICB9XG59XG4qLyIsIlxuLmN1c3RvbWVycyB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICAubWFzdGhlYWRfX2NvbnRlbnQtd3JhcHBlciB7XG4gICAgICAuY3VzdG9tLXNlbGVjdCB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci13aGl0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWRhcmstYmx1ZTtcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICBtYXgtd2lkdGg6IDMyMHB4O1xuICAgICAgICAgIHdpZHRoOiA0MiU7XG4gICAgICAgIH1cblxuICAgICAgICBzZWxlY3Qge1xuICAgICAgICAgIEBpbmNsdWRlIHRvLWVtKDE0cHgpO1xuICAgICAgICAgIHBhZGRpbmc6IDE2cHggNjBweCAxNnB4IDMwcHg7XG4gICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvcG5nL3NlbGVjdC1hcnJvdy5wbmcnKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICAgIHJpZ2h0OiAzMHB4O1xuICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5tYXN0aGVhZC0tY2FzZXN0dWR5IC5tYXN0aGVhZF9fY29udGVudCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWF4LXdpZHRoOiA0OC43NXJlbTtcbn1cblxuLmN1c3RvbWVyLXN1bW1hcnkge1xuICBwYWRkaW5nOiA0NXB4IDA7XG4gIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuICAmX19jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDQ4Ljc1cmVtO1xuICB9XG5cbiAgJl9fY3RhIHtcbiAgICBtYXgtd2lkdGg6IDE1cmVtO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG59XG4iLCIubm8tbWFwIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChjdXN0b20tdGFibGV0KSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxufVxuXG4uY29udGFjdC1pbmZvIHtcbiAgcGFkZGluZzogNDVweCAwO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoY3VzdG9tLXRhYmxldCkge1xuICAgIHBhZGRpbmc6IDQ1cHggNTZweDtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG5cbiAgJl9fYmxvY2sge1xuXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItZ3JleTtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChjdXN0b20tdGFibGV0KSB7XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkY29sb3ItYm9yZGVyLWdyZXk7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHBhZGRpbmc6IDAgMzBweDtcbiAgICB9XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG4gIH1cblxuICAmX19oZWFkaW5nIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGNvbG9yOiAkZGFyay1waW5rO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTZweCk7XG4gICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgfVxuXG4gICZfX2NoYXQtdXMge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICAuY29udGFjdC1pbmZvX19jb250ZW50IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvaWNvbi1jb250YWN0LWNoYXQuc3ZnXCIpO1xuICAgIH1cbiAgfVxuXG4gICZfX2NhbGwtdXMge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICAuY29udGFjdC1pbmZvX19jb250ZW50IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvaWNvbi1jb250YWN0LWNhbGwuc3ZnXCIpO1xuICAgIH1cbiAgfVxuXG4gICZfX2VtYWlsLXVzIHtcbiAgICBmbGV4LWdyb3c6IDE7XG5cbiAgICAuY29udGFjdC1pbmZvX19jb250ZW50IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvaWNvbi1jb250YWN0LWVtYWlsLnN2Z1wiKTtcbiAgICB9XG4gIH1cblxuICAmX19tYWlsLXVzIHtcbiAgICBmbGV4LWdyb3c6IDE7XG5cbiAgICAuY29udGFjdC1pbmZvX19jb250ZW50IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvaWNvbi1jb250YWN0LW1haWwuc3ZnXCIpO1xuICAgIH1cbiAgfVxuXG4gICZfX2NvbnRlbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiA3NXB4O1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIGNvbG9yOiAkdmVyeS1kYXJrLWdyYXk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDUwcHg7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNHB4KTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoY3VzdG9tLXRhYmxldCkge1xuICAgICAgcGFkZGluZy10b3A6IDc1cHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNzVweDtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgbGluZS1oZWlnaHQ6IDE3NSU7XG4gICAgfVxuXG4gIH1cblxuXG4gIC8qJl9fZW1haWxzIHtcbiAgICBmbGV4LWdyb3c6IDI7XG4gIH1cblxuICAmX19lbWFpbC1pdGVtIHtcbiAgICBjb2xvcjogJGNvbG9yLW5hdnktYmx1ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogNjBweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgLy9tYXJnaW4tbGVmdDogNjVweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIHRvLWVtKDEycHgpO1xuICAgICAgY29sb3I6ICRjb2xvci1uYXZ5LWJsdWU7XG4gICAgfVxuICB9XG5cbiAgJl9fZW1haWwtaXRlbS1oZWFkaW5nIHtcbiAgICBAaW5jbHVkZSBmb250LXNhbnMobWVkaXVtKTtcbiAgICBAaW5jbHVkZSB0by1lbSgxNHB4KTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMCBhdXRvIDQwcHg7XG4gICAgICBoZWlnaHQ6IDcwcHg7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIH1cblxuICAgICYtLWVtYWlsOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9lbWFpbC1hY2NvdW50cy1pY29uLnN2Z1wiKTtcbiAgICB9XG5cbiAgICAmLS1zdXBwb3J0OjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9zdXBwb3J0LWljb24uc3ZnXCIpO1xuICAgIH1cblxuICAgICYtLXNhbGVzOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9zYWxlcy1pY29uLnN2Z1wiKTtcbiAgICB9XG4gIH1cblxuICAmX19waG9uZS1jaGF0IHtcbiAgICBAaW5jbHVkZSB0by1lbSgxNXB4KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yLWJvcmRlci1ncmV5O1xuICAgICAgbWFyZ2luLXRvcDogMzVweDtcbiAgICAgIHBhZGRpbmctdG9wOiAzNXB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlMikge1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkY29sb3ItYm9yZGVyLWdyZXk7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgbWFyZ2luLWxlZnQ6IDQ1cHg7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiA0NXB4O1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgfVxuXG4gICZfX3Bob25lLWNoYXQtYnRucyB7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcblxuICAgIC5idG4ge1xuICAgICAgQGluY2x1ZGUgZm9udC1zYW5zKG1lZGl1bSk7XG4gICAgICBAaW5jbHVkZSB0by1lbSgxM3B4KTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgLmJ0biB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBmbGV4OiAxIDAgYXV0bztcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlMikge1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cbiAgfSovXG5cbiAgLm5vLW1hcCAmIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGN1c3RvbS10YWJsZXQpIHtcbiAgICAgIHBhZGRpbmc6IDAgNjBweCAwIDA7XG5cbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cblxuICAgIC5jb250YWN0LWluZm9fX2Jsb2NrIHtcbiAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgcGFkZGluZzogMCAwIDQwcHg7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICB9XG59XG5cbi5mb3JtLW1hcCB7XG4gIHBhZGRpbmctYm90dG9tOiA0NXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDk5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXG4gICZfX3dyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoY3VzdG9tLXRhYmxldCkge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgfVxuICB9XG5cbiAgaWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuXG4gICZfX21hcCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICBoZWlnaHQ6IDMyNXB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChjdXN0b20tdGFibGV0KSB7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgIG9yZGVyOiAyO1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICAmX19mb3JtIHtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoY3VzdG9tLXRhYmxldCkge1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgb3JkZXI6IDE7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgbWluLWhlaWdodDogNjM1cHg7XG4gICAgfVxuXG4gICAgLy8uYWNmLWZpZWxkIHtcbiAgICAvLyAgd2lkdGg6IDEwMCUhaW1wb3J0YW50O1xuICAgIC8vfVxuICAgIC8vXG4gICAgLy9AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG4gICAgLy8gIC5hY2YtZmllbGQge1xuICAgIC8vICAgIHdpZHRoOiA1MCUhaW1wb3J0YW50O1xuICAgIC8vICB9XG4gICAgLy99XG5cbiAgICAuY29udGFjdC1pbmZvX19oZWFkaW5nIHtcbiAgICAgIHBhZGRpbmc6IDAgMCAyMHB4IDIwcHg7XG4gICAgfVxuICB9XG5cbiAgLmFjZi1maWVsZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLmFjZi1sYWJlbCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDVweDtcbiAgICAgIGxlZnQ6IDMxcHg7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgZm9udC1zaXplOiAuNjVlbTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXM7XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjbWVzc2FnZS51cGRhdGVkIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOGJjMzRhO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgbWFyZ2luOiAwIDVweCAxMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDEzOSwgMTk1LCA3NCwgMC4xKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgcCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZm9udC1zaXplOiAuOGVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gIH1cblxuICAubm8tbWFwICYge1xuICAgIC8vZmxleDogMSAwIGF1dG87XG5cbiAgICAuY29udGFjdC1pbmZvX19oZWFkaW5nIHtcbiAgICAgIHBhZGRpbmc6IDAgMCAyMHB4IDI1cHg7XG4gICAgfVxuICB9XG59XG5cbi5nbG9iYWwtc2l0ZXMge1xuICBwYWRkaW5nLWJvdHRvbTogNzBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuXG4gICZfX3NpdGVzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gICZfX3NpdGUge1xuICAgIEBpbmNsdWRlIHRvLWVtKDEycHgpO1xuICAgIGNvbG9yOiAkY29sb3ItbmF2eS1ibHVlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIGZsZXg6IDEgMCA1MCU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgICBmbGV4OiAxIDAgMzMlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgIH1cblxuICAgICY6Zmlyc3QtY2hpbGQgLmdsb2JhbC1zaXRlc19fc2l0ZS1pbWFnZSB7XG4gICAgICBib3JkZXI6IDA7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fc2l0ZS1pbWFnZSB7XG4gICAgcGFkZGluZzogMCAxOCU7XG5cbiAgICBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW46IDAgYXV0byAzNXB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDIzMHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGNvbG9yLWJvcmRlci1ncmV5O1xuXG4gICAgICBpbWcge1xuICAgICAgICB3aWR0aDogNjhweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmFjZi1maWVsZHMge1xuICAmID4gLmFjZi1maWVsZCB7XG4gICAgYm9yZGVyOiAwIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwIDVweCAxNXB4IWltcG9ydGFudDtcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyOiAwIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbiAgICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4gICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbiAgICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuICAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbiAgICBpbnB1dFt0eXBlPVwidXJsXCJdLFxuICAgIHRleHRhcmVhLFxuICAgIHNlbGVjdCB7XG4gICAgICBwYWRkaW5nOiAyMHB4IDI1cHg7XG4gICAgICBtaW4taGVpZ2h0OiA2MHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4gICAgfVxuXG4gICAgc2VsZWN0IHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc3ZnL2RkbC1hY2NlbnQuc3ZnXCIpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2FsYygxMDAlIC0gMTVweCkgY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxNXB4O1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblxuICAgICAgY29sb3I6ICRkYXJrLWdyYXk7XG4gICAgfVxuICB9XG59XG5cbi5hY2YtZm9ybS1zdWJtaXQge1xuICBwYWRkaW5nOiAwIDVweDtcblxuICBpbnB1dFt0eXBlPVwic3VibWl0XCJdLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLWJyaWxsaWFudC1yZWQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgIEBpbmNsdWRlIHRvLWVtKDE1cHgpO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBwYWRkaW5nOiAxMnB4IDI1cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIG1hcmdpbi1ib3R0b206IDBweDtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICNjNTQ2NmEgMCUsICNiMjA5MzkgMTAwJSk7XG4gICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICNjNTQ2NmEgMCUsICNiMjA5MzkgMTAwJSk7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjYzU0NjZhIDAlLCAjYjIwOTM5IDEwMCUpO1xuICAgICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoXG4gICAgICAgICAgICAgICAgICAgICAgc3RhcnRDb2xvcnN0cj1cIiNjNTQ2NmFcIixcbiAgICAgICAgICAgICAgICAgICAgICBlbmRDb2xvcnN0cj1cIiNiMjA5MzlcIixcbiAgICAgICAgICAgICAgICAgICAgICBHcmFkaWVudFR5cGU9MFxuICAgICAgKTtcblxuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcztcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgLy9iYWNrZ3JvdW5kOiAkY29sb3ItYnJpbGxpYW50LXJlZDtcbiAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJcbi5zZW8tbGFuZGluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1vZmYtd2hpdGU7XG59XG5cbi5zZW9fX3RhYmxlIHtcbiAgcGFkZGluZzogNDVweCA1JSAwO1xuICB3aWR0aDogMTAwJTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgbWFyZ2luLXRvcDogLTE3MHB4O1xuICAgIHBhZGRpbmc6IDIwcHggMjBweCA0MHB4O1xuXG4gICAgLm1vbml0b3ItdGFibGVfX2hlYWRpbmcge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgaDMge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICB3aWR0aDogNnB4O1xuICAgICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcG5nL2xpc3QtaXRlbS1hcnJvdy5wbmdcIik7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIG1hcmdpbi10b3A6IC01cHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5zZW8tYWNjZXNzb3JpZXMge1xuICBwYWRkaW5nOiA0MHB4IDA7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgIHBhZGRpbmc6IDcwcHggMDtcbiAgfVxuXG4gICZfX2hlYWRpbmcge1xuICAgIGNvbG9yOiAkY29sb3ItbmF2eS1ibHVlO1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgICAgQGluY2x1ZGUgdG8tZW0oNDBweCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiA3MHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX2dyaWQge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuICB9XG5cbiAgJl9fZ3JpZC1pdGVtIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZmxleC1ncm93OiAxO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgICBtYXJnaW4tdG9wOiA2MHB4O1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgICB3aWR0aDogMzEuMiU7XG4gICAgICBtYXJnaW4tbGVmdDogMy4yJTtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICB3aWR0aDogMzMlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwMHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX2dyaWQtaXRlbS1oZWFkaW5nIHtcbiAgICBjb2xvcjogJGNvbG9yLW5hdnktYmx1ZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICAgIEBpbmNsdWRlIHRvLWVtKDIwcHgpO1xuICAgIH1cbiAgfVxuXG4gICZfX2dyaWQtaXRlbS1pbWFnZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcblxuICAgIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gICZfX2J0biB7XG4gICAgbWFyZ2luOiAyNHB4IGF1dG8gMDtcbiAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICB9XG59XG5cbi5yYXRlZC1hY2Nlc3NvcmllcyB7XG4gICZfX2hlYWRpbmcge1xuICAgIHNwYW4ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW9mZi13aGl0ZTtcbiAgICB9XG4gIH1cblxuICAmX19ncmlkIHtcbiAgICBtYXJnaW4tYm90dG9tOiA2NXB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwaG9uZS1ob3Jpei10aW55KSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChjdXN0b20tdGFibGV0KSB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICB9XG4gIH1cblxuICAmX19ncmlkLWl0ZW0ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgY29sb3I6ICRjb2xvci1uYXZ5LWJsdWU7XG4gICAgcGFkZGluZzogNTBweCAxMHB4O1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBob25lLWhvcml6LXRpbnkpIHtcbiAgICAgIHdpZHRoOiA0OC40JTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzLjIlO1xuICAgICAgZmxleC1ncm93OiAxO1xuXG4gICAgICAmOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChjdXN0b20tdGFibGV0KSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgd2lkdGg6IGF1dG87XG5cbiAgICAgICY6bnRoLW9mLXR5cGUoMm4rMSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogMy4yJTtcbiAgICAgIH1cblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnByb2R1Y3Qtc2VhcmNoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW9mZi13aGl0ZTtcbiAgcGFkZGluZzogNDBweCA1JTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG5cbiAgICAvKiBQZXJtYWxpbmsgLSB1c2UgdG8gZWRpdCBhbmQgc2hhcmUgdGhpcyBncmFkaWVudDogaHR0cDovL2NvbG9yemlsbGEuY29tL2dyYWRpZW50LWVkaXRvci8jZThlOGU4KzQ1LGY0ZjRmNCs0NSAqL1xuICAgIC8vYmFja2dyb3VuZDogJGNvbG9yLW9mZi13aGl0ZTsgLyogT2xkIGJyb3dzZXJzICovXG4gICAgLy9iYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCAkY29sb3Itb2ZmLXdoaXRlIDY0JSwgJGNvbG9yLWxpZ2h0LWdyZXktMiA2NCUpOyAvKiBGRjMuNi0xNSAqL1xuICAgIC8vYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgJGNvbG9yLW9mZi13aGl0ZSA2NCUsJGNvbG9yLWxpZ2h0LWdyZXktMiA2NCUpOyAvKiBDaHJvbWUxMC0yNSxTYWZhcmk1LjEtNiAqL1xuICAgIC8vYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkY29sb3Itb2ZmLXdoaXRlIDY0JSwkY29sb3ItbGlnaHQtZ3JleS0yIDY0JSk7IC8qIFczQywgSUUxMCssIEZGMTYrLCBDaHJvbWUyNissIE9wZXJhMTIrLCBTYWZhcmk3KyAqL1xuICAgIC8vZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyRjb2xvci1vZmYtd2hpdGUnLCBlbmRDb2xvcnN0cj0nJGNvbG9yLWxpZ2h0LWdyZXktMicsR3JhZGllbnRUeXBlPTEgKTsgLyogSUU2LTkgKi9cblxuICAgIC5jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgLy9tYXgtd2lkdGg6IDk4MHB4O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgcGFkZGluZzogNDBweCAwO1xuICB9XG5cbiAgLnNlYXJjaC1iYXJfX3dyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgbWF4LXdpZHRoOiA2ODBweDtcbiAgICAgIHdpZHRoOiA2NSU7XG5cbiAgICAgICYtLWZ1bGwtd2lkdGgge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zZWFyY2gtYmFyX19mb3JtIHtcbiAgICBwYWRkaW5nOiA0cHggMTZweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgICAgcGFkZGluZzogNHB4IDMycHg7XG4gICAgfVxuICB9XG5cbiAgLnNlYXJjaC1iYXJfX2Zvcm0tc3VibWl0IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGhlaWdodDogMjRweDtcbiAgICB3aWR0aDogMjRweDtcbiAgICB0ZXh0LWluZGVudDogMTAwMCU7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9ncmV5LWxvdXBlLWljb24uc3ZnXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTlweCBhdXRvO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICB9XG5cbiAgJl9fY2hhdC1idXR0b24sICZfX2NvbnRhY3QtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgICAvL3dpZHRoOiAxODBweDtcbiAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgIH1cblxuICAgIC5idG4ge1xuICAgICAgQGluY2x1ZGUgZm9udC1zYW5zKG1lZGl1bSk7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDE1cHggMzBweDtcblxuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcblxuICAgICAgc3BhbntcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgZm9udC1zaXplOiAuOGVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIHAge1xuICAgICAgQGluY2x1ZGUgdG8tZW0oMTJweCk7XG4gICAgICBjb2xvcjogcmdiYSgkdGV4dCwgMC43KTtcbiAgICAgIG1hcmdpbjogMjBweCAwIDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJiArIGRpdiB7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgICAgIC8vd2lkdGg6IDE4MHB4O1xuICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5zdXBwb3J0LWNvbnRlbnQge1xuICBwYWRkaW5nOiA0MHB4IDAgNDBweDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgfVxuXG4gICZfX2l0ZW0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDYwcHg7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItZ3JleTtcbiAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgIHBhZGRpbmctdG9wOiAyNXB4O1xuXG4gICAgICAmLnUtc3R5bGVkLWxpc3Qge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgbGk6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9faXRlbS1oZWFkaW5nIHtcbiAgICBAaW5jbHVkZSBmb250LXNhbnMoYm9sZCk7XG4gICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICAvL2JvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItYm9yZGVyLWdyZXk7XG4gICAgY29sb3I6ICRjb2xvci1icmlsbGlhbnQtcmVkO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICAvL3BhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMzVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgfVxuXG4gICAgJi0tZG9jdW1lbnRhdGlvbjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvZG9jdW1lbnRhdGlvbi1pY29uLnN2Z1wiKTtcbiAgICB9XG5cbiAgICAmLS1kcml2ZXJzOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9kcml2ZXJzLWljb24uc3ZnXCIpO1xuICAgIH1cblxuICAgICYtLXBvbGljaWVzOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9wb2xpY2llcy1pY29uLnN2Z1wiKTtcbiAgICB9XG4gIH1cbn1cblxuLnN1cHBvcnQtY2VydGlmaWNhdGlvbnMge1xuICBwYWRkaW5nLWJvdHRvbTogNDBweDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgcGFkZGluZy1ib3R0b206IDYwcHg7XG4gIH1cblxuICAmX19oZWFkZXIge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuICB9XG5cbiAgJl9faGVhZGluZyB7XG4gICAgQGluY2x1ZGUgZm9udC1zYW5zKGJvbGQpO1xuICAgIEBpbmNsdWRlIHRvLWVtKDMwcHgpO1xuICAgIGNvbG9yOiAkY29sb3ItbmF2eS1ibHVlO1xuICAgIG1hcmdpbjogMDtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxuXG5cbiAgJl9faXRlbXMge1xuXG4gICAgLypAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlMikge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgfSovXG5cbiAgICAuaW1nLWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogNTBweDtcbiAgICAgIGhlaWdodDogNTVweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvIDE1cHg7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIC8vd2lkdGg6IDEwMCU7XG4gICAgICAgIC8vaGVpZ2h0OiBhdXRvO1xuICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgICB3aWR0aDogaW5oZXJpdDtcbiAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2l0ZW0ge1xuICAgIHBhZGRpbmc6IDIwcHggMTBweCAyMHB4OyAvLzQwcHggMzVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itb2ZmLXdoaXRlO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvci1vZmYtd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuXG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXM7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIC8vYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvci1vZmYtd2hpdGUsIDUlKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLW9mZi13aGl0ZSwuNSk7XG4gICAgfVxuXG4gICAgLy8gMiB3aWRlIG9uIHBob25lc1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgICAgLy8gMyB3aWRlIG9uIHZlcnQgdGFibGV0cy5cbiAgICAgIHdpZHRoOiBjYWxjKDMzJSAtIDEuODc1cmVtKSAhaW1wb3J0YW50O1xuICAgICAgLy8gMiB3aWRlIGlzIHRoaXNcbiAgICAgIC8vIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIC8vIDUtd2lkZSBpcyB0aGlzXG4gICAgICB3aWR0aDogY2FsYygyMCUgLSAxLjg3NXJlbSkgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLyomOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCgxMDAgLSAoNCAqIDI0KSkvMykvMTAwKTsgLy8xLjMzJTtcbiAgICAgIHdpZHRoOiA0OC40JTtcbiAgICAgIGZsZXg6IDEgMCA0OC40JTtcblxuICAgICAgJjpudGgtb2YtdHlwZSgybiArIDEpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKC1uICsgMikge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlMikge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgZmxleDogMCAxIDI1JTtcblxuICAgICAgJjpudGgtb2YtdHlwZSgybiArIDEpIHtcbiAgICAgICAgLy9tYXJnaW4tbGVmdDogMy4yJTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCgxMDAgLSAoNCAqIDI0KSkvMykvMTAwKTsgLy8xLjMzJTtcbiAgICAgIH1cblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH0qL1xuXG4gICAgcCB7XG4gICAgICBAaW5jbHVkZSB0by1lbSgxNHB4KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgICB9XG4gIH1cblxuICAmX19pdGVtcy1oZWFkaW5nIHtcbiAgICBAaW5jbHVkZSB0by1lbSgxNHB4KTtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG5cbiAgICBzcGFuIHtcbiAgICAgIGNvbG9yOiAkY29sb3ItbmF2eS1ibHVlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgKyBwIHtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgfVxuICB9XG5cbiAgJl9fYnRuIHtcbiAgICBtYXJnaW46IDQwcHggYXV0byAwO1xuICAgIHBhZGRpbmc6IDM0cHggMDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICAgIHdpZHRoOiA0MDBweDtcbiAgICAgIG1hcmdpbi10b3A6IDgwcHg7XG4gICAgfVxuICB9XG5cbiAgJi40LXdpZGUge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygxMjIwcHggLSAyNTBweCk7XG5cbiAgICAgIC5zdXBwb3J0LWNlcnRpZmljYXRpb25zIHtcbiAgICAgICAgJl9faXRlbSB7XG4gICAgICAgICAgLy8gNC13aWRlIGlzIHRoaXNcbiAgICAgICAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSkgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuXG4gIH1cblxufVxuXG4uc3VwcG9ydC1jb250YWN0IHtcblxuICBiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgLyogUGVybWFsaW5rIC0gdXNlIHRvIGVkaXQgYW5kIHNoYXJlIHRoaXMgZ3JhZGllbnQ6IGh0dHA6Ly9jb2xvcnppbGxhLmNvbS9ncmFkaWVudC1lZGl0b3IvI2U4ZThlOCs0NSxmNGY0ZjQrNDUgKi9cbiAgICBiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTsgLyogT2xkIGJyb3dzZXJzICovXG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgJGxpZ2h0LWdyYXkgMCUsICRsaWdodC1ncmF5IDMwJSwgJHZlcnktbGlnaHQtZ3JheSAzMCUsICR2ZXJ5LWxpZ2h0LWdyYXkgMTAwJSk7IC8qIEZGMy42LTE1ICovXG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgJGxpZ2h0LWdyYXkgMCUsICRsaWdodC1ncmF5IDMwJSwgJHZlcnktbGlnaHQtZ3JheSAzMCUsICR2ZXJ5LWxpZ2h0LWdyYXkgMTAwJSk7IC8qIENocm9tZTEwLTI1LFNhZmFyaTUuMS02ICovXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkbGlnaHQtZ3JheSAwJSwgJGxpZ2h0LWdyYXkgMzAlLCAkdmVyeS1saWdodC1ncmF5IDMwJSwgJHZlcnktbGlnaHQtZ3JheSAxMDAlKTtcbiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nJGxpZ2h0LWdyYXknLCBlbmRDb2xvcnN0cj0nJHZlcnktbGlnaHQtZ3JheScsR3JhZGllbnRUeXBlPTEgKTsgLyogSUU2LTkgKi9cbiAgfVxuXG4gIC5jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAvKiBQZXJtYWxpbmsgLSB1c2UgdG8gZWRpdCBhbmQgc2hhcmUgdGhpcyBncmFkaWVudDogaHR0cDovL2NvbG9yemlsbGEuY29tL2dyYWRpZW50LWVkaXRvci8jZThlOGU4KzQ1LGY0ZjRmNCs0NSAqL1xuICAgICAgYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7IC8qIE9sZCBicm93c2VycyAqL1xuICAgICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgJGxpZ2h0LWdyYXkgMCUsICRsaWdodC1ncmF5IDMwJSwgJHZlcnktbGlnaHQtZ3JheSAzMCUsICR2ZXJ5LWxpZ2h0LWdyYXkgMTAwJSk7IC8qIEZGMy42LTE1ICovXG4gICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAkbGlnaHQtZ3JheSAwJSwgJGxpZ2h0LWdyYXkgMzAlLCAkdmVyeS1saWdodC1ncmF5IDMwJSwgJHZlcnktbGlnaHQtZ3JheSAxMDAlKTsgLyogQ2hyb21lMTAtMjUsU2FmYXJpNS4xLTYgKi9cbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJGxpZ2h0LWdyYXkgMCUsICRsaWdodC1ncmF5IDMwJSwgJHZlcnktbGlnaHQtZ3JheSAzMCUsICR2ZXJ5LWxpZ2h0LWdyYXkgMTAwJSk7XG4gICAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nJGxpZ2h0LWdyYXknLCBlbmRDb2xvcnN0cj0nJHZlcnktbGlnaHQtZ3JheScsR3JhZGllbnRUeXBlPTEgKTsgLyogSUU2LTkgKi9cbiAgICB9XG4gIH1cblxuICAmX19pbm5lci1ibG9jayB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JheTtcbiAgICBwYWRkaW5nOiAxMHB4IDEwcHggMTBweCA3NXB4O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiA0MHB4IDQwcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTVweCBjZW50ZXI7XG4gICAgaGVpZ2h0OiA3MHB4O1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW46IDAgMCAxMHB4IDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIG1hcmdpbjogMDtcblxuICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luOiAwIDEwcHggMCAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHBhZGRpbmc6IDEwcHggMTBweCAxMHB4IDkwcHg7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAyNXB4IGNlbnRlcjtcblxuICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAyMHB4O1xuICAgICAgfVxuXG4gICAgICBtYXJnaW46IDAgMCAwIDIwcHg7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gICZfX2Jsb2NrIHtcbiAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTJweCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG5cbiAgICAmX19oZWFkaW5nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgY29sb3I6ICR2ZXJ5LWRhcmstYmx1ZTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0cHgpO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICAmLS1jYWxsIHtcbiAgICAgIGZsZXg6IDEgMCAxMDAlO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGZsZXg6IDAgMSAyNSU7XG4gICAgICB9XG5cbiAgICAgIHAge1xuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtLWNoYXQtZW1haWwge1xuICAgICAgZmxleDogMSAwIDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR2ZXJ5LWxpZ2h0LWdyYXk7XG4gICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgfVxuXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcbiAgICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICB9XG5cbiAgICAmLS1jaGF0IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvaWNvbi1jb250YWN0LWNoYXQuc3ZnXCIpO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgaDIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycHg7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tZW1haWwge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9pY29uLWNvbnRhY3QtZW1haWwuc3ZnXCIpO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgaDIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycHg7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICAvKiZfX2l0ZW1zIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGN1c3RvbS10YWJsZXQpIHtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3ItYm9yZGVyLWdyZXk7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiA1NXB4IDA7XG4gICAgfVxuICB9Ki9cblxuICAmX19pdGVtIHtcbiAgICBjb2xvcjogJGNvbG9yLW5hdnktYmx1ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXRvcDogMDtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoY3VzdG9tLXRhYmxldCkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDkwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICBtYXJnaW4tbGVmdDogMTgwcHg7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gNDVweDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAtMjJweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgd2lkdGg6IDQ1cHg7XG4gICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgfVxuXG4gICAgJi0tYWNjb3VudHM6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc3ZnL2VtYWlsLWFjY291bnRzLWljb24uc3ZnXCIpO1xuICAgIH1cblxuICAgICYtLXN1cHBvcnQ6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc3ZnL3N1cHBvcnQtaWNvbi5zdmdcIik7XG4gICAgfVxuXG4gICAgJi0tc2FsZXM6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc3ZnL3NhbGVzLWljb24uc3ZnXCIpO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ib3JkZXItZ3JleTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogNDBweDtcbiAgICAgIGxlZnQ6IC05MHB4O1xuICAgICAgbWFyZ2luLXRvcDogLTIwcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHdpZHRoOiAxcHg7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoY3VzdG9tLXRhYmxldCkge1xuICAgICAgICBsZWZ0OiAtNDVweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gICZfX2l0ZW0taGVhZGluZyB7XG4gICAgQGluY2x1ZGUgZm9udC1zYW5zKGJvbGQpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAmX19pdGVtLWVtYWlsIHtcbiAgICBAaW5jbHVkZSB0by1lbSgxMnB4KTtcbiAgfVxuXG4gICZfX2hlYWRpbmcge1xuICAgIC8vbWFyZ2luLXRvcDogNTVweDtcbiAgfVxuXG4gIC51LWNlbnRlci1ib3JkZXIge1xuICAgIHVsIHtcbiAgICAgIG1heC13aWR0aDogOTYwcHg7XG4gICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgfVxuXG5cbiAgICAgIGxpIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1ZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206NXB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uc3VwcG9ydC10YWJsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICB3aWR0aDogMTAwJTtcblxuICAmX190YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgJl9fdGgge1xuICAgIEBpbmNsdWRlIHRvLWVtKDE0cHgpO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkY29sb3ItbmF2eS1ibHVlO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyAvLyBnZXRzIG92ZXJyaWRkZW5cbiAgfVxuXG4gICZfX2NlbGwge1xuICAgIEBpbmNsdWRlIHRvLWVtKDE0cHgpO1xuICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAmLS1wYWRkaW5nIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgfVxuICB9XG5cbiAgJl9fZG93bmxvYWRzLCAmX19kb3dubG9hZHMtLXVudmVyc2lvbmVkIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG5cbiAgJl9fcmVsZWFzZSB7XG4gIH1cblxuICAmX19kcml2ZXItZmlsZXNpemUge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cblxuICAmX19wcm9kdWN0LCAmX19wcm9kdWN0LS11bnZlcnNpb25lZCB7XG4gICAgd2lkdGg6IDE5MHB4O1xuICB9XG5cbiAgJl9fYnRuIHtcbiAgICAuYnRuIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICBwYWRkaW5nOiA4cHggMDtcbiAgICAgIHdpZHRoOiAxOTBweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvOyBcbiAgICB9XG4gIH1cblxuICAuYy1hY2NvcmRpb25fX2NvbnRlbnQtLXRhYmxlICYge1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuXG4gICAgJl9fdGgge1xuICAgICAgQGluY2x1ZGUgdG8tZW0oMTJweCk7XG4gICAgfVxuXG4gICAgdGFibGUge1xuICAgICAgdGJvZHkge1xuICAgICAgICB0ciB7XG4gICAgICAgICAgdGQge1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRvLWVtKDEycHgpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuXG5cbiIsImJvZHkucGFnZS10ZW1wbGF0ZS1wYWdlLWJhc2ljLWNvbnRlbnQgLmJhc2ljLWNvbnRlbnQtd3JhcHBlciB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoY3VzdG9tLXRhYmxldCl7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6IDEyMjBweDtcbiAgICB3aWR0aDogOTAlO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG4gICAgLmNvbnRlbnQtbWFpbiB7XG4gICAgICBtYXgtd2lkdGg6IDkyMHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMTAwcHg7XG4gICAgICBmbGV4OiAwIDEgYXV0bztcblxuICAgICAgLmNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ucHJvZHVjdC1zdXBwb3J0LWNvbnRlbnQge1xuICAmX193cmFwcGVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgICAuY29udGFpbmVyIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICAgICAgLy9kaXNwbGF5OiBmbGV4O1xuICAgICAgICAvL2FsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAvL2p1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19jb250ZW50LCAmX193cmFwcGVyIC5mbGV4aWJsZS1jb250ZW50LXdyYXBwZXIge1xuICAgIC8vQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgIC8vICBtYXgtd2lkdGg6IDg4MHB4O1xuICAgIC8vICBwYWRkaW5nLXJpZ2h0OiAxMDBweDtcbiAgICAvLyAgZmxleDogMSAwIGF1dG87XG4gICAgLy99XG5cbiAgICAmLm5vLXNpZGViYXIge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIEBpbmNsdWRlIHRvLWVtKDE1cHgpO1xuICAgICAgbGluZS1oZWlnaHQ6IDE5MCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBjb2xvcjogJGNvbG9yLWJyaWxsaWFudC1yZWQ7XG4gICAgICBtYXJnaW46IC44NWVtIDA7XG4gICAgICBAaW5jbHVkZSB0by1lbSgyNXB4KTtcbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICBAaW5jbHVkZSBmb250LXNhbnMoYm9sZCk7XG4gICAgICBjb2xvcjogJGNvbG9yLWJyaWxsaWFudC1yZWQ7XG4gICAgICBtYXJnaW46IC44NWVtIDA7XG4gICAgICBAaW5jbHVkZSB0by1lbSgyMHB4KTtcbiAgICB9XG5cbiAgICBoNCB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICAgICAgbWFyZ2luOiAuNWVtIDA7XG4gICAgICBAaW5jbHVkZSB0by1lbSgxNnB4KTtcbiAgICB9XG5cbiAgICBoNSB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICAgICAgbWFyZ2luOiAuNWVtIDA7XG4gICAgICBAaW5jbHVkZSB0by1lbSgxNXB4KTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkY29sb3ItYnJpbGxpYW50LXJlZDtcbiAgICB9XG5cbiAgICB1bDpub3QoLnUtc3R5bGVkLWxpc3QpLCBvbDpub3QoLnUtc3R5bGVkLWxpc3QpIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDAgMCAyNXB4IDQwcHg7XG4gICAgICBAaW5jbHVkZSB0by1lbSgxNXB4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOTAlO1xuXG4gICAgICBsaSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDhweDtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnUtc3R5bGVkLWxpc3Qge1xuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItbmF2eS1ibHVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2FzaWRlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itb2ZmLXdoaXRlO1xuICAgIHBhZGRpbmc6IDMwcHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGN1c3RvbS10YWJsZXQpIHtcbiAgICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgIG1hcmdpbi10b3A6IDgwcHg7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBAaW5jbHVkZSB0by1lbSgxNHB4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgICYgKyBwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudS1zdHlsZWQtbGlzdCB7XG4gICAgICBtYXJnaW46IDA7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgQGluY2x1ZGUgdG8tZW0oMTVweCk7XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBhIHtcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgIGNvbG9yOiAkY29sb3ItYnJpbGxpYW50LXJlZDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmICsgLnNpZGViYXItb3Blbi1jb250ZW50IHAge1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgfVxuXG4gICAgfVxuICB9XG5cbiAgLy9mb3IgdGhlIGZsZXggY29udGVudCBzdHVmZlxuICAmX193cmFwcGVyIHtcbiAgICAuZmxleGlibGUtY29udGVudCB7XG5cbiAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgLmNvbnRhaW5lciB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy9ub3cgdGhlIG92ZXJyaWRlc1xuICAgICAgJi5hY2NvcmRpb25zIHtcbiAgICAgICAgcGFkZGluZzogMzBweCAwO1xuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIEBpbmNsdWRlIHRvLWVtKDIwcHgpO1xuICAgICAgICAgIGNvbG9yOiAkY29sb3ItYnJpbGxpYW50LXJlZDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jLWFjY29yZGlvbiB7XG5cbiAgICAgICAgICAmX19pdGVtcyB7XG5cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmX19pdGVtIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDI1cHggMCA1cHg7XG5cbiAgICAgICAgICAgICYtaGVhZGluZyB7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRvLWVtKDE2cHgpO1xuICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLW5hdnktYmx1ZTtcbiAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmJsb2NrLWNhcm91c2VsIHtcbiAgICAgICAgcGFkZGluZzogMzBweCAwO1xuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIEBpbmNsdWRlIHRvLWVtKDIwcHgpO1xuICAgICAgICAgIGNvbG9yOiAkY29sb3ItYnJpbGxpYW50LXJlZDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ibG9jay1jYXJvdXNlbF9fY2Fyb3VzZWwge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5idWxsZXRpbi1wb2ludHMge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIHBhZGRpbmc6IDYwcHggMzBweDtcblxuICAgICAgICBoMiB7XG4gICAgICAgICAgQGluY2x1ZGUgdG8tZW0oMzVweCk7XG4gICAgICAgIH1cblxuICAgICAgICBhLmJ0biB7XG4gICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItbmF2eS1ibHVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmNsaWVudC1jYXJvdXNlbCB7XG5cbiAgICAgIH1cblxuICAgICAgJi5jb21wYW55LWdyaWQge1xuICAgICAgICBwYWRkaW5nOiAzMHB4IDA7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6ICRjb2xvci1uYXZ5LWJsdWU7XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYub3Blbi10ZXh0IHtcbiAgICAgICAgcGFkZGluZzogMzBweCAwO1xuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIEBpbmNsdWRlIHRvLWVtKDIwcHgpO1xuICAgICAgICAgIGNvbG9yOiAkY29sb3ItYnJpbGxpYW50LXJlZDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm1haW4tY29udGFpbmVyIHtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHA6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYucHJvZHVjdC1jb21wYXJlIHtcbiAgICAgICAgcGFkZGluZzogMzBweCAwO1xuXG4gICAgICAgIC5wcm9kdWN0LWNvbXBhcmVfX2hlYWRlciB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgfVxuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIEBpbmNsdWRlIHRvLWVtKDIwcHgpO1xuICAgICAgICAgIGNvbG9yOiAkY29sb3ItYnJpbGxpYW50LXJlZDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tb25pdG9yLXRhYmxlIHtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYucHJvZHVjdC1ncm91cHMge1xuICAgICAgICBoMiB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICBAaW5jbHVkZSB0by1lbSgyMHB4KTtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yLWJyaWxsaWFudC1yZWQ7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb250YWluZXIge1xuICAgICAgICAgIHBhZGRpbmc6IDMwcHggMDtcblxuICAgICAgICAgIC5wcm9kdWN0LWdyb3Vwc19fZ3JpZCB7XG4gICAgICAgICAgICBtYXJnaW46IDAgLTdweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAucHJvZHVjdC1ncm91cHNfX2dyaWQtaXRlbSB7XG4gICAgICAgICAgICBwYWRkaW5nOiA3cHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgICAgICYtaGVhZGluZyB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMjBweDtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgdG8tZW0oMTZweCk7XG4gICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItbmF2eS1ibHVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLWNhcHRpb24ge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwIDIwcHggMTVweDtcbiAgICAgICAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRvLWVtKDEzcHgpO1xuICAgICAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDVweCA1cHg7XG5cbiAgICAgICAgICAgICAgLnUtc3R5bGVkLWxpc3QgbGksIC53eXNpd3lnIHVsIGxpLCAud3lzaXd5ZyBvbCBsaSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTVweDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLWltYWdlIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4gICAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkICRsaWdodC1ncmF5O1xuICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHggNXB4IDAgMDtcbiAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJvZHVjdC1ncm91cHNfX2J0biB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1uYXZ5LWJsdWU7XG4gICAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkICRsaWdodC1ncmF5O1xuICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgNXB4IDVweDtcbiAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnJlbGF0ZWQtcHJvZHVjdHMge1xuICAgICAgICBwYWRkaW5nOiAzMHB4IDA7XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgQGluY2x1ZGUgdG8tZW0oMjBweCk7XG4gICAgICAgICAgY29sb3I6ICRjb2xvci1icmlsbGlhbnQtcmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgLnJlbGF0ZWQtcHJvZHVjdHNfX2l0ZW0tZ3JpZCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC03cHg7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtN3B4O1xuXG4gICAgICAgICAgLnJlbGF0ZWQtcHJvZHVjdHNfX2l0ZW0ge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDdweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogN3B4O1xuXG4gICAgICAgICAgICB3aWR0aDogY2FsYygyNSUgLSAxNHB4KTtcblxuICAgICAgICAgICAgaDQge1xuICAgICAgICAgICAgICBmb250LXNpemU6IC44ZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYudGV4dC10aWxlcyB7XG4gICAgICAgIHBhZGRpbmc6IDMwcHggMDtcblxuICAgICAgICBoMiB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICBAaW5jbHVkZSB0by1lbSgyMHB4KTtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yLWJyaWxsaWFudC1yZWQ7XG4gICAgICAgIH1cblxuICAgICAgICAudGV4dC10aWxlX19saW5rIHtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yLW5hdnktYmx1ZTtcblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi50aW1lbGluZSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgcGFkZGluZzogNjBweCAzMHB4O1xuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICBAaW5jbHVkZSB0by1lbSgzNXB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICB9XG59XG5cbi5zdXBwb3J0LWRvd25sb2Fkc19faXRlbSA+IC5jLWFjY29yZGlvbl9fY29udGVudC0tdGFibGUge1xuICBtYXJnaW4tbGVmdDogMjBweDtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xufVxuIiwiLnByb2R1Y3QtY2F0ZWdvcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itb2ZmLXdoaXRlO1xuICBwYWRkaW5nOiA0MHB4IDAgMDtcblxuICAmX19ncmlkIHtcblxuICB9XG5cbiAgJl9fZ3JpZC1pdGVtIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICB9XG5cbiAgLy8gRWFjaCBibG9ja1xuICAmX19ncmlkLWNhdGVnb3J5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgYm9yZGVyOiAzcHggc29saWQgJGNvbG9yLXdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIGZsZXgtZ3JvdzogMTtcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gIH1cblxuICAmX19ncmlkLWl0ZW0taW1hZ2Uge1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweCAzcHggMCAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAmX19ncmlkLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDMwcHg7XG5cbiAgICBwIHtcbiAgICAgIEBpbmNsdWRlIHRvLWVtKDEzcHgpO1xuICAgIH1cbiAgfVxuXG4gICZfX2dyaWQtaGVhZGluZyB7XG4gICAgQGluY2x1ZGUgdG8tZW0oMjVweCk7XG4gICAgY29sb3I6ICRjb2xvci1uYXZ5LWJsdWU7XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkY29sb3ItbmF2eS1ibHVlO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDQwMG1zO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1icmlsbGlhbnQtcmVkO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2dyaWQtbmF2IHtcblxuICAgIG1hcmdpbi1sZWZ0OiAtMnB4O1xuICAgIG1hcmdpbi1yaWdodDogLTJweDtcblxuXG4gICAgPiBkaXYge1xuICAgICAgcGFkZGluZzogMnB4O1xuICAgIH1cblxuICAgIGEge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWJvcmRlci1ncmV5O1xuICAgICAgY29sb3I6ICR0ZXh0O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0cmFuc2l0aW9uOiBlYXNlIGFsbCAwLjNzO1xuXG4gICAgICBzcGFuIHtcbiAgICAgICAgQGluY2x1ZGUgdG8tZW0oMTRweCwgMThweCk7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItYm9yZGVyLWdyZXk7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbmF2eS1ibHVlO1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvci1uYXZ5LWJsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICAmX19hY2Nlc3NvcnktZ3JpZCB7XG4gICAgQGluY2x1ZGUgdG8tZW0oMTZweCk7XG4gICAgQGluY2x1ZGUgZm9udC1zYW5zKGJvbGQpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tbGVmdDogLTVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC01cHg7XG4gICAgbWFyZ2luLXRvcDogMjVweDtcbiAgfVxuXG4gICZfX2FjY2Vzc29yeS1ncmlkLWl0ZW0ge1xuICAgIGNvbG9yOiAkY29sb3ItbmF2eS1ibHVlO1xuICAgIHBhZGRpbmc6IDVweDtcblxuICAgICY6aG92ZXIge1xuICAgICAgaW1nIHtcbiAgICAgICAgLy90cmFuc2Zvcm06IHNjYWxlKDEuMDEpO1xuICAgICAgICAvL2JveC1zaGFkb3c6IDAgNXB4IDI1cHggMCByZ2JhKDAsMCwwLC4yKTtcbiAgICAgICAgb3BhY2l0eTogLjk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itb2ZmLXdoaXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgLy90cmFuc2l0aW9uOiBhbGwgNDAwbXM7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICAmLnRpdGxlIHtcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGZvbnQtc2l6ZTogLjllbTtcbiAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgIGNvbG9yOiAkY29sb3ItbmF2eS1ibHVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgZmlndXJlIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDZweCA2cHggMCAwO1xuICAgICAgYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYm9yZGVyLXJhZGl1czogNnB4IDZweCAwIDA7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgNDAwbXM7XG4gICAgfVxuICB9XG5cbiAgLnRvcC1ibG9jay13cmFwcGVyIHsvL3RoaXMgaXMgb3ZlcnJpZGluZyB0aGUgZGVmYXVsdCBncmlkIGJlaGF2aW91clxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbHVtbnM6IDQwMHB4IDI7XG5cbiAgICAudG9wLWJsb2NrIHtcbiAgICAgIHdpZHRoOiAxMDAlIWltcG9ydGFudDtcbiAgICAgIGJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgcGFkZGluZzogM3B4O1xuICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuXG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuc29sdXRpb25zLWdhbGxlcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itb2ZmLXdoaXRlO1xuICBwYWRkaW5nLWJvdHRvbTogODBweDtcblxuICAubWFzb24tc2l6ZXIge1xuICAgIHdpZHRoOiAoMS8xMiAqIDEwMCUpO1xuICB9XG5cbiAgJl9faGVhZGVyIHtcbiAgICBwYWRkaW5nOiA0MHB4IDAgMzBweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cblxuICAgIC5jdXN0b20tc2VsZWN0IHtcbiAgICAgIEBpbmNsdWRlIHRvLWVtKDE1cHgpO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWJvcmRlci1ncmV5O1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9wbmcvYmx1ZS1zZWxlY3QtYXJyb3ctZG93bi5wbmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA5MCUgY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxM3B4IGF1dG87XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXG4gICAgICBzZWxlY3Qge1xuICAgICAgICBjb2xvcjogJGNvbG9yLW5hdnktYmx1ZTtcbiAgICAgICAgcGFkZGluZzogMTJweCA3NXB4IDEwcHggMTVweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19uYXYge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIEBpbmNsdWRlIHRvLWVtKDE0cHgpO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBjb2xvcjogJGNvbG9yLW5hdnktYmx1ZTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IC04cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9ibHVlLWNsb3NlLWljb24uc3ZnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fZ3JpZCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICAgIG1hcmdpbi1yaWdodDogLTEwcHg7XG4gIH1cblxuICAmX19ncmlkLWltYWdlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAvLyBLaWNrcyBpbiBhdCB0YWJsZXRcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuICAgICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19ncmlkLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDAgMTBweCAwO1xuICB9XG5cbiAgJl9fZ3JpZC1pdGVtIHtcbiAgICAvL2JvcmRlcjogMjBweCBzb2xpZCAjMzMzOyAvLyBzaG91bGQgYmUgJGNvbG9yLXdoaXRlIGJ1dCBkYXJrZW5lZCBmb3IgY29udHJhc3RcbiAgICBwYWRkaW5nOiAwcHggMTBweCAyMHB4O1xuICAgIGhlaWdodDogNjIwcHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgIC5ncmlkLWl0ZW0tY29udGVudCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwYWRkaW5nOiAyMHB4O1xuICAgIH1cblxuICAgICYucXVhcnRlciB7XG4gICAgICB3aWR0aDogMjUlO1xuICAgIH1cblxuICAgICYudGhpcmQge1xuICAgICAgd2lkdGg6IDMzLjMlO1xuICAgIH1cblxuICAgICYuaGFsZiB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgIH1cblxuICAgICYudHdvLXRoaXJkIHtcbiAgICAgIHdpZHRoOiA2Ni42JTtcbiAgICB9XG5cbiAgICAmLnRocmVlLXF1YXJ0ZXIge1xuICAgICAgd2lkdGg6IDc1JTtcbiAgICB9XG5cbiAgICAmLmZ1bGwge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzcHgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcblxuICAgICAgLnNvbHV0aW9ucy1nYWxsZXJ5X19ncmlkLWltYWdlIHtcbiAgICAgICAgICAvL2hlaWdodDogMzM1cHg7IC8vIHdhcyAyMjVcbiAgICAgIH1cblxuICAgICAgLy8gV2hlbiB3ZSBhcmUgc2hvd2luZyB0d28tdGhpcmRzLCB0aHJlZS1xdWFydGVyLCBhbmQgZnVsbCwgY2hhbmdlIHRoZSBvcmRlciBvZiBpbnRlcm5hbHMgc28gdGhlIGltYWdlIGlzIG9uIHRoZSByaWdodC5cbiAgICAgICYucmlnaHRzaWRlIHtcblxuICAgICAgICAuc29sdXRpb25zLWdhbGxlcnlfX2dyaWQtY29udGVudCB7XG4gICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgIHdpZHRoOiAzOCU7XG4gICAgICAgIH1cblxuICAgICAgICAuc29sdXRpb25zLWdhbGxlcnlfX2dyaWQtaW1hZ2Uge1xuICAgICAgICAgIGZsZXgtZ3JvdzogMjtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoNTMlIC0gMjBweCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgJi50b3BzaWRlIHtcbiAgICAgICAgLy93aWR0aDogY2FsYyg0MCUgLSAyMHB4KTtcblxuICAgICAgICAuc29sdXRpb25zLWdhbGxlcnlfX2dyaWQtaW1hZ2Uge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiA3MCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi50d28tdGhpcmQge1xuICAgICAgICAvL3dpZHRoOiBjYWxjKDU4JSAtIDIwcHgpO1xuXG4gICAgICAgIC5zb2x1dGlvbnMtZ2FsbGVyeV9fZ3JpZC1pbWFnZSB7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYucmlnaHRzaWRlIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICAgIC5ncmlkLWl0ZW0tY29udGVudCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5zb2x1dGlvbnMtZ2FsbGVyeV9fZ3JpZC1jb250ZW50IHtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgIHdpZHRoOiAzOCU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLnNvbHV0aW9ucy1nYWxsZXJ5X19ncmlkLWltYWdlIHtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMjtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgICAgICB3aWR0aDogNTMlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmZ1bGwge1xuICAgICAgICAuc29sdXRpb25zLWdhbGxlcnlfX2dyaWQtY29udGVudCB7XG4gICAgICAgICAgd2lkdGg6IDIyJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zb2x1dGlvbnMtZ2FsbGVyeV9fZ3JpZC1pbWFnZSB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoNzglIC0gMjBweCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19ncmlkLWhlYWRpbmcge1xuICAgIEBpbmNsdWRlIHRvLWVtKDE4cHgpO1xuICAgIGNvbG9yOiAkY29sb3ItYnJpbGxpYW50LXJlZDtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICB9XG5cbiAgJl9fZ3JpZC1idWlsZCB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoJGNvbG9yLWJvcmRlci1ncmV5LCAwLjIpO1xuICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuXG4gICAgdWwge1xuICAgICAgbWFyZ2luOiAxNXB4IDEwcHggMDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIEBpbmNsdWRlIHRvLWVtKDE0cHgpO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG59XG4iLCJib2R5LmJsb2csIGJvZHkuYXJjaGl2ZSB7IC8vYmxvZyBsYW5kaW5nXG4gIGFzaWRlIHtcbiAgICBoMyB7XG4gICAgICBjb2xvcjogJGNvbG9yLWJyaWxsaWFudC1yZWQ7XG4gICAgICBAaW5jbHVkZSB0by1lbSgxNHB4KTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItYm9yZGVyLWdyZXk7XG4gICAgICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gICAgICBwYWRkaW5nOiAwIDAgMTBweCAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBhIHtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1haW4tZ3JpZCB7XG4gICAgLmJyZWFkY3J1bWJzX19uYXYge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyNXB4O1xuICAgICAgLy93aWR0aDogMTAwJTtcbiAgICAgIC8vYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1kYXJrLW5hdnktYmx1ZTtcbiAgICB9XG5cbiAgICAuYmxvZy1sYW5kaW5nLWl0ZW0ge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItZ3JleTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICAgIGNsZWFyOiBib3RoO1xuXG4gICAgICBhcnRpY2xlIHtcbiAgICAgICAgaGVhZGVyIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLW5hdnktYmx1ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBoMiB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0by1lbSgyNXB4KTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLW5hdnktYmx1ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0aW1lIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogLjc1ZW07XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcC5ieWxpbmUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAuNzVlbTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC12ZXJ0KSB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICBjb250ZW50OiBcInxcIjtcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuXG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZW50cnktY29udGVudCB7XG4gICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgICAgaW1nLCBmaWd1cmUsIGgxLCBoMixoMyxoNCxoNSxoNix1bCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5ibG9nLXRodW1ibmFpbCB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAvL3BhZGRpbmctdG9wOiA1MCU7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMjBweCAwO1xuICAgICAgICAgIGZsb2F0OiByaWdodDtcblxuXG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtdmVydCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDMwcHggMzBweDtcbiAgICAgICAgICAgIC8vcGFkZGluZy10b3A6IDIwJTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJiArIGFydGljbGUge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDUwcHg7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItZ3JleTtcbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmJvZHkuc2luZ2xlLXBvc3Qge1xuICAuYmFjay10by1saW5rIHtcbiAgICBAaW5jbHVkZSB0by1lbSgxMnB4KTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcblxuICAgIGEge1xuICAgICAgY29sb3I6ICRjb2xvci1uYXZ5LWJsdWU7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLihpBcIjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuc2luZ2xlLXBvc3QtY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNjBweDtcbiAgICAubWFpbi1ncmlkIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICBoZWFkZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICAgaDEge1xuICAgICAgICBAaW5jbHVkZSB0by1lbSg0MHB4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEyMCU7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItbmF2eS1ibHVlO1xuICAgICAgfVxuXG4gICAgICB0aW1lIHtcbiAgICAgICAgZm9udC1zaXplOiAuNzVlbTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuXG4gICAgICBwLmJ5bGluZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogLjc1ZW07XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpe1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcInxcIjtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIHBhZGRpbmc6IDAgMTVweDtcblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpe1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGFzaWRlIHtcbiAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICAgIGZvbnQtc2l6ZTogLjg1ZW07XG5cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXZlcnQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgZGl2IHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIH1cblxuICAgIGgzIHtcbiAgICAgIGNvbG9yOiAkY29sb3ItYnJpbGxpYW50LXJlZDtcbiAgICAgIEBpbmNsdWRlIHRvLWVtKDE0cHgpO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItZ3JleTtcbiAgICAgIG1hcmdpbjogMCAwIDIwcHggMDtcbiAgICAgIHBhZGRpbmc6IDAgMCAxMHB4IDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIHVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgZm9udC1zaXplOiAuODVlbTtcblxuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgICBhIHtcbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmNvbW1lbnRzLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogNjBweDtcbiAgICBzZWN0aW9uI2NvbW1lbnRzIHtcbiAgICAgIGgzIHtcbiAgICAgICAgQGluY2x1ZGUgdG8tZW0oMjBweCk7XG4gICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAkY29sb3ItbmF2eS1ibHVlO1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDAgMCAwO1xuICAgICAgICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItYnJpbGxpYW50LXJlZDtcbiAgICAgIH1cblxuICAgICAgb2wuY29tbWVudC1saXN0IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICBtYXJnaW46IDAgMCAyNXB4O1xuICAgICAgICAgIHBhZGRpbmc6IDAgMCAyNXB4O1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItYm9yZGVyLWdyZXk7XG4gICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgICAgICAgIC5jb21tZW50LWJvZHkge1xuICAgICAgICAgICAgLmNvbW1lbnQtYXV0aG9yIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgZmxleDogMCAxIDQwcHg7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAuYXV0aG9yLW1ldGEge1xuICAgICAgICAgICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IC44ZW07XG5cbiAgICAgICAgICAgICAgICBjaXRlIHtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCA1cHg7XG5cbiAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItbmF2eS1ibHVlO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aW1lIHtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCA1cHg7XG5cbiAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLW5hdnktYmx1ZTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc2VjdGlvbi5jb21tZW50IHtcbiAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuXG4gICAgICAgICAgICAgIHAge31cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnJlcGx5IHtcbiAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICAgICAgICAgICAgICBmb250LXNpemU6IC42ZW07XG4gICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLW5hdnktYmx1ZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1uYXZ5LWJsdWU7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zO1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1uYXZ5LWJsdWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmNoaWxkcmVuIHtcbiAgICAgICAgICAgIG1hcmdpbjogMzBweCAwIDAgNjBweDtcblxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgc2VjdGlvbiNyZXNwb25kIHtcbiAgICAgIGgzIHtcbiAgICAgICAgQGluY2x1ZGUgdG8tZW0oMjBweCk7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMCAwIDIwcHggMDtcbiAgICAgICAgY29sb3I6ICRjb2xvci1icmlsbGlhbnQtcmVkO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIHAuY2FuY2VsLWNvbW1lbnQtcmVwbHkge31cblxuICAgICAgI2NvbW1lbnRmb3JtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBtYXJnaW46IDAgLTEwcHg7XG5cbiAgICAgICAgcCB7Ly90aGlzIGlzIGxpa2UgYSBmaWVsZCBncm91cFxuICAgICAgICAgIGZsZXg6IDEgMCA1MCU7XG4gICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuXG4gICAgICAgICAgJi5jb2wtMTIge1xuICAgICAgICAgICAgZmxleDogMSAwIDEwMCU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJiNhbGxvd2VkX3RhZ3Mge1xuICAgICAgICAgICAgZmxleDogMSAwIDEwMCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuc3VibWl0LXJvdyB7XG4gICAgICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogLjdlbTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1uYXZ5LWJsdWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDI1cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IC45ZW07XG4gICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItZ3JleTtcblxuICAgICAgICAgICAgJlt0eXBlPXN1Ym1pdF0ge1xuICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGV4dGFyZWEge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDI1cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IC45ZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDE1MHB4O1xuICAgICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItYm9yZGVyLWdyZXk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcC5hbGxvd2VkX3RhZ3Mge1xuICAgICAgICAgIGNvZGUge31cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiI2NvbmZpZ3VyYXRvck1vZGFsIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBkaXYge1xuICAgICAgICBtYXJnaW46IDE1cHg7XG5cbiAgICAgICAgJi5oMyB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWJyaWxsaWFudC1yZWQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLmg0IHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItbmF2eS1ibHVlO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICBwIHtcbiAgICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgICAgICAgY29sb3I6ICRkYXJrLWdyYXk7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuODtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB9XG5cbn0iLCIucGFnZS10ZW1wbGF0ZS10aHJlZS1zaG93Y2FzZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHZlcnktbGlnaHQtZ3JheTtcbn1cblxuLnRocmVlLXNob3djYXNlIHtcbiAgICAmX19jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGdhcDogMjBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG4gICAgfVxuXG4gICAgJl9faW50cm8ge1xuICAgICAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXgtd2lkdGg6IDgwMHB4O1xuICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICBtYXJnaW46IDYwcHggYXV0byA0MHB4O1xuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgQGluY2x1ZGUgdG8tZW0oMThweCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjhweDtcblxuICAgICAgICB9XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1kYXJrLW5hdnktYmx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NhcmQge1xuICAgICAgICBmbGV4OiAxIDE7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAmX19pbWFnZS13cmFwcGVyIHtcbiAgICAgICAgICAgIC8vcGFkZGluZy10b3A6IDY3JTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1saWdodC1ncmV5LTI7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBoZWlnaHQ6IDI1NXB4O1xuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbGlnaHQtZ3JleS0yO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcblxuICAgICAgICAgICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAmX19nYWxsZXJ5IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgZ2FwOiA2cHggNXB4O1xuICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDEwcHggMjBweDtcblxuICAgICAgICAgICAgXG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMjAlIC0gNHB4KTsgLy8gNSBhY3Jvc3MsIGlmIHBvc3NpYmxlLlxuICAgICAgICAgICAgICAgIGhlaWdodDogNDJweDtcbiAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xuXG4gICAgICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQ2cHg7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvci1kYXJrLW5hdnktYmx1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX190aXRsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0by1lbSgzMHB4KTtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItbmF2eS1ibHVlO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDI0cHggMTVweDtcblxuICAgICAgICB9XG5cbiAgICAgICAgJl9fdGV4dCB7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAyNHB4IDQ1cHg7XG4gICAgICAgICAgICBAaW5jbHVkZSB0by1lbSgxM3B4KTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLmJ0biB7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG8gMjRweCAwO1xuXG4gICAgICAgICAgICAmLmJ0bi0tY3VzdG9taXplIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYnJpbGxpYW50LXJlZDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0by1lbSgxMHB4KTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjNweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAxNHB4O1xuICAgICAgICAgICAgICAgIHRvcDogMTRweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAzLjVweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA3cHg7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYnJpbGxpYW50LXJlZDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjNweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIvLyBQYWdlIGhlYWRlclxuLmZyb250LWhlcm8ge1xuICAubWFya2V0aW5nIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcig1NXJlbSk7XG4gICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9kZW1vL2hlcm8tYmctZm91bmRhdGlvbi02LXNtYWxsLnN2ZycpIGJvdHRvbSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b207XG4gICAgcGFkZGluZzogcmVtLWNhbGMoNjUlKSAwO1xuICAgIG1hcmdpbjogMCAwIHJlbS1jYWxjKDMyKTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2RlbW8vaGVyby1iZy1mb3VuZGF0aW9uLTYtbGFyZ2Uuc3ZnJykgYm90dG9tIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDY4NSk7XG4gICAgbWFyZ2luOiAwIDAgcmVtLWNhbGMoNzIpO1xuICB9XG5cbiAgLndhdGNoIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKDcpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKDEyKTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAjQjRDOUQxO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMjApO1xuICAgIH1cblxuICAgIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxuXG4gICAgI3N0YXJnYXplcnMge1xuICAgICAgOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxmMDliXCI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gICAgICAgIGNvbG9yOiAjQjRDOUQxO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDgpO1xuICAgICAgfVxuICAgIH1cblxuICAgICN0d2l0dGVyIHtcbiAgICAgIDpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlxcZjA5OVwiO1xuICAgICAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAgICAgICBjb2xvcjogI0I0QzlEMTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg4KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gIC50YWdsaW5lIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKDgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKDUpO1xuICAgICAgcGFkZGluZy10b3A6IDZyZW07XG4gICAgfVxuICB9XG5cbiAgaDEge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICBmb250LXNpemU6IDIuMnJlbTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgZm9udC1zaXplOiAyLjg3NXJlbTtcbiAgICB9XG4gIH1cblxuICBoNCB7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXNpemU6IDEuMzEyNXJlbTtcbiAgfVxuXG4gIC5kb3dubG9hZCB7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xuICB9XG59XG5cbi8vIEludHJvXG4uaW50cm8ge1xuICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcjtcbiAgQGluY2x1ZGUgeHktZ3JpZDtcblxuICAuZnAtaW50cm8ge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMTIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKDEwKTtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KDEpO1xuXG4gICAgICBoMiB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICAgIH1cblxuICAgICAgaDQge1xuICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgICBjb2xvcjogIzc3NztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gU2VjdGlvbiBkaXZpZGVyXG4uc2VjdGlvbi1kaXZpZGVyIHtcbiAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XG4gIEBpbmNsdWRlIHh5LWdyaWQ7XG5cbiAgaHIge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwoMTIpO1xuICAgIEBleHRlbmQgLmRvdHRlZDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG59XG5cbi8vIEJlbmVmaXRzXG4uYmVuZWZpdHMge1xuICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcjtcbiAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIGhlYWRlciB7XG4gICAgQGluY2x1ZGUgeHktY2VsbCgxMik7XG5cbiAgICBoMiB7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgIH1cblxuICAgIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgY29sb3I6ICM3Nzc7XG4gICAgfVxuICB9XG5cbiAgLnNlbWFudGljLFxuICAucmVzcG9uc2l2ZSxcbiAgLmN1c3RvbWl6YWJsZSxcbiAgLnByb2Zlc3Npb25hbCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbCgxMik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMyk7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIHBhZGRpbmc6IDEuMjVyZW07XG4gICAgICBtYXJnaW46IDFyZW0gYXV0byAwIGF1dG87XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgY29sb3I6ICMwYTBhMGE7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgfVxuICB9XG5cbiAgLndoeS1mb3VuZGF0aW9uIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsKDEyKTtcbiAgICBtYXJnaW4tdG9wOiA0cmVtO1xuICB9XG59XG4iLCIua2l0Y2hlbi1zaW5rLWhlYWRlciB7XG4gIEBpbmNsdWRlIHh5LWNlbGwoMTIpO1xufVxuXG5cbi5raXRjaGVuLXNpbmstY29tcG9uZW50cyB7XG4gIGhyIHtcbiAgICBtYXJnaW46IDNyZW0gMDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsKDEyKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsKDkpO1xuICB9XG59XG5cbi5raXRjaGVuLXNpbmstbmF2IHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbCgzKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogcmlnaHQ7XG5cbiAgICAuZG9jcy1zdWItbWVudSB7XG4gICAgICBmb250LXNpemU6IDAuODVyZW07XG4gICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIH1cblxuICAgIC5kb2NzLW1lbnUtdGl0bGUge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgICBwYWRkaW5nLXRvcDogMS41cmVtO1xuICAgIH1cblxuICAgIC5kb2NzLXRvYyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmctbGVmdDogNHJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgfVxuXG4gICAgLmRvY3MtdG9jIC5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogIzIxOTllODtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG5cbiAgICAuZG9jcy10b2MgLmRvY3Mtc3ViLW1lbnU6Zmlyc3QtY2hpbGQgLmRvY3MtbWVudS10aXRsZSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cbiAgfVxufVxuXG4ua2l0Y2hlbi1zaW5rLWdyaWQge1xuICAuZ3JpZC14IHtcbiAgICBiYWNrZ3JvdW5kOiAjZDZlY2ZhO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMnJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG5cbiAgICAuY2VsbCw6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgYmFja2dyb3VuZDogIzdiYzFlZjtcbiAgICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgIH1cblxuICAgIC5jZWxsOm50aC1jaGlsZChldmVuKSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMTc3OWJhO1xuICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgfVxuICB9XG59XG4iLCIvKiFcbiAqICBGb250IEF3ZXNvbWUgNC43LjAgYnkgQGRhdmVnYW5keSAtIGh0dHA6Ly9mb250YXdlc29tZS5pbyAtIEBmb250YXdlc29tZVxuICogIExpY2Vuc2UgLSBodHRwOi8vZm9udGF3ZXNvbWUuaW8vbGljZW5zZSAoRm9udDogU0lMIE9GTCAxLjEsIENTUzogTUlUIExpY2Vuc2UpXG4gKi9cblxuQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuQGltcG9ydCBcInBhdGhcIjtcbkBpbXBvcnQgXCJjb3JlXCI7XG5AaW1wb3J0IFwibGFyZ2VyXCI7XG5AaW1wb3J0IFwiZml4ZWQtd2lkdGhcIjtcbkBpbXBvcnQgXCJsaXN0XCI7XG5AaW1wb3J0IFwiYm9yZGVyZWQtcHVsbGVkXCI7XG5AaW1wb3J0IFwiYW5pbWF0ZWRcIjtcbkBpbXBvcnQgXCJyb3RhdGVkLWZsaXBwZWRcIjtcbkBpbXBvcnQgXCJzdGFja2VkXCI7XG5AaW1wb3J0IFwiaWNvbnNcIjtcbkBpbXBvcnQgXCJzY3JlZW4tcmVhZGVyXCI7XG4iLCIvKiBGT05UIFBBVEhcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ZvbnRBd2Vzb21lJztcbiAgc3JjOiB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZm9udGF3ZXNvbWUtd2ViZm9udC5lb3Q/dj0jeyRmYS12ZXJzaW9ufScpO1xuICBzcmM6IHVybCgnI3skZmEtZm9udC1wYXRofS9mb250YXdlc29tZS13ZWJmb250LmVvdD8jaWVmaXgmdj0jeyRmYS12ZXJzaW9ufScpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZm9udGF3ZXNvbWUtd2ViZm9udC53b2ZmMj92PSN7JGZhLXZlcnNpb259JykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgnI3skZmEtZm9udC1wYXRofS9mb250YXdlc29tZS13ZWJmb250LndvZmY/dj0jeyRmYS12ZXJzaW9ufScpIGZvcm1hdCgnd29mZicpLFxuICAgIHVybCgnI3skZmEtZm9udC1wYXRofS9mb250YXdlc29tZS13ZWJmb250LnR0Zj92PSN7JGZhLXZlcnNpb259JykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgIHVybCgnI3skZmEtZm9udC1wYXRofS9mb250YXdlc29tZS13ZWJmb250LnN2Zz92PSN7JGZhLXZlcnNpb259I2ZvbnRhd2Vzb21lcmVndWxhcicpIGZvcm1hdCgnc3ZnJyk7XG4vLyAgc3JjOiB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vRm9udEF3ZXNvbWUub3RmJykgZm9ybWF0KCdvcGVudHlwZScpOyAvLyB1c2VkIHdoZW4gZGV2ZWxvcGluZyBmb250c1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG4iLCIvLyBCYXNlIENsYXNzIERlZmluaXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLiN7JGZhLWNzcy1wcmVmaXh9IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250OiBub3JtYWwgbm9ybWFsIG5vcm1hbCAjeyRmYS1mb250LXNpemUtYmFzZX0vI3skZmEtbGluZS1oZWlnaHQtYmFzZX0gRm9udEF3ZXNvbWU7IC8vIHNob3J0ZW5pbmcgZm9udCBkZWNsYXJhdGlvblxuICBmb250LXNpemU6IGluaGVyaXQ7IC8vIGNhbid0IGhhdmUgZm9udC1zaXplIGluaGVyaXQgb24gbGluZSBhYm92ZSwgc28gbmVlZCB0byBvdmVycmlkZVxuICB0ZXh0LXJlbmRlcmluZzogYXV0bzsgLy8gb3B0aW1pemVsZWdpYmlsaXR5IHRocm93cyB0aGluZ3Mgb2ZmICMxMDk0XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuXG59XG4iLCIvLyBJY29uIFNpemVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8qIG1ha2VzIHRoZSBmb250IDMzJSBsYXJnZXIgcmVsYXRpdmUgdG8gdGhlIGljb24gY29udGFpbmVyICovXG4uI3skZmEtY3NzLXByZWZpeH0tbGcge1xuICBmb250LXNpemU6ICg0ZW0gLyAzKTtcbiAgbGluZS1oZWlnaHQ6ICgzZW0gLyA0KTtcbiAgdmVydGljYWwtYWxpZ246IC0xNSU7XG59XG4uI3skZmEtY3NzLXByZWZpeH0tMnggeyBmb250LXNpemU6IDJlbTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LTN4IHsgZm9udC1zaXplOiAzZW07IH1cbi4jeyRmYS1jc3MtcHJlZml4fS00eCB7IGZvbnQtc2l6ZTogNGVtOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tNXggeyBmb250LXNpemU6IDVlbTsgfVxuIiwiLy8gRml4ZWQgV2lkdGggSWNvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi4jeyRmYS1jc3MtcHJlZml4fS1mdyB7XG4gIHdpZHRoOiAoMThlbSAvIDE0KTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuIiwiLy8gTGlzdCBJY29uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uI3skZmEtY3NzLXByZWZpeH0tdWwge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAkZmEtbGktd2lkdGg7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgPiBsaSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxufVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtJGZhLWxpLXdpZHRoO1xuICB3aWR0aDogJGZhLWxpLXdpZHRoO1xuICB0b3A6ICgyZW0gLyAxNCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgJi4jeyRmYS1jc3MtcHJlZml4fS1sZyB7XG4gICAgbGVmdDogLSRmYS1saS13aWR0aCArICg0ZW0gLyAxNCk7XG4gIH1cbn1cbiIsIi8vIFZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGZhLWZvbnQtcGF0aDogICAgICAgIFwiLi4vZm9udHNcIiAhZGVmYXVsdDtcbiRmYS1mb250LXNpemUtYmFzZTogICAxNHB4ICFkZWZhdWx0O1xuJGZhLWxpbmUtaGVpZ2h0LWJhc2U6IDEgIWRlZmF1bHQ7XG4vLyRmYS1mb250LXBhdGg6ICAgICAgICBcIi8vbmV0ZG5hLmJvb3RzdHJhcGNkbi5jb20vZm9udC1hd2Vzb21lLzQuNy4wL2ZvbnRzXCIgIWRlZmF1bHQ7IC8vIGZvciByZWZlcmVuY2luZyBCb290c3RyYXAgQ0ROIGZvbnQgZmlsZXMgZGlyZWN0bHlcbiRmYS1jc3MtcHJlZml4OiAgICAgICBmYSAhZGVmYXVsdDtcbiRmYS12ZXJzaW9uOiAgICAgICAgICBcIjQuNy4wXCIgIWRlZmF1bHQ7XG4kZmEtYm9yZGVyLWNvbG9yOiAgICAgI2VlZSAhZGVmYXVsdDtcbiRmYS1pbnZlcnNlOiAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGZhLWxpLXdpZHRoOiAgICAgICAgICgzMGVtIC8gMTQpICFkZWZhdWx0O1xuXG4kZmEtdmFyLTUwMHB4OiBcIlxcZjI2ZVwiO1xuJGZhLXZhci1hZGRyZXNzLWJvb2s6IFwiXFxmMmI5XCI7XG4kZmEtdmFyLWFkZHJlc3MtYm9vay1vOiBcIlxcZjJiYVwiO1xuJGZhLXZhci1hZGRyZXNzLWNhcmQ6IFwiXFxmMmJiXCI7XG4kZmEtdmFyLWFkZHJlc3MtY2FyZC1vOiBcIlxcZjJiY1wiO1xuJGZhLXZhci1hZGp1c3Q6IFwiXFxmMDQyXCI7XG4kZmEtdmFyLWFkbjogXCJcXGYxNzBcIjtcbiRmYS12YXItYWxpZ24tY2VudGVyOiBcIlxcZjAzN1wiO1xuJGZhLXZhci1hbGlnbi1qdXN0aWZ5OiBcIlxcZjAzOVwiO1xuJGZhLXZhci1hbGlnbi1sZWZ0OiBcIlxcZjAzNlwiO1xuJGZhLXZhci1hbGlnbi1yaWdodDogXCJcXGYwMzhcIjtcbiRmYS12YXItYW1hem9uOiBcIlxcZjI3MFwiO1xuJGZhLXZhci1hbWJ1bGFuY2U6IFwiXFxmMGY5XCI7XG4kZmEtdmFyLWFtZXJpY2FuLXNpZ24tbGFuZ3VhZ2UtaW50ZXJwcmV0aW5nOiBcIlxcZjJhM1wiO1xuJGZhLXZhci1hbmNob3I6IFwiXFxmMTNkXCI7XG4kZmEtdmFyLWFuZHJvaWQ6IFwiXFxmMTdiXCI7XG4kZmEtdmFyLWFuZ2VsbGlzdDogXCJcXGYyMDlcIjtcbiRmYS12YXItYW5nbGUtZG91YmxlLWRvd246IFwiXFxmMTAzXCI7XG4kZmEtdmFyLWFuZ2xlLWRvdWJsZS1sZWZ0OiBcIlxcZjEwMFwiO1xuJGZhLXZhci1hbmdsZS1kb3VibGUtcmlnaHQ6IFwiXFxmMTAxXCI7XG4kZmEtdmFyLWFuZ2xlLWRvdWJsZS11cDogXCJcXGYxMDJcIjtcbiRmYS12YXItYW5nbGUtZG93bjogXCJcXGYxMDdcIjtcbiRmYS12YXItYW5nbGUtbGVmdDogXCJcXGYxMDRcIjtcbiRmYS12YXItYW5nbGUtcmlnaHQ6IFwiXFxmMTA1XCI7XG4kZmEtdmFyLWFuZ2xlLXVwOiBcIlxcZjEwNlwiO1xuJGZhLXZhci1hcHBsZTogXCJcXGYxNzlcIjtcbiRmYS12YXItYXJjaGl2ZTogXCJcXGYxODdcIjtcbiRmYS12YXItYXJlYS1jaGFydDogXCJcXGYxZmVcIjtcbiRmYS12YXItYXJyb3ctY2lyY2xlLWRvd246IFwiXFxmMGFiXCI7XG4kZmEtdmFyLWFycm93LWNpcmNsZS1sZWZ0OiBcIlxcZjBhOFwiO1xuJGZhLXZhci1hcnJvdy1jaXJjbGUtby1kb3duOiBcIlxcZjAxYVwiO1xuJGZhLXZhci1hcnJvdy1jaXJjbGUtby1sZWZ0OiBcIlxcZjE5MFwiO1xuJGZhLXZhci1hcnJvdy1jaXJjbGUtby1yaWdodDogXCJcXGYxOGVcIjtcbiRmYS12YXItYXJyb3ctY2lyY2xlLW8tdXA6IFwiXFxmMDFiXCI7XG4kZmEtdmFyLWFycm93LWNpcmNsZS1yaWdodDogXCJcXGYwYTlcIjtcbiRmYS12YXItYXJyb3ctY2lyY2xlLXVwOiBcIlxcZjBhYVwiO1xuJGZhLXZhci1hcnJvdy1kb3duOiBcIlxcZjA2M1wiO1xuJGZhLXZhci1hcnJvdy1sZWZ0OiBcIlxcZjA2MFwiO1xuJGZhLXZhci1hcnJvdy1yaWdodDogXCJcXGYwNjFcIjtcbiRmYS12YXItYXJyb3ctdXA6IFwiXFxmMDYyXCI7XG4kZmEtdmFyLWFycm93czogXCJcXGYwNDdcIjtcbiRmYS12YXItYXJyb3dzLWFsdDogXCJcXGYwYjJcIjtcbiRmYS12YXItYXJyb3dzLWg6IFwiXFxmMDdlXCI7XG4kZmEtdmFyLWFycm93cy12OiBcIlxcZjA3ZFwiO1xuJGZhLXZhci1hc2wtaW50ZXJwcmV0aW5nOiBcIlxcZjJhM1wiO1xuJGZhLXZhci1hc3Npc3RpdmUtbGlzdGVuaW5nLXN5c3RlbXM6IFwiXFxmMmEyXCI7XG4kZmEtdmFyLWFzdGVyaXNrOiBcIlxcZjA2OVwiO1xuJGZhLXZhci1hdDogXCJcXGYxZmFcIjtcbiRmYS12YXItYXVkaW8tZGVzY3JpcHRpb246IFwiXFxmMjllXCI7XG4kZmEtdmFyLWF1dG9tb2JpbGU6IFwiXFxmMWI5XCI7XG4kZmEtdmFyLWJhY2t3YXJkOiBcIlxcZjA0YVwiO1xuJGZhLXZhci1iYWxhbmNlLXNjYWxlOiBcIlxcZjI0ZVwiO1xuJGZhLXZhci1iYW46IFwiXFxmMDVlXCI7XG4kZmEtdmFyLWJhbmRjYW1wOiBcIlxcZjJkNVwiO1xuJGZhLXZhci1iYW5rOiBcIlxcZjE5Y1wiO1xuJGZhLXZhci1iYXItY2hhcnQ6IFwiXFxmMDgwXCI7XG4kZmEtdmFyLWJhci1jaGFydC1vOiBcIlxcZjA4MFwiO1xuJGZhLXZhci1iYXJjb2RlOiBcIlxcZjAyYVwiO1xuJGZhLXZhci1iYXJzOiBcIlxcZjBjOVwiO1xuJGZhLXZhci1iYXRoOiBcIlxcZjJjZFwiO1xuJGZhLXZhci1iYXRodHViOiBcIlxcZjJjZFwiO1xuJGZhLXZhci1iYXR0ZXJ5OiBcIlxcZjI0MFwiO1xuJGZhLXZhci1iYXR0ZXJ5LTA6IFwiXFxmMjQ0XCI7XG4kZmEtdmFyLWJhdHRlcnktMTogXCJcXGYyNDNcIjtcbiRmYS12YXItYmF0dGVyeS0yOiBcIlxcZjI0MlwiO1xuJGZhLXZhci1iYXR0ZXJ5LTM6IFwiXFxmMjQxXCI7XG4kZmEtdmFyLWJhdHRlcnktNDogXCJcXGYyNDBcIjtcbiRmYS12YXItYmF0dGVyeS1lbXB0eTogXCJcXGYyNDRcIjtcbiRmYS12YXItYmF0dGVyeS1mdWxsOiBcIlxcZjI0MFwiO1xuJGZhLXZhci1iYXR0ZXJ5LWhhbGY6IFwiXFxmMjQyXCI7XG4kZmEtdmFyLWJhdHRlcnktcXVhcnRlcjogXCJcXGYyNDNcIjtcbiRmYS12YXItYmF0dGVyeS10aHJlZS1xdWFydGVyczogXCJcXGYyNDFcIjtcbiRmYS12YXItYmVkOiBcIlxcZjIzNlwiO1xuJGZhLXZhci1iZWVyOiBcIlxcZjBmY1wiO1xuJGZhLXZhci1iZWhhbmNlOiBcIlxcZjFiNFwiO1xuJGZhLXZhci1iZWhhbmNlLXNxdWFyZTogXCJcXGYxYjVcIjtcbiRmYS12YXItYmVsbDogXCJcXGYwZjNcIjtcbiRmYS12YXItYmVsbC1vOiBcIlxcZjBhMlwiO1xuJGZhLXZhci1iZWxsLXNsYXNoOiBcIlxcZjFmNlwiO1xuJGZhLXZhci1iZWxsLXNsYXNoLW86IFwiXFxmMWY3XCI7XG4kZmEtdmFyLWJpY3ljbGU6IFwiXFxmMjA2XCI7XG4kZmEtdmFyLWJpbm9jdWxhcnM6IFwiXFxmMWU1XCI7XG4kZmEtdmFyLWJpcnRoZGF5LWNha2U6IFwiXFxmMWZkXCI7XG4kZmEtdmFyLWJpdGJ1Y2tldDogXCJcXGYxNzFcIjtcbiRmYS12YXItYml0YnVja2V0LXNxdWFyZTogXCJcXGYxNzJcIjtcbiRmYS12YXItYml0Y29pbjogXCJcXGYxNWFcIjtcbiRmYS12YXItYmxhY2stdGllOiBcIlxcZjI3ZVwiO1xuJGZhLXZhci1ibGluZDogXCJcXGYyOWRcIjtcbiRmYS12YXItYmx1ZXRvb3RoOiBcIlxcZjI5M1wiO1xuJGZhLXZhci1ibHVldG9vdGgtYjogXCJcXGYyOTRcIjtcbiRmYS12YXItYm9sZDogXCJcXGYwMzJcIjtcbiRmYS12YXItYm9sdDogXCJcXGYwZTdcIjtcbiRmYS12YXItYm9tYjogXCJcXGYxZTJcIjtcbiRmYS12YXItYm9vazogXCJcXGYwMmRcIjtcbiRmYS12YXItYm9va21hcms6IFwiXFxmMDJlXCI7XG4kZmEtdmFyLWJvb2ttYXJrLW86IFwiXFxmMDk3XCI7XG4kZmEtdmFyLWJyYWlsbGU6IFwiXFxmMmExXCI7XG4kZmEtdmFyLWJyaWVmY2FzZTogXCJcXGYwYjFcIjtcbiRmYS12YXItYnRjOiBcIlxcZjE1YVwiO1xuJGZhLXZhci1idWc6IFwiXFxmMTg4XCI7XG4kZmEtdmFyLWJ1aWxkaW5nOiBcIlxcZjFhZFwiO1xuJGZhLXZhci1idWlsZGluZy1vOiBcIlxcZjBmN1wiO1xuJGZhLXZhci1idWxsaG9ybjogXCJcXGYwYTFcIjtcbiRmYS12YXItYnVsbHNleWU6IFwiXFxmMTQwXCI7XG4kZmEtdmFyLWJ1czogXCJcXGYyMDdcIjtcbiRmYS12YXItYnV5c2VsbGFkczogXCJcXGYyMGRcIjtcbiRmYS12YXItY2FiOiBcIlxcZjFiYVwiO1xuJGZhLXZhci1jYWxjdWxhdG9yOiBcIlxcZjFlY1wiO1xuJGZhLXZhci1jYWxlbmRhcjogXCJcXGYwNzNcIjtcbiRmYS12YXItY2FsZW5kYXItY2hlY2stbzogXCJcXGYyNzRcIjtcbiRmYS12YXItY2FsZW5kYXItbWludXMtbzogXCJcXGYyNzJcIjtcbiRmYS12YXItY2FsZW5kYXItbzogXCJcXGYxMzNcIjtcbiRmYS12YXItY2FsZW5kYXItcGx1cy1vOiBcIlxcZjI3MVwiO1xuJGZhLXZhci1jYWxlbmRhci10aW1lcy1vOiBcIlxcZjI3M1wiO1xuJGZhLXZhci1jYW1lcmE6IFwiXFxmMDMwXCI7XG4kZmEtdmFyLWNhbWVyYS1yZXRybzogXCJcXGYwODNcIjtcbiRmYS12YXItY2FyOiBcIlxcZjFiOVwiO1xuJGZhLXZhci1jYXJldC1kb3duOiBcIlxcZjBkN1wiO1xuJGZhLXZhci1jYXJldC1sZWZ0OiBcIlxcZjBkOVwiO1xuJGZhLXZhci1jYXJldC1yaWdodDogXCJcXGYwZGFcIjtcbiRmYS12YXItY2FyZXQtc3F1YXJlLW8tZG93bjogXCJcXGYxNTBcIjtcbiRmYS12YXItY2FyZXQtc3F1YXJlLW8tbGVmdDogXCJcXGYxOTFcIjtcbiRmYS12YXItY2FyZXQtc3F1YXJlLW8tcmlnaHQ6IFwiXFxmMTUyXCI7XG4kZmEtdmFyLWNhcmV0LXNxdWFyZS1vLXVwOiBcIlxcZjE1MVwiO1xuJGZhLXZhci1jYXJldC11cDogXCJcXGYwZDhcIjtcbiRmYS12YXItY2FydC1hcnJvdy1kb3duOiBcIlxcZjIxOFwiO1xuJGZhLXZhci1jYXJ0LXBsdXM6IFwiXFxmMjE3XCI7XG4kZmEtdmFyLWNjOiBcIlxcZjIwYVwiO1xuJGZhLXZhci1jYy1hbWV4OiBcIlxcZjFmM1wiO1xuJGZhLXZhci1jYy1kaW5lcnMtY2x1YjogXCJcXGYyNGNcIjtcbiRmYS12YXItY2MtZGlzY292ZXI6IFwiXFxmMWYyXCI7XG4kZmEtdmFyLWNjLWpjYjogXCJcXGYyNGJcIjtcbiRmYS12YXItY2MtbWFzdGVyY2FyZDogXCJcXGYxZjFcIjtcbiRmYS12YXItY2MtcGF5cGFsOiBcIlxcZjFmNFwiO1xuJGZhLXZhci1jYy1zdHJpcGU6IFwiXFxmMWY1XCI7XG4kZmEtdmFyLWNjLXZpc2E6IFwiXFxmMWYwXCI7XG4kZmEtdmFyLWNlcnRpZmljYXRlOiBcIlxcZjBhM1wiO1xuJGZhLXZhci1jaGFpbjogXCJcXGYwYzFcIjtcbiRmYS12YXItY2hhaW4tYnJva2VuOiBcIlxcZjEyN1wiO1xuJGZhLXZhci1jaGVjazogXCJcXGYwMGNcIjtcbiRmYS12YXItY2hlY2stY2lyY2xlOiBcIlxcZjA1OFwiO1xuJGZhLXZhci1jaGVjay1jaXJjbGUtbzogXCJcXGYwNWRcIjtcbiRmYS12YXItY2hlY2stc3F1YXJlOiBcIlxcZjE0YVwiO1xuJGZhLXZhci1jaGVjay1zcXVhcmUtbzogXCJcXGYwNDZcIjtcbiRmYS12YXItY2hldnJvbi1jaXJjbGUtZG93bjogXCJcXGYxM2FcIjtcbiRmYS12YXItY2hldnJvbi1jaXJjbGUtbGVmdDogXCJcXGYxMzdcIjtcbiRmYS12YXItY2hldnJvbi1jaXJjbGUtcmlnaHQ6IFwiXFxmMTM4XCI7XG4kZmEtdmFyLWNoZXZyb24tY2lyY2xlLXVwOiBcIlxcZjEzOVwiO1xuJGZhLXZhci1jaGV2cm9uLWRvd246IFwiXFxmMDc4XCI7XG4kZmEtdmFyLWNoZXZyb24tbGVmdDogXCJcXGYwNTNcIjtcbiRmYS12YXItY2hldnJvbi1yaWdodDogXCJcXGYwNTRcIjtcbiRmYS12YXItY2hldnJvbi11cDogXCJcXGYwNzdcIjtcbiRmYS12YXItY2hpbGQ6IFwiXFxmMWFlXCI7XG4kZmEtdmFyLWNocm9tZTogXCJcXGYyNjhcIjtcbiRmYS12YXItY2lyY2xlOiBcIlxcZjExMVwiO1xuJGZhLXZhci1jaXJjbGUtbzogXCJcXGYxMGNcIjtcbiRmYS12YXItY2lyY2xlLW8tbm90Y2g6IFwiXFxmMWNlXCI7XG4kZmEtdmFyLWNpcmNsZS10aGluOiBcIlxcZjFkYlwiO1xuJGZhLXZhci1jbGlwYm9hcmQ6IFwiXFxmMGVhXCI7XG4kZmEtdmFyLWNsb2NrLW86IFwiXFxmMDE3XCI7XG4kZmEtdmFyLWNsb25lOiBcIlxcZjI0ZFwiO1xuJGZhLXZhci1jbG9zZTogXCJcXGYwMGRcIjtcbiRmYS12YXItY2xvdWQ6IFwiXFxmMGMyXCI7XG4kZmEtdmFyLWNsb3VkLWRvd25sb2FkOiBcIlxcZjBlZFwiO1xuJGZhLXZhci1jbG91ZC11cGxvYWQ6IFwiXFxmMGVlXCI7XG4kZmEtdmFyLWNueTogXCJcXGYxNTdcIjtcbiRmYS12YXItY29kZTogXCJcXGYxMjFcIjtcbiRmYS12YXItY29kZS1mb3JrOiBcIlxcZjEyNlwiO1xuJGZhLXZhci1jb2RlcGVuOiBcIlxcZjFjYlwiO1xuJGZhLXZhci1jb2RpZXBpZTogXCJcXGYyODRcIjtcbiRmYS12YXItY29mZmVlOiBcIlxcZjBmNFwiO1xuJGZhLXZhci1jb2c6IFwiXFxmMDEzXCI7XG4kZmEtdmFyLWNvZ3M6IFwiXFxmMDg1XCI7XG4kZmEtdmFyLWNvbHVtbnM6IFwiXFxmMGRiXCI7XG4kZmEtdmFyLWNvbW1lbnQ6IFwiXFxmMDc1XCI7XG4kZmEtdmFyLWNvbW1lbnQtbzogXCJcXGYwZTVcIjtcbiRmYS12YXItY29tbWVudGluZzogXCJcXGYyN2FcIjtcbiRmYS12YXItY29tbWVudGluZy1vOiBcIlxcZjI3YlwiO1xuJGZhLXZhci1jb21tZW50czogXCJcXGYwODZcIjtcbiRmYS12YXItY29tbWVudHMtbzogXCJcXGYwZTZcIjtcbiRmYS12YXItY29tcGFzczogXCJcXGYxNGVcIjtcbiRmYS12YXItY29tcHJlc3M6IFwiXFxmMDY2XCI7XG4kZmEtdmFyLWNvbm5lY3RkZXZlbG9wOiBcIlxcZjIwZVwiO1xuJGZhLXZhci1jb250YW86IFwiXFxmMjZkXCI7XG4kZmEtdmFyLWNvcHk6IFwiXFxmMGM1XCI7XG4kZmEtdmFyLWNvcHlyaWdodDogXCJcXGYxZjlcIjtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9uczogXCJcXGYyNWVcIjtcbiRmYS12YXItY3JlZGl0LWNhcmQ6IFwiXFxmMDlkXCI7XG4kZmEtdmFyLWNyZWRpdC1jYXJkLWFsdDogXCJcXGYyODNcIjtcbiRmYS12YXItY3JvcDogXCJcXGYxMjVcIjtcbiRmYS12YXItY3Jvc3NoYWlyczogXCJcXGYwNWJcIjtcbiRmYS12YXItY3NzMzogXCJcXGYxM2NcIjtcbiRmYS12YXItY3ViZTogXCJcXGYxYjJcIjtcbiRmYS12YXItY3ViZXM6IFwiXFxmMWIzXCI7XG4kZmEtdmFyLWN1dDogXCJcXGYwYzRcIjtcbiRmYS12YXItY3V0bGVyeTogXCJcXGYwZjVcIjtcbiRmYS12YXItZGFzaGJvYXJkOiBcIlxcZjBlNFwiO1xuJGZhLXZhci1kYXNoY3ViZTogXCJcXGYyMTBcIjtcbiRmYS12YXItZGF0YWJhc2U6IFwiXFxmMWMwXCI7XG4kZmEtdmFyLWRlYWY6IFwiXFxmMmE0XCI7XG4kZmEtdmFyLWRlYWZuZXNzOiBcIlxcZjJhNFwiO1xuJGZhLXZhci1kZWRlbnQ6IFwiXFxmMDNiXCI7XG4kZmEtdmFyLWRlbGljaW91czogXCJcXGYxYTVcIjtcbiRmYS12YXItZGVza3RvcDogXCJcXGYxMDhcIjtcbiRmYS12YXItZGV2aWFudGFydDogXCJcXGYxYmRcIjtcbiRmYS12YXItZGlhbW9uZDogXCJcXGYyMTlcIjtcbiRmYS12YXItZGlnZzogXCJcXGYxYTZcIjtcbiRmYS12YXItZG9sbGFyOiBcIlxcZjE1NVwiO1xuJGZhLXZhci1kb3QtY2lyY2xlLW86IFwiXFxmMTkyXCI7XG4kZmEtdmFyLWRvd25sb2FkOiBcIlxcZjAxOVwiO1xuJGZhLXZhci1kcmliYmJsZTogXCJcXGYxN2RcIjtcbiRmYS12YXItZHJpdmVycy1saWNlbnNlOiBcIlxcZjJjMlwiO1xuJGZhLXZhci1kcml2ZXJzLWxpY2Vuc2UtbzogXCJcXGYyYzNcIjtcbiRmYS12YXItZHJvcGJveDogXCJcXGYxNmJcIjtcbiRmYS12YXItZHJ1cGFsOiBcIlxcZjFhOVwiO1xuJGZhLXZhci1lZGdlOiBcIlxcZjI4MlwiO1xuJGZhLXZhci1lZGl0OiBcIlxcZjA0NFwiO1xuJGZhLXZhci1lZXJjYXN0OiBcIlxcZjJkYVwiO1xuJGZhLXZhci1lamVjdDogXCJcXGYwNTJcIjtcbiRmYS12YXItZWxsaXBzaXMtaDogXCJcXGYxNDFcIjtcbiRmYS12YXItZWxsaXBzaXMtdjogXCJcXGYxNDJcIjtcbiRmYS12YXItZW1waXJlOiBcIlxcZjFkMVwiO1xuJGZhLXZhci1lbnZlbG9wZTogXCJcXGYwZTBcIjtcbiRmYS12YXItZW52ZWxvcGUtbzogXCJcXGYwMDNcIjtcbiRmYS12YXItZW52ZWxvcGUtb3BlbjogXCJcXGYyYjZcIjtcbiRmYS12YXItZW52ZWxvcGUtb3Blbi1vOiBcIlxcZjJiN1wiO1xuJGZhLXZhci1lbnZlbG9wZS1zcXVhcmU6IFwiXFxmMTk5XCI7XG4kZmEtdmFyLWVudmlyYTogXCJcXGYyOTlcIjtcbiRmYS12YXItZXJhc2VyOiBcIlxcZjEyZFwiO1xuJGZhLXZhci1ldHN5OiBcIlxcZjJkN1wiO1xuJGZhLXZhci1ldXI6IFwiXFxmMTUzXCI7XG4kZmEtdmFyLWV1cm86IFwiXFxmMTUzXCI7XG4kZmEtdmFyLWV4Y2hhbmdlOiBcIlxcZjBlY1wiO1xuJGZhLXZhci1leGNsYW1hdGlvbjogXCJcXGYxMmFcIjtcbiRmYS12YXItZXhjbGFtYXRpb24tY2lyY2xlOiBcIlxcZjA2YVwiO1xuJGZhLXZhci1leGNsYW1hdGlvbi10cmlhbmdsZTogXCJcXGYwNzFcIjtcbiRmYS12YXItZXhwYW5kOiBcIlxcZjA2NVwiO1xuJGZhLXZhci1leHBlZGl0ZWRzc2w6IFwiXFxmMjNlXCI7XG4kZmEtdmFyLWV4dGVybmFsLWxpbms6IFwiXFxmMDhlXCI7XG4kZmEtdmFyLWV4dGVybmFsLWxpbmstc3F1YXJlOiBcIlxcZjE0Y1wiO1xuJGZhLXZhci1leWU6IFwiXFxmMDZlXCI7XG4kZmEtdmFyLWV5ZS1zbGFzaDogXCJcXGYwNzBcIjtcbiRmYS12YXItZXllZHJvcHBlcjogXCJcXGYxZmJcIjtcbiRmYS12YXItZmE6IFwiXFxmMmI0XCI7XG4kZmEtdmFyLWZhY2Vib29rOiBcIlxcZjA5YVwiO1xuJGZhLXZhci1mYWNlYm9vay1mOiBcIlxcZjA5YVwiO1xuJGZhLXZhci1mYWNlYm9vay1vZmZpY2lhbDogXCJcXGYyMzBcIjtcbiRmYS12YXItZmFjZWJvb2stc3F1YXJlOiBcIlxcZjA4MlwiO1xuJGZhLXZhci1mYXN0LWJhY2t3YXJkOiBcIlxcZjA0OVwiO1xuJGZhLXZhci1mYXN0LWZvcndhcmQ6IFwiXFxmMDUwXCI7XG4kZmEtdmFyLWZheDogXCJcXGYxYWNcIjtcbiRmYS12YXItZmVlZDogXCJcXGYwOWVcIjtcbiRmYS12YXItZmVtYWxlOiBcIlxcZjE4MlwiO1xuJGZhLXZhci1maWdodGVyLWpldDogXCJcXGYwZmJcIjtcbiRmYS12YXItZmlsZTogXCJcXGYxNWJcIjtcbiRmYS12YXItZmlsZS1hcmNoaXZlLW86IFwiXFxmMWM2XCI7XG4kZmEtdmFyLWZpbGUtYXVkaW8tbzogXCJcXGYxYzdcIjtcbiRmYS12YXItZmlsZS1jb2RlLW86IFwiXFxmMWM5XCI7XG4kZmEtdmFyLWZpbGUtZXhjZWwtbzogXCJcXGYxYzNcIjtcbiRmYS12YXItZmlsZS1pbWFnZS1vOiBcIlxcZjFjNVwiO1xuJGZhLXZhci1maWxlLW1vdmllLW86IFwiXFxmMWM4XCI7XG4kZmEtdmFyLWZpbGUtbzogXCJcXGYwMTZcIjtcbiRmYS12YXItZmlsZS1wZGYtbzogXCJcXGYxYzFcIjtcbiRmYS12YXItZmlsZS1waG90by1vOiBcIlxcZjFjNVwiO1xuJGZhLXZhci1maWxlLXBpY3R1cmUtbzogXCJcXGYxYzVcIjtcbiRmYS12YXItZmlsZS1wb3dlcnBvaW50LW86IFwiXFxmMWM0XCI7XG4kZmEtdmFyLWZpbGUtc291bmQtbzogXCJcXGYxYzdcIjtcbiRmYS12YXItZmlsZS10ZXh0OiBcIlxcZjE1Y1wiO1xuJGZhLXZhci1maWxlLXRleHQtbzogXCJcXGYwZjZcIjtcbiRmYS12YXItZmlsZS12aWRlby1vOiBcIlxcZjFjOFwiO1xuJGZhLXZhci1maWxlLXdvcmQtbzogXCJcXGYxYzJcIjtcbiRmYS12YXItZmlsZS16aXAtbzogXCJcXGYxYzZcIjtcbiRmYS12YXItZmlsZXMtbzogXCJcXGYwYzVcIjtcbiRmYS12YXItZmlsbTogXCJcXGYwMDhcIjtcbiRmYS12YXItZmlsdGVyOiBcIlxcZjBiMFwiO1xuJGZhLXZhci1maXJlOiBcIlxcZjA2ZFwiO1xuJGZhLXZhci1maXJlLWV4dGluZ3Vpc2hlcjogXCJcXGYxMzRcIjtcbiRmYS12YXItZmlyZWZveDogXCJcXGYyNjlcIjtcbiRmYS12YXItZmlyc3Qtb3JkZXI6IFwiXFxmMmIwXCI7XG4kZmEtdmFyLWZsYWc6IFwiXFxmMDI0XCI7XG4kZmEtdmFyLWZsYWctY2hlY2tlcmVkOiBcIlxcZjExZVwiO1xuJGZhLXZhci1mbGFnLW86IFwiXFxmMTFkXCI7XG4kZmEtdmFyLWZsYXNoOiBcIlxcZjBlN1wiO1xuJGZhLXZhci1mbGFzazogXCJcXGYwYzNcIjtcbiRmYS12YXItZmxpY2tyOiBcIlxcZjE2ZVwiO1xuJGZhLXZhci1mbG9wcHktbzogXCJcXGYwYzdcIjtcbiRmYS12YXItZm9sZGVyOiBcIlxcZjA3YlwiO1xuJGZhLXZhci1mb2xkZXItbzogXCJcXGYxMTRcIjtcbiRmYS12YXItZm9sZGVyLW9wZW46IFwiXFxmMDdjXCI7XG4kZmEtdmFyLWZvbGRlci1vcGVuLW86IFwiXFxmMTE1XCI7XG4kZmEtdmFyLWZvbnQ6IFwiXFxmMDMxXCI7XG4kZmEtdmFyLWZvbnQtYXdlc29tZTogXCJcXGYyYjRcIjtcbiRmYS12YXItZm9udGljb25zOiBcIlxcZjI4MFwiO1xuJGZhLXZhci1mb3J0LWF3ZXNvbWU6IFwiXFxmMjg2XCI7XG4kZmEtdmFyLWZvcnVtYmVlOiBcIlxcZjIxMVwiO1xuJGZhLXZhci1mb3J3YXJkOiBcIlxcZjA0ZVwiO1xuJGZhLXZhci1mb3Vyc3F1YXJlOiBcIlxcZjE4MFwiO1xuJGZhLXZhci1mcmVlLWNvZGUtY2FtcDogXCJcXGYyYzVcIjtcbiRmYS12YXItZnJvd24tbzogXCJcXGYxMTlcIjtcbiRmYS12YXItZnV0Ym9sLW86IFwiXFxmMWUzXCI7XG4kZmEtdmFyLWdhbWVwYWQ6IFwiXFxmMTFiXCI7XG4kZmEtdmFyLWdhdmVsOiBcIlxcZjBlM1wiO1xuJGZhLXZhci1nYnA6IFwiXFxmMTU0XCI7XG4kZmEtdmFyLWdlOiBcIlxcZjFkMVwiO1xuJGZhLXZhci1nZWFyOiBcIlxcZjAxM1wiO1xuJGZhLXZhci1nZWFyczogXCJcXGYwODVcIjtcbiRmYS12YXItZ2VuZGVybGVzczogXCJcXGYyMmRcIjtcbiRmYS12YXItZ2V0LXBvY2tldDogXCJcXGYyNjVcIjtcbiRmYS12YXItZ2c6IFwiXFxmMjYwXCI7XG4kZmEtdmFyLWdnLWNpcmNsZTogXCJcXGYyNjFcIjtcbiRmYS12YXItZ2lmdDogXCJcXGYwNmJcIjtcbiRmYS12YXItZ2l0OiBcIlxcZjFkM1wiO1xuJGZhLXZhci1naXQtc3F1YXJlOiBcIlxcZjFkMlwiO1xuJGZhLXZhci1naXRodWI6IFwiXFxmMDliXCI7XG4kZmEtdmFyLWdpdGh1Yi1hbHQ6IFwiXFxmMTEzXCI7XG4kZmEtdmFyLWdpdGh1Yi1zcXVhcmU6IFwiXFxmMDkyXCI7XG4kZmEtdmFyLWdpdGxhYjogXCJcXGYyOTZcIjtcbiRmYS12YXItZ2l0dGlwOiBcIlxcZjE4NFwiO1xuJGZhLXZhci1nbGFzczogXCJcXGYwMDBcIjtcbiRmYS12YXItZ2xpZGU6IFwiXFxmMmE1XCI7XG4kZmEtdmFyLWdsaWRlLWc6IFwiXFxmMmE2XCI7XG4kZmEtdmFyLWdsb2JlOiBcIlxcZjBhY1wiO1xuJGZhLXZhci1nb29nbGU6IFwiXFxmMWEwXCI7XG4kZmEtdmFyLWdvb2dsZS1wbHVzOiBcIlxcZjBkNVwiO1xuJGZhLXZhci1nb29nbGUtcGx1cy1jaXJjbGU6IFwiXFxmMmIzXCI7XG4kZmEtdmFyLWdvb2dsZS1wbHVzLW9mZmljaWFsOiBcIlxcZjJiM1wiO1xuJGZhLXZhci1nb29nbGUtcGx1cy1zcXVhcmU6IFwiXFxmMGQ0XCI7XG4kZmEtdmFyLWdvb2dsZS13YWxsZXQ6IFwiXFxmMWVlXCI7XG4kZmEtdmFyLWdyYWR1YXRpb24tY2FwOiBcIlxcZjE5ZFwiO1xuJGZhLXZhci1ncmF0aXBheTogXCJcXGYxODRcIjtcbiRmYS12YXItZ3JhdjogXCJcXGYyZDZcIjtcbiRmYS12YXItZ3JvdXA6IFwiXFxmMGMwXCI7XG4kZmEtdmFyLWgtc3F1YXJlOiBcIlxcZjBmZFwiO1xuJGZhLXZhci1oYWNrZXItbmV3czogXCJcXGYxZDRcIjtcbiRmYS12YXItaGFuZC1ncmFiLW86IFwiXFxmMjU1XCI7XG4kZmEtdmFyLWhhbmQtbGl6YXJkLW86IFwiXFxmMjU4XCI7XG4kZmEtdmFyLWhhbmQtby1kb3duOiBcIlxcZjBhN1wiO1xuJGZhLXZhci1oYW5kLW8tbGVmdDogXCJcXGYwYTVcIjtcbiRmYS12YXItaGFuZC1vLXJpZ2h0OiBcIlxcZjBhNFwiO1xuJGZhLXZhci1oYW5kLW8tdXA6IFwiXFxmMGE2XCI7XG4kZmEtdmFyLWhhbmQtcGFwZXItbzogXCJcXGYyNTZcIjtcbiRmYS12YXItaGFuZC1wZWFjZS1vOiBcIlxcZjI1YlwiO1xuJGZhLXZhci1oYW5kLXBvaW50ZXItbzogXCJcXGYyNWFcIjtcbiRmYS12YXItaGFuZC1yb2NrLW86IFwiXFxmMjU1XCI7XG4kZmEtdmFyLWhhbmQtc2Npc3NvcnMtbzogXCJcXGYyNTdcIjtcbiRmYS12YXItaGFuZC1zcG9jay1vOiBcIlxcZjI1OVwiO1xuJGZhLXZhci1oYW5kLXN0b3AtbzogXCJcXGYyNTZcIjtcbiRmYS12YXItaGFuZHNoYWtlLW86IFwiXFxmMmI1XCI7XG4kZmEtdmFyLWhhcmQtb2YtaGVhcmluZzogXCJcXGYyYTRcIjtcbiRmYS12YXItaGFzaHRhZzogXCJcXGYyOTJcIjtcbiRmYS12YXItaGRkLW86IFwiXFxmMGEwXCI7XG4kZmEtdmFyLWhlYWRlcjogXCJcXGYxZGNcIjtcbiRmYS12YXItaGVhZHBob25lczogXCJcXGYwMjVcIjtcbiRmYS12YXItaGVhcnQ6IFwiXFxmMDA0XCI7XG4kZmEtdmFyLWhlYXJ0LW86IFwiXFxmMDhhXCI7XG4kZmEtdmFyLWhlYXJ0YmVhdDogXCJcXGYyMWVcIjtcbiRmYS12YXItaGlzdG9yeTogXCJcXGYxZGFcIjtcbiRmYS12YXItaG9tZTogXCJcXGYwMTVcIjtcbiRmYS12YXItaG9zcGl0YWwtbzogXCJcXGYwZjhcIjtcbiRmYS12YXItaG90ZWw6IFwiXFxmMjM2XCI7XG4kZmEtdmFyLWhvdXJnbGFzczogXCJcXGYyNTRcIjtcbiRmYS12YXItaG91cmdsYXNzLTE6IFwiXFxmMjUxXCI7XG4kZmEtdmFyLWhvdXJnbGFzcy0yOiBcIlxcZjI1MlwiO1xuJGZhLXZhci1ob3VyZ2xhc3MtMzogXCJcXGYyNTNcIjtcbiRmYS12YXItaG91cmdsYXNzLWVuZDogXCJcXGYyNTNcIjtcbiRmYS12YXItaG91cmdsYXNzLWhhbGY6IFwiXFxmMjUyXCI7XG4kZmEtdmFyLWhvdXJnbGFzcy1vOiBcIlxcZjI1MFwiO1xuJGZhLXZhci1ob3VyZ2xhc3Mtc3RhcnQ6IFwiXFxmMjUxXCI7XG4kZmEtdmFyLWhvdXp6OiBcIlxcZjI3Y1wiO1xuJGZhLXZhci1odG1sNTogXCJcXGYxM2JcIjtcbiRmYS12YXItaS1jdXJzb3I6IFwiXFxmMjQ2XCI7XG4kZmEtdmFyLWlkLWJhZGdlOiBcIlxcZjJjMVwiO1xuJGZhLXZhci1pZC1jYXJkOiBcIlxcZjJjMlwiO1xuJGZhLXZhci1pZC1jYXJkLW86IFwiXFxmMmMzXCI7XG4kZmEtdmFyLWlsczogXCJcXGYyMGJcIjtcbiRmYS12YXItaW1hZ2U6IFwiXFxmMDNlXCI7XG4kZmEtdmFyLWltZGI6IFwiXFxmMmQ4XCI7XG4kZmEtdmFyLWluYm94OiBcIlxcZjAxY1wiO1xuJGZhLXZhci1pbmRlbnQ6IFwiXFxmMDNjXCI7XG4kZmEtdmFyLWluZHVzdHJ5OiBcIlxcZjI3NVwiO1xuJGZhLXZhci1pbmZvOiBcIlxcZjEyOVwiO1xuJGZhLXZhci1pbmZvLWNpcmNsZTogXCJcXGYwNWFcIjtcbiRmYS12YXItaW5yOiBcIlxcZjE1NlwiO1xuJGZhLXZhci1pbnN0YWdyYW06IFwiXFxmMTZkXCI7XG4kZmEtdmFyLWluc3RpdHV0aW9uOiBcIlxcZjE5Y1wiO1xuJGZhLXZhci1pbnRlcm5ldC1leHBsb3JlcjogXCJcXGYyNmJcIjtcbiRmYS12YXItaW50ZXJzZXg6IFwiXFxmMjI0XCI7XG4kZmEtdmFyLWlveGhvc3Q6IFwiXFxmMjA4XCI7XG4kZmEtdmFyLWl0YWxpYzogXCJcXGYwMzNcIjtcbiRmYS12YXItam9vbWxhOiBcIlxcZjFhYVwiO1xuJGZhLXZhci1qcHk6IFwiXFxmMTU3XCI7XG4kZmEtdmFyLWpzZmlkZGxlOiBcIlxcZjFjY1wiO1xuJGZhLXZhci1rZXk6IFwiXFxmMDg0XCI7XG4kZmEtdmFyLWtleWJvYXJkLW86IFwiXFxmMTFjXCI7XG4kZmEtdmFyLWtydzogXCJcXGYxNTlcIjtcbiRmYS12YXItbGFuZ3VhZ2U6IFwiXFxmMWFiXCI7XG4kZmEtdmFyLWxhcHRvcDogXCJcXGYxMDlcIjtcbiRmYS12YXItbGFzdGZtOiBcIlxcZjIwMlwiO1xuJGZhLXZhci1sYXN0Zm0tc3F1YXJlOiBcIlxcZjIwM1wiO1xuJGZhLXZhci1sZWFmOiBcIlxcZjA2Y1wiO1xuJGZhLXZhci1sZWFucHViOiBcIlxcZjIxMlwiO1xuJGZhLXZhci1sZWdhbDogXCJcXGYwZTNcIjtcbiRmYS12YXItbGVtb24tbzogXCJcXGYwOTRcIjtcbiRmYS12YXItbGV2ZWwtZG93bjogXCJcXGYxNDlcIjtcbiRmYS12YXItbGV2ZWwtdXA6IFwiXFxmMTQ4XCI7XG4kZmEtdmFyLWxpZmUtYm91eTogXCJcXGYxY2RcIjtcbiRmYS12YXItbGlmZS1idW95OiBcIlxcZjFjZFwiO1xuJGZhLXZhci1saWZlLXJpbmc6IFwiXFxmMWNkXCI7XG4kZmEtdmFyLWxpZmUtc2F2ZXI6IFwiXFxmMWNkXCI7XG4kZmEtdmFyLWxpZ2h0YnVsYi1vOiBcIlxcZjBlYlwiO1xuJGZhLXZhci1saW5lLWNoYXJ0OiBcIlxcZjIwMVwiO1xuJGZhLXZhci1saW5rOiBcIlxcZjBjMVwiO1xuJGZhLXZhci1saW5rZWRpbjogXCJcXGYwZTFcIjtcbiRmYS12YXItbGlua2VkaW4tc3F1YXJlOiBcIlxcZjA4Y1wiO1xuJGZhLXZhci1saW5vZGU6IFwiXFxmMmI4XCI7XG4kZmEtdmFyLWxpbnV4OiBcIlxcZjE3Y1wiO1xuJGZhLXZhci1saXN0OiBcIlxcZjAzYVwiO1xuJGZhLXZhci1saXN0LWFsdDogXCJcXGYwMjJcIjtcbiRmYS12YXItbGlzdC1vbDogXCJcXGYwY2JcIjtcbiRmYS12YXItbGlzdC11bDogXCJcXGYwY2FcIjtcbiRmYS12YXItbG9jYXRpb24tYXJyb3c6IFwiXFxmMTI0XCI7XG4kZmEtdmFyLWxvY2s6IFwiXFxmMDIzXCI7XG4kZmEtdmFyLWxvbmctYXJyb3ctZG93bjogXCJcXGYxNzVcIjtcbiRmYS12YXItbG9uZy1hcnJvdy1sZWZ0OiBcIlxcZjE3N1wiO1xuJGZhLXZhci1sb25nLWFycm93LXJpZ2h0OiBcIlxcZjE3OFwiO1xuJGZhLXZhci1sb25nLWFycm93LXVwOiBcIlxcZjE3NlwiO1xuJGZhLXZhci1sb3ctdmlzaW9uOiBcIlxcZjJhOFwiO1xuJGZhLXZhci1tYWdpYzogXCJcXGYwZDBcIjtcbiRmYS12YXItbWFnbmV0OiBcIlxcZjA3NlwiO1xuJGZhLXZhci1tYWlsLWZvcndhcmQ6IFwiXFxmMDY0XCI7XG4kZmEtdmFyLW1haWwtcmVwbHk6IFwiXFxmMTEyXCI7XG4kZmEtdmFyLW1haWwtcmVwbHktYWxsOiBcIlxcZjEyMlwiO1xuJGZhLXZhci1tYWxlOiBcIlxcZjE4M1wiO1xuJGZhLXZhci1tYXA6IFwiXFxmMjc5XCI7XG4kZmEtdmFyLW1hcC1tYXJrZXI6IFwiXFxmMDQxXCI7XG4kZmEtdmFyLW1hcC1vOiBcIlxcZjI3OFwiO1xuJGZhLXZhci1tYXAtcGluOiBcIlxcZjI3NlwiO1xuJGZhLXZhci1tYXAtc2lnbnM6IFwiXFxmMjc3XCI7XG4kZmEtdmFyLW1hcnM6IFwiXFxmMjIyXCI7XG4kZmEtdmFyLW1hcnMtZG91YmxlOiBcIlxcZjIyN1wiO1xuJGZhLXZhci1tYXJzLXN0cm9rZTogXCJcXGYyMjlcIjtcbiRmYS12YXItbWFycy1zdHJva2UtaDogXCJcXGYyMmJcIjtcbiRmYS12YXItbWFycy1zdHJva2UtdjogXCJcXGYyMmFcIjtcbiRmYS12YXItbWF4Y2RuOiBcIlxcZjEzNlwiO1xuJGZhLXZhci1tZWFucGF0aDogXCJcXGYyMGNcIjtcbiRmYS12YXItbWVkaXVtOiBcIlxcZjIzYVwiO1xuJGZhLXZhci1tZWRraXQ6IFwiXFxmMGZhXCI7XG4kZmEtdmFyLW1lZXR1cDogXCJcXGYyZTBcIjtcbiRmYS12YXItbWVoLW86IFwiXFxmMTFhXCI7XG4kZmEtdmFyLW1lcmN1cnk6IFwiXFxmMjIzXCI7XG4kZmEtdmFyLW1pY3JvY2hpcDogXCJcXGYyZGJcIjtcbiRmYS12YXItbWljcm9waG9uZTogXCJcXGYxMzBcIjtcbiRmYS12YXItbWljcm9waG9uZS1zbGFzaDogXCJcXGYxMzFcIjtcbiRmYS12YXItbWludXM6IFwiXFxmMDY4XCI7XG4kZmEtdmFyLW1pbnVzLWNpcmNsZTogXCJcXGYwNTZcIjtcbiRmYS12YXItbWludXMtc3F1YXJlOiBcIlxcZjE0NlwiO1xuJGZhLXZhci1taW51cy1zcXVhcmUtbzogXCJcXGYxNDdcIjtcbiRmYS12YXItbWl4Y2xvdWQ6IFwiXFxmMjg5XCI7XG4kZmEtdmFyLW1vYmlsZTogXCJcXGYxMGJcIjtcbiRmYS12YXItbW9iaWxlLXBob25lOiBcIlxcZjEwYlwiO1xuJGZhLXZhci1tb2R4OiBcIlxcZjI4NVwiO1xuJGZhLXZhci1tb25leTogXCJcXGYwZDZcIjtcbiRmYS12YXItbW9vbi1vOiBcIlxcZjE4NlwiO1xuJGZhLXZhci1tb3J0YXItYm9hcmQ6IFwiXFxmMTlkXCI7XG4kZmEtdmFyLW1vdG9yY3ljbGU6IFwiXFxmMjFjXCI7XG4kZmEtdmFyLW1vdXNlLXBvaW50ZXI6IFwiXFxmMjQ1XCI7XG4kZmEtdmFyLW11c2ljOiBcIlxcZjAwMVwiO1xuJGZhLXZhci1uYXZpY29uOiBcIlxcZjBjOVwiO1xuJGZhLXZhci1uZXV0ZXI6IFwiXFxmMjJjXCI7XG4kZmEtdmFyLW5ld3NwYXBlci1vOiBcIlxcZjFlYVwiO1xuJGZhLXZhci1vYmplY3QtZ3JvdXA6IFwiXFxmMjQ3XCI7XG4kZmEtdmFyLW9iamVjdC11bmdyb3VwOiBcIlxcZjI0OFwiO1xuJGZhLXZhci1vZG5va2xhc3NuaWtpOiBcIlxcZjI2M1wiO1xuJGZhLXZhci1vZG5va2xhc3NuaWtpLXNxdWFyZTogXCJcXGYyNjRcIjtcbiRmYS12YXItb3BlbmNhcnQ6IFwiXFxmMjNkXCI7XG4kZmEtdmFyLW9wZW5pZDogXCJcXGYxOWJcIjtcbiRmYS12YXItb3BlcmE6IFwiXFxmMjZhXCI7XG4kZmEtdmFyLW9wdGluLW1vbnN0ZXI6IFwiXFxmMjNjXCI7XG4kZmEtdmFyLW91dGRlbnQ6IFwiXFxmMDNiXCI7XG4kZmEtdmFyLXBhZ2VsaW5lczogXCJcXGYxOGNcIjtcbiRmYS12YXItcGFpbnQtYnJ1c2g6IFwiXFxmMWZjXCI7XG4kZmEtdmFyLXBhcGVyLXBsYW5lOiBcIlxcZjFkOFwiO1xuJGZhLXZhci1wYXBlci1wbGFuZS1vOiBcIlxcZjFkOVwiO1xuJGZhLXZhci1wYXBlcmNsaXA6IFwiXFxmMGM2XCI7XG4kZmEtdmFyLXBhcmFncmFwaDogXCJcXGYxZGRcIjtcbiRmYS12YXItcGFzdGU6IFwiXFxmMGVhXCI7XG4kZmEtdmFyLXBhdXNlOiBcIlxcZjA0Y1wiO1xuJGZhLXZhci1wYXVzZS1jaXJjbGU6IFwiXFxmMjhiXCI7XG4kZmEtdmFyLXBhdXNlLWNpcmNsZS1vOiBcIlxcZjI4Y1wiO1xuJGZhLXZhci1wYXc6IFwiXFxmMWIwXCI7XG4kZmEtdmFyLXBheXBhbDogXCJcXGYxZWRcIjtcbiRmYS12YXItcGVuY2lsOiBcIlxcZjA0MFwiO1xuJGZhLXZhci1wZW5jaWwtc3F1YXJlOiBcIlxcZjE0YlwiO1xuJGZhLXZhci1wZW5jaWwtc3F1YXJlLW86IFwiXFxmMDQ0XCI7XG4kZmEtdmFyLXBlcmNlbnQ6IFwiXFxmMjk1XCI7XG4kZmEtdmFyLXBob25lOiBcIlxcZjA5NVwiO1xuJGZhLXZhci1waG9uZS1zcXVhcmU6IFwiXFxmMDk4XCI7XG4kZmEtdmFyLXBob3RvOiBcIlxcZjAzZVwiO1xuJGZhLXZhci1waWN0dXJlLW86IFwiXFxmMDNlXCI7XG4kZmEtdmFyLXBpZS1jaGFydDogXCJcXGYyMDBcIjtcbiRmYS12YXItcGllZC1waXBlcjogXCJcXGYyYWVcIjtcbiRmYS12YXItcGllZC1waXBlci1hbHQ6IFwiXFxmMWE4XCI7XG4kZmEtdmFyLXBpZWQtcGlwZXItcHA6IFwiXFxmMWE3XCI7XG4kZmEtdmFyLXBpbnRlcmVzdDogXCJcXGYwZDJcIjtcbiRmYS12YXItcGludGVyZXN0LXA6IFwiXFxmMjMxXCI7XG4kZmEtdmFyLXBpbnRlcmVzdC1zcXVhcmU6IFwiXFxmMGQzXCI7XG4kZmEtdmFyLXBsYW5lOiBcIlxcZjA3MlwiO1xuJGZhLXZhci1wbGF5OiBcIlxcZjA0YlwiO1xuJGZhLXZhci1wbGF5LWNpcmNsZTogXCJcXGYxNDRcIjtcbiRmYS12YXItcGxheS1jaXJjbGUtbzogXCJcXGYwMWRcIjtcbiRmYS12YXItcGx1ZzogXCJcXGYxZTZcIjtcbiRmYS12YXItcGx1czogXCJcXGYwNjdcIjtcbiRmYS12YXItcGx1cy1jaXJjbGU6IFwiXFxmMDU1XCI7XG4kZmEtdmFyLXBsdXMtc3F1YXJlOiBcIlxcZjBmZVwiO1xuJGZhLXZhci1wbHVzLXNxdWFyZS1vOiBcIlxcZjE5NlwiO1xuJGZhLXZhci1wb2RjYXN0OiBcIlxcZjJjZVwiO1xuJGZhLXZhci1wb3dlci1vZmY6IFwiXFxmMDExXCI7XG4kZmEtdmFyLXByaW50OiBcIlxcZjAyZlwiO1xuJGZhLXZhci1wcm9kdWN0LWh1bnQ6IFwiXFxmMjg4XCI7XG4kZmEtdmFyLXB1enpsZS1waWVjZTogXCJcXGYxMmVcIjtcbiRmYS12YXItcXE6IFwiXFxmMWQ2XCI7XG4kZmEtdmFyLXFyY29kZTogXCJcXGYwMjlcIjtcbiRmYS12YXItcXVlc3Rpb246IFwiXFxmMTI4XCI7XG4kZmEtdmFyLXF1ZXN0aW9uLWNpcmNsZTogXCJcXGYwNTlcIjtcbiRmYS12YXItcXVlc3Rpb24tY2lyY2xlLW86IFwiXFxmMjljXCI7XG4kZmEtdmFyLXF1b3JhOiBcIlxcZjJjNFwiO1xuJGZhLXZhci1xdW90ZS1sZWZ0OiBcIlxcZjEwZFwiO1xuJGZhLXZhci1xdW90ZS1yaWdodDogXCJcXGYxMGVcIjtcbiRmYS12YXItcmE6IFwiXFxmMWQwXCI7XG4kZmEtdmFyLXJhbmRvbTogXCJcXGYwNzRcIjtcbiRmYS12YXItcmF2ZWxyeTogXCJcXGYyZDlcIjtcbiRmYS12YXItcmViZWw6IFwiXFxmMWQwXCI7XG4kZmEtdmFyLXJlY3ljbGU6IFwiXFxmMWI4XCI7XG4kZmEtdmFyLXJlZGRpdDogXCJcXGYxYTFcIjtcbiRmYS12YXItcmVkZGl0LWFsaWVuOiBcIlxcZjI4MVwiO1xuJGZhLXZhci1yZWRkaXQtc3F1YXJlOiBcIlxcZjFhMlwiO1xuJGZhLXZhci1yZWZyZXNoOiBcIlxcZjAyMVwiO1xuJGZhLXZhci1yZWdpc3RlcmVkOiBcIlxcZjI1ZFwiO1xuJGZhLXZhci1yZW1vdmU6IFwiXFxmMDBkXCI7XG4kZmEtdmFyLXJlbnJlbjogXCJcXGYxOGJcIjtcbiRmYS12YXItcmVvcmRlcjogXCJcXGYwYzlcIjtcbiRmYS12YXItcmVwZWF0OiBcIlxcZjAxZVwiO1xuJGZhLXZhci1yZXBseTogXCJcXGYxMTJcIjtcbiRmYS12YXItcmVwbHktYWxsOiBcIlxcZjEyMlwiO1xuJGZhLXZhci1yZXNpc3RhbmNlOiBcIlxcZjFkMFwiO1xuJGZhLXZhci1yZXR3ZWV0OiBcIlxcZjA3OVwiO1xuJGZhLXZhci1ybWI6IFwiXFxmMTU3XCI7XG4kZmEtdmFyLXJvYWQ6IFwiXFxmMDE4XCI7XG4kZmEtdmFyLXJvY2tldDogXCJcXGYxMzVcIjtcbiRmYS12YXItcm90YXRlLWxlZnQ6IFwiXFxmMGUyXCI7XG4kZmEtdmFyLXJvdGF0ZS1yaWdodDogXCJcXGYwMWVcIjtcbiRmYS12YXItcm91YmxlOiBcIlxcZjE1OFwiO1xuJGZhLXZhci1yc3M6IFwiXFxmMDllXCI7XG4kZmEtdmFyLXJzcy1zcXVhcmU6IFwiXFxmMTQzXCI7XG4kZmEtdmFyLXJ1YjogXCJcXGYxNThcIjtcbiRmYS12YXItcnVibGU6IFwiXFxmMTU4XCI7XG4kZmEtdmFyLXJ1cGVlOiBcIlxcZjE1NlwiO1xuJGZhLXZhci1zMTU6IFwiXFxmMmNkXCI7XG4kZmEtdmFyLXNhZmFyaTogXCJcXGYyNjdcIjtcbiRmYS12YXItc2F2ZTogXCJcXGYwYzdcIjtcbiRmYS12YXItc2Npc3NvcnM6IFwiXFxmMGM0XCI7XG4kZmEtdmFyLXNjcmliZDogXCJcXGYyOGFcIjtcbiRmYS12YXItc2VhcmNoOiBcIlxcZjAwMlwiO1xuJGZhLXZhci1zZWFyY2gtbWludXM6IFwiXFxmMDEwXCI7XG4kZmEtdmFyLXNlYXJjaC1wbHVzOiBcIlxcZjAwZVwiO1xuJGZhLXZhci1zZWxsc3k6IFwiXFxmMjEzXCI7XG4kZmEtdmFyLXNlbmQ6IFwiXFxmMWQ4XCI7XG4kZmEtdmFyLXNlbmQtbzogXCJcXGYxZDlcIjtcbiRmYS12YXItc2VydmVyOiBcIlxcZjIzM1wiO1xuJGZhLXZhci1zaGFyZTogXCJcXGYwNjRcIjtcbiRmYS12YXItc2hhcmUtYWx0OiBcIlxcZjFlMFwiO1xuJGZhLXZhci1zaGFyZS1hbHQtc3F1YXJlOiBcIlxcZjFlMVwiO1xuJGZhLXZhci1zaGFyZS1zcXVhcmU6IFwiXFxmMTRkXCI7XG4kZmEtdmFyLXNoYXJlLXNxdWFyZS1vOiBcIlxcZjA0NVwiO1xuJGZhLXZhci1zaGVrZWw6IFwiXFxmMjBiXCI7XG4kZmEtdmFyLXNoZXFlbDogXCJcXGYyMGJcIjtcbiRmYS12YXItc2hpZWxkOiBcIlxcZjEzMlwiO1xuJGZhLXZhci1zaGlwOiBcIlxcZjIxYVwiO1xuJGZhLXZhci1zaGlydHNpbmJ1bGs6IFwiXFxmMjE0XCI7XG4kZmEtdmFyLXNob3BwaW5nLWJhZzogXCJcXGYyOTBcIjtcbiRmYS12YXItc2hvcHBpbmctYmFza2V0OiBcIlxcZjI5MVwiO1xuJGZhLXZhci1zaG9wcGluZy1jYXJ0OiBcIlxcZjA3YVwiO1xuJGZhLXZhci1zaG93ZXI6IFwiXFxmMmNjXCI7XG4kZmEtdmFyLXNpZ24taW46IFwiXFxmMDkwXCI7XG4kZmEtdmFyLXNpZ24tbGFuZ3VhZ2U6IFwiXFxmMmE3XCI7XG4kZmEtdmFyLXNpZ24tb3V0OiBcIlxcZjA4YlwiO1xuJGZhLXZhci1zaWduYWw6IFwiXFxmMDEyXCI7XG4kZmEtdmFyLXNpZ25pbmc6IFwiXFxmMmE3XCI7XG4kZmEtdmFyLXNpbXBseWJ1aWx0OiBcIlxcZjIxNVwiO1xuJGZhLXZhci1zaXRlbWFwOiBcIlxcZjBlOFwiO1xuJGZhLXZhci1za3lhdGxhczogXCJcXGYyMTZcIjtcbiRmYS12YXItc2t5cGU6IFwiXFxmMTdlXCI7XG4kZmEtdmFyLXNsYWNrOiBcIlxcZjE5OFwiO1xuJGZhLXZhci1zbGlkZXJzOiBcIlxcZjFkZVwiO1xuJGZhLXZhci1zbGlkZXNoYXJlOiBcIlxcZjFlN1wiO1xuJGZhLXZhci1zbWlsZS1vOiBcIlxcZjExOFwiO1xuJGZhLXZhci1zbmFwY2hhdDogXCJcXGYyYWJcIjtcbiRmYS12YXItc25hcGNoYXQtZ2hvc3Q6IFwiXFxmMmFjXCI7XG4kZmEtdmFyLXNuYXBjaGF0LXNxdWFyZTogXCJcXGYyYWRcIjtcbiRmYS12YXItc25vd2ZsYWtlLW86IFwiXFxmMmRjXCI7XG4kZmEtdmFyLXNvY2Nlci1iYWxsLW86IFwiXFxmMWUzXCI7XG4kZmEtdmFyLXNvcnQ6IFwiXFxmMGRjXCI7XG4kZmEtdmFyLXNvcnQtYWxwaGEtYXNjOiBcIlxcZjE1ZFwiO1xuJGZhLXZhci1zb3J0LWFscGhhLWRlc2M6IFwiXFxmMTVlXCI7XG4kZmEtdmFyLXNvcnQtYW1vdW50LWFzYzogXCJcXGYxNjBcIjtcbiRmYS12YXItc29ydC1hbW91bnQtZGVzYzogXCJcXGYxNjFcIjtcbiRmYS12YXItc29ydC1hc2M6IFwiXFxmMGRlXCI7XG4kZmEtdmFyLXNvcnQtZGVzYzogXCJcXGYwZGRcIjtcbiRmYS12YXItc29ydC1kb3duOiBcIlxcZjBkZFwiO1xuJGZhLXZhci1zb3J0LW51bWVyaWMtYXNjOiBcIlxcZjE2MlwiO1xuJGZhLXZhci1zb3J0LW51bWVyaWMtZGVzYzogXCJcXGYxNjNcIjtcbiRmYS12YXItc29ydC11cDogXCJcXGYwZGVcIjtcbiRmYS12YXItc291bmRjbG91ZDogXCJcXGYxYmVcIjtcbiRmYS12YXItc3BhY2Utc2h1dHRsZTogXCJcXGYxOTdcIjtcbiRmYS12YXItc3Bpbm5lcjogXCJcXGYxMTBcIjtcbiRmYS12YXItc3Bvb246IFwiXFxmMWIxXCI7XG4kZmEtdmFyLXNwb3RpZnk6IFwiXFxmMWJjXCI7XG4kZmEtdmFyLXNxdWFyZTogXCJcXGYwYzhcIjtcbiRmYS12YXItc3F1YXJlLW86IFwiXFxmMDk2XCI7XG4kZmEtdmFyLXN0YWNrLWV4Y2hhbmdlOiBcIlxcZjE4ZFwiO1xuJGZhLXZhci1zdGFjay1vdmVyZmxvdzogXCJcXGYxNmNcIjtcbiRmYS12YXItc3RhcjogXCJcXGYwMDVcIjtcbiRmYS12YXItc3Rhci1oYWxmOiBcIlxcZjA4OVwiO1xuJGZhLXZhci1zdGFyLWhhbGYtZW1wdHk6IFwiXFxmMTIzXCI7XG4kZmEtdmFyLXN0YXItaGFsZi1mdWxsOiBcIlxcZjEyM1wiO1xuJGZhLXZhci1zdGFyLWhhbGYtbzogXCJcXGYxMjNcIjtcbiRmYS12YXItc3Rhci1vOiBcIlxcZjAwNlwiO1xuJGZhLXZhci1zdGVhbTogXCJcXGYxYjZcIjtcbiRmYS12YXItc3RlYW0tc3F1YXJlOiBcIlxcZjFiN1wiO1xuJGZhLXZhci1zdGVwLWJhY2t3YXJkOiBcIlxcZjA0OFwiO1xuJGZhLXZhci1zdGVwLWZvcndhcmQ6IFwiXFxmMDUxXCI7XG4kZmEtdmFyLXN0ZXRob3Njb3BlOiBcIlxcZjBmMVwiO1xuJGZhLXZhci1zdGlja3ktbm90ZTogXCJcXGYyNDlcIjtcbiRmYS12YXItc3RpY2t5LW5vdGUtbzogXCJcXGYyNGFcIjtcbiRmYS12YXItc3RvcDogXCJcXGYwNGRcIjtcbiRmYS12YXItc3RvcC1jaXJjbGU6IFwiXFxmMjhkXCI7XG4kZmEtdmFyLXN0b3AtY2lyY2xlLW86IFwiXFxmMjhlXCI7XG4kZmEtdmFyLXN0cmVldC12aWV3OiBcIlxcZjIxZFwiO1xuJGZhLXZhci1zdHJpa2V0aHJvdWdoOiBcIlxcZjBjY1wiO1xuJGZhLXZhci1zdHVtYmxldXBvbjogXCJcXGYxYTRcIjtcbiRmYS12YXItc3R1bWJsZXVwb24tY2lyY2xlOiBcIlxcZjFhM1wiO1xuJGZhLXZhci1zdWJzY3JpcHQ6IFwiXFxmMTJjXCI7XG4kZmEtdmFyLXN1YndheTogXCJcXGYyMzlcIjtcbiRmYS12YXItc3VpdGNhc2U6IFwiXFxmMGYyXCI7XG4kZmEtdmFyLXN1bi1vOiBcIlxcZjE4NVwiO1xuJGZhLXZhci1zdXBlcnBvd2VyczogXCJcXGYyZGRcIjtcbiRmYS12YXItc3VwZXJzY3JpcHQ6IFwiXFxmMTJiXCI7XG4kZmEtdmFyLXN1cHBvcnQ6IFwiXFxmMWNkXCI7XG4kZmEtdmFyLXRhYmxlOiBcIlxcZjBjZVwiO1xuJGZhLXZhci10YWJsZXQ6IFwiXFxmMTBhXCI7XG4kZmEtdmFyLXRhY2hvbWV0ZXI6IFwiXFxmMGU0XCI7XG4kZmEtdmFyLXRhZzogXCJcXGYwMmJcIjtcbiRmYS12YXItdGFnczogXCJcXGYwMmNcIjtcbiRmYS12YXItdGFza3M6IFwiXFxmMGFlXCI7XG4kZmEtdmFyLXRheGk6IFwiXFxmMWJhXCI7XG4kZmEtdmFyLXRlbGVncmFtOiBcIlxcZjJjNlwiO1xuJGZhLXZhci10ZWxldmlzaW9uOiBcIlxcZjI2Y1wiO1xuJGZhLXZhci10ZW5jZW50LXdlaWJvOiBcIlxcZjFkNVwiO1xuJGZhLXZhci10ZXJtaW5hbDogXCJcXGYxMjBcIjtcbiRmYS12YXItdGV4dC1oZWlnaHQ6IFwiXFxmMDM0XCI7XG4kZmEtdmFyLXRleHQtd2lkdGg6IFwiXFxmMDM1XCI7XG4kZmEtdmFyLXRoOiBcIlxcZjAwYVwiO1xuJGZhLXZhci10aC1sYXJnZTogXCJcXGYwMDlcIjtcbiRmYS12YXItdGgtbGlzdDogXCJcXGYwMGJcIjtcbiRmYS12YXItdGhlbWVpc2xlOiBcIlxcZjJiMlwiO1xuJGZhLXZhci10aGVybW9tZXRlcjogXCJcXGYyYzdcIjtcbiRmYS12YXItdGhlcm1vbWV0ZXItMDogXCJcXGYyY2JcIjtcbiRmYS12YXItdGhlcm1vbWV0ZXItMTogXCJcXGYyY2FcIjtcbiRmYS12YXItdGhlcm1vbWV0ZXItMjogXCJcXGYyYzlcIjtcbiRmYS12YXItdGhlcm1vbWV0ZXItMzogXCJcXGYyYzhcIjtcbiRmYS12YXItdGhlcm1vbWV0ZXItNDogXCJcXGYyYzdcIjtcbiRmYS12YXItdGhlcm1vbWV0ZXItZW1wdHk6IFwiXFxmMmNiXCI7XG4kZmEtdmFyLXRoZXJtb21ldGVyLWZ1bGw6IFwiXFxmMmM3XCI7XG4kZmEtdmFyLXRoZXJtb21ldGVyLWhhbGY6IFwiXFxmMmM5XCI7XG4kZmEtdmFyLXRoZXJtb21ldGVyLXF1YXJ0ZXI6IFwiXFxmMmNhXCI7XG4kZmEtdmFyLXRoZXJtb21ldGVyLXRocmVlLXF1YXJ0ZXJzOiBcIlxcZjJjOFwiO1xuJGZhLXZhci10aHVtYi10YWNrOiBcIlxcZjA4ZFwiO1xuJGZhLXZhci10aHVtYnMtZG93bjogXCJcXGYxNjVcIjtcbiRmYS12YXItdGh1bWJzLW8tZG93bjogXCJcXGYwODhcIjtcbiRmYS12YXItdGh1bWJzLW8tdXA6IFwiXFxmMDg3XCI7XG4kZmEtdmFyLXRodW1icy11cDogXCJcXGYxNjRcIjtcbiRmYS12YXItdGlja2V0OiBcIlxcZjE0NVwiO1xuJGZhLXZhci10aW1lczogXCJcXGYwMGRcIjtcbiRmYS12YXItdGltZXMtY2lyY2xlOiBcIlxcZjA1N1wiO1xuJGZhLXZhci10aW1lcy1jaXJjbGUtbzogXCJcXGYwNWNcIjtcbiRmYS12YXItdGltZXMtcmVjdGFuZ2xlOiBcIlxcZjJkM1wiO1xuJGZhLXZhci10aW1lcy1yZWN0YW5nbGUtbzogXCJcXGYyZDRcIjtcbiRmYS12YXItdGludDogXCJcXGYwNDNcIjtcbiRmYS12YXItdG9nZ2xlLWRvd246IFwiXFxmMTUwXCI7XG4kZmEtdmFyLXRvZ2dsZS1sZWZ0OiBcIlxcZjE5MVwiO1xuJGZhLXZhci10b2dnbGUtb2ZmOiBcIlxcZjIwNFwiO1xuJGZhLXZhci10b2dnbGUtb246IFwiXFxmMjA1XCI7XG4kZmEtdmFyLXRvZ2dsZS1yaWdodDogXCJcXGYxNTJcIjtcbiRmYS12YXItdG9nZ2xlLXVwOiBcIlxcZjE1MVwiO1xuJGZhLXZhci10cmFkZW1hcms6IFwiXFxmMjVjXCI7XG4kZmEtdmFyLXRyYWluOiBcIlxcZjIzOFwiO1xuJGZhLXZhci10cmFuc2dlbmRlcjogXCJcXGYyMjRcIjtcbiRmYS12YXItdHJhbnNnZW5kZXItYWx0OiBcIlxcZjIyNVwiO1xuJGZhLXZhci10cmFzaDogXCJcXGYxZjhcIjtcbiRmYS12YXItdHJhc2gtbzogXCJcXGYwMTRcIjtcbiRmYS12YXItdHJlZTogXCJcXGYxYmJcIjtcbiRmYS12YXItdHJlbGxvOiBcIlxcZjE4MVwiO1xuJGZhLXZhci10cmlwYWR2aXNvcjogXCJcXGYyNjJcIjtcbiRmYS12YXItdHJvcGh5OiBcIlxcZjA5MVwiO1xuJGZhLXZhci10cnVjazogXCJcXGYwZDFcIjtcbiRmYS12YXItdHJ5OiBcIlxcZjE5NVwiO1xuJGZhLXZhci10dHk6IFwiXFxmMWU0XCI7XG4kZmEtdmFyLXR1bWJscjogXCJcXGYxNzNcIjtcbiRmYS12YXItdHVtYmxyLXNxdWFyZTogXCJcXGYxNzRcIjtcbiRmYS12YXItdHVya2lzaC1saXJhOiBcIlxcZjE5NVwiO1xuJGZhLXZhci10djogXCJcXGYyNmNcIjtcbiRmYS12YXItdHdpdGNoOiBcIlxcZjFlOFwiO1xuJGZhLXZhci10d2l0dGVyOiBcIlxcZjA5OVwiO1xuJGZhLXZhci10d2l0dGVyLXNxdWFyZTogXCJcXGYwODFcIjtcbiRmYS12YXItdW1icmVsbGE6IFwiXFxmMGU5XCI7XG4kZmEtdmFyLXVuZGVybGluZTogXCJcXGYwY2RcIjtcbiRmYS12YXItdW5kbzogXCJcXGYwZTJcIjtcbiRmYS12YXItdW5pdmVyc2FsLWFjY2VzczogXCJcXGYyOWFcIjtcbiRmYS12YXItdW5pdmVyc2l0eTogXCJcXGYxOWNcIjtcbiRmYS12YXItdW5saW5rOiBcIlxcZjEyN1wiO1xuJGZhLXZhci11bmxvY2s6IFwiXFxmMDljXCI7XG4kZmEtdmFyLXVubG9jay1hbHQ6IFwiXFxmMTNlXCI7XG4kZmEtdmFyLXVuc29ydGVkOiBcIlxcZjBkY1wiO1xuJGZhLXZhci11cGxvYWQ6IFwiXFxmMDkzXCI7XG4kZmEtdmFyLXVzYjogXCJcXGYyODdcIjtcbiRmYS12YXItdXNkOiBcIlxcZjE1NVwiO1xuJGZhLXZhci11c2VyOiBcIlxcZjAwN1wiO1xuJGZhLXZhci11c2VyLWNpcmNsZTogXCJcXGYyYmRcIjtcbiRmYS12YXItdXNlci1jaXJjbGUtbzogXCJcXGYyYmVcIjtcbiRmYS12YXItdXNlci1tZDogXCJcXGYwZjBcIjtcbiRmYS12YXItdXNlci1vOiBcIlxcZjJjMFwiO1xuJGZhLXZhci11c2VyLXBsdXM6IFwiXFxmMjM0XCI7XG4kZmEtdmFyLXVzZXItc2VjcmV0OiBcIlxcZjIxYlwiO1xuJGZhLXZhci11c2VyLXRpbWVzOiBcIlxcZjIzNVwiO1xuJGZhLXZhci11c2VyczogXCJcXGYwYzBcIjtcbiRmYS12YXItdmNhcmQ6IFwiXFxmMmJiXCI7XG4kZmEtdmFyLXZjYXJkLW86IFwiXFxmMmJjXCI7XG4kZmEtdmFyLXZlbnVzOiBcIlxcZjIyMVwiO1xuJGZhLXZhci12ZW51cy1kb3VibGU6IFwiXFxmMjI2XCI7XG4kZmEtdmFyLXZlbnVzLW1hcnM6IFwiXFxmMjI4XCI7XG4kZmEtdmFyLXZpYWNvaW46IFwiXFxmMjM3XCI7XG4kZmEtdmFyLXZpYWRlbzogXCJcXGYyYTlcIjtcbiRmYS12YXItdmlhZGVvLXNxdWFyZTogXCJcXGYyYWFcIjtcbiRmYS12YXItdmlkZW8tY2FtZXJhOiBcIlxcZjAzZFwiO1xuJGZhLXZhci12aW1lbzogXCJcXGYyN2RcIjtcbiRmYS12YXItdmltZW8tc3F1YXJlOiBcIlxcZjE5NFwiO1xuJGZhLXZhci12aW5lOiBcIlxcZjFjYVwiO1xuJGZhLXZhci12azogXCJcXGYxODlcIjtcbiRmYS12YXItdm9sdW1lLWNvbnRyb2wtcGhvbmU6IFwiXFxmMmEwXCI7XG4kZmEtdmFyLXZvbHVtZS1kb3duOiBcIlxcZjAyN1wiO1xuJGZhLXZhci12b2x1bWUtb2ZmOiBcIlxcZjAyNlwiO1xuJGZhLXZhci12b2x1bWUtdXA6IFwiXFxmMDI4XCI7XG4kZmEtdmFyLXdhcm5pbmc6IFwiXFxmMDcxXCI7XG4kZmEtdmFyLXdlY2hhdDogXCJcXGYxZDdcIjtcbiRmYS12YXItd2VpYm86IFwiXFxmMThhXCI7XG4kZmEtdmFyLXdlaXhpbjogXCJcXGYxZDdcIjtcbiRmYS12YXItd2hhdHNhcHA6IFwiXFxmMjMyXCI7XG4kZmEtdmFyLXdoZWVsY2hhaXI6IFwiXFxmMTkzXCI7XG4kZmEtdmFyLXdoZWVsY2hhaXItYWx0OiBcIlxcZjI5YlwiO1xuJGZhLXZhci13aWZpOiBcIlxcZjFlYlwiO1xuJGZhLXZhci13aWtpcGVkaWEtdzogXCJcXGYyNjZcIjtcbiRmYS12YXItd2luZG93LWNsb3NlOiBcIlxcZjJkM1wiO1xuJGZhLXZhci13aW5kb3ctY2xvc2UtbzogXCJcXGYyZDRcIjtcbiRmYS12YXItd2luZG93LW1heGltaXplOiBcIlxcZjJkMFwiO1xuJGZhLXZhci13aW5kb3ctbWluaW1pemU6IFwiXFxmMmQxXCI7XG4kZmEtdmFyLXdpbmRvdy1yZXN0b3JlOiBcIlxcZjJkMlwiO1xuJGZhLXZhci13aW5kb3dzOiBcIlxcZjE3YVwiO1xuJGZhLXZhci13b246IFwiXFxmMTU5XCI7XG4kZmEtdmFyLXdvcmRwcmVzczogXCJcXGYxOWFcIjtcbiRmYS12YXItd3BiZWdpbm5lcjogXCJcXGYyOTdcIjtcbiRmYS12YXItd3BleHBsb3JlcjogXCJcXGYyZGVcIjtcbiRmYS12YXItd3Bmb3JtczogXCJcXGYyOThcIjtcbiRmYS12YXItd3JlbmNoOiBcIlxcZjBhZFwiO1xuJGZhLXZhci14aW5nOiBcIlxcZjE2OFwiO1xuJGZhLXZhci14aW5nLXNxdWFyZTogXCJcXGYxNjlcIjtcbiRmYS12YXIteS1jb21iaW5hdG9yOiBcIlxcZjIzYlwiO1xuJGZhLXZhci15LWNvbWJpbmF0b3Itc3F1YXJlOiBcIlxcZjFkNFwiO1xuJGZhLXZhci15YWhvbzogXCJcXGYxOWVcIjtcbiRmYS12YXIteWM6IFwiXFxmMjNiXCI7XG4kZmEtdmFyLXljLXNxdWFyZTogXCJcXGYxZDRcIjtcbiRmYS12YXIteWVscDogXCJcXGYxZTlcIjtcbiRmYS12YXIteWVuOiBcIlxcZjE1N1wiO1xuJGZhLXZhci15b2FzdDogXCJcXGYyYjFcIjtcbiRmYS12YXIteW91dHViZTogXCJcXGYxNjdcIjtcbiRmYS12YXIteW91dHViZS1wbGF5OiBcIlxcZjE2YVwiO1xuJGZhLXZhci15b3V0dWJlLXNxdWFyZTogXCJcXGYxNjZcIjtcblxuIiwiLy8gQm9yZGVyZWQgJiBQdWxsZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvcmRlciB7XG4gIHBhZGRpbmc6IC4yZW0gLjI1ZW0gLjE1ZW07XG4gIGJvcmRlcjogc29saWQgLjA4ZW0gJGZhLWJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogLjFlbTtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXB1bGwtbGVmdCB7IGZsb2F0OiBsZWZ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcHVsbC1yaWdodCB7IGZsb2F0OiByaWdodDsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0ge1xuICAmLiN7JGZhLWNzcy1wcmVmaXh9LXB1bGwtbGVmdCB7IG1hcmdpbi1yaWdodDogLjNlbTsgfVxuICAmLiN7JGZhLWNzcy1wcmVmaXh9LXB1bGwtcmlnaHQgeyBtYXJnaW4tbGVmdDogLjNlbTsgfVxufVxuXG4vKiBEZXByZWNhdGVkIGFzIG9mIDQuNC4wICovXG4ucHVsbC1yaWdodCB7IGZsb2F0OiByaWdodDsgfVxuLnB1bGwtbGVmdCB7IGZsb2F0OiBsZWZ0OyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fSB7XG4gICYucHVsbC1sZWZ0IHsgbWFyZ2luLXJpZ2h0OiAuM2VtOyB9XG4gICYucHVsbC1yaWdodCB7IG1hcmdpbi1sZWZ0OiAuM2VtOyB9XG59XG4iLCIvLyBTcGlubmluZyBJY29uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwaW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbjogZmEtc3BpbiAycyBpbmZpbml0ZSBsaW5lYXI7XG4gICAgICAgICAgYW5pbWF0aW9uOiBmYS1zcGluIDJzIGluZmluaXRlIGxpbmVhcjtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXB1bHNlIHtcbiAgLXdlYmtpdC1hbmltYXRpb246IGZhLXNwaW4gMXMgaW5maW5pdGUgc3RlcHMoOCk7XG4gICAgICAgICAgYW5pbWF0aW9uOiBmYS1zcGluIDFzIGluZmluaXRlIHN0ZXBzKDgpO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmEtc3BpbiB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhLXNwaW4ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gIH1cbn1cbiIsIi8vIFJvdGF0ZWQgJiBGbGlwcGVkIEljb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRmYS1jc3MtcHJlZml4fS1yb3RhdGUtOTAgIHsgQGluY2x1ZGUgZmEtaWNvbi1yb3RhdGUoOTBkZWcsIDEpOyAgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJvdGF0ZS0xODAgeyBAaW5jbHVkZSBmYS1pY29uLXJvdGF0ZSgxODBkZWcsIDIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcm90YXRlLTI3MCB7IEBpbmNsdWRlIGZhLWljb24tcm90YXRlKDI3MGRlZywgMyk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsaXAtaG9yaXpvbnRhbCB7IEBpbmNsdWRlIGZhLWljb24tZmxpcCgtMSwgMSwgMCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mbGlwLXZlcnRpY2FsICAgeyBAaW5jbHVkZSBmYS1pY29uLWZsaXAoMSwgLTEsIDIpOyB9XG5cbi8vIEhvb2sgZm9yIElFOC05XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbjpyb290IC4jeyRmYS1jc3MtcHJlZml4fS1yb3RhdGUtOTAsXG46cm9vdCAuI3skZmEtY3NzLXByZWZpeH0tcm90YXRlLTE4MCxcbjpyb290IC4jeyRmYS1jc3MtcHJlZml4fS1yb3RhdGUtMjcwLFxuOnJvb3QgLiN7JGZhLWNzcy1wcmVmaXh9LWZsaXAtaG9yaXpvbnRhbCxcbjpyb290IC4jeyRmYS1jc3MtcHJlZml4fS1mbGlwLXZlcnRpY2FsIHtcbiAgZmlsdGVyOiBub25lO1xufVxuIiwiLy8gTWl4aW5zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gZmEtaWNvbigpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250OiBub3JtYWwgbm9ybWFsIG5vcm1hbCAjeyRmYS1mb250LXNpemUtYmFzZX0vI3skZmEtbGluZS1oZWlnaHQtYmFzZX0gRm9udEF3ZXNvbWU7IC8vIHNob3J0ZW5pbmcgZm9udCBkZWNsYXJhdGlvblxuICBmb250LXNpemU6IGluaGVyaXQ7IC8vIGNhbid0IGhhdmUgZm9udC1zaXplIGluaGVyaXQgb24gbGluZSBhYm92ZSwgc28gbmVlZCB0byBvdmVycmlkZVxuICB0ZXh0LXJlbmRlcmluZzogYXV0bzsgLy8gb3B0aW1pemVsZWdpYmlsaXR5IHRocm93cyB0aGluZ3Mgb2ZmICMxMDk0XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuXG59XG5cbkBtaXhpbiBmYS1pY29uLXJvdGF0ZSgkZGVncmVlcywgJHJvdGF0aW9uKSB7XG4gIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249I3skcm90YXRpb259KVwiO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWVzKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpO1xufVxuXG5AbWl4aW4gZmEtaWNvbi1mbGlwKCRob3JpeiwgJHZlcnQsICRyb3RhdGlvbikge1xuICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPSN7JHJvdGF0aW9ufSwgbWlycm9yPTEpXCI7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgkaG9yaXosICR2ZXJ0KTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKCRob3JpeiwgJHZlcnQpO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoJGhvcml6LCAkdmVydCk7XG59XG5cblxuLy8gT25seSBkaXNwbGF5IGNvbnRlbnQgdG8gc2NyZWVuIHJlYWRlcnMuIEEgbGEgQm9vdHN0cmFwIDQuXG4vL1xuLy8gU2VlOiBodHRwOi8vYTExeXByb2plY3QuY29tL3Bvc3RzL2hvdy10by1oaWRlLWNvbnRlbnQvXG5cbkBtaXhpbiBzci1vbmx5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsMCwwLDApO1xuICBib3JkZXI6IDA7XG59XG5cbi8vIFVzZSBpbiBjb25qdW5jdGlvbiB3aXRoIC5zci1vbmx5IHRvIG9ubHkgZGlzcGxheSBjb250ZW50IHdoZW4gaXQncyBmb2N1c2VkLlxuLy9cbi8vIFVzZWZ1bCBmb3IgXCJTa2lwIHRvIG1haW4gY29udGVudFwiIGxpbmtzOyBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvMjAxMy9OT1RFLVdDQUcyMC1URUNIUy0yMDEzMDkwNS9HMVxuLy9cbi8vIENyZWRpdDogSFRNTDUgQm9pbGVycGxhdGVcblxuQG1peGluIHNyLW9ubHktZm9jdXNhYmxlIHtcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjbGlwOiBhdXRvO1xuICB9XG59XG4iLCIvLyBTdGFja2VkIEljb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFjayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMmVtO1xuICBoZWlnaHQ6IDJlbTtcbiAgbGluZS1oZWlnaHQ6IDJlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFjay0xeCwgLiN7JGZhLWNzcy1wcmVmaXh9LXN0YWNrLTJ4IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YWNrLTF4IHsgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFjay0yeCB7IGZvbnQtc2l6ZTogMmVtOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW52ZXJzZSB7IGNvbG9yOiAkZmEtaW52ZXJzZTsgfVxuIiwiLyogRm9udCBBd2Vzb21lIHVzZXMgdGhlIFVuaWNvZGUgUHJpdmF0ZSBVc2UgQXJlYSAoUFVBKSB0byBlbnN1cmUgc2NyZWVuXG4gICByZWFkZXJzIGRvIG5vdCByZWFkIG9mZiByYW5kb20gY2hhcmFjdGVycyB0aGF0IHJlcHJlc2VudCBpY29ucyAqL1xuXG4uI3skZmEtY3NzLXByZWZpeH0tZ2xhc3M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1nbGFzczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW11c2ljOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbXVzaWM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZWFyY2g6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zZWFyY2g7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbnZlbG9wZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZW52ZWxvcGUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlYXJ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGVhcnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3RhcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YXItbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0YXItbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci11c2VyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsbTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpbG07IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aC1sYXJnZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRoLWxhcmdlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGg6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10aDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoLWxpc3Q6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10aC1saXN0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlY2s6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaGVjazsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlbW92ZTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tY2xvc2U6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXRpbWVzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGltZXM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZWFyY2gtcGx1czpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNlYXJjaC1wbHVzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VhcmNoLW1pbnVzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2VhcmNoLW1pbnVzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcG93ZXItb2ZmOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcG93ZXItb2ZmOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2lnbmFsOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2lnbmFsOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2VhcjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tY29nOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29nOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJhc2gtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRyYXNoLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob21lOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaG9tZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpbGUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb2NrLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jbG9jay1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcm9hZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJvYWQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kb3dubG9hZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWRvd25sb2FkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctY2lyY2xlLW8tZG93bjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFycm93LWNpcmNsZS1vLWRvd247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1jaXJjbGUtby11cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFycm93LWNpcmNsZS1vLXVwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW5ib3g6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1pbmJveDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsYXktY2lyY2xlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wbGF5LWNpcmNsZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcm90YXRlLXJpZ2h0OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1yZXBlYXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yZXBlYXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWZyZXNoOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcmVmcmVzaDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpc3QtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGlzdC1hbHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sb2NrOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbG9jazsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsYWc6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mbGFnOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGVhZHBob25lczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhlYWRwaG9uZXM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12b2x1bWUtb2ZmOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdm9sdW1lLW9mZjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZvbHVtZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdm9sdW1lLWRvd247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12b2x1bWUtdXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci12b2x1bWUtdXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1xcmNvZGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1xcmNvZGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXJjb2RlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmFyY29kZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRhZzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRhZzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRhZ3M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10YWdzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9vazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJvb2s7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib29rbWFyazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJvb2ttYXJrOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcHJpbnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wcmludDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbWVyYTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhbWVyYTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvbnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mb250OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9sZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJvbGQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pdGFsaWM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1pdGFsaWM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10ZXh0LWhlaWdodDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRleHQtaGVpZ2h0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGV4dC13aWR0aDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRleHQtd2lkdGg7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbGlnbi1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYWxpZ24tbGVmdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFsaWduLWNlbnRlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFsaWduLWNlbnRlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFsaWduLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYWxpZ24tcmlnaHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbGlnbi1qdXN0aWZ5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYWxpZ24tanVzdGlmeTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpc3Q6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1saXN0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGVkZW50OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1vdXRkZW50OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItb3V0ZGVudDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWluZGVudDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWluZGVudDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpZGVvLWNhbWVyYTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXZpZGVvLWNhbWVyYTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBob3RvOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1pbWFnZTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tcGljdHVyZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGljdHVyZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVuY2lsOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGVuY2lsOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFwLW1hcmtlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1hcC1tYXJrZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hZGp1c3Q6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hZGp1c3Q7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aW50OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGludDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVkaXQ6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlbmNpbC1zcXVhcmUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBlbmNpbC1zcXVhcmUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoYXJlLXNxdWFyZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2hhcmUtc3F1YXJlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVjay1zcXVhcmUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNoZWNrLXNxdWFyZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3dzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXJyb3dzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RlcC1iYWNrd2FyZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0ZXAtYmFja3dhcmQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mYXN0LWJhY2t3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmFzdC1iYWNrd2FyZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhY2t3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmFja3dhcmQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbGF5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGxheTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhdXNlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGF1c2U7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdG9wOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3RvcDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvcndhcmQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mb3J3YXJkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFzdC1mb3J3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmFzdC1mb3J3YXJkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RlcC1mb3J3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3RlcC1mb3J3YXJkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZWplY3Q6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1lamVjdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tbGVmdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNoZXZyb24tbGVmdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tcmlnaHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaGV2cm9uLXJpZ2h0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGx1cy1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wbHVzLWNpcmNsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pbnVzLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1pbnVzLWNpcmNsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRpbWVzLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRpbWVzLWNpcmNsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZWNrLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNoZWNrLWNpcmNsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXF1ZXN0aW9uLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXF1ZXN0aW9uLWNpcmNsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWluZm8tY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaW5mby1jaXJjbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcm9zc2hhaXJzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY3Jvc3NoYWlyczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRpbWVzLWNpcmNsZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGltZXMtY2lyY2xlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVjay1jaXJjbGUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNoZWNrLWNpcmNsZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFuOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmFuOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctbGVmdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFycm93LWxlZnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1yaWdodDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFycm93LXJpZ2h0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctdXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcnJvdy11cDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWRvd246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcnJvdy1kb3duOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFpbC1mb3J3YXJkOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1zaGFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNoYXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXhwYW5kOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZXhwYW5kOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tcHJlc3M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb21wcmVzczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsdXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wbHVzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWludXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1taW51czsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFzdGVyaXNrOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXN0ZXJpc2s7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leGNsYW1hdGlvbi1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1leGNsYW1hdGlvbi1jaXJjbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1naWZ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ2lmdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxlYWY6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1sZWFmOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leWU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1leWU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leWUtc2xhc2g6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1leWUtc2xhc2g7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13YXJuaW5nOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1leGNsYW1hdGlvbi10cmlhbmdsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGxhbmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wbGFuZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FsZW5kYXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yYW5kb206YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yYW5kb207IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29tbWVudDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hZ25ldDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1hZ25ldDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tdXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaGV2cm9uLXVwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hldnJvbi1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2hldnJvbi1kb3duOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmV0d2VldDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJldHdlZXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaG9wcGluZy1jYXJ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2hvcHBpbmctY2FydDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvbGRlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZvbGRlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvbGRlci1vcGVuOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZm9sZGVyLW9wZW47IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvd3MtdjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFycm93cy12OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3dzLWg6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcnJvd3MtaDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhci1jaGFydC1vOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1iYXItY2hhcnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iYXItY2hhcnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10d2l0dGVyLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXR3aXR0ZXItc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFjZWJvb2stc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmFjZWJvb2stc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FtZXJhLXJldHJvOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FtZXJhLXJldHJvOyB9XG4uI3skZmEtY3NzLXByZWZpeH0ta2V5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXIta2V5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2VhcnM6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvZ3M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb2dzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudHM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb21tZW50czsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRodW1icy1vLXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGh1bWJzLW8tdXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aHVtYnMtby1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGh1bWJzLW8tZG93bjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YXItaGFsZjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0YXItaGFsZjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlYXJ0LW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oZWFydC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2lnbi1vdXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zaWduLW91dDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpbmtlZGluLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxpbmtlZGluLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRodW1iLXRhY2s6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10aHVtYi10YWNrOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXh0ZXJuYWwtbGluazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWV4dGVybmFsLWxpbms7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaWduLWluOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2lnbi1pbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyb3BoeTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRyb3BoeTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdGh1Yi1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1naXRodWItc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXBsb2FkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdXBsb2FkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGVtb24tbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxlbW9uLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waG9uZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBob25lOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3F1YXJlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zcXVhcmUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvb2ttYXJrLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ib29rbWFyay1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGhvbmUtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGhvbmUtc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHdpdHRlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXR3aXR0ZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mYWNlYm9vay1mOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1mYWNlYm9vazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZhY2Vib29rOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2l0aHViOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ2l0aHViOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW5sb2NrOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdW5sb2NrOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlZGl0LWNhcmQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jcmVkaXQtY2FyZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZlZWQ6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXJzczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJzczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhkZC1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGRkLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1idWxsaG9ybjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJ1bGxob3JuOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmVsbDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJlbGw7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jZXJ0aWZpY2F0ZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNlcnRpZmljYXRlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1vLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGFuZC1vLXJpZ2h0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1vLWxlZnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oYW5kLW8tbGVmdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtby11cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhhbmQtby11cDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtby1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGFuZC1vLWRvd247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1jaXJjbGUtbGVmdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFycm93LWNpcmNsZS1sZWZ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctY2lyY2xlLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXJyb3ctY2lyY2xlLXJpZ2h0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctY2lyY2xlLXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXJyb3ctY2lyY2xlLXVwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctY2lyY2xlLWRvd246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcnJvdy1jaXJjbGUtZG93bjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdsb2JlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ2xvYmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13cmVuY2g6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci13cmVuY2g7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10YXNrczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRhc2tzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsdGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlsdGVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnJpZWZjYXNlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYnJpZWZjYXNlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3dzLWFsdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFycm93cy1hbHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncm91cDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tdXNlcnM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci11c2VyczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoYWluOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1saW5rOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGluazsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3VkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2xvdWQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mbGFzazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZsYXNrOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3V0OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1zY2lzc29yczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNjaXNzb3JzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29weTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZXMtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpbGVzLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXBlcmNsaXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wYXBlcmNsaXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zYXZlOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1mbG9wcHktbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZsb3BweS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbmF2aWNvbjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tcmVvcmRlcjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tYmFyczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJhcnM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saXN0LXVsOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGlzdC11bDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpc3Qtb2w6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1saXN0LW9sOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RyaWtldGhyb3VnaDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0cmlrZXRocm91Z2g7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11bmRlcmxpbmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci11bmRlcmxpbmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10YWJsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRhYmxlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFnaWM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tYWdpYzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRydWNrOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdHJ1Y2s7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waW50ZXJlc3Q6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1waW50ZXJlc3Q7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waW50ZXJlc3Qtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGludGVyZXN0LXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdvb2dsZS1wbHVzLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdvb2dsZS1wbHVzLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdvb2dsZS1wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ29vZ2xlLXBsdXM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb25leTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1vbmV5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtZG93bjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhcmV0LWRvd247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJldC11cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhcmV0LXVwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtbGVmdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhcmV0LWxlZnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJldC1yaWdodDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhcmV0LXJpZ2h0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29sdW1uczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNvbHVtbnM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11bnNvcnRlZDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tc29ydDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNvcnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWRvd246YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtZGVzYzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNvcnQtZGVzYzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtdXA6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtYXNjOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc29ydC1hc2M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbnZlbG9wZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWVudmVsb3BlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlua2VkaW46YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1saW5rZWRpbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJvdGF0ZS1sZWZ0OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS11bmRvOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdW5kbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxlZ2FsOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1nYXZlbDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdhdmVsOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGFzaGJvYXJkOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS10YWNob21ldGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGFjaG9tZXRlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnQtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNvbW1lbnQtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnRzLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb21tZW50cy1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmxhc2g6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvbHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ib2x0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2l0ZW1hcDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNpdGVtYXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11bWJyZWxsYTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXVtYnJlbGxhOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFzdGU6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsaXBib2FyZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNsaXBib2FyZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpZ2h0YnVsYi1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGlnaHRidWxiLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leGNoYW5nZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWV4Y2hhbmdlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWQtZG93bmxvYWQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jbG91ZC1kb3dubG9hZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3VkLXVwbG9hZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNsb3VkLXVwbG9hZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItbWQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci11c2VyLW1kOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RldGhvc2NvcGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdGV0aG9zY29wZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1aXRjYXNlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3VpdGNhc2U7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iZWxsLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iZWxsLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb2ZmZWU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb2ZmZWU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jdXRsZXJ5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY3V0bGVyeTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtdGV4dC1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlsZS10ZXh0LW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1idWlsZGluZy1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYnVpbGRpbmctbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvc3BpdGFsLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ob3NwaXRhbC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW1idWxhbmNlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYW1idWxhbmNlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVka2l0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWVka2l0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlnaHRlci1qZXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maWdodGVyLWpldDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iZWVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taC1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsdXMtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGx1cy1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdsZS1kb3VibGUtbGVmdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFuZ2xlLWRvdWJsZS1sZWZ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nbGUtZG91YmxlLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYW5nbGUtZG91YmxlLXJpZ2h0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nbGUtZG91YmxlLXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYW5nbGUtZG91YmxlLXVwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nbGUtZG91YmxlLWRvd246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hbmdsZS1kb3VibGUtZG93bjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2xlLWxlZnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hbmdsZS1sZWZ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nbGUtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hbmdsZS1yaWdodDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2xlLXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYW5nbGUtdXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdsZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYW5nbGUtZG93bjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRlc2t0b3A6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1kZXNrdG9wOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGFwdG9wOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGFwdG9wOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGFibGV0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGFibGV0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9iaWxlLXBob25lOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1tb2JpbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tb2JpbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaXJjbGUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNpcmNsZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXVvdGUtbGVmdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXF1b3RlLWxlZnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1xdW90ZS1yaWdodDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXF1b3RlLXJpZ2h0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3Bpbm5lcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNwaW5uZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaXJjbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYWlsLXJlcGx5OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1yZXBseTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJlcGx5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2l0aHViLWFsdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdpdGh1Yi1hbHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb2xkZXItbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZvbGRlci1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9sZGVyLW9wZW4tbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZvbGRlci1vcGVuLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbWlsZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc21pbGUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZyb3duLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mcm93bi1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVoLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tZWgtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdhbWVwYWQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1nYW1lcGFkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0ta2V5Ym9hcmQtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWtleWJvYXJkLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mbGFnLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mbGFnLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mbGFnLWNoZWNrZXJlZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZsYWctY2hlY2tlcmVkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGVybWluYWw6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10ZXJtaW5hbDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvZGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb2RlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFpbC1yZXBseS1hbGw6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlcGx5LWFsbDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJlcGx5LWFsbDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YXItaGFsZi1lbXB0eTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tc3Rhci1oYWxmLWZ1bGw6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YXItaGFsZi1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3Rhci1oYWxmLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sb2NhdGlvbi1hcnJvdzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxvY2F0aW9uLWFycm93OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JvcDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNyb3A7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb2RlLWZvcms6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb2RlLWZvcms7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11bmxpbms6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoYWluLWJyb2tlbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNoYWluLWJyb2tlbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXF1ZXN0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcXVlc3Rpb247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbmZvOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaW5mbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4Y2xhbWF0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZXhjbGFtYXRpb247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdXBlcnNjcmlwdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN1cGVyc2NyaXB0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3Vic2NyaXB0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3Vic2NyaXB0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXJhc2VyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZXJhc2VyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcHV6emxlLXBpZWNlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcHV6emxlLXBpZWNlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWljcm9waG9uZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1pY3JvcGhvbmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taWNyb3Bob25lLXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWljcm9waG9uZS1zbGFzaDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoaWVsZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNoaWVsZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYWxlbmRhci1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlyZS1leHRpbmd1aXNoZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maXJlLWV4dGluZ3Vpc2hlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJvY2tldDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJvY2tldDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1heGNkbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1heGNkbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tY2lyY2xlLWxlZnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaGV2cm9uLWNpcmNsZS1sZWZ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hldnJvbi1jaXJjbGUtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaGV2cm9uLWNpcmNsZS1yaWdodDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tY2lyY2xlLXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2hldnJvbi1jaXJjbGUtdXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLWNpcmNsZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2hldnJvbi1jaXJjbGUtZG93bjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWh0bWw1OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaHRtbDU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jc3MzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY3NzMzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuY2hvcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFuY2hvcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVubG9jay1hbHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci11bmxvY2stYWx0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVsbHNleWU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1idWxsc2V5ZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVsbGlwc2lzLWg6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1lbGxpcHNpcy1oOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZWxsaXBzaXMtdjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWVsbGlwc2lzLXY7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yc3Mtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcnNzLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsYXktY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGxheS1jaXJjbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aWNrZXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10aWNrZXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taW51cy1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1taW51cy1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taW51cy1zcXVhcmUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1pbnVzLXNxdWFyZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGV2ZWwtdXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1sZXZlbC11cDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxldmVsLWRvd246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1sZXZlbC1kb3duOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlY2stc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2hlY2stc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVuY2lsLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBlbmNpbC1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leHRlcm5hbC1saW5rLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWV4dGVybmFsLWxpbmstc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hhcmUtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2hhcmUtc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tcGFzczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNvbXBhc3M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10b2dnbGUtZG93bjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtc3F1YXJlLW8tZG93bjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhcmV0LXNxdWFyZS1vLWRvd247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10b2dnbGUtdXA6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LXNxdWFyZS1vLXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FyZXQtc3F1YXJlLW8tdXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10b2dnbGUtcmlnaHQ6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LXNxdWFyZS1vLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FyZXQtc3F1YXJlLW8tcmlnaHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ldXJvOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1ldXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ldXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nYnA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1nYnA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kb2xsYXI6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXVzZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJ1cGVlOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1pbnI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1pbnI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbnk6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXJtYjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0teWVuOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1qcHk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1qcHk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ydWJsZTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tcm91YmxlOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1ydWI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ydWI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13b246YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWtydzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWtydzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJpdGNvaW46YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ0YzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJ0YzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maWxlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS10ZXh0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlsZS10ZXh0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1hbHBoYS1hc2M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zb3J0LWFscGhhLWFzYzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtYWxwaGEtZGVzYzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNvcnQtYWxwaGEtZGVzYzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtYW1vdW50LWFzYzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNvcnQtYW1vdW50LWFzYzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtYW1vdW50LWRlc2M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zb3J0LWFtb3VudC1kZXNjOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1udW1lcmljLWFzYzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNvcnQtbnVtZXJpYy1hc2M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LW51bWVyaWMtZGVzYzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNvcnQtbnVtZXJpYy1kZXNjOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGh1bWJzLXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGh1bWJzLXVwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGh1bWJzLWRvd246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10aHVtYnMtZG93bjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXlvdXR1YmUtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXIteW91dHViZS1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15b3V0dWJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXIteW91dHViZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXhpbmc6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci14aW5nOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teGluZy1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci14aW5nLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXlvdXR1YmUtcGxheTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXlvdXR1YmUtcGxheTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRyb3Bib3g6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1kcm9wYm94OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RhY2stb3ZlcmZsb3c6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdGFjay1vdmVyZmxvdzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWluc3RhZ3JhbTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWluc3RhZ3JhbTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsaWNrcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZsaWNrcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFkbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFkbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJpdGJ1Y2tldDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJpdGJ1Y2tldDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJpdGJ1Y2tldC1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iaXRidWNrZXQtc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHVtYmxyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdHVtYmxyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHVtYmxyLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXR1bWJsci1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sb25nLWFycm93LWRvd246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1sb25nLWFycm93LWRvd247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sb25nLWFycm93LXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbG9uZy1hcnJvdy11cDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxvbmctYXJyb3ctbGVmdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxvbmctYXJyb3ctbGVmdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxvbmctYXJyb3ctcmlnaHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1sb25nLWFycm93LXJpZ2h0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXBwbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcHBsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdpbmRvd3M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci13aW5kb3dzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5kcm9pZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFuZHJvaWQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saW51eDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxpbnV4OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJpYmJibGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1kcmliYmJsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNreXBlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2t5cGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb3Vyc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZm91cnNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyZWxsbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRyZWxsbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZlbWFsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZlbWFsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tYWxlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2l0dGlwOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1ncmF0aXBheTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdyYXRpcGF5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3VuLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdW4tbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vb24tbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1vb24tbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFyY2hpdmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcmNoaXZlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVnOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYnVnOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdms6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci12azsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdlaWJvOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItd2VpYm87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZW5yZW46YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yZW5yZW47IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYWdlbGluZXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wYWdlbGluZXM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFjay1leGNoYW5nZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0YWNrLWV4Y2hhbmdlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctY2lyY2xlLW8tcmlnaHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcnJvdy1jaXJjbGUtby1yaWdodDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWNpcmNsZS1vLWxlZnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcnJvdy1jaXJjbGUtby1sZWZ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdG9nZ2xlLWxlZnQ6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LXNxdWFyZS1vLWxlZnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYXJldC1zcXVhcmUtby1sZWZ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZG90LWNpcmNsZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZG90LWNpcmNsZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2hlZWxjaGFpcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXdoZWVsY2hhaXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12aW1lby1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci12aW1lby1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10dXJraXNoLWxpcmE6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyeTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRyeTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsdXMtc3F1YXJlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wbHVzLXNxdWFyZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3BhY2Utc2h1dHRsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNwYWNlLXNodXR0bGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbGFjazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNsYWNrOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZW52ZWxvcGUtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZW52ZWxvcGUtc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td29yZHByZXNzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItd29yZHByZXNzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb3BlbmlkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItb3BlbmlkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW5zdGl0dXRpb246YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhbms6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXVuaXZlcnNpdHk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci11bml2ZXJzaXR5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9ydGFyLWJvYXJkOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1ncmFkdWF0aW9uLWNhcDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdyYWR1YXRpb24tY2FwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teWFob286YmVmb3JlIHsgY29udGVudDogJGZhLXZhci15YWhvbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdvb2dsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdvb2dsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlZGRpdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJlZGRpdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlZGRpdC1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yZWRkaXQtc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3R1bWJsZXVwb24tY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3R1bWJsZXVwb24tY2lyY2xlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3R1bWJsZXVwb246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdHVtYmxldXBvbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRlbGljaW91czpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWRlbGljaW91czsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpZ2c6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1kaWdnOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGllZC1waXBlci1wcDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBpZWQtcGlwZXItcHA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waWVkLXBpcGVyLWFsdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBpZWQtcGlwZXItYWx0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJ1cGFsOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZHJ1cGFsOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tam9vbWxhOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItam9vbWxhOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGFuZ3VhZ2U6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1sYW5ndWFnZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZheDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZheDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1aWxkaW5nOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYnVpbGRpbmc7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGlsZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNoaWxkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGF3OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGF3OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3Bvb246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zcG9vbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWN1YmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jdWJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3ViZXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jdWJlczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlaGFuY2U6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iZWhhbmNlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmVoYW5jZS1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iZWhhbmNlLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0ZWFtOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3RlYW07IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGVhbS1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdGVhbS1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWN5Y2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcmVjeWNsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWF1dG9tb2JpbGU6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhYjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tdGF4aTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRheGk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmVlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdHJlZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwb3RpZnk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zcG90aWZ5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGV2aWFudGFydDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWRldmlhbnRhcnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3VuZGNsb3VkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc291bmRjbG91ZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRhdGFiYXNlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZGF0YWJhc2U7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXBkZi1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlsZS1wZGYtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtd29yZC1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlsZS13b3JkLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWV4Y2VsLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maWxlLWV4Y2VsLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXBvd2VycG9pbnQtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpbGUtcG93ZXJwb2ludC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1waG90by1vOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXBpY3R1cmUtbzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1pbWFnZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlsZS1pbWFnZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS16aXAtbzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1hcmNoaXZlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maWxlLWFyY2hpdmUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtc291bmQtbzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1hdWRpby1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlsZS1hdWRpby1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1tb3ZpZS1vOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXZpZGVvLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maWxlLXZpZGVvLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWNvZGUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpbGUtY29kZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmluZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXZpbmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb2RlcGVuOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29kZXBlbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWpzZmlkZGxlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItanNmaWRkbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saWZlLWJvdXk6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpZmUtYnVveTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tbGlmZS1zYXZlcjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tc3VwcG9ydDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tbGlmZS1yaW5nOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGlmZS1yaW5nOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2lyY2xlLW8tbm90Y2g6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaXJjbGUtby1ub3RjaDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJhOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1yZXNpc3RhbmNlOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1yZWJlbDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJlYmVsOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2U6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWVtcGlyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWVtcGlyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdC1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1naXQtc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2l0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ2l0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0teS1jb21iaW5hdG9yLXNxdWFyZTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0teWMtc3F1YXJlOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1oYWNrZXItbmV3czpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhhY2tlci1uZXdzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGVuY2VudC13ZWlibzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRlbmNlbnQtd2VpYm87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1xcTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXFxOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2VjaGF0OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS13ZWl4aW46YmVmb3JlIHsgY29udGVudDogJGZhLXZhci13ZWl4aW47IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZW5kOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1wYXBlci1wbGFuZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBhcGVyLXBsYW5lOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VuZC1vOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1wYXBlci1wbGFuZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGFwZXItcGxhbmUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhpc3Rvcnk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oaXN0b3J5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2lyY2xlLXRoaW46YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaXJjbGUtdGhpbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlYWRlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhlYWRlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhcmFncmFwaDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBhcmFncmFwaDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNsaWRlcnM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zbGlkZXJzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hhcmUtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2hhcmUtYWx0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hhcmUtYWx0LXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNoYXJlLWFsdC1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib21iOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYm9tYjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvY2Nlci1iYWxsLW86YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWZ1dGJvbC1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZnV0Ym9sLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10dHk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10dHk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iaW5vY3VsYXJzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmlub2N1bGFyczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsdWc6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wbHVnOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2xpZGVzaGFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNsaWRlc2hhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10d2l0Y2g6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10d2l0Y2g7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15ZWxwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXIteWVscDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW5ld3NwYXBlci1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbmV3c3BhcGVyLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aWZpOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItd2lmaTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGN1bGF0b3I6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYWxjdWxhdG9yOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGF5cGFsOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGF5cGFsOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29vZ2xlLXdhbGxldDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdvb2dsZS13YWxsZXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy12aXNhOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2MtdmlzYTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjLW1hc3RlcmNhcmQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYy1tYXN0ZXJjYXJkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2MtZGlzY292ZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYy1kaXNjb3ZlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjLWFtZXg6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYy1hbWV4OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2MtcGF5cGFsOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2MtcGF5cGFsOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2Mtc3RyaXBlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2Mtc3RyaXBlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmVsbC1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJlbGwtc2xhc2g7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iZWxsLXNsYXNoLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iZWxsLXNsYXNoLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmFzaDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRyYXNoOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29weXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29weXJpZ2h0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV5ZWRyb3BwZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1leWVkcm9wcGVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFpbnQtYnJ1c2g6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wYWludC1icnVzaDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJpcnRoZGF5LWNha2U6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iaXJ0aGRheS1jYWtlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJlYS1jaGFydDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFyZWEtY2hhcnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waWUtY2hhcnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1waWUtY2hhcnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saW5lLWNoYXJ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGluZS1jaGFydDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxhc3RmbTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxhc3RmbTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxhc3RmbS1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1sYXN0Zm0tc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdG9nZ2xlLW9mZjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRvZ2dsZS1vZmY7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10b2dnbGUtb246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10b2dnbGUtb247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iaWN5Y2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmljeWNsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1czpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJ1czsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWlveGhvc3Q6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1pb3hob3N0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nZWxsaXN0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYW5nZWxsaXN0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoZWtlbDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tc2hlcWVsOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1pbHM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1pbHM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZWFucGF0aDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1lYW5wYXRoOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnV5c2VsbGFkczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJ1eXNlbGxhZHM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb25uZWN0ZGV2ZWxvcDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNvbm5lY3RkZXZlbG9wOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGFzaGN1YmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1kYXNoY3ViZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvcnVtYmVlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZm9ydW1iZWU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sZWFucHViOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGVhbnB1YjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNlbGxzeTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNlbGxzeTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoaXJ0c2luYnVsazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNoaXJ0c2luYnVsazsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpbXBseWJ1aWx0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2ltcGx5YnVpbHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1za3lhdGxhczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNreWF0bGFzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FydC1wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FydC1wbHVzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FydC1hcnJvdy1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FydC1hcnJvdy1kb3duOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGlhbW9uZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWRpYW1vbmQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaGlwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2hpcDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItc2VjcmV0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdXNlci1zZWNyZXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb3RvcmN5Y2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbW90b3JjeWNsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0cmVldC12aWV3OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3RyZWV0LXZpZXc7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFydGJlYXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oZWFydGJlYXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12ZW51czpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXZlbnVzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFyczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1hcnM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZXJjdXJ5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWVyY3VyeTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWludGVyc2V4OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS10cmFuc2dlbmRlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRyYW5zZ2VuZGVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJhbnNnZW5kZXItYWx0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdHJhbnNnZW5kZXItYWx0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmVudXMtZG91YmxlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdmVudXMtZG91YmxlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFycy1kb3VibGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tYXJzLWRvdWJsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZlbnVzLW1hcnM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci12ZW51cy1tYXJzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFycy1zdHJva2U6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tYXJzLXN0cm9rZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcnMtc3Ryb2tlLXY6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tYXJzLXN0cm9rZS12OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFycy1zdHJva2UtaDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1hcnMtc3Ryb2tlLWg7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1uZXV0ZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1uZXV0ZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nZW5kZXJsZXNzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ2VuZGVybGVzczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZhY2Vib29rLW9mZmljaWFsOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmFjZWJvb2stb2ZmaWNpYWw7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waW50ZXJlc3QtcDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBpbnRlcmVzdC1wOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2hhdHNhcHA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci13aGF0c2FwcDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNlcnZlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNlcnZlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItcGx1czpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXVzZXItcGx1czsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItdGltZXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci11c2VyLXRpbWVzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG90ZWw6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJlZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpYWNvaW46YmVmb3JlIHsgY29udGVudDogJGZhLXZhci12aWFjb2luOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJhaW46YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10cmFpbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1YndheTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN1YndheTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1lZGl1bTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1lZGl1bTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXljOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS15LWNvbWJpbmF0b3I6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci15LWNvbWJpbmF0b3I7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vcHRpbi1tb25zdGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItb3B0aW4tbW9uc3RlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9wZW5jYXJ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItb3BlbmNhcnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leHBlZGl0ZWRzc2w6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1leHBlZGl0ZWRzc2w7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LTQ6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRlcnk6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRlcnktZnVsbDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJhdHRlcnktZnVsbDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRlcnktMzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tYmF0dGVyeS10aHJlZS1xdWFydGVyczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJhdHRlcnktdGhyZWUtcXVhcnRlcnM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LTI6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRlcnktaGFsZjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJhdHRlcnktaGFsZjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRlcnktMTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tYmF0dGVyeS1xdWFydGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmF0dGVyeS1xdWFydGVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmF0dGVyeS0wOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LWVtcHR5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmF0dGVyeS1lbXB0eTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vdXNlLXBvaW50ZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tb3VzZS1wb2ludGVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taS1jdXJzb3I6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1pLWN1cnNvcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9iamVjdC1ncm91cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW9iamVjdC1ncm91cDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9iamVjdC11bmdyb3VwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItb2JqZWN0LXVuZ3JvdXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGlja3ktbm90ZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0aWNreS1ub3RlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RpY2t5LW5vdGUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0aWNreS1ub3RlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy1qY2I6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYy1qY2I7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy1kaW5lcnMtY2x1YjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNjLWRpbmVycy1jbHViOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvbmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jbG9uZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhbGFuY2Utc2NhbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iYWxhbmNlLXNjYWxlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG91cmdsYXNzLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ob3VyZ2xhc3MtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXJnbGFzcy0xOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1ob3VyZ2xhc3Mtc3RhcnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ob3VyZ2xhc3Mtc3RhcnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3VyZ2xhc3MtMjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0taG91cmdsYXNzLWhhbGY6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ob3VyZ2xhc3MtaGFsZjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXJnbGFzcy0zOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1ob3VyZ2xhc3MtZW5kOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaG91cmdsYXNzLWVuZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXJnbGFzczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhvdXJnbGFzczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtZ3JhYi1vOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXJvY2stbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhhbmQtcm9jay1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1zdG9wLW86YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtcGFwZXItbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhhbmQtcGFwZXItbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtc2Npc3NvcnMtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhhbmQtc2Npc3NvcnMtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtbGl6YXJkLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oYW5kLWxpemFyZC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1zcG9jay1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGFuZC1zcG9jay1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1wb2ludGVyLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oYW5kLXBvaW50ZXItbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtcGVhY2UtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhhbmQtcGVhY2UtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyYWRlbWFyazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRyYWRlbWFyazsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlZ2lzdGVyZWQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yZWdpc3RlcmVkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlYXRpdmUtY29tbW9uczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nZzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdnOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2ctY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ2ctY2lyY2xlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJpcGFkdmlzb3I6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10cmlwYWR2aXNvcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9kbm9rbGFzc25pa2k6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1vZG5va2xhc3NuaWtpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb2Rub2tsYXNzbmlraS1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1vZG5va2xhc3NuaWtpLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdldC1wb2NrZXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1nZXQtcG9ja2V0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2lraXBlZGlhLXc6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci13aWtpcGVkaWEtdzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNhZmFyaTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNhZmFyaTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNocm9tZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNocm9tZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpcmVmb3g6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maXJlZm94OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb3BlcmE6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1vcGVyYTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWludGVybmV0LWV4cGxvcmVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaW50ZXJuZXQtZXhwbG9yZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10djpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tdGVsZXZpc2lvbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRlbGV2aXNpb247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb250YW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb250YW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS01MDBweDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLTUwMHB4OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW1hem9uOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYW1hem9uOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FsZW5kYXItcGx1cy1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FsZW5kYXItcGx1cy1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FsZW5kYXItbWludXMtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhbGVuZGFyLW1pbnVzLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWxlbmRhci10aW1lcy1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FsZW5kYXItdGltZXMtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyLWNoZWNrLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYWxlbmRhci1jaGVjay1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW5kdXN0cnk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1pbmR1c3RyeTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcC1waW46YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tYXAtcGluOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFwLXNpZ25zOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWFwLXNpZ25zOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFwLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tYXAtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1hcDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnRpbmc6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb21tZW50aW5nOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudGluZy1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29tbWVudGluZy1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG91eno6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ob3V6ejsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpbWVvOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdmltZW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ibGFjay10aWU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ibGFjay10aWU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb250aWNvbnM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mb250aWNvbnM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWRkaXQtYWxpZW46YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yZWRkaXQtYWxpZW47IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lZGdlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZWRnZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWRpdC1jYXJkLWFsdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNyZWRpdC1jYXJkLWFsdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvZGllcGllOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29kaWVwaWU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb2R4OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbW9keDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvcnQtYXdlc29tZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZvcnQtYXdlc29tZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzYjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXVzYjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXByb2R1Y3QtaHVudDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXByb2R1Y3QtaHVudDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1peGNsb3VkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWl4Y2xvdWQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zY3JpYmQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zY3JpYmQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXVzZS1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wYXVzZS1jaXJjbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXVzZS1jaXJjbGUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBhdXNlLWNpcmNsZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RvcC1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdG9wLWNpcmNsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0b3AtY2lyY2xlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdG9wLWNpcmNsZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hvcHBpbmctYmFnOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2hvcHBpbmctYmFnOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hvcHBpbmctYmFza2V0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2hvcHBpbmctYmFza2V0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFzaHRhZzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhhc2h0YWc7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ibHVldG9vdGg6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ibHVldG9vdGg7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ibHVldG9vdGgtYjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJsdWV0b290aC1iOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVyY2VudDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBlcmNlbnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1naXRsYWI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1naXRsYWI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13cGJlZ2lubmVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItd3BiZWdpbm5lcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdwZm9ybXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci13cGZvcm1zOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZW52aXJhOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZW52aXJhOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW5pdmVyc2FsLWFjY2VzczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXVuaXZlcnNhbC1hY2Nlc3M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aGVlbGNoYWlyLWFsdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXdoZWVsY2hhaXItYWx0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXVlc3Rpb24tY2lyY2xlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1xdWVzdGlvbi1jaXJjbGUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJsaW5kOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmxpbmQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hdWRpby1kZXNjcmlwdGlvbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWF1ZGlvLWRlc2NyaXB0aW9uOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdm9sdW1lLWNvbnRyb2wtcGhvbmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci12b2x1bWUtY29udHJvbC1waG9uZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJyYWlsbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1icmFpbGxlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXNzaXN0aXZlLWxpc3RlbmluZy1zeXN0ZW1zOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXNzaXN0aXZlLWxpc3RlbmluZy1zeXN0ZW1zOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXNsLWludGVycHJldGluZzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tYW1lcmljYW4tc2lnbi1sYW5ndWFnZS1pbnRlcnByZXRpbmc6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hbWVyaWNhbi1zaWduLWxhbmd1YWdlLWludGVycHJldGluZzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRlYWZuZXNzOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1oYXJkLW9mLWhlYXJpbmc6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWRlYWY6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1kZWFmOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xpZGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1nbGlkZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdsaWRlLWc6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1nbGlkZS1nOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2lnbmluZzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tc2lnbi1sYW5ndWFnZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNpZ24tbGFuZ3VhZ2U7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sb3ctdmlzaW9uOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbG93LXZpc2lvbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpYWRlbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXZpYWRlbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpYWRlby1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci12aWFkZW8tc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc25hcGNoYXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zbmFwY2hhdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNuYXBjaGF0LWdob3N0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc25hcGNoYXQtZ2hvc3Q7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbmFwY2hhdC1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zbmFwY2hhdC1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waWVkLXBpcGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGllZC1waXBlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpcnN0LW9yZGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlyc3Qtb3JkZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15b2FzdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXlvYXN0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGhlbWVpc2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGhlbWVpc2xlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29vZ2xlLXBsdXMtY2lyY2xlOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1nb29nbGUtcGx1cy1vZmZpY2lhbDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdvb2dsZS1wbHVzLW9mZmljaWFsOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmE6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvbnQtYXdlc29tZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZvbnQtYXdlc29tZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmRzaGFrZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGFuZHNoYWtlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbnZlbG9wZS1vcGVuOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZW52ZWxvcGUtb3BlbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVudmVsb3BlLW9wZW4tbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWVudmVsb3BlLW9wZW4tbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpbm9kZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxpbm9kZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFkZHJlc3MtYm9vazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFkZHJlc3MtYm9vazsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFkZHJlc3MtYm9vay1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYWRkcmVzcy1ib29rLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12Y2FyZDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tYWRkcmVzcy1jYXJkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYWRkcmVzcy1jYXJkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmNhcmQtbzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tYWRkcmVzcy1jYXJkLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hZGRyZXNzLWNhcmQtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdXNlci1jaXJjbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLWNpcmNsZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdXNlci1jaXJjbGUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXVzZXItbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWlkLWJhZGdlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaWQtYmFkZ2U7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kcml2ZXJzLWxpY2Vuc2U6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWlkLWNhcmQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1pZC1jYXJkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJpdmVycy1saWNlbnNlLW86YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWlkLWNhcmQtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWlkLWNhcmQtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXF1b3JhOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcXVvcmE7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mcmVlLWNvZGUtY2FtcDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZyZWUtY29kZS1jYW1wOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGVsZWdyYW06YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10ZWxlZ3JhbTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZXJtb21ldGVyLTQ6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZXJtb21ldGVyOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS10aGVybW9tZXRlci1mdWxsOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGhlcm1vbWV0ZXItZnVsbDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZXJtb21ldGVyLTM6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZXJtb21ldGVyLXRocmVlLXF1YXJ0ZXJzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGhlcm1vbWV0ZXItdGhyZWUtcXVhcnRlcnM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aGVybW9tZXRlci0yOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS10aGVybW9tZXRlci1oYWxmOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGhlcm1vbWV0ZXItaGFsZjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZXJtb21ldGVyLTE6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZXJtb21ldGVyLXF1YXJ0ZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10aGVybW9tZXRlci1xdWFydGVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGhlcm1vbWV0ZXItMDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tdGhlcm1vbWV0ZXItZW1wdHk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10aGVybW9tZXRlci1lbXB0eTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNob3dlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNob3dlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdGh0dWI6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXMxNTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tYmF0aDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJhdGg7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wb2RjYXN0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcG9kY2FzdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdpbmRvdy1tYXhpbWl6ZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXdpbmRvdy1tYXhpbWl6ZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdpbmRvdy1taW5pbWl6ZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXdpbmRvdy1taW5pbWl6ZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdpbmRvdy1yZXN0b3JlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItd2luZG93LXJlc3RvcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aW1lcy1yZWN0YW5nbGU6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXdpbmRvdy1jbG9zZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXdpbmRvdy1jbG9zZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRpbWVzLXJlY3RhbmdsZS1vOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS13aW5kb3ctY2xvc2UtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXdpbmRvdy1jbG9zZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFuZGNhbXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iYW5kY2FtcDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyYXY6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ncmF2OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXRzeTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWV0c3k7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbWRiOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaW1kYjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJhdmVscnk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yYXZlbHJ5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZWVyY2FzdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWVlcmNhc3Q7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taWNyb2NoaXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1taWNyb2NoaXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbm93Zmxha2UtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNub3dmbGFrZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3VwZXJwb3dlcnM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdXBlcnBvd2VyczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdwZXhwbG9yZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci13cGV4cGxvcmVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVldHVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWVldHVwOyB9XG4iLCIvLyBTY3JlZW4gUmVhZGVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uc3Itb25seSB7IEBpbmNsdWRlIHNyLW9ubHkoKTsgfVxuLnNyLW9ubHktZm9jdXNhYmxlIHsgQGluY2x1ZGUgc3Itb25seS1mb2N1c2FibGUoKTsgfVxuIiwiLyogU2xpZGVyICovXG5cbi5zbGljay1zbGlkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uc2xpY2stbGlzdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAmLmRyYWdnaW5nIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBjdXJzb3I6IGhhbmQ7XG4gICAgfVxufVxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cblxuLnNsaWNrLXRyYWNrIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuXG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbn1cbi5zbGljay1zbGlkZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAmLnNsaWNrLWxvYWRpbmcgaW1nIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgJi5kcmFnZ2luZyBpbWcge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAuc2xpY2staW5pdGlhbGl6ZWQgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLnNsaWNrLXZlcnRpY2FsICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG59XG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuIl19 */
