.white-bg {
  background: #ffffff; }

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

body {
  margin: 0; }

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

hr {
  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&medium=40em&large=64em&xlarge=75em&xxlarge=90em"; }

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

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

body {
  margin: 0;
  padding: 0;
  background: #fefefe;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  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;
          appearance: none;
  border: 0;
  border-radius: 0;
  background: transparent;
  line-height: 1;
  cursor: auto; }
  [data-whatinput='mouse'] button {
    outline: 0; }

pre {
  overflow: auto; }

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

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

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

.row {
  max-width: 63.75rem;
  margin-right: auto;
  margin-left: auto; }
  .row::before, .row::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .row::after {
    clear: both; }
  .row.collapse > .column, .row.collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .row .row {
    margin-right: -0.625rem;
    margin-left: -0.625rem; }
    @media print, screen and (min-width: 40em) {
      .row .row {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    @media print, screen and (min-width: 64em) {
      .row .row {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    .row .row.collapse {
      margin-right: 0;
      margin-left: 0; }
  .row.expanded {
    max-width: none; }
    .row.expanded .row {
      margin-right: auto;
      margin-left: auto; }
  .row:not(.expanded) .row {
    max-width: none; }
  .row.gutter-small > .column, .row.gutter-small > .columns {
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
  .row.gutter-medium > .column, .row.gutter-medium > .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }

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

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

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

.small-1 {
  width: 8.33333%; }

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

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

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

.small-2 {
  width: 16.66667%; }

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

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

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

.small-3 {
  width: 25%; }

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

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

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

.small-4 {
  width: 33.33333%; }

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

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

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

.small-5 {
  width: 41.66667%; }

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

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

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

.small-6 {
  width: 50%; }

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

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

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

.small-7 {
  width: 58.33333%; }

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

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

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

.small-8 {
  width: 66.66667%; }

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

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

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

.small-9 {
  width: 75%; }

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

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

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

.small-10 {
  width: 83.33333%; }

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

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

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

.small-11 {
  width: 91.66667%; }

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

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

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

.small-12 {
  width: 100%; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.row {
  max-width: 63.75rem;
  margin-right: auto;
  margin-left: auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }
  .row .row {
    margin-right: -0.625rem;
    margin-left: -0.625rem; }
    @media print, screen and (min-width: 40em) {
      .row .row {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    @media print, screen and (min-width: 64em) {
      .row .row {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    .row .row.collapse {
      margin-right: 0;
      margin-left: 0; }
  .row.expanded {
    max-width: none; }
    .row.expanded .row {
      margin-right: auto;
      margin-left: auto; }
  .row:not(.expanded) .row {
    max-width: none; }
  .row.collapse > .column, .row.collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .row.is-collapse-child,
  .row.collapse > .column > .row,
  .row.collapse > .columns > .row {
    margin-right: 0;
    margin-left: 0; }

.column, .columns {
  -webkit-flex: 1 1 0px;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  min-width: 0; }
  @media print, screen and (min-width: 40em) {
    .column, .columns {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }

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

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

.small-1 {
  -webkit-flex: 0 0 8.33333%;
      -ms-flex: 0 0 8.33333%;
          flex: 0 0 8.33333%;
  max-width: 8.33333%; }

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

.small-2 {
  -webkit-flex: 0 0 16.66667%;
      -ms-flex: 0 0 16.66667%;
          flex: 0 0 16.66667%;
  max-width: 16.66667%; }

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

.small-3 {
  -webkit-flex: 0 0 25%;
      -ms-flex: 0 0 25%;
          flex: 0 0 25%;
  max-width: 25%; }

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

.small-4 {
  -webkit-flex: 0 0 33.33333%;
      -ms-flex: 0 0 33.33333%;
          flex: 0 0 33.33333%;
  max-width: 33.33333%; }

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

.small-5 {
  -webkit-flex: 0 0 41.66667%;
      -ms-flex: 0 0 41.66667%;
          flex: 0 0 41.66667%;
  max-width: 41.66667%; }

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

.small-6 {
  -webkit-flex: 0 0 50%;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
  max-width: 50%; }

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

.small-7 {
  -webkit-flex: 0 0 58.33333%;
      -ms-flex: 0 0 58.33333%;
          flex: 0 0 58.33333%;
  max-width: 58.33333%; }

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

.small-8 {
  -webkit-flex: 0 0 66.66667%;
      -ms-flex: 0 0 66.66667%;
          flex: 0 0 66.66667%;
  max-width: 66.66667%; }

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

.small-9 {
  -webkit-flex: 0 0 75%;
      -ms-flex: 0 0 75%;
          flex: 0 0 75%;
  max-width: 75%; }

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

.small-10 {
  -webkit-flex: 0 0 83.33333%;
      -ms-flex: 0 0 83.33333%;
          flex: 0 0 83.33333%;
  max-width: 83.33333%; }

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

.small-11 {
  -webkit-flex: 0 0 91.66667%;
      -ms-flex: 0 0 91.66667%;
          flex: 0 0 91.66667%;
  max-width: 91.66667%; }

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

.small-12 {
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  max-width: 100%; }

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

.small-up-1 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-1 > .column, .small-up-1 > .columns {
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }

.small-up-2 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-2 > .column, .small-up-2 > .columns {
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%; }

.small-up-3 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-3 > .column, .small-up-3 > .columns {
    -webkit-flex: 0 0 33.33333%;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%; }

.small-up-4 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-4 > .column, .small-up-4 > .columns {
    -webkit-flex: 0 0 25%;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%; }

.small-up-5 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-5 > .column, .small-up-5 > .columns {
    -webkit-flex: 0 0 20%;
        -ms-flex: 0 0 20%;
            flex: 0 0 20%;
    max-width: 20%; }

.small-up-6 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-6 > .column, .small-up-6 > .columns {
    -webkit-flex: 0 0 16.66667%;
        -ms-flex: 0 0 16.66667%;
            flex: 0 0 16.66667%;
    max-width: 16.66667%; }

.small-up-7 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-7 > .column, .small-up-7 > .columns {
    -webkit-flex: 0 0 14.28571%;
        -ms-flex: 0 0 14.28571%;
            flex: 0 0 14.28571%;
    max-width: 14.28571%; }

.small-up-8 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-8 > .column, .small-up-8 > .columns {
    -webkit-flex: 0 0 12.5%;
        -ms-flex: 0 0 12.5%;
            flex: 0 0 12.5%;
    max-width: 12.5%; }

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

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

@media print, screen and (min-width: 40em) {
  .medium-1 {
    -webkit-flex: 0 0 8.33333%;
        -ms-flex: 0 0 8.33333%;
            flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .medium-offset-0 {
    margin-left: 0%; }
  .medium-2 {
    -webkit-flex: 0 0 16.66667%;
        -ms-flex: 0 0 16.66667%;
            flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .medium-offset-1 {
    margin-left: 8.33333%; }
  .medium-3 {
    -webkit-flex: 0 0 25%;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%; }
  .medium-offset-2 {
    margin-left: 16.66667%; }
  .medium-4 {
    -webkit-flex: 0 0 33.33333%;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .medium-offset-3 {
    margin-left: 25%; }
  .medium-5 {
    -webkit-flex: 0 0 41.66667%;
        -ms-flex: 0 0 41.66667%;
            flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .medium-offset-4 {
    margin-left: 33.33333%; }
  .medium-6 {
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%; }
  .medium-offset-5 {
    margin-left: 41.66667%; }
  .medium-7 {
    -webkit-flex: 0 0 58.33333%;
        -ms-flex: 0 0 58.33333%;
            flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .medium-offset-6 {
    margin-left: 50%; }
  .medium-8 {
    -webkit-flex: 0 0 66.66667%;
        -ms-flex: 0 0 66.66667%;
            flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .medium-offset-7 {
    margin-left: 58.33333%; }
  .medium-9 {
    -webkit-flex: 0 0 75%;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%; }
  .medium-offset-8 {
    margin-left: 66.66667%; }
  .medium-10 {
    -webkit-flex: 0 0 83.33333%;
        -ms-flex: 0 0 83.33333%;
            flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .medium-offset-9 {
    margin-left: 75%; }
  .medium-11 {
    -webkit-flex: 0 0 91.66667%;
        -ms-flex: 0 0 91.66667%;
            flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .medium-offset-10 {
    margin-left: 83.33333%; }
  .medium-12 {
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
  .medium-offset-11 {
    margin-left: 91.66667%; }
  .medium-up-1 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .medium-up-1 > .column, .medium-up-1 > .columns {
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      max-width: 100%; }
  .medium-up-2 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .medium-up-2 > .column, .medium-up-2 > .columns {
      -webkit-flex: 0 0 50%;
          -ms-flex: 0 0 50%;
              flex: 0 0 50%;
      max-width: 50%; }
  .medium-up-3 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .medium-up-3 > .column, .medium-up-3 > .columns {
      -webkit-flex: 0 0 33.33333%;
          -ms-flex: 0 0 33.33333%;
              flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .medium-up-4 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .medium-up-4 > .column, .medium-up-4 > .columns {
      -webkit-flex: 0 0 25%;
          -ms-flex: 0 0 25%;
              flex: 0 0 25%;
      max-width: 25%; }
  .medium-up-5 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .medium-up-5 > .column, .medium-up-5 > .columns {
      -webkit-flex: 0 0 20%;
          -ms-flex: 0 0 20%;
              flex: 0 0 20%;
      max-width: 20%; }
  .medium-up-6 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .medium-up-6 > .column, .medium-up-6 > .columns {
      -webkit-flex: 0 0 16.66667%;
          -ms-flex: 0 0 16.66667%;
              flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .medium-up-7 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .medium-up-7 > .column, .medium-up-7 > .columns {
      -webkit-flex: 0 0 14.28571%;
          -ms-flex: 0 0 14.28571%;
              flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .medium-up-8 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .medium-up-8 > .column, .medium-up-8 > .columns {
      -webkit-flex: 0 0 12.5%;
          -ms-flex: 0 0 12.5%;
              flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media print, screen and (min-width: 40em) and (min-width: 40em) {
  .medium-expand {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; } }

.row.medium-unstack > .column, .row.medium-unstack > .columns {
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%; }
  @media print, screen and (min-width: 40em) {
    .row.medium-unstack > .column, .row.medium-unstack > .columns {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }

@media print, screen and (min-width: 40em) {
  .medium-collapse > .column, .medium-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .medium-uncollapse > .column, .medium-uncollapse > .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; } }

@media print, screen and (min-width: 64em) {
  .large-1 {
    -webkit-flex: 0 0 8.33333%;
        -ms-flex: 0 0 8.33333%;
            flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .large-offset-0 {
    margin-left: 0%; }
  .large-2 {
    -webkit-flex: 0 0 16.66667%;
        -ms-flex: 0 0 16.66667%;
            flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .large-offset-1 {
    margin-left: 8.33333%; }
  .large-3 {
    -webkit-flex: 0 0 25%;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%; }
  .large-offset-2 {
    margin-left: 16.66667%; }
  .large-4 {
    -webkit-flex: 0 0 33.33333%;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .large-offset-3 {
    margin-left: 25%; }
  .large-5 {
    -webkit-flex: 0 0 41.66667%;
        -ms-flex: 0 0 41.66667%;
            flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .large-offset-4 {
    margin-left: 33.33333%; }
  .large-6 {
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%; }
  .large-offset-5 {
    margin-left: 41.66667%; }
  .large-7 {
    -webkit-flex: 0 0 58.33333%;
        -ms-flex: 0 0 58.33333%;
            flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .large-offset-6 {
    margin-left: 50%; }
  .large-8 {
    -webkit-flex: 0 0 66.66667%;
        -ms-flex: 0 0 66.66667%;
            flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .large-offset-7 {
    margin-left: 58.33333%; }
  .large-9 {
    -webkit-flex: 0 0 75%;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%; }
  .large-offset-8 {
    margin-left: 66.66667%; }
  .large-10 {
    -webkit-flex: 0 0 83.33333%;
        -ms-flex: 0 0 83.33333%;
            flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .large-offset-9 {
    margin-left: 75%; }
  .large-11 {
    -webkit-flex: 0 0 91.66667%;
        -ms-flex: 0 0 91.66667%;
            flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .large-offset-10 {
    margin-left: 83.33333%; }
  .large-12 {
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
  .large-offset-11 {
    margin-left: 91.66667%; }
  .large-up-1 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .large-up-1 > .column, .large-up-1 > .columns {
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      max-width: 100%; }
  .large-up-2 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .large-up-2 > .column, .large-up-2 > .columns {
      -webkit-flex: 0 0 50%;
          -ms-flex: 0 0 50%;
              flex: 0 0 50%;
      max-width: 50%; }
  .large-up-3 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .large-up-3 > .column, .large-up-3 > .columns {
      -webkit-flex: 0 0 33.33333%;
          -ms-flex: 0 0 33.33333%;
              flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .large-up-4 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .large-up-4 > .column, .large-up-4 > .columns {
      -webkit-flex: 0 0 25%;
          -ms-flex: 0 0 25%;
              flex: 0 0 25%;
      max-width: 25%; }
  .large-up-5 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .large-up-5 > .column, .large-up-5 > .columns {
      -webkit-flex: 0 0 20%;
          -ms-flex: 0 0 20%;
              flex: 0 0 20%;
      max-width: 20%; }
  .large-up-6 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .large-up-6 > .column, .large-up-6 > .columns {
      -webkit-flex: 0 0 16.66667%;
          -ms-flex: 0 0 16.66667%;
              flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .large-up-7 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .large-up-7 > .column, .large-up-7 > .columns {
      -webkit-flex: 0 0 14.28571%;
          -ms-flex: 0 0 14.28571%;
              flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .large-up-8 {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .large-up-8 > .column, .large-up-8 > .columns {
      -webkit-flex: 0 0 12.5%;
          -ms-flex: 0 0 12.5%;
              flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media print, screen and (min-width: 64em) and (min-width: 64em) {
  .large-expand {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; } }

.row.large-unstack > .column, .row.large-unstack > .columns {
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%; }
  @media print, screen and (min-width: 64em) {
    .row.large-unstack > .column, .row.large-unstack > .columns {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }

@media print, screen and (min-width: 64em) {
  .large-collapse > .column, .large-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .large-uncollapse > .column, .large-uncollapse > .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; } }

.shrink {
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  max-width: 100%; }

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

.sticky-container {
  position: relative; }

.sticky {
  position: relative;
  z-index: 0;
  -webkit-transform: translate3d(0, 0, 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; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/*
  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; }

.white-bg {
  background: #ffffff; }

@font-face {
  font-family: 'PT Sans';
  src: local("PT Sans"), local("PTSans-Regular"), url("../fonts/hinted-PTSans-Regular.woff2") format("woff2"), url("../fonts/hinted-PTSans-Regular.woff") format("woff");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'PT Sans';
  src: local("PT Sans Bold"), local("PTSans-Bold"), url("../fonts/hinted-PTSans-Bold.woff2") format("woff2"), url("../fonts/hinted-PTSans-Bold.woff") format("woff");
  font-weight: bold;
  font-style: normal; }

@font-face {
  font-family: 'Abuget';
  src: local("Abuget"), url("../fonts/hinted-Abuget.woff2") format("woff2"), url("../fonts/hinted-Abuget.woff") format("woff");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'Amaranth';
  src: local("Amaranth"), url("../fonts/hinted-Amaranth.woff2") format("woff2"), url("../fonts/hinted-Amaranth.woff") format("woff");
  font-weight: normal;
  font-style: normal; }

h1, h2, h3, h4, h5 {
  font-variant-ligatures: none; }

p, a, span {
  font-family: "PT Sans", sans-serif;
  font-variant-ligatures: none; }

@-webkit-keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

.fadeIn {
  -webkit-animation-name: fadeIn;
          animation-name: fadeIn; }

.wp-caption > figcaption {
  max-width: 100%;
  font-size: 0.8rem;
  color: #999;
  padding: 0.25rem 0; }

p.wp-caption-text {
  font-size: 90%;
  color: #666;
  padding: 0.625rem 0; }

.alignleft {
  float: left;
  padding-right: 1rem;
  margin: 0; }

.alignright {
  float: right;
  padding-left: 1rem;
  margin: 0; }

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

.gallery {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .gallery {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .gallery.gallery-columns-1 > .gallery-item {
    width: calc(50% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-1 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .gallery.gallery-columns-1 > .gallery-item {
      width: calc(100% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  .gallery.gallery-columns-2 > .gallery-item {
    width: calc(50% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-2 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .gallery.gallery-columns-2 > .gallery-item {
      width: calc(50% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  .gallery.gallery-columns-3 > .gallery-item {
    width: calc(50% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-3 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .gallery.gallery-columns-3 > .gallery-item {
      width: calc(33.33333% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  .gallery.gallery-columns-4 > .gallery-item {
    width: calc(50% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-4 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .gallery.gallery-columns-4 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  .gallery.gallery-columns-5 > .gallery-item {
    width: calc(50% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-5 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .gallery.gallery-columns-5 > .gallery-item {
      width: calc(20% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  .gallery.gallery-columns-6 > .gallery-item {
    width: calc(50% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-6 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .gallery.gallery-columns-6 > .gallery-item {
      width: calc(16.66667% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  .gallery.gallery-columns-7 > .gallery-item {
    width: calc(50% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-7 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .gallery.gallery-columns-7 > .gallery-item {
      width: calc(14.28571% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  .gallery.gallery-columns-8 > .gallery-item {
    width: calc(50% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-8 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .gallery.gallery-columns-8 > .gallery-item {
      width: calc(12.5% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  .gallery.gallery-columns-9 > .gallery-item {
    width: calc(50% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-9 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .gallery.gallery-columns-9 > .gallery-item {
      width: calc(11.11111% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  .gallery .gallery-icon > a {
    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;
    transition: box-shadow 200ms ease-out; }
    .gallery .gallery-icon > a:hover, .gallery .gallery-icon > a:focus {
      box-shadow: 0 0 6px 1px rgba(23, 121, 186, 0.5); }
    .gallery .gallery-icon > a image {
      box-shadow: none; }
  .gallery .gallery-icon > img {
    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; }

.header {
  max-width: 100vw; }
  .header nav {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    font-family: "PT Sans", sans-serif;
    max-height: 56px; }
    .header nav .contact {
      margin: 0 auto 0 0;
      min-width: 135px;
      font-weight: 600;
      background: #000; }
      @media print, screen and (min-width: 64em) {
        .header nav .contact {
          min-width: 143px; } }
      .header nav .contact a {
        color: #fff;
        text-decoration: none;
        font-size: 0.9375rem;
        line-height: 0.9375rem;
        display: block;
        text-align: center;
        padding: 22px 0 17px; }
        @media print, screen and (min-width: 64em) {
          .header nav .contact a {
            font-size: 1.0625rem;
            line-height: 1.0625rem; } }
    .header nav .sub-nav {
      margin: 0 0 0 auto;
      min-width: 80px;
      max-height: 56px;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-align-items: flex-end;
          -ms-flex-align: end;
              align-items: flex-end;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center; }
      @media print, screen and (min-width: 64em) {
        .header nav .sub-nav {
          min-width: 150px; } }
      .header nav .sub-nav .splitter {
        height: 27px;
        width: 2px;
        background: #000000;
        margin: 10px 10px 0 0;
        display: inline-block; }
      .header nav .sub-nav a {
        color: #000;
        text-decoration: none;
        display: inline-block;
        margin: 0;
        padding: 0;
        position: relative;
        top: -7px; }
      .header nav .sub-nav button#search {
        width: 22px;
        height: 22px;
        background-size: contain;
        background-position: center;
        background-repeat: no-repeat;
        background-image: url("data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='50.293' height='51.033' viewBox='0 0 50.293 51.033'%3E%3Cdefs%3E%3CclipPath id='clip-path'%3E%3Cpath id='Path_3' data-name='Path 3' d='M0,36.351H50.293V-14.682H0Z' transform='translate(0 14.682)' fill='none'/%3E%3C/clipPath%3E%3C/defs%3E%3Cg id='Group_4' data-name='Group 4' transform='translate(0 14.682)'%3E%3Cg id='Group_3' data-name='Group 3' transform='translate(0 -14.682)' clip-path='url(%23clip-path)'%3E%3Cg id='Group_1' data-name='Group 1' transform='translate(1.391 1.388)'%3E%3Cpath id='Path_1' data-name='Path 1' d='M14.855,30.181A21.022,21.022,0,0,0,35.711,9,21.022,21.022,0,0,0,14.855-12.19,21.022,21.022,0,0,0-6,9,21.022,21.022,0,0,0,14.855,30.181Z' transform='translate(6 12.19)' fill='none' stroke='%232b2e34' stroke-width='3'/%3E%3C/g%3E%3Cg id='Group_2' data-name='Group 2' transform='translate(36.935 37.457)'%3E%3Cpath id='Path_2' data-name='Path 2' d='M0,0,11.943,12.183' fill='none' stroke='%232b2e34' stroke-width='3'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A");
        margin: 0 10px;
        position: relative;
        top: -15px; }
        .header nav .sub-nav button#search:focus {
          outline: 2px solid #30b0ec; }
      .header nav .sub-nav button#desktop-subnav {
        width: 21px;
        height: 21px;
        background-size: contain;
        background-position: center;
        background-repeat: no-repeat;
        background-image: url("data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='42.457' height='33.399' viewBox='0 0 42.457 33.399'%3E%3Cdefs%3E%3CclipPath id='clip-path'%3E%3Cpath id='Path_7' data-name='Path 7' d='M0,21.6H42.457V-11.8H0Z' transform='translate(0 11.8)' fill='none'/%3E%3C/clipPath%3E%3C/defs%3E%3Cg id='Group_9' data-name='Group 9' transform='translate(0 11.8)'%3E%3Cg id='Group_8' data-name='Group 8' transform='translate(0 -11.8)' clip-path='url(%23clip-path)'%3E%3Cg id='Group_5' data-name='Group 5' transform='translate(0 1.131)'%3E%3Cpath id='Path_4' data-name='Path 4' d='M0,0H42.457' fill='none' stroke='%232b2e34' stroke-width='3'/%3E%3C/g%3E%3Cg id='Group_6' data-name='Group 6' transform='translate(0 16.698)'%3E%3Cpath id='Path_5' data-name='Path 5' d='M0,0H42.457' fill='none' stroke='%232b2e34' stroke-width='3'/%3E%3C/g%3E%3Cg id='Group_7' data-name='Group 7' transform='translate(0 32.266)'%3E%3Cpath id='Path_6' data-name='Path 6' d='M0,0H42.457' fill='none' stroke='%232b2e34' stroke-width='3'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A");
        margin: 0 10px;
        position: relative;
        top: -15px; }
        .header nav .sub-nav button#desktop-subnav:focus {
          outline: 2px solid #30b0ec; }
    .header nav .site-nav {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: space-around;
          -ms-flex-pack: distribute;
              justify-content: space-around;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      width: 100%;
      max-height: 56px; }
      .header nav .site-nav__logo {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column;
        height: 100%;
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center;
        margin: 0 0 0 17px; }
        @media print, screen and (min-width: 64em) {
          .header nav .site-nav__logo {
            margin: 0; } }
      .header nav .site-nav svg {
        width: 126px; }
        @media print, screen and (min-width: 64em) {
          .header nav .site-nav svg {
            width: 148px; } }
      .header nav .site-nav ul {
        width: 100%;
        display: none;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center;
        list-style: none;
        margin: 0;
        padding: 0; }
        @media print, screen and (min-width: 64em) {
          .header nav .site-nav ul {
            display: -webkit-flex;
            display: -ms-flexbox;
            display: flex; } }
        .header nav .site-nav ul li {
          margin: 0 40px; }
          .header nav .site-nav ul li a {
            text-decoration: none;
            color: #000; }
            .header nav .site-nav ul li a.holidays.active {
              color: #148394; }
            .header nav .site-nav ul li a.holidays:hover {
              color: #148394; }
            .header nav .site-nav ul li a.honeymoons.active {
              color: #c37baa; }
            .header nav .site-nav ul li a.honeymoons:hover {
              color: #c37baa; }
            .header nav .site-nav ul li a.cruises.active {
              color: #51a9d8; }
            .header nav .site-nav ul li a.cruises:hover {
              color: #51a9d8; }
            .header nav .site-nav ul li a.corporate:hover {
              color: #3b3b3b; }

.sticky.is-anchored {
  max-width: 100% !important; }

@media screen and (max-width: 39.99875em) {
  .header nav {
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    width: 100%;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    .header nav div {
      -webkit-flex-grow: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; }
    .header nav .contact, .header nav .site-nav {
      min-width: 0; }
    .header nav .contact {
      -webkit-flex-shrink: 0;
          -ms-flex-negative: 0;
              flex-shrink: 0;
      padding: 0 0.5em; }
    .header nav .site-nav__logo {
      margin-left: 0; } }

.full-width {
  max-width: 100%; }

.full-height {
  height: 100%; }
  .full-height--minus-450 {
    height: calc(100% - 450px); }

.background--center-full-width {
  background-size: cover;
  background-position: center; }

.default-width {
  max-width: 1173px; }

.background__gray {
  background: #f1f1f2; }
  .background__gray.medium-padding {
    padding: 40px 0; }
  .background__gray.large-padding {
    padding: 80px 0 50px 0; }

p.section-title {
  color: #fff;
  background: #c37baa;
  font-size: 21px;
  text-align: right;
  padding: 7px 16px;
  font-weight: 600;
  position: relative; }
  p.section-title::after {
    content: '';
    position: absolute;
    height: 45px;
    width: 30vw;
    left: -30vw;
    top: 0;
    background: #c37baa; }

.fact-file, .padded-gray-background {
  background: #f1f1f2;
  padding: 20px 0 40px; }

.medium-padded-gray-background {
  background: #f1f1f2;
  padding: 40px 0 40px; }

.partner-list {
  background: #f1f1f2;
  padding: 20px 0; }

.key-notes {
  background: #f1f1f2;
  padding: 20px 0 40px; }
  @media print, screen and (min-width: 40em) {
    .key-notes .column:nth-of-type(1n) .card, .key-notes .columns:nth-of-type(1n) .card {
      margin: 20px 50px 20px 0; }
    .key-notes .column:nth-of-type(2n) .card, .key-notes .columns:nth-of-type(2n) .card {
      margin: 20px 0 20px 50px; } }

/*
 Due to owl carousel loading after an important tag is required.
 The only other way to do this would be inline which is not possible
 as the js lib dynamically creates this.
 */
.owl-theme .owl-dots .owl-dot.active span {
  background: #148394 !important; }

.owl-theme .owl-dots .owl-dot:hover span {
  background: #148394 !important; }

.owl-dots {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }

.footer {
  padding: 20px;
  background: #f1f1f2; }
  .footer .row {
    max-width: 1150px; }
  .footer h4 {
    position: relative;
    font-family: "PT Sans", sans-serif;
    font-size: 1.0625rem;
    line-height: 1.375rem;
    font-weight: 300;
    color: #565555;
    margin-top: 40px; }
    .footer h4::after {
      content: "";
      position: absolute;
      left: 0;
      top: 35px;
      height: 1px;
      width: 223px;
      background: #000; }
  .footer .menu ul {
    list-style: none;
    margin: 27px 0 0 0;
    padding: 0; }
    .footer .menu ul li {
      margin: 5px 0; }
      .footer .menu ul li a {
        font-weight: 300;
        font-size: 1rem;
        text-decoration: none;
        color: #565555; }
  .footer .subscribe {
    margin: 30px 0 0; }
    .footer .subscribe a {
      font-weight: 600;
      color: #565555;
      border: 2px solid #565555;
      text-decoration: none;
      padding: 7px 5px;
      transition: 400ms ease background, 400ms ease color; }
      .footer .subscribe a:hover, .footer .subscribe a:focus {
        background: #565555;
        color: #fff; }
  .footer svg.logo {
    display: block;
    margin: 8px 0 10px;
    max-width: 218px;
    opacity: 0.6;
    padding-right: 1rem;
    width: 100%; }
    @media print, screen and (min-width: 64em) {
      .footer svg.logo {
        margin: 10px 0 10px;
        padding: 0; } }
  .footer .site-built-by {
    font-size: 13px;
    margin: 0;
    color: #565555; }
    .footer .site-built-by a {
      color: #565555;
      transition: 400ms ease color;
      text-decoration: none; }
      .footer .site-built-by a:hover, .footer .site-built-by a:focus {
        color: #148394; }
      .footer .site-built-by a:visited {
        color: #565555; }
  .footer__logos {
    margin-top: 100px; }
    @media print, screen and (min-width: 40em) {
      .footer__logos {
        margin-top: 135px; } }
  .footer ul.logos {
    list-style: none;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin: 0;
    padding: 0;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    @media print, screen and (min-width: 64em) {
      .footer ul.logos {
        -webkit-justify-content: flex-end;
            -ms-flex-pack: end;
                justify-content: flex-end; } }
    .footer ul.logos li {
      margin: 10px 16px 10px 0; }
      .footer ul.logos li:last-child {
        margin-right: 0;
        width: 100%; }
        @media print, screen and (min-width: 64em) {
          .footer ul.logos li:last-child {
            width: auto; } }
      .footer ul.logos li img {
        height: 35px; }
  .footer__social-icon {
    display: inline-block;
    height: 35px;
    margin-right: 4px;
    position: relative;
    text-align: center;
    width: 35px; }
    .footer__social-icon:last-child {
      margin-right: 0; }
    .footer__social-icon--facebook, .footer__social-icon--facebook:visited {
      background-color: #3b5998; }
      .footer__social-icon--facebook svg, .footer__social-icon--facebook:visited svg {
        position: absolute;
        bottom: 0;
        right: 5px;
        height: 28px; }
      .footer__social-icon--facebook:hover, .footer__social-icon--facebook:visited:hover {
        background-color: #30487b; }
    .footer__social-icon--twitter, .footer__social-icon--twitter:visited {
      background-color: #0E1419; }
      .footer__social-icon--twitter svg, .footer__social-icon--twitter:visited svg {
        width: 20px; }
      .footer__social-icon--twitter svg, .footer__social-icon--twitter:visited svg {
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
            -ms-transform: translate(-50%, -50%);
                transform: translate(-50%, -50%); }
      .footer__social-icon--twitter:hover, .footer__social-icon--twitter:visited:hover {
        background-color: black; }
    .footer__social-icon--insta, .footer__social-icon--insta:visited {
      background: #d6249f;
      background: radial-gradient(circle at 40% 107%, #fdf497 0%, #fdf497 10%, #fd5949 45%, #d6249f 60%, #285AEB 90%); }
      .footer__social-icon--insta svg, .footer__social-icon--insta:visited svg {
        width: 20px;
        width: 28px;
        margin-left: 2px; }
      .footer__social-icon--insta svg, .footer__social-icon--insta:visited svg {
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
            -ms-transform: translate(-50%, -50%);
                transform: translate(-50%, -50%); }
      .footer__social-icon--insta:hover, .footer__social-icon--insta:visited:hover {
        background-color: black; }
    .footer__social-icon .social-icon path {
      fill: #fff; }

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

.side-menu {
  width: calc(100vw - 50px);
  right: -100vw;
  background: rgba(255, 255, 255, 0.95);
  height: 100vh;
  position: fixed;
  top: 0;
  transition: 400ms cubic-bezier(0.39, 0.58, 0.57, 1) right;
  z-index: 99;
  box-shadow: -4px 0px 22px -17px rgba(199, 199, 199, 0.66);
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }
  @media print, screen and (min-width: 64em) {
    .side-menu {
      width: 400px;
      right: -410px; } }
  @media print, screen and (min-width: 64em) {
    .side-menu {
      background: rgba(255, 255, 255, 0.85); } }
  .side-menu .close {
    position: absolute;
    right: 11px;
    top: 19px;
    cursor: pointer; }
    @media print, screen and (min-width: 64em) {
      .side-menu .close {
        right: 44px;
        top: 21px; } }
    .side-menu .close svg {
      width: 19px; }
  .side-menu.active {
    right: 0; }
  .side-menu .site-nav {
    width: 85%; }
    .side-menu .site-nav #mobile {
      display: block; }
      @media print, screen and (min-width: 64em) {
        .side-menu .site-nav #mobile {
          display: none; } }
    .side-menu .site-nav #desktop {
      display: none; }
      @media print, screen and (min-width: 64em) {
        .side-menu .site-nav #desktop {
          display: block; } }
    .side-menu .site-nav ul {
      list-style: none;
      margin: 0;
      padding: 0; }
      .side-menu .site-nav ul li {
        margin: 20px 0; }
        .side-menu .site-nav ul li a {
          font-size: 20px;
          text-decoration: none;
          color: #000;
          transition: 500ms ease colour; }
          .side-menu .site-nav ul li a:hover, .side-menu .site-nav ul li a:focus {
            color: #148394; }
        .side-menu .site-nav ul li.is-active a {
          color: #148394; }
  .side-menu .form {
    width: 85%; }
    .side-menu .form form label {
      font-size: 17px;
      font-family: "PT Sans", sans-serif; }
    .side-menu .form form input[type="text"] {
      display: block;
      background: transparent;
      border: 0;
      border-bottom: 1px solid black;
      width: 100%;
      font-size: 20px;
      font-weight: lighter;
      font-family: "PT Sans", sans-serif;
      line-height: 22px;
      padding: 5px 0; }
  .side-menu .results {
    width: 85%;
    margin: 10px 0; }
    .side-menu .results ul {
      list-style: none;
      margin: 0;
      padding: 0;
      width: 100%; }
      .side-menu .results ul li {
        width: 100%;
        margin: 0; }
        .side-menu .results ul li a {
          display: block;
          background: #fff;
          margin: 10px 0;
          padding: 7px 10px;
          color: #000;
          text-decoration: none;
          box-shadow: 0px 0px 16px 0px rgba(58, 58, 58, 0.04);
          transition: 500ms ease opacity, 500ms ease box-shadow; }
          .side-menu .results ul li a:hover, .side-menu .results ul li a:focus {
            opacity: 0.8;
            box-shadow: 0px 0px 16px 0px rgba(58, 58, 58, 0.1); }

.content.card.entry-content {
  padding: 20px 20px 60px; }
  @media print, screen and (min-width: 40em) {
    .content.card.entry-content--lg-padding {
      padding: 20px 65px 65px; } }

.entry-content__byline {
  color: gray;
  font-size: 0.875rem; }

.entry-content .row {
  margin: 0; }

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
  margin: 0.6em 0; }

.entry-content p {
  margin: 0.5em 0; }

.entry-content .image__small {
  width: 50%;
  margin: 34px auto;
  display: block; }

.entry-content .image__medium {
  width: 75%;
  margin: 34px auto;
  display: block; }

.entry-content .image__large {
  width: 90%;
  margin: 34px auto;
  display: block; }

.entry-content .reviews-widget {
  display: inline-block;
  margin-bottom: 0.5rem;
  text-align: center; }
  .entry-content .reviews-widget:last-child {
    margin-bottom: 0; }

.entry-content .wp-block-quote {
  color: #148394;
  margin: 32px auto 52px;
  max-width: 80%;
  position: relative; }
  .entry-content .wp-block-quote:after {
    content: '';
    display: block;
    width: 25%;
    height: 3px;
    background-color: #148394;
    position: absolute;
    bottom: -16px; }
  .entry-content .wp-block-quote p {
    margin-bottom: 8px; }
  .entry-content .wp-block-quote.is-style-large p {
    font-style: normal !important; }
  @media print, screen and (min-width: 64em) {
    .entry-content .wp-block-quote {
      width: 60%; } }

.entry-content .wp-block-cover {
  height: auto; }
  .entry-content .wp-block-cover .has-large-font-size,
  .entry-content .wp-block-cover .has-huge-font-size {
    font-family: "Abuget", serif; }
  .entry-content .wp-block-cover .has-large-font-size {
    font-size: 100px; }
  .entry-content .wp-block-cover .has-huge-font-size {
    font-size: 125px; }

.entry-content .wp-block-pullquote blockquote cite {
  font-style: italic; }

.entry-content .wp-block-pullquote {
  margin: 32px auto; }
  .entry-content .wp-block-pullquote.is-style-default {
    border-top: 3px solid;
    border-bottom: 3px solid; }
  .entry-content .wp-block-pullquote .has-brand-aqua-color {
    color: #148394; }
  .entry-content .wp-block-pullquote .has-brand-purple-color {
    color: #c37baa; }
  .entry-content .wp-block-pullquote .has-brand-blue-color {
    color: #51a9d8; }
  .entry-content .wp-block-pullquote .has-brand-pink-color {
    color: #c56788; }
  .entry-content .wp-block-pullquote .has-brand-black-color {
    color: #000000; }
  .entry-content .wp-block-pullquote.has-brand-aqua-background-color {
    background-color: #148394; }
  .entry-content .wp-block-pullquote.has-brand-purple-background-color {
    background-color: #c37baa; }
  .entry-content .wp-block-pullquote.has-brand-blue-background-color {
    background-color: #51a9d8; }
  .entry-content .wp-block-pullquote.has-brand-pink-background-color {
    background-color: #c56788; }
  .entry-content .wp-block-pullquote.has-brand-black-background-color {
    background-color: #000000; }

.entry-content .wp-block-gallery .blocks-gallery-item {
  margin: 0; }

.is-type-video .wp-block-embed__wrapper {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  max-width: 100%;
  height: auto;
  margin-bottom: 1.5em; }
  .is-type-video .wp-block-embed__wrapper iframe,
  .is-type-video .wp-block-embed__wrapper object,
  .is-type-video .wp-block-embed__wrapper embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

.gform_wrapper .gform_body .gfield {
  margin-bottom: 32px; }

.gform_wrapper .gform_body input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), .gform_wrapper .gform_body .textarea {
  border-style: solid;
  border-color: #000;
  border-width: 0 0 2px 0; }

.gform_wrapper .gform_body .gfield_select, .gform_wrapper .gform_body .ginput_container_date div select {
  border: 2px solid #000;
  border-radius: 0;
  -webkit-appearance: none;
  padding: 8px;
  background: #fff;
  background-image: url("../images/icons/drop-down-arrow.svg");
  background-repeat: no-repeat;
  background-position: center right 10px;
  background-size: 13px; }

.gform_wrapper .gform_body .ginput_container_date {
  width: 100%; }
  .gform_wrapper .gform_body .ginput_container_date .gfield_date_dropdown_year {
    margin-right: 0; }

.gform_wrapper .gform_body input[type="checkbox"] {
  position: relative;
  margin: 0;
  cursor: pointer; }
  .gform_wrapper .gform_body input[type="checkbox"]:hover::after {
    box-shadow: inset 0 0 0 1px #4c4c4c; }
  .gform_wrapper .gform_body input[type="checkbox"]::after {
    background-color: #fff;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 50% 50%;
    border: 2px solid #000;
    content: ' ';
    height: 45px;
    left: 0;
    position: absolute;
    top: -16px;
    transition-duration: .2s;
    transition-property: background-color, border-color;
    width: 45px; }
  .gform_wrapper .gform_body input[type="checkbox"]:checked:hover::after {
    box-shadow: none; }
  .gform_wrapper .gform_body input[type="checkbox"]:checked::after {
    background-image: url("../images/icons/black-tick.svg");
    background-size: 70%; }

.gform_wrapper .gform_body #field_1_18 {
  margin-top: 24px; }

.gform_wrapper .gform_body .gfield_consent_description {
  border: none;
  padding: 0;
  max-height: auto;
  margin: 0 0 24px;
  overflow-y: visible; }

.gform_wrapper .gform_body .ginput_container_consent {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: .688em; }
  .gform_wrapper .gform_body .ginput_container_consent label {
    padding-left: 50px; }

.gform_footer {
  text-align: center; }
  .gform_footer .gform_button {
    background-color: #fff;
    border: 2px solid #000;
    padding: 10px;
    text-transform: uppercase;
    transition: color ease-in-out 400ms;
    transition: background-color ease-in-out 400ms; }
    .gform_footer .gform_button:hover {
      background-color: #000;
      color: #fff; }

.ginput_container_checkbox .gfield_checkbox {
  margin-top: 22px !important; }
  .ginput_container_checkbox .gfield_checkbox li {
    line-height: 55px !important; }
    .ginput_container_checkbox .gfield_checkbox li label {
      margin-left: 55px !important;
      width: auto !important; }

#field_2_15 {
  display: none; }

@media print, screen and (min-width: 40em) {
  #input_2_2 {
    margin-top: -59px; }
    #input_2_2 li:last-child {
      display: none; }
  #field_2_15 {
    margin-top: -57px;
    display: inline-block; }
  #field_2_14 {
    margin-top: -35px; } }

#gfield_consent_description_2_12 {
  margin-bottom: 32px; }

@media print, screen and (min-width: 40em) {
  #field_1_13 {
    margin-top: 67px; } }

.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; }

.btn {
  display: inline-block;
  text-transform: uppercase;
  color: #0a0a0a;
  margin: 1rem 0;
  padding: 10px 15px;
  text-decoration: none;
  transition: 500ms ease color, 500ms ease background;
  border: 2px solid transparent; }
  .btn.clear-margins {
    margin: 0; }
  .btn.small-padding {
    padding: 5px 15px; }
  .btn__black, .btn__black:visited {
    background: #000;
    color: #fff; }
    .btn__black:hover, .btn__black:focus, .btn__black:visited:hover, .btn__black:visited:focus {
      border-color: #000;
      background: transparent;
      color: #000; }
  .btn__aqua, .btn__aqua:visited {
    background: #148394;
    color: #fff; }
    .btn__aqua:hover, .btn__aqua:focus, .btn__aqua:visited:hover, .btn__aqua:visited:focus {
      border-color: #148394;
      background: transparent;
      color: #148394; }
  .btn__purple, .btn__purple:visited {
    background: #c37baa;
    color: #fff; }
    .btn__purple:hover, .btn__purple:focus, .btn__purple:visited:hover, .btn__purple:visited:focus {
      border-color: #c37baa;
      background: transparent;
      color: #c37baa; }
  .btn__pink, .btn__pink:visited {
    background: #c56788;
    color: #fff; }
    .btn__pink:hover, .btn__pink:focus, .btn__pink:visited:hover, .btn__pink:visited:focus {
      border-color: #c56788;
      background: transparent;
      color: #c56788; }
  .btn__blue, .btn__blue:visited {
    background: #51a9d8;
    color: #fff; }
    .btn__blue:hover, .btn__blue:focus, .btn__blue:visited:hover, .btn__blue:visited:focus {
      border-color: #51a9d8;
      background: transparent;
      color: #51a9d8; }
  .btn__outline {
    border: 2px solid #0a0a0a;
    transition-property: color, border-color, background-color;
    transition-duration: 400ms;
    transition-timing-function: ease; }
    .btn__outline--black, .btn__outline--black:visited {
      border-color: #000;
      color: #000; }
      .btn__outline--black:hover, .btn__outline--black:visited:hover {
        background-color: #000;
        color: #fff; }
    .btn__outline--aqua, .btn__outline--aqua:visited {
      border-color: #148394;
      color: #148394; }
      .btn__outline--aqua:hover, .btn__outline--aqua:visited:hover {
        background-color: #148394;
        color: #fff; }
    .btn__outline--purple, .btn__outline--purple:visited {
      border-color: #c37baa;
      color: #c37baa; }
      .btn__outline--purple:hover, .btn__outline--purple:visited:hover {
        background-color: #c37baa;
        color: #fff; }
    .btn__outline--pink, .btn__outline--pink:visited {
      border-color: #c56788;
      color: #c56788; }
      .btn__outline--pink:hover, .btn__outline--pink:visited:hover {
        background-color: #c56788;
        color: #fff; }
    .btn__outline--blue, .btn__outline--blue:visited {
      border-color: #51a9d8;
      color: #51a9d8; }
      .btn__outline--blue:hover, .btn__outline--blue:visited:hover {
        background-color: #51a9d8;
        color: #fff; }
    .btn__outline:hover, .btn__outline:focus {
      border-color: transparent; }

@media print, screen and (min-width: 40em) {
  .page-id-4885 .card.promotions .left h2, .page-id-4885 .card.promotions .left h1 {
    width: 580px; } }

.card .read-more-pp {
  font-weight: 700; }

.card.post_block {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  height: 450px;
  overflow: hidden;
  color: #000;
  text-decoration: none;
  position: relative; }
  .card.post_block span {
    display: block; }
    .card.post_block span.title {
      font-size: 1.25rem;
      font-weight: 600; }
    .card.post_block span.read-more {
      text-transform: uppercase; }
    .card.post_block span.background {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      z-index: -1;
      background-size: cover;
      background-position: center;
      transition: 250ms ease transform; }
  .card.post_block .content {
    background: #fff;
    max-width: 260px;
    padding: 7px 16px;
    margin: 0 0 30px 0; }
    .card.post_block .content.block_color__black {
      background: #000;
      color: #fff; }
    .card.post_block .content.block_color__aqua {
      background: #148394;
      color: #fff; }
    .card.post_block .content.block_color__purple {
      background: #c37baa;
      color: #fff; }
    .card.post_block .content.block_color__pink {
      background: #c56788;
      color: #fff; }
    .card.post_block .content.block_color__blue {
      background: #51a9d8;
      color: #fff; }
  .card.post_block:hover span.background, .card.post_block:focus span.background {
    -webkit-transform: scale(1.05);
        -ms-transform: scale(1.05);
            transform: scale(1.05); }

.card.promotions {
  background-position: center 35%;
  background-size: cover;
  position: relative;
  height: 650px; }
  .card.promotions .content {
    position: absolute;
    bottom: -35px;
    min-height: 0;
    max-width: 100vw;
    min-width: 0;
    padding: 43px 21px 40px;
    z-index: 3;
    color: #fff; }
    @media print, screen and (min-width: 64em) {
      .card.promotions .content {
        min-height: 189.015px;
        min-width: 475px;
        max-width: 565px;
        width: 100%;
        padding: 60px 21px 40px; } }
    .card.promotions .content::after {
      content: "";
      clear: both;
      display: table; }
    .card.promotions .content.right {
      right: 0; }
    .card.promotions .content.left {
      left: 0; }
    .card.promotions .content h1, .card.promotions .content h2 {
      font-family: "Abuget", serif;
      font-size: 80px;
      top: -67px;
      color: #fff;
      font-weight: 300;
      position: absolute;
      margin: 0;
      padding: 0;
      left: 21px;
      -webkit-transform: rotate(2deg);
          -ms-transform: rotate(2deg);
              transform: rotate(2deg); }
      @media print, screen and (min-width: 64em) {
        .card.promotions .content h1, .card.promotions .content h2 {
          font-size: 118.59px;
          top: -100px;
          max-width: 580px; } }
    .card.promotions .content img {
      display: block;
      margin: 20px auto 0; }
    .card.promotions .content ul {
      list-style: none;
      margin: 0;
      padding: 0;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center; }
      .card.promotions .content ul li {
        margin: 7px 10px 0; }
        .card.promotions .content ul li a,
        .card.promotions .content ul li a:visited {
          display: inline-block;
          text-transform: uppercase;
          color: #fff;
          border: 2px solid #fff;
          padding: 10px 15px;
          text-decoration: none;
          transition: 400ms ease color, 400ms ease background; }
        .card.promotions .content ul li:first-of-type {
          margin: 7px 10px 0 0; }
    .card.promotions .content .button-wrapper {
      display: block;
      margin: 18px 0 0; }
      .card.promotions .content .button-wrapper a,
      .card.promotions .content .button-wrapper a:visited {
        display: inline-block;
        text-transform: uppercase;
        color: #fff;
        border: 2px solid #fff;
        padding: 10px 15px;
        text-decoration: none;
        transition: 400ms ease color, 400ms ease background; }
    .card.promotions .content.block_color__black {
      background: #000; }
      .card.promotions .content.block_color__black a:hover, .card.promotions .content.block_color__black a:focus,
      .card.promotions .content.block_color__black a:visited:hover,
      .card.promotions .content.block_color__black a:visited:focus {
        background: #fff;
        color: #000; }
    .card.promotions .content.block_color__aqua {
      background: #148394; }
      .card.promotions .content.block_color__aqua a:hover, .card.promotions .content.block_color__aqua a:focus,
      .card.promotions .content.block_color__aqua a:visited:hover,
      .card.promotions .content.block_color__aqua a:visited:focus {
        background: #fff;
        color: #148394; }
    .card.promotions .content.block_color__purple {
      background: #c37baa; }
      .card.promotions .content.block_color__purple a:hover, .card.promotions .content.block_color__purple a:focus,
      .card.promotions .content.block_color__purple a:visited:hover,
      .card.promotions .content.block_color__purple a:visited:focus {
        background: #fff;
        color: #c37baa; }
    .card.promotions .content.block_color__pink {
      background: #c56788; }
      .card.promotions .content.block_color__pink a:hover, .card.promotions .content.block_color__pink a:focus,
      .card.promotions .content.block_color__pink a:visited:hover,
      .card.promotions .content.block_color__pink a:visited:focus {
        background: #fff;
        color: #c56788; }
    .card.promotions .content.block_color__blue {
      background: #51a9d8; }
      .card.promotions .content.block_color__blue a:hover, .card.promotions .content.block_color__blue a:focus,
      .card.promotions .content.block_color__blue a:visited:hover,
      .card.promotions .content.block_color__blue a:visited:focus {
        background: #fff;
        color: #51a9d8; }

.card.location {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  width: 100%;
  height: 450px;
  overflow: hidden;
  color: #000;
  text-decoration: none;
  position: relative; }
  .card.location.height-100 {
    min-height: 450px;
    height: 100%; }
  .card.location span {
    display: block; }
    .card.location span.title {
      font-size: 1.25rem;
      font-weight: 600; }
    .card.location span.read-more {
      text-transform: uppercase; }
    .card.location span.background {
      position: absolute;
      background-color: #f7f7f7;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      z-index: -1;
      background-size: cover;
      background-position: center;
      transition: 250ms ease transform; }
  .card.location .content {
    background: #fff;
    max-width: 260px;
    padding: 7px 16px;
    margin: 0 0 30px 0;
    color: #000; }
    .card.location .content.block_color__black {
      background: #000;
      color: #FFF; }
    .card.location .content.block_color__aqua {
      background: #148394;
      color: #FFF; }
    .card.location .content.block_color__purple {
      background: #c37baa;
      color: #FFF; }
    .card.location .content.block_color__pink {
      background: #c56788;
      color: #FFF; }
    .card.location .content.block_color__blue {
      background: #51a9d8;
      color: #FFF; }
  .card.location:hover span.background, .card.location:focus span.background {
    -webkit-transform: scale(1.05);
        -ms-transform: scale(1.05);
            transform: scale(1.05); }

.card.offer {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 450px;
  overflow: hidden;
  color: #000;
  text-decoration: none;
  position: relative; }
  .card.offer.height-100 {
    height: 100%;
    min-height: 450px; }
  .card.offer span {
    display: block; }
    .card.offer span.title {
      font-size: 1.25rem;
      font-weight: 600; }
    .card.offer span.background {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      z-index: -1;
      background-size: cover;
      background-position: center;
      transition: 250ms ease transform; }
  .card.offer .category {
    background: #fff;
    max-width: 260px;
    padding: 7px 16px;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase; }
    .card.offer .category.block_color__black {
      background: #000; }
    .card.offer .category.block_color__aqua {
      background: #148394; }
    .card.offer .category.block_color__purple {
      background: #c37baa; }
    .card.offer .category.block_color__pink {
      background: #c56788; }
    .card.offer .category.block_color__blue {
      background: #51a9d8; }
  .card.offer .content {
    background: #fff;
    max-width: 350px;
    padding: 7px 16px;
    margin: 0 0 30px 0;
    color: #000;
    min-width: 175px; }
    .card.offer .content.block_color__black {
      background: #000;
      color: #fff; }
    .card.offer .content.block_color__aqua {
      background: #148394;
      color: #fff; }
    .card.offer .content.block_color__purple {
      background: #c37baa;
      color: #fff; }
    .card.offer .content.block_color__pink {
      background: #c56788;
      color: #fff; }
    .card.offer .content.block_color__blue {
      background: #51a9d8;
      color: #fff; }
  .card.offer:hover span.background, .card.offer:focus span.background {
    -webkit-transform: scale(1.05);
        -ms-transform: scale(1.05);
            transform: scale(1.05); }

.card.expert {
  width: 100%;
  overflow: hidden; }
  @media print, screen and (min-width: 64em) {
    .card.expert {
      height: 550px;
      position: relative; } }
  .card.expert .background {
    background-position: center;
    background-size: cover;
    transition: 500ms ease transform;
    height: 400px;
    width: 100%;
    overflow: hidden; }
    @media print, screen and (min-width: 64em) {
      .card.expert .background {
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        width: 100%; } }
  .card.expert .callout {
    background: #fff;
    padding: 16px 16px 24px;
    position: relative;
    z-index: 1; }
    @media print, screen and (min-width: 64em) {
      .card.expert .callout {
        position: absolute;
        left: 0;
        bottom: 32px;
        z-index: 2;
        max-width: 400px; } }
    .card.expert .callout a:focus .background {
      -webkit-transform: scale(1.1);
          -ms-transform: scale(1.1);
              transform: scale(1.1); }
    .card.expert .callout h3 {
      margin: 0 0 5px;
      font-size: 1.6875rem; }
    .card.expert .callout p {
      margin: 5px 0 14px; }
    .card.expert .callout ul {
      list-style: none;
      margin: 5px 0 0 0;
      padding: 0;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; }
      .card.expert .callout ul li a {
        color: #148394;
        text-decoration: none;
        font-size: 1.0625rem; }
      .card.expert .callout ul li:first-of-type {
        position: relative;
        margin: 0 25px 0 0; }
        .card.expert .callout ul li:first-of-type::after {
          content: '';
          height: calc(100% - 10px);
          position: absolute;
          right: -14px;
          top: 5px;
          width: 1px;
          background: #148394; }
  .card.expert:hover .background, .card.expert:focus .background {
    -webkit-transform: scale(1.1);
        -ms-transform: scale(1.1);
            transform: scale(1.1); }

.card.fact-file h4 {
  background: #fdfdfd;
  display: inline-block;
  padding: 10px 15px;
  line-height: 16px;
  margin: 45px 0 0 0;
  text-transform: uppercase; }

.card.fact-file.colour__black h4 {
  background: #000;
  color: #fff; }

.card.fact-file .content {
  background: #fff;
  padding: 15px 25px; }
  @media print, screen and (min-width: 40em) {
    .card.fact-file .content.left {
      margin: 0 40px 0 0; } }
  .card.fact-file .content p {
    margin: 5px 0; }
  .card.fact-file .content ul {
    list-style: none;
    margin: 0;
    padding: 0; }
    .card.fact-file .content ul li {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      margin: 10px 0; }
      .card.fact-file .content ul li img {
        width: 51px;
        height: 51px;
        margin: 14px 15px 10px 0; }
      .card.fact-file .content ul li p {
        margin: 0;
        font-weight: "Abuget", serif; }
        .card.fact-file .content ul li p.title {
          font-weight: 600;
          font-size: 20px; }
        .card.fact-file .content ul li p.sub {
          font-size: 18px; }
      .card.fact-file .content ul li:last-of-type {
        margin: 10px 0 5px 0; }

.card.image-overlay {
  height: 440px;
  background-position: center;
  background-size: cover;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  .card.image-overlay p {
    font-family: 'Abuget', serif !important;
    font-size: 140px;
    color: #fff;
    margin: 0; }
  .card.image-overlay.small {
    height: 325px; }

.card.notes {
  margin: 20px 0; }
  .card.notes h2 {
    font-size: 1.375rem;
    font-family: "PT Sans", sans-serif;
    background: #c37baa;
    font-weight: 100;
    color: #fff;
    display: block;
    width: 200px;
    margin: 0;
    padding: 5px 15px 3px;
    text-transform: uppercase; }
  .card.notes .content {
    background: #fff;
    padding: 15px; }
    .card.notes .content p {
      margin: 0;
      padding: 0; }

.card.content {
  background: #fff;
  padding: 20px;
  margin: 55px 0 25px;
  width: 100%; }

.card.partners .title, .card.offer_description .title {
  background: #0a0a0a;
  display: inline-block;
  font-size: 18px;
  line-height: 18px;
  color: #fff;
  padding: 10px 18px 13px;
  margin: 20px 0 0 0; }
  .card.partners .title.colour__pink, .card.offer_description .title.colour__pink {
    background: #c56788; }
  .card.partners .title.colour__purple, .card.offer_description .title.colour__purple {
    background: #c37baa; }
  .card.partners .title.colour__blue, .card.offer_description .title.colour__blue {
    background: #51a9d8; }
  .card.partners .title.colour__aqua, .card.offer_description .title.colour__aqua {
    background: #148394; }
  .card.partners .title h3, .card.offer_description .title h3 {
    margin: 0;
    padding: 0; }

.card.partners .content, .card.offer_description .content {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  background: #fff;
  margin: 0 0 23px 0; }
  .card.partners .content img, .card.offer_description .content img {
    width: 200px;
    margin: 0 20px; }

.card.partners .partner-logos, .card.offer_description .partner-logos {
  padding: 25px 20px 20px; }
  .card.partners .partner-logos img, .card.offer_description .partner-logos img {
    margin-bottom: 16px; }

.call_to_action {
  box-shadow: 0 0 25px -15px rgba(0, 0, 0, 0.25);
  position: absolute;
  bottom: -40px;
  left: 0;
  right: 0;
  width: 96%;
  z-index: 1; }
  .call_to_action.call_to_action--page {
    position: static;
    box-shadow: none;
    width: 100%; }
    .call_to_action.call_to_action--page .column a, .call_to_action.call_to_action--page .columns a, .call_to_action.call_to_action--page a:visited {
      padding: 30px 40px 28px; }
      @media print, screen and (min-width: 40em) {
        .call_to_action.call_to_action--page .column a, .call_to_action.call_to_action--page .columns a, .call_to_action.call_to_action--page a:visited {
          padding: 40px 20px 28px; } }
      @media print, screen and (min-width: 64em) {
        .call_to_action.call_to_action--page .column a, .call_to_action.call_to_action--page .columns a, .call_to_action.call_to_action--page a:visited {
          padding: 40px 40px 28px; } }
  .call_to_action .column, .call_to_action .columns {
    position: relative; }
    .call_to_action .column:last-child::after, .call_to_action .columns:last-child::after {
      display: none; }
    @media print, screen and (min-width: 64em) {
      .call_to_action .column:first-child a, .call_to_action .columns:first-child a {
        padding-left: 56px; }
      .call_to_action .column:last-child::before, .call_to_action .columns:last-child::before {
        right: 34px; }
      .call_to_action .column:last-child a, .call_to_action .columns:last-child a {
        padding-right: 56px; } }
    .call_to_action .column .link--aqua:hover, .call_to_action .columns .link--aqua:hover {
      background-color: #148394;
      color: #fff; }
    .call_to_action .column .link--purple:hover, .call_to_action .columns .link--purple:hover {
      background-color: #c37baa;
      color: #fff; }
    .call_to_action .column .link--blue:hover, .call_to_action .columns .link--blue:hover {
      background-color: #51a9d8;
      color: #fff; }
    .call_to_action .column .link--hot-pink:hover, .call_to_action .columns .link--hot-pink:hover {
      background-color: #c56788;
      color: #fff; }
    .call_to_action .column a, .call_to_action .columns a, .call_to_action .column a:visited, .call_to_action .columns a:visited {
      padding: 30px 40px 28px;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column;
      background-color: #fff;
      color: #000;
      height: 100%;
      text-decoration: none; }
      @media print, screen and (min-width: 40em) {
        .call_to_action .column a, .call_to_action .columns a, .call_to_action .column a:visited, .call_to_action .columns a:visited {
          padding: 20px 20px 18px; } }
      @media print, screen and (min-width: 64em) {
        .call_to_action .column a, .call_to_action .columns a, .call_to_action .column a:visited, .call_to_action .columns a:visited {
          padding: 20px 40px 18px; } }
      .call_to_action .column a:hover, .call_to_action .columns a:hover, .call_to_action .column a:visited:hover, .call_to_action .columns a:visited:hover {
        color: #fff; }
        .call_to_action .column a:hover:after, .call_to_action .columns a:hover:after, .call_to_action .column a:visited:hover:after, .call_to_action .columns a:visited:hover:after {
          -webkit-filter: invert(1);
                  filter: invert(1); }
      .call_to_action .column a span, .call_to_action .columns a span, .call_to_action .column a:visited span, .call_to_action .columns a:visited span {
        display: block; }
        @media print, screen and (min-width: 40em) {
          .call_to_action .column a span, .call_to_action .columns a span, .call_to_action .column a:visited span, .call_to_action .columns a:visited span {
            padding-right: 18px; } }
        .call_to_action .column a span.title, .call_to_action .columns a span.title, .call_to_action .column a:visited span.title, .call_to_action .columns a:visited span.title {
          font-size: 1.375rem;
          line-height: 1.375rem;
          font-weight: 600; }
      .call_to_action .column a::after, .call_to_action .columns a::after, .call_to_action .column a:visited::after, .call_to_action .columns a:visited::after {
        content: "";
        height: 28px;
        width: 15px;
        position: absolute;
        right: 24px;
        top: 50%;
        margin-top: -14px;
        bottom: 0;
        background-position: center;
        background-size: contain;
        background-repeat: no-repeat;
        background-image: url("data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='41.038' height='48.052' viewBox='0 0 41.038 48.052'%3E%3Cpath id='Arrow_-_Right' data-name='Arrow - Right' d='M256.994,195.066l20.179-12.142,8.232-3.389-8.232-2.742-20.179-12.468,5.028-7.824,34.813,19.831v6.592l-34.813,20.283Z' transform='translate(-256.298 -155.832)' stroke='%23000' stroke-width='1'/%3E%3C/svg%3E"); }
    .call_to_action .column::after, .call_to_action .columns::after {
      content: "";
      height: 1px;
      width: 60%;
      background: #000;
      position: absolute;
      bottom: 0;
      display: block;
      left: 0;
      right: 0;
      margin: auto; }
    @media print, screen and (min-width: 40em) {
      .call_to_action .column::after, .call_to_action .columns::after {
        content: "";
        height: 50%;
        width: 1px;
        background: #000;
        position: absolute;
        right: 0;
        left: auto;
        top: 25%;
        margin: 0; } }

.two-col-block {
  padding-top: 85px; }
  .two-col-block--md-padding .two-col-block__left, .two-col-block--md-padding .two-col-block__right {
    padding: 15px 25px; }
    @media print, screen and (min-width: 64em) {
      .two-col-block--md-padding .two-col-block__left, .two-col-block--md-padding .two-col-block__right {
        padding: 15px 40px; } }
  .two-col-block--lg-padding .two-col-block__left, .two-col-block--lg-padding .two-col-block__right {
    padding: 15px 25px; }
    @media print, screen and (min-width: 64em) {
      .two-col-block--lg-padding .two-col-block__left, .two-col-block--lg-padding .two-col-block__right {
        padding: 15px 50px; } }
  .two-col-block__left, .two-col-block__right {
    padding: 15px 25px; }
  .two-col-block__left {
    margin: 0 0 40px 0; }
    @media print, screen and (min-width: 40em) {
      .two-col-block__left {
        margin: 0 40px 0 0; } }

.opening-hours {
  margin: 0 0 32px;
  padding: 0;
  list-style: none; }
  .opening-hours span {
    float: right; }

.opening-hours-additional {
  font-size: 14px; }

.offer-description-block-title {
  padding: 10px 15px;
  text-transform: uppercase;
  background: #0a0a0a;
  display: inline-block;
  color: #fefefe; }
  .offer-description-block-title__pink {
    background: #c56788;
    color: #fefefe; }
  .offer-description-block-title__purple {
    background: #c37baa; }
  .offer-description-block-title__blue {
    background: #51a9d8; }
  .offer-description-block-title__aqua {
    background: #148394; }
  .offer-description-block-title h3 {
    margin: 0;
    font-weight: 500; }

.offer-description__title-holder {
  padding: 12px 0;
  border-bottom: 1px solid #0a0a0a; }

.offer-description__title {
  margin: 0; }

.offer-description__headline {
  border-bottom: 1px solid #0a0a0a;
  text-transform: uppercase; }

.offer-description__extra p:last-child, .offer-description__extra ul:last-child, .offer-description__extra ol:last-child {
  margin-bottom: 0; }

.offer-description__buttons .btn {
  margin-right: 1rem; }
  .offer-description__buttons .btn:last-child {
    margin-right: 0; }

.offer-description__terms p {
  font-size: 0.75rem; }

.offer-description__img {
  display: block;
  height: 425px; }
  @media print, screen and (min-width: 40em) {
    .offer-description__img {
      height: calc(100% + 40px);
      position: absolute;
      left: 0;
      top: 0; } }
  .offer-description__img:before {
    left: 0;
    content: '';
    display: block;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    height: 100%; }
    @media print, screen and (min-width: 40em) {
      .offer-description__img:before {
        position: absolute;
        width: 50vw;
        top: -85px;
        bottom: 0;
        height: calc(100% + 85px); } }

.offer-description__right-block {
  height: 100%;
  position: relative; }

.checklist-holder {
  padding: 70px 0 40px; }

.checklist-row .column, .checklist-row .columns {
  margin-bottom: 30px; }

.checklist__item {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  margin-bottom: 16px; }
  @media print, screen and (min-width: 40em) {
    .checklist__item--4 {
      width: 31.5%; } }
  @media print, screen and (min-width: 40em) {
    .checklist__item--6 {
      width: 48.5%; } }
  @media print, screen and (min-width: 40em) {
    .checklist__item--8 {
      width: 65.5%; } }
  @media print, screen and (min-width: 40em) {
    .checklist__item {
      margin: .75%; } }
  .checklist__item .white-bg {
    padding: 30px;
    height: 100%;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 100%; }

.checklist P {
  margin-bottom: 0; }

.checklist h4 {
  margin: 0;
  color: #c37baa; }
  .checklist h4 span.number {
    background: #c37baa;
    color: #fff;
    padding: 3px 7px 1px 8px;
    height: 20px;
    font-size: 1.125rem;
    border-radius: 50%;
    margin: 0 10px 0 0; }

.why-review {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  padding-bottom: 50px; }
  .why-review--aqua {
    background: #148394;
    color: #fff; }
  .why-review--white h2 {
    color: #148394; }
  .why-review--white .why-review__content {
    position: relative;
    width: 100%; }
    @media print, screen and (min-width: 64em) {
      .why-review--white .why-review__content {
        width: 75%; } }
  .why-review__content {
    padding: 0 20px;
    margin: auto;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
    @media print, screen and (min-width: 64em) {
      .why-review__content {
        width: 75%;
        max-width: 625px;
        padding: 0; } }
  .why-review__feefo {
    display: block;
    height: 72px;
    width: 72px; }
    .why-review__feefo:hover {
      cursor: pointer; }
    @media print, screen and (min-width: 64em) {
      .why-review__feefo {
        right: 0;
        top: 40px; } }
  .why-review h2 {
    font-family: "Abuget", serif;
    font-size: 109px;
    font-weight: 300;
    margin: 0 0 16px;
    width: 100%; }
  .why-review p {
    margin: 0; }
    @media print, screen and (min-width: 64em) {
      .why-review p {
        text-align: left; } }
  .why-review .review-actions {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
    @media print, screen and (min-width: 64em) {
      .why-review .review-actions {
        -webkit-flex-direction: row;
            -ms-flex-direction: row;
                flex-direction: row;
        -webkit-justify-content: space-between;
            -ms-flex-pack: justify;
                justify-content: space-between;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center; } }
    .why-review .review-actions .reviews-wrapper {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      justify-self: flex-end; }
    .why-review .review-actions .reviews-widget {
      margin-right: 1rem; }
      .why-review .review-actions .reviews-widget:last-child {
        margin-right: 0; }
  .why-review .button-wrapper {
    display: block;
    margin: auto 1rem 0 0; }
    @media print, screen and (min-width: 40em) {
      .why-review .button-wrapper {
        float: left; } }
    .why-review .button-wrapper a,
    .why-review .button-wrapper a:visited {
      text-transform: uppercase;
      color: #fff;
      border: 2px solid #fff;
      padding: 5px 10px;
      text-decoration: none;
      transition: 400ms ease color, 400ms ease background; }
      .why-review .button-wrapper a:hover, .why-review .button-wrapper a:focus,
      .why-review .button-wrapper a:visited:hover,
      .why-review .button-wrapper a:visited:focus {
        color: #148394;
        background: #fff; }
    .why-review .button-wrapper .btn--aqua,
    .why-review .button-wrapper .btn--aqua:visited {
      color: #148394;
      border: 2px solid #148394; }
      .why-review .button-wrapper .btn--aqua:hover, .why-review .button-wrapper .btn--aqua:focus,
      .why-review .button-wrapper .btn--aqua:visited:hover,
      .why-review .button-wrapper .btn--aqua:visited:focus {
        background: #148394;
        color: #fff; }

#review-carousel {
  position: relative;
  margin-top: -40px; }
  #review-carousel .owl-stage-outer {
    padding: 40px 0; }
  #review-carousel .owl-dots {
    margin: 0 0 16px; }
  #review-carousel .review {
    position: relative;
    padding: 0 40px 0 35px; }
    #review-carousel .review::before, #review-carousel .review::after {
      color: #148394;
      position: absolute;
      font-family: "Abuget", serif;
      font-size: 151px;
      line-height: 125px; }
    #review-carousel .review::before {
      content: '\201C';
      left: 0;
      top: -21px; }
    #review-carousel .review::after {
      content: '\201D';
      right: 0;
      bottom: -93px; }

.featured-review {
  margin: 125px 25px 125px 25px; }
  .featured-review .title {
    background: #0a0a0a;
    display: inline-block;
    font-size: 18px;
    line-height: 18px;
    color: #fff;
    padding: 10px 18px 13px;
    margin: 0;
    text-transform: uppercase; }
    .featured-review .title.colour__pink {
      background: #c56788; }
    .featured-review .title.colour__purple {
      background: #c37baa; }
    .featured-review .title.colour__blue {
      background: #51a9d8; }
    .featured-review .title.colour__aqua {
      background: #148394; }
    .featured-review .title h3 {
      margin: 0;
      padding: 0; }
  .featured-review .content {
    width: 100%;
    background: #fff;
    margin: 0 0 23px 0;
    padding: 10px 32px; }
    .featured-review .content img {
      width: 200px;
      margin: 0 20px; }
    .featured-review .content h2 {
      margin-bottom: 0; }
    .featured-review .content p {
      font-weight: 600;
      font-size: 1.3125rem;
      margin-bottom: 18px; }
      .featured-review .content p.reviewer {
        font-size: 1.125rem;
        font-weight: 500;
        text-transform: uppercase; }
        .featured-review .content p.reviewer span.date {
          padding: 0 0 0 10px; }
    .featured-review .content .btn {
      margin-top: 0; }

.review {
  margin-bottom: 23px;
  height: auto;
  -webkit-flex: 1 0 auto;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto; }
  .review .content {
    width: 100%;
    background: #fff;
    padding: 10px 32px;
    height: 100%;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
    .review .content img {
      width: 200px;
      margin: 0 20px; }
    .review .content h2 {
      margin-bottom: 0;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis; }
    .review .content hr {
      width: 100%; }
    .review .content p {
      font-size: 1.125rem;
      margin-bottom: auto;
      overflow: hidden;
      text-overflow: ellipsis; }
      .review .content p.reviewer {
        margin: 45px 0 10px 0;
        font-size: 1.125rem;
        text-transform: uppercase; }
        .review .content p.reviewer span.date {
          padding: 0 0 0 10px; }
    .review .content .btn {
      margin-top: 0; }

.rating {
  background-image: url("data:image/png;base64,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");
  height: 26px;
  display: inline-block;
  background-size: cover;
  float: right;
  margin: 7px 0 0; }
  .rating--5 {
    width: 116px; }
  .rating--4 {
    width: 87px; }
  .rating--3 {
    width: 67px; }
  .rating--2 {
    width: 45px; }
  .rating--1 {
    width: 23px; }

.header {
  background: #fff; }
  .header.large {
    height: 650px;
    background-position: center 30%;
    background-size: cover;
    padding: 20px;
    position: relative; }
    .header.large h1 {
      text-align: center;
      color: #fff;
      font-family: "Abuget", serif;
      font-size: 5.625rem;
      line-height: 5.9375rem;
      font-weight: 300;
      margin: 32px 0 0; }
      @media print, screen and (min-width: 40em) {
        .header.large h1 {
          font-size: 9.375rem;
          line-height: 9.375rem; } }
    .header.large.text_align_left h1 {
      text-align: left;
      margin-top: 0; }
      @media print, screen and (min-width: 40em) {
        .header.large.text_align_left h1 {
          margin-top: 350px;
          padding: 0 100px; } }
      @media print, screen and (min-width: 40em) {
        .header.large.text_align_left h1 {
          margin-top: 375px; } }

.subscribe-tab {
  position: fixed;
  left: -40px;
  top: 50%;
  z-index: 22;
  -webkit-transform: rotate(90deg);
      -ms-transform: rotate(90deg);
          transform: rotate(90deg);
  transition: 500ms ease transform, 500ms ease left; }
  .subscribe-tab a {
    background: #000;
    color: #fff;
    font-size: 1.25rem;
    padding: 10px 15px;
    text-decoration: none;
    border: 2px solid #fff; }
  .subscribe-tab:hover {
    -webkit-transform: rotate(90deg) scale(1.2);
        -ms-transform: rotate(90deg) scale(1.2);
            transform: rotate(90deg) scale(1.2);
    left: -34px; }

.blog-list .row .row {
  margin: 0; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImdsb2JhbC9fY29sb3JzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdmVuZG9yL25vcm1hbGl6ZS5zY3NzIiwiYXBwLmNzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzIiwiX3NldHRpbmdzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3Jvdy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191bml0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2d1dHRlci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3NpemUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY29sdW1uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2xheW91dC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc3RpY2t5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fZmxleC5zY3NzIiwiYXBwLnNjc3MiLCJnbG9iYWwvX2FjY2Vzc2liaWxpdHkuc2NzcyIsImdsb2JhbC9fZm9udHMuc2NzcyIsImdsb2JhbC9fYW5pbWF0aW9ucy5zY3NzIiwiZ2xvYmFsL193cC1vdmVycmlkZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3JpZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19ndXR0ZXJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2xheW91dC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jZWxsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RodW1ibmFpbC5zY3NzIiwibW9kdWxlcy9fbmF2aWdhdGlvbi5zY3NzIiwibW9kdWxlcy9fY29udGVudC5zY3NzIiwibW9kdWxlcy9fb3dsLWNhcm91c2VsLnNjc3MiLCJtb2R1bGVzL19mb290ZXIuc2NzcyIsIm1vZHVsZXMvX2VkaXRvci1zdHlsZS5zY3NzIiwibW9kdWxlcy9fc2lkZS1tZW51LnNjc3MiLCJtb2R1bGVzL19lbnRyeS1jb250ZW50LnNjc3MiLCJtb2R1bGVzL19mb3Jtcy5zY3NzIiwiY29tcG9uZW50cy9fYnV0dG9ucy5zY3NzIiwiY29tcG9uZW50cy9fY2FyZHMuc2NzcyIsImNvbXBvbmVudHMvX2NhbGwtdG8tYWN0aW9uLnNjc3MiLCJjb21wb25lbnRzL2Jsb2Nrcy9fdHdvLWNvbC1ibG9jay5zY3NzIiwiY29tcG9uZW50cy9ibG9ja3MvX2NvbnRhY3Qtb3BlbmluZy10aW1lcy5zY3NzIiwiY29tcG9uZW50cy9ibG9ja3MvX29mZmVycy1kZXNjcmlwdGlvbi5zY3NzIiwiY29tcG9uZW50cy9ibG9ja3MvX2NoZWNrbGlzdC5zY3NzIiwiY29tcG9uZW50cy9ibG9ja3MvX3doeS1yZXZpZXcuc2NzcyIsImNvbXBvbmVudHMvYmxvY2tzL19yZXZpZXdzLnNjc3MiLCJ0ZW1wbGF0ZXMvX2hlYWRlci5zY3NzIiwidGVtcGxhdGVzL19ibG9nLWxpc3RzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0E7RUFDSSxvQkFBbUIsRUFDdEI7O0FDVEQ7Ozs7O0dBS0c7QUNKRCw0RUFBNEU7QUFRNUU7RUFDRSxrQkFBaUI7RUFDakIsK0JBQThCLEVBQy9COztBQU9EO0VBQ0UsVUFBUyxFQUNWOztBQUtEO0VBQ0UsZUFBYztFQUNkLGlCQUFnQixFQUNqQjs7QUFRRDtFQUNFLHdCQUF1QjtFQUN2QixVQUFTO0VBQ1Qsa0JBQWlCLEVBQ2xCOztBQUtEO0VBQ0Usa0NBQWlDO0VBQ2pDLGVBQWMsRUFDZjs7QUFPRDtFQUNFLDhCQUE2QixFQUM5Qjs7QUFLRDtFQUNFLG9CQUFtQjtFQUNuQiwyQkFBMEI7RUFDMUIsa0NBQWlDLEVBQ2xDOztBQUlEOztFQUVFLG9CQUFtQixFQUNwQjs7QUFLRDs7O0VBR0Usa0NBQWlDO0VBQ2pDLGVBQWMsRUFDZjs7QUFJRDtFQUNFLGVBQWMsRUFDZjs7QUFLRDs7RUFFRSxlQUFjO0VBQ2QsZUFBYztFQUNkLG1CQUFrQjtFQUNsQix5QkFBd0IsRUFDekI7O0FBRUQ7RUFDRSxnQkFBZSxFQUNoQjs7QUFF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RUosbUJBQWtCO0VBQ2xCLGlCQUhtRCxFUGdGOUM7O0FBTUg7RU90REosdUJEckNxRCxFTjZGaEQ7O0FBcEJEO0VLeEZKLFdDZXFELEVOMkVoRDs7QUFJQztFT3hFSixtQkFBa0I7RUFDbEIsVUFIbUQsRVA0RTlDOztBQUVEO0VPNUVKLG1CQUFrQjtFQUNsQixXQUhtRCxFUGdGOUM7O0FBTUg7RU90REosdUJEckNxRCxFTjZGaEQ7O0FBcEJEO0VLeEZKLGlCQ2VxRCxFTjJFaEQ7O0FBSUM7RU94RUosbUJBQWtCO0VBQ2xCLGdCQUhtRCxFUDRFOUM7O0FBRUQ7RU81RUosbUJBQWtCO0VBQ2xCLGlCQUhtRCxFUGdGOUM7O0FBTUg7RU90REosaUJEckNxRCxFTjZGaEQ7O0FBcEJEO0VLeEZKLGlCQ2VxRCxFTjJFaEQ7O0FBSUM7RU94RUosbUJBQWtCO0VBQ2xCLGdCQUhtRCxFUDRFOUM7O0FBRUQ7RU81RUosbUJBQWtCO0VBQ2xCLGlCQUhtRCxFUGdGOUM7O0FBTUg7RU90REosdUJEckNxRCxFTjZGaEQ7O0FBcEJEO0VLeEZKLFdDZXFELEVOMkVoRDs7QUFJQztFT3hFSixtQkFBa0I7RUFDbEIsVUFIbUQsRVA0RTlDOztBQUVEO0VPNUVKLG1CQUFrQjtFQUNsQixXQUhtRCxFUGdGOUM7O0FBTUg7RU90REosdUJEckNxRCxFTjZGaEQ7O0FBcEJEO0VLeEZKLGlCQ2VxRCxFTjJFaEQ7O0FBSUM7RU94RUosbUJBQWtCO0VBQ2xCLGdCQUhtRCxFUDRFOUM7O0FBRUQ7RU81RUosbUJBQWtCO0VBQ2xCLGlCQUhtRCxFUGdGOUM7O0FBTUg7RU90REosaUJEckNxRCxFTjZGaEQ7O0FBcEJEO0VLeEZKLGlCQ2VxRCxFTjJFaEQ7O0FBSUM7RU94RUosbUJBQWtCO0VBQ2xCLGdCQUhtRCxFUDRFOUM7O0FBRUQ7RU81RUosbUJBQWtCO0VBQ2xCLGlCQUhtRCxFUGdGOUM7O0FBTUg7RU90REosdUJEckNxRCxFTjZGaEQ7O0FBcEJEO0VLeEZKLFlDZXFELEVOMkVoRDs7QUFnQkQ7RU90REosdUJEckNxRCxFTjZGaEQ7O0FBS0Q7RVF6R0YsWVhvR3VEO0VXbkd2RCxZQUF1QixFQWlDeEI7RVJ1RUc7SVFqRkEsWUFBVyxFQUNaO0VSZ0ZDO0lRN0VBLFlBQVcsRUFDWjtFUjRFQztJUXpFQSxZWG9FcUQsRVduRXREOztBUndFQztFUXpHRixZWG9HdUQ7RVduR3ZELFdBQXVCLEVBaUN4QjtFUnVFRztJUWpGQSxZQUFXLEVBQ1o7RVJnRkM7SVE3RUEsWUFBVyxFQUNaO0VSNEVDO0lRekVBLFlYb0VxRCxFV25FdEQ7O0FSd0VDO0VRekdGLFlYb0d1RDtFV25HdkQsaUJBQXVCLEVBaUN4QjtFUnVFRztJUWpGQSxZQUFXLEVBQ1o7RVJnRkM7SVE3RUEsWUFBVyxFQUNaO0VSNEVDO0lRekVBLFlYb0VxRCxFV25FdEQ7O0FSd0VDO0VRekdGLFlYb0d1RDtFV25HdkQsV0FBdUIsRUFpQ3hCO0VSdUVHO0lRakZBLFlBQVcsRUFDWjtFUmdGQztJUTdFQSxZQUFXLEVBQ1o7RVI0RUM7SVF6RUEsWVhvRXFELEVXbkV0RDs7QVJ3RUM7RVF6R0YsWVhvR3VEO0VXbkd2RCxXQUF1QixFQWlDeEI7RVJ1RUc7SVFqRkEsWUFBVyxFQUNaO0VSZ0ZDO0lRN0VBLFlBQVcsRUFDWjtFUjRFQztJUXpFQSxZWG9FcUQsRVduRXREOztBUndFQztFUXpHRixZWG9HdUQ7RVduR3ZELGlCQUF1QixFQWlDeEI7RVJ1RUc7SVFqRkEsWUFBVyxFQUNaO0VSZ0ZDO0lRN0VBLFlBQVcsRUFDWjtFUjRFQztJUXpFQSxZWG9FcUQsRVduRXREOztBUndFQztFUXpHRixZWG9HdUQ7RVduR3ZELGlCQUF1QixFQWlDeEI7RVJ1RUc7SVFqRkEsWUFBVyxFQUNaO0VSZ0ZDO0lRN0VBLFlBQVcsRUFDWjtFUjRFQztJUXpFQSxZWG9FcUQsRVduRXREOztBUndFQztFUXpHRixZWG9HdUQ7RVduR3ZELGFBQXVCLEVBaUN4QjtFUnVFRztJUWpGQSxZQUFXLEVBQ1o7RVJnRkM7SVE3RUEsWUFBVyxFQUNaO0VSNEVDO0lRekVBLFlYb0VxRCxFV25FdEQ7O0FSOEVEO0VHL0dBLGlCRHVFUztFQ3RFVCxnQkRzRVMsRUZ5Q3VDOztBQURoRDtFQUlJLGdCQUFlO0VBQ2YsZUFBYyxFQUNmOztBQUdIO0VBQ0UsZ0JBQWU7RUFDZixlQUFjLEVBQ2Y7O0FBRUQ7RUc3SEEsd0JBRnFDO0VBR3JDLHVCQUhxQyxFSGdJb0I7O0FBSXpEO0VPMUdBLG1CQUFrQjtFQUNsQixrQkFBaUIsRVAyR2hCO0VPaEhEO0lBQ0UsWUFBVztJQUNYLFlBQVcsRUFDWjs7QVBnSEQ7OztFT25HRixpQkFBZ0I7RUFDaEIsZ0JBQWU7RUFDZixlQUFjLEVQcUdYO0VPOUlEOzs7OztJQUNFLFlWc0dxRDtJVXJHckQsWUFBVyxFQUNaO0VBSUM7OztJQUNFLGFWZ0dvRCxFVS9GckQ7O0FIMElEO0VKaEVBO0lLeEZKLGdCQ2VxRCxFTjJFaEQ7RUFJQztJT3hFSixtQkFBa0I7SUFDbEIsZUFIbUQsRVA0RTlDO0VBRUQ7SU81RUosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFUGdGOUM7RUFNSDtJT3RESixnQkR4Q2dDLEVOZ0czQjtFQXBCRDtJS3hGSixpQkNlcUQsRU4yRWhEO0VBSUM7SU94RUosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFUDRFOUM7RUFFRDtJTzVFSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVQZ0Y5QztFQU1IO0lPdERKLHNCRHJDcUQsRU42RmhEO0VBcEJEO0lLeEZKLFdDZXFELEVOMkVoRDtFQUlDO0lPeEVKLG1CQUFrQjtJQUNsQixVQUhtRCxFUDRFOUM7RUFFRDtJTzVFSixtQkFBa0I7SUFDbEIsV0FIbUQsRVBnRjlDO0VBTUg7SU90REosdUJEckNxRCxFTjZGaEQ7RUFwQkQ7SUt4RkosaUJDZXFELEVOMkVoRDtFQUlDO0lPeEVKLG1CQUFrQjtJQUNsQixnQkFIbUQsRVA0RTlDO0VBRUQ7SU81RUosbUJBQWtCO0lBQ2xCLGlCQUhtRCxFUGdGOUM7RUFNSDtJT3RESixpQkRyQ3FELEVONkZoRDtFQXBCRDtJS3hGSixpQkNlcUQsRU4yRWhEO0VBSUM7SU94RUosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFUDRFOUM7RUFFRDtJTzVFSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVQZ0Y5QztFQU1IO0lPdERKLHVCRHJDcUQsRU42RmhEO0VBcEJEO0lLeEZKLFdDZXFELEVOMkVoRDtFQUlDO0lPeEVKLG1CQUFrQjtJQUNsQixVQUhtRCxFUDRFOUM7RUFFRDtJTzVFSixtQkFBa0I7SUFDbEIsV0FIbUQsRVBnRjlDO0VBTUg7SU90REosdUJEckNxRCxFTjZGaEQ7RUFwQkQ7SUt4RkosaUJDZXFELEVOMkVoRDtFQUlDO0lPeEVKLG1CQUFrQjtJQUNsQixnQkFIbUQsRVA0RTlDO0VBRUQ7SU81RUosbUJBQWtCO0lBQ2xCLGlCQUhtRCxFUGdGOUM7RUFNSDtJT3RESixpQkRyQ3FELEVONkZoRDtFQXBCRDtJS3hGSixpQkNlcUQsRU4yRWhEO0VBSUM7SU94RUosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFUDRFOUM7RUFFRDtJTzVFSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVQZ0Y5QztFQU1IO0lPdERKLHVCRHJDcUQsRU42RmhEO0VBcEJEO0lLeEZKLFdDZXFELEVOMkVoRDtFQUlDO0lPeEVKLG1CQUFrQjtJQUNsQixVQUhtRCxFUDRFOUM7RUFFRDtJTzVFSixtQkFBa0I7SUFDbEIsV0FIbUQsRVBnRjlDO0VBTUg7SU90REosdUJEckNxRCxFTjZGaEQ7RUFwQkQ7SUt4RkosaUJDZXFELEVOMkVoRDtFQUlDO0lPeEVKLG1CQUFrQjtJQUNsQixnQkFIbUQsRVA0RTlDO0VBRUQ7SU81RUosbUJBQWtCO0lBQ2xCLGlCQUhtRCxFUGdGOUM7RUFNSDtJT3RESixpQkRyQ3FELEVONkZoRDtFQXBCRDtJS3hGSixpQkNlcUQsRU4yRWhEO0VBSUM7SU94RUosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFUDRFOUM7RUFFRDtJTzVFSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVQZ0Y5QztFQU1IO0lPdERKLHVCRHJDcUQsRU42RmhEO0VBcEJEO0lLeEZKLFlDZXFELEVOMkVoRDtFQWdCRDtJT3RESix1QkRyQ3FELEVONkZoRDtFQUtEO0lRekdGLFlYb0d1RDtJV25HdkQsWUFBdUIsRUFpQ3hCO0lSdUVHO01RakZBLFlBQVcsRUFDWjtJUmdGQztNUTdFQSxZQUFXLEVBQ1o7SVI0RUM7TVF6RUEsWVhvRXFELEVXbkV0RDtFUndFQztJUXpHRixZWG9HdUQ7SVduR3ZELFdBQXVCLEVBaUN4QjtJUnVFRztNUWpGQSxZQUFXLEVBQ1o7SVJnRkM7TVE3RUEsWUFBVyxFQUNaO0lSNEVDO01RekVBLFlYb0VxRCxFV25FdEQ7RVJ3RUM7SVF6R0YsWVhvR3VEO0lXbkd2RCxpQkFBdUIsRUFpQ3hCO0lSdUVHO01RakZBLFlBQVcsRUFDWjtJUmdGQztNUTdFQSxZQUFXLEVBQ1o7SVI0RUM7TVF6RUEsWVhvRXFELEVXbkV0RDtFUndFQztJUXpHRixZWG9HdUQ7SVduR3ZELFdBQXVCLEVBaUN4QjtJUnVFRztNUWpGQSxZQUFXLEVBQ1o7SVJnRkM7TVE3RUEsWUFBVyxFQUNaO0lSNEVDO01RekVBLFlYb0VxRCxFV25FdEQ7RVJ3RUM7SVF6R0YsWVhvR3VEO0lXbkd2RCxXQUF1QixFQWlDeEI7SVJ1RUc7TVFqRkEsWUFBVyxFQUNaO0lSZ0ZDO01RN0VBLFlBQVcsRUFDWjtJUjRFQztNUXpFQSxZWG9FcUQsRVduRXREO0VSd0VDO0lRekdGLFlYb0d1RDtJV25HdkQsaUJBQXVCLEVBaUN4QjtJUnVFRztNUWpGQSxZQUFXLEVBQ1o7SVJnRkM7TVE3RUEsWUFBVyxFQUNaO0lSNEVDO01RekVBLFlYb0VxRCxFV25FdEQ7RVJ3RUM7SVF6R0YsWVhvR3VEO0lXbkd2RCxpQkFBdUIsRUFpQ3hCO0lSdUVHO01RakZBLFlBQVcsRUFDWjtJUmdGQztNUTdFQSxZQUFXLEVBQ1o7SVI0RUM7TVF6RUEsWVhvRXFELEVXbkV0RDtFUndFQztJUXpHRixZWG9HdUQ7SVduR3ZELGFBQXVCLEVBaUN4QjtJUnVFRztNUWpGQSxZQUFXLEVBQ1o7SVJnRkM7TVE3RUEsWUFBVyxFQUNaO0lSNEVDO01RekVBLFlYb0VxRCxFV25FdEQ7RVI4RUQ7SUcvR0EsaUJEdUVTO0lDdEVULGdCRHNFUyxFRnlDdUM7RUFEaEQ7SUFJSSxnQkFBZTtJQUNmLGVBQWMsRUFDZjtFQUdIO0lBQ0UsZ0JBQWU7SUFDZixlQUFjLEVBQ2Y7RUFFRDtJRzdIQSx5QkFGcUM7SUFHckMsd0JBSHFDLEVIZ0lvQjtFQUl6RDtJTzFHQSxtQkFBa0I7SUFDbEIsa0JBQWlCLEVQMkdoQjtJT2hIRDtNQUNFLFlBQVc7TUFDWCxZQUFXLEVBQ1o7RVBnSEQ7OztJT25HRixpQkFBZ0I7SUFDaEIsZ0JBQWU7SUFDZixlQUFjLEVQcUdYO0lPOUlEOzs7OztNQUNFLFlWc0dxRDtNVXJHckQsWUFBVyxFQUNaO0lBSUM7OztNQUNFLGFWZ0dvRCxFVS9GckQsRUFBQTs7QUgwSUQ7RUpoRUE7SUt4RkosZ0JDZXFELEVOMkVoRDtFQUlDO0lPeEVKLG1CQUFrQjtJQUNsQixlQUhtRCxFUDRFOUM7RUFFRDtJTzVFSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVQZ0Y5QztFQU1IO0lPdERKLGdCRHhDZ0MsRU5nRzNCO0VBcEJEO0lLeEZKLGlCQ2VxRCxFTjJFaEQ7RUFJQztJT3hFSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVQNEU5QztFQUVEO0lPNUVKLG1CQUFrQjtJQUNsQixpQkFIbUQsRVBnRjlDO0VBTUg7SU90REosc0JEckNxRCxFTjZGaEQ7RUFwQkQ7SUt4RkosV0NlcUQsRU4yRWhEO0VBSUM7SU94RUosbUJBQWtCO0lBQ2xCLFVBSG1ELEVQNEU5QztFQUVEO0lPNUVKLG1CQUFrQjtJQUNsQixXQUhtRCxFUGdGOUM7RUFNSDtJT3RESix1QkRyQ3FELEVONkZoRDtFQXBCRDtJS3hGSixpQkNlcUQsRU4yRWhEO0VBSUM7SU94RUosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFUDRFOUM7RUFFRDtJTzVFSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVQZ0Y5QztFQU1IO0lPdERKLGlCRHJDcUQsRU42RmhEO0VBcEJEO0lLeEZKLGlCQ2VxRCxFTjJFaEQ7RUFJQztJT3hFSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVQNEU5QztFQUVEO0lPNUVKLG1CQUFrQjtJQUNsQixpQkFIbUQsRVBnRjlDO0VBTUg7SU90REosdUJEckNxRCxFTjZGaEQ7RUFwQkQ7SUt4RkosV0NlcUQsRU4yRWhEO0VBSUM7SU94RUosbUJBQWtCO0lBQ2xCLFVBSG1ELEVQNEU5QztFQUVEO0lPNUVKLG1CQUFrQjtJQUNsQixXQUhtRCxFUGdGOUM7RUFNSDtJT3RESix1QkRyQ3FELEVONkZoRDtFQXBCRDtJS3hGSixpQkNlcUQsRU4yRWhEO0VBSUM7SU94RUosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFUDRFOUM7RUFFRDtJTzVFSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVQZ0Y5QztFQU1IO0lPdERKLGlCRHJDcUQsRU42RmhEO0VBcEJEO0lLeEZKLGlCQ2VxRCxFTjJFaEQ7RUFJQztJT3hFSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVQNEU5QztFQUVEO0lPNUVKLG1CQUFrQjtJQUNsQixpQkFIbUQsRVBnRjlDO0VBTUg7SU90REosdUJEckNxRCxFTjZGaEQ7RUFwQkQ7SUt4RkosV0NlcUQsRU4yRWhEO0VBSUM7SU94RUosbUJBQWtCO0lBQ2xCLFVBSG1ELEVQNEU5QztFQUVEO0lPNUVKLG1CQUFrQjtJQUNsQixXQUhtRCxFUGdGOUM7RUFNSDtJT3RESix1QkRyQ3FELEVONkZoRDtFQXBCRDtJS3hGSixpQkNlcUQsRU4yRWhEO0VBSUM7SU94RUosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFUDRFOUM7RUFFRDtJTzVFSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVQZ0Y5QztFQU1IO0lPdERKLGlCRHJDcUQsRU42RmhEO0VBcEJEO0lLeEZKLGlCQ2VxRCxFTjJFaEQ7RUFJQztJT3hFSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVQNEU5QztFQUVEO0lPNUVKLG1CQUFrQjtJQUNsQixpQkFIbUQsRVBnRjlDO0VBTUg7SU90REosdUJEckNxRCxFTjZGaEQ7RUFwQkQ7SUt4RkosWUNlcUQsRU4yRWhEO0VBZ0JEO0lPdERKLHVCRHJDcUQsRU42RmhEO0VBS0Q7SVF6R0YsWVhvR3VEO0lXbkd2RCxZQUF1QixFQWlDeEI7SVJ1RUc7TVFqRkEsWUFBVyxFQUNaO0lSZ0ZDO01RN0VBLFlBQVcsRUFDWjtJUjRFQztNUXpFQSxZWG9FcUQsRVduRXREO0VSd0VDO0lRekdGLFlYb0d1RDtJV25HdkQsV0FBdUIsRUFpQ3hCO0lSdUVHO01RakZBLFlBQVcsRUFDWjtJUmdGQztNUTdFQSxZQUFXLEVBQ1o7SVI0RUM7TVF6RUEsWVhvRXFELEVXbkV0RDtFUndFQztJUXpHRixZWG9HdUQ7SVduR3ZELGlCQUF1QixFQWlDeEI7SVJ1RUc7TVFqRkEsWUFBVyxFQUNaO0lSZ0ZDO01RN0VBLFlBQVcsRUFDWjtJUjRFQztNUXpFQSxZWG9FcUQsRVduRXREO0VSd0VDO0lRekdGLFlYb0d1RDtJV25HdkQsV0FBdUIsRUFpQ3hCO0lSdUVHO01RakZBLFlBQVcsRUFDWjtJUmdGQztNUTdFQSxZQUFXLEVBQ1o7SVI0RUM7TVF6RUEsWVhvRXFELEVXbkV0RDtFUndFQztJUXpHRixZWG9HdUQ7SVduR3ZELFdBQXVCLEVBaUN4QjtJUnVFRztNUWpGQSxZQUFXLEVBQ1o7SVJnRkM7TVE3RUEsWUFBVyxFQUNaO0lSNEVDO01RekVBLFlYb0VxRCxFV25FdEQ7RVJ3RUM7SVF6R0YsWVhvR3VEO0lXbkd2RCxpQkFBdUIsRUFpQ3hCO0lSdUVHO01RakZBLFlBQVcsRUFDWjtJUmdGQztNUTdFQSxZQUFXLEVBQ1o7SVI0RUM7TVF6RUEsWVhvRXFELEVXbkV0RDtFUndFQztJUXpHRixZWG9HdUQ7SVduR3ZELGlCQUF1QixFQWlDeEI7SVJ1RUc7TVFqRkEsWUFBVyxFQUNaO0lSZ0ZDO01RN0VBLFlBQVcsRUFDWjtJUjRFQztNUXpFQSxZWG9FcUQsRVduRXREO0VSd0VDO0lRekdGLFlYb0d1RDtJV25HdkQsYUFBdUIsRUFpQ3hCO0lSdUVHO01RakZBLFlBQVcsRUFDWjtJUmdGQztNUTdFQSxZQUFXLEVBQ1o7SVI0RUM7TVF6RUEsWVhvRXFELEVXbkV0RDtFUjhFRDtJRy9HQSxpQkR1RVM7SUN0RVQsZ0JEc0VTLEVGeUN1QztFQURoRDtJQUlJLGdCQUFlO0lBQ2YsZUFBYyxFQUNmO0VBR0g7SUFDRSxnQkFBZTtJQUNmLGVBQWMsRUFDZjtFQUVEO0lHN0hBLHlCQUZxQztJQUdyQyx3QkFIcUMsRUhnSW9CO0VBSXpEO0lPMUdBLG1CQUFrQjtJQUNsQixrQkFBaUIsRVAyR2hCO0lPaEhEO01BQ0UsWUFBVztNQUNYLFlBQVcsRUFDWjtFUGdIRDs7O0lPbkdGLGlCQUFnQjtJQUNoQixnQkFBZTtJQUNmLGVBQWMsRVBxR1g7SU85SUQ7Ozs7O01BQ0UsWVZzR3FEO01VckdyRCxZQUFXLEVBQ1o7SUFJQzs7O01BQ0UsYVZnR29ELEVVL0ZyRCxFQUFBOztBUHlJTDtFR3pHRSx1QkQ0QnFELEVGK0V0RDtFR3pHQztJQUNFLGlCQUFnQixFQUNqQjtFQ3NHQztJSkRKO01HekdFLHdCRDRCcUQsRUYrRXREO01HekdDO1FBQ0UsaUJBQWdCLEVBQ2pCLEVBQUE7O0FIckNIO0VDc0VBLG9CQ1R1RDtFT2xEckQsbUJBQWtCO0VBQ2xCLGtCQUFpQjtFQUlqQixzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLDRCQWxCbUI7TUFrQm5CLHdCQWxCbUI7VUFrQm5CLG9CQWxCbUIsRUE2SXBCO0VUNUlEO0lDeURFLHdCQUYrRDtJQUcvRCx1QkFIK0QsRVF3RDlEO0lMNEJDO01KM0lKO1FDeURFLHlCQUYrRDtRQUcvRCx3QkFIK0QsRVF3RDlELEVBQUE7SUw0QkM7TUozSUo7UUN5REUseUJBRitEO1FBRy9ELHdCQUgrRCxFUXdEOUQsRUFBQTtJVC9HSDtNUzRHTSxnQkFBZTtNQUNmLGVBQWMsRUFDZjtFVDlHTDtJQ3NFQSxnQkFIYSxFUXNEVjtJVHpISDtNU3NITSxtQkFBa0I7TUFDbEIsa0JBQWlCLEVBQ2xCO0VUeEhMO0lDc0VBLGdCQUhhLEVRMERWO0VUN0hIO0lHTEUsaUJEdUVTO0lDdEVULGdCRHNFUyxFT2dFTjtFQTlCTDs7O0lBcUNJLGdCQUFlO0lBQ2YsZUFBYyxFQUNmOztBVDNGSDtFU3lDQSxzQkF4RGM7TUF3RGQsa0JBeERjO1VBd0RkLGNBeERjO0VOdENaLHdCQUZxQztFQUdyQyx1QkFIcUM7RU1xRXJDLGFBQVksRUFtRmI7RUxORztJSjNGSjtNR3JERSx5QkFGcUM7TUFHckMsd0JBSHFDLEVNd0p0QyxFQUFBOztBVHJGRDtFUzBGRSxZQUFXO0VBQ1gsZUFBYyxFQUNmOztBVHZGRDtFUzJGRSxnQkFBZTtFQUNmLGVBQWM7RUFDZCxpQkFBZ0I7RUFDaEIsZ0JBQWUsRUFDaEI7O0FUckZHO0VTMkZFLDJCSHBLK0M7TUdvSy9DLHVCSHBLK0M7VUdvSy9DLG1CSHBLK0M7RUdxSy9DLG9CSHJLK0MsRUdzS2hEOztBVDNFRDtFT3RESixnQkR4Q2dDLEVHZ0wzQjs7QVRwR0Q7RVMyRkUsNEJIcEsrQztNR29LL0Msd0JIcEsrQztVR29LL0Msb0JIcEsrQztFR3FLL0MscUJIcksrQyxFR3NLaEQ7O0FUM0VEO0VPdERKLHNCRHJDcUQsRUc2S2hEOztBVHBHRDtFUzJGRSxzQkhwSytDO01Hb0svQyxrQkhwSytDO1VHb0svQyxjSHBLK0M7RUdxSy9DLGVIcksrQyxFR3NLaEQ7O0FUM0VEO0VPdERKLHVCRHJDcUQsRUc2S2hEOztBVHBHRDtFUzJGRSw0QkhwSytDO01Hb0svQyx3QkhwSytDO1VHb0svQyxvQkhwSytDO0VHcUsvQyxxQkhySytDLEVHc0toRDs7QVQzRUQ7RU90REosaUJEckNxRCxFRzZLaEQ7O0FUcEdEO0VTMkZFLDRCSHBLK0M7TUdvSy9DLHdCSHBLK0M7VUdvSy9DLG9CSHBLK0M7RUdxSy9DLHFCSHJLK0MsRUdzS2hEOztBVDNFRDtFT3RESix1QkRyQ3FELEVHNktoRDs7QVRwR0Q7RVMyRkUsc0JIcEsrQztNR29LL0Msa0JIcEsrQztVR29LL0MsY0hwSytDO0VHcUsvQyxlSHJLK0MsRUdzS2hEOztBVDNFRDtFT3RESix1QkRyQ3FELEVHNktoRDs7QVRwR0Q7RVMyRkUsNEJIcEsrQztNR29LL0Msd0JIcEsrQztVR29LL0Msb0JIcEsrQztFR3FLL0MscUJIcksrQyxFR3NLaEQ7O0FUM0VEO0VPdERKLGlCRHJDcUQsRUc2S2hEOztBVHBHRDtFUzJGRSw0QkhwSytDO01Hb0svQyx3QkhwSytDO1VHb0svQyxvQkhwSytDO0VHcUsvQyxxQkhySytDLEVHc0toRDs7QVQzRUQ7RU90REosdUJEckNxRCxFRzZLaEQ7O0FUcEdEO0VTMkZFLHNCSHBLK0M7TUdvSy9DLGtCSHBLK0M7VUdvSy9DLGNIcEsrQztFR3FLL0MsZUhySytDLEVHc0toRDs7QVQzRUQ7RU90REosdUJEckNxRCxFRzZLaEQ7O0FUcEdEO0VTMkZFLDRCSHBLK0M7TUdvSy9DLHdCSHBLK0M7VUdvSy9DLG9CSHBLK0M7RUdxSy9DLHFCSHJLK0MsRUdzS2hEOztBVDNFRDtFT3RESixpQkRyQ3FELEVHNktoRDs7QVRwR0Q7RVMyRkUsNEJIcEsrQztNR29LL0Msd0JIcEsrQztVR29LL0Msb0JIcEsrQztFR3FLL0MscUJIcksrQyxFR3NLaEQ7O0FUM0VEO0VPdERKLHVCRHJDcUQsRUc2S2hEOztBVHBHRDtFUzJGRSx1QkhwSytDO01Hb0svQyxtQkhwSytDO1VHb0svQyxlSHBLK0M7RUdxSy9DLGdCSHJLK0MsRUdzS2hEOztBVDNFRDtFT3RESix1QkRyQ3FELEVHNktoRDs7QUFLRDtFQTFHSix3QkFBZTtNQUFmLG9CQUFlO1VBQWYsZ0JBQWUsRUE0R1Y7RVRsRkQ7SVNyQkYsdUJBRnNCO1FBRXRCLG1CQUZzQjtZQUV0QixlQUZzQjtJQUd0QixnQkFIc0IsRUFJdkI7O0FBbUdHO0VBMUdKLHdCQUFlO01BQWYsb0JBQWU7VUFBZixnQkFBZSxFQTRHVjtFVGxGRDtJU3JCRixzQkFGc0I7UUFFdEIsa0JBRnNCO1lBRXRCLGNBRnNCO0lBR3RCLGVBSHNCLEVBSXZCOztBQW1HRztFQTFHSix3QkFBZTtNQUFmLG9CQUFlO1VBQWYsZ0JBQWUsRUE0R1Y7RVRsRkQ7SVNyQkYsNEJBRnNCO1FBRXRCLHdCQUZzQjtZQUV0QixvQkFGc0I7SUFHdEIscUJBSHNCLEVBSXZCOztBQW1HRztFQTFHSix3QkFBZTtNQUFmLG9CQUFlO1VBQWYsZ0JBQWUsRUE0R1Y7RVRsRkQ7SVNyQkYsc0JBRnNCO1FBRXRCLGtCQUZzQjtZQUV0QixjQUZzQjtJQUd0QixlQUhzQixFQUl2Qjs7QUFtR0c7RUExR0osd0JBQWU7TUFBZixvQkFBZTtVQUFmLGdCQUFlLEVBNEdWO0VUbEZEO0lTckJGLHNCQUZzQjtRQUV0QixrQkFGc0I7WUFFdEIsY0FGc0I7SUFHdEIsZUFIc0IsRUFJdkI7O0FBbUdHO0VBMUdKLHdCQUFlO01BQWYsb0JBQWU7VUFBZixnQkFBZSxFQTRHVjtFVGxGRDtJU3JCRiw0QkFGc0I7UUFFdEIsd0JBRnNCO1lBRXRCLG9CQUZzQjtJQUd0QixxQkFIc0IsRUFJdkI7O0FBbUdHO0VBMUdKLHdCQUFlO01BQWYsb0JBQWU7VUFBZixnQkFBZSxFQTRHVjtFVGxGRDtJU3JCRiw0QkFGc0I7UUFFdEIsd0JBRnNCO1lBRXRCLG9CQUZzQjtJQUd0QixxQkFIc0IsRUFJdkI7O0FBbUdHO0VBMUdKLHdCQUFlO01BQWYsb0JBQWU7VUFBZixnQkFBZSxFQTRHVjtFVGxGRDtJU3JCRix3QkFGc0I7UUFFdEIsb0JBRnNCO1lBRXRCLGdCQUZzQjtJQUd0QixpQkFIc0IsRUFJdkI7O0FUeUJDO0VHL0dBLGlCRHVFUztFQ3RFVCxnQkRzRVMsRU8rSW1DOztBVHpGNUM7RUc3SEEsd0JBRnFDO0VBR3JDLHVCQUhxQyxFTTROZ0I7O0FMMUVuRDtFSmhFQTtJUzJGRSwyQkhwSytDO1FHb0svQyx1QkhwSytDO1lHb0svQyxtQkhwSytDO0lHcUsvQyxvQkhySytDLEVHc0toRDtFVDNFRDtJT3RESixnQkR4Q2dDLEVHZ0wzQjtFVHBHRDtJUzJGRSw0QkhwSytDO1FHb0svQyx3QkhwSytDO1lHb0svQyxvQkhwSytDO0lHcUsvQyxxQkhySytDLEVHc0toRDtFVDNFRDtJT3RESixzQkRyQ3FELEVHNktoRDtFVHBHRDtJUzJGRSxzQkhwSytDO1FHb0svQyxrQkhwSytDO1lHb0svQyxjSHBLK0M7SUdxSy9DLGVIcksrQyxFR3NLaEQ7RVQzRUQ7SU90REosdUJEckNxRCxFRzZLaEQ7RVRwR0Q7SVMyRkUsNEJIcEsrQztRR29LL0Msd0JIcEsrQztZR29LL0Msb0JIcEsrQztJR3FLL0MscUJIcksrQyxFR3NLaEQ7RVQzRUQ7SU90REosaUJEckNxRCxFRzZLaEQ7RVRwR0Q7SVMyRkUsNEJIcEsrQztRR29LL0Msd0JIcEsrQztZR29LL0Msb0JIcEsrQztJR3FLL0MscUJIcksrQyxFR3NLaEQ7RVQzRUQ7SU90REosdUJEckNxRCxFRzZLaEQ7RVRwR0Q7SVMyRkUsc0JIcEsrQztRR29LL0Msa0JIcEsrQztZR29LL0MsY0hwSytDO0lHcUsvQyxlSHJLK0MsRUdzS2hEO0VUM0VEO0lPdERKLHVCRHJDcUQsRUc2S2hEO0VUcEdEO0lTMkZFLDRCSHBLK0M7UUdvSy9DLHdCSHBLK0M7WUdvSy9DLG9CSHBLK0M7SUdxSy9DLHFCSHJLK0MsRUdzS2hEO0VUM0VEO0lPdERKLGlCRHJDcUQsRUc2S2hEO0VUcEdEO0lTMkZFLDRCSHBLK0M7UUdvSy9DLHdCSHBLK0M7WUdvSy9DLG9CSHBLK0M7SUdxSy9DLHFCSHJLK0MsRUdzS2hEO0VUM0VEO0lPdERKLHVCRHJDcUQsRUc2S2hEO0VUcEdEO0lTMkZFLHNCSHBLK0M7UUdvSy9DLGtCSHBLK0M7WUdvSy9DLGNIcEsrQztJR3FLL0MsZUhySytDLEVHc0toRDtFVDNFRDtJT3RESix1QkRyQ3FELEVHNktoRDtFVHBHRDtJUzJGRSw0QkhwSytDO1FHb0svQyx3QkhwSytDO1lHb0svQyxvQkhwSytDO0lHcUsvQyxxQkhySytDLEVHc0toRDtFVDNFRDtJT3RESixpQkRyQ3FELEVHNktoRDtFVHBHRDtJUzJGRSw0QkhwSytDO1FHb0svQyx3QkhwSytDO1lHb0svQyxvQkhwSytDO0lHcUsvQyxxQkhySytDLEVHc0toRDtFVDNFRDtJT3RESix1QkRyQ3FELEVHNktoRDtFVHBHRDtJUzJGRSx1QkhwSytDO1FHb0svQyxtQkhwSytDO1lHb0svQyxlSHBLK0M7SUdxSy9DLGdCSHJLK0MsRUdzS2hEO0VUM0VEO0lPdERKLHVCRHJDcUQsRUc2S2hEO0VBS0Q7SUExR0osd0JBQWU7UUFBZixvQkFBZTtZQUFmLGdCQUFlLEVBNEdWO0lUbEZEO01TckJGLHVCQUZzQjtVQUV0QixtQkFGc0I7Y0FFdEIsZUFGc0I7TUFHdEIsZ0JBSHNCLEVBSXZCO0VBbUdHO0lBMUdKLHdCQUFlO1FBQWYsb0JBQWU7WUFBZixnQkFBZSxFQTRHVjtJVGxGRDtNU3JCRixzQkFGc0I7VUFFdEIsa0JBRnNCO2NBRXRCLGNBRnNCO01BR3RCLGVBSHNCLEVBSXZCO0VBbUdHO0lBMUdKLHdCQUFlO1FBQWYsb0JBQWU7WUFBZixnQkFBZSxFQTRHVjtJVGxGRDtNU3JCRiw0QkFGc0I7VUFFdEIsd0JBRnNCO2NBRXRCLG9CQUZzQjtNQUd0QixxQkFIc0IsRUFJdkI7RUFtR0c7SUExR0osd0JBQWU7UUFBZixvQkFBZTtZQUFmLGdCQUFlLEVBNEdWO0lUbEZEO01TckJGLHNCQUZzQjtVQUV0QixrQkFGc0I7Y0FFdEIsY0FGc0I7TUFHdEIsZUFIc0IsRUFJdkI7RUFtR0c7SUExR0osd0JBQWU7UUFBZixvQkFBZTtZQUFmLGdCQUFlLEVBNEdWO0lUbEZEO01TckJGLHNCQUZzQjtVQUV0QixrQkFGc0I7Y0FFdEIsY0FGc0I7TUFHdEIsZUFIc0IsRUFJdkI7RUFtR0c7SUExR0osd0JBQWU7UUFBZixvQkFBZTtZQUFmLGdCQUFlLEVBNEdWO0lUbEZEO01TckJGLDRCQUZzQjtVQUV0Qix3QkFGc0I7Y0FFdEIsb0JBRnNCO01BR3RCLHFCQUhzQixFQUl2QjtFQW1HRztJQTFHSix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWUsRUE0R1Y7SVRsRkQ7TVNyQkYsNEJBRnNCO1VBRXRCLHdCQUZzQjtjQUV0QixvQkFGc0I7TUFHdEIscUJBSHNCLEVBSXZCO0VBbUdHO0lBMUdKLHdCQUFlO1FBQWYsb0JBQWU7WUFBZixnQkFBZSxFQTRHVjtJVGxGRDtNU3JCRix3QkFGc0I7VUFFdEIsb0JBRnNCO2NBRXRCLGdCQUZzQjtNQUd0QixpQkFIc0IsRUFJdkIsRUFBQTs7QUwwREc7RUtpREU7SUFDRSxzQkE1Sk07UUE0Sk4sa0JBNUpNO1lBNEpOLGNBNUpNLEVBNkpQLEVBQUE7O0FBS0Q7RUFFSSx1QkFBMkI7TUFBM0IsbUJBQTJCO1VBQTNCLGVBQTJCLEVBSzVCO0VML0RMO0lLd0RFO01BS00sc0JBdktFO1VBdUtGLGtCQXZLRTtjQXVLRixjQXZLRSxFQXlLTCxFQUFBOztBTC9ETDtFSmpDRjtJRy9HQSxpQkR1RVM7SUN0RVQsZ0JEc0VTLEVPK0ltQztFVHpGNUM7SUc3SEEseUJBRnFDO0lBR3JDLHdCQUhxQyxFTTROZ0IsRUFBQTs7QUwxRW5EO0VKaEVBO0lTMkZFLDJCSHBLK0M7UUdvSy9DLHVCSHBLK0M7WUdvSy9DLG1CSHBLK0M7SUdxSy9DLG9CSHJLK0MsRUdzS2hEO0VUM0VEO0lPdERKLGdCRHhDZ0MsRUdnTDNCO0VUcEdEO0lTMkZFLDRCSHBLK0M7UUdvSy9DLHdCSHBLK0M7WUdvSy9DLG9CSHBLK0M7SUdxSy9DLHFCSHJLK0MsRUdzS2hEO0VUM0VEO0lPdERKLHNCRHJDcUQsRUc2S2hEO0VUcEdEO0lTMkZFLHNCSHBLK0M7UUdvSy9DLGtCSHBLK0M7WUdvSy9DLGNIcEsrQztJR3FLL0MsZUhySytDLEVHc0toRDtFVDNFRDtJT3RESix1QkRyQ3FELEVHNktoRDtFVHBHRDtJUzJGRSw0QkhwSytDO1FHb0svQyx3QkhwSytDO1lHb0svQyxvQkhwSytDO0lHcUsvQyxxQkhySytDLEVHc0toRDtFVDNFRDtJT3RESixpQkRyQ3FELEVHNktoRDtFVHBHRDtJUzJGRSw0QkhwSytDO1FHb0svQyx3QkhwSytDO1lHb0svQyxvQkhwSytDO0lHcUsvQyxxQkhySytDLEVHc0toRDtFVDNFRDtJT3RESix1QkRyQ3FELEVHNktoRDtFVHBHRDtJUzJGRSxzQkhwSytDO1FHb0svQyxrQkhwSytDO1lHb0svQyxjSHBLK0M7SUdxSy9DLGVIcksrQyxFR3NLaEQ7RVQzRUQ7SU90REosdUJEckNxRCxFRzZLaEQ7RVRwR0Q7SVMyRkUsNEJIcEsrQztRR29LL0Msd0JIcEsrQztZR29LL0Msb0JIcEsrQztJR3FLL0MscUJIcksrQyxFR3NLaEQ7RVQzRUQ7SU90REosaUJEckNxRCxFRzZLaEQ7RVRwR0Q7SVMyRkUsNEJIcEsrQztRR29LL0Msd0JIcEsrQztZR29LL0Msb0JIcEsrQztJR3FLL0MscUJIcksrQyxFR3NLaEQ7RVQzRUQ7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Q3hCRiwyQkF4RGdCO01Bd0RoQiw0QkF4RGdCO2NBd0RoQiwyQkF4RGdCO1VBd0RoQixtQkF4RGdCLEVEa0ZiOztBQU5EO0VDcENGLDZCQXZDa0I7TUF1Q2xCLHdCQXZDa0I7VUF1Q2xCLHFCQXZDa0IsRUQ2RWY7O0FBRUQ7RUN4QkYsNEJBdkRrQjtNQXVEbEIsNkJBdkRrQjtjQXVEbEIsNEJBdkRrQjtVQXVEbEIsb0JBdkRrQixFRGlGZjs7QUFJSDtFQy9DQSxnQ0FuRGtCO01BbURsQixzQkFuRGtCO1VBbURsQix3QkFuRGtCO0VBb0RsQiw0QkF4Q2dCO01Bd0NoQix1QkF4Q2dCO1VBd0NoQixvQkF4Q2dCO0VEd0ZkLDhCQUFxQjtNQUFyQiwyQkFBcUI7VUFBckIsc0JBQXFCLEVBQ3RCOztBQUtHO0VDaENKLGlCRCtCZ0I7TUMvQmhCLGtCRCtCZ0I7VUMvQmhCLFNEK0JnQixFQUdYOztBQUZEO0VDaENKLGlCRCtCZ0I7TUMvQmhCLGtCRCtCZ0I7VUMvQmhCLFNEK0JnQixFQUdYOztBQUZEO0VDaENKLGlCRCtCZ0I7TUMvQmhCLGtCRCtCZ0I7VUMvQmhCLFNEK0JnQixFQUdYOztBQUZEO0VDaENKLGlCRCtCZ0I7TUMvQmhCLGtCRCtCZ0I7VUMvQmhCLFNEK0JnQixFQUdYOztBQUZEO0VDaENKLGlCRCtCZ0I7TUMvQmhCLGtCRCtCZ0I7VUMvQmhCLFNEK0JnQixFQUdYOztBQUZEO0VDaENKLGlCRCtCZ0I7TUMvQmhCLGtCRCtCZ0I7VUMvQmhCLFNEK0JnQixFQUdYOztBUHNERDtFT3hEQTtJQ2hDSixpQkQrQmdCO1FDL0JoQixrQkQrQmdCO1lDL0JoQixTRCtCZ0IsRUFHWDtFQUZEO0lDaENKLGlCRCtCZ0I7UUMvQmhCLGtCRCtCZ0I7WUMvQmhCLFNEK0JnQixFQUdYO0VBRkQ7SUNoQ0osaUJEK0JnQjtRQy9CaEIsa0JEK0JnQjtZQy9CaEIsU0QrQmdCLEVBR1g7RUFGRDtJQ2hDSixpQkQrQmdCO1FDL0JoQixrQkQrQmdCO1lDL0JoQixTRCtCZ0IsRUFHWDtFQUZEO0lDaENKLGlCRCtCZ0I7UUMvQmhC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QWlELEVBZWpEO0VBckJEO0lBU0UsaUJBQWdCO0lBQ2hCLFlBQVc7SUFDWCxtQnRDa0N1RDtJc0NqQ3ZELG1CQUFrQjtJQUNsQixzQkFBcUI7SUFDckIsdUJBQXNCLEVBQ3RCO0VBZkY7SUFrQkUsNENBQW1DO1FBQW5DLHdDQUFtQztZQUFuQyxvQ0FBbUM7SUFDbkMsWUFBVyxFQUNYOztBQy9ERjtFQUdHLFVBQVMsRUFDVCIsImZpbGUiOiJhcHAuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiJGRhcmstbmF2LWNvbG9yOiAjMDEwMTAxO1xuXG4kYnJhbmRfYXF1YTogcmdiKDIwLCAxMzEsIDE0OCk7XG4kYnJhbmRfcHVycGxlOiByZ2IoMTk1LCAxMjMsIDE3MCk7XG4kYnJhbmRfYmx1ZTogcmdiKDgxLCAxNjksIDIxNik7XG4kYnJhbmRfcGluazogcmdiKDE5NywgMTAzLCAxMzYpO1xuXG4ud2hpdGUtYmcge1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG59IiwiLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4gKiBWZXJzaW9uIDYuNS4xXG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuXG4vLyBEZXBlbmRlbmNpZXNcbkBpbXBvcnQgJ3ZlbmRvci9ub3JtYWxpemUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL21pc3NpbmctZGVwZW5kZW5jaWVzJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy90cnVlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL2NvbnRhaW4nO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcHVyZ2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVtb3ZlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlcGxhY2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvdG8tbGlzdCc7XG5cbi8vIC0tLSBTZXR0aW5ncyAtLS1cbi8vIGltcG9ydCB5b3VyIG93biBgc2V0dGluZ3NgIGhlcmUgb3Jcbi8vIGltcG9ydCBhbmQgbW9kaWZ5IHRoZSBkZWZhdWx0IHNldHRpbmdzIHRocm91Z2hcbi8vIEBpbXBvcnQgJ3NldHRpbmdzL3NldHRpbmdzJztcblxuLy8gLS0tIENvbXBvbmVudHMgLS0tXG4vLyBVdGlsaXRpZXNcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG4vLyBHbG9iYWwgc3R5bGVzXG5AaW1wb3J0ICdnbG9iYWwnO1xuQGltcG9ydCAnZm9ybXMvZm9ybXMnO1xuQGltcG9ydCAndHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcblxuLy8gR3JpZHNcbkBpbXBvcnQgJ2dyaWQvZ3JpZCc7XG5AaW1wb3J0ICd4eS1ncmlkL3h5LWdyaWQnO1xuLy8gR2VuZXJpYyBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi1ncm91cCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Nsb3NlLWJ1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xhYmVsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3dpdGNoJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUnO1xuLy8gQmFzaWMgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsbG91dCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhcmQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sdGlwJztcblxuLy8gQ29udGFpbmVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZWRpYS1vYmplY3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9vcmJpdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Jlc3BvbnNpdmUtZW1iZWQnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcbi8vIE1lbnUtYmFzZWQgY29udGFpbmVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudS1pY29uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcmlsbGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bi1tZW51JztcblxuLy8gTGF5b3V0IGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb2ZmLWNhbnZhcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3JldmVhbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N0aWNreSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RvcC1iYXInO1xuXG4vLyBIZWxwZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL2Zsb2F0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Zpc2liaWxpdHknO1xuQGltcG9ydCAncHJvdG90eXBlL3Byb3RvdHlwZSc7XG5cblxuQG1peGluIGZvdW5kYXRpb24tZXZlcnl0aGluZyhcbiAgJGZsZXg6IHRydWUsXG4gICRwcm90b3R5cGU6IGZhbHNlXG4pIHtcbiAgQGlmICRmbGV4IHtcbiAgICAkZ2xvYmFsLWZsZXhib3g6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIC8vIEdsb2JhbCBzdHlsZXNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG5cbiAgLy8gR3JpZHNcbiAgQGlmIG5vdCAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgJHh5LWdyaWQge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXM7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEdlbmVyaWMgY29tcG9uZW50c1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuICAvLyBCYXNpYyBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcblxuICAvLyBDb250YWluZXJzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuICAvLyBNZW51LWJhc2VkIGNvbnRhaW5lcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuXG4gIC8vIExheW91dCBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuXG4gIC8vIEhlbHBlcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuICBAaWYgJGZsZXggeyBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlczsgfVxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcbiAgQGlmICRwcm90b3R5cGUgeyBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzOyB9XG59XG4iLCJAbWl4aW4gZm91bmRhdGlvbi1ub3JtYWxpemUoKSB7XG4gIC8qISBub3JtYWxpemUuY3NzIHY4LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuICAvLyBEb2N1bWVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG5cbiAgaHRtbCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDFcbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDJcbiAgfVxuXG4gIC8vIFNlY3Rpb25zXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgLy8gYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cblxuICBoMSB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbWFyZ2luOiAwLjY3ZW0gMDtcbiAgfVxuXG4gIC8vIEdyb3VwaW5nIGNvbnRlbnRcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICAvLyAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cblxuICBociB7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8vIDFcbiAgICBoZWlnaHQ6IDA7IC8vIDFcbiAgICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gMlxuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHByZSB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvLyAxXG4gICAgZm9udC1zaXplOiAxZW07IC8vIDJcbiAgfVxuXG4gIC8vIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuXG4gIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLy8gMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAgLy8gMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cblxuICBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLy8gMVxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvLyAyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvLyAyXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuXG4gIGIsXG4gIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cblxuICBjb2RlLFxuICBrYmQsXG4gIHNhbXAge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLy8gMVxuICAgIGZvbnQtc2l6ZTogMWVtOyAvLyAyXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cblxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiA4MCU7XG4gIH1cblxuICAvLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgLy8gYWxsIGJyb3dzZXJzLlxuXG4gIHN1YixcbiAgc3VwIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cbiAgc3ViIHtcbiAgICBib3R0b206IC0wLjI1ZW07XG4gIH1cblxuICBzdXAge1xuICAgIHRvcDogLTAuNWVtO1xuICB9XG5cbiAgLy8gRW1iZWRkZWQgY29udGVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG5cbiAgaW1nIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIH1cblxuICAvLyBGb3Jtc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG5cbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvLyAxXG4gICAgZm9udC1zaXplOiAxMDAlOyAvLyAxXG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDFcbiAgICBtYXJnaW46IDA7IC8vIDJcbiAgfVxuXG4gIC8vIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAvLyAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuXG4gIGJ1dHRvbixcbiAgaW5wdXQgeyAvLyAxXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgLy8gMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuXG4gIGJ1dHRvbixcbiAgc2VsZWN0IHsgLy8gMVxuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cblxuICBidXR0b24sXG4gIFt0eXBlPVwiYnV0dG9uXCJdLFxuICBbdHlwZT1cInJlc2V0XCJdLFxuICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuXG4gIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cblxuICBidXR0b246LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuXG4gIGZpZWxkc2V0IHtcbiAgICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gIC8vIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgLy8gICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgbGVnZW5kIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gICAgY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgICBkaXNwbGF5OiB0YWJsZTsgLy8gMVxuICAgIG1heC13aWR0aDogMTAwJTsgLy8gMVxuICAgIHBhZGRpbmc6IDA7IC8vIDNcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvLyAxXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuXG4gIHByb2dyZXNzIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cblxuICB0ZXh0YXJlYSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAgLy8gMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuXG4gIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gIFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbiAgICBwYWRkaW5nOiAwOyAvLyAyXG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG5cbiAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG5cbiAgW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyAxXG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8vIDJcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cblxuICBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgLy8gMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuXG4gIDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAxXG4gICAgZm9udDogaW5oZXJpdDsgLy8gMlxuICB9XG5cbiAgLy8gSW50ZXJhY3RpdmVcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuXG4gIGRldGFpbHMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgfVxuXG4gIC8vIE1pc2NcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG5cbiAgdGVtcGxhdGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cblxuICBbaGlkZGVuXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLndoaXRlLWJnIHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjsgfVxuXG4vKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi41LjFcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG4vKiEgbm9ybWFsaXplLmNzcyB2OC4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgfVxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtOyB9XG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IH1cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7IH1cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtOyB9XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07IH1cblxuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyB9XG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDEwMCU7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICBtYXJnaW46IDA7IH1cblxuYnV0dG9uLFxuaW5wdXQge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyB9XG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwOyB9XG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0OyB9XG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtOyB9XG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyB9XG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAwOyB9XG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IH1cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICBmb250OiBpbmhlcml0OyB9XG5cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyB9XG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZvdW5kYXRpb24tbXEge1xuICBmb250LWZhbWlseTogXCJzbWFsbD0wZW0mbWVkaXVtPTQwZW0mbGFyZ2U9NjRlbSZ4bGFyZ2U9NzVlbSZ4eGxhcmdlPTkwZW1cIjsgfVxuXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZm9udC1zaXplOiAxMDAlOyB9XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkRyb2lkIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzBhMGEwYTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYzsgfVxuXG50ZXh0YXJlYSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogNTBweDtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG5zZWxlY3Qge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4ubWFwX2NhbnZhcyBpbWcsXG4ubWFwX2NhbnZhcyBlbWJlZCxcbi5tYXBfY2FudmFzIG9iamVjdCxcbi5tcWEtZGlzcGxheSBpbWcsXG4ubXFhLWRpc3BsYXkgZW1iZWQsXG4ubXFhLWRpc3BsYXkgb2JqZWN0IHtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7IH1cblxuYnV0dG9uIHtcbiAgcGFkZGluZzogMDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogYXV0bzsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyB9XG5cbi5pcy12aXNpYmxlIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuXG4uaXMtaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5yb3cge1xuICBtYXgtd2lkdGg6IDYzLjc1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gIC5yb3c6OmJlZm9yZSwgLnJvdzo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5yb3c6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAucm93LmNvbGxhcHNlID4gLmNvbHVtbiwgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAucm93IC5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnJvdyAucm93IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5yb3cgLnJvdyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAgIC5yb3cgLnJvdy5jb2xsYXBzZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAucm93LmV4cGFuZGVkIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgICAucm93LmV4cGFuZGVkIC5yb3cge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgLnJvdzpub3QoLmV4cGFuZGVkKSAucm93IHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgLnJvdy5ndXR0ZXItc21hbGwgPiAuY29sdW1uLCAucm93Lmd1dHRlci1zbWFsbCA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIC5yb3cuZ3V0dGVyLW1lZGl1bSA+IC5jb2x1bW4sIC5yb3cuZ3V0dGVyLW1lZGl1bSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH1cblxuLmNvbHVtbiwgLmNvbHVtbnMge1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbHVtbiwgLmNvbHVtbnMge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuY29sdW1uLCAuY29sdW1ucywgLmNvbHVtbjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLCAuY29sdW1uczpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuY29sdW1uOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksIC5jb2x1bW5zOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAuY29sdW1uLmVuZDpsYXN0LWNoaWxkOmxhc3QtY2hpbGQsIC5lbmQuY29sdW1uczpsYXN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5jb2x1bW4ucm93LnJvdywgLnJvdy5yb3cuY29sdW1ucyB7XG4gIGZsb2F0OiBub25lOyB9XG5cbi5yb3cgLmNvbHVtbi5yb3cucm93LCAucm93IC5yb3cucm93LmNvbHVtbnMge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLnNtYWxsLTEge1xuICB3aWR0aDogOC4zMzMzMyU7IH1cblxuLnNtYWxsLXB1c2gtMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogOC4zMzMzMyU7IH1cblxuLnNtYWxsLXB1bGwtMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTguMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwJTsgfVxuXG4uc21hbGwtMiB7XG4gIHdpZHRoOiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLXB1c2gtMiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC1wdWxsLTIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC0xNi42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG5cbi5zbWFsbC0zIHtcbiAgd2lkdGg6IDI1JTsgfVxuXG4uc21hbGwtcHVzaC0zIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAyNSU7IH1cblxuLnNtYWxsLXB1bGwtMyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTI1JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC00IHtcbiAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtcHVzaC00IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLXB1bGwtNCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTMzLjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMjUlOyB9XG5cbi5zbWFsbC01IHtcbiAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuXG4uc21hbGwtcHVzaC01IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA0MS42NjY2NyU7IH1cblxuLnNtYWxsLXB1bGwtNSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTQxLjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC02IHtcbiAgd2lkdGg6IDUwJTsgfVxuXG4uc21hbGwtcHVzaC02IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA1MCU7IH1cblxuLnNtYWxsLXB1bGwtNiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTUwJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG5cbi5zbWFsbC03IHtcbiAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuXG4uc21hbGwtcHVzaC03IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA1OC4zMzMzMyU7IH1cblxuLnNtYWxsLXB1bGwtNyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTU4LjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi5zbWFsbC04IHtcbiAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuXG4uc21hbGwtcHVzaC04IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA2Ni42NjY2NyU7IH1cblxuLnNtYWxsLXB1bGwtOCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTY2LjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTcge1xuICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG5cbi5zbWFsbC05IHtcbiAgd2lkdGg6IDc1JTsgfVxuXG4uc21hbGwtcHVzaC05IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA3NSU7IH1cblxuLnNtYWxsLXB1bGwtOSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTc1JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG5cbi5zbWFsbC0xMCB7XG4gIHdpZHRoOiA4My4zMzMzMyU7IH1cblxuLnNtYWxsLXB1c2gtMTAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4uc21hbGwtcHVsbC0xMCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTgzLjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogNzUlOyB9XG5cbi5zbWFsbC0xMSB7XG4gIHdpZHRoOiA5MS42NjY2NyU7IH1cblxuLnNtYWxsLXB1c2gtMTEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4uc21hbGwtcHVsbC0xMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTkxLjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4uc21hbGwtMTIge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4uc21hbGwtdXAtMSA+IC5jb2x1bW4sIC5zbWFsbC11cC0xID4gLmNvbHVtbnMge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnNtYWxsLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbisxKSwgLnNtYWxsLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTEgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC0xID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTIgPiAuY29sdW1uLCAuc21hbGwtdXAtMiA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiA1MCU7IH1cbiAgLnNtYWxsLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgybisxKSwgLnNtYWxsLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTIgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC0yID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTMgPiAuY29sdW1uLCAuc21hbGwtdXAtMyA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnNtYWxsLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgzbisxKSwgLnNtYWxsLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgzbisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTMgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC0zID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTQgPiAuY29sdW1uLCAuc21hbGwtdXAtNCA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAyNSU7IH1cbiAgLnNtYWxsLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg0bisxKSwgLnNtYWxsLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSg0bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTQgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC00ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTUgPiAuY29sdW1uLCAuc21hbGwtdXAtNSA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAyMCU7IH1cbiAgLnNtYWxsLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg1bisxKSwgLnNtYWxsLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSg1bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTUgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC01ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTYgPiAuY29sdW1uLCAuc21hbGwtdXAtNiA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnNtYWxsLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg2bisxKSwgLnNtYWxsLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSg2bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTYgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC02ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTcgPiAuY29sdW1uLCAuc21hbGwtdXAtNyA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLnNtYWxsLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg3bisxKSwgLnNtYWxsLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSg3bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTcgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC03ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTggPiAuY29sdW1uLCAuc21hbGwtdXAtOCA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMi41JTsgfVxuICAuc21hbGwtdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDhuKzEpLCAuc21hbGwtdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDhuKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtOCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTggPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtY29sbGFwc2UgPiAuY29sdW1uLCAuc21hbGwtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG4uc21hbGwtY29sbGFwc2UgLnJvdyB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmV4cGFuZGVkLnJvdyAuc21hbGwtY29sbGFwc2Uucm93IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uc21hbGwtdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC5zbWFsbC11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuXG4uc21hbGwtY2VudGVyZWQge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gIC5zbWFsbC1jZW50ZXJlZCwgLnNtYWxsLWNlbnRlcmVkOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiBub25lO1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi5zbWFsbC11bmNlbnRlcmVkLFxuLnNtYWxsLXB1c2gtMCxcbi5zbWFsbC1wdWxsLTAge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5zbWFsbC11bmNlbnRlcmVkLCAuc21hbGwtdW5jZW50ZXJlZDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICAuc21hbGwtcHVzaC0wLFxuICAuc21hbGwtcHVzaC0wOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksXG4gIC5zbWFsbC1wdWxsLTAsXG4gIC5zbWFsbC1wdWxsLTA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVuY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSxcbiAgLnNtYWxsLXB1c2gtMDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICAuc21hbGwtcHVsbC0wOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLXB1c2gtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVsbC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdXNoLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdWxsLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1wdXNoLTMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAyNSU7IH1cbiAgLm1lZGl1bS1wdWxsLTMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMjUlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVzaC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVsbC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLXB1c2gtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLXB1bGwtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC00MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1wdXNoLTYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1MCU7IH1cbiAgLm1lZGl1bS1wdWxsLTYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNTAlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVzaC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVsbC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLXB1c2gtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLXB1bGwtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC02Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1wdXNoLTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA3NSU7IH1cbiAgLm1lZGl1bS1wdWxsLTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNzUlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLXB1c2gtMTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdWxsLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdXNoLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVsbC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC05MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS11cC0xID4gLmNvbHVtbiwgLm1lZGl1bS11cC0xID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLm1lZGl1bS11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4rMSksIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC0xID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTEgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogNTAlOyB9XG4gICAgLm1lZGl1bS11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMm4rMSksIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC0yID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTIgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLm1lZGl1bS11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoM24rMSksIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDNuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC0zID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTMgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMjUlOyB9XG4gICAgLm1lZGl1bS11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNG4rMSksIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDRuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC00ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTQgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMjAlOyB9XG4gICAgLm1lZGl1bS11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNW4rMSksIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDVuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC01ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTUgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLm1lZGl1bS11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNm4rMSksIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDZuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC02ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTYgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gICAgLm1lZGl1bS11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoN24rMSksIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDduKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC03ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTcgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTIuNSU7IH1cbiAgICAubWVkaXVtLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg4bisxKSwgLm1lZGl1bS11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoOG4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTggPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS1jb2xsYXBzZSA+IC5jb2x1bW4sIC5tZWRpdW0tY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLm1lZGl1bS1jb2xsYXBzZSAucm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLmV4cGFuZGVkLnJvdyAubWVkaXVtLWNvbGxhcHNlLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5tZWRpdW0tdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC5tZWRpdW0tdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH1cbiAgLm1lZGl1bS1jZW50ZXJlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gICAgLm1lZGl1bS1jZW50ZXJlZCwgLm1lZGl1bS1jZW50ZXJlZDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLm1lZGl1bS11bmNlbnRlcmVkLFxuICAubWVkaXVtLXB1c2gtMCxcbiAgLm1lZGl1bS1wdWxsLTAge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLm1lZGl1bS11bmNlbnRlcmVkLCAubWVkaXVtLXVuY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSxcbiAgICAubWVkaXVtLXB1c2gtMCxcbiAgICAubWVkaXVtLXB1c2gtMDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICAgIC5tZWRpdW0tcHVsbC0wLFxuICAgIC5tZWRpdW0tcHVsbC0wOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdW5jZW50ZXJlZDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICAgIC5tZWRpdW0tcHVzaC0wOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksXG4gICAgLm1lZGl1bS1wdWxsLTA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1wdXNoLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtcHVsbC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTguMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1wdXNoLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLXB1bGwtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0xNi42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLXB1c2gtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDI1JTsgfVxuICAubGFyZ2UtcHVsbC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTI1JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1c2gtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtcHVsbC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTMzLjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLXB1c2gtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtcHVsbC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTQxLjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLXB1c2gtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDUwJTsgfVxuICAubGFyZ2UtcHVsbC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTUwJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1c2gtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtcHVsbC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTU4LjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLXB1c2gtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtcHVsbC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTY2LjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLXB1c2gtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDc1JTsgfVxuICAubGFyZ2UtcHVsbC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTc1JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1wdXNoLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1wdWxsLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTgzLjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1wdXNoLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1wdWxsLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTkxLjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtdXAtMSA+IC5jb2x1bW4sIC5sYXJnZS11cC0xID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmxhcmdlLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4rMSksIC5sYXJnZS11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtMSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTEgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC0yID4gLmNvbHVtbiwgLmxhcmdlLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAgIC5sYXJnZS11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDJuKzEpLCAubGFyZ2UtdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTIgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC0yID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtdXAtMyA+IC5jb2x1bW4sIC5sYXJnZS11cC0zID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAubGFyZ2UtdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgzbisxKSwgLmxhcmdlLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgzbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC0zID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtMyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTQgPiAuY29sdW1uLCAubGFyZ2UtdXAtNCA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMjUlOyB9XG4gICAgLmxhcmdlLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNG4rMSksIC5sYXJnZS11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNG4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtNCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTQgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC01ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAgIC5sYXJnZS11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDVuKzEpLCAubGFyZ2UtdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDVuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTUgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC01ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtdXAtNiA+IC5jb2x1bW4sIC5sYXJnZS11cC02ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAubGFyZ2UtdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg2bisxKSwgLmxhcmdlLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSg2bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC02ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtNiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTcgPiAuY29sdW1uLCAubGFyZ2UtdXAtNyA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gICAgLmxhcmdlLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoN24rMSksIC5sYXJnZS11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoN24rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtNyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTcgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC04ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTggPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEyLjUlOyB9XG4gICAgLmxhcmdlLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTggPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoOG4rMSksIC5sYXJnZS11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoOG4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtOCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTggPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW4sIC5sYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAubGFyZ2UtY29sbGFwc2UgLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5leHBhbmRlZC5yb3cgLmxhcmdlLWNvbGxhcHNlLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5sYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbiwgLmxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9XG4gIC5sYXJnZS1jZW50ZXJlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gICAgLmxhcmdlLWNlbnRlcmVkLCAubGFyZ2UtY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5sYXJnZS11bmNlbnRlcmVkLFxuICAubGFyZ2UtcHVzaC0wLFxuICAubGFyZ2UtcHVsbC0wIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5sYXJnZS11bmNlbnRlcmVkLCAubGFyZ2UtdW5jZW50ZXJlZDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICAgIC5sYXJnZS1wdXNoLTAsXG4gICAgLmxhcmdlLXB1c2gtMDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICAgIC5sYXJnZS1wdWxsLTAsXG4gICAgLmxhcmdlLXB1bGwtMDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdW5jZW50ZXJlZDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICAgIC5sYXJnZS1wdXNoLTA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSxcbiAgICAubGFyZ2UtcHVsbC0wOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cblxuLmNvbHVtbi1ibG9jayB7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgLmNvbHVtbi1ibG9jayA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbHVtbi1ibG9jayB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAgICAgLmNvbHVtbi1ibG9jayA+IDpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbi5yb3cge1xuICBtYXgtd2lkdGg6IDYzLjc1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG4gIC5yb3cgLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucm93IC5yb3cge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnJvdyAucm93IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gICAgLnJvdyAucm93LmNvbGxhcHNlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5yb3cuZXhwYW5kZWQge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICAgIC5yb3cuZXhwYW5kZWQgLnJvdyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAucm93Om5vdCguZXhwYW5kZWQpIC5yb3cge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICAucm93LmNvbGxhcHNlID4gLmNvbHVtbiwgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAucm93LmlzLWNvbGxhcHNlLWNoaWxkLFxuICAucm93LmNvbGxhcHNlID4gLmNvbHVtbiA+IC5yb3csXG4gIC5yb3cuY29sbGFwc2UgPiAuY29sdW1ucyA+IC5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uY29sdW1uLCAuY29sdW1ucyB7XG4gIGZsZXg6IDEgMSAwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBtaW4td2lkdGg6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY29sdW1uLCAuY29sdW1ucyB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG5cbi5jb2x1bW4ucm93LnJvdywgLnJvdy5yb3cuY29sdW1ucyB7XG4gIGZsb2F0OiBub25lO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4ucm93IC5jb2x1bW4ucm93LnJvdywgLnJvdyAucm93LnJvdy5jb2x1bW5zIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi5zbWFsbC0xIHtcbiAgZmxleDogMCAwIDguMzMzMzMlO1xuICBtYXgtd2lkdGg6IDguMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwJTsgfVxuXG4uc21hbGwtMiB7XG4gIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuXG4uc21hbGwtMyB7XG4gIGZsZXg6IDAgMCAyNSU7XG4gIG1heC13aWR0aDogMjUlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLTQge1xuICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMjUlOyB9XG5cbi5zbWFsbC01IHtcbiAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgbWF4LXdpZHRoOiA0MS42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtNiB7XG4gIGZsZXg6IDAgMCA1MCU7XG4gIG1heC13aWR0aDogNTAlOyB9XG5cbi5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cblxuLnNtYWxsLTcge1xuICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICBtYXgtd2lkdGg6IDU4LjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi5zbWFsbC04IHtcbiAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuXG4uc21hbGwtOSB7XG4gIGZsZXg6IDAgMCA3NSU7XG4gIG1heC13aWR0aDogNzUlOyB9XG5cbi5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cblxuLnNtYWxsLTEwIHtcbiAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgbWF4LXdpZHRoOiA4My4zMzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuXG4uc21hbGwtMTEge1xuICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4uc21hbGwtMTIge1xuICBmbGV4OiAwIDAgMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG5cbi5zbWFsbC11cC0xIHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC0xID4gLmNvbHVtbiwgLnNtYWxsLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5zbWFsbC11cC0yIHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC0yID4gLmNvbHVtbiwgLnNtYWxsLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuXG4uc21hbGwtdXAtMyB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21hbGwtdXAtMyA+IC5jb2x1bW4sIC5zbWFsbC11cC0zID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLXVwLTQge1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnNtYWxsLXVwLTQgPiAuY29sdW1uLCAuc21hbGwtdXAtNCA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlOyB9XG5cbi5zbWFsbC11cC01IHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC01ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDIwJTtcbiAgICBtYXgtd2lkdGg6IDIwJTsgfVxuXG4uc21hbGwtdXAtNiB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21hbGwtdXAtNiA+IC5jb2x1bW4sIC5zbWFsbC11cC02ID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLXVwLTcge1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnNtYWxsLXVwLTcgPiAuY29sdW1uLCAuc21hbGwtdXAtNyA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMTQuMjg1NzElO1xuICAgIG1heC13aWR0aDogMTQuMjg1NzElOyB9XG5cbi5zbWFsbC11cC04IHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC04ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTggPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDEyLjUlO1xuICAgIG1heC13aWR0aDogMTIuNSU7IH1cblxuLnNtYWxsLWNvbGxhcHNlID4gLmNvbHVtbiwgLnNtYWxsLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLnNtYWxsLXVuY29sbGFwc2UgPiAuY29sdW1uLCAuc21hbGwtdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS0xIHtcbiAgICBmbGV4OiAwIDAgOC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLm1lZGl1bS0yIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLTMge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLTQge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAubWVkaXVtLTUge1xuICAgIGZsZXg6IDAgMCA0MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLTYge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLTcge1xuICAgIGZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAubWVkaXVtLTgge1xuICAgIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLTkge1xuICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLTEwIHtcbiAgICBmbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLm1lZGl1bS0xMSB7XG4gICAgZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLTEyIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS11cC0xIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubWVkaXVtLXVwLTEgPiAuY29sdW1uLCAubWVkaXVtLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLXVwLTIge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLXVwLTMge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLXVwLTQge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLXVwLTUge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAyMCU7XG4gICAgICBtYXgtd2lkdGg6IDIwJTsgfVxuICAubWVkaXVtLXVwLTYge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLXVwLTcge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxNC4yODU3MSU7XG4gICAgICBtYXgtd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAubWVkaXVtLXVwLTgge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxMi41JTtcbiAgICAgIG1heC13aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1leHBhbmQge1xuICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG4ucm93Lm1lZGl1bS11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy5tZWRpdW0tdW5zdGFjayA+IC5jb2x1bW5zIHtcbiAgZmxleDogMCAwIDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucm93Lm1lZGl1bS11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy5tZWRpdW0tdW5zdGFjayA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLWNvbGxhcHNlID4gLmNvbHVtbiwgLm1lZGl1bS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAubWVkaXVtLXVuY29sbGFwc2UgPiAuY29sdW1uLCAubWVkaXVtLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLTEge1xuICAgIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5sYXJnZS0yIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS0zIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtNCB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmxhcmdlLTUge1xuICAgIGZsZXg6IDAgMCA0MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS02IHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtNyB7XG4gICAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmxhcmdlLTgge1xuICAgIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS05IHtcbiAgICBmbGV4OiAwIDAgNzUlO1xuICAgIG1heC13aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtMTAge1xuICAgIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5sYXJnZS0xMSB7XG4gICAgZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS0xMiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLXVwLTEge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC0xID4gLmNvbHVtbiwgLmxhcmdlLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAubGFyZ2UtdXAtMiB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmxhcmdlLXVwLTIgPiAuY29sdW1uLCAubGFyZ2UtdXAtMiA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtdXAtMyB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmxhcmdlLXVwLTMgPiAuY29sdW1uLCAubGFyZ2UtdXAtMyA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtdXAtNCB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmxhcmdlLXVwLTQgPiAuY29sdW1uLCAubGFyZ2UtdXAtNCA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtdXAtNSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmxhcmdlLXVwLTUgPiAuY29sdW1uLCAubGFyZ2UtdXAtNSA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAyMCU7XG4gICAgICBtYXgtd2lkdGg6IDIwJTsgfVxuICAubGFyZ2UtdXAtNiB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmxhcmdlLXVwLTYgPiAuY29sdW1uLCAubGFyZ2UtdXAtNiA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtdXAtNyB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmxhcmdlLXVwLTcgPiAuY29sdW1uLCAubGFyZ2UtdXAtNyA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxNC4yODU3MSU7XG4gICAgICBtYXgtd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAubGFyZ2UtdXAtOCB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmxhcmdlLXVwLTggPiAuY29sdW1uLCAubGFyZ2UtdXAtOCA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxMi41JTtcbiAgICAgIG1heC13aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLWV4cGFuZCB7XG4gICAgZmxleDogMSAxIDBweDsgfSB9XG5cbi5yb3cubGFyZ2UtdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cubGFyZ2UtdW5zdGFjayA+IC5jb2x1bW5zIHtcbiAgZmxleDogMCAwIDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1uLCAucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbiwgLmxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC5sYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbiwgLmxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cblxuLnNocmluayB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLmNvbHVtbi1ibG9jayB7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgLmNvbHVtbi1ibG9jayA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbHVtbi1ibG9jayB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAgICAgLmNvbHVtbi1ibG9jayA+IDpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbi5zdGlja3ktY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5zdGlja3kge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cblxuLnN0aWNreS5pcy1zdHVjayB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogNTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnN0aWNreS5pcy1zdHVjay5pcy1hdC10b3Age1xuICAgIHRvcDogMDsgfVxuICAuc3RpY2t5LmlzLXN0dWNrLmlzLWF0LWJvdHRvbSB7XG4gICAgYm90dG9tOiAwOyB9XG5cbi5zdGlja3kuaXMtYW5jaG9yZWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiBhdXRvOyB9XG4gIC5zdGlja3kuaXMtYW5jaG9yZWQuaXMtYXQtYm90dG9tIHtcbiAgICBib3R0b206IDA7IH1cblxuLmFsaWduLWxlZnQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLXJpZ2h0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmFsaWduLWp1c3RpZnkge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cblxuLmFsaWduLXNwYWNlZCB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbi5hbGlnbi1sZWZ0LnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLXJpZ2h0LnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1jZW50ZXIudmVydGljYWwubWVudSA+IGxpID4gYSB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5hbGlnbi10b3Age1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuXG4uYWxpZ24tc2VsZi10b3Age1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1ib3R0b20ge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cblxuLmFsaWduLXNlbGYtYm90dG9tIHtcbiAgYWxpZ24tc2VsZjogZmxleC1lbmQ7IH1cblxuLmFsaWduLW1pZGRsZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLmFsaWduLXNlbGYtbWlkZGxlIHtcbiAgYWxpZ24tc2VsZjogY2VudGVyOyB9XG5cbi5hbGlnbi1zdHJldGNoIHtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cblxuLmFsaWduLXNlbGYtc3RyZXRjaCB7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7IH1cblxuLmFsaWduLWNlbnRlci1taWRkbGUge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24tY29udGVudDogY2VudGVyOyB9XG5cbi5zbWFsbC1vcmRlci0xIHtcbiAgb3JkZXI6IDE7IH1cblxuLnNtYWxsLW9yZGVyLTIge1xuICBvcmRlcjogMjsgfVxuXG4uc21hbGwtb3JkZXItMyB7XG4gIG9yZGVyOiAzOyB9XG5cbi5zbWFsbC1vcmRlci00IHtcbiAgb3JkZXI6IDQ7IH1cblxuLnNtYWxsLW9yZGVyLTUge1xuICBvcmRlcjogNTsgfVxuXG4uc21hbGwtb3JkZXItNiB7XG4gIG9yZGVyOiA2OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLm1lZGl1bS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAubWVkaXVtLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5tZWRpdW0tb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLm1lZGl1bS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAubWVkaXVtLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5sYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAubGFyZ2Utb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLmxhcmdlLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC5sYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAubGFyZ2Utb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG4uZmxleC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi5mbGV4LWNoaWxkLWF1dG8ge1xuICBmbGV4OiAxIDEgYXV0bzsgfVxuXG4uZmxleC1jaGlsZC1ncm93IHtcbiAgZmxleDogMSAwIGF1dG87IH1cblxuLmZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgZmxleDogMCAxIGF1dG87IH1cblxuLmZsZXgtZGlyLXJvdyB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cblxuLmZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG5cbi5mbGV4LWRpci1jb2x1bW4ge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi5mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87IH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC5tZWRpdW0tZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5tZWRpdW0tZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1mbGV4LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC5sYXJnZS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLmxhcmdlLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgLmxhcmdlLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAubGFyZ2UtZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbi8qXG4gIE15IGN1c3RvbSBzdHlsZXM6XG4gIEFkZCB5b3VyIHNjc3MgZmlsZXMgYmVsb3cgdG8gc3RydWN0dXJlIHlvdXIgcHJvamVjdCBzdHlsZXNcbiovXG4uc2NyZWVuLXJlYWRlci10ZXh0IHtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHdpZHRoOiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLnNjcmVlbi1yZWFkZXItdGV4dDpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm94LXNoYWRvdzogMCAwIDJweCAycHggcmdiYSgwLCAwLCAwLCAwLjYpO1xuICBjbGlwOiBhdXRvICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMjE3NTliO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBsZWZ0OiA1cHg7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDE1cHggMjNweCAxNHB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRvcDogNXB4O1xuICB3aWR0aDogYXV0bztcbiAgei1pbmRleDogMTAwMDAwOyB9XG5cbi53aGl0ZS1iZyB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnUFQgU2Fucyc7XG4gIHNyYzogbG9jYWwoXCJQVCBTYW5zXCIpLCBsb2NhbChcIlBUU2Fucy1SZWd1bGFyXCIpLCB1cmwoXCIuLi9mb250cy9oaW50ZWQtUFRTYW5zLVJlZ3VsYXIud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL2hpbnRlZC1QVFNhbnMtUmVndWxhci53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdQVCBTYW5zJztcbiAgc3JjOiBsb2NhbChcIlBUIFNhbnMgQm9sZFwiKSwgbG9jYWwoXCJQVFNhbnMtQm9sZFwiKSwgdXJsKFwiLi4vZm9udHMvaGludGVkLVBUU2Fucy1Cb2xkLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9oaW50ZWQtUFRTYW5zLUJvbGQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0FidWdldCc7XG4gIHNyYzogbG9jYWwoXCJBYnVnZXRcIiksIHVybChcIi4uL2ZvbnRzL2hpbnRlZC1BYnVnZXQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL2hpbnRlZC1BYnVnZXQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnQW1hcmFudGgnO1xuICBzcmM6IGxvY2FsKFwiQW1hcmFudGhcIiksIHVybChcIi4uL2ZvbnRzL2hpbnRlZC1BbWFyYW50aC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvaGludGVkLUFtYXJhbnRoLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbmgxLCBoMiwgaDMsIGg0LCBoNSB7XG4gIGZvbnQtdmFyaWFudC1saWdhdHVyZXM6IG5vbmU7IH1cblxucCwgYSwgc3BhbiB7XG4gIGZvbnQtZmFtaWx5OiBcIlBUIFNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC12YXJpYW50LWxpZ2F0dXJlczogbm9uZTsgfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4uZmFkZUluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjsgfVxuXG4ud3AtY2FwdGlvbiA+IGZpZ2NhcHRpb24ge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBjb2xvcjogIzk5OTtcbiAgcGFkZGluZzogMC4yNXJlbSAwOyB9XG5cbnAud3AtY2FwdGlvbi10ZXh0IHtcbiAgZm9udC1zaXplOiA5MCU7XG4gIGNvbG9yOiAjNjY2O1xuICBwYWRkaW5nOiAwLjYyNXJlbSAwOyB9XG5cbi5hbGlnbmxlZnQge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgbWFyZ2luOiAwOyB9XG5cbi5hbGlnbnJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIG1hcmdpbjogMDsgfVxuXG4uYWxpZ25jZW50ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG4uZ2FsbGVyeSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdhbGxlcnkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtMSA+IC5nYWxsZXJ5LWl0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTEgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTEgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtMiA+IC5nYWxsZXJ5LWl0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTIgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTIgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy0zID4gLmdhbGxlcnktaXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtMyA+IC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtMyA+IC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTQgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjI1cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy00ID4gLmdhbGxlcnktaXRlbSB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy00ID4gLmdhbGxlcnktaXRlbSB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtNSA+IC5nYWxsZXJ5LWl0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTUgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTUgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgIHdpZHRoOiBjYWxjKDIwJSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy02ID4gLmdhbGxlcnktaXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtNiA+IC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtNiA+IC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTcgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjI1cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy03ID4gLmdhbGxlcnktaXRlbSB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy03ID4gLmdhbGxlcnktaXRlbSB7XG4gICAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtOCA+IC5nYWxsZXJ5LWl0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTggPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTggPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTkgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjI1cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy05ID4gLmdhbGxlcnktaXRlbSB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy05ID4gLmdhbGxlcnktaXRlbSB7XG4gICAgICB3aWR0aDogY2FsYygxMS4xMTExMSUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuZ2FsbGVyeSAuZ2FsbGVyeS1pY29uID4gYSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIGJvcmRlcjogc29saWQgNHB4ICNmZWZlZmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgxMCwgMTAsIDEwLCAwLjIpO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7IH1cbiAgICAuZ2FsbGVyeSAuZ2FsbGVyeS1pY29uID4gYTpob3ZlciwgLmdhbGxlcnkgLmdhbGxlcnktaWNvbiA+IGE6Zm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDZweCAxcHggcmdiYSgyMywgMTIxLCAxODYsIDAuNSk7IH1cbiAgICAuZ2FsbGVyeSAuZ2FsbGVyeS1pY29uID4gYSBpbWFnZSB7XG4gICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gIC5nYWxsZXJ5IC5nYWxsZXJ5LWljb24gPiBpbWcge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBib3JkZXI6IHNvbGlkIDRweCAjZmVmZWZlO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoMTAsIDEwLCAxMCwgMC4yKTtcbiAgICBsaW5lLWhlaWdodDogMDsgfVxuXG4uaGVhZGVyIHtcbiAgbWF4LXdpZHRoOiAxMDB2dzsgfVxuICAuaGVhZGVyIG5hdiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmb250LWZhbWlseTogXCJQVCBTYW5zXCIsIHNhbnMtc2VyaWY7XG4gICAgbWF4LWhlaWdodDogNTZweDsgfVxuICAgIC5oZWFkZXIgbmF2IC5jb250YWN0IHtcbiAgICAgIG1hcmdpbjogMCBhdXRvIDAgMDtcbiAgICAgIG1pbi13aWR0aDogMTM1cHg7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgYmFja2dyb3VuZDogIzAwMDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmhlYWRlciBuYXYgLmNvbnRhY3Qge1xuICAgICAgICAgIG1pbi13aWR0aDogMTQzcHg7IH0gfVxuICAgICAgLmhlYWRlciBuYXYgLmNvbnRhY3QgYSB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAyMnB4IDAgMTdweDsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIC5oZWFkZXIgbmF2IC5jb250YWN0IGEge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4wNjI1cmVtOyB9IH1cbiAgICAuaGVhZGVyIG5hdiAuc3ViLW5hdiB7XG4gICAgICBtYXJnaW46IDAgMCAwIGF1dG87XG4gICAgICBtaW4td2lkdGg6IDgwcHg7XG4gICAgICBtYXgtaGVpZ2h0OiA1NnB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuaGVhZGVyIG5hdiAuc3ViLW5hdiB7XG4gICAgICAgICAgbWluLXdpZHRoOiAxNTBweDsgfSB9XG4gICAgICAuaGVhZGVyIG5hdiAuc3ViLW5hdiAuc3BsaXR0ZXIge1xuICAgICAgICBoZWlnaHQ6IDI3cHg7XG4gICAgICAgIHdpZHRoOiAycHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICMwMDAwMDA7XG4gICAgICAgIG1hcmdpbjogMTBweCAxMHB4IDAgMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICAuaGVhZGVyIG5hdiAuc3ViLW5hdiBhIHtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAtN3B4OyB9XG4gICAgICAuaGVhZGVyIG5hdiAuc3ViLW5hdiBidXR0b24jc2VhcmNoIHtcbiAgICAgICAgd2lkdGg6IDIycHg7XG4gICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlMEElM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB4bWxuczp4bGluaz0naHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluaycgd2lkdGg9JzUwLjI5MycgaGVpZ2h0PSc1MS4wMzMnIHZpZXdCb3g9JzAgMCA1MC4yOTMgNTEuMDMzJyUzRSUzQ2RlZnMlM0UlM0NjbGlwUGF0aCBpZD0nY2xpcC1wYXRoJyUzRSUzQ3BhdGggaWQ9J1BhdGhfMycgZGF0YS1uYW1lPSdQYXRoIDMnIGQ9J00wLDM2LjM1MUg1MC4yOTNWLTE0LjY4MkgwWicgdHJhbnNmb3JtPSd0cmFuc2xhdGUoMCAxNC42ODIpJyBmaWxsPSdub25lJy8lM0UlM0MvY2xpcFBhdGglM0UlM0MvZGVmcyUzRSUzQ2cgaWQ9J0dyb3VwXzQnIGRhdGEtbmFtZT0nR3JvdXAgNCcgdHJhbnNmb3JtPSd0cmFuc2xhdGUoMCAxNC42ODIpJyUzRSUzQ2cgaWQ9J0dyb3VwXzMnIGRhdGEtbmFtZT0nR3JvdXAgMycgdHJhbnNmb3JtPSd0cmFuc2xhdGUoMCAtMTQuNjgyKScgY2xpcC1wYXRoPSd1cmwoJTIzY2xpcC1wYXRoKSclM0UlM0NnIGlkPSdHcm91cF8xJyBkYXRhLW5hbWU9J0dyb3VwIDEnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDEuMzkxIDEuMzg4KSclM0UlM0NwYXRoIGlkPSdQYXRoXzEnIGRhdGEtbmFtZT0nUGF0aCAxJyBkPSdNMTQuODU1LDMwLjE4MUEyMS4wMjIsMjEuMDIyLDAsMCwwLDM1LjcxMSw5LDIxLjAyMiwyMS4wMjIsMCwwLDAsMTQuODU1LTEyLjE5LDIxLjAyMiwyMS4wMjIsMCwwLDAtNiw5LDIxLjAyMiwyMS4wMjIsMCwwLDAsMTQuODU1LDMwLjE4MVonIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDYgMTIuMTkpJyBmaWxsPSdub25lJyBzdHJva2U9JyUyMzJiMmUzNCcgc3Ryb2tlLXdpZHRoPSczJy8lM0UlM0MvZyUzRSUzQ2cgaWQ9J0dyb3VwXzInIGRhdGEtbmFtZT0nR3JvdXAgMicgdHJhbnNmb3JtPSd0cmFuc2xhdGUoMzYuOTM1IDM3LjQ1NyknJTNFJTNDcGF0aCBpZD0nUGF0aF8yJyBkYXRhLW5hbWU9J1BhdGggMicgZD0nTTAsMCwxMS45NDMsMTIuMTgzJyBmaWxsPSdub25lJyBzdHJva2U9JyUyMzJiMmUzNCcgc3Ryb2tlLXdpZHRoPSczJy8lM0UlM0MvZyUzRSUzQy9nJTNFJTNDL2clM0UlM0Mvc3ZnJTNFJTBBXCIpO1xuICAgICAgICBtYXJnaW46IDAgMTBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IC0xNXB4OyB9XG4gICAgICAgIC5oZWFkZXIgbmF2IC5zdWItbmF2IGJ1dHRvbiNzZWFyY2g6Zm9jdXMge1xuICAgICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCAjMzBiMGVjOyB9XG4gICAgICAuaGVhZGVyIG5hdiAuc3ViLW5hdiBidXR0b24jZGVza3RvcC1zdWJuYXYge1xuICAgICAgICB3aWR0aDogMjFweDtcbiAgICAgICAgaGVpZ2h0OiAyMXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUwQSUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJyB3aWR0aD0nNDIuNDU3JyBoZWlnaHQ9JzMzLjM5OScgdmlld0JveD0nMCAwIDQyLjQ1NyAzMy4zOTknJTNFJTNDZGVmcyUzRSUzQ2NsaXBQYXRoIGlkPSdjbGlwLXBhdGgnJTNFJTNDcGF0aCBpZD0nUGF0aF83JyBkYXRhLW5hbWU9J1BhdGggNycgZD0nTTAsMjEuNkg0Mi40NTdWLTExLjhIMFonIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDAgMTEuOCknIGZpbGw9J25vbmUnLyUzRSUzQy9jbGlwUGF0aCUzRSUzQy9kZWZzJTNFJTNDZyBpZD0nR3JvdXBfOScgZGF0YS1uYW1lPSdHcm91cCA5JyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgwIDExLjgpJyUzRSUzQ2cgaWQ9J0dyb3VwXzgnIGRhdGEtbmFtZT0nR3JvdXAgOCcgdHJhbnNmb3JtPSd0cmFuc2xhdGUoMCAtMTEuOCknIGNsaXAtcGF0aD0ndXJsKCUyM2NsaXAtcGF0aCknJTNFJTNDZyBpZD0nR3JvdXBfNScgZGF0YS1uYW1lPSdHcm91cCA1JyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgwIDEuMTMxKSclM0UlM0NwYXRoIGlkPSdQYXRoXzQnIGRhdGEtbmFtZT0nUGF0aCA0JyBkPSdNMCwwSDQyLjQ1NycgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjMyYjJlMzQnIHN0cm9rZS13aWR0aD0nMycvJTNFJTNDL2clM0UlM0NnIGlkPSdHcm91cF82JyBkYXRhLW5hbWU9J0dyb3VwIDYnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDAgMTYuNjk4KSclM0UlM0NwYXRoIGlkPSdQYXRoXzUnIGRhdGEtbmFtZT0nUGF0aCA1JyBkPSdNMCwwSDQyLjQ1NycgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjMyYjJlMzQnIHN0cm9rZS13aWR0aD0nMycvJTNFJTNDL2clM0UlM0NnIGlkPSdHcm91cF83JyBkYXRhLW5hbWU9J0dyb3VwIDcnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDAgMzIuMjY2KSclM0UlM0NwYXRoIGlkPSdQYXRoXzYnIGRhdGEtbmFtZT0nUGF0aCA2JyBkPSdNMCwwSDQyLjQ1NycgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjMyYjJlMzQnIHN0cm9rZS13aWR0aD0nMycvJTNFJTNDL2clM0UlM0MvZyUzRSUzQy9nJTNFJTNDL3N2ZyUzRSUwQVwiKTtcbiAgICAgICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAtMTVweDsgfVxuICAgICAgICAuaGVhZGVyIG5hdiAuc3ViLW5hdiBidXR0b24jZGVza3RvcC1zdWJuYXY6Zm9jdXMge1xuICAgICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCAjMzBiMGVjOyB9XG4gICAgLmhlYWRlciBuYXYgLnNpdGUtbmF2IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC1oZWlnaHQ6IDU2cHg7IH1cbiAgICAgIC5oZWFkZXIgbmF2IC5zaXRlLW5hdl9fbG9nbyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgMTdweDsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIC5oZWFkZXIgbmF2IC5zaXRlLW5hdl9fbG9nbyB7XG4gICAgICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAgICAgLmhlYWRlciBuYXYgLnNpdGUtbmF2IHN2ZyB7XG4gICAgICAgIHdpZHRoOiAxMjZweDsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIC5oZWFkZXIgbmF2IC5zaXRlLW5hdiBzdmcge1xuICAgICAgICAgICAgd2lkdGg6IDE0OHB4OyB9IH1cbiAgICAgIC5oZWFkZXIgbmF2IC5zaXRlLW5hdiB1bCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgLmhlYWRlciBuYXYgLnNpdGUtbmF2IHVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuICAgICAgICAuaGVhZGVyIG5hdiAuc2l0ZS1uYXYgdWwgbGkge1xuICAgICAgICAgIG1hcmdpbjogMCA0MHB4OyB9XG4gICAgICAgICAgLmhlYWRlciBuYXYgLnNpdGUtbmF2IHVsIGxpIGEge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAgICAgICAgIC5oZWFkZXIgbmF2IC5zaXRlLW5hdiB1bCBsaSBhLmhvbGlkYXlzLmFjdGl2ZSB7XG4gICAgICAgICAgICAgIGNvbG9yOiAjMTQ4Mzk0OyB9XG4gICAgICAgICAgICAuaGVhZGVyIG5hdiAuc2l0ZS1uYXYgdWwgbGkgYS5ob2xpZGF5czpob3ZlciB7XG4gICAgICAgICAgICAgIGNvbG9yOiAjMTQ4Mzk0OyB9XG4gICAgICAgICAgICAuaGVhZGVyIG5hdiAuc2l0ZS1uYXYgdWwgbGkgYS5ob25leW1vb25zLmFjdGl2ZSB7XG4gICAgICAgICAgICAgIGNvbG9yOiAjYzM3YmFhOyB9XG4gICAgICAgICAgICAuaGVhZGVyIG5hdiAuc2l0ZS1uYXYgdWwgbGkgYS5ob25leW1vb25zOmhvdmVyIHtcbiAgICAgICAgICAgICAgY29sb3I6ICNjMzdiYWE7IH1cbiAgICAgICAgICAgIC5oZWFkZXIgbmF2IC5zaXRlLW5hdiB1bCBsaSBhLmNydWlzZXMuYWN0aXZlIHtcbiAgICAgICAgICAgICAgY29sb3I6ICM1MWE5ZDg7IH1cbiAgICAgICAgICAgIC5oZWFkZXIgbmF2IC5zaXRlLW5hdiB1bCBsaSBhLmNydWlzZXM6aG92ZXIge1xuICAgICAgICAgICAgICBjb2xvcjogIzUxYTlkODsgfVxuICAgICAgICAgICAgLmhlYWRlciBuYXYgLnNpdGUtbmF2IHVsIGxpIGEuY29ycG9yYXRlOmhvdmVyIHtcbiAgICAgICAgICAgICAgY29sb3I6ICMzYjNiM2I7IH1cblxuLnN0aWNreS5pcy1hbmNob3JlZCB7XG4gIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgLmhlYWRlciBuYXYge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLmhlYWRlciBuYXYgZGl2IHtcbiAgICAgIGZsZXgtZ3JvdzogMTsgfVxuICAgIC5oZWFkZXIgbmF2IC5jb250YWN0LCAuaGVhZGVyIG5hdiAuc2l0ZS1uYXYge1xuICAgICAgbWluLXdpZHRoOiAwOyB9XG4gICAgLmhlYWRlciBuYXYgLmNvbnRhY3Qge1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBwYWRkaW5nOiAwIDAuNWVtOyB9XG4gICAgLmhlYWRlciBuYXYgLnNpdGUtbmF2X19sb2dvIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuLmZ1bGwtd2lkdGgge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLmZ1bGwtaGVpZ2h0IHtcbiAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5mdWxsLWhlaWdodC0tbWludXMtNDUwIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDQ1MHB4KTsgfVxuXG4uYmFja2dyb3VuZC0tY2VudGVyLWZ1bGwtd2lkdGgge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7IH1cblxuLmRlZmF1bHQtd2lkdGgge1xuICBtYXgtd2lkdGg6IDExNzNweDsgfVxuXG4uYmFja2dyb3VuZF9fZ3JheSB7XG4gIGJhY2tncm91bmQ6ICNmMWYxZjI7IH1cbiAgLmJhY2tncm91bmRfX2dyYXkubWVkaXVtLXBhZGRpbmcge1xuICAgIHBhZGRpbmc6IDQwcHggMDsgfVxuICAuYmFja2dyb3VuZF9fZ3JheS5sYXJnZS1wYWRkaW5nIHtcbiAgICBwYWRkaW5nOiA4MHB4IDAgNTBweCAwOyB9XG5cbnAuc2VjdGlvbi10aXRsZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kOiAjYzM3YmFhO1xuICBmb250LXNpemU6IDIxcHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBwYWRkaW5nOiA3cHggMTZweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIHAuc2VjdGlvbi10aXRsZTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgd2lkdGg6IDMwdnc7XG4gICAgbGVmdDogLTMwdnc7XG4gICAgdG9wOiAwO1xuICAgIGJhY2tncm91bmQ6ICNjMzdiYWE7IH1cblxuLmZhY3QtZmlsZSwgLnBhZGRlZC1ncmF5LWJhY2tncm91bmQge1xuICBiYWNrZ3JvdW5kOiAjZjFmMWYyO1xuICBwYWRkaW5nOiAyMHB4IDAgNDBweDsgfVxuXG4ubWVkaXVtLXBhZGRlZC1ncmF5LWJhY2tncm91bmQge1xuICBiYWNrZ3JvdW5kOiAjZjFmMWYyO1xuICBwYWRkaW5nOiA0MHB4IDAgNDBweDsgfVxuXG4ucGFydG5lci1saXN0IHtcbiAgYmFja2dyb3VuZDogI2YxZjFmMjtcbiAgcGFkZGluZzogMjBweCAwOyB9XG5cbi5rZXktbm90ZXMge1xuICBiYWNrZ3JvdW5kOiAjZjFmMWYyO1xuICBwYWRkaW5nOiAyMHB4IDAgNDBweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5rZXktbm90ZXMgLmNvbHVtbjpudGgtb2YtdHlwZSgxbikgLmNhcmQsIC5rZXktbm90ZXMgLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIC5jYXJkIHtcbiAgICAgIG1hcmdpbjogMjBweCA1MHB4IDIwcHggMDsgfVxuICAgIC5rZXktbm90ZXMgLmNvbHVtbjpudGgtb2YtdHlwZSgybikgLmNhcmQsIC5rZXktbm90ZXMgLmNvbHVtbnM6bnRoLW9mLXR5cGUoMm4pIC5jYXJkIHtcbiAgICAgIG1hcmdpbjogMjBweCAwIDIwcHggNTBweDsgfSB9XG5cbi8qXG4gRHVlIHRvIG93bCBjYXJvdXNlbCBsb2FkaW5nIGFmdGVyIGFuIGltcG9ydGFudCB0YWcgaXMgcmVxdWlyZWQuXG4gVGhlIG9ubHkgb3RoZXIgd2F5IHRvIGRvIHRoaXMgd291bGQgYmUgaW5saW5lIHdoaWNoIGlzIG5vdCBwb3NzaWJsZVxuIGFzIHRoZSBqcyBsaWIgZHluYW1pY2FsbHkgY3JlYXRlcyB0aGlzLlxuICovXG4ub3dsLXRoZW1lIC5vd2wtZG90cyAub3dsLWRvdC5hY3RpdmUgc3BhbiB7XG4gIGJhY2tncm91bmQ6ICMxNDgzOTQgIWltcG9ydGFudDsgfVxuXG4ub3dsLXRoZW1lIC5vd2wtZG90cyAub3dsLWRvdDpob3ZlciBzcGFuIHtcbiAgYmFja2dyb3VuZDogIzE0ODM5NCAhaW1wb3J0YW50OyB9XG5cbi5vd2wtZG90cyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4uZm9vdGVyIHtcbiAgcGFkZGluZzogMjBweDtcbiAgYmFja2dyb3VuZDogI2YxZjFmMjsgfVxuICAuZm9vdGVyIC5yb3cge1xuICAgIG1heC13aWR0aDogMTE1MHB4OyB9XG4gIC5mb290ZXIgaDQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LWZhbWlseTogXCJQVCBTYW5zXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgY29sb3I6ICM1NjU1NTU7XG4gICAgbWFyZ2luLXRvcDogNDBweDsgfVxuICAgIC5mb290ZXIgaDQ6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAzNXB4O1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICB3aWR0aDogMjIzcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDAwOyB9XG4gIC5mb290ZXIgLm1lbnUgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAyN3B4IDAgMCAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuZm9vdGVyIC5tZW51IHVsIGxpIHtcbiAgICAgIG1hcmdpbjogNXB4IDA7IH1cbiAgICAgIC5mb290ZXIgLm1lbnUgdWwgbGkgYSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBjb2xvcjogIzU2NTU1NTsgfVxuICAuZm9vdGVyIC5zdWJzY3JpYmUge1xuICAgIG1hcmdpbjogMzBweCAwIDA7IH1cbiAgICAuZm9vdGVyIC5zdWJzY3JpYmUgYSB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgY29sb3I6ICM1NjU1NTU7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjNTY1NTU1O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgcGFkZGluZzogN3B4IDVweDtcbiAgICAgIHRyYW5zaXRpb246IDQwMG1zIGVhc2UgYmFja2dyb3VuZCwgNDAwbXMgZWFzZSBjb2xvcjsgfVxuICAgICAgLmZvb3RlciAuc3Vic2NyaWJlIGE6aG92ZXIsIC5mb290ZXIgLnN1YnNjcmliZSBhOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzU2NTU1NTtcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgLmZvb3RlciBzdmcubG9nbyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiA4cHggMCAxMHB4O1xuICAgIG1heC13aWR0aDogMjE4cHg7XG4gICAgb3BhY2l0eTogMC42O1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmZvb3RlciBzdmcubG9nbyB7XG4gICAgICAgIG1hcmdpbjogMTBweCAwIDEwcHg7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAuZm9vdGVyIC5zaXRlLWJ1aWx0LWJ5IHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiAjNTY1NTU1OyB9XG4gICAgLmZvb3RlciAuc2l0ZS1idWlsdC1ieSBhIHtcbiAgICAgIGNvbG9yOiAjNTY1NTU1O1xuICAgICAgdHJhbnNpdGlvbjogNDAwbXMgZWFzZSBjb2xvcjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgLmZvb3RlciAuc2l0ZS1idWlsdC1ieSBhOmhvdmVyLCAuZm9vdGVyIC5zaXRlLWJ1aWx0LWJ5IGE6Zm9jdXMge1xuICAgICAgICBjb2xvcjogIzE0ODM5NDsgfVxuICAgICAgLmZvb3RlciAuc2l0ZS1idWlsdC1ieSBhOnZpc2l0ZWQge1xuICAgICAgICBjb2xvcjogIzU2NTU1NTsgfVxuICAuZm9vdGVyX19sb2dvcyB7XG4gICAgbWFyZ2luLXRvcDogMTAwcHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZvb3Rlcl9fbG9nb3Mge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMzVweDsgfSB9XG4gIC5mb290ZXIgdWwubG9nb3Mge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5mb290ZXIgdWwubG9nb3Mge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9IH1cbiAgICAuZm9vdGVyIHVsLmxvZ29zIGxpIHtcbiAgICAgIG1hcmdpbjogMTBweCAxNnB4IDEwcHggMDsgfVxuICAgICAgLmZvb3RlciB1bC5sb2dvcyBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIC5mb290ZXIgdWwubG9nb3MgbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gICAgICAuZm9vdGVyIHVsLmxvZ29zIGxpIGltZyB7XG4gICAgICAgIGhlaWdodDogMzVweDsgfVxuICAuZm9vdGVyX19zb2NpYWwtaWNvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMzVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAzNXB4OyB9XG4gICAgLmZvb3Rlcl9fc29jaWFsLWljb246bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAuZm9vdGVyX19zb2NpYWwtaWNvbi0tZmFjZWJvb2ssIC5mb290ZXJfX3NvY2lhbC1pY29uLS1mYWNlYm9vazp2aXNpdGVkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzYjU5OTg7IH1cbiAgICAgIC5mb290ZXJfX3NvY2lhbC1pY29uLS1mYWNlYm9vayBzdmcsIC5mb290ZXJfX3NvY2lhbC1pY29uLS1mYWNlYm9vazp2aXNpdGVkIHN2ZyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICByaWdodDogNXB4O1xuICAgICAgICBoZWlnaHQ6IDI4cHg7IH1cbiAgICAgIC5mb290ZXJfX3NvY2lhbC1pY29uLS1mYWNlYm9vazpob3ZlciwgLmZvb3Rlcl9fc29jaWFsLWljb24tLWZhY2Vib29rOnZpc2l0ZWQ6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzA0ODdiOyB9XG4gICAgLmZvb3Rlcl9fc29jaWFsLWljb24tLXR3aXR0ZXIsIC5mb290ZXJfX3NvY2lhbC1pY29uLS10d2l0dGVyOnZpc2l0ZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBFMTQxOTsgfVxuICAgICAgLmZvb3Rlcl9fc29jaWFsLWljb24tLXR3aXR0ZXIgc3ZnLCAuZm9vdGVyX19zb2NpYWwtaWNvbi0tdHdpdHRlcjp2aXNpdGVkIHN2ZyB7XG4gICAgICAgIHdpZHRoOiAyMHB4OyB9XG4gICAgICAuZm9vdGVyX19zb2NpYWwtaWNvbi0tdHdpdHRlciBzdmcsIC5mb290ZXJfX3NvY2lhbC1pY29uLS10d2l0dGVyOnZpc2l0ZWQgc3ZnIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuICAgICAgLmZvb3Rlcl9fc29jaWFsLWljb24tLXR3aXR0ZXI6aG92ZXIsIC5mb290ZXJfX3NvY2lhbC1pY29uLS10d2l0dGVyOnZpc2l0ZWQ6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjazsgfVxuICAgIC5mb290ZXJfX3NvY2lhbC1pY29uLS1pbnN0YSwgLmZvb3Rlcl9fc29jaWFsLWljb24tLWluc3RhOnZpc2l0ZWQge1xuICAgICAgYmFja2dyb3VuZDogI2Q2MjQ5ZjtcbiAgICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgNDAlIDEwNyUsICNmZGY0OTcgMCUsICNmZGY0OTcgMTAlLCAjZmQ1OTQ5IDQ1JSwgI2Q2MjQ5ZiA2MCUsICMyODVBRUIgOTAlKTsgfVxuICAgICAgLmZvb3Rlcl9fc29jaWFsLWljb24tLWluc3RhIHN2ZywgLmZvb3Rlcl9fc29jaWFsLWljb24tLWluc3RhOnZpc2l0ZWQgc3ZnIHtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIHdpZHRoOiAyOHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMnB4OyB9XG4gICAgICAuZm9vdGVyX19zb2NpYWwtaWNvbi0taW5zdGEgc3ZnLCAuZm9vdGVyX19zb2NpYWwtaWNvbi0taW5zdGE6dmlzaXRlZCBzdmcge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG4gICAgICAuZm9vdGVyX19zb2NpYWwtaWNvbi0taW5zdGE6aG92ZXIsIC5mb290ZXJfX3NvY2lhbC1pY29uLS1pbnN0YTp2aXNpdGVkOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7IH1cbiAgICAuZm9vdGVyX19zb2NpYWwtaWNvbiAuc29jaWFsLWljb24gcGF0aCB7XG4gICAgICBmaWxsOiAjZmZmOyB9XG5cbmJvZHkjdGlueW1jZSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiA2My43NXJlbTtcbiAgcGFkZGluZzogMS4yNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5zaWRlLW1lbnUge1xuICB3aWR0aDogY2FsYygxMDB2dyAtIDUwcHgpO1xuICByaWdodDogLTEwMHZ3O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTUpO1xuICBoZWlnaHQ6IDEwMHZoO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgdHJhbnNpdGlvbjogNDAwbXMgY3ViaWMtYmV6aWVyKDAuMzksIDAuNTgsIDAuNTcsIDEpIHJpZ2h0O1xuICB6LWluZGV4OiA5OTtcbiAgYm94LXNoYWRvdzogLTRweCAwcHggMjJweCAtMTdweCByZ2JhKDE5OSwgMTk5LCAxOTksIDAuNjYpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zaWRlLW1lbnUge1xuICAgICAgd2lkdGg6IDQwMHB4O1xuICAgICAgcmlnaHQ6IC00MTBweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnNpZGUtbWVudSB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpOyB9IH1cbiAgLnNpZGUtbWVudSAuY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMTFweDtcbiAgICB0b3A6IDE5cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zaWRlLW1lbnUgLmNsb3NlIHtcbiAgICAgICAgcmlnaHQ6IDQ0cHg7XG4gICAgICAgIHRvcDogMjFweDsgfSB9XG4gICAgLnNpZGUtbWVudSAuY2xvc2Ugc3ZnIHtcbiAgICAgIHdpZHRoOiAxOXB4OyB9XG4gIC5zaWRlLW1lbnUuYWN0aXZlIHtcbiAgICByaWdodDogMDsgfVxuICAuc2lkZS1tZW51IC5zaXRlLW5hdiB7XG4gICAgd2lkdGg6IDg1JTsgfVxuICAgIC5zaWRlLW1lbnUgLnNpdGUtbmF2ICNtb2JpbGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5zaWRlLW1lbnUgLnNpdGUtbmF2ICNtb2JpbGUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIC5zaWRlLW1lbnUgLnNpdGUtbmF2ICNkZXNrdG9wIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5zaWRlLW1lbnUgLnNpdGUtbmF2ICNkZXNrdG9wIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gICAgLnNpZGUtbWVudSAuc2l0ZS1uYXYgdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIC5zaWRlLW1lbnUgLnNpdGUtbmF2IHVsIGxpIHtcbiAgICAgICAgbWFyZ2luOiAyMHB4IDA7IH1cbiAgICAgICAgLnNpZGUtbWVudSAuc2l0ZS1uYXYgdWwgbGkgYSB7XG4gICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiA1MDBtcyBlYXNlIGNvbG91cjsgfVxuICAgICAgICAgIC5zaWRlLW1lbnUgLnNpdGUtbmF2IHVsIGxpIGE6aG92ZXIsIC5zaWRlLW1lbnUgLnNpdGUtbmF2IHVsIGxpIGE6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6ICMxNDgzOTQ7IH1cbiAgICAgICAgLnNpZGUtbWVudSAuc2l0ZS1uYXYgdWwgbGkuaXMtYWN0aXZlIGEge1xuICAgICAgICAgIGNvbG9yOiAjMTQ4Mzk0OyB9XG4gIC5zaWRlLW1lbnUgLmZvcm0ge1xuICAgIHdpZHRoOiA4NSU7IH1cbiAgICAuc2lkZS1tZW51IC5mb3JtIGZvcm0gbGFiZWwge1xuICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiUFQgU2Fuc1wiLCBzYW5zLXNlcmlmOyB9XG4gICAgLnNpZGUtbWVudSAuZm9ybSBmb3JtIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgYmxhY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBsaWdodGVyO1xuICAgICAgZm9udC1mYW1pbHk6IFwiUFQgU2Fuc1wiLCBzYW5zLXNlcmlmO1xuICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICBwYWRkaW5nOiA1cHggMDsgfVxuICAuc2lkZS1tZW51IC5yZXN1bHRzIHtcbiAgICB3aWR0aDogODUlO1xuICAgIG1hcmdpbjogMTBweCAwOyB9XG4gICAgLnNpZGUtbWVudSAucmVzdWx0cyB1bCB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAuc2lkZS1tZW51IC5yZXN1bHRzIHVsIGxpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgICAuc2lkZS1tZW51IC5yZXN1bHRzIHVsIGxpIGEge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgICAgICAgcGFkZGluZzogN3B4IDEwcHg7XG4gICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMTZweCAwcHggcmdiYSg1OCwgNTgsIDU4LCAwLjA0KTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiA1MDBtcyBlYXNlIG9wYWNpdHksIDUwMG1zIGVhc2UgYm94LXNoYWRvdzsgfVxuICAgICAgICAgIC5zaWRlLW1lbnUgLnJlc3VsdHMgdWwgbGkgYTpob3ZlciwgLnNpZGUtbWVudSAucmVzdWx0cyB1bCBsaSBhOmZvY3VzIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMTZweCAwcHggcmdiYSg1OCwgNTgsIDU4LCAwLjEpOyB9XG5cbi5jb250ZW50LmNhcmQuZW50cnktY29udGVudCB7XG4gIHBhZGRpbmc6IDIwcHggMjBweCA2MHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbnRlbnQuY2FyZC5lbnRyeS1jb250ZW50LS1sZy1wYWRkaW5nIHtcbiAgICAgIHBhZGRpbmc6IDIwcHggNjVweCA2NXB4OyB9IH1cblxuLmVudHJ5LWNvbnRlbnRfX2J5bGluZSB7XG4gIGNvbG9yOiBncmF5O1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi5lbnRyeS1jb250ZW50IC5yb3cge1xuICBtYXJnaW46IDA7IH1cblxuLmVudHJ5LWNvbnRlbnQgaDEsXG4uZW50cnktY29udGVudCBoMixcbi5lbnRyeS1jb250ZW50IGgzLFxuLmVudHJ5LWNvbnRlbnQgaDQsXG4uZW50cnktY29udGVudCBoNSxcbi5lbnRyeS1jb250ZW50IGg2IHtcbiAgbWFyZ2luOiAwLjZlbSAwOyB9XG5cbi5lbnRyeS1jb250ZW50IHAge1xuICBtYXJnaW46IDAuNWVtIDA7IH1cblxuLmVudHJ5LWNvbnRlbnQgLmltYWdlX19zbWFsbCB7XG4gIHdpZHRoOiA1MCU7XG4gIG1hcmdpbjogMzRweCBhdXRvO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZW50cnktY29udGVudCAuaW1hZ2VfX21lZGl1bSB7XG4gIHdpZHRoOiA3NSU7XG4gIG1hcmdpbjogMzRweCBhdXRvO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZW50cnktY29udGVudCAuaW1hZ2VfX2xhcmdlIHtcbiAgd2lkdGg6IDkwJTtcbiAgbWFyZ2luOiAzNHB4IGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5lbnRyeS1jb250ZW50IC5yZXZpZXdzLXdpZGdldCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmVudHJ5LWNvbnRlbnQgLnJldmlld3Mtd2lkZ2V0Omxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmVudHJ5LWNvbnRlbnQgLndwLWJsb2NrLXF1b3RlIHtcbiAgY29sb3I6ICMxNDgzOTQ7XG4gIG1hcmdpbjogMzJweCBhdXRvIDUycHg7XG4gIG1heC13aWR0aDogODAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmVudHJ5LWNvbnRlbnQgLndwLWJsb2NrLXF1b3RlOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMjUlO1xuICAgIGhlaWdodDogM3B4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNDgzOTQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogLTE2cHg7IH1cbiAgLmVudHJ5LWNvbnRlbnQgLndwLWJsb2NrLXF1b3RlIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDhweDsgfVxuICAuZW50cnktY29udGVudCAud3AtYmxvY2stcXVvdGUuaXMtc3R5bGUtbGFyZ2UgcCB7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZW50cnktY29udGVudCAud3AtYmxvY2stcXVvdGUge1xuICAgICAgd2lkdGg6IDYwJTsgfSB9XG5cbi5lbnRyeS1jb250ZW50IC53cC1ibG9jay1jb3ZlciB7XG4gIGhlaWdodDogYXV0bzsgfVxuICAuZW50cnktY29udGVudCAud3AtYmxvY2stY292ZXIgLmhhcy1sYXJnZS1mb250LXNpemUsXG4gIC5lbnRyeS1jb250ZW50IC53cC1ibG9jay1jb3ZlciAuaGFzLWh1Z2UtZm9udC1zaXplIHtcbiAgICBmb250LWZhbWlseTogXCJBYnVnZXRcIiwgc2VyaWY7IH1cbiAgLmVudHJ5LWNvbnRlbnQgLndwLWJsb2NrLWNvdmVyIC5oYXMtbGFyZ2UtZm9udC1zaXplIHtcbiAgICBmb250LXNpemU6IDEwMHB4OyB9XG4gIC5lbnRyeS1jb250ZW50IC53cC1ibG9jay1jb3ZlciAuaGFzLWh1Z2UtZm9udC1zaXplIHtcbiAgICBmb250LXNpemU6IDEyNXB4OyB9XG5cbi5lbnRyeS1jb250ZW50IC53cC1ibG9jay1wdWxscXVvdGUgYmxvY2txdW90ZSBjaXRlIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi5lbnRyeS1jb250ZW50IC53cC1ibG9jay1wdWxscXVvdGUge1xuICBtYXJnaW46IDMycHggYXV0bzsgfVxuICAuZW50cnktY29udGVudCAud3AtYmxvY2stcHVsbHF1b3RlLmlzLXN0eWxlLWRlZmF1bHQge1xuICAgIGJvcmRlci10b3A6IDNweCBzb2xpZDtcbiAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQ7IH1cbiAgLmVudHJ5LWNvbnRlbnQgLndwLWJsb2NrLXB1bGxxdW90ZSAuaGFzLWJyYW5kLWFxdWEtY29sb3Ige1xuICAgIGNvbG9yOiAjMTQ4Mzk0OyB9XG4gIC5lbnRyeS1jb250ZW50IC53cC1ibG9jay1wdWxscXVvdGUgLmhhcy1icmFuZC1wdXJwbGUtY29sb3Ige1xuICAgIGNvbG9yOiAjYzM3YmFhOyB9XG4gIC5lbnRyeS1jb250ZW50IC53cC1ibG9jay1wdWxscXVvdGUgLmhhcy1icmFuZC1ibHVlLWNvbG9yIHtcbiAgICBjb2xvcjogIzUxYTlkODsgfVxuICAuZW50cnktY29udGVudCAud3AtYmxvY2stcHVsbHF1b3RlIC5oYXMtYnJhbmQtcGluay1jb2xvciB7XG4gICAgY29sb3I6ICNjNTY3ODg7IH1cbiAgLmVudHJ5LWNvbnRlbnQgLndwLWJsb2NrLXB1bGxxdW90ZSAuaGFzLWJyYW5kLWJsYWNrLWNvbG9yIHtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuZW50cnktY29udGVudCAud3AtYmxvY2stcHVsbHF1b3RlLmhhcy1icmFuZC1hcXVhLWJhY2tncm91bmQtY29sb3Ige1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNDgzOTQ7IH1cbiAgLmVudHJ5LWNvbnRlbnQgLndwLWJsb2NrLXB1bGxxdW90ZS5oYXMtYnJhbmQtcHVycGxlLWJhY2tncm91bmQtY29sb3Ige1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjMzdiYWE7IH1cbiAgLmVudHJ5LWNvbnRlbnQgLndwLWJsb2NrLXB1bGxxdW90ZS5oYXMtYnJhbmQtYmx1ZS1iYWNrZ3JvdW5kLWNvbG9yIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTFhOWQ4OyB9XG4gIC5lbnRyeS1jb250ZW50IC53cC1ibG9jay1wdWxscXVvdGUuaGFzLWJyYW5kLXBpbmstYmFja2dyb3VuZC1jb2xvciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2M1Njc4ODsgfVxuICAuZW50cnktY29udGVudCAud3AtYmxvY2stcHVsbHF1b3RlLmhhcy1icmFuZC1ibGFjay1iYWNrZ3JvdW5kLWNvbG9yIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwOyB9XG5cbi5lbnRyeS1jb250ZW50IC53cC1ibG9jay1nYWxsZXJ5IC5ibG9ja3MtZ2FsbGVyeS1pdGVtIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5pcy10eXBlLXZpZGVvIC53cC1ibG9jay1lbWJlZF9fd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luLWJvdHRvbTogMS41ZW07IH1cbiAgLmlzLXR5cGUtdmlkZW8gLndwLWJsb2NrLWVtYmVkX193cmFwcGVyIGlmcmFtZSxcbiAgLmlzLXR5cGUtdmlkZW8gLndwLWJsb2NrLWVtYmVkX193cmFwcGVyIG9iamVjdCxcbiAgLmlzLXR5cGUtdmlkZW8gLndwLWJsb2NrLWVtYmVkX193cmFwcGVyIGVtYmVkIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5nZm9ybV93cmFwcGVyIC5nZm9ybV9ib2R5IC5nZmllbGQge1xuICBtYXJnaW4tYm90dG9tOiAzMnB4OyB9XG5cbi5nZm9ybV93cmFwcGVyIC5nZm9ybV9ib2R5IGlucHV0Om5vdChbdHlwZT1yYWRpb10pOm5vdChbdHlwZT1jaGVja2JveF0pOm5vdChbdHlwZT1zdWJtaXRdKTpub3QoW3R5cGU9YnV0dG9uXSk6bm90KFt0eXBlPWltYWdlXSk6bm90KFt0eXBlPWZpbGVdKSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2JvZHkgLnRleHRhcmVhIHtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiAjMDAwO1xuICBib3JkZXItd2lkdGg6IDAgMCAycHggMDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYm9keSAuZ2ZpZWxkX3NlbGVjdCwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2JvZHkgLmdpbnB1dF9jb250YWluZXJfZGF0ZSBkaXYgc2VsZWN0IHtcbiAgYm9yZGVyOiAycHggc29saWQgIzAwMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBwYWRkaW5nOiA4cHg7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9kcm9wLWRvd24tYXJyb3cuc3ZnXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgcmlnaHQgMTBweDtcbiAgYmFja2dyb3VuZC1zaXplOiAxM3B4OyB9XG5cbi5nZm9ybV93cmFwcGVyIC5nZm9ybV9ib2R5IC5naW5wdXRfY29udGFpbmVyX2RhdGUge1xuICB3aWR0aDogMTAwJTsgfVxuICAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYm9keSAuZ2lucHV0X2NvbnRhaW5lcl9kYXRlIC5nZmllbGRfZGF0ZV9kcm9wZG93bl95ZWFyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2JvZHkgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDA7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYm9keSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06aG92ZXI6OmFmdGVyIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggIzRjNGM0YzsgfVxuICAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYm9keSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDUwJSA1MCU7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzAwMDtcbiAgICBjb250ZW50OiAnICc7XG4gICAgaGVpZ2h0OiA0NXB4O1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTE2cHg7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjJzO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvcjtcbiAgICB3aWR0aDogNDVweDsgfVxuICAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYm9keSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZDpob3Zlcjo6YWZ0ZXIge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2JvZHkgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQ6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvYmxhY2stdGljay5zdmdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiA3MCU7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2JvZHkgI2ZpZWxkXzFfMTgge1xuICBtYXJnaW4tdG9wOiAyNHB4OyB9XG5cbi5nZm9ybV93cmFwcGVyIC5nZm9ybV9ib2R5IC5nZmllbGRfY29uc2VudF9kZXNjcmlwdGlvbiB7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgbWF4LWhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwIDAgMjRweDtcbiAgb3ZlcmZsb3cteTogdmlzaWJsZTsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYm9keSAuZ2lucHV0X2NvbnRhaW5lcl9jb25zZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZm9udC1zaXplOiAuNjg4ZW07IH1cbiAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2JvZHkgLmdpbnB1dF9jb250YWluZXJfY29uc2VudCBsYWJlbCB7XG4gICAgcGFkZGluZy1sZWZ0OiA1MHB4OyB9XG5cbi5nZm9ybV9mb290ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmdmb3JtX2Zvb3RlciAuZ2Zvcm1fYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMwMDA7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIGVhc2UtaW4tb3V0IDQwMG1zO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgZWFzZS1pbi1vdXQgNDAwbXM7IH1cbiAgICAuZ2Zvcm1fZm9vdGVyIC5nZm9ybV9idXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG5cbi5naW5wdXRfY29udGFpbmVyX2NoZWNrYm94IC5nZmllbGRfY2hlY2tib3gge1xuICBtYXJnaW4tdG9wOiAyMnB4ICFpbXBvcnRhbnQ7IH1cbiAgLmdpbnB1dF9jb250YWluZXJfY2hlY2tib3ggLmdmaWVsZF9jaGVja2JveCBsaSB7XG4gICAgbGluZS1oZWlnaHQ6IDU1cHggIWltcG9ydGFudDsgfVxuICAgIC5naW5wdXRfY29udGFpbmVyX2NoZWNrYm94IC5nZmllbGRfY2hlY2tib3ggbGkgbGFiZWwge1xuICAgICAgbWFyZ2luLWxlZnQ6IDU1cHggIWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7IH1cblxuI2ZpZWxkXzJfMTUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICNpbnB1dF8yXzIge1xuICAgIG1hcmdpbi10b3A6IC01OXB4OyB9XG4gICAgI2lucHV0XzJfMiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgI2ZpZWxkXzJfMTUge1xuICAgIG1hcmdpbi10b3A6IC01N3B4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAjZmllbGRfMl8xNCB7XG4gICAgbWFyZ2luLXRvcDogLTM1cHg7IH0gfVxuXG4jZ2ZpZWxkX2NvbnNlbnRfZGVzY3JpcHRpb25fMl8xMiB7XG4gIG1hcmdpbi1ib3R0b206IDMycHg7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgI2ZpZWxkXzFfMTMge1xuICAgIG1hcmdpbi10b3A6IDY3cHg7IH0gfVxuXG4uc2l0ZXMtYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogIzE3NzliYTtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgYm94LXNoYWRvdzogMCAtMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjIpIGluc2V0O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJvcmRlcjogbm9uZTsgfVxuXG4uYnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogIzBhMGEwYTtcbiAgbWFyZ2luOiAxcmVtIDA7XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiA1MDBtcyBlYXNlIGNvbG9yLCA1MDBtcyBlYXNlIGJhY2tncm91bmQ7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gIC5idG4uY2xlYXItbWFyZ2lucyB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5idG4uc21hbGwtcGFkZGluZyB7XG4gICAgcGFkZGluZzogNXB4IDE1cHg7IH1cbiAgLmJ0bl9fYmxhY2ssIC5idG5fX2JsYWNrOnZpc2l0ZWQge1xuICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgICAuYnRuX19ibGFjazpob3ZlciwgLmJ0bl9fYmxhY2s6Zm9jdXMsIC5idG5fX2JsYWNrOnZpc2l0ZWQ6aG92ZXIsIC5idG5fX2JsYWNrOnZpc2l0ZWQ6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDAwO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnRuX19hcXVhLCAuYnRuX19hcXVhOnZpc2l0ZWQge1xuICAgIGJhY2tncm91bmQ6ICMxNDgzOTQ7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgICAuYnRuX19hcXVhOmhvdmVyLCAuYnRuX19hcXVhOmZvY3VzLCAuYnRuX19hcXVhOnZpc2l0ZWQ6aG92ZXIsIC5idG5fX2FxdWE6dmlzaXRlZDpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICMxNDgzOTQ7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjMTQ4Mzk0OyB9XG4gIC5idG5fX3B1cnBsZSwgLmJ0bl9fcHVycGxlOnZpc2l0ZWQge1xuICAgIGJhY2tncm91bmQ6ICNjMzdiYWE7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgICAuYnRuX19wdXJwbGU6aG92ZXIsIC5idG5fX3B1cnBsZTpmb2N1cywgLmJ0bl9fcHVycGxlOnZpc2l0ZWQ6aG92ZXIsIC5idG5fX3B1cnBsZTp2aXNpdGVkOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI2MzN2JhYTtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNjMzdiYWE7IH1cbiAgLmJ0bl9fcGluaywgLmJ0bl9fcGluazp2aXNpdGVkIHtcbiAgICBiYWNrZ3JvdW5kOiAjYzU2Nzg4O1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmJ0bl9fcGluazpob3ZlciwgLmJ0bl9fcGluazpmb2N1cywgLmJ0bl9fcGluazp2aXNpdGVkOmhvdmVyLCAuYnRuX19waW5rOnZpc2l0ZWQ6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjYzU2Nzg4O1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2M1Njc4ODsgfVxuICAuYnRuX19ibHVlLCAuYnRuX19ibHVlOnZpc2l0ZWQge1xuICAgIGJhY2tncm91bmQ6ICM1MWE5ZDg7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgICAuYnRuX19ibHVlOmhvdmVyLCAuYnRuX19ibHVlOmZvY3VzLCAuYnRuX19ibHVlOnZpc2l0ZWQ6aG92ZXIsIC5idG5fX2JsdWU6dmlzaXRlZDpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICM1MWE5ZDg7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjNTFhOWQ4OyB9XG4gIC5idG5fX291dGxpbmUge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMwYTBhMGE7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJvcmRlci1jb2xvciwgYmFja2dyb3VuZC1jb2xvcjtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA0MDBtcztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTsgfVxuICAgIC5idG5fX291dGxpbmUtLWJsYWNrLCAuYnRuX19vdXRsaW5lLS1ibGFjazp2aXNpdGVkIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAwMDtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgICAuYnRuX19vdXRsaW5lLS1ibGFjazpob3ZlciwgLmJ0bl9fb3V0bGluZS0tYmxhY2s6dmlzaXRlZDpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmJ0bl9fb3V0bGluZS0tYXF1YSwgLmJ0bl9fb3V0bGluZS0tYXF1YTp2aXNpdGVkIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzE0ODM5NDtcbiAgICAgIGNvbG9yOiAjMTQ4Mzk0OyB9XG4gICAgICAuYnRuX19vdXRsaW5lLS1hcXVhOmhvdmVyLCAuYnRuX19vdXRsaW5lLS1hcXVhOnZpc2l0ZWQ6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTQ4Mzk0O1xuICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5idG5fX291dGxpbmUtLXB1cnBsZSwgLmJ0bl9fb3V0bGluZS0tcHVycGxlOnZpc2l0ZWQge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjYzM3YmFhO1xuICAgICAgY29sb3I6ICNjMzdiYWE7IH1cbiAgICAgIC5idG5fX291dGxpbmUtLXB1cnBsZTpob3ZlciwgLmJ0bl9fb3V0bGluZS0tcHVycGxlOnZpc2l0ZWQ6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzM3YmFhO1xuICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5idG5fX291dGxpbmUtLXBpbmssIC5idG5fX291dGxpbmUtLXBpbms6dmlzaXRlZCB7XG4gICAgICBib3JkZXItY29sb3I6ICNjNTY3ODg7XG4gICAgICBjb2xvcjogI2M1Njc4ODsgfVxuICAgICAgLmJ0bl9fb3V0bGluZS0tcGluazpob3ZlciwgLmJ0bl9fb3V0bGluZS0tcGluazp2aXNpdGVkOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2M1Njc4ODtcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAuYnRuX19vdXRsaW5lLS1ibHVlLCAuYnRuX19vdXRsaW5lLS1ibHVlOnZpc2l0ZWQge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNTFhOWQ4O1xuICAgICAgY29sb3I6ICM1MWE5ZDg7IH1cbiAgICAgIC5idG5fX291dGxpbmUtLWJsdWU6aG92ZXIsIC5idG5fX291dGxpbmUtLWJsdWU6dmlzaXRlZDpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1MWE5ZDg7XG4gICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmJ0bl9fb3V0bGluZTpob3ZlciwgLmJ0bl9fb3V0bGluZTpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wYWdlLWlkLTQ4ODUgLmNhcmQucHJvbW90aW9ucyAubGVmdCBoMiwgLnBhZ2UtaWQtNDg4NSAuY2FyZC5wcm9tb3Rpb25zIC5sZWZ0IGgxIHtcbiAgICB3aWR0aDogNTgwcHg7IH0gfVxuXG4uY2FyZCAucmVhZC1tb3JlLXBwIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4uY2FyZC5wb3N0X2Jsb2NrIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGhlaWdodDogNDUwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAjMDAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuY2FyZC5wb3N0X2Jsb2NrIHNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLmNhcmQucG9zdF9ibG9jayBzcGFuLnRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAuY2FyZC5wb3N0X2Jsb2NrIHNwYW4ucmVhZC1tb3JlIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAuY2FyZC5wb3N0X2Jsb2NrIHNwYW4uYmFja2dyb3VuZCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICB0cmFuc2l0aW9uOiAyNTBtcyBlYXNlIHRyYW5zZm9ybTsgfVxuICAuY2FyZC5wb3N0X2Jsb2NrIC5jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIG1heC13aWR0aDogMjYwcHg7XG4gICAgcGFkZGluZzogN3B4IDE2cHg7XG4gICAgbWFyZ2luOiAwIDAgMzBweCAwOyB9XG4gICAgLmNhcmQucG9zdF9ibG9jayAuY29udGVudC5ibG9ja19jb2xvcl9fYmxhY2sge1xuICAgICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmNhcmQucG9zdF9ibG9jayAuY29udGVudC5ibG9ja19jb2xvcl9fYXF1YSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMTQ4Mzk0O1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAuY2FyZC5wb3N0X2Jsb2NrIC5jb250ZW50LmJsb2NrX2NvbG9yX19wdXJwbGUge1xuICAgICAgYmFja2dyb3VuZDogI2MzN2JhYTtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmNhcmQucG9zdF9ibG9jayAuY29udGVudC5ibG9ja19jb2xvcl9fcGluayB7XG4gICAgICBiYWNrZ3JvdW5kOiAjYzU2Nzg4O1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAuY2FyZC5wb3N0X2Jsb2NrIC5jb250ZW50LmJsb2NrX2NvbG9yX19ibHVlIHtcbiAgICAgIGJhY2tncm91bmQ6ICM1MWE5ZDg7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAuY2FyZC5wb3N0X2Jsb2NrOmhvdmVyIHNwYW4uYmFja2dyb3VuZCwgLmNhcmQucG9zdF9ibG9jazpmb2N1cyBzcGFuLmJhY2tncm91bmQge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7IH1cblxuLmNhcmQucHJvbW90aW9ucyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciAzNSU7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiA2NTBweDsgfVxuICAuY2FyZC5wcm9tb3Rpb25zIC5jb250ZW50IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAtMzVweDtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICAgIG1heC13aWR0aDogMTAwdnc7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIHBhZGRpbmc6IDQzcHggMjFweCA0MHB4O1xuICAgIHotaW5kZXg6IDM7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNhcmQucHJvbW90aW9ucyAuY29udGVudCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDE4OS4wMTVweDtcbiAgICAgICAgbWluLXdpZHRoOiA0NzVweDtcbiAgICAgICAgbWF4LXdpZHRoOiA1NjVweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDYwcHggMjFweCA0MHB4OyB9IH1cbiAgICAuY2FyZC5wcm9tb3Rpb25zIC5jb250ZW50OjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgIC5jYXJkLnByb21vdGlvbnMgLmNvbnRlbnQucmlnaHQge1xuICAgICAgcmlnaHQ6IDA7IH1cbiAgICAuY2FyZC5wcm9tb3Rpb25zIC5jb250ZW50LmxlZnQge1xuICAgICAgbGVmdDogMDsgfVxuICAgIC5jYXJkLnByb21vdGlvbnMgLmNvbnRlbnQgaDEsIC5jYXJkLnByb21vdGlvbnMgLmNvbnRlbnQgaDIge1xuICAgICAgZm9udC1mYW1pbHk6IFwiQWJ1Z2V0XCIsIHNlcmlmO1xuICAgICAgZm9udC1zaXplOiA4MHB4O1xuICAgICAgdG9wOiAtNjdweDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBsZWZ0OiAyMXB4O1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMmRlZyk7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5jYXJkLnByb21vdGlvbnMgLmNvbnRlbnQgaDEsIC5jYXJkLnByb21vdGlvbnMgLmNvbnRlbnQgaDIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTE4LjU5cHg7XG4gICAgICAgICAgdG9wOiAtMTAwcHg7XG4gICAgICAgICAgbWF4LXdpZHRoOiA1ODBweDsgfSB9XG4gICAgLmNhcmQucHJvbW90aW9ucyAuY29udGVudCBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDIwcHggYXV0byAwOyB9XG4gICAgLmNhcmQucHJvbW90aW9ucyAuY29udGVudCB1bCB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAuY2FyZC5wcm9tb3Rpb25zIC5jb250ZW50IHVsIGxpIHtcbiAgICAgICAgbWFyZ2luOiA3cHggMTBweCAwOyB9XG4gICAgICAgIC5jYXJkLnByb21vdGlvbnMgLmNvbnRlbnQgdWwgbGkgYSxcbiAgICAgICAgLmNhcmQucHJvbW90aW9ucyAuY29udGVudCB1bCBsaSBhOnZpc2l0ZWQge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XG4gICAgICAgICAgcGFkZGluZzogMTBweCAxNXB4O1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiA0MDBtcyBlYXNlIGNvbG9yLCA0MDBtcyBlYXNlIGJhY2tncm91bmQ7IH1cbiAgICAgICAgLmNhcmQucHJvbW90aW9ucyAuY29udGVudCB1bCBsaTpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICBtYXJnaW46IDdweCAxMHB4IDAgMDsgfVxuICAgIC5jYXJkLnByb21vdGlvbnMgLmNvbnRlbnQgLmJ1dHRvbi13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAxOHB4IDAgMDsgfVxuICAgICAgLmNhcmQucHJvbW90aW9ucyAuY29udGVudCAuYnV0dG9uLXdyYXBwZXIgYSxcbiAgICAgIC5jYXJkLnByb21vdGlvbnMgLmNvbnRlbnQgLmJ1dHRvbi13cmFwcGVyIGE6dmlzaXRlZCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiA0MDBtcyBlYXNlIGNvbG9yLCA0MDBtcyBlYXNlIGJhY2tncm91bmQ7IH1cbiAgICAuY2FyZC5wcm9tb3Rpb25zIC5jb250ZW50LmJsb2NrX2NvbG9yX19ibGFjayB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDAwOyB9XG4gICAgICAuY2FyZC5wcm9tb3Rpb25zIC5jb250ZW50LmJsb2NrX2NvbG9yX19ibGFjayBhOmhvdmVyLCAuY2FyZC5wcm9tb3Rpb25zIC5jb250ZW50LmJsb2NrX2NvbG9yX19ibGFjayBhOmZvY3VzLFxuICAgICAgLmNhcmQucHJvbW90aW9ucyAuY29udGVudC5ibG9ja19jb2xvcl9fYmxhY2sgYTp2aXNpdGVkOmhvdmVyLFxuICAgICAgLmNhcmQucHJvbW90aW9ucyAuY29udGVudC5ibG9ja19jb2xvcl9fYmxhY2sgYTp2aXNpdGVkOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAuY2FyZC5wcm9tb3Rpb25zIC5jb250ZW50LmJsb2NrX2NvbG9yX19hcXVhIHtcbiAgICAgIGJhY2tncm91bmQ6ICMxNDgzOTQ7IH1cbiAgICAgIC5jYXJkLnByb21vdGlvbnMgLmNvbnRlbnQuYmxvY2tfY29sb3JfX2FxdWEgYTpob3ZlciwgLmNhcmQucHJvbW90aW9ucyAuY29udGVudC5ibG9ja19jb2xvcl9fYXF1YSBhOmZvY3VzLFxuICAgICAgLmNhcmQucHJvbW90aW9ucyAuY29udGVudC5ibG9ja19jb2xvcl9fYXF1YSBhOnZpc2l0ZWQ6aG92ZXIsXG4gICAgICAuY2FyZC5wcm9tb3Rpb25zIC5jb250ZW50LmJsb2NrX2NvbG9yX19hcXVhIGE6dmlzaXRlZDpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIGNvbG9yOiAjMTQ4Mzk0OyB9XG4gICAgLmNhcmQucHJvbW90aW9ucyAuY29udGVudC5ibG9ja19jb2xvcl9fcHVycGxlIHtcbiAgICAgIGJhY2tncm91bmQ6ICNjMzdiYWE7IH1cbiAgICAgIC5jYXJkLnByb21vdGlvbnMgLmNvbnRlbnQuYmxvY2tfY29sb3JfX3B1cnBsZSBhOmhvdmVyLCAuY2FyZC5wcm9tb3Rpb25zIC5jb250ZW50LmJsb2NrX2NvbG9yX19wdXJwbGUgYTpmb2N1cyxcbiAgICAgIC5jYXJkLnByb21vdGlvbnMgLmNvbnRlbnQuYmxvY2tfY29sb3JfX3B1cnBsZSBhOnZpc2l0ZWQ6aG92ZXIsXG4gICAgICAuY2FyZC5wcm9tb3Rpb25zIC5jb250ZW50LmJsb2NrX2NvbG9yX19wdXJwbGUgYTp2aXNpdGVkOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgY29sb3I6ICNjMzdiYWE7IH1cbiAgICAuY2FyZC5wcm9tb3Rpb25zIC5jb250ZW50LmJsb2NrX2NvbG9yX19waW5rIHtcbiAgICAgIGJhY2tncm91bmQ6ICNjNTY3ODg7IH1cbiAgICAgIC5jYXJkLnByb21vdGlvbnMgLmNvbnRlbnQuYmxvY2tfY29sb3JfX3BpbmsgYTpob3ZlciwgLmNhcmQucHJvbW90aW9ucyAuY29udGVudC5ibG9ja19jb2xvcl9fcGluayBhOmZvY3VzLFxuICAgICAgLmNhcmQucHJvbW90aW9ucyAuY29udGVudC5ibG9ja19jb2xvcl9fcGluayBhOnZpc2l0ZWQ6aG92ZXIsXG4gICAgICAuY2FyZC5wcm9tb3Rpb25zIC5jb250ZW50LmJsb2NrX2NvbG9yX19waW5rIGE6dmlzaXRlZDpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIGNvbG9yOiAjYzU2Nzg4OyB9XG4gICAgLmNhcmQucHJvbW90aW9ucyAuY29udGVudC5ibG9ja19jb2xvcl9fYmx1ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjNTFhOWQ4OyB9XG4gICAgICAuY2FyZC5wcm9tb3Rpb25zIC5jb250ZW50LmJsb2NrX2NvbG9yX19ibHVlIGE6aG92ZXIsIC5jYXJkLnByb21vdGlvbnMgLmNvbnRlbnQuYmxvY2tfY29sb3JfX2JsdWUgYTpmb2N1cyxcbiAgICAgIC5jYXJkLnByb21vdGlvbnMgLmNvbnRlbnQuYmxvY2tfY29sb3JfX2JsdWUgYTp2aXNpdGVkOmhvdmVyLFxuICAgICAgLmNhcmQucHJvbW90aW9ucyAuY29udGVudC5ibG9ja19jb2xvcl9fYmx1ZSBhOnZpc2l0ZWQ6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICBjb2xvcjogIzUxYTlkODsgfVxuXG4uY2FyZC5sb2NhdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0NTBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6ICMwMDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5jYXJkLmxvY2F0aW9uLmhlaWdodC0xMDAge1xuICAgIG1pbi1oZWlnaHQ6IDQ1MHB4O1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAuY2FyZC5sb2NhdGlvbiBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5jYXJkLmxvY2F0aW9uIHNwYW4udGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIC5jYXJkLmxvY2F0aW9uIHNwYW4ucmVhZC1tb3JlIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAuY2FyZC5sb2NhdGlvbiBzcGFuLmJhY2tncm91bmQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNztcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIHRyYW5zaXRpb246IDI1MG1zIGVhc2UgdHJhbnNmb3JtOyB9XG4gIC5jYXJkLmxvY2F0aW9uIC5jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIG1heC13aWR0aDogMjYwcHg7XG4gICAgcGFkZGluZzogN3B4IDE2cHg7XG4gICAgbWFyZ2luOiAwIDAgMzBweCAwO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmNhcmQubG9jYXRpb24gLmNvbnRlbnQuYmxvY2tfY29sb3JfX2JsYWNrIHtcbiAgICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgICBjb2xvcjogI0ZGRjsgfVxuICAgIC5jYXJkLmxvY2F0aW9uIC5jb250ZW50LmJsb2NrX2NvbG9yX19hcXVhIHtcbiAgICAgIGJhY2tncm91bmQ6ICMxNDgzOTQ7XG4gICAgICBjb2xvcjogI0ZGRjsgfVxuICAgIC5jYXJkLmxvY2F0aW9uIC5jb250ZW50LmJsb2NrX2NvbG9yX19wdXJwbGUge1xuICAgICAgYmFja2dyb3VuZDogI2MzN2JhYTtcbiAgICAgIGNvbG9yOiAjRkZGOyB9XG4gICAgLmNhcmQubG9jYXRpb24gLmNvbnRlbnQuYmxvY2tfY29sb3JfX3Bpbmsge1xuICAgICAgYmFja2dyb3VuZDogI2M1Njc4ODtcbiAgICAgIGNvbG9yOiAjRkZGOyB9XG4gICAgLmNhcmQubG9jYXRpb24gLmNvbnRlbnQuYmxvY2tfY29sb3JfX2JsdWUge1xuICAgICAgYmFja2dyb3VuZDogIzUxYTlkODtcbiAgICAgIGNvbG9yOiAjRkZGOyB9XG4gIC5jYXJkLmxvY2F0aW9uOmhvdmVyIHNwYW4uYmFja2dyb3VuZCwgLmNhcmQubG9jYXRpb246Zm9jdXMgc3Bhbi5iYWNrZ3JvdW5kIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpOyB9XG5cbi5jYXJkLm9mZmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGhlaWdodDogNDUwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAjMDAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuY2FyZC5vZmZlci5oZWlnaHQtMTAwIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogNDUwcHg7IH1cbiAgLmNhcmQub2ZmZXIgc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuY2FyZC5vZmZlciBzcGFuLnRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAuY2FyZC5vZmZlciBzcGFuLmJhY2tncm91bmQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgdHJhbnNpdGlvbjogMjUwbXMgZWFzZSB0cmFuc2Zvcm07IH1cbiAgLmNhcmQub2ZmZXIgLmNhdGVnb3J5IHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIG1heC13aWR0aDogMjYwcHg7XG4gICAgcGFkZGluZzogN3B4IDE2cHg7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5jYXJkLm9mZmVyIC5jYXRlZ29yeS5ibG9ja19jb2xvcl9fYmxhY2sge1xuICAgICAgYmFja2dyb3VuZDogIzAwMDsgfVxuICAgIC5jYXJkLm9mZmVyIC5jYXRlZ29yeS5ibG9ja19jb2xvcl9fYXF1YSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMTQ4Mzk0OyB9XG4gICAgLmNhcmQub2ZmZXIgLmNhdGVnb3J5LmJsb2NrX2NvbG9yX19wdXJwbGUge1xuICAgICAgYmFja2dyb3VuZDogI2MzN2JhYTsgfVxuICAgIC5jYXJkLm9mZmVyIC5jYXRlZ29yeS5ibG9ja19jb2xvcl9fcGluayB7XG4gICAgICBiYWNrZ3JvdW5kOiAjYzU2Nzg4OyB9XG4gICAgLmNhcmQub2ZmZXIgLmNhdGVnb3J5LmJsb2NrX2NvbG9yX19ibHVlIHtcbiAgICAgIGJhY2tncm91bmQ6ICM1MWE5ZDg7IH1cbiAgLmNhcmQub2ZmZXIgLmNvbnRlbnQge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgbWF4LXdpZHRoOiAzNTBweDtcbiAgICBwYWRkaW5nOiA3cHggMTZweDtcbiAgICBtYXJnaW46IDAgMCAzMHB4IDA7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgbWluLXdpZHRoOiAxNzVweDsgfVxuICAgIC5jYXJkLm9mZmVyIC5jb250ZW50LmJsb2NrX2NvbG9yX19ibGFjayB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAuY2FyZC5vZmZlciAuY29udGVudC5ibG9ja19jb2xvcl9fYXF1YSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMTQ4Mzk0O1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAuY2FyZC5vZmZlciAuY29udGVudC5ibG9ja19jb2xvcl9fcHVycGxlIHtcbiAgICAgIGJhY2tncm91bmQ6ICNjMzdiYWE7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5jYXJkLm9mZmVyIC5jb250ZW50LmJsb2NrX2NvbG9yX19waW5rIHtcbiAgICAgIGJhY2tncm91bmQ6ICNjNTY3ODg7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5jYXJkLm9mZmVyIC5jb250ZW50LmJsb2NrX2NvbG9yX19ibHVlIHtcbiAgICAgIGJhY2tncm91bmQ6ICM1MWE5ZDg7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAuY2FyZC5vZmZlcjpob3ZlciBzcGFuLmJhY2tncm91bmQsIC5jYXJkLm9mZmVyOmZvY3VzIHNwYW4uYmFja2dyb3VuZCB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsgfVxuXG4uY2FyZC5leHBlcnQge1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jYXJkLmV4cGVydCB7XG4gICAgICBoZWlnaHQ6IDU1MHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9IH1cbiAgLmNhcmQuZXhwZXJ0IC5iYWNrZ3JvdW5kIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICB0cmFuc2l0aW9uOiA1MDBtcyBlYXNlIHRyYW5zZm9ybTtcbiAgICBoZWlnaHQ6IDQwMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNhcmQuZXhwZXJ0IC5iYWNrZ3JvdW5kIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAuY2FyZC5leHBlcnQgLmNhbGxvdXQge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgcGFkZGluZzogMTZweCAxNnB4IDI0cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNhcmQuZXhwZXJ0IC5jYWxsb3V0IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBib3R0b206IDMycHg7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIG1heC13aWR0aDogNDAwcHg7IH0gfVxuICAgIC5jYXJkLmV4cGVydCAuY2FsbG91dCBhOmZvY3VzIC5iYWNrZ3JvdW5kIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfVxuICAgIC5jYXJkLmV4cGVydCAuY2FsbG91dCBoMyB7XG4gICAgICBtYXJnaW46IDAgMCA1cHg7XG4gICAgICBmb250LXNpemU6IDEuNjg3NXJlbTsgfVxuICAgIC5jYXJkLmV4cGVydCAuY2FsbG91dCBwIHtcbiAgICAgIG1hcmdpbjogNXB4IDAgMTRweDsgfVxuICAgIC5jYXJkLmV4cGVydCAuY2FsbG91dCB1bCB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbWFyZ2luOiA1cHggMCAwIDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgLmNhcmQuZXhwZXJ0IC5jYWxsb3V0IHVsIGxpIGEge1xuICAgICAgICBjb2xvcjogIzE0ODM5NDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBmb250LXNpemU6IDEuMDYyNXJlbTsgfVxuICAgICAgLmNhcmQuZXhwZXJ0IC5jYWxsb3V0IHVsIGxpOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbjogMCAyNXB4IDAgMDsgfVxuICAgICAgICAuY2FyZC5leHBlcnQgLmNhbGxvdXQgdWwgbGk6Zmlyc3Qtb2YtdHlwZTo6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMTBweCk7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHJpZ2h0OiAtMTRweDtcbiAgICAgICAgICB0b3A6IDVweDtcbiAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMxNDgzOTQ7IH1cbiAgLmNhcmQuZXhwZXJ0OmhvdmVyIC5iYWNrZ3JvdW5kLCAuY2FyZC5leHBlcnQ6Zm9jdXMgLmJhY2tncm91bmQge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfVxuXG4uY2FyZC5mYWN0LWZpbGUgaDQge1xuICBiYWNrZ3JvdW5kOiAjZmRmZGZkO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIG1hcmdpbjogNDVweCAwIDAgMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4uY2FyZC5mYWN0LWZpbGUuY29sb3VyX19ibGFjayBoNCB7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi5jYXJkLmZhY3QtZmlsZSAuY29udGVudCB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHBhZGRpbmc6IDE1cHggMjVweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jYXJkLmZhY3QtZmlsZSAuY29udGVudC5sZWZ0IHtcbiAgICAgIG1hcmdpbjogMCA0MHB4IDAgMDsgfSB9XG4gIC5jYXJkLmZhY3QtZmlsZSAuY29udGVudCBwIHtcbiAgICBtYXJnaW46IDVweCAwOyB9XG4gIC5jYXJkLmZhY3QtZmlsZSAuY29udGVudCB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC5jYXJkLmZhY3QtZmlsZSAuY29udGVudCB1bCBsaSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogMTBweCAwOyB9XG4gICAgICAuY2FyZC5mYWN0LWZpbGUgLmNvbnRlbnQgdWwgbGkgaW1nIHtcbiAgICAgICAgd2lkdGg6IDUxcHg7XG4gICAgICAgIGhlaWdodDogNTFweDtcbiAgICAgICAgbWFyZ2luOiAxNHB4IDE1cHggMTBweCAwOyB9XG4gICAgICAuY2FyZC5mYWN0LWZpbGUgLmNvbnRlbnQgdWwgbGkgcCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IFwiQWJ1Z2V0XCIsIHNlcmlmOyB9XG4gICAgICAgIC5jYXJkLmZhY3QtZmlsZSAuY29udGVudCB1bCBsaSBwLnRpdGxlIHtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDsgfVxuICAgICAgICAuY2FyZC5mYWN0LWZpbGUgLmNvbnRlbnQgdWwgbGkgcC5zdWIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMThweDsgfVxuICAgICAgLmNhcmQuZmFjdC1maWxlIC5jb250ZW50IHVsIGxpOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbjogMTBweCAwIDVweCAwOyB9XG5cbi5jYXJkLmltYWdlLW92ZXJsYXkge1xuICBoZWlnaHQ6IDQ0MHB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5jYXJkLmltYWdlLW92ZXJsYXkgcCB7XG4gICAgZm9udC1mYW1pbHk6ICdBYnVnZXQnLCBzZXJpZiAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMTQwcHg7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5jYXJkLmltYWdlLW92ZXJsYXkuc21hbGwge1xuICAgIGhlaWdodDogMzI1cHg7IH1cblxuLmNhcmQubm90ZXMge1xuICBtYXJnaW46IDIwcHggMDsgfVxuICAuY2FyZC5ub3RlcyBoMiB7XG4gICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgICBmb250LWZhbWlseTogXCJQVCBTYW5zXCIsIHNhbnMtc2VyaWY7XG4gICAgYmFja2dyb3VuZDogI2MzN2JhYTtcbiAgICBmb250LXdlaWdodDogMTAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAyMDBweDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogNXB4IDE1cHggM3B4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLmNhcmQubm90ZXMgLmNvbnRlbnQge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgcGFkZGluZzogMTVweDsgfVxuICAgIC5jYXJkLm5vdGVzIC5jb250ZW50IHAge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDsgfVxuXG4uY2FyZC5jb250ZW50IHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgcGFkZGluZzogMjBweDtcbiAgbWFyZ2luOiA1NXB4IDAgMjVweDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmNhcmQucGFydG5lcnMgLnRpdGxlLCAuY2FyZC5vZmZlcl9kZXNjcmlwdGlvbiAudGl0bGUge1xuICBiYWNrZ3JvdW5kOiAjMGEwYTBhO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gIGNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiAxMHB4IDE4cHggMTNweDtcbiAgbWFyZ2luOiAyMHB4IDAgMCAwOyB9XG4gIC5jYXJkLnBhcnRuZXJzIC50aXRsZS5jb2xvdXJfX3BpbmssIC5jYXJkLm9mZmVyX2Rlc2NyaXB0aW9uIC50aXRsZS5jb2xvdXJfX3Bpbmsge1xuICAgIGJhY2tncm91bmQ6ICNjNTY3ODg7IH1cbiAgLmNhcmQucGFydG5lcnMgLnRpdGxlLmNvbG91cl9fcHVycGxlLCAuY2FyZC5vZmZlcl9kZXNjcmlwdGlvbiAudGl0bGUuY29sb3VyX19wdXJwbGUge1xuICAgIGJhY2tncm91bmQ6ICNjMzdiYWE7IH1cbiAgLmNhcmQucGFydG5lcnMgLnRpdGxlLmNvbG91cl9fYmx1ZSwgLmNhcmQub2ZmZXJfZGVzY3JpcHRpb24gLnRpdGxlLmNvbG91cl9fYmx1ZSB7XG4gICAgYmFja2dyb3VuZDogIzUxYTlkODsgfVxuICAuY2FyZC5wYXJ0bmVycyAudGl0bGUuY29sb3VyX19hcXVhLCAuY2FyZC5vZmZlcl9kZXNjcmlwdGlvbiAudGl0bGUuY29sb3VyX19hcXVhIHtcbiAgICBiYWNrZ3JvdW5kOiAjMTQ4Mzk0OyB9XG4gIC5jYXJkLnBhcnRuZXJzIC50aXRsZSBoMywgLmNhcmQub2ZmZXJfZGVzY3JpcHRpb24gLnRpdGxlIGgzIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuXG4uY2FyZC5wYXJ0bmVycyAuY29udGVudCwgLmNhcmQub2ZmZXJfZGVzY3JpcHRpb24gLmNvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBtYXJnaW46IDAgMCAyM3B4IDA7IH1cbiAgLmNhcmQucGFydG5lcnMgLmNvbnRlbnQgaW1nLCAuY2FyZC5vZmZlcl9kZXNjcmlwdGlvbiAuY29udGVudCBpbWcge1xuICAgIHdpZHRoOiAyMDBweDtcbiAgICBtYXJnaW46IDAgMjBweDsgfVxuXG4uY2FyZC5wYXJ0bmVycyAucGFydG5lci1sb2dvcywgLmNhcmQub2ZmZXJfZGVzY3JpcHRpb24gLnBhcnRuZXItbG9nb3Mge1xuICBwYWRkaW5nOiAyNXB4IDIwcHggMjBweDsgfVxuICAuY2FyZC5wYXJ0bmVycyAucGFydG5lci1sb2dvcyBpbWcsIC5jYXJkLm9mZmVyX2Rlc2NyaXB0aW9uIC5wYXJ0bmVyLWxvZ29zIGltZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDsgfVxuXG4uY2FsbF90b19hY3Rpb24ge1xuICBib3gtc2hhZG93OiAwIDAgMjVweCAtMTVweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTQwcHg7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogOTYlO1xuICB6LWluZGV4OiAxOyB9XG4gIC5jYWxsX3RvX2FjdGlvbi5jYWxsX3RvX2FjdGlvbi0tcGFnZSB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmNhbGxfdG9fYWN0aW9uLmNhbGxfdG9fYWN0aW9uLS1wYWdlIC5jb2x1bW4gYSwgLmNhbGxfdG9fYWN0aW9uLmNhbGxfdG9fYWN0aW9uLS1wYWdlIC5jb2x1bW5zIGEsIC5jYWxsX3RvX2FjdGlvbi5jYWxsX3RvX2FjdGlvbi0tcGFnZSBhOnZpc2l0ZWQge1xuICAgICAgcGFkZGluZzogMzBweCA0MHB4IDI4cHg7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5jYWxsX3RvX2FjdGlvbi5jYWxsX3RvX2FjdGlvbi0tcGFnZSAuY29sdW1uIGEsIC5jYWxsX3RvX2FjdGlvbi5jYWxsX3RvX2FjdGlvbi0tcGFnZSAuY29sdW1ucyBhLCAuY2FsbF90b19hY3Rpb24uY2FsbF90b19hY3Rpb24tLXBhZ2UgYTp2aXNpdGVkIHtcbiAgICAgICAgICBwYWRkaW5nOiA0MHB4IDIwcHggMjhweDsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuY2FsbF90b19hY3Rpb24uY2FsbF90b19hY3Rpb24tLXBhZ2UgLmNvbHVtbiBhLCAuY2FsbF90b19hY3Rpb24uY2FsbF90b19hY3Rpb24tLXBhZ2UgLmNvbHVtbnMgYSwgLmNhbGxfdG9fYWN0aW9uLmNhbGxfdG9fYWN0aW9uLS1wYWdlIGE6dmlzaXRlZCB7XG4gICAgICAgICAgcGFkZGluZzogNDBweCA0MHB4IDI4cHg7IH0gfVxuICAuY2FsbF90b19hY3Rpb24gLmNvbHVtbiwgLmNhbGxfdG9fYWN0aW9uIC5jb2x1bW5zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuY2FsbF90b19hY3Rpb24gLmNvbHVtbjpsYXN0LWNoaWxkOjphZnRlciwgLmNhbGxfdG9fYWN0aW9uIC5jb2x1bW5zOmxhc3QtY2hpbGQ6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNhbGxfdG9fYWN0aW9uIC5jb2x1bW46Zmlyc3QtY2hpbGQgYSwgLmNhbGxfdG9fYWN0aW9uIC5jb2x1bW5zOmZpcnN0LWNoaWxkIGEge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDU2cHg7IH1cbiAgICAgIC5jYWxsX3RvX2FjdGlvbiAuY29sdW1uOmxhc3QtY2hpbGQ6OmJlZm9yZSwgLmNhbGxfdG9fYWN0aW9uIC5jb2x1bW5zOmxhc3QtY2hpbGQ6OmJlZm9yZSB7XG4gICAgICAgIHJpZ2h0OiAzNHB4OyB9XG4gICAgICAuY2FsbF90b19hY3Rpb24gLmNvbHVtbjpsYXN0LWNoaWxkIGEsIC5jYWxsX3RvX2FjdGlvbiAuY29sdW1uczpsYXN0LWNoaWxkIGEge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1NnB4OyB9IH1cbiAgICAuY2FsbF90b19hY3Rpb24gLmNvbHVtbiAubGluay0tYXF1YTpob3ZlciwgLmNhbGxfdG9fYWN0aW9uIC5jb2x1bW5zIC5saW5rLS1hcXVhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxNDgzOTQ7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5jYWxsX3RvX2FjdGlvbiAuY29sdW1uIC5saW5rLS1wdXJwbGU6aG92ZXIsIC5jYWxsX3RvX2FjdGlvbiAuY29sdW1ucyAubGluay0tcHVycGxlOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjMzdiYWE7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5jYWxsX3RvX2FjdGlvbiAuY29sdW1uIC5saW5rLS1ibHVlOmhvdmVyLCAuY2FsbF90b19hY3Rpb24gLmNvbHVtbnMgLmxpbmstLWJsdWU6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzUxYTlkODtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmNhbGxfdG9fYWN0aW9uIC5jb2x1bW4gLmxpbmstLWhvdC1waW5rOmhvdmVyLCAuY2FsbF90b19hY3Rpb24gLmNvbHVtbnMgLmxpbmstLWhvdC1waW5rOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjNTY3ODg7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5jYWxsX3RvX2FjdGlvbiAuY29sdW1uIGEsIC5jYWxsX3RvX2FjdGlvbiAuY29sdW1ucyBhLCAuY2FsbF90b19hY3Rpb24gLmNvbHVtbiBhOnZpc2l0ZWQsIC5jYWxsX3RvX2FjdGlvbiAuY29sdW1ucyBhOnZpc2l0ZWQge1xuICAgICAgcGFkZGluZzogMzBweCA0MHB4IDI4cHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuY2FsbF90b19hY3Rpb24gLmNvbHVtbiBhLCAuY2FsbF90b19hY3Rpb24gLmNvbHVtbnMgYSwgLmNhbGxfdG9fYWN0aW9uIC5jb2x1bW4gYTp2aXNpdGVkLCAuY2FsbF90b19hY3Rpb24gLmNvbHVtbnMgYTp2aXNpdGVkIHtcbiAgICAgICAgICBwYWRkaW5nOiAyMHB4IDIwcHggMThweDsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuY2FsbF90b19hY3Rpb24gLmNvbHVtbiBhLCAuY2FsbF90b19hY3Rpb24gLmNvbHVtbnMgYSwgLmNhbGxfdG9fYWN0aW9uIC5jb2x1bW4gYTp2aXNpdGVkLCAuY2FsbF90b19hY3Rpb24gLmNvbHVtbnMgYTp2aXNpdGVkIHtcbiAgICAgICAgICBwYWRkaW5nOiAyMHB4IDQwcHggMThweDsgfSB9XG4gICAgICAuY2FsbF90b19hY3Rpb24gLmNvbHVtbiBhOmhvdmVyLCAuY2FsbF90b19hY3Rpb24gLmNvbHVtbnMgYTpob3ZlciwgLmNhbGxfdG9fYWN0aW9uIC5jb2x1bW4gYTp2aXNpdGVkOmhvdmVyLCAuY2FsbF90b19hY3Rpb24gLmNvbHVtbnMgYTp2aXNpdGVkOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgICAgLmNhbGxfdG9fYWN0aW9uIC5jb2x1bW4gYTpob3ZlcjphZnRlciwgLmNhbGxfdG9fYWN0aW9uIC5jb2x1bW5zIGE6aG92ZXI6YWZ0ZXIsIC5jYWxsX3RvX2FjdGlvbiAuY29sdW1uIGE6dmlzaXRlZDpob3ZlcjphZnRlciwgLmNhbGxfdG9fYWN0aW9uIC5jb2x1bW5zIGE6dmlzaXRlZDpob3ZlcjphZnRlciB7XG4gICAgICAgICAgZmlsdGVyOiBpbnZlcnQoMSk7IH1cbiAgICAgIC5jYWxsX3RvX2FjdGlvbiAuY29sdW1uIGEgc3BhbiwgLmNhbGxfdG9fYWN0aW9uIC5jb2x1bW5zIGEgc3BhbiwgLmNhbGxfdG9fYWN0aW9uIC5jb2x1bW4gYTp2aXNpdGVkIHNwYW4sIC5jYWxsX3RvX2FjdGlvbiAuY29sdW1ucyBhOnZpc2l0ZWQgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgLmNhbGxfdG9fYWN0aW9uIC5jb2x1bW4gYSBzcGFuLCAuY2FsbF90b19hY3Rpb24gLmNvbHVtbnMgYSBzcGFuLCAuY2FsbF90b19hY3Rpb24gLmNvbHVtbiBhOnZpc2l0ZWQgc3BhbiwgLmNhbGxfdG9fYWN0aW9uIC5jb2x1bW5zIGE6dmlzaXRlZCBzcGFuIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE4cHg7IH0gfVxuICAgICAgICAuY2FsbF90b19hY3Rpb24gLmNvbHVtbiBhIHNwYW4udGl0bGUsIC5jYWxsX3RvX2FjdGlvbiAuY29sdW1ucyBhIHNwYW4udGl0bGUsIC5jYWxsX3RvX2FjdGlvbiAuY29sdW1uIGE6dmlzaXRlZCBzcGFuLnRpdGxlLCAuY2FsbF90b19hY3Rpb24gLmNvbHVtbnMgYTp2aXNpdGVkIHNwYW4udGl0bGUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzc1cmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAgIC5jYWxsX3RvX2FjdGlvbiAuY29sdW1uIGE6OmFmdGVyLCAuY2FsbF90b19hY3Rpb24gLmNvbHVtbnMgYTo6YWZ0ZXIsIC5jYWxsX3RvX2FjdGlvbiAuY29sdW1uIGE6dmlzaXRlZDo6YWZ0ZXIsIC5jYWxsX3RvX2FjdGlvbiAuY29sdW1ucyBhOnZpc2l0ZWQ6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMjRweDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xNHB4O1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTBBJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzQxLjAzOCcgaGVpZ2h0PSc0OC4wNTInIHZpZXdCb3g9JzAgMCA0MS4wMzggNDguMDUyJyUzRSUzQ3BhdGggaWQ9J0Fycm93Xy1fUmlnaHQnIGRhdGEtbmFtZT0nQXJyb3cgLSBSaWdodCcgZD0nTTI1Ni45OTQsMTk1LjA2NmwyMC4xNzktMTIuMTQyLDguMjMyLTMuMzg5LTguMjMyLTIuNzQyLTIwLjE3OS0xMi40NjgsNS4wMjgtNy44MjQsMzQuODEzLDE5LjgzMXY2LjU5MmwtMzQuODEzLDIwLjI4M1onIHRyYW5zZm9ybT0ndHJhbnNsYXRlKC0yNTYuMjk4IC0xNTUuODMyKScgc3Ryb2tlPSclMjMwMDAnIHN0cm9rZS13aWR0aD0nMScvJTNFJTNDL3N2ZyUzRVwiKTsgfVxuICAgIC5jYWxsX3RvX2FjdGlvbiAuY29sdW1uOjphZnRlciwgLmNhbGxfdG9fYWN0aW9uIC5jb2x1bW5zOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICB3aWR0aDogNjAlO1xuICAgICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbWFyZ2luOiBhdXRvOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5jYWxsX3RvX2FjdGlvbiAuY29sdW1uOjphZnRlciwgLmNhbGxfdG9fYWN0aW9uIC5jb2x1bW5zOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGhlaWdodDogNTAlO1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICB0b3A6IDI1JTtcbiAgICAgICAgbWFyZ2luOiAwOyB9IH1cblxuLnR3by1jb2wtYmxvY2sge1xuICBwYWRkaW5nLXRvcDogODVweDsgfVxuICAudHdvLWNvbC1ibG9jay0tbWQtcGFkZGluZyAudHdvLWNvbC1ibG9ja19fbGVmdCwgLnR3by1jb2wtYmxvY2stLW1kLXBhZGRpbmcgLnR3by1jb2wtYmxvY2tfX3JpZ2h0IHtcbiAgICBwYWRkaW5nOiAxNXB4IDI1cHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnR3by1jb2wtYmxvY2stLW1kLXBhZGRpbmcgLnR3by1jb2wtYmxvY2tfX2xlZnQsIC50d28tY29sLWJsb2NrLS1tZC1wYWRkaW5nIC50d28tY29sLWJsb2NrX19yaWdodCB7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggNDBweDsgfSB9XG4gIC50d28tY29sLWJsb2NrLS1sZy1wYWRkaW5nIC50d28tY29sLWJsb2NrX19sZWZ0LCAudHdvLWNvbC1ibG9jay0tbGctcGFkZGluZyAudHdvLWNvbC1ibG9ja19fcmlnaHQge1xuICAgIHBhZGRpbmc6IDE1cHggMjVweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAudHdvLWNvbC1ibG9jay0tbGctcGFkZGluZyAudHdvLWNvbC1ibG9ja19fbGVmdCwgLnR3by1jb2wtYmxvY2stLWxnLXBhZGRpbmcgLnR3by1jb2wtYmxvY2tfX3JpZ2h0IHtcbiAgICAgICAgcGFkZGluZzogMTVweCA1MHB4OyB9IH1cbiAgLnR3by1jb2wtYmxvY2tfX2xlZnQsIC50d28tY29sLWJsb2NrX19yaWdodCB7XG4gICAgcGFkZGluZzogMTVweCAyNXB4OyB9XG4gIC50d28tY29sLWJsb2NrX19sZWZ0IHtcbiAgICBtYXJnaW46IDAgMCA0MHB4IDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnR3by1jb2wtYmxvY2tfX2xlZnQge1xuICAgICAgICBtYXJnaW46IDAgNDBweCAwIDA7IH0gfVxuXG4ub3BlbmluZy1ob3VycyB7XG4gIG1hcmdpbjogMCAwIDMycHg7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLm9wZW5pbmctaG91cnMgc3BhbiB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5vcGVuaW5nLWhvdXJzLWFkZGl0aW9uYWwge1xuICBmb250LXNpemU6IDE0cHg7IH1cblxuLm9mZmVyLWRlc2NyaXB0aW9uLWJsb2NrLXRpdGxlIHtcbiAgcGFkZGluZzogMTBweCAxNXB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBiYWNrZ3JvdW5kOiAjMGEwYTBhO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5vZmZlci1kZXNjcmlwdGlvbi1ibG9jay10aXRsZV9fcGluayB7XG4gICAgYmFja2dyb3VuZDogI2M1Njc4ODtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAub2ZmZXItZGVzY3JpcHRpb24tYmxvY2stdGl0bGVfX3B1cnBsZSB7XG4gICAgYmFja2dyb3VuZDogI2MzN2JhYTsgfVxuICAub2ZmZXItZGVzY3JpcHRpb24tYmxvY2stdGl0bGVfX2JsdWUge1xuICAgIGJhY2tncm91bmQ6ICM1MWE5ZDg7IH1cbiAgLm9mZmVyLWRlc2NyaXB0aW9uLWJsb2NrLXRpdGxlX19hcXVhIHtcbiAgICBiYWNrZ3JvdW5kOiAjMTQ4Mzk0OyB9XG4gIC5vZmZlci1kZXNjcmlwdGlvbi1ibG9jay10aXRsZSBoMyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxuLm9mZmVyLWRlc2NyaXB0aW9uX190aXRsZS1ob2xkZXIge1xuICBwYWRkaW5nOiAxMnB4IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMGEwYTBhOyB9XG5cbi5vZmZlci1kZXNjcmlwdGlvbl9fdGl0bGUge1xuICBtYXJnaW46IDA7IH1cblxuLm9mZmVyLWRlc2NyaXB0aW9uX19oZWFkbGluZSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMGEwYTBhO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5vZmZlci1kZXNjcmlwdGlvbl9fZXh0cmEgcDpsYXN0LWNoaWxkLCAub2ZmZXItZGVzY3JpcHRpb25fX2V4dHJhIHVsOmxhc3QtY2hpbGQsIC5vZmZlci1kZXNjcmlwdGlvbl9fZXh0cmEgb2w6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLm9mZmVyLWRlc2NyaXB0aW9uX19idXR0b25zIC5idG4ge1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cbiAgLm9mZmVyLWRlc2NyaXB0aW9uX19idXR0b25zIC5idG46bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi5vZmZlci1kZXNjcmlwdGlvbl9fdGVybXMgcCB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuXG4ub2ZmZXItZGVzY3JpcHRpb25fX2ltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDQyNXB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm9mZmVyLWRlc2NyaXB0aW9uX19pbWcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyA0MHB4KTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDA7IH0gfVxuICAub2ZmZXItZGVzY3JpcHRpb25fX2ltZzpiZWZvcmUge1xuICAgIGxlZnQ6IDA7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLm9mZmVyLWRlc2NyaXB0aW9uX19pbWc6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogNTB2dztcbiAgICAgICAgdG9wOiAtODVweDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSArIDg1cHgpOyB9IH1cblxuLm9mZmVyLWRlc2NyaXB0aW9uX19yaWdodC1ibG9jayB7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5jaGVja2xpc3QtaG9sZGVyIHtcbiAgcGFkZGluZzogNzBweCAwIDQwcHg7IH1cblxuLmNoZWNrbGlzdC1yb3cgLmNvbHVtbiwgLmNoZWNrbGlzdC1yb3cgLmNvbHVtbnMge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbi5jaGVja2xpc3RfX2l0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgZmxleC1ncm93OiAxO1xuICBtYXJnaW4tYm90dG9tOiAxNnB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNoZWNrbGlzdF9faXRlbS0tNCB7XG4gICAgICB3aWR0aDogMzEuNSU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jaGVja2xpc3RfX2l0ZW0tLTYge1xuICAgICAgd2lkdGg6IDQ4LjUlOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY2hlY2tsaXN0X19pdGVtLS04IHtcbiAgICAgIHdpZHRoOiA2NS41JTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNoZWNrbGlzdF9faXRlbSB7XG4gICAgICBtYXJnaW46IC43NSU7IH0gfVxuICAuY2hlY2tsaXN0X19pdGVtIC53aGl0ZS1iZyB7XG4gICAgcGFkZGluZzogMzBweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbi5jaGVja2xpc3QgUCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmNoZWNrbGlzdCBoNCB7XG4gIG1hcmdpbjogMDtcbiAgY29sb3I6ICNjMzdiYWE7IH1cbiAgLmNoZWNrbGlzdCBoNCBzcGFuLm51bWJlciB7XG4gICAgYmFja2dyb3VuZDogI2MzN2JhYTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwYWRkaW5nOiAzcHggN3B4IDFweCA4cHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIG1hcmdpbjogMCAxMHB4IDAgMDsgfVxuXG4ud2h5LXJldmlldyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZy1ib3R0b206IDUwcHg7IH1cbiAgLndoeS1yZXZpZXctLWFxdWEge1xuICAgIGJhY2tncm91bmQ6ICMxNDgzOTQ7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLndoeS1yZXZpZXctLXdoaXRlIGgyIHtcbiAgICBjb2xvcjogIzE0ODM5NDsgfVxuICAud2h5LXJldmlldy0td2hpdGUgLndoeS1yZXZpZXdfX2NvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAud2h5LXJldmlldy0td2hpdGUgLndoeS1yZXZpZXdfX2NvbnRlbnQge1xuICAgICAgICB3aWR0aDogNzUlOyB9IH1cbiAgLndoeS1yZXZpZXdfX2NvbnRlbnQge1xuICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAud2h5LXJldmlld19fY29udGVudCB7XG4gICAgICAgIHdpZHRoOiA3NSU7XG4gICAgICAgIG1heC13aWR0aDogNjI1cHg7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAud2h5LXJldmlld19fZmVlZm8ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogNzJweDtcbiAgICB3aWR0aDogNzJweDsgfVxuICAgIC53aHktcmV2aWV3X19mZWVmbzpob3ZlciB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLndoeS1yZXZpZXdfX2ZlZWZvIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogNDBweDsgfSB9XG4gIC53aHktcmV2aWV3IGgyIHtcbiAgICBmb250LWZhbWlseTogXCJBYnVnZXRcIiwgc2VyaWY7XG4gICAgZm9udC1zaXplOiAxMDlweDtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIG1hcmdpbjogMCAwIDE2cHg7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLndoeS1yZXZpZXcgcCB7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC53aHktcmV2aWV3IHAge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgLndoeS1yZXZpZXcgLnJldmlldy1hY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLndoeS1yZXZpZXcgLnJldmlldy1hY3Rpb25zIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgICAud2h5LXJldmlldyAucmV2aWV3LWFjdGlvbnMgLnJldmlld3Mtd3JhcHBlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1zZWxmOiBmbGV4LWVuZDsgfVxuICAgIC53aHktcmV2aWV3IC5yZXZpZXctYWN0aW9ucyAucmV2aWV3cy13aWRnZXQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gICAgICAud2h5LXJldmlldyAucmV2aWV3LWFjdGlvbnMgLnJldmlld3Mtd2lkZ2V0Omxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLndoeS1yZXZpZXcgLmJ1dHRvbi13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IGF1dG8gMXJlbSAwIDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLndoeS1yZXZpZXcgLmJ1dHRvbi13cmFwcGVyIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7IH0gfVxuICAgIC53aHktcmV2aWV3IC5idXR0b24td3JhcHBlciBhLFxuICAgIC53aHktcmV2aWV3IC5idXR0b24td3JhcHBlciBhOnZpc2l0ZWQge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcbiAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogNDAwbXMgZWFzZSBjb2xvciwgNDAwbXMgZWFzZSBiYWNrZ3JvdW5kOyB9XG4gICAgICAud2h5LXJldmlldyAuYnV0dG9uLXdyYXBwZXIgYTpob3ZlciwgLndoeS1yZXZpZXcgLmJ1dHRvbi13cmFwcGVyIGE6Zm9jdXMsXG4gICAgICAud2h5LXJldmlldyAuYnV0dG9uLXdyYXBwZXIgYTp2aXNpdGVkOmhvdmVyLFxuICAgICAgLndoeS1yZXZpZXcgLmJ1dHRvbi13cmFwcGVyIGE6dmlzaXRlZDpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAjMTQ4Mzk0O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4gICAgLndoeS1yZXZpZXcgLmJ1dHRvbi13cmFwcGVyIC5idG4tLWFxdWEsXG4gICAgLndoeS1yZXZpZXcgLmJ1dHRvbi13cmFwcGVyIC5idG4tLWFxdWE6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogIzE0ODM5NDtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICMxNDgzOTQ7IH1cbiAgICAgIC53aHktcmV2aWV3IC5idXR0b24td3JhcHBlciAuYnRuLS1hcXVhOmhvdmVyLCAud2h5LXJldmlldyAuYnV0dG9uLXdyYXBwZXIgLmJ0bi0tYXF1YTpmb2N1cyxcbiAgICAgIC53aHktcmV2aWV3IC5idXR0b24td3JhcHBlciAuYnRuLS1hcXVhOnZpc2l0ZWQ6aG92ZXIsXG4gICAgICAud2h5LXJldmlldyAuYnV0dG9uLXdyYXBwZXIgLmJ0bi0tYXF1YTp2aXNpdGVkOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzE0ODM5NDtcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cblxuI3Jldmlldy1jYXJvdXNlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogLTQwcHg7IH1cbiAgI3Jldmlldy1jYXJvdXNlbCAub3dsLXN0YWdlLW91dGVyIHtcbiAgICBwYWRkaW5nOiA0MHB4IDA7IH1cbiAgI3Jldmlldy1jYXJvdXNlbCAub3dsLWRvdHMge1xuICAgIG1hcmdpbjogMCAwIDE2cHg7IH1cbiAgI3Jldmlldy1jYXJvdXNlbCAucmV2aWV3IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMCA0MHB4IDAgMzVweDsgfVxuICAgICNyZXZpZXctY2Fyb3VzZWwgLnJldmlldzo6YmVmb3JlLCAjcmV2aWV3LWNhcm91c2VsIC5yZXZpZXc6OmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjMTQ4Mzk0O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZm9udC1mYW1pbHk6IFwiQWJ1Z2V0XCIsIHNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxNTFweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMjVweDsgfVxuICAgICNyZXZpZXctY2Fyb3VzZWwgLnJldmlldzo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDIwMUMnO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogLTIxcHg7IH1cbiAgICAjcmV2aWV3LWNhcm91c2VsIC5yZXZpZXc6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDIwMUQnO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IC05M3B4OyB9XG5cbi5mZWF0dXJlZC1yZXZpZXcge1xuICBtYXJnaW46IDEyNXB4IDI1cHggMTI1cHggMjVweDsgfVxuICAuZmVhdHVyZWQtcmV2aWV3IC50aXRsZSB7XG4gICAgYmFja2dyb3VuZDogIzBhMGEwYTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHBhZGRpbmc6IDEwcHggMThweCAxM3B4O1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLmZlYXR1cmVkLXJldmlldyAudGl0bGUuY29sb3VyX19waW5rIHtcbiAgICAgIGJhY2tncm91bmQ6ICNjNTY3ODg7IH1cbiAgICAuZmVhdHVyZWQtcmV2aWV3IC50aXRsZS5jb2xvdXJfX3B1cnBsZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjYzM3YmFhOyB9XG4gICAgLmZlYXR1cmVkLXJldmlldyAudGl0bGUuY29sb3VyX19ibHVlIHtcbiAgICAgIGJhY2tncm91bmQ6ICM1MWE5ZDg7IH1cbiAgICAuZmVhdHVyZWQtcmV2aWV3IC50aXRsZS5jb2xvdXJfX2FxdWEge1xuICAgICAgYmFja2dyb3VuZDogIzE0ODM5NDsgfVxuICAgIC5mZWF0dXJlZC1yZXZpZXcgLnRpdGxlIGgzIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgLmZlYXR1cmVkLXJldmlldyAuY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBtYXJnaW46IDAgMCAyM3B4IDA7XG4gICAgcGFkZGluZzogMTBweCAzMnB4OyB9XG4gICAgLmZlYXR1cmVkLXJldmlldyAuY29udGVudCBpbWcge1xuICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgbWFyZ2luOiAwIDIwcHg7IH1cbiAgICAuZmVhdHVyZWQtcmV2aWV3IC5jb250ZW50IGgyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuZmVhdHVyZWQtcmV2aWV3IC5jb250ZW50IHAge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGZvbnQtc2l6ZTogMS4zMTI1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMThweDsgfVxuICAgICAgLmZlYXR1cmVkLXJldmlldyAuY29udGVudCBwLnJldmlld2VyIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgICAgICAuZmVhdHVyZWQtcmV2aWV3IC5jb250ZW50IHAucmV2aWV3ZXIgc3Bhbi5kYXRlIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAxMHB4OyB9XG4gICAgLmZlYXR1cmVkLXJldmlldyAuY29udGVudCAuYnRuIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cblxuLnJldmlldyB7XG4gIG1hcmdpbi1ib3R0b206IDIzcHg7XG4gIGhlaWdodDogYXV0bztcbiAgZmxleDogMSAwIGF1dG87IH1cbiAgLnJldmlldyAuY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBwYWRkaW5nOiAxMHB4IDMycHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5yZXZpZXcgLmNvbnRlbnQgaW1nIHtcbiAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgIG1hcmdpbjogMCAyMHB4OyB9XG4gICAgLnJldmlldyAuY29udGVudCBoMiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgfVxuICAgIC5yZXZpZXcgLmNvbnRlbnQgaHIge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAucmV2aWV3IC5jb250ZW50IHAge1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IGF1dG87XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IH1cbiAgICAgIC5yZXZpZXcgLmNvbnRlbnQgcC5yZXZpZXdlciB7XG4gICAgICAgIG1hcmdpbjogNDVweCAwIDEwcHggMDtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgICAgICAucmV2aWV3IC5jb250ZW50IHAucmV2aWV3ZXIgc3Bhbi5kYXRlIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAxMHB4OyB9XG4gICAgLnJldmlldyAuY29udGVudCAuYnRuIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cblxuLnJhdGluZyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBU0lBQUFCRkNBWUFBQUR1T092Z0FBQUZ3a2xFUVZSNG5PM2R6YXZjVkJ6RzhlZUtpS0pZR3d2MUJWVFVxMksxMU9KR0JWOTJra1lFNmFLckZvUnVTbWxGUzhXVnVCQVgvZ1Bpd2szQjFjVkZUWU03Y2FNYlFaZHFMNktJTDRzMnZtQXRsT3FWd3ozVnVYTm1Kc25rbk9Ra2ZEOFFyRG1aL1BLY3dKa3prNXVNQUFBQUFBQUFBQUFBQUFBQUFBQUErcllTd3hrbzgvUlc4OThrSzM1MkdqM1oyTmhZdUtPVmxYQmRRYjcyeURmc2ZGV3VybWp2eXF1MnprdVJISTl2NUJzMjhnWFcrNHpJanNiZjJ2KzlPOVNvM05jN0R2bjhJTit3ODFXNXFxSzlDeTlMdXRZdXIwUndQTDZSYjlqSTE0RmVaMFJsbnU2UTlKMms2KzJxQzVMdVNyTGluTE54UzMyODQ1RFBIL0lOTzErVnZtZEVKeVk2UWZiZko1eXRob3Q4dzBhK2p2UTJJeXJ6ZEx1a0g2WTZRblpVdmlQSml0SjVVUXRkditPUWozeE5qRDFmbFQ1blJNZG5kSUxzdW1QTzJ1RWgzN0NScjBPOXpJaktQTDNKZmpiZDVqUnUrdDErVnYzTmFWbFNsKzg0NUNOZlUyUFBWNld2R2RHeEJaMGcyM2JjV1RzYzVDTmZ6S0xMMS9tTXFNelRHK3hvZkxQVHVOVjVPeXIvNmJRc29hdDNIUEw5aDN3TmpEMWZsVDVtUkVkcmRJTHNOa2VkdGZFajN5Ynl4U25LZkozT2lCcU14bGQ0RzVXN2VNY2huNE44TlkwOVg1V3VaMFNIRzNTQzdMYUhuYlh4SXQ5VzVJdEx0UGs2bXhHVmVYcWR2YWZsRnFkeHNWL3NQVEFYRjI1VklmUTdEdm5tSWw4Tlk4OVhKY2hBVk9hcG1XbmRLZWxlU2ZkTFdwWDBxS1RIblkzcitWVFM1NUxPU3ZwYTBycWs3NU9zK0tmdURueWVhUEkxUnI0S1k4OVhwZFZBVk9icDdUYnNmWFpadFl0WmQ0M3pBcjh1MlE0NWE1ZHY3TEtlWk1XUDA1V1dPZEhrQzRwOEU4YWVyNHFiYm80eVR4K1I5SUtrQjJ6UTFUbC9tUm1EQzdaelRFZDlKZW1EN2Z2T2ZMSG91SDQ5czQ5ODhTRGZsS0huUzdKaVliNG1EMFl6VTdJbkpEM2p0TVRIbktBOWR2bFkwbHZrSTE5RXlEZWw5bFd6SkN2K2twVFpIUStGT2RiTUh2dEM1SXNTK2F5eDUydDArWDZpTTNLbk1UNTUzVTRnWDVUSU4yWE0rWmI2c3JyTVUvTkYySnFrNTV6R09Id29hWCtTRlpldUhFMlRMd1BKMXp2eVRSbDZ2aXBML1VHakxiRGZGb3hONDA0Z1gxVElWMkdNK1piK3krcUp6bGh6R3Z1ejF2WWtrNjlYNUt0cGJQbGEzZUpoQ3g2UTlMN1QyRDF6REFkOG5HVHk5WUo4RFkwcFgrdDd6WktzK0Z2U3daNDd3OVErYUkvRksvSjFnbnhMR2tzK0x6ZTlUblRHS2FjeHZGT2hUakw1T2tHK2xzYVF6OXZkOS9aQURrbDZ4MmtNeDlRNkZQSWtreThvOG5reTlIeGVId09TWklXNUJubWtvODR3Tlk3WW1wMGduMWZrODJ6SStVTGRmVy8yKzlNU2p4eW95enlhNExZbW5lRDU3bWJ5dFVPK0tXUFBWeVhVZzlITXMwOTJPbXY5MldscjlJVjg3WkF2ck1IbEN6VVFQUmo0b1dzcnRrWmZ5TmNPK2NJYVhMNVFBOUZEenBwaDFwaUhmTU9vTVEvNUlxc1JhaURhNWF3WlpvMTV5RGVNR3ZPUUw3SWF6SWppclUyK1lkY21Yd1BNaU9LdFRiNWgxeVpmQTk2LzBDcno5RWI3MjlsZDJKWmt4UjkxNnZpNlBFbytyOGhualQxZmxSQXpvb2VkTmRVMjdOSkZyYmJJNXlMZmJPU3JLY1JBMVBTeTNtbEp1KzF5Mm1sZHJJOUxwT1RiaW56emthK21KZy9QcjZ2dVo4ZFBKTDJXWk1WbkUrdWVML1AwTWZ1dzdhZWNWN2o2K0J4T3ZrM2s4MWZMcDBIbUN6RVE3WGJXYlBXbDdZQ1BuSmJOKzJWTXh6eGQ1dW16dGtQMk9CdlZyeFVDK2NoSHZucTFhdXZ5bzltNmZZalQzbm1kTU1sdXM5ZStadDNaWUhHdGtPYlZKTjhFOGkyc0ZkSzhtbEhuODNyVnJNeFQ4NlA5NTZaV201dnYzcEQwWHBJVmw1MFgxZHV2bWJtOUtPbDFjN1BkVlBPT0pDdk9PeSthNHVPcUJQbklOd3Y1cXZOVjhUMGptdndXdlpSMDB2d3FaWklWN3k3YkNkb2NuUytiZmRoZnVEeHA5ejJyWm1qa1d3TDVPalBZZkw0SG9sMzI1MmJmbEhSUGtoVnZKMWx4MGRscVNXWmZacDltMzdiR2hZNi9FQ1JmQytRTGJ1ejU2aW56OU1reVQwTTlBOFZoYXBtYVRzTU1adXE3YUtsWmozd2VrZTkvc3pLTktSOEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUZoSTByL2hhbmhYaThRVm53QUFBQUJKUlU1RXJrSmdnZz09XCIpO1xuICBoZWlnaHQ6IDI2cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW46IDdweCAwIDA7IH1cbiAgLnJhdGluZy0tNSB7XG4gICAgd2lkdGg6IDExNnB4OyB9XG4gIC5yYXRpbmctLTQge1xuICAgIHdpZHRoOiA4N3B4OyB9XG4gIC5yYXRpbmctLTMge1xuICAgIHdpZHRoOiA2N3B4OyB9XG4gIC5yYXRpbmctLTIge1xuICAgIHdpZHRoOiA0NXB4OyB9XG4gIC5yYXRpbmctLTEge1xuICAgIHdpZHRoOiAyM3B4OyB9XG5cbi5oZWFkZXIge1xuICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4gIC5oZWFkZXIubGFyZ2Uge1xuICAgIGhlaWdodDogNjUwcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIDMwJTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmhlYWRlci5sYXJnZSBoMSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkFidWdldFwiLCBzZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogNS42MjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogNS45Mzc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIG1hcmdpbjogMzJweCAwIDA7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5oZWFkZXIubGFyZ2UgaDEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogOS4zNzVyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDkuMzc1cmVtOyB9IH1cbiAgICAuaGVhZGVyLmxhcmdlLnRleHRfYWxpZ25fbGVmdCBoMSB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmhlYWRlci5sYXJnZS50ZXh0X2FsaWduX2xlZnQgaDEge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDM1MHB4O1xuICAgICAgICAgIHBhZGRpbmc6IDAgMTAwcHg7IH0gfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmhlYWRlci5sYXJnZS50ZXh0X2FsaWduX2xlZnQgaDEge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDM3NXB4OyB9IH1cblxuLnN1YnNjcmliZS10YWIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IC00MHB4O1xuICB0b3A6IDUwJTtcbiAgei1pbmRleDogMjI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgdHJhbnNpdGlvbjogNTAwbXMgZWFzZSB0cmFuc2Zvcm0sIDUwMG1zIGVhc2UgbGVmdDsgfVxuICAuc3Vic2NyaWJlLXRhYiBhIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7IH1cbiAgLnN1YnNjcmliZS10YWI6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKSBzY2FsZSgxLjIpO1xuICAgIGxlZnQ6IC0zNHB4OyB9XG5cbi5ibG9nLWxpc3QgLnJvdyAucm93IHtcbiAgbWFyZ2luOiAwOyB9XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tY29sb3ItbGl0ZXJhbHMsIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcblxuLy8vL1xuLy8vIEBncm91cCBnbG9iYWxcbi8vLy9cblxuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8vIEZvbnQgc2l6ZSBhdHRyaWJ1dGUgYXBwbGllZCB0byBgPGh0bWw+YCBhbmQgYDxib2R5PmAuIFdlIHVzZSAxMDAlIGJ5IGRlZmF1bHQgc28gdGhlIHZhbHVlIGlzIGluaGVyaXRlZCBmcm9tIHRoZSB1c2VyJ3MgYnJvd3NlciBzZXR0aW5ncy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHdpZHRoIG9mIHlvdXIgc2l0ZS4gVXNlZCBieSB0aGUgZ3JpZCB0byBkZXRlcm1pbmUgcm93IHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBhbGwgdHlwZS4gYCRnbG9iYWwtbGluZWhlaWdodGAgaXMgMjRweCB3aGlsZSBgJGdsb2JhbC1mb250LXNpemVgIGlzIDE2cHhcbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbGluZWhlaWdodDogMS41ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JzIHVzZWQgZm9yIGJ1dHRvbnMsIGNhbGxvdXRzLCBsaW5rcywgZXRjLiBUaGVyZSBtdXN0IGFsd2F5cyBiZSBhIGNvbG9yIGNhbGxlZCBgcHJpbWFyeWAuXG4vLy8gQHR5cGUgTWFwXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICMxNzc5YmEsXG4gIHNlY29uZGFyeTogIzc2NzY3NixcbiAgc3VjY2VzczogIzNhZGI3NixcbiAgd2FybmluZzogI2ZmYWUwMCxcbiAgYWxlcnQ6ICNjYzRiMzcsXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbGlnaHQgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGxpZ2h0LWdyYXk6ICNlNmU2ZTYgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBtZWRpdW0gZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJG1lZGl1bS1ncmF5OiAjY2FjYWNhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgZGFyayBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZGFyay1ncmF5OiAjOGE4YThhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgYmxhY2sgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibGFjazogIzBhMGEwYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIHdoaXRlIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kd2hpdGU6ICNmZWZlZmUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIExpc3RcbiRib2R5LWZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vLyBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSBhbnRpYWxpYXNlZCB0eXBlLCB1c2luZyB0aGUgYC13ZWJraXQtZm9udC1zbW9vdGhpbmdgIGFuZCBgLW1vei1vc3gtZm9udC1zbW9vdGhpbmdgIENTUyBwcm9wZXJ0aWVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIG1hcmdpbiBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcGFkZGluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBvc2l0aW9uaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBvc2l0aW9uOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIG5vcm1hbCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIGJvbGQgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBlbGVtZW50cyB0aGF0IGhhdmUgYSBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1yYWRpdXM6IDAgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBDYW4gYmUgb3ZlcndyaXR0ZW4gYXQgaW5kaXZpZHVhbCBtZW51IGNvbXBvbmVudCBsZXZlbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIE5lc3RlZCBtYXJnaW4gZm9yIHN1Ym1lbnUuXG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIHRleHQgZGlyZWN0aW9uIG9mIHRoZSBDU1MuIENhbiBiZSBlaXRoZXIgYGx0cmAgb3IgYHJ0bGAuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGZvciBjb21wb25lbnRzIHRoYXQgc3VwcG9ydCBpdC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLWZsZXhib3g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVkIHJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHByb3RvdHlwZXMgaWYgYXBwbGljYWJsZVxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIEJ1dHRvbiBjdXJzb3IncyB2YWx1ZSwgYGF1dG9gIGJ5IGRlZmF1bHRcbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLWJ1dHRvbi1jdXJzb3I6IGF1dG8gIWRlZmF1bHQ7XG5cbkBpZiBub3QgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICBAZXJyb3IgJ0luICRmb3VuZGF0aW9uLXBhbGV0dGUsIHlvdSBtdXN0IGhhdmUgYSBjb2xvciBuYW1lZCBcInByaW1hcnlcIi4nO1xufVxuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgdGV4dCBkaXJlY3Rpb25cbiRnbG9iYWwtbGVmdDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIHJpZ2h0LCBsZWZ0KTtcbiRnbG9iYWwtcmlnaHQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBsZWZ0LCByaWdodCk7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlIHRoYXQgY29udGFpbnMgdGhlIGZsZXgganVzdGlmeWluZyBvcHRpb25zXG4kLXpmLWZsZXgtanVzdGlmeTogLXpmLWZsZXgtanVzdGlmeSgkZ2xvYmFsLXRleHQtZGlyZWN0aW9uKTtcblxuLy8vIEdsb2JhbCB0b2xlcmFuY2UgZm9yIGNvbG9yIHBpY2sgY29udHJhc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlOiAwICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgY29sb3JzXG5AaW5jbHVkZSBhZGQtZm91bmRhdGlvbi1jb2xvcnM7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXMge1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW5vcm1hbGl6ZTtcblxuICAvLyBUaGVzZSBzdHlsZXMgYXJlIGFwcGxpZWQgdG8gYSA8bWV0YT4gdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHRcbiAgLmZvdW5kYXRpb24tbXEge1xuICAgIGZvbnQtZmFtaWx5OiAnI3stemYtYnAtc2VyaWFsaXplKCRicmVha3BvaW50cyl9JztcbiAgfVxuXG4gIGh0bWwge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIFNldCBib3gtc2l6aW5nIGdsb2JhbGx5IHRvIGhhbmRsZSBwYWRkaW5nIGFuZCBib3JkZXIgd2lkdGhzXG4gICosXG4gICo6OmJlZm9yZSxcbiAgKjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBEZWZhdWx0IGJvZHkgc3R5bGVzXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG5cbiAgICBAaWYgKCRib2R5LWFudGlhbGlhc2VkKSB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAvLyBHcmlkIGRlZmF1bHRzIHRvIGdldCBpbWFnZXMgYW5kIGVtYmVkcyB0byB3b3JrIHByb3Blcmx5XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHRleHRhcmVhIHRha2VzIG9uIGhlaWdodCBhdXRvbWF0aWNhbGx5XG4gIHRleHRhcmVhIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIE1ha2Ugc2VsZWN0IGVsZW1lbnRzIGFyZSAxMDAlIHdpZHRoIGJ5IGRlZmF1bHRcbiAgc2VsZWN0IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gU3R5bGVzIEdvb2dsZSBNYXBzIGFuZCBNYXBRdWVzdCBlbWJlZHMgcHJvcGVybHlcbiAgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1pZHNcbiAgLm1hcF9jYW52YXMsXG4gIC5tcWEtZGlzcGxheSB7XG4gICAgaW1nLFxuICAgIGVtYmVkLFxuICAgIG9iamVjdCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCA8YnV0dG9uPiBzdHlsZXMgY3JlYXRlZCBieSBtb3N0IGJyb3dzZXJzXG4gIGJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY3Vyc29yOiAkZ2xvYmFsLWJ1dHRvbi1jdXJzb3I7XG4gIH1cblxuICAvLyBQcmV2ZW50IHRleHQgb3ZlcmZsb3cgb24gcHJlXG4gIHByZSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvLyBNYWtlIHJlc2V0IGluaGVyaXQgZm9udC1mYW1pbHkgaW5zdGVhZCBvZiBzZXR0aW5ncyBzYW5zLXNlcmlmXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIG9wdGdyb3VwLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEludGVybmFsIGNsYXNzZXMgdG8gc2hvdy9oaWRlIGVsZW1lbnRzIGluIEphdmFTY3JpcHRcbiAgLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaXMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8vICBUcmF2ZWxCdXJlYXUgc2V0dGluZ3MuXG4vLyAgQmFzZWQgb24gRm91bmRhdGlvbiBmb3IgU2l0ZXMgdjYuNC4zXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyAgVGFibGUgb2YgQ29udGVudHM6XG4vL1xuLy8gICAxLiBHbG9iYWxcbi8vICAgMi4gQnJlYWtwb2ludHNcbi8vICAgMy4gVGhlIEdyaWRcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAgIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gICA2LiBBYmlkZVxuLy8gICA3LiBBY2NvcmRpb25cbi8vICAgOC4gQWNjb3JkaW9uIE1lbnVcbi8vICAgOS4gQmFkZ2Vcbi8vICAxMC4gQnJlYWRjcnVtYnNcbi8vICAxMS4gQnV0dG9uXG4vLyAgMTIuIEJ1dHRvbiBHcm91cFxuLy8gIDEzLiBDYWxsb3V0XG4vLyAgMTQuIENhcmRcbi8vICAxNS4gQ2xvc2UgQnV0dG9uXG4vLyAgMTYuIERyaWxsZG93blxuLy8gIDE3LiBEcm9wZG93blxuLy8gIDE4LiBEcm9wZG93biBNZW51XG4vLyAgMTkuIEZsZXhib3ggVXRpbGl0aWVzXG4vLyAgMjAuIEZvcm1zXG4vLyAgMjEuIExhYmVsXG4vLyAgMjIuIE1lZGlhIE9iamVjdFxuLy8gIDIzLiBNZW51XG4vLyAgMjQuIE1ldGVyXG4vLyAgMjUuIE9mZi1jYW52YXNcbi8vICAyNi4gT3JiaXRcbi8vICAyNy4gUGFnaW5hdGlvblxuLy8gIDI4LiBQcm9ncmVzcyBCYXJcbi8vICAyOS4gUHJvdG90eXBlIEFycm93XG4vLyAgMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XG4vLyAgMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxuLy8gIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcbi8vICAzMy4gUHJvdG90eXBlIERpc3BsYXlcbi8vICAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xuLy8gIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXG4vLyAgMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xuLy8gIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cbi8vICAzOC4gUHJvdG90eXBlIFJvdW5kZWRcbi8vICAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxuLy8gIDQwLiBQcm90b3R5cGUgU2hhZG93XG4vLyAgNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vICA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcbi8vICA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxuLy8gIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxuLy8gIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcbi8vICA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gIDQ3LiBSZXZlYWxcbi8vICA0OC4gU2xpZGVyXG4vLyAgNDkuIFN3aXRjaFxuLy8gIDUwLiBUYWJsZVxuLy8gIDUxLiBUYWJzXG4vLyAgNTIuIFRodW1ibmFpbFxuLy8gIDUzLiBUaXRsZSBCYXJcbi8vICA1NC4gVG9vbHRpcFxuLy8gIDU1LiBUb3AgQmFyXG4vLyAgNTYuIFh5IEdyaWRcblxuQGltcG9ydCAndXRpbC91dGlsJztcbkBpbXBvcnQgJ2dsb2JhbC9jb2xvcnMnO1xuXG4vLyAxLiBHbG9iYWxcbi8vIC0tLS0tLS0tLVxuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJTtcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEwMjApO1xuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjU7XG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICMxNzc5YmEsXG4gIHNlY29uZGFyeTogIzc2NzY3NixcbiAgc3VjY2VzczogIzNhZGI3NixcbiAgd2FybmluZzogI2ZmYWUwMCxcbiAgYWxlcnQ6ICNjYzRiMzcsXG4pO1xuJGxpZ2h0LWdyYXk6ICNlNmU2ZTY7XG4kbWVkaXVtLWdyYXk6ICNjYWNhY2E7XG4kZGFyay1ncmF5OiAjOGE4YThhO1xuJGJsYWNrOiAjMGEwYTBhO1xuJHdoaXRlOiAjZmVmZWZlO1xuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlO1xuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrO1xuJGJvZHktZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkRyb2lkIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuJGJvZHktYW50aWFsaWFzZWQ6IHRydWU7XG4kZ2xvYmFsLW1hcmdpbjogMXJlbTtcbiRnbG9iYWwtcGFkZGluZzogMXJlbTtcbiRnbG9iYWwtcG9zaXRpb246IDFyZW07XG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbDtcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQ7XG4kZ2xvYmFsLXJhZGl1czogMDtcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtO1xuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyO1xuJGdsb2JhbC1mbGV4Ym94OiB0cnVlO1xuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlO1xuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBhdXRvO1xuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMDtcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZTtcblxuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuXG4vLyAyLiBCcmVha3BvaW50c1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKTtcbiRwcmludC1icmVha3BvaW50OiBsYXJnZTtcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpO1xuXG4vLyAzLiBUaGUgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJGdyaWQtcm93LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uLWNvdW50OiAxMjtcbiRncmlkLWNvbHVtbi1ndXR0ZXI6IChcbiAgc21hbGw6IDIwcHgsXG4gIG1lZGl1bTogMzBweCxcbik7XG4kZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZTogdHJ1ZTtcbiRncmlkLWNvbHVtbi1hbGlhczogJ2NvbHVtbnMnO1xuJGJsb2NrLWdyaWQtbWF4OiA4O1xuXG4vLyA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsO1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0O1xuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAyNCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAxOSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNDgpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogNDApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMzEpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjUpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuKTtcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRzbWFsbC1mb250LXNpemU6IDgwJTtcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjY7XG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW07XG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kY29kZS1jb2xvcjogJGJsYWNrO1xuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSk7XG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmU7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZTtcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0bztcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW07XG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW07XG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheTtcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSk7XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJztcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjaztcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKTtcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2s7XG5cbi8vIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1O1xuJGxlYWQtbGluZWhlaWdodDogMS42O1xuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5O1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW07XG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtO1xuXG4vLyA2LiBBYmlkZVxuLy8gLS0tLS0tLS1cblxuJGFiaWRlLWlucHV0czogdHJ1ZTtcbiRhYmlkZS1sYWJlbHM6IHRydWU7XG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuLy8gNy4gQWNjb3JkaW9uXG4vLyAtLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZTtcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcblxuLy8gOC4gQWNjb3JkaW9uIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmc7XG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWU7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHdoaXRlO1xuJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kOiBudWxsO1xuJGFjY29yZGlvbm1lbnUtYm9yZGVyOiBudWxsO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDogbnVsbDtcbiRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDogNDBweDtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHg7XG5cbi8vIDkuIEJhZGdlXG4vLyAtLS0tLS0tLVxuXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYmFkZ2UtY29sb3I6ICR3aGl0ZTtcbiRiYWRnZS1jb2xvci1hbHQ6ICRibGFjaztcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJhZGdlLXBhZGRpbmc6IDAuM2VtO1xuJGJhZGdlLW1pbndpZHRoOiAyLjFlbTtcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbTtcblxuLy8gMTAuIEJyZWFkY3J1bWJzXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjaztcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW07XG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWU7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6IHRydWU7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbTogJy8nO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsOiAnXFxcXCc7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRtZWRpdW0tZ3JheTtcblxuLy8gMTEuIEJ1dHRvblxuLy8gLS0tLS0tLS0tLVxuXG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtO1xuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJ1dHRvbi1maWxsOiBzb2xpZDtcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGU7XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAxcHg7XG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pO1xuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJTtcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJTtcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG5cbi8vIDEyLiBCdXR0b24gR3JvdXBcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbTtcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHg7XG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJztcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2O1xuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlO1xuXG4vLyAxMy4gQ2FsbG91dFxuLy8gLS0tLS0tLS0tLS1cblxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSU7XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSk7XG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDA7XG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtO1xuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kO1xuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYWxsb3V0LWxpbmstdGludDogMzAlO1xuXG4vLyAxNC4gQ2FyZFxuLy8gLS0tLS0tLS1cblxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRjYXJkLXNoYWRvdzogbm9uZTtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJGNhcmQtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG5cbi8vIDE1LiBDbG9zZSBCdXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3A7XG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbik7XG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXG4gIHNtYWxsOiAxLjVlbSxcbiAgbWVkaXVtOiAyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDE7XG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXk7XG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjaztcblxuLy8gMTYuIERyaWxsZG93blxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7XG4kZHJpbGxkb3duLWFycm93czogdHJ1ZTtcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDA7XG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweDtcblxuLy8gMTcuIERyb3Bkb3duXG4vLyAtLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW07XG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtO1xuJGRyb3Bkb3duLXdpZHRoOiAzMDBweDtcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbik7XG5cbi8vIDE4LiBEcm9wZG93biBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZTtcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3I7XG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweDtcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtO1xuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4O1xuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiBudWxsO1xuJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcm9wZG93bm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW46IDA7XG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nO1xuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpO1xuJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQ7XG5cbi8vIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNjtcbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWU7XG5cbi8vIDIwLiBGb3Jtc1xuLy8gLS0tLS0tLS0tXG5cbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApO1xuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCk7XG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMyk7XG4kZm9ybS1zcGFjaW5nOiByZW0tY2FsYygxNik7XG4kaGVscHRleHQtY29sb3I6ICRibGFjaztcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWM7XG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW07XG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrO1xuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuODtcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlO1xuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheTtcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRpbnB1dC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4kaW5wdXQtcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDI7XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSk7XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkO1xuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZTtcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIxLiBMYWJlbFxuLy8gLS0tLS0tLS0tXG5cbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRsYWJlbC1jb2xvcjogJHdoaXRlO1xuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrO1xuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW07XG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjIuIE1lZGlhIE9iamVjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJTtcblxuLy8gMjMuIE1lbnVcbi8vIC0tLS0tLS0tXG5cbiRtZW51LW1hcmdpbjogMDtcbiRtZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luO1xuJG1lbnUtaXRlbXMtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kbWVudS1zaW1wbGUtbWFyZ2luOiAxcmVtO1xuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZTtcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbTtcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogdHJ1ZTtcbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlO1xuJG1lbnUtaWNvbnMtYmFjay1jb21wYXQ6IHRydWU7XG5cbi8vIDI0LiBNZXRlclxuLy8gLS0tLS0tLS0tXG5cbiRtZXRlci1oZWlnaHQ6IDFyZW07XG4kbWV0ZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRtZXRlci1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kbWV0ZXItZmlsbC1nb29kOiAkc3VjY2Vzcy1jb2xvcjtcbiRtZXRlci1maWxsLW1lZGl1bTogJHdhcm5pbmctY29sb3I7XG4kbWV0ZXItZmlsbC1iYWQ6ICRhbGVydC1jb2xvcjtcblxuLy8gMjUuIE9mZi1jYW52YXNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRvZmZjYW52YXMtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKTtcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKTtcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGRhcmstbmF2LWNvbG9yO1xuJG9mZmNhbnZhcy1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjcpO1xuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZTogMjBweDtcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSk7XG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMTtcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEyO1xuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTM7XG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cztcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2U7XG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZTtcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSk7XG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnO1xuXG4vLyAyNi4gT3JiaXRcbi8vIC0tLS0tLS0tLVxuXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTA7XG5cbi8vIDI3LiBQYWdpbmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKTtcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSk7XG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvcjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogJHdoaXRlO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7XG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZTtcbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZTtcblxuLy8gMjguIFByb2dyZXNzIEJhclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAxcmVtO1xuJHByb2dyZXNzLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm9ncmVzcy1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyOS4gUHJvdG90eXBlIEFycm93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9uczogKFxuICBkb3duLFxuICB1cCxcbiAgcmlnaHQsXG4gIGxlZnRcbik7XG4kcHJvdG90eXBlLWFycm93LXNpemU6IDAuNDM3NXJlbTtcbiRwcm90b3R5cGUtYXJyb3ctY29sb3I6ICRibGFjaztcblxuLy8gMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXItYm94LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcblxuLy8gMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlci1ub25lLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcblxuLy8gMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlcmVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm9yZGVyLXdpZHRoOiByZW0tY2FsYygxKTtcbiRwcm90b3R5cGUtYm9yZGVyLXR5cGU6IHNvbGlkO1xuJHByb3RvdHlwZS1ib3JkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcblxuLy8gMzMuIFByb3RvdHlwZSBEaXNwbGF5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1kaXNwbGF5LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtZGlzcGxheTogKFxuICBpbmxpbmUsXG4gIGlubGluZS1ibG9jayxcbiAgYmxvY2ssXG4gIHRhYmxlLFxuICB0YWJsZS1jZWxsXG4pO1xuXG4vLyAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1mb250LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtd2lkZS1sZXR0ZXItc3BhY2luZzogcmVtLWNhbGMoNCk7XG4kcHJvdG90eXBlLWZvbnQtbm9ybWFsOiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kcHJvdG90eXBlLWZvbnQtYm9sZDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuLy8gMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtbGlzdC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkOiAoXG4gIGRpc2MsXG4gIGNpcmNsZSxcbiAgc3F1YXJlXG4pO1xuJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWQ6IChcbiAgZGVjaW1hbCxcbiAgbG93ZXItYWxwaGEsXG4gIGxvd2VyLWxhdGluLFxuICBsb3dlci1yb21hbixcbiAgdXBwZXItYWxwaGEsXG4gIHVwcGVyLWxhdGluLFxuICB1cHBlci1yb21hblxuKTtcblxuLy8gMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLW92ZXJmbG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtb3ZlcmZsb3c6IChcbiAgdmlzaWJsZSxcbiAgaGlkZGVuLFxuICBzY3JvbGxcbik7XG5cbi8vIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1wb3NpdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXBvc2l0aW9uOiAoXG4gIHN0YXRpYyxcbiAgcmVsYXRpdmUsXG4gIGFic29sdXRlLFxuICBmaXhlZFxuKTtcbiRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleDogOTc1O1xuXG4vLyAzOC4gUHJvdG90eXBlIFJvdW5kZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXJvdW5kZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKTtcblxuLy8gMzkuIFByb3RvdHlwZSBTZXBhcmF0b3Jcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWFsaWduOiBjZW50ZXI7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1oZWlnaHQ6IHJlbS1jYWxjKDIpO1xuJHByb3RvdHlwZS1zZXBhcmF0b3Itd2lkdGg6IDNyZW07XG4kcHJvdG90eXBlLXNlcGFyYXRvci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luO1xuXG4vLyA0MC4gUHJvdG90eXBlIFNoYWRvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zaGFkb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3gtc2hhZG93OiAwIDJweCA1cHggMCByZ2JhKDAsMCwwLC4xNiksXG4gICAgICAgICAgICAgICAgICAgICAgIDAgMnB4IDEwcHggMCByZ2JhKDAsMCwwLC4xMik7XG5cbi8vIDQxLiBQcm90b3R5cGUgU2l6aW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNpemluZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNpemluZzogKFxuICB3aWR0aCxcbiAgaGVpZ2h0XG4pO1xuJHByb3RvdHlwZS1zaXplczogKFxuICAyNTogMjUlLFxuICA1MDogNTAlLFxuICA3NTogNzUlLFxuICAxMDA6IDEwMCVcbik7XG5cbi8vIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc3BhY2luZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNwYWNlcnMtY291bnQ6IDM7XG5cbi8vIDQzLiBQcm90b3R5cGUgVGV4dC1EZWNvcmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWRlY29yYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb246IChcbiAgb3ZlcmxpbmUsXG4gIHVuZGVybGluZSxcbiAgbGluZS10aHJvdWdoLFxuKTtcblxuLy8gNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS10cmFuc2Zvcm1hdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb246IChcbiAgbG93ZXJjYXNlLFxuICB1cHBlcmNhc2UsXG4gIGNhcGl0YWxpemVcbik7XG5cbi8vIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS11dGlsaXRpZXMtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblxuLy8gNDYuIFJlc3BvbnNpdmUgRW1iZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxuICBkZWZhdWx0OiA0IGJ5IDMsXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXG4pO1xuXG4vLyA0Ny4gUmV2ZWFsXG4vLyAtLS0tLS0tLS0tXG5cbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlO1xuJHJldmVhbC13aWR0aDogNjAwcHg7XG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcmV2ZWFsLXppbmRleDogMTAwNTtcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSk7XG5cbi8vIDQ4LiBTbGlkZXJcbi8vIC0tLS0tLS0tLS1cblxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtO1xuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiRzbGlkZXItaGVpZ2h0OiAwLjVyZW07XG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHNsaWRlci1maWxsLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA0OS4gU3dpdGNoXG4vLyAtLS0tLS0tLS0tXG5cbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3I7XG4kc3dpdGNoLWhlaWdodDogMnJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtO1xuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbTtcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbTtcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG5cbi8vIDUwLiBUYWJsZVxuLy8gLS0tLS0tLS0tXG5cbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFibGUtY29sb3Itc2NhbGU6IDUlO1xuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApO1xuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJTtcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZTtcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXN0cmlwZTogZXZlbjtcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKTtcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1oZWFkLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1mb290LXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1mb290LWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2U7XG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xuXG4vLyA1MS4gVGFic1xuLy8gLS0tLS0tLS1cblxuJHRhYi1tYXJnaW46IDA7XG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXk7XG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlO1xuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuJHRhYi1leHBhbmQtbWF4OiA2O1xuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5O1xuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDUyLiBUaHVtYm5haWxcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGU7XG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKTtcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpO1xuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1My4gVGl0bGUgQmFyXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkZGFyay1uYXYtY29sb3I7XG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW07XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZDtcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5O1xuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbTtcblxuLy8gNTQuIFRvb2x0aXBcbi8vIC0tLS0tLS0tLS0tXG5cbiRoYXMtdGlwLWN1cnNvcjogaGVscDtcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5O1xuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW07XG4kdG9vbHRpcC1tYXgtd2lkdGg6IDEwcmVtO1xuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtO1xuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1NS4gVG9wIEJhclxuLy8gLS0tLS0tLS0tLS1cblxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW07XG4kdG9wYmFyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZDtcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDA7XG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW07XG5cbi8vIDU2LiBYeSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4keHktZ3JpZDogdHJ1ZTtcbiRncmlkLWNvbnRhaW5lcjogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbnM6IDEyO1xuJGdyaWQtbWFyZ2luLWd1dHRlcnM6IChcbiAgc21hbGw6IDIwcHgsXG4gIG1lZGl1bTogMzBweFxuKTtcbiRncmlkLXBhZGRpbmctZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnM7XG4kZ3JpZC1jb250YWluZXItcGFkZGluZzogJGdyaWQtcGFkZGluZy1ndXR0ZXJzO1xuJGdyaWQtY29udGFpbmVyLW1heDogJGdsb2JhbC13aWR0aDtcbiR4eS1ibG9jay1ncmlkLW1heDogODtcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhbiBpbm5lciBib3gtc2hhZG93IGZvciBvbmx5IG9uZSBzaWRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaWRlIC0gU2lkZSB0aGUgc2hhZG93IGlzIHN1cHBvc2VkIHRvIGFwcGVhci4gQ2FuIGJlIGB0b3BgLCBgbGVmdGAsIGByaWdodGAgb3IgYGJvdHRvbWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIC0gV2lkdGggZm9yIHRoZSB0YXJnZXQgc2lkZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciBvZiB0aGUgc2hhZG93LlxuQG1peGluIGlubmVyLXNpZGUtc2hhZG93KFxuICAkc2lkZTogYm90dG9tLFxuICAkc2l6ZTogMjBweCxcbiAgJGNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSlcbikge1xuXG4gICRoZWxwZXI6IHJvdW5kKCRzaXplICogMC42NSk7XG5cbiAgQGlmICgkc2lkZSA9PSB0b3ApIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gbGVmdCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSByaWdodCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICgtMSkqJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGJvdHRvbSkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgKC0xKSokaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG5cbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcblxuICBjb250ZW50OiAnJztcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKTtcblxuICBAaWYgdW5pdCgkc3BhY2luZykgPT0gJ3B4JyB7XG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICB9XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyb3VuZChyZWQoJGNvbG9yKSl9LCAje3JvdW5kKGdyZWVuKCRjb2xvcikpfSwgI3tyb3VuZChibHVlKCRjb2xvcikpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXG5AbWl4aW4gYXV0by13aWR0aCgkbWF4LCAkZWxlbTogbGkpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCB+ICN7JGVsZW19IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAkaSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW1vdmVzIHRoZSBmb2N1cyByaW5nIGFyb3VuZCBhbiBlbGVtZW50IHdoZW4gYSBtb3VzZSBpbnB1dCBpcyBkZXRlY3RlZC5cbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxuLy8vIEBsaW5rIGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwwLDAsMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8vIFJldmVyc2VzIHRoZSBDU1Mgb3V0cHV0IGNyZWF0ZWQgYnkgdGhlIGBlbGVtZW50LWludmlzaWJsZSgpYCBtaXhpbi5cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xufVxuXG4vLy8gVmVydGljYWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiB2ZXJ0aWNhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gaG9yaXpvbnRhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4vLy8gQWJzb2x1dGVseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBhYnNvbHV0ZS1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4vLy8gSXRlcmF0ZXMgdGhyb3VnaCBicmVha3BvaW50cyBkZWZpbmVkIGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBhbmQgcHJpbnRzIHRoZSBDU1MgaW5zaWRlIHRoZSBtaXhpbiBhdCBlYWNoIGJyZWFrcG9pbnQncyBtZWRpYSBxdWVyeS4gVXNlIHRoaXMgd2l0aCB0aGUgZ3JpZCwgb3IgYW55IG90aGVyIGNvbXBvbmVudCB0aGF0IGhhcyByZXNwb25zaXZlIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRzbWFsbCBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBza2lwIHRoZSBgc21hbGxgIGJyZWFrcG9pbnQuIFVzZSB0aGlzIHdpdGggY29tcG9uZW50cyB0aGF0IGRvbid0IHByZWZpeCBjbGFzc2VzIHdpdGggYHNtYWxsLWAsIG9ubHkgYG1lZGl1bS1gIGFuZCB1cC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRhdXRvLWluc2VydC1icmVha3BvaW50cyBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBpdGVyYXRlIG92ZXIgYnJlYWtwb2ludHMgd2l0aG91dCBkb2luZyB0aGUgbWVkaWEgcXVlcnkgaXRzZWxmLiBVc2VmdWwgZm9yIG1vcmUgY29tcGxleCBtZWRpYSBxdWVyeSBnZW5lcmF0aW9uIGFzIGluIHRoZSBtYXJnaW4gZ3JpZC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50KCRzbWFsbDogdHJ1ZSwgJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzOiB0cnVlKSB7XG4gICRsaXN0OiAkYnJlYWtwb2ludC1jbGFzc2VzO1xuXG4gIEBpZiBub3QgJHNtYWxsIHtcbiAgICAkbGlzdDogc2wtcmVtb3ZlKCRsaXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gIH1cblxuICBAZWFjaCAkbmFtZSBpbiAkbGlzdCB7XG4gICAgJG9sZC16Zi1zaXplOiBudWxsO1xuICAgIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgICB9XG4gICAgJC16Zi1zaXplOiAkbmFtZSAhZ2xvYmFsO1xuXG4gICAgQGlmICRhdXRvLWluc2VydC1icmVha3BvaW50cyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSB0aGUgYEBjb250ZW50YCBwYXNzZWQgdG8gdGhlIG1peGluIHdpdGggYSB2YWx1ZSBgJC16Zi1icC12YWx1ZWAgcmVsYXRlZCB0byBhIGJyZWFrcG9pbnQsIGRlcGVuZGluZyBvbiB0aGUgYCRuYW1lYCBwYXJhbWV0ZXI6XG4vLy8gLSBGb3IgYSBzaW5nbGUgdmFsdWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGlzIHZhbHVlLlxuLy8vIC0gRm9yIGEgYnJlYWtwb2ludCBuYW1lLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAuXG4vLy8gLSBGb3IgXCJhdXRvXCIsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYCBhbmQgaXMgcGFzc2VkIHRvIGBAY29udGVudGAsIHdoaWNoIGlzIG1hZGUgcmVzcG9uc2l2ZSBmb3IgZWFjaCBicmVha3BvaW50IG9mIGAkbWFwYC5cbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkbmFtZSBbYXV0b10gLSBTaW5nbGUgdmFsdWUsIGJyZWFrcG9pbnQgbmFtZSwgb3IgbGlzdCBvZiBicmVha3BvaW50IG5hbWVzIHRvIHVzZS4gXCJhdXRvXCIgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBNYXAgb2YgYnJlYWtwb2ludHMgYW5kIHZhbHVlcyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLlxuQG1peGluIC16Zi1icmVha3BvaW50LXZhbHVlKFxuICAkbmFtZTogYXV0byxcbiAgJG1hcDogbnVsbFxuKSB7XG4gIEBpZiAkbmFtZSA9PSBhdXRvIGFuZCB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcbiAgICAvLyBcImF1dG9cIlxuICAgIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGspIHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJHYsICRtYXApIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gYnJlYWtwb2ludCBuYW1lXG4gICAgQGlmIHR5cGUtb2YoJG5hbWUpID09ICdzdHJpbmcnIHtcbiAgICAgICRuYW1lOiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkbmFtZSk7XG4gICAgfVxuXG4gICAgLy8gYnJlYWtwb2ludCB2YWx1ZVxuICAgICQtemYtYnAtdmFsdWU6ICRuYW1lICFnbG9iYWw7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIE91dHB1dHMgQ1NTIGNsYXNzZXMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIGZvdW5kYXRpb24tZ3JpZChcbiAgJHJvdzogJ3JvdycsXG4gICRjb2x1bW46ICdjb2x1bW4nLFxuICAkY29sdW1uLXJvdzogJ2NvbHVtbi1yb3cnLFxuICAkZ3V0dGVyOiAnZ3V0dGVyJyxcbiAgJHB1c2g6ICdwdXNoJyxcbiAgJHB1bGw6ICdwdWxsJyxcbiAgJGNlbnRlcjogJ2NlbnRlcmVkJyxcbiAgJHVuY2VudGVyOiAndW5jZW50ZXJlZCcsXG4gICRjb2xsYXBzZTogJ2NvbGxhcHNlJyxcbiAgJHVuY29sbGFwc2U6ICd1bmNvbGxhcHNlJyxcbiAgJG9mZnNldDogJ29mZnNldCcsXG4gICRlbmQ6ICdlbmQnLFxuICAkZXhwYW5kZWQ6ICdleHBhbmRlZCcsXG4gICRibG9jazogJ2Jsb2NrJ1xuKSB7XG4gIC8vIFJvd1xuICAuI3skcm93fSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3c7XG5cbiAgICAvLyBDb2xsYXBzaW5nXG4gICAgJi4jeyRjb2xsYXBzZX0ge1xuICAgICAgPiAuI3skY29sdW1ufSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWNvbGxhcHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5lc3RpbmdcbiAgICAmIC4jeyRyb3d9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGdyaWQtY29sdW1uLWd1dHRlcik7XG5cbiAgICAgICYuI3skY29sbGFwc2V9IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFeHBhbmRlZCAoZnVsbC13aWR0aCkgcm93XG4gICAgJi4jeyRleHBhbmRlZH0ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZShleHBhbmQpO1xuXG4gICAgICAuI3skcm93fSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpub3QoLiN7JGV4cGFuZGVkfSkgLiN7JHJvd30ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZShleHBhbmQpO1xuICAgIH1cblxuICAgIEBpZiB0eXBlLW9mKCRncmlkLWNvbHVtbi1ndXR0ZXIpID09ICdtYXAnIHtcbiAgICAgIC8vIFN0YXRpYyAodW5yZXNwb25zaXZlKSByb3cgZ3V0dGVyc1xuICAgICAgLy9cbiAgICAgIEBlYWNoICRicmVha3BvaW50LCAkdmFsdWUgaW4gJGdyaWQtY29sdW1uLWd1dHRlciB7XG4gICAgICAgICYuI3skZ3V0dGVyfS0jeyRicmVha3BvaW50fSB7XG4gICAgICAgICAgPiAuI3skY29sdW1ufSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1ndXR0ZXIoJHZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBDb2x1bW5cbiAgLiN7JGNvbHVtbn0ge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sO1xuXG4gICAgQGlmICRncmlkLWNvbHVtbi1hbGlnbi1lZGdlIHtcbiAgICAgICYuI3skZW5kfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWVuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBDb2x1bW4gcm93XG4gIC8vIFRoZSBkb3VibGUgLnJvdyBjbGFzcyBpcyBuZWVkZWQgdG8gYnVtcCB1cCB0aGUgc3BlY2lmaWNpdHlcbiAgLiN7JGNvbHVtbn0uI3skcm93fS4jeyRyb3d9IHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxuXG4gIC8vIFRvIHByb3Blcmx5IG5lc3QgYSBjb2x1bW4gcm93LCBwYWRkaW5nIGFuZCBtYXJnaW4gaXMgcmVtb3ZlZFxuICAuI3skcm93fSAuI3skY29sdW1ufS4jeyRyb3d9LiN7JHJvd30ge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1uLWNvdW50IHtcbiAgICAgIC8vIENvbHVtbiB3aWR0aFxuICAgICAgLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXNpemUoJGkpO1xuICAgICAgfVxuXG4gICAgICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgICAgIEBpZiAkaSA8ICRncmlkLWNvbHVtbi1jb3VudCB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tI3skcHVzaH0tI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXBvcygkaSk7XG4gICAgICAgIH1cblxuICAgICAgICAuI3skLXpmLXNpemV9LSN7JHB1bGx9LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoLSRpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAuI3skLXpmLXNpemV9LSN7JG9mZnNldH0tI3skb30ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1vZmYoJG8pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJsb2NrIGdyaWRcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRibG9jay1ncmlkLW1heCB7XG4gICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoJGksICcuI3skY29sdW1ufScpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgY29sbGFwc2luZ1xuICAgIC4jeyQtemYtc2l6ZX0tI3skY29sbGFwc2V9IHtcbiAgICAgID4gLiN7JGNvbHVtbn0geyBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTsgfVxuXG4gICAgICAuI3skcm93fSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLiN7JGV4cGFuZGVkfS4jeyRyb3d9IC4jeyQtemYtc2l6ZX0tI3skY29sbGFwc2V9LiN7JHJvd30ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS0jeyR1bmNvbGxhcHNlfSB7XG4gICAgICA+IC4jeyRjb2x1bW59IHsgQGluY2x1ZGUgZ3JpZC1jb2wtZ3V0dGVyKCQtemYtc2l6ZSk7IH1cbiAgICB9XG5cbiAgICAvLyBQb3NpdGlvbmluZ1xuICAgIC4jeyQtemYtc2l6ZX0tI3skY2VudGVyfSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoY2VudGVyKTtcbiAgICB9XG5cbiAgICAvLyBHdXR0ZXIgYWRqdXN0bWVudFxuICAgIC4jeyQtemYtc2l6ZX0tI3skdW5jZW50ZXJ9LFxuICAgIC4jeyQtemYtc2l6ZX0tI3skcHVzaH0tMCxcbiAgICAuI3skLXpmLXNpemV9LSN7JHB1bGx9LTAge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtdW5wb3M7XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2sgZ3JpZCBjb2x1bW5zXG4gIC4jeyRjb2x1bW59LSN7JGJsb2NrfSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tbWFyZ2luO1xuICB9XG5cbiAgQGlmICRjb2x1bW4gPT0gJ2NvbHVtbicgYW5kIGhhcy12YWx1ZSgkZ3JpZC1jb2x1bW4tYWxpYXMpIHtcbiAgICAuI3skZ3JpZC1jb2x1bW4tYWxpYXN9IHtcbiAgICAgIC8vIHNhc3MtbGludDpkaXNhYmxlLWJsb2NrIHBsYWNlaG9sZGVyLWluLWV4dGVuZFxuICAgICAgQGV4dGVuZCAuY29sdW1uO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2hhbmdlIHRoZSBiZWhhdmlvciBvZiBjb2x1bW5zIGRlZmluZWQgaW5zaWRlIHRoaXMgbWl4aW4gdG8gdXNlIGEgZGlmZmVyZW50IGNvbHVtbiBjb3VudC5cbi8vLyBAY29udGVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gdXNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHJvb3QgW2ZhbHNlXVxuLy8vICAgSWYgYGZhbHNlYCwgc2VsZWN0b3JzIGluc2lkZSB0aGlzIG1peGluIHdpbGwgbmVzdCBpbnNpZGUgdGhlIHBhcmVudCBzZWxlY3Rvci5cbi8vLyAgIElmIGB0cnVlYCwgc2VsZWN0b3JzIHdpbGwgbm90IG5lc3QuXG5AbWl4aW4gZ3JpZC1jb250ZXh0KFxuICAkY29sdW1ucyxcbiAgJHJvb3Q6IGZhbHNlXG4pIHtcbiAgLy8gU3RvcmUgdGhlIGN1cnJlbnQgY29sdW1uIGNvdW50IHNvIGl0IGNhbiBiZSByZS1zZXQgbGF0ZXJcbiAgJG9sZC1ncmlkLWNvbHVtbi1jb3VudDogJGdyaWQtY29sdW1uLWNvdW50O1xuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRjb2x1bW5zICFnbG9iYWw7XG5cbiAgQGlmICRyb290IHtcbiAgICBAYXQtcm9vdCB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gUmVzdG9yZSB0aGUgb2xkIGNvbHVtbiBjb3VudFxuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRvbGQtZ3JpZC1jb2x1bW4tY291bnQgIWdsb2JhbDtcbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIHJvdy5cbi8vLyBAY29udGVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIFtudWxsXSAtIENvbHVtbiBjb3VudCBmb3IgdGhpcyByb3cuIGBudWxsYCB3aWxsIHVzZSB0aGUgZGVmYXVsdCBjb2x1bW4gY291bnQuXG4vLy8gQHBhcmFtIHtLZXl3b3Jkc30gJGJlaGF2aW9yIFtudWxsXVxuLy8vICAgTW9kaWZpY2F0aW9ucyB0byB0aGUgZGVmYXVsdCBncmlkIHN0eWxlcy4gYG5lc3RgIGluZGljYXRlcyB0aGUgcm93IHdpbGwgYmUgcGxhY2VkIGluc2lkZSBhbm90aGVyIHJvdy4gYGNvbGxhcHNlYCBpbmRpY2F0ZXMgdGhhdCB0aGUgY29sdW1ucyBpbnNpZGUgdGhpcyByb3cgd2lsbCBub3QgaGF2ZSBwYWRkaW5nLiBgbmVzdCBjb2xsYXBzZWAgY29tYmluZXMgYm90aCBiZWhhdmlvcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgWyRncmlkLXJvdy13aWR0aF0gTWF4aW11bSBzaXplIG9mIHRoZSByb3cuIFNldCB0byBgZXhwYW5kYCB0byBtYWtlIHRoZSByb3cgdGFraW5nIHRoZSBmdWxsIHdpZHRoLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGNmIFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIGluY2x1ZGUgYSBjbGVhcmZpeC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtcm93KFxuICAkY29sdW1uczogbnVsbCxcbiAgJGJlaGF2aW9yOiBudWxsLFxuICAkc2l6ZTogJGdyaWQtcm93LXdpZHRoLFxuICAkY2Y6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgJG1hcmdpbjogYXV0bztcblxuICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBuZXN0KSAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRndXR0ZXJzKTtcblxuICAgIEBpZiBpbmRleCgkYmVoYXZpb3IsIGNvbGxhcHNlKSAhPSBudWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZSgkc2l6ZSk7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgQGlmICRjZiB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cblxuICBAaWYgJGNvbHVtbnMgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb250ZXh0KCRjb2x1bW5zKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEludmVydHMgdGhlIG1hcmdpbnMgb2YgYSByb3cgdG8gbmVzdCBpdCBpbnNpZGUgb2YgYSBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtcm93LW5lc3QoJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgJG1hcmdpbjogcmVtLWNhbGMoLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICQtemYtc2l6ZSkpIC8gMiAqIC0xO1xuXG4gICAgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luO1xuICAgIG1hcmdpbi1sZWZ0OiAkbWFyZ2luO1xuICB9XG59XG5cbi8vLyBTZXQgYSBncmlkIHJvdyBzaXplXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbJGdyaWQtcm93LXdpZHRoXSBNYXhpbXVtIHNpemUgb2YgdGhlIHJvdy4gU2V0IHRvIGBleHBhbmRgIHRvIG1ha2UgdGhlIHJvdyB0YWtpbmcgdGhlIGZ1bGwgd2lkdGguXG5AbWl4aW4gZ3JpZC1yb3ctc2l6ZSgkc2l6ZTogJGdyaWQtcm93LXdpZHRoKSB7XG4gIEBpZiAkc2l6ZSA9PSBleHBhbmQge1xuICAgICRzaXplOiBub25lO1xuICB9XG5cbiAgbWF4LXdpZHRoOiAkc2l6ZTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkdmFsdWVzIC0gT25lIG9yIG1vcmUgdmFsdWVzIHRvIGNvbnZlcnQuIEJlIHN1cmUgdG8gc2VwYXJhdGUgdGhlbSB3aXRoIHNwYWNlcyBhbmQgbm90IGNvbW1hcy4gSWYgeW91IG5lZWQgdG8gY29udmVydCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB3cmFwIHRoZSBsaXN0IGluIHBhcmVudGhlc2VzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBUaGUgYmFzZSB2YWx1ZSB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyB0aGUgYHJlbWAuIElmIHlvdSdyZSB1c2luZyBGb3VuZGF0aW9uIG91dCBvZiB0aGUgYm94LCB0aGlzIGlzIDE2cHguIElmIHRoaXMgcGFyYW1ldGVyIGlzIGBudWxsYCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmVmZXJlbmNlIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlIGFzIHRoZSBiYXNlLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IEEgbGlzdCBvZiBjb252ZXJ0ZWQgdmFsdWVzLlxuQGZ1bmN0aW9uIHJlbS1jYWxjKCR2YWx1ZXMsICRiYXNlOiBudWxsKSB7XG4gICRyZW0tdmFsdWVzOiAoKTtcbiAgJGNvdW50OiBsZW5ndGgoJHZhbHVlcyk7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIC8vIFRoaXMgaXMgYmVjYXVzZSAxMDAlIGZvbnQgc2l6ZSA9IDE2cHggaW4gbW9zdCBhbGwgYnJvd3NlcnNcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIC8vIFVzaW5nIHJlbSBhcyBiYXNlIGFsbG93cyBjb3JyZWN0IHNjYWxpbmdcbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmICRjb3VudCA9PSAxIHtcbiAgICBAcmV0dXJuIC16Zi10by1yZW0oJHZhbHVlcywgJGJhc2UpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY291bnQge1xuICAgICRyZW0tdmFsdWVzOiBhcHBlbmQoJHJlbS12YWx1ZXMsIC16Zi10by1yZW0obnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlbS12YWx1ZXM7XG59XG5cbi8vIENvbnZlcnRzIGEgdW5pdGxlc3MsIHBpeGVsLCBvciByZW0gdmFsdWUgdG8gZW0sIGZvciB1c2UgaW4gYnJlYWtwb2ludHMuXG5AZnVuY3Rpb24gLXpmLWJwLXRvLWVtKCR2YWx1ZSkge1xuICAvLyBQaXhlbCBhbmQgdW5pdGxlc3MgdmFsdWVzIGFyZSBjb252ZXJ0ZWQgdG8gcmVtc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcgb3IgdW5pdGxlc3MoJHZhbHVlKSB7XG4gICAgJHZhbHVlOiByZW0tY2FsYygkdmFsdWUsICRiYXNlOiAxNnB4KTtcbiAgfVxuXG4gIC8vIFRoZW4gdGhlIHZhbHVlIGlzIGNvbnZlcnRlZCB0byBlbXNcbiAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxZW07XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsIHZhbHVlIHRvIG1hdGNoaW5nIHJlbSB2YWx1ZS4gKkFueSogdmFsdWUgcGFzc2VkLCByZWdhcmRsZXNzIG9mIHVuaXQsIGlzIGFzc3VtZWQgdG8gYmUgYSBwaXhlbCB2YWx1ZS4gQnkgZGVmYXVsdCwgdGhlIGJhc2UgcGl4ZWwgdmFsdWUgdXNlZCB0byBjYWxjdWxhdGUgdGhlIHJlbSB2YWx1ZSBpcyB0YWtlbiBmcm9tIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFBpeGVsIHZhbHVlIHRvIGNvbnZlcnQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIEJhc2UgZm9yIHBpeGVsIGNvbnZlcnNpb24uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIG51bWJlciBpbiByZW1zLCBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSBnaXZlbiB2YWx1ZSBhbmQgdGhlIGJhc2UgcGl4ZWwgdmFsdWUuIHJlbSB2YWx1ZXMgYXJlIHBhc3NlZCB0aHJvdWdoIGFzIGlzLlxuQGZ1bmN0aW9uIC16Zi10by1yZW0oJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnbnVtYmVyJyB7XG4gICAgQHdhcm4gaW5zcGVjdCgkdmFsdWUpICsgJyB3YXMgcGFzc2VkIHRvIHJlbS1jYWxjKCksIHdoaWNoIGlzIG5vdCBhIG51bWJlci4nO1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gVHJhbnNmb3JtIGVtIGludG8gcmVtIGlmIHNvbWVvbmUgaGFuZHMgb3ZlciAnZW0nc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogMXJlbTtcbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSByZW0gaWYgdW5pdHMgZm9yICR2YWx1ZSBpcyBub3QgcmVtIG9yIGVtXG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gVHVybiAwcmVtIGludG8gMFxuICBAaWYgJHZhbHVlID09IDByZW0ge1xuICAgICR2YWx1ZTogMDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCwgcGVyY2VudGFnZSwgcmVtIG9yIGVtIHZhbHVlIHRvIGEgdW5pdGxlc3MgdmFsdWUgYmFzZWQgb24gYSBnaXZlbiBmb250IHNpemUuIElkZWFsIGZvciB3b3JraW5nIG91dCB1bml0bGVzcyBsaW5lIGhlaWdodHMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gY29udmVydCB0byBhIHVuaXRsZXNzIGxpbmUgaGVpZ2h0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGZvbnQgc2l6ZSB0byB1c2UgdG8gd29yayBvdXQgdGhlIGxpbmUgaGVpZ2h0IC0gZGVmYXVsdHMgdG8gJGdsb2JhbC1mb250LXNpemVcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBVbml0bGVzcyBudW1iZXJcbkBmdW5jdGlvbiB1bml0bGVzcy1jYWxjKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBGaXJzdCwgbGV0cyBjb252ZXJ0IG91ciAkYmFzZSB0byBwaXhlbHNcblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gTm93IGxldCdzIGNvbnZlcnQgb3VyIHZhbHVlIHRvIHBpeGVscyB0b29cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnJScge1xuICAgICR2YWx1ZTogKCR2YWx1ZSAvIDEwMCUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgLy8gJ3B4J1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcge1xuICAgIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICAvLyBhc3N1bWUgdGhhdCBsaW5lLWhlaWdodHMgZ3JlYXRlciB0aGFuIDEwIGFyZSBtZWFudCB0byBiZSBhYnNvbHV0ZSBpbiAncHgnXG4gIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAoJHZhbHVlID4gMTApIHtcbiAgICBAcmV0dXJuICR2YWx1ZSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBTZXQgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW5cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkZ3V0dGVyIFthdXRvXVxuLy8vICAgU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMsIGFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHNpbmdsZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIGd1dHRlciB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgYnJlYWtwb2ludCBuYW1lIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHRoZSBjb3JyZXNwb25kaW5nIHNpemUgaW4gdGhlICRndXR0ZXJzIG1hcC5cbi8vLyAgIC0gXCJhdXRvXCIgd2lsbCBtYWtlIHRoZSBndXR0ZXIgcmVzcG9uc2l2ZSwgdXNpbmcgdGhlICRndXR0ZXJzIG1hcCB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tZ3V0dGVyKFxuICAkZ3V0dGVyOiBhdXRvLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCRndXR0ZXIsICRndXR0ZXJzKSB7XG4gICAgJHBhZGRpbmc6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpIC8gMjtcblxuICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gIH1cbn1cblxuLy8vIENvbGxhcHNlIHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uIGJ5IHJlbW92aW5nIHRoZSBwYWRkaW5nLiAqKk5vdGU6Kiogb25seSB1c2UgdGhpcyBtaXhpbiB3aXRoaW4gYSBicmVha3BvaW50LiBUbyBjb2xsYXBzZSBhIGNvbHVtbidzIGd1dHRlcnMgb24gYWxsIHNjcmVlbiBzaXplcywgdXNlIHRoZSBgJGd1dHRlcmAgcGFyYW1ldGVyIG9mIHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4gaW5zdGVhZC5cbkBtaXhpbiBncmlkLWNvbHVtbi1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigwKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWd1dHRlcigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tZ3V0dGVyXG5AbWl4aW4gZ3JpZC1jb2wtZ3V0dGVyKFxuICAkZ3V0dGVyOiBhdXRvLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyLCAkZ3V0dGVycyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1jb2xsYXBzZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tY29sbGFwc2VcbkBtaXhpbiBncmlkLWNvbC1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWNvbGxhcHNlO1xufVxuXG4vLy8gU2V0cyBib3R0b20gbWFyZ2luIG9uIGdyaWQgY29sdW1ucyB0byBtYXRjaCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJG1hcmdpbiBbYXV0b11cbi8vLyAgIFRoZSBib3R0b20gbWFyZ2luIG9uIGdyaWQgY29sdW1ucywgYWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgc2luZ2xlIHZhbHVlIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBicmVha3BvaW50IG5hbWUgd2lsbCBtYWtlIHRoZSBtYXJnaW4gdGhlIGNvcnJlc3BvbmRpbmcgc2l6ZSBpbiB0aGUgJG1hcmdpbnMgbWFwLlxuLy8vICAgLSBcImF1dG9cIiB3aWxsIG1ha2UgdGhlIG1hcmdpbiByZXNwb25zaXZlLCB1c2luZyB0aGUgJG1hcmdpbnMgbWFwIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXJnaW5zIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtY29sdW1uLW1hcmdpbiAoXG4gICRtYXJnaW46IGF1dG8sXG4gICRtYXJnaW5zOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJG1hcmdpbiwgJG1hcmdpbnMpIHtcbiAgICAkbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSk7XG4gICAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1ib3R0b207XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVha3BvaW50c1xuLy8vL1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsYXJnZXN0IG5hbWVkIGJyZWFrcG9pbnQgaW4gd2hpY2ggdG8gaW5jbHVkZSBwcmludCBhcyBhIG1lZGlhIHR5cGVcbi8vLyBAdHlwZSBLZXl3b3JkXG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2UgIWRlZmF1bHQ7XG5cbiQtemYtemVyby1icmVha3BvaW50OiBzbWFsbCAhZGVmYXVsdDtcblxuJC16Zi1icmVha3BvaW50cy1rZXlzOiBtYXAtdG8tbGlzdCgkYnJlYWtwb2ludHMsICdrZXlzJyk7XG5cbkBpZiBudGgobWFwLXZhbHVlcygkYnJlYWtwb2ludHMpLCAxKSAhPSAwIHtcbiAgQGVycm9yICdUaGUgZmlyc3Qga2V5IGluIHRoZSAkYnJlYWtwb2ludHMgbWFwIG11c3QgaGF2ZSBhIHZhbHVlIG9mIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiAwO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gRXZlbnR1YWwgb3V0cHV0XG4gICRzdHI6ICcnO1xuICAvLyBJcyBpdCBhIG5hbWVkIG1lZGlhIHF1ZXJ5P1xuICAkbmFtZWQ6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuICBAZWxzZSBpZiAkYnAgPT0gJ3JldGluYScge1xuICAgIEByZXR1cm4gJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknO1xuICB9XG5cbiAgLy8gVHJ5IHRvIHB1bGwgYSBuYW1lZCBicmVha3BvaW50IG91dCBvZiB0aGUgJGJyZWFrcG9pbnRzIG1hcFxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgICAgICRicC1tYXg6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICB9XG5cbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICAkbmFtZWQ6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgJGJyZWFrcG9pbnRzIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICAvLyBDb252ZXJ0IGFueSBwaXhlbCwgcmVtLCBvciB1bml0bGVzcyB2YWx1ZSB0byBlbVxuICAkYnA6IC16Zi1icC10by1lbSgkYnApO1xuICAvLyBNYXggdmFsdWUgaXMgMC4ycHggdW5kZXIgdGhlIG5leHQgYnJlYWtwb2ludCAoMC4wMiAvIDE2ID0gMC4wMDEyNSkuXG4gIC8vIFVzZSBhIHByZWNpc2lvbiB1bmRlciAxcHggdG8gc3VwcG9ydCBicm93c2VyIHpvb20sIGJ1dCBub3QgdG8gbG93IHRvIGF2b2lkIHJvdW5kaW5nLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTEzMTNcbiAgQGlmICRicC1tYXgge1xuICAgICRicC1tYXg6IC16Zi1icC10by1lbSgkYnAtbWF4KSAtIC4wMDEyNTtcbiAgfVxuXG4gIC8vIENvbmRpdGlvbnMgdG8gc2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvblxuICAvLyAtIEl0J3MgYSBuYW1lZCBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIGRvd25cIiBvciBcIjAgdXBcIlxuICAvLyAtIEl0J3MgYSBudW1lcmljIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgXCIgKyBhbnl0aGluZ1xuICBAaWYgJGJwID4gMGVtIG9yICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBgb25seWAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKSBhbmQgKG1heC13aWR0aDogbilgXG4gICAgQGlmICRkaXIgPT0gJ29ubHknIHtcbiAgICAgIC8vIE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBcIm9ubHlcIiByYW5nZVxuICAgICAgQGlmICRuYW1lZCA9PSB0cnVlIHtcbiAgICAgICAgLy8gT25seSB1c2UgXCJtaW4td2lkdGhcIiBpZiB0aGUgZmxvb3IgaXMgZ3JlYXRlciB0aGFuIDBcbiAgICAgICAgQGlmICRicCA+IDBlbSB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcblxuICAgICAgICAgIC8vIE9ubHkgYWRkIFwiYW5kXCIgdG8gdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgICAkc3RyOiAkc3RyICsgJyBhbmQgJztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPbmx5IHVzZSBcIm1heC13aWR0aFwiIGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skYnAtbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgZG93bmAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWF4LXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkZGlyID09ICdkb3duJyB7XG4gICAgICAkbWF4OiBpZigkbmFtZWQsICRicC1tYXgsICRicCk7XG5cbiAgICAgIC8vIFNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb24gaWYgaW5wdXQgdmFsdWUgaXMgZXhhY3RseSBcIjAgZG93blwiLFxuICAgICAgLy8gdW5sZXNzIHRoZSBmdW5jdGlvbiB3YXMgY2FsbGVkIGFzIFwic21hbGwgZG93blwiLCBpbiB3aGljaCBjYXNlIGl0J3MganVzdCBcInNtYWxsIG9ubHlcIlxuICAgICAgQGlmICRuYW1lZCBvciAkYnAgPiAwZW0ge1xuICAgICAgICBAaWYgJG1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JG1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGB1cGAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkYnAgPiAwZW0ge1xuICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuLy8vXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQgYXMtaXMuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWUpIHtcbiAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xuICAkYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHZhbHVlKTtcbiAgJHBicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkcHJpbnQtYnJlYWtwb2ludCk7XG5cbiAgJG9sZC16Zi1zaXplOiBudWxsO1xuXG4gIC8vIE1ha2UgYnJlYWtwb2ludCBzaXplIGF2YWlsYWJsZSBhcyBhIHZhcmlhYmxlXG4gIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gIH1cbiAgJC16Zi1zaXplOiBudGgoJHZhbHVlLCAxKSAhZ2xvYmFsOyAvLyBnZXQgdGhlIGZpcnN0IHZhbHVlIHRvIGFjY291bnQgZm9yIGBvbmx5YCBhbmQgYGRvd25gIGtleXdvcmRzXG5cbiAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICBAaWYgJHN0ciA9PSAnJyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxuICBAZWxzZSB7XG4gICAgLy8gRm9yIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAkcHJpbnQtYnJlYWtwb2ludCwgYWRkIHByaW50IHRvIHRoZSBtZWRpYSB0eXBlc1xuICAgIEBpZiAkYnAgIT0gbnVsbCBhbmQgJGJwIDw9ICRwYnAge1xuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xufVxuXG4vLy8gQ29udmVydHMgdGhlIGJyZWFrcG9pbnRzIG1hcCB0byBhIFVSTC1lbmNvZGVkIHN0cmluZywgbGlrZSB0aGlzOiBga2V5MT12YWx1ZTEma2V5Mj12YWx1ZTJgLiBUaGUgdmFsdWUgaXMgdGhlbiBkcm9wcGVkIGludG8gdGhlIENTUyBmb3IgYSBzcGVjaWFsIGA8bWV0YT5gIHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0LiBUaGlzIGlzIGhvdyB3ZSB0cmFuc2ZlciB2YWx1ZXMgZnJvbSBTYXNzIHRvIEphdmFTY3JpcHQsIHNvIHRoZXkgY2FuIGJlIGRlZmluZWQgaW4gb25lIHBsYWNlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gY29udmVydC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IEEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG1hcCdzIGNvbnRlbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC1zZXJpYWxpemUoJG1hcCkge1xuICAkc3RyOiAnJztcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICRzdHI6ICRzdHIgKyAka2V5ICsgJz0nICsgLXpmLWJwLXRvLWVtKCR2YWx1ZSkgKyAnJic7XG4gIH1cbiAgJHN0cjogc3RyLXNsaWNlKCRzdHIsIDEsIC0yKTtcblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IGtleSBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3IgdGhlIGtleSBhZnRlciBgJGtleWAsIGlmIGAka2V5YCB3YXMgZm91bmQuIElmIGAka2V5YCB3YXMgbm90IGZvdW5kLCBvciBgJGtleWAgd2FzIHRoZSBsYXN0IHZhbHVlIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dCgkbWFwLCAka2V5KSB7XG5cbiAgLy8gU3RvcmUgdGhlIGtleXMgb2YgdGhlIG1hcCBhcyBhIGxpc3RcbiAgJHZhbHVlczogbWFwLWtleXMoJG1hcCk7XG5cbiAgJGk6IDA7XG5cbiAgLy8gSWYgdGhlIEtleSBFeGlzdHMsIEdldCB0aGUgaW5kZXggb2YgdGhlIGtleSB3aXRoaW4gdGhlIG1hcCBhbmQgYWRkIDEgdG8gaXQgZm9yIHRoZSBuZXh0IGJyZWFrcG9pbnQgaW4gdGhlIG1hcFxuICBAaWYgKG1hcC1oYXMta2V5KCRtYXAsICRrZXkpKSB7XG4gICAgJGk6IGluZGV4KCR2YWx1ZXMsICRrZXkpICsgMTtcbiAgfVxuXG4gIC8vIElmIHRoZSBrZXkgZG9lc24ndCBleGlzdCwgb3IgaXQncyB0aGUgbGFzdCBrZXkgaW4gdGhlIG1hcCwgcmV0dXJuIG51bGxcbiAgQGlmICgkaSA+IGxlbmd0aCgkbWFwKSBvciAkaSA9PSAwKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIHRoZSB2YWx1ZVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsIG50aCgkdmFsdWVzLCAkaSkpO1xuICB9XG5cbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIEtleSB0byB1c2UgYXMgbGFzdCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJGtleSkge1xuICAkbGlzdDogKCk7XG4gICRmb3VuZF9rZXk6IGZhbHNlO1xuXG4gIEBlYWNoICRuYW1lIGluICQtemYtYnJlYWtwb2ludHMta2V5cyB7XG4gICAgQGlmICgkbmFtZSA9PSAka2V5KSB7XG4gICAgICAkZm91bmRfa2V5OiB0cnVlO1xuICAgIH1cbiAgICBAaWYgbm90ICRmb3VuZF9rZXkge1xuICAgICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgJG5hbWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRsaXN0O1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCAtIGEgbmFtZWQgb3Igbm9uLW5hbWVkIGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAkbGFzdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICRmb3VuZDogZmFsc2U7XG5cbiAgJHZhbHVlOiB1bml0bGVzcy1jYWxjKCRicmVha3BvaW50LCAxcHgpO1xuICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgQGlmIHVuaXRsZXNzLWNhbGMoJHZhbCkgPiAkdmFsdWUge1xuICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJGxhc3Q6ICRrZXk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbGFzdDtcbn1cblxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXQgcmVnYXJkbGVzcyBvZiBgJHZhbHVlYC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGhhcyB0aGUga2V5IGAkdmFsdWVgLCB0aGUgZXhhY3QgYnJlYWtwb2ludCB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGRvZXMgKm5vdCogaGF2ZSB0aGUgYnJlYWtwb2ludCwgdGhlIHZhbHVlIG1hdGNoaW5nIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGluIHRoZSBjb25maWcgbWFwIGlzIHJldHVybmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gUmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cbkBmdW5jdGlvbiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkdmFsdWUpIHtcbiAgLy8gSWYgdGhlIGdpdmVuIG1hcCBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0XG4gIEBpZiB0eXBlLW9mKCRtYXApID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICRtYXA7XG4gIH1cblxuXG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAgICR2YWx1ZTogLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcbiAgfVxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXG4gIEBlbHNlIHtcbiAgICAkYW5jaG9yOiBudWxsO1xuICAgICRmb3VuZDogZmFsc2U7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcbiAgfVxufVxuXG4kc21hbGwtdXA6ICcnO1xuJHNtYWxsLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBzbWFsbCkge1xuICAkc21hbGwtdXA6IHNjcmVlbjtcbiAgJHNtYWxsLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIG9ubHkpfScpO1xufVxuXG4kbWVkaXVtLXVwOiAnJztcbiRtZWRpdW0tb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIG1lZGl1bSkge1xuICAkbWVkaXVtLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0pfScpO1xuICAkbWVkaXVtLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBvbmx5KX0nKTtcbn1cblxuJGxhcmdlLXVwOiAnJztcbiRsYXJnZS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbGFyZ2UpIHtcbiAgJGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSl9Jyk7XG4gICRsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHhsYXJnZS11cDogJyc7XG4keGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbiR4eGxhcmdlLXVwOiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeHhsYXJnZSkge1xuICAkeHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeHhsYXJnZSl9Jyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBTZXQgdGhlIHdpZHRoIG9mIGEgZ3JpZCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkd2lkdGggWyRncmlkLWNvbHVtbi1jb3VudF0gLSBXaWR0aCB0byBtYWtlIHRoZSBjb2x1bW4uIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGBncmlkLWNvbHVtbigpYCBmdW5jdGlvbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbkBtaXhpbiBncmlkLWNvbHVtbi1zaXplKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgd2lkdGg6IGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXNpemUoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXNpemVcbkBtaXhpbiBncmlkLWNvbC1zaXplKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tc2l6ZSgkY29sdW1ucyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBDYWxjdWxhdGVzIHRoZSB3aWR0aCBvZiBhIGNvbHVtbiBiYXNlZCBvbiBhIG51bWJlciBvZiBmYWN0b3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGNvbHVtbnNcbi8vLyAgIFdpZHRoIG9mIHRoZSBjb2x1bW4uIEFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHBlcmNlbnRhZ2UgdmFsdWUgd2lsbCBtYWtlIHRoZSBjb2x1bW4gdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIHNpbmdsZSBkaWdpdCB3aWxsIG1ha2UgdGhlIGNvbHVtbiBzcGFuIHRoYXQgbnVtYmVyIG9mIGNvbHVtbnMgd2lkZSwgdGFraW5nIGludG8gYWNjb3VudCB0aGUgY29sdW1uIGNvdW50IG9mIHRoZSBwYXJlbnQgcm93LlxuLy8vICAgLSBBIGxpc3Qgb2YgdGhlIGZvcm1hdCBcInggb2YgeVwiICh3aXRob3V0IHF1b3Rlcykgd2lsbCBtYWtlIGEgY29sdW1uIHRoYXQgaXMgKngqIGNvbHVtbnMgd2lkZSwgYXNzdW1pbmcgKnkqIHRvdGFsIGNvbHVtbnMgZm9yIHRoZSBwYXJlbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIGNhbGN1bGF0ZWQgcGVyY2VudGFnZSB2YWx1ZS5cbkBmdW5jdGlvbiBncmlkLWNvbHVtbigkY29sdW1ucykge1xuICAkd2lkdGg6IDAlO1xuXG4gIC8vIFBhcnNpbmcgcGVyY2VudHMsIGRlY2ltYWxzLCBhbmQgY29sdW1uIGNvdW50c1xuICBAaWYgdHlwZS1vZigkY29sdW1ucykgPT0gJ251bWJlcicge1xuICAgIEBpZiB1bml0KCRjb2x1bW5zKSA9PSAnJScge1xuICAgICAgJHdpZHRoOiAkY29sdW1ucztcbiAgICB9XG4gICAgQGVsc2UgaWYgJGNvbHVtbnMgPCAxIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZSgkY29sdW1ucyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZSgkY29sdW1ucyAvICRncmlkLWNvbHVtbi1jb3VudCk7XG4gICAgfVxuICB9XG5cbiAgLy8gUGFyc2luZyBcIm4gb2YgblwiIGV4cHJlc3Npb25zXG4gIEBlbHNlIGlmIHR5cGUtb2YoJGNvbHVtbnMpID09ICdsaXN0JyB7XG4gICAgQGlmIGxlbmd0aCgkY29sdW1ucykgIT0gMyB7XG4gICAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4oKS4gVXNlIHRoZSBmb3JtYXQgXCJuIG9mIG5cIi4nO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UobnRoKCRjb2x1bW5zLCAxKSAvIG50aCgkY29sdW1ucywgMykpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFueXRoaW5nIGVsc2UgaXMgaW5jb3JyZWN0XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4oKS4gVXNlIGEgbnVtYmVyLCBkZWNpbWFsLCBwZXJjZW50YWdlLCBvciBcIm4gb2YgblwiLic7XG4gIH1cblxuICBAcmV0dXJuICR3aWR0aDtcbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFskZ3JpZC1jb2x1bW4tY291bnRdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLiBSZWZlciB0byB0aGUgYGdyaWQtY29sdW1uLWd1dHRlcigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuQG1peGluIGdyaWQtY29sdW1uKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50LFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXNpemUoJGNvbHVtbnMpO1xuICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuXG4gIC8vIEd1dHRlcnNcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXJzOiAkZ3V0dGVycyk7XG5cbiAgLy8gUG9zaXRpb25cbiAgQGluY2x1ZGUgZ3JpZC1jb2wtcG9zKGF1dG8pO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgY29sdW1uIHJvdy4gVGhpcyBpcyB0aGUgZXF1aXZhbGVudCBvZiBhZGRpbmcgYC5yb3dgIGFuZCBgLmNvbHVtbmAgdG8gdGhlIHNhbWUgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFdpZHRoIG9mIHRoZSBndXR0ZXJzIG9uIGVpdGhlciBzaWRlIG9mIHRoZSBjb2x1bW4gcm93LiBSZWZlciB0byB0aGUgYGdyaWQtY29sdW1uLWd1dHRlcigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuQG1peGluIGdyaWQtY29sdW1uLXJvdyhcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLXJvdztcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJGd1dHRlcnM6ICRndXR0ZXJzKTtcblxuICAmLFxuICAmOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBub25lO1xuICB9XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW5cbkBmdW5jdGlvbiBncmlkLWNvbChcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxuKSB7XG4gIEByZXR1cm4gZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uXG5AbWl4aW4gZ3JpZC1jb2woXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnQsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXJzKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXJvdygpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tcm93XG5AbWl4aW4gZ3JpZC1jb2wtcm93KFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXJvdygkZ3V0dGVycyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBSZXBvc2l0aW9uIGEgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJHBvc2l0aW9uIC0gSXQgY2FuIGJlOlxuLy8vICAgKiBBIG51bWJlcjogVGhlIGNvbHVtbiB3aWxsIG1vdmUgZXF1YWwgdG8gdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4gY291bnRcbi8vLyAgICAgc3BlY2lmaWVkLiBBIHBvc2l0aXZlIG51bWJlciB3aWxsIHB1c2ggdGhlIGNvbHVtbiB0byB0aGUgcmlnaHQsIHdoaWxlXG4vLy8gICAgIGEgbmVnYXRpdmUgbnVtYmVyIHdpbGwgcHVsbCBpdCB0byB0aGUgbGVmdC5cbi8vLyAgICogYGNlbnRlcmA6IENvbHVtbiB3aWxsIGJlIGNlbnRlcmVkXG4vLy8gICAqIGBhdXRvYDogQ29sdW1uIHdpbGwgYmUgcHVzaGVkIHRvIHRoZSBsZWZ0IChvciB0byB0aGUgcmlnaHQgZm9yIHRoZSBsYXN0IGNvbHVtbikuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKSB7XG4gIC8vIEF1dG8gcG9zaXRpb25pbmdcbiAgQGlmICRwb3NpdGlvbiA9PSBhdXRvIHtcbiAgICAmLCAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgICAgIGNsZWFyOiBub25lO1xuICAgIH1cblxuICAgIC8vIExhc3QgY29sdW1uIGFsaWdubWVudFxuICAgIEBpZiAkZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZSB7XG4gICAgICAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogJGdsb2JhbC1yaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQdXNoL3B1bGxcbiAgQGVsc2UgaWYgdHlwZS1vZigkcG9zaXRpb24pID09ICdudW1iZXInIHtcbiAgICAkb2Zmc2V0OiBwZXJjZW50YWdlKCRwb3NpdGlvbiAvICRncmlkLWNvbHVtbi1jb3VudCk7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG5cbiAgLy8gQ2VudGVyIHBvc2l0aW9uaW5nXG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBjZW50ZXIge1xuICAgICYsICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKS4gRW50ZXIgYSBwb3NpdGl2ZSBvciBuZWdhdGl2ZSBudW1iZXIsIFwiY2VudGVyXCIgb3IgXCJhdXRvXCIuJztcbiAgfVxufVxuXG4vLy8gUmVzZXQgYSBwb3NpdGlvbiBkZWZpbml0aW9uLlxuQG1peGluIGdyaWQtY29sdW1uLXVucG9zaXRpb24ge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1wb3NpdGlvbihhdXRvKTtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0IGJ5IGAkbmAgY29sdW1ucy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFdpZHRoIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuQG1peGluIGdyaWQtY29sdW1uLW9mZnNldCgkbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiBncmlkLWNvbHVtbigkbik7XG59XG5cbi8vLyBEaXNhYmxlIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIHRoZSBsYXN0IGNvbHVtbiBpbiBhIHJvdyBhbGlnbmluZyB0byB0aGUgb3Bwb3NpdGUgZWRnZS5cbkBtaXhpbiBncmlkLWNvbHVtbi1lbmQge1xuICAvLyBUaGlzIGV4dHJhIHNwZWNpZmljaXR5IGlzIHJlcXVpcmVkIGZvciB0aGUgcHJvcGVydHkgdG8gYmUgYXBwbGllZFxuICAmOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtcG9zKCRwb3NpdGlvbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXVucG9zIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbjtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLW9mZnNldCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tb2Zmc2V0XG5AbWl4aW4gZ3JpZC1jb2wtb2ZmKCRuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgkbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1lbmQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWVuZFxuQG1peGluIGdyaWQtY29sLWVuZCB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWVuZDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFNpemVzIGNoaWxkIGVsZW1lbnRzIHNvIHRoYXQgYCRuYCBudW1iZXIgb2YgaXRlbXMgYXBwZWFyIG9uIGVhY2ggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGVsZW1lbnRzIHRvIGRpc3BsYXkgcGVyIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsnLmNvbHVtbiddIC0gU2VsZWN0b3IocykgdG8gdXNlIGZvciBjaGlsZCBlbGVtZW50cy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkZ3V0dGVyXG4vLy8gICBUaGUgZ3V0dGVyIHRvIGFwcGx5IHRvIGNoaWxkIGVsZW1lbnRzLiBBY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gJGdyaWQtY29sdW1uLWd1dHRlciB3aWxsIHVzZSB0aGUgdmFsdWVzIGluIHRoZSAkZ3JpZC1jb2x1bW4tZ3V0dGVyIG1hcCwgaW5jbHVkaW5nIGJyZWFrcG9pbnQgc2l6ZXMuXG4vLy8gICAtIEEgZml4ZWQgbnVtZXJpYyB2YWx1ZSB3aWxsIGFwcGx5IHRoaXMgZ3V0dGVyIHRvIGFsbCBicmVha3BvaW50cy5cbkBtaXhpbiBncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jb2x1bW4nLFxuICAkZ3V0dGVyOiBudWxsXG4pIHtcbiAgJiA+ICN7JHNlbGVjdG9yfSB7XG4gICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgxLyRuKTtcblxuICAgIC8vIElmIGEgJGd1dHRlciB2YWx1ZSBpcyBwYXNzZWRcbiAgICBAaWYoJGd1dHRlcikge1xuICAgICAgLy8gR3V0dGVyc1xuICAgICAgQGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ21hcCcge1xuICAgICAgICBAZWFjaCAkYnJlYWtwb2ludCwgJHZhbHVlIGluICRndXR0ZXIge1xuICAgICAgICAgICRwYWRkaW5nOiByZW0tY2FsYygkdmFsdWUpIC8gMjtcblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ251bWJlcicgYW5kIHN0cmlwLXVuaXQoJGd1dHRlcikgPiAwIHtcbiAgICAgICAgJHBhZGRpbmc6IHJlbS1jYWxjKCRndXR0ZXIpIC8gMjtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7XG4gICAgfVxuXG4gICAgJjpudGgtb2YtdHlwZSgjeyRufW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGV4dHJhIENTUyB0byBibG9jayBncmlkIGNoaWxkcmVuIHNvIHRoZSBsYXN0IGl0ZW1zIGluIHRoZSByb3cgY2VudGVyIGF1dG9tYXRpY2FsbHkuIEFwcGx5IHRoaXMgdG8gdGhlIGNvbHVtbnMsIG5vdCB0aGUgcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGl0ZW1zIHRoYXQgYXBwZWFyIGluIGVhY2ggcm93LlxuQG1peGluIGdyaWQtbGF5b3V0LWNlbnRlci1sYXN0KCRuKSB7XG4gIEBmb3IgJGkgZnJvbSAxIHRvICRuIHtcbiAgICBAaWYgJGkgPT0gMSB7XG4gICAgICAmOm50aC1jaGlsZCgjeyRufW4rMSk6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAoMTAwIC0gMTAwLyRuICogJGkpIC8gMiAqIDElO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAmOm50aC1jaGlsZCgjeyRufW4rMSk6bnRoLWxhc3QtY2hpbGQoI3skaX0pIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICgxMDAgLSAxMDAvJG4gKiAkaSkgLyAyICogMSU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmbGV4LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBjb250YWluZXIgZm9yIGEgZmxleCBncmlkIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxMaXN0fSAkYmVoYXZpb3IgW251bGxdXG4vLy8gICBNb2RpZmljYXRpb25zIHRvIHRoZSBkZWZhdWx0IGdyaWQgc3R5bGVzLiBgbmVzdGAgaW5kaWNhdGVzIHRoZSByb3cgd2lsbCBiZSBwbGFjZWQgaW5zaWRlIGFub3RoZXIgcm93LiBgY29sbGFwc2VgIGluZGljYXRlcyB0aGF0IHRoZSBjb2x1bW5zIGluc2lkZSB0aGlzIHJvdyB3aWxsIG5vdCBoYXZlIHBhZGRpbmcuIGBuZXN0IGNvbGxhcHNlYCBjb21iaW5lcyBib3RoIGJlaGF2aW9ycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbJGdyaWQtcm93LXdpZHRoXSBNYXhpbXVtIHNpemUgb2YgdGhlIHJvdy4gU2V0IHRvIGBleHBhbmRgIHRvIG1ha2UgdGhlIHJvdyB0YWtpbmcgdGhlIGZ1bGwgd2lkdGguXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIFtudWxsXSAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZSBmb3IgdGhpcyByb3cuIElmIHNldCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSwgdGhlIGdsb2JhbCBjb2x1bW4gY291bnQgd2lsbCBiZSB1c2VkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGJhc2UgW3RydWVdIC0gU2V0IHRvIGBmYWxzZWAgdG8gcHJldmVudCBiYXNpYyBzdHlsZXMgZnJvbSBiZWluZyBvdXRwdXQuIFVzZWZ1bCBpZiB5b3UncmUgY2FsbGluZyB0aGlzIG1peGluIG9uIHRoZSBzYW1lIGVsZW1lbnQgdHdpY2UsIGFzIGl0IHByZXZlbnRzIGR1cGxpY2F0ZSBDU1Mgb3V0cHV0LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHdyYXAgW3RydWVdIC0gU2V0IHRvIGBmYWxzZWAgdG8gaGF2ZSByb3cgd3JhcHBpbmcgYmVoYXZpb3Igc2V0IHRvIG5vd3JhcFxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIG1hcmdpbnMsIGluIGNhc2UgdGhlIHJvdyBpcyBuZXN0ZWQuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZmxleC1ncmlkLXJvdyhcbiAgJGJlaGF2aW9yOiBudWxsLFxuICAkc2l6ZTogJGdyaWQtcm93LXdpZHRoLFxuICAkY29sdW1uczogbnVsbCxcbiAgJGJhc2U6IHRydWUsXG4gICR3cmFwOiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gICRtYXJnaW46IGF1dG87XG4gICR3cmFwOiBpZigkd3JhcCwgd3JhcCwgbm93cmFwKTtcblxuICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBuZXN0KSAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRndXR0ZXJzKTtcblxuICAgIEBpZiBpbmRleCgkYmVoYXZpb3IsIGNvbGxhcHNlKSAhPSBudWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZSgkc2l6ZSk7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgQGlmICRiYXNlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93ICR3cmFwO1xuICB9XG5cbiAgQGlmICRjb2x1bW5zICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtY29udGV4dCgkY29sdW1ucywgJGJhc2UpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgYGZsZXhgIHByb3BlcnR5IGZvciBhIGZsZXggZ3JpZCBjb2x1bW4uIEl0IGFjY2VwdHMgYWxsIG9mIHRoZSBzYW1lIHZhbHVlcyBhcyB0aGUgYmFzaWMgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uLCBhbG9uZyB3aXRoIHR3byBleHRyYXM6XG4vLy8gICAtIGBleHBhbmRgICh0aGUgZGVmYXVsdCkgd2lsbCBtYWtlIHRoZSBjb2x1bW4gZXhwYW5kIHRvIGZpbGwgc3BhY2UuXG4vLy8gICAtIGBzaHJpbmtgIHdpbGwgbWFrZSB0aGUgY29sdW1uIGNvbnRyYWN0LCBzbyBpdCBvbmx5IHRha2VzIHVwIHRoZSBob3Jpem9udGFsIHNwYWNlIGl0IG5lZWRzLlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgW2V4cGFuZF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLlxuQGZ1bmN0aW9uIGZsZXgtZ3JpZC1jb2x1bW4oJGNvbHVtbnM6IGV4cGFuZCkge1xuICAkZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcblxuICBAaWYgJGNvbHVtbnMgPT0gc2hyaW5rIHtcbiAgICAkZmxleDogMCAwIGF1dG87XG4gIH1cbiAgQGVsc2UgaWYgJGNvbHVtbnMgIT0gZXhwYW5kIHtcbiAgICAkZmxleDogMCAwIGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbiAgfVxuXG4gIEByZXR1cm4gJGZsZXg7XG59XG5cbi8vLyBDcmVhdGVzIGEgY29sdW1uIGZvciBhIGZsZXggZ3JpZC4gQnkgZGVmYXVsdCwgdGhlIGNvbHVtbiB3aWxsIHN0cmV0Y2ggdG8gdGhlIGZ1bGwgd2lkdGggb2YgaXRzIGNvbnRhaW5lciwgYnV0IHRoaXMgY2FuIGJlIG92ZXJyaWRkZW4gd2l0aCBzaXppbmcgY2xhc3Nlcywgb3IgYnkgdXNpbmcgdGhlIGB1bnN0YWNrYCBjbGFzcyBvbiB0aGUgcGFyZW50IGZsZXggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgW2V4cGFuZF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLiBSZWZlciB0byB0aGUgYGZsZXgtZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMgd2lkdGguIFNlZSB0aGUgYGdyaWQtY29sdW1uLWd1dHRlcmAgbWl4aW4uXG5AbWl4aW4gZmxleC1ncmlkLWNvbHVtbihcbiAgJGNvbHVtbnM6IGV4cGFuZCxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICAvLyBCYXNlIHByb3BlcnRpZXNcbiAgQGluY2x1ZGUgZmxleC1ncmlkLXNpemUoJGNvbHVtbnMpO1xuXG4gIC8vIEd1dHRlcnNcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXJzOiAkZ3V0dGVycyk7XG5cbiAgLy8gZml4ZXMgcmVjZW50IENocm9tZSB2ZXJzaW9uIG5vdCBsaW1pdGluZyBjaGlsZCB3aWR0aFxuICAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zNDkzNDU4Ni93aGl0ZS1zcGFjZS1ub3dyYXAtYW5kLWZsZXhib3gtZGlkLW5vdC13b3JrLWluLWNocm9tZVxuICBAaWYgJGNvbHVtbnMgPT0gZXhwYW5kIHtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBibG9jayBncmlkIGZvciBhIGZsZXggZ3JpZCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgY29sdW1ucyB0byBkaXNwbGF5IG9uIGVhY2ggcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgLSBTZWxlY3RvciB0byB1c2UgdG8gdGFyZ2V0IGNvbHVtbnMgd2l0aGluIHRoZSByb3cuXG5AbWl4aW4gZmxleC1ncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jb2x1bW4nXG4pIHtcbiAgZmxleC13cmFwOiB3cmFwO1xuXG4gID4gI3skc2VsZWN0b3J9IHtcbiAgICAkcGN0OiBwZXJjZW50YWdlKDEvJG4pO1xuXG4gICAgZmxleDogMCAwICRwY3Q7XG4gICAgbWF4LXdpZHRoOiAkcGN0O1xuICB9XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSB3aWR0aCBmbGV4IGdyaWQgY29sdW1uLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFtleHBhbmRdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi4gUmVmZXIgdG8gdGhlIGBmbGV4LWdyaWQtY29sdW1uKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG5AbWl4aW4gZmxleC1ncmlkLXNpemUoJGNvbHVtbnM6IG51bGwpIHtcbiAgJGNvbHVtbnM6ICRjb2x1bW5zIG9yIGV4cGFuZDtcblxuICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCRjb2x1bW5zKTtcblxuICAvLyBtYXgtd2lkdGggZml4ZXMgSUUgMTAvMTEgbm90IHJlc3BlY3RpbmcgdGhlIGZsZXgtYmFzaXMgcHJvcGVydHlcbiAgQGlmICRjb2x1bW5zICE9IGV4cGFuZCBhbmQgJGNvbHVtbnMgIT0gc2hyaW5rIHtcbiAgICBtYXgtd2lkdGg6IGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbiAgfVxufVxuXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtZ3JpZCB7XG4gIC8vIFJvd1xuICAucm93IHtcbiAgICBAaW5jbHVkZSBmbGV4LWdyaWQtcm93O1xuXG4gICAgLy8gTmVzdGluZyBiZWhhdmlvclxuICAgICYgLnJvdyB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtcm93KG5lc3QsICRiYXNlOiBmYWxzZSk7XG5cbiAgICAgICYuY29sbGFwc2Uge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV4cGFuZGVkIHJvd1xuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZShleHBhbmQpO1xuXG4gICAgICAucm93IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm5vdCguZXhwYW5kZWQpIC5yb3cge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZShleHBhbmQpO1xuICAgIH1cblxuICAgICYuY29sbGFwc2Uge1xuICAgICAgPiAuY29sdW1uIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVW5kbyBuZWdhdGl2ZSBtYXJnaW5zXG4gICAgLy8gRnJvbSBjb2xsYXBzZWQgY2hpbGRcbiAgICAmLmlzLWNvbGxhcHNlLWNoaWxkLFxuICAgICYuY29sbGFwc2UgPiAuY29sdW1uID4gLnJvdyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAvLyBDb2x1bW5cbiAgLmNvbHVtbiB7XG4gICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbjtcbiAgfVxuXG4gIC8vIENvbHVtbiByb3dcbiAgLy8gVGhlIGRvdWJsZSAucm93IGNsYXNzIGlzIG5lZWRlZCB0byBidW1wIHVwIHRoZSBzcGVjaWZpY2l0eVxuICAuY29sdW1uLnJvdy5yb3cge1xuICAgIGZsb2F0OiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLy8gVG8gcHJvcGVybHkgbmVzdCBhIGNvbHVtbiByb3csIHBhZGRpbmcgYW5kIG1hcmdpbiBpcyByZW1vdmVkXG4gIC5yb3cgLmNvbHVtbi5yb3cucm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbi1jb3VudCB7XG4gICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigkaSk7XG4gICAgICAgIG1heC13aWR0aDogZ3JpZC1jb2x1bW4oJGkpO1xuICAgICAgfVxuXG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgkbyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQmxvY2sgZ3JpZFxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGJsb2NrLWdyaWQtbWF4IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtbGF5b3V0KCRpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJC16Zi1zaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIC8vIFNpemluZyAoZXhwYW5kKVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXNpemUpIHtcbiAgICAgICAgLiN7JC16Zi1zaXplfS1leHBhbmQge1xuICAgICAgICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBBdXRvLXN0YWNraW5nL3Vuc3RhY2tpbmdcbiAgICAgIEBhdC1yb290ICh3aXRob3V0OiBtZWRpYSkge1xuICAgICAgICAucm93LiN7JC16Zi1zaXplfS11bnN0YWNrIHtcbiAgICAgICAgICA+IC5jb2x1bW4ge1xuICAgICAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigxMDAlKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXNpemUpIHtcbiAgICAgICAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgY29sbGFwc2luZ1xuICAgIC4jeyQtemYtc2l6ZX0tY29sbGFwc2Uge1xuICAgICAgPiAuY29sdW1uIHsgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7IH1cbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LXVuY29sbGFwc2Uge1xuICAgICAgPiAuY29sdW1uIHsgQGluY2x1ZGUgZ3JpZC1jb2wtZ3V0dGVyKCQtemYtc2l6ZSk7IH1cbiAgICB9XG4gIH1cblxuICAvLyBTaXppbmcgKHNocmluaylcbiAgLnNocmluayB7XG4gICAgZmxleDogZmxleC1ncmlkLWNvbHVtbihzaHJpbmspO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIEJsb2NrIGdyaWQgY29sdW1uc1xuICAuY29sdW1uLWJsb2NrIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1tYXJnaW47XG4gIH1cblxuICAuY29sdW1ucyB7XG4gICAgQGV4dGVuZCAuY29sdW1uOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHBsYWNlaG9sZGVyLWluLWV4dGVuZFxuXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zdGlja3kge1xuICAuc3RpY2t5LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLnN0aWNreSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIC5zdGlja3kuaXMtc3R1Y2sge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiA1O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJi5pcy1hdC10b3Age1xuICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAuc3RpY2t5LmlzLWFuY2hvcmVkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIEZsZXhib3ggVXRpbGl0aWVzXG4vLy8vXG4vL1xuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHRoZSBjb3VudCBvZiBzb3VyY2Ugb3JkZXJpbmdgXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDYgIWRlZmF1bHQ7XG5cbi8vLyBRdWlja2x5IGRpc2FibGUvZW5hYmxlIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIFZhbmlsbGEgRmxleCBIZWxwZXJzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWUgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmbGV4LWhlbHBlcnMge1xuICAuZmxleC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGZsZXg7XG4gIH1cblxuICAuZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuXG4gIEBlYWNoICRkaXIsICRwcm9wIGluICQtemYtZmxleC1kaXJlY3Rpb24ge1xuICAgIC5mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNvbnRhaW5lciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1zaHJpbmsge1xuICAgICAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tZmxleC1kaXItI3skZGlyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzIHtcbiAgLy8gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdXNpbmcganVzdGlmeS1jb250ZW50XG4gIEBlYWNoICRoZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtanVzdGlmeSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcbiAgICB9XG4gIH1cbiAgXG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IFNwZWNpZmljYWxseSBmb3IgVmVydGljYWwgTWVudVxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gbWFwLXJlbW92ZSgkLXpmLWZsZXgtanVzdGlmeSwgJ2p1c3RpZnknLCAnc3BhY2VkJykge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgJi5tZW51ID4gbGkgPiBhIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBhbGlnbm1lbnQgdXNpbmcgYWxpZ24taXRlbXMgYW5kIGFsaWduLXNlbGZcbiAgQGVhY2ggJHZkaXIsICRwcm9wIGluICQtemYtZmxleC1hbGlnbiB7XG4gICAgLmFsaWduLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHk6ICR2ZGlyKTtcbiAgICB9XG5cbiAgICAuYWxpZ24tc2VsZi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYoJHk6ICR2ZGlyKTtcbiAgICB9XG4gIH1cblxuICAvLyBDZW50cmFsIGFsaWdubWVudCBvZiBjb250ZW50XG4gIC5hbGlnbi1jZW50ZXItbWlkZGxlIHtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiBjZW50ZXIsICR5OiBtaWRkbGUpO1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gIC8vIFNvdXJjZSBvcmRlcmluZ1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudCB7XG4gICAgICAuI3skLXpmLXNpemV9LW9yZGVyLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1vcmRlcigkaSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmFuaWxsYSBGbGV4Ym94IEhlbHBlcnNcbiAgQGluY2x1ZGUgZmxleC1oZWxwZXJzO1xufVxuIiwiQGZ1bmN0aW9uIC16Zi1mbGV4LWp1c3RpZnkoJHRleHQtZGlyZWN0aW9uKXtcbiAgJC16Zi1mbGV4LWp1c3RpZnk6IChcbiAgICAnbGVmdCc6IGlmKCR0ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGZsZXgtZW5kLCBmbGV4LXN0YXJ0KSxcbiAgICAncmlnaHQnOiBpZigkdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBmbGV4LXN0YXJ0LCBmbGV4LWVuZCksXG4gICAgJ2NlbnRlcic6IGNlbnRlcixcbiAgICAnanVzdGlmeSc6IHNwYWNlLWJldHdlZW4sXG4gICAgJ3NwYWNlZCc6IHNwYWNlLWFyb3VuZCxcbiAgKTtcblxuICBAcmV0dXJuICQtemYtZmxleC1qdXN0aWZ5O1xufVxuXG5cbiQtemYtZmxleC1hbGlnbjogKFxuICAndG9wJzogZmxleC1zdGFydCxcbiAgJ2JvdHRvbSc6IGZsZXgtZW5kLFxuICAnbWlkZGxlJzogY2VudGVyLFxuICAnc3RyZXRjaCc6IHN0cmV0Y2gsXG4pO1xuXG4kLXpmLWZsZXgtZGlyZWN0aW9uOiAoXG4gICdyb3cnOiByb3csXG4gICdyb3ctcmV2ZXJzZSc6IHJvdy1yZXZlcnNlLFxuICAnY29sdW1uJzogY29sdW1uLFxuICAnY29sdW1uLXJldmVyc2UnOiBjb2x1bW4tcmV2ZXJzZSxcbik7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggYnkgYWRkaW5nIGBkaXNwbGF5OiBmbGV4YCB0byB0aGUgZWxlbWVudC5cbkBtaXhpbiBmbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLy8vIEhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5IGFsaWducyB0aGUgaXRlbXMgd2l0aGluIGEgZmxleCBjb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR4IFtudWxsXSAtIEhvcml6b250YWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGBsZWZ0YCwgYHJpZ2h0YCwgYGNlbnRlcmAsIGBqdXN0aWZ5YCwgb3IgYHNwYWNlZGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCBob3Jpem9udGFsIGFsaWdubWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbigkeDogbnVsbCwgJHk6IG51bGwpIHtcbiAgQGlmICR4IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWp1c3RpZnksICR4KSB7XG4gICAgICAkeDogbWFwLWdldCgkLXpmLWZsZXgtanVzdGlmeSwgJHgpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR4fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgaG9yaXpvbnRhbCBhbGlnbm1lbnQuIFVzZSBsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5LCBvciBzcGFjZWQuJztcbiAgICB9XG4gIH1cblxuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIHZlcnRpY2FsIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBqdXN0aWZ5LWNvbnRlbnQ6ICR4O1xuICBhbGlnbi1pdGVtczogJHk7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGFsaWduIGEgc2luZ2xlIGNvbHVtbiB3aXRoaW4gYSBmbGV4IHJvdy4gQXBwbHkgdGhpcyBtaXhpbiB0byBhIGZsZXggY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkeTogbnVsbCkge1xuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1jb2x1bW4tYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBhbGlnbi1zZWxmOiAkeTtcbn1cblxuLy8vIENoYW5nZXMgdGhlIHNvdXJjZSBvcmRlciBvZiBhIGZsZXggY2hpbGQuIENoaWxkcmVuIHdpdGggbG93ZXIgbnVtYmVycyBhcHBlYXIgZmlyc3QgaW4gdGhlIGxheW91dC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9yZGVyIFswXSAtIE9yZGVyIG51bWJlciB0byBhcHBseS5cbkBtaXhpbiBmbGV4LW9yZGVyKCRvcmRlcjogMCkge1xuICBvcmRlcjogJG9yZGVyO1xufVxuXG4vLy8gQ2hhbmdlIGZsZXgtZGlyZWN0aW9uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtyb3ddIC0gRmxleCBkaXJlY3Rpb24gdG8gdXNlLiBDYW4gYmVcbi8vLyAgIC0gcm93IChkZWZhdWx0KTogc2FtZSBhcyB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSByb3ctcmV2ZXJzZTogb3Bwb3NpdGUgdG8gdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gY29sdW1uOiBzYW1lIGFzIHJvdyBidXQgdG9wIHRvIGJvdHRvbVxuLy8vICAgLSBjb2x1bW4tcmV2ZXJzZTogc2FtZSBhcyByb3ctcmV2ZXJzZSB0b3AgdG8gYm90dG9tXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJGRpcmVjdGlvbjogcm93KSB7XG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xufVxuIiwiQGNoYXJzZXQgJ3V0Zi04JztcblxuXG5AaW1wb3J0ICdzZXR0aW5ncyc7XG5AaW1wb3J0ICdmb3VuZGF0aW9uJztcbi8vQGltcG9ydCAnbW90aW9uLXVpJztcblxuQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG5cbi8vQGluY2x1ZGUgZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXM7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXJhbmdlLWlucHV0O1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbjtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi10aXRsZS1iYXI7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3Nlcztcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcbkBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzO1xuXG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzO1xuXG4vL0BpbmNsdWRlIG1vdGlvbi11aS10cmFuc2l0aW9ucztcbi8vQGluY2x1ZGUgbW90aW9uLXVpLWFuaW1hdGlvbnM7XG5cbi8qXG4gIE15IGN1c3RvbSBzdHlsZXM6XG4gIEFkZCB5b3VyIHNjc3MgZmlsZXMgYmVsb3cgdG8gc3RydWN0dXJlIHlvdXIgcHJvamVjdCBzdHlsZXNcbiovXG5cbi8vIEdsb2JhbFxuQGltcG9ydCBcImdsb2JhbC9hY2Nlc3NpYmlsaXR5XCI7XG5AaW1wb3J0IFwiZ2xvYmFsL2NvbG9yc1wiO1xuQGltcG9ydCBcImdsb2JhbC9mb250c1wiO1xuQGltcG9ydCBcImdsb2JhbC9hbmltYXRpb25zXCI7XG4vL0BpbXBvcnQgXCJnbG9iYWwvd3AtYWRtaW5cIjtcbkBpbXBvcnQgXCJnbG9iYWwvd3Atb3ZlcnJpZGVzXCI7XG4vL0BpbXBvcnQgXCJnbG9iYWwvZ3V0ZW5iZXJnXCI7XG5cbi8vIE1vZHVsZXNcbkBpbXBvcnQgXCJtb2R1bGVzL25hdmlnYXRpb25cIjtcbkBpbXBvcnQgXCJtb2R1bGVzL2NvbnRlbnRcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL293bC1jYXJvdXNlbFwiO1xuQGltcG9ydCBcIm1vZHVsZXMvZm9vdGVyXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9lZGl0b3Itc3R5bGVcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL3NpZGUtbWVudVwiO1xuQGltcG9ydCBcIm1vZHVsZXMvZW50cnktY29udGVudFwiO1xuQGltcG9ydCBcIm1vZHVsZXMvZm9ybXNcIjtcblxuLy8gQ29tcG9uZW50c1xuQGltcG9ydCBcImNvbXBvbmVudHMvYnV0dG9uc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvY2FyZHNcIjtcbi8vQGltcG9ydCBcImNvbXBvbmVudHMvZmVhdHVyZWQtaW1hZ2VcIjtcbi8vQGltcG9ydCBcImNvbXBvbmVudHMvZGl2aWRlcnNcIjtcbi8vQGltcG9ydCBcImNvbXBvbmVudHMvbGlua3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2NhbGwtdG8tYWN0aW9uXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9ibG9ja3MvdHdvLWNvbC1ibG9ja1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvYmxvY2tzL2NvbnRhY3Qtb3BlbmluZy10aW1lc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvYmxvY2tzL29mZmVycy1kZXNjcmlwdGlvblwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvYmxvY2tzL2NoZWNrbGlzdFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvYmxvY2tzL2NhdGVnb3J5LWJsb2NrXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9ibG9ja3Mvd2h5LXJldmlld1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvYmxvY2tzL3Jldmlld3NcIjtcblxuLy8gVGVtcGxhdGVzXG4vL0BpbXBvcnQgXCJ0ZW1wbGF0ZXMvZnJvbnRcIjtcbi8vQGltcG9ydCBcInRlbXBsYXRlcy9raXRjaGVuLXNpbmtcIjtcbkBpbXBvcnQgXCJ0ZW1wbGF0ZXMvaGVhZGVyXCI7XG5AaW1wb3J0IFwidGVtcGxhdGVzL2Jsb2ctbGlzdHNcIjsiLCIvLyBUZXh0IG1lYW50IG9ubHkgZm9yIHNjcmVlbiByZWFkZXJzLiBBZGRyZXNzZXMgcGFydCBvZiB0aGVtZS1jaGVjayBpc3N1ZSAjODQwLlxuLy8gaHR0cHM6Ly9naXRodWIuY29tL0F1dG9tYXR0aWMvX3MvYmxvYi9tYXN0ZXIvc3R5bGUuY3NzXG4uc2NyZWVuLXJlYWRlci10ZXh0IHtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHdpZHRoOiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5zY3JlZW4tcmVhZGVyLXRleHQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaGFkb3c6IDAgMCAycHggMnB4IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgY2xpcDogYXV0byAhaW1wb3J0YW50O1xuICBjb2xvcjogIzIxNzU5YjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGhlaWdodDogYXV0bztcbiAgbGVmdDogNXB4O1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAxNXB4IDIzcHggMTRweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0b3A6IDVweDtcbiAgd2lkdGg6IGF1dG87XG4gIHotaW5kZXg6IDEwMDAwMDsgLy8gQWJvdmUgV1AgdG9vbGJhci5cbn1cbiIsIkBmb250LWZhY2Uge1xuXHRmb250LWZhbWlseTogJ1BUIFNhbnMnO1xuXHRzcmM6IGxvY2FsKCdQVCBTYW5zJyksIGxvY2FsKCdQVFNhbnMtUmVndWxhcicpLFxuXHR1cmwoJy4uL2ZvbnRzL2hpbnRlZC1QVFNhbnMtUmVndWxhci53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcblx0dXJsKCcuLi9mb250cy9oaW50ZWQtUFRTYW5zLVJlZ3VsYXIud29mZicpIGZvcm1hdCgnd29mZicpO1xuXHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuXHRmb250LWZhbWlseTogJ1BUIFNhbnMnO1xuXHRzcmM6IGxvY2FsKCdQVCBTYW5zIEJvbGQnKSwgbG9jYWwoJ1BUU2Fucy1Cb2xkJyksXG5cdHVybCgnLi4vZm9udHMvaGludGVkLVBUU2Fucy1Cb2xkLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuXHR1cmwoJy4uL2ZvbnRzL2hpbnRlZC1QVFNhbnMtQm9sZC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuXHRmb250LWZhbWlseTogJ0FidWdldCc7XG5cdHNyYzogbG9jYWwoJ0FidWdldCcpLFxuXHR1cmwoJy4uL2ZvbnRzL2hpbnRlZC1BYnVnZXQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG5cdHVybCgnLi4vZm9udHMvaGludGVkLUFidWdldC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG5cdGZvbnQtZmFtaWx5OiAnQW1hcmFudGgnO1xuXHRzcmM6IGxvY2FsKCdBbWFyYW50aCcpLFxuXHR1cmwoJy4uL2ZvbnRzL2hpbnRlZC1BbWFyYW50aC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcblx0dXJsKCcuLi9mb250cy9oaW50ZWQtQW1hcmFudGgud29mZicpIGZvcm1hdCgnd29mZicpO1xuXHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbiRmb250LXB0LXNhbnM6ICdQVCBTYW5zJywgc2Fucy1zZXJpZjtcbiRmb250LWFidWdldDogJ0FidWdldCcsIHNlcmlmO1xuJGZvbnQtYW1hcmFudGg6ICdBbWFyYW50aCcsIHNlcmlmO1xuXG5cbmgxLGgyLGgzLGg0LGg1IHtcblx0Zm9udC12YXJpYW50LWxpZ2F0dXJlczogbm9uZTtcbn1cblxucCxhLHNwYW4ge1xuXHRmb250LWZhbWlseTogJGZvbnQtcHQtc2Fucztcblx0Zm9udC12YXJpYW50LWxpZ2F0dXJlczogbm9uZTtcbn1cbiIsIkBrZXlmcmFtZXMgZmFkZUluIHtcblx0ZnJvbSB7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxuXHRcblx0dG8ge1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cbn1cblxuLmZhZGVJbiB7XG5cdGFuaW1hdGlvbi1uYW1lOiBmYWRlSW47XG59IiwiLndwLWNhcHRpb24gPiBmaWdjYXB0aW9uIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgY29sb3I6ICM5OTk7XG4gIHBhZGRpbmc6IDAuMjVyZW0gMDtcbn1cblxucC53cC1jYXB0aW9uLXRleHR7XG4gIGZvbnQtc2l6ZTo5MCU7XG4gIGNvbG9yOiAjNjY2O1xuICBwYWRkaW5nOnJlbS1jYWxjKDEwKSAwO1xufVxuXG4uYWxpZ25sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gIG1hcmdpbjogMDtcbn1cblxuLmFsaWducmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgbWFyZ2luOiAwO1xufVxuXG4uYWxpZ25jZW50ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLmdhbGxlcnkge1xuICBAaW5jbHVkZSB4eS1ncmlkO1xuICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggOSB7XG4gICAgJi5nYWxsZXJ5LWNvbHVtbnMtI3skaX0ge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoMiwgJy5nYWxsZXJ5LWl0ZW0nLCB0cnVlKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuICAgICAgJi5nYWxsZXJ5LWNvbHVtbnMtI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCg0LCAnLmdhbGxlcnktaXRlbScsIHRydWUsIChzbWFsbDogMzBweCkpO1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAmLmdhbGxlcnktY29sdW1ucy0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRpLCAnLmdhbGxlcnktaXRlbScsIHRydWUsIChzbWFsbDogMzBweCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZ2FsbGVyeS1pY29uID4gYSB7XG4gICAgQGluY2x1ZGUgdGh1bWJuYWlsO1xuICAgIEBpbmNsdWRlIHRodW1ibmFpbC1saW5rO1xuICB9XG4gIC5nYWxsZXJ5LWljb24gPiBpbWcge1xuICAgIEBpbmNsdWRlIHRodW1ibmFpbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIG1heCB3aWR0aCBjb250YWluZXIsIGRlc2lnbmVkIHRvIGhvdXNlIHlvdXIgZ3JpZCBjb250ZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJGdyaWQtY29udGFpbmVyXSAtIGEgd2lkdGggdG8gbGltaXQgdGhlIGNvbnRhaW5lciB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRncmlkLWNvbnRhaW5lci1wYWRkaW5nXSAtIHBhZGRpbmdzIG9mIHRoZSBjb250YWluZXIuXG5AbWl4aW4geHktZ3JpZC1jb250YWluZXIoXG4gICR3aWR0aDogJGdyaWQtY29udGFpbmVyLFxuICAkcGFkZGluZzogJGdyaWQtY29udGFpbmVyLXBhZGRpbmdcbikge1xuICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkcGFkZGluZywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcblxuICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi8vLyBDcmVhdGVzIGEgY29udGFpbmVyIGZvciB5b3VyIGZsZXggY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2hvcml6b250YWxdIC0gRWl0aGVyIGhvcml6b250YWwgb3IgdmVydGljYWwgZGlyZWN0aW9uIG9mIGNlbGxzIHdpdGhpbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR3cmFwIFt0cnVlXSAtIElmIHRoZSBjZWxscyB3aXRoaW4gc2hvdWxkIHdyYXAgb3Igbm90LlxuQG1peGluIHh5LWdyaWQoXG4gICRkaXJlY3Rpb246IGhvcml6b250YWwsXG4gICR3cmFwOiB0cnVlXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiA9PSAnaG9yaXpvbnRhbCcsIHJvdywgY29sdW1uKTtcbiAgJHdyYXA6IGlmKCR3cmFwLCB3cmFwLCBub3dyYXApO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogJGRpcmVjdGlvbiAkd3JhcDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZSBndXR0ZXJzIGZvciBhIGNlbGwvY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBlaXRoZXIgbWFyZ2luIG9yIHBhZGRpbmcuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZWdhdGl2ZSBbZmFsc2VdIC0gV2hldGhlciB0byBhcHBseSB0aGUgZ3V0dGVyIGFzIGEgbmVnYXRpdmUgdmFsdWUuIENvbW1vbmx5IHVzZWQgZm9yIG5lc3RlZCBncmlkcy5cbkBtaXhpbiB4eS1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkbmVnYXRpdmU6IGZhbHNlXG4pIHtcbiAgJG9wZXJhdG9yOiBpZigkbmVnYXRpdmUsICctJywgJycpO1xuXG4gIC8vIElmIHdlIGhhdmUgZGVjbGFyZWQgbmVnYXRpdmUgZ3V0dGVycywgZm9yY2UgdHlwZSB0byBgbWFyZ2luLlxuICAkZ3V0dGVyLXR5cGU6IGlmKCRuZWdhdGl2ZSwgJ21hcmdpbicsICRndXR0ZXItdHlwZSk7XG5cbiAgLy8gT3V0cHV0IG91ciBtYXJnaW4gZ3V0dGVycy5cbiAgQGlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJykge1xuICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKGF1dG8sICRndXR0ZXJzKSB7XG4gICAgICAkZ3V0dGVyOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAvIDI7XG5cbiAgICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiB1bnF1b3RlKFwiI3skb3BlcmF0b3J9I3skZ3V0dGVyfVwiKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdudW1iZXInKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcnMpIC8gMjtcblxuICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06IHVucXVvdGUoXCIjeyRvcGVyYXRvcn0jeyRndXR0ZXJ9XCIpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gU2l6ZXMgY2hpbGQgZWxlbWVudHMgc28gdGhhdCBgJG5gIG51bWJlciBvZiBpdGVtcyBhcHBlYXIgb24gZWFjaCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgZWxlbWVudHMgdG8gZGlzcGxheSBwZXIgcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWycuY2VsbCddIC0gU2VsZWN0b3IocykgdG8gdXNlIGZvciBjaGlsZCBlbGVtZW50cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCBvciBgcGFkZGluZ2AuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIGJyZWFrcG9pbnQgdG8gdXNlIGZvciB0aGUgY2VsbCBnZW5lcmF0aW9uLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1ncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jZWxsJyxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJHNpemU6IHBlcmNlbnRhZ2UoMS8kbik7XG5cbiAgJiA+ICN7JHNlbGVjdG9yfSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZSwgJGd1dHRlci1vdXRwdXQsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24sICRicmVha3BvaW50LCAkdmVydGljYWwpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDYWxjdWxhdGUgdGhlIHBlcmNlbnRhZ2Ugc2l6ZSBvZiBhIGNlbGwuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkc2l6ZSBbJGdyaWQtY29sdW1uc10gLSBTaXplIHRvIG1ha2UgdGhlIGNlbGwuIFlvdSBjYW4gcGFzcyBhIHZhbHVlIGluIG11bHRpcGxlIGZvcm1hdHMsIHN1Y2ggYXMgYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvM2AuXG5AZnVuY3Rpb24geHktY2VsbC1zaXplKFxuICAkc2l6ZTogJGdyaWQtY29sdW1uc1xuKSB7XG4gIC8vIFBhcnNpbmcgcGVyY2VudHMsIGRlY2ltYWxzLCBuIG9mIG4gYW5kIG51bWJlciBjb3VudHNcbiAgQGlmIHR5cGUtb2YoJHNpemUpID09ICdudW1iZXInIHtcbiAgICBAaWYgdW5pdCgkc2l6ZSkgPT0gJyUnIHtcbiAgICAgICRzaXplOiAkc2l6ZTtcbiAgICB9XG4gICAgQGVsc2UgaWYgJHNpemUgPCAxIHtcbiAgICAgICRzaXplOiBwZXJjZW50YWdlKCRzaXplKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHNpemU6IHBlcmNlbnRhZ2UoJHNpemUgLyAkZ3JpZC1jb2x1bW5zKTtcbiAgICB9XG4gIH1cblxuICAvLyBQYXJzaW5nIFwibiBvZiBuXCIgb3IgXCJuL25cIiBleHByZXNzaW9uc1xuICBAZWxzZSBpZiB0eXBlLW9mKCRzaXplKSA9PSAnbGlzdCcge1xuICAgIEBpZiBsZW5ndGgoJHNpemUpICE9IDMge1xuICAgICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIHh5LWNlbGwtc2l6ZSgpLiBVc2UgdGhlIGZvcm1hdCBcIm4gb2YgblwiIG9yIFwibi9uXCIuJztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHNpemU6IHBlcmNlbnRhZ2UobnRoKCRzaXplLCAxKSAvIG50aCgkc2l6ZSwgMykpO1xuICAgIH1cbiAgfVxuICAvLyBBbnl0aGluZyBlbHNlIGlzIGluY29ycmVjdFxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIHh5LWNlbGwtc2l6ZSgpLiBVc2UgYSBudW1iZXIsIGRlY2ltYWwsIHBlcmNlbnRhZ2UsIG9yIFwibiBvZiBuXCIgLyBcIm4vblwiLic7XG4gIH1cblxuICBAcmV0dXJuICRzaXplO1xufVxuXG4vLy8gU2V0cyBiYXNlIGZsZXggcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQWNjZXB0cyBgZnVsbGAsIGBhdXRvYCwgYHNocmlua2Agb3IgYGdyb3dgLlxuQG1peGluIHh5LWNlbGwtYmFzZSgkc2l6ZTogZnVsbCkge1xuICBAaWYoJHNpemUgPT0gJ2Z1bGwnKSB7XG4gICAgLy8gVGhpcyBpcyB0aGUgYmFzZSBzdHlsZSwgYWxsIG90aGVycyBpbmhlcml0IGZyb20gaXRcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBtaW4taGVpZ2h0OiAwcHg7XG4gICAgbWluLXdpZHRoOiAwcHg7XG4gIH1cbiAgQGVsc2UgaWYgKCRzaXplID09ICdhdXRvJykge1xuICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gIH1cbiAgQGVsc2UgaWYgKCRzaXplID09ICdzaHJpbmsnKSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gIH1cbiAgQGVsc2UgaWYgKCRzaXplID09ICdncm93Jykge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG59XG5cbi8vLyBSZXNldHMgYSBjZWxscyB3aWR0aCAob3IgaGVpZ2h0IGlmIHZlcnRpY2FsIGlzIHRydWUpIGFzIHdlbGwgYXMgc3RyaXBzIGl0cyBndXR0ZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtcmVzZXQoJHZlcnRpY2FsOiB0cnVlKSB7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCB3aWR0aCwgaGVpZ2h0KTtcbiAgI3skZGlyZWN0aW9ufTogYXV0bztcbiAgbWF4LSN7JGRpcmVjdGlvbn06IG5vbmU7XG59XG5cbi8vIFNldHMgb3VyIGNlbGwgd2lkdGhzIG9yIGhlaWdodHMgZGVwZW5kaW5nIG9uIGd1dHRlciB0eXBlLlxuQG1peGluIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsICRtYXJnaW4tZ3V0dGVyLCAkdmVydGljYWwpIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIGhlaWdodCwgd2lkdGgpO1xuICBAaWYoJHNpemUgPT0gJ2Z1bGwnKSB7XG4gICAgJHZhbDogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgMTAwJSwgY2FsYygxMDAlIC0gI3tyZW0tY2FsYygkbWFyZ2luLWd1dHRlcil9KSk7XG4gICAgI3skZGlyZWN0aW9ufTogJHZhbDtcbiAgfVxuICBAZWxzZSBpZiAoJHNpemUgPT0gJ2F1dG8nKSB7XG4gICAgI3skZGlyZWN0aW9ufTogYXV0bztcbiAgICAkdmFsOiBpZigkbWFyZ2luLWd1dHRlciA9PSAwLCAxMDAlLCBjYWxjKDEwMCUgLSAje3JlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKX0pKTtcbiAgfVxuICBAZWxzZSBpZiAoJHNpemUgPT0gJ3NocmluaycpIHtcbiAgICAjeyRkaXJlY3Rpb259OiBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICAkdmFsOiBpZigkbWFyZ2luLWd1dHRlciA9PSAwLCAje3h5LWNlbGwtc2l6ZSgkc2l6ZSl9LCBjYWxjKCN7eHktY2VsbC1zaXplKCRzaXplKX0gLSAje3JlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKX0pKTtcbiAgICAjeyRkaXJlY3Rpb259OiAkdmFsO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgY2VsbCBmb3IgeW91ciBncmlkLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgIChkZWZhdWx0KSBmb3IgMTAwJSB3aWR0aCwgYGF1dG9gIHRvIHVzZSB1cCBhdmFpbGFibGUgc3BhY2UgYW5kIGBzaHJpbmtgIHRvIHVzZSB1cCBvbmx5IHJlcXVpcmVkIHNwYWNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbChcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXItb3V0cHV0OiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRicC1pcy1mYWxsYmFjazogZmFsc2U7XG5cbiAgQGlmKCRicmVha3BvaW50ID09IG51bGwpIHtcbiAgICAvLyBJZiBgJGJwLXNpemVgIGlzIGF2YWlsYWJsZSB0aGVuIHVzZSB0aGlzLCBvdGhlcndpc2UgcmV2ZXJ0IHRvIHRoZSBzbWFsbGVzdCBicC5cbiAgICBAaWYodmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSBhbmQgdHlwZS1vZigkLXpmLXNpemUpICE9ICdudW1iZXInKSBhbmQgJC16Zi1zaXplICE9IG51bGwge1xuICAgICAgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50O1xuICAgICAgJGJwLWlzLWZhbGxiYWNrOiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIC8vIEdldCB0aGUgZ3V0dGVyIGZvciB0aGUgZ2l2ZW4gYnJlYWtwb2ludC92YWx1ZS5cbiAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgLy8gSWYgdGhlIGJyZWFrcG9pbnQgaXMgYSBmYWxsYmFjaywgdXNlIGEgZmFsbGJhY2sgZ3V0dGVyIGFzIHdlbGxcbiAgQGlmICgkYnAtaXMtZmFsbGJhY2sgPT0gdHJ1ZSBhbmQgJGd1dHRlciA9PSBudWxsKSB7XG4gICAgJGd1dHRlcjogMDtcbiAgfVxuXG4gIEBpZigkZ3V0dGVyICE9IG51bGwpIHtcbiAgICAvLyBCYXNlIGZsZXggcHJvcGVydGllc1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZSgkc2l6ZSk7XG5cbiAgICBAaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkZ3V0dGVyLCAkdmVydGljYWwpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAwLCAkdmVydGljYWwpO1xuICAgIH1cblxuICAgIEBpZiAkZ3V0dGVyLW91dHB1dCB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXIsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAneHktY2VsbDogbm8gZ3V0dGVycyB3ZXJlIGZvdW5kIGluIGAkZ3V0dGVyc2AgZm9yIFwiJGJyZWFrcG9pbnQ6ICN7JGJyZWFrcG9pbnR9XCIsIGNlbGwgd2FzIG5vdCBnZW5lcmF0ZWRgJ1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgc2l6ZWQgZ3JpZC4gVXNlZCB0byBnZW5lcmF0ZSBvdXIgZ3JpZCBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgIChkZWZhdWx0KSBmb3IgMTAwJSB3aWR0aCwgYGF1dG9gIHRvIHVzZSB1cCBhdmFpbGFibGUgc3BhY2UgYW5kIGBzaHJpbmtgIHRvIHVzZSB1cCBvbmx5IHJlcXVpcmVkIHNwYWNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtc3RhdGljKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG5cbiAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgJGd1dHRlci1wb3NpdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHRvcCBib3R0b20sIGxlZnQgcmlnaHQpO1xuXG4gIEBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkZ3V0dGVyLCAkdmVydGljYWwpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAwLCAkdmVydGljYWwpO1xuICB9XG5cbiAgLy8gSWYgd2Ugd2FudCB0byBvdXRwdXQgdGhlIGd1dHRlcnNcbiAgQGlmKCRndXR0ZXItb3V0cHV0KSB7XG4gICAgLy8gVE9ETzogRmlndXJlIG91dCBpZiB3ZSBuZWVkIHRvIHBhc3MgYnJlYWtwb2ludCBpbiBoZXJlIHRvby5cbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXIsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRodW1ibmFpbFxuLy8vL1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIEJvcmRlclxuJHRodW1ibmFpbC1ib3JkZXI6IDRweCBzb2xpZCAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgdW5kZXIgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBTaGFkb3dcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMikgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KSAhZGVmYXVsdDtcblxuLy8vIFRyYW5zaXRpb24gcHJvcHJ0aWVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQWRkcyB0aHVtYm5haWwgc3R5bGVzIHRvIGFuIGVsZW1lbnQuXG5AbWl4aW4gdGh1bWJuYWlsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTtcblxuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkdGh1bWJuYWlsLXJhZGl1cztcbiAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3c7XG5cbiAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbkBtaXhpbiB0aHVtYm5haWwtbGluayB7XG4gIHRyYW5zaXRpb246ICR0aHVtYm5haWwtdHJhbnNpdGlvbjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAkdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjtcbiAgfVxuXG4gIGltYWdlIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRodW1ibmFpbCB7XG4gIC50aHVtYm5haWwge1xuICAgIEBpbmNsdWRlIHRodW1ibmFpbDtcbiAgfVxuXG4gIGEudGh1bWJuYWlsIHtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWwtbGluaztcbiAgfVxufVxuIiwiLmhlYWRlciB7XG5cdG1heC13aWR0aDogMTAwdnc7XG5cdFxuXHRuYXYge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0Zm9udC1mYW1pbHk6ICRmb250LXB0LXNhbnM7XG4gICAgbWF4LWhlaWdodDogNTZweDtcblx0XHRcblx0XHQuY29udGFjdCB7XG5cdFx0XHRtYXJnaW46IDAgYXV0byAwIDA7XG5cdFx0XHRtaW4td2lkdGg6IDEzNXB4O1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0XHRtaW4td2lkdGg6IDE0M3B4O1xuXHRcdFx0fVxuXHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRcdGJhY2tncm91bmQ6ICMwMDA7XG5cdFx0XHRcblx0XHRcdGEge1xuXHRcdFx0XHRjb2xvcjogI2ZmZjtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE1cHgpO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogcmVtLWNhbGMoMTVweCk7XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE3cHgpO1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxN3B4KTtcblx0XHRcdFx0fVxuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRwYWRkaW5nOiAyMnB4IDAgMTdweDtcblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0LnN1Yi1uYXYge1xuXHRcdFx0bWFyZ2luOiAwIDAgMCBhdXRvO1xuXHRcdFx0bWluLXdpZHRoOiA4MHB4O1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0XHRtaW4td2lkdGg6IDE1MHB4O1xuXHRcdFx0fVxuXHRcdFx0bWF4LWhlaWdodDogNTZweDtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRhbGlnbi1pdGVtczogZmxleC1lbmQ7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdFxuXHRcdFx0LnNwbGl0dGVyIHtcblx0XHRcdFx0aGVpZ2h0OiAyN3B4O1xuXHRcdFx0XHR3aWR0aDogMnB4O1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAjMDAwMDAwO1xuXHRcdFx0XHRtYXJnaW46IDEwcHggMTBweCAwIDA7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0YSB7XG5cdFx0XHRcdGNvbG9yOiAjMDAwO1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdHRvcDogLTdweDtcblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0YnV0dG9uIHtcblx0XHRcdFx0JiNzZWFyY2gge1xuXHRcdFx0XHRcdHdpZHRoOiAyMnB4O1xuXHRcdFx0XHRcdGhlaWdodDogMjJweDtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXHRcdFx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUwQSUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJyB3aWR0aD0nNTAuMjkzJyBoZWlnaHQ9JzUxLjAzMycgdmlld0JveD0nMCAwIDUwLjI5MyA1MS4wMzMnJTNFJTNDZGVmcyUzRSUzQ2NsaXBQYXRoIGlkPSdjbGlwLXBhdGgnJTNFJTNDcGF0aCBpZD0nUGF0aF8zJyBkYXRhLW5hbWU9J1BhdGggMycgZD0nTTAsMzYuMzUxSDUwLjI5M1YtMTQuNjgySDBaJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgwIDE0LjY4MiknIGZpbGw9J25vbmUnLyUzRSUzQy9jbGlwUGF0aCUzRSUzQy9kZWZzJTNFJTNDZyBpZD0nR3JvdXBfNCcgZGF0YS1uYW1lPSdHcm91cCA0JyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgwIDE0LjY4MiknJTNFJTNDZyBpZD0nR3JvdXBfMycgZGF0YS1uYW1lPSdHcm91cCAzJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgwIC0xNC42ODIpJyBjbGlwLXBhdGg9J3VybCglMjNjbGlwLXBhdGgpJyUzRSUzQ2cgaWQ9J0dyb3VwXzEnIGRhdGEtbmFtZT0nR3JvdXAgMScgdHJhbnNmb3JtPSd0cmFuc2xhdGUoMS4zOTEgMS4zODgpJyUzRSUzQ3BhdGggaWQ9J1BhdGhfMScgZGF0YS1uYW1lPSdQYXRoIDEnIGQ9J00xNC44NTUsMzAuMTgxQTIxLjAyMiwyMS4wMjIsMCwwLDAsMzUuNzExLDksMjEuMDIyLDIxLjAyMiwwLDAsMCwxNC44NTUtMTIuMTksMjEuMDIyLDIxLjAyMiwwLDAsMC02LDksMjEuMDIyLDIxLjAyMiwwLDAsMCwxNC44NTUsMzAuMTgxWicgdHJhbnNmb3JtPSd0cmFuc2xhdGUoNiAxMi4xOSknIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzMmIyZTM0JyBzdHJva2Utd2lkdGg9JzMnLyUzRSUzQy9nJTNFJTNDZyBpZD0nR3JvdXBfMicgZGF0YS1uYW1lPSdHcm91cCAyJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgzNi45MzUgMzcuNDU3KSclM0UlM0NwYXRoIGlkPSdQYXRoXzInIGRhdGEtbmFtZT0nUGF0aCAyJyBkPSdNMCwwLDExLjk0MywxMi4xODMnIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzMmIyZTM0JyBzdHJva2Utd2lkdGg9JzMnLyUzRSUzQy9nJTNFJTNDL2clM0UlM0MvZyUzRSUzQy9zdmclM0UlMEFcIik7XG5cdFx0XHRcdFx0bWFyZ2luOiAwIDEwcHg7XG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdHRvcDogLTE1cHg7XG5cdFx0XHRcdFx0XG5cdFx0XHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdFx0XHRvdXRsaW5lOiAycHggc29saWQgIzMwYjBlYztcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0XG5cdFx0XHRcdCYjZGVza3RvcC1zdWJuYXYge1xuXHRcdFx0XHRcdHdpZHRoOiAyMXB4O1xuXHRcdFx0XHRcdGhlaWdodDogMjFweDtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXHRcdFx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUwQSUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJyB3aWR0aD0nNDIuNDU3JyBoZWlnaHQ9JzMzLjM5OScgdmlld0JveD0nMCAwIDQyLjQ1NyAzMy4zOTknJTNFJTNDZGVmcyUzRSUzQ2NsaXBQYXRoIGlkPSdjbGlwLXBhdGgnJTNFJTNDcGF0aCBpZD0nUGF0aF83JyBkYXRhLW5hbWU9J1BhdGggNycgZD0nTTAsMjEuNkg0Mi40NTdWLTExLjhIMFonIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDAgMTEuOCknIGZpbGw9J25vbmUnLyUzRSUzQy9jbGlwUGF0aCUzRSUzQy9kZWZzJTNFJTNDZyBpZD0nR3JvdXBfOScgZGF0YS1uYW1lPSdHcm91cCA5JyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgwIDExLjgpJyUzRSUzQ2cgaWQ9J0dyb3VwXzgnIGRhdGEtbmFtZT0nR3JvdXAgOCcgdHJhbnNmb3JtPSd0cmFuc2xhdGUoMCAtMTEuOCknIGNsaXAtcGF0aD0ndXJsKCUyM2NsaXAtcGF0aCknJTNFJTNDZyBpZD0nR3JvdXBfNScgZGF0YS1uYW1lPSdHcm91cCA1JyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgwIDEuMTMxKSclM0UlM0NwYXRoIGlkPSdQYXRoXzQnIGRhdGEtbmFtZT0nUGF0aCA0JyBkPSdNMCwwSDQyLjQ1NycgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjMyYjJlMzQnIHN0cm9rZS13aWR0aD0nMycvJTNFJTNDL2clM0UlM0NnIGlkPSdHcm91cF82JyBkYXRhLW5hbWU9J0dyb3VwIDYnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDAgMTYuNjk4KSclM0UlM0NwYXRoIGlkPSdQYXRoXzUnIGRhdGEtbmFtZT0nUGF0aCA1JyBkPSdNMCwwSDQyLjQ1NycgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjMyYjJlMzQnIHN0cm9rZS13aWR0aD0nMycvJTNFJTNDL2clM0UlM0NnIGlkPSdHcm91cF83JyBkYXRhLW5hbWU9J0dyb3VwIDcnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDAgMzIuMjY2KSclM0UlM0NwYXRoIGlkPSdQYXRoXzYnIGRhdGEtbmFtZT0nUGF0aCA2JyBkPSdNMCwwSDQyLjQ1NycgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjMyYjJlMzQnIHN0cm9rZS13aWR0aD0nMycvJTNFJTNDL2clM0UlM0MvZyUzRSUzQy9nJTNFJTNDL3N2ZyUzRSUwQVwiKTtcblx0XHRcdFx0XHRtYXJnaW46IDAgMTBweDtcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0dG9wOiAtMTVweDtcblx0XHRcdFx0XHRcblx0XHRcdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0XHRcdG91dGxpbmU6IDJweCBzb2xpZCAjMzBiMGVjO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0XG5cdFx0fVxuXHRcdFxuXHRcdC5zaXRlLW5hdiB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG4gICAgICBtYXgtaGVpZ2h0OiA1NnB4O1xuXHRcdFx0XG5cdFx0XHQmX19sb2dvIHtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdFx0bWFyZ2luOiAwIDAgMCAxN3B4O1xuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdHN2ZyB7XG5cdFx0XHRcdHdpZHRoOiAxMjZweDtcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0XHRcdHdpZHRoOiAxNDhweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHR1bCB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0fVxuXHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHRcblx0XHRcdFx0XG5cdFx0XHRcdGxpIHtcblx0XHRcdFx0XHRtYXJnaW46IDAgNDBweDtcblx0XHRcdFx0XHRcblx0XHRcdFx0XHRhIHtcblx0XHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdFx0XHRcdGNvbG9yOiAjMDAwO1xuXHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0XHQmLmhvbGlkYXlzIHtcblx0XHRcdFx0XHRcdFx0Ji5hY3RpdmUge1xuXHRcdFx0XHRcdFx0XHRcdGNvbG9yOiAkYnJhbmRfYXF1YTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0XHRcdFx0Y29sb3I6ICRicmFuZF9hcXVhO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdCYuaG9uZXltb29ucyB7XG5cdFx0XHRcdFx0XHRcdCYuYWN0aXZlIHtcblx0XHRcdFx0XHRcdFx0XHRjb2xvcjogJGJyYW5kX3B1cnBsZTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0XHRcdFx0Y29sb3I6ICRicmFuZF9wdXJwbGU7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0Ji5jcnVpc2VzIHtcblx0XHRcdFx0XHRcdFx0Ji5hY3RpdmUge1xuXHRcdFx0XHRcdFx0XHRcdGNvbG9yOiAkYnJhbmRfYmx1ZTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0XHRcdFx0Y29sb3I6ICRicmFuZF9ibHVlO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdCYuY29ycG9yYXRlIHtcblx0XHRcdFx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0XHRcdFx0Y29sb3I6ICMzYjNiM2I7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4vL0FjY291bnQgZm9yIG1vYmlsZXMgc2l6ZXMgd2hlbiB6b29tZWRcbi5zdGlja3kuaXMtYW5jaG9yZWR7XG5cdG1heC13aWR0aDogMTAwJSFpbXBvcnRhbnQ7XG4gIH0gXG4gIFxuQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdC5oZWFkZXIge1xuXHRcdG5hdiB7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFxuXHRcdFx0ZGl2IHtcblx0XHRcdFx0ZmxleC1ncm93OiAxO1xuXHRcdFx0fVxuXHRcblx0XHRcdC5jb250YWN0LCAuc2l0ZS1uYXYge1xuXHRcdFx0XHRtaW4td2lkdGg6IDA7XG5cdFx0XHR9XG5cdFxuXHRcdFx0LmNvbnRhY3Qge1xuXHRcdFx0XHRmbGV4LXNocmluazogMDtcblx0XHRcdFx0cGFkZGluZzogMCAwLjVlbVxuXHRcdFx0fVxuXHRcblx0XHRcdC5zaXRlLW5hdl9fbG9nbyB7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLmZ1bGwtd2lkdGgge1xuXHRtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5mdWxsLWhlaWdodCB7XG4gIGhlaWdodDogMTAwJTtcblxuICAmLS1taW51cy00NTAge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gNDUwcHgpO1xuICB9XG59XG5cbi5iYWNrZ3JvdW5kIHtcblx0Ji0tY2VudGVyLWZ1bGwtd2lkdGgge1xuXHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXHR9XG59XG5cbi5kZWZhdWx0LXdpZHRoIHtcblx0bWF4LXdpZHRoOiAxMTczcHg7XG59XG5cbi5iYWNrZ3JvdW5kX19ncmF5IHtcblx0YmFja2dyb3VuZDogcmdiKDI0MSwgMjQxLCAyNDIpO1xuXG5cdCYubWVkaXVtLXBhZGRpbmcge1xuXHRcdHBhZGRpbmc6IDQwcHggMDtcblx0fVxuXG5cdCYubGFyZ2UtcGFkZGluZyB7XG5cdFx0cGFkZGluZzogODBweCAwIDUwcHggMDtcblx0fVxufVxuXG5wIHtcblx0Ji5zZWN0aW9uLXRpdGxlIHtcblx0XHRjb2xvcjogI2ZmZjtcblx0XHRiYWNrZ3JvdW5kOiAkYnJhbmRfcHVycGxlO1xuXHRcdGZvbnQtc2l6ZTogMjFweDtcblx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0XHRwYWRkaW5nOiA3cHggMTZweDtcblx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdCY6OmFmdGVyIHtcblx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0aGVpZ2h0OiA0NXB4O1xuXHRcdFx0d2lkdGg6IDMwdnc7XG5cdFx0XHRsZWZ0OiAtMzB2dztcblx0XHRcdHRvcDogMDtcblx0XHRcdGJhY2tncm91bmQ6ICRicmFuZF9wdXJwbGU7XG5cdFx0fVxuXHR9XG59XG5cbi5mYWN0LWZpbGUsIC5wYWRkZWQtZ3JheS1iYWNrZ3JvdW5kIHtcblx0YmFja2dyb3VuZDogcmdiKDI0MSwgMjQxLCAyNDIpO1xuXHRwYWRkaW5nOiAyMHB4IDAgNDBweDtcbn1cblxuLm1lZGl1bS1wYWRkZWQtZ3JheS1iYWNrZ3JvdW5kIHtcblx0YmFja2dyb3VuZDogcmdiKDI0MSwgMjQxLCAyNDIpO1xuXHRwYWRkaW5nOiA0MHB4IDAgNDBweDtcbn1cblxuLnBhcnRuZXItbGlzdCB7XG5cdGJhY2tncm91bmQ6IHJnYigyNDEsIDI0MSwgMjQyKTtcblx0cGFkZGluZzogMjBweCAwO1xufVxuXG4ua2V5LW5vdGVzIHtcblx0YmFja2dyb3VuZDogcmdiKDI0MSwgMjQxLCAyNDIpO1xuXHRwYWRkaW5nOiAyMHB4IDAgNDBweDtcblxuXHQuY29sdW1uIHtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0JjpudGgtb2YtdHlwZSgxbikge1xuXHRcdFx0XHQuY2FyZCB7XG5cdFx0XHRcdFx0bWFyZ2luOiAyMHB4IDUwcHggMjBweCAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQmOm50aC1vZi10eXBlKDJuKSB7XG5cdFx0XHRcdC5jYXJkIHtcblx0XHRcdFx0XHRtYXJnaW46IDIwcHggMCAyMHB4IDUwcHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi8qXG4gRHVlIHRvIG93bCBjYXJvdXNlbCBsb2FkaW5nIGFmdGVyIGFuIGltcG9ydGFudCB0YWcgaXMgcmVxdWlyZWQuXG4gVGhlIG9ubHkgb3RoZXIgd2F5IHRvIGRvIHRoaXMgd291bGQgYmUgaW5saW5lIHdoaWNoIGlzIG5vdCBwb3NzaWJsZVxuIGFzIHRoZSBqcyBsaWIgZHluYW1pY2FsbHkgY3JlYXRlcyB0aGlzLlxuICovXG5cbi5vd2wtdGhlbWUgLm93bC1kb3RzIC5vd2wtZG90IHtcblx0Ji5hY3RpdmUgc3BhbiB7XG5cdFx0YmFja2dyb3VuZDogJGJyYW5kX2FxdWEgIWltcG9ydGFudDtcblx0fVxuXHRcblx0Jjpob3ZlciBzcGFuIHtcblx0XHRiYWNrZ3JvdW5kOiAkYnJhbmRfYXF1YSAhaW1wb3J0YW50O1xuXHR9XG59XG5cbi5vd2wtZG90cyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn0iLCIuZm9vdGVyIHtcbiAgcGFkZGluZzogMjBweDtcbiAgYmFja2dyb3VuZDogcmdiKDI0MSwgMjQxLCAyNDIpO1xuXG4gIC5yb3cge1xuICAgIG1heC13aWR0aDogMTE1MHB4O1xuICB9XG5cbiAgaDQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LWZhbWlseTogJGZvbnQtcHQtc2FucztcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE3cHgpO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMnB4KTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGNvbG9yOiAjNTY1NTU1O1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG5cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAzNXB4O1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICB3aWR0aDogMjIzcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgIH1cbiAgfVxuXG4gIC5tZW51IHtcbiAgICB1bCB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbWFyZ2luOiAyN3B4IDAgMCAwO1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgbGkge1xuICAgICAgICBtYXJnaW46IDVweCAwO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNnB4KTtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgY29sb3I6ICM1NjU1NTU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuc3Vic2NyaWJlIHtcbiAgICBtYXJnaW46IDMwcHggMCAwO1xuXG4gICAgYSB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgY29sb3I6ICM1NjU1NTU7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjNTY1NTU1O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgcGFkZGluZzogN3B4IDVweDtcbiAgICAgIHRyYW5zaXRpb246IDQwMG1zIGVhc2UgYmFja2dyb3VuZCwgNDAwbXMgZWFzZSBjb2xvcjtcblxuICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICM1NjU1NTU7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHN2ZyB7XG4gICAgJi5sb2dvIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiA4cHggMCAxMHB4O1xuICAgICAgbWF4LXdpZHRoOiAyMThweDtcbiAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBtYXJnaW46IDEwcHggMCAxMHB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zaXRlLWJ1aWx0LWJ5IHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiAjNTY1NTU1O1xuXG4gICAgYSB7XG4gICAgICBjb2xvcjogIzU2NTU1NTtcbiAgICAgIHRyYW5zaXRpb246IDQwMG1zIGVhc2UgY29sb3I7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGJyYW5kX2FxdWE7XG4gICAgICB9XG5cbiAgICAgICY6dmlzaXRlZCB7XG4gICAgICAgIGNvbG9yOiAjNTY1NTU1O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2xvZ29zIHtcbiAgICBtYXJnaW4tdG9wOiAxMDBweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBtYXJnaW4tdG9wOiAxMzVweDtcbiAgICB9XG4gIH1cblxuICB1bCB7XG4gICAgJi5sb2dvcyB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIH1cblxuICAgICAgbGkge1xuICAgICAgICBtYXJnaW46IDEwcHggMTZweCAxMHB4IDA7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgIGhlaWdodDogMzVweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX3NvY2lhbCB7XG5cbiAgfVxuXG4gICZfX3NvY2lhbC1pY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAzNXB4O1xuICAgIG1hcmdpbi1yaWdodDogNHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDM1cHg7XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cblxuICAgICYtLWZhY2Vib29rLCAmLS1mYWNlYm9vazp2aXNpdGVkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzYjU5OTg7XG5cbiAgICAgIHN2ZyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICByaWdodDogNXB4O1xuICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oIzNiNTk5OCwgOCUpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLXR3aXR0ZXIsICYtLXR3aXR0ZXI6dmlzaXRlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMEUxNDE5O1xuXG4gICAgICBzdmcge1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgIH1cblxuICAgICAgc3ZnIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigjMEUxNDE5LCA4JSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0taW5zdGEsICYtLWluc3RhOnZpc2l0ZWQge1xuICAgICAgYmFja2dyb3VuZDogI2Q2MjQ5ZjtcbiAgICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgNDAlIDEwNyUsICNmZGY0OTcgMCUsICNmZGY0OTcgMTAlLCAjZmQ1OTQ5IDQ1JSwjZDYyNDlmIDYwJSwjMjg1QUVCIDkwJSk7XG5cbiAgICAgIHN2ZyB7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICB3aWR0aDogMjhweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgICAgIH1cblxuICAgICAgc3ZnIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigjMEUxNDE5LCA4JSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNvY2lhbC1pY29uIHtcbiAgICAgIHBhdGgge1xuICAgICAgICBmaWxsOiAjZmZmO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiYm9keSN0aW55bWNle1xuICBoZWlnaHQ6IGF1dG87IC8vIEZpeCBlZGl0b3Igc3R5bGUgYnVnXG4gIG1heC13aWR0aDogJGdyaWQtcm93LXdpZHRoOyAvLyBHaXZlIHRoZSBlZGl0b3IgYSBtYXgtd2lkdGhcbiAgcGFkZGluZzogcmVtLWNhbGMoMjApICFpbXBvcnRhbnQ7XG59IiwiLnNpZGUtbWVudSB7XG5cdHdpZHRoOiBjYWxjKDEwMHZ3IC0gNTBweCk7XG5cdHJpZ2h0OiAtMTAwdnc7XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHR3aWR0aDogNDAwcHg7XG5cdFx0cmlnaHQ6IC00MTBweDtcblx0fVxuXHRiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTUpO1xuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0YmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KTtcblx0fVxuXHRoZWlnaHQ6IDEwMHZoO1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHRvcDogMDtcblx0dHJhbnNpdGlvbjogNDAwbXMgY3ViaWMtYmV6aWVyKDAuMzksIDAuNTgsIDAuNTcsIDEpIHJpZ2h0O1xuXHR6LWluZGV4OiA5OTtcblx0Ym94LXNoYWRvdzogLTRweCAwcHggMjJweCAtMTdweCByZ2JhKDE5OSwgMTk5LCAxOTksIDAuNjYpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XG5cdC5jbG9zZSB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHJpZ2h0OiAxMXB4O1xuXHRcdHRvcDogMTlweDtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRyaWdodDogNDRweDtcblx0XHRcdHRvcDogMjFweDtcblx0XHR9XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFxuXHRcdHN2ZyB7XG5cdFx0XHR3aWR0aDogMTlweDtcblx0XHR9XG5cdH1cblx0XG5cdCYuYWN0aXZlIHtcblx0XHRyaWdodDogMDtcblx0fVxuXHRcblx0LnNpdGUtbmF2IHtcblx0XHR3aWR0aDogODUlO1xuXHRcdFxuXHRcdCNtb2JpbGUge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdCNkZXNrdG9wIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHR1bCB7XG5cdFx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdFxuXHRcdFx0bGkge1xuXHRcdFx0XHRtYXJnaW46IDIwcHggMDtcblx0XHRcdFx0XG5cdFx0XHRcdGEge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMjBweDtcblx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdFx0Y29sb3I6ICMwMDA7XG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogNTAwbXMgZWFzZSBjb2xvdXI7XG5cdFx0XHRcdFx0XG5cdFx0XHRcdFx0Jjpob3ZlciwgJjpmb2N1cyB7XG5cdFx0XHRcdFx0XHRjb2xvcjogJGJyYW5kX2FxdWE7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdFxuXHRcdFx0XHQmLmlzLWFjdGl2ZSB7XG5cdFx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0XHRjb2xvcjogJGJyYW5kX2FxdWE7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdFxuXHQuZm9ybSB7XG5cdFx0d2lkdGg6IDg1JTtcblx0XHRcblx0XHRmb3JtIHtcblx0XHRcdGxhYmVsIHtcblx0XHRcdFx0Zm9udC1zaXplOiAxN3B4O1xuXHRcdFx0XHRmb250LWZhbWlseTogJGZvbnQtcHQtc2Fucztcblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0aW5wdXQge1xuXHRcdFx0XHQmW3R5cGU9XCJ0ZXh0XCJdIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0XHRcdFx0XHRib3JkZXI6IDA7XG5cdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGJsYWNrO1xuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMjBweDtcblx0XHRcdFx0XHRmb250LXdlaWdodDogbGlnaHRlcjtcblx0XHRcdFx0XHRmb250LWZhbWlseTogJGZvbnQtcHQtc2Fucztcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMjJweDtcblx0XHRcdFx0XHRwYWRkaW5nOiA1cHggMDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRcblx0LnJlc3VsdHMge1xuXHRcdHdpZHRoOiA4NSU7XG5cdFx0bWFyZ2luOiAxMHB4IDA7XG5cdFx0XG5cdFx0dWwge1xuXHRcdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFxuXHRcdFx0bGkge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRcblx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogI2ZmZjtcblx0XHRcdFx0XHRtYXJnaW46IDEwcHggMDtcblx0XHRcdFx0XHRwYWRkaW5nOiA3cHggMTBweDtcblx0XHRcdFx0XHRjb2xvcjogIzAwMDtcblx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdFx0Ym94LXNoYWRvdzogMHB4IDBweCAxNnB4IDBweCByZ2JhKDU4LCA1OCwgNTgsIDAuMDQpO1xuXHRcdFx0XHRcdHRyYW5zaXRpb246IDUwMG1zIGVhc2Ugb3BhY2l0eSwgNTAwbXMgZWFzZSBib3gtc2hhZG93O1xuXHRcdFx0XHRcdFxuXHRcdFx0XHRcdCY6aG92ZXIsICY6Zm9jdXMge1xuXHRcdFx0XHRcdFx0b3BhY2l0eTogMC44O1xuXHRcdFx0XHRcdFx0Ym94LXNoYWRvdzogMHB4IDBweCAxNnB4IDBweCByZ2JhKDU4LCA1OCwgNTgsIDAuMSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59IiwiLmNvbnRlbnQuY2FyZC5lbnRyeS1jb250ZW50IHtcbiAgcGFkZGluZzogMjBweCAyMHB4IDYwcHg7XG5cbiAgJi0tbGctcGFkZGluZyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHBhZGRpbmc6IDIwcHggNjVweCA2NXB4O1xuICAgIH1cbiAgfVxuXG59XG5cbi5lbnRyeS1jb250ZW50IHtcblxuICAmX19ieWxpbmUge1xuICAgIGNvbG9yOiBncmF5O1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIH1cblxuICAucm93IHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2IHtcbiAgICBtYXJnaW46IDAuNmVtIDA7XG4gIH1cblxuICBwIHtcbiAgICBtYXJnaW46IDAuNWVtIDA7XG4gIH1cblxuICB1bCxcbiAgb2wsXG4gIGRsIHt9XG5cbiAgdWwge31cblxuICBvbCB7fVxuXG4gIC8vIEltYWdlIFdpZHRoc1xuICAuaW1hZ2Uge1xuICAgICZfX3NtYWxsIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBtYXJnaW46IDM0cHggYXV0bztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICZfX21lZGl1bSB7XG4gICAgICB3aWR0aDogNzUlO1xuICAgICAgbWFyZ2luOiAzNHB4IGF1dG87XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmX19sYXJnZSB7XG4gICAgICB3aWR0aDogOTAlO1xuICAgICAgbWFyZ2luOiAzNHB4IGF1dG87XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAvLyBSZXZpZXdzIFdpZGdldFxuICAucmV2aWV3cy13aWRnZXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gU3R5bGUgYmxvY2sgcXVvdGVzXG4gIC53cC1ibG9jay1xdW90ZSB7XG4gICAgY29sb3I6ICRicmFuZC1hcXVhO1xuICAgIG1hcmdpbjogMzJweCBhdXRvIDUycHg7XG4gICAgbWF4LXdpZHRoOiA4MCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDI1JTtcbiAgICAgIGhlaWdodDogM3B4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kX2FxdWE7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IC0xNnB4O1xuICAgIH1cblxuICAgIHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIH1cblxuICAgICYuaXMtc3R5bGUtbGFyZ2Uge1xuICAgICAgcCB7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHdpZHRoOiA2MCU7XG4gICAgfVxuICB9XG5cbiAgLy8gU3R5bGUgcHVsbCBxdW90ZXNcbiAgLndwLWJsb2NrLWNvdmVyIHtcbiAgICBoZWlnaHQ6IGF1dG87XG5cbiAgICAuaGFzLWxhcmdlLWZvbnQtc2l6ZSxcbiAgICAuaGFzLWh1Z2UtZm9udC1zaXplIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1hYnVnZXQ7XG4gICAgfVxuXG4gICAgLmhhcy1sYXJnZS1mb250LXNpemUge1xuICAgICAgZm9udC1zaXplOiAxMDBweDtcbiAgICB9XG5cbiAgICAuaGFzLWh1Z2UtZm9udC1zaXplIHtcbiAgICAgIGZvbnQtc2l6ZTogMTI1cHg7XG4gICAgfVxuICB9XG5cbiAgLndwLWJsb2NrLXB1bGxxdW90ZSBibG9ja3F1b3RlIGNpdGUge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgfVxuXG4gIC53cC1ibG9jay1wdWxscXVvdGUge1xuICAgIG1hcmdpbjogMzJweCBhdXRvO1xuXG4gICAgJi5pcy1zdHlsZS1kZWZhdWx0IHtcbiAgICAgIGJvcmRlci10b3A6IDNweCBzb2xpZDtcbiAgICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZDtcbiAgICB9XG5cbiAgICAuaGFzLWJyYW5kLWFxdWEtY29sb3Ige1xuICAgICAgY29sb3I6ICRicmFuZF9hcXVhO1xuICAgIH1cblxuICAgIC5oYXMtYnJhbmQtcHVycGxlLWNvbG9yIHtcbiAgICAgIGNvbG9yOiAkYnJhbmRfcHVycGxlO1xuICAgIH1cblxuICAgIC5oYXMtYnJhbmQtYmx1ZS1jb2xvciB7XG4gICAgICBjb2xvcjogJGJyYW5kX2JsdWU7XG4gICAgfVxuXG4gICAgLmhhcy1icmFuZC1waW5rLWNvbG9yIHtcbiAgICAgIGNvbG9yOiAkYnJhbmRfcGluaztcbiAgICB9XG5cbiAgICAuaGFzLWJyYW5kLWJsYWNrLWNvbG9yIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIH1cblxuICAgICYuaGFzLWJyYW5kLWFxdWEtYmFja2dyb3VuZC1jb2xvciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmRfYXF1YTtcbiAgICB9XG5cbiAgICAmLmhhcy1icmFuZC1wdXJwbGUtYmFja2dyb3VuZC1jb2xvciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmRfcHVycGxlO1xuICAgIH1cblxuICAgICYuaGFzLWJyYW5kLWJsdWUtYmFja2dyb3VuZC1jb2xvciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmRfYmx1ZTtcbiAgICB9XG5cbiAgICAmLmhhcy1icmFuZC1waW5rLWJhY2tncm91bmQtY29sb3Ige1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kX3Bpbms7XG4gICAgfVxuXG4gICAgJi5oYXMtYnJhbmQtYmxhY2stYmFja2dyb3VuZC1jb2xvciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICAgIH1cblxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge31cbiAgfVxuXG4gIC53cC1ibG9jay1nYWxsZXJ5IHtcbiAgICAuYmxvY2tzLWdhbGxlcnktaXRlbSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG5cbn1cblxuXG4vLyBNYWtlIGVtYmVkZWQgdmlkZW9zIHJlc3BvbnNpdmVcbi5pcy10eXBlLXZpZGVvIC53cC1ibG9jay1lbWJlZF9fd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luLWJvdHRvbTogMS41ZW07XG5cbiAgaWZyYW1lLFxuICBvYmplY3QsXG4gIGVtYmVkIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbn1cbiIsIi5nZm9ybV93cmFwcGVyIC5nZm9ybV9ib2R5IHtcbiAgLy8gQWRkIG1hcmdpbiB1bmRlclxuICAuZ2ZpZWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuICB9XG5cbiAgLy8gU3R5bGUgZ2VuZXJhbCB0ZXh0IGZpZWxkXG4gIGlucHV0Om5vdChbdHlwZT1yYWRpb10pOm5vdChbdHlwZT1jaGVja2JveF0pOm5vdChbdHlwZT1zdWJtaXRdKTpub3QoW3R5cGU9YnV0dG9uXSk6bm90KFt0eXBlPWltYWdlXSk6bm90KFt0eXBlPWZpbGVdKSwgLnRleHRhcmVhIHtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzAwMDtcbiAgICBib3JkZXItd2lkdGg6IDAgMCAycHggMDtcbiAgfVxuXG4gIC8vIFN0eWxlIHNlbGVjdHMgYW5kIGRhdGUgc2VsZWN0c1xuICAuZ2ZpZWxkX3NlbGVjdCwgLmdpbnB1dF9jb250YWluZXJfZGF0ZSBkaXYgc2VsZWN0IHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjMDAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIHBhZGRpbmc6IDhweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL2Ryb3AtZG93bi1hcnJvdy5zdmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0IDEwcHg7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEzcHg7XG4gIH1cblxuICAuZ2lucHV0X2NvbnRhaW5lcl9kYXRlIHtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIC5nZmllbGRfZGF0ZV9kcm9wZG93bl95ZWFyIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gIH1cblxuICAvL0NoZWNrYm94IFN0eWxlXG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4ICM0YzRjNGM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA1MCUgNTAlO1xuICAgICAgYm9yZGVyOiAycHggc29saWQgIzAwMDtcbiAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgIGhlaWdodDogNDVweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC0xNnB4O1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjJzO1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yO1xuICAgICAgd2lkdGg6IDQ1cHg7XG4gICAgfVxuXG4gICAgJjpjaGVja2VkIHtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9ibGFjay10aWNrLnN2Z1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA3MCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI2ZpZWxkXzFfMTgge1xuICAgIG1hcmdpbi10b3A6IDI0cHg7XG4gIH1cblxuICAvLyBDb25zZW50IGZpZWxkIHN0eWxlc1xuICAuZ2ZpZWxkX2NvbnNlbnRfZGVzY3JpcHRpb24ge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1heC1oZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luOiAwIDAgMjRweDtcbiAgICBvdmVyZmxvdy15OiB2aXNpYmxlO1xuICB9XG5cbiAgLmdpbnB1dF9jb250YWluZXJfY29uc2VudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogLjY4OGVtO1xuXG4gICAgbGFiZWwge1xuICAgICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xuICAgIH1cbiAgfVxufVxuXG4vL1N1Ym1pdCBidXR0b24gc3R5bGVzXG4uZ2Zvcm1fZm9vdGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIC5nZm9ybV9idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzAwMDtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgZWFzZS1pbi1vdXQgNDAwbXM7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciBlYXNlLWluLW91dCA0MDBtcztcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cbiAgfVxufVxuXG4vL1N0YW5kYXJkIENoZWNrYm94ZXNcbi5naW5wdXRfY29udGFpbmVyX2NoZWNrYm94IHtcbiAgLmdmaWVsZF9jaGVja2JveCB7XG4gICAgbWFyZ2luLXRvcDogMjJweCFpbXBvcnRhbnQ7XG5cbiAgICBsaSB7XG4gICAgICBsaW5lLWhlaWdodDogNTVweCFpbXBvcnRhbnQ7XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDU1cHghaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogYXV0byFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vQXBwb2ludG1lbnQgZm9ybSBzcGVjaWZpYyBzdHlsaW5nXG4jZmllbGRfMl8xNSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4vL0luIFN0b3JlIGNoZWNrYm94XG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAjaW5wdXRfMl8yIHtcbiAgICBtYXJnaW4tdG9wOiAtNTlweDtcblxuICAgIGxpIHtcbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy9CeSBQaG9uZSBjaGVja2JveFxuICAjZmllbGRfMl8xNSB7XG4gICAgbWFyZ2luLXRvcDogLTU3cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG5cblxuICAvLyBUaW1lIFNlbGVjdFxuICAjZmllbGRfMl8xNCB7XG4gICAgbWFyZ2luLXRvcDogLTM1cHg7XG4gIH1cbn1cblxuLy8gQXBwb2ludG1lbnQgRGVzY3JpcHRpb25cbiNnZmllbGRfY29uc2VudF9kZXNjcmlwdGlvbl8yXzEyIHtcbiAgbWFyZ2luLWJvdHRvbTogMzJweDtcbn1cbi8vRU5EIEFwcG9pbnRtZW50IGZvcm0gc3BlY2lmaWMgc3R5bGluZ1xuXG5cbi8vIFNlbmQgYW4gZW5xdWlyeSBzcGVjaWZpYyBzdHlsaW5nXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAjZmllbGRfMV8xMyB7XG4gICAgbWFyZ2luLXRvcDogNjdweDtcbiAgfVxufSIsIi5zaXRlcy1idXR0b24ge1xuXHRiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcblx0Zm9udC1zaXplOiAxLjI1cmVtO1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0Ym94LXNoYWRvdzogMCAtMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjIpIGluc2V0O1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdGJvcmRlcjogbm9uZTtcbn1cblxuLmJ0biB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0Y29sb3I6ICRibGFjaztcblx0bWFyZ2luOiAxcmVtIDA7XG5cdHBhZGRpbmc6IDEwcHggMTVweDtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR0cmFuc2l0aW9uOiA1MDBtcyBlYXNlIGNvbG9yLCA1MDBtcyBlYXNlIGJhY2tncm91bmQ7XG5cdGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcblx0Ji5jbGVhci1tYXJnaW5zIHtcblx0XHRtYXJnaW46IDA7XG5cdH1cblx0XG5cdCYuc21hbGwtcGFkZGluZyB7XG5cdFx0cGFkZGluZzogNXB4IDE1cHg7XG5cdH1cblx0XG5cdFxuXHQmX19ibGFjayxcblx0Jl9fYmxhY2s6dmlzaXRlZCB7XG5cdFx0YmFja2dyb3VuZDogIzAwMDtcblx0XHRjb2xvcjogI2ZmZjtcblx0XHRcblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAjMDAwO1xuXHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdFx0XHRjb2xvcjogIzAwMDtcblx0XHR9XG5cdH1cblx0XG5cdCZfX2FxdWEsXG5cdCZfX2FxdWE6dmlzaXRlZCB7XG5cdFx0YmFja2dyb3VuZDogJGJyYW5kX2FxdWE7XG5cdFx0Y29sb3I6ICNmZmY7XG5cdFx0XG5cdFx0Jjpob3Zlcixcblx0XHQmOmZvY3VzIHtcblx0XHRcdGJvcmRlci1jb2xvcjogJGJyYW5kX2FxdWE7XG5cdFx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0XHRcdGNvbG9yOiAkYnJhbmRfYXF1YTtcblx0XHR9XG5cdH1cblx0XG5cdCZfX3B1cnBsZSxcblx0Jl9fcHVycGxlOnZpc2l0ZWQge1xuXHRcdGJhY2tncm91bmQ6ICRicmFuZF9wdXJwbGU7XG5cdFx0Y29sb3I6ICNmZmY7XG5cdFx0XG5cdFx0Jjpob3Zlcixcblx0XHQmOmZvY3VzIHtcblx0XHRcdGJvcmRlci1jb2xvcjogJGJyYW5kX3B1cnBsZTtcblx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdFx0Y29sb3I6ICRicmFuZF9wdXJwbGU7XG5cdFx0fVxuXHR9XG5cdFxuXHQmX19waW5rLFxuXHQmX19waW5rOnZpc2l0ZWQge1xuXHRcdGJhY2tncm91bmQ6ICRicmFuZF9waW5rO1xuXHRcdGNvbG9yOiAjZmZmO1xuXHRcdFxuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRib3JkZXItY29sb3I6ICRicmFuZF9waW5rO1xuXHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdFx0XHRjb2xvcjogJGJyYW5kX3Bpbms7XG5cdFx0fVxuXHR9XG5cdFxuXHQmX19ibHVlLFxuXHQmX19ibHVlOnZpc2l0ZWQge1xuXHRcdGJhY2tncm91bmQ6ICRicmFuZF9ibHVlO1xuXHRcdGNvbG9yOiAjZmZmO1xuXHRcdFxuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRib3JkZXItY29sb3I6ICRicmFuZF9ibHVlO1xuXHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdFx0XHRjb2xvcjogJGJyYW5kX2JsdWU7XG5cdFx0fVxuXHR9XG5cdFxuXHQmX19vdXRsaW5lIHtcblx0XHRib3JkZXI6IDJweCBzb2xpZCAkYmxhY2s7XG5cdFx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJvcmRlci1jb2xvciwgYmFja2dyb3VuZC1jb2xvcjtcblx0XHR0cmFuc2l0aW9uLWR1cmF0aW9uOiA0MDBtcztcblx0XHR0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcblx0XHRcblx0XHQmLS1ibGFjayxcblx0XHQmLS1ibGFjazp2aXNpdGVkIHtcblx0XHRcdGJvcmRlci1jb2xvcjogIzAwMDtcblx0XHRcdGNvbG9yOiAjMDAwO1xuXHRcdFx0XG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzAwMDtcblx0XHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdCYtLWFxdWEsXG5cdFx0Ji0tYXF1YTp2aXNpdGVkIHtcblx0XHRcdGJvcmRlci1jb2xvcjogJGJyYW5kX2FxdWE7XG5cdFx0XHRjb2xvcjogJGJyYW5kX2FxdWE7XG5cdFx0XHRcblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmRfYXF1YTtcblx0XHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdCYtLXB1cnBsZSxcblx0XHQmLS1wdXJwbGU6dmlzaXRlZCB7XG5cdFx0XHRib3JkZXItY29sb3I6ICRicmFuZF9wdXJwbGU7XG5cdFx0XHRjb2xvcjogJGJyYW5kX3B1cnBsZTtcblx0XHRcdFxuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRicmFuZF9wdXJwbGU7XG5cdFx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHQmLS1waW5rLFxuXHRcdCYtLXBpbms6dmlzaXRlZCB7XG5cdFx0XHRib3JkZXItY29sb3I6ICRicmFuZF9waW5rO1xuXHRcdFx0Y29sb3I6ICRicmFuZF9waW5rO1xuXHRcdFx0XG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGJyYW5kX3Bpbms7XG5cdFx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHQmLS1ibHVlLFxuXHRcdCYtLWJsdWU6dmlzaXRlZCB7XG5cdFx0XHRib3JkZXItY29sb3I6ICRicmFuZF9ibHVlO1xuXHRcdFx0Y29sb3I6ICRicmFuZF9ibHVlO1xuXHRcdFx0XG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGJyYW5kX2JsdWU7XG5cdFx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHR9XG5cdH1cbn1cbiIsIi8vSGFja3kgZml4IGZvciB0aGUgb25lIGluc3RhbmNlcyB0aGUgd2lkdGggaXMgbm90IGxhcmdlIGVub3VnaCBvbiB0aGUgaG9uZXltb29ucyBpbnNwaXJhdGlvbiBwYWdlXG4ucGFnZS1pZC00ODg1IC5jYXJkLnByb21vdGlvbnMgLmxlZnQge1xuICBoMiwgaDEge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICB3aWR0aDogNTgwcHg7XG4gICAgfVxuICB9XG59XG5cbi5jYXJkIHtcblxuICAucmVhZC1tb3JlLXBwIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICB9XG5cbiAgLy8gUGFnZSAtIEdlbmVyYWwgYmxvZyBwb3N0XG4gICYucG9zdF9ibG9jayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGhlaWdodDogNDUwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBjb2xvcjogIzAwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgJi50aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjBweCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICB9XG5cbiAgICAgICYucmVhZC1tb3JlIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIH1cblxuICAgICAgJi5iYWNrZ3JvdW5kIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IDI1MG1zIGVhc2UgdHJhbnNmb3JtO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jb250ZW50IHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBtYXgtd2lkdGg6IDI2MHB4O1xuICAgICAgcGFkZGluZzogN3B4IDE2cHg7XG4gICAgICBtYXJnaW46IDAgMCAzMHB4IDA7XG5cblxuICAgICAgJi5ibG9ja19jb2xvciB7XG4gICAgICAgICZfX2JsYWNrIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fYXF1YSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGJyYW5kX2FxdWE7XG4gICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIH1cblxuICAgICAgICAmX19wdXJwbGUge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRicmFuZF9wdXJwbGU7XG4gICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIH1cblxuICAgICAgICAmX19waW5rIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkYnJhbmRfcGluaztcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2JsdWUge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRicmFuZF9ibHVlO1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgc3BhbiB7XG4gICAgICAgICYuYmFja2dyb3VuZCB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgLSBGdWxsIHdpZHRoIHByb21vdGlvbiBibG9ja1xuICAmLnByb21vdGlvbnMge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciAzNSU7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiA2NTBweDtcblxuICAgIC5jb250ZW50IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogLTM1cHg7XG4gICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgbWF4LXdpZHRoOiAxMDB2dztcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgIHBhZGRpbmc6IDQzcHggMjFweCA0MHB4O1xuICAgICAgei1pbmRleDogMztcbiAgICAgIGNvbG9yOiAjZmZmO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDE4OS4wMTVweDtcbiAgICAgICAgbWluLXdpZHRoOiA0NzVweDtcbiAgICAgICAgbWF4LXdpZHRoOiA1NjVweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDYwcHggMjFweCA0MHB4O1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIH1cblxuICAgICAgJi5yaWdodCB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgfVxuXG4gICAgICAmLmxlZnQge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuXG4gICAgICBoMSwgaDIge1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtYWJ1Z2V0O1xuICAgICAgICBmb250LXNpemU6IDgwcHg7XG4gICAgICAgIHRvcDogLTY3cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTE4LjU5cHg7XG4gICAgICAgICAgdG9wOiAtMTAwcHg7XG4gICAgICAgICAgbWF4LXdpZHRoOiA1ODBweDtcblxuICAgICAgICB9XG5cbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBsZWZ0OiAyMXB4O1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyZGVnKTtcbiAgICAgIH1cblxuICAgICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMjBweCBhdXRvIDA7XG4gICAgICB9XG5cbiAgICAgIHVsIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgIG1hcmdpbjogN3B4IDEwcHggMDtcblxuICAgICAgICAgIGEsXG4gICAgICAgICAgYTp2aXNpdGVkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiA0MDBtcyBlYXNlIGNvbG9yLCA0MDBtcyBlYXNlIGJhY2tncm91bmQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIG1hcmdpbjogN3B4IDEwcHggMCAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuYnV0dG9uLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAxOHB4IDAgMDtcblxuICAgICAgICBhLFxuICAgICAgICBhOnZpc2l0ZWQge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XG4gICAgICAgICAgcGFkZGluZzogMTBweCAxNXB4O1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiA0MDBtcyBlYXNlIGNvbG9yLCA0MDBtcyBlYXNlIGJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5ibG9ja19jb2xvciB7XG4gICAgICAgICZfX2JsYWNrIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuXG4gICAgICAgICAgYSxcbiAgICAgICAgICBhOnZpc2l0ZWQge1xuXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2FxdWEge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRicmFuZF9hcXVhO1xuXG4gICAgICAgICAgYSxcbiAgICAgICAgICBhOnZpc2l0ZWQge1xuXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgICAgIGNvbG9yOiAkYnJhbmRfYXF1YTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19wdXJwbGUge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRicmFuZF9wdXJwbGU7XG5cbiAgICAgICAgICBhLFxuICAgICAgICAgIGE6dmlzaXRlZCB7XG5cbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICAgICAgY29sb3I6ICRicmFuZF9wdXJwbGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fcGluayB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGJyYW5kX3Bpbms7XG5cbiAgICAgICAgICBhLFxuICAgICAgICAgIGE6dmlzaXRlZCB7XG5cbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICAgICAgY29sb3I6ICRicmFuZF9waW5rO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2JsdWUge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRicmFuZF9ibHVlO1xuXG4gICAgICAgICAgYSxcbiAgICAgICAgICBhOnZpc2l0ZWQge1xuXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgICAgIGNvbG9yOiAkYnJhbmRfYmx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gIC8vIFBhZ2UgLSBIb2xpZGF5IGxvY2F0aW9uXG4gICYubG9jYXRpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDQ1MHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgY29sb3I6ICMwMDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICYuaGVpZ2h0LTEwMCB7XG4gICAgICBtaW4taGVpZ2h0OiA0NTBweDtcbiAgICAgIDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAmLnRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMHB4KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIH1cblxuICAgICAgJi5yZWFkLW1vcmUge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuXG4gICAgICAmLmJhY2tncm91bmQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogMjUwbXMgZWFzZSB0cmFuc2Zvcm07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRlbnQge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIG1heC13aWR0aDogMjYwcHg7XG4gICAgICBwYWRkaW5nOiA3cHggMTZweDtcbiAgICAgIG1hcmdpbjogMCAwIDMwcHggMDtcbiAgICAgIGNvbG9yOiAjMDAwO1xuXG4gICAgICAmLmJsb2NrX2NvbG9yIHtcbiAgICAgICAgJl9fYmxhY2sge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgICAgICAgY29sb3I6ICNGRkY7XG4gICAgICAgIH1cblxuICAgICAgICAmX19hcXVhIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkYnJhbmRfYXF1YTtcbiAgICAgICAgICBjb2xvcjogI0ZGRjtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3B1cnBsZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGJyYW5kX3B1cnBsZTtcbiAgICAgICAgICBjb2xvcjogI0ZGRjtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3Bpbmsge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRicmFuZF9waW5rO1xuICAgICAgICAgIGNvbG9yOiAjRkZGO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fYmx1ZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGJyYW5kX2JsdWU7XG4gICAgICAgICAgY29sb3I6ICNGRkY7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBzcGFuIHtcbiAgICAgICAgJi5iYWNrZ3JvdW5kIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSAtIEhvbGlkYXkgb2ZmZXJcbiAgJi5vZmZlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgaGVpZ2h0OiA0NTBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmLmhlaWdodC0xMDAge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbWluLWhlaWdodDogNDUwcHg7XG4gICAgfVxuXG4gICAgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgJi50aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjBweCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICB9XG5cbiAgICAgICYucmVhZC1tb3JlIHtcbiAgICAgICAgLy90ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuXG4gICAgICAmLmJhY2tncm91bmQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogMjUwbXMgZWFzZSB0cmFuc2Zvcm07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNhdGVnb3J5IHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBtYXgtd2lkdGg6IDI2MHB4O1xuICAgICAgcGFkZGluZzogN3B4IDE2cHg7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAmLmJsb2NrX2NvbG9yIHtcbiAgICAgICAgJl9fYmxhY2sge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgICAgIH1cblxuICAgICAgICAmX19hcXVhIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkYnJhbmRfYXF1YTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3B1cnBsZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGJyYW5kX3B1cnBsZTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3Bpbmsge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRicmFuZF9waW5rO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fYmx1ZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGJyYW5kX2JsdWU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cblxuICAgIC5jb250ZW50IHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBtYXgtd2lkdGg6IDM1MHB4O1xuICAgICAgcGFkZGluZzogN3B4IDE2cHg7XG4gICAgICBtYXJnaW46IDAgMCAzMHB4IDA7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIG1pbi13aWR0aDogMTc1cHg7XG5cbiAgICAgICYuYmxvY2tfY29sb3Ige1xuICAgICAgICAmX19ibGFjayB7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2FxdWEge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRicmFuZF9hcXVhO1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fcHVycGxlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkYnJhbmRfcHVycGxlO1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fcGluayB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGJyYW5kX3Bpbms7XG4gICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIH1cblxuICAgICAgICAmX19ibHVlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkYnJhbmRfYmx1ZTtcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIHNwYW4ge1xuICAgICAgICAmLmJhY2tncm91bmQge1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQYWdlIC0gT3VyIEV4cGVydHNcbiAgJi5leHBlcnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBoZWlnaHQ6IDU1MHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5iYWNrZ3JvdW5kIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICB0cmFuc2l0aW9uOiA1MDBtcyBlYXNlIHRyYW5zZm9ybTtcbiAgICAgIGhlaWdodDogNDAwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNhbGxvdXQge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIHBhZGRpbmc6IDE2cHggMTZweCAyNHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJvdHRvbTogMzJweDtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICAgIH1cblxuICAgICAgYSB7XG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgIC5iYWNrZ3JvdW5kIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaDMge1xuICAgICAgICBtYXJnaW46IDAgMCA1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjdweCk7XG4gICAgICB9XG5cbiAgICAgIHAge1xuICAgICAgICBtYXJnaW46IDVweCAwIDE0cHg7XG4gICAgICB9XG5cbiAgICAgIHVsIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiA1cHggMCAwIDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRicmFuZF9hcXVhO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxN3B4KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDI1cHggMCAwO1xuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEwcHgpO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIHJpZ2h0OiAtMTRweDtcbiAgICAgICAgICAgICAgdG9wOiA1cHg7XG4gICAgICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRicmFuZF9hcXVhO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICAuYmFja2dyb3VuZCB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQYWdlIC0gRmFjdCBGaWxlXG4gICYuZmFjdC1maWxlIHtcbiAgICBoNCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmRmZGZkO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogMTBweCAxNXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgICBtYXJnaW46IDQ1cHggMCAwIDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgICYuY29sb3VyIHtcbiAgICAgICZfX2JsYWNrIHtcbiAgICAgICAgaDQge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29udGVudCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuXG4gICAgICAmLmxlZnQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIG1hcmdpbjogMCA0MHB4IDAgMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBwYWRkaW5nOiAxNXB4IDI1cHg7XG5cbiAgICAgIHAge1xuICAgICAgICBtYXJnaW46IDVweCAwO1xuICAgICAgfVxuXG4gICAgICB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIG1hcmdpbjogMTBweCAwO1xuXG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiA1MXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA1MXB4O1xuICAgICAgICAgICAgbWFyZ2luOiAxNHB4IDE1cHggMTBweCAwO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LWFidWdldDtcblxuICAgICAgICAgICAgJi50aXRsZSB7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5zdWIge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDAgNXB4IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSAtIEltYWdlIG92ZXJsYXlcbiAgJi5pbWFnZS1vdmVybGF5IHtcbiAgICBoZWlnaHQ6IDQ0MHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIHAge1xuICAgICAgZm9udC1mYW1pbHk6ICdBYnVnZXQnLCBzZXJpZiAhaW1wb3J0YW50O1xuICAgICAgZm9udC1zaXplOiAxNDBweDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgICYuc21hbGwge1xuICAgICAgaGVpZ2h0OiAzMjVweDtcbiAgICB9XG4gIH1cblxuICAvLyBQYWdlIC0gS2V5IE5vdGVzXG4gICYubm90ZXMge1xuICAgIG1hcmdpbjogMjBweCAwO1xuXG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMnB4KTtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1wdC1zYW5zO1xuICAgICAgYmFja2dyb3VuZDogJGJyYW5kX3B1cnBsZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogNXB4IDE1cHggM3B4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICAuY29udGVudCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgcGFkZGluZzogMTVweDtcblxuICAgICAgcCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cblxuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgLSBDb250ZW50XG4gICYuY29udGVudCB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIG1hcmdpbjogNTVweCAwIDI1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBQYWdlIC0gUGFydG5lcnNcbiAgJi5wYXJ0bmVycyxcbiAgJi5vZmZlcl9kZXNjcmlwdGlvbiB7XG4gICAgLnRpdGxlIHtcbiAgICAgIGJhY2tncm91bmQ6ICMwYTBhMGE7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgcGFkZGluZzogMTBweCAxOHB4IDEzcHg7XG4gICAgICBtYXJnaW46IDIwcHggMCAwIDA7XG5cbiAgICAgICYuY29sb3VyIHtcbiAgICAgICAgJl9fcGluayB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGJyYW5kX3Bpbms7XG4gICAgICAgIH1cblxuICAgICAgICAmX19wdXJwbGUge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRicmFuZF9wdXJwbGU7XG4gICAgICAgIH1cblxuICAgICAgICAmX19ibHVlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkYnJhbmRfYmx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2FxdWEge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRicmFuZF9hcXVhO1xuICAgICAgICB9XG4gICAgICB9XG5cblxuICAgICAgaDMge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRlbnQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBtYXJnaW46IDAgMCAyM3B4IDA7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgICAgbWFyZ2luOiAwIDIwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnBhcnRuZXItbG9nb3Mge1xuICAgICAgcGFkZGluZzogMjVweCAyMHB4IDIwcHg7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuY2FsbF90b19hY3Rpb24ge1xuICBib3gtc2hhZG93OiAwIDAgMjVweCAtMTVweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTQwcHg7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogOTYlO1xuICB6LWluZGV4OiAxO1xuXG5cbiAgJi5jYWxsX3RvX2FjdGlvbi0tcGFnZSB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLmNvbHVtbiBhLCBhOnZpc2l0ZWQge1xuICAgICAgcGFkZGluZzogMzBweCA0MHB4IDI4cHg7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHBhZGRpbmc6IDQwcHggMjBweCAyOHB4O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmc6IDQwcHggNDBweCAyOHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jb2x1bW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGEge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogNTZweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHJpZ2h0OiAzNHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogNTZweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5saW5rIHtcbiAgICAgICYtLWFxdWEge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmRfYXF1YTtcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLS1wdXJwbGUge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmRfcHVycGxlO1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYtLWJsdWUge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmRfYmx1ZTtcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLS1ob3QtcGluayB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZF9waW5rO1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgYSwgYTp2aXNpdGVkIHtcbiAgICAgIHBhZGRpbmc6IDMwcHggNDBweCAyOHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgcGFkZGluZzogMjBweCAyMHB4IDE4cHg7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZzogMjBweCA0MHB4IDE4cHg7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICAvL2JhY2tncm91bmQtY29sb3I6ICRicmFuZF9hcXVhO1xuICAgICAgICBjb2xvcjogI2ZmZjtcblxuICAgICAgICAvLyBDaGFuZ2UgYXJyb3cgY29sb3VyIG9uIGhvdmVyXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGZpbHRlcjogaW52ZXJ0KDEpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAvLyBTdG9wIHRoZSBhcnJvdyBvdmVybGFwcGluZyB0ZXh0XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMThweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYudGl0bGUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjJweCk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIycHgpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gUmlnaHQgYXJyb3dcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMjRweDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xNHB4O1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTBBJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzQxLjAzOCcgaGVpZ2h0PSc0OC4wNTInIHZpZXdCb3g9JzAgMCA0MS4wMzggNDguMDUyJyUzRSUzQ3BhdGggaWQ9J0Fycm93Xy1fUmlnaHQnIGRhdGEtbmFtZT0nQXJyb3cgLSBSaWdodCcgZD0nTTI1Ni45OTQsMTk1LjA2NmwyMC4xNzktMTIuMTQyLDguMjMyLTMuMzg5LTguMjMyLTIuNzQyLTIwLjE3OS0xMi40NjgsNS4wMjgtNy44MjQsMzQuODEzLDE5LjgzMXY2LjU5MmwtMzQuODEzLDIwLjI4M1onIHRyYW5zZm9ybT0ndHJhbnNsYXRlKC0yNTYuMjk4IC0xNTUuODMyKScgc3Ryb2tlPSclMjMwMDAnIHN0cm9rZS13aWR0aD0nMScvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBNb2JpbGUgdW5kZXJsaW5lXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgd2lkdGg6IDYwJTtcbiAgICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgLy8gUmlnaHQgZGl2aWRlXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGhlaWdodDogNTAlO1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICB0b3A6IDI1JTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi50d28tY29sLWJsb2NrIHtcbiAgICBwYWRkaW5nLXRvcDogODVweDtcblxuICAgICYtLW1kLXBhZGRpbmcge1xuICAgICAgICAudHdvLWNvbC1ibG9ja19fbGVmdCwgLnR3by1jb2wtYmxvY2tfX3JpZ2h0IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMjVweDtcbiAgICBcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDQwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1sZy1wYWRkaW5nIHtcbiAgICAgICAgLnR3by1jb2wtYmxvY2tfX2xlZnQsIC50d28tY29sLWJsb2NrX19yaWdodCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDI1cHg7XG4gICAgXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTVweCA1MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGVmdCwgJl9fcmlnaHQge1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDI1cHg7XG4gICAgfVxuXG4gICAgJl9fbGVmdCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDQwcHggMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDQwcHggMCAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcmlnaHQge1xuXG4gICAgfVxufVxuIiwiLm9wZW5pbmctaG91cnMge1xuICAgIG1hcmdpbjogMCAwIDMycHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgbGkge1xuICAgICAgICBcbiAgICB9XG5cbiAgICBzcGFuIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbn1cblxuLm9wZW5pbmctaG91cnMtYWRkaXRpb25hbCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xufSIsIi5vZmZlci1kZXNjcmlwdGlvbi1ibG9jay10aXRsZSB7XG4gICAgcGFkZGluZzogMTBweCAxNXB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgYmFja2dyb3VuZDogJGJsYWNrO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgJl9fcGluayB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRicmFuZF9waW5rO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgICBcbiAgICAmX19wdXJwbGUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYnJhbmRfcHVycGxlO1xuICAgIH1cbiAgICBcbiAgICAmX19ibHVlIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGJyYW5kX2JsdWU7XG4gICAgfVxuICAgIFxuICAgICZfX2FxdWEge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYnJhbmRfYXF1YTtcbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG59XG5cbi5vZmZlci1kZXNjcmlwdGlvbiB7ICAgIFxuICAgICZfX3RpdGxlLWhvbGRlciB7XG4gICAgICAgIHBhZGRpbmc6IDEycHggMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRibGFjaztcbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAmX19oZWFkbGluZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYmxhY2s7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgJl9fZXh0cmEge1xuICAgICAgICBwLCB1bCwgb2wge1xuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnV0dG9ucyB7XG4gICAgICAgIC5idG4ge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3Rlcm1zIHtcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiA0MjVweDtcbiAgICAgICAgXG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDAlICsgNDBweCk7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwdnc7XG4gICAgICAgICAgICAgICAgdG9wOiAtODVweDtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyA4NXB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3JpZ2h0LWJsb2NrIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxufSIsIi8vIEJsb2NrIC0gQ2hlY2tsaXN0XG5cbi5jaGVja2xpc3QtaG9sZGVyIHtcblx0cGFkZGluZzogNzBweCAwIDQwcHg7XG59XG5cbi5jaGVja2xpc3Qtcm93IHtcbiAgICAuY29sdW1uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxuICB9XG5cbi5jaGVja2xpc3Qge1xuICAgIFxuICAgICZfX2l0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuXG4gICAgICAgICYtLTQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzEuNSU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS02IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDQ4LjUlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tOCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA2NS41JTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBtYXJnaW46IC43NSU7XG4gICAgICAgIH1cblxuICAgICAgICAgLndoaXRlLWJnIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgUCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuIFxuICAgIGg0IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBjb2xvcjogJGJyYW5kX3B1cnBsZTtcbiAgICAgICAgXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgJi5udW1iZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRicmFuZF9wdXJwbGU7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogM3B4IDdweCAxcHggOHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4cHgpO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMTBweCAwIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiLndoeS1yZXZpZXcge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuXG4gICYtLWFxdWEge1xuICAgIGJhY2tncm91bmQ6ICRicmFuZF9hcXVhO1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG5cbiAgJi0td2hpdGUge1xuICAgIGgyIHtcbiAgICAgIGNvbG9yOiAkYnJhbmRfYXF1YTtcbiAgICB9XG5cbiAgICAud2h5LXJldmlld19fY29udGVudCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICB3aWR0aDogNzUlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2NvbnRlbnQge1xuICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHdpZHRoOiA3NSU7XG4gICAgICBtYXgtd2lkdGg6IDYyNXB4O1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cblxuICAmX19mZWVmbyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiA3MnB4O1xuICAgIHdpZHRoOiA3MnB4O1xuICAgIC8vcG9zaXRpb246IGFic29sdXRlO1xuICAgIC8vcmlnaHQ6IDMlO1xuICAgIC8vYm90dG9tOiAtMTZweDtcblxuICAgICY6aG92ZXIge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiA0MHB4O1xuICAgIH1cbiAgfVxuXG4gIGgyIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtYWJ1Z2V0O1xuICAgIGZvbnQtc2l6ZTogMTA5cHg7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBtYXJnaW46IDAgMCAxNnB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgcCB7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gIH1cblxuICAucmV2aWV3LWFjdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIC5yZXZpZXdzLXdyYXBwZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktc2VsZjogZmxleC1lbmQ7XG4gICAgfVxuXG4gICAgLnJldmlld3Mtd2lkZ2V0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5idXR0b24td3JhcHBlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiBhdXRvIDFyZW0gMCAwO1xuICAgXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XG4gICAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IDQwMG1zIGVhc2UgY29sb3IsIDQwMG1zIGVhc2UgYmFja2dyb3VuZDtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGJyYW5kX2FxdWE7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmJ0bi0tYXF1YSxcbiAgICAuYnRuLS1hcXVhOnZpc2l0ZWQge1xuICAgICAgY29sb3I6ICRicmFuZF9hcXVhO1xuICAgICAgYm9yZGVyOiAycHggc29saWQgJGJyYW5kX2FxdWE7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGJyYW5kX2FxdWE7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4jcmV2aWV3LWNhcm91c2VsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAtNDBweDtcblxuICAub3dsLXN0YWdlLW91dGVyIHtcbiAgICBwYWRkaW5nOiA0MHB4IDA7XG4gIH1cblxuICAub3dsLWRvdHMge1xuICAgIG1hcmdpbjogMCAwIDE2cHg7XG4gIH1cblxuICAucmV2aWV3IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMCA0MHB4IDAgMzVweDtcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBjb2xvcjogJGJyYW5kX2FxdWE7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBmb250LWZhbWlseTogJGZvbnQtYWJ1Z2V0O1xuICAgICAgZm9udC1zaXplOiAxNTFweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMjVweDtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcMjAxQyc7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAtMjFweDtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnXFwyMDFEJztcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAtOTNweDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vU3R5bGUgZmVhdHVyZWQgcmV2aWV3XG4uZmVhdHVyZWQtcmV2aWV3IHtcbiAgbWFyZ2luOiAxMjVweCAyNXB4IDEyNXB4IDI1cHg7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAvL21hcmdpbjogMCAxNXB4O1xuICB9XG5cbiAgLnRpdGxlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMGEwYTBhO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgcGFkZGluZzogMTBweCAxOHB4IDEzcHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAmLmNvbG91ciB7XG4gICAgICAmX19waW5rIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGJyYW5kX3Bpbms7XG4gICAgICB9XG5cbiAgICAgICZfX3B1cnBsZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRicmFuZF9wdXJwbGU7XG4gICAgICB9XG5cbiAgICAgICZfX2JsdWUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYnJhbmRfYmx1ZTtcbiAgICAgIH1cblxuICAgICAgJl9fYXF1YSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRicmFuZF9hcXVhO1xuICAgICAgfVxuICAgIH1cblxuICAgIGgzIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICB9XG5cbiAgLmNvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgbWFyZ2luOiAwIDAgMjNweCAwO1xuICAgIHBhZGRpbmc6IDEwcHggMzJweDtcblxuICAgIGltZyB7XG4gICAgICB3aWR0aDogMjAwcHg7XG4gICAgICBtYXJnaW46IDAgMjBweDtcbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjFweCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xuXG4gICAgICAmLnJldmlld2VyIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOHB4KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAmLmRhdGUge1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMTBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYnRuIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICB9XG59XG5cbi8vIFJldmlldyBsaXN0IHN0eWxpbmdcbi5yZXZpZXcge1xuICBtYXJnaW4tYm90dG9tOiAyM3B4O1xuICBoZWlnaHQ6IGF1dG87XG4gIGZsZXg6IDEgMCBhdXRvO1xuXG4gIC5jb250ZW50IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHBhZGRpbmc6IDEwcHggMzJweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgIG1hcmdpbjogMCAyMHB4O1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIH1cblxuICAgIGhyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOHB4KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IGF1dG87XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cbiAgICAgICYucmV2aWV3ZXIge1xuICAgICAgICBtYXJnaW46IDQ1cHggMCAxMHB4IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMThweCk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgJi5kYXRlIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDEwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmJ0biB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgfVxufVxuXG4vL1N0eWxlIHJhdGluZyBzdGFyc1xuLnJhdGluZyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBU0lBQUFCRkNBWUFBQUR1T092Z0FBQUZ3a2xFUVZSNG5PM2R6YXZjVkJ6RzhlZUtpS0pZR3d2MUJWVFVxMksxMU9KR0JWOTJra1lFNmFLckZvUnVTbWxGUzhXVnVCQVgvZ1Bpd2szQjFjVkZUWU03Y2FNYlFaZHFMNktJTDRzMnZtQXRsT3FWd3ozVnVYTm1Kc25rbk9Ra2ZEOFFyRG1aL1BLY3dKa3prNXVNQUFBQUFBQUFBQUFBQUFBQUFBQUErcllTd3hrbzgvUlc4OThrSzM1MkdqM1oyTmhZdUtPVmxYQmRRYjcyeURmc2ZGV3VybWp2eXF1MnprdVJISTl2NUJzMjhnWFcrNHpJanNiZjJ2KzlPOVNvM05jN0R2bjhJTit3ODFXNXFxSzlDeTlMdXRZdXIwUndQTDZSYjlqSTE0RmVaMFJsbnU2UTlKMms2KzJxQzVMdVNyTGluTE54UzMyODQ1RFBIL0lOTzErVnZtZEVKeVk2UWZiZko1eXRob3Q4dzBhK2p2UTJJeXJ6ZEx1a0g2WTZRblpVdmlQSml0SjVVUXRkditPUWozeE5qRDFmbFQ1blJNZG5kSUxzdW1QTzJ1RWgzN0NScjBPOXpJaktQTDNKZmpiZDVqUnUrdDErVnYzTmFWbFNsKzg0NUNOZlUyUFBWNld2R2RHeEJaMGcyM2JjV1RzYzVDTmZ6S0xMMS9tTXFNelRHK3hvZkxQVHVOVjVPeXIvNmJRc29hdDNIUEw5aDN3TmpEMWZsVDVtUkVkcmRJTHNOa2VkdGZFajN5Ynl4U25LZkozT2lCcU14bGQ0RzVXN2VNY2huNE44TlkwOVg1V3VaMFNIRzNTQzdMYUhuYlh4SXQ5VzVJdEx0UGs2bXhHVmVYcWR2YWZsRnFkeHNWL3NQVEFYRjI1VklmUTdEdm5tSWw4Tlk4OVhKY2hBVk9hcG1XbmRLZWxlU2ZkTFdwWDBxS1RIblkzcitWVFM1NUxPU3ZwYTBycWs3NU9zK0tmdURueWVhUEkxUnI0S1k4OVhwZFZBVk9icDdUYnNmWFpadFl0WmQ0M3pBcjh1MlE0NWE1ZHY3TEtlWk1XUDA1V1dPZEhrQzRwOEU4YWVyNHFiYm80eVR4K1I5SUtrQjJ6UTFUbC9tUm1EQzdaelRFZDlKZW1EN2Z2T2ZMSG91SDQ5czQ5ODhTRGZsS0huUzdKaVliNG1EMFl6VTdJbkpEM2p0TVRIbktBOWR2bFkwbHZrSTE5RXlEZWw5bFd6SkN2K2twVFpIUStGT2RiTUh2dEM1SXNTK2F5eDUydDArWDZpTTNLbk1UNTUzVTRnWDVUSU4yWE0rWmI2c3JyTVUvTkYySnFrNTV6R09Id29hWCtTRlpldUhFMlRMd1BKMXp2eVRSbDZ2aXBML1VHakxiRGZGb3hONDA0Z1gxVElWMkdNK1piK3krcUp6bGh6R3Z1ejF2WWtrNjlYNUt0cGJQbGEzZUpoQ3g2UTlMN1QyRDF6REFkOG5HVHk5WUo4RFkwcFgrdDd6WktzK0Z2U3daNDd3OVErYUkvRksvSjFnbnhMR2tzK0x6ZTlUblRHS2FjeHZGT2hUakw1T2tHK2xzYVF6OXZkOS9aQURrbDZ4MmtNeDlRNkZQSWtreThvOG5reTlIeGVId09TWklXNUJubWtvODR3Tlk3WW1wMGduMWZrODJ6SStVTGRmVy8yKzlNU2p4eW95enlhNExZbW5lRDU3bWJ5dFVPK0tXUFBWeVhVZzlITXMwOTJPbXY5MldscjlJVjg3WkF2ck1IbEN6VVFQUmo0b1dzcnRrWmZ5TmNPK2NJYVhMNVFBOUZEenBwaDFwaUhmTU9vTVEvNUlxc1JhaURhNWF3WlpvMTV5RGVNR3ZPUUw3SWF6SWppclUyK1lkY21Yd1BNaU9LdFRiNWgxeVpmQTk2LzBDcno5RWI3MjlsZDJKWmt4UjkxNnZpNlBFbytyOGhualQxZmxSQXpvb2VkTmRVMjdOSkZyYmJJNXlMZmJPU3JLY1JBMVBTeTNtbEp1KzF5Mm1sZHJJOUxwT1RiaW56emthK21KZy9QcjZ2dVo4ZFBKTDJXWk1WbkUrdWVML1AwTWZ1dzdhZWNWN2o2K0J4T3ZrM2s4MWZMcDBIbUN6RVE3WGJXYlBXbDdZQ1BuSmJOKzJWTXh6eGQ1dW16dGtQMk9CdlZyeFVDK2NoSHZucTFhdXZ5bzltNmZZalQzbm1kTU1sdXM5ZStadDNaWUhHdGtPYlZKTjhFOGkyc0ZkSzhtbEhuODNyVnJNeFQ4NlA5NTZaV201dnYzcEQwWHBJVmw1MFgxZHV2bWJtOUtPbDFjN1BkVlBPT0pDdk9PeSthNHVPcUJQbklOd3Y1cXZOVjhUMGptdndXdlpSMDB2d3FaWklWN3k3YkNkb2NuUytiZmRoZnVEeHA5ejJyWm1qa1d3TDVPalBZZkw0SG9sMzI1MmJmbEhSUGtoVnZKMWx4MGRscVNXWmZacDltMzdiR2hZNi9FQ1JmQytRTGJ1ejU2aW56OU1reVQwTTlBOFZoYXBtYVRzTU1adXE3YUtsWmozd2VrZTkvc3pLTktSOEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUZoSTByL2hhbmhYaThRVm53QUFBQUJKUlU1RXJrSmdnZz09XCIpO1xuICBoZWlnaHQ6IDI2cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW46IDdweCAwIDA7XG5cbiAgJi0tNSB7XG4gICAgd2lkdGg6IDExNnB4O1xuICB9XG5cbiAgJi0tNCB7XG4gICAgd2lkdGg6IDg3cHg7XG4gIH1cblxuICAmLS0zIHtcbiAgICB3aWR0aDogNjdweDtcbiAgfVxuXG4gICYtLTIge1xuICAgIHdpZHRoOiA0NXB4O1xuICB9XG5cbiAgJi0tMSB7XG4gICAgd2lkdGg6IDIzcHg7XG4gIH1cbn1cbiIsIi5oZWFkZXIge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuXG5cdCYubGFyZ2Uge1xuXHRcdGhlaWdodDogNjUwcHg7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIDMwJTtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRcdHBhZGRpbmc6IDIwcHg7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0aDEge1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0XHRmb250LWZhbWlseTogJGZvbnQtYWJ1Z2V0O1xuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYyg5MHB4KTtcblx0XHRcdGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg5NXB4KTtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUwcHgpO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogcmVtLWNhbGMoMTUwcHgpO1xuXHRcdFx0fVxuXHRcdFx0Zm9udC13ZWlnaHQ6IDMwMDtcblx0XHRcdG1hcmdpbjogMzJweCAwIDA7XG5cdFx0fVxuXG5cdFx0Ji50ZXh0X2FsaWduX2xlZnQge1xuXHRcdFx0aDEge1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0XHRcdG1hcmdpbi10b3A6IDM1MHB4O1xuXHRcdFx0XHRcdHBhZGRpbmc6IDAgMTAwcHg7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0XHRcdG1hcmdpbi10b3A6IDM3NXB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cblx0fVxufVxuXG4uc3Vic2NyaWJlLXRhYiB7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0bGVmdDogLTQwcHg7XG5cdHRvcDogNTAlO1xuXHR6LWluZGV4OiAyMjtcblx0dHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuXHR0cmFuc2l0aW9uOiA1MDBtcyBlYXNlIHRyYW5zZm9ybSwgNTAwbXMgZWFzZSBsZWZ0O1xuXG5cdGEge1xuXHRcdGJhY2tncm91bmQ6ICMwMDA7XG5cdFx0Y29sb3I6ICNmZmY7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygyMHB4KTtcblx0XHRwYWRkaW5nOiAxMHB4IDE1cHg7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XG5cdH1cblxuXHQmOmhvdmVyIHtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZykgc2NhbGUoMS4yKTtcblx0XHRsZWZ0OiAtMzRweDtcblx0fVxufVxuIiwiLmJsb2ctbGlzdCB7XG5cdC5yb3cge1xuXHRcdC5yb3cge1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdH1cblx0fVxufSJdfQ== */
