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

/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

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

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

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

a {
  background-color: transparent;
}

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

b,
strong {
  font-weight: bolder;
}

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

small {
  font-size: 80%;
}

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

img {
  border-style: none;
}

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

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

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

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

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

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

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

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

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

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

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

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

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

details {
  display: block;
}

summary {
  display: list-item;
}

template {
  display: none;
}

[hidden] {
  display: none;
}

.foundation-mq {
  font-family: "small=0em&medium=48em&large=64em&xlarge=100em&xxlarge=120.0625em";
}

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

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

body {
  margin: 0;
  padding: 0;
  background: #fefefe;
  font-family: "Lato", 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 {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  border-radius: 0;
}

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

button {
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  border-radius: 0;
  background: transparent;
  line-height: 1;
  cursor: auto;
}

[data-whatinput='mouse'] button {
  outline: 0;
}

pre {
  overflow: auto;
}

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

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

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

[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],
textarea {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  -webkit-box-shadow: none;
          box-shadow: none;
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #0a0a0a;
  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

[type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
textarea:focus {
  outline: none;
  border: 1px solid #8a8a8a;
  background-color: #fefefe;
  -webkit-box-shadow: 0 0 5px #cacaca;
          box-shadow: 0 0 5px #cacaca;
  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
}

textarea {
  max-width: 100%;
}

textarea[rows] {
  height: auto;
}

input:disabled, input[readonly],
textarea:disabled,
textarea[readonly] {
  background-color: #e6e6e6;
  cursor: not-allowed;
}

[type='submit'],
[type='button'] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 0;
}

input[type='search'] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

::-webkit-input-placeholder {
  color: #cacaca;
}

::-moz-placeholder {
  color: #cacaca;
}

:-ms-input-placeholder {
  color: #cacaca;
}

::-ms-input-placeholder {
  color: #cacaca;
}

::placeholder {
  color: #cacaca;
}

[type='file'],
[type='checkbox'],
[type='radio'] {
  margin: 0 0 1rem;
}

[type='checkbox'] + label,
[type='radio'] + label {
  display: inline-block;
  vertical-align: baseline;
  margin-left: 0.5rem;
  margin-right: 1rem;
  margin-bottom: 0;
}

[type='checkbox'] + label[for],
[type='radio'] + label[for] {
  cursor: pointer;
}

label > [type='checkbox'],
label > [type='radio'] {
  margin-right: 0.5rem;
}

[type='file'] {
  width: 100%;
}

label {
  display: block;
  margin: 0;
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.8;
  color: #0a0a0a;
}

label.middle {
  margin: 0 0 1rem;
  padding: 0.5625rem 0;
}

.help-text {
  margin-top: -0.5rem;
  font-size: 0.8125rem;
  font-style: italic;
  color: #0a0a0a;
}

.input-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin-bottom: 1rem;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}

.input-group > :first-child, .input-group > :first-child.input-group-button > * {
  border-radius: 0 0 0 0;
}

.input-group > :last-child, .input-group > :last-child.input-group-button > * {
  border-radius: 0 0 0 0;
}

.input-group-label, .input-group-field, .input-group-button, .input-group-button a,
.input-group-button input,
.input-group-button button,
.input-group-button label {
  margin: 0;
  white-space: nowrap;
}

.input-group-label {
  padding: 0 1rem;
  border: 1px solid #cacaca;
  background: #e6e6e6;
  color: #0a0a0a;
  text-align: center;
  white-space: nowrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.input-group-label:first-child {
  border-right: 0;
}

.input-group-label:last-child {
  border-left: 0;
}

.input-group-field {
  border-radius: 0;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
  min-width: 0;
}

.input-group-button {
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}

.input-group-button a,
.input-group-button input,
.input-group-button button,
.input-group-button label {
  -ms-flex-item-align: stretch;
      align-self: stretch;
  height: auto;
  padding-top: 0;
  padding-bottom: 0;
  font-size: 1rem;
}

fieldset {
  margin: 0;
  padding: 0;
  border: 0;
}

legend {
  max-width: 100%;
  margin-bottom: 0.5rem;
}

.fieldset {
  margin: 1.125rem 0;
  padding: 1.25rem;
  border: 1px solid #cacaca;
}

.fieldset legend {
  margin: 0;
  margin-left: -0.1875rem;
  padding: 0 0.1875rem;
}

select {
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #0a0a0a;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28138, 138, 138%29'></polygon></svg>");
  background-origin: content-box;
  background-position: right -1rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  padding-right: 1.5rem;
  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
}

@media screen and (min-width: 0\0) {
  select {
    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==");
  }
}

select:focus {
  outline: none;
  border: 1px solid #8a8a8a;
  background-color: #fefefe;
  -webkit-box-shadow: 0 0 5px #cacaca;
          box-shadow: 0 0 5px #cacaca;
  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
}

select:disabled {
  background-color: #e6e6e6;
  cursor: not-allowed;
}

select::-ms-expand {
  display: none;
}

select[multiple] {
  height: auto;
  background-image: none;
}

.is-invalid-input:not(:focus) {
  border-color: #cc4b37;
  background-color: #f9ecea;
}

.is-invalid-input:not(:focus)::-webkit-input-placeholder {
  color: #cc4b37;
}

.is-invalid-input:not(:focus)::-moz-placeholder {
  color: #cc4b37;
}

.is-invalid-input:not(:focus):-ms-input-placeholder {
  color: #cc4b37;
}

.is-invalid-input:not(:focus)::-ms-input-placeholder {
  color: #cc4b37;
}

.is-invalid-input:not(:focus)::placeholder {
  color: #cc4b37;
}

.is-invalid-label {
  color: #cc4b37;
}

.form-error {
  display: none;
  margin-top: -0.5rem;
  margin-bottom: 1rem;
  font-size: 0.75rem;
  font-weight: bold;
  color: #cc4b37;
}

.form-error.is-visible {
  display: block;
}

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

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

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

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

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

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
  font-family: "Lato", sans-serif;
  font-style: normal;
  font-weight: normal;
  color: inherit;
  text-rendering: optimizeLegibility;
}

h1 small, .h1 small,
h2 small, .h2 small,
h3 small, .h3 small,
h4 small, .h4 small,
h5 small, .h5 small,
h6 small, .h6 small {
  line-height: 0;
  color: #cacaca;
}

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

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

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

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

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

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

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

a {
  line-height: inherit;
  color: #991B1E;
  text-decoration: none;
  cursor: pointer;
}

a:hover, a:focus {
  color: #84171a;
}

a img {
  border: 0;
}

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

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

li {
  font-size: inherit;
}

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

ol {
  margin-left: 1.25rem;
}

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

dl {
  margin-bottom: 1rem;
}

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

blockquote {
  margin: 0 0 1rem;
  padding: 0.5625rem 1.25rem 0 1.1875rem;
  border-left: 1px solid #cacaca;
}

blockquote, blockquote p {
  line-height: 1.6;
  color: #8a8a8a;
}

cite {
  display: block;
  font-size: 0.8125rem;
  color: #8a8a8a;
}

cite:before {
  content: "— ";
}

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

figure {
  margin: 0;
}

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

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

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

.lead {
  font-size: 125%;
  line-height: 1.6;
}

.stat {
  font-size: 2.5rem;
  line-height: 1;
}

p + .stat {
  margin-top: -1rem;
}

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

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

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

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

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

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

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

@media screen and (min-width: 100em) {
  .xlarge-text-left {
    text-align: left;
  }
  .xlarge-text-right {
    text-align: right;
  }
  .xlarge-text-center {
    text-align: center;
  }
  .xlarge-text-justify {
    text-align: justify;
  }
}

@media screen and (min-width: 120.0625em) {
  .xxlarge-text-left {
    text-align: left;
  }
  .xxlarge-text-right {
    text-align: right;
  }
  .xxlarge-text-center {
    text-align: center;
  }
  .xxlarge-text-justify {
    text-align: justify;
  }
}

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

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

.grid-container {
  padding-right: 1.875rem;
  padding-left: 1.875rem;
  max-width: 1470px;
  margin-left: auto;
  margin-right: auto;
}

.grid-container.fluid {
  padding-right: 1.875rem;
  padding-left: 1.875rem;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.grid-container.full {
  padding-right: 0;
  padding-left: 0;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.grid-x {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
}

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

.cell.auto {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
}

.cell.shrink {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.grid-margin-x {
  margin-left: -0.625rem;
  margin-right: -0.625rem;
}

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

.grid-margin-x > .cell {
  width: calc(100% - 1.25rem);
  margin-left: 0.625rem;
  margin-right: 0.625rem;
}

@media print, screen and (min-width: 48em) {
  .grid-margin-x > .cell {
    width: calc(100% - 1.875rem);
    margin-left: 0.9375rem;
    margin-right: 0.9375rem;
  }
}

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

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

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

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

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

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

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

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

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

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

.grid-margin-x > .small-9 {
  width: calc(75% - 1.25rem);
}

.grid-margin-x > .small-10 {
  width: calc(83.33333% - 1.25rem);
}

.grid-margin-x > .small-11 {
  width: calc(91.66667% - 1.25rem);
}

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

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

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

@media screen and (min-width: 100em) {
  .grid-margin-x > .xlarge-auto {
    width: auto;
  }
  .grid-margin-x > .xlarge-shrink {
    width: auto;
  }
  .grid-margin-x > .xlarge-1 {
    width: calc(8.33333% - 1.875rem);
  }
  .grid-margin-x > .xlarge-2 {
    width: calc(16.66667% - 1.875rem);
  }
  .grid-margin-x > .xlarge-3 {
    width: calc(25% - 1.875rem);
  }
  .grid-margin-x > .xlarge-4 {
    width: calc(33.33333% - 1.875rem);
  }
  .grid-margin-x > .xlarge-5 {
    width: calc(41.66667% - 1.875rem);
  }
  .grid-margin-x > .xlarge-6 {
    width: calc(50% - 1.875rem);
  }
  .grid-margin-x > .xlarge-7 {
    width: calc(58.33333% - 1.875rem);
  }
  .grid-margin-x > .xlarge-8 {
    width: calc(66.66667% - 1.875rem);
  }
  .grid-margin-x > .xlarge-9 {
    width: calc(75% - 1.875rem);
  }
  .grid-margin-x > .xlarge-10 {
    width: calc(83.33333% - 1.875rem);
  }
  .grid-margin-x > .xlarge-11 {
    width: calc(91.66667% - 1.875rem);
  }
  .grid-margin-x > .xlarge-12 {
    width: calc(100% - 1.875rem);
  }
}

@media screen and (min-width: 120.0625em) {
  .grid-margin-x > .xxlarge-auto {
    width: auto;
  }
  .grid-margin-x > .xxlarge-shrink {
    width: auto;
  }
  .grid-margin-x > .xxlarge-1 {
    width: calc(8.33333% - 1.875rem);
  }
  .grid-margin-x > .xxlarge-2 {
    width: calc(16.66667% - 1.875rem);
  }
  .grid-margin-x > .xxlarge-3 {
    width: calc(25% - 1.875rem);
  }
  .grid-margin-x > .xxlarge-4 {
    width: calc(33.33333% - 1.875rem);
  }
  .grid-margin-x > .xxlarge-5 {
    width: calc(41.66667% - 1.875rem);
  }
  .grid-margin-x > .xxlarge-6 {
    width: calc(50% - 1.875rem);
  }
  .grid-margin-x > .xxlarge-7 {
    width: calc(58.33333% - 1.875rem);
  }
  .grid-margin-x > .xxlarge-8 {
    width: calc(66.66667% - 1.875rem);
  }
  .grid-margin-x > .xxlarge-9 {
    width: calc(75% - 1.875rem);
  }
  .grid-margin-x > .xxlarge-10 {
    width: calc(83.33333% - 1.875rem);
  }
  .grid-margin-x > .xxlarge-11 {
    width: calc(91.66667% - 1.875rem);
  }
  .grid-margin-x > .xxlarge-12 {
    width: calc(100% - 1.875rem);
  }
}

.grid-padding-x .grid-padding-x {
  margin-right: -0.625rem;
  margin-left: -0.625rem;
}

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

.grid-container:not(.full) > .grid-padding-x {
  margin-right: -0.625rem;
  margin-left: -0.625rem;
}

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

.grid-padding-x > .cell {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.small-margin-collapse > .small-1 {
  width: 8.33333%;
}

.small-margin-collapse > .small-2 {
  width: 16.66667%;
}

.small-margin-collapse > .small-3 {
  width: 25%;
}

.small-margin-collapse > .small-4 {
  width: 33.33333%;
}

.small-margin-collapse > .small-5 {
  width: 41.66667%;
}

.small-margin-collapse > .small-6 {
  width: 50%;
}

.small-margin-collapse > .small-7 {
  width: 58.33333%;
}

.small-margin-collapse > .small-8 {
  width: 66.66667%;
}

.small-margin-collapse > .small-9 {
  width: 75%;
}

.small-margin-collapse > .small-10 {
  width: 83.33333%;
}

.small-margin-collapse > .small-11 {
  width: 91.66667%;
}

.small-margin-collapse > .small-12 {
  width: 100%;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media screen and (min-width: 100em) {
  .xlarge-margin-collapse {
    margin-right: 0;
    margin-left: 0;
  }
  .xlarge-margin-collapse > .cell {
    margin-right: 0;
    margin-left: 0;
  }
}

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

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

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

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

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

@media screen and (min-width: 100em) {
  .xlarge-padding-collapse {
    margin-right: 0;
    margin-left: 0;
  }
  .xlarge-padding-collapse > .cell {
    padding-right: 0;
    padding-left: 0;
  }
}

@media screen and (min-width: 120.0625em) {
  .xxlarge-margin-collapse {
    margin-right: 0;
    margin-left: 0;
  }
  .xxlarge-margin-collapse > .cell {
    margin-right: 0;
    margin-left: 0;
  }
}

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

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

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

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

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

@media screen and (min-width: 120.0625em) {
  .xxlarge-padding-collapse {
    margin-right: 0;
    margin-left: 0;
  }
  .xxlarge-padding-collapse > .cell {
    padding-right: 0;
    padding-left: 0;
  }
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.grid-y {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap;
}

.grid-y > .cell {
  width: auto;
  max-width: none;
}

.grid-y > .auto {
  height: auto;
}

.grid-y > .shrink {
  height: auto;
}

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

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

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

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

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

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

.grid-y > .small-1 {
  height: 8.33333%;
}

.grid-y > .small-2 {
  height: 16.66667%;
}

.grid-y > .small-3 {
  height: 25%;
}

.grid-y > .small-4 {
  height: 33.33333%;
}

.grid-y > .small-5 {
  height: 41.66667%;
}

.grid-y > .small-6 {
  height: 50%;
}

.grid-y > .small-7 {
  height: 58.33333%;
}

.grid-y > .small-8 {
  height: 66.66667%;
}

.grid-y > .small-9 {
  height: 75%;
}

.grid-y > .small-10 {
  height: 83.33333%;
}

.grid-y > .small-11 {
  height: 91.66667%;
}

.grid-y > .small-12 {
  height: 100%;
}

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

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

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

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

.grid-padding-y .grid-padding-y {
  margin-top: -0.625rem;
  margin-bottom: -0.625rem;
}

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

.grid-padding-y > .cell {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}

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

.grid-margin-y {
  margin-top: -0.625rem;
  margin-bottom: -0.625rem;
}

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

.grid-margin-y > .cell {
  height: calc(100% - 1.25rem);
  margin-top: 0.625rem;
  margin-bottom: 0.625rem;
}

@media print, screen and (min-width: 48em) {
  .grid-margin-y > .cell {
    height: calc(100% - 1.875rem);
    margin-top: 0.9375rem;
    margin-bottom: 0.9375rem;
  }
}

.grid-margin-y > .auto {
  height: auto;
}

.grid-margin-y > .shrink {
  height: auto;
}

.grid-margin-y > .small-1 {
  height: calc(8.33333% - 1.25rem);
}

.grid-margin-y > .small-2 {
  height: calc(16.66667% - 1.25rem);
}

.grid-margin-y > .small-3 {
  height: calc(25% - 1.25rem);
}

.grid-margin-y > .small-4 {
  height: calc(33.33333% - 1.25rem);
}

.grid-margin-y > .small-5 {
  height: calc(41.66667% - 1.25rem);
}

.grid-margin-y > .small-6 {
  height: calc(50% - 1.25rem);
}

.grid-margin-y > .small-7 {
  height: calc(58.33333% - 1.25rem);
}

.grid-margin-y > .small-8 {
  height: calc(66.66667% - 1.25rem);
}

.grid-margin-y > .small-9 {
  height: calc(75% - 1.25rem);
}

.grid-margin-y > .small-10 {
  height: calc(83.33333% - 1.25rem);
}

.grid-margin-y > .small-11 {
  height: calc(91.66667% - 1.25rem);
}

.grid-margin-y > .small-12 {
  height: calc(100% - 1.25rem);
}

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

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

@media screen and (min-width: 100em) {
  .grid-margin-y > .xlarge-auto {
    height: auto;
  }
  .grid-margin-y > .xlarge-shrink {
    height: auto;
  }
  .grid-margin-y > .xlarge-1 {
    height: calc(8.33333% - 1.875rem);
  }
  .grid-margin-y > .xlarge-2 {
    height: calc(16.66667% - 1.875rem);
  }
  .grid-margin-y > .xlarge-3 {
    height: calc(25% - 1.875rem);
  }
  .grid-margin-y > .xlarge-4 {
    height: calc(33.33333% - 1.875rem);
  }
  .grid-margin-y > .xlarge-5 {
    height: calc(41.66667% - 1.875rem);
  }
  .grid-margin-y > .xlarge-6 {
    height: calc(50% - 1.875rem);
  }
  .grid-margin-y > .xlarge-7 {
    height: calc(58.33333% - 1.875rem);
  }
  .grid-margin-y > .xlarge-8 {
    height: calc(66.66667% - 1.875rem);
  }
  .grid-margin-y > .xlarge-9 {
    height: calc(75% - 1.875rem);
  }
  .grid-margin-y > .xlarge-10 {
    height: calc(83.33333% - 1.875rem);
  }
  .grid-margin-y > .xlarge-11 {
    height: calc(91.66667% - 1.875rem);
  }
  .grid-margin-y > .xlarge-12 {
    height: calc(100% - 1.875rem);
  }
}

@media screen and (min-width: 120.0625em) {
  .grid-margin-y > .xxlarge-auto {
    height: auto;
  }
  .grid-margin-y > .xxlarge-shrink {
    height: auto;
  }
  .grid-margin-y > .xxlarge-1 {
    height: calc(8.33333% - 1.875rem);
  }
  .grid-margin-y > .xxlarge-2 {
    height: calc(16.66667% - 1.875rem);
  }
  .grid-margin-y > .xxlarge-3 {
    height: calc(25% - 1.875rem);
  }
  .grid-margin-y > .xxlarge-4 {
    height: calc(33.33333% - 1.875rem);
  }
  .grid-margin-y > .xxlarge-5 {
    height: calc(41.66667% - 1.875rem);
  }
  .grid-margin-y > .xxlarge-6 {
    height: calc(50% - 1.875rem);
  }
  .grid-margin-y > .xxlarge-7 {
    height: calc(58.33333% - 1.875rem);
  }
  .grid-margin-y > .xxlarge-8 {
    height: calc(66.66667% - 1.875rem);
  }
  .grid-margin-y > .xxlarge-9 {
    height: calc(75% - 1.875rem);
  }
  .grid-margin-y > .xxlarge-10 {
    height: calc(83.33333% - 1.875rem);
  }
  .grid-margin-y > .xxlarge-11 {
    height: calc(91.66667% - 1.875rem);
  }
  .grid-margin-y > .xxlarge-12 {
    height: calc(100% - 1.875rem);
  }
}

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

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

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

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

.cell-block-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  max-height: 100%;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media screen and (min-width: 120.0625em) {
  .cell .grid-y.xxlarge-grid-frame {
    height: 100%;
  }
}

.grid-margin-y {
  margin-top: -0.625rem;
  margin-bottom: -0.625rem;
}

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

.grid-margin-y > .cell {
  height: calc(100% - 1.25rem);
  margin-top: 0.625rem;
  margin-bottom: 0.625rem;
}

@media print, screen and (min-width: 48em) {
  .grid-margin-y > .cell {
    height: calc(100% - 1.875rem);
    margin-top: 0.9375rem;
    margin-bottom: 0.9375rem;
  }
}

.grid-margin-y > .auto {
  height: auto;
}

.grid-margin-y > .shrink {
  height: auto;
}

.grid-margin-y > .small-1 {
  height: calc(8.33333% - 1.25rem);
}

.grid-margin-y > .small-2 {
  height: calc(16.66667% - 1.25rem);
}

.grid-margin-y > .small-3 {
  height: calc(25% - 1.25rem);
}

.grid-margin-y > .small-4 {
  height: calc(33.33333% - 1.25rem);
}

.grid-margin-y > .small-5 {
  height: calc(41.66667% - 1.25rem);
}

.grid-margin-y > .small-6 {
  height: calc(50% - 1.25rem);
}

.grid-margin-y > .small-7 {
  height: calc(58.33333% - 1.25rem);
}

.grid-margin-y > .small-8 {
  height: calc(66.66667% - 1.25rem);
}

.grid-margin-y > .small-9 {
  height: calc(75% - 1.25rem);
}

.grid-margin-y > .small-10 {
  height: calc(83.33333% - 1.25rem);
}

.grid-margin-y > .small-11 {
  height: calc(91.66667% - 1.25rem);
}

.grid-margin-y > .small-12 {
  height: calc(100% - 1.25rem);
}

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

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

@media screen and (min-width: 100em) {
  .grid-margin-y > .xlarge-auto {
    height: auto;
  }
  .grid-margin-y > .xlarge-shrink {
    height: auto;
  }
  .grid-margin-y > .xlarge-1 {
    height: calc(8.33333% - 1.875rem);
  }
  .grid-margin-y > .xlarge-2 {
    height: calc(16.66667% - 1.875rem);
  }
  .grid-margin-y > .xlarge-3 {
    height: calc(25% - 1.875rem);
  }
  .grid-margin-y > .xlarge-4 {
    height: calc(33.33333% - 1.875rem);
  }
  .grid-margin-y > .xlarge-5 {
    height: calc(41.66667% - 1.875rem);
  }
  .grid-margin-y > .xlarge-6 {
    height: calc(50% - 1.875rem);
  }
  .grid-margin-y > .xlarge-7 {
    height: calc(58.33333% - 1.875rem);
  }
  .grid-margin-y > .xlarge-8 {
    height: calc(66.66667% - 1.875rem);
  }
  .grid-margin-y > .xlarge-9 {
    height: calc(75% - 1.875rem);
  }
  .grid-margin-y > .xlarge-10 {
    height: calc(83.33333% - 1.875rem);
  }
  .grid-margin-y > .xlarge-11 {
    height: calc(91.66667% - 1.875rem);
  }
  .grid-margin-y > .xlarge-12 {
    height: calc(100% - 1.875rem);
  }
}

@media screen and (min-width: 120.0625em) {
  .grid-margin-y > .xxlarge-auto {
    height: auto;
  }
  .grid-margin-y > .xxlarge-shrink {
    height: auto;
  }
  .grid-margin-y > .xxlarge-1 {
    height: calc(8.33333% - 1.875rem);
  }
  .grid-margin-y > .xxlarge-2 {
    height: calc(16.66667% - 1.875rem);
  }
  .grid-margin-y > .xxlarge-3 {
    height: calc(25% - 1.875rem);
  }
  .grid-margin-y > .xxlarge-4 {
    height: calc(33.33333% - 1.875rem);
  }
  .grid-margin-y > .xxlarge-5 {
    height: calc(41.66667% - 1.875rem);
  }
  .grid-margin-y > .xxlarge-6 {
    height: calc(50% - 1.875rem);
  }
  .grid-margin-y > .xxlarge-7 {
    height: calc(58.33333% - 1.875rem);
  }
  .grid-margin-y > .xxlarge-8 {
    height: calc(66.66667% - 1.875rem);
  }
  .grid-margin-y > .xxlarge-9 {
    height: calc(75% - 1.875rem);
  }
  .grid-margin-y > .xxlarge-10 {
    height: calc(83.33333% - 1.875rem);
  }
  .grid-margin-y > .xxlarge-11 {
    height: calc(91.66667% - 1.875rem);
  }
  .grid-margin-y > .xxlarge-12 {
    height: calc(100% - 1.875rem);
  }
}

.grid-frame.grid-margin-y {
  height: calc(100vh + 1.25rem);
}

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

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

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

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

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

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

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

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

.button {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  padding: 1.5em;
  border: 1px solid transparent;
  border-radius: 3px;
  -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-family: inherit;
  -webkit-appearance: none;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #991B1E;
  color: #fefefe;
}

[data-whatinput='mouse'] .button {
  outline: 0;
}

.button:hover, .button:focus {
  background-color: #82171a;
  color: #fefefe;
}

.button.tiny {
  font-size: 0.6rem;
}

.button.small {
  font-size: 0.75rem;
}

.button.defaut {
  font-size: 14px;
}

.button.large {
  font-size: 1.25rem;
}

.button.expanded {
  display: block;
  width: 100%;
  margin-right: 0;
  margin-left: 0;
}

.button.primary {
  background-color: #991B1E;
  color: #fefefe;
}

.button.primary:hover, .button.primary:focus {
  background-color: #7a1618;
  color: #fefefe;
}

.button.secondary {
  background-color: #A6070C;
  color: #fefefe;
}

.button.secondary:hover, .button.secondary:focus {
  background-color: #85060a;
  color: #fefefe;
}

.button.success {
  background-color: #3adb76;
  color: #0a0a0a;
}

.button.success:hover, .button.success:focus {
  background-color: #22bb5b;
  color: #0a0a0a;
}

.button.warning {
  background-color: #cc8b00;
  color: #0a0a0a;
}

.button.warning:hover, .button.warning:focus {
  background-color: #a36f00;
  color: #0a0a0a;
}

.button.alert {
  background-color: #cc4b37;
  color: #fefefe;
}

.button.alert:hover, .button.alert:focus {
  background-color: #a53b2a;
  color: #fefefe;
}

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

.button.disabled, .button.disabled:hover, .button.disabled:focus, .button[disabled], .button[disabled]:hover, .button[disabled]:focus {
  background-color: #991B1E;
  color: #fefefe;
}

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

.button.disabled.primary, .button.disabled.primary:hover, .button.disabled.primary:focus, .button[disabled].primary, .button[disabled].primary:hover, .button[disabled].primary:focus {
  background-color: #991B1E;
  color: #fefefe;
}

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

.button.disabled.secondary, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
  background-color: #A6070C;
  color: #fefefe;
}

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

.button.disabled.success, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success, .button[disabled].success:hover, .button[disabled].success:focus {
  background-color: #3adb76;
  color: #0a0a0a;
}

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

.button.disabled.warning, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning, .button[disabled].warning:hover, .button[disabled].warning:focus {
  background-color: #cc8b00;
  color: #0a0a0a;
}

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

.button.disabled.alert, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert, .button[disabled].alert:hover, .button[disabled].alert:focus {
  background-color: #cc4b37;
  color: #fefefe;
}

.button.hollow {
  border: 1px solid #991B1E;
  color: #991B1E;
}

.button.hollow, .button.hollow:hover, .button.hollow:focus {
  background-color: transparent;
}

.button.hollow.disabled, .button.hollow.disabled:hover, .button.hollow.disabled:focus, .button.hollow[disabled], .button.hollow[disabled]:hover, .button.hollow[disabled]:focus {
  background-color: transparent;
}

.button.hollow:hover, .button.hollow:focus {
  border-color: #4d0e0f;
  color: #4d0e0f;
}

.button.hollow:hover.disabled, .button.hollow:hover[disabled], .button.hollow:focus.disabled, .button.hollow:focus[disabled] {
  border: 1px solid #991B1E;
  color: #991B1E;
}

.button.hollow.primary {
  border: 1px solid #991B1E;
  color: #991B1E;
}

.button.hollow.primary:hover, .button.hollow.primary:focus {
  border-color: #4d0e0f;
  color: #4d0e0f;
}

.button.hollow.primary:hover.disabled, .button.hollow.primary:hover[disabled], .button.hollow.primary:focus.disabled, .button.hollow.primary:focus[disabled] {
  border: 1px solid #991B1E;
  color: #991B1E;
}

.button.hollow.secondary {
  border: 1px solid #A6070C;
  color: #A6070C;
}

.button.hollow.secondary:hover, .button.hollow.secondary:focus {
  border-color: #530406;
  color: #530406;
}

.button.hollow.secondary:hover.disabled, .button.hollow.secondary:hover[disabled], .button.hollow.secondary:focus.disabled, .button.hollow.secondary:focus[disabled] {
  border: 1px solid #A6070C;
  color: #A6070C;
}

.button.hollow.success {
  border: 1px solid #3adb76;
  color: #3adb76;
}

.button.hollow.success:hover, .button.hollow.success:focus {
  border-color: #157539;
  color: #157539;
}

.button.hollow.success:hover.disabled, .button.hollow.success:hover[disabled], .button.hollow.success:focus.disabled, .button.hollow.success:focus[disabled] {
  border: 1px solid #3adb76;
  color: #3adb76;
}

.button.hollow.warning {
  border: 1px solid #cc8b00;
  color: #cc8b00;
}

.button.hollow.warning:hover, .button.hollow.warning:focus {
  border-color: #664600;
  color: #664600;
}

.button.hollow.warning:hover.disabled, .button.hollow.warning:hover[disabled], .button.hollow.warning:focus.disabled, .button.hollow.warning:focus[disabled] {
  border: 1px solid #cc8b00;
  color: #cc8b00;
}

.button.hollow.alert {
  border: 1px solid #cc4b37;
  color: #cc4b37;
}

.button.hollow.alert:hover, .button.hollow.alert:focus {
  border-color: #67251a;
  color: #67251a;
}

.button.hollow.alert:hover.disabled, .button.hollow.alert:hover[disabled], .button.hollow.alert:focus.disabled, .button.hollow.alert:focus[disabled] {
  border: 1px solid #cc4b37;
  color: #cc4b37;
}

.button.clear {
  border: 1px solid #991B1E;
  color: #991B1E;
}

.button.clear, .button.clear:hover, .button.clear:focus {
  background-color: transparent;
}

.button.clear.disabled, .button.clear.disabled:hover, .button.clear.disabled:focus, .button.clear[disabled], .button.clear[disabled]:hover, .button.clear[disabled]:focus {
  background-color: transparent;
}

.button.clear:hover, .button.clear:focus {
  border-color: #4d0e0f;
  color: #4d0e0f;
}

.button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus.disabled, .button.clear:focus[disabled] {
  border: 1px solid #991B1E;
  color: #991B1E;
}

.button.clear, .button.clear.disabled, .button.clear[disabled], .button.clear:hover, .button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus, .button.clear:focus.disabled, .button.clear:focus[disabled] {
  border-color: transparent;
}

.button.clear.primary {
  border: 1px solid #991B1E;
  color: #991B1E;
}

.button.clear.primary:hover, .button.clear.primary:focus {
  border-color: #4d0e0f;
  color: #4d0e0f;
}

.button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] {
  border: 1px solid #991B1E;
  color: #991B1E;
}

.button.clear.primary, .button.clear.primary.disabled, .button.clear.primary[disabled], .button.clear.primary:hover, .button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus, .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] {
  border-color: transparent;
}

.button.clear.secondary {
  border: 1px solid #A6070C;
  color: #A6070C;
}

.button.clear.secondary:hover, .button.clear.secondary:focus {
  border-color: #530406;
  color: #530406;
}

.button.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], .button.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled] {
  border: 1px solid #A6070C;
  color: #A6070C;
}

.button.clear.secondary, .button.clear.secondary.disabled, .button.clear.secondary[disabled], .button.clear.secondary:hover, .button.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], .button.clear.secondary:focus, .button.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled] {
  border-color: transparent;
}

.button.clear.success {
  border: 1px solid #3adb76;
  color: #3adb76;
}

.button.clear.success:hover, .button.clear.success:focus {
  border-color: #157539;
  color: #157539;
}

.button.clear.success:hover.disabled, .button.clear.success:hover[disabled], .button.clear.success:focus.disabled, .button.clear.success:focus[disabled] {
  border: 1px solid #3adb76;
  color: #3adb76;
}

.button.clear.success, .button.clear.success.disabled, .button.clear.success[disabled], .button.clear.success:hover, .button.clear.success:hover.disabled, .button.clear.success:hover[disabled], .button.clear.success:focus, .button.clear.success:focus.disabled, .button.clear.success:focus[disabled] {
  border-color: transparent;
}

.button.clear.warning {
  border: 1px solid #cc8b00;
  color: #cc8b00;
}

.button.clear.warning:hover, .button.clear.warning:focus {
  border-color: #664600;
  color: #664600;
}

.button.clear.warning:hover.disabled, .button.clear.warning:hover[disabled], .button.clear.warning:focus.disabled, .button.clear.warning:focus[disabled] {
  border: 1px solid #cc8b00;
  color: #cc8b00;
}

.button.clear.warning, .button.clear.warning.disabled, .button.clear.warning[disabled], .button.clear.warning:hover, .button.clear.warning:hover.disabled, .button.clear.warning:hover[disabled], .button.clear.warning:focus, .button.clear.warning:focus.disabled, .button.clear.warning:focus[disabled] {
  border-color: transparent;
}

.button.clear.alert {
  border: 1px solid #cc4b37;
  color: #cc4b37;
}

.button.clear.alert:hover, .button.clear.alert:focus {
  border-color: #67251a;
  color: #67251a;
}

.button.clear.alert:hover.disabled, .button.clear.alert:hover[disabled], .button.clear.alert:focus.disabled, .button.clear.alert:focus[disabled] {
  border: 1px solid #cc4b37;
  color: #cc4b37;
}

.button.clear.alert, .button.clear.alert.disabled, .button.clear.alert[disabled], .button.clear.alert:hover, .button.clear.alert:hover.disabled, .button.clear.alert:hover[disabled], .button.clear.alert:focus, .button.clear.alert:focus.disabled, .button.clear.alert:focus[disabled] {
  border-color: transparent;
}

.button.dropdown::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 0.4em;
  content: '';
  border-bottom-width: 0;
  border-top-style: solid;
  border-color: #fefefe transparent transparent;
  position: relative;
  top: 0.4em;
  display: inline-block;
  float: right;
  margin-left: 1.5em;
}

.button.dropdown.hollow::after, .button.dropdown.clear::after {
  border-top-color: #991B1E;
}

.button.dropdown.hollow.primary::after, .button.dropdown.clear.primary::after {
  border-top-color: #991B1E;
}

.button.dropdown.hollow.secondary::after, .button.dropdown.clear.secondary::after {
  border-top-color: #A6070C;
}

.button.dropdown.hollow.success::after, .button.dropdown.clear.success::after {
  border-top-color: #3adb76;
}

.button.dropdown.hollow.warning::after, .button.dropdown.clear.warning::after {
  border-top-color: #cc8b00;
}

.button.dropdown.hollow.alert::after, .button.dropdown.clear.alert::after {
  border-top-color: #cc4b37;
}

.button.arrow-only::after {
  top: -0.1em;
  float: none;
  margin-left: 0;
}

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

.button-group {
  margin-bottom: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}

.button-group::before, .button-group::after {
  display: table;
  content: ' ';
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.button-group::after {
  clear: both;
}

.button-group .button {
  margin: 0;
  margin-right: 1px;
  margin-bottom: 1px;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}

.button-group .button:last-child {
  margin-right: 0;
}

.button-group.tiny .button {
  font-size: 0.6rem;
}

.button-group.small .button {
  font-size: 0.75rem;
}

.button-group.defaut .button {
  font-size: 14px;
}

.button-group.large .button {
  font-size: 1.25rem;
}

.button-group.expanded .button {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
}

.button-group.primary .button {
  background-color: #991B1E;
  color: #fefefe;
}

.button-group.primary .button:hover, .button-group.primary .button:focus {
  background-color: #7a1618;
  color: #fefefe;
}

.button-group.secondary .button {
  background-color: #A6070C;
  color: #fefefe;
}

.button-group.secondary .button:hover, .button-group.secondary .button:focus {
  background-color: #85060a;
  color: #fefefe;
}

.button-group.success .button {
  background-color: #3adb76;
  color: #0a0a0a;
}

.button-group.success .button:hover, .button-group.success .button:focus {
  background-color: #22bb5b;
  color: #0a0a0a;
}

.button-group.warning .button {
  background-color: #cc8b00;
  color: #0a0a0a;
}

.button-group.warning .button:hover, .button-group.warning .button:focus {
  background-color: #a36f00;
  color: #0a0a0a;
}

.button-group.alert .button {
  background-color: #cc4b37;
  color: #fefefe;
}

.button-group.alert .button:hover, .button-group.alert .button:focus {
  background-color: #a53b2a;
  color: #fefefe;
}

.button-group.stacked, .button-group.stacked-for-small, .button-group.stacked-for-medium {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
}

.button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child {
  margin-bottom: 0;
}

.button-group.stacked.expanded .button, .button-group.stacked-for-small.expanded .button, .button-group.stacked-for-medium.expanded .button {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
}

@media print, screen and (min-width: 48em) {
  .button-group.stacked-for-small .button {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    margin-bottom: 0;
  }
}

@media print, screen and (min-width: 64em) {
  .button-group.stacked-for-medium .button {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    margin-bottom: 0;
  }
}

@media screen and (max-width: 47.99875em) {
  .button-group.stacked-for-small.expanded {
    display: block;
  }
  .button-group.stacked-for-small.expanded .button {
    display: block;
    margin-right: 0;
  }
}

@media screen and (max-width: 63.99875em) {
  .button-group.stacked-for-medium.expanded {
    display: block;
  }
  .button-group.stacked-for-medium.expanded .button {
    display: block;
    margin-right: 0;
  }
}

.close-button {
  position: absolute;
  color: #8a8a8a;
  cursor: pointer;
}

[data-whatinput='mouse'] .close-button {
  outline: 0;
}

.close-button:hover, .close-button:focus {
  color: #0a0a0a;
}

.close-button.small {
  right: 0.66rem;
  top: 0.33em;
  font-size: 1.5em;
  line-height: 1;
}

.close-button, .close-button.medium {
  right: 1rem;
  top: 0.5rem;
  font-size: 2em;
  line-height: 1;
}

.label {
  display: inline-block;
  padding: 0.33333rem 0.5rem;
  border-radius: 0;
  font-size: 0.8rem;
  line-height: 1;
  white-space: nowrap;
  cursor: default;
  background: #991B1E;
  color: #fefefe;
}

.label.primary {
  background: #991B1E;
  color: #fefefe;
}

.label.secondary {
  background: #A6070C;
  color: #fefefe;
}

.label.success {
  background: #3adb76;
  color: #0a0a0a;
}

.label.warning {
  background: #cc8b00;
  color: #0a0a0a;
}

.label.alert {
  background: #cc4b37;
  color: #fefefe;
}

.progress {
  height: 1rem;
  margin-bottom: 1rem;
  border-radius: 0;
  background-color: #cacaca;
}

.progress.primary .progress-meter {
  background-color: #991B1E;
}

.progress.secondary .progress-meter {
  background-color: #A6070C;
}

.progress.success .progress-meter {
  background-color: #3adb76;
}

.progress.warning .progress-meter {
  background-color: #cc8b00;
}

.progress.alert .progress-meter {
  background-color: #cc4b37;
}

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

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

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

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

.slider-fill.is-dragging {
  -webkit-transition: all 0s linear;
  transition: all 0s linear;
}

.slider-handle {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  z-index: 1;
  display: inline-block;
  width: 1.4rem;
  height: 1.4rem;
  border-radius: 0;
  background-color: #991B1E;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
}

[data-whatinput='mouse'] .slider-handle {
  outline: 0;
}

.slider-handle:hover {
  background-color: #82171a;
}

.slider-handle.is-dragging {
  -webkit-transition: all 0s linear;
  transition: all 0s linear;
}

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

.slider.vertical {
  display: inline-block;
  width: 0.5rem;
  height: 12.5rem;
  margin: 0 1.25rem;
  -webkit-transform: scale(1, -1);
          transform: scale(1, -1);
}

.slider.vertical .slider-fill {
  top: 0;
  width: 0.5rem;
  max-height: 100%;
}

.slider.vertical .slider-handle {
  position: absolute;
  top: 0;
  left: 50%;
  width: 1.4rem;
  height: 1.4rem;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

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

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

.switch-paddle {
  position: relative;
  display: block;
  width: 4rem;
  height: 2rem;
  border-radius: 0;
  background: #cacaca;
  -webkit-transition: all 0.25s ease-out;
  transition: all 0.25s ease-out;
  font-weight: inherit;
  color: inherit;
  cursor: pointer;
}

input + .switch-paddle {
  margin: 0;
}

.switch-paddle::after {
  position: absolute;
  top: 0.25rem;
  left: 0.25rem;
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  border-radius: 0;
  background: #fefefe;
  -webkit-transition: all 0.25s ease-out;
  transition: all 0.25s ease-out;
  content: '';
}

input:checked ~ .switch-paddle {
  background: #991B1E;
}

input:checked ~ .switch-paddle::after {
  left: 2.25rem;
}

[data-whatinput='mouse'] input:focus ~ .switch-paddle {
  outline: 0;
}

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

.switch-active {
  left: 8%;
  display: none;
}

input:checked + label > .switch-active {
  display: block;
}

.switch-inactive {
  right: 15%;
}

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

.switch.tiny {
  height: 1.5rem;
}

.switch.tiny .switch-paddle {
  width: 3rem;
  height: 1.5rem;
  font-size: 0.625rem;
}

.switch.tiny .switch-paddle::after {
  top: 0.25rem;
  left: 0.25rem;
  width: 1rem;
  height: 1rem;
}

.switch.tiny input:checked ~ .switch-paddle::after {
  left: 1.75rem;
}

.switch.small {
  height: 1.75rem;
}

.switch.small .switch-paddle {
  width: 3.5rem;
  height: 1.75rem;
  font-size: 0.75rem;
}

.switch.small .switch-paddle::after {
  top: 0.25rem;
  left: 0.25rem;
  width: 1.25rem;
  height: 1.25rem;
}

.switch.small input:checked ~ .switch-paddle::after {
  left: 2rem;
}

.switch.large {
  height: 2.5rem;
}

.switch.large .switch-paddle {
  width: 5rem;
  height: 2.5rem;
  font-size: 1rem;
}

.switch.large .switch-paddle::after {
  top: 0.25rem;
  left: 0.25rem;
  width: 2rem;
  height: 2rem;
}

.switch.large input:checked ~ .switch-paddle::after {
  left: 2.75rem;
}

table {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 1rem;
  border-radius: 0;
}

thead,
tbody,
tfoot {
  border: 1px solid #f1f1f1;
  background-color: #fefefe;
}

caption {
  padding: 0.5rem 0.625rem 0.625rem;
  font-weight: bold;
}

thead {
  background: #f8f8f8;
  color: #0a0a0a;
}

tfoot {
  background: #f1f1f1;
  color: #0a0a0a;
}

thead tr,
tfoot tr {
  background: transparent;
}

thead th,
thead td,
tfoot th,
tfoot td {
  padding: 0.5rem 0.625rem 0.625rem;
  font-weight: bold;
  text-align: left;
}

tbody th,
tbody td {
  padding: 0.5rem 0.625rem 0.625rem;
}

tbody tr:nth-child(even) {
  border-bottom: 0;
  background-color: #f1f1f1;
}

table.unstriped tbody {
  background-color: #fefefe;
}

table.unstriped tbody tr {
  border-bottom: 0;
  border-bottom: 1px solid #f1f1f1;
  background-color: #fefefe;
}

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

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

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

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

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

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

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

.badge {
  display: inline-block;
  min-width: 2.1em;
  padding: 0.3em;
  border-radius: 50%;
  font-size: 0.6rem;
  text-align: center;
  background: #991B1E;
  color: #fefefe;
}

.badge.primary {
  background: #991B1E;
  color: #fefefe;
}

.badge.secondary {
  background: #A6070C;
  color: #fefefe;
}

.badge.success {
  background: #3adb76;
  color: #0a0a0a;
}

.badge.warning {
  background: #cc8b00;
  color: #0a0a0a;
}

.badge.alert {
  background: #cc4b37;
  color: #fefefe;
}

.breadcrumbs {
  margin: 0 0 1rem 0;
  list-style: none;
}

.breadcrumbs::before, .breadcrumbs::after {
  display: table;
  content: ' ';
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.breadcrumbs::after {
  clear: both;
}

.breadcrumbs li {
  float: left;
  font-size: 0.6875rem;
  color: #0a0a0a;
  cursor: default;
  text-transform: uppercase;
}

.breadcrumbs li:not(:last-child)::after {
  position: relative;
  margin: 0 0.75rem;
  opacity: 1;
  content: "/";
  color: #cacaca;
}

.breadcrumbs a {
  color: #991B1E;
}

.breadcrumbs a:hover {
  text-decoration: underline;
}

.breadcrumbs .disabled {
  color: #cacaca;
  cursor: not-allowed;
}

.callout {
  position: relative;
  margin: 0 0 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(10, 10, 10, 0.25);
  border-radius: 0;
  background-color: white;
  color: #0a0a0a;
}

.callout > :first-child {
  margin-top: 0;
}

.callout > :last-child {
  margin-bottom: 0;
}

.callout.primary {
  background-color: #f8d5d6;
  color: #0a0a0a;
}

.callout.secondary {
  background-color: #fdced0;
  color: #0a0a0a;
}

.callout.success {
  background-color: #e1faea;
  color: #0a0a0a;
}

.callout.warning {
  background-color: #fff0d1;
  color: #0a0a0a;
}

.callout.alert {
  background-color: #f7e4e1;
  color: #0a0a0a;
}

.callout.small {
  padding-top: 0.5rem;
  padding-right: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 0.5rem;
}

.callout.large {
  padding-top: 3rem;
  padding-right: 3rem;
  padding-bottom: 3rem;
  padding-left: 3rem;
}

.card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  margin-bottom: 1rem;
  border: 1px solid #e6e6e6;
  border-radius: 0;
  background: #fefefe;
  -webkit-box-shadow: none;
          box-shadow: none;
  overflow: hidden;
  color: #0a0a0a;
}

.card > :last-child {
  margin-bottom: 0;
}

.card-divider {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
  padding: 1rem;
  background: #e6e6e6;
}

.card-divider > :last-child {
  margin-bottom: 0;
}

.card-section {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
  padding: 1rem;
}

.card-section > :last-child {
  margin-bottom: 0;
}

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

.dropdown-pane {
  position: absolute;
  z-index: 10;
  display: none;
  width: 300px;
  padding: 1rem;
  visibility: hidden;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  font-size: 1rem;
}

.dropdown-pane.is-opening {
  display: block;
}

.dropdown-pane.is-open {
  display: block;
  visibility: visible;
}

.dropdown-pane.tiny {
  width: 100px;
}

.dropdown-pane.small {
  width: 200px;
}

.dropdown-pane.large {
  width: 400px;
}

.pagination {
  margin-left: 0;
  margin-bottom: 1rem;
}

.pagination::before, .pagination::after {
  display: table;
  content: ' ';
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.pagination::after {
  clear: both;
}

.pagination li {
  margin-right: 0.0625rem;
  border-radius: 0;
  font-size: 0.875rem;
  display: none;
}

.pagination li:last-child, .pagination li:first-child {
  display: inline-block;
}

@media print, screen and (min-width: 48em) {
  .pagination li {
    display: inline-block;
  }
}

.pagination a,
.pagination button {
  display: block;
  padding: 0.1875rem 0.625rem;
  border-radius: 0;
  color: #0a0a0a;
}

.pagination a:hover,
.pagination button:hover {
  background: #e6e6e6;
}

.pagination .current {
  padding: 0.1875rem 0.625rem;
  background: #991B1E;
  color: #fefefe;
  cursor: default;
}

.pagination .disabled {
  padding: 0.1875rem 0.625rem;
  color: #cacaca;
  cursor: not-allowed;
}

.pagination .disabled:hover {
  background: transparent;
}

.pagination .ellipsis::after {
  padding: 0.1875rem 0.625rem;
  content: '\2026';
  color: #0a0a0a;
}

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

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

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

.tooltip {
  position: absolute;
  top: calc(100% + 0.6495rem);
  z-index: 1200;
  max-width: 10rem;
  padding: 0.75rem;
  border-radius: 0;
  background-color: #0a0a0a;
  font-size: 80%;
  color: #fefefe;
}

.tooltip::before {
  position: absolute;
}

.tooltip.bottom::before {
  display: block;
  width: 0;
  height: 0;
  border: inset 0.75rem;
  content: '';
  border-top-width: 0;
  border-bottom-style: solid;
  border-color: transparent transparent #0a0a0a;
  bottom: 100%;
}

.tooltip.bottom.align-center::before {
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.tooltip.top::before {
  display: block;
  width: 0;
  height: 0;
  border: inset 0.75rem;
  content: '';
  border-bottom-width: 0;
  border-top-style: solid;
  border-color: #0a0a0a transparent transparent;
  top: 100%;
  bottom: auto;
}

.tooltip.top.align-center::before {
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.tooltip.left::before {
  display: block;
  width: 0;
  height: 0;
  border: inset 0.75rem;
  content: '';
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #0a0a0a;
  left: 100%;
}

.tooltip.left.align-center::before {
  bottom: auto;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.tooltip.right::before {
  display: block;
  width: 0;
  height: 0;
  border: inset 0.75rem;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #0a0a0a transparent transparent;
  right: 100%;
  left: auto;
}

.tooltip.right.align-center::before {
  bottom: auto;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.tooltip.align-top::before {
  bottom: auto;
  top: 10%;
}

.tooltip.align-bottom::before {
  bottom: 10%;
  top: auto;
}

.tooltip.align-left::before {
  left: 10%;
  right: auto;
}

.tooltip.align-right::before {
  left: auto;
  right: 10%;
}

.accordion {
  margin-left: 0;
  background: #fefefe;
  list-style-type: none;
}

.accordion[disabled] .accordion-title {
  cursor: not-allowed;
}

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

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

.accordion-title {
  position: relative;
  display: block;
  padding: 1.25rem 1rem;
  border: 1px solid #e6e6e6;
  border-bottom: 0;
  font-size: 0.75rem;
  line-height: 1;
  color: #991B1E;
}

:last-child:not(.is-active) > .accordion-title {
  border-bottom: 1px solid #e6e6e6;
  border-radius: 0 0 0 0;
}

.accordion-title:hover, .accordion-title:focus {
  background-color: #e6e6e6;
}

.accordion-title::before {
  position: absolute;
  top: 50%;
  right: 1rem;
  margin-top: -0.5rem;
  content: '+';
}

.is-active > .accordion-title::before {
  content: '\2013';
}

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

:last-child > .accordion-content:last-child {
  border-bottom: 1px solid #e6e6e6;
}

.media-object {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 1rem;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}

.media-object img {
  max-width: none;
}

@media screen and (max-width: 47.99875em) {
  .media-object.stack-for-small {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

.media-object-section {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
}

.media-object-section:first-child {
  padding-right: 1rem;
}

.media-object-section:last-child:not(:nth-child(2)) {
  padding-left: 1rem;
}

.media-object-section > :last-child {
  margin-bottom: 0;
}

@media screen and (max-width: 47.99875em) {
  .stack-for-small .media-object-section {
    padding: 0;
    padding-bottom: 1rem;
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    max-width: 100%;
  }
  .stack-for-small .media-object-section img {
    width: 100%;
  }
}

.media-object-section.main-section {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
}

.orbit {
  position: relative;
}

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

.orbit-slide {
  width: 100%;
  position: absolute;
}

.orbit-slide.no-motionui.is-active {
  top: 0;
  left: 0;
}

.orbit-figure {
  margin: 0;
}

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

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

.orbit-previous, .orbit-next {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 10;
  padding: 1rem;
  color: #fefefe;
}

[data-whatinput='mouse'] .orbit-previous, [data-whatinput='mouse'] .orbit-next {
  outline: 0;
}

.orbit-previous:hover, .orbit-next:hover, .orbit-previous:active, .orbit-next:active, .orbit-previous:focus, .orbit-next:focus {
  background-color: rgba(10, 10, 10, 0.5);
}

.orbit-previous {
  left: 0;
}

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

.orbit-bullets {
  position: relative;
  margin-top: 0.8rem;
  margin-bottom: 0.8rem;
  text-align: center;
}

[data-whatinput='mouse'] .orbit-bullets {
  outline: 0;
}

.orbit-bullets button {
  width: 1.2rem;
  height: 1.2rem;
  margin: 0.1rem;
  border-radius: 50%;
  background-color: #cacaca;
}

.orbit-bullets button:hover {
  background-color: #8a8a8a;
}

.orbit-bullets button.is-active {
  background-color: #8a8a8a;
}

.responsive-embed,
.flex-video {
  position: relative;
  height: 0;
  margin-bottom: 1rem;
  padding-bottom: 75%;
  overflow: hidden;
}

.responsive-embed iframe,
.responsive-embed object,
.responsive-embed embed,
.responsive-embed video,
.flex-video iframe,
.flex-video object,
.flex-video embed,
.flex-video video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.responsive-embed.widescreen,
.flex-video.widescreen {
  padding-bottom: 56.25%;
}

.tabs {
  margin: 0;
  border: 1px solid #e6e6e6;
  background: #fefefe;
  list-style-type: none;
}

.tabs::before, .tabs::after {
  display: table;
  content: ' ';
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.tabs::after {
  clear: both;
}

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

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

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

.tabs.primary {
  background: #991B1E;
}

.tabs.primary > li > a {
  color: #fefefe;
}

.tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
  background: #a71d21;
}

.tabs-title {
  float: left;
}

.tabs-title > a {
  display: block;
  padding: 1.25rem 1.5rem;
  font-size: 0.75rem;
  line-height: 1;
  color: #991B1E;
}

[data-whatinput='mouse'] .tabs-title > a {
  outline: 0;
}

.tabs-title > a:hover {
  background: #fefefe;
  color: #84171a;
}

.tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {
  background: #e6e6e6;
  color: #991B1E;
}

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

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

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

.tabs-panel.is-active {
  display: block;
}

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

a.thumbnail {
  -webkit-transition: -webkit-box-shadow 200ms ease-out;
  transition: -webkit-box-shadow 200ms ease-out;
  transition: box-shadow 200ms ease-out;
  transition: box-shadow 200ms ease-out, -webkit-box-shadow 200ms ease-out;
}

a.thumbnail:hover, a.thumbnail:focus {
  -webkit-box-shadow: 0 0 6px 1px rgba(153, 27, 30, 0.5);
          box-shadow: 0 0 6px 1px rgba(153, 27, 30, 0.5);
}

a.thumbnail image {
  -webkit-box-shadow: none;
          box-shadow: none;
}

.menu {
  padding: 0;
  margin: 0;
  list-style: none;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

[data-whatinput='mouse'] .menu li {
  outline: 0;
}

.menu a,
.menu .button {
  line-height: 1;
  text-decoration: none;
  display: block;
  padding: 0.7rem 1rem;
}

.menu input,
.menu select,
.menu a,
.menu button {
  margin-bottom: 0;
}

.menu input {
  display: inline-block;
}

.menu, .menu.horizontal {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}

.menu.vertical {
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.menu.expanded li {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
}

.menu.simple {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.menu.simple li + li {
  margin-left: 1rem;
}

.menu.simple a {
  padding: 0;
}

@media print, screen and (min-width: 48em) {
  .menu.medium-horizontal {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .menu.medium-vertical {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .menu.medium-expanded li {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
  .menu.medium-simple li {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
}

@media print, screen and (min-width: 64em) {
  .menu.large-horizontal {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .menu.large-vertical {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .menu.large-expanded li {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
  .menu.large-simple li {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
}

@media screen and (min-width: 100em) {
  .menu.xlarge-horizontal {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .menu.xlarge-vertical {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .menu.xlarge-expanded li {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
  .menu.xlarge-simple li {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
}

@media screen and (min-width: 120.0625em) {
  .menu.xxlarge-horizontal {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .menu.xxlarge-vertical {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .menu.xxlarge-expanded li {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
  .menu.xxlarge-simple li {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
}

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

.menu.icons a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.menu.icon-top a, .menu.icon-right a, .menu.icon-bottom a, .menu.icon-left a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.menu.icon-left li a {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
}

.menu.icon-left li a img,
.menu.icon-left li a i,
.menu.icon-left li a svg {
  margin-right: 0.25rem;
}

.menu.icon-right li a {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
}

.menu.icon-right li a img,
.menu.icon-right li a i,
.menu.icon-right li a svg {
  margin-left: 0.25rem;
}

.menu.icon-top li a {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap;
}

.menu.icon-top li a img,
.menu.icon-top li a i,
.menu.icon-top li a svg {
  -ms-flex-item-align: stretch;
      align-self: stretch;
  margin-bottom: 0.25rem;
  text-align: center;
}

.menu.icon-bottom li a {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap;
}

.menu.icon-bottom li a img,
.menu.icon-bottom li a i,
.menu.icon-bottom li a svg {
  -ms-flex-item-align: stretch;
      align-self: stretch;
  margin-bottom: 0.25rem;
  text-align: center;
}

.menu .is-active > a {
  background: #991B1E;
  color: #fefefe;
}

.menu .active > a {
  background: #991B1E;
  color: #fefefe;
}

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

.menu.align-right li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.menu.align-right li .submenu li {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.menu.align-right.vertical li {
  display: block;
  text-align: right;
}

.menu.align-right.vertical li .submenu li {
  text-align: right;
}

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

.menu.align-center li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.menu.align-center li .submenu li {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.menu .menu-text {
  padding: 0.7rem 1rem;
  font-weight: bold;
  line-height: 1;
  color: inherit;
}

.menu-centered > .menu {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.menu-centered > .menu li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.menu-centered > .menu li .submenu li {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.no-js [data-responsive-menu] ul {
  display: none;
}

.menu-icon {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 16px;
  cursor: pointer;
}

.menu-icon::after {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 2px;
  background: #fefefe;
  -webkit-box-shadow: 0 7px 0 #fefefe, 0 14px 0 #fefefe;
          box-shadow: 0 7px 0 #fefefe, 0 14px 0 #fefefe;
  content: '';
}

.menu-icon:hover::after {
  background: #cacaca;
  -webkit-box-shadow: 0 7px 0 #cacaca, 0 14px 0 #cacaca;
          box-shadow: 0 7px 0 #cacaca, 0 14px 0 #cacaca;
}

.menu-icon.dark {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 16px;
  cursor: pointer;
}

.menu-icon.dark::after {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 2px;
  background: #0a0a0a;
  -webkit-box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a;
          box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a;
  content: '';
}

.menu-icon.dark:hover::after {
  background: #8a8a8a;
  -webkit-box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a;
          box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a;
}

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

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

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

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

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

.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a {
  position: relative;
}

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

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

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

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

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

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

.submenu-toggle {
  position: absolute;
  top: 0;
  right: 0;
  width: 40px;
  height: 40px;
  cursor: pointer;
}

.submenu-toggle::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-bottom-width: 0;
  border-top-style: solid;
  border-color: #991B1E transparent transparent;
  top: 0;
  bottom: 0;
  margin: auto;
}

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

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

.is-drilldown {
  position: relative;
  overflow: hidden;
}

.is-drilldown li {
  display: block;
}

.is-drilldown.animate-height {
  -webkit-transition: height 0.5s;
  transition: height 0.5s;
}

.drilldown a {
  padding: 0.7rem 1rem;
  background: #fefefe;
}

.drilldown .is-drilldown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: -1;
  width: 100%;
  background: #fefefe;
  -webkit-transition: -webkit-transform 0.15s linear;
  transition: -webkit-transform 0.15s linear;
  transition: transform 0.15s linear;
  transition: transform 0.15s linear, -webkit-transform 0.15s linear;
}

.drilldown .is-drilldown-submenu.is-active {
  z-index: 1;
  display: block;
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
}

.drilldown .is-drilldown-submenu.is-closing {
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
}

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

.drilldown .nested.is-drilldown-submenu {
  margin-right: 0;
  margin-left: 0;
}

.drilldown .drilldown-submenu-cover-previous {
  min-height: 100%;
}

.drilldown .is-drilldown-submenu-parent > a {
  position: relative;
}

.drilldown .is-drilldown-submenu-parent > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #991B1E;
  position: absolute;
  top: 50%;
  margin-top: -6px;
  right: 1rem;
}

.drilldown.align-left .is-drilldown-submenu-parent > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #991B1E;
  right: 1rem;
  left: auto;
}

.drilldown.align-right .is-drilldown-submenu-parent > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #991B1E transparent transparent;
  right: auto;
  left: 1rem;
}

.drilldown .js-drilldown-back > a::before {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #991B1E transparent transparent;
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.75rem;
}

.dropdown.menu > li.opens-left > .is-dropdown-submenu {
  top: 100%;
  right: 0;
  left: auto;
}

.dropdown.menu > li.opens-right > .is-dropdown-submenu {
  top: 100%;
  right: auto;
  left: 0;
}

.dropdown.menu > li.is-dropdown-submenu-parent > a {
  position: relative;
  padding-right: 1.5rem;
}

.dropdown.menu > li.is-dropdown-submenu-parent > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-bottom-width: 0;
  border-top-style: solid;
  border-color: #991B1E transparent transparent;
  right: 5px;
  left: auto;
  margin-top: -3px;
}

[data-whatinput='mouse'] .dropdown.menu a {
  outline: 0;
}

.dropdown.menu > li > a {
  padding: 0.7rem 1rem;
}

.dropdown.menu > li.is-active > a {
  background: transparent;
  color: #991B1E;
}

.no-js .dropdown.menu ul {
  display: none;
}

.dropdown.menu .nested.is-dropdown-submenu {
  margin-right: 0;
  margin-left: 0;
}

.dropdown.menu.vertical > li .is-dropdown-submenu {
  top: 0;
}

.dropdown.menu.vertical > li.opens-left > .is-dropdown-submenu {
  top: 0;
  right: 100%;
  left: auto;
}

.dropdown.menu.vertical > li.opens-right > .is-dropdown-submenu {
  right: auto;
  left: 100%;
}

.dropdown.menu.vertical > li > a::after {
  right: 14px;
}

.dropdown.menu.vertical > li.opens-left > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #991B1E transparent transparent;
  right: auto;
  left: 5px;
}

.dropdown.menu.vertical > li.opens-right > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #991B1E;
}

@media print, screen and (min-width: 48em) {
  .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto;
  }
  .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0;
  }
  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem;
  }
  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #991B1E transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px;
  }
  .dropdown.menu.medium-vertical > li .is-dropdown-submenu {
    top: 0;
  }
  .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu {
    top: 0;
    right: 100%;
    left: auto;
  }
  .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%;
  }
  .dropdown.menu.medium-vertical > li > a::after {
    right: 14px;
  }
  .dropdown.menu.medium-vertical > li.opens-left > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #991B1E transparent transparent;
    right: auto;
    left: 5px;
  }
  .dropdown.menu.medium-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #991B1E;
  }
}

@media print, screen and (min-width: 64em) {
  .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto;
  }
  .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0;
  }
  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem;
  }
  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #991B1E transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px;
  }
  .dropdown.menu.large-vertical > li .is-dropdown-submenu {
    top: 0;
  }
  .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu {
    top: 0;
    right: 100%;
    left: auto;
  }
  .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%;
  }
  .dropdown.menu.large-vertical > li > a::after {
    right: 14px;
  }
  .dropdown.menu.large-vertical > li.opens-left > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #991B1E transparent transparent;
    right: auto;
    left: 5px;
  }
  .dropdown.menu.large-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #991B1E;
  }
}

@media screen and (min-width: 100em) {
  .dropdown.menu.xlarge-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto;
  }
  .dropdown.menu.xlarge-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0;
  }
  .dropdown.menu.xlarge-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem;
  }
  .dropdown.menu.xlarge-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #991B1E transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px;
  }
  .dropdown.menu.xlarge-vertical > li .is-dropdown-submenu {
    top: 0;
  }
  .dropdown.menu.xlarge-vertical > li.opens-left > .is-dropdown-submenu {
    top: 0;
    right: 100%;
    left: auto;
  }
  .dropdown.menu.xlarge-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%;
  }
  .dropdown.menu.xlarge-vertical > li > a::after {
    right: 14px;
  }
  .dropdown.menu.xlarge-vertical > li.opens-left > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #991B1E transparent transparent;
    right: auto;
    left: 5px;
  }
  .dropdown.menu.xlarge-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #991B1E;
  }
}

@media screen and (min-width: 120.0625em) {
  .dropdown.menu.xxlarge-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto;
  }
  .dropdown.menu.xxlarge-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0;
  }
  .dropdown.menu.xxlarge-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem;
  }
  .dropdown.menu.xxlarge-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #991B1E transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px;
  }
  .dropdown.menu.xxlarge-vertical > li .is-dropdown-submenu {
    top: 0;
  }
  .dropdown.menu.xxlarge-vertical > li.opens-left > .is-dropdown-submenu {
    top: 0;
    right: 100%;
    left: auto;
  }
  .dropdown.menu.xxlarge-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%;
  }
  .dropdown.menu.xxlarge-vertical > li > a::after {
    right: 14px;
  }
  .dropdown.menu.xxlarge-vertical > li.opens-left > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #991B1E transparent transparent;
    right: auto;
    left: 5px;
  }
  .dropdown.menu.xxlarge-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #991B1E;
  }
}

.dropdown.menu.align-right .is-dropdown-submenu.first-sub {
  top: 100%;
  right: 0;
  left: auto;
}

.is-dropdown-menu.vertical {
  width: 100px;
}

.is-dropdown-menu.vertical.align-right {
  float: right;
}

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

.is-dropdown-submenu-parent a::after {
  position: absolute;
  top: 50%;
  right: 5px;
  left: auto;
  margin-top: -6px;
}

.is-dropdown-submenu-parent.opens-inner > .is-dropdown-submenu {
  top: 100%;
  left: auto;
}

.is-dropdown-submenu-parent.opens-left > .is-dropdown-submenu {
  right: 100%;
  left: auto;
}

.is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu {
  right: auto;
  left: 100%;
}

.is-dropdown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: 1;
  display: none;
  min-width: 200px;
  border: 1px solid #cacaca;
  background: #fefefe;
}

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

.is-dropdown-submenu .is-dropdown-submenu-parent > a::after {
  right: 14px;
}

.is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #991B1E transparent transparent;
  right: auto;
  left: 5px;
}

.is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #991B1E;
}

.is-dropdown-submenu .is-dropdown-submenu {
  margin-top: -1px;
}

.is-dropdown-submenu > li {
  width: 100%;
}

.is-dropdown-submenu.js-dropdown-active {
  display: block;
}

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

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

.js-off-canvas-overlay.is-visible {
  opacity: 1;
  visibility: visible;
}

.js-off-canvas-overlay.is-closable {
  cursor: pointer;
}

.js-off-canvas-overlay.is-overlay-absolute {
  position: absolute;
}

.js-off-canvas-overlay.is-overlay-fixed {
  position: fixed;
}

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

.off-canvas {
  position: fixed;
  z-index: 12;
  -webkit-transition: -webkit-transform 0.5s ease;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: #e6e6e6;
}

[data-whatinput='mouse'] .off-canvas {
  outline: 0;
}

.off-canvas.is-transition-push {
  z-index: 12;
}

.off-canvas.is-closed {
  visibility: hidden;
}

.off-canvas.is-transition-overlap {
  z-index: 13;
}

.off-canvas.is-transition-overlap.is-open {
  -webkit-box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);
          box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);
}

.off-canvas.is-open {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.off-canvas-absolute {
  position: absolute;
  z-index: 12;
  -webkit-transition: -webkit-transform 0.5s ease;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: #e6e6e6;
}

[data-whatinput='mouse'] .off-canvas-absolute {
  outline: 0;
}

.off-canvas-absolute.is-transition-push {
  z-index: 12;
}

.off-canvas-absolute.is-closed {
  visibility: hidden;
}

.off-canvas-absolute.is-transition-overlap {
  z-index: 13;
}

.off-canvas-absolute.is-transition-overlap.is-open {
  -webkit-box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);
          box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);
}

.off-canvas-absolute.is-open {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.position-left {
  top: 0;
  left: 0;
  height: 100%;
  overflow-y: auto;
  width: 250px;
  -webkit-transform: translateX(-250px);
          transform: translateX(-250px);
}

.off-canvas-content .off-canvas.position-left {
  -webkit-transform: translateX(-250px);
          transform: translateX(-250px);
}

.off-canvas-content .off-canvas.position-left.is-transition-overlap.is-open {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.off-canvas-content.is-open-left.has-transition-push {
  -webkit-transform: translateX(250px);
          transform: translateX(250px);
}

.position-left.is-transition-push {
  -webkit-box-shadow: inset -13px 0 20px -13px rgba(10, 10, 10, 0.25);
          box-shadow: inset -13px 0 20px -13px rgba(10, 10, 10, 0.25);
}

.position-right {
  top: 0;
  right: 0;
  height: 100%;
  overflow-y: auto;
  width: 250px;
  -webkit-transform: translateX(250px);
          transform: translateX(250px);
}

.off-canvas-content .off-canvas.position-right {
  -webkit-transform: translateX(250px);
          transform: translateX(250px);
}

.off-canvas-content .off-canvas.position-right.is-transition-overlap.is-open {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.off-canvas-content.is-open-right.has-transition-push {
  -webkit-transform: translateX(-250px);
          transform: translateX(-250px);
}

.position-right.is-transition-push {
  -webkit-box-shadow: inset 13px 0 20px -13px rgba(10, 10, 10, 0.25);
          box-shadow: inset 13px 0 20px -13px rgba(10, 10, 10, 0.25);
}

.position-top {
  top: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  height: 250px;
  -webkit-transform: translateY(-250px);
          transform: translateY(-250px);
}

.off-canvas-content .off-canvas.position-top {
  -webkit-transform: translateY(-250px);
          transform: translateY(-250px);
}

.off-canvas-content .off-canvas.position-top.is-transition-overlap.is-open {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.off-canvas-content.is-open-top.has-transition-push {
  -webkit-transform: translateY(250px);
          transform: translateY(250px);
}

.position-top.is-transition-push {
  -webkit-box-shadow: inset 0 -13px 20px -13px rgba(10, 10, 10, 0.25);
          box-shadow: inset 0 -13px 20px -13px rgba(10, 10, 10, 0.25);
}

.position-bottom {
  bottom: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  height: 250px;
  -webkit-transform: translateY(250px);
          transform: translateY(250px);
}

.off-canvas-content .off-canvas.position-bottom {
  -webkit-transform: translateY(250px);
          transform: translateY(250px);
}

.off-canvas-content .off-canvas.position-bottom.is-transition-overlap.is-open {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.off-canvas-content.is-open-bottom.has-transition-push {
  -webkit-transform: translateY(-250px);
          transform: translateY(-250px);
}

.position-bottom.is-transition-push {
  -webkit-box-shadow: inset 0 13px 20px -13px rgba(10, 10, 10, 0.25);
          box-shadow: inset 0 13px 20px -13px rgba(10, 10, 10, 0.25);
}

.off-canvas-content {
  -webkit-transform: none;
          transform: none;
  -webkit-transition: -webkit-transform 0.5s ease;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.off-canvas-content.has-transition-push {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.off-canvas-content .off-canvas.is-open {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

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

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

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

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

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

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

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

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

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

html.is-reveal-open.zf-has-scroll {
  overflow-y: scroll;
}

html.is-reveal-open body {
  overflow-y: hidden;
}

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

.reveal {
  z-index: 1006;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  display: none;
  padding: 1rem;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  position: relative;
  top: 100px;
  margin-right: auto;
  margin-left: auto;
  overflow-y: auto;
}

[data-whatinput='mouse'] .reveal {
  outline: 0;
}

@media print, screen and (min-width: 48em) {
  .reveal {
    min-height: 0;
  }
}

.reveal .column {
  min-width: 0;
}

.reveal > :last-child {
  margin-bottom: 0;
}

@media print, screen and (min-width: 48em) {
  .reveal {
    width: 600px;
    max-width: 75rem;
  }
}

.reveal.collapse {
  padding: 0;
}

@media print, screen and (min-width: 48em) {
  .reveal.tiny {
    width: 30%;
    max-width: 75rem;
  }
}

@media print, screen and (min-width: 48em) {
  .reveal.small {
    width: 50%;
    max-width: 75rem;
  }
}

@media print, screen and (min-width: 48em) {
  .reveal.large {
    width: 90%;
    max-width: 75rem;
  }
}

.reveal.full {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  max-width: none;
  height: 100%;
  min-height: 100%;
  margin-left: 0;
  border: 0;
  border-radius: 0;
}

@media screen and (max-width: 47.99875em) {
  .reveal {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    min-height: 100%;
    margin-left: 0;
    border: 0;
    border-radius: 0;
  }
}

.reveal.without-overlay {
  position: fixed;
}

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

.title-bar {
  padding: 0.5rem;
  background: #0a0a0a;
  color: #fefefe;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.title-bar .menu-icon {
  margin-left: 0.25rem;
  margin-right: 0.25rem;
}

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

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

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

.top-bar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0.5rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.top-bar,
.top-bar ul {
  background-color: #e6e6e6;
}

.top-bar input {
  max-width: 200px;
  margin-right: 1rem;
}

.top-bar .input-group-field {
  width: 100%;
  margin-right: 0;
}

.top-bar input.button {
  width: auto;
}

.top-bar .top-bar-left,
.top-bar .top-bar-right {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  max-width: 100%;
}

@media print, screen and (min-width: 48em) {
  .top-bar {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
  .top-bar .top-bar-left {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    margin-right: auto;
  }
  .top-bar .top-bar-right {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
    margin-left: auto;
  }
}

@media screen and (max-width: 63.99875em) {
  .top-bar.stacked-for-medium {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .top-bar.stacked-for-medium .top-bar-left,
  .top-bar.stacked-for-medium .top-bar-right {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%;
  }
}

@media screen and (max-width: 99.99875em) {
  .top-bar.stacked-for-large {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .top-bar.stacked-for-large .top-bar-left,
  .top-bar.stacked-for-large .top-bar-right {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%;
  }
}

@media screen and (max-width: 120.06125em) {
  .top-bar.stacked-for-xlarge {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .top-bar.stacked-for-xlarge .top-bar-left,
  .top-bar.stacked-for-xlarge .top-bar-right {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%;
  }
}

.top-bar.stacked-for-xxlarge {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.top-bar.stacked-for-xxlarge .top-bar-left,
.top-bar.stacked-for-xxlarge .top-bar-right {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  max-width: 100%;
}

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

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

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

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

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

.clearfix::before, .clearfix::after {
  display: table;
  content: ' ';
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.clearfix::after {
  clear: both;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.small-order-1 {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.small-order-2 {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}

.small-order-3 {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
}

.small-order-4 {
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4;
}

.small-order-5 {
  -webkit-box-ordinal-group: 6;
      -ms-flex-order: 5;
          order: 5;
}

.small-order-6 {
  -webkit-box-ordinal-group: 7;
      -ms-flex-order: 6;
          order: 6;
}

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

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

@media screen and (min-width: 100em) {
  .xlarge-order-1 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .xlarge-order-2 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .xlarge-order-3 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .xlarge-order-4 {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
  .xlarge-order-5 {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
  }
  .xlarge-order-6 {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6;
  }
}

@media screen and (min-width: 120.0625em) {
  .xxlarge-order-1 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .xxlarge-order-2 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .xxlarge-order-3 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .xxlarge-order-4 {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
  .xxlarge-order-5 {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
  }
  .xxlarge-order-6 {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6;
  }
}

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

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

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

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

.flex-dir-row {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}

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

.flex-dir-column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

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

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

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

@media screen and (min-width: 100em) {
  .xlarge-flex-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .xlarge-flex-child-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
  }
  .xlarge-flex-child-grow {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto;
  }
  .xlarge-flex-child-shrink {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
  }
  .xlarge-flex-dir-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .xlarge-flex-dir-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .xlarge-flex-dir-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .xlarge-flex-dir-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}

@media screen and (min-width: 120.0625em) {
  .xxlarge-flex-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .xxlarge-flex-child-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
  }
  .xxlarge-flex-child-grow {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto;
  }
  .xxlarge-flex-child-shrink {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
  }
  .xxlarge-flex-dir-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .xxlarge-flex-dir-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .xxlarge-flex-dir-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .xxlarge-flex-dir-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}

.hide {
  display: none !important;
}

.invisible {
  visibility: hidden;
}

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

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

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

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

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

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

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

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

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

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

@media screen and (min-width: 100em) {
  .hide-for-xlarge {
    display: none !important;
  }
}

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

@media screen and (min-width: 100em) and (max-width: 120.06125em) {
  .hide-for-xlarge-only {
    display: none !important;
  }
}

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

@media screen and (min-width: 120.0625em) {
  .hide-for-xxlarge {
    display: none !important;
  }
}

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

@media screen and (min-width: 120.0625em) {
  .hide-for-xxlarge-only {
    display: none !important;
  }
}

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

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

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

.show-for-landscape,
.hide-for-portrait {
  display: block !important;
}

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

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

.hide-for-landscape,
.show-for-portrait {
  display: none !important;
}

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

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

.text-hide {
  font: 0/0 a !important;
  color: transparent !important;
  text-shadow: none !important;
  background-color: transparent !important;
  border: 0 !important;
}

.text-truncate {
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis;
  white-space: nowrap !important;
}

.text-nowrap {
  white-space: nowrap !important;
}

.text-wrap {
  word-wrap: break-word !important;
}

.text-lowercase {
  text-transform: lowercase !important;
}

.text-uppercase {
  text-transform: uppercase !important;
}

.text-capitalize {
  text-transform: capitalize !important;
}

.text-overline {
  text-decoration: overline !important;
}

.text-underline {
  text-decoration: underline !important;
}

.text-line-through {
  text-decoration: line-through !important;
}

.font-wide {
  letter-spacing: 0.25rem;
}

.font-normal {
  font-weight: normal;
}

.font-bold {
  font-weight: bold;
}

.font-italic {
  font-style: italic !important;
}

ul.list-disc {
  list-style-type: disc !important;
}

ul.list-circle {
  list-style-type: circle !important;
}

ul.list-square {
  list-style-type: square !important;
}

ol.list-decimal {
  list-style-type: decimal !important;
}

ol.list-lower-alpha {
  list-style-type: lower-alpha !important;
}

ol.list-lower-latin {
  list-style-type: lower-latin !important;
}

ol.list-lower-roman {
  list-style-type: lower-roman !important;
}

ol.list-upper-alpha {
  list-style-type: upper-alpha !important;
}

ol.list-upper-latin {
  list-style-type: upper-latin !important;
}

ol.list-upper-roman {
  list-style-type: upper-roman !important;
}

.rounded {
  border-radius: 5000px !important;
}

.rounded:after {
  border-radius: 50%;
}

.radius {
  border-radius: 0.1875rem;
}

.bordered {
  border: 0.0625rem solid #cacaca;
}

.shadow {
  -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
          box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
}

.arrow-down {
  display: block;
  width: 0;
  height: 0;
  border: inset 0.4375rem;
  content: '';
  border-bottom-width: 0;
  border-top-style: solid;
  border-color: #0a0a0a transparent transparent;
}

.arrow-up {
  display: block;
  width: 0;
  height: 0;
  border: inset 0.4375rem;
  content: '';
  border-top-width: 0;
  border-bottom-style: solid;
  border-color: transparent transparent #0a0a0a;
}

.arrow-right {
  display: block;
  width: 0;
  height: 0;
  border: inset 0.4375rem;
  content: '';
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #0a0a0a;
}

.arrow-left {
  display: block;
  width: 0;
  height: 0;
  border: inset 0.4375rem;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #0a0a0a transparent transparent;
}

.separator-center {
  text-align: center !important;
}

.separator-center::before, .separator-center::after {
  display: table;
  content: ' ';
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.separator-center::after {
  clear: both;
}

.separator-center::after {
  position: relative !important;
  width: 3rem;
  border-bottom: 0.125rem solid #991B1E;
  margin: 1rem auto 0;
}

.separator-left {
  text-align: left !important;
}

.separator-left::before, .separator-left::after {
  display: table;
  content: ' ';
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.separator-left::after {
  clear: both;
}

.separator-left::after {
  position: relative !important;
  width: 3rem;
  border-bottom: 0.125rem solid #991B1E;
  margin: 1rem auto 0;
  margin-left: 0 !important;
}

.separator-right {
  text-align: right !important;
}

.separator-right::before, .separator-right::after {
  display: table;
  content: ' ';
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.separator-right::after {
  clear: both;
}

.separator-right::after {
  position: relative !important;
  width: 3rem;
  border-bottom: 0.125rem solid #991B1E;
  margin: 1rem auto 0;
  margin-right: 0 !important;
}

.overflow-visible {
  overflow: visible !important;
}

.overflow-x-visible {
  overflow-x: visible !important;
}

.overflow-y-visible {
  overflow-y: visible !important;
}

.overflow-hidden {
  overflow: hidden !important;
}

.overflow-x-hidden {
  overflow-x: hidden !important;
}

.overflow-y-hidden {
  overflow-y: hidden !important;
}

.overflow-scroll {
  overflow: scroll !important;
}

.overflow-x-scroll {
  overflow-x: scroll !important;
}

.overflow-y-scroll {
  overflow-y: scroll !important;
}

.display-inline {
  display: inline !important;
}

.display-inline-block {
  display: inline-block !important;
}

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

.display-table {
  display: table !important;
}

.display-table-cell {
  display: table-cell !important;
}

.position-static {
  position: static !important;
}

.position-relative {
  position: relative !important;
}

.position-absolute {
  position: absolute !important;
}

.position-fixed {
  position: fixed !important;
}

.position-fixed-top {
  position: fixed !important;
  top: 0rem !important;
  right: 0rem !important;
  left: 0rem !important;
  z-index: 975;
}

.position-fixed-bottom {
  position: fixed !important;
  right: 0rem !important;
  bottom: 0rem !important;
  left: 0rem !important;
  z-index: 975;
}

.border-box {
  -webkit-box-sizing: border-box !important;
          box-sizing: border-box !important;
}

.border-none {
  border: none !important;
}

.width-25 {
  width: 25% !important;
}

.width-50 {
  width: 50% !important;
}

.width-75 {
  width: 75% !important;
}

.width-100 {
  width: 100% !important;
}

.height-25 {
  height: 25% !important;
}

.height-50 {
  height: 50% !important;
}

.height-75 {
  height: 75% !important;
}

.height-100 {
  height: 100% !important;
}

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

.max-height-100 {
  max-height: 100% !important;
}

.margin-0 {
  margin: 0rem;
}

.margin-top-0 {
  margin-top: 0rem !important;
}

.margin-right-0 {
  margin-right: 0rem !important;
}

.margin-bottom-0 {
  margin-bottom: 0rem !important;
}

.margin-left-0 {
  margin-left: 0rem !important;
}

.margin-horizontal-0 {
  margin-right: 0rem !important;
  margin-left: 0rem !important;
}

.margin-vertical-0 {
  margin-top: 0rem !important;
  margin-bottom: 0rem !important;
}

.padding-0 {
  padding: 0rem;
}

.padding-top-0 {
  padding-top: 0rem !important;
}

.padding-right-0 {
  padding-right: 0rem !important;
}

.padding-bottom-0 {
  padding-bottom: 0rem !important;
}

.padding-left-0 {
  padding-left: 0rem !important;
}

.padding-horizontal-0 {
  padding-right: 0rem !important;
  padding-left: 0rem !important;
}

.padding-vertical-0 {
  padding-top: 0rem !important;
  padding-bottom: 0rem !important;
}

.margin-1 {
  margin: 1rem;
}

.margin-top-1 {
  margin-top: 1rem !important;
}

.margin-right-1 {
  margin-right: 1rem !important;
}

.margin-bottom-1 {
  margin-bottom: 1rem !important;
}

.margin-left-1 {
  margin-left: 1rem !important;
}

.margin-horizontal-1 {
  margin-right: 1rem !important;
  margin-left: 1rem !important;
}

.margin-vertical-1 {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important;
}

.padding-1 {
  padding: 1rem;
}

.padding-top-1 {
  padding-top: 1rem !important;
}

.padding-right-1 {
  padding-right: 1rem !important;
}

.padding-bottom-1 {
  padding-bottom: 1rem !important;
}

.padding-left-1 {
  padding-left: 1rem !important;
}

.padding-horizontal-1 {
  padding-right: 1rem !important;
  padding-left: 1rem !important;
}

.padding-vertical-1 {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}

.margin-2 {
  margin: 2rem;
}

.margin-top-2 {
  margin-top: 2rem !important;
}

.margin-right-2 {
  margin-right: 2rem !important;
}

.margin-bottom-2 {
  margin-bottom: 2rem !important;
}

.margin-left-2 {
  margin-left: 2rem !important;
}

.margin-horizontal-2 {
  margin-right: 2rem !important;
  margin-left: 2rem !important;
}

.margin-vertical-2 {
  margin-top: 2rem !important;
  margin-bottom: 2rem !important;
}

.padding-2 {
  padding: 2rem;
}

.padding-top-2 {
  padding-top: 2rem !important;
}

.padding-right-2 {
  padding-right: 2rem !important;
}

.padding-bottom-2 {
  padding-bottom: 2rem !important;
}

.padding-left-2 {
  padding-left: 2rem !important;
}

.padding-horizontal-2 {
  padding-right: 2rem !important;
  padding-left: 2rem !important;
}

.padding-vertical-2 {
  padding-top: 2rem !important;
  padding-bottom: 2rem !important;
}

.margin-3 {
  margin: 3rem;
}

.margin-top-3 {
  margin-top: 3rem !important;
}

.margin-right-3 {
  margin-right: 3rem !important;
}

.margin-bottom-3 {
  margin-bottom: 3rem !important;
}

.margin-left-3 {
  margin-left: 3rem !important;
}

.margin-horizontal-3 {
  margin-right: 3rem !important;
  margin-left: 3rem !important;
}

.margin-vertical-3 {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important;
}

.padding-3 {
  padding: 3rem;
}

.padding-top-3 {
  padding-top: 3rem !important;
}

.padding-right-3 {
  padding-right: 3rem !important;
}

.padding-bottom-3 {
  padding-bottom: 3rem !important;
}

.padding-left-3 {
  padding-left: 3rem !important;
}

.padding-horizontal-3 {
  padding-right: 3rem !important;
  padding-left: 3rem !important;
}

.padding-vertical-3 {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
}

* {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

:focus {
  outline: 0 !important;
}

body {
  font-family: "Lato", sans-serif;
  font-size: 16px;
  color: #3C3C3C;
  overflow-x: hidden;
  line-height: 1.5;
}

a {
  color: #991B1E;
  -webkit-transition: 0.3s ease all;
  transition: 0.3s ease all;
}

a:hover, a:focus {
  color: #3C3C3C;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 400;
  font-family: "Teko", sans-serif;
  margin-bottom: 15px;
}

h4, h5, h6 {
  font-family: "Lato", sans-serif;
  line-height: 1.4;
}

h1 {
  font-size: 80px;
  line-height: 1;
}

h2 {
  font-size: 60px;
  line-height: 1;
}

h3 {
  font-size: 34px;
  line-height: 1.2;
}

h4 {
  font-size: 30px;
}

h5 {
  font-size: 24px;
}

h6 {
  font-size: 20px;
}

@media (max-width: 1280px) {
  h1 {
    font-size: 60px;
  }
  h2 {
    font-size: 40px;
  }
  h3 {
    font-size: 28px;
  }
  h4 {
    font-size: 24px;
  }
  h5 {
    font-size: 20px;
  }
  h6 {
    font-size: 16px;
  }
}

img {
  max-width: 100%;
  height: auto;
}

p {
  line-height: 1.5;
  margin-bottom: 25px;
}

p.large {
  font-size: 20px;
}

p.small {
  font-size: 14px;
}

ul.large {
  font-size: 20px;
}

ul.small {
  font-size: 14px;
}

ul.letter {
  list-style: lower-latin;
}

ul.roman {
  list-style: lower-roman;
}

ol.large {
  font-size: 20px;
}

ol.small {
  font-size: 14px;
}

input[type=text], input[type=number],
input[type=email], input[type=tel],
input[type=password], select, textarea {
  border: solid 1px #C4C4C4;
  background-color: #fff;
  padding: 10px 15px;
  font-size: 18px;
  font-weight: 500;
  height: 50px;
}

select {
  padding-right: 30px !important;
}

ul.gform_fields {
  margin: 0 0 20px;
}

ul.gform_fields li {
  list-style: none;
}

ul.gform_fields li.hidden_label > label {
  display: none;
}

ul.gform_fields .hidden_sub_label {
  display: none;
}

ul.gform_fields .field .ginput_container span {
  display: block;
}

ul.gform_fields .field .ginput_container span + span {
  margin-top: 15px;
}

ul.gform_fields .gfield {
  margin-bottom: 15px;
}

ul.gform_fields .gfield input, ul.gform_fields .gfield textarea, ul.gform_fields .gfield select {
  margin-bottom: 0;
}

/* Buttons */
a.button, input.button, button.button {
  position: relative;
  padding: 16px 40px 11px;
  font-family: "Teko", sans-serif;
  font-size: 20px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.238em;
  margin-bottom: 20px;
  line-height: 28px;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  border-radius: 0;
  background: none !important;
  color: #fff;
}

a.button:before, input.button:before, button.button:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: #991B1E;
  z-index: -1;
  -webkit-transform: skewX(-18deg);
          transform: skewX(-18deg);
}

a.button:hover, input.button:hover, button.button:hover {
  color: #fff;
}

a.button:hover:before, input.button:hover:before, button.button:hover:before {
  background: rgba(166, 7, 12, 0.8);
}

a.button.inverse, input.button.inverse, button.button.inverse {
  color: #3C3C3C;
}

a.button.inverse:before, input.button.inverse:before, button.button.inverse:before {
  background: #fff;
}

a.button.inverse:hover:before, input.button.inverse:hover:before, button.button.inverse:hover:before {
  background: #C4C4C4;
}

a.button.disabled, a.button[disable], input.button.disabled, input.button[disable], button.button.disabled, button.button[disable] {
  opacity: 1 !important;
  background: #fff !important;
  color: #C4C4C4 !important;
  border: 1px solid #C4C4C4 !important;
}

a.button.disabled *, a.button[disable] *, input.button.disabled *, input.button[disable] *, button.button.disabled *, button.button[disable] * {
  color: #C4C4C4 !important;
}

a.button.disabled [class*="circle"], a.button[disable] [class*="circle"], input.button.disabled [class*="circle"], input.button[disable] [class*="circle"], button.button.disabled [class*="circle"], button.button[disable] [class*="circle"] {
  background: #C4C4C4 !important;
  color: #fff !important;
}

a.button.small, input.button.small, button.button.small {
  padding: 10px 20px;
  font-size: 14px;
  font-weight: 500;
  line-height: 26px;
}

a.button.large, input.button.large, button.button.large {
  padding: 18px 40px;
  font-size: 20px;
}

a.button.nomin, input.button.nomin, button.button.nomin {
  min-width: 1px;
}

a.button small, input.button small, button.button small {
  display: inline-block;
  font-size: 13px;
  line-height: 1;
  vertical-align: middle;
  text-align: left;
}

a.button small s, input.button small s, button.button small s {
  text-decoration: none;
  color: #3C3C3C;
}

.buttons a.button, .buttons input.button, .buttons button.button {
  margin-left: 25px;
  margin-right: 25px;
}

.action a.button, .action input.button, .action button.button {
  margin-bottom: 0;
}

@media (max-width: 480px) {
  a.button, input.button, button.button {
    line-height: 20px;
  }
}

.gform_wrapper form .gfield_validation_message,
.gform_wrapper form .validation_message {
  margin-top: 3px;
  padding: 2px 10px !important;
}

.fw-extralight {
  font-weight: 200 !important;
}

.fw-light {
  font-weight: 300 !important;
}

.fw-regular {
  font-weight: 400 !important;
}

.fw-medium {
  font-weight: 500 !important;
}

.fw-semibold {
  font-weight: 600 !important;
}

.fw-bold {
  font-weight: 700 !important;
}

.fw-extrabold {
  font-weight: 800 !important;
}

.fw-black {
  font-weight: 900 !important;
}

.text-primary {
  color: #991B1E !important;
}

.text-secondary {
  color: #A6070C !important;
}

.text-dark {
  color: #3C3C3C !important;
}

.text-white {
  color: #fff !important;
}

.bc-primary {
  background-color: #991B1E !important;
}

.bc-secondary {
  background-color: #A6070C !important;
}

.bc-dark {
  background-color: #3C3C3C !important;
}

.order-1 {
  -webkit-box-ordinal-group: 2 !important;
      -ms-flex-order: 1 !important;
          order: 1 !important;
}

.order-2 {
  -webkit-box-ordinal-group: 3 !important;
      -ms-flex-order: 2 !important;
          order: 2 !important;
}

.order-3 {
  -webkit-box-ordinal-group: 4 !important;
      -ms-flex-order: 3 !important;
          order: 3 !important;
}

.order-4 {
  -webkit-box-ordinal-group: 5 !important;
      -ms-flex-order: 4 !important;
          order: 4 !important;
}

.order-5 {
  -webkit-box-ordinal-group: 6 !important;
      -ms-flex-order: 5 !important;
          order: 5 !important;
}

.order-6 {
  -webkit-box-ordinal-group: 7 !important;
      -ms-flex-order: 6 !important;
          order: 6 !important;
}

.order-7 {
  -webkit-box-ordinal-group: 8 !important;
      -ms-flex-order: 7 !important;
          order: 7 !important;
}

.order-8 {
  -webkit-box-ordinal-group: 9 !important;
      -ms-flex-order: 8 !important;
          order: 8 !important;
}

.order-9 {
  -webkit-box-ordinal-group: 10 !important;
      -ms-flex-order: 9 !important;
          order: 9 !important;
}

.order-10 {
  -webkit-box-ordinal-group: 11 !important;
      -ms-flex-order: 10 !important;
          order: 10 !important;
}

.order-11 {
  -webkit-box-ordinal-group: 12 !important;
      -ms-flex-order: 11 !important;
          order: 11 !important;
}

.order-12 {
  -webkit-box-ordinal-group: 13 !important;
      -ms-flex-order: 12 !important;
          order: 12 !important;
}

.order-13 {
  -webkit-box-ordinal-group: 14 !important;
      -ms-flex-order: 13 !important;
          order: 13 !important;
}

.order-14 {
  -webkit-box-ordinal-group: 15 !important;
      -ms-flex-order: 14 !important;
          order: 14 !important;
}

.order-15 {
  -webkit-box-ordinal-group: 16 !important;
      -ms-flex-order: 15 !important;
          order: 15 !important;
}

.order-16 {
  -webkit-box-ordinal-group: 17 !important;
      -ms-flex-order: 16 !important;
          order: 16 !important;
}

.order-17 {
  -webkit-box-ordinal-group: 18 !important;
      -ms-flex-order: 17 !important;
          order: 17 !important;
}

.order-18 {
  -webkit-box-ordinal-group: 19 !important;
      -ms-flex-order: 18 !important;
          order: 18 !important;
}

.order-19 {
  -webkit-box-ordinal-group: 20 !important;
      -ms-flex-order: 19 !important;
          order: 19 !important;
}

.order-20 {
  -webkit-box-ordinal-group: 21 !important;
      -ms-flex-order: 20 !important;
          order: 20 !important;
}

/* Mobile to Desktop
**************************/
@media (min-width: 1024px) {
  .order-lg-1 {
    -webkit-box-ordinal-group: 2 !important;
        -ms-flex-order: 1 !important;
            order: 1 !important;
  }
  .order-lg-2 {
    -webkit-box-ordinal-group: 3 !important;
        -ms-flex-order: 2 !important;
            order: 2 !important;
  }
  .order-lg-3 {
    -webkit-box-ordinal-group: 4 !important;
        -ms-flex-order: 3 !important;
            order: 3 !important;
  }
  .order-lg-4 {
    -webkit-box-ordinal-group: 5 !important;
        -ms-flex-order: 4 !important;
            order: 4 !important;
  }
  .order-lg-5 {
    -webkit-box-ordinal-group: 6 !important;
        -ms-flex-order: 5 !important;
            order: 5 !important;
  }
  .order-lg-6 {
    -webkit-box-ordinal-group: 7 !important;
        -ms-flex-order: 6 !important;
            order: 6 !important;
  }
  .order-lg-7 {
    -webkit-box-ordinal-group: 8 !important;
        -ms-flex-order: 7 !important;
            order: 7 !important;
  }
  .order-lg-8 {
    -webkit-box-ordinal-group: 9 !important;
        -ms-flex-order: 8 !important;
            order: 8 !important;
  }
  .order-lg-9 {
    -webkit-box-ordinal-group: 10 !important;
        -ms-flex-order: 9 !important;
            order: 9 !important;
  }
  .order-lg-10 {
    -webkit-box-ordinal-group: 11 !important;
        -ms-flex-order: 10 !important;
            order: 10 !important;
  }
  .order-lg-11 {
    -webkit-box-ordinal-group: 12 !important;
        -ms-flex-order: 11 !important;
            order: 11 !important;
  }
  .order-lg-12 {
    -webkit-box-ordinal-group: 13 !important;
        -ms-flex-order: 12 !important;
            order: 12 !important;
  }
  .order-lg-13 {
    -webkit-box-ordinal-group: 14 !important;
        -ms-flex-order: 13 !important;
            order: 13 !important;
  }
  .order-lg-14 {
    -webkit-box-ordinal-group: 15 !important;
        -ms-flex-order: 14 !important;
            order: 14 !important;
  }
  .order-lg-15 {
    -webkit-box-ordinal-group: 16 !important;
        -ms-flex-order: 15 !important;
            order: 15 !important;
  }
  .order-lg-16 {
    -webkit-box-ordinal-group: 17 !important;
        -ms-flex-order: 16 !important;
            order: 16 !important;
  }
  .order-lg-17 {
    -webkit-box-ordinal-group: 18 !important;
        -ms-flex-order: 17 !important;
            order: 17 !important;
  }
  .order-lg-18 {
    -webkit-box-ordinal-group: 19 !important;
        -ms-flex-order: 18 !important;
            order: 18 !important;
  }
  .order-lg-19 {
    -webkit-box-ordinal-group: 20 !important;
        -ms-flex-order: 19 !important;
            order: 19 !important;
  }
  .order-lg-20 {
    -webkit-box-ordinal-group: 21 !important;
        -ms-flex-order: 20 !important;
            order: 20 !important;
  }
}

/* Desktop to Mobile
**************************/
@media (max-width: 1536px) {
  .text-large {
    font-size: 24px;
  }
}

@media (max-width: 1023px) {
  .text-large {
    font-size: 21px;
  }
}

.circle_list {
  list-style-type: none;
  margin: 0 0 25px 30px;
  padding: 0;
  text-align: left;
}

.circle_list li {
  position: relative;
  padding-left: 30px;
  margin-bottom: 15px;
}

.circle_list li:before {
  content: '';
  display: block;
  width: 15px;
  height: 15px;
  background: #991B1E;
  border-radius: 15px;
  position: absolute;
  top: 5px;
  left: 0;
  -webkit-box-shadow: 0 0 0px 1px #C4C4C4;
          box-shadow: 0 0 0px 1px #C4C4C4;
  border: 3px solid #fff;
}

@media (max-width: 767px) {
  .circle_list {
    margin-left: 10px;
  }
}

.wbg {
  background: url(../img/bg-logo.png) no-repeat center/100% 100%;
  width: 564px;
  margin: 0 auto 30px;
  padding: 15px 7% 10px;
  max-width: 100%;
}

.wbg img {
  width: 100%;
}

.wbg.skew span {
  display: block;
  -webkit-transform: skewY(-6deg);
          transform: skewY(-6deg);
  overflow: hidden;
  margin: 15px 0;
}

.wbg.skew span img {
  -webkit-transform: skewY(6deg);
          transform: skewY(6deg);
  margin: -5.5% 0;
}

.wbg.skewx {
  background-image: url(../img/bg-logo2.png);
  padding: 7% 10px;
}

@media (min-width: 1024px) {
  .scroll-offset {
    display: block;
    padding-top: 90px;
    margin-top: -90px;
  }
}

@-webkit-keyframes heartBeat {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  14% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }
  28% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  42% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }
  70% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes heartBeat {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  14% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }
  28% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  42% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }
  70% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@-webkit-keyframes headerIn {
  from {
    top: -100%;
  }
  to {
    top: 0;
  }
}

@keyframes headerIn {
  from {
    top: -100%;
  }
  to {
    top: 0;
  }
}

@-webkit-keyframes formIn {
  from {
    top: -100%;
  }
  to {
    top: 140px;
  }
}

@keyframes formIn {
  from {
    top: -100%;
  }
  to {
    top: 140px;
  }
}

.header .topbar {
  background-color: #191919;
}

.header .topbar .contact-nav li a {
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  padding: 0.7rem 0;
}

.page-content {
  padding: 80px 0;
}

#header {
  position: fixed;
  z-index: 999;
  width: 100%;
  z-index: 9998;
  background: #fff;
}

#header.fixed {
  -webkit-box-shadow: 0 1px 5px 1px rgba(0, 0, 0, 0.1);
          box-shadow: 0 1px 5px 1px rgba(0, 0, 0, 0.1);
}

#header.fixed .navbar {
  padding: 10px 0;
}

#header.fixed .navbar .brand img {
  max-height: 60px;
}

#header + * {
  padding-top: 150px;
}

#header .navbar {
  padding: 30px 0;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

#header .navbar .cell:first-child {
  padding-left: 0;
}

#header .navbar .cell:last-child {
  padding-right: 0;
}

#header .navbar .brand {
  max-width: 100%;
  display: inline-block;
}

#header .navbar .brand img {
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  max-height: 90px;
  width: auto;
}

#header .navbar .header-phone {
  font-size: 30px;
  color: #3C3C3C;
}

#header .navbar .header-phone .phone:before {
  margin-right: 0px;
}

#header .navbar .header-nav {
  position: relative;
}

#header .navbar .header-nav ul.menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: wrap;
      flex-flow: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

#header .navbar .header-nav ul.menu ul {
  position: absolute;
}

#header .navbar .header-nav ul.menu li a {
  color: #3C3C3C;
  font-size: 16px;
  font-weight: 400;
  padding: 10px 15px;
  display: block;
}

#header .navbar .header-nav ul.menu li a:focus, #header .navbar .header-nav ul.menu li a:hover {
  color: #6e6e6e;
}

#header .navbar .header-nav ul.menu li.is-active a {
  background-color: transparent;
}

#header .navbar .header-nav ul.menu li .submenu {
  top: 45px;
  left: 0;
  margin-left: 0;
  border-top: 5px solid #A6070C;
  max-height: 500px;
  overflow: visible auto;
  width: 290px;
}

#header .navbar .header-nav ul.menu li .submenu > li {
  margin-left: 0px;
}

#header .navbar .header-nav ul.menu li .submenu > li > a {
  font-size: 16px;
  color: #707070 !important;
  padding: 20px 30px !important;
  width: 100%;
}

#header .navbar .header-nav ul.menu li .submenu > li > a:hover {
  color: #707070 !important;
}

#header .navbar .header-nav ul.menu li .submenu > li > a > span {
  font-size: 14px;
  font-style: italic;
  display: block;
  line-height: 1.14;
}

#header .navbar .header-nav ul.menu li .submenu > li:hover {
  background-color: #f1f1f1;
  color: #707070 !important;
}

#header .navbar .header-nav ul.menu .cta {
  margin: 0 0 0 5px;
}

#header .navbar .header-nav ul.menu .cta a {
  font-size: 28px;
  font-weight: 700;
  font-family: "Teko", sans-serif;
  color: #fff;
  position: relative;
  padding: 12px 35px 8px;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.238em;
}

#header .navbar .header-nav ul.menu .cta a:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: #991B1E;
  z-index: -1;
  -webkit-transform: skewX(-18deg);
          transform: skewX(-18deg);
}

#header .navbar .header-nav ul.menu .cta a:hover {
  color: #fff;
}

#header .navbar .header-nav ul.menu .cta a:hover:before {
  background: rgba(166, 7, 12, 0.8);
}

#header .navbar .header-nav-toggler {
  display: none;
  width: 50px;
  margin: 0 auto 0 0;
  padding: 10px;
}

#header .navbar .header-nav-toggler span {
  display: block;
  border-bottom: 3px solid #3C3C3C;
  padding: 0;
  margin-bottom: 5px;
  -webkit-transition: 0.3s ease all;
  transition: 0.3s ease all;
}

#header .navbar .header-nav-toggler span:last-child {
  width: calc(100% - 10px);
}

#header .navbar .header-nav-toggler:hover span {
  width: 100%;
  border-bottom-color: #3C3C3C;
}

@media (max-width: 1410px) {
  #header + * {
    padding-top: 120px;
  }
  #header .navbar .brand img {
    max-height: 60px;
  }
  #header .navbar .header-nav ul.menu .cta a {
    font-size: 24px;
    padding: 12px 25px 8px;
  }
}

@media (max-width: 1200px) {
  #header .navbar .header-nav {
    margin: 0 0 0 10px;
  }
  #header .navbar .header-nav ul.menu li a {
    font-size: 14px;
    padding: 10px;
  }
  #header .navbar .header-nav ul.menu .cta a {
    font-size: 18px;
    padding: 12px 20px 8px;
  }
}

@media (max-width: 1023px) {
  #header {
    background-color: #fff !important;
    position: fixed;
  }
  #header + * {
    padding-top: 80px;
  }
  #header .navbar {
    padding: 10px 0;
  }
  #header .navbar .brand {
    display: block;
    text-align: center;
  }
  #header .navbar .brand.light {
    display: none;
  }
  #header .navbar .brand.dark {
    display: inline-block;
  }
  #header .navbar .brand img {
    max-height: 60px;
  }
  #header .navbar .header-nav {
    display: none;
  }
  #header .navbar .header-nav-toggler {
    display: block;
  }
  #header #header-nav-mobile {
    width: 100%;
    left: 0 !important;
    top: 80px !important;
    border: 0;
    padding: 0;
    height: calc(100vh - 80px);
  }
  #header #header-nav-mobile.fixed {
    position: fixed;
  }
  #header #header-nav-mobile .mobile-menu-wrap {
    margin: 0;
    text-align: center;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    overflow-y: auto;
    border-top: 2px solid #3C3C3C;
  }
  #header #header-nav-mobile .mobile-menu-wrap .h-links {
    margin-left: 0;
    margin-top: 50px;
    margin-bottom: 50px;
  }
  #header #header-nav-mobile .mobile-menu-wrap .h-links li {
    margin-bottom: 22px;
    list-style: none;
  }
  #header #header-nav-mobile .mobile-menu-wrap .h-links li a {
    font-size: 18px;
    font-weight: 700;
    color: #3C3C3C;
    text-transform: uppercase;
  }
  #header #header-nav-mobile .mobile-menu-wrap .h-links li a:hover {
    color: #3C3C3C;
  }
  #header #header-nav-mobile .mobile-menu-wrap .h-links .button {
    padding-top: 15px;
    margin: 0 15px;
    font-size: 24px;
    color: #fff;
  }
  #header #header-nav-mobile .mobile-menu-wrap .h-lower-wrap .h-contact {
    list-style: none;
    margin-left: 0;
    margin-bottom: 50px;
  }
  #header #header-nav-mobile .mobile-menu-wrap .h-lower-wrap .h-contact .mm-phone {
    margin-bottom: 12px;
  }
  #header #header-nav-mobile .mobile-menu-wrap .h-lower-wrap .h-contact .mm-phone a {
    font-size: 20px;
    font-weight: 800;
    color: #991B1E;
  }
  #header #header-nav-mobile .mobile-menu-wrap .h-lower-wrap .h-contact .mm-address {
    font-size: 14px;
    font-weight: 800;
    margin-bottom: 12px;
    color: #3C3C3C;
    padding: 0px 10px;
  }
  #header #header-nav-mobile .mobile-menu-wrap .h-lower-wrap .h-contact .mm-email {
    margin-bottom: 12px;
  }
  #header #header-nav-mobile .mobile-menu-wrap .h-lower-wrap .h-contact .mm-email a {
    font-size: 18px;
    font-weight: 800;
    color: #3C3C3C;
    text-decoration: underline;
  }
  #header #header-nav-mobile .mobile-menu-wrap .h-lower-wrap .h-contact .mm-serial {
    font-size: 18px;
    font-weight: 800;
    color: #3C3C3C;
  }
  #header #header-nav-mobile .mobile-menu-wrap .h-lower-wrap .h-bottom-link.cta {
    background-color: #991B1E;
    padding: 18px 35px;
    width: 100%;
  }
  #header #header-nav-mobile .mobile-menu-wrap .h-lower-wrap .h-bottom-link.cta a {
    color: #fff;
    text-transform: uppercase;
    font-size: 18px;
    font-weight: 700;
  }
}

@media (max-width: 639px) {
  #header .grid-container {
    padding-left: 10px;
    padding-right: 10px;
  }
  #header .navbar .brand {
    padding: 5px 15px;
  }
}

.sec_hero {
  position: relative;
}

.sec_hero .banner {
  position: relative;
  z-index: 1;
  padding-bottom: 25px;
}

.sec_hero .media {
  position: absolute;
  right: 0;
  top: 0;
  height: calc(100% - 25px);
  width: 46%;
  z-index: 1;
  overflow: hidden;
}

.sec_hero .media > img, .sec_hero .media video, .sec_hero .media .hero_img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top;
     object-position: top;
}

.sec_hero .media .btn_play {
  position: absolute;
  right: 30px;
  bottom: 20px;
}

.sec_hero .caption {
  padding: 130px 0 100px calc((100vw - 1410px) / 2);
  width: 58.33333%;
  position: relative;
  z-index: 2;
  color: #fff;
}

.sec_hero .caption:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: -110px;
  bottom: -25px;
  background: #991B1E;
  -webkit-transform: skewX(-18deg);
          transform: skewX(-18deg);
  -webkit-transform-origin: top;
          transform-origin: top;
}

.sec_hero .caption h1 {
  font-size: 120px;
  line-height: 1;
  margin: 0;
}

.sec_hero .caption h4 {
  font-size: 60px;
  line-height: 1;
  font-weight: 300;
}

.sec_hero .features {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: wrap;
      flex-flow: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 70px 0;
}

.sec_hero .features .item {
  width: 220px;
  max-width: 100%;
  margin: 0 30px 30px;
  text-align: center;
}

.sec_hero .features .item figure {
  min-height: 105px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 20px;
}

.sec_hero .features .item h3 {
  font-size: 40px;
}

@media (max-width: 1410px) {
  .sec_hero .caption {
    padding-left: 30px;
  }
  .sec_hero .caption h1 {
    font-size: 85px;
  }
  .sec_hero .caption h4 {
    font-size: 45px;
  }
}

@media (max-width: 1023px) {
  .sec_hero .caption {
    padding-left: 30px;
  }
  .sec_hero .caption h1 {
    font-size: 60px;
  }
  .sec_hero .caption h4 {
    font-size: 35px;
  }
  .sec_hero .features {
    padding-bottom: 0;
  }
  .sec_hero .features .item {
    width: 180px;
  }
  .sec_hero .features .item h3 {
    font-size: 32px;
  }
}

@media (max-width: 767px) {
  .sec_hero .media {
    position: relative;
    width: auto;
    height: 320px;
  }
  .sec_hero .media .btn_play {
    right: 20px;
    width: 70px;
  }
  .sec_hero .caption {
    padding: 35px 30px 0;
    margin: -10px 0 0;
    width: auto;
    text-align: center;
  }
  .sec_hero .caption:before {
    bottom: -15px;
    right: 0;
    -webkit-transform: none;
            transform: none;
  }
  .sec_hero .caption h1 {
    font-size: 45px;
  }
  .sec_hero .caption h4 {
    font-size: 25px;
  }
}

.sec_services {
  position: relative;
  z-index: 1;
  padding: 250px 0 0;
  text-align: center;
}

.sec_services h2 {
  font-size: 120px;
  line-height: 1;
}

.sec_services h2 span {
  display: inline-block;
}

.sec_services h3 {
  font-size: 60px;
}

.sec_services .bg {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: -1;
  text-align: center;
}

.sec_services .service_head {
  color: #fff;
  max-width: 1200px;
  margin: 0 auto;
}

.sec_services .service_items {
  position: relative;
}

.sec_services .service_box {
  display: block;
  background: #A6070C;
  color: #fff;
  padding: 40px 20px;
  text-align: center;
  margin-bottom: 30px;
}

.sec_services .service_box > *:last-child {
  margin-bottom: 0;
}

.sec_services .service_box figure {
  min-height: 60px;
  margin-bottom: 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.sec_services .service_box h4 {
  font-size: 20px;
}

@media (max-width: 1600px) {
  .sec_services {
    padding-top: 12%;
  }
  .sec_services h2 {
    font-size: 100px;
  }
}

@media (max-width: 1366px) {
  .sec_services h2 {
    font-size: 80px;
  }
  .sec_services h3 {
    font-size: 45px;
  }
}

@media (max-width: 1023px) {
  .sec_services h2 {
    font-size: 55px;
  }
  .sec_services h3 {
    font-size: 35px;
  }
}

@media (max-width: 767px) {
  .sec_services h2 {
    font-size: 42px;
  }
  .sec_services .bg {
    position: relative;
  }
  .sec_services .service_head {
    color: #3C3C3C;
  }
}

.sec_about {
  position: relative;
  padding: 90px 0;
}

.sec_about .bordered {
  padding: 40px 50px;
  border: 3px solid #C4C4C4;
  font-size: 34px;
  font-weight: bold;
  line-height: 1.4;
  color: #991B1E;
}

.sec_about .bordered a, .sec_about .bordered span {
  color: #3C3C3C;
}

@media (max-width: 1023px) {
  .sec_about {
    padding: 50px 0;
  }
  .sec_about .bordered {
    padding: 30px;
    font-size: 24px;
  }
}

@media (max-width: 639px) {
  .sec_about .bordered {
    padding: 20px;
    font-size: 20px;
  }
  .sec_about .copy {
    text-align: center;
  }
}

.sec_pricing {
  position: relative;
  padding: 280px 0 200px;
  z-index: 1;
}

.sec_pricing .bg {
  position: absolute;
  z-index: -1;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  overflow: hidden;
}

.sec_pricing .bg img {
  width: 100%;
}

.sec_pricing .pricing_box {
  position: relative;
  background: #991B1E;
  color: #fff;
  padding: 50px;
  min-height: 480px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: wrap;
      flex-flow: wrap;
  -ms-flex-line-pack: center;
      align-content: center;
  text-align: center;
  font-size: 30px;
  margin-bottom: 30px;
}

.sec_pricing .pricing_box:before {
  content: "";
  border: 1px solid #C4C4C4;
  position: absolute;
  left: 25px;
  right: 25px;
  top: 25px;
  bottom: 25px;
}

.sec_pricing .pricing_box > * {
  width: 100%;
  position: relative;
}

.sec_pricing .pricing_box > *:last-child {
  margin-bottom: 0;
}

.sec_pricing .pricing_box h3 {
  font-size: 60px;
  margin-bottom: 5px;
}

.sec_pricing .pricing_box p {
  max-width: 390px;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 1366px) {
  .sec_pricing {
    padding-top: 0;
    padding-bottom: 50px;
  }
  .sec_pricing .bg {
    position: relative;
  }
  .sec_pricing .pricing_box {
    font-size: 24px;
    min-height: 390px;
  }
  .sec_pricing .pricing_box h3 {
    font-size: 50px;
    line-height: 1;
  }
}

@media (max-width: 369px) {
  .sec_pricing .pricing_box {
    padding: 50px 30px;
    font-size: 30px;
    min-height: 300px;
  }
  .sec_pricing .pricing_box:before {
    left: 15px;
    top: 15px;
    right: 15px;
    bottom: 15px;
  }
}

.sec_excellence {
  position: relative;
  background: #fff url(../img/bg-excellence.jpg) no-repeat center/100%;
  padding: 160px 0;
  text-align: center;
}

.sec_excellence h2 {
  margin-bottom: 5px;
}

.sec_excellence .excel_box {
  background: #fff;
  -webkit-box-shadow: 0px 4px 14px 10px rgba(0, 0, 0, 0.06);
          box-shadow: 0px 4px 14px 10px rgba(0, 0, 0, 0.06);
  min-height: 335px;
  text-align: center;
  margin-bottom: 30px;
  padding: 50px 30px;
}

.sec_excellence .excel_box figure {
  min-height: 130px;
  margin-bottom: 20px;
}

.sec_excellence .excel_box h3 {
  font-size: 34px;
  color: #991B1E;
  margin: 0 auto;
  max-width: 290px;
}

@media (max-width: 1280px) {
  .sec_excellence .excel_box {
    min-height: 300px;
    padding: 40px 30px;
  }
  .sec_excellence .excel_box h3 {
    font-size: 24px;
  }
}

@media (max-width: 1023px) {
  .sec_excellence {
    padding: 60px 0 100px;
  }
}

@media (max-width: 767px) {
  .sec_excellence .excel_box {
    padding: 35px 20px;
    min-height: 1px;
  }
  .sec_excellence .excel_box h3 {
    font-size: 30px;
  }
}

.sec_reviews {
  position: relative;
  margin: -60px 0 60px;
}

.sec_reviews .quote {
  font-size: 16px;
  padding: 0;
  border: 0;
  margin-bottom: 30px;
  max-width: 530px;
  color: #3C3C3C;
}

.sec_reviews .quote p {
  color: #3C3C3C;
}

.sec_reviews .quote cite {
  border: 0;
  position: relative;
  padding: 0 0 0 45px;
  font-size: 13px;
  font-weight: 600;
  font-style: normal;
  display: inline-block;
  text-align: left;
  color: #3C3C3C;
}

.sec_reviews .quote cite::before {
  content: "";
}

.sec_reviews .quote cite span {
  position: absolute;
  width: 35px;
  left: 0;
  top: 5px;
}

.sec_reviews .quote cite img {
  display: block;
}

.sec_reviews .quote cite small {
  font-size: 10px;
}

@media (max-width: 1023px) {
  .sec_reviews {
    margin-bottom: 0;
    text-align: center;
  }
  .sec_reviews h2 {
    text-align: center;
  }
  .sec_reviews .quote {
    max-width: none;
  }
}

.sec_cta {
  position: relative;
  z-index: 1;
  padding: 160px 0 100px;
}

.sec_cta .bg {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: -1;
}

.sec_cta .bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.sec_cta .cta_box {
  position: relative;
  background: #991B1E;
  color: #fff;
  padding: 50px 60px;
  min-height: 480px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: wrap;
      flex-flow: wrap;
  -ms-flex-line-pack: center;
      align-content: center;
  text-align: center;
  font-size: 27px;
  margin-bottom: 30px;
}

.sec_cta .cta_box:before {
  content: "";
  border: 1px solid #C4C4C4;
  position: absolute;
  left: 25px;
  right: 25px;
  top: 25px;
  bottom: 25px;
}

.sec_cta .cta_box > * {
  width: 100%;
  position: relative;
}

.sec_cta .cta_box > *:last-child {
  margin-bottom: 0;
}

.sec_cta .cta_box a {
  color: #fff;
}

.sec_cta .cta_box h3 {
  font-size: 60px;
  margin-bottom: 15px;
}

@media (max-width: 1023px) {
  .sec_cta {
    padding-bottom: 20px;
  }
}

@media (max-width: 639px) {
  .sec_cta {
    padding-bottom: 0;
  }
  .sec_cta .cta_box {
    padding: 50px 30px;
    font-size: 20px;
    min-height: 1px;
  }
  .sec_cta .cta_box:before {
    left: 15px;
    right: 15px;
    top: 15px;
    bottom: 15px;
  }
  .sec_cta .cta_box h3 {
    font-size: 40px;
  }
}

.sec_location {
  position: relative;
  text-align: center;
  padding: 100px 0;
}

@media (max-width: 1023px) {
  .sec_location {
    padding: 60px 0;
  }
}

.sec_financing {
  position: relative;
  padding: 0 0 100px;
}

@media (max-width: 1023px) {
  .sec_financing {
    padding: 0;
  }
}

.sec_whyus {
  position: relative;
  padding: 120px 0 220px;
  background: #fff url(../img/bg-excellence.jpg) no-repeat center/100%;
  text-align: center;
}

.sec_whyus .whyus_box {
  background: #fff;
  -webkit-box-shadow: 0px 4px 14px 10px rgba(0, 0, 0, 0.06);
          box-shadow: 0px 4px 14px 10px rgba(0, 0, 0, 0.06);
  min-height: 335px;
  text-align: center;
  margin-bottom: 30px;
  padding: 50px 30px;
}

.sec_whyus .whyus_box figure {
  min-height: 130px;
  margin-bottom: 20px;
}

.sec_whyus .whyus_box h3 {
  font-size: 34px;
  color: #991B1E;
  margin: 0 auto;
  max-width: 300px;
}

@media (max-width: 1366px) {
  .sec_whyus .whyus_box {
    min-height: 300px;
    padding: 40px 20px;
  }
  .sec_whyus .whyus_box h3 {
    font-size: 24px;
  }
}

@media (max-width: 1023px) {
  .sec_whyus {
    padding: 0 0 100px;
  }
}

@media (max-width: 767px) {
  .sec_whyus {
    padding: 0 0 60px;
  }
  .sec_whyus .whyus_box {
    min-height: 1px;
  }
  .sec_whyus .whyus_box figure {
    min-height: 1px;
  }
}

.sec_aircon {
  position: relative;
  padding: 0 0 100px;
}

.sec_aircon .sidenav {
  background: #fff;
  border: 1px solid #C4C4C4;
  -webkit-box-shadow: 0px 4px 14px 10px rgba(0, 0, 0, 0.06);
          box-shadow: 0px 4px 14px 10px rgba(0, 0, 0, 0.06);
  padding: 20px 20px 10px;
  margin: 0 40px 0 0;
}

.sec_aircon .sidenav h3 {
  margin: 0 0 10px;
}

.sec_aircon .sidenav ul {
  margin: 0;
  padding: 0 10px;
}

.sec_aircon .sidenav ul li {
  list-style: none;
  float: none;
  position: relative;
}

.sec_aircon .sidenav ul li + li {
  border-top: 1px solid #C4C4C4;
}

.sec_aircon .sidenav ul li a {
  color: #991B1E;
  font-size: 18px;
  display: block;
  padding: 15px 10px;
  position: relative;
  z-index: 2;
}

.sec_aircon .sidenav ul li a:hover, .sec_aircon .sidenav ul li a:focus {
  background: none;
}

.sec_aircon .sidenav ul li.is-active:before {
  content: "";
  position: absolute;
  left: -30px;
  right: -30px;
  top: -1px;
  bottom: -1px;
  background: #991B1E;
  z-index: 1;
}

.sec_aircon .sidenav ul li.is-active a {
  background: none;
  color: #fff;
}

.sec_aircon .copy {
  position: relative;
}

.sec_aircon .copy h2 {
  color: #991B1E;
  text-transform: uppercase;
}

.sec_aircon .tabs-content {
  border: 0;
  background: none;
  color: #3C3C3C;
}

.sec_aircon .tabs-panel {
  padding: 0;
}

@media (max-width: 1023px) {
  .sec_aircon .sidenav {
    margin: 0 0 30px;
  }
}

@media (max-width: 767px) {
  .sec_aircon {
    padding: 0 0 60px;
  }
}

.sec_contact {
  position: relative;
  z-index: 1;
  padding: 200px 0 30px;
  background: #fbfbfb;
}

.sec_contact hgroup {
  max-width: 590px;
  margin: 0 auto 50px;
}

.sec_contact hgroup a {
  color: #3C3C3C;
}

.sec_contact hgroup a:hover {
  color: #991B1E;
}

.sec_contact .bg {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: -1;
  overflow: hidden;
}

.sec_contact .bg img {
  width: 100%;
}

.sec_contact .form_box {
  width: auto;
}

.sec_contact .form_box div.gform_fields {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: wrap;
      flex-flow: wrap;
  margin: 0 -15px;
  grid-column-gap: 0;
  grid-row-gap: 0;
  width: auto;
}

.sec_contact .form_box div.gform_fields .gfield {
  width: 100%;
  padding: 0 15px;
  margin-bottom: 30px;
}

.sec_contact .form_box div.gform_fields .gfield.ghalf {
  width: 50%;
}

.sec_contact .form_box div.gform_fields .gfield .textarea {
  height: 145px;
}

.sec_contact .form_box div.gform_fields .gfield_label {
  display: none;
}

.sec_contact .form_box .gform_footer {
  text-align: center;
}

@media (max-width: 767px) {
  .sec_contact {
    padding: 100px 0 30px;
  }
  .sec_contact hgroup {
    margin-bottom: 30px;
  }
}

@media (max-width: 639px) {
  .sec_contact .form_box div.gform_fields .gfield.ghalf {
    width: 100%;
  }
}

.sec_model {
  position: relative;
  padding: 50px 0 100px;
}

.sec_model h2 {
  margin: 0;
}

.sticky_cta {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  background: #000;
  padding: 10px 15px;
  z-index: 999;
}

.sticky_cta .button {
  margin: 0;
  line-height: 28px;
  padding: 10px 40px;
  letter-spacing: 2px;
  font-weight: 800;
  font-family: "Lato", sans-serif;
}

.sticky_cta .button:before {
  -webkit-transform: none;
          transform: none;
  border-radius: 5px;
}

@media (max-width: 639px) {
  .sticky_cta .button {
    padding: 8px 20px;
    font-size: 18px;
  }
}

#footer {
  position: relative;
  z-index: 1;
  padding: 0 0 50px;
}

#footer .foot_top {
  padding: 100px 0 50px;
}

#footer .foot_top h2 {
  font-size: 45px;
  font-weight: 800;
  line-height: 1.33;
  color: #fff;
  margin-bottom: 30px;
}

#footer .foot_top h5 {
  font-size: 20px;
}

#footer .foot_links {
  margin-bottom: 30px;
}

#footer .foot_links ul {
  margin: 0;
  padding: 0;
}

#footer .foot_links ul li {
  list-style: none;
}

#footer .foot_social ul {
  margin: 50px -3px;
  padding: 0;
}

#footer .foot_social ul li {
  list-style: none;
  display: inline-block;
  margin: 0 3px;
}

#footer .foot_logo {
  padding-right: 20px;
}

#footer .foot_phone {
  padding: 10px 0 0;
  color: #991B1E;
  font-size: 40px;
  font-family: "Teko", sans-serif;
  letter-spacing: 9px;
  font-weight: bold;
  margin-bottom: 30px;
}

#footer .foot_bottom {
  background: #000;
  padding: 35px 0;
}

#footer .copyright {
  font-size: 16px;
  color: #fff;
}

#footer .copyright a {
  color: #fff;
}

#footer .copyright span {
  display: inline-block;
}

@media (max-width: 1366px) {
  #footer .foot_phone {
    font-size: 30px;
  }
}

@media (max-width: 1023px) {
  #footer .foot_top {
    padding-top: 60px;
  }
  #footer .foot_logo {
    text-align: center;
  }
  #footer .foot_phone {
    text-align: center;
  }
  #footer .foot_social ul {
    margin: 0;
  }
  #footer .foot_bottom {
    text-align: center;
  }
}

@media (max-width: 767px) {
  #footer {
    text-align: center;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9jb21wb25lbnRzL19yZXZlYWwuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvdmVuZG9yL25vcm1hbGl6ZS5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9fZ2xvYmFsLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL3V0aWwvX3VuaXQuc2NzcyIsImJhc2UvX3ZhcmlhYmxlcy5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy91dGlsL19taXhpbnMuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvZm9ybXMvX3RleHQuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvZm9ybXMvX2NoZWNrYm94LnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL2Zvcm1zL19sYWJlbC5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9mb3Jtcy9faGVscC10ZXh0LnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9mb3Jtcy9fZmllbGRzZXQuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvZm9ybXMvX3NlbGVjdC5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9mb3Jtcy9fZXJyb3Iuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvdHlwb2dyYXBoeS9fYmFzZS5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy90eXBvZ3JhcGh5L19oZWxwZXJzLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL3R5cG9ncmFwaHkvX2FsaWdubWVudC5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy90eXBvZ3JhcGh5L19wcmludC5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL3h5LWdyaWQvX2d1dHRlcnMuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MveHktZ3JpZC9fZ3JpZC5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy94eS1ncmlkL19jZWxsLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL3h5LWdyaWQvX2xheW91dC5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy94eS1ncmlkL19wb3NpdGlvbi5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy94eS1ncmlkL19mcmFtZS5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLWdyb3VwLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL2NvbXBvbmVudHMvX2Nsb3NlLWJ1dHRvbi5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9jb21wb25lbnRzL19sYWJlbC5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9jb21wb25lbnRzL19wcm9ncmVzcy1iYXIuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvZm9ybXMvX3Byb2dyZXNzLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL2NvbXBvbmVudHMvX3NsaWRlci5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9mb3Jtcy9fcmFuZ2Uuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvY29tcG9uZW50cy9fc3dpdGNoLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL2NvbXBvbmVudHMvX3RhYmxlLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL3V0aWwvX2NvbG9yLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL2NvbXBvbmVudHMvX2JhZGdlLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL2NvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL2NvbXBvbmVudHMvX2NhbGxvdXQuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvY29tcG9uZW50cy9fY2FyZC5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9jb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL2NvbXBvbmVudHMvX3Rvb2x0aXAuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL2NvbXBvbmVudHMvX21lZGlhLW9iamVjdC5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9jb21wb25lbnRzL19vcmJpdC5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9jb21wb25lbnRzL19yZXNwb25zaXZlLWVtYmVkLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL3V0aWwvX21hdGguc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvY29tcG9uZW50cy9fdGFicy5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9jb21wb25lbnRzL190aHVtYm5haWwuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvY29tcG9uZW50cy9fbWVudS5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9jb21wb25lbnRzL19tZW51LWljb24uc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLW1lbnUuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvY29tcG9uZW50cy9fZHJpbGxkb3duLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL2NvbXBvbmVudHMvX2Ryb3Bkb3duLW1lbnUuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9jb21wb25lbnRzL19zdGlja3kuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvY29tcG9uZW50cy9fdGl0bGUtYmFyLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL2NvbXBvbmVudHMvX3RvcC1iYXIuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvY29tcG9uZW50cy9fZmxvYXQuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvY29tcG9uZW50cy9fZmxleC5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy91dGlsL19mbGV4LnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvcHJvdG90eXBlL190ZXh0LXV0aWxpdGllcy5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9wcm90b3R5cGUvX3RleHQtdHJhbnNmb3JtYXRpb24uc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvcHJvdG90eXBlL190ZXh0LWRlY29yYXRpb24uc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvcHJvdG90eXBlL19mb250LXN0eWxpbmcuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvcHJvdG90eXBlL19saXN0LXN0eWxlLXR5cGUuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvcHJvdG90eXBlL19yb3VuZGVkLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL3Byb3RvdHlwZS9fYm9yZGVyZWQuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvcHJvdG90eXBlL19zaGFkb3cuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvcHJvdG90eXBlL19hcnJvdy5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9wcm90b3R5cGUvX3NlcGFyYXRvci5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9wcm90b3R5cGUvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL3Byb3RvdHlwZS9fb3ZlcmZsb3cuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvcHJvdG90eXBlL19kaXNwbGF5LnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL3Byb3RvdHlwZS9fYm9yZGVyLWJveC5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9wcm90b3R5cGUvX2JvcmRlci1ub25lLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL3Byb3RvdHlwZS9fc2l6aW5nLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL3Byb3RvdHlwZS9fc3BhY2luZy5zY3NzIiwiYmFzZS9fdHlwb2dyYXBoeS5zY3NzIiwiYmFzZS9fbWl4aW5zLnNjc3MiLCJiYXNlL19mb3JtLnNjc3MiLCJiYXNlL191dGlsaXRpZXMuc2NzcyIsImJhc2UvX2NvbXBvbmVudHMuc2NzcyIsImJhc2UvX2FuaW1hdGlvbnMuc2NzcyIsImN1c3RvbS9fY3VzdG9tLnNjc3MiLCJhcHAuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUNBaEI7Ozs7O0VETUU7QUVnS0k7RUN6SEo7SUFDRSxXQUFXO0lBQ1gsVUFBVTtJQUNWLGNBQWM7RUhwQ2hCO0FBQ0Y7O0FJWkUsMkVBQUE7QUFRQTtFQUNFLGlCQUFpQjtFQUNqQiw4QkFBOEI7QUpRbEM7O0FJQUU7RUFDRSxTQUFTO0FKR2I7O0FJR0U7RUFDRSxjQUFjO0VBQ2QsZ0JBQWdCO0FKQXBCOztBSVNFO0VBQ0UsK0JBQXVCO1VBQXZCLHVCQUF1QjtFQUN2QixTQUFTO0VBQ1QsaUJBQWlCO0FKTnJCOztBSVlFO0VBQ0UsaUNBQWlDO0VBQ2pDLGNBQWM7QUpUbEI7O0FJaUJFO0VBQ0UsNkJBQTZCO0FKZGpDOztBSW9CRTtFQUNFLG1CQUFtQjtFQUNuQiwwQkFBMEI7RUFDMUIseUNBQWlDO1VBQWpDLGlDQUFpQztBSmpCckM7O0FJc0JFOztFQUVFLG1CQUFtQjtBSm5CdkI7O0FJeUJFOzs7RUFHRSxpQ0FBaUM7RUFDakMsY0FBYztBSnRCbEI7O0FJMkJFO0VBQ0UsY0FBYztBSnhCbEI7O0FJOEJFOztFQUVFLGNBQWM7RUFDZCxjQUFjO0VBQ2Qsa0JBQWtCO0VBQ2xCLHdCQUF3QjtBSjNCNUI7O0FJOEJFO0VBQ0UsZUFBZTtBSjNCbkI7O0FJOEJFO0VBQ0UsV0FBVztBSjNCZjs7QUltQ0U7RUFDRSxrQkFBa0I7QUpoQ3RCOztBSXlDRTs7Ozs7RUFLRSxvQkFBb0I7RUFDcEIsZUFBZTtFQUNmLGlCQUFpQjtFQUNqQixT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RVVjckIsY1ZZYTtFR3NHYix3T0FBeU47RU85R3ZOLDhCQUE4QjtFQUM5Qix1Q0FBMEQ7RUFDMUQsNEJBQTRCO0VBQzVCLHdCQUF3QjtFQUV4QixxQkFBdUQ7RUFJdkQsMkVOcUI4RDtFTXJCOUQsbUVOcUI4RDtFTXJCOUQsMkROcUI4RDtFTXJCOUQsb0ZOcUI4RDtBVGdibEU7O0FROVZFO0VId0NBO0lHckNJLHVXQUF1VztFUmdXM1c7QUFDRjs7QWV2Y0U7RUFDRSxhQUFhO0VBQ2IseUJWWGU7RVVZZix5QlZKVztFVUtYLG1DVmpCaUI7VVVpQmpCLDJCVmpCaUI7RVVvQmYsMkVOVTREO0VNVjVELG1FTlU0RDtFTVY1RCwyRE5VNEQ7RU1WNUQsb0ZOVTREO0FUOGJsRTs7QWVuY0U7RUFDRSx5QlY5QmdCO0VVK0JoQixtQk5EK0I7QVR1Y25DOztBZWxjRTtFQUNFLGFBQWE7QWZxY2pCOztBZWxjRTtFQUNFLFlBQVk7RUFDWixzQkFBc0I7QWZxYzFCOztBZ0J0ZUU7RUFDRSxxQlRyQ2lCO0VTc0NqQix5QkFBK0Q7QWhCeWVuRTs7QWdCdmVJO0VBQ0UsY1R6Q2U7QVBtaEJyQjs7QWdCM2VJO0VBQ0UsY1R6Q2U7QVBtaEJyQjs7QWdCM2VJO0VBQ0UsY1R6Q2U7QVBtaEJyQjs7QWdCM2VJO0VBQ0UsY1R6Q2U7QVBtaEJyQjs7QWdCM2VJO0VBQ0UsY1R6Q2U7QVBtaEJyQjs7QWdCaGRJO0VBQ0UsY1RwRWU7QVB1aEJyQjs7QWdCOWNFO0VBekJBLGFBQWE7RUFDYixtQkFBZ0M7RUFDaEMsbUJWOEJ1RDtFVTVCdkQsa0JWNEJ1RDtFVTNCdkQsaUJYMkJ1QjtFVzFCdkIsY1R0RG1CO0FQZ2lCckI7O0FnQnZkRTtFQUlJLGNBQWM7QWhCdWRwQjs7QWlCN1NFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBbUJFLFNBQVM7RUFDVCxVQUFVO0FqQmdUZDs7QWlCNVNFO0VBQ0UsbUJBekswQjtFQTJLMUIsa0JBQWtCO0VBQ2xCLGdCQWhMc0I7RUFpTHRCLGtDQXpLeUM7QWpCdWQ3Qzs7QWlCMVNFOztFQUVFLGtCQUFrQjtFQUNsQixvQkFBb0I7QWpCNlN4Qjs7QWlCelNFOztFQUVFLGlCWmpOcUI7RVlrTnJCLG9CQUFvQjtBakI0U3hCOztBSTlmRTtFYXVORSxjQTVNaUI7RUE2TWpCLG9CQUFvQjtBakIyU3hCOztBaUJ2U0U7Ozs7OztFQU1FLCtCVnpTaUM7RVUwU2pDLGtCQXpSc0I7RUEwUnRCLG1CWnhPeUI7RVl5T3pCLGNBblJrQjtFQW9SbEIsa0NBL05zQztBakJ5Z0IxQzs7QWlCcFRFOzs7Ozs7RUFhSSxjQUFjO0VBQ2QsY1oxUmU7QUwwa0JyQjs7QWlCdlNRO0VBSUksaUJYdlA2QztFV21RN0MsZ0JBN1NXO0VBcVRYLGFBQWE7RUFPYixxQkF4VGlCO0FqQnVrQjdCOztBaUI5U1E7RUFJSSxrQlh2UDZDO0VXbVE3QyxnQkE3U1c7RUFxVFgsYUFBYTtFQU9iLHFCQXhUaUI7QWpCOGtCN0I7O0FpQnJUUTtFQUlJLG9CWHZQNkM7RVdtUTdDLGdCQTdTVztFQXFUWCxhQUFhO0VBT2IscUJBeFRpQjtBakJxbEI3Qjs7QWlCNVRRO0VBSUksbUJYdlA2QztFV21RN0MsZ0JBN1NXO0VBcVRYLGFBQWE7RUFPYixxQkF4VGlCO0FqQjRsQjdCOztBaUJuVVE7RUFJSSxvQlh2UDZDO0VXbVE3QyxnQkE3U1c7RUFxVFgsYUFBYTtFQU9iLHFCQXhUaUI7QWpCbW1CN0I7O0FpQjFVUTtFQUlJLGVYdlA2QztFV21RN0MsZ0JBN1NXO0VBcVRYLGFBQWE7RUFPYixxQkF4VGlCO0FqQjBtQjdCOztBRXRmTTtFZXFLRTtJQUlJLGVYdlA2QztFTnlrQnZEO0VpQnRWTTtJQUlJLGlCWHZQNkM7RU40a0J2RDtFaUJ6Vk07SUFJSSxvQlh2UDZDO0VOK2tCdkQ7RWlCNVZNO0lBSUksb0JYdlA2QztFTmtsQnZEO0VpQi9WTTtJQUlJLGtCWHZQNkM7RU5xbEJ2RDtFaUJsV007SUFJSSxlWHZQNkM7RU53bEJ2RDtBQUNGOztBSXpuQkU7RWEyVEUsb0JBQW9CO0VBQ3BCLGNWL1dtQjtFVWdYbkIscUJBOU55QjtFQWdPekIsZUFBZTtBakJpVW5COztBaUJ0VUU7RUFTSSxjQXhPMkQ7QWpCeWlCakU7O0FpQjFVRTtFQWdCSSxTQUFTO0FqQjhUZjs7QUkzcEJFO0VhbVdFLFdBQVc7RUFFWCxnQlhsVHFEO0VXbVRyRCxTQUFTO0VBQ1Qsb0JBck95QjtFQXVPekIsYUFBYTtFQUNiLGVBQWU7RUFDZixnQ1p4V2lCO0VZeVdqQixjQUFjO0FqQjBUbEI7O0FpQnRURTs7O0VBR0UsbUJBelMwQjtFQTBTMUIsNEJBbE95QjtFQW1PekIsZ0JBL1NzQjtBakJ3bUIxQjs7QWlCclRFO0VBQ0Usa0JBQWtCO0FqQndUdEI7O0FpQnBURTtFQUNFLG9CQXpPc0I7RUEwT3RCLHFCQWxQa0I7QWpCeWlCdEI7O0FpQm5URTtFQUNFLG9CQS9Pc0I7QWpCcWlCMUI7O0FpQmxURTtFQUVJLG9CQWpQMkI7RUFrUDNCLGdCQUFnQjtBakJvVHRCOztBaUIvU0U7RUFDRSxtQkFwUHlCO0FqQnNpQjdCOztBaUJuVEU7RUFJSSxxQkEvTzhCO0VBZ1A5QixpQlpuV21CO0FMc3BCekI7O0FpQjlTRTtFQUNFLGdCQWxWMEI7RUFtVjFCLHNDWDFXcUQ7RVcyV3JELDhCWjNaaUI7QUw0c0JyQjs7QWlCcFRFO0VBTUksZ0JBM1ZvQjtFQTRWcEIsY1ozWmE7QUw2c0JuQjs7QWlCN1NFO0VBQ0UsY0FBYztFQUNkLG9CWHRYcUQ7RVd1WHJELGNabmFlO0FMbXRCbkI7O0FpQm5URTtFQU1JLGFBL09nQjtBakJnaUJ0Qjs7QWlCNVNFO0VBQ0UsaUNaeGFXO0VZeWFYLFlBQVk7RUFDWixxQkFBcUI7QWpCK1N6Qjs7QWlCM1NFO0VBQ0UsU0FBUztBakI4U2I7O0FpQjFTRTtFQUNFLHFDWDVZcUQ7RVc4WXJELHlCWjliaUI7RVkrYmpCLHlCWm5jZ0I7RVlxY2hCLDREQW5jbUU7RUFvY25FLG1CWnRaeUI7RVl1WnpCLGNaM2JXO0FMc3VCZjs7QWlCdlNFO0VBQ0UsU0FBUztFQUNULDJCWHBaUztFV3NaVCx5QlovY2dCO0VZaWRoQiw0REEvY21FO0VBZ2RuRSxjWnRjVztBTDh1QmY7O0FrQi91QkU7RUFDRSxrQkFsQnlCO0VBbUJ6QixxQkFmNEI7RUFpQjVCLG1CYmlDeUI7RWFoQ3pCLGdCQWxDc0I7RUFtQ3RCLGNiVGU7QUwwdkJuQjs7QWtCN3VCRTtFQUNFLGVBaERxQztFQWlEckMsZ0JBN0NpQjtBbEI2eEJyQjs7QWtCNXVCRTtFQUNFLGlCQTFCbUI7RUEyQm5CLGNBQWM7QWxCK3VCbEI7O0FrQjd1Qkk7RUFDRSxpQkFBaUI7QWxCZ3ZCdkI7O0FrQjV1QkU7RUFHSSxjQUFnQztFQUNoQyxnQkFBZ0I7QWxCNnVCdEI7O0FtQjN5QlU7RUFDRSxnQkFSZTtBbkJzekIzQjs7QW1CL3lCVTtFQUNFLGlCQVJzQjtBbkIwekJsQzs7QW1CbnpCVTtFQUNFLGtCQVI4QjtBbkI4ekIxQzs7QW1CdnpCVTtFQUNFLG1CQVJ1QztBbkJrMEJuRDs7QUVucUJNO0VpQjdKSTtJQUNFLGdCQUhlO0VuQnUwQnpCO0VtQnIwQlE7SUFDRSxpQkFIc0I7RW5CMDBCaEM7RW1CeDBCUTtJQUNFLGtCQUg4QjtFbkI2MEJ4QztFbUIzMEJRO0lBQ0UsbUJBSHVDO0VuQmcxQmpEO0FBQ0Y7O0FFbHJCTTtFaUI3Skk7SUFDRSxnQkFIZTtFbkJzMUJ6QjtFbUJwMUJRO0lBQ0UsaUJBSHNCO0VuQnkxQmhDO0VtQnYxQlE7SUFDRSxrQkFIOEI7RW5CNDFCeEM7RW1CMTFCUTtJQUNFLG1CQUh1QztFbkIrMUJqRDtBQUNGOztBRTVyQk07RWlCbEtJO0lBQ0UsZ0JBSGU7RW5CcTJCekI7RW1CbjJCUTtJQUNFLGlCQUhzQjtFbkJ3MkJoQztFbUJ0MkJRO0lBQ0Usa0JBSDhCO0VuQjIyQnhDO0VtQnoyQlE7SUFDRSxtQkFIdUM7RW5CODJCakQ7QUFDRjs7QUUzc0JNO0VpQmxLSTtJQUNFLGdCQUhlO0VuQm8zQnpCO0VtQmwzQlE7SUFDRSxpQkFIc0I7RW5CdTNCaEM7RW1CcjNCUTtJQUNFLGtCQUg4QjtFbkIwM0J4QztFbUJ4M0JRO0lBQ0UsbUJBSHVDO0VuQjYzQmpEO0FBQ0Y7O0FvQnAzQkU7RUFBa0Isd0JBQXdCO0FwQnczQjVDOztBb0J0M0JFO0VBQ0U7SUFFSSxrQ0FBa0M7SUFHcEMsbUNBQTJCO1lBQTNCLDJCQUEyQjtJQUUzQix1QkFBdUI7SUFDdkIsNEJBQTRCO0VwQnEzQmhDO0VvQmg0QkE7SUFjb0IseUJBQXlCO0VwQnEzQjdDO0VvQnAzQkU7SUFBa0Isd0JBQXdCO0VwQnUzQjVDO0VvQnIzQkU7SUFBdUIseUJBQXlCO0VwQnczQmxEO0VvQnYzQkU7SUFBdUIsc0NBQXNDO0VwQjAzQi9EO0VvQnozQkU7SUFBdUIsbUNBQW1DO0VwQjQzQjVEO0VvQjMzQkU7SUFBb0IsNkJBQTZCO0VwQjgzQm5EO0VvQjczQkU7SUFBb0IsOEJBQThCO0VwQmc0QnBEO0VvQi8zQkU7SUFBb0IsOEJBQThCO0VwQms0QnBEO0VvQi8zQkU7O0lBQ1ksMEJBQTBCO0VwQms0QnhDO0VvQmg0Qkk7SUFBZ0IsNEJBQTRCO0VwQm00QmhEO0VvQi8zQkU7OztJQUVxQixXQUFXO0VwQms0QmxDO0VvQi8zQkU7SUFBb0IsNkJBQTZCO0VwQms0Qm5EO0VvQi8zQkU7O0lBRUUseUJmZmE7SWVnQmIsd0JBQXdCO0VwQmk0QjVCO0VvQjczQkU7SUFBUSwyQkFBMkI7RXBCZzRCckM7RW9COTNCRTs7SUFDTSx3QkFBd0I7RXBCaTRCaEM7RUloMUJBO0lnQi9DUSwwQkFBMEI7RXBCazRCbEM7RW9CaDRCRTtJQUFRLGFBQWE7RXBCbTRCdkI7RW9CajRCRTs7O0lBR0UsVUFBVTtJQUNWLFNBQVM7RXBCbTRCYjtFb0IvM0JFOztJQUNLLHVCQUF1QjtFcEJrNEI5QjtFb0IvM0JFO0lBQ0UsdUJBQXVCO0VwQmk0QjNCO0FBQ0Y7O0FxQjU4QkU7RUM2QkksdUJBQTZEO0VBQTdELHNCQUE2RDtFQ3ZCakUsaUJoQk1xQjtFZ0JMckIsaUJBQWlCO0VBQ2pCLGtCQUFrQjtBdkI0OEJwQjs7QXFCcDlCRTtFQzZCSSx1QkFBNkQ7RUFBN0Qsc0JBQTZEO0VDdkJqRSxlRkZtQztFRUduQyxpQkFBaUI7RUFDakIsa0JBQWtCO0F2Qm85QnBCOztBcUI1OUJFO0VDNkJJLGdCQUE2RDtFQUE3RCxlQUE2RDtFQ3ZCakUsZUZFbUM7RUVEbkMsaUJBQWlCO0VBQ2pCLGtCQUFrQjtBdkI0OUJwQjs7QXFCdjlCRTtFRVNBLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsOEJBSHFCO0VBR3JCLDZCQUhxQjtNQUdyQix1QkFIcUI7VUFHckIsbUJBSHFCO0F2QnE5QnZCOztBcUJ4OUJFO0VHcUJFLG1CQUFjO01BQWQsa0JBQWM7VUFBZCxjQUFjO0VBQ2QsZUFBZTtFQUNmLGNBQWM7RUFzQ2QsV0FEb0Q7QXhCbTZCeEQ7O0FxQi85QkU7RUcwQkUsbUJBQWE7TUFBYixpQkFBYTtVQUFiLGFBQWE7QXhCeThCakI7O0FxQm4rQkU7RUc2QkUsbUJBQWM7TUFBZCxrQkFBYztVQUFkLGNBQWM7QXhCMDhCbEI7O0FxQjE5QkU7RUd3Q0UsV0FBbUI7QXhCczdCdkI7O0FxQjk5QkU7RUc0Q0UsV0FBbUI7QXhCczdCdkI7O0FxQmw5Qkk7RUFNSSw2QkFBZ0I7TUFBaEIsZ0JBQWdCO0FyQmc5QnhCOztBRTEyQk07RW1CNUdGO0lBTUksNkJBQWdCO1FBQWhCLGdCQUFnQjtFckJxOUJ0QjtBQUNGOztBRWgzQk07RW1CNUdGO0lBTUksNkJBQWdCO1FBQWhCLGdCQUFnQjtFckIyOUJ0QjtBQUNGOztBRWozQk07RW1CakhGO0lBTUksNkJBQWdCO1FBQWhCLGdCQUFnQjtFckJpK0J0QjtBQUNGOztBRXYzQk07RW1CakhGO0lBTUksNkJBQWdCO1FBQWhCLGdCQUFnQjtFckJ1K0J0QjtBQUNGOztBcUIxOUJJO0VHcEJBLG1CQUFjO01BQWQsa0JBQWM7VUFBZCxjQUFjO0F4QmsvQmxCOztBcUIvOEJNO0VHSEYsZUFEb0Q7QXhCdTlCeEQ7O0FxQm45Qk07RUdIRixnQkFEb0Q7QXhCMjlCeEQ7O0FxQnY5Qk07RUdIRixVQURvRDtBeEIrOUJ4RDs7QXFCMzlCTTtFR0hGLGdCQURvRDtBeEJtK0J4RDs7QXFCLzlCTTtFR0hGLGdCQURvRDtBeEJ1K0J4RDs7QXFCbitCTTtFR0hGLFVBRG9EO0F4QjIrQnhEOztBcUJ2K0JNO0VHSEYsZ0JBRG9EO0F4QisrQnhEOztBcUIzK0JNO0VHSEYsZ0JBRG9EO0F4Qm0vQnhEOztBcUIvK0JNO0VHSEYsVUFEb0Q7QXhCdS9CeEQ7O0FxQm4vQk07RUdIRixnQkFEb0Q7QXhCMi9CeEQ7O0FxQnYvQk07RUdIRixnQkFEb0Q7QXhCKy9CeEQ7O0FxQjMvQk07RUdIRixXQURvRDtBeEJtZ0N4RDs7QUV0N0JNO0VtQjlGQTtJR2pCRixtQkFBYTtRQUFiLGlCQUFhO1lBQWIsYUFBYTtJQTJCYixXQUFtQjtFeEJnaENyQjtFcUJwaENFO0lHcEJBLG1CQUFjO1FBQWQsa0JBQWM7WUFBZCxjQUFjO0V4QjJpQ2hCO0VxQmpoQ0k7SUdFRixXQUFtQjtFeEJraENyQjtFcUIzZ0NJO0lHSEYsZUFEb0Q7RXhCa2hDdEQ7RXFCOWdDSTtJR0hGLGdCQURvRDtFeEJxaEN0RDtFcUJqaENJO0lHSEYsVUFEb0Q7RXhCd2hDdEQ7RXFCcGhDSTtJR0hGLGdCQURvRDtFeEIyaEN0RDtFcUJ2aENJO0lHSEYsZ0JBRG9EO0V4QjhoQ3REO0VxQjFoQ0k7SUdIRixVQURvRDtFeEJpaUN0RDtFcUI3aENJO0lHSEYsZ0JBRG9EO0V4Qm9pQ3REO0VxQmhpQ0k7SUdIRixnQkFEb0Q7RXhCdWlDdEQ7RXFCbmlDSTtJR0hGLFVBRG9EO0V4QjBpQ3REO0VxQnRpQ0k7SUdIRixnQkFEb0Q7RXhCNmlDdEQ7RXFCemlDSTtJR0hGLGdCQURvRDtFeEJnakN0RDtFcUI1aUNJO0lHSEYsV0FEb0Q7RXhCbWpDdEQ7QUFDRjs7QUV2K0JNO0VtQjlGQTtJR2pCRixtQkFBYTtRQUFiLGlCQUFhO1lBQWIsYUFBYTtJQTJCYixXQUFtQjtFeEJpa0NyQjtFcUJya0NFO0lHcEJBLG1CQUFjO1FBQWQsa0JBQWM7WUFBZCxjQUFjO0V4QjRsQ2hCO0VxQmxrQ0k7SUdFRixXQUFtQjtFeEJta0NyQjtFcUI1akNJO0lHSEYsZUFEb0Q7RXhCbWtDdEQ7RXFCL2pDSTtJR0hGLGdCQURvRDtFeEJza0N0RDtFcUJsa0NJO0lHSEYsVUFEb0Q7RXhCeWtDdEQ7RXFCcmtDSTtJR0hGLGdCQURvRDtFeEI0a0N0RDtFcUJ4a0NJO0lHSEYsZ0JBRG9EO0V4QitrQ3REO0VxQjNrQ0k7SUdIRixVQURvRDtFeEJrbEN0RDtFcUI5a0NJO0lHSEYsZ0JBRG9EO0V4QnFsQ3REO0VxQmpsQ0k7SUdIRixnQkFEb0Q7RXhCd2xDdEQ7RXFCcGxDSTtJR0hGLFVBRG9EO0V4QjJsQ3REO0VxQnZsQ0k7SUdIRixnQkFEb0Q7RXhCOGxDdEQ7RXFCMWxDSTtJR0hGLGdCQURvRDtFeEJpbUN0RDtFcUI3bENJO0lHSEYsV0FEb0Q7RXhCb21DdEQ7QUFDRjs7QUVuaENNO0VtQm5HQTtJR2pCRixtQkFBYTtRQUFiLGlCQUFhO1lBQWIsYUFBYTtJQTJCYixXQUFtQjtFeEJrbkNyQjtFcUJ0bkNFO0lHcEJBLG1CQUFjO1FBQWQsa0JBQWM7WUFBZCxjQUFjO0V4QjZvQ2hCO0VxQm5uQ0k7SUdFRixXQUFtQjtFeEJvbkNyQjtFcUI3bUNJO0lHSEYsZUFEb0Q7RXhCb25DdEQ7RXFCaG5DSTtJR0hGLGdCQURvRDtFeEJ1bkN0RDtFcUJubkNJO0lHSEYsVUFEb0Q7RXhCMG5DdEQ7RXFCdG5DSTtJR0hGLGdCQURvRDtFeEI2bkN0RDtFcUJ6bkNJO0lHSEYsZ0JBRG9EO0V4QmdvQ3REO0VxQjVuQ0k7SUdIRixVQURvRDtFeEJtb0N0RDtFcUIvbkNJO0lHSEYsZ0JBRG9EO0V4QnNvQ3REO0VxQmxvQ0k7SUdIRixnQkFEb0Q7RXhCeW9DdEQ7RXFCcm9DSTtJR0hGLFVBRG9EO0V4QjRvQ3REO0VxQnhvQ0k7SUdIRixnQkFEb0Q7RXhCK29DdEQ7RXFCM29DSTtJR0hGLGdCQURvRDtFeEJrcEN0RDtFcUI5b0NJO0lHSEYsV0FEb0Q7RXhCcXBDdEQ7QUFDRjs7QUVwa0NNO0VtQm5HQTtJR2pCRixtQkFBYTtRQUFiLGlCQUFhO1lBQWIsYUFBYTtJQTJCYixXQUFtQjtFeEJtcUNyQjtFcUJ2cUNFO0lHcEJBLG1CQUFjO1FBQWQsa0JBQWM7WUFBZCxjQUFjO0V4QjhyQ2hCO0VxQnBxQ0k7SUdFRixXQUFtQjtFeEJxcUNyQjtFcUI5cENJO0lHSEYsZUFEb0Q7RXhCcXFDdEQ7RXFCanFDSTtJR0hGLGdCQURvRDtFeEJ3cUN0RDtFcUJwcUNJO0lHSEYsVUFEb0Q7RXhCMnFDdEQ7RXFCdnFDSTtJR0hGLGdCQURvRDtFeEI4cUN0RDtFcUIxcUNJO0lHSEYsZ0JBRG9EO0V4QmlyQ3REO0VxQjdxQ0k7SUdIRixVQURvRDtFeEJvckN0RDtFcUJockNJO0lHSEYsZ0JBRG9EO0V4QnVyQ3REO0VxQm5yQ0k7SUdIRixnQkFEb0Q7RXhCMHJDdEQ7RXFCdHJDSTtJR0hGLFVBRG9EO0V4QjZyQ3REO0VxQnpyQ0k7SUdIRixnQkFEb0Q7RXhCZ3NDdEQ7RXFCNXJDSTtJR0hGLGdCQURvRDtFeEJtc0N0RDtFcUIvckNJO0lHSEYsV0FEb0Q7RXhCc3NDdEQ7QUFDRjs7QXFCM3JDRTtFQUNFLFdBQVc7QXJCOHJDZjs7QXFCMXJDRTtFQUNFLFlBQVk7QXJCNnJDaEI7O0FxQi9wQ0U7RUN6R00sc0JBQTZEO0VBQTdELHVCQUE2RDtBdEI2d0NyRTs7QUV2b0NNO0VtQjdCSjtJQ3pHTSx1QkFBNkQ7SUFBN0Qsd0JBQTZEO0V0Qm14Q25FO0FBQ0Y7O0FxQjNxQ0U7RUcxREUsMkJBRDRFO0VGckMxRSxxQkFBNkQ7RUFBN0Qsc0JBQTZEO0F0Qml4Q25FOztBRXBwQ007RW1CN0JKO0lHMURFLDRCQUQ0RTtJRnJDMUUsc0JBQTZEO0lBQTdELHVCQUE2RDtFdEJ3eENqRTtBQUNGOztBcUJqdENFO0VHL0JFLFdBQW1CO0F4Qm92Q3ZCOztBcUJqdENFO0VHL0JFLFdBQW1CO0F4Qm92Q3ZCOztBcUI3c0NJO0VHbkNBLCtCQURnSDtBeEJxdkNwSDs7QXFCanRDSTtFR25DQSxnQ0FEZ0g7QXhCeXZDcEg7O0FxQnJ0Q0k7RUduQ0EsMEJBRGdIO0F4QjZ2Q3BIOztBcUJ6dENJO0VHbkNBLGdDQURnSDtBeEJpd0NwSDs7QXFCN3RDSTtFR25DQSxnQ0FEZ0g7QXhCcXdDcEg7O0FxQmp1Q0k7RUduQ0EsMEJBRGdIO0F4Qnl3Q3BIOztBcUJydUNJO0VHbkNBLGdDQURnSDtBeEI2d0NwSDs7QXFCenVDSTtFR25DQSxnQ0FEZ0g7QXhCaXhDcEg7O0FxQjd1Q0k7RUduQ0EsMEJBRGdIO0F4QnF4Q3BIOztBcUJqdkNJO0VHbkNBLGdDQURnSDtBeEJ5eENwSDs7QXFCcnZDSTtFR25DQSxnQ0FEZ0g7QXhCNnhDcEg7O0FxQnp2Q0k7RUduQ0EsMkJBRGdIO0F4Qml5Q3BIOztBRXB0Q007RW1CckRKO0lHL0JFLFdBQW1CO0V4QjZ5Q3JCO0VxQjF3Q0E7SUcvQkUsV0FBbUI7RXhCNHlDckI7RXFCcndDRTtJR25DQSxnQ0FEZ0g7RXhCNHlDbEg7RXFCeHdDRTtJR25DQSxpQ0FEZ0g7RXhCK3lDbEg7RXFCM3dDRTtJR25DQSwyQkFEZ0g7RXhCa3pDbEg7RXFCOXdDRTtJR25DQSxpQ0FEZ0g7RXhCcXpDbEg7RXFCanhDRTtJR25DQSxpQ0FEZ0g7RXhCd3pDbEg7RXFCcHhDRTtJR25DQSwyQkFEZ0g7RXhCMnpDbEg7RXFCdnhDRTtJR25DQSxpQ0FEZ0g7RXhCOHpDbEg7RXFCMXhDRTtJR25DQSxpQ0FEZ0g7RXhCaTBDbEg7RXFCN3hDRTtJR25DQSwyQkFEZ0g7RXhCbzBDbEg7RXFCaHlDRTtJR25DQSxpQ0FEZ0g7RXhCdTBDbEg7RXFCbnlDRTtJR25DQSxpQ0FEZ0g7RXhCMDBDbEg7RXFCdHlDRTtJR25DQSw0QkFEZ0g7RXhCNjBDbEg7RXFCcnpDQTtJRy9CRSxXQUFtQjtFeEJ1MUNyQjtFcUJwekNBO0lHL0JFLFdBQW1CO0V4QnMxQ3JCO0VxQi95Q0U7SUduQ0EsZ0NBRGdIO0V4QnMxQ2xIO0VxQmx6Q0U7SUduQ0EsaUNBRGdIO0V4QnkxQ2xIO0VxQnJ6Q0U7SUduQ0EsMkJBRGdIO0V4QjQxQ2xIO0VxQnh6Q0U7SUduQ0EsaUNBRGdIO0V4QisxQ2xIO0VxQjN6Q0U7SUduQ0EsaUNBRGdIO0V4QmsyQ2xIO0VxQjl6Q0U7SUduQ0EsMkJBRGdIO0V4QnEyQ2xIO0VxQmowQ0U7SUduQ0EsaUNBRGdIO0V4QncyQ2xIO0VxQnAwQ0U7SUduQ0EsaUNBRGdIO0V4QjIyQ2xIO0VxQnYwQ0U7SUduQ0EsMkJBRGdIO0V4QjgyQ2xIO0VxQjEwQ0U7SUduQ0EsaUNBRGdIO0V4QmkzQ2xIO0VxQjcwQ0U7SUduQ0EsaUNBRGdIO0V4Qm8zQ2xIO0VxQmgxQ0U7SUduQ0EsNEJBRGdIO0V4QnUzQ2xIO0FBQ0Y7O0FFM3lDTTtFbUJyREo7SUcvQkUsV0FBbUI7RXhCbzRDckI7RXFCajJDQTtJRy9CRSxXQUFtQjtFeEJtNENyQjtFcUI1MUNFO0lHbkNBLGdDQURnSDtFeEJtNENsSDtFcUIvMUNFO0lHbkNBLGlDQURnSDtFeEJzNENsSDtFcUJsMkNFO0lHbkNBLDJCQURnSDtFeEJ5NENsSDtFcUJyMkNFO0lHbkNBLGlDQURnSDtFeEI0NENsSDtFcUJ4MkNFO0lHbkNBLGlDQURnSDtFeEIrNENsSDtFcUIzMkNFO0lHbkNBLDJCQURnSDtFeEJrNUNsSDtFcUI5MkNFO0lHbkNBLGlDQURnSDtFeEJxNUNsSDtFcUJqM0NFO0lHbkNBLGlDQURnSDtFeEJ3NUNsSDtFcUJwM0NFO0lHbkNBLDJCQURnSDtFeEIyNUNsSDtFcUJ2M0NFO0lHbkNBLGlDQURnSDtFeEI4NUNsSDtFcUIxM0NFO0lHbkNBLGlDQURnSDtFeEJpNkNsSDtFcUI3M0NFO0lHbkNBLDRCQURnSDtFeEJvNkNsSDtBQUNGOztBRW4xQ007RW1CMURKO0lHL0JFLFdBQW1CO0V4Qmk3Q3JCO0VxQjk0Q0E7SUcvQkUsV0FBbUI7RXhCZzdDckI7RXFCejRDRTtJR25DQSxnQ0FEZ0g7RXhCZzdDbEg7RXFCNTRDRTtJR25DQSxpQ0FEZ0g7RXhCbTdDbEg7RXFCLzRDRTtJR25DQSwyQkFEZ0g7RXhCczdDbEg7RXFCbDVDRTtJR25DQSxpQ0FEZ0g7RXhCeTdDbEg7RXFCcjVDRTtJR25DQSxpQ0FEZ0g7RXhCNDdDbEg7RXFCeDVDRTtJR25DQSwyQkFEZ0g7RXhCKzdDbEg7RXFCMzVDRTtJR25DQSxpQ0FEZ0g7RXhCazhDbEg7RXFCOTVDRTtJR25DQSxpQ0FEZ0g7RXhCcThDbEg7RXFCajZDRTtJR25DQSwyQkFEZ0g7RXhCdzhDbEg7RXFCcDZDRTtJR25DQSxpQ0FEZ0g7RXhCMjhDbEg7RXFCdjZDRTtJR25DQSxpQ0FEZ0g7RXhCODhDbEg7RXFCMTZDRTtJR25DQSw0QkFEZ0g7RXhCaTlDbEg7QUFDRjs7QUVoNENNO0VtQjFESjtJRy9CRSxXQUFtQjtFeEI4OUNyQjtFcUIzN0NBO0lHL0JFLFdBQW1CO0V4QjY5Q3JCO0VxQnQ3Q0U7SUduQ0EsZ0NBRGdIO0V4QjY5Q2xIO0VxQno3Q0U7SUduQ0EsaUNBRGdIO0V4QmcrQ2xIO0VxQjU3Q0U7SUduQ0EsMkJBRGdIO0V4Qm0rQ2xIO0VxQi83Q0U7SUduQ0EsaUNBRGdIO0V4QnMrQ2xIO0VxQmw4Q0U7SUduQ0EsaUNBRGdIO0V4QnkrQ2xIO0VxQnI4Q0U7SUduQ0EsMkJBRGdIO0V4QjQrQ2xIO0VxQng4Q0U7SUduQ0EsaUNBRGdIO0V4QisrQ2xIO0VxQjM4Q0U7SUduQ0EsaUNBRGdIO0V4QmsvQ2xIO0VxQjk4Q0U7SUduQ0EsMkJBRGdIO0V4QnEvQ2xIO0VxQmo5Q0U7SUduQ0EsaUNBRGdIO0V4QncvQ2xIO0VxQnA5Q0U7SUduQ0EsaUNBRGdIO0V4QjIvQ2xIO0VxQnY5Q0U7SUduQ0EsNEJBRGdIO0V4QjgvQ2xIO0FBQ0Y7O0FxQjM2Q0U7RUM3SU0sdUJBQTZEO0VBQTdELHNCQUE2RDtBdEI2akRyRTs7QUV2N0NNO0VtQk9KO0lDN0lNLHdCQUE2RDtJQUE3RCx1QkFBNkQ7RXRCbWtEbkU7QUFDRjs7QXFCOTZDSTtFQ3RKSSx1QkFBNkQ7RUFBN0Qsc0JBQTZEO0F0QnlrRHJFOztBRW44Q007RW1CZ0JGO0lDdEpJLHdCQUE2RDtJQUE3RCx1QkFBNkQ7RXRCK2tEbkU7QUFDRjs7QXFCbjhDRTtFQzdJTSx1QkFBNkQ7RUFBN0Qsc0JBQTZEO0F0QnFsRHJFOztBRS84Q007RW1CT0o7SUM3SU0sd0JBQTZEO0lBQTdELHVCQUE2RDtFdEIybERuRTtBQUNGOztBeUI5bERFO0VENERFLFdBRG9EO0F4QnVpRHhEOztBeUJsbURFO0VENERFLFVBRG9EO0F4QjJpRHhEOztBeUJ0bURFO0VENERFLGdCQURvRDtBeEIraUR4RDs7QXlCMW1ERTtFRDRERSxVQURvRDtBeEJtakR4RDs7QXlCOW1ERTtFRDRERSxVQURvRDtBeEJ1akR4RDs7QXlCbG5ERTtFRDRERSxnQkFEb0Q7QXhCMmpEeEQ7O0F5QnRuREU7RUQ0REUsZ0JBRG9EO0F4QitqRHhEOztBeUIxbkRFO0VENERFLFlBRG9EO0F4Qm1rRHhEOztBRXQvQ007RXVCeElKO0lENERFLFdBRG9EO0V4QndrRHREO0V5Qm5vREE7SUQ0REUsVUFEb0Q7RXhCMmtEdEQ7RXlCdG9EQTtJRDRERSxnQkFEb0Q7RXhCOGtEdEQ7RXlCem9EQTtJRDRERSxVQURvRDtFeEJpbER0RDtFeUI1b0RBO0lENERFLFVBRG9EO0V4Qm9sRHREO0V5Qi9vREE7SUQ0REUsZ0JBRG9EO0V4QnVsRHREO0V5QmxwREE7SUQ0REUsZ0JBRG9EO0V4QjBsRHREO0V5QnJwREE7SUQ0REUsWUFEb0Q7RXhCNmxEdEQ7QUFDRjs7QUVqaERNO0V1QnhJSjtJRDRERSxXQURvRDtFeEJtbUR0RDtFeUI5cERBO0lENERFLFVBRG9EO0V4QnNtRHREO0V5QmpxREE7SUQ0REUsZ0JBRG9EO0V4QnltRHREO0V5QnBxREE7SUQ0REUsVUFEb0Q7RXhCNG1EdEQ7RXlCdnFEQTtJRDRERSxVQURvRDtFeEIrbUR0RDtFeUIxcURBO0lENERFLGdCQURvRDtFeEJrbkR0RDtFeUI3cURBO0lENERFLGdCQURvRDtFeEJxbkR0RDtFeUJockRBO0lENERFLFlBRG9EO0V4QnduRHREO0FBQ0Y7O0FFdmlETTtFdUI3SUo7SUQ0REUsV0FEb0Q7RXhCOG5EdEQ7RXlCenJEQTtJRDRERSxVQURvRDtFeEJpb0R0RDtFeUI1ckRBO0lENERFLGdCQURvRDtFeEJvb0R0RDtFeUIvckRBO0lENERFLFVBRG9EO0V4QnVvRHREO0V5QmxzREE7SUQ0REUsVUFEb0Q7RXhCMG9EdEQ7RXlCcnNEQTtJRDRERSxnQkFEb0Q7RXhCNm9EdEQ7RXlCeHNEQTtJRDRERSxnQkFEb0Q7RXhCZ3BEdEQ7RXlCM3NEQTtJRDRERSxZQURvRDtFeEJtcER0RDtBQUNGOztBRWxrRE07RXVCN0lKO0lENERFLFdBRG9EO0V4QnlwRHREO0V5QnB0REE7SUQ0REUsVUFEb0Q7RXhCNHBEdEQ7RXlCdnREQTtJRDRERSxnQkFEb0Q7RXhCK3BEdEQ7RXlCMXREQTtJRDRERSxVQURvRDtFeEJrcUR0RDtFeUI3dERBO0lENERFLFVBRG9EO0V4QnFxRHREO0V5Qmh1REE7SUQ0REUsZ0JBRG9EO0V4QndxRHREO0V5Qm51REE7SUQ0REUsZ0JBRG9EO0V4QjJxRHREO0V5QnR1REE7SUQ0REUsWUFEb0Q7RXhCOHFEdEQ7QUFDRjs7QXlCMXVERTtFRDRERSwyQkFEZ0g7QXhCbXJEcEg7O0F5Qjl1REU7RUQ0REUsMEJBRGdIO0F4QnVyRHBIOztBeUJsdkRFO0VENERFLGdDQURnSDtBeEIyckRwSDs7QXlCdHZERTtFRDRERSwwQkFEZ0g7QXhCK3JEcEg7O0F5QjF2REU7RUQ0REUsMEJBRGdIO0F4Qm1zRHBIOztBeUI5dkRFO0VENERFLGdDQURnSDtBeEJ1c0RwSDs7QXlCbHdERTtFRDRERSxnQ0FEZ0g7QXhCMnNEcEg7O0F5QnR3REU7RUQ0REUsNEJBRGdIO0F4QitzRHBIOztBRWxvRE07RXVCeElKO0lENERFLDRCQURnSDtFeEJvdERsSDtFeUIvd0RBO0lENERFLDJCQURnSDtFeEJ1dERsSDtFeUJseERBO0lENERFLGlDQURnSDtFeEIwdERsSDtFeUJyeERBO0lENERFLDJCQURnSDtFeEI2dERsSDtFeUJ4eERBO0lENERFLDJCQURnSDtFeEJndURsSDtFeUIzeERBO0lENERFLGlDQURnSDtFeEJtdURsSDtFeUI5eERBO0lENERFLGlDQURnSDtFeEJzdURsSDtFeUJqeURBO0lENERFLDZCQURnSDtFeEJ5dURsSDtFeUJweURBO0lENERFLDRCQURnSDtFeEI0dURsSDtFeUJ2eURBO0lENERFLDJCQURnSDtFeEIrdURsSDtFeUIxeURBO0lENERFLGlDQURnSDtFeEJrdkRsSDtFeUI3eURBO0lENERFLDJCQURnSDtFeEJxdkRsSDtFeUJoekRBO0lENERFLDJCQURnSDtFeEJ3dkRsSDtFeUJuekRBO0lENERFLGlDQURnSDtFeEIydkRsSDtFeUJ0ekRBO0lENERFLGlDQURnSDtFeEI4dkRsSDtFeUJ6ekRBO0lENERFLDZCQURnSDtFeEJpd0RsSDtBQUNGOztBRXJyRE07RXVCeElKO0lENERFLDRCQURnSDtFeEJ1d0RsSDtFeUJsMERBO0lENERFLDJCQURnSDtFeEIwd0RsSDtFeUJyMERBO0lENERFLGlDQURnSDtFeEI2d0RsSDtFeUJ4MERBO0lENERFLDJCQURnSDtFeEJneERsSDtFeUIzMERBO0lENERFLDJCQURnSDtFeEJteERsSDtFeUI5MERBO0lENERFLGlDQURnSDtFeEJzeERsSDtFeUJqMURBO0lENERFLGlDQURnSDtFeEJ5eERsSDtFeUJwMURBO0lENERFLDZCQURnSDtFeEI0eERsSDtBQUNGOztBRTNzRE07RXVCN0lKO0lENERFLDRCQURnSDtFeEJreURsSDtFeUI3MURBO0lENERFLDJCQURnSDtFeEJxeURsSDtFeUJoMkRBO0lENERFLGlDQURnSDtFeEJ3eURsSDtFeUJuMkRBO0lENERFLDJCQURnSDtFeEIyeURsSDtFeUJ0MkRBO0lENERFLDJCQURnSDtFeEI4eURsSDtFeUJ6MkRBO0lENERFLGlDQURnSDtFeEJpekRsSDtFeUI1MkRBO0lENERFLGlDQURnSDtFeEJvekRsSDtFeUIvMkRBO0lENERFLDZCQURnSDtFeEJ1ekRsSDtBQUNGOztBRXR1RE07RXVCN0lKO0lENERFLDRCQURnSDtFeEI2ekRsSDtFeUJ4M0RBO0lENERFLDJCQURnSDtFeEJnMERsSDtFeUIzM0RBO0lENERFLGlDQURnSDtFeEJtMERsSDtFeUI5M0RBO0lENERFLDJCQURnSDtFeEJzMERsSDtFeUJqNERBO0lENERFLDJCQURnSDtFeEJ5MERsSDtFeUJwNERBO0lENERFLGlDQURnSDtFeEI0MERsSDtFeUJ2NERBO0lENERFLGlDQURnSDtFeEIrMERsSDtFeUIxNERBO0lENERFLDZCQURnSDtFeEJrMURsSDtBQUNGOztBcUJuc0RNO0VLaE5FLGVBQTBCO0VBQTFCLGNBQTBCO0ExQnc1RGxDOztBMEJyNURNO0VBRUksZUFBMEI7RUFBMUIsY0FBMEI7QTFCdzVEcEM7O0EwQmw0RFk7RUZzQ1IsZUFEb0Q7QXhCaTJEeEQ7O0EwQnQ0RFk7RUZzQ1IsZ0JBRG9EO0F4QnEyRHhEOztBMEIxNERZO0VGc0NSLFVBRG9EO0F4QnkyRHhEOztBMEI5NERZO0VGc0NSLGdCQURvRDtBeEI2MkR4RDs7QTBCbDVEWTtFRnNDUixnQkFEb0Q7QXhCaTNEeEQ7O0EwQnQ1RFk7RUZzQ1IsVUFEb0Q7QXhCcTNEeEQ7O0EwQjE1RFk7RUZzQ1IsZ0JBRG9EO0F4QnkzRHhEOztBMEI5NURZO0VGc0NSLGdCQURvRDtBeEI2M0R4RDs7QTBCbDZEWTtFRnNDUixVQURvRDtBeEJpNER4RDs7QTBCdDZEWTtFRnNDUixnQkFEb0Q7QXhCcTREeEQ7O0EwQjE2RFk7RUZzQ1IsZ0JBRG9EO0F4Qnk0RHhEOztBMEI5NkRZO0VGc0NSLFdBRG9EO0F4QjY0RHhEOztBRWgwRE07RXdCbEhNO0lGc0NSLGVBRG9EO0V4Qms1RHREO0UwQnY3RFU7SUZzQ1IsZ0JBRG9EO0V4QnE1RHREO0UwQjE3RFU7SUZzQ1IsVUFEb0Q7RXhCdzVEdEQ7RTBCNzdEVTtJRnNDUixnQkFEb0Q7RXhCMjVEdEQ7RTBCaDhEVTtJRnNDUixnQkFEb0Q7RXhCODVEdEQ7RTBCbjhEVTtJRnNDUixVQURvRDtFeEJpNkR0RDtFMEJ0OERVO0lGc0NSLGdCQURvRDtFeEJvNkR0RDtFMEJ6OERVO0lGc0NSLGdCQURvRDtFeEJ1NkR0RDtFMEI1OERVO0lGc0NSLFVBRG9EO0V4QjA2RHREO0UwQi84RFU7SUZzQ1IsZ0JBRG9EO0V4QjY2RHREO0UwQmw5RFU7SUZzQ1IsZ0JBRG9EO0V4Qmc3RHREO0UwQnI5RFU7SUZzQ1IsV0FEb0Q7RXhCbTdEdEQ7QUFDRjs7QUV2MkRNO0V3QmxITTtJRnNDUixlQURvRDtFeEJ5N0R0RDtFMEI5OURVO0lGc0NSLGdCQURvRDtFeEI0N0R0RDtFMEJqK0RVO0lGc0NSLFVBRG9EO0V4Qis3RHREO0UwQnArRFU7SUZzQ1IsZ0JBRG9EO0V4Qms4RHREO0UwQnYrRFU7SUZzQ1IsZ0JBRG9EO0V4QnE4RHREO0UwQjErRFU7SUZzQ1IsVUFEb0Q7RXhCdzhEdEQ7RTBCNytEVTtJRnNDUixnQkFEb0Q7RXhCMjhEdEQ7RTBCaC9EVTtJRnNDUixnQkFEb0Q7RXhCODhEdEQ7RTBCbi9EVTtJRnNDUixVQURvRDtFeEJpOUR0RDtFMEJ0L0RVO0lGc0NSLGdCQURvRDtFeEJvOUR0RDtFMEJ6L0RVO0lGc0NSLGdCQURvRDtFeEJ1OUR0RDtFMEI1L0RVO0lGc0NSLFdBRG9EO0V4QjA5RHREO0FBQ0Y7O0FFejRETTtFd0J2SE07SUZzQ1IsZUFEb0Q7RXhCZytEdEQ7RTBCcmdFVTtJRnNDUixnQkFEb0Q7RXhCbStEdEQ7RTBCeGdFVTtJRnNDUixVQURvRDtFeEJzK0R0RDtFMEIzZ0VVO0lGc0NSLGdCQURvRDtFeEJ5K0R0RDtFMEI5Z0VVO0lGc0NSLGdCQURvRDtFeEI0K0R0RDtFMEJqaEVVO0lGc0NSLFVBRG9EO0V4QisrRHREO0UwQnBoRVU7SUZzQ1IsZ0JBRG9EO0V4QmsvRHREO0UwQnZoRVU7SUZzQ1IsZ0JBRG9EO0V4QnEvRHREO0UwQjFoRVU7SUZzQ1IsVUFEb0Q7RXhCdy9EdEQ7RTBCN2hFVTtJRnNDUixnQkFEb0Q7RXhCMi9EdEQ7RTBCaGlFVTtJRnNDUixnQkFEb0Q7RXhCOC9EdEQ7RTBCbmlFVTtJRnNDUixXQURvRDtFeEJpZ0V0RDtBQUNGOztBRWg3RE07RXdCdkhNO0lGc0NSLGVBRG9EO0V4QnVnRXREO0UwQjVpRVU7SUZzQ1IsZ0JBRG9EO0V4QjBnRXREO0UwQi9pRVU7SUZzQ1IsVUFEb0Q7RXhCNmdFdEQ7RTBCbGpFVTtJRnNDUixnQkFEb0Q7RXhCZ2hFdEQ7RTBCcmpFVTtJRnNDUixnQkFEb0Q7RXhCbWhFdEQ7RTBCeGpFVTtJRnNDUixVQURvRDtFeEJzaEV0RDtFMEIzakVVO0lGc0NSLGdCQURvRDtFeEJ5aEV0RDtFMEI5akVVO0lGc0NSLGdCQURvRDtFeEI0aEV0RDtFMEJqa0VVO0lGc0NSLFVBRG9EO0V4QitoRXREO0UwQnBrRVU7SUZzQ1IsZ0JBRG9EO0V4QmtpRXREO0UwQnZrRVU7SUZzQ1IsZ0JBRG9EO0V4QnFpRXREO0UwQjFrRVU7SUZzQ1IsV0FEb0Q7RXhCd2lFdEQ7QUFDRjs7QXFCbjVETTtFSy9LRSxlQUEwQjtFQUExQixjQUEwQjtBMUJ1a0VsQzs7QTBCcGtFTTtFQUVJLGdCQUE0QjtFQUE1QixlQUE0QjtBMUJ1a0V0Qzs7QUV0K0RNO0VtQm1FQTtJS2hORSxlQUEwQjtJQUExQixjQUEwQjtFMUJ5bkVoQztFMEJ0bkVJO0lBRUksZUFBMEI7SUFBMUIsY0FBMEI7RTFCd25FbEM7QUFDRjs7QUVqL0RNO0V3QjNITTtJRitDUixlQURvRDtFeEJta0V0RDtFMEJqbkVVO0lGK0NSLGdCQURvRDtFeEJza0V0RDtFMEJwbkVVO0lGK0NSLFVBRG9EO0V4QnlrRXREO0UwQnZuRVU7SUYrQ1IsZ0JBRG9EO0V4QjRrRXREO0UwQjFuRVU7SUYrQ1IsZ0JBRG9EO0V4QitrRXREO0UwQjduRVU7SUYrQ1IsVUFEb0Q7RXhCa2xFdEQ7RTBCaG9FVTtJRitDUixnQkFEb0Q7RXhCcWxFdEQ7RTBCbm9FVTtJRitDUixnQkFEb0Q7RXhCd2xFdEQ7RTBCdG9FVTtJRitDUixVQURvRDtFeEIybEV0RDtFMEJ6b0VVO0lGK0NSLGdCQURvRDtFeEI4bEV0RDtFMEI1b0VVO0lGK0NSLGdCQURvRDtFeEJpbUV0RDtFMEIvb0VVO0lGK0NSLFdBRG9EO0V4Qm9tRXREO0FBQ0Y7O0FFeGhFTTtFd0JsSE07SUZzQ1IsZUFEb0Q7RXhCMG1FdEQ7RTBCL29FVTtJRnNDUixnQkFEb0Q7RXhCNm1FdEQ7RTBCbHBFVTtJRnNDUixVQURvRDtFeEJnbkV0RDtFMEJycEVVO0lGc0NSLGdCQURvRDtFeEJtbkV0RDtFMEJ4cEVVO0lGc0NSLGdCQURvRDtFeEJzbkV0RDtFMEIzcEVVO0lGc0NSLFVBRG9EO0V4QnluRXREO0UwQjlwRVU7SUZzQ1IsZ0JBRG9EO0V4QjRuRXREO0UwQmpxRVU7SUZzQ1IsZ0JBRG9EO0V4QituRXREO0UwQnBxRVU7SUZzQ1IsVUFEb0Q7RXhCa29FdEQ7RTBCdnFFVTtJRnNDUixnQkFEb0Q7RXhCcW9FdEQ7RTBCMXFFVTtJRnNDUixnQkFEb0Q7RXhCd29FdEQ7RTBCN3FFVTtJRnNDUixXQURvRDtFeEIyb0V0RDtBQUNGOztBRS9qRU07RXdCbEhNO0lGc0NSLGVBRG9EO0V4QmlwRXREO0UwQnRyRVU7SUZzQ1IsZ0JBRG9EO0V4Qm9wRXREO0UwQnpyRVU7SUZzQ1IsVUFEb0Q7RXhCdXBFdEQ7RTBCNXJFVTtJRnNDUixnQkFEb0Q7RXhCMHBFdEQ7RTBCL3JFVTtJRnNDUixnQkFEb0Q7RXhCNnBFdEQ7RTBCbHNFVTtJRnNDUixVQURvRDtFeEJncUV0RDtFMEJyc0VVO0lGc0NSLGdCQURvRDtFeEJtcUV0RDtFMEJ4c0VVO0lGc0NSLGdCQURvRDtFeEJzcUV0RDtFMEIzc0VVO0lGc0NSLFVBRG9EO0V4QnlxRXREO0UwQjlzRVU7SUZzQ1IsZ0JBRG9EO0V4QjRxRXREO0UwQmp0RVU7SUZzQ1IsZ0JBRG9EO0V4QitxRXREO0UwQnB0RVU7SUZzQ1IsV0FEb0Q7RXhCa3JFdEQ7QUFDRjs7QUVqbUVNO0V3QnZITTtJRnNDUixlQURvRDtFeEJ3ckV0RDtFMEI3dEVVO0lGc0NSLGdCQURvRDtFeEIyckV0RDtFMEJodUVVO0lGc0NSLFVBRG9EO0V4QjhyRXREO0UwQm51RVU7SUZzQ1IsZ0JBRG9EO0V4QmlzRXREO0UwQnR1RVU7SUZzQ1IsZ0JBRG9EO0V4Qm9zRXREO0UwQnp1RVU7SUZzQ1IsVUFEb0Q7RXhCdXNFdEQ7RTBCNXVFVTtJRnNDUixnQkFEb0Q7RXhCMHNFdEQ7RTBCL3VFVTtJRnNDUixnQkFEb0Q7RXhCNnNFdEQ7RTBCbHZFVTtJRnNDUixVQURvRDtFeEJndEV0RDtFMEJydkVVO0lGc0NSLGdCQURvRDtFeEJtdEV0RDtFMEJ4dkVVO0lGc0NSLGdCQURvRDtFeEJzdEV0RDtFMEIzdkVVO0lGc0NSLFdBRG9EO0V4Qnl0RXREO0FBQ0Y7O0FFeG9FTTtFd0J2SE07SUZzQ1IsZUFEb0Q7RXhCK3RFdEQ7RTBCcHdFVTtJRnNDUixnQkFEb0Q7RXhCa3VFdEQ7RTBCdndFVTtJRnNDUixVQURvRDtFeEJxdUV0RDtFMEIxd0VVO0lGc0NSLGdCQURvRDtFeEJ3dUV0RDtFMEI3d0VVO0lGc0NSLGdCQURvRDtFeEIydUV0RDtFMEJoeEVVO0lGc0NSLFVBRG9EO0V4Qjh1RXREO0UwQm54RVU7SUZzQ1IsZ0JBRG9EO0V4Qml2RXREO0UwQnR4RVU7SUZzQ1IsZ0JBRG9EO0V4Qm92RXREO0UwQnp4RVU7SUZzQ1IsVUFEb0Q7RXhCdXZFdEQ7RTBCNXhFVTtJRnNDUixnQkFEb0Q7RXhCMHZFdEQ7RTBCL3hFVTtJRnNDUixnQkFEb0Q7RXhCNnZFdEQ7RTBCbHlFVTtJRnNDUixXQURvRDtFeEJnd0V0RDtBQUNGOztBRXByRU07RW1CeUVBO0lLL0tFLGVBQTBCO0lBQTFCLGNBQTBCO0UxQmd5RWhDO0UwQjd4RUk7SUFFSSxnQkFBNEI7SUFBNUIsZUFBNEI7RTFCK3hFcEM7QUFDRjs7QUUvckVNO0VtQm1FQTtJS2hORSxlQUEwQjtJQUExQixjQUEwQjtFMUJrMUVoQztFMEIvMEVJO0lBRUksZUFBMEI7SUFBMUIsY0FBMEI7RTFCaTFFbEM7QUFDRjs7QUUxc0VNO0V3QjNITTtJRitDUixlQURvRDtFeEI0eEV0RDtFMEIxMEVVO0lGK0NSLGdCQURvRDtFeEIreEV0RDtFMEI3MEVVO0lGK0NSLFVBRG9EO0V4Qmt5RXREO0UwQmgxRVU7SUYrQ1IsZ0JBRG9EO0V4QnF5RXREO0UwQm4xRVU7SUYrQ1IsZ0JBRG9EO0V4Qnd5RXREO0UwQnQxRVU7SUYrQ1IsVUFEb0Q7RXhCMnlFdEQ7RTBCejFFVTtJRitDUixnQkFEb0Q7RXhCOHlFdEQ7RTBCNTFFVTtJRitDUixnQkFEb0Q7RXhCaXpFdEQ7RTBCLzFFVTtJRitDUixVQURvRDtFeEJvekV0RDtFMEJsMkVVO0lGK0NSLGdCQURvRDtFeEJ1ekV0RDtFMEJyMkVVO0lGK0NSLGdCQURvRDtFeEIwekV0RDtFMEJ4MkVVO0lGK0NSLFdBRG9EO0V4QjZ6RXREO0FBQ0Y7O0FFanZFTTtFd0IzSE07SUYrQ1IsZUFEb0Q7RXhCbTBFdEQ7RTBCajNFVTtJRitDUixnQkFEb0Q7RXhCczBFdEQ7RTBCcDNFVTtJRitDUixVQURvRDtFeEJ5MEV0RDtFMEJ2M0VVO0lGK0NSLGdCQURvRDtFeEI0MEV0RDtFMEIxM0VVO0lGK0NSLGdCQURvRDtFeEIrMEV0RDtFMEI3M0VVO0lGK0NSLFVBRG9EO0V4QmsxRXREO0UwQmg0RVU7SUYrQ1IsZ0JBRG9EO0V4QnExRXREO0UwQm40RVU7SUYrQ1IsZ0JBRG9EO0V4QncxRXREO0UwQnQ0RVU7SUYrQ1IsVUFEb0Q7RXhCMjFFdEQ7RTBCejRFVTtJRitDUixnQkFEb0Q7RXhCODFFdEQ7RTBCNTRFVTtJRitDUixnQkFEb0Q7RXhCaTJFdEQ7RTBCLzRFVTtJRitDUixXQURvRDtFeEJvMkV0RDtBQUNGOztBRXh4RU07RXdCbEhNO0lGc0NSLGVBRG9EO0V4QjAyRXREO0UwQi80RVU7SUZzQ1IsZ0JBRG9EO0V4QjYyRXREO0UwQmw1RVU7SUZzQ1IsVUFEb0Q7RXhCZzNFdEQ7RTBCcjVFVTtJRnNDUixnQkFEb0Q7RXhCbTNFdEQ7RTBCeDVFVTtJRnNDUixnQkFEb0Q7RXhCczNFdEQ7RTBCMzVFVTtJRnNDUixVQURvRDtFeEJ5M0V0RDtFMEI5NUVVO0lGc0NSLGdCQURvRDtFeEI0M0V0RDtFMEJqNkVVO0lGc0NSLGdCQURvRDtFeEIrM0V0RDtFMEJwNkVVO0lGc0NSLFVBRG9EO0V4Qms0RXREO0UwQnY2RVU7SUZzQ1IsZ0JBRG9EO0V4QnE0RXREO0UwQjE2RVU7SUZzQ1IsZ0JBRG9EO0V4Qnc0RXREO0UwQjc2RVU7SUZzQ1IsV0FEb0Q7RXhCMjRFdEQ7QUFDRjs7QUUxekVNO0V3QnZITTtJRnNDUixlQURvRDtFeEJpNUV0RDtFMEJ0N0VVO0lGc0NSLGdCQURvRDtFeEJvNUV0RDtFMEJ6N0VVO0lGc0NSLFVBRG9EO0V4QnU1RXREO0UwQjU3RVU7SUZzQ1IsZ0JBRG9EO0V4QjA1RXREO0UwQi83RVU7SUZzQ1IsZ0JBRG9EO0V4QjY1RXREO0UwQmw4RVU7SUZzQ1IsVUFEb0Q7RXhCZzZFdEQ7RTBCcjhFVTtJRnNDUixnQkFEb0Q7RXhCbTZFdEQ7RTBCeDhFVTtJRnNDUixnQkFEb0Q7RXhCczZFdEQ7RTBCMzhFVTtJRnNDUixVQURvRDtFeEJ5NkV0RDtFMEI5OEVVO0lGc0NSLGdCQURvRDtFeEI0NkV0RDtFMEJqOUVVO0lGc0NSLGdCQURvRDtFeEIrNkV0RDtFMEJwOUVVO0lGc0NSLFdBRG9EO0V4Qms3RXREO0FBQ0Y7O0FFajJFTTtFd0J2SE07SUZzQ1IsZUFEb0Q7RXhCdzdFdEQ7RTBCNzlFVTtJRnNDUixnQkFEb0Q7RXhCMjdFdEQ7RTBCaCtFVTtJRnNDUixVQURvRDtFeEI4N0V0RDtFMEJuK0VVO0lGc0NSLGdCQURvRDtFeEJpOEV0RDtFMEJ0K0VVO0lGc0NSLGdCQURvRDtFeEJvOEV0RDtFMEJ6K0VVO0lGc0NSLFVBRG9EO0V4QnU4RXREO0UwQjUrRVU7SUZzQ1IsZ0JBRG9EO0V4QjA4RXREO0UwQi8rRVU7SUZzQ1IsZ0JBRG9EO0V4QjY4RXREO0UwQmwvRVU7SUZzQ1IsVUFEb0Q7RXhCZzlFdEQ7RTBCci9FVTtJRnNDUixnQkFEb0Q7RXhCbTlFdEQ7RTBCeC9FVTtJRnNDUixnQkFEb0Q7RXhCczlFdEQ7RTBCMy9FVTtJRnNDUixXQURvRDtFeEJ5OUV0RDtBQUNGOztBRTc0RU07RW1CeUVBO0lLL0tFLGVBQTBCO0lBQTFCLGNBQTBCO0UxQnkvRWhDO0UwQnQvRUk7SUFFSSxnQkFBNEI7SUFBNUIsZUFBNEI7RTFCdy9FcEM7QUFDRjs7QUVuNUVNO0VtQjhEQTtJS2hORSxlQUEwQjtJQUExQixjQUEwQjtFMUIyaUZoQztFMEJ4aUZJO0lBRUksZUFBMEI7SUFBMUIsY0FBMEI7RTFCMGlGbEM7QUFDRjs7QUU5NUVNO0V3QmhJTTtJRitDUixlQURvRDtFeEJxL0V0RDtFMEJuaUZVO0lGK0NSLGdCQURvRDtFeEJ3L0V0RDtFMEJ0aUZVO0lGK0NSLFVBRG9EO0V4QjIvRXREO0UwQnppRlU7SUYrQ1IsZ0JBRG9EO0V4QjgvRXREO0UwQjVpRlU7SUYrQ1IsZ0JBRG9EO0V4QmlnRnREO0UwQi9pRlU7SUYrQ1IsVUFEb0Q7RXhCb2dGdEQ7RTBCbGpGVTtJRitDUixnQkFEb0Q7RXhCdWdGdEQ7RTBCcmpGVTtJRitDUixnQkFEb0Q7RXhCMGdGdEQ7RTBCeGpGVTtJRitDUixVQURvRDtFeEI2Z0Z0RDtFMEIzakZVO0lGK0NSLGdCQURvRDtFeEJnaEZ0RDtFMEI5akZVO0lGK0NSLGdCQURvRDtFeEJtaEZ0RDtFMEJqa0ZVO0lGK0NSLFdBRG9EO0V4QnNoRnREO0FBQ0Y7O0FFcjhFTTtFd0JoSU07SUYrQ1IsZUFEb0Q7RXhCNGhGdEQ7RTBCMWtGVTtJRitDUixnQkFEb0Q7RXhCK2hGdEQ7RTBCN2tGVTtJRitDUixVQURvRDtFeEJraUZ0RDtFMEJobEZVO0lGK0NSLGdCQURvRDtFeEJxaUZ0RDtFMEJubEZVO0lGK0NSLGdCQURvRDtFeEJ3aUZ0RDtFMEJ0bEZVO0lGK0NSLFVBRG9EO0V4QjJpRnREO0UwQnpsRlU7SUYrQ1IsZ0JBRG9EO0V4QjhpRnREO0UwQjVsRlU7SUYrQ1IsZ0JBRG9EO0V4QmlqRnREO0UwQi9sRlU7SUYrQ1IsVUFEb0Q7RXhCb2pGdEQ7RTBCbG1GVTtJRitDUixnQkFEb0Q7RXhCdWpGdEQ7RTBCcm1GVTtJRitDUixnQkFEb0Q7RXhCMGpGdEQ7RTBCeG1GVTtJRitDUixXQURvRDtFeEI2akZ0RDtBQUNGOztBRTUrRU07RXdCaElNO0lGK0NSLGVBRG9EO0V4Qm1rRnREO0UwQmpuRlU7SUYrQ1IsZ0JBRG9EO0V4QnNrRnREO0UwQnBuRlU7SUYrQ1IsVUFEb0Q7RXhCeWtGdEQ7RTBCdm5GVTtJRitDUixnQkFEb0Q7RXhCNGtGdEQ7RTBCMW5GVTtJRitDUixnQkFEb0Q7RXhCK2tGdEQ7RTBCN25GVTtJRitDUixVQURvRDtFeEJrbEZ0RDtFMEJob0ZVO0lGK0NSLGdCQURvRDtFeEJxbEZ0RDtFMEJub0ZVO0lGK0NSLGdCQURvRDtFeEJ3bEZ0RDtFMEJ0b0ZVO0lGK0NSLFVBRG9EO0V4QjJsRnREO0UwQnpvRlU7SUYrQ1IsZ0JBRG9EO0V4QjhsRnREO0UwQjVvRlU7SUYrQ1IsZ0JBRG9EO0V4QmltRnREO0UwQi9vRlU7SUYrQ1IsV0FEb0Q7RXhCb21GdEQ7QUFDRjs7QUVuaEZNO0V3QnZITTtJRnNDUixlQURvRDtFeEIwbUZ0RDtFMEIvb0ZVO0lGc0NSLGdCQURvRDtFeEI2bUZ0RDtFMEJscEZVO0lGc0NSLFVBRG9EO0V4QmduRnREO0UwQnJwRlU7SUZzQ1IsZ0JBRG9EO0V4Qm1uRnREO0UwQnhwRlU7SUZzQ1IsZ0JBRG9EO0V4QnNuRnREO0UwQjNwRlU7SUZzQ1IsVUFEb0Q7RXhCeW5GdEQ7RTBCOXBGVTtJRnNDUixnQkFEb0Q7RXhCNG5GdEQ7RTBCanFGVTtJRnNDUixnQkFEb0Q7RXhCK25GdEQ7RTBCcHFGVTtJRnNDUixVQURvRDtFeEJrb0Z0RDtFMEJ2cUZVO0lGc0NSLGdCQURvRDtFeEJxb0Z0RDtFMEIxcUZVO0lGc0NSLGdCQURvRDtFeEJ3b0Z0RDtFMEI3cUZVO0lGc0NSLFdBRG9EO0V4QjJvRnREO0FBQ0Y7O0FFMWpGTTtFd0J2SE07SUZzQ1IsZUFEb0Q7RXhCaXBGdEQ7RTBCdHJGVTtJRnNDUixnQkFEb0Q7RXhCb3BGdEQ7RTBCenJGVTtJRnNDUixVQURvRDtFeEJ1cEZ0RDtFMEI1ckZVO0lGc0NSLGdCQURvRDtFeEIwcEZ0RDtFMEIvckZVO0lGc0NSLGdCQURvRDtFeEI2cEZ0RDtFMEJsc0ZVO0lGc0NSLFVBRG9EO0V4QmdxRnREO0UwQnJzRlU7SUZzQ1IsZ0JBRG9EO0V4Qm1xRnREO0UwQnhzRlU7SUZzQ1IsZ0JBRG9EO0V4QnNxRnREO0UwQjNzRlU7SUZzQ1IsVUFEb0Q7RXhCeXFGdEQ7RTBCOXNGVTtJRnNDUixnQkFEb0Q7RXhCNHFGdEQ7RTBCanRGVTtJRnNDUixnQkFEb0Q7RXhCK3FGdEQ7RTBCcHRGVTtJRnNDUixXQURvRDtFeEJrckZ0RDtBQUNGOztBRWptRk07RW1Cb0VBO0lLL0tFLGVBQTBCO0lBQTFCLGNBQTBCO0UxQmt0RmhDO0UwQi9zRkk7SUFFSSxnQkFBNEI7SUFBNUIsZUFBNEI7RTFCaXRGcEM7QUFDRjs7QUU1bUZNO0VtQjhEQTtJS2hORSxlQUEwQjtJQUExQixjQUEwQjtFMUJvd0ZoQztFMEJqd0ZJO0lBRUksZUFBMEI7SUFBMUIsY0FBMEI7RTFCbXdGbEM7QUFDRjs7QUV2bkZNO0V3QmhJTTtJRitDUixlQURvRDtFeEI4c0Z0RDtFMEI1dkZVO0lGK0NSLGdCQURvRDtFeEJpdEZ0RDtFMEIvdkZVO0lGK0NSLFVBRG9EO0V4Qm90RnREO0UwQmx3RlU7SUYrQ1IsZ0JBRG9EO0V4QnV0RnREO0UwQnJ3RlU7SUYrQ1IsZ0JBRG9EO0V4QjB0RnREO0UwQnh3RlU7SUYrQ1IsVUFEb0Q7RXhCNnRGdEQ7RTBCM3dGVTtJRitDUixnQkFEb0Q7RXhCZ3VGdEQ7RTBCOXdGVTtJRitDUixnQkFEb0Q7RXhCbXVGdEQ7RTBCanhGVTtJRitDUixVQURvRDtFeEJzdUZ0RDtFMEJweEZVO0lGK0NSLGdCQURvRDtFeEJ5dUZ0RDtFMEJ2eEZVO0lGK0NSLGdCQURvRDtFeEI0dUZ0RDtFMEIxeEZVO0lGK0NSLFdBRG9EO0V4Qit1RnREO0FBQ0Y7O0FFOXBGTTtFd0JoSU07SUYrQ1IsZUFEb0Q7RXhCcXZGdEQ7RTBCbnlGVTtJRitDUixnQkFEb0Q7RXhCd3ZGdEQ7RTBCdHlGVTtJRitDUixVQURvRDtFeEIydkZ0RDtFMEJ6eUZVO0lGK0NSLGdCQURvRDtFeEI4dkZ0RDtFMEI1eUZVO0lGK0NSLGdCQURvRDtFeEJpd0Z0RDtFMEIveUZVO0lGK0NSLFVBRG9EO0V4Qm93RnREO0UwQmx6RlU7SUYrQ1IsZ0JBRG9EO0V4QnV3RnREO0UwQnJ6RlU7SUYrQ1IsZ0JBRG9EO0V4QjB3RnREO0UwQnh6RlU7SUYrQ1IsVUFEb0Q7RXhCNndGdEQ7RTBCM3pGVTtJRitDUixnQkFEb0Q7RXhCZ3hGdEQ7RTBCOXpGVTtJRitDUixnQkFEb0Q7RXhCbXhGdEQ7RTBCajBGVTtJRitDUixXQURvRDtFeEJzeEZ0RDtBQUNGOztBRXJzRk07RXdCaElNO0lGK0NSLGVBRG9EO0V4QjR4RnREO0UwQjEwRlU7SUYrQ1IsZ0JBRG9EO0V4Qit4RnREO0UwQjcwRlU7SUYrQ1IsVUFEb0Q7RXhCa3lGdEQ7RTBCaDFGVTtJRitDUixnQkFEb0Q7RXhCcXlGdEQ7RTBCbjFGVTtJRitDUixnQkFEb0Q7RXhCd3lGdEQ7RTBCdDFGVTtJRitDUixVQURvRDtFeEIyeUZ0RDtFMEJ6MUZVO0lGK0NSLGdCQURvRDtFeEI4eUZ0RDtFMEI1MUZVO0lGK0NSLGdCQURvRDtFeEJpekZ0RDtFMEIvMUZVO0lGK0NSLFVBRG9EO0V4Qm96RnREO0UwQmwyRlU7SUYrQ1IsZ0JBRG9EO0V4QnV6RnREO0UwQnIyRlU7SUYrQ1IsZ0JBRG9EO0V4QjB6RnREO0UwQngyRlU7SUYrQ1IsV0FEb0Q7RXhCNnpGdEQ7QUFDRjs7QUU1dUZNO0V3QmhJTTtJRitDUixlQURvRDtFeEJtMEZ0RDtFMEJqM0ZVO0lGK0NSLGdCQURvRDtFeEJzMEZ0RDtFMEJwM0ZVO0lGK0NSLFVBRG9EO0V4QnkwRnREO0UwQnYzRlU7SUYrQ1IsZ0JBRG9EO0V4QjQwRnREO0UwQjEzRlU7SUYrQ1IsZ0JBRG9EO0V4QiswRnREO0UwQjczRlU7SUYrQ1IsVUFEb0Q7RXhCazFGdEQ7RTBCaDRGVTtJRitDUixnQkFEb0Q7RXhCcTFGdEQ7RTBCbjRGVTtJRitDUixnQkFEb0Q7RXhCdzFGdEQ7RTBCdDRGVTtJRitDUixVQURvRDtFeEIyMUZ0RDtFMEJ6NEZVO0lGK0NSLGdCQURvRDtFeEI4MUZ0RDtFMEI1NEZVO0lGK0NSLGdCQURvRDtFeEJpMkZ0RDtFMEIvNEZVO0lGK0NSLFdBRG9EO0V4Qm8yRnREO0FBQ0Y7O0FFbnhGTTtFd0J2SE07SUZzQ1IsZUFEb0Q7RXhCMDJGdEQ7RTBCLzRGVTtJRnNDUixnQkFEb0Q7RXhCNjJGdEQ7RTBCbDVGVTtJRnNDUixVQURvRDtFeEJnM0Z0RDtFMEJyNUZVO0lGc0NSLGdCQURvRDtFeEJtM0Z0RDtFMEJ4NUZVO0lGc0NSLGdCQURvRDtFeEJzM0Z0RDtFMEIzNUZVO0lGc0NSLFVBRG9EO0V4QnkzRnREO0UwQjk1RlU7SUZzQ1IsZ0JBRG9EO0V4QjQzRnREO0UwQmo2RlU7SUZzQ1IsZ0JBRG9EO0V4QiszRnREO0UwQnA2RlU7SUZzQ1IsVUFEb0Q7RXhCazRGdEQ7RTBCdjZGVTtJRnNDUixnQkFEb0Q7RXhCcTRGdEQ7RTBCMTZGVTtJRnNDUixnQkFEb0Q7RXhCdzRGdEQ7RTBCNzZGVTtJRnNDUixXQURvRDtFeEIyNEZ0RDtBQUNGOztBRTF6Rk07RW1Cb0VBO0lLL0tFLGVBQTBCO0lBQTFCLGNBQTBCO0UxQjI2RmhDO0UwQng2Rkk7SUFFSSxnQkFBNEI7SUFBNUIsZUFBNEI7RTFCMDZGcEM7QUFDRjs7QXFCbnZGTTtFTWhPRixlQUE2QjtBM0J1OUZqQzs7QXFCbnZGTTtFTXBPRixnQ0FBNkI7QTNCMjlGakM7O0FxQjN2Rk07RU1oT0YscUJBQTZCO0EzQis5RmpDOztBcUIzdkZNO0VNcE9GLHNDQUE2QjtBM0JtK0ZqQzs7QXFCbndGTTtFTWhPRixzQkFBNkI7QTNCdStGakM7O0FxQm53Rk07RU1wT0YsdUNBQTZCO0EzQjIrRmpDOztBcUIzd0ZNO0VNaE9GLGdCQUE2QjtBM0IrK0ZqQzs7QXFCM3dGTTtFTXBPRixpQ0FBNkI7QTNCbS9GakM7O0FxQm54Rk07RU1oT0Ysc0JBQTZCO0EzQnUvRmpDOztBcUJueEZNO0VNcE9GLHVDQUE2QjtBM0IyL0ZqQzs7QXFCM3hGTTtFTWhPRixzQkFBNkI7QTNCKy9GakM7O0FxQjN4Rk07RU1wT0YsdUNBQTZCO0EzQm1nR2pDOztBcUJueUZNO0VNaE9GLGdCQUE2QjtBM0J1Z0dqQzs7QXFCbnlGTTtFTXBPRixpQ0FBNkI7QTNCMmdHakM7O0FxQjN5Rk07RU1oT0Ysc0JBQTZCO0EzQitnR2pDOztBcUIzeUZNO0VNcE9GLHVDQUE2QjtBM0JtaEdqQzs7QXFCbnpGTTtFTWhPRixzQkFBNkI7QTNCdWhHakM7O0FxQm56Rk07RU1wT0YsdUNBQTZCO0EzQjJoR2pDOztBcUIzekZNO0VNaE9GLGdCQUE2QjtBM0IraEdqQzs7QXFCM3pGTTtFTXBPRixpQ0FBNkI7QTNCbWlHakM7O0FxQm4wRk07RU1oT0Ysc0JBQTZCO0EzQnVpR2pDOztBcUJuMEZNO0VNcE9GLHVDQUE2QjtBM0IyaUdqQzs7QXFCMzBGTTtFTWhPRixzQkFBNkI7QTNCK2lHakM7O0FxQjMwRk07RU1wT0YsdUNBQTZCO0EzQm1qR2pDOztBRTE2Rk07RW1CdUZBO0lNaE9GLGVBQTZCO0UzQndqRy9CO0VxQnAxRkk7SU1wT0YsaUNBQTZCO0UzQjJqRy9CO0VxQjMxRkk7SU1oT0YscUJBQTZCO0UzQjhqRy9CO0VxQjExRkk7SU1wT0YsdUNBQTZCO0UzQmlrRy9CO0VxQmoyRkk7SU1oT0Ysc0JBQTZCO0UzQm9rRy9CO0VxQmgyRkk7SU1wT0Ysd0NBQTZCO0UzQnVrRy9CO0VxQnYyRkk7SU1oT0YsZ0JBQTZCO0UzQjBrRy9CO0VxQnQyRkk7SU1wT0Ysa0NBQTZCO0UzQjZrRy9CO0VxQjcyRkk7SU1oT0Ysc0JBQTZCO0UzQmdsRy9CO0VxQjUyRkk7SU1wT0Ysd0NBQTZCO0UzQm1sRy9CO0VxQm4zRkk7SU1oT0Ysc0JBQTZCO0UzQnNsRy9CO0VxQmwzRkk7SU1wT0Ysd0NBQTZCO0UzQnlsRy9CO0VxQnozRkk7SU1oT0YsZ0JBQTZCO0UzQjRsRy9CO0VxQngzRkk7SU1wT0Ysa0NBQTZCO0UzQitsRy9CO0VxQi8zRkk7SU1oT0Ysc0JBQTZCO0UzQmttRy9CO0VxQjkzRkk7SU1wT0Ysd0NBQTZCO0UzQnFtRy9CO0VxQnI0Rkk7SU1oT0Ysc0JBQTZCO0UzQndtRy9CO0VxQnA0Rkk7SU1wT0Ysd0NBQTZCO0UzQjJtRy9CO0VxQjM0Rkk7SU1oT0YsZ0JBQTZCO0UzQjhtRy9CO0VxQjE0Rkk7SU1wT0Ysa0NBQTZCO0UzQmluRy9CO0VxQmo1Rkk7SU1oT0Ysc0JBQTZCO0UzQm9uRy9CO0VxQmg1Rkk7SU1wT0Ysd0NBQTZCO0UzQnVuRy9CO0VxQnY1Rkk7SU1oT0Ysc0JBQTZCO0UzQjBuRy9CO0VxQnQ1Rkk7SU1wT0Ysd0NBQTZCO0UzQjZuRy9CO0FBQ0Y7O0FFci9GTTtFbUJ1RkE7SU1oT0YsZUFBNkI7RTNCbW9HL0I7RXFCLzVGSTtJTXBPRixpQ0FBNkI7RTNCc29HL0I7RXFCdDZGSTtJTWhPRixxQkFBNkI7RTNCeW9HL0I7RXFCcjZGSTtJTXBPRix1Q0FBNkI7RTNCNG9HL0I7RXFCNTZGSTtJTWhPRixzQkFBNkI7RTNCK29HL0I7RXFCMzZGSTtJTXBPRix3Q0FBNkI7RTNCa3BHL0I7RXFCbDdGSTtJTWhPRixnQkFBNkI7RTNCcXBHL0I7RXFCajdGSTtJTXBPRixrQ0FBNkI7RTNCd3BHL0I7RXFCeDdGSTtJTWhPRixzQkFBNkI7RTNCMnBHL0I7RXFCdjdGSTtJTXBPRix3Q0FBNkI7RTNCOHBHL0I7RXFCOTdGSTtJTWhPRixzQkFBNkI7RTNCaXFHL0I7RXFCNzdGSTtJTXBPRix3Q0FBNkI7RTNCb3FHL0I7RXFCcDhGSTtJTWhPRixnQkFBNkI7RTNCdXFHL0I7RXFCbjhGSTtJTXBPRixrQ0FBNkI7RTNCMHFHL0I7RXFCMThGSTtJTWhPRixzQkFBNkI7RTNCNnFHL0I7RXFCejhGSTtJTXBPRix3Q0FBNkI7RTNCZ3JHL0I7RXFCaDlGSTtJTWhPRixzQkFBNkI7RTNCbXJHL0I7RXFCLzhGSTtJTXBPRix3Q0FBNkI7RTNCc3JHL0I7RXFCdDlGSTtJTWhPRixnQkFBNkI7RTNCeXJHL0I7RXFCcjlGSTtJTXBPRixrQ0FBNkI7RTNCNHJHL0I7RXFCNTlGSTtJTWhPRixzQkFBNkI7RTNCK3JHL0I7RXFCMzlGSTtJTXBPRix3Q0FBNkI7RTNCa3NHL0I7RXFCbCtGSTtJTWhPRixzQkFBNkI7RTNCcXNHL0I7RXFCaitGSTtJTXBPRix3Q0FBNkI7RTNCd3NHL0I7QUFDRjs7QUUzakdNO0VtQmtGQTtJTWhPRixlQUE2QjtFM0I4c0cvQjtFcUIxK0ZJO0lNcE9GLGlDQUE2QjtFM0JpdEcvQjtFcUJqL0ZJO0lNaE9GLHFCQUE2QjtFM0JvdEcvQjtFcUJoL0ZJO0lNcE9GLHVDQUE2QjtFM0J1dEcvQjtFcUJ2L0ZJO0lNaE9GLHNCQUE2QjtFM0IwdEcvQjtFcUJ0L0ZJO0lNcE9GLHdDQUE2QjtFM0I2dEcvQjtFcUI3L0ZJO0lNaE9GLGdCQUE2QjtFM0JndUcvQjtFcUI1L0ZJO0lNcE9GLGtDQUE2QjtFM0JtdUcvQjtFcUJuZ0dJO0lNaE9GLHNCQUE2QjtFM0JzdUcvQjtFcUJsZ0dJO0lNcE9GLHdDQUE2QjtFM0J5dUcvQjtFcUJ6Z0dJO0lNaE9GLHNCQUE2QjtFM0I0dUcvQjtFcUJ4Z0dJO0lNcE9GLHdDQUE2QjtFM0IrdUcvQjtFcUIvZ0dJO0lNaE9GLGdCQUE2QjtFM0JrdkcvQjtFcUI5Z0dJO0lNcE9GLGtDQUE2QjtFM0JxdkcvQjtFcUJyaEdJO0lNaE9GLHNCQUE2QjtFM0J3dkcvQjtFcUJwaEdJO0lNcE9GLHdDQUE2QjtFM0IydkcvQjtFcUIzaEdJO0lNaE9GLHNCQUE2QjtFM0I4dkcvQjtFcUIxaEdJO0lNcE9GLHdDQUE2QjtFM0Jpd0cvQjtFcUJqaUdJO0lNaE9GLGdCQUE2QjtFM0Jvd0cvQjtFcUJoaUdJO0lNcE9GLGtDQUE2QjtFM0J1d0cvQjtFcUJ2aUdJO0lNaE9GLHNCQUE2QjtFM0Iwd0cvQjtFcUJ0aUdJO0lNcE9GLHdDQUE2QjtFM0I2d0cvQjtFcUI3aUdJO0lNaE9GLHNCQUE2QjtFM0JneEcvQjtFcUI1aUdJO0lNcE9GLHdDQUE2QjtFM0JteEcvQjtBQUNGOztBRXRvR007RW1Ca0ZBO0lNaE9GLGVBQTZCO0UzQnl4Ry9CO0VxQnJqR0k7SU1wT0YsaUNBQTZCO0UzQjR4Ry9CO0VxQjVqR0k7SU1oT0YscUJBQTZCO0UzQit4Ry9CO0VxQjNqR0k7SU1wT0YsdUNBQTZCO0UzQmt5Ry9CO0VxQmxrR0k7SU1oT0Ysc0JBQTZCO0UzQnF5Ry9CO0VxQmprR0k7SU1wT0Ysd0NBQTZCO0UzQnd5Ry9CO0VxQnhrR0k7SU1oT0YsZ0JBQTZCO0UzQjJ5Ry9CO0VxQnZrR0k7SU1wT0Ysa0NBQTZCO0UzQjh5Ry9CO0VxQjlrR0k7SU1oT0Ysc0JBQTZCO0UzQml6Ry9CO0VxQjdrR0k7SU1wT0Ysd0NBQTZCO0UzQm96Ry9CO0VxQnBsR0k7SU1oT0Ysc0JBQTZCO0UzQnV6Ry9CO0VxQm5sR0k7SU1wT0Ysd0NBQTZCO0UzQjB6Ry9CO0VxQjFsR0k7SU1oT0YsZ0JBQTZCO0UzQjZ6Ry9CO0VxQnpsR0k7SU1wT0Ysa0NBQTZCO0UzQmcwRy9CO0VxQmhtR0k7SU1oT0Ysc0JBQTZCO0UzQm0wRy9CO0VxQi9sR0k7SU1wT0Ysd0NBQTZCO0UzQnMwRy9CO0VxQnRtR0k7SU1oT0Ysc0JBQTZCO0UzQnkwRy9CO0VxQnJtR0k7SU1wT0Ysd0NBQTZCO0UzQjQwRy9CO0VxQjVtR0k7SU1oT0YsZ0JBQTZCO0UzQiswRy9CO0VxQjNtR0k7SU1wT0Ysa0NBQTZCO0UzQmsxRy9CO0VxQmxuR0k7SU1oT0Ysc0JBQTZCO0UzQnExRy9CO0VxQmpuR0k7SU1wT0Ysd0NBQTZCO0UzQncxRy9CO0VxQnhuR0k7SU1oT0Ysc0JBQTZCO0UzQjIxRy9CO0VxQnZuR0k7SU1wT0Ysd0NBQTZCO0UzQjgxRy9CO0FBQ0Y7O0FxQmx4R2dCO0VFeEVkLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsNEJBSDZCO0VBRzdCLDZCQUg2QjtNQUc3Qiw0QkFINkI7VUFHN0Isd0JBSDZCO0F2QmkyRy9COztBcUI5bUdFO0VHN01BLFdBQW1CO0VBQ25CLGVBQTJCO0F4Qit6RzdCOztBcUJubkdFO0VHak1FLFlBQW1CO0F4Qnd6R3ZCOztBcUJ2bkdFO0VHN0xFLFlBQW1CO0F4Qnd6R3ZCOztBcUIzbkdFO0VBMkJNLDZCQUFnQjtNQUFoQixnQkFBZ0I7QXJCb21HeEI7O0FFNXVHTTtFbUI2R0o7SUEyQk0sNkJBQWdCO1FBQWhCLGdCQUFnQjtFckJ5bUd0QjtBQUNGOztBRWx2R007RW1CNkdKO0lBMkJNLDZCQUFnQjtRQUFoQixnQkFBZ0I7RXJCK21HdEI7QUFDRjs7QUVudkdNO0VtQndHSjtJQTJCTSw2QkFBZ0I7UUFBaEIsZ0JBQWdCO0VyQnFuR3RCO0FBQ0Y7O0FFenZHTTtFbUJ3R0o7SUEyQk0sNkJBQWdCO1FBQWhCLGdCQUFnQjtFckIybkd0QjtBQUNGOztBcUJ2cEdFO0VHek5FLG1CQUFjO01BQWQsa0JBQWM7VUFBZCxjQUFjO0F4Qm8zR2xCOztBcUIzcEdFO0VHekxFLGdCQURvRDtBeEJ5MUd4RDs7QXFCL3BHRTtFR3pMRSxpQkFEb0Q7QXhCNjFHeEQ7O0FxQm5xR0U7RUd6TEUsV0FEb0Q7QXhCaTJHeEQ7O0FxQnZxR0U7RUd6TEUsaUJBRG9EO0F4QnEyR3hEOztBcUIzcUdFO0VHekxFLGlCQURvRDtBeEJ5Mkd4RDs7QXFCL3FHRTtFR3pMRSxXQURvRDtBeEI2Mkd4RDs7QXFCbnJHRTtFR3pMRSxpQkFEb0Q7QXhCaTNHeEQ7O0FxQnZyR0U7RUd6TEUsaUJBRG9EO0F4QnEzR3hEOztBcUIzckdFO0VHekxFLFdBRG9EO0F4QnkzR3hEOztBcUIvckdFO0VHekxFLGlCQURvRDtBeEI2M0d4RDs7QXFCbnNHRTtFR3pMRSxpQkFEb0Q7QXhCaTRHeEQ7O0FxQnZzR0U7RUd6TEUsWUFEb0Q7QXhCcTRHeEQ7O0FFeHpHTTtFbUI2R0o7SUc1TkUsbUJBQWE7UUFBYixpQkFBYTtZQUFiLGFBQWE7SUEyQmIsWUFBbUI7RXhCazVHckI7RXFCanRHQTtJR3pORSxtQkFBYztRQUFkLGtCQUFjO1lBQWQsY0FBYztFeEI2NkdoQjtFcUJwdEdBO0lHN0xFLFlBQW1CO0V4Qm81R3JCO0VxQnZ0R0E7SUd6TEUsZ0JBRG9EO0V4Qm81R3REO0VxQjF0R0E7SUd6TEUsaUJBRG9EO0V4QnU1R3REO0VxQjd0R0E7SUd6TEUsV0FEb0Q7RXhCMDVHdEQ7RXFCaHVHQTtJR3pMRSxpQkFEb0Q7RXhCNjVHdEQ7RXFCbnVHQTtJR3pMRSxpQkFEb0Q7RXhCZzZHdEQ7RXFCdHVHQTtJR3pMRSxXQURvRDtFeEJtNkd0RDtFcUJ6dUdBO0lHekxFLGlCQURvRDtFeEJzNkd0RDtFcUI1dUdBO0lHekxFLGlCQURvRDtFeEJ5Nkd0RDtFcUIvdUdBO0lHekxFLFdBRG9EO0V4QjQ2R3REO0VxQmx2R0E7SUd6TEUsaUJBRG9EO0V4Qis2R3REO0VxQnJ2R0E7SUd6TEUsaUJBRG9EO0V4Qms3R3REO0VxQnh2R0E7SUd6TEUsWUFEb0Q7RXhCcTdHdEQ7QUFDRjs7QUV6MkdNO0VtQjZHSjtJRzVORSxtQkFBYTtRQUFiLGlCQUFhO1lBQWIsYUFBYTtJQTJCYixZQUFtQjtFeEJtOEdyQjtFcUJsd0dBO0lHek5FLG1CQUFjO1FBQWQsa0JBQWM7WUFBZCxjQUFjO0V4Qjg5R2hCO0VxQnJ3R0E7SUc3TEUsWUFBbUI7RXhCcThHckI7RXFCeHdHQTtJR3pMRSxnQkFEb0Q7RXhCcThHdEQ7RXFCM3dHQTtJR3pMRSxpQkFEb0Q7RXhCdzhHdEQ7RXFCOXdHQTtJR3pMRSxXQURvRDtFeEIyOEd0RDtFcUJqeEdBO0lHekxFLGlCQURvRDtFeEI4OEd0RDtFcUJweEdBO0lHekxFLGlCQURvRDtFeEJpOUd0RDtFcUJ2eEdBO0lHekxFLFdBRG9EO0V4Qm85R3REO0VxQjF4R0E7SUd6TEUsaUJBRG9EO0V4QnU5R3REO0VxQjd4R0E7SUd6TEUsaUJBRG9EO0V4QjA5R3REO0VxQmh5R0E7SUd6TEUsV0FEb0Q7RXhCNjlHdEQ7RXFCbnlHQTtJR3pMRSxpQkFEb0Q7RXhCZytHdEQ7RXFCdHlHQTtJR3pMRSxpQkFEb0Q7RXhCbStHdEQ7RXFCenlHQTtJR3pMRSxZQURvRDtFeEJzK0d0RDtBQUNGOztBRXI1R007RW1Cd0dKO0lHNU5FLG1CQUFhO1FBQWIsaUJBQWE7WUFBYixhQUFhO0lBMkJiLFlBQW1CO0V4Qm8vR3JCO0VxQm56R0E7SUd6TkUsbUJBQWM7UUFBZCxrQkFBYztZQUFkLGNBQWM7RXhCK2dIaEI7RXFCdHpHQTtJRzdMRSxZQUFtQjtFeEJzL0dyQjtFcUJ6ekdBO0lHekxFLGdCQURvRDtFeEJzL0d0RDtFcUI1ekdBO0lHekxFLGlCQURvRDtFeEJ5L0d0RDtFcUIvekdBO0lHekxFLFdBRG9EO0V4QjQvR3REO0VxQmwwR0E7SUd6TEUsaUJBRG9EO0V4QisvR3REO0VxQnIwR0E7SUd6TEUsaUJBRG9EO0V4QmtnSHREO0VxQngwR0E7SUd6TEUsV0FEb0Q7RXhCcWdIdEQ7RXFCMzBHQTtJR3pMRSxpQkFEb0Q7RXhCd2dIdEQ7RXFCOTBHQTtJR3pMRSxpQkFEb0Q7RXhCMmdIdEQ7RXFCajFHQTtJR3pMRSxXQURvRDtFeEI4Z0h0RDtFcUJwMUdBO0lHekxFLGlCQURvRDtFeEJpaEh0RDtFcUJ2MUdBO0lHekxFLGlCQURvRDtFeEJvaEh0RDtFcUIxMUdBO0lHekxFLFlBRG9EO0V4QnVoSHREO0FBQ0Y7O0FFdDhHTTtFbUJ3R0o7SUc1TkUsbUJBQWE7UUFBYixpQkFBYTtZQUFiLGFBQWE7SUEyQmIsWUFBbUI7RXhCcWlIckI7RXFCcDJHQTtJR3pORSxtQkFBYztRQUFkLGtCQUFjO1lBQWQsY0FBYztFeEJna0hoQjtFcUJ2MkdBO0lHN0xFLFlBQW1CO0V4QnVpSHJCO0VxQjEyR0E7SUd6TEUsZ0JBRG9EO0V4QnVpSHREO0VxQjcyR0E7SUd6TEUsaUJBRG9EO0V4QjBpSHREO0VxQmgzR0E7SUd6TEUsV0FEb0Q7RXhCNmlIdEQ7RXFCbjNHQTtJR3pMRSxpQkFEb0Q7RXhCZ2pIdEQ7RXFCdDNHQTtJR3pMRSxpQkFEb0Q7RXhCbWpIdEQ7RXFCejNHQTtJR3pMRSxXQURvRDtFeEJzakh0RDtFcUI1M0dBO0lHekxFLGlCQURvRDtFeEJ5akh0RDtFcUIvM0dBO0lHekxFLGlCQURvRDtFeEI0akh0RDtFcUJsNEdBO0lHekxFLFdBRG9EO0V4QitqSHREO0VxQnI0R0E7SUd6TEUsaUJBRG9EO0V4QmtrSHREO0VxQng0R0E7SUd6TEUsaUJBRG9EO0V4QnFrSHREO0VxQjM0R0E7SUd6TEUsWUFEb0Q7RXhCd2tIdEQ7QUFDRjs7QXFCOTBHSTtFQ3BUSSxxQkFBNkQ7RUFBN0Qsd0JBQTZEO0F0QnVvSHJFOztBRWpnSE07RW1COEtGO0lDcFRJLHNCQUE2RDtJQUE3RCx5QkFBNkQ7RXRCNm9IbkU7QUFDRjs7QXFCMTFHSTtFQ3BUSSxxQkFBNkQ7RUFBN0Qsd0JBQTZEO0F0Qm1wSHJFOztBRTdnSE07RW1COEtGO0lDcFRJLHNCQUE2RDtJQUE3RCx5QkFBNkQ7RXRCeXBIbkU7QUFDRjs7QXFCampIRTtFQ3pHTSxxQkFBNkQ7RUFBN0Qsd0JBQTZEO0F0QitwSHJFOztBRXpoSE07RW1CN0JKO0lDekdNLHNCQUE2RDtJQUE3RCx5QkFBNkQ7RXRCcXFIbkU7QUFDRjs7QXFCN2pIRTtFRzFERSw0QkFENEU7RUZyQzFFLG9CQUE2RDtFQUE3RCx1QkFBNkQ7QXRCbXFIbkU7O0FFdGlITTtFbUI3Qko7SUcxREUsNkJBRDRFO0lGckMxRSxxQkFBNkQ7SUFBN0Qsd0JBQTZEO0V0QjBxSGpFO0FBQ0Y7O0FxQm5tSEU7RUcvQkUsWUFBbUI7QXhCc29IdkI7O0FxQm5tSEU7RUcvQkUsWUFBbUI7QXhCc29IdkI7O0FxQi9sSEk7RUduQ0EsZ0NBRGdIO0F4QnVvSHBIOztBcUJubUhJO0VHbkNBLGlDQURnSDtBeEIyb0hwSDs7QXFCdm1ISTtFR25DQSwyQkFEZ0g7QXhCK29IcEg7O0FxQjNtSEk7RUduQ0EsaUNBRGdIO0F4Qm1wSHBIOztBcUIvbUhJO0VHbkNBLGlDQURnSDtBeEJ1cEhwSDs7QXFCbm5ISTtFR25DQSwyQkFEZ0g7QXhCMnBIcEg7O0FxQnZuSEk7RUduQ0EsaUNBRGdIO0F4QitwSHBIOztBcUIzbkhJO0VHbkNBLGlDQURnSDtBeEJtcUhwSDs7QXFCL25ISTtFR25DQSwyQkFEZ0g7QXhCdXFIcEg7O0FxQm5vSEk7RUduQ0EsaUNBRGdIO0F4QjJxSHBIOztBcUJ2b0hJO0VHbkNBLGlDQURnSDtBeEIrcUhwSDs7QXFCM29ISTtFR25DQSw0QkFEZ0g7QXhCbXJIcEg7O0FFdG1ITTtFbUJyREo7SUcvQkUsWUFBbUI7RXhCK3JIckI7RXFCNXBIQTtJRy9CRSxZQUFtQjtFeEI4ckhyQjtFcUJ2cEhFO0lHbkNBLGlDQURnSDtFeEI4ckhsSDtFcUIxcEhFO0lHbkNBLGtDQURnSDtFeEJpc0hsSDtFcUI3cEhFO0lHbkNBLDRCQURnSDtFeEJvc0hsSDtFcUJocUhFO0lHbkNBLGtDQURnSDtFeEJ1c0hsSDtFcUJucUhFO0lHbkNBLGtDQURnSDtFeEIwc0hsSDtFcUJ0cUhFO0lHbkNBLDRCQURnSDtFeEI2c0hsSDtFcUJ6cUhFO0lHbkNBLGtDQURnSDtFeEJndEhsSDtFcUI1cUhFO0lHbkNBLGtDQURnSDtFeEJtdEhsSDtFcUIvcUhFO0lHbkNBLDRCQURnSDtFeEJzdEhsSDtFcUJsckhFO0lHbkNBLGtDQURnSDtFeEJ5dEhsSDtFcUJyckhFO0lHbkNBLGtDQURnSDtFeEI0dEhsSDtFcUJ4ckhFO0lHbkNBLDZCQURnSDtFeEIrdEhsSDtFcUJ2c0hBO0lHL0JFLFlBQW1CO0V4Qnl1SHJCO0VxQnRzSEE7SUcvQkUsWUFBbUI7RXhCd3VIckI7RXFCanNIRTtJR25DQSxpQ0FEZ0g7RXhCd3VIbEg7RXFCcHNIRTtJR25DQSxrQ0FEZ0g7RXhCMnVIbEg7RXFCdnNIRTtJR25DQSw0QkFEZ0g7RXhCOHVIbEg7RXFCMXNIRTtJR25DQSxrQ0FEZ0g7RXhCaXZIbEg7RXFCN3NIRTtJR25DQSxrQ0FEZ0g7RXhCb3ZIbEg7RXFCaHRIRTtJR25DQSw0QkFEZ0g7RXhCdXZIbEg7RXFCbnRIRTtJR25DQSxrQ0FEZ0g7RXhCMHZIbEg7RXFCdHRIRTtJR25DQSxrQ0FEZ0g7RXhCNnZIbEg7RXFCenRIRTtJR25DQSw0QkFEZ0g7RXhCZ3dIbEg7RXFCNXRIRTtJR25DQSxrQ0FEZ0g7RXhCbXdIbEg7RXFCL3RIRTtJR25DQSxrQ0FEZ0g7RXhCc3dIbEg7RXFCbHVIRTtJR25DQSw2QkFEZ0g7RXhCeXdIbEg7QUFDRjs7QUU3ckhNO0VtQnJESjtJRy9CRSxZQUFtQjtFeEJzeEhyQjtFcUJudkhBO0lHL0JFLFlBQW1CO0V4QnF4SHJCO0VxQjl1SEU7SUduQ0EsaUNBRGdIO0V4QnF4SGxIO0VxQmp2SEU7SUduQ0Esa0NBRGdIO0V4Qnd4SGxIO0VxQnB2SEU7SUduQ0EsNEJBRGdIO0V4QjJ4SGxIO0VxQnZ2SEU7SUduQ0Esa0NBRGdIO0V4Qjh4SGxIO0VxQjF2SEU7SUduQ0Esa0NBRGdIO0V4Qml5SGxIO0VxQjd2SEU7SUduQ0EsNEJBRGdIO0V4Qm95SGxIO0VxQmh3SEU7SUduQ0Esa0NBRGdIO0V4QnV5SGxIO0VxQm53SEU7SUduQ0Esa0NBRGdIO0V4QjB5SGxIO0VxQnR3SEU7SUduQ0EsNEJBRGdIO0V4QjZ5SGxIO0VxQnp3SEU7SUduQ0Esa0NBRGdIO0V4Qmd6SGxIO0VxQjV3SEU7SUduQ0Esa0NBRGdIO0V4Qm16SGxIO0VxQi93SEU7SUduQ0EsNkJBRGdIO0V4QnN6SGxIO0FBQ0Y7O0FFcnVITTtFbUIxREo7SUcvQkUsWUFBbUI7RXhCbTBIckI7RXFCaHlIQTtJRy9CRSxZQUFtQjtFeEJrMEhyQjtFcUIzeEhFO0lHbkNBLGlDQURnSDtFeEJrMEhsSDtFcUI5eEhFO0lHbkNBLGtDQURnSDtFeEJxMEhsSDtFcUJqeUhFO0lHbkNBLDRCQURnSDtFeEJ3MEhsSDtFcUJweUhFO0lHbkNBLGtDQURnSDtFeEIyMEhsSDtFcUJ2eUhFO0lHbkNBLGtDQURnSDtFeEI4MEhsSDtFcUIxeUhFO0lHbkNBLDRCQURnSDtFeEJpMUhsSDtFcUI3eUhFO0lHbkNBLGtDQURnSDtFeEJvMUhsSDtFcUJoekhFO0lHbkNBLGtDQURnSDtFeEJ1MUhsSDtFcUJuekhFO0lHbkNBLDRCQURnSDtFeEIwMUhsSDtFcUJ0ekhFO0lHbkNBLGtDQURnSDtFeEI2MUhsSDtFcUJ6ekhFO0lHbkNBLGtDQURnSDtFeEJnMkhsSDtFcUI1ekhFO0lHbkNBLDZCQURnSDtFeEJtMkhsSDtBQUNGOztBRWx4SE07RW1CMURKO0lHL0JFLFlBQW1CO0V4QmczSHJCO0VxQjcwSEE7SUcvQkUsWUFBbUI7RXhCKzJIckI7RXFCeDBIRTtJR25DQSxpQ0FEZ0g7RXhCKzJIbEg7RXFCMzBIRTtJR25DQSxrQ0FEZ0g7RXhCazNIbEg7RXFCOTBIRTtJR25DQSw0QkFEZ0g7RXhCcTNIbEg7RXFCajFIRTtJR25DQSxrQ0FEZ0g7RXhCdzNIbEg7RXFCcDFIRTtJR25DQSxrQ0FEZ0g7RXhCMjNIbEg7RXFCdjFIRTtJR25DQSw0QkFEZ0g7RXhCODNIbEg7RXFCMTFIRTtJR25DQSxrQ0FEZ0g7RXhCaTRIbEg7RXFCNzFIRTtJR25DQSxrQ0FEZ0g7RXhCbzRIbEg7RXFCaDJIRTtJR25DQSw0QkFEZ0g7RXhCdTRIbEg7RXFCbjJIRTtJR25DQSxrQ0FEZ0g7RXhCMDRIbEg7RXFCdDJIRTtJR25DQSxrQ0FEZ0g7RXhCNjRIbEg7RXFCejJIRTtJR25DQSw2QkFEZ0g7RXhCZzVIbEg7QUFDRjs7QXFCam9IRTtFT3pWRSxnQkFBZ0I7RUFDaEIsa0JBQWtCO0VBQ2xCLHFCQUFpQjtNQUFqQixpQkFBaUI7RUFDakIsMEJBQW9CO01BQXBCLHVCQUFvQjtVQUFwQixvQkFBb0I7RUEyQmhCLFlBQXNDO0E1Qm84SDlDOztBcUJyb0hFO0VBQ0UsV0FBVztBckJ3b0hmOztBcUJyb0hFO0VPaFRFLGdCQUFnQjtFQUNoQixlQUFlO0VBR2pCLGlDQUFpQztFQUNqQyw0Q0FBNEM7QTVCdTdIOUM7O0Fx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aEIsYUFBdUM7RTVCeXBJN0M7QUFDRjs7QUUzaElNO0VtQjRPRjtJQVFNLFdBQVc7SU8vWWpCLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFDbEIscUJBQWlCO1FBQWpCLGlCQUFpQjtJQUNqQiwwQkFBb0I7UUFBcEIsdUJBQW9CO1lBQXBCLG9CQUFvQjtJQXlCaEIsYUFBdUM7RTVCb3FJN0M7QUFDRjs7QXFCNXlISTtFQUVJLFlBQVk7QXJCOHlIcEI7O0FFL2lJTTtFbUIrUEY7SUFNTSxZQUFZO0VyQit5SHBCO0FBQ0Y7O0FFcmpJTTtFbUIrUEY7SUFNTSxZQUFZO0VyQnF6SHBCO0FBQ0Y7O0FFdGpJTTtFbUIwUEY7SUFNTSxZQUFZO0VyQjJ6SHBCO0FBQ0Y7O0FFNWpJTTtFbUIwUEY7SUFNTSxZQUFZO0VyQmkwSHBCO0FBQ0Y7O0FxQnBtSUU7RUN6R00scUJBQTZEO0VBQTdELHdCQUE2RDtBdEJrdElyRTs7QUU1a0lNO0VtQjdCSjtJQ3pHTSxzQkFBNkQ7SUFBN0QseUJBQTZEO0V0Qnd0SW5FO0FBQ0Y7O0FxQmhuSUU7RUcxREUsNEJBRDRFO0VGckMxRSxvQkFBNkQ7RUFBN0QsdUJBQTZEO0F0QnN0SW5FOztBRXpsSU07RW1CN0JKO0lHMURFLDZCQUQ0RTtJRnJDMUUscUJBQTZEO0lBQTdELHdCQUE2RDtFdEI2dElqRTtBQUNGOztBcUJ0cElFO0VHL0JFLFlBQW1CO0F4QnlySXZCOztBcUJ0cElFO0VHL0JFLFlBQW1CO0F4QnlySXZCOztBcUJscElJO0VHbkNBLGdDQURnSDtBeEIwcklwSDs7QXFCdHBJSTtFR25DQSxpQ0FEZ0g7QXhCOHJJcEg7O0FxQjFwSUk7RUduQ0EsMkJBRGdIO0F4QmtzSXBIOztBcUI5cElJO0VHbkNBLGlDQURnSDtBeEJzc0lwSDs7QXFCbHFJSTtFR25DQSxpQ0FEZ0g7QXhCMHNJcEg7O0FxQnRxSUk7RUduQ0EsMkJBRGdIO0F4QjhzSXBIOztBcUIxcUlJO0VHbkNBLGlDQURnSDtBeEJrdElwSDs7QXFCOXFJSTtFR25DQSxpQ0FEZ0g7QXhCc3RJcEg7O0FxQmxySUk7RUduQ0EsMkJBRGdIO0F4QjB0SXBIOztBcUJ0cklJO0VHbkNBLGlDQURnSDtBeEI4dElwSDs7QXFCMXJJSTtFR25DQSxpQ0FEZ0g7QXhCa3VJcEg7O0FxQjlySUk7RUduQ0EsNEJBRGdIO0F4QnN1SXBIOztBRXpwSU07RW1CckRKO0lHL0JFLFlBQW1CO0V4Qmt2SXJCO0VxQi9zSUE7SUcvQkUsWUFBbUI7RXhCaXZJckI7RXFCMXNJRTtJR25DQSxpQ0FEZ0g7RXhCaXZJbEg7RXFCN3NJRTtJR25DQSxrQ0FEZ0g7RXhCb3ZJbEg7RXFCaHRJRTtJR25DQSw0QkFEZ0g7RXhCdXZJbEg7RXFCbnRJRTtJR25DQSxrQ0FEZ0g7RXhCMHZJbEg7RXFCdHRJRTtJR25DQSxrQ0FEZ0g7RXhCNnZJbEg7RXFCenRJRTtJR25DQSw0QkFEZ0g7RXhCZ3dJbEg7RXFCNXRJRTtJR25DQSxrQ0FEZ0g7RXhCbXdJbEg7RXFCL3RJRTtJR25DQSxrQ0FEZ0g7RXhCc3dJbEg7RXFCbHVJRTtJR25DQSw0QkFEZ0g7RXhCeXdJbEg7RXFCcnVJRTtJR25DQSxrQ0FEZ0g7RXhCNHdJbEg7RXFCeHVJRTtJR25DQSxrQ0FEZ0g7RXhCK3dJbEg7RXFCM3VJRTtJR25DQSw2QkFEZ0g7RXhCa3hJbEg7RXFCMXZJQTtJRy9CRSxZQUFtQjtFeEI0eElyQjtFcUJ6dklBO0lHL0JFLFlBQW1CO0V4QjJ4SXJCO0VxQnB2SUU7SUduQ0EsaUNBRGdIO0V4QjJ4SWxIO0VxQnZ2SUU7SUduQ0Esa0NBRGdIO0V4Qjh4SWxIO0VxQjF2SUU7SUduQ0EsNEJBRGdIO0V4Qml5SWxIO0VxQjd2SUU7SUduQ0Esa0NBRGdIO0V4Qm95SWxIO0VxQmh3SUU7SUduQ0Esa0NBRGdIO0V4QnV5SWxIO0VxQm53SUU7SUduQ0EsNEJBRGdIO0V4QjB5SWxIO0VxQnR3SUU7SUduQ0Esa0NBRGdIO0V4QjZ5SWxIO0VxQnp3SUU7SUduQ0Esa0NBRGdIO0V4Qmd6SWxIO0VxQjV3SUU7SUduQ0EsNEJBRGdIO0V4Qm16SWxIO0VxQi93SUU7SUduQ0Esa0NBRGdIO0V4QnN6SWxIO0VxQmx4SUU7SUduQ0Esa0NBRGdIO0V4Qnl6SWxIO0VxQnJ4SUU7SUduQ0EsNkJBRGdIO0V4QjR6SWxIO0FBQ0Y7O0FFaHZJTTtFbUJyREo7SUcvQkUsWUFBbUI7RXhCeTBJckI7RXFCdHlJQTtJRy9CRSxZQUFtQjtFeEJ3MElyQjtFcUJqeUlFO0lHbkNBLGlDQURnSDtFeEJ3MElsSDtFcUJweUlFO0lHbkNBLGtDQURnSDtFeEIyMElsSDtFcUJ2eUlFO0lHbkNBLDRCQURnSDtFeEI4MElsSDtFcUIxeUlFO0lHbkNBLGtDQURnSDtFeEJpMUlsSDtFcUI3eUlFO0lHbkNBLGtDQURnSDtFeEJvMUlsSDtFcUJoeklFO0lHbkNBLDRCQURnSDtFeEJ1MUlsSDtFcUJueklFO0lHbkNBLGtDQURnSDtFeEIwMUlsSDtFcUJ0eklFO0lHbkNBLGtDQURnSDtFeEI2MUlsSDtFcUJ6eklFO0lHbkNBLDRCQURnSDtFeEJnMklsSDtFcUI1eklFO0lHbkNBLGtDQURnSDtFeEJtMklsSDtFcUIveklFO0lHbkNBLGtDQURnSDtFeEJzMklsSDtFcUJsMElFO0lHbkNBLDZCQURnSDtFeEJ5MklsSDtBQUNGOztBRXh4SU07RW1CMURKO0lHL0JFLFlBQW1CO0V4QnMzSXJCO0VxQm4xSUE7SUcvQkUsWUFBbUI7RXhCcTNJckI7RXFCOTBJRTtJR25DQSxpQ0FEZ0g7RXhCcTNJbEg7RXFCajFJRTtJR25DQSxrQ0FEZ0g7RXhCdzNJbEg7RXFCcDFJRTtJR25DQSw0QkFEZ0g7RXhCMjNJbEg7RXFCdjFJRTtJR25DQSxrQ0FEZ0g7RXhCODNJbEg7RXFCMTFJRTtJR25DQSxrQ0FEZ0g7RXhCaTRJbEg7RXFCNzFJRTtJR25DQSw0QkFEZ0g7RXhCbzRJbEg7RXFCaDJJRTtJR25DQSxrQ0FEZ0g7RXhCdTRJbEg7RXFCbjJJRTtJR25DQSxrQ0FEZ0g7RXhCMDRJbEg7RXFCdDJJRTtJR25DQSw0QkFEZ0g7RXhCNjRJbEg7RXFCejJJRTtJR25DQSxrQ0FEZ0g7RXhCZzVJbEg7RXFCNTJJRTtJR25DQSxrQ0FEZ0g7RXhCbTVJbEg7RXFCLzJJRTtJR25DQSw2QkFEZ0g7RXhCczVJbEg7QUFDRjs7QUVyMElNO0VtQjFESjtJRy9CRSxZQUFtQjtFeEJtNklyQjtFcUJoNElBO0lHL0JFLFlBQW1CO0V4Qms2SXJCO0VxQjMzSUU7SUduQ0EsaUNBRGdIO0V4Qms2SWxIO0VxQjkzSUU7SUduQ0Esa0NBRGdIO0V4QnE2SWxIO0VxQmo0SUU7SUduQ0EsNEJBRGdIO0V4Qnc2SWxIO0VxQnA0SUU7SUduQ0Esa0NBRGdIO0V4QjI2SWxIO0VxQnY0SUU7SUduQ0Esa0NBRGdIO0V4Qjg2SWxIO0VxQjE0SUU7SUduQ0EsNEJBRGdIO0V4Qmk3SWxIO0VxQjc0SUU7SUduQ0Esa0NBRGdIO0V4Qm83SWxIO0VxQmg1SUU7SUduQ0Esa0NBRGdIO0V4QnU3SWxIO0VxQm41SUU7SUduQ0EsNEJBRGdIO0V4QjA3SWxIO0VxQnQ1SUU7SUduQ0Esa0NBRGdIO0V4QjY3SWxIO0VxQno1SUU7SUduQ0Esa0NBRGdIO0V4Qmc4SWxIO0VxQjU1SUU7SUduQ0EsNkJBRGdIO0V4Qm04SWxIO0FBQ0Y7O0FxQjNtSUk7RU8vWUksNkJBQW1DO0E1QjgvSTNDOztBRTMzSU07RW1CNFFGO0lPL1lJLDhCQUFtQztFNUJtZ0p6QztBQUNGOztBRWo0SU07RW1CNFFGO0lPL1lJLDhCQUFtQztFNUJ5Z0p6QztBQUNGOztBRWw0SU07RW1CdVFGO0lPL1lJLDhCQUFtQztFNUIrZ0p6QztBQUNGOztBRXg0SU07RW1CdVFGO0lPL1lJLDhCQUFtQztFNUJxaEp6QztBQUNGOztBRW41SU07RW1CZ1JBO0lPblpFLDhCQUFtQztFNUIyaEp6QztBQUNGOztBRXo1SU07RW1CZ1JBO0lPblpFLDhCQUFtQztFNUJpaUp6QztBQUNGOztBRTE1SU07RW1CMlFBO0lPblpFLDhCQUFtQztFNUJ1aUp6QztBQUNGOztBRWg2SU07RW1CMlFBO0lPblpFLDhCQUFtQztFNUI2aUp6QztBQUNGOztBNkJ4MElFO0VBaExBLHFCQUFxQjtFQUNyQixzQkFBc0I7RUFDdEIsa0JBekVrQztFQW1GaEMsY3RCMURrQjtFc0I2RHBCLDZCQUE2QjtFQUM3QixrQnRCckVpQjtFc0JzRWpCLHlFQTFCdUU7RUEwQnZFLGlFQTFCdUU7RUEyQnZFLG9CQWpHMEI7RUFtRzFCLHdCQUF3QjtFQUN4QixjQUFjO0VBQ2Qsa0JBQWtCO0VBQ2xCLGVBQWU7RUFxQ2YseUJ0QmhKcUI7RXNCaUpyQixjeEJsR2E7QUw4aUpmOztBQUVBO0VRMTVJSSxVQUFVO0FSNDVJZDs7QTZCOThJRTtFQUNFLHlCQTNIdUU7RUE0SHZFLGN4QnRHVztBTHVqSmY7O0E2QmwySUU7RUFNTSxpQnRCek9RO0FQeWtKaEI7O0E2QnQySUU7RUFNTSxrQnRCeE9VO0FQNGtKbEI7O0E2QjEySUU7RUFNTSxldEJ2T1E7QVAra0poQjs7QTZCOTJJRTtFQU1NLGtCdEJ0T1U7QVBrbEpsQjs7QTZCbDNJRTtFQWxKRSxjQUFjO0VBQ2QsV0FBVztFQUNYLGVBQWU7RUFDZixjQUFjO0E3QndnSmxCOztBNkJ6M0lFO0VBcEhBLHlCdEJoSnFCO0VzQmlKckIsY3hCbEdhO0FMbWxKZjs7QTZCLytJRTtFQUNFLHlCQVBvRjtFQVFwRixjeEJ0R1c7QUx3bEpmOztBNkJuNElFO0VBcEhBLHlCdEIvSXVCO0VzQmdKdkIsY3hCbEdhO0FMNmxKZjs7QTZCei9JRTtFQUNFLHlCQVBvRjtFQVFwRixjeEJ0R1c7QUxrbUpmOztBNkI3NElFO0VBcEhBLHlCdEI5SXFCO0VzQitJckIsY3hCdEdhO0FMMm1KZjs7QTZCbmdKRTtFQUNFLHlCQVBvRjtFQVFwRixjeEIxR1c7QUxnbkpmOztBNkJ2NUlFO0VBcEhBLHlCdEI1SXFCO0VzQjZJckIsY3hCdEdhO0FMcW5KZjs7QTZCN2dKRTtFQUNFLHlCQVBvRjtFQVFwRixjeEIxR1c7QUwwbkpmOztBNkJqNklFO0VBcEhBLHlCdEI3SW1CO0VzQjhJbkIsY3hCbEdhO0FMMm5KZjs7QTZCdmhKRTtFQUNFLHlCQVBvRjtFQVFwRixjeEJ0R1c7QUxnb0pmOztBNkIzNklFO0VBMURBLGFBaEo0QjtFQWlKNUIsbUJBQW1CO0E3QnkrSXJCOztBNkJ2K0lFO0VBQ0UseUJ0QjlNbUI7RXNCK01uQixjeEJoS1c7QUwwb0pmOztBNkJyN0lFO0VBMURBLGFBaEo0QjtFQWlKNUIsbUJBQW1CO0E3Qm0vSXJCOztBNkJqL0lFO0VBQ0UseUJ0QjlNbUI7RXNCK01uQixjeEJoS1c7QUxvcEpmOztBNkIvN0lFO0VBMURBLGFBaEo0QjtFQWlKNUIsbUJBQW1CO0E3QjYvSXJCOztBNkIzL0lFO0VBQ0UseUJ0QjdNcUI7RXNCOE1yQixjeEJoS1c7QUw4cEpmOztBNkJ6OElFO0VBMURBLGFBaEo0QjtFQWlKNUIsbUJBQW1CO0E3QnVnSnJCOztBNkJyZ0pFO0VBQ0UseUJ0QjVNbUI7RXNCNk1uQixjeEJwS1c7QUw0cUpmOztBNkJuOUlFO0VBMURBLGFBaEo0QjtFQWlKNUIsbUJBQW1CO0E3QmloSnJCOztBNkIvZ0pFO0VBQ0UseUJ0QjFNbUI7RXNCMk1uQixjeEJwS1c7QUxzckpmOztBNkI3OUlFO0VBMURBLGFBaEo0QjtFQWlKNUIsbUJBQW1CO0E3QjJoSnJCOztBNkJ6aEpFO0VBQ0UseUJ0QjNNaUI7RXNCNE1qQixjeEJoS1c7QUw0ckpmOztBNkJ2K0lFO0VBbkZBLHlCdEJqTHFCO0VzQmtMckIsY3RCbExxQjtBUGd2SnZCOztBNkJybEpFO0VBR0UsNkJBQTZCO0E3QnNsSmpDOztBNkJqbEpJO0VBRUUsNkJBQTZCO0E3Qm1sSm5DOztBNkJwa0pFO0VBQ0UscUJBTjZEO0VBTzdELGNBUDZEO0E3QjhrSmpFOztBNkJ0a0pJO0VBRUUseUJ0QnpMaUI7RXNCMExqQixjdEIxTGlCO0FQa3dKdkI7O0E2QjkvSUU7RUFuRkEseUJ0QmpMcUI7RXNCa0xyQixjdEJsTHFCO0FQdXdKdkI7O0E2Qm5sSkU7RUFDRSxxQkFONkQ7RUFPN0QsY0FQNkQ7QTdCNmxKakU7O0E2QnJsSkk7RUFFRSx5QnRCekxpQjtFc0IwTGpCLGN0QjFMaUI7QVBpeEp2Qjs7QTZCN2dKRTtFQW5GQSx5QnRCaEx1QjtFc0JpTHZCLGN0QmpMdUI7QVBxeEp6Qjs7QTZCbG1KRTtFQUNFLHFCQU42RDtFQU83RCxjQVA2RDtBN0I0bUpqRTs7QTZCcG1KSTtFQUVFLHlCdEJ4TG1CO0VzQnlMbkIsY3RCekxtQjtBUCt4SnpCOztBNkI1aEpFO0VBbkZBLHlCdEIvS3FCO0VzQmdMckIsY3RCaExxQjtBUG15SnZCOztBNkJqbkpFO0VBQ0UscUJBTjZEO0VBTzdELGNBUDZEO0E3QjJuSmpFOztBNkJubkpJO0VBRUUseUJ0QnZMaUI7RXNCd0xqQixjdEJ4TGlCO0FQNnlKdkI7O0E2QjNpSkU7RUFuRkEseUJ0QjdLcUI7RXNCOEtyQixjdEI5S3FCO0FQZ3pKdkI7O0E2QmhvSkU7RUFDRSxxQkFONkQ7RUFPN0QsY0FQNkQ7QTdCMG9KakU7O0E2QmxvSkk7RUFFRSx5QnRCckxpQjtFc0JzTGpCLGN0QnRMaUI7QVAwekp2Qjs7QTZCMWpKRTtFQW5GQSx5QnRCOUttQjtFc0IrS25CLGN0Qi9LbUI7QVBnMEpyQjs7QTZCL29KRTtFQUNFLHFCQU42RDtFQU83RCxjQVA2RDtBN0J5cEpqRTs7QTZCanBKSTtFQUVFLHlCdEJ0TGU7RXNCdUxmLGN0QnZMZTtBUDAwSnJCOztBNkJ6a0pFO0VBbkZBLHlCdEJqTHFCO0VzQmtMckIsY3RCbExxQjtBUGsxSnZCOztBNkJ2ckpFO0VBR0UsNkJBQTZCO0E3QndySmpDOztBNkJuckpJO0VBRUUsNkJBQTZCO0E3QnFySm5DOztBNkJ0cUpFO0VBQ0UscUJBTjZEO0VBTzdELGNBUDZEO0E3QmdySmpFOztBNkJ4cUpJO0VBRUUseUJ0QnpMaUI7RXNCMExqQixjdEIxTGlCO0FQbzJKdkI7O0E2QmhtSkU7RUF1RlUseUJBQXlCO0E3QjZnSnJDOztBNkJwbUpFO0VBbkZBLHlCdEJqTHFCO0VzQmtMckIsY3RCbExxQjtBUDYySnZCOztBNkJ6ckpFO0VBQ0UscUJBTjZEO0VBTzdELGNBUDZEO0E3Qm1zSmpFOztBNkIzckpJO0VBRUUseUJ0QnpMaUI7RXNCMExqQixjdEIxTGlCO0FQdTNKdkI7O0E2Qm5uSkU7RUFvR2MseUJBQXlCO0E3Qm1oSnpDOztBNkJ2bkpFO0VBbkZBLHlCdEJoTHVCO0VzQmlMdkIsY3RCakx1QjtBUCszSnpCOztBNkI1c0pFO0VBQ0UscUJBTjZEO0VBTzdELGNBUDZEO0E3QnN0SmpFOztBNkI5c0pJO0VBRUUseUJ0QnhMbUI7RXNCeUxuQixjdEJ6TG1CO0FQeTRKekI7O0E2QnRvSkU7RUFvR2MseUJBQXlCO0E3QnNpSnpDOztBNkIxb0pFO0VBbkZBLHlCdEIvS3FCO0VzQmdMckIsY3RCaExxQjtBUGk1SnZCOztBNkIvdEpFO0VBQ0UscUJBTjZEO0VBTzdELGNBUDZEO0E3Qnl1SmpFOztBNkJqdUpJO0VBRUUseUJ0QnZMaUI7RXNCd0xqQixjdEJ4TGlCO0FQMjVKdkI7O0E2QnpwSkU7RUFvR2MseUJBQXlCO0E3QnlqSnpDOztBNkI3cEpFO0VBbkZBLHlCdEI3S3FCO0VzQjhLckIsY3RCOUtxQjtBUGs2SnZCOztBNkJsdkpFO0VBQ0UscUJBTjZEO0VBTzdELGNBUDZEO0E3QjR2SmpFOztBNkJwdkpJO0VBRUUseUJ0QnJMaUI7RXNCc0xqQixjdEJ0TGlCO0FQNDZKdkI7O0E2QjVxSkU7RUFvR2MseUJBQXlCO0E3QjRrSnpDOztBNkJockpFO0VBbkZBLHlCdEI5S21CO0VzQitLbkIsY3RCL0ttQjtBUHM3SnJCOztBNkJyd0pFO0VBQ0UscUJBTjZEO0VBTzdELGNBUDZEO0E3Qit3SmpFOztBNkJ2d0pJO0VBRUUseUJ0QnRMZTtFc0J1TGYsY3RCdkxlO0FQZzhKckI7O0E2Qi9ySkU7RUFvR2MseUJBQXlCO0E3QitsSnpDOztBNkIzdUpFO0VyQnZMQSxjQUFjO0VBQ2QsUUFBUTtFQUNSLFNBQVM7RUFFVCxtQnFCK0tZO0VyQjdLWixXQUFXO0VBR1Qsc0JBQXNCO0VBQ3RCLHVCQUF1QjtFQUN2Qiw2Q0FBcUQ7RXFCOEtyRCxrQkFBa0I7RUFDbEIsVUFBVTtFQUVWLHFCQUFxQjtFQUNyQixZQUFPO0VBQ1Asa0J0QjdMa0I7QVBpN0p0Qjs7QTZCbnRKRTtFQXdIUSx5QnRCNVhhO0FQMjlKdkI7O0E2QnZ0SkU7RUE4SFkseUJ0QmxZUztBUCs5SnZCOztBNkIzdEpFO0VBOEhZLHlCdEJqWVc7QVBrK0p6Qjs7QTZCL3RKRTtFQThIWSx5QnRCaFlTO0FQcStK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ZCxjQTVDVztFQTZDWCxjQXhDd0I7QS9CNG9LMUI7O0FnQzduS0U7RUFaQSxxQkFBcUI7RUFDckIsMEJBVCtCO0VBVy9CLGdCM0JtRGU7RTJCakRmLGlCQWpCc0I7RUFrQnRCLGNBQWM7RUFDZCxtQkFBbUI7RUFDbkIsZUFBZTtFQU9iLG1CekJoRG1CO0V5QmlEbkIsYzNCRlc7QUx1b0tmOztBZ0N6b0tFO0VBUU0sbUJ6QnJEZTtFeUJzRGYsYzNCUE87QUw0b0tmOztBZ0M5b0tFO0VBUU0sbUJ6QnBEaUI7RXlCcURqQixjM0JQTztBTGlwS2Y7O0FnQ25wS0U7RUFRTSxtQnpCbkRlO0V5Qm9EZixjM0JYTztBTDBwS2Y7O0FnQ3hwS0U7RUFRTSxtQnpCakRlO0V5QmtEZixjM0JYTztBTCtwS2Y7O0FnQzdwS0U7RUFRTSxtQnpCbERhO0V5Qm1EYixjM0JQTztBTGdxS2Y7O0FpQzNxS0U7RUFuQ0EsWUNJb0I7RURIcEIsbUI1QmlFa0I7RTRCaEVsQixnQjVCb0ZlO0U0Qm5GZix5QjVCK0JtQjtBTG1yS3JCOztBaUNscktFO0VBTVEseUIxQjFDYTtBUDB0S3ZCOztBaUN0cktFO0VBTVEseUIxQnpDZTtBUDZ0S3pCOztBaUMxcktFO0VBTVEseUIxQnhDYTtBUGd1S3ZCOztBaUM5cktFO0VBTVEseUIxQnRDYTtBUGt1S3ZCOztBaUNsc0tFO0VBTVEseUIxQnZDVztBUHV1S3JCOztBaUN6cktFO0VBeENBLGtCQUFrQjtFQUNsQixjQUFjO0VBQ2QsU0FBUztFQUNULFlBQVk7RUFDWix5QjFCYnFCO0FQa3ZLdkI7O0FpQzVyS0U7RXpCOExBLGtCQUFrQjtFQUNsQixRQUFRO0VBQ1IsU0FBUztFQUNULHdDQUFnQztVQUFoQyxnQ0FBZ0M7RXlCaE9oQyxTQUFTO0VBQ1Qsa0JBQWtCO0VBQ2xCLGlCQUFpQjtFQUNqQixjNUJxQmE7RTRCcEJiLG1CQUFtQjtBakNtdUtyQjs7QW1DMXBLRTtFQXBGQSxrQkFBa0I7RUFDbEIsY0Nab0I7RURhcEIsbUJBQW1CO0VBQ25CLHNCQUFzQjtFQUV0Qix5QjlCVWtCO0U4QlRsQixl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Q0UsV0FSK0I7RUFTL0IsY0FsS3VCO0VBbUt2QixtQi9CakdxRDtBTjAxS3pEOztBcUN0dktFO0VBQ0UsWUEvSTBCO0VBZ0oxQixhQWhKMEI7RUFpSjFCLFdBZmtEO0VBZ0JsRCxZQWZtRDtBckN3d0t2RDs7QXFDdHZLRTtFQUNFLGFBbEJtRTtBckMyd0t2RTs7QXFDOXNLRTtFQTNEQSxlQTFKMkI7QXJDdTZLN0I7O0FxQzN3S0U7RUFDRSxhQVIrQjtFQVMvQixlQTlKeUI7RUErSnpCLGtCL0JqR3FEO0FOKzJLekQ7O0FxQzN3S0U7RUFDRSxZQS9JMEI7RUFnSjFCLGFBaEowQjtFQWlKMUIsY0Fma0Q7RUFnQmxELGVBZm1EO0FyQzZ4S3ZEOztBcUMzd0tFO0VBQ0UsVUFsQm1FO0FyQ2d5S3ZFOztBcUMvdEtFO0VBL0RBLGNBdEowQjtBckN3N0s1Qjs7QXFDaHlLRTtFQUNFLFdBUitCO0VBUy9CLGNBMUp3QjtFQTJKeEIsZS9CakdxRDtBTm80S3pEOztBcUNoeUtFO0VBQ0UsWUEvSTBCO0VBZ0oxQixhQWhKMEI7RUFpSjFCLFdBZmtEO0VBZ0JsRCxZQWZtRDtBckNrekt2RDs7QXFDaHlLRTtFQUNFLGFBbEJtRTtBckNxekt2RTs7QXNDdnJLRTtFQTlHQSx5QkFBeUI7RUFDekIsV0FBVztFQUNYLG1CakM1SGtCO0VpQzZIbEIsZ0JqQ3pHZTtBTGs1S2pCOztBc0NoNEtFOzs7RUFHRSx5QkNuQjZDO0VEb0I3Qyx5QmpDOURXO0FMaThLZjs7QXNDLzNLRTtFQUNFLGlDaEMvQnFEO0VnQ2dDckQsaUJqQ2hDcUI7QUxrNkt6Qjs7QW9CMTdLSTtFa0I2REEsbUJDL0I2QztFRGdDN0MsY2pDOUVXO0FMKzhLZjs7QXNDNzNLRTtFQUNFLG1CQ3JDNkM7RURzQzdDLGNqQ3BGVztBTG85S2Y7O0FzQzUzS0U7O0VBSUksdUJBQXVCO0F0QzYzSzdCOztBc0NqNEtFOzs7O0VBVUksaUNoQzFEbUQ7RWdDMkRuRCxpQmpDM0RtQjtFaUM0RG5CLGdCQUFZO0F0QzgzS2xCOztBc0N6M0tFOztFQUdJLGlDaENwRW1EO0FOKzdLekQ7O0FzQ2o4S007RUFDRSxnQkFBZ0I7RUFDaEIseUJDTXlDO0F2Qzg3S2pEOztBc0NyM0tNO0VBRUUseUJqQ3JITztBTDQrS2Y7O0FzQzE3S0U7RUFDRSxnQkFBZ0I7RUFDaEIsZ0NDVjZDO0VEVzdDLHlCakNyRFc7QUxrL0tmOztBRTMzS007RW9DZ0hGO0lBQ0UsYUFBYTtFdEMrd0tqQjtFc0Mzd0tBO0lBQ0UsYUFBYTtFdEM2d0tmO0VzQzF3S0E7OztJQUdFLGNBQWM7RXRDNHdLaEI7RXNDendLQTtJQUNFLGFBQWE7RXRDMndLZjtBQUNGOztBc0M3dktFO0VBdkdBLGNBQWM7RUFDZCxXQUFXO0VBQ1gsZ0JBQWdCO0F0Q3cyS2xCOztBc0NqMktJO0VBQ0UseUJBckttRTtBdEN5Z0x6RTs7QXNDOTFLSTtFQUNFLHlCQXBLbUU7QXRDcWdMekU7O0FzQzMxS0k7RUFDRSx5QkEzTXlEO0F0Q3lpTC9EOztBc0N2MUtNO0VBQ0UseUJBL01tRjtBdEN5aUwzRjs7QXNDM3dLRTtFQUNFLGdCQUFnQjtBdEM4d0twQjs7QXdDaGlMRTtFQVhBLHFCQUFxQjtFQUNyQixnQkFUb0I7RUFVcEIsY0FkbUI7RUFnQm5CLGtCQUFrQjtFQUVsQixpQkFWc0I7RUFXdEIsa0JBQWtCO0VBT2hCLG1CakMvQ21CO0VpQ2dEbkIsY25DRFc7QUx3aUxmOztBd0MzaUxFO0VBUU0sbUJqQ3BEZTtFaUNxRGYsY25DTk87QUw2aUxmOztBd0NoakxFO0VBUU0sbUJqQ25EaUI7RWlDb0RqQixjbkNOTztBTGtqTGY7O0F3Q3JqTEU7RUFRTSxtQmpDbERlO0VpQ21EZixjbkNWTztBTDJqTGY7O0F3QzFqTEU7RUFRTSxtQmpDaERlO0VpQ2lEZixjbkNWTztBTGdrTGY7O0F3Qy9qTEU7RUFRTSxtQmpDakRhO0VpQ2tEYixjbkNOTztBTGlrTGY7O0F5Q3ZnTEU7RUE3Q0Esa0JBdkR1QztFQXdEdkMsZ0JBQWdCO0F6Q3dqTGxCOztBUWo5S0U7RUFFRSxjQUFjO0VBQ2QsWUFBWTtFQUdWLDBCQUFhO01BQWIsYUFBYTtFQUNiLDRCQUFRO01BQVIs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VUFBUixRQUFRO0FSa29MZDs7QVE5bkxFO0VBQ0UsV0FBVztBUmlvTGY7O0E2Q3B1TEU7RUFDRSx1QnZDS3FEO0V1Q0pyRCxnQnhDUWE7RXdDUGIsbUJ2Q0dxRDtFdUNHbkQsYUFBYTtBN0NrdUxuQjs7QTZDaHVMTTtFQUVFLHFCQUFxQjtBN0NrdUw3Qjs7QUUzcExNO0UyQ3BGSjtJQXVCTSxxQkFBcUI7RTdDNnRMM0I7QUFDRjs7QTZDeHRMRTs7RUFFRSxjQUFjO0VBQ2QsMkJ2QzFCcUQ7RXVDMkJyRCxnQnhDdkJhO0V3Q3dCYixjeENwRVc7QUwreExmOztBNkN6dExJOztFQUNFLG1CeENuRmM7QUxnekxwQjs7QTZDbnJMRTtFQS9CQSwyQnZDMUN1RDtFdUMyQ3ZELG1CdEM5SHFCO0VzQytIckIsY3hDaEZhO0V3Q2lGYixlQUFlO0E3Q3N0TGpCOztBNkMxckxFO0VBcEJBLDJCdkNyRHVEO0V1Q3NEdkQsY3hDdEdtQjtFd0N1R25CLG1CQUFtQjtBN0NrdExyQjs7QTZDaHRMRTtFQUNFLHVCQUF1QjtBN0NtdEwzQjs7QTZDcHNMRTtFQU5BLDJCdkNuRXVEO0V1Q29FdkQsZ0JBQWdCO0VBQ2hCLGN4QzdHYTtBTDJ6TGY7O0E2Q3pyTEk7O0VBRUUscUJBQXFCO0VBQ3JCLG9CQUFzQztFQUN0QyxnQkFBZ0I7QTdDNHJMdEI7O0E2Q3pyTEk7O0VBRUUscUJBQXFCO0VBQ3JCLG1CQUFxQztFQUNyQyxnQkFBZ0I7QTdDNHJMdEI7O0E4Q2p1TEU7RUFuR0Esa0JBQWtCO0VBQ2xCLHFCQUFxQjtFQUVyQixpQ3pDWmlCO0V5Q2FqQixpQnpDK0J1QjtFeUM5QnZCLFlBaERtQjtBOUN1M0xyQjs7QThDcnVMRTtFQTlGQSxrQkFBa0I7RUFDbEIsMkJBQXdDO0VBQ3hDLGFBQWE7RUFFYixnQkFoQ3VCO0VBaUN2QixnQkFyQ3VCO0VBdUN2QixnQnpDdUJlO0V5Q3RCZix5QnpDdEJhO0V5Q3VCYixjN0I0Qm1CO0U2QjNCbkIsY3pDcEJhO0FMeTFMZjs7QThDbjBMRTtFQUNFLGtCQUFrQjtBOUNzMEx0Qjs7QThDbDBMSTtF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Q2dCO01Bd0NoQixzQkF4Q2dCO1VBd0NoQixtQkF4Q2dCO0VEd0ZkLDBCQUFxQjtNQUFyQixxQkFBcUI7QWhFc29RekI7O0FnRWhvUU07RUNoQ0osNEJEK0JnQjtNQy9CaEIsaUJEK0JnQjtVQy9CaEIsUUQrQmdCO0FoRXFvUWxCOztBZ0Vwb1FNO0VDaENKLDRCRCtCZ0I7TUMvQmhCLGlCRCtCZ0I7VUMvQmhCLFFEK0JnQjtBaEV5b1FsQjs7QWdFeG9RTTtFQ2hDSiw0QkQrQmdCO01DL0JoQixpQkQrQmdCO1VDL0JoQixRRCtCZ0I7QWhFNm9RbEI7O0FnRTVvUU07RUNoQ0osNEJEK0JnQjtNQy9CaEIsaUJEK0JnQjtVQy9CaEIsUUQrQmdCO0FoRWlwUWxCOztBZ0VocFFNO0VDaENKLDRCRCtCZ0I7TUMvQmhCLGlCRCtCZ0I7VUMvQmhCLFFEK0JnQjtBaEVxcFFsQjs7QWdFcHBRTTtFQ2hDSiw0QkQrQmdCO01DL0JoQixpQkQrQmdCO1VDL0JoQixRRCtCZ0I7QWhFeXBRbEI7O0FFaG1RTTtFOER4REE7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCO0VoRThwUWhCO0VnRTdwUUk7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCO0VoRWlxUWhCO0VnRWhxUUk7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCO0VoRW9xUWhCO0VnRW5xUUk7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCO0VoRXVxUWhCO0VnRXRxUUk7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCO0VoRTBxUWhCO0VnRXpxUUk7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCO0VoRTZxUWhCO0FBQ0Y7O0FFcm5RTTtFOER4REE7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCO0VoRW1yUWhCO0VnRWxyUUk7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCO0VoRXNyUWhCO0VnRXJyUUk7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCO0VoRXlyUWhCO0VnRXhyUUk7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCO0VoRTRyUWhCO0VnRTNyUUk7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCO0VoRStyUWhCO0VnRTlyUUk7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCO0VoRWtzUWhCO0FBQ0Y7O0FFcm9RTTtFOEQ3REE7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCO0VoRXdzUWhCO0VnRXZzUUk7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCO0VoRTJzUWhCO0VnRTFzUUk7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCO0VoRThzUWhCO0VnRTdzUUk7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCO0VoRWl0UWhCO0VnRWh0UUk7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCO0VoRW90UWhCO0VnRW50UUk7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCO0VoRXV0UWhCO0FBQ0Y7O0FFMXBRTTtFOEQ3REE7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCO0VoRTZ0UWhCO0VnRTV0UUk7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCO0VoRWd1UWhCO0VnRS90UUk7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCO0VoRW11UWhCO0VnRWx1UUk7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCO0VoRXN1UWhCO0Vn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O0VBTTlDLCtCQUFvRDtBbkY2clN4RDs7QW9CcHVTSTtFZ0VsQkEsa0NBQWtDO0VBQ2xDLG1DQUFtQztFQUNuQyxrQ0FBa0M7QXBGMHZTdEM7O0FnQmx0U0c7RW9FckNLLHFCQUFvQjtBcEYydlM1Qjs7QUkvdVNFO0VnRlRFLCtCN0VPaUM7RTZFTmpDLGU3RU9pQjtFNkVOakIsYzdFRmdCO0U2RUloQixrQkFBa0I7RUFDbEIsZ0JBQWdCO0FwRjJ2U3BCOztBSWx0U0U7RWdGcENFLGM3RWZtQjtFNkVnQm5CLGlDQUF5QjtFQUF6Qix5QkFBeUI7QXBGMHZTN0I7O0FpQjc1UkU7RW1FelZNLGM3RWZZO0FQeXdTcEI7O0FvRnR2U0E7RUFDSSxnQkFBZ0I7RUFDaEIsK0I3RVhvQztFNkVZcEMsbUJBQW1CO0FwRnl2U3ZCOztBb0Z2dlNBO0VBQ0ksK0I3RWxCaUM7RTZFbUJqQyxnQkFBZTtBcEYwdlNuQjs7QUlwd1NFO0VnRmNFLGVBQWU7RUFDZixjQUFjO0FwRjB2U2xCOztBb0Z4dlNBO0VBQ0ksZUFBZTtFQUNmLGNBQWM7QXBGMnZTbEI7O0FvRnp2U0E7RUFDSSxlQUFjO0VBQ2QsZ0JBQWU7QXBGNHZTbkI7O0FvRjF2U0E7RUFDSSxlQUFjO0FwRjZ2U2xCOztBb0YzdlNBO0VBQ0ksZUFBYztBcEY4dlNsQjs7QW9GNXZTQTtFQUNJLGVBQWM7QXBGK3ZTbEI7O0FxRnB6U1E7RWpGcUJOO0lnRnFDTSxlQUFlO0VwRit2U3JCO0VvRm54U0Y7SUF1QlEsZUFBZTtFcEYrdlNyQjtFb0ZseFNGO0lBc0JRLGVBQWU7RXBGK3ZTckI7RW9GanhTRjtJQXFCUSxlQUFlO0VwRit2U3JCO0VvRmp4U0Y7SUFxQlEsZUFBZTtFcEYrdlNyQjtFb0ZqeFNGO0lBcUJRLGVBQWU7RXBGK3ZTckI7QUFDRjs7QUkxdFNFO0VnRi9CRSxlQUFlO0VBQ2YsWUFBWTtBcEY2dlNoQjs7QWlCNWpTRTtFbUU3TEUsZ0JBQWdCO0VBQ2hCLG1CQUFtQjtBcEY2dlN2Qjs7QW9GL3ZTQTtFQUtRLGVBQWU7QXBGOHZTdkI7O0FvRm53U0E7RUFRUSxl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QTNGbzVUM0I7O0EyRjU2VEE7RUEwQlksU0FBUztFQUNULFVBQVM7QTNGczVUckI7O0EyRmo3VEE7RUE4QmdCLGdCQUFnQjtBM0Z1NVRoQzs7QTJGcjdUQTtFQXFDWSxpQkFBZ0I7RUFDaEIsVUFBVTtBM0ZvNVR0Qjs7QTJGMTdUQTtFQXlDZ0IsZ0JBQWdCO0VBQ2hCLHFCQUFxQjtFQUNyQixhQUFZO0EzRnE1VDVCOztBMkZoOFRBO0VBaURRLG1CQUFtQjtBM0ZtNVQzQjs7QTJGcDhUQTtFQXFEUSxpQkFBaUI7RUFDakIsY3BGdjJDZTtFb0Z3MkNmLGVBQWU7RUFDZiwrQnBGMTFDZ0M7RW9GMjFDaEMsbUJBQW1CO0VBQ25CLGlCQUFpQjtFQUNqQixtQkFBbUI7QTNGbTVUM0I7O0EyRjk4VEE7RUFnRVEsZ0JwRjMyQ1U7RW9GNDJDVixlQUFlO0EzRms1VHZCOztBMkZuOVRBO0VBdUVRLGVBQWU7RUFDZixXcEZqM0NVO0FQaXdXbEI7O0EyRng5VEE7RUEyRVksV3BGcDNDTTtBUHF3V2xCOztBMkY1OVRBO0VBK0VZLHFCQUFxQjtBM0ZpNVRqQzs7QTJGNzRUSTtFQW5GSjtJQXFGWSxlQUFlO0UzRmc1VHpCO0FBQ0Y7O0EyRjc0VEk7RUF6Rko7SUEyRlksaUJBQWlCO0UzRmc1VDNCO0UyRjMrVEY7SUErRlksa0JBQWtCO0UzRis0VDVCO0UyRjkrVEY7SUFrR1ksa0JBQWtCO0UzRis0VDVCO0UyRmovVEY7SUFzR1ksU0FBUztFM0Y4NFRuQjtFMkZwL1RGO0lBMEdZLGtCQUFrQjtFM0Y2NFQ1QjtBQUNGOztBMkYzNFRJO0VBN0dKO0lBOEdRLGtCQUFrQjtFM0YrNFR4QjtBQUNGIiwiZmlsZSI6ImFwcC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKipcclxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4gKiBWZXJzaW9uIDYuNS4zXHJcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cclxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcbiAqL1xuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnJldmVhbCwgLnJldmVhbC50aW55LCAucmV2ZWFsLnNtYWxsLCAucmV2ZWFsLmxhcmdlIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG59XG5cbi8qISBub3JtYWxpemUuY3NzIHY4LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xufVxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbn1cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgbWFyZ2luOiAwO1xufVxuXG5idXR0b24sXG5pbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG59XG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDA7XG59XG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xufVxuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICBmb250OiBpbmhlcml0O1xufVxuXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uZm91bmRhdGlvbi1tcSB7XG4gIGZvbnQtZmFtaWx5OiBcInNtYWxsPTBlbSZtZWRpdW09NDhlbSZsYXJnZT02NGVtJnhsYXJnZT0xMDBlbSZ4eGxhcmdlPTEyMC4wNjI1ZW1cIjtcbn1cblxuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbn1cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDtcbn1cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgZm9udC1mYW1pbHk6IFwiTGF0b1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzBhMGEwYTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbmltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG59XG5cbnRleHRhcmVhIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4taGVpZ2h0OiA1MHB4O1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG5zZWxlY3Qge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLm1hcF9jYW52YXMgaW1nLFxuLm1hcF9jYW52YXMgZW1iZWQsXG4ubWFwX2NhbnZhcyBvYmplY3QsXG4ubXFhLWRpc3BsYXkgaW1nLFxuLm1xYS1kaXNwbGF5IGVtYmVkLFxuLm1xYS1kaXNwbGF5IG9iamVjdCB7XG4gIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5idXR0b24ge1xuICBwYWRkaW5nOiAwO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBsaW5lLWhlaWdodDogMTtcbiAgY3Vyc29yOiBhdXRvO1xufVxuXG5bZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gYnV0dG9uIHtcbiAgb3V0bGluZTogMDtcbn1cblxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xufVxuXG4uaXMtdmlzaWJsZSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG5cbi5pcy1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cblt0eXBlPSd0ZXh0J10sIFt0eXBlPSdwYXNzd29yZCddLCBbdHlwZT0nZGF0ZSddLCBbdHlwZT0nZGF0ZXRpbWUnXSwgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sIFt0eXBlPSdtb250aCddLCBbdHlwZT0nd2VlayddLCBbdHlwZT0nZW1haWwnXSwgW3R5cGU9J251bWJlciddLCBbdHlwZT0nc2VhcmNoJ10sIFt0eXBlPSd0ZWwnXSwgW3R5cGU9J3RpbWUnXSwgW3R5cGU9J3VybCddLCBbdHlwZT0nY29sb3InXSxcbnRleHRhcmVhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDIuNDM3NXJlbTtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBib3gtc2hhZG93OiBub25lO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzBhMGEwYTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG59XG5cblt0eXBlPSd0ZXh0J106Zm9jdXMsIFt0eXBlPSdwYXNzd29yZCddOmZvY3VzLCBbdHlwZT0nZGF0ZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ106Zm9jdXMsIFt0eXBlPSdtb250aCddOmZvY3VzLCBbdHlwZT0nd2VlayddOmZvY3VzLCBbdHlwZT0nZW1haWwnXTpmb2N1cywgW3R5cGU9J251bWJlciddOmZvY3VzLCBbdHlwZT0nc2VhcmNoJ106Zm9jdXMsIFt0eXBlPSd0ZWwnXTpmb2N1cywgW3R5cGU9J3RpbWUnXTpmb2N1cywgW3R5cGU9J3VybCddOmZvY3VzLCBbdHlwZT0nY29sb3InXTpmb2N1cyxcbnRleHRhcmVhOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzhhOGE4YTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgYm94LXNoYWRvdzogMCAwIDVweCAjY2FjYWNhO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbn1cblxudGV4dGFyZWEge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbnRleHRhcmVhW3Jvd3NdIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5pbnB1dDpkaXNhYmxlZCwgaW5wdXRbcmVhZG9ubHldLFxudGV4dGFyZWE6ZGlzYWJsZWQsXG50ZXh0YXJlYVtyZWFkb25seV0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG5bdHlwZT0nc3VibWl0J10sXG5bdHlwZT0nYnV0dG9uJ10ge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG5pbnB1dFt0eXBlPSdzZWFyY2gnXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbjo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2NhY2FjYTtcbn1cblxuW3R5cGU9J2ZpbGUnXSxcblt0eXBlPSdjaGVja2JveCddLFxuW3R5cGU9J3JhZGlvJ10ge1xuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG5bdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cblt0eXBlPSdjaGVja2JveCddICsgbGFiZWxbZm9yXSxcblt0eXBlPSdyYWRpbyddICsgbGFiZWxbZm9yXSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxubGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbmxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbn1cblxuW3R5cGU9J2ZpbGUnXSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjg7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuXG5sYWJlbC5taWRkbGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjU2MjVyZW0gMDtcbn1cblxuLmhlbHAtdGV4dCB7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuXG4uaW5wdXQtZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG59XG5cbi5pbnB1dC1ncm91cCA+IDpmaXJzdC1jaGlsZCwgLmlucHV0LWdyb3VwID4gOmZpcnN0LWNoaWxkLmlucHV0LWdyb3VwLWJ1dHRvbiA+ICoge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwO1xufVxuXG4uaW5wdXQtZ3JvdXAgPiA6bGFzdC1jaGlsZCwgLmlucHV0LWdyb3VwID4gOmxhc3QtY2hpbGQuaW5wdXQtZ3JvdXAtYnV0dG9uID4gKiB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7XG59XG5cbi5pbnB1dC1ncm91cC1sYWJlbCwgLmlucHV0LWdyb3VwLWZpZWxkLCAuaW5wdXQtZ3JvdXAtYnV0dG9uLCAuaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGxhYmVsIHtcbiAgbWFyZ2luOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uaW5wdXQtZ3JvdXAtbGFiZWwge1xuICBwYWRkaW5nOiAwIDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJhY2tncm91bmQ6ICNlNmU2ZTY7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uaW5wdXQtZ3JvdXAtbGFiZWw6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmlnaHQ6IDA7XG59XG5cbi5pbnB1dC1ncm91cC1sYWJlbDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWxlZnQ6IDA7XG59XG5cbi5pbnB1dC1ncm91cC1maWVsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZsZXg6IDEgMSAwcHg7XG4gIG1pbi13aWR0aDogMDtcbn1cblxuLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDAgYXV0bztcbn1cblxuLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCxcbi5pbnB1dC1ncm91cC1idXR0b24gYnV0dG9uLFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbCB7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIGhlaWdodDogYXV0bztcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBmb250LXNpemU6IDFyZW07XG59XG5cbmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG59XG5cbmxlZ2VuZCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuXG4uZmllbGRzZXQge1xuICBtYXJnaW46IDEuMTI1cmVtIDA7XG4gIHBhZGRpbmc6IDEuMjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG59XG5cbi5maWVsZHNldCBsZWdlbmQge1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi1sZWZ0OiAtMC4xODc1cmVtO1xuICBwYWRkaW5nOiAwIDAuMTg3NXJlbTtcbn1cblxuc2VsZWN0IHtcbiAgaGVpZ2h0OiAyLjQzNzVyZW07XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogcmdiJTI4MTM4LCAxMzgsIDEzOCUyOSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcbiAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAtMXJlbSBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCkge1xuICBzZWxlY3Qge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT1cIik7XG4gIH1cbn1cblxuc2VsZWN0OmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzhhOGE4YTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgYm94LXNoYWRvdzogMCAwIDVweCAjY2FjYWNhO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbn1cblxuc2VsZWN0OmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuc2VsZWN0W211bHRpcGxlXSB7XG4gIGhlaWdodDogYXV0bztcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cblxuLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cykge1xuICBib3JkZXItY29sb3I6ICNjYzRiMzc7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOWVjZWE7XG59XG5cbi5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjY2M0YjM3O1xufVxuXG4uaXMtaW52YWxpZC1sYWJlbCB7XG4gIGNvbG9yOiAjY2M0YjM3O1xufVxuXG4uZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjY2M0YjM3O1xufVxuXG4uZm9ybS1lcnJvci5pcy12aXNpYmxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbmRpdixcbmRsLFxuZHQsXG5kZCxcbnVsLFxub2wsXG5saSxcbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNixcbnByZSxcbmZvcm0sXG5wLFxuYmxvY2txdW90ZSxcbnRoLFxudGQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbnAge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG59XG5cbmVtLFxuaSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbnN0cm9uZyxcbmIge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5oMSwgLmgxLFxuaDIsIC5oMixcbmgzLCAuaDMsXG5oNCwgLmg0LFxuaDUsIC5oNSxcbmg2LCAuaDYge1xuICBmb250LWZhbWlseTogXCJMYXRvXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG59XG5cbmgxIHNtYWxsLCAuaDEgc21hbGwsXG5oMiBzbWFsbCwgLmgyIHNtYWxsLFxuaDMgc21hbGwsIC5oMyBzbWFsbCxcbmg0IHNtYWxsLCAuaDQgc21hbGwsXG5oNSBzbWFsbCwgLmg1IHNtYWxsLFxuaDYgc21hbGwsIC5oNiBzbWFsbCB7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBjb2xvcjogI2NhY2FjYTtcbn1cblxuaDEsIC5oMSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG5cbmgyLCAuaDIge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cblxuaDMsIC5oMyB7XG4gIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG5cbmg0LCAuaDQge1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG5cbmg1LCAuaDUge1xuICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuXG5oNiwgLmg2IHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIGgxLCAuaDEge1xuICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgfVxuICBoMiwgLmgyIHtcbiAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgfVxuICBoMywgLmgzIHtcbiAgICBmb250LXNpemU6IDEuOTM3NXJlbTtcbiAgfVxuICBoNCwgLmg0IHtcbiAgICBmb250LXNpemU6IDEuNTYyNXJlbTtcbiAgfVxuICBoNSwgLmg1IHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gIH1cbiAgaDYsIC5oNiB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICB9XG59XG5cbmEge1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6ICM5OTFCMUU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5hOmhvdmVyLCBhOmZvY3VzIHtcbiAgY29sb3I6ICM4NDE3MWE7XG59XG5cbmEgaW1nIHtcbiAgYm9yZGVyOiAwO1xufVxuXG5ociB7XG4gIGNsZWFyOiBib3RoO1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogMS4yNXJlbSBhdXRvO1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItbGVmdDogMDtcbn1cblxudWwsXG5vbCxcbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cblxubGkge1xuICBmb250LXNpemU6IGluaGVyaXQ7XG59XG5cbnVsIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbn1cblxub2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbn1cblxudWwgdWwsIG9sIHVsLCB1bCBvbCwgb2wgb2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG5kbCBkdCB7XG4gIG1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjU2MjVyZW0gMS4yNXJlbSAwIDEuMTg3NXJlbTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2FjYWNhO1xufVxuXG5ibG9ja3F1b3RlLCBibG9ja3F1b3RlIHAge1xuICBsaW5lLWhlaWdodDogMS42O1xuICBjb2xvcjogIzhhOGE4YTtcbn1cblxuY2l0ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgY29sb3I6ICM4YThhOGE7XG59XG5cbmNpdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLigJQgXCI7XG59XG5cbmFiYnIsIGFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAjMGEwYTBhO1xuICBjdXJzb3I6IGhlbHA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG5jb2RlIHtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4zMTI1cmVtIDAuMDYyNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuXG5rYmQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAuMTI1cmVtIDAuMjVyZW0gMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuXG4uc3ViaGVhZGVyIHtcbiAgbWFyZ2luLXRvcDogMC4ycmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGNvbG9yOiAjOGE4YThhO1xufVxuXG4ubGVhZCB7XG4gIGZvbnQtc2l6ZTogMTI1JTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cblxuLnN0YXQge1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbnAgKyAuc3RhdCB7XG4gIG1hcmdpbi10b3A6IC0xcmVtO1xufVxuXG51bC5uby1idWxsZXQsIG9sLm5vLWJ1bGxldCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4udGV4dC1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLnRleHQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLnRleHQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udGV4dC1qdXN0aWZ5IHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm1lZGl1bS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgLm1lZGl1bS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuICAubWVkaXVtLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLm1lZGl1bS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuICAubGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbiAgLmxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLmxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAueGxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuICAueGxhcmdlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG4gIC54bGFyZ2UtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAueGxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAuMDYyNWVtKSB7XG4gIC54eGxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuICAueHhsYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuICAueHhsYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIC54eGxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgfVxufVxuXG4uc2hvdy1mb3ItcHJpbnQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSBwcmludCB7XG4gICoge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xuICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG4gIC5oaWRlLWZvci1wcmludCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIHRhYmxlLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50O1xuICB9XG4gIHRoZWFkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDtcbiAgfVxuICB0Ym9keS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7XG4gIH1cbiAgdHIuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50O1xuICB9XG4gIHRkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gIH1cbiAgdGguc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDtcbiAgfVxuICBhLFxuICBhOnZpc2l0ZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG4gIGFbaHJlZl06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiO1xuICB9XG4gIC5pciBhOmFmdGVyLFxuICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxuICBhW2hyZWZePScjJ106YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG4gIGFiYnJbdGl0bGVdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7XG4gIH1cbiAgcHJlLFxuICBibG9ja3F1b3RlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOGE4YThhO1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgfVxuICB0aGVhZCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwO1xuICB9XG4gIHRyLFxuICBpbWcge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgfVxuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG4gIEBwYWdlIHtcbiAgICBtYXJnaW46IDAuNWNtO1xuICB9XG4gIHAsXG4gIGgyLFxuICBoMyB7XG4gICAgb3JwaGFuczogMztcbiAgICB3aWRvd3M6IDM7XG4gIH1cbiAgaDIsXG4gIGgzIHtcbiAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDtcbiAgfVxuICAucHJpbnQtYnJlYWstaW5zaWRlIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXV0bztcbiAgfVxufVxuXG4uZ3JpZC1jb250YWluZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAxLjg3NXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxLjg3NXJlbTtcbiAgbWF4LXdpZHRoOiAxNDcwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi5ncmlkLWNvbnRhaW5lci5mbHVpZCB7XG4gIHBhZGRpbmctcmlnaHQ6IDEuODc1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDEuODc1cmVtO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi5ncmlkLWNvbnRhaW5lci5mdWxsIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi5ncmlkLXgge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xufVxuXG4uY2VsbCB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtaW4taGVpZ2h0OiAwcHg7XG4gIG1pbi13aWR0aDogMHB4O1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmNlbGwuYXV0byB7XG4gIGZsZXg6IDEgMSAwcHg7XG59XG5cbi5jZWxsLnNocmluayB7XG4gIGZsZXg6IDAgMCBhdXRvO1xufVxuXG4uZ3JpZC14ID4gLmF1dG8ge1xuICB3aWR0aDogYXV0bztcbn1cblxuLmdyaWQteCA+IC5zaHJpbmsge1xuICB3aWR0aDogYXV0bztcbn1cblxuLmdyaWQteCA+IC5zbWFsbC1zaHJpbmssIC5ncmlkLXggPiAuc21hbGwtZnVsbCwgLmdyaWQteCA+IC5zbWFsbC0xLCAuZ3JpZC14ID4gLnNtYWxsLTIsIC5ncmlkLXggPiAuc21hbGwtMywgLmdyaWQteCA+IC5zbWFsbC00LCAuZ3JpZC14ID4gLnNtYWxsLTUsIC5ncmlkLXggPiAuc21hbGwtNiwgLmdyaWQteCA+IC5zbWFsbC03LCAuZ3JpZC14ID4gLnNtYWxsLTgsIC5ncmlkLXggPiAuc21hbGwtOSwgLmdyaWQteCA+IC5zbWFsbC0xMCwgLmdyaWQteCA+IC5zbWFsbC0xMSwgLmdyaWQteCA+IC5zbWFsbC0xMiB7XG4gIGZsZXgtYmFzaXM6IGF1dG87XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5ncmlkLXggPiAubWVkaXVtLXNocmluaywgLmdyaWQteCA+IC5tZWRpdW0tZnVsbCwgLmdyaWQteCA+IC5tZWRpdW0tMSwgLmdyaWQteCA+IC5tZWRpdW0tMiwgLmdyaWQteCA+IC5tZWRpdW0tMywgLmdyaWQteCA+IC5tZWRpdW0tNCwgLmdyaWQteCA+IC5tZWRpdW0tNSwgLmdyaWQteCA+IC5tZWRpdW0tNiwgLmdyaWQteCA+IC5tZWRpdW0tNywgLmdyaWQteCA+IC5tZWRpdW0tOCwgLmdyaWQteCA+IC5tZWRpdW0tOSwgLmdyaWQteCA+IC5tZWRpdW0tMTAsIC5ncmlkLXggPiAubWVkaXVtLTExLCAuZ3JpZC14ID4gLm1lZGl1bS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bztcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC14ID4gLmxhcmdlLXNocmluaywgLmdyaWQteCA+IC5sYXJnZS1mdWxsLCAuZ3JpZC14ID4gLmxhcmdlLTEsIC5ncmlkLXggPiAubGFyZ2UtMiwgLmdyaWQteCA+IC5sYXJnZS0zLCAuZ3JpZC14ID4gLmxhcmdlLTQsIC5ncmlkLXggPiAubGFyZ2UtNSwgLmdyaWQteCA+IC5sYXJnZS02LCAuZ3JpZC14ID4gLmxhcmdlLTcsIC5ncmlkLXggPiAubGFyZ2UtOCwgLmdyaWQteCA+IC5sYXJnZS05LCAuZ3JpZC14ID4gLmxhcmdlLTEwLCAuZ3JpZC14ID4gLmxhcmdlLTExLCAuZ3JpZC14ID4gLmxhcmdlLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC5ncmlkLXggPiAueGxhcmdlLXNocmluaywgLmdyaWQteCA+IC54bGFyZ2UtZnVsbCwgLmdyaWQteCA+IC54bGFyZ2UtMSwgLmdyaWQteCA+IC54bGFyZ2UtMiwgLmdyaWQteCA+IC54bGFyZ2UtMywgLmdyaWQteCA+IC54bGFyZ2UtNCwgLmdyaWQteCA+IC54bGFyZ2UtNSwgLmdyaWQteCA+IC54bGFyZ2UtNiwgLmdyaWQteCA+IC54bGFyZ2UtNywgLmdyaWQteCA+IC54bGFyZ2UtOCwgLmdyaWQteCA+IC54bGFyZ2UtOSwgLmdyaWQteCA+IC54bGFyZ2UtMTAsIC5ncmlkLXggPiAueGxhcmdlLTExLCAuZ3JpZC14ID4gLnhsYXJnZS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bztcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAuMDYyNWVtKSB7XG4gIC5ncmlkLXggPiAueHhsYXJnZS1zaHJpbmssIC5ncmlkLXggPiAueHhsYXJnZS1mdWxsLCAuZ3JpZC14ID4gLnh4bGFyZ2UtMSwgLmdyaWQteCA+IC54eGxhcmdlLTIsIC5ncmlkLXggPiAueHhsYXJnZS0zLCAuZ3JpZC14ID4gLnh4bGFyZ2UtNCwgLmdyaWQteCA+IC54eGxhcmdlLTUsIC5ncmlkLXggPiAueHhsYXJnZS02LCAuZ3JpZC14ID4gLnh4bGFyZ2UtNywgLmdyaWQteCA+IC54eGxhcmdlLTgsIC5ncmlkLXggPiAueHhsYXJnZS05LCAuZ3JpZC14ID4gLnh4bGFyZ2UtMTAsIC5ncmlkLXggPiAueHhsYXJnZS0xMSwgLmdyaWQteCA+IC54eGxhcmdlLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICB9XG59XG5cbi5ncmlkLXggPiAuc21hbGwtMSwgLmdyaWQteCA+IC5zbWFsbC0yLCAuZ3JpZC14ID4gLnNtYWxsLTMsIC5ncmlkLXggPiAuc21hbGwtNCwgLmdyaWQteCA+IC5zbWFsbC01LCAuZ3JpZC14ID4gLnNtYWxsLTYsIC5ncmlkLXggPiAuc21hbGwtNywgLmdyaWQteCA+IC5zbWFsbC04LCAuZ3JpZC14ID4gLnNtYWxsLTksIC5ncmlkLXggPiAuc21hbGwtMTAsIC5ncmlkLXggPiAuc21hbGwtMTEsIC5ncmlkLXggPiAuc21hbGwtMTIge1xuICBmbGV4OiAwIDAgYXV0bztcbn1cblxuLmdyaWQteCA+IC5zbWFsbC0xIHtcbiAgd2lkdGg6IDguMzMzMzMlO1xufVxuXG4uZ3JpZC14ID4gLnNtYWxsLTIge1xuICB3aWR0aDogMTYuNjY2NjclO1xufVxuXG4uZ3JpZC14ID4gLnNtYWxsLTMge1xuICB3aWR0aDogMjUlO1xufVxuXG4uZ3JpZC14ID4gLnNtYWxsLTQge1xuICB3aWR0aDogMzMuMzMzMzMlO1xufVxuXG4uZ3JpZC14ID4gLnNtYWxsLTUge1xuICB3aWR0aDogNDEuNjY2NjclO1xufVxuXG4uZ3JpZC14ID4gLnNtYWxsLTYge1xuICB3aWR0aDogNTAlO1xufVxuXG4uZ3JpZC14ID4gLnNtYWxsLTcge1xuICB3aWR0aDogNTguMzMzMzMlO1xufVxuXG4uZ3JpZC14ID4gLnNtYWxsLTgge1xuICB3aWR0aDogNjYuNjY2NjclO1xufVxuXG4uZ3JpZC14ID4gLnNtYWxsLTkge1xuICB3aWR0aDogNzUlO1xufVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEwIHtcbiAgd2lkdGg6IDgzLjMzMzMzJTtcbn1cblxuLmdyaWQteCA+IC5zbWFsbC0xMSB7XG4gIHdpZHRoOiA5MS42NjY2NyU7XG59XG5cbi5ncmlkLXggPiAuc21hbGwtMTIge1xuICB3aWR0aDogMTAwJTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmdyaWQteCA+IC5tZWRpdW0tYXV0byB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS1zaHJpbmssIC5ncmlkLXggPiAubWVkaXVtLTEsIC5ncmlkLXggPiAubWVkaXVtLTIsIC5ncmlkLXggPiAubWVkaXVtLTMsIC5ncmlkLXggPiAubWVkaXVtLTQsIC5ncmlkLXggPiAubWVkaXVtLTUsIC5ncmlkLXggPiAubWVkaXVtLTYsIC5ncmlkLXggPiAubWVkaXVtLTcsIC5ncmlkLXggPiAubWVkaXVtLTgsIC5ncmlkLXggPiAubWVkaXVtLTksIC5ncmlkLXggPiAubWVkaXVtLTEwLCAuZ3JpZC14ID4gLm1lZGl1bS0xMSwgLmdyaWQteCA+IC5tZWRpdW0tMTIge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICB9XG4gIC5ncmlkLXggPiAubWVkaXVtLXNocmluayB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlO1xuICB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7XG4gIH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlO1xuICB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7XG4gIH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlO1xuICB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7XG4gIH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTtcbiAgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTtcbiAgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQteCA+IC5sYXJnZS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLXggPiAubGFyZ2Utc2hyaW5rLCAuZ3JpZC14ID4gLmxhcmdlLTEsIC5ncmlkLXggPiAubGFyZ2UtMiwgLmdyaWQteCA+IC5sYXJnZS0zLCAuZ3JpZC14ID4gLmxhcmdlLTQsIC5ncmlkLXggPiAubGFyZ2UtNSwgLmdyaWQteCA+IC5sYXJnZS02LCAuZ3JpZC14ID4gLmxhcmdlLTcsIC5ncmlkLXggPiAubGFyZ2UtOCwgLmdyaWQteCA+IC5sYXJnZS05LCAuZ3JpZC14ID4gLmxhcmdlLTEwLCAuZ3JpZC14ID4gLmxhcmdlLTExLCAuZ3JpZC14ID4gLmxhcmdlLTEyIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgfVxuICAuZ3JpZC14ID4gLmxhcmdlLXNocmluayB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7XG4gIH1cbiAgLmdyaWQteCA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclO1xuICB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gIH1cbiAgLmdyaWQteCA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclO1xuICB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7XG4gIH1cbiAgLmdyaWQteCA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclO1xuICB9XG4gIC5ncmlkLXggPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlO1xuICB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7XG4gIH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLmdyaWQteCA+IC54bGFyZ2UtYXV0byB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS1zaHJpbmssIC5ncmlkLXggPiAueGxhcmdlLTEsIC5ncmlkLXggPiAueGxhcmdlLTIsIC5ncmlkLXggPiAueGxhcmdlLTMsIC5ncmlkLXggPiAueGxhcmdlLTQsIC5ncmlkLXggPiAueGxhcmdlLTUsIC5ncmlkLXggPiAueGxhcmdlLTYsIC5ncmlkLXggPiAueGxhcmdlLTcsIC5ncmlkLXggPiAueGxhcmdlLTgsIC5ncmlkLXggPiAueGxhcmdlLTksIC5ncmlkLXggPiAueGxhcmdlLTEwLCAuZ3JpZC14ID4gLnhsYXJnZS0xMSwgLmdyaWQteCA+IC54bGFyZ2UtMTIge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICB9XG4gIC5ncmlkLXggPiAueGxhcmdlLXNocmluayB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlO1xuICB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7XG4gIH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlO1xuICB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7XG4gIH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlO1xuICB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7XG4gIH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTtcbiAgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTtcbiAgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwLjA2MjVlbSkge1xuICAuZ3JpZC14ID4gLnh4bGFyZ2UtYXV0byB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2Utc2hyaW5rLCAuZ3JpZC14ID4gLnh4bGFyZ2UtMSwgLmdyaWQteCA+IC54eGxhcmdlLTIsIC5ncmlkLXggPiAueHhsYXJnZS0zLCAuZ3JpZC14ID4gLnh4bGFyZ2UtNCwgLmdyaWQteCA+IC54eGxhcmdlLTUsIC5ncmlkLXggPiAueHhsYXJnZS02LCAuZ3JpZC14ID4gLnh4bGFyZ2UtNywgLmdyaWQteCA+IC54eGxhcmdlLTgsIC5ncmlkLXggPiAueHhsYXJnZS05LCAuZ3JpZC14ID4gLnh4bGFyZ2UtMTAsIC5ncmlkLXggPiAueHhsYXJnZS0xMSwgLmdyaWQteCA+IC54eGxhcmdlLTEyIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2Utc2hyaW5rIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlO1xuICB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclO1xuICB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlO1xuICB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclO1xuICB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlO1xuICB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclO1xuICB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTtcbiAgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7XG4gIH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4uZ3JpZC1tYXJnaW4teDpub3QoLmdyaWQteCkgPiAuY2VsbCB7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4uZ3JpZC1tYXJnaW4teTpub3QoLmdyaWQteSkgPiAuY2VsbCB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLmdyaWQtbWFyZ2luLXgge1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXgge1xuICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgfVxufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgfVxufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5hdXRvIHtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNocmluayB7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xIHtcbiAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjI1cmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMiB7XG4gIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0zIHtcbiAgd2lkdGg6IGNhbGMoMjUlIC0gMS4yNXJlbSk7XG59XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTQge1xuICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNSB7XG4gIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuMjVyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC02IHtcbiAgd2lkdGg6IGNhbGMoNTAlIC0gMS4yNXJlbSk7XG59XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTcge1xuICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjI1cmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOCB7XG4gIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuMjVyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC05IHtcbiAgd2lkdGg6IGNhbGMoNzUlIC0gMS4yNXJlbSk7XG59XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEwIHtcbiAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS4yNXJlbSk7XG59XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTExIHtcbiAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS4yNXJlbSk7XG59XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEyIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZ3JpZC1tYXJnaW4teCA+IC5hdXRvIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1hdXRvIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IGNhbGMoNzUlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1hdXRvIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1hdXRvIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utc2hyaW5rIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMSB7XG4gICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTIge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS00IHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTUge1xuICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtNiB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTgge1xuICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtOSB7XG4gICAgd2lkdGg6IGNhbGMoNzUlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAuMDYyNWVtKSB7XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtYXV0byB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtMSB7XG4gICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS0yIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS0zIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS00IHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS01IHtcbiAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS02IHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS03IHtcbiAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS04IHtcbiAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS05IHtcbiAgICB3aWR0aDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtMTEge1xuICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTEyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICB9XG59XG5cbi5ncmlkLXBhZGRpbmcteCAuZ3JpZC1wYWRkaW5nLXgge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmdyaWQtcGFkZGluZy14IC5ncmlkLXBhZGRpbmcteCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtO1xuICB9XG59XG5cbi5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gLmdyaWQtcGFkZGluZy14IHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gLmdyaWQtcGFkZGluZy14IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07XG4gIH1cbn1cblxuLmdyaWQtcGFkZGluZy14ID4gLmNlbGwge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmdyaWQtcGFkZGluZy14ID4gLmNlbGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgfVxufVxuXG4uc21hbGwtdXAtMSA+IC5jZWxsIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5zbWFsbC11cC0yID4gLmNlbGwge1xuICB3aWR0aDogNTAlO1xufVxuXG4uc21hbGwtdXAtMyA+IC5jZWxsIHtcbiAgd2lkdGg6IDMzLjMzMzMzJTtcbn1cblxuLnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gIHdpZHRoOiAyNSU7XG59XG5cbi5zbWFsbC11cC01ID4gLmNlbGwge1xuICB3aWR0aDogMjAlO1xufVxuXG4uc21hbGwtdXAtNiA+IC5jZWxsIHtcbiAgd2lkdGg6IDE2LjY2NjY3JTtcbn1cblxuLnNtYWxsLXVwLTcgPiAuY2VsbCB7XG4gIHdpZHRoOiAxNC4yODU3MSU7XG59XG5cbi5zbWFsbC11cC04ID4gLmNlbGwge1xuICB3aWR0aDogMTIuNSU7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tZWRpdW0tdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAubWVkaXVtLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAubWVkaXVtLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgfVxuICAubWVkaXVtLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAubWVkaXVtLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDIwJTtcbiAgfVxuICAubWVkaXVtLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTtcbiAgfVxuICAubWVkaXVtLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEyLjUlO1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5sYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLmxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgfVxuICAubGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5sYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7XG4gIH1cbiAgLmxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzElO1xuICB9XG4gIC5sYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAueGxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnhsYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLnhsYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gIH1cbiAgLnhsYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLnhsYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7XG4gIH1cbiAgLnhsYXJnZS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7XG4gIH1cbiAgLnhsYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7XG4gIH1cbiAgLnhsYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAuMDYyNWVtKSB7XG4gIC54eGxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnh4bGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC54eGxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgfVxuICAueHhsYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLnh4bGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjAlO1xuICB9XG4gIC54eGxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgfVxuICAueHhsYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7XG4gIH1cbiAgLnh4bGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTIuNSU7XG4gIH1cbn1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMSA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0yID4gLmNlbGwge1xuICB3aWR0aDogY2FsYyg1MCUgLSAxLjI1cmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMyA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7XG59XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDI1JSAtIDEuMjVyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC01ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygyMCUgLSAxLjI1cmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNiA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7XG59XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTcgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDEuMjVyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC04ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxMi41JSAtIDEuMjVyZW0pO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS44NzVyZW0pO1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS44NzVyZW0pO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjg3NXJlbSk7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwLjA2MjVlbSkge1xuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjg3NXJlbSk7XG4gIH1cbn1cblxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gIHdpZHRoOiA4LjMzMzMzJTtcbn1cblxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgd2lkdGg6IDE2LjY2NjY3JTtcbn1cblxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgd2lkdGg6IDI1JTtcbn1cblxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgd2lkdGg6IDMzLjMzMzMzJTtcbn1cblxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgd2lkdGg6IDQxLjY2NjY3JTtcbn1cblxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgd2lkdGg6IDUwJTtcbn1cblxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgd2lkdGg6IDU4LjMzMzMzJTtcbn1cblxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgd2lkdGg6IDY2LjY2NjY3JTtcbn1cblxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgd2lkdGg6IDc1JTtcbn1cblxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gIHdpZHRoOiA4My4zMzMzMyU7XG59XG5cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICB3aWR0aDogOTEuNjY2NjclO1xufVxuXG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMC4wNjI1ZW0pIHtcbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLnNtYWxsLXBhZGRpbmctY29sbGFwc2Uge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4uc21hbGwtcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAuMDYyNWVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tZWRpdW0tcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIC5tZWRpdW0tcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwLjA2MjVlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIC5sYXJnZS1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMC4wNjI1ZW0pIHtcbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnhsYXJnZS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLnhsYXJnZS1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMC4wNjI1ZW0pIHtcbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAuMDYyNWVtKSB7XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMC4wNjI1ZW0pIHtcbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwLjA2MjVlbSkge1xuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAuMDYyNWVtKSB7XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMC4wNjI1ZW0pIHtcbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwLjA2MjVlbSkge1xuICAueHhsYXJnZS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLnh4bGFyZ2UtcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuXG4uc21hbGwtb2Zmc2V0LTAge1xuICBtYXJnaW4tbGVmdDogMCU7XG59XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0wIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAwLjYyNXJlbSk7XG59XG5cbi5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTtcbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDAuNjI1cmVtKTtcbn1cblxuLnNtYWxsLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTtcbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAwLjYyNXJlbSk7XG59XG5cbi5zbWFsbC1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiAyNSU7XG59XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMC42MjVyZW0pO1xufVxuXG4uc21hbGwtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDAuNjI1cmVtKTtcbn1cblxuLnNtYWxsLW9mZnNldC01IHtcbiAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTtcbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAwLjYyNXJlbSk7XG59XG5cbi5zbWFsbC1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiA1MCU7XG59XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMC42MjVyZW0pO1xufVxuXG4uc21hbGwtb2Zmc2V0LTcge1xuICBtYXJnaW4tbGVmdDogNTguMzMzMzMlO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDAuNjI1cmVtKTtcbn1cblxuLnNtYWxsLW9mZnNldC04IHtcbiAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTtcbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAwLjYyNXJlbSk7XG59XG5cbi5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiA3NSU7XG59XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMC42MjVyZW0pO1xufVxuXG4uc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTtcbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMC42MjVyZW0pO1xufVxuXG4uc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTtcbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMC42MjVyZW0pO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubWVkaXVtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDAuOTM3NXJlbSk7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAwLjkzNzVyZW0pO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAwLjkzNzVyZW0pO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAwLjkzNzVyZW0pO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyAwLjkzNzVyZW0pO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAwLjkzNzVyZW0pO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAwLjkzNzVyZW0pO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMyUgKyAwLjkzNzVyZW0pO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAwLjkzNzVyZW0pO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAwLjkzNzVyZW0pO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDAuOTM3NXJlbSk7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMC45Mzc1cmVtKTtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAwLjkzNzVyZW0pO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDAuOTM3NXJlbSk7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAwLjkzNzVyZW0pO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMC45Mzc1cmVtKTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDAuOTM3NXJlbSk7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAwLjkzNzVyZW0pO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMC45Mzc1cmVtKTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDAuOTM3NXJlbSk7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAwLjkzNzVyZW0pO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMC45Mzc1cmVtKTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMC45Mzc1cmVtKTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMC45Mzc1cmVtKTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAueGxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDAuOTM3NXJlbSk7XG4gIH1cbiAgLnhsYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAwLjkzNzVyZW0pO1xuICB9XG4gIC54bGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAwLjkzNzVyZW0pO1xuICB9XG4gIC54bGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAwLjkzNzVyZW0pO1xuICB9XG4gIC54bGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyAwLjkzNzVyZW0pO1xuICB9XG4gIC54bGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAwLjkzNzVyZW0pO1xuICB9XG4gIC54bGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAwLjkzNzVyZW0pO1xuICB9XG4gIC54bGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMyUgKyAwLjkzNzVyZW0pO1xuICB9XG4gIC54bGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAwLjkzNzVyZW0pO1xuICB9XG4gIC54bGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAwLjkzNzVyZW0pO1xuICB9XG4gIC54bGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDAuOTM3NXJlbSk7XG4gIH1cbiAgLnhsYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMC45Mzc1cmVtKTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAuMDYyNWVtKSB7XG4gIC54eGxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAwLjkzNzVyZW0pO1xuICB9XG4gIC54eGxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAwLjkzNzVyZW0pO1xuICB9XG4gIC54eGxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDAuOTM3NXJlbSk7XG4gIH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMC45Mzc1cmVtKTtcbiAgfVxuICAueHhsYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyAwLjkzNzVyZW0pO1xuICB9XG4gIC54eGxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDAuOTM3NXJlbSk7XG4gIH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMC45Mzc1cmVtKTtcbiAgfVxuICAueHhsYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMyUgKyAwLjkzNzVyZW0pO1xuICB9XG4gIC54eGxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDAuOTM3NXJlbSk7XG4gIH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMC45Mzc1cmVtKTtcbiAgfVxuICAueHhsYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDAuOTM3NXJlbSk7XG4gIH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyAwLjkzNzVyZW0pO1xuICB9XG59XG5cbi5ncmlkLXkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG59XG5cbi5ncmlkLXkgPiAuY2VsbCB7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXgtd2lkdGg6IG5vbmU7XG59XG5cbi5ncmlkLXkgPiAuYXV0byB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLmdyaWQteSA+IC5zaHJpbmsge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5ncmlkLXkgPiAuc21hbGwtc2hyaW5rLCAuZ3JpZC15ID4gLnNtYWxsLWZ1bGwsIC5ncmlkLXkgPiAuc21hbGwtMSwgLmdyaWQteSA+IC5zbWFsbC0yLCAuZ3JpZC15ID4gLnNtYWxsLTMsIC5ncmlkLXkgPiAuc21hbGwtNCwgLmdyaWQteSA+IC5zbWFsbC01LCAuZ3JpZC15ID4gLnNtYWxsLTYsIC5ncmlkLXkgPiAuc21hbGwtNywgLmdyaWQteSA+IC5zbWFsbC04LCAuZ3JpZC15ID4gLnNtYWxsLTksIC5ncmlkLXkgPiAuc21hbGwtMTAsIC5ncmlkLXkgPiAuc21hbGwtMTEsIC5ncmlkLXkgPiAuc21hbGwtMTIge1xuICBmbGV4LWJhc2lzOiBhdXRvO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZ3JpZC15ID4gLm1lZGl1bS1zaHJpbmssIC5ncmlkLXkgPiAubWVkaXVtLWZ1bGwsIC5ncmlkLXkgPiAubWVkaXVtLTEsIC5ncmlkLXkgPiAubWVkaXVtLTIsIC5ncmlkLXkgPiAubWVkaXVtLTMsIC5ncmlkLXkgPiAubWVkaXVtLTQsIC5ncmlkLXkgPiAubWVkaXVtLTUsIC5ncmlkLXkgPiAubWVkaXVtLTYsIC5ncmlkLXkgPiAubWVkaXVtLTcsIC5ncmlkLXkgPiAubWVkaXVtLTgsIC5ncmlkLXkgPiAubWVkaXVtLTksIC5ncmlkLXkgPiAubWVkaXVtLTEwLCAuZ3JpZC15ID4gLm1lZGl1bS0xMSwgLmdyaWQteSA+IC5tZWRpdW0tMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQteSA+IC5sYXJnZS1zaHJpbmssIC5ncmlkLXkgPiAubGFyZ2UtZnVsbCwgLmdyaWQteSA+IC5sYXJnZS0xLCAuZ3JpZC15ID4gLmxhcmdlLTIsIC5ncmlkLXkgPiAubGFyZ2UtMywgLmdyaWQteSA+IC5sYXJnZS00LCAuZ3JpZC15ID4gLmxhcmdlLTUsIC5ncmlkLXkgPiAubGFyZ2UtNiwgLmdyaWQteSA+IC5sYXJnZS03LCAuZ3JpZC15ID4gLmxhcmdlLTgsIC5ncmlkLXkgPiAubGFyZ2UtOSwgLmdyaWQteSA+IC5sYXJnZS0xMCwgLmdyaWQteSA+IC5sYXJnZS0xMSwgLmdyaWQteSA+IC5sYXJnZS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bztcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAuZ3JpZC15ID4gLnhsYXJnZS1zaHJpbmssIC5ncmlkLXkgPiAueGxhcmdlLWZ1bGwsIC5ncmlkLXkgPiAueGxhcmdlLTEsIC5ncmlkLXkgPiAueGxhcmdlLTIsIC5ncmlkLXkgPiAueGxhcmdlLTMsIC5ncmlkLXkgPiAueGxhcmdlLTQsIC5ncmlkLXkgPiAueGxhcmdlLTUsIC5ncmlkLXkgPiAueGxhcmdlLTYsIC5ncmlkLXkgPiAueGxhcmdlLTcsIC5ncmlkLXkgPiAueGxhcmdlLTgsIC5ncmlkLXkgPiAueGxhcmdlLTksIC5ncmlkLXkgPiAueGxhcmdlLTEwLCAuZ3JpZC15ID4gLnhsYXJnZS0xMSwgLmdyaWQteSA+IC54bGFyZ2UtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwLjA2MjVlbSkge1xuICAuZ3JpZC15ID4gLnh4bGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLnh4bGFyZ2UtZnVsbCwgLmdyaWQteSA+IC54eGxhcmdlLTEsIC5ncmlkLXkgPiAueHhsYXJnZS0yLCAuZ3JpZC15ID4gLnh4bGFyZ2UtMywgLmdyaWQteSA+IC54eGxhcmdlLTQsIC5ncmlkLXkgPiAueHhsYXJnZS01LCAuZ3JpZC15ID4gLnh4bGFyZ2UtNiwgLmdyaWQteSA+IC54eGxhcmdlLTcsIC5ncmlkLXkgPiAueHhsYXJnZS04LCAuZ3JpZC15ID4gLnh4bGFyZ2UtOSwgLmdyaWQteSA+IC54eGxhcmdlLTEwLCAuZ3JpZC15ID4gLnh4bGFyZ2UtMTEsIC5ncmlkLXkgPiAueHhsYXJnZS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bztcbiAgfVxufVxuXG4uZ3JpZC15ID4gLnNtYWxsLTEsIC5ncmlkLXkgPiAuc21hbGwtMiwgLmdyaWQteSA+IC5zbWFsbC0zLCAuZ3JpZC15ID4gLnNtYWxsLTQsIC5ncmlkLXkgPiAuc21hbGwtNSwgLmdyaWQteSA+IC5zbWFsbC02LCAuZ3JpZC15ID4gLnNtYWxsLTcsIC5ncmlkLXkgPiAuc21hbGwtOCwgLmdyaWQteSA+IC5zbWFsbC05LCAuZ3JpZC15ID4gLnNtYWxsLTEwLCAuZ3JpZC15ID4gLnNtYWxsLTExLCAuZ3JpZC15ID4gLnNtYWxsLTEyIHtcbiAgZmxleDogMCAwIGF1dG87XG59XG5cbi5ncmlkLXkgPiAuc21hbGwtMSB7XG4gIGhlaWdodDogOC4zMzMzMyU7XG59XG5cbi5ncmlkLXkgPiAuc21hbGwtMiB7XG4gIGhlaWdodDogMTYuNjY2NjclO1xufVxuXG4uZ3JpZC15ID4gLnNtYWxsLTMge1xuICBoZWlnaHQ6IDI1JTtcbn1cblxuLmdyaWQteSA+IC5zbWFsbC00IHtcbiAgaGVpZ2h0OiAzMy4zMzMzMyU7XG59XG5cbi5ncmlkLXkgPiAuc21hbGwtNSB7XG4gIGhlaWdodDogNDEuNjY2NjclO1xufVxuXG4uZ3JpZC15ID4gLnNtYWxsLTYge1xuICBoZWlnaHQ6IDUwJTtcbn1cblxuLmdyaWQteSA+IC5zbWFsbC03IHtcbiAgaGVpZ2h0OiA1OC4zMzMzMyU7XG59XG5cbi5ncmlkLXkgPiAuc21hbGwtOCB7XG4gIGhlaWdodDogNjYuNjY2NjclO1xufVxuXG4uZ3JpZC15ID4gLnNtYWxsLTkge1xuICBoZWlnaHQ6IDc1JTtcbn1cblxuLmdyaWQteSA+IC5zbWFsbC0xMCB7XG4gIGhlaWdodDogODMuMzMzMzMlO1xufVxuXG4uZ3JpZC15ID4gLnNtYWxsLTExIHtcbiAgaGVpZ2h0OiA5MS42NjY2NyU7XG59XG5cbi5ncmlkLXkgPiAuc21hbGwtMTIge1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5ncmlkLXkgPiAubWVkaXVtLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLXNocmluaywgLmdyaWQteSA+IC5tZWRpdW0tMSwgLmdyaWQteSA+IC5tZWRpdW0tMiwgLmdyaWQteSA+IC5tZWRpdW0tMywgLmdyaWQteSA+IC5tZWRpdW0tNCwgLmdyaWQteSA+IC5tZWRpdW0tNSwgLmdyaWQteSA+IC5tZWRpdW0tNiwgLmdyaWQteSA+IC5tZWRpdW0tNywgLmdyaWQteSA+IC5tZWRpdW0tOCwgLmdyaWQteSA+IC5tZWRpdW0tOSwgLmdyaWQteSA+IC5tZWRpdW0tMTAsIC5ncmlkLXkgPiAubWVkaXVtLTExLCAuZ3JpZC15ID4gLm1lZGl1bS0xMiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gIH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tMSB7XG4gICAgaGVpZ2h0OiA4LjMzMzMzJTtcbiAgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS0yIHtcbiAgICBoZWlnaHQ6IDE2LjY2NjY3JTtcbiAgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS0zIHtcbiAgICBoZWlnaHQ6IDI1JTtcbiAgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS00IHtcbiAgICBoZWlnaHQ6IDMzLjMzMzMzJTtcbiAgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS01IHtcbiAgICBoZWlnaHQ6IDQxLjY2NjY3JTtcbiAgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS02IHtcbiAgICBoZWlnaHQ6IDUwJTtcbiAgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS03IHtcbiAgICBoZWlnaHQ6IDU4LjMzMzMzJTtcbiAgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS04IHtcbiAgICBoZWlnaHQ6IDY2LjY2NjY3JTtcbiAgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS05IHtcbiAgICBoZWlnaHQ6IDc1JTtcbiAgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS0xMCB7XG4gICAgaGVpZ2h0OiA4My4zMzMzMyU7XG4gIH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tMTEge1xuICAgIGhlaWdodDogOTEuNjY2NjclO1xuICB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLTEyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQteSA+IC5sYXJnZS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC15ID4gLmxhcmdlLXNocmluaywgLmdyaWQteSA+IC5sYXJnZS0xLCAuZ3JpZC15ID4gLmxhcmdlLTIsIC5ncmlkLXkgPiAubGFyZ2UtMywgLmdyaWQteSA+IC5sYXJnZS00LCAuZ3JpZC15ID4gLmxhcmdlLTUsIC5ncmlkLXkgPiAubGFyZ2UtNiwgLmdyaWQteSA+IC5sYXJnZS03LCAuZ3JpZC15ID4gLmxhcmdlLTgsIC5ncmlkLXkgPiAubGFyZ2UtOSwgLmdyaWQteSA+IC5sYXJnZS0xMCwgLmdyaWQteSA+IC5sYXJnZS0xMSwgLmdyaWQteSA+IC5sYXJnZS0xMiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gIH1cbiAgLmdyaWQteSA+IC5sYXJnZS1zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC15ID4gLmxhcmdlLTEge1xuICAgIGhlaWdodDogOC4zMzMzMyU7XG4gIH1cbiAgLmdyaWQteSA+IC5sYXJnZS0yIHtcbiAgICBoZWlnaHQ6IDE2LjY2NjY3JTtcbiAgfVxuICAuZ3JpZC15ID4gLmxhcmdlLTMge1xuICAgIGhlaWdodDogMjUlO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtNCB7XG4gICAgaGVpZ2h0OiAzMy4zMzMzMyU7XG4gIH1cbiAgLmdyaWQteSA+IC5sYXJnZS01IHtcbiAgICBoZWlnaHQ6IDQxLjY2NjY3JTtcbiAgfVxuICAuZ3JpZC15ID4gLmxhcmdlLTYge1xuICAgIGhlaWdodDogNTAlO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtNyB7XG4gICAgaGVpZ2h0OiA1OC4zMzMzMyU7XG4gIH1cbiAgLmdyaWQteSA+IC5sYXJnZS04IHtcbiAgICBoZWlnaHQ6IDY2LjY2NjY3JTtcbiAgfVxuICAuZ3JpZC15ID4gLmxhcmdlLTkge1xuICAgIGhlaWdodDogNzUlO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtMTAge1xuICAgIGhlaWdodDogODMuMzMzMzMlO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtMTEge1xuICAgIGhlaWdodDogOTEuNjY2NjclO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtMTIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAuZ3JpZC15ID4gLnhsYXJnZS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC15ID4gLnhsYXJnZS1zaHJpbmssIC5ncmlkLXkgPiAueGxhcmdlLTEsIC5ncmlkLXkgPiAueGxhcmdlLTIsIC5ncmlkLXkgPiAueGxhcmdlLTMsIC5ncmlkLXkgPiAueGxhcmdlLTQsIC5ncmlkLXkgPiAueGxhcmdlLTUsIC5ncmlkLXkgPiAueGxhcmdlLTYsIC5ncmlkLXkgPiAueGxhcmdlLTcsIC5ncmlkLXkgPiAueGxhcmdlLTgsIC5ncmlkLXkgPiAueGxhcmdlLTksIC5ncmlkLXkgPiAueGxhcmdlLTEwLCAuZ3JpZC15ID4gLnhsYXJnZS0xMSwgLmdyaWQteSA+IC54bGFyZ2UtMTIge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICB9XG4gIC5ncmlkLXkgPiAueGxhcmdlLXNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLXkgPiAueGxhcmdlLTEge1xuICAgIGhlaWdodDogOC4zMzMzMyU7XG4gIH1cbiAgLmdyaWQteSA+IC54bGFyZ2UtMiB7XG4gICAgaGVpZ2h0OiAxNi42NjY2NyU7XG4gIH1cbiAgLmdyaWQteSA+IC54bGFyZ2UtMyB7XG4gICAgaGVpZ2h0OiAyNSU7XG4gIH1cbiAgLmdyaWQteSA+IC54bGFyZ2UtNCB7XG4gICAgaGVpZ2h0OiAzMy4zMzMzMyU7XG4gIH1cbiAgLmdyaWQteSA+IC54bGFyZ2UtNSB7XG4gICAgaGVpZ2h0OiA0MS42NjY2NyU7XG4gIH1cbiAgLmdyaWQteSA+IC54bGFyZ2UtNiB7XG4gICAgaGVpZ2h0OiA1MCU7XG4gIH1cbiAgLmdyaWQteSA+IC54bGFyZ2UtNyB7XG4gICAgaGVpZ2h0OiA1OC4zMzMzMyU7XG4gIH1cbiAgLmdyaWQteSA+IC54bGFyZ2UtOCB7XG4gICAgaGVpZ2h0OiA2Ni42NjY2NyU7XG4gIH1cbiAgLmdyaWQteSA+IC54bGFyZ2UtOSB7XG4gICAgaGVpZ2h0OiA3NSU7XG4gIH1cbiAgLmdyaWQteSA+IC54bGFyZ2UtMTAge1xuICAgIGhlaWdodDogODMuMzMzMzMlO1xuICB9XG4gIC5ncmlkLXkgPiAueGxhcmdlLTExIHtcbiAgICBoZWlnaHQ6IDkxLjY2NjY3JTtcbiAgfVxuICAuZ3JpZC15ID4gLnhsYXJnZS0xMiB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMC4wNjI1ZW0pIHtcbiAgLmdyaWQteSA+IC54eGxhcmdlLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLXkgPiAueHhsYXJnZS1zaHJpbmssIC5ncmlkLXkgPiAueHhsYXJnZS0xLCAuZ3JpZC15ID4gLnh4bGFyZ2UtMiwgLmdyaWQteSA+IC54eGxhcmdlLTMsIC5ncmlkLXkgPiAueHhsYXJnZS00LCAuZ3JpZC15ID4gLnh4bGFyZ2UtNSwgLmdyaWQteSA+IC54eGxhcmdlLTYsIC5ncmlkLXkgPiAueHhsYXJnZS03LCAuZ3JpZC15ID4gLnh4bGFyZ2UtOCwgLmdyaWQteSA+IC54eGxhcmdlLTksIC5ncmlkLXkgPiAueHhsYXJnZS0xMCwgLmdyaWQteSA+IC54eGxhcmdlLTExLCAuZ3JpZC15ID4gLnh4bGFyZ2UtMTIge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICB9XG4gIC5ncmlkLXkgPiAueHhsYXJnZS1zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC15ID4gLnh4bGFyZ2UtMSB7XG4gICAgaGVpZ2h0OiA4LjMzMzMzJTtcbiAgfVxuICAuZ3JpZC15ID4gLnh4bGFyZ2UtMiB7XG4gICAgaGVpZ2h0OiAxNi42NjY2NyU7XG4gIH1cbiAgLmdyaWQteSA+IC54eGxhcmdlLTMge1xuICAgIGhlaWdodDogMjUlO1xuICB9XG4gIC5ncmlkLXkgPiAueHhsYXJnZS00IHtcbiAgICBoZWlnaHQ6IDMzLjMzMzMzJTtcbiAgfVxuICAuZ3JpZC15ID4gLnh4bGFyZ2UtNSB7XG4gICAgaGVpZ2h0OiA0MS42NjY2NyU7XG4gIH1cbiAgLmdyaWQteSA+IC54eGxhcmdlLTYge1xuICAgIGhlaWdodDogNTAlO1xuICB9XG4gIC5ncmlkLXkgPiAueHhsYXJnZS03IHtcbiAgICBoZWlnaHQ6IDU4LjMzMzMzJTtcbiAgfVxuICAuZ3JpZC15ID4gLnh4bGFyZ2UtOCB7XG4gICAgaGVpZ2h0OiA2Ni42NjY2NyU7XG4gIH1cbiAgLmdyaWQteSA+IC54eGxhcmdlLTkge1xuICAgIGhlaWdodDogNzUlO1xuICB9XG4gIC5ncmlkLXkgPiAueHhsYXJnZS0xMCB7XG4gICAgaGVpZ2h0OiA4My4zMzMzMyU7XG4gIH1cbiAgLmdyaWQteSA+IC54eGxhcmdlLTExIHtcbiAgICBoZWlnaHQ6IDkxLjY2NjY3JTtcbiAgfVxuICAuZ3JpZC15ID4gLnh4bGFyZ2UtMTIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG4uZ3JpZC1wYWRkaW5nLXkgLmdyaWQtcGFkZGluZy15IHtcbiAgbWFyZ2luLXRvcDogLTAuNjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC42MjVyZW07XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5ncmlkLXBhZGRpbmcteSAuZ3JpZC1wYWRkaW5nLXkge1xuICAgIG1hcmdpbi10b3A6IC0wLjkzNzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogLTAuOTM3NXJlbTtcbiAgfVxufVxuXG4uZ3JpZC1wYWRkaW5nLXkgPiAuY2VsbCB7XG4gIHBhZGRpbmctdG9wOiAwLjYyNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuNjI1cmVtO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZ3JpZC1wYWRkaW5nLXkgPiAuY2VsbCB7XG4gICAgcGFkZGluZy10b3A6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC45Mzc1cmVtO1xuICB9XG59XG5cbi5ncmlkLW1hcmdpbi15IHtcbiAgbWFyZ2luLXRvcDogLTAuNjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC42MjVyZW07XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15IHtcbiAgICBtYXJnaW4tdG9wOiAtMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IC0wLjkzNzVyZW07XG4gIH1cbn1cblxuLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gIG1hcmdpbi10b3A6IDAuNjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgfVxufVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjI1cmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gIGhlaWdodDogY2FsYygyNSUgLSAxLjI1cmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjI1cmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gIGhlaWdodDogY2FsYyg1MCUgLSAxLjI1cmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjI1cmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjI1cmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gIGhlaWdodDogY2FsYyg3NSUgLSAxLjI1cmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS4yNXJlbSk7XG59XG5cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuMjVyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTUge1xuICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLWF1dG8ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2Utc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwLjA2MjVlbSkge1xuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLWF1dG8ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLXNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTMge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMTIge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICB9XG59XG5cbi5ncmlkLWZyYW1lIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIHdpZHRoOiAxMDB2dztcbn1cblxuLmNlbGwgLmdyaWQtZnJhbWUge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmNlbGwtYmxvY2sge1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG59XG5cbi5jZWxsLWJsb2NrLXkge1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xufVxuXG4uY2VsbC1ibG9jay1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xufVxuXG4uY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgZmxleC13cmFwOiBub3dyYXA7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICB9XG4gIC5jZWxsIC5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG4gIH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrLXkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICB9XG4gIC5jZWxsIC5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAubGFyZ2UtY2VsbC1ibG9jayB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xuICB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH1cbiAgLmxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxuICAubGFyZ2UtY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB3aWR0aDogMTAwdnc7XG4gIH1cbiAgLmNlbGwgLnhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAueGxhcmdlLWNlbGwtYmxvY2sge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbiAgfVxuICAueGxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgfVxuICAueGxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxuICAueGxhcmdlLWNlbGwtYmxvY2steSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMC4wNjI1ZW0pIHtcbiAgLnh4bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICB9XG4gIC5jZWxsIC54eGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC54eGxhcmdlLWNlbGwtYmxvY2sge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbiAgfVxuICAueHhsYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH1cbiAgLnh4bGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG4gIC54eGxhcmdlLWNlbGwtYmxvY2steSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xuICB9XG59XG5cbi5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gIHdpZHRoOiBhdXRvO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgaGVpZ2h0OiAxMDB2aDtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmdyaWQteS5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC15LmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwdmg7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLmdyaWQteS54bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAuMDYyNWVtKSB7XG4gIC5ncmlkLXkueHhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICB9XG59XG5cbi5jZWxsIC5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmNlbGwgLmdyaWQteS5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5jZWxsIC5ncmlkLXkubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC5jZWxsIC5ncmlkLXkueGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAuMDYyNWVtKSB7XG4gIC5jZWxsIC5ncmlkLXkueHhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuLmdyaWQtbWFyZ2luLXkge1xuICBtYXJnaW4tdG9wOiAtMC42MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IC0wLjYyNXJlbTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkge1xuICAgIG1hcmdpbi10b3A6IC0wLjkzNzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogLTAuOTM3NXJlbTtcbiAgfVxufVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgbWFyZ2luLXRvcDogMC42MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICB9XG59XG5cbi5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuMjVyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuMjVyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuMjVyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuMjVyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuMjVyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuMjVyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuMjVyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjI1cmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS4yNXJlbSk7XG59XG5cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLXNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTMge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTUge1xuICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTIge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLWF1dG8ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS1zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAuMDYyNWVtKSB7XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2Utc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gIH1cbn1cblxuLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gIGhlaWdodDogY2FsYygxMDB2aCArIDEuMjVyZW0pO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjg3NXJlbSk7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS44NzVyZW0pO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuODc1cmVtKTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAuMDYyNWVtKSB7XG4gIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuODc1cmVtKTtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZ3JpZC1tYXJnaW4teS5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS44NzVyZW0pO1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15LmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuODc1cmVtKTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAuZ3JpZC1tYXJnaW4teS54bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS44NzVyZW0pO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMC4wNjI1ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkueHhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjg3NXJlbSk7XG4gIH1cbn1cblxuLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBwYWRkaW5nOiAxLjVlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk5MUIxRTtcbiAgY29sb3I6ICNmZWZlZmU7XG59XG5cbltkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuYnV0dG9uIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4MjE3MWE7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuXG4uYnV0dG9uLnRpbnkge1xuICBmb250LXNpemU6IDAuNnJlbTtcbn1cblxuLmJ1dHRvbi5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbn1cblxuLmJ1dHRvbi5kZWZhdXQge1xuICBmb250LXNpemU6IDE0cHg7XG59XG5cbi5idXR0b24ubGFyZ2Uge1xuICBmb250LXNpemU6IDEuMjVyZW07XG59XG5cbi5idXR0b24uZXhwYW5kZWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5idXR0b24ucHJpbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5OTFCMUU7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuXG4uYnV0dG9uLnByaW1hcnk6aG92ZXIsIC5idXR0b24ucHJpbWFyeTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3YTE2MTg7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuXG4uYnV0dG9uLnNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNBNjA3MEM7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuXG4uYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODUwNjBhO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cblxuLmJ1dHRvbi5zdWNjZXNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNhZGI3NjtcbiAgY29sb3I6ICMwYTBhMGE7XG59XG5cbi5idXR0b24uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5zdWNjZXNzOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIyYmI1YjtcbiAgY29sb3I6ICMwYTBhMGE7XG59XG5cbi5idXR0b24ud2FybmluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYzhiMDA7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuXG4uYnV0dG9uLndhcm5pbmc6aG92ZXIsIC5idXR0b24ud2FybmluZzpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhMzZmMDA7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuXG4uYnV0dG9uLmFsZXJ0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjNGIzNztcbiAgY29sb3I6ICNmZWZlZmU7XG59XG5cbi5idXR0b24uYWxlcnQ6aG92ZXIsIC5idXR0b24uYWxlcnQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTUzYjJhO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cblxuLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbltkaXNhYmxlZF0ge1xuICBvcGFjaXR5OiAwLjI1O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4uYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk5MUIxRTtcbiAgY29sb3I6ICNmZWZlZmU7XG59XG5cbi5idXR0b24uZGlzYWJsZWQucHJpbWFyeSwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeSB7XG4gIG9wYWNpdHk6IDAuMjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5idXR0b24uZGlzYWJsZWQucHJpbWFyeSwgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnk6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnksIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnk6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnk6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTkxQjFFO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cblxuLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnksIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeSB7XG4gIG9wYWNpdHk6IDAuMjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5LCAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeSwgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQTYwNzBDO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cblxuLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzIHtcbiAgb3BhY2l0eTogMC4yNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzLCAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2VzcywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuXG4uYnV0dG9uLmRpc2FibGVkLndhcm5pbmcsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmcge1xuICBvcGFjaXR5OiAwLjI1O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4uYnV0dG9uLmRpc2FibGVkLndhcm5pbmcsIC5idXR0b24uZGlzYWJsZWQud2FybmluZzpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjOGIwMDtcbiAgY29sb3I6ICMwYTBhMGE7XG59XG5cbi5idXR0b24uZGlzYWJsZWQuYWxlcnQsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0IHtcbiAgb3BhY2l0eTogMC4yNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLmJ1dHRvbi5kaXNhYmxlZC5hbGVydCwgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydDpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYzRiMzc7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuXG4uYnV0dG9uLmhvbGxvdyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM5OTFCMUU7XG4gIGNvbG9yOiAjOTkxQjFFO1xufVxuXG4uYnV0dG9uLmhvbGxvdywgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5idXR0b24uaG9sbG93OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5idXR0b24uaG9sbG93LmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5idXR0b24uaG9sbG93OmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjNGQwZTBmO1xuICBjb2xvcjogIzRkMGUwZjtcbn1cblxuLmJ1dHRvbi5ob2xsb3c6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93OmZvY3VzW2Rpc2FibGVkXSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM5OTFCMUU7XG4gIGNvbG9yOiAjOTkxQjFFO1xufVxuXG4uYnV0dG9uLmhvbGxvdy5wcmltYXJ5IHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzk5MUIxRTtcbiAgY29sb3I6ICM5OTFCMUU7XG59XG5cbi5idXR0b24uaG9sbG93LnByaW1hcnk6aG92ZXIsIC5idXR0b24uaG9sbG93LnByaW1hcnk6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICM0ZDBlMGY7XG4gIGNvbG9yOiAjNGQwZTBmO1xufVxuXG4uYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICBib3JkZXI6IDFweCBzb2xpZCAjOTkxQjFFO1xuICBjb2xvcjogIzk5MUIxRTtcbn1cblxuLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI0E2MDcwQztcbiAgY29sb3I6ICNBNjA3MEM7XG59XG5cbi5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjNTMwNDA2O1xuICBjb2xvcjogIzUzMDQwNjtcbn1cblxuLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICBib3JkZXI6IDFweCBzb2xpZCAjQTYwNzBDO1xuICBjb2xvcjogI0E2MDcwQztcbn1cblxuLmJ1dHRvbi5ob2xsb3cuc3VjY2VzcyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMzYWRiNzY7XG4gIGNvbG9yOiAjM2FkYjc2O1xufVxuXG4uYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjMTU3NTM5O1xuICBjb2xvcjogIzE1NzUzOTtcbn1cblxuLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzNhZGI3NjtcbiAgY29sb3I6ICMzYWRiNzY7XG59XG5cbi5idXR0b24uaG9sbG93Lndhcm5pbmcge1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2M4YjAwO1xuICBjb2xvcjogI2NjOGIwMDtcbn1cblxuLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3ZlciwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzY2NDYwMDtcbiAgY29sb3I6ICM2NjQ2MDA7XG59XG5cbi5idXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzW2Rpc2FibGVkXSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYzhiMDA7XG4gIGNvbG9yOiAjY2M4YjAwO1xufVxuXG4uYnV0dG9uLmhvbGxvdy5hbGVydCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYzRiMzc7XG4gIGNvbG9yOiAjY2M0YjM3O1xufVxuXG4uYnV0dG9uLmhvbGxvdy5hbGVydDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICM2NzI1MWE7XG4gIGNvbG9yOiAjNjcyNTFhO1xufVxuXG4uYnV0dG9uLmhvbGxvdy5hbGVydDpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjNGIzNztcbiAgY29sb3I6ICNjYzRiMzc7XG59XG5cbi5idXR0b24uY2xlYXIge1xuICBib3JkZXI6IDFweCBzb2xpZCAjOTkxQjFFO1xuICBjb2xvcjogIzk5MUIxRTtcbn1cblxuLmJ1dHRvbi5jbGVhciwgLmJ1dHRvbi5jbGVhcjpob3ZlciwgLmJ1dHRvbi5jbGVhcjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uYnV0dG9uLmNsZWFyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5idXR0b24uY2xlYXI6aG92ZXIsIC5idXR0b24uY2xlYXI6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICM0ZDBlMGY7XG4gIGNvbG9yOiAjNGQwZTBmO1xufVxuXG4uYnV0dG9uLmNsZWFyOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhcjpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcjpmb2N1c1tkaXNhYmxlZF0ge1xuICBib3JkZXI6IDFweCBzb2xpZCAjOTkxQjFFO1xuICBjb2xvcjogIzk5MUIxRTtcbn1cblxuLmJ1dHRvbi5jbGVhciwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXI6aG92ZXIsIC5idXR0b24uY2xlYXI6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXI6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyOmZvY3VzLCAuYnV0dG9uLmNsZWFyOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyOmZvY3VzW2Rpc2FibGVkXSB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5idXR0b24uY2xlYXIucHJpbWFyeSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM5OTFCMUU7XG4gIGNvbG9yOiAjOTkxQjFFO1xufVxuXG4uYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIsIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzRkMGUwZjtcbiAgY29sb3I6ICM0ZDBlMGY7XG59XG5cbi5idXR0b24uY2xlYXIucHJpbWFyeTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzk5MUIxRTtcbiAgY29sb3I6ICM5OTFCMUU7XG59XG5cbi5idXR0b24uY2xlYXIucHJpbWFyeSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5LmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnlbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIsIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uYnV0dG9uLmNsZWFyLnNlY29uZGFyeSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNBNjA3MEM7XG4gIGNvbG9yOiAjQTYwNzBDO1xufVxuXG4uYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICM1MzA0MDY7XG4gIGNvbG9yOiAjNTMwNDA2O1xufVxuXG4uYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI0E2MDcwQztcbiAgY29sb3I6ICNBNjA3MEM7XG59XG5cbi5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeS5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnlbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uYnV0dG9uLmNsZWFyLnN1Y2Nlc3Mge1xuICBib3JkZXI6IDFweCBzb2xpZCAjM2FkYjc2O1xuICBjb2xvcjogIzNhZGI3Njtcbn1cblxuLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICMxNTc1Mzk7XG4gIGNvbG9yOiAjMTU3NTM5O1xufVxuXG4uYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzW2Rpc2FibGVkXSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMzYWRiNzY7XG4gIGNvbG9yOiAjM2FkYjc2O1xufVxuXG4uYnV0dG9uLmNsZWFyLnN1Y2Nlc3MsIC5idXR0b24uY2xlYXIuc3VjY2Vzcy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1cywgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmJ1dHRvbi5jbGVhci53YXJuaW5nIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjOGIwMDtcbiAgY29sb3I6ICNjYzhiMDA7XG59XG5cbi5idXR0b24uY2xlYXIud2FybmluZzpob3ZlciwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjNjY0NjAwO1xuICBjb2xvcjogIzY2NDYwMDtcbn1cblxuLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1c1tkaXNhYmxlZF0ge1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2M4YjAwO1xuICBjb2xvcjogI2NjOGIwMDtcbn1cblxuLmJ1dHRvbi5jbGVhci53YXJuaW5nLCAuYnV0dG9uLmNsZWFyLndhcm5pbmcuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZ1tkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlciwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzW2Rpc2FibGVkXSB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5idXR0b24uY2xlYXIuYWxlcnQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2M0YjM3O1xuICBjb2xvcjogI2NjNGIzNztcbn1cblxuLmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlciwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzY3MjUxYTtcbiAgY29sb3I6ICM2NzI1MWE7XG59XG5cbi5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzW2Rpc2FibGVkXSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYzRiMzc7XG4gIGNvbG9yOiAjY2M0YjM3O1xufVxuXG4uYnV0dG9uLmNsZWFyLmFsZXJ0LCAuYnV0dG9uLmNsZWFyLmFsZXJ0LmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0W2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlciwgLmJ1dHRvbi5jbGVhci5hbGVydDpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXMsIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmJ1dHRvbi5kcm9wZG93bjo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCAwLjRlbTtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICNmZWZlZmUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAwLjRlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi1sZWZ0OiAxLjVlbTtcbn1cblxuLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3c6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyOjphZnRlciB7XG4gIGJvcmRlci10b3AtY29sb3I6ICM5OTFCMUU7XG59XG5cbi5idXR0b24uZHJvcGRvd24uaG9sbG93LnByaW1hcnk6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLnByaW1hcnk6OmFmdGVyIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzk5MUIxRTtcbn1cblxuLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuc2Vjb25kYXJ5OjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci5zZWNvbmRhcnk6OmFmdGVyIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI0E2MDcwQztcbn1cblxuLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuc3VjY2Vzczo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIuc3VjY2Vzczo6YWZ0ZXIge1xuICBib3JkZXItdG9wLWNvbG9yOiAjM2FkYjc2O1xufVxuXG4uYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy53YXJuaW5nOjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci53YXJuaW5nOjphZnRlciB7XG4gIGJvcmRlci10b3AtY29sb3I6ICNjYzhiMDA7XG59XG5cbi5idXR0b24uZHJvcGRvd24uaG9sbG93LmFsZXJ0OjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci5hbGVydDo6YWZ0ZXIge1xuICBib3JkZXItdG9wLWNvbG9yOiAjY2M0YjM3O1xufVxuXG4uYnV0dG9uLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgdG9wOiAtMC4xZW07XG4gIGZsb2F0OiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuYS5idXR0b246aG92ZXIsIGEuYnV0dG9uOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uYnV0dG9uLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xufVxuXG4uYnV0dG9uLWdyb3VwOjpiZWZvcmUsIC5idXR0b24tZ3JvdXA6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6ICcgJztcbiAgZmxleC1iYXNpczogMDtcbiAgb3JkZXI6IDE7XG59XG5cbi5idXR0b24tZ3JvdXA6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5idXR0b24tZ3JvdXAgLmJ1dHRvbiB7XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLXJpZ2h0OiAxcHg7XG4gIG1hcmdpbi1ib3R0b206IDFweDtcbiAgZmxleDogMCAwIGF1dG87XG59XG5cbi5idXR0b24tZ3JvdXAgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4uYnV0dG9uLWdyb3VwLnRpbnkgLmJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMC42cmVtO1xufVxuXG4uYnV0dG9uLWdyb3VwLnNtYWxsIC5idXR0b24ge1xuICBmb250LXNpemU6IDAuNzVyZW07XG59XG5cbi5idXR0b24tZ3JvdXAuZGVmYXV0IC5idXR0b24ge1xuICBmb250LXNpemU6IDE0cHg7XG59XG5cbi5idXR0b24tZ3JvdXAubGFyZ2UgLmJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbn1cblxuLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uIHtcbiAgZmxleDogMSAxIDBweDtcbn1cblxuLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTkxQjFFO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cblxuLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzdhMTYxODtcbiAgY29sb3I6ICNmZWZlZmU7XG59XG5cbi5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQTYwNzBDO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cblxuLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4NTA2MGE7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuXG4uYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuXG4uYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjJiYjViO1xuICBjb2xvcjogIzBhMGEwYTtcbn1cblxuLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M4YjAwO1xuICBjb2xvcjogIzBhMGEwYTtcbn1cblxuLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2EzNmYwMDtcbiAgY29sb3I6ICMwYTBhMGE7XG59XG5cbi5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYzRiMzc7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuXG4uYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhNTNiMmE7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuXG4uYnV0dG9uLWdyb3VwLnN0YWNrZWQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4uYnV0dG9uLWdyb3VwLnN0YWNrZWQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uIHtcbiAgZmxleDogMCAwIDEwMCU7XG59XG5cbi5idXR0b24tZ3JvdXAuc3RhY2tlZCAuYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uYnV0dG9uLWdyb3VwLnN0YWNrZWQuZXhwYW5kZWQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bS5leHBhbmRlZCAuYnV0dG9uIHtcbiAgZmxleDogMSAxIDBweDtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b24ge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTk4NzVlbSkge1xuICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIC5idXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtLmV4cGFuZGVkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bS5leHBhbmRlZCAuYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuLmNsb3NlLWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6ICM4YThhOGE7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5jbG9zZS1idXR0b24ge1xuICBvdXRsaW5lOiAwO1xufVxuXG4uY2xvc2UtYnV0dG9uOmhvdmVyLCAuY2xvc2UtYnV0dG9uOmZvY3VzIHtcbiAgY29sb3I6ICMwYTBhMGE7XG59XG5cbi5jbG9zZS1idXR0b24uc21hbGwge1xuICByaWdodDogMC42NnJlbTtcbiAgdG9wOiAwLjMzZW07XG4gIGZvbnQtc2l6ZTogMS41ZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4uY2xvc2UtYnV0dG9uLCAuY2xvc2UtYnV0dG9uLm1lZGl1bSB7XG4gIHJpZ2h0OiAxcmVtO1xuICB0b3A6IDAuNXJlbTtcbiAgZm9udC1zaXplOiAyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4ubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgYmFja2dyb3VuZDogIzk5MUIxRTtcbiAgY29sb3I6ICNmZWZlZmU7XG59XG5cbi5sYWJlbC5wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogIzk5MUIxRTtcbiAgY29sb3I6ICNmZWZlZmU7XG59XG5cbi5sYWJlbC5zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kOiAjQTYwNzBDO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cblxuLmxhYmVsLnN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kOiAjM2FkYjc2O1xuICBjb2xvcjogIzBhMGEwYTtcbn1cblxuLmxhYmVsLndhcm5pbmcge1xuICBiYWNrZ3JvdW5kOiAjY2M4YjAwO1xuICBjb2xvcjogIzBhMGEwYTtcbn1cblxuLmxhYmVsLmFsZXJ0IHtcbiAgYmFja2dyb3VuZDogI2NjNGIzNztcbiAgY29sb3I6ICNmZWZlZmU7XG59XG5cbi5wcm9ncmVzcyB7XG4gIGhlaWdodDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NhY2FjYTtcbn1cblxuLnByb2dyZXNzLnByaW1hcnkgLnByb2dyZXNzLW1ldGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk5MUIxRTtcbn1cblxuLnByb2dyZXNzLnNlY29uZGFyeSAucHJvZ3Jlc3MtbWV0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQTYwNzBDO1xufVxuXG4ucHJvZ3Jlc3Muc3VjY2VzcyAucHJvZ3Jlc3MtbWV0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2O1xufVxuXG4ucHJvZ3Jlc3Mud2FybmluZyAucHJvZ3Jlc3MtbWV0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M4YjAwO1xufVxuXG4ucHJvZ3Jlc3MuYWxlcnQgLnByb2dyZXNzLW1ldGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjNGIzNztcbn1cblxuLnByb2dyZXNzLW1ldGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5OTFCMUU7XG59XG5cbi5wcm9ncmVzcy1tZXRlci10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwLjVyZW07XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTtcbn1cblxuLnNsaWRlci1maWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDAuNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NhY2FjYTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG59XG5cbi5zbGlkZXItZmlsbC5pcy1kcmFnZ2luZyB7XG4gIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XG59XG5cbi5zbGlkZXItaGFuZGxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxLjRyZW07XG4gIGhlaWdodDogMS40cmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTkxQjFFO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG59XG5cbltkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuc2xpZGVyLWhhbmRsZSB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi5zbGlkZXItaGFuZGxlOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzgyMTcxYTtcbn1cblxuLnNsaWRlci1oYW5kbGUuaXMtZHJhZ2dpbmcge1xuICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xufVxuXG4uc2xpZGVyLmRpc2FibGVkLFxuLnNsaWRlcltkaXNhYmxlZF0ge1xuICBvcGFjaXR5OiAwLjI1O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4uc2xpZGVyLnZlcnRpY2FsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMC41cmVtO1xuICBoZWlnaHQ6IDEyLjVyZW07XG4gIG1hcmdpbjogMCAxLjI1cmVtO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcbn1cblxuLnNsaWRlci52ZXJ0aWNhbCAuc2xpZGVyLWZpbGwge1xuICB0b3A6IDA7XG4gIHdpZHRoOiAwLjVyZW07XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG59XG5cbi5zbGlkZXIudmVydGljYWwgLnNsaWRlci1oYW5kbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogNTAlO1xuICB3aWR0aDogMS40cmVtO1xuICBoZWlnaHQ6IDEuNHJlbTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4uc3dpdGNoIHtcbiAgaGVpZ2h0OiAycmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIG91dGxpbmU6IDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi5zd2l0Y2gtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5zd2l0Y2gtcGFkZGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDRyZW07XG4gIGhlaWdodDogMnJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZDogI2NhY2FjYTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuaW5wdXQgKyAuc3dpdGNoLXBhZGRsZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDAuMjVyZW07XG4gIGxlZnQ6IDAuMjVyZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMS41cmVtO1xuICBoZWlnaHQ6IDEuNXJlbTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICBjb250ZW50OiAnJztcbn1cblxuaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlIHtcbiAgYmFja2dyb3VuZDogIzk5MUIxRTtcbn1cblxuaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gIGxlZnQ6IDIuMjVyZW07XG59XG5cbltkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSBpbnB1dDpmb2N1cyB+IC5zd2l0Y2gtcGFkZGxlIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLnN3aXRjaC1hY3RpdmUsIC5zd2l0Y2gtaW5hY3RpdmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi5zd2l0Y2gtYWN0aXZlIHtcbiAgbGVmdDogOCU7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbmlucHV0OmNoZWNrZWQgKyBsYWJlbCA+IC5zd2l0Y2gtYWN0aXZlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5zd2l0Y2gtaW5hY3RpdmUge1xuICByaWdodDogMTUlO1xufVxuXG5pbnB1dDpjaGVja2VkICsgbGFiZWwgPiAuc3dpdGNoLWluYWN0aXZlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnN3aXRjaC50aW55IHtcbiAgaGVpZ2h0OiAxLjVyZW07XG59XG5cbi5zd2l0Y2gudGlueSAuc3dpdGNoLXBhZGRsZSB7XG4gIHdpZHRoOiAzcmVtO1xuICBoZWlnaHQ6IDEuNXJlbTtcbiAgZm9udC1zaXplOiAwLjYyNXJlbTtcbn1cblxuLnN3aXRjaC50aW55IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gIHRvcDogMC4yNXJlbTtcbiAgbGVmdDogMC4yNXJlbTtcbiAgd2lkdGg6IDFyZW07XG4gIGhlaWdodDogMXJlbTtcbn1cblxuLnN3aXRjaC50aW55IGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICBsZWZ0OiAxLjc1cmVtO1xufVxuXG4uc3dpdGNoLnNtYWxsIHtcbiAgaGVpZ2h0OiAxLjc1cmVtO1xufVxuXG4uc3dpdGNoLnNtYWxsIC5zd2l0Y2gtcGFkZGxlIHtcbiAgd2lkdGg6IDMuNXJlbTtcbiAgaGVpZ2h0OiAxLjc1cmVtO1xuICBmb250LXNpemU6IDAuNzVyZW07XG59XG5cbi5zd2l0Y2guc21hbGwgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgdG9wOiAwLjI1cmVtO1xuICBsZWZ0OiAwLjI1cmVtO1xuICB3aWR0aDogMS4yNXJlbTtcbiAgaGVpZ2h0OiAxLjI1cmVtO1xufVxuXG4uc3dpdGNoLnNtYWxsIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICBsZWZ0OiAycmVtO1xufVxuXG4uc3dpdGNoLmxhcmdlIHtcbiAgaGVpZ2h0OiAyLjVyZW07XG59XG5cbi5zd2l0Y2gubGFyZ2UgLnN3aXRjaC1wYWRkbGUge1xuICB3aWR0aDogNXJlbTtcbiAgaGVpZ2h0OiAyLjVyZW07XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cblxuLnN3aXRjaC5sYXJnZSAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICB0b3A6IDAuMjVyZW07XG4gIGxlZnQ6IDAuMjVyZW07XG4gIHdpZHRoOiAycmVtO1xuICBoZWlnaHQ6IDJyZW07XG59XG5cbi5zd2l0Y2gubGFyZ2UgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gIGxlZnQ6IDIuNzVyZW07XG59XG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbnRoZWFkLFxudGJvZHksXG50Zm9vdCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmMWYxZjE7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG59XG5cbmNhcHRpb24ge1xuICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG50aGVhZCB7XG4gIGJhY2tncm91bmQ6ICNmOGY4Zjg7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuXG50Zm9vdCB7XG4gIGJhY2tncm91bmQ6ICNmMWYxZjE7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuXG50aGVhZCB0cixcbnRmb290IHRyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbnRoZWFkIHRoLFxudGhlYWQgdGQsXG50Zm9vdCB0aCxcbnRmb290IHRkIHtcbiAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxudGJvZHkgdGgsXG50Ym9keSB0ZCB7XG4gIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTtcbn1cblxudGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTtcbn1cblxudGFibGUudW5zdHJpcGVkIHRib2R5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbn1cblxudGFibGUudW5zdHJpcGVkIHRib2R5IHRyIHtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMWYxZjE7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgdGFibGUuc3RhY2sgdGhlYWQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgdGFibGUuc3RhY2sgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgdGFibGUuc3RhY2sgdHIsXG4gIHRhYmxlLnN0YWNrIHRoLFxuICB0YWJsZS5zdGFjayB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgdGFibGUuc3RhY2sgdGQge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cbn1cblxudGFibGUuc2Nyb2xsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG50YWJsZS5ob3ZlciB0aGVhZCB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7XG59XG5cbnRhYmxlLmhvdmVyIHRmb290IHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VjZWNlYztcbn1cblxudGFibGUuaG92ZXIgdGJvZHkgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xufVxuXG50YWJsZS5ob3Zlcjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2VjO1xufVxuXG4udGFibGUtc2Nyb2xsIHtcbiAgb3ZlcmZsb3cteDogYXV0bztcbn1cblxuLmJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6IDIuMWVtO1xuICBwYWRkaW5nOiAwLjNlbTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBmb250LXNpemU6IDAuNnJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiAjOTkxQjFFO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cblxuLmJhZGdlLnByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAjOTkxQjFFO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cblxuLmJhZGdlLnNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQ6ICNBNjA3MEM7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuXG4uYmFkZ2Uuc3VjY2VzcyB7XG4gIGJhY2tncm91bmQ6ICMzYWRiNzY7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuXG4uYmFkZ2Uud2FybmluZyB7XG4gIGJhY2tncm91bmQ6ICNjYzhiMDA7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuXG4uYmFkZ2UuYWxlcnQge1xuICBiYWNrZ3JvdW5kOiAjY2M0YjM3O1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cblxuLmJyZWFkY3J1bWJzIHtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uYnJlYWRjcnVtYnM6OmJlZm9yZSwgLmJyZWFkY3J1bWJzOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiAnICc7XG4gIGZsZXgtYmFzaXM6IDA7XG4gIG9yZGVyOiAxO1xufVxuXG4uYnJlYWRjcnVtYnM6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5icmVhZGNydW1icyBsaSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmJyZWFkY3J1bWJzIGxpOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgMC43NXJlbTtcbiAgb3BhY2l0eTogMTtcbiAgY29udGVudDogXCIvXCI7XG4gIGNvbG9yOiAjY2FjYWNhO1xufVxuXG4uYnJlYWRjcnVtYnMgYSB7XG4gIGNvbG9yOiAjOTkxQjFFO1xufVxuXG4uYnJlYWRjcnVtYnMgYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uYnJlYWRjcnVtYnMgLmRpc2FibGVkIHtcbiAgY29sb3I6ICNjYWNhY2E7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5jYWxsb3V0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTAsIDEwLCAxMCwgMC4yNSk7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBjb2xvcjogIzBhMGEwYTtcbn1cblxuLmNhbGxvdXQgPiA6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4uY2FsbG91dCA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhbGxvdXQucHJpbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGQ1ZDY7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuXG4uY2FsbG91dC5zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRjZWQwO1xuICBjb2xvcjogIzBhMGEwYTtcbn1cblxuLmNhbGxvdXQuc3VjY2VzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMWZhZWE7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuXG4uY2FsbG91dC53YXJuaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjBkMTtcbiAgY29sb3I6ICMwYTBhMGE7XG59XG5cbi5jYWxsb3V0LmFsZXJ0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZTRlMTtcbiAgY29sb3I6ICMwYTBhMGE7XG59XG5cbi5jYWxsb3V0LnNtYWxsIHtcbiAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbn1cblxuLmNhbGxvdXQubGFyZ2Uge1xuICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgcGFkZGluZy1yaWdodDogM3JlbTtcbiAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gIHBhZGRpbmctbGVmdDogM3JlbTtcbn1cblxuLmNhcmQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWdyb3c6IDE7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuXG4uY2FyZCA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtZGl2aWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICBwYWRkaW5nOiAxcmVtO1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xufVxuXG4uY2FyZC1kaXZpZGVyID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY2FyZC1zZWN0aW9uIHtcbiAgZmxleDogMSAwIGF1dG87XG4gIHBhZGRpbmc6IDFyZW07XG59XG5cbi5jYXJkLXNlY3Rpb24gPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jYXJkLWltYWdlIHtcbiAgbWluLWhlaWdodDogMXB4O1xufVxuXG4uZHJvcGRvd24tcGFuZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAzMDBweDtcbiAgcGFkZGluZzogMXJlbTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBmb250LXNpemU6IDFyZW07XG59XG5cbi5kcm9wZG93bi1wYW5lLmlzLW9wZW5pbmcge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmRyb3Bkb3duLXBhbmUuaXMtb3BlbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG4uZHJvcGRvd24tcGFuZS50aW55IHtcbiAgd2lkdGg6IDEwMHB4O1xufVxuXG4uZHJvcGRvd24tcGFuZS5zbWFsbCB7XG4gIHdpZHRoOiAyMDBweDtcbn1cblxuLmRyb3Bkb3duLXBhbmUubGFyZ2Uge1xuICB3aWR0aDogNDAwcHg7XG59XG5cbi5wYWdpbmF0aW9uIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbi5wYWdpbmF0aW9uOjpiZWZvcmUsIC5wYWdpbmF0aW9uOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiAnICc7XG4gIGZsZXgtYmFzaXM6IDA7XG4gIG9yZGVyOiAxO1xufVxuXG4ucGFnaW5hdGlvbjo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLnBhZ2luYXRpb24gbGkge1xuICBtYXJnaW4tcmlnaHQ6IDAuMDYyNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnBhZ2luYXRpb24gbGk6bGFzdC1jaGlsZCwgLnBhZ2luYXRpb24gbGk6Zmlyc3QtY2hpbGQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5wYWdpbmF0aW9uIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cblxuLnBhZ2luYXRpb24gYSxcbi5wYWdpbmF0aW9uIGJ1dHRvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuXG4ucGFnaW5hdGlvbiBhOmhvdmVyLFxuLnBhZ2luYXRpb24gYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbn1cblxuLnBhZ2luYXRpb24gLmN1cnJlbnQge1xuICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gIGJhY2tncm91bmQ6ICM5OTFCMUU7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi5wYWdpbmF0aW9uIC5kaXNhYmxlZCB7XG4gIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgY29sb3I6ICNjYWNhY2E7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5wYWdpbmF0aW9uIC5kaXNhYmxlZDpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4ucGFnaW5hdGlvbiAuZWxsaXBzaXM6OmFmdGVyIHtcbiAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICBjb250ZW50OiAnXFwyMDI2JztcbiAgY29sb3I6ICMwYTBhMGE7XG59XG5cbi5wYWdpbmF0aW9uLXByZXZpb3VzIGE6OmJlZm9yZSxcbi5wYWdpbmF0aW9uLXByZXZpb3VzLmRpc2FibGVkOjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICBjb250ZW50OiAnXFwwMGFiJztcbn1cblxuLnBhZ2luYXRpb24tbmV4dCBhOjphZnRlcixcbi5wYWdpbmF0aW9uLW5leHQuZGlzYWJsZWQ6OmFmdGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICBjb250ZW50OiAnXFwwMGJiJztcbn1cblxuLmhhcy10aXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAjOGE4YThhO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY3Vyc29yOiBoZWxwO1xufVxuXG4udG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDEwMCUgKyAwLjY0OTVyZW0pO1xuICB6LWluZGV4OiAxMjAwO1xuICBtYXgtd2lkdGg6IDEwcmVtO1xuICBwYWRkaW5nOiAwLjc1cmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGEwYTBhO1xuICBmb250LXNpemU6IDgwJTtcbiAgY29sb3I6ICNmZWZlZmU7XG59XG5cbi50b29sdGlwOjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi50b29sdGlwLmJvdHRvbTo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwYTBhMGE7XG4gIGJvdHRvbTogMTAwJTtcbn1cblxuLnRvb2x0aXAuYm90dG9tLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi50b29sdGlwLnRvcDo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICMwYTBhMGEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIHRvcDogMTAwJTtcbiAgYm90dG9tOiBhdXRvO1xufVxuXG4udG9vbHRpcC50b3AuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLnRvb2x0aXAubGVmdDo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwYTBhMGE7XG4gIGxlZnQ6IDEwMCU7XG59XG5cbi50b29sdGlwLmxlZnQuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICBib3R0b206IGF1dG87XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi50b29sdGlwLnJpZ2h0OjpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzBhMGEwYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgcmlnaHQ6IDEwMCU7XG4gIGxlZnQ6IGF1dG87XG59XG5cbi50b29sdGlwLnJpZ2h0LmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgYm90dG9tOiBhdXRvO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4udG9vbHRpcC5hbGlnbi10b3A6OmJlZm9yZSB7XG4gIGJvdHRvbTogYXV0bztcbiAgdG9wOiAxMCU7XG59XG5cbi50b29sdGlwLmFsaWduLWJvdHRvbTo6YmVmb3JlIHtcbiAgYm90dG9tOiAxMCU7XG4gIHRvcDogYXV0bztcbn1cblxuLnRvb2x0aXAuYWxpZ24tbGVmdDo6YmVmb3JlIHtcbiAgbGVmdDogMTAlO1xuICByaWdodDogYXV0bztcbn1cblxuLnRvb2x0aXAuYWxpZ24tcmlnaHQ6OmJlZm9yZSB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAxMCU7XG59XG5cbi5hY2NvcmRpb24ge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuXG4uYWNjb3JkaW9uW2Rpc2FibGVkXSAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLmFjY29yZGlvbi1pdGVtOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDtcbn1cblxuLmFjY29yZGlvbi1pdGVtOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7XG59XG5cbi5hY2NvcmRpb24tdGl0bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxLjI1cmVtIDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAjOTkxQjFFO1xufVxuXG46bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7XG59XG5cbi5hY2NvcmRpb24tdGl0bGU6aG92ZXIsIC5hY2NvcmRpb24tdGl0bGU6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xufVxuXG4uYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICByaWdodDogMXJlbTtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgY29udGVudDogJysnO1xufVxuXG4uaXMtYWN0aXZlID4gLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcMjAxMyc7XG59XG5cbi5hY2NvcmRpb24tY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuXG46bGFzdC1jaGlsZCA+IC5hY2NvcmRpb24tY29udGVudDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNmU2ZTY7XG59XG5cbi5tZWRpYS1vYmplY3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbn1cblxuLm1lZGlhLW9iamVjdCBpbWcge1xuICBtYXgtd2lkdGg6IG5vbmU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3Ljk5ODc1ZW0pIHtcbiAgLm1lZGlhLW9iamVjdC5zdGFjay1mb3Itc21hbGwge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxufVxuXG4ubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICBmbGV4OiAwIDEgYXV0bztcbn1cblxuLm1lZGlhLW9iamVjdC1zZWN0aW9uOmZpcnN0LWNoaWxkIHtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbn1cblxuLm1lZGlhLW9iamVjdC1zZWN0aW9uOmxhc3QtY2hpbGQ6bm90KDpudGgtY2hpbGQoMikpIHtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xufVxuXG4ubWVkaWEtb2JqZWN0LXNlY3Rpb24gPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3Ljk5ODc1ZW0pIHtcbiAgLnN0YWNrLWZvci1zbWFsbCAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnN0YWNrLWZvci1zbWFsbCAubWVkaWEtb2JqZWN0LXNlY3Rpb24gaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4ubWVkaWEtb2JqZWN0LXNlY3Rpb24ubWFpbi1zZWN0aW9uIHtcbiAgZmxleDogMSAxIDBweDtcbn1cblxuLm9yYml0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ub3JiaXQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm9yYml0LXNsaWRlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLm9yYml0LXNsaWRlLm5vLW1vdGlvbnVpLmlzLWFjdGl2ZSB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbn1cblxuLm9yYml0LWZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLm9yYml0LWltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xufVxuXG4ub3JiaXQtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMCwgMTAsIDEwLCAwLjUpO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cblxuLm9yYml0LXByZXZpb3VzLCAub3JiaXQtbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgei1pbmRleDogMTA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuXG5bZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LXByZXZpb3VzLCBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LW5leHQge1xuICBvdXRsaW5lOiAwO1xufVxuXG4ub3JiaXQtcHJldmlvdXM6aG92ZXIsIC5vcmJpdC1uZXh0OmhvdmVyLCAub3JiaXQtcHJldmlvdXM6YWN0aXZlLCAub3JiaXQtbmV4dDphY3RpdmUsIC5vcmJpdC1wcmV2aW91czpmb2N1cywgLm9yYml0LW5leHQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwLCAxMCwgMTAsIDAuNSk7XG59XG5cbi5vcmJpdC1wcmV2aW91cyB7XG4gIGxlZnQ6IDA7XG59XG5cbi5vcmJpdC1uZXh0IHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7XG59XG5cbi5vcmJpdC1idWxsZXRzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAwLjhyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5bZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LWJ1bGxldHMge1xuICBvdXRsaW5lOiAwO1xufVxuXG4ub3JiaXQtYnVsbGV0cyBidXR0b24ge1xuICB3aWR0aDogMS4ycmVtO1xuICBoZWlnaHQ6IDEuMnJlbTtcbiAgbWFyZ2luOiAwLjFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NhY2FjYTtcbn1cblxuLm9yYml0LWJ1bGxldHMgYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzhhOGE4YTtcbn1cblxuLm9yYml0LWJ1bGxldHMgYnV0dG9uLmlzLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4YThhOGE7XG59XG5cbi5yZXNwb25zaXZlLWVtYmVkLFxuLmZsZXgtdmlkZW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDc1JTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnJlc3BvbnNpdmUtZW1iZWQgaWZyYW1lLFxuLnJlc3BvbnNpdmUtZW1iZWQgb2JqZWN0LFxuLnJlc3BvbnNpdmUtZW1iZWQgZW1iZWQsXG4ucmVzcG9uc2l2ZS1lbWJlZCB2aWRlbyxcbi5mbGV4LXZpZGVvIGlmcmFtZSxcbi5mbGV4LXZpZGVvIG9iamVjdCxcbi5mbGV4LXZpZGVvIGVtYmVkLFxuLmZsZXgtdmlkZW8gdmlkZW8ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLnJlc3BvbnNpdmUtZW1iZWQud2lkZXNjcmVlbixcbi5mbGV4LXZpZGVvLndpZGVzY3JlZW4ge1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xufVxuXG4udGFicyB7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuXG4udGFiczo6YmVmb3JlLCAudGFiczo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogJyAnO1xuICBmbGV4LWJhc2lzOiAwO1xuICBvcmRlcjogMTtcbn1cblxuLnRhYnM6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi50YWJzLnZlcnRpY2FsID4gbGkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IG5vbmU7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4udGFicy5zaW1wbGUgPiBsaSA+IGEge1xuICBwYWRkaW5nOiAwO1xufVxuXG4udGFicy5zaW1wbGUgPiBsaSA+IGE6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLnRhYnMucHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6ICM5OTFCMUU7XG59XG5cbi50YWJzLnByaW1hcnkgPiBsaSA+IGEge1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cblxuLnRhYnMucHJpbWFyeSA+IGxpID4gYTpob3ZlciwgLnRhYnMucHJpbWFyeSA+IGxpID4gYTpmb2N1cyB7XG4gIGJhY2tncm91bmQ6ICNhNzFkMjE7XG59XG5cbi50YWJzLXRpdGxlIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi50YWJzLXRpdGxlID4gYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICM5OTFCMUU7XG59XG5cbltkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAudGFicy10aXRsZSA+IGEge1xuICBvdXRsaW5lOiAwO1xufVxuXG4udGFicy10aXRsZSA+IGE6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBjb2xvcjogIzg0MTcxYTtcbn1cblxuLnRhYnMtdGl0bGUgPiBhOmZvY3VzLCAudGFicy10aXRsZSA+IGFbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbiAgY29sb3I6ICM5OTFCMUU7XG59XG5cbi50YWJzLWNvbnRlbnQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItdG9wOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBjb2xvcjogIzBhMGEwYTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbn1cblxuLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1sZWZ0OiAwO1xufVxuXG4udGFicy1wYW5lbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07XG59XG5cbi50YWJzLXBhbmVsLmlzLWFjdGl2ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4udGh1bWJuYWlsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlcjogNHB4IHNvbGlkICNmZWZlZmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDEwLCAxMCwgMTAsIDAuMik7XG4gIGxpbmUtaGVpZ2h0OiAwO1xufVxuXG5hLnRodW1ibmFpbCB7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7XG59XG5cbmEudGh1bWJuYWlsOmhvdmVyLCBhLnRodW1ibmFpbDpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCA2cHggMXB4IHJnYmEoMTUzLCAyNywgMzAsIDAuNSk7XG59XG5cbmEudGh1bWJuYWlsIGltYWdlIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLm1lbnUge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG5bZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm1lbnUgbGkge1xuICBvdXRsaW5lOiAwO1xufVxuXG4ubWVudSBhLFxuLm1lbnUgLmJ1dHRvbiB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcbn1cblxuLm1lbnUgaW5wdXQsXG4ubWVudSBzZWxlY3QsXG4ubWVudSBhLFxuLm1lbnUgYnV0dG9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLm1lbnUgaW5wdXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5tZW51LCAubWVudS5ob3Jpem9udGFsIHtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xufVxuXG4ubWVudS52ZXJ0aWNhbCB7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4ubWVudS5leHBhbmRlZCBsaSB7XG4gIGZsZXg6IDEgMSAwcHg7XG59XG5cbi5tZW51LnNpbXBsZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5tZW51LnNpbXBsZSBsaSArIGxpIHtcbiAgbWFyZ2luLWxlZnQ6IDFyZW07XG59XG5cbi5tZW51LnNpbXBsZSBhIHtcbiAgcGFkZGluZzogMDtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm1lbnUubWVkaXVtLWhvcml6b250YWwge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG4gIC5tZW51Lm1lZGl1bS12ZXJ0aWNhbCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICAubWVudS5tZWRpdW0tZXhwYW5kZWQgbGkge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gIH1cbiAgLm1lbnUubWVkaXVtLXNpbXBsZSBsaSB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubWVudS5sYXJnZS1ob3Jpem9udGFsIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAubWVudS5sYXJnZS12ZXJ0aWNhbCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICAubWVudS5sYXJnZS1leHBhbmRlZCBsaSB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgfVxuICAubWVudS5sYXJnZS1zaW1wbGUgbGkge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLm1lbnUueGxhcmdlLWhvcml6b250YWwge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG4gIC5tZW51LnhsYXJnZS12ZXJ0aWNhbCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICAubWVudS54bGFyZ2UtZXhwYW5kZWQgbGkge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gIH1cbiAgLm1lbnUueGxhcmdlLXNpbXBsZSBsaSB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAuMDYyNWVtKSB7XG4gIC5tZW51Lnh4bGFyZ2UtaG9yaXpvbnRhbCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbiAgLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICAubWVudS54eGxhcmdlLWV4cGFuZGVkIGxpIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICB9XG4gIC5tZW51Lnh4bGFyZ2Utc2ltcGxlIGxpIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICB9XG59XG5cbi5tZW51Lm5lc3RlZCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDFyZW07XG59XG5cbi5tZW51Lmljb25zIGEge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4ubWVudS5pY29uLXRvcCBhLCAubWVudS5pY29uLXJpZ2h0IGEsIC5tZW51Lmljb24tYm90dG9tIGEsIC5tZW51Lmljb24tbGVmdCBhIHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLm1lbnUuaWNvbi1sZWZ0IGxpIGEge1xuICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG59XG5cbi5tZW51Lmljb24tbGVmdCBsaSBhIGltZyxcbi5tZW51Lmljb24tbGVmdCBsaSBhIGksXG4ubWVudS5pY29uLWxlZnQgbGkgYSBzdmcge1xuICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07XG59XG5cbi5tZW51Lmljb24tcmlnaHQgbGkgYSB7XG4gIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbn1cblxuLm1lbnUuaWNvbi1yaWdodCBsaSBhIGltZyxcbi5tZW51Lmljb24tcmlnaHQgbGkgYSBpLFxuLm1lbnUuaWNvbi1yaWdodCBsaSBhIHN2ZyB7XG4gIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xufVxuXG4ubWVudS5pY29uLXRvcCBsaSBhIHtcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xufVxuXG4ubWVudS5pY29uLXRvcCBsaSBhIGltZyxcbi5tZW51Lmljb24tdG9wIGxpIGEgaSxcbi5tZW51Lmljb24tdG9wIGxpIGEgc3ZnIHtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ubWVudS5pY29uLWJvdHRvbSBsaSBhIHtcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xufVxuXG4ubWVudS5pY29uLWJvdHRvbSBsaSBhIGltZyxcbi5tZW51Lmljb24tYm90dG9tIGxpIGEgaSxcbi5tZW51Lmljb24tYm90dG9tIGxpIGEgc3ZnIHtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ubWVudSAuaXMtYWN0aXZlID4gYSB7XG4gIGJhY2tncm91bmQ6ICM5OTFCMUU7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuXG4ubWVudSAuYWN0aXZlID4gYSB7XG4gIGJhY2tncm91bmQ6ICM5OTFCMUU7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuXG4ubWVudS5hbGlnbi1sZWZ0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG4ubWVudS5hbGlnbi1yaWdodCBsaSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi5tZW51LmFsaWduLXJpZ2h0IGxpIC5zdWJtZW51IGxpIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG4ubWVudS5hbGlnbi1yaWdodC52ZXJ0aWNhbCBsaSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLm1lbnUuYWxpZ24tcmlnaHQudmVydGljYWwgbGkgLnN1Ym1lbnUgbGkge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLm1lbnUuYWxpZ24tcmlnaHQgLm5lc3RlZCB7XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5tZW51LmFsaWduLWNlbnRlciBsaSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ubWVudS5hbGlnbi1jZW50ZXIgbGkgLnN1Ym1lbnUgbGkge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5cbi5tZW51IC5tZW51LXRleHQge1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLm1lbnUtY2VudGVyZWQgPiAubWVudSB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ubWVudS1jZW50ZXJlZCA+IC5tZW51IGxpIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5tZW51LWNlbnRlcmVkID4gLm1lbnUgbGkgLnN1Ym1lbnUgbGkge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5cbi5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm1lbnUtaWNvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5tZW51LWljb246OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAycHg7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGJveC1zaGFkb3c6IDAgN3B4IDAgI2ZlZmVmZSwgMCAxNHB4IDAgI2ZlZmVmZTtcbiAgY29udGVudDogJyc7XG59XG5cbi5tZW51LWljb246aG92ZXI6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogI2NhY2FjYTtcbiAgYm94LXNoYWRvdzogMCA3cHggMCAjY2FjYWNhLCAwIDE0cHggMCAjY2FjYWNhO1xufVxuXG4ubWVudS1pY29uLmRhcmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMTZweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ubWVudS1pY29uLmRhcms6OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAycHg7XG4gIGJhY2tncm91bmQ6ICMwYTBhMGE7XG4gIGJveC1zaGFkb3c6IDAgN3B4IDAgIzBhMGEwYSwgMCAxNHB4IDAgIzBhMGEwYTtcbiAgY29udGVudDogJyc7XG59XG5cbi5tZW51LWljb24uZGFyazpob3Zlcjo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiAjOGE4YThhO1xuICBib3gtc2hhZG93OiAwIDdweCAwICM4YThhOGEsIDAgMTRweCAwICM4YThhOGE7XG59XG5cbi5hY2NvcmRpb24tbWVudSBsaSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYWNjb3JkaW9uLW1lbnUgYSB7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xufVxuXG4uYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51IGEge1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcbn1cblxuLmFjY29yZGlvbi1tZW51IC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtO1xufVxuXG4uYWNjb3JkaW9uLW1lbnUuYWxpZ24tcmlnaHQgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50Om5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50Om5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogIzk5MUIxRSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogLTNweDtcbiAgcmlnaHQ6IDFyZW07XG59XG5cbi5hY2NvcmRpb24tbWVudS5hbGlnbi1sZWZ0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIHJpZ2h0OiAxcmVtO1xuICBsZWZ0OiBhdXRvO1xufVxuXG4uYWNjb3JkaW9uLW1lbnUuYWxpZ24tcmlnaHQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDFyZW07XG59XG5cbi5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9J3RydWUnXSA+IGE6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbn1cblxuLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmhhcy1zdWJtZW51LXRvZ2dsZSA+IGEge1xuICBtYXJnaW4tcmlnaHQ6IDQwcHg7XG59XG5cbi5zdWJtZW51LXRvZ2dsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uc3VibWVudS10b2dnbGU6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogIzk5MUIxRSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIG1hcmdpbjogYXV0bztcbn1cblxuLnN1Ym1lbnUtdG9nZ2xlW2FyaWEtZXhwYW5kZWQ9J3RydWUnXTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlWSgtMSk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG59XG5cbi5zdWJtZW51LXRvZ2dsZS10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBib3JkZXI6IDA7XG59XG5cbi5pcy1kcmlsbGRvd24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5pcy1kcmlsbGRvd24gbGkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmlzLWRyaWxsZG93bi5hbmltYXRlLWhlaWdodCB7XG4gIHRyYW5zaXRpb246IGhlaWdodCAwLjVzO1xufVxuXG4uZHJpbGxkb3duIGEge1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbn1cblxuLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbiAgei1pbmRleDogLTE7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyO1xufVxuXG4uZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1hY3RpdmUge1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbn1cblxuLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUuaXMtY2xvc2luZyB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbn1cblxuLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUgYSB7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xufVxuXG4uZHJpbGxkb3duIC5uZXN0ZWQuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4uZHJpbGxkb3duIC5kcmlsbGRvd24tc3VibWVudS1jb3Zlci1wcmV2aW91cyB7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG59XG5cbi5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzk5MUIxRTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogLTZweDtcbiAgcmlnaHQ6IDFyZW07XG59XG5cbi5kcmlsbGRvd24uYWxpZ24tbGVmdCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjOTkxQjFFO1xuICByaWdodDogMXJlbTtcbiAgbGVmdDogYXV0bztcbn1cblxuLmRyaWxsZG93bi5hbGlnbi1yaWdodCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjOTkxQjFFIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMXJlbTtcbn1cblxuLmRyaWxsZG93biAuanMtZHJpbGxkb3duLWJhY2sgPiBhOjpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjOTkxQjFFIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbi1yaWdodDogMC43NXJlbTtcbn1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvO1xufVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAwO1xufVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtO1xufVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiAjOTkxQjFFIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICByaWdodDogNXB4O1xuICBsZWZ0OiBhdXRvO1xuICBtYXJnaW4tdG9wOiAtM3B4O1xufVxuXG5bZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmRyb3Bkb3duLm1lbnUgYSB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi5kcm9wZG93bi5tZW51ID4gbGkgPiBhIHtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07XG59XG5cbi5kcm9wZG93bi5tZW51ID4gbGkuaXMtYWN0aXZlID4gYSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzk5MUIxRTtcbn1cblxuLm5vLWpzIC5kcm9wZG93bi5tZW51IHVsIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmRyb3Bkb3duLm1lbnUgLm5lc3RlZC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMDtcbn1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAxMDAlO1xuICBsZWZ0OiBhdXRvO1xufVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMTAwJTtcbn1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgcmlnaHQ6IDE0cHg7XG59XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzk5MUIxRSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDVweDtcbn1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzk5MUIxRTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICM5OTFCMUUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDtcbiAgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDE0cHg7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICM5OTFCMUUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzk5MUIxRTtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjOTkxQjFFIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDtcbiAgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlO1xuICB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDE0cHg7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzk5MUIxRSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICM5OTFCMUU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5kcm9wZG93bi5tZW51LnhsYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICM5OTFCMUUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLXZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDtcbiAgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5kcm9wZG93bi5tZW51LnhsYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLXZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDE0cHg7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICM5OTFCMUUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICB9XG4gIC5kcm9wZG93bi5tZW51LnhsYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzk5MUIxRTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAuMDYyNWVtKSB7XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzk5MUIxRSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogNXB4O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogLTNweDtcbiAgfVxuICAuZHJvcGRvd24ubWVudS54eGxhcmdlLXZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDtcbiAgfVxuICAuZHJvcGRvd24ubWVudS54eGxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAuZHJvcGRvd24ubWVudS54eGxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTtcbiAgfVxuICAuZHJvcGRvd24ubWVudS54eGxhcmdlLXZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDE0cHg7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjOTkxQjFFIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDtcbiAgfVxuICAuZHJvcGRvd24ubWVudS54eGxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjOTkxQjFFO1xuICB9XG59XG5cbi5kcm9wZG93bi5tZW51LmFsaWduLXJpZ2h0IC5pcy1kcm9wZG93bi1zdWJtZW51LmZpcnN0LXN1YiB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87XG59XG5cbi5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsIHtcbiAgd2lkdGg6IDEwMHB4O1xufVxuXG4uaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbC5hbGlnbi1yaWdodCB7XG4gIGZsb2F0OiByaWdodDtcbn1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgYTo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICByaWdodDogNXB4O1xuICBsZWZ0OiBhdXRvO1xuICBtYXJnaW4tdG9wOiAtNnB4O1xufVxuXG4uaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtaW5uZXIgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogYXV0bztcbn1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHJpZ2h0OiAxMDAlO1xuICBsZWZ0OiBhdXRvO1xufVxuXG4uaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxMDAlO1xufVxuXG4uaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDAlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBub25lO1xuICBtaW4td2lkdGg6IDIwMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xufVxuXG4uZHJvcGRvd24gLmlzLWRyb3Bkb3duLXN1Ym1lbnUgYSB7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xufVxuXG4uaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIHJpZ2h0OiAxNHB4O1xufVxuXG4uaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzk5MUIxRSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDVweDtcbn1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjOTkxQjFFO1xufVxuXG4uaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIG1hcmdpbi10b3A6IC0xcHg7XG59XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51ID4gbGkge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5pcy1vZmYtY2FudmFzLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uanMtb2ZmLWNhbnZhcy1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDExO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgZWFzZSwgdmlzaWJpbGl0eSAwLjVzIGVhc2U7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU0LCAyNTQsIDI1NCwgMC4yNSk7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy12aXNpYmxlIHtcbiAgb3BhY2l0eTogMTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1jbG9zYWJsZSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1vdmVybGF5LWFic29sdXRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG4uanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLW92ZXJsYXktZml4ZWQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG59XG5cbi5vZmYtY2FudmFzLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5vZmYtY2FudmFzIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xufVxuXG5bZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9mZi1jYW52YXMge1xuICBvdXRsaW5lOiAwO1xufVxuXG4ub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLXB1c2gge1xuICB6LWluZGV4OiAxMjtcbn1cblxuLm9mZi1jYW52YXMuaXMtY2xvc2VkIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4ub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuICB6LWluZGV4OiAxMztcbn1cblxuLm9mZi1jYW52YXMuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDEwLCAxMCwgMTAsIDAuNyk7XG59XG5cbi5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbn1cblxuLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEyO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICNlNmU2ZTY7XG59XG5cbltkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub2ZmLWNhbnZhcy1hYnNvbHV0ZSB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gIHotaW5kZXg6IDEyO1xufVxuXG4ub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy1jbG9zZWQge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gIHotaW5kZXg6IDEzO1xufVxuXG4ub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMTAsIDEwLCAxMCwgMC43KTtcbn1cblxuLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtb3BlbiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xufVxuXG4ucG9zaXRpb24tbGVmdCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICB3aWR0aDogMjUwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUwcHgpO1xufVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWxlZnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1MHB4KTtcbn1cblxuLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1sZWZ0LmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG59XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1sZWZ0Lmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUwcHgpO1xufVxuXG4ucG9zaXRpb24tbGVmdC5pcy10cmFuc2l0aW9uLXB1c2gge1xuICBib3gtc2hhZG93OiBpbnNldCAtMTNweCAwIDIwcHggLTEzcHggcmdiYSgxMCwgMTAsIDEwLCAwLjI1KTtcbn1cblxuLnBvc2l0aW9uLXJpZ2h0IHtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICB3aWR0aDogMjUwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNTBweCk7XG59XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tcmlnaHQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUwcHgpO1xufVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXJpZ2h0LmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG59XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1yaWdodC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNTBweCk7XG59XG5cbi5wb3NpdGlvbi1yaWdodC5pcy10cmFuc2l0aW9uLXB1c2gge1xuICBib3gtc2hhZG93OiBpbnNldCAxM3B4IDAgMjBweCAtMTNweCByZ2JhKDEwLCAxMCwgMTAsIDAuMjUpO1xufVxuXG4ucG9zaXRpb24tdG9wIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgaGVpZ2h0OiAyNTBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNTBweCk7XG59XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tdG9wIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNTBweCk7XG59XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tdG9wLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG59XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi10b3AuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNTBweCk7XG59XG5cbi5wb3NpdGlvbi10b3AuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMTNweCAyMHB4IC0xM3B4IHJnYmEoMTAsIDEwLCAxMCwgMC4yNSk7XG59XG5cbi5wb3NpdGlvbi1ib3R0b20ge1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBoZWlnaHQ6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUwcHgpO1xufVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWJvdHRvbSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNTBweCk7XG59XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tYm90dG9tLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG59XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1ib3R0b20uaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjUwcHgpO1xufVxuXG4ucG9zaXRpb24tYm90dG9tLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMTNweCAyMHB4IC0xM3B4IHJnYmEoMTAsIDEwLCAxMCwgMC4yNSk7XG59XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2U7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLm9mZi1jYW52YXMtY29udGVudC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG59XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1MHB4O1xuICB9XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1MHB4O1xuICB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1yaWdodCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyNTBweDtcbiAgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4O1xuICB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC10b3Age1xuICAgIG1hcmdpbi10b3A6IDI1MHB4O1xuICB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICBtYXJnaW4tdG9wOiAyNTBweDtcbiAgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNTBweDtcbiAgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiAyNTBweDtcbiAgfVxuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1MHB4O1xuICB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1yaWdodCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyNTBweDtcbiAgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIG1hcmdpbi1yaWdodDogMjUwcHg7XG4gIH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogMjUwcHg7XG4gIH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgbWFyZ2luLXRvcDogMjUwcHg7XG4gIH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWJvdHRvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7XG4gIH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiAyNTBweDtcbiAgfVxuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIG1hcmdpbi1sZWZ0OiAyNTBweDtcbiAgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtcmlnaHQge1xuICAgIG1hcmdpbi1yaWdodDogMjUwcHg7XG4gIH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyNTBweDtcbiAgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtdG9wIHtcbiAgICBtYXJnaW4tdG9wOiAyNTBweDtcbiAgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgbWFyZ2luLXRvcDogMjUwcHg7XG4gIH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWJvdHRvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7XG4gIH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDI1MHB4O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMC4wNjI1ZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteHhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiAyNTBweDtcbiAgfVxuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXh4bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICBtYXJnaW4tbGVmdDogMjUwcHg7XG4gIH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteHhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14eGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXJpZ2h0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4O1xuICB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXh4bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4O1xuICB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14eGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteHhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC10b3Age1xuICAgIG1hcmdpbi10b3A6IDI1MHB4O1xuICB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14eGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgbWFyZ2luLXRvcDogMjUwcHg7XG4gIH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXh4bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXh4bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWJvdHRvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7XG4gIH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXh4bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNTBweDtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tbGVmdCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tcmlnaHQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLXRvcCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tYm90dG9tIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2Uge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tbGVmdCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi1yaWdodCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi10b3AsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tYm90dG9tIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14bGFyZ2Uge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGxhcmdlLnBvc2l0aW9uLWxlZnQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGxhcmdlLnBvc2l0aW9uLXJpZ2h0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXhsYXJnZS5wb3NpdGlvbi10b3AsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGxhcmdlLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAuMDYyNWVtKSB7XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteHhsYXJnZSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14eGxhcmdlLnBvc2l0aW9uLWxlZnQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteHhsYXJnZS5wb3NpdGlvbi1yaWdodCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14eGxhcmdlLnBvc2l0aW9uLXRvcCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14eGxhcmdlLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14eGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuaHRtbC5pcy1yZXZlYWwtb3BlbiB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbn1cblxuaHRtbC5pcy1yZXZlYWwtb3Blbi56Zi1oYXMtc2Nyb2xsIHtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuXG5odG1sLmlzLXJldmVhbC1vcGVuIGJvZHkge1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG59XG5cbi5yZXZlYWwtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDA1O1xuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwLCAxMCwgMTAsIDAuNDUpO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4ucmV2ZWFsIHtcbiAgei1pbmRleDogMTAwNjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMTAwcHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbltkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAucmV2ZWFsIHtcbiAgb3V0bGluZTogMDtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnJldmVhbCB7XG4gICAgbWluLWhlaWdodDogMDtcbiAgfVxufVxuXG4ucmV2ZWFsIC5jb2x1bW4ge1xuICBtaW4td2lkdGg6IDA7XG59XG5cbi5yZXZlYWwgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5yZXZlYWwge1xuICAgIHdpZHRoOiA2MDBweDtcbiAgICBtYXgtd2lkdGg6IDc1cmVtO1xuICB9XG59XG5cbi5yZXZlYWwuY29sbGFwc2Uge1xuICBwYWRkaW5nOiAwO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAucmV2ZWFsLnRpbnkge1xuICAgIHdpZHRoOiAzMCU7XG4gICAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAucmV2ZWFsLnNtYWxsIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIG1heC13aWR0aDogNzVyZW07XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnJldmVhbC5sYXJnZSB7XG4gICAgd2lkdGg6IDkwJTtcbiAgICBtYXgtd2lkdGg6IDc1cmVtO1xuICB9XG59XG5cbi5yZXZlYWwuZnVsbCB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45OTg3NWVtKSB7XG4gIC5yZXZlYWwge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbn1cblxuLnJldmVhbC53aXRob3V0LW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG59XG5cbi5zdGlja3ktY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uc3RpY2t5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuXG4uc3RpY2t5LmlzLXN0dWNrIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiA1O1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnN0aWNreS5pcy1zdHVjay5pcy1hdC10b3Age1xuICB0b3A6IDA7XG59XG5cbi5zdGlja3kuaXMtc3R1Y2suaXMtYXQtYm90dG9tIHtcbiAgYm90dG9tOiAwO1xufVxuXG4uc3RpY2t5LmlzLWFuY2hvcmVkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICByaWdodDogYXV0bztcbiAgbGVmdDogYXV0bztcbn1cblxuLnN0aWNreS5pcy1hbmNob3JlZC5pcy1hdC1ib3R0b20ge1xuICBib3R0b206IDA7XG59XG5cbi50aXRsZS1iYXIge1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJhY2tncm91bmQ6ICMwYTBhMGE7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi50aXRsZS1iYXIgLm1lbnUtaWNvbiB7XG4gIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07XG59XG5cbi50aXRsZS1iYXItbGVmdCxcbi50aXRsZS1iYXItcmlnaHQge1xuICBmbGV4OiAxIDEgMHB4O1xufVxuXG4udGl0bGUtYmFyLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi50aXRsZS1iYXItdGl0bGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4udG9wLWJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4udG9wLWJhcixcbi50b3AtYmFyIHVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbn1cblxuLnRvcC1iYXIgaW5wdXQge1xuICBtYXgtd2lkdGg6IDIwMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG59XG5cbi50b3AtYmFyIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi50b3AtYmFyIGlucHV0LmJ1dHRvbiB7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4udG9wLWJhciAudG9wLWJhci1sZWZ0LFxuLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQge1xuICBmbGV4OiAwIDAgMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAudG9wLWJhciB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbiAgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG4gIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIC50b3AtYmFyLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gIC50b3AtYmFyLnN0YWNrZWQtZm9yLW1lZGl1bSAudG9wLWJhci1sZWZ0LFxuICAudG9wLWJhci5zdGFja2VkLWZvci1tZWRpdW0gLnRvcC1iYXItcmlnaHQge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OS45OTg3NWVtKSB7XG4gIC50b3AtYmFyLnN0YWNrZWQtZm9yLWxhcmdlIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbGFyZ2UgLnRvcC1iYXItbGVmdCxcbiAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbGFyZ2UgLnRvcC1iYXItcmlnaHQge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAuMDYxMjVlbSkge1xuICAudG9wLWJhci5zdGFja2VkLWZvci14bGFyZ2Uge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICAudG9wLWJhci5zdGFja2VkLWZvci14bGFyZ2UgLnRvcC1iYXItbGVmdCxcbiAgLnRvcC1iYXIuc3RhY2tlZC1mb3IteGxhcmdlIC50b3AtYmFyLXJpZ2h0IHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLnRvcC1iYXIuc3RhY2tlZC1mb3IteHhsYXJnZSB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLnRvcC1iYXIuc3RhY2tlZC1mb3IteHhsYXJnZSAudG9wLWJhci1sZWZ0LFxuLnRvcC1iYXIuc3RhY2tlZC1mb3IteHhsYXJnZSAudG9wLWJhci1yaWdodCB7XG4gIGZsZXg6IDAgMCAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi50b3AtYmFyLXRpdGxlIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1hcmdpbjogMC41cmVtIDFyZW0gMC41cmVtIDA7XG59XG5cbi50b3AtYmFyLWxlZnQsXG4udG9wLWJhci1yaWdodCB7XG4gIGZsZXg6IDAgMCBhdXRvO1xufVxuXG4uZmxvYXQtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5cbi5mbG9hdC1yaWdodCB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xufVxuXG4uZmxvYXQtY2VudGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbi5jbGVhcmZpeDo6YmVmb3JlLCAuY2xlYXJmaXg6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6ICcgJztcbiAgZmxleC1iYXNpczogMDtcbiAgb3JkZXI6IDE7XG59XG5cbi5jbGVhcmZpeDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFsaWduLWxlZnQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5cbi5hbGlnbi1yaWdodCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi5hbGlnbi1jZW50ZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmFsaWduLWp1c3RpZnkge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5hbGlnbi1zcGFjZWQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbn1cblxuLmFsaWduLWxlZnQudmVydGljYWwubWVudSA+IGxpID4gYSB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLmFsaWduLXJpZ2h0LnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuXG4uYWxpZ24tY2VudGVyLnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmFsaWduLXRvcCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4uYWxpZ24tc2VsZi10b3Age1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xufVxuXG4uYWxpZ24tYm90dG9tIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xufVxuXG4uYWxpZ24tc2VsZi1ib3R0b20ge1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbn1cblxuLmFsaWduLW1pZGRsZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5hbGlnbi1zZWxmLW1pZGRsZSB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbn1cblxuLmFsaWduLXN0cmV0Y2gge1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbn1cblxuLmFsaWduLXNlbGYtc3RyZXRjaCB7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG59XG5cbi5hbGlnbi1jZW50ZXItbWlkZGxlIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnNtYWxsLW9yZGVyLTEge1xuICBvcmRlcjogMTtcbn1cblxuLnNtYWxsLW9yZGVyLTIge1xuICBvcmRlcjogMjtcbn1cblxuLnNtYWxsLW9yZGVyLTMge1xuICBvcmRlcjogMztcbn1cblxuLnNtYWxsLW9yZGVyLTQge1xuICBvcmRlcjogNDtcbn1cblxuLnNtYWxsLW9yZGVyLTUge1xuICBvcmRlcjogNTtcbn1cblxuLnNtYWxsLW9yZGVyLTYge1xuICBvcmRlcjogNjtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm1lZGl1bS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTtcbiAgfVxuICAubWVkaXVtLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyO1xuICB9XG4gIC5tZWRpdW0tb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7XG4gIH1cbiAgLm1lZGl1bS1vcmRlci00IHtcbiAgICBvcmRlcjogNDtcbiAgfVxuICAubWVkaXVtLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1O1xuICB9XG4gIC5tZWRpdW0tb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxO1xuICB9XG4gIC5sYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjtcbiAgfVxuICAubGFyZ2Utb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7XG4gIH1cbiAgLmxhcmdlLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0O1xuICB9XG4gIC5sYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTtcbiAgfVxuICAubGFyZ2Utb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnhsYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTtcbiAgfVxuICAueGxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyO1xuICB9XG4gIC54bGFyZ2Utb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7XG4gIH1cbiAgLnhsYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDtcbiAgfVxuICAueGxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1O1xuICB9XG4gIC54bGFyZ2Utb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwLjA2MjVlbSkge1xuICAueHhsYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTtcbiAgfVxuICAueHhsYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjtcbiAgfVxuICAueHhsYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMztcbiAgfVxuICAueHhsYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDtcbiAgfVxuICAueHhsYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTtcbiAgfVxuICAueHhsYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjtcbiAgfVxufVxuXG4uZmxleC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uZmxleC1jaGlsZC1hdXRvIHtcbiAgZmxleDogMSAxIGF1dG87XG59XG5cbi5mbGV4LWNoaWxkLWdyb3cge1xuICBmbGV4OiAxIDAgYXV0bztcbn1cblxuLmZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgZmxleDogMCAxIGF1dG87XG59XG5cbi5mbGV4LWRpci1yb3cge1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xufVxuXG4uZmxleC1kaXItcm93LXJldmVyc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG59XG5cbi5mbGV4LWRpci1jb2x1bW4ge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tZWRpdW0tZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuICAubWVkaXVtLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAubWVkaXVtLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gIH1cbiAgLm1lZGl1bS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgLm1lZGl1bS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1mbGV4LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG4gIC5sYXJnZS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbiAgLmxhcmdlLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gIH1cbiAgLmxhcmdlLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICAubGFyZ2UtZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAueGxhcmdlLWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG4gIC54bGFyZ2UtZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgfVxuICAueGxhcmdlLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cbiAgLnhsYXJnZS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cbiAgLnhsYXJnZS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbiAgLnhsYXJnZS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICB9XG4gIC54bGFyZ2UtZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG4gIC54bGFyZ2UtZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAuMDYyNWVtKSB7XG4gIC54eGxhcmdlLWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG4gIC54eGxhcmdlLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gIH1cbiAgLnh4bGFyZ2UtZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxuICAueHhsYXJnZS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cbiAgLnh4bGFyZ2UtZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG4gIC54eGxhcmdlLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gIH1cbiAgLnh4bGFyZ2UtZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG4gIC54eGxhcmdlLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gIH1cbn1cblxuLmhpZGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3Ljk5ODc1ZW0pIHtcbiAgLmhpZGUtZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAwZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnNob3ctZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTk4NzVlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTk4NzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIC5zaG93LWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA5OS45OTg3NWVtKSB7XG4gIC5oaWRlLWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAuaGlkZS1mb3IteGxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkuOTk4NzVlbSkge1xuICAuc2hvdy1mb3IteGxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIGFuZCAobWF4LXdpZHRoOiAxMjAuMDYxMjVlbSkge1xuICAuaGlkZS1mb3IteGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OS45OTg3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAuMDYyNWVtKSB7XG4gIC5zaG93LWZvci14bGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMC4wNjI1ZW0pIHtcbiAgLmhpZGUtZm9yLXh4bGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAuMDYxMjVlbSkge1xuICAuc2hvdy1mb3IteHhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMC4wNjI1ZW0pIHtcbiAgLmhpZGUtZm9yLXh4bGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMC4wNjEyNWVtKSB7XG4gIC5zaG93LWZvci14eGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uc2hvdy1mb3Itc3IsXG4uc2hvdy1vbi1mb2N1cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYm9yZGVyOiAwO1xufVxuXG4uc2hvdy1vbi1mb2N1czphY3RpdmUsIC5zaG93LW9uLWZvY3VzOmZvY3VzIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bztcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cblxuLnNob3ctZm9yLWxhbmRzY2FwZSxcbi5oaWRlLWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5oaWRlLWZvci1sYW5kc2NhcGUsXG4uc2hvdy1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbi50ZXh0LWhpZGUge1xuICBmb250OiAwLzAgYSAhaW1wb3J0YW50O1xuICBjb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LXRydW5jYXRlIHtcbiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbn1cblxuLnRleHQtbm93cmFwIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xufVxuXG4udGV4dC13cmFwIHtcbiAgd29yZC13cmFwOiBicmVhay13b3JkICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWxvd2VyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2UgIWltcG9ydGFudDtcbn1cblxuLnRleHQtdXBwZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1jYXBpdGFsaXplIHtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemUgIWltcG9ydGFudDtcbn1cblxuLnRleHQtb3ZlcmxpbmUge1xuICB0ZXh0LWRlY29yYXRpb246IG92ZXJsaW5lICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LXVuZGVybGluZSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWxpbmUtdGhyb3VnaCB7XG4gIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoICFpbXBvcnRhbnQ7XG59XG5cbi5mb250LXdpZGUge1xuICBsZXR0ZXItc3BhY2luZzogMC4yNXJlbTtcbn1cblxuLmZvbnQtbm9ybWFsIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuLmZvbnQtYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uZm9udC1pdGFsaWMge1xuICBmb250LXN0eWxlOiBpdGFsaWMgIWltcG9ydGFudDtcbn1cblxudWwubGlzdC1kaXNjIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBkaXNjICFpbXBvcnRhbnQ7XG59XG5cbnVsLmxpc3QtY2lyY2xlIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBjaXJjbGUgIWltcG9ydGFudDtcbn1cblxudWwubGlzdC1zcXVhcmUge1xuICBsaXN0LXN0eWxlLXR5cGU6IHNxdWFyZSAhaW1wb3J0YW50O1xufVxuXG5vbC5saXN0LWRlY2ltYWwge1xuICBsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWwgIWltcG9ydGFudDtcbn1cblxub2wubGlzdC1sb3dlci1hbHBoYSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItYWxwaGEgIWltcG9ydGFudDtcbn1cblxub2wubGlzdC1sb3dlci1sYXRpbiB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItbGF0aW4gIWltcG9ydGFudDtcbn1cblxub2wubGlzdC1sb3dlci1yb21hbiB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9tYW4gIWltcG9ydGFudDtcbn1cblxub2wubGlzdC11cHBlci1hbHBoYSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogdXBwZXItYWxwaGEgIWltcG9ydGFudDtcbn1cblxub2wubGlzdC11cHBlci1sYXRpbiB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogdXBwZXItbGF0aW4gIWltcG9ydGFudDtcbn1cblxub2wubGlzdC11cHBlci1yb21hbiB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogdXBwZXItcm9tYW4gIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQge1xuICBib3JkZXItcmFkaXVzOiA1MDAwcHggIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQ6YWZ0ZXIge1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG5cbi5yYWRpdXMge1xuICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07XG59XG5cbi5ib3JkZXJlZCB7XG4gIGJvcmRlcjogMC4wNjI1cmVtIHNvbGlkICNjYWNhY2E7XG59XG5cbi5zaGFkb3cge1xuICBib3gtc2hhZG93OiAwIDJweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTYpLCAwIDJweCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLmFycm93LWRvd24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCAwLjQzNzVyZW07XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiAjMGEwYTBhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xufVxuXG4uYXJyb3ctdXAge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCAwLjQzNzVyZW07XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMGEwYTBhO1xufVxuXG4uYXJyb3ctcmlnaHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCAwLjQzNzVyZW07XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMGEwYTBhO1xufVxuXG4uYXJyb3ctbGVmdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDAuNDM3NXJlbTtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMwYTBhMGEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG59XG5cbi5zZXBhcmF0b3ItY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG59XG5cbi5zZXBhcmF0b3ItY2VudGVyOjpiZWZvcmUsIC5zZXBhcmF0b3ItY2VudGVyOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiAnICc7XG4gIGZsZXgtYmFzaXM6IDA7XG4gIG9yZGVyOiAxO1xufVxuXG4uc2VwYXJhdG9yLWNlbnRlcjo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLnNlcGFyYXRvci1jZW50ZXI6OmFmdGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAzcmVtO1xuICBib3JkZXItYm90dG9tOiAwLjEyNXJlbSBzb2xpZCAjOTkxQjFFO1xuICBtYXJnaW46IDFyZW0gYXV0byAwO1xufVxuXG4uc2VwYXJhdG9yLWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5cbi5zZXBhcmF0b3ItbGVmdDo6YmVmb3JlLCAuc2VwYXJhdG9yLWxlZnQ6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6ICcgJztcbiAgZmxleC1iYXNpczogMDtcbiAgb3JkZXI6IDE7XG59XG5cbi5zZXBhcmF0b3ItbGVmdDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLnNlcGFyYXRvci1sZWZ0OjphZnRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogM3JlbTtcbiAgYm9yZGVyLWJvdHRvbTogMC4xMjVyZW0gc29saWQgIzk5MUIxRTtcbiAgbWFyZ2luOiAxcmVtIGF1dG8gMDtcbiAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbn1cblxuLnNlcGFyYXRvci1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XG59XG5cbi5zZXBhcmF0b3ItcmlnaHQ6OmJlZm9yZSwgLnNlcGFyYXRvci1yaWdodDo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogJyAnO1xuICBmbGV4LWJhc2lzOiAwO1xuICBvcmRlcjogMTtcbn1cblxuLnNlcGFyYXRvci1yaWdodDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLnNlcGFyYXRvci1yaWdodDo6YWZ0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDNyZW07XG4gIGJvcmRlci1ib3R0b206IDAuMTI1cmVtIHNvbGlkICM5OTFCMUU7XG4gIG1hcmdpbjogMXJlbSBhdXRvIDA7XG4gIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xufVxuXG4ub3ZlcmZsb3ctdmlzaWJsZSB7XG4gIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG5cbi5vdmVyZmxvdy14LXZpc2libGUge1xuICBvdmVyZmxvdy14OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG5cbi5vdmVyZmxvdy15LXZpc2libGUge1xuICBvdmVyZmxvdy15OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG5cbi5vdmVyZmxvdy1oaWRkZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG5cbi5vdmVyZmxvdy14LWhpZGRlbiB7XG4gIG92ZXJmbG93LXg6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuXG4ub3ZlcmZsb3cteS1oaWRkZW4ge1xuICBvdmVyZmxvdy15OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cblxuLm92ZXJmbG93LXNjcm9sbCB7XG4gIG92ZXJmbG93OiBzY3JvbGwgIWltcG9ydGFudDtcbn1cblxuLm92ZXJmbG93LXgtc2Nyb2xsIHtcbiAgb3ZlcmZsb3cteDogc2Nyb2xsICFpbXBvcnRhbnQ7XG59XG5cbi5vdmVyZmxvdy15LXNjcm9sbCB7XG4gIG92ZXJmbG93LXk6IHNjcm9sbCAhaW1wb3J0YW50O1xufVxuXG4uZGlzcGxheS1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbn1cblxuLmRpc3BsYXktaW5saW5lLWJsb2NrIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG59XG5cbi5kaXNwbGF5LWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbn1cblxuLmRpc3BsYXktdGFibGUge1xuICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50O1xufVxuXG4uZGlzcGxheS10YWJsZS1jZWxsIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xufVxuXG4ucG9zaXRpb24tc3RhdGljIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xufVxuXG4ucG9zaXRpb24tcmVsYXRpdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbn1cblxuLnBvc2l0aW9uLWFic29sdXRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG59XG5cbi5wb3NpdGlvbi1maXhlZCB7XG4gIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xufVxuXG4ucG9zaXRpb24tZml4ZWQtdG9wIHtcbiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG4gIHRvcDogMHJlbSAhaW1wb3J0YW50O1xuICByaWdodDogMHJlbSAhaW1wb3J0YW50O1xuICBsZWZ0OiAwcmVtICFpbXBvcnRhbnQ7XG4gIHotaW5kZXg6IDk3NTtcbn1cblxuLnBvc2l0aW9uLWZpeGVkLWJvdHRvbSB7XG4gIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xuICByaWdodDogMHJlbSAhaW1wb3J0YW50O1xuICBib3R0b206IDByZW0gIWltcG9ydGFudDtcbiAgbGVmdDogMHJlbSAhaW1wb3J0YW50O1xuICB6LWluZGV4OiA5NzU7XG59XG5cbi5ib3JkZXItYm94IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLW5vbmUge1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLndpZHRoLTI1IHtcbiAgd2lkdGg6IDI1JSAhaW1wb3J0YW50O1xufVxuXG4ud2lkdGgtNTAge1xuICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XG59XG5cbi53aWR0aC03NSB7XG4gIHdpZHRoOiA3NSUgIWltcG9ydGFudDtcbn1cblxuLndpZHRoLTEwMCB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi5oZWlnaHQtMjUge1xuICBoZWlnaHQ6IDI1JSAhaW1wb3J0YW50O1xufVxuXG4uaGVpZ2h0LTUwIHtcbiAgaGVpZ2h0OiA1MCUgIWltcG9ydGFudDtcbn1cblxuLmhlaWdodC03NSB7XG4gIGhlaWdodDogNzUlICFpbXBvcnRhbnQ7XG59XG5cbi5oZWlnaHQtMTAwIHtcbiAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi5tYXgtd2lkdGgtMTAwIHtcbiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi5tYXgtaGVpZ2h0LTEwMCB7XG4gIG1heC1oZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi0wIHtcbiAgbWFyZ2luOiAwcmVtO1xufVxuXG4ubWFyZ2luLXRvcC0wIHtcbiAgbWFyZ2luLXRvcDogMHJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLXJpZ2h0LTAge1xuICBtYXJnaW4tcmlnaHQ6IDByZW0gIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi1ib3R0b20tMCB7XG4gIG1hcmdpbi1ib3R0b206IDByZW0gIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi1sZWZ0LTAge1xuICBtYXJnaW4tbGVmdDogMHJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLWhvcml6b250YWwtMCB7XG4gIG1hcmdpbi1yaWdodDogMHJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogMHJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLXZlcnRpY2FsLTAge1xuICBtYXJnaW4tdG9wOiAwcmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDByZW0gIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctMCB7XG4gIHBhZGRpbmc6IDByZW07XG59XG5cbi5wYWRkaW5nLXRvcC0wIHtcbiAgcGFkZGluZy10b3A6IDByZW0gIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctcmlnaHQtMCB7XG4gIHBhZGRpbmctcmlnaHQ6IDByZW0gIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctYm90dG9tLTAge1xuICBwYWRkaW5nLWJvdHRvbTogMHJlbSAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy1sZWZ0LTAge1xuICBwYWRkaW5nLWxlZnQ6IDByZW0gIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctaG9yaXpvbnRhbC0wIHtcbiAgcGFkZGluZy1yaWdodDogMHJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6IDByZW0gIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctdmVydGljYWwtMCB7XG4gIHBhZGRpbmctdG9wOiAwcmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAwcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tMSB7XG4gIG1hcmdpbjogMXJlbTtcbn1cblxuLm1hcmdpbi10b3AtMSB7XG4gIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi1yaWdodC0xIHtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tYm90dG9tLTEge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tbGVmdC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi1ob3Jpem9udGFsLTEge1xuICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi12ZXJ0aWNhbC0xIHtcbiAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLTEge1xuICBwYWRkaW5nOiAxcmVtO1xufVxuXG4ucGFkZGluZy10b3AtMSB7XG4gIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLXJpZ2h0LTEge1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLWJvdHRvbS0xIHtcbiAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctbGVmdC0xIHtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLWhvcml6b250YWwtMSB7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLXZlcnRpY2FsLTEge1xuICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLTIge1xuICBtYXJnaW46IDJyZW07XG59XG5cbi5tYXJnaW4tdG9wLTIge1xuICBtYXJnaW4tdG9wOiAycmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tcmlnaHQtMiB7XG4gIG1hcmdpbi1yaWdodDogMnJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLWJvdHRvbS0yIHtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLWxlZnQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAycmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4taG9yaXpvbnRhbC0yIHtcbiAgbWFyZ2luLXJpZ2h0OiAycmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAycmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tdmVydGljYWwtMiB7XG4gIG1hcmdpbi10b3A6IDJyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbSAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy0yIHtcbiAgcGFkZGluZzogMnJlbTtcbn1cblxuLnBhZGRpbmctdG9wLTIge1xuICBwYWRkaW5nLXRvcDogMnJlbSAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy1yaWdodC0yIHtcbiAgcGFkZGluZy1yaWdodDogMnJlbSAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy1ib3R0b20tMiB7XG4gIHBhZGRpbmctYm90dG9tOiAycmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLWxlZnQtMiB7XG4gIHBhZGRpbmctbGVmdDogMnJlbSAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy1ob3Jpem9udGFsLTIge1xuICBwYWRkaW5nLXJpZ2h0OiAycmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogMnJlbSAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy12ZXJ0aWNhbC0yIHtcbiAgcGFkZGluZy10b3A6IDJyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDJyZW0gIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi0zIHtcbiAgbWFyZ2luOiAzcmVtO1xufVxuXG4ubWFyZ2luLXRvcC0zIHtcbiAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLXJpZ2h0LTMge1xuICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi1ib3R0b20tMyB7XG4gIG1hcmdpbi1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi1sZWZ0LTMge1xuICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLWhvcml6b250YWwtMyB7XG4gIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLXZlcnRpY2FsLTMge1xuICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctMyB7XG4gIHBhZGRpbmc6IDNyZW07XG59XG5cbi5wYWRkaW5nLXRvcC0zIHtcbiAgcGFkZGluZy10b3A6IDNyZW0gIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctcmlnaHQtMyB7XG4gIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctYm90dG9tLTMge1xuICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy1sZWZ0LTMge1xuICBwYWRkaW5nLWxlZnQ6IDNyZW0gIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctaG9yaXpvbnRhbC0zIHtcbiAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6IDNyZW0gIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctdmVydGljYWwtMyB7XG4gIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7XG59XG5cbioge1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuOmZvY3VzIHtcbiAgb3V0bGluZTogMCAhaW1wb3J0YW50O1xufVxuXG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6IFwiTGF0b1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGNvbG9yOiAjM0MzQzNDO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbmEge1xuICBjb2xvcjogIzk5MUIxRTtcbiAgdHJhbnNpdGlvbjogMC4zcyBlYXNlIGFsbDtcbn1cblxuYTpob3ZlciwgYTpmb2N1cyB7XG4gIGNvbG9yOiAjM0MzQzNDO1xufVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1mYW1pbHk6IFwiVGVrb1wiLCBzYW5zLXNlcmlmO1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG5oNCwgaDUsIGg2IHtcbiAgZm9udC1mYW1pbHk6IFwiTGF0b1wiLCBzYW5zLXNlcmlmO1xuICBsaW5lLWhlaWdodDogMS40O1xufVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogODBweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbmgyIHtcbiAgZm9udC1zaXplOiA2MHB4O1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuaDMge1xuICBmb250LXNpemU6IDM0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5cbmg0IHtcbiAgZm9udC1zaXplOiAzMHB4O1xufVxuXG5oNSB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbn1cblxuaDYge1xuICBmb250LXNpemU6IDIwcHg7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMjgwcHgpIHtcbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogNjBweDtcbiAgfVxuICBoMiB7XG4gICAgZm9udC1zaXplOiA0MHB4O1xuICB9XG4gIGgzIHtcbiAgICBmb250LXNpemU6IDI4cHg7XG4gIH1cbiAgaDQge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgfVxuICBoNSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICB9XG4gIGg2IHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cblxuaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbnAge1xuICBsaW5lLWhlaWdodDogMS41O1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xufVxuXG5wLmxhcmdlIHtcbiAgZm9udC1zaXplOiAyMHB4O1xufVxuXG5wLnNtYWxsIHtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuXG51bC5sYXJnZSB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbn1cblxudWwuc21hbGwge1xuICBmb250LXNpemU6IDE0cHg7XG59XG5cbnVsLmxldHRlciB7XG4gIGxpc3Qtc3R5bGU6IGxvd2VyLWxhdGluO1xufVxuXG51bC5yb21hbiB7XG4gIGxpc3Qtc3R5bGU6IGxvd2VyLXJvbWFuO1xufVxuXG5vbC5sYXJnZSB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbn1cblxub2wuc21hbGwge1xuICBmb250LXNpemU6IDE0cHg7XG59XG5cbmlucHV0W3R5cGU9dGV4dF0sIGlucHV0W3R5cGU9bnVtYmVyXSxcbmlucHV0W3R5cGU9ZW1haWxdLCBpbnB1dFt0eXBlPXRlbF0sXG5pbnB1dFt0eXBlPXBhc3N3b3JkXSwgc2VsZWN0LCB0ZXh0YXJlYSB7XG4gIGJvcmRlcjogc29saWQgMXB4ICNDNEM0QzQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBoZWlnaHQ6IDUwcHg7XG59XG5cbnNlbGVjdCB7XG4gIHBhZGRpbmctcmlnaHQ6IDMwcHggIWltcG9ydGFudDtcbn1cblxudWwuZ2Zvcm1fZmllbGRzIHtcbiAgbWFyZ2luOiAwIDAgMjBweDtcbn1cblxudWwuZ2Zvcm1fZmllbGRzIGxpIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxudWwuZ2Zvcm1fZmllbGRzIGxpLmhpZGRlbl9sYWJlbCA+IGxhYmVsIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxudWwuZ2Zvcm1fZmllbGRzIC5oaWRkZW5fc3ViX2xhYmVsIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxudWwuZ2Zvcm1fZmllbGRzIC5maWVsZCAuZ2lucHV0X2NvbnRhaW5lciBzcGFuIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbnVsLmdmb3JtX2ZpZWxkcyAuZmllbGQgLmdpbnB1dF9jb250YWluZXIgc3BhbiArIHNwYW4ge1xuICBtYXJnaW4tdG9wOiAxNXB4O1xufVxuXG51bC5nZm9ybV9maWVsZHMgLmdmaWVsZCB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5cbnVsLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIGlucHV0LCB1bC5nZm9ybV9maWVsZHMgLmdmaWVsZCB0ZXh0YXJlYSwgdWwuZ2Zvcm1fZmllbGRzIC5nZmllbGQgc2VsZWN0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyogQnV0dG9ucyAqL1xuYS5idXR0b24sIGlucHV0LmJ1dHRvbiwgYnV0dG9uLmJ1dHRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMTZweCA0MHB4IDExcHg7XG4gIGZvbnQtZmFtaWx5OiBcIlRla29cIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4yMzhlbTtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgY29sb3I6ICNmZmY7XG59XG5cbmEuYnV0dG9uOmJlZm9yZSwgaW5wdXQuYnV0dG9uOmJlZm9yZSwgYnV0dG9uLmJ1dHRvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgYmFja2dyb3VuZDogIzk5MUIxRTtcbiAgei1pbmRleDogLTE7XG4gIHRyYW5zZm9ybTogc2tld1goLTE4ZGVnKTtcbn1cblxuYS5idXR0b246aG92ZXIsIGlucHV0LmJ1dHRvbjpob3ZlciwgYnV0dG9uLmJ1dHRvbjpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG5hLmJ1dHRvbjpob3ZlcjpiZWZvcmUsIGlucHV0LmJ1dHRvbjpob3ZlcjpiZWZvcmUsIGJ1dHRvbi5idXR0b246aG92ZXI6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgxNjYsIDcsIDEyLCAwLjgpO1xufVxuXG5hLmJ1dHRvbi5pbnZlcnNlLCBpbnB1dC5idXR0b24uaW52ZXJzZSwgYnV0dG9uLmJ1dHRvbi5pbnZlcnNlIHtcbiAgY29sb3I6ICMzQzNDM0M7XG59XG5cbmEuYnV0dG9uLmludmVyc2U6YmVmb3JlLCBpbnB1dC5idXR0b24uaW52ZXJzZTpiZWZvcmUsIGJ1dHRvbi5idXR0b24uaW52ZXJzZTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuXG5hLmJ1dHRvbi5pbnZlcnNlOmhvdmVyOmJlZm9yZSwgaW5wdXQuYnV0dG9uLmludmVyc2U6aG92ZXI6YmVmb3JlLCBidXR0b24uYnV0dG9uLmludmVyc2U6aG92ZXI6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI0M0QzRDNDtcbn1cblxuYS5idXR0b24uZGlzYWJsZWQsIGEuYnV0dG9uW2Rpc2FibGVdLCBpbnB1dC5idXR0b24uZGlzYWJsZWQsIGlucHV0LmJ1dHRvbltkaXNhYmxlXSwgYnV0dG9uLmJ1dHRvbi5kaXNhYmxlZCwgYnV0dG9uLmJ1dHRvbltkaXNhYmxlXSB7XG4gIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50O1xuICBjb2xvcjogI0M0QzRDNCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDFweCBzb2xpZCAjQzRDNEM0ICFpbXBvcnRhbnQ7XG59XG5cbmEuYnV0dG9uLmRpc2FibGVkICosIGEuYnV0dG9uW2Rpc2FibGVdICosIGlucHV0LmJ1dHRvbi5kaXNhYmxlZCAqLCBpbnB1dC5idXR0b25bZGlzYWJsZV0gKiwgYnV0dG9uLmJ1dHRvbi5kaXNhYmxlZCAqLCBidXR0b24uYnV0dG9uW2Rpc2FibGVdICoge1xuICBjb2xvcjogI0M0QzRDNCAhaW1wb3J0YW50O1xufVxuXG5hLmJ1dHRvbi5kaXNhYmxlZCBbY2xhc3MqPVwiY2lyY2xlXCJdLCBhLmJ1dHRvbltkaXNhYmxlXSBbY2xhc3MqPVwiY2lyY2xlXCJdLCBpbnB1dC5idXR0b24uZGlzYWJsZWQgW2NsYXNzKj1cImNpcmNsZVwiXSwgaW5wdXQuYnV0dG9uW2Rpc2FibGVdIFtjbGFzcyo9XCJjaXJjbGVcIl0sIGJ1dHRvbi5idXR0b24uZGlzYWJsZWQgW2NsYXNzKj1cImNpcmNsZVwiXSwgYnV0dG9uLmJ1dHRvbltkaXNhYmxlXSBbY2xhc3MqPVwiY2lyY2xlXCJdIHtcbiAgYmFja2dyb3VuZDogI0M0QzRDNCAhaW1wb3J0YW50O1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xufVxuXG5hLmJ1dHRvbi5zbWFsbCwgaW5wdXQuYnV0dG9uLnNtYWxsLCBidXR0b24uYnV0dG9uLnNtYWxsIHtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAyNnB4O1xufVxuXG5hLmJ1dHRvbi5sYXJnZSwgaW5wdXQuYnV0dG9uLmxhcmdlLCBidXR0b24uYnV0dG9uLmxhcmdlIHtcbiAgcGFkZGluZzogMThweCA0MHB4O1xuICBmb250LXNpemU6IDIwcHg7XG59XG5cbmEuYnV0dG9uLm5vbWluLCBpbnB1dC5idXR0b24ubm9taW4sIGJ1dHRvbi5idXR0b24ubm9taW4ge1xuICBtaW4td2lkdGg6IDFweDtcbn1cblxuYS5idXR0b24gc21hbGwsIGlucHV0LmJ1dHRvbiBzbWFsbCwgYnV0dG9uLmJ1dHRvbiBzbWFsbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxM3B4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuYS5idXR0b24gc21hbGwgcywgaW5wdXQuYnV0dG9uIHNtYWxsIHMsIGJ1dHRvbi5idXR0b24gc21hbGwgcyB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICMzQzNDM0M7XG59XG5cbi5idXR0b25zIGEuYnV0dG9uLCAuYnV0dG9ucyBpbnB1dC5idXR0b24sIC5idXR0b25zIGJ1dHRvbi5idXR0b24ge1xuICBtYXJnaW4tbGVmdDogMjVweDtcbiAgbWFyZ2luLXJpZ2h0OiAyNXB4O1xufVxuXG4uYWN0aW9uIGEuYnV0dG9uLCAuYWN0aW9uIGlucHV0LmJ1dHRvbiwgLmFjdGlvbiBidXR0b24uYnV0dG9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gIGEuYnV0dG9uLCBpbnB1dC5idXR0b24sIGJ1dHRvbi5idXR0b24ge1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICB9XG59XG5cbi5nZm9ybV93cmFwcGVyIGZvcm0gLmdmaWVsZF92YWxpZGF0aW9uX21lc3NhZ2UsXG4uZ2Zvcm1fd3JhcHBlciBmb3JtIC52YWxpZGF0aW9uX21lc3NhZ2Uge1xuICBtYXJnaW4tdG9wOiAzcHg7XG4gIHBhZGRpbmc6IDJweCAxMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5mdy1leHRyYWxpZ2h0IHtcbiAgZm9udC13ZWlnaHQ6IDIwMCAhaW1wb3J0YW50O1xufVxuXG4uZnctbGlnaHQge1xuICBmb250LXdlaWdodDogMzAwICFpbXBvcnRhbnQ7XG59XG5cbi5mdy1yZWd1bGFyIHtcbiAgZm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50O1xufVxuXG4uZnctbWVkaXVtIHtcbiAgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50O1xufVxuXG4uZnctc2VtaWJvbGQge1xuICBmb250LXdlaWdodDogNjAwICFpbXBvcnRhbnQ7XG59XG5cbi5mdy1ib2xkIHtcbiAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50O1xufVxuXG4uZnctZXh0cmFib2xkIHtcbiAgZm9udC13ZWlnaHQ6IDgwMCAhaW1wb3J0YW50O1xufVxuXG4uZnctYmxhY2sge1xuICBmb250LXdlaWdodDogOTAwICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LXByaW1hcnkge1xuICBjb2xvcjogIzk5MUIxRSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1zZWNvbmRhcnkge1xuICBjb2xvcjogI0E2MDcwQyAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1kYXJrIHtcbiAgY29sb3I6ICMzQzNDM0MgIWltcG9ydGFudDtcbn1cblxuLnRleHQtd2hpdGUge1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xufVxuXG4uYmMtcHJpbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5OTFCMUUgIWltcG9ydGFudDtcbn1cblxuLmJjLXNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNBNjA3MEMgIWltcG9ydGFudDtcbn1cblxuLmJjLWRhcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0MzQzNDICFpbXBvcnRhbnQ7XG59XG5cbi5vcmRlci0xIHtcbiAgb3JkZXI6IDEgIWltcG9ydGFudDtcbn1cblxuLm9yZGVyLTIge1xuICBvcmRlcjogMiAhaW1wb3J0YW50O1xufVxuXG4ub3JkZXItMyB7XG4gIG9yZGVyOiAzICFpbXBvcnRhbnQ7XG59XG5cbi5vcmRlci00IHtcbiAgb3JkZXI6IDQgIWltcG9ydGFudDtcbn1cblxuLm9yZGVyLTUge1xuICBvcmRlcjogNSAhaW1wb3J0YW50O1xufVxuXG4ub3JkZXItNiB7XG4gIG9yZGVyOiA2ICFpbXBvcnRhbnQ7XG59XG5cbi5vcmRlci03IHtcbiAgb3JkZXI6IDcgIWltcG9ydGFudDtcbn1cblxuLm9yZGVyLTgge1xuICBvcmRlcjogOCAhaW1wb3J0YW50O1xufVxuXG4ub3JkZXItOSB7XG4gIG9yZGVyOiA5ICFpbXBvcnRhbnQ7XG59XG5cbi5vcmRlci0xMCB7XG4gIG9yZGVyOiAxMCAhaW1wb3J0YW50O1xufVxuXG4ub3JkZXItMTEge1xuICBvcmRlcjogMTEgIWltcG9ydGFudDtcbn1cblxuLm9yZGVyLTEyIHtcbiAgb3JkZXI6IDEyICFpbXBvcnRhbnQ7XG59XG5cbi5vcmRlci0xMyB7XG4gIG9yZGVyOiAxMyAhaW1wb3J0YW50O1xufVxuXG4ub3JkZXItMTQge1xuICBvcmRlcjogMTQgIWltcG9ydGFudDtcbn1cblxuLm9yZGVyLTE1IHtcbiAgb3JkZXI6IDE1ICFpbXBvcnRhbnQ7XG59XG5cbi5vcmRlci0xNiB7XG4gIG9yZGVyOiAxNiAhaW1wb3J0YW50O1xufVxuXG4ub3JkZXItMTcge1xuICBvcmRlcjogMTcgIWltcG9ydGFudDtcbn1cblxuLm9yZGVyLTE4IHtcbiAgb3JkZXI6IDE4ICFpbXBvcnRhbnQ7XG59XG5cbi5vcmRlci0xOSB7XG4gIG9yZGVyOiAxOSAhaW1wb3J0YW50O1xufVxuXG4ub3JkZXItMjAge1xuICBvcmRlcjogMjAgIWltcG9ydGFudDtcbn1cblxuLyogTW9iaWxlIHRvIERlc2t0b3BcclxuKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5vcmRlci1sZy0xIHtcbiAgICBvcmRlcjogMSAhaW1wb3J0YW50O1xuICB9XG4gIC5vcmRlci1sZy0yIHtcbiAgICBvcmRlcjogMiAhaW1wb3J0YW50O1xuICB9XG4gIC5vcmRlci1sZy0zIHtcbiAgICBvcmRlcjogMyAhaW1wb3J0YW50O1xuICB9XG4gIC5vcmRlci1sZy00IHtcbiAgICBvcmRlcjogNCAhaW1wb3J0YW50O1xuICB9XG4gIC5vcmRlci1sZy01IHtcbiAgICBvcmRlcjogNSAhaW1wb3J0YW50O1xuICB9XG4gIC5vcmRlci1sZy02IHtcbiAgICBvcmRlcjogNiAhaW1wb3J0YW50O1xuICB9XG4gIC5vcmRlci1sZy03IHtcbiAgICBvcmRlcjogNyAhaW1wb3J0YW50O1xuICB9XG4gIC5vcmRlci1sZy04IHtcbiAgICBvcmRlcjogOCAhaW1wb3J0YW50O1xuICB9XG4gIC5vcmRlci1sZy05IHtcbiAgICBvcmRlcjogOSAhaW1wb3J0YW50O1xuICB9XG4gIC5vcmRlci1sZy0xMCB7XG4gICAgb3JkZXI6IDEwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9yZGVyLWxnLTExIHtcbiAgICBvcmRlcjogMTEgIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXItbGctMTIge1xuICAgIG9yZGVyOiAxMiAhaW1wb3J0YW50O1xuICB9XG4gIC5vcmRlci1sZy0xMyB7XG4gICAgb3JkZXI6IDEzICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9yZGVyLWxnLTE0IHtcbiAgICBvcmRlcjogMTQgIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXItbGctMTUge1xuICAgIG9yZGVyOiAxNSAhaW1wb3J0YW50O1xuICB9XG4gIC5vcmRlci1sZy0xNiB7XG4gICAgb3JkZXI6IDE2ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9yZGVyLWxnLTE3IHtcbiAgICBvcmRlcjogMTcgIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXItbGctMTgge1xuICAgIG9yZGVyOiAxOCAhaW1wb3J0YW50O1xuICB9XG4gIC5vcmRlci1sZy0xOSB7XG4gICAgb3JkZXI6IDE5ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9yZGVyLWxnLTIwIHtcbiAgICBvcmRlcjogMjAgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKiBEZXNrdG9wIHRvIE1vYmlsZVxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAxNTM2cHgpIHtcbiAgLnRleHQtbGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC50ZXh0LWxhcmdlIHtcbiAgICBmb250LXNpemU6IDIxcHg7XG4gIH1cbn1cblxuLmNpcmNsZV9saXN0IHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW46IDAgMCAyNXB4IDMwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5jaXJjbGVfbGlzdCBsaSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG4uY2lyY2xlX2xpc3QgbGk6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTVweDtcbiAgaGVpZ2h0OiAxNXB4O1xuICBiYWNrZ3JvdW5kOiAjOTkxQjFFO1xuICBib3JkZXItcmFkaXVzOiAxNXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNXB4O1xuICBsZWZ0OiAwO1xuICBib3gtc2hhZG93OiAwIDAgMHB4IDFweCAjQzRDNEM0O1xuICBib3JkZXI6IDNweCBzb2xpZCAjZmZmO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmNpcmNsZV9saXN0IHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgfVxufVxuXG4ud2JnIHtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9iZy1sb2dvLnBuZykgbm8tcmVwZWF0IGNlbnRlci8xMDAlIDEwMCU7XG4gIHdpZHRoOiA1NjRweDtcbiAgbWFyZ2luOiAwIGF1dG8gMzBweDtcbiAgcGFkZGluZzogMTVweCA3JSAxMHB4O1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi53YmcgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi53Ymcuc2tldyBzcGFuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRyYW5zZm9ybTogc2tld1koLTZkZWcpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXJnaW46IDE1cHggMDtcbn1cblxuLndiZy5za2V3IHNwYW4gaW1nIHtcbiAgdHJhbnNmb3JtOiBza2V3WSg2ZGVnKTtcbiAgbWFyZ2luOiAtNS41JSAwO1xufVxuXG4ud2JnLnNrZXd4IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9iZy1sb2dvMi5wbmcpO1xuICBwYWRkaW5nOiA3JSAxMHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5zY3JvbGwtb2Zmc2V0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLXRvcDogOTBweDtcbiAgICBtYXJnaW4tdG9wOiAtOTBweDtcbiAgfVxufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgaGVhcnRCZWF0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG4gIDE0JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICB9XG4gIDI4JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbiAgNDIlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gIH1cbiAgNzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxufVxuXG5ALW1vei1rZXlmcmFtZXMgaGVhcnRCZWF0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG4gIDE0JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICB9XG4gIDI4JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbiAgNDIlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gIH1cbiAgNzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxufVxuXG5ALW8ta2V5ZnJhbWVzIGhlYXJ0QmVhdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxuICAxNCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgfVxuICAyOCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG4gIDQyJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICB9XG4gIDcwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBoZWFydEJlYXQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbiAgMTQlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gIH1cbiAgMjglIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxuICA0MiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgfVxuICA3MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBoZWFkZXJJbiB7XG4gIGZyb20ge1xuICAgIHRvcDogLTEwMCU7XG4gIH1cbiAgdG8ge1xuICAgIHRvcDogMDtcbiAgfVxufVxuXG5ALW1vei1rZXlmcmFtZXMgaGVhZGVySW4ge1xuICBmcm9tIHtcbiAgICB0b3A6IC0xMDAlO1xuICB9XG4gIHRvIHtcbiAgICB0b3A6IDA7XG4gIH1cbn1cblxuQC1vLWtleWZyYW1lcyBoZWFkZXJJbiB7XG4gIGZyb20ge1xuICAgIHRvcDogLTEwMCU7XG4gIH1cbiAgdG8ge1xuICAgIHRvcDogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGhlYWRlckluIHtcbiAgZnJvbSB7XG4gICAgdG9wOiAtMTAwJTtcbiAgfVxuICB0byB7XG4gICAgdG9wOiAwO1xuICB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmb3JtSW4ge1xuICBmcm9tIHtcbiAgICB0b3A6IC0xMDAlO1xuICB9XG4gIHRvIHtcbiAgICB0b3A6IDE0MHB4O1xuICB9XG59XG5cbkAtbW96LWtleWZyYW1lcyBmb3JtSW4ge1xuICBmcm9tIHtcbiAgICB0b3A6IC0xMDAlO1xuICB9XG4gIHRvIHtcbiAgICB0b3A6IDE0MHB4O1xuICB9XG59XG5cbkAtby1rZXlmcmFtZXMgZm9ybUluIHtcbiAgZnJvbSB7XG4gICAgdG9wOiAtMTAwJTtcbiAgfVxuICB0byB7XG4gICAgdG9wOiAxNDBweDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZvcm1JbiB7XG4gIGZyb20ge1xuICAgIHRvcDogLTEwMCU7XG4gIH1cbiAgdG8ge1xuICAgIHRvcDogMTQwcHg7XG4gIH1cbn1cblxuLmhlYWRlciAudG9wYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE5MTkxOTtcbn1cblxuLmhlYWRlciAudG9wYmFyIC5jb250YWN0LW5hdiBsaSBhIHtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgcGFkZGluZzogMC43cmVtIDA7XG59XG5cbi5wYWdlLWNvbnRlbnQge1xuICBwYWRkaW5nOiA4MHB4IDA7XG59XG5cbiNoZWFkZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDk5OTtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDk5OTg7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG59XG5cbiNoZWFkZXIuZml4ZWQge1xuICBib3gtc2hhZG93OiAwIDFweCA1cHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuI2hlYWRlci5maXhlZCAubmF2YmFyIHtcbiAgcGFkZGluZzogMTBweCAwO1xufVxuXG4jaGVhZGVyLmZpeGVkIC5uYXZiYXIgLmJyYW5kIGltZyB7XG4gIG1heC1oZWlnaHQ6IDYwcHg7XG59XG5cbiNoZWFkZXIgKyAqIHtcbiAgcGFkZGluZy10b3A6IDE1MHB4O1xufVxuXG4jaGVhZGVyIC5uYXZiYXIge1xuICBwYWRkaW5nOiAzMHB4IDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG59XG5cbiNoZWFkZXIgLm5hdmJhciAuY2VsbDpmaXJzdC1jaGlsZCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cblxuI2hlYWRlciAubmF2YmFyIC5jZWxsOmxhc3QtY2hpbGQge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG4jaGVhZGVyIC5uYXZiYXIgLmJyYW5kIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbiNoZWFkZXIgLm5hdmJhciAuYnJhbmQgaW1nIHtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbiAgbWF4LWhlaWdodDogOTBweDtcbiAgd2lkdGg6IGF1dG87XG59XG5cbiNoZWFkZXIgLm5hdmJhciAuaGVhZGVyLXBob25lIHtcbiAgZm9udC1zaXplOiAzMHB4O1xuICBjb2xvcjogIzNDM0MzQztcbn1cblxuI2hlYWRlciAubmF2YmFyIC5oZWFkZXItcGhvbmUgLnBob25lOmJlZm9yZSB7XG4gIG1hcmdpbi1yaWdodDogMHB4O1xufVxuXG4jaGVhZGVyIC5uYXZiYXIgLmhlYWRlci1uYXYge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbiNoZWFkZXIgLm5hdmJhciAuaGVhZGVyLW5hdiB1bC5tZW51IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuXG4jaGVhZGVyIC5uYXZiYXIgLmhlYWRlci1uYXYgdWwubWVudSB1bCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuI2hlYWRlciAubmF2YmFyIC5oZWFkZXItbmF2IHVsLm1lbnUgbGkgYSB7XG4gIGNvbG9yOiAjM0MzQzNDO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbiNoZWFkZXIgLm5hdmJhciAuaGVhZGVyLW5hdiB1bC5tZW51IGxpIGE6Zm9jdXMsICNoZWFkZXIgLm5hdmJhciAuaGVhZGVyLW5hdiB1bC5tZW51IGxpIGE6aG92ZXIge1xuICBjb2xvcjogIzZlNmU2ZTtcbn1cblxuI2hlYWRlciAubmF2YmFyIC5oZWFkZXItbmF2IHVsLm1lbnUgbGkuaXMtYWN0aXZlIGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuI2hlYWRlciAubmF2YmFyIC5oZWFkZXItbmF2IHVsLm1lbnUgbGkgLnN1Ym1lbnUge1xuICB0b3A6IDQ1cHg7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBib3JkZXItdG9wOiA1cHggc29saWQgI0E2MDcwQztcbiAgbWF4LWhlaWdodDogNTAwcHg7XG4gIG92ZXJmbG93OiB2aXNpYmxlIGF1dG87XG4gIHdpZHRoOiAyOTBweDtcbn1cblxuI2hlYWRlciAubmF2YmFyIC5oZWFkZXItbmF2IHVsLm1lbnUgbGkgLnN1Ym1lbnUgPiBsaSB7XG4gIG1hcmdpbi1sZWZ0OiAwcHg7XG59XG5cbiNoZWFkZXIgLm5hdmJhciAuaGVhZGVyLW5hdiB1bC5tZW51IGxpIC5zdWJtZW51ID4gbGkgPiBhIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBjb2xvcjogIzcwNzA3MCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAyMHB4IDMwcHggIWltcG9ydGFudDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbiNoZWFkZXIgLm5hdmJhciAuaGVhZGVyLW5hdiB1bC5tZW51IGxpIC5zdWJtZW51ID4gbGkgPiBhOmhvdmVyIHtcbiAgY29sb3I6ICM3MDcwNzAgIWltcG9ydGFudDtcbn1cblxuI2hlYWRlciAubmF2YmFyIC5oZWFkZXItbmF2IHVsLm1lbnUgbGkgLnN1Ym1lbnUgPiBsaSA+IGEgPiBzcGFuIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaW5lLWhlaWdodDogMS4xNDtcbn1cblxuI2hlYWRlciAubmF2YmFyIC5oZWFkZXItbmF2IHVsLm1lbnUgbGkgLnN1Ym1lbnUgPiBsaTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7XG4gIGNvbG9yOiAjNzA3MDcwICFpbXBvcnRhbnQ7XG59XG5cbiNoZWFkZXIgLm5hdmJhciAuaGVhZGVyLW5hdiB1bC5tZW51IC5jdGEge1xuICBtYXJnaW46IDAgMCAwIDVweDtcbn1cblxuI2hlYWRlciAubmF2YmFyIC5oZWFkZXItbmF2IHVsLm1lbnUgLmN0YSBhIHtcbiAgZm9udC1zaXplOiAyOHB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LWZhbWlseTogXCJUZWtvXCIsIHNhbnMtc2VyaWY7XG4gIGNvbG9yOiAjZmZmO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDEycHggMzVweCA4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4yMzhlbTtcbn1cblxuI2hlYWRlciAubmF2YmFyIC5oZWFkZXItbmF2IHVsLm1lbnUgLmN0YSBhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kOiAjOTkxQjFFO1xuICB6LWluZGV4OiAtMTtcbiAgdHJhbnNmb3JtOiBza2V3WCgtMThkZWcpO1xufVxuXG4jaGVhZGVyIC5uYXZiYXIgLmhlYWRlci1uYXYgdWwubWVudSAuY3RhIGE6aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuI2hlYWRlciAubmF2YmFyIC5oZWFkZXItbmF2IHVsLm1lbnUgLmN0YSBhOmhvdmVyOmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTY2LCA3LCAxMiwgMC44KTtcbn1cblxuI2hlYWRlciAubmF2YmFyIC5oZWFkZXItbmF2LXRvZ2dsZXIge1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogNTBweDtcbiAgbWFyZ2luOiAwIGF1dG8gMCAwO1xuICBwYWRkaW5nOiAxMHB4O1xufVxuXG4jaGVhZGVyIC5uYXZiYXIgLmhlYWRlci1uYXYtdG9nZ2xlciBzcGFuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAjM0MzQzNDO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIHRyYW5zaXRpb246IDAuM3MgZWFzZSBhbGw7XG59XG5cbiNoZWFkZXIgLm5hdmJhciAuaGVhZGVyLW5hdi10b2dnbGVyIHNwYW46bGFzdC1jaGlsZCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxMHB4KTtcbn1cblxuI2hlYWRlciAubmF2YmFyIC5oZWFkZXItbmF2LXRvZ2dsZXI6aG92ZXIgc3BhbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjM0MzQzNDO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTQxMHB4KSB7XG4gICNoZWFkZXIgKyAqIHtcbiAgICBwYWRkaW5nLXRvcDogMTIwcHg7XG4gIH1cbiAgI2hlYWRlciAubmF2YmFyIC5icmFuZCBpbWcge1xuICAgIG1heC1oZWlnaHQ6IDYwcHg7XG4gIH1cbiAgI2hlYWRlciAubmF2YmFyIC5oZWFkZXItbmF2IHVsLm1lbnUgLmN0YSBhIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgcGFkZGluZzogMTJweCAyNXB4IDhweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICNoZWFkZXIgLm5hdmJhciAuaGVhZGVyLW5hdiB7XG4gICAgbWFyZ2luOiAwIDAgMCAxMHB4O1xuICB9XG4gICNoZWFkZXIgLm5hdmJhciAuaGVhZGVyLW5hdiB1bC5tZW51IGxpIGEge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICB9XG4gICNoZWFkZXIgLm5hdmJhciAuaGVhZGVyLW5hdiB1bC5tZW51IC5jdGEgYSB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIHBhZGRpbmc6IDEycHggMjBweCA4cHg7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAjaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICB9XG4gICNoZWFkZXIgKyAqIHtcbiAgICBwYWRkaW5nLXRvcDogODBweDtcbiAgfVxuICAjaGVhZGVyIC5uYXZiYXIge1xuICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgfVxuICAjaGVhZGVyIC5uYXZiYXIgLmJyYW5kIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgI2hlYWRlciAubmF2YmFyIC5icmFuZC5saWdodCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAjaGVhZGVyIC5uYXZiYXIgLmJyYW5kLmRhcmsge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuICAjaGVhZGVyIC5uYXZiYXIgLmJyYW5kIGltZyB7XG4gICAgbWF4LWhlaWdodDogNjBweDtcbiAgfVxuICAjaGVhZGVyIC5uYXZiYXIgLmhlYWRlci1uYXYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgI2hlYWRlciAubmF2YmFyIC5oZWFkZXItbmF2LXRvZ2dsZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gICNoZWFkZXIgI2hlYWRlci1uYXYtbW9iaWxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgdG9wOiA4MHB4ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gODBweCk7XG4gIH1cbiAgI2hlYWRlciAjaGVhZGVyLW5hdi1tb2JpbGUuZml4ZWQge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgfVxuICAjaGVhZGVyICNoZWFkZXItbmF2LW1vYmlsZSAubW9iaWxlLW1lbnUtd3JhcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjM0MzQzNDO1xuICB9XG4gICNoZWFkZXIgI2hlYWRlci1uYXYtbW9iaWxlIC5tb2JpbGUtbWVudS13cmFwIC5oLWxpbmtzIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gIH1cbiAgI2hlYWRlciAjaGVhZGVyLW5hdi1tb2JpbGUgLm1vYmlsZS1tZW51LXdyYXAgLmgtbGlua3MgbGkge1xuICAgIG1hcmdpbi1ib3R0b206IDIycHg7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgfVxuICAjaGVhZGVyICNoZWFkZXItbmF2LW1vYmlsZSAubW9iaWxlLW1lbnUtd3JhcCAuaC1saW5rcyBsaSBhIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzNDM0MzQztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG4gICNoZWFkZXIgI2hlYWRlci1uYXYtbW9iaWxlIC5tb2JpbGUtbWVudS13cmFwIC5oLWxpbmtzIGxpIGE6aG92ZXIge1xuICAgIGNvbG9yOiAjM0MzQzNDO1xuICB9XG4gICNoZWFkZXIgI2hlYWRlci1uYXYtbW9iaWxlIC5tb2JpbGUtbWVudS13cmFwIC5oLWxpbmtzIC5idXR0b24ge1xuICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgIG1hcmdpbjogMCAxNXB4O1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxuICAjaGVhZGVyICNoZWFkZXItbmF2LW1vYmlsZSAubW9iaWxlLW1lbnUtd3JhcCAuaC1sb3dlci13cmFwIC5oLWNvbnRhY3Qge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgfVxuICAjaGVhZGVyICNoZWFkZXItbmF2LW1vYmlsZSAubW9iaWxlLW1lbnUtd3JhcCAuaC1sb3dlci13cmFwIC5oLWNvbnRhY3QgLm1tLXBob25lIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICB9XG4gICNoZWFkZXIgI2hlYWRlci1uYXYtbW9iaWxlIC5tb2JpbGUtbWVudS13cmFwIC5oLWxvd2VyLXdyYXAgLmgtY29udGFjdCAubW0tcGhvbmUgYSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgY29sb3I6ICM5OTFCMUU7XG4gIH1cbiAgI2hlYWRlciAjaGVhZGVyLW5hdi1tb2JpbGUgLm1vYmlsZS1tZW51LXdyYXAgLmgtbG93ZXItd3JhcCAuaC1jb250YWN0IC5tbS1hZGRyZXNzIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgIGNvbG9yOiAjM0MzQzNDO1xuICAgIHBhZGRpbmc6IDBweCAxMHB4O1xuICB9XG4gICNoZWFkZXIgI2hlYWRlci1uYXYtbW9iaWxlIC5tb2JpbGUtbWVudS13cmFwIC5oLWxvd2VyLXdyYXAgLmgtY29udGFjdCAubW0tZW1haWwge1xuICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gIH1cbiAgI2hlYWRlciAjaGVhZGVyLW5hdi1tb2JpbGUgLm1vYmlsZS1tZW51LXdyYXAgLmgtbG93ZXItd3JhcCAuaC1jb250YWN0IC5tbS1lbWFpbCBhIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICBjb2xvcjogIzNDM0MzQztcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuICAjaGVhZGVyICNoZWFkZXItbmF2LW1vYmlsZSAubW9iaWxlLW1lbnUtd3JhcCAuaC1sb3dlci13cmFwIC5oLWNvbnRhY3QgLm1tLXNlcmlhbCB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgY29sb3I6ICMzQzNDM0M7XG4gIH1cbiAgI2hlYWRlciAjaGVhZGVyLW5hdi1tb2JpbGUgLm1vYmlsZS1tZW51LXdyYXAgLmgtbG93ZXItd3JhcCAuaC1ib3R0b20tbGluay5jdGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5OTFCMUU7XG4gICAgcGFkZGluZzogMThweCAzNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gICNoZWFkZXIgI2hlYWRlci1uYXYtbW9iaWxlIC5tb2JpbGUtbWVudS13cmFwIC5oLWxvd2VyLXdyYXAgLmgtYm90dG9tLWxpbmsuY3RhIGEge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICNoZWFkZXIgLmdyaWQtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgfVxuICAjaGVhZGVyIC5uYXZiYXIgLmJyYW5kIHtcbiAgICBwYWRkaW5nOiA1cHggMTVweDtcbiAgfVxufVxuXG4uc2VjX2hlcm8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5zZWNfaGVybyAuYmFubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBwYWRkaW5nLWJvdHRvbTogMjVweDtcbn1cblxuLnNlY19oZXJvIC5tZWRpYSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyNXB4KTtcbiAgd2lkdGg6IDQ2JTtcbiAgei1pbmRleDogMTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnNlY19oZXJvIC5tZWRpYSA+IGltZywgLnNlY19oZXJvIC5tZWRpYSB2aWRlbywgLnNlY19oZXJvIC5tZWRpYSAuaGVyb19pbWcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgb2JqZWN0LXBvc2l0aW9uOiB0b3A7XG59XG5cbi5zZWNfaGVybyAubWVkaWEgLmJ0bl9wbGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMzBweDtcbiAgYm90dG9tOiAyMHB4O1xufVxuXG4uc2VjX2hlcm8gLmNhcHRpb24ge1xuICBwYWRkaW5nOiAxMzBweCAwIDEwMHB4IGNhbGMoKDEwMHZ3IC0gMTQxMHB4KSAvIDIpO1xuICB3aWR0aDogNTguMzMzMzMlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uc2VjX2hlcm8gLmNhcHRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAtMTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogLTExMHB4O1xuICBib3R0b206IC0yNXB4O1xuICBiYWNrZ3JvdW5kOiAjOTkxQjFFO1xuICB0cmFuc2Zvcm06IHNrZXdYKC0xOGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbn1cblxuLnNlY19oZXJvIC5jYXB0aW9uIGgxIHtcbiAgZm9udC1zaXplOiAxMjBweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbjogMDtcbn1cblxuLnNlY19oZXJvIC5jYXB0aW9uIGg0IHtcbiAgZm9udC1zaXplOiA2MHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cblxuLnNlY19oZXJvIC5mZWF0dXJlcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDcwcHggMDtcbn1cblxuLnNlY19oZXJvIC5mZWF0dXJlcyAuaXRlbSB7XG4gIHdpZHRoOiAyMjBweDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAgMzBweCAzMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5zZWNfaGVybyAuZmVhdHVyZXMgLml0ZW0gZmlndXJlIHtcbiAgbWluLWhlaWdodDogMTA1cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4uc2VjX2hlcm8gLmZlYXR1cmVzIC5pdGVtIGgzIHtcbiAgZm9udC1zaXplOiA0MHB4O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTQxMHB4KSB7XG4gIC5zZWNfaGVybyAuY2FwdGlvbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICB9XG4gIC5zZWNfaGVybyAuY2FwdGlvbiBoMSB7XG4gICAgZm9udC1zaXplOiA4NXB4O1xuICB9XG4gIC5zZWNfaGVybyAuY2FwdGlvbiBoNCB7XG4gICAgZm9udC1zaXplOiA0NXB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLnNlY19oZXJvIC5jYXB0aW9uIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gIH1cbiAgLnNlY19oZXJvIC5jYXB0aW9uIGgxIHtcbiAgICBmb250LXNpemU6IDYwcHg7XG4gIH1cbiAgLnNlY19oZXJvIC5jYXB0aW9uIGg0IHtcbiAgICBmb250LXNpemU6IDM1cHg7XG4gIH1cbiAgLnNlY19oZXJvIC5mZWF0dXJlcyB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbiAgLnNlY19oZXJvIC5mZWF0dXJlcyAuaXRlbSB7XG4gICAgd2lkdGg6IDE4MHB4O1xuICB9XG4gIC5zZWNfaGVybyAuZmVhdHVyZXMgLml0ZW0gaDMge1xuICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnNlY19oZXJvIC5tZWRpYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogMzIwcHg7XG4gIH1cbiAgLnNlY19oZXJvIC5tZWRpYSAuYnRuX3BsYXkge1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiA3MHB4O1xuICB9XG4gIC5zZWNfaGVybyAuY2FwdGlvbiB7XG4gICAgcGFkZGluZzogMzVweCAzMHB4IDA7XG4gICAgbWFyZ2luOiAtMTBweCAwIDA7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIC5zZWNfaGVybyAuY2FwdGlvbjpiZWZvcmUge1xuICAgIGJvdHRvbTogLTE1cHg7XG4gICAgcmlnaHQ6IDA7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC5zZWNfaGVybyAuY2FwdGlvbiBoMSB7XG4gICAgZm9udC1zaXplOiA0NXB4O1xuICB9XG4gIC5zZWNfaGVybyAuY2FwdGlvbiBoNCB7XG4gICAgZm9udC1zaXplOiAyNXB4O1xuICB9XG59XG5cbi5zZWNfc2VydmljZXMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIHBhZGRpbmc6IDI1MHB4IDAgMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uc2VjX3NlcnZpY2VzIGgyIHtcbiAgZm9udC1zaXplOiAxMjBweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5zZWNfc2VydmljZXMgaDIgc3BhbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLnNlY19zZXJ2aWNlcyBoMyB7XG4gIGZvbnQtc2l6ZTogNjBweDtcbn1cblxuLnNlY19zZXJ2aWNlcyAuYmcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogLTE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnNlY19zZXJ2aWNlcyAuc2VydmljZV9oZWFkIHtcbiAgY29sb3I6ICNmZmY7XG4gIG1heC13aWR0aDogMTIwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLnNlY19zZXJ2aWNlcyAuc2VydmljZV9pdGVtcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnNlY19zZXJ2aWNlcyAuc2VydmljZV9ib3gge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZDogI0E2MDcwQztcbiAgY29sb3I6ICNmZmY7XG4gIHBhZGRpbmc6IDQwcHggMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4uc2VjX3NlcnZpY2VzIC5zZXJ2aWNlX2JveCA+ICo6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5zZWNfc2VydmljZXMgLnNlcnZpY2VfYm94IGZpZ3VyZSB7XG4gIG1pbi1oZWlnaHQ6IDYwcHg7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uc2VjX3NlcnZpY2VzIC5zZXJ2aWNlX2JveCBoNCB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAuc2VjX3NlcnZpY2VzIHtcbiAgICBwYWRkaW5nLXRvcDogMTIlO1xuICB9XG4gIC5zZWNfc2VydmljZXMgaDIge1xuICAgIGZvbnQtc2l6ZTogMTAwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEzNjZweCkge1xuICAuc2VjX3NlcnZpY2VzIGgyIHtcbiAgICBmb250LXNpemU6IDgwcHg7XG4gIH1cbiAgLnNlY19zZXJ2aWNlcyBoMyB7XG4gICAgZm9udC1zaXplOiA0NXB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLnNlY19zZXJ2aWNlcyBoMiB7XG4gICAgZm9udC1zaXplOiA1NXB4O1xuICB9XG4gIC5zZWNfc2VydmljZXMgaDMge1xuICAgIGZvbnQtc2l6ZTogMzVweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnNlY19zZXJ2aWNlcyBoMiB7XG4gICAgZm9udC1zaXplOiA0MnB4O1xuICB9XG4gIC5zZWNfc2VydmljZXMgLmJnIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgLnNlY19zZXJ2aWNlcyAuc2VydmljZV9oZWFkIHtcbiAgICBjb2xvcjogIzNDM0MzQztcbiAgfVxufVxuXG4uc2VjX2Fib3V0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiA5MHB4IDA7XG59XG5cbi5zZWNfYWJvdXQgLmJvcmRlcmVkIHtcbiAgcGFkZGluZzogNDBweCA1MHB4O1xuICBib3JkZXI6IDNweCBzb2xpZCAjQzRDNEM0O1xuICBmb250LXNpemU6IDM0cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjb2xvcjogIzk5MUIxRTtcbn1cblxuLnNlY19hYm91dCAuYm9yZGVyZWQgYSwgLnNlY19hYm91dCAuYm9yZGVyZWQgc3BhbiB7XG4gIGNvbG9yOiAjM0MzQzNDO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5zZWNfYWJvdXQge1xuICAgIHBhZGRpbmc6IDUwcHggMDtcbiAgfVxuICAuc2VjX2Fib3V0IC5ib3JkZXJlZCB7XG4gICAgcGFkZGluZzogMzBweDtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gIC5zZWNfYWJvdXQgLmJvcmRlcmVkIHtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgfVxuICAuc2VjX2Fib3V0IC5jb3B5IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLnNlY19wcmljaW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAyODBweCAwIDIwMHB4O1xuICB6LWluZGV4OiAxO1xufVxuXG4uc2VjX3ByaWNpbmcgLmJnIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAtMTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uc2VjX3ByaWNpbmcgLmJnIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uc2VjX3ByaWNpbmcgLnByaWNpbmdfYm94IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAjOTkxQjFFO1xuICBjb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogNTBweDtcbiAgbWluLWhlaWdodDogNDgwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogd3JhcDtcbiAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMzBweDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLnNlY19wcmljaW5nIC5wcmljaW5nX2JveDpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXI6IDFweCBzb2xpZCAjQzRDNEM0O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDI1cHg7XG4gIHJpZ2h0OiAyNXB4O1xuICB0b3A6IDI1cHg7XG4gIGJvdHRvbTogMjVweDtcbn1cblxuLnNlY19wcmljaW5nIC5wcmljaW5nX2JveCA+ICoge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uc2VjX3ByaWNpbmcgLnByaWNpbmdfYm94ID4gKjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnNlY19wcmljaW5nIC5wcmljaW5nX2JveCBoMyB7XG4gIGZvbnQtc2l6ZTogNjBweDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG4uc2VjX3ByaWNpbmcgLnByaWNpbmdfYm94IHAge1xuICBtYXgtd2lkdGg6IDM5MHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTM2NnB4KSB7XG4gIC5zZWNfcHJpY2luZyB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gIH1cbiAgLnNlY19wcmljaW5nIC5iZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIC5zZWNfcHJpY2luZyAucHJpY2luZ19ib3gge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBtaW4taGVpZ2h0OiAzOTBweDtcbiAgfVxuICAuc2VjX3ByaWNpbmcgLnByaWNpbmdfYm94IGgzIHtcbiAgICBmb250LXNpemU6IDUwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDM2OXB4KSB7XG4gIC5zZWNfcHJpY2luZyAucHJpY2luZ19ib3gge1xuICAgIHBhZGRpbmc6IDUwcHggMzBweDtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgbWluLWhlaWdodDogMzAwcHg7XG4gIH1cbiAgLnNlY19wcmljaW5nIC5wcmljaW5nX2JveDpiZWZvcmUge1xuICAgIGxlZnQ6IDE1cHg7XG4gICAgdG9wOiAxNXB4O1xuICAgIHJpZ2h0OiAxNXB4O1xuICAgIGJvdHRvbTogMTVweDtcbiAgfVxufVxuXG4uc2VjX2V4Y2VsbGVuY2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6ICNmZmYgdXJsKC4uL2ltZy9iZy1leGNlbGxlbmNlLmpwZykgbm8tcmVwZWF0IGNlbnRlci8xMDAlO1xuICBwYWRkaW5nOiAxNjBweCAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5zZWNfZXhjZWxsZW5jZSBoMiB7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuLnNlY19leGNlbGxlbmNlIC5leGNlbF9ib3gge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3gtc2hhZG93OiAwcHggNHB4IDE0cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMDYpO1xuICBtaW4taGVpZ2h0OiAzMzVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBwYWRkaW5nOiA1MHB4IDMwcHg7XG59XG5cbi5zZWNfZXhjZWxsZW5jZSAuZXhjZWxfYm94IGZpZ3VyZSB7XG4gIG1pbi1oZWlnaHQ6IDEzMHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4uc2VjX2V4Y2VsbGVuY2UgLmV4Y2VsX2JveCBoMyB7XG4gIGZvbnQtc2l6ZTogMzRweDtcbiAgY29sb3I6ICM5OTFCMUU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDI5MHB4O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTI4MHB4KSB7XG4gIC5zZWNfZXhjZWxsZW5jZSAuZXhjZWxfYm94IHtcbiAgICBtaW4taGVpZ2h0OiAzMDBweDtcbiAgICBwYWRkaW5nOiA0MHB4IDMwcHg7XG4gIH1cbiAgLnNlY19leGNlbGxlbmNlIC5leGNlbF9ib3ggaDMge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5zZWNfZXhjZWxsZW5jZSB7XG4gICAgcGFkZGluZzogNjBweCAwIDEwMHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuc2VjX2V4Y2VsbGVuY2UgLmV4Y2VsX2JveCB7XG4gICAgcGFkZGluZzogMzVweCAyMHB4O1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgfVxuICAuc2VjX2V4Y2VsbGVuY2UgLmV4Y2VsX2JveCBoMyB7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICB9XG59XG5cbi5zZWNfcmV2aWV3cyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAtNjBweCAwIDYwcHg7XG59XG5cbi5zZWNfcmV2aWV3cyAucXVvdGUge1xuICBmb250LXNpemU6IDE2cHg7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgbWF4LXdpZHRoOiA1MzBweDtcbiAgY29sb3I6ICMzQzNDM0M7XG59XG5cbi5zZWNfcmV2aWV3cyAucXVvdGUgcCB7XG4gIGNvbG9yOiAjM0MzQzNDO1xufVxuXG4uc2VjX3Jldmlld3MgLnF1b3RlIGNpdGUge1xuICBib3JkZXI6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMCAwIDAgNDVweDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgY29sb3I6ICMzQzNDM0M7XG59XG5cbi5zZWNfcmV2aWV3cyAucXVvdGUgY2l0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbn1cblxuLnNlY19yZXZpZXdzIC5xdW90ZSBjaXRlIHNwYW4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAzNXB4O1xuICBsZWZ0OiAwO1xuICB0b3A6IDVweDtcbn1cblxuLnNlY19yZXZpZXdzIC5xdW90ZSBjaXRlIGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uc2VjX3Jldmlld3MgLnF1b3RlIGNpdGUgc21hbGwge1xuICBmb250LXNpemU6IDEwcHg7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLnNlY19yZXZpZXdzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAuc2VjX3Jldmlld3MgaDIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAuc2VjX3Jldmlld3MgLnF1b3RlIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cbn1cblxuLnNlY19jdGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIHBhZGRpbmc6IDE2MHB4IDAgMTAwcHg7XG59XG5cbi5zZWNfY3RhIC5iZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAtMTtcbn1cblxuLnNlY19jdGEgLmJnIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4uc2VjX2N0YSAuY3RhX2JveCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogIzk5MUIxRTtcbiAgY29sb3I6ICNmZmY7XG4gIHBhZGRpbmc6IDUwcHggNjBweDtcbiAgbWluLWhlaWdodDogNDgwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogd3JhcDtcbiAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMjdweDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLnNlY19jdGEgLmN0YV9ib3g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyOiAxcHggc29saWQgI0M0QzRDNDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAyNXB4O1xuICByaWdodDogMjVweDtcbiAgdG9wOiAyNXB4O1xuICBib3R0b206IDI1cHg7XG59XG5cbi5zZWNfY3RhIC5jdGFfYm94ID4gKiB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5zZWNfY3RhIC5jdGFfYm94ID4gKjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnNlY19jdGEgLmN0YV9ib3ggYSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uc2VjX2N0YSAuY3RhX2JveCBoMyB7XG4gIGZvbnQtc2l6ZTogNjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAuc2VjX2N0YSB7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gIC5zZWNfY3RhIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxuICAuc2VjX2N0YSAuY3RhX2JveCB7XG4gICAgcGFkZGluZzogNTBweCAzMHB4O1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gIH1cbiAgLnNlY19jdGEgLmN0YV9ib3g6YmVmb3JlIHtcbiAgICBsZWZ0OiAxNXB4O1xuICAgIHJpZ2h0OiAxNXB4O1xuICAgIHRvcDogMTVweDtcbiAgICBib3R0b206IDE1cHg7XG4gIH1cbiAgLnNlY19jdGEgLmN0YV9ib3ggaDMge1xuICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgfVxufVxuXG4uc2VjX2xvY2F0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDEwMHB4IDA7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLnNlY19sb2NhdGlvbiB7XG4gICAgcGFkZGluZzogNjBweCAwO1xuICB9XG59XG5cbi5zZWNfZmluYW5jaW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAwIDAgMTAwcHg7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLnNlY19maW5hbmNpbmcge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLnNlY193aHl1cyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMTIwcHggMCAyMjBweDtcbiAgYmFja2dyb3VuZDogI2ZmZiB1cmwoLi4vaW1nL2JnLWV4Y2VsbGVuY2UuanBnKSBuby1yZXBlYXQgY2VudGVyLzEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnNlY193aHl1cyAud2h5dXNfYm94IHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm94LXNoYWRvdzogMHB4IDRweCAxNHB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjA2KTtcbiAgbWluLWhlaWdodDogMzM1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgcGFkZGluZzogNTBweCAzMHB4O1xufVxuXG4uc2VjX3doeXVzIC53aHl1c19ib3ggZmlndXJlIHtcbiAgbWluLWhlaWdodDogMTMwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5zZWNfd2h5dXMgLndoeXVzX2JveCBoMyB7XG4gIGZvbnQtc2l6ZTogMzRweDtcbiAgY29sb3I6ICM5OTFCMUU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDMwMHB4O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTM2NnB4KSB7XG4gIC5zZWNfd2h5dXMgLndoeXVzX2JveCB7XG4gICAgbWluLWhlaWdodDogMzAwcHg7XG4gICAgcGFkZGluZzogNDBweCAyMHB4O1xuICB9XG4gIC5zZWNfd2h5dXMgLndoeXVzX2JveCBoMyB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLnNlY193aHl1cyB7XG4gICAgcGFkZGluZzogMCAwIDEwMHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuc2VjX3doeXVzIHtcbiAgICBwYWRkaW5nOiAwIDAgNjBweDtcbiAgfVxuICAuc2VjX3doeXVzIC53aHl1c19ib3gge1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgfVxuICAuc2VjX3doeXVzIC53aHl1c19ib3ggZmlndXJlIHtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gIH1cbn1cblxuLnNlY19haXJjb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDAgMCAxMDBweDtcbn1cblxuLnNlY19haXJjb24gLnNpZGVuYXYge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjQzRDNEM0O1xuICBib3gtc2hhZG93OiAwcHggNHB4IDE0cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMDYpO1xuICBwYWRkaW5nOiAyMHB4IDIwcHggMTBweDtcbiAgbWFyZ2luOiAwIDQwcHggMCAwO1xufVxuXG4uc2VjX2FpcmNvbiAuc2lkZW5hdiBoMyB7XG4gIG1hcmdpbjogMCAwIDEwcHg7XG59XG5cbi5zZWNfYWlyY29uIC5zaWRlbmF2IHVsIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwIDEwcHg7XG59XG5cbi5zZWNfYWlyY29uIC5zaWRlbmF2IHVsIGxpIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZmxvYXQ6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnNlY19haXJjb24gLnNpZGVuYXYgdWwgbGkgKyBsaSB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjQzRDNEM0O1xufVxuXG4uc2VjX2FpcmNvbiAuc2lkZW5hdiB1bCBsaSBhIHtcbiAgY29sb3I6ICM5OTFCMUU7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDE1cHggMTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xufVxuXG4uc2VjX2FpcmNvbiAuc2lkZW5hdiB1bCBsaSBhOmhvdmVyLCAuc2VjX2FpcmNvbiAuc2lkZW5hdiB1bCBsaSBhOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbn1cblxuLnNlY19haXJjb24gLnNpZGVuYXYgdWwgbGkuaXMtYWN0aXZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTMwcHg7XG4gIHJpZ2h0OiAtMzBweDtcbiAgdG9wOiAtMXB4O1xuICBib3R0b206IC0xcHg7XG4gIGJhY2tncm91bmQ6ICM5OTFCMUU7XG4gIHotaW5kZXg6IDE7XG59XG5cbi5zZWNfYWlyY29uIC5zaWRlbmF2IHVsIGxpLmlzLWFjdGl2ZSBhIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5zZWNfYWlyY29uIC5jb3B5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uc2VjX2FpcmNvbiAuY29weSBoMiB7XG4gIGNvbG9yOiAjOTkxQjFFO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uc2VjX2FpcmNvbiAudGFicy1jb250ZW50IHtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjb2xvcjogIzNDM0MzQztcbn1cblxuLnNlY19haXJjb24gLnRhYnMtcGFuZWwge1xuICBwYWRkaW5nOiAwO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5zZWNfYWlyY29uIC5zaWRlbmF2IHtcbiAgICBtYXJnaW46IDAgMCAzMHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuc2VjX2FpcmNvbiB7XG4gICAgcGFkZGluZzogMCAwIDYwcHg7XG4gIH1cbn1cblxuLnNlY19jb250YWN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBwYWRkaW5nOiAyMDBweCAwIDMwcHg7XG4gIGJhY2tncm91bmQ6ICNmYmZiZmI7XG59XG5cbi5zZWNfY29udGFjdCBoZ3JvdXAge1xuICBtYXgtd2lkdGg6IDU5MHB4O1xuICBtYXJnaW46IDAgYXV0byA1MHB4O1xufVxuXG4uc2VjX2NvbnRhY3QgaGdyb3VwIGEge1xuICBjb2xvcjogIzNDM0MzQztcbn1cblxuLnNlY19jb250YWN0IGhncm91cCBhOmhvdmVyIHtcbiAgY29sb3I6ICM5OTFCMUU7XG59XG5cbi5zZWNfY29udGFjdCAuYmcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogLTE7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5zZWNfY29udGFjdCAuYmcgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5zZWNfY29udGFjdCAuZm9ybV9ib3gge1xuICB3aWR0aDogYXV0bztcbn1cblxuLnNlY19jb250YWN0IC5mb3JtX2JveCBkaXYuZ2Zvcm1fZmllbGRzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiB3cmFwO1xuICBtYXJnaW46IDAgLTE1cHg7XG4gIGdyaWQtY29sdW1uLWdhcDogMDtcbiAgZ3JpZC1yb3ctZ2FwOiAwO1xuICB3aWR0aDogYXV0bztcbn1cblxuLnNlY19jb250YWN0IC5mb3JtX2JveCBkaXYuZ2Zvcm1fZmllbGRzIC5nZmllbGQge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMCAxNXB4O1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4uc2VjX2NvbnRhY3QgLmZvcm1fYm94IGRpdi5nZm9ybV9maWVsZHMgLmdmaWVsZC5naGFsZiB7XG4gIHdpZHRoOiA1MCU7XG59XG5cbi5zZWNfY29udGFjdCAuZm9ybV9ib3ggZGl2Lmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC50ZXh0YXJlYSB7XG4gIGhlaWdodDogMTQ1cHg7XG59XG5cbi5zZWNfY29udGFjdCAuZm9ybV9ib3ggZGl2Lmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkX2xhYmVsIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnNlY19jb250YWN0IC5mb3JtX2JveCAuZ2Zvcm1fZm9vdGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnNlY19jb250YWN0IHtcbiAgICBwYWRkaW5nOiAxMDBweCAwIDMwcHg7XG4gIH1cbiAgLnNlY19jb250YWN0IGhncm91cCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgLnNlY19jb250YWN0IC5mb3JtX2JveCBkaXYuZ2Zvcm1fZmllbGRzIC5nZmllbGQuZ2hhbGYge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5zZWNfbW9kZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDUwcHggMCAxMDBweDtcbn1cblxuLnNlY19tb2RlbCBoMiB7XG4gIG1hcmdpbjogMDtcbn1cblxuLnN0aWNreV9jdGEge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgei1pbmRleDogOTk5O1xufVxuXG4uc3RpY2t5X2N0YSAuYnV0dG9uIHtcbiAgbWFyZ2luOiAwO1xuICBsaW5lLWhlaWdodDogMjhweDtcbiAgcGFkZGluZzogMTBweCA0MHB4O1xuICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICBmb250LXdlaWdodDogODAwO1xuICBmb250LWZhbWlseTogXCJMYXRvXCIsIHNhbnMtc2VyaWY7XG59XG5cbi5zdGlja3lfY3RhIC5idXR0b246YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAuc3RpY2t5X2N0YSAuYnV0dG9uIHtcbiAgICBwYWRkaW5nOiA4cHggMjBweDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gIH1cbn1cblxuI2Zvb3RlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgcGFkZGluZzogMCAwIDUwcHg7XG59XG5cbiNmb290ZXIgLmZvb3RfdG9wIHtcbiAgcGFkZGluZzogMTAwcHggMCA1MHB4O1xufVxuXG4jZm9vdGVyIC5mb290X3RvcCBoMiB7XG4gIGZvbnQtc2l6ZTogNDVweDtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMzM7XG4gIGNvbG9yOiAjZmZmO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4jZm9vdGVyIC5mb290X3RvcCBoNSB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbn1cblxuI2Zvb3RlciAuZm9vdF9saW5rcyB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbiNmb290ZXIgLmZvb3RfbGlua3MgdWwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbiNmb290ZXIgLmZvb3RfbGlua3MgdWwgbGkge1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4jZm9vdGVyIC5mb290X3NvY2lhbCB1bCB7XG4gIG1hcmdpbjogNTBweCAtM3B4O1xuICBwYWRkaW5nOiAwO1xufVxuXG4jZm9vdGVyIC5mb290X3NvY2lhbCB1bCBsaSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwIDNweDtcbn1cblxuI2Zvb3RlciAuZm9vdF9sb2dvIHtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbn1cblxuI2Zvb3RlciAuZm9vdF9waG9uZSB7XG4gIHBhZGRpbmc6IDEwcHggMCAwO1xuICBjb2xvcjogIzk5MUIxRTtcbiAgZm9udC1zaXplOiA0MHB4O1xuICBmb250LWZhbWlseTogXCJUZWtvXCIsIHNhbnMtc2VyaWY7XG4gIGxldHRlci1zcGFjaW5nOiA5cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4jZm9vdGVyIC5mb290X2JvdHRvbSB7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIHBhZGRpbmc6IDM1cHggMDtcbn1cblxuI2Zvb3RlciAuY29weXJpZ2h0IHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBjb2xvcjogI2ZmZjtcbn1cblxuI2Zvb3RlciAuY29weXJpZ2h0IGEge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuI2Zvb3RlciAuY29weXJpZ2h0IHNwYW4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMzY2cHgpIHtcbiAgI2Zvb3RlciAuZm9vdF9waG9uZSB7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgI2Zvb3RlciAuZm9vdF90b3Age1xuICAgIHBhZGRpbmctdG9wOiA2MHB4O1xuICB9XG4gICNmb290ZXIgLmZvb3RfbG9nbyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gICNmb290ZXIgLmZvb3RfcGhvbmUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAjZm9vdGVyIC5mb290X3NvY2lhbCB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gICNmb290ZXIgLmZvb3RfYm90dG9tIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICNmb290ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuIiwiLyoqXHJcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuICogVmVyc2lvbiA2LjUuM1xyXG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG4gKi9cclxuXHJcbi8vIERlcGVuZGVuY2llc1xyXG5AaW1wb3J0ICd2ZW5kb3Ivbm9ybWFsaXplJztcclxuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL21pc3NpbmctZGVwZW5kZW5jaWVzJztcclxuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL3RydWUnO1xyXG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9jb250YWluJztcclxuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcHVyZ2UnO1xyXG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZW1vdmUnO1xyXG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZXBsYWNlJztcclxuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvdG8tbGlzdCc7XHJcblxyXG4vLyAtLS0gU2V0dGluZ3MgLS0tXHJcbi8vIGltcG9ydCB5b3VyIG93biBgc2V0dGluZ3NgIGhlcmUgb3JcclxuLy8gaW1wb3J0IGFuZCBtb2RpZnkgdGhlIGRlZmF1bHQgc2V0dGluZ3MgdGhyb3VnaFxyXG4vLyBAaW1wb3J0ICdzZXR0aW5ncy9zZXR0aW5ncyc7XHJcblxyXG4vLyAtLS0gQ29tcG9uZW50cyAtLS1cclxuLy8gVXRpbGl0aWVzXHJcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XHJcbi8vIEdsb2JhbCBzdHlsZXNcclxuQGltcG9ydCAnZ2xvYmFsJztcclxuQGltcG9ydCAnZm9ybXMvZm9ybXMnO1xyXG5AaW1wb3J0ICd0eXBvZ3JhcGh5L3R5cG9ncmFwaHknO1xyXG5cclxuLy8gR3JpZHNcclxuQGltcG9ydCAnZ3JpZC9ncmlkJztcclxuQGltcG9ydCAneHktZ3JpZC94eS1ncmlkJztcclxuLy8gR2VuZXJpYyBjb21wb25lbnRzXHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24tZ3JvdXAnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2Nsb3NlLWJ1dHRvbic7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbGFiZWwnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL3Byb2dyZXNzLWJhcic7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9zd2l0Y2gnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYmxlJztcclxuLy8gQmFzaWMgY29tcG9uZW50c1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2JhZGdlJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9icmVhZGNydW1icyc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsbG91dCc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FyZCc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24nO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL3Rvb2x0aXAnO1xyXG5cclxuLy8gQ29udGFpbmVyc1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbic7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVkaWEtb2JqZWN0JztcclxuQGltcG9ydCAnY29tcG9uZW50cy9vcmJpdCc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmVzcG9uc2l2ZS1lbWJlZCc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFicyc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcclxuLy8gTWVudS1iYXNlZCBjb250YWluZXJzXHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudSc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudS1pY29uJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24tbWVudSc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJpbGxkb3duJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bi1tZW51JztcclxuXHJcbi8vIExheW91dCBjb21wb25lbnRzXHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb2ZmLWNhbnZhcyc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmV2ZWFsJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9zdGlja3knO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWJhcic7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9wLWJhcic7XHJcblxyXG4vLyBIZWxwZXJzXHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxvYXQnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2ZsZXgnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL3Zpc2liaWxpdHknO1xyXG5AaW1wb3J0ICdwcm90b3R5cGUvcHJvdG90eXBlJztcclxuXHJcblxyXG5AbWl4aW4gZm91bmRhdGlvbi1ldmVyeXRoaW5nKFxyXG4gICRmbGV4OiB0cnVlLFxyXG4gICRwcm90b3R5cGU6IGZhbHNlXHJcbikge1xyXG4gIEBpZiAkZmxleCB7XHJcbiAgICAkZ2xvYmFsLWZsZXhib3g6IHRydWUgIWdsb2JhbDtcclxuICB9XHJcblxyXG4gIC8vIEdsb2JhbCBzdHlsZXNcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XHJcblxyXG4gIC8vIEdyaWRzXHJcbiAgQGlmIG5vdCAkZmxleCB7XHJcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIEBpZiAkeHktZ3JpZCB7XHJcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzO1xyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIEdlbmVyaWMgY29tcG9uZW50c1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcclxuICAvLyBCYXNpYyBjb21wb25lbnRzXHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xyXG5cclxuICAvLyBDb250YWluZXJzXHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xyXG4gIC8vIE1lbnUtYmFzZWQgY29udGFpbmVyc1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xyXG5cclxuICAvLyBMYXlvdXQgY29tcG9uZW50c1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XHJcblxyXG4gIC8vIEhlbHBlcnNcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XHJcbiAgQGlmICRmbGV4IHsgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWNsYXNzZXM7IH1cclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcclxuICBAaWYgJHByb3RvdHlwZSB7IEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXM7IH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgYnJlYWtwb2ludHNcclxuLy8vL1xyXG5cclxuLy8vIEEgbGlzdCBvZiBuYW1lZCBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcy5cclxuLy8vIEB0eXBlIE1hcFxyXG4kYnJlYWtwb2ludHM6IChcclxuICBzbWFsbDogMCxcclxuICBtZWRpdW06IDY0MHB4LFxyXG4gIGxhcmdlOiAxMDI0cHgsXHJcbiAgeGxhcmdlOiAxMjAwcHgsXHJcbiAgeHhsYXJnZTogMTQ0MHB4LFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8vIFRoZSBsYXJnZXN0IG5hbWVkIGJyZWFrcG9pbnQgaW4gd2hpY2ggdG8gaW5jbHVkZSBwcmludCBhcyBhIG1lZGlhIHR5cGVcclxuLy8vIEB0eXBlIEtleXdvcmRcclxuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlICFkZWZhdWx0O1xyXG5cclxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xyXG5cclxuJC16Zi1icmVha3BvaW50cy1rZXlzOiBtYXAtdG8tbGlzdCgkYnJlYWtwb2ludHMsICdrZXlzJyk7XHJcblxyXG5AaWYgbnRoKG1hcC12YWx1ZXMoJGJyZWFrcG9pbnRzKSwgMSkgIT0gMCB7XHJcbiAgQGVycm9yICdUaGUgZmlyc3Qga2V5IGluIHRoZSAkYnJlYWtwb2ludHMgbWFwIG11c3QgaGF2ZSBhIHZhbHVlIG9mIFwiMFwiLic7XHJcbn1cclxuQGVsc2Uge1xyXG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XHJcbn1cclxuXHJcbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cclxuLy8vIEB0eXBlIExpc3RcclxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgc3RyaW5nIG1hdGNoaW5nIHRoZSBpbnB1dCB2YWx1ZS4gUmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBzZWUgd2hhdCB0aGUgcG9zc2libGUgaW5wdXRzIGFyZS5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXHJcbkBmdW5jdGlvbiBicmVha3BvaW50KCR2YWw6ICQtemYtemVyby1icmVha3BvaW50KSB7XHJcbiAgLy8gU2l6ZSBvciBrZXl3b3JkXHJcbiAgJGJwOiBudGgoJHZhbCwgMSk7XHJcbiAgLy8gVmFsdWUgZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzXHJcbiAgJGJwLW1heDogMDtcclxuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxyXG4gICRkaXI6IGlmKGxlbmd0aCgkdmFsKSA+IDEsIG50aCgkdmFsLCAyKSwgdXApO1xyXG4gIC8vIEV2ZW50dWFsIG91dHB1dFxyXG4gICRzdHI6ICcnO1xyXG4gIC8vIElzIGl0IGEgbmFtZWQgbWVkaWEgcXVlcnk/XHJcbiAgJG5hbWVkOiBmYWxzZTtcclxuXHJcbiAgLy8gT3JpZW50YXRpb24gbWVkaWEgcXVlcmllcyBoYXZlIGEgdW5pcXVlIHN5bnRheFxyXG4gIEBpZiAkYnAgPT0gJ2xhbmRzY2FwZScgb3IgJGJwID09ICdwb3J0cmFpdCcge1xyXG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcclxuICB9XHJcbiAgQGVsc2UgaWYgJGJwID09ICdyZXRpbmEnIHtcclxuICAgIEByZXR1cm4gJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknO1xyXG4gIH1cclxuXHJcbiAgLy8gVHJ5IHRvIHB1bGwgYSBuYW1lZCBicmVha3BvaW50IG91dCBvZiB0aGUgJGJyZWFrcG9pbnRzIG1hcFxyXG4gIEBpZiB0eXBlLW9mKCRicCkgPT0gJ3N0cmluZycge1xyXG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJwKSB7XHJcbiAgICAgIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XHJcbiAgICAgICAgJGJwLW1heDogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJGJwKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGJwKTtcclxuICAgICAgJG5hbWVkOiB0cnVlO1xyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICAkYnA6IDA7XHJcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgJGJyZWFrcG9pbnRzIHNldHRpbmcuJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIENvbnZlcnQgYW55IHBpeGVsLCByZW0sIG9yIHVuaXRsZXNzIHZhbHVlIHRvIGVtXHJcbiAgJGJwOiAtemYtYnAtdG8tZW0oJGJwKTtcclxuICAvLyBNYXggdmFsdWUgaXMgMC4ycHggdW5kZXIgdGhlIG5leHQgYnJlYWtwb2ludCAoMC4wMiAvIDE2ID0gMC4wMDEyNSkuXHJcbiAgLy8gVXNlIGEgcHJlY2lzaW9uIHVuZGVyIDFweCB0byBzdXBwb3J0IGJyb3dzZXIgem9vbSwgYnV0IG5vdCB0byBsb3cgdG8gYXZvaWQgcm91bmRpbmcuXHJcbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzExMzEzXHJcbiAgQGlmICRicC1tYXgge1xyXG4gICAgJGJwLW1heDogLXpmLWJwLXRvLWVtKCRicC1tYXgpIC0gLjAwMTI1O1xyXG4gIH1cclxuXHJcbiAgLy8gQ29uZGl0aW9ucyB0byBza2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uXHJcbiAgLy8gLSBJdCdzIGEgbmFtZWQgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBkb3duXCIgb3IgXCIwIHVwXCJcclxuICAvLyAtIEl0J3MgYSBudW1lcmljIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgXCIgKyBhbnl0aGluZ1xyXG4gIEBpZiAkYnAgPiAwZW0gb3IgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xyXG4gICAgLy8gYG9ubHlgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbikgYW5kIChtYXgtd2lkdGg6IG4pYFxyXG4gICAgQGlmICRkaXIgPT0gJ29ubHknIHtcclxuICAgICAgLy8gT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIFwib25seVwiIHJhbmdlXHJcbiAgICAgIEBpZiAkbmFtZWQgPT0gdHJ1ZSB7XHJcbiAgICAgICAgLy8gT25seSB1c2UgXCJtaW4td2lkdGhcIiBpZiB0aGUgZmxvb3IgaXMgZ3JlYXRlciB0aGFuIDBcclxuICAgICAgICBAaWYgJGJwID4gMGVtIHtcclxuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XHJcblxyXG4gICAgICAgICAgLy8gT25seSBhZGQgXCJhbmRcIiB0byB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlcmUncyBhIGNlaWxpbmdcclxuICAgICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xyXG4gICAgICAgICAgICAkc3RyOiAkc3RyICsgJyBhbmQgJztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWF4LXdpZHRoXCIgaWYgdGhlcmUncyBhIGNlaWxpbmdcclxuICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcclxuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skYnAtbWF4fSknO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBAZWxzZSB7XHJcbiAgICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIGBvbmx5YCByYW5nZS4nO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gYGRvd25gIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1heC13aWR0aDogbilgXHJcbiAgICBAZWxzZSBpZiAkZGlyID09ICdkb3duJyB7XHJcbiAgICAgICRtYXg6IGlmKCRuYW1lZCwgJGJwLW1heCwgJGJwKTtcclxuXHJcbiAgICAgIC8vIFNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb24gaWYgaW5wdXQgdmFsdWUgaXMgZXhhY3RseSBcIjAgZG93blwiLFxyXG4gICAgICAvLyB1bmxlc3MgdGhlIGZ1bmN0aW9uIHdhcyBjYWxsZWQgYXMgXCJzbWFsbCBkb3duXCIsIGluIHdoaWNoIGNhc2UgaXQncyBqdXN0IFwic21hbGwgb25seVwiXHJcbiAgICAgIEBpZiAkbmFtZWQgb3IgJGJwID4gMGVtIHtcclxuICAgICAgICBAaWYgJG1heCAhPSBudWxsIHtcclxuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skbWF4fSknO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIGB1cGAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKWBcclxuICAgIEBlbHNlIGlmICRicCA+IDBlbSB7XHJcbiAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRzdHI7XHJcbn1cclxuXHJcbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XHJcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cclxuLy8vICAtIElmIGEgcGl4ZWwgdmFsdWUgaXMgcGFzc2VkLCBpdCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhbiBlbSB2YWx1ZSB1c2luZyBgJGdsb2JhbC1mb250LXNpemVgIGFzIHRoZSBiYXNlLlxyXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXHJcbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxyXG4vLy9cclxuLy8vIEBvdXRwdXQgSWYgdGhlIGJyZWFrcG9pbnQgaXMgXCIwcHggYW5kIGxhcmdlclwiLCBvdXRwdXRzIHRoZSBjb250ZW50IGFzLWlzLiBPdGhlcndpc2UsIG91dHB1dHMgdGhlIGNvbnRlbnQgd3JhcHBlZCBpbiBhIG1lZGlhIHF1ZXJ5LlxyXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWUpIHtcclxuICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XHJcbiAgJGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICR2YWx1ZSk7XHJcbiAgJHBicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkcHJpbnQtYnJlYWtwb2ludCk7XHJcblxyXG4gICRvbGQtemYtc2l6ZTogbnVsbDtcclxuXHJcbiAgLy8gTWFrZSBicmVha3BvaW50IHNpemUgYXZhaWxhYmxlIGFzIGEgdmFyaWFibGVcclxuICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xyXG4gICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XHJcbiAgfVxyXG4gICQtemYtc2l6ZTogbnRoKCR2YWx1ZSwgMSkgIWdsb2JhbDsgLy8gZ2V0IHRoZSBmaXJzdCB2YWx1ZSB0byBhY2NvdW50IGZvciBgb25seWAgYW5kIGBkb3duYCBrZXl3b3Jkc1xyXG5cclxuICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXHJcbiAgQGlmICRzdHIgPT0gJycge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG5cclxuICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxyXG4gIEBlbHNlIHtcclxuICAgIC8vIEZvciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJHByaW50LWJyZWFrcG9pbnQsIGFkZCBwcmludCB0byB0aGUgbWVkaWEgdHlwZXNcclxuICAgIEBpZiAkYnAgIT0gbnVsbCBhbmQgJGJwIDw9ICRwYnAge1xyXG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgI3skc3RyfSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAZWxzZSB7XHJcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xyXG59XHJcblxyXG4vLy8gQ29udmVydHMgdGhlIGJyZWFrcG9pbnRzIG1hcCB0byBhIFVSTC1lbmNvZGVkIHN0cmluZywgbGlrZSB0aGlzOiBga2V5MT12YWx1ZTEma2V5Mj12YWx1ZTJgLiBUaGUgdmFsdWUgaXMgdGhlbiBkcm9wcGVkIGludG8gdGhlIENTUyBmb3IgYSBzcGVjaWFsIGA8bWV0YT5gIHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0LiBUaGlzIGlzIGhvdyB3ZSB0cmFuc2ZlciB2YWx1ZXMgZnJvbSBTYXNzIHRvIEphdmFTY3JpcHQsIHNvIHRoZXkgY2FuIGJlIGRlZmluZWQgaW4gb25lIHBsYWNlLlxyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gY29udmVydC5cclxuLy8vXHJcbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cclxuQGZ1bmN0aW9uIC16Zi1icC1zZXJpYWxpemUoJG1hcCkge1xyXG4gICRzdHI6ICcnO1xyXG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcclxuICAgICRzdHI6ICRzdHIgKyAka2V5ICsgJz0nICsgLXpmLWJwLXRvLWVtKCR2YWx1ZSkgKyAnJic7XHJcbiAgfVxyXG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XHJcblxyXG4gIEByZXR1cm4gJHN0cjtcclxufVxyXG5cclxuLy8vIEZpbmQgdGhlIG5leHQga2V5IGluIGEgbWFwLlxyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXHJcbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxyXG4vLy9cclxuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvciB0aGUga2V5IGFmdGVyIGAka2V5YCwgaWYgYCRrZXlgIHdhcyBmb3VuZC4gSWYgYCRrZXlgIHdhcyBub3QgZm91bmQsIG9yIGAka2V5YCB3YXMgdGhlIGxhc3QgdmFsdWUgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXHJcbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xyXG5cclxuICAvLyBTdG9yZSB0aGUga2V5cyBvZiB0aGUgbWFwIGFzIGEgbGlzdFxyXG4gICR2YWx1ZXM6IG1hcC1rZXlzKCRtYXApO1xyXG5cclxuICAkaTogMDtcclxuXHJcbiAgLy8gSWYgdGhlIEtleSBFeGlzdHMsIEdldCB0aGUgaW5kZXggb2YgdGhlIGtleSB3aXRoaW4gdGhlIG1hcCBhbmQgYWRkIDEgdG8gaXQgZm9yIHRoZSBuZXh0IGJyZWFrcG9pbnQgaW4gdGhlIG1hcFxyXG4gIEBpZiAobWFwLWhhcy1rZXkoJG1hcCwgJGtleSkpIHtcclxuICAgICRpOiBpbmRleCgkdmFsdWVzLCAka2V5KSArIDE7XHJcbiAgfVxyXG5cclxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXHJcbiAgQGlmICgkaSA+IGxlbmd0aCgkbWFwKSBvciAkaSA9PSAwKSB7XHJcbiAgICBAcmV0dXJuIG51bGw7XHJcbiAgfVxyXG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIHRoZSB2YWx1ZVxyXG4gIEBlbHNlIHtcclxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCBudGgoJHZhbHVlcywgJGkpKTtcclxuICB9XHJcblxyXG59XHJcblxyXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXHJcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGxhc3QgYnJlYWtwb2ludC5cclxuLy8vXHJcbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXHJcbkBmdW5jdGlvbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRrZXkpIHtcclxuICAkbGlzdDogKCk7XHJcbiAgJGZvdW5kX2tleTogZmFsc2U7XHJcblxyXG4gIEBlYWNoICRuYW1lIGluICQtemYtYnJlYWtwb2ludHMta2V5cyB7XHJcbiAgICBAaWYgKCRuYW1lID09ICRrZXkpIHtcclxuICAgICAgJGZvdW5kX2tleTogdHJ1ZTtcclxuICAgIH1cclxuICAgIEBpZiBub3QgJGZvdW5kX2tleSB7XHJcbiAgICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICRuYW1lKTtcclxuICAgIH1cclxuICB9XHJcbiAgQHJldHVybiAkbGlzdDtcclxufVxyXG5cclxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxyXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCAtIGEgbmFtZWQgb3Igbm9uLW5hbWVkIGJyZWFrcG9pbnQuXHJcbi8vL1xyXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xyXG5AZnVuY3Rpb24gLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xyXG4gICRsYXN0OiAkLXpmLXplcm8tYnJlYWtwb2ludDtcclxuICAkZm91bmQ6IGZhbHNlO1xyXG5cclxuICAkdmFsdWU6IHVuaXRsZXNzLWNhbGMoJGJyZWFrcG9pbnQsIDFweCk7XHJcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xyXG4gICAgQGlmIG5vdCAkZm91bmQge1xyXG4gICAgICBAaWYgdW5pdGxlc3MtY2FsYygkdmFsKSA+ICR2YWx1ZSB7XHJcbiAgICAgICAgJGZvdW5kOiB0cnVlO1xyXG4gICAgICB9IEBlbHNlIHtcclxuICAgICAgICAkbGFzdDogJGtleTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkbGFzdDtcclxufVxyXG5cclxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXHJcbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdCByZWdhcmRsZXNzIG9mIGAkdmFsdWVgLlxyXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBoYXMgdGhlIGtleSBgJHZhbHVlYCwgdGhlIGV4YWN0IGJyZWFrcG9pbnQgdmFsdWUgaXMgcmV0dXJuZWQuXHJcbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGRvZXMgKm5vdCogaGF2ZSB0aGUgYnJlYWtwb2ludCwgdGhlIHZhbHVlIG1hdGNoaW5nIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGluIHRoZSBjb25maWcgbWFwIGlzIHJldHVybmVkLlxyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gUmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cclxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cclxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xyXG4gIC8vIElmIHRoZSBnaXZlbiBtYXAgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdFxyXG4gIEBpZiB0eXBlLW9mKCRtYXApID09ICdudW1iZXInIHtcclxuICAgIEByZXR1cm4gJG1hcDtcclxuICB9XHJcblxyXG5cclxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBnbG9iYWxseVxyXG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcclxuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xyXG4gICAgICAkdmFsdWU6IC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJHZhbHVlKTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBAcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGluIHRoZSBsb2NhbCBjb25maWcgbWFwXHJcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJG1hcCwgJHZhbHVlKSB7XHJcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcclxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkdmFsdWUpO1xyXG4gIH1cclxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXHJcbiAgQGVsc2Uge1xyXG4gICAgJGFuY2hvcjogbnVsbDtcclxuICAgICRmb3VuZDogZmFsc2U7XHJcblxyXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xyXG4gICAgICBAaWYgbm90ICRmb3VuZCB7XHJcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcclxuICAgICAgICAgICRhbmNob3I6ICRrZXk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAka2V5ID09ICR2YWx1ZSB7XHJcbiAgICAgICAgICAkZm91bmQ6IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRhbmNob3IpO1xyXG4gIH1cclxufVxyXG5cclxuJHNtYWxsLXVwOiAnJztcclxuJHNtYWxsLW9ubHk6ICcnO1xyXG5cclxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcclxuICAkc21hbGwtdXA6IHNjcmVlbjtcclxuICAkc21hbGwtb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9Jyk7XHJcbn1cclxuXHJcbiRtZWRpdW0tdXA6ICcnO1xyXG4kbWVkaXVtLW9ubHk6ICcnO1xyXG5cclxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XHJcbiAgJG1lZGl1bS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtKX0nKTtcclxuICAkbWVkaXVtLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBvbmx5KX0nKTtcclxufVxyXG5cclxuJGxhcmdlLXVwOiAnJztcclxuJGxhcmdlLW9ubHk6ICcnO1xyXG5cclxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbGFyZ2UpIHtcclxuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcclxuICAkbGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2Ugb25seSl9Jyk7XHJcbn1cclxuXHJcbiR4bGFyZ2UtdXA6ICcnO1xyXG4keGxhcmdlLW9ubHk6ICcnO1xyXG5cclxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeGxhcmdlKSB7XHJcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcclxuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcclxufVxyXG5cclxuJHh4bGFyZ2UtdXA6ICcnO1xyXG5cclxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeHhsYXJnZSkge1xyXG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgcmV2ZWFsXHJcbi8vLy9cclxuXHJcbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSBtb2RhbC5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgd2lkdGggb2YgYSBtb2RhbCwgd2l0aCBubyBjbGFzcyBhcHBsaWVkLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRyZXZlYWwtd2lkdGg6IDYwMHB4ICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgbWF4aW11bSB3aWR0aCBvZiBhIG1vZGFsLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYSBtb2RhbC5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgYSBtb2RhbC5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgbW9kYWwuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xyXG5cclxuLy8vIHotaW5kZXggZm9yIG1vZGFscy4gVGhlIG92ZXJsYXkgdXNlcyB0aGlzIHZhbHVlLCB3aGlsZSB0aGUgbW9kYWwgaXRzZWxmIHVzZXMgdGhpcyB2YWx1ZSBwbHVzIG9uZS5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kcmV2ZWFsLXppbmRleDogMTAwNSAhZGVmYXVsdDtcclxuXHJcbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIG1vZGFsIG92ZXJsYXlzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KSAhZGVmYXVsdDtcclxuXHJcblxyXG4vLyBQbGFjZWhvbGRlciBzZWxlY3RvciBmb3IgbWVkaXVtLWFuZC11cCBtb2RhbHNcclxuLy8gUHJldmVudHMgZHVwbGljYXRlIENTUyB3aGVuIGRlZmluaW5nIG11bHRpcGxlIFJldmVhbCBzaXplc1xyXG4vLyBUaGlzIHNob3VsZCBiZSBpbiB0aGUgc2FtZSBicmVha3BvaW50IHRoZW4gYEBtaXhpbiByZXZlYWwtbW9kYWwtd2lkdGhgXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgJXJldmVhbC1jZW50ZXJlZCB7XHJcbiAgICByaWdodDogYXV0bztcclxuICAgIGxlZnQ6IGF1dG87XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICB9XHJcbn1cclxuXHJcblxyXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbW9kYWwgb3ZlcmxheS5cclxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBvdmVybGF5LlxyXG5AbWl4aW4gcmV2ZWFsLW92ZXJsYXkoJGJhY2tncm91bmQ6ICRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kKSB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHRvcDogMDtcclxuICByaWdodDogMDtcclxuICBib3R0b206IDA7XHJcbiAgbGVmdDogMDtcclxuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleDtcclxuXHJcbiAgZGlzcGxheTogbm9uZTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICBvdmVyZmxvdy15OiBhdXRvO1xyXG59XHJcblxyXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYSBtb2RhbC5cclxuQG1peGluIHJldmVhbC1tb2RhbC1iYXNlIHtcclxuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XHJcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXggKyAxO1xyXG4gIC8vIFdvcmthcm91bmQgYW5kcm9pZCBicm93c2VyIHotaW5kZXggYnVnXHJcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG5cclxuICBkaXNwbGF5OiBub25lO1xyXG4gIHBhZGRpbmc6ICRyZXZlYWwtcGFkZGluZztcclxuXHJcbiAgYm9yZGVyOiAkcmV2ZWFsLWJvcmRlcjtcclxuICBib3JkZXItcmFkaXVzOiAkcmV2ZWFsLXJhZGl1cztcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmV2ZWFsLWJhY2tncm91bmQ7XHJcblxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICBtaW4taGVpZ2h0OiAwO1xyXG4gIH1cclxuXHJcbiAgLy8gTWFrZSBzdXJlIHJvd3MgZG9uJ3QgaGF2ZSBhIG1pbi13aWR0aCBvbiB0aGVtXHJcbiAgLmNvbHVtbiB7XHJcbiAgICBtaW4td2lkdGg6IDA7XHJcbiAgfVxyXG5cclxuICAvLyBTdHJpcCBtYXJnaW5zIGZyb20gdGhlIGxhc3QgaXRlbSBpbiB0aGUgbW9kYWxcclxuICA+IDpsYXN0LWNoaWxkIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQWRqdXN0cyB0aGUgd2lkdGggb2YgYSBtb2RhbC5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgbW9kYWwuIEdlbmVyYWxseSBhIHBlcmNlbnRhZ2UuXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heC13aWR0aCBbJHJldmVhbC1tYXgtd2lkdGhdIC0gTWF4aW11bSB3aWR0aCBvZiB0aGUgbW9kYWwuXHJcbkBtaXhpbiByZXZlYWwtbW9kYWwtd2lkdGgoXHJcbiAgJHdpZHRoOiAkcmV2ZWFsLXdpZHRoLFxyXG4gICRtYXgtd2lkdGg6ICRyZXZlYWwtbWF4LXdpZHRoXHJcbikge1xyXG4gIC8vIEV4dGVuZHMgbXVzdCBiZSBtYWRlIG91dHNpZGUgb2YgYnJlYWtwb2ludHMgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBuZXdlciBTYXNzIHZlcnNpb25zIChsaWJzYXNzIHYzLjUpXHJcbiAgQGV4dGVuZCAlcmV2ZWFsLWNlbnRlcmVkO1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICB3aWR0aDogJHdpZHRoO1xyXG4gICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xyXG4gIH1cclxufVxyXG5cclxuLy8vIENyZWF0ZXMgYSBmdWxsLXNjcmVlbiBtb2RhbCwgd2hpY2ggc3RyZXRjaGVzIHRoZSBmdWxsIHdpZHRoIGFuZCBoZWlnaHQgb2YgdGhlIHdpbmRvdy5cclxuQG1peGluIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuIHtcclxuICB0b3A6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGxlZnQ6IDA7XHJcblxyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1heC13aWR0aDogbm9uZTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgbWluLWhlaWdodDogMTAwJTtcclxuICBtYXJnaW4tbGVmdDogMDtcclxuXHJcbiAgYm9yZGVyOiAwO1xyXG4gIGJvcmRlci1yYWRpdXM6IDA7XHJcbn1cclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLXJldmVhbCB7XHJcblxyXG4gIC8vLyBEaXNhYmxlcyB0aGUgc2Nyb2xsIHdoZW4gUmV2ZWFsIGlzIHNob3duIHRvIHByZXZlbnQgdGhlIGJhY2tncm91bmQgZnJvbSBzaGlmdGluZ1xyXG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4ge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XHJcblxyXG4gICAgJi56Zi1oYXMtc2Nyb2xsIHtcclxuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG4gICAgfVxyXG5cclxuICAgIGJvZHkgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcclxuICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gT3ZlcmxheVxyXG4gIC5yZXZlYWwtb3ZlcmxheSB7XHJcbiAgICBAaW5jbHVkZSByZXZlYWwtb3ZlcmxheTtcclxuICB9XHJcblxyXG4gIC8vIE1vZGFsIGNvbnRhaW5lclxyXG4gIC5yZXZlYWwge1xyXG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2U7XHJcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoJHJldmVhbC13aWR0aCk7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB0b3A6IDEwMHB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG5cclxuICAgIC8vIFJlbW92ZSBwYWRkaW5nXHJcbiAgICAmLmNvbGxhcHNlIHtcclxuICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxuXHJcbiAgICAvLyBTaXppbmcgY2xhc3Nlc1xyXG4gICAgJi50aW55ICB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgzMCUpOyB9XHJcbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDUwJSk7IH1cclxuICAgICYubGFyZ2UgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoOTAlKTsgfVxyXG5cclxuICAgIC8vIEZ1bGwtc2NyZWVuIG1vZGVcclxuICAgICYuZnVsbCB7XHJcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xyXG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcclxuICAgIH1cclxuXHJcbiAgICAmLndpdGhvdXQtb3ZlcmxheSB7XHJcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiQG1peGluIGZvdW5kYXRpb24tbm9ybWFsaXplKCkge1xyXG4gIC8qISBub3JtYWxpemUuY3NzIHY4LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cclxuXHJcbiAgLy8gRG9jdW1lbnRcclxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cclxuICAvLyAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXHJcbiAgLy8gMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXHJcblxyXG4gIGh0bWwge1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDFcclxuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gMlxyXG4gIH1cclxuXHJcbiAgLy8gU2VjdGlvbnNcclxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cclxuICAvLyBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXHJcblxyXG4gIGJvZHkge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gIH1cclxuXHJcbiAgLy8gQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxyXG4gIC8vIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXHJcblxyXG4gIGgxIHtcclxuICAgIGZvbnQtc2l6ZTogMmVtO1xyXG4gICAgbWFyZ2luOiAwLjY3ZW0gMDtcclxuICB9XHJcblxyXG4gIC8vIEdyb3VwaW5nIGNvbnRlbnRcclxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cclxuICAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxyXG4gIC8vIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxyXG5cclxuICBociB7XHJcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLy8gMVxyXG4gICAgaGVpZ2h0OiAwOyAvLyAxXHJcbiAgICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gMlxyXG4gIH1cclxuXHJcbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cclxuICAvLyAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXHJcblxyXG4gIHByZSB7XHJcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8vIDFcclxuICAgIGZvbnQtc2l6ZTogMWVtOyAvLyAyXHJcbiAgfVxyXG5cclxuICAvLyBUZXh0LWxldmVsIHNlbWFudGljc1xyXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblxyXG4gIC8vIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cclxuXHJcbiAgYSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICB9XHJcblxyXG4gIC8vIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXHJcbiAgLy8gMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cclxuXHJcbiAgYWJiclt0aXRsZV0ge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLy8gMVxyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8vIDJcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLy8gMlxyXG4gIH1cclxuXHJcbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cclxuXHJcbiAgYixcclxuICBzdHJvbmcge1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcclxuICB9XHJcblxyXG4gIC8vIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXHJcbiAgLy8gMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxyXG5cclxuICBjb2RlLFxyXG4gIGtiZCxcclxuICBzYW1wIHtcclxuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLy8gMVxyXG4gICAgZm9udC1zaXplOiAxZW07IC8vIDJcclxuICB9XHJcblxyXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxyXG5cclxuICBzbWFsbCB7XHJcbiAgICBmb250LXNpemU6IDgwJTtcclxuICB9XHJcblxyXG4gIC8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxyXG4gIC8vIGFsbCBicm93c2Vycy5cclxuXHJcbiAgc3ViLFxyXG4gIHN1cCB7XHJcbiAgICBmb250LXNpemU6IDc1JTtcclxuICAgIGxpbmUtaGVpZ2h0OiAwO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xyXG4gIH1cclxuXHJcbiAgc3ViIHtcclxuICAgIGJvdHRvbTogLTAuMjVlbTtcclxuICB9XHJcblxyXG4gIHN1cCB7XHJcbiAgICB0b3A6IC0wLjVlbTtcclxuICB9XHJcblxyXG4gIC8vIEVtYmVkZGVkIGNvbnRlbnRcclxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cclxuICAvLyBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxyXG5cclxuICBpbWcge1xyXG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xyXG4gIH1cclxuXHJcbiAgLy8gRm9ybXNcclxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cclxuICAvLyAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cclxuICAvLyAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXHJcblxyXG4gIGJ1dHRvbixcclxuICBpbnB1dCxcclxuICBvcHRncm91cCxcclxuICBzZWxlY3QsXHJcbiAgdGV4dGFyZWEge1xyXG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8vIDFcclxuICAgIGZvbnQtc2l6ZTogMTAwJTsgLy8gMVxyXG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDFcclxuICAgIG1hcmdpbjogMDsgLy8gMlxyXG4gIH1cclxuXHJcbiAgLy8gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXHJcbiAgLy8gMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cclxuXHJcbiAgYnV0dG9uLFxyXG4gIGlucHV0IHsgLy8gMVxyXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgfVxyXG5cclxuICAvLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cclxuICAvLyAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXHJcblxyXG4gIGJ1dHRvbixcclxuICBzZWxlY3QgeyAvLyAxXHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICB9XHJcblxyXG4gIC8vIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXHJcblxyXG4gIGJ1dHRvbixcclxuICBbdHlwZT1cImJ1dHRvblwiXSxcclxuICBbdHlwZT1cInJlc2V0XCJdLFxyXG4gIFt0eXBlPVwic3VibWl0XCJdIHtcclxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xyXG4gIH1cclxuXHJcbiAgLy8gUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cclxuXHJcbiAgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxyXG4gIFt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxyXG4gIFt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXHJcbiAgW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xyXG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xyXG4gICAgcGFkZGluZzogMDtcclxuICB9XHJcblxyXG4gIC8vIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cclxuXHJcbiAgYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxyXG4gIFt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxyXG4gIFt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXHJcbiAgW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xyXG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xyXG4gIH1cclxuXHJcbiAgLy8gQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxyXG5cclxuICBmaWVsZHNldCB7XHJcbiAgICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XHJcbiAgfVxyXG5cclxuICAvLyAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxyXG4gIC8vIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cclxuICAvLyAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XHJcbiAgLy8gICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXHJcblxyXG4gIGxlZ2VuZCB7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXHJcbiAgICBjb2xvcjogaW5oZXJpdDsgLy8gMlxyXG4gICAgZGlzcGxheTogdGFibGU7IC8vIDFcclxuICAgIG1heC13aWR0aDogMTAwJTsgLy8gMVxyXG4gICAgcGFkZGluZzogMDsgLy8gM1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLy8gMVxyXG4gIH1cclxuXHJcbiAgLy8gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cclxuXHJcbiAgcHJvZ3Jlc3Mge1xyXG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xyXG4gIH1cclxuXHJcbiAgLy8gUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXHJcblxyXG4gIHRleHRhcmVhIHtcclxuICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gIH1cclxuXHJcbiAgLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXHJcbiAgLy8gMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxyXG5cclxuICBbdHlwZT1cImNoZWNrYm94XCJdLFxyXG4gIFt0eXBlPVwicmFkaW9cIl0ge1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxyXG4gICAgcGFkZGluZzogMDsgLy8gMlxyXG4gIH1cclxuXHJcbiAgLy8gQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxyXG5cclxuICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcclxuICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgfVxyXG5cclxuICAvLyAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cclxuICAvLyAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cclxuXHJcbiAgW3R5cGU9XCJzZWFyY2hcIl0ge1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIDFcclxuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvLyAyXHJcbiAgfVxyXG5cclxuICAvLyBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXHJcblxyXG4gIFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcclxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICB9XHJcblxyXG4gIC8vIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXHJcbiAgLy8gMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxyXG5cclxuICA6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcclxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAxXHJcbiAgICBmb250OiBpbmhlcml0OyAvLyAyXHJcbiAgfVxyXG5cclxuICAvLyBJbnRlcmFjdGl2ZVxyXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblxyXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXHJcblxyXG4gIGRldGFpbHMge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgfVxyXG5cclxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXHJcblxyXG4gIHN1bW1hcnkge1xyXG4gICAgZGlzcGxheTogbGlzdC1pdGVtO1xyXG4gIH1cclxuXHJcbiAgLy8gTWlzY1xyXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblxyXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cclxuXHJcbiAgdGVtcGxhdGUge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcblxyXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxyXG5cclxuICBbaGlkZGVuXSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1jb2xvci1saXRlcmFscywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIGdsb2JhbFxyXG4vLy8vXHJcblxyXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xyXG5cclxuLy8vIEZvbnQgc2l6ZSBhdHRyaWJ1dGUgYXBwbGllZCB0byBgPGh0bWw+YCBhbmQgYDxib2R5PmAuIFdlIHVzZSAxMDAlIGJ5IGRlZmF1bHQgc28gdGhlIHZhbHVlIGlzIGluaGVyaXRlZCBmcm9tIHRoZSB1c2VyJ3MgYnJvd3NlciBzZXR0aW5ncy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcclxuXHJcbi8vLyBHbG9iYWwgd2lkdGggb2YgeW91ciBzaXRlLiBVc2VkIGJ5IHRoZSBncmlkIHRvIGRldGVybWluZSByb3cgd2lkdGguXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgYWxsIHR5cGUuIGAkZ2xvYmFsLWxpbmVoZWlnaHRgIGlzIDI0cHggd2hpbGUgYCRnbG9iYWwtZm9udC1zaXplYCBpcyAxNnB4XHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQ29sb3JzIHVzZWQgZm9yIGJ1dHRvbnMsIGNhbGxvdXRzLCBsaW5rcywgZXRjLiBUaGVyZSBtdXN0IGFsd2F5cyBiZSBhIGNvbG9yIGNhbGxlZCBgcHJpbWFyeWAuXHJcbi8vLyBAdHlwZSBNYXBcclxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxyXG4gIHByaW1hcnk6ICMxNzc5YmEsXHJcbiAgc2Vjb25kYXJ5OiAjNzY3Njc2LFxyXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXHJcbiAgd2FybmluZzogI2ZmYWUwMCxcclxuICBhbGVydDogI2NjNGIzNyxcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBDb2xvciB1c2VkIGZvciBsaWdodCBncmF5IFVJIGl0ZW1zLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGxpZ2h0LWdyYXk6ICNlNmU2ZTYgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQ29sb3IgdXNlZCBmb3IgbWVkaXVtIGdyYXkgVUkgaXRlbXMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2EgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQ29sb3IgdXNlZCBmb3IgZGFyayBncmF5IFVJIGl0ZW1zLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGRhcmstZ3JheTogIzhhOGE4YSAhZGVmYXVsdDtcclxuXHJcbi8vLyBDb2xvciB1c2VkIGZvciBibGFjayB1aSBpdGVtcy5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRibGFjazogIzBhMGEwYSAhZGVmYXVsdDtcclxuXHJcbi8vLyBDb2xvciB1c2VkIGZvciB3aGl0ZSB1aSBpdGVtcy5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiR3aGl0ZTogI2ZlZmVmZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBib2R5LlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xyXG5cclxuLy8vIFRleHQgY29sb3Igb2YgdGhlIGJvZHkuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cclxuLy8vIEB0eXBlIExpc3RcclxuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcclxuXHJcbi8vLyBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSBhbnRpYWxpYXNlZCB0eXBlLCB1c2luZyB0aGUgYC13ZWJraXQtZm9udC1zbW9vdGhpbmdgIGFuZCBgLW1vei1vc3gtZm9udC1zbW9vdGhpbmdgIENTUyBwcm9wZXJ0aWVzLlxyXG4vLy8gQHR5cGUgQm9vbGVhblxyXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgbWFyZ2luIG9uIGNvbXBvbmVudHMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGdsb2JhbC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBhZGRpbmcgb24gY29tcG9uZW50cy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBvc2l0aW9uaW5nIG9uIGNvbXBvbmVudHMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGdsb2JhbC1wb3NpdGlvbjogMXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3Igbm9ybWFsIHR5cGUuXHJcbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXHJcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsICFkZWZhdWx0O1xyXG5cclxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBib2xkIHR5cGUuXHJcbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXHJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQgIWRlZmF1bHQ7XHJcblxyXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBlbGVtZW50cyB0aGF0IGhhdmUgYSBib3JkZXIgcmFkaXVzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRnbG9iYWwtcmFkaXVzOiAwICFkZWZhdWx0O1xyXG5cclxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIENhbiBiZSBvdmVyd3JpdHRlbiBhdCBpbmRpdmlkdWFsIG1lbnUgY29tcG9uZW50IGxldmVsLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBOZXN0ZWQgbWFyZ2luIGZvciBzdWJtZW51LlxyXG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBTZXRzIHRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0aGUgQ1NTLiBDYW4gYmUgZWl0aGVyIGBsdHJgIG9yIGBydGxgLlxyXG4vLy8gQHR5cGUgS2V5d29yZFxyXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGZvciBjb21wb25lbnRzIHRoYXQgc3VwcG9ydCBpdC5cclxuLy8vIEB0eXBlIEJvb2xlYW5cclxuJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFkZWZhdWx0O1xyXG5cclxuLy8vIEVuYWJsZWQgcmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgcHJvdG90eXBlcyBpZiBhcHBsaWNhYmxlXHJcbi8vLyBAdHlwZSBCb29sZWFuXHJcbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBCdXR0b24gY3Vyc29yJ3MgdmFsdWUsIGBhdXRvYCBieSBkZWZhdWx0XHJcbi8vLyBAdHlwZSBLZXl3b3JkXHJcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0byAhZGVmYXVsdDtcclxuXHJcbkBpZiBub3QgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xyXG4gIEBlcnJvciAnSW4gJGZvdW5kYXRpb24tcGFsZXR0ZSwgeW91IG11c3QgaGF2ZSBhIGNvbG9yIG5hbWVkIFwicHJpbWFyeVwiLic7XHJcbn1cclxuXHJcbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciB0ZXh0IGRpcmVjdGlvblxyXG4kZ2xvYmFsLWxlZnQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCByaWdodCwgbGVmdCk7XHJcbiRnbG9iYWwtcmlnaHQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBsZWZ0LCByaWdodCk7XHJcblxyXG4vLyBJbnRlcm5hbCB2YXJpYWJsZSB0aGF0IGNvbnRhaW5zIHRoZSBmbGV4IGp1c3RpZnlpbmcgb3B0aW9uc1xyXG4kLXpmLWZsZXgtanVzdGlmeTogLXpmLWZsZXgtanVzdGlmeSgkZ2xvYmFsLXRleHQtZGlyZWN0aW9uKTtcclxuXHJcbi8vLyBHbG9iYWwgdG9sZXJhbmNlIGZvciBjb2xvciBwaWNrIGNvbnRyYXN0LlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDAgIWRlZmF1bHQ7XHJcblxyXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgY29sb3JzXHJcbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXMge1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbm9ybWFsaXplO1xyXG5cclxuICAvLyBUaGVzZSBzdHlsZXMgYXJlIGFwcGxpZWQgdG8gYSA8bWV0YT4gdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHRcclxuICAuZm91bmRhdGlvbi1tcSB7XHJcbiAgICBmb250LWZhbWlseTogJyN7LXpmLWJwLXNlcmlhbGl6ZSgkYnJlYWtwb2ludHMpfSc7XHJcbiAgfVxyXG5cclxuICBodG1sIHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xyXG4gIH1cclxuXHJcbiAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcclxuICAqLFxyXG4gICo6OmJlZm9yZSxcclxuICAqOjphZnRlciB7XHJcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xyXG4gIH1cclxuXHJcbiAgLy8gRGVmYXVsdCBib2R5IHN0eWxlc1xyXG4gIGJvZHkge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuXHJcbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xyXG5cclxuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiAgICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xyXG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcblxyXG4gICAgQGlmICgkYm9keS1hbnRpYWxpYXNlZCkge1xyXG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcclxuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGltZyB7XHJcbiAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cclxuICAgIC8vIEdyaWQgZGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XHJcbiAgfVxyXG5cclxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcclxuICB0ZXh0YXJlYSB7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiAgfVxyXG5cclxuICAvLyBNYWtlIHNlbGVjdCBlbGVtZW50cyBhcmUgMTAwJSB3aWR0aCBieSBkZWZhdWx0XHJcbiAgc2VsZWN0IHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4gIH1cclxuXHJcbiAgLy8gU3R5bGVzIEdvb2dsZSBNYXBzIGFuZCBNYXBRdWVzdCBlbWJlZHMgcHJvcGVybHlcclxuICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWlkc1xyXG4gIC5tYXBfY2FudmFzLFxyXG4gIC5tcWEtZGlzcGxheSB7XHJcbiAgICBpbWcsXHJcbiAgICBlbWJlZCxcclxuICAgIG9iamVjdCB7XHJcbiAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gUmVzZXQgPGJ1dHRvbj4gc3R5bGVzIGNyZWF0ZWQgYnkgbW9zdCBicm93c2Vyc1xyXG4gIGJ1dHRvbiB7XHJcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICBsaW5lLWhlaWdodDogMTtcclxuICAgIGN1cnNvcjogJGdsb2JhbC1idXR0b24tY3Vyc29yO1xyXG4gIH1cclxuXHJcbiAgLy8gUHJldmVudCB0ZXh0IG92ZXJmbG93IG9uIHByZVxyXG4gIHByZSB7XHJcbiAgICBvdmVyZmxvdzogYXV0bztcclxuICB9XHJcblxyXG4gIC8vIE1ha2UgcmVzZXQgaW5oZXJpdCBmb250LWZhbWlseSBpbnN0ZWFkIG9mIHNldHRpbmdzIHNhbnMtc2VyaWZcclxuICBidXR0b24sXHJcbiAgaW5wdXQsXHJcbiAgb3B0Z3JvdXAsXHJcbiAgc2VsZWN0LFxyXG4gIHRleHRhcmVhIHtcclxuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG4gIH1cclxuXHJcbiAgLy8gSW50ZXJuYWwgY2xhc3NlcyB0byBzaG93L2hpZGUgZWxlbWVudHMgaW4gSmF2YVNjcmlwdFxyXG4gIC5pcy12aXNpYmxlIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAuaXMtaGlkZGVuIHtcclxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xyXG4vLy8vXHJcblxyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcclxuXHJcbi8vLyBSZW1vdmVzIHRoZSB1bml0IChlLmcuIHB4LCBlbSwgcmVtKSBmcm9tIGEgdmFsdWUsIHJldHVybmluZyB0aGUgbnVtYmVyIG9ubHkuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW0gLSBOdW1iZXIgdG8gc3RyaXAgdW5pdCBmcm9tLlxyXG4vLy9cclxuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxyXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtKSB7XHJcbiAgQHJldHVybiAkbnVtIC8gKCRudW0gKiAwICsgMSk7XHJcbn1cclxuXHJcbi8vLyBDb252ZXJ0cyBvbmUgb3IgbW9yZSBwaXhlbCB2YWx1ZXMgaW50byBtYXRjaGluZyByZW0gdmFsdWVzLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR2YWx1ZXMgLSBPbmUgb3IgbW9yZSB2YWx1ZXMgdG8gY29udmVydC4gQmUgc3VyZSB0byBzZXBhcmF0ZSB0aGVtIHdpdGggc3BhY2VzIGFuZCBub3QgY29tbWFzLiBJZiB5b3UgbmVlZCB0byBjb252ZXJ0IGEgY29tbWEtc2VwYXJhdGVkIGxpc3QsIHdyYXAgdGhlIGxpc3QgaW4gcGFyZW50aGVzZXMuXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gVGhlIGJhc2UgdmFsdWUgdG8gdXNlIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGByZW1gLiBJZiB5b3UncmUgdXNpbmcgRm91bmRhdGlvbiBvdXQgb2YgdGhlIGJveCwgdGhpcyBpcyAxNnB4LiBJZiB0aGlzIHBhcmFtZXRlciBpcyBgbnVsbGAsIHRoZSBmdW5jdGlvbiB3aWxsIHJlZmVyZW5jZSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cclxuLy8vXHJcbi8vLyBAcmV0dXJucyB7TGlzdH0gQSBsaXN0IG9mIGNvbnZlcnRlZCB2YWx1ZXMuXHJcbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xyXG4gICRyZW0tdmFsdWVzOiAoKTtcclxuICAkY291bnQ6IGxlbmd0aCgkdmFsdWVzKTtcclxuXHJcbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxyXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcclxuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcclxuICB9XHJcblxyXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxyXG4gIC8vIFRoaXMgaXMgYmVjYXVzZSAxMDAlIGZvbnQgc2l6ZSA9IDE2cHggaW4gbW9zdCBhbGwgYnJvd3NlcnNcclxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcclxuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XHJcbiAgfVxyXG5cclxuICAvLyBVc2luZyByZW0gYXMgYmFzZSBhbGxvd3MgY29ycmVjdCBzY2FsaW5nXHJcbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcclxuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XHJcbiAgfVxyXG5cclxuICBAaWYgJGNvdW50ID09IDEge1xyXG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcclxuICB9XHJcblxyXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcclxuICAgICRyZW0tdmFsdWVzOiBhcHBlbmQoJHJlbS12YWx1ZXMsIC16Zi10by1yZW0obnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UpKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHJlbS12YWx1ZXM7XHJcbn1cclxuXHJcbi8vIENvbnZlcnRzIGEgdW5pdGxlc3MsIHBpeGVsLCBvciByZW0gdmFsdWUgdG8gZW0sIGZvciB1c2UgaW4gYnJlYWtwb2ludHMuXHJcbkBmdW5jdGlvbiAtemYtYnAtdG8tZW0oJHZhbHVlKSB7XHJcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcclxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcgb3IgdW5pdGxlc3MoJHZhbHVlKSB7XHJcbiAgICAkdmFsdWU6IHJlbS1jYWxjKCR2YWx1ZSwgJGJhc2U6IDE2cHgpO1xyXG4gIH1cclxuXHJcbiAgLy8gVGhlbiB0aGUgdmFsdWUgaXMgY29udmVydGVkIHRvIGVtc1xyXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xyXG59XHJcblxyXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIEJhc2UgZm9yIHBpeGVsIGNvbnZlcnNpb24uXHJcbi8vL1xyXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cclxuQGZ1bmN0aW9uIC16Zi10by1yZW0oJHZhbHVlLCAkYmFzZTogbnVsbCkge1xyXG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xyXG4gICAgQHdhcm4gaW5zcGVjdCgkdmFsdWUpICsgJyB3YXMgcGFzc2VkIHRvIHJlbS1jYWxjKCksIHdoaWNoIGlzIG5vdCBhIG51bWJlci4nO1xyXG4gICAgQHJldHVybiAkdmFsdWU7XHJcbiAgfVxyXG5cclxuICAvLyBUcmFuc2Zvcm0gZW0gaW50byByZW0gaWYgc29tZW9uZSBoYW5kcyBvdmVyICdlbSdzXHJcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcclxuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogMXJlbTtcclxuICB9XHJcblxyXG4gIC8vIENhbGN1bGF0ZSByZW0gaWYgdW5pdHMgZm9yICR2YWx1ZSBpcyBub3QgcmVtIG9yIGVtXHJcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncmVtJyB7XHJcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpICogMXJlbTtcclxuICB9XHJcblxyXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcclxuICBAaWYgJHZhbHVlID09IDByZW0ge1xyXG4gICAgJHZhbHVlOiAwO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkdmFsdWU7XHJcbn1cclxuXHJcbi8vLyBDb252ZXJ0cyBhIHBpeGVsLCBwZXJjZW50YWdlLCByZW0gb3IgZW0gdmFsdWUgdG8gYSB1bml0bGVzcyB2YWx1ZSBiYXNlZCBvbiBhIGdpdmVuIGZvbnQgc2l6ZS4gSWRlYWwgZm9yIHdvcmtpbmcgb3V0IHVuaXRsZXNzIGxpbmUgaGVpZ2h0cy5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gY29udmVydCB0byBhIHVuaXRsZXNzIGxpbmUgaGVpZ2h0XHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgZm9udCBzaXplIHRvIHVzZSB0byB3b3JrIG91dCB0aGUgbGluZSBoZWlnaHQgLSBkZWZhdWx0cyB0byAkZ2xvYmFsLWZvbnQtc2l6ZVxyXG4vLy9cclxuLy8vIEByZXR1cm4ge051bWJlcn0gLSBVbml0bGVzcyBudW1iZXJcclxuQGZ1bmN0aW9uIHVuaXRsZXNzLWNhbGMoJHZhbHVlLCAkYmFzZTogbnVsbCkge1xyXG5cclxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXHJcbiAgQGlmICRiYXNlID09IG51bGwge1xyXG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xyXG4gIH1cclxuXHJcbiAgLy8gRmlyc3QsIGxldHMgY29udmVydCBvdXIgJGJhc2UgdG8gcGl4ZWxzXHJcblxyXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxyXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xyXG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcclxuICB9XHJcblxyXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XHJcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xyXG4gIH1cclxuXHJcbiAgQGlmIHVuaXQoJGJhc2UpID09ICdlbScge1xyXG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcclxuICB9XHJcblxyXG4gIC8vIE5vdyBsZXQncyBjb252ZXJ0IG91ciB2YWx1ZSB0byBwaXhlbHMgdG9vXHJcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnJScge1xyXG4gICAgJHZhbHVlOiAoJHZhbHVlIC8gMTAwJSkgKiAkYmFzZTtcclxuICB9XHJcblxyXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3JlbScge1xyXG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcclxuICB9XHJcblxyXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XHJcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xyXG4gIH1cclxuXHJcbiAgLy8gJ3B4J1xyXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyB7XHJcbiAgICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xyXG4gIH1cclxuXHJcbiAgLy8gYXNzdW1lIHRoYXQgbGluZS1oZWlnaHRzIGdyZWF0ZXIgdGhhbiAxMCBhcmUgbWVhbnQgdG8gYmUgYWJzb2x1dGUgaW4gJ3B4J1xyXG4gIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAoJHZhbHVlID4gMTApIHtcclxuICAgIEByZXR1cm4gJHZhbHVlIC8gc3RyaXAtdW5pdCgkYmFzZSk7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICR2YWx1ZTtcclxufVxyXG4iLCJcclxuLy8gbGlnaHRlbigkY29sb3ItYmxhY2ssIDYuNSUpOyAjMTExXHJcbi8vIGxpZ2h0ZW4oJGNvbG9yLWJsYWNrLCAxMy41JSk7ICMyMjJcclxuLy8gbGlnaHRlbigkY29sb3ItYmxhY2ssIDIwJSk7ICMzMzNcclxuXHJcbiRjb2xvci1wcmltYXJ5OiAjOTkxQjFFO1xyXG4kY29sb3Itc2Vjb25kYXJ5OiAjQTYwNzBDO1xyXG4kY29sb3Itc3VjY2VzczogIzNhZGI3NjtcclxuJGNvbG9yLWFsZXJ0OiAjY2M0YjM3O1xyXG4kY29sb3Itd2FybmluZzogI2NjOGIwMDtcclxuJGNvbG9yLWRhcms6ICMzQzNDM0M7XHJcbiRjb2xvci1ibGFjazogIzAwMDtcclxuJGNvbG9yLWxpZ2h0OiAjQzRDNEM0O1xyXG4kY29sb3Itd2hpdGU6ICNmZmY7XHJcbiRjb2xvci1ncmV5OiAjNmU2ZTZlO1xyXG5cclxuXHJcbiRib2R5LWZvbnQtZmFtaWx5OiAnTGF0bycsIHNhbnMtc2VyaWY7XHJcbiRib2R5LWZvbnQtc2l6ZTogMTZweDtcclxuXHJcbiRoZWFkaW5nLWZvbnQtZmFtaWx5OiAnVGVrbycsIHNhbnMtc2VyaWY7XHJcblxyXG5cclxuLy8gRk9VTkRBVElPTiBWQVJJQUJMRVMgXHJcbiRncmlkLWNvbnRhaW5lcjogMTQ3MHB4O1xyXG4kZ3JpZC1jb250YWluZXItcGFkZGluZzogNjBweDtcclxuXHJcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcclxuICBwcmltYXJ5OiAkY29sb3ItcHJpbWFyeSxcclxuICBzZWNvbmRhcnk6ICRjb2xvci1zZWNvbmRhcnksXHJcbiAgc3VjY2VzczogJGNvbG9yLXN1Y2Nlc3MsXHJcbiAgd2FybmluZzogJGNvbG9yLXdhcm5pbmcsXHJcbiAgYWxlcnQ6ICRjb2xvci1hbGVydCxcclxuKSAhZGVmYXVsdDtcclxuXHJcbiRidXR0b24tYmFja2dyb3VuZDogJGNvbG9yLXByaW1hcnk7XHJcbiRidXR0b24tcmFkaXVzOiAzcHg7XHJcbiRidXR0b24tc2l6ZXM6IChcclxuICAgIHRpbnk6IDAuNnJlbSxcclxuICAgIHNtYWxsOiAwLjc1cmVtLFxyXG4gICAgZGVmYXV0OiAxNHB4LCAvLyBkZWZhdWx0OiAwLjlyZW0sXHJcbiAgICBsYXJnZTogMS4yNXJlbVxyXG4pICFkZWZhdWx0O1xyXG4kYnV0dG9uLXBhZGRpbmc6IDEuNWVtO1xyXG4kYnV0dG9uLWZvbnQtd2VpZ2h0OiA1MDAgIWRlZmF1bHQ7XHJcblxyXG4kaW5wdXQtc2hhZG93OiBub25lO1xyXG5cclxuXHJcbiRicmVha3BvaW50czogKFxyXG4gIHNtYWxsOiAwcHgsXHJcbiAgbWVkaXVtOiA3NjhweCxcclxuICBsYXJnZTogMTAyNHB4LFxyXG4gIHhsYXJnZTogMTYwMHB4LFxyXG4gIHh4bGFyZ2U6IDE5MjFweCxcclxuKTtcclxuXHJcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UgeGxhcmdlIHh4bGFyZ2UpOyIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBmdW5jdGlvbnNcclxuLy8vL1xyXG5cclxuLy8vIENyZWF0ZXMgYW4gaW5uZXIgYm94LXNoYWRvdyBmb3Igb25seSBvbmUgc2lkZVxyXG4vLy9cclxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpZGUgLSBTaWRlIHRoZSBzaGFkb3cgaXMgc3VwcG9zZWQgdG8gYXBwZWFyLiBDYW4gYmUgYHRvcGAsIGBsZWZ0YCwgYHJpZ2h0YCBvciBgYm90dG9tYC5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSAtIFdpZHRoIGZvciB0aGUgdGFyZ2V0IHNpZGUuXHJcbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciBvZiB0aGUgc2hhZG93LlxyXG5AbWl4aW4gaW5uZXItc2lkZS1zaGFkb3coXHJcbiAgJHNpZGU6IGJvdHRvbSxcclxuICAkc2l6ZTogMjBweCxcclxuICAkY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KVxyXG4pIHtcclxuXHJcbiAgJGhlbHBlcjogcm91bmQoJHNpemUgKiAwLjY1KTtcclxuXHJcbiAgQGlmICgkc2lkZSA9PSB0b3ApIHtcclxuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xyXG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGxlZnQpIHtcclxuICAgIGJveC1zaGFkb3c6IGluc2V0ICRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xyXG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IHJpZ2h0KSB7XHJcbiAgICBib3gtc2hhZG93OiBpbnNldCAoLTEpKiRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xyXG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGJvdHRvbSkge1xyXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAoLTEpKiRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcclxuICB9XHJcbn1cclxuXHJcbi8vLyBDcmVhdGVzIGEgQ1NTIHRyaWFuZ2xlLCB3aGljaCBjYW4gYmUgdXNlZCBmb3IgZHJvcGRvd24gYXJyb3dzLCBkcm9wZG93biBwaXBzLCBhbmQgbW9yZS4gVXNlIHRoaXMgbWl4aW4gaW5zaWRlIGEgYCY6OmJlZm9yZWAgb3IgYCY6OmFmdGVyYCBzZWxlY3RvciwgdG8gYXR0YWNoIHRoZSB0cmlhbmdsZSB0byBhbiBleGlzdGluZyBlbGVtZW50LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdHJpYW5nbGUtc2l6ZSAtIFdpZHRoIG9mIHRoZSB0cmlhbmdsZS5cclxuLy8vIEBwYXJhbSB7Q29sb3J9ICR0cmlhbmdsZS1jb2xvciAtIENvbG9yIG9mIHRoZSB0cmlhbmdsZS5cclxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXHJcbkBtaXhpbiBjc3MtdHJpYW5nbGUoXHJcbiAgJHRyaWFuZ2xlLXNpemUsXHJcbiAgJHRyaWFuZ2xlLWNvbG9yLFxyXG4gICR0cmlhbmdsZS1kaXJlY3Rpb25cclxuKSB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgd2lkdGg6IDA7XHJcbiAgaGVpZ2h0OiAwO1xyXG5cclxuICBib3JkZXI6IGluc2V0ICR0cmlhbmdsZS1zaXplO1xyXG5cclxuICBjb250ZW50OiAnJztcclxuXHJcbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGRvd24pIHtcclxuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XHJcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcclxuICAgIGJvcmRlci1jb2xvcjogJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xyXG4gIH1cclxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdXApIHtcclxuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XHJcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcclxuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xyXG4gIH1cclxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcclxuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcclxuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcclxuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xyXG4gIH1cclxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gbGVmdCkge1xyXG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XHJcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xyXG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGljb24uXHJcbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMjBweF0gLSBXaWR0aCBvZiB0aGUgaWNvbi5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFsxNnB4XSAtIEhlaWdodCBvZiB0aGUgaWNvbi5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFycyBbM10gLSBOdW1iZXIgb2YgYmFycyBpbiB0aGUgaWNvbi5cclxuQG1peGluIGhhbWJ1cmdlcihcclxuICAkY29sb3I6ICRibGFjayxcclxuICAkY29sb3ItaG92ZXI6ICRkYXJrLWdyYXksXHJcbiAgJHdpZHRoOiAyMHB4LFxyXG4gICRoZWlnaHQ6IDE2cHgsXHJcbiAgJHdlaWdodDogMnB4LFxyXG4gICRiYXJzOiAzXHJcbikge1xyXG4gIC8vIGJveC1zaGFkb3cgQ1NTIG91dHB1dFxyXG4gICRzaGFkb3c6ICgpO1xyXG4gICRob3Zlci1zaGFkb3c6ICgpO1xyXG5cclxuICAvLyBTcGFjaW5nIGJldHdlZW4gYmFycyBpcyBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSB0b3RhbCBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgZWFjaCBiYXJcclxuICAkc3BhY2luZzogKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKTtcclxuXHJcbiAgQGlmIHVuaXQoJHNwYWNpbmcpID09ICdweCcge1xyXG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcclxuICB9XHJcblxyXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xyXG4gICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcclxuICAgICRzaGFkb3c6IGFwcGVuZCgkc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3IsIGNvbW1hKTtcclxuICB9XHJcblxyXG4gIC8vIEljb24gY29udGFpbmVyXHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIHdpZHRoOiAkd2lkdGg7XHJcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgLy8gSWNvbiBiYXJzXHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuXHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xyXG5cclxuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcclxuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XHJcblxyXG4gICAgY29udGVudDogJyc7XHJcbiAgfVxyXG5cclxuICAvLyBIb3ZlciBzdGF0ZVxyXG4gIEBpZiAkY29sb3ItaG92ZXIge1xyXG4gICAgLy8gR2VuZXJhdGUgQ1NTXHJcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcclxuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcclxuICAgICAgJGhvdmVyLXNoYWRvdzogYXBwZW5kKCRob3Zlci1zaGFkb3csIDAgJG9mZnNldCAwICRjb2xvci1ob3ZlciwgY29tbWEpO1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXI6OmFmdGVyIHtcclxuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xyXG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8vIEFkZHMgYSBkb3dud2FyZC1mYWNpbmcgdHJpYW5nbGUgYXMgYSBiYWNrZ3JvdW5kIGltYWdlIHRvIGFuIGVsZW1lbnQuIFRoZSBpbWFnZSBpcyBmb3JtYXR0ZWQgYXMgYW4gU1ZHLCBtYWtpbmcgaXQgZWFzeSB0byBjaGFuZ2UgdGhlIGNvbG9yLiBCZWNhdXNlIEludGVybmV0IEV4cGxvcmVyIGRvZXNuJ3Qgc3VwcG9ydCBlbmNvZGVkIFNWR3MgYXMgYmFja2dyb3VuZCBpbWFnZXMsIGEgUE5HIGZhbGxiYWNrIGlzIGFsc28gaW5jbHVkZWQuXHJcbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIHRyaWFuZ2xlLlxyXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xyXG4gICRyZ2I6ICdyZ2IlMjgje3JvdW5kKHJlZCgkY29sb3IpKX0sICN7cm91bmQoZ3JlZW4oJGNvbG9yKSl9LCAje3JvdW5kKGJsdWUoJGNvbG9yKSl9JTI5JztcclxuXHJcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xyXG5cclxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIHtcclxuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XHJcbiAgICAgIC8vIFdoaXRlIHRyaWFuZ2xlXHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICAvLyBCbGFjayB0cmlhbmdsZVxyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vLyBBcHBsaWVzIHRoZSBtaWNybyBjbGVhcmZpeCBoYWNrIHBvcHVsYXJpemVkIGJ5IE5pY29sYXMgR2FsbGFnaGVyLiBJbmNsdWRlIHRoaXMgbWl4aW4gb24gYSBjb250YWluZXIgaWYgaXRzIGNoaWxkcmVuIGFyZSBhbGwgZmxvYXRlZCwgdG8gZ2l2ZSB0aGUgY29udGFpbmVyIGEgcHJvcGVyIGhlaWdodC5cclxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXHJcbi8vLyBAbGluayBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay8gTWljcm8gQ2xlYXJmaXggSGFja1xyXG4vLy8gQGxpbmsgaHR0cDovL2RhbmlzYWRlc2lnbmVyLmNvbS9ibG9nL2ZsZXhib3gtY2xlYXItZml4LXBzZXVkby1lbGVtZW50cy8gRmxleGJveCBmaXhcclxuQG1peGluIGNsZWFyZml4IHtcclxuICAmOjpiZWZvcmUsXHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgZGlzcGxheTogdGFibGU7XHJcbiAgICBjb250ZW50OiAnICc7XHJcblxyXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XHJcbiAgICAgIGZsZXgtYmFzaXM6IDA7XHJcbiAgICAgIG9yZGVyOiAxO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQWRkcyBDU1MgZm9yIGEgXCJxdWFudGl0eSBxdWVyeVwiIHNlbGVjdG9yIHRoYXQgYXV0b21hdGljYWxseSBzaXplcyBlbGVtZW50cyBiYXNlZCBvbiBob3cgbWFueSB0aGVyZSBhcmUgaW5zaWRlIGEgY29udGFpbmVyLlxyXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IC0gTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gZGV0ZWN0LiBUaGUgaGlnaGVyIHRoaXMgbnVtYmVyIGlzLCB0aGUgbW9yZSBDU1MgdGhhdCdzIHJlcXVpcmVkIHRvIGNvdmVyIGVhY2ggbnVtYmVyIG9mIGl0ZW1zLlxyXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXHJcbkBtaXhpbiBhdXRvLXdpZHRoKCRtYXgsICRlbGVtOiBsaSkge1xyXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJG1heCB7XHJcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcclxuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkIH4gI3skZWxlbX0ge1xyXG4gICAgICB3aWR0aDogcGVyY2VudGFnZSgxIC8gJGkpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8vIFJlbW92ZXMgdGhlIGZvY3VzIHJpbmcgYXJvdW5kIGFuIGVsZW1lbnQgd2hlbiBhIG1vdXNlIGlucHV0IGlzIGRldGVjdGVkLlxyXG5AbWl4aW4gZGlzYWJsZS1tb3VzZS1vdXRsaW5lIHtcclxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XHJcbiAgICBvdXRsaW5lOiAwO1xyXG4gIH1cclxufVxyXG5cclxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgc3RpbGwgYWNjZXNzaWJsZSB0byBrZXlib2FyZHMgYW5kIGFzc2lzdGl2ZSBkZXZpY2VzLlxyXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxyXG4vLy8gQGxpbmsgaHR0cDovL2h1Z29naXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cclxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcclxuICB3aWR0aDogMXB4O1xyXG4gIGhlaWdodDogMXB4O1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBjbGlwOiByZWN0KDAsMCwwLDApO1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgYm9yZGVyOiAwO1xyXG59XHJcblxyXG4vLy8gUmV2ZXJzZXMgdGhlIENTUyBvdXRwdXQgY3JlYXRlZCBieSB0aGUgYGVsZW1lbnQtaW52aXNpYmxlKClgIG1peGluLlxyXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUtb2ZmIHtcclxuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XHJcbiAgd2lkdGg6IGF1dG87XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gIGNsaXA6IGF1dG87XHJcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcclxufVxyXG5cclxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxyXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcclxuQG1peGluIHZlcnRpY2FsLWNlbnRlciB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogNTAlO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxufVxyXG5cclxuLy8vIEhvcml6b250YWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXHJcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xyXG5AbWl4aW4gaG9yaXpvbnRhbC1jZW50ZXIge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBsZWZ0OiA1MCU7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG59XHJcblxyXG4vLy8gQWJzb2x1dGVseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXHJcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xyXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA1MCU7XHJcbiAgbGVmdDogNTAlO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG59XHJcblxyXG4vLy8gSXRlcmF0ZXMgdGhyb3VnaCBicmVha3BvaW50cyBkZWZpbmVkIGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBhbmQgcHJpbnRzIHRoZSBDU1MgaW5zaWRlIHRoZSBtaXhpbiBhdCBlYWNoIGJyZWFrcG9pbnQncyBtZWRpYSBxdWVyeS4gVXNlIHRoaXMgd2l0aCB0aGUgZ3JpZCwgb3IgYW55IG90aGVyIGNvbXBvbmVudCB0aGF0IGhhcyByZXNwb25zaXZlIGNsYXNzZXMuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXHJcbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRhdXRvLWluc2VydC1icmVha3BvaW50cyBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBpdGVyYXRlIG92ZXIgYnJlYWtwb2ludHMgd2l0aG91dCBkb2luZyB0aGUgbWVkaWEgcXVlcnkgaXRzZWxmLiBVc2VmdWwgZm9yIG1vcmUgY29tcGxleCBtZWRpYSBxdWVyeSBnZW5lcmF0aW9uIGFzIGluIHRoZSBtYXJnaW4gZ3JpZC5cclxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiB0cnVlLCAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHM6IHRydWUpIHtcclxuICAkbGlzdDogJGJyZWFrcG9pbnQtY2xhc3NlcztcclxuXHJcbiAgQGlmIG5vdCAkc21hbGwge1xyXG4gICAgJGxpc3Q6IHNsLXJlbW92ZSgkbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xyXG4gIH1cclxuXHJcbiAgQGVhY2ggJG5hbWUgaW4gJGxpc3Qge1xyXG4gICAgJG9sZC16Zi1zaXplOiBudWxsO1xyXG4gICAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIHtcclxuICAgICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XHJcbiAgICB9XHJcbiAgICAkLXpmLXNpemU6ICRuYW1lICFnbG9iYWw7XHJcblxyXG4gICAgQGlmICRhdXRvLWluc2VydC1icmVha3BvaW50cyB7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuXHJcbiAgICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xyXG4gIH1cclxufVxyXG5cclxuLy8vIEdlbmVyYXRlIHRoZSBgQGNvbnRlbnRgIHBhc3NlZCB0byB0aGUgbWl4aW4gd2l0aCBhIHZhbHVlIGAkLXpmLWJwLXZhbHVlYCByZWxhdGVkIHRvIGEgYnJlYWtwb2ludCwgZGVwZW5kaW5nIG9uIHRoZSBgJG5hbWVgIHBhcmFtZXRlcjpcclxuLy8vIC0gRm9yIGEgc2luZ2xlIHZhbHVlLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhpcyB2YWx1ZS5cclxuLy8vIC0gRm9yIGEgYnJlYWtwb2ludCBuYW1lLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAuXHJcbi8vLyAtIEZvciBcImF1dG9cIiwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgIGFuZCBpcyBwYXNzZWQgdG8gYEBjb250ZW50YCwgd2hpY2ggaXMgbWFkZSByZXNwb25zaXZlIGZvciBlYWNoIGJyZWFrcG9pbnQgb2YgYCRtYXBgLlxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ8QXJyYXl8S2V5d29yZH0gJG5hbWUgW2F1dG9dIC0gU2luZ2xlIHZhbHVlLCBicmVha3BvaW50IG5hbWUsIG9yIGxpc3Qgb2YgYnJlYWtwb2ludCBuYW1lcyB0byB1c2UuIFwiYXV0b1wiIGJ5IGRlZmF1bHQuXHJcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBNYXAgb2YgYnJlYWtwb2ludHMgYW5kIHZhbHVlcyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLlxyXG5AbWl4aW4gLXpmLWJyZWFrcG9pbnQtdmFsdWUoXHJcbiAgJG5hbWU6IGF1dG8sXHJcbiAgJG1hcDogbnVsbFxyXG4pIHtcclxuICBAaWYgJG5hbWUgPT0gYXV0byBhbmQgdHlwZS1vZigkbWFwKSA9PSAnbWFwJyB7XHJcbiAgICAvLyBcImF1dG9cIlxyXG4gICAgQGVhY2ggJGssICR2IGluICRtYXAge1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRrKSB7XHJcbiAgICAgICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJHYsICRtYXApIHtcclxuICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICAvLyBicmVha3BvaW50IG5hbWVcclxuICAgIEBpZiB0eXBlLW9mKCRuYW1lKSA9PSAnc3RyaW5nJyB7XHJcbiAgICAgICRuYW1lOiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkbmFtZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gYnJlYWtwb2ludCB2YWx1ZVxyXG4gICAgJC16Zi1icC12YWx1ZTogJG5hbWUgIWdsb2JhbDtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgZm9ybXNcclxuLy8vL1xyXG5cclxuLy8vIEZvbnQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kaW5wdXQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcclxuXHJcbi8vLyBGb250IGNvbG9yIG9mIHBsYWNlaG9sZGVyIHRleHQgd2l0aGluIHRleHQgaW5wdXRzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRm9udCBmYW1pbHkgb2YgdGV4dCBpbnB1dHMuXHJcbi8vLyBAdHlwZSBGb250XHJcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcclxuXHJcbi8vLyBGb250IHNpemUgb2YgdGV4dCBpbnB1dHMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xyXG5cclxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5wdXRzLlxyXG4vLy8gQHR5cGUgS2V5d29yZFxyXG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcclxuXHJcbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGlucHV0cy5cclxuLy8vIEB0eXBlIEtleXdvcmRcclxuJGlucHV0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBmb2N1c2VkIG9mIHRleHQgaW5wdXRzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGRpc2FibGVkIHRleHQgaW5wdXRzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xyXG5cclxuLy8vIEJvcmRlciBhcm91bmQgdGV4dCBpbnB1dHMuXHJcbi8vLyBAdHlwZSBCb3JkZXJcclxuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcclxuXHJcbi8vLyBCb3JkZXIgYXJvdW5kIGZvY3VzZWQgdGV4dCBpbnB1dHMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheSAhZGVmYXVsdDtcclxuXHJcbi8vLyBQYWRkaW5nIG9mIHRleHQgaW5wdXRzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyICFkZWZhdWx0O1xyXG5cclxuLy8vIEJveCBzaGFkb3cgaW5zaWRlIHRleHQgaW5wdXRzIHdoZW4gbm90IGZvY3VzZWQuXHJcbi8vLyBAdHlwZSBTaGFkb3dcclxuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpICFkZWZhdWx0O1xyXG5cclxuLy8vIEJveCBzaGFkb3cgb3V0c2lkZSB0ZXh0IGlucHV0cyB3aGVuIGZvY3VzZWQuXHJcbi8vLyBAdHlwZSBTaGFkb3dcclxuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQ3Vyc29yIHRvIHVzZSB3aGVuIGhvdmVyaW5nIG92ZXIgYSBkaXNhYmxlZCB0ZXh0IGlucHV0LlxyXG4vLy8gQHR5cGUgQ3Vyc29yXHJcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xyXG5cclxuLy8vIFByb3BlcnRpZXMgdG8gdHJhbnNpdGlvbiBvbiB0ZXh0IGlucHV0cy5cclxuLy8vIEB0eXBlIFRyYW5zaXRpb25cclxuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xyXG5cclxuLy8vIEVuYWJsZXMgdGhlIHVwL2Rvd24gYnV0dG9ucyB0aGF0IENocm9tZSBhbmQgRmlyZWZveCBhZGQgdG8gYDxpbnB1dCB0eXBlPSdudW1iZXInPmAgZWxlbWVudHMuXHJcbi8vLyBAdHlwZSBCb29sZWFuXHJcbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gUmFkaXVzIGZvciB0ZXh0IGlucHV0cy5cclxuLy8vIEB0eXBlIEJvcmRlclxyXG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcclxuXHJcbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBmb3JtIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xyXG5cclxuQG1peGluIGZvcm0tZWxlbWVudCB7XHJcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiB1bml0bGVzcy1jYWxjKCRpbnB1dC1saW5lLWhlaWdodCkpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xyXG5cclxuICBkaXNwbGF5OiBibG9jaztcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogJGhlaWdodDtcclxuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xyXG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xyXG5cclxuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XHJcbiAgYm9yZGVyLXJhZGl1czogJGlucHV0LXJhZGl1cztcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZDtcclxuICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93O1xyXG5cclxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xyXG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcclxuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xyXG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XHJcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcclxuXHJcbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xyXG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XHJcbiAgfVxyXG5cclxuICAvLyBGb2N1cyBzdGF0ZVxyXG4gICY6Zm9jdXMge1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xyXG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcclxuXHJcbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XHJcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tZm9ybS10ZXh0IHtcclxuICAvLyBUZXh0IGlucHV0c1xyXG4gICN7dGV4dC1pbnB1dHMoKX0sXHJcbiAgdGV4dGFyZWEge1xyXG4gICAgQGluY2x1ZGUgZm9ybS1lbGVtZW50O1xyXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcclxuICB9XHJcblxyXG4gIC8vIFRleHQgYXJlYXNcclxuICB0ZXh0YXJlYSB7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgJltyb3dzXSB7XHJcbiAgICAgIGhlaWdodDogYXV0bztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGlucHV0LFxyXG4gIHRleHRhcmVhIHtcclxuICAgIC8vIERpc2FibGVkL3JlYWRvbmx5IHN0YXRlXHJcbiAgICAmOmRpc2FibGVkLFxyXG4gICAgJltyZWFkb25seV0ge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcclxuICAgICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gUmVzZXQgc3R5bGVzIG9uIGJ1dHRvbi1saWtlIGlucHV0c1xyXG4gIFt0eXBlPSdzdWJtaXQnXSxcclxuICBbdHlwZT0nYnV0dG9uJ10ge1xyXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLWJ1dHRvbi1yYWRpdXM7XHJcbiAgfVxyXG5cclxuICAvLyBSZXNldCBOb3JtYWxpemUgc2V0dGluZyBjb250ZW50LWJveCB0byBzZWFyY2ggZWxlbWVudHNcclxuICBpbnB1dFt0eXBlPSdzZWFyY2gnXSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICB9XHJcblxyXG4gIC8vIE51bWJlciBpbnB1dCBzdHlsZXNcclxuICBbdHlwZT0nbnVtYmVyJ10ge1xyXG4gICAgQGlmIG5vdCAkaW5wdXQtbnVtYmVyLXNwaW5uZXJzIHtcclxuICAgICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXHJcblxyXG4gICAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxyXG4gICAgICAmOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcclxuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBQbGFjZWhvbGRlciB0ZXh0XHJcbiAgOjpwbGFjZWhvbGRlciB7XHJcbiAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgZm9ybXNcclxuLy8vL1xyXG5cclxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1jaGVja2JveCB7XHJcbiAgW3R5cGU9J2ZpbGUnXSxcclxuICBbdHlwZT0nY2hlY2tib3gnXSxcclxuICBbdHlwZT0ncmFkaW8nXSB7XHJcbiAgICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xyXG4gIH1cclxuXHJcbiAgLy8gU3R5bGVzIGZvciBpbnB1dC9sYWJlbCBzaWJsaW5nc1xyXG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXHJcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcblxyXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcclxuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuXHJcbiAgICAmW2Zvcl0ge1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBTdHlsZXMgZm9yIGlucHV0cyBpbnNpZGUgbGFiZWxzXHJcbiAgbGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcclxuICBsYWJlbCA+IFt0eXBlPSdyYWRpbyddIHtcclxuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xyXG4gIH1cclxuXHJcbiAgLy8gTm9ybWFsaXplIGZpbGUgaW5wdXQgd2lkdGhcclxuICBbdHlwZT0nZmlsZSddIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgZm9ybXNcclxuLy8vL1xyXG5cclxuLy8vIENvbG9yIGZvciBmb3JtIGxhYmVscy5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRm9udCBzaXplIGZvciBmb3JtIGxhYmVscy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcclxuXHJcbi8vLyBGb250IHdlaWdodCBmb3IgZm9ybSBsYWJlbHMuXHJcbi8vLyBAdHlwZSBLZXl3b3JkXHJcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XHJcblxyXG4vLy8gTGluZSBoZWlnaHQgZm9yIGZvcm0gbGFiZWxzLiBUaGUgaGlnaGVyIHRoZSBudW1iZXIsIHRoZSBtb3JlIHNwYWNlIGJldHdlZW4gdGhlIGxhYmVsIGFuZCBpdHMgaW5wdXQgZmllbGQuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuOCAhZGVmYXVsdDtcclxuXHJcbkBtaXhpbiBmb3JtLWxhYmVsIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBtYXJnaW46IDA7XHJcblxyXG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xyXG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcclxuICBsaW5lLWhlaWdodDogJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ7XHJcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xyXG59XHJcblxyXG5AbWl4aW4gZm9ybS1sYWJlbC1taWRkbGUge1xyXG4gICRpbnB1dC1ib3JkZXItd2lkdGg6IGdldC1ib3JkZXItdmFsdWUoJGlucHV0LWJvcmRlciwgd2lkdGgpO1xyXG5cclxuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xyXG4gIHBhZGRpbmc6ICgkZm9ybS1zcGFjaW5nIC8gMiArIHJlbS1jYWxjKCRpbnB1dC1ib3JkZXItd2lkdGgpKSAwO1xyXG59XHJcblxyXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWxhYmVsIHtcclxuICBsYWJlbCB7XHJcbiAgICBAaW5jbHVkZSBmb3JtLWxhYmVsO1xyXG5cclxuICAgICYubWlkZGxlIHtcclxuICAgICAgQGluY2x1ZGUgZm9ybS1sYWJlbC1taWRkbGU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBmb3Jtc1xyXG4vLy8vXHJcblxyXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVscCB0ZXh0LlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGhlbHAgdGV4dC5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBmb250IHN0eWxlIGZvciBoZWxwIHRleHQuXHJcbi8vLyBAdHlwZSBLZXl3b3JkXHJcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XHJcblxyXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWhlbHB0ZXh0IHtcclxuICAuaGVscC10ZXh0IHtcclxuICAgICRtYXJnaW4tdG9wOiAoJGZvcm0tc3BhY2luZyAqIDAuNSkgKiAtMTtcclxuXHJcbiAgICBtYXJnaW4tdG9wOiAkbWFyZ2luLXRvcDtcclxuICAgIGZvbnQtc2l6ZTogJGhlbHB0ZXh0LWZvbnQtc2l6ZTtcclxuICAgIGZvbnQtc3R5bGU6ICRoZWxwdGV4dC1mb250LXN0eWxlO1xyXG4gICAgY29sb3I6ICRoZWxwdGV4dC1jb2xvcjtcclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIGZvcm1zXHJcbi8vLy9cclxuXHJcbi8vLyBDb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xyXG5cclxuLy8vIEJvcmRlciBhcm91bmQgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxyXG4vLy8gQHR5cGUgQm9yZGVyXHJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xyXG5cclxuLy8vIExlZnQvcmlnaHQgcGFkZGluZyBvZiBhbiBwcmUvcG9zdGZpeGVkIGlucHV0IGxhYmVsXHJcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tcHJlcG9zdGZpeCB7XHJcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiAkaW5wdXQtbGluZS1oZWlnaHQpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xyXG5cclxuICAuaW5wdXQtZ3JvdXAge1xyXG4gICAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCB0YWJsZSk7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XHJcblxyXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xyXG4gICAgfVxyXG5cclxuICAgID4gOmZpcnN0LWNoaWxkIHtcclxuICAgICAgJiwgJi5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICA+IDpsYXN0LWNoaWxkIHtcclxuICAgICAgJiwgJi5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cywgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICVpbnB1dC1ncm91cC1jaGlsZCB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cclxuICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcclxuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5pbnB1dC1ncm91cC1sYWJlbCB7XHJcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcclxuICAgIHBhZGRpbmc6IDAgJGlucHV0LXByZWZpeC1wYWRkaW5nO1xyXG4gICAgYm9yZGVyOiAkaW5wdXQtcHJlZml4LWJvcmRlcjtcclxuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDtcclxuXHJcbiAgICBjb2xvcjogJGlucHV0LXByZWZpeC1jb2xvcjtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblxyXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICB3aWR0aDogMSU7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC1wcmVmaXgtYm9yZGVyKSB7XHJcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtcmlnaHR9OiAwO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5pbnB1dC1ncm91cC1maWVsZCB7XHJcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcblxyXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XHJcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XHJcbiAgICAgIG1pbi13aWR0aDogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5pbnB1dC1ncm91cC1idXR0b24ge1xyXG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XHJcbiAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgd2lkdGg6IDElO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgYSxcclxuICAgIGlucHV0LFxyXG4gICAgYnV0dG9uLFxyXG4gICAgbGFiZWwge1xyXG4gICAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcclxuXHJcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xyXG4gICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICB9XHJcbiAgICAgIEBlbHNlIHtcclxuICAgICAgICBoZWlnaHQ6ICRoZWlnaHQ7XHJcbiAgICAgIH1cclxuICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBTcGVjaWZpY2l0eSBidW1wIG5lZWRlZCB0byBwcmV2ZW50IG92ZXJyaWRlIGJ5IGJ1dHRvbnNcclxuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XHJcbiAgICAuaW5wdXQtZ3JvdXAge1xyXG4gICAgICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBmb3Jtc1xyXG4vLy8vXHJcblxyXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXHJcbi8vLyBAdHlwZSBCb3JkZXJcclxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGN1c3RvbSBmaWVsZHNldHMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IG1hcmdpbiBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IHBhZGRpbmcgYmV0d2VlbiB0aGUgbGVnZW5kIHRleHQgYW5kIGZpZWxkc2V0IGJvcmRlci5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMykgIWRlZmF1bHQ7XHJcblxyXG5AbWl4aW4gZmllbGRzZXQge1xyXG4gIG1hcmdpbjogJGZpZWxkc2V0LW1hcmdpbjtcclxuICBwYWRkaW5nOiAkZmllbGRzZXQtcGFkZGluZztcclxuICBib3JkZXI6ICRmaWVsZHNldC1ib3JkZXI7XHJcblxyXG4gIGxlZ2VuZCB7XHJcbiAgICAvLyBDb3ZlcnMgdXAgdGhlIGZpZWxkc2V0J3MgYm9yZGVyIHRvIGNyZWF0ZSBhcnRpZmljaWFsIHBhZGRpbmdcclxuICAgIG1hcmdpbjogMDtcclxuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IHJlbS1jYWxjKC0zKTtcclxuICAgIHBhZGRpbmc6ICRsZWdlbmQtcGFkZGluZztcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZmllbGRzZXQge1xyXG4gIGZpZWxkc2V0IHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgfVxyXG5cclxuICBsZWdlbmQge1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZyAqIDAuNTtcclxuICB9XHJcblxyXG4gIC5maWVsZHNldCB7XHJcbiAgICBAaW5jbHVkZSBmaWVsZHNldDtcclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIGZvcm1zXHJcbi8vLy9cclxuXHJcbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBzZWxlY3QgbWVudXMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBDb2xvciBvZiB0aGUgZHJvcGRvd24gdHJpYW5nbGUgaW5zaWRlIHNlbGVjdCBtZW51cy4gU2V0IHRvIGB0cmFuc3BhcmVudGAgdG8gcmVtb3ZlIGl0IGVudGlyZWx5LlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2VsZWN0IG1lbnVzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xyXG5cclxuQG1peGluIGZvcm0tc2VsZWN0IHtcclxuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqIHVuaXRsZXNzLWNhbGMoJGlucHV0LWxpbmUtaGVpZ2h0KSkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XHJcblxyXG4gIGhlaWdodDogJGhlaWdodDtcclxuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xyXG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xyXG5cclxuICBhcHBlYXJhbmNlOiBub25lO1xyXG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcclxuICBib3JkZXItcmFkaXVzOiAkc2VsZWN0LXJhZGl1cztcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LWJhY2tncm91bmQ7XHJcblxyXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XHJcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xyXG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XHJcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcclxuICBjb2xvcjogJGlucHV0LWNvbG9yO1xyXG5cclxuICBAaWYgJHNlbGVjdC10cmlhbmdsZS1jb2xvciAhPSB0cmFuc3BhcmVudCB7XHJcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRzZWxlY3QtdHJpYW5nbGUtY29sb3IpO1xyXG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGdsb2JhbC1yaWdodCAoLSRmb3JtLXNwYWNpbmcpIGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XHJcblxyXG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAoJGZvcm0tc3BhY2luZyAqIDEuNSk7XHJcbiAgfVxyXG5cclxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XHJcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcclxuICB9XHJcblxyXG4gIC8vIEZvY3VzIHN0YXRlXHJcbiAgJjpmb2N1cyB7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XHJcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xyXG5cclxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcclxuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBEaXNhYmxlZCBzdGF0ZVxyXG4gICY6ZGlzYWJsZWQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XHJcbiAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XHJcbiAgfVxyXG5cclxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xyXG4gICY6Oi1tcy1leHBhbmQge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcblxyXG4gICZbbXVsdGlwbGVdIHtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXNlbGVjdCB7XHJcbiAgc2VsZWN0IHtcclxuICAgIEBpbmNsdWRlIGZvcm0tc2VsZWN0O1xyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgYWJpZGVcclxuLy8vL1xyXG5cclxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBpbnB1dHMuXHJcbi8vLyBAdHlwZSBCb29sZWFuXHJcbiRhYmlkZS1pbnB1dHM6IHRydWUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGxhYmVscy5cclxuLy8vIEB0eXBlIEJvb2xlYW5cclxuJGFiaWRlLWxhYmVsczogdHJ1ZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHRvIHVzZSBmb3IgaW52YWxpZCB0ZXh0IGlucHV0cy5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQ29sb3IgdG8gdXNlIGZvciBsYWJlbHMgb2YgaW52YWxpZCBpbnB1dHMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9ybSBlcnJvciB0ZXh0LlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBmb3JtIGVycm9yIHRleHQuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIGZvcm0gZXJyb3IgdGV4dC5cclxuLy8vIEB0eXBlIEtleXdvcmRcclxuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xyXG5cclxuLy8vIFN0eWxlcyB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyIG9mIGFuIGlucHV0IGZpZWxkIHRvIGhhdmUgYW4gZXJyb3Igc3RhdGUuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRhbGVydC1jb2xvcl0gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIuXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhY2tncm91bmQtbGlnaHRlbiBbMTAlXSAtIExpZ2h0bmVzcyBsZXZlbCBvZiB0aGUgYmFja2dyb3VuZCBjb2xvci5cclxuQG1peGluIGZvcm0taW5wdXQtZXJyb3IoXHJcbiAgJGJhY2tncm91bmQ6ICRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQsXHJcbiAgJGJhY2tncm91bmQtbGlnaHRlbjogMTAlXHJcbikge1xyXG4gICY6bm90KDpmb2N1cykge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IG1peCgkYmFja2dyb3VuZCwgJHdoaXRlLCAkYmFja2dyb3VuZC1saWdodGVuKTtcclxuXHJcbiAgICAmOjpwbGFjZWhvbGRlciB7XHJcbiAgICAgIGNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vLyBBZGRzIGVycm9yIHN0eWxlcyB0byBhIGZvcm0gZWxlbWVudCwgdXNpbmcgdGhlIHZhbHVlcyBpbiB0aGUgc2V0dGluZ3MgZmlsZS5cclxuQG1peGluIGZvcm0tZXJyb3Ige1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbiAgbWFyZ2luLXRvcDogJGZvcm0tc3BhY2luZyAqIC0wLjU7XHJcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcclxuXHJcbiAgZm9udC1zaXplOiAkaW5wdXQtZXJyb3ItZm9udC1zaXplO1xyXG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ7XHJcbiAgY29sb3I6ICRpbnB1dC1lcnJvci1jb2xvcjtcclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1lcnJvciB7XHJcbiAgQGlmICRhYmlkZS1pbnB1dHMge1xyXG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGludmFsaWQgaW5wdXRzXHJcbiAgICAuaXMtaW52YWxpZC1pbnB1dCB7XHJcbiAgICAgIEBpbmNsdWRlIGZvcm0taW5wdXQtZXJyb3I7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgJGFiaWRlLWxhYmVscyB7XHJcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgbGFiZWxzIG9mIGludmFsaWQgb3V0cHV0c1xyXG4gICAgLmlzLWludmFsaWQtbGFiZWwge1xyXG4gICAgICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIEZvcm0gZXJyb3IgZWxlbWVudFxyXG4gIC5mb3JtLWVycm9yIHtcclxuICAgIEBpbmNsdWRlIGZvcm0tZXJyb3I7XHJcblxyXG4gICAgJi5pcy12aXNpYmxlIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWJhc2VcclxuLy8vL1xyXG5cclxuLy8gQmFzZSBUeXBvZ3JhcGh5XHJcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXHJcbi8vIFRoZXNlIGFyZSBzdHlsZXMgYXBwbGllZCB0byBiYXNpYyBIVE1MIHRhZ3MsIGluY2x1ZGluZzpcclxuLy8gICAtIFBhcmFncmFwaHMgPHA+XHJcbi8vICAgLSBCb2xkL2l0YWxpY3MgPGI+IDxzdHJvbmc+IDxpPiA8ZW0+XHJcbi8vICAgLSBTbWFsbCB0ZXh0IDxzbWFsbD5cclxuLy8gICAtIEhlYWRpbmdzIDxoMT4tPGg2PlxyXG4vLyAgIC0gQW5jaG9ycyA8YT5cclxuLy8gICAtIERpdmlkZXJzIDxocj5cclxuLy8gICAtIExpc3RzIDx1bD4gPG9sPiA8ZGw+XHJcbi8vICAgLSBCbG9ja3F1b3RlcyA8YmxvY2txdW90ZT5cclxuLy8gICAtIENvZGUgYmxvY2tzIDxjb2RlPlxyXG4vLyAgIC0gQWJicmV2aWF0aW9ucyA8YWJicj5cclxuLy8gICAtIENpdGF0aW9ucyA8Y2l0ZT5cclxuLy8gICAtIEtleXN0cm9rZXMgPGtiZD5cclxuXHJcbi8vLyBGb250IGZhbWlseSBmb3IgaGVhZGVyIGVsZW1lbnRzLlxyXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxyXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcclxuXHJcbi8vLyBGb250IHdlaWdodCBvZiBoZWFkZXJzLlxyXG4vLy8gQHR5cGUgU3RyaW5nXHJcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcclxuXHJcbi8vLyBGb250IHN0eWxlIChlLmcuIGl0YWxpY2l6ZWQpIG9mIGhlYWRlcnMuXHJcbi8vLyBAdHlwZSBTdHJpbmdcclxuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRm9udCBzdGFjayB1c2VkIGZvciBlbGVtZW50cyB0aGF0IHVzZSBtb25vc3BhY2VkIHR5cGUsIHN1Y2ggYXMgY29kZSBzYW1wbGVzXHJcbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XHJcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlICFkZWZhdWx0O1xyXG5cclxuLy8vIENvbG9yIG9mIGhlYWRlcnMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xyXG5cclxuLy8vIExpbmUgaGVpZ2h0IG9mIGhlYWRlcnMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBoZWFkZXJzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xyXG5cclxuLy8vIFN0eWxlcyBmb3IgaGVhZGluZ3MgYXQgdmFyaW91cyBzY3JlZW4gc2l6ZXMuIEVhY2gga2V5IGlzIGEgYnJlYWtwb2ludCwgYW5kIGVhY2ggdmFsdWUgaXMgYSBtYXAgb2YgaGVhZGluZyBzdHlsZXMuXHJcbi8vLyBAdHlwZSBNYXBcclxuJGhlYWRlci1zdHlsZXM6IChcclxuICBzbWFsbDogKFxyXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAyNCksXHJcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcclxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMTkpLFxyXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXHJcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcclxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxyXG4gICksXHJcbiAgbWVkaXVtOiAoXHJcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDQ4KSxcclxuICAgICdoMic6ICgnZm9udC1zaXplJzogNDApLFxyXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMSksXHJcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI1KSxcclxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxyXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXHJcbiAgKSxcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vICRoZWFkZXItc3R5bGVzIG1hcCBpcyBidWlsdCBmcm9tICRoZWFkZXItc2l6ZXMgaW4gb3JkZXIgdG8gZW5zdXJlIGRvd253YXJkIGNvbXBhdGliaWxpdHlcclxuLy8gd2hlbiAkaGVhZGVyLXNpemVzIGlzIGRlcHJlY2lhdGVkLCAkaGVhZGVyLXN0eWxlcyBuZWVkcyB0byBnZXQgIWRlZmF1bHQgdmFsdWVzIGxpa2Ugc2V0dGluZ3Muc2Nzc1xyXG5AZnVuY3Rpb24gYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcykge1xyXG4gIEB3YXJuICdOb3RlLCB0aGF0ICRoZWFkZXItc2l6ZXMgaGFzIGJlZW4gcmVwbGFjZWQgd2l0aCAkaGVhZGVyLXN0eWxlcy4gJGhlYWRlci1zaXplcyBzdGlsbCB3b3JrcywgYnV0IGl0IGlzIGdvaW5nIHRvIGJlIGRlcHJlY2lhdGVkLic7XHJcbiAgJGhlYWRlci1zdHlsZXM6ICgpO1xyXG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXNpemVzIHtcclxuICAgICRoZWFkZXItbWFwOiAoKTtcclxuICAgIEBlYWNoICRoZWFkZXIsICRmb250LXNpemUgaW4gJGhlYWRlcnMge1xyXG4gICAgICAkaGVhZGVyLW1hcDogbWFwLW1lcmdlKCRoZWFkZXItbWFwLCAoJGhlYWRlcjogKCdmb250LXNpemUnOiAkZm9udC1zaXplKSkpO1xyXG4gICAgfVxyXG4gICAgJGhlYWRlci1zdHlsZXM6IG1hcC1tZXJnZSgkaGVhZGVyLXN0eWxlcywgKCRzaXplOiAkaGVhZGVyLW1hcCkpO1xyXG4gIH1cclxuICBAcmV0dXJuICRoZWFkZXItc3R5bGVzO1xyXG59XHJcblxyXG4vLyBJZiBpdCBleGlzdHMgJGhlYWRlcnMtc2l6ZXMgaXMgdXNlZCB0byBidWlsZCAkaGVhZGVyLXN0eWxlcy4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxyXG5AaWYgdmFyaWFibGUtZXhpc3RzKGhlYWRlci1zaXplcykge1xyXG4gICRoZWFkZXItc3R5bGVzOiBidWlsZF9mcm9tX2hlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKTtcclxufVxyXG5cclxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBvZiBoZWFkZXJzLlxyXG4vLy8gQHR5cGUgU3RyaW5nXHJcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcclxuXHJcbi8vLyBGb250IHNpemUgb2YgYDxzbWFsbD5gIGVsZW1lbnRzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRzbWFsbC1mb250LXNpemU6IDgwJSAhZGVmYXVsdDtcclxuXHJcbi8vLyBDb2xvciBvZiBgPHNtYWxsPmAgZWxlbWVudHMgd2hlbiBwbGFjZWQgaW5zaWRlIGhlYWRlcnMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcclxuXHJcbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGluc2lkZSBgPHA+YCBlbGVtZW50cy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcclxuXHJcbi8vLyBCb3R0b20gbWFyZ2luIG9mIHBhcmFncmFwaHMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xyXG5cclxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBmb3IgcGFyYWdyYXBoIHRleHQuXHJcbi8vLyBAdHlwZSBTdHJpbmdcclxuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xyXG5cclxuLy8vIFRleHQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGNvZGUtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcclxuXHJcbi8vLyBGb250IGZhbWlseSBvZiBjb2RlIHNhbXBsZXMuXHJcbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XHJcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xyXG5cclxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW4gY29kZSBzYW1wbGVzLlxyXG4vLy8gQHR5cGUgU3RyaW5nXHJcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBjb2RlIHNhbXBsZXMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcclxuXHJcbi8vLyBCb3JkZXIgYXJvdW5kIGNvZGUgc2FtcGxlcy5cclxuLy8vIEB0eXBlIExpc3RcclxuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xyXG5cclxuLy8vIFBhZGRpbmcgYXJvdW5kIHRleHQgb2YgY29kZSBzYW1wbGVzLlxyXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxyXG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3MuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcyBvbiBob3Zlci5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcy5cclxuLy8vIEB0eXBlIFN0cmluZ1xyXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3Mgb24gaG92ZXIuXHJcbi8vLyBAdHlwZSBTdHJpbmdcclxuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBhIGRpdmlkZXIuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgYm9yZGVyIGZvciBhIGRpdmlkZXIuXHJcbi8vLyBAdHlwZSBMaXN0XHJcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBtYXJnaW4gZm9yIGEgZGl2aWRlci5cclxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcclxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG8gIWRlZmF1bHQ7XHJcblxyXG4vLy8gTGluZSBoZWlnaHQgZm9yIGl0ZW1zIGluIGEgbGlzdC5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBsaXN0LlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBCdWxsZXQgdHlwZSB0byB1c2UgZm9yIHVub3JkZXJlZCBsaXN0cyAoZS5nLiwgYHNxdWFyZWAsIGBjaXJjbGVgLCBgZGlzY2ApLlxyXG4vLy8gQHR5cGUgU3RyaW5nXHJcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2MgIWRlZmF1bHQ7XHJcblxyXG4vLy8gUG9zaXRpb25pbmcgZm9yIGJ1bGxldHMgb24gdW5vcmRlcmVkIGxpc3QgaXRlbXMuXHJcbi8vLyBAdHlwZSBTdHJpbmdcclxuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgbGlzdHMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgYSBsaXN0IGluc2lkZSBhIGxpc3QuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xyXG5cclxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGA8ZGw+YCBlbGVtZW50cy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBGb250IHdlaWdodCBmb3IgYDxkdD5gIGVsZW1lbnRzLlxyXG4vLy8gQHR5cGUgU3RyaW5nXHJcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcclxuXHJcbi8vLyBTcGFjaW5nIGJldHdlZW4gYDxkdD5gIGFuZCBgPGRkPmAgZWxlbWVudHMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtICFkZWZhdWx0O1xyXG5cclxuLy8vIFRleHQgY29sb3Igb2YgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcclxuXHJcbi8vLyBQYWRkaW5nIGluc2lkZSBhIGA8YmxvY2txdW90ZT5gIGVsZW1lbnQuXHJcbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XHJcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gU2lkZSBib3JkZXIgZm9yIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxyXG4vLy8gQHR5cGUgTGlzdFxyXG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRm9udCBzaXplIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBUZXh0IGNvbG9yIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xyXG5cclxuLy8vIFBzZXVkbyBjb250ZW50IGZvciBgPGNpdGU+YCBlbGVtZW50cy5cclxuLy8vIEB0eXBlIFN0cmluZ1xyXG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnICFkZWZhdWx0O1xyXG5cclxuLy8vIEZvbnQgZmFtaWx5IGZvciBgPGtiZD5gIGVsZW1lbnRzLlxyXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxyXG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XHJcblxyXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcclxuXHJcbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcclxuXHJcbi8vLyBQYWRkaW5nIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxyXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxyXG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxyXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxyXG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQm90dG9tIGJvcmRlciBzdHlsZSBmb3IgYDxhYmJyPmAgZWxlbWVudHMuXHJcbi8vLyBAdHlwZSBMaXN0XHJcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2sgIWRlZmF1bHQ7XHJcblxyXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWJhc2Uge1xyXG4gIC8vIFR5cG9ncmFwaHkgcmVzZXRzXHJcbiAgZGl2LFxyXG4gIGRsLFxyXG4gIGR0LFxyXG4gIGRkLFxyXG4gIHVsLFxyXG4gIG9sLFxyXG4gIGxpLFxyXG4gIGgxLFxyXG4gIGgyLFxyXG4gIGgzLFxyXG4gIGg0LFxyXG4gIGg1LFxyXG4gIGg2LFxyXG4gIHByZSxcclxuICBmb3JtLFxyXG4gIHAsXHJcbiAgYmxvY2txdW90ZSxcclxuICB0aCxcclxuICB0ZCB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gIH1cclxuXHJcbiAgLy8gUGFyYWdyYXBoc1xyXG4gIHAge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xyXG5cclxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcclxuICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XHJcbiAgICB0ZXh0LXJlbmRlcmluZzogJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZztcclxuICB9XHJcblxyXG4gIC8vIEVtcGhhc2l6ZWQgdGV4dFxyXG4gIGVtLFxyXG4gIGkge1xyXG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcbiAgfVxyXG5cclxuICAvLyBTdHJvbmcgdGV4dFxyXG4gIHN0cm9uZyxcclxuICBiIHtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcbiAgfVxyXG5cclxuICAvLyBTbWFsbCB0ZXh0XHJcbiAgc21hbGwge1xyXG4gICAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xyXG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcbiAgfVxyXG5cclxuICAvLyBIZWFkaW5nc1xyXG4gIGgxLCAuaDEsXHJcbiAgaDIsIC5oMixcclxuICBoMywgLmgzLFxyXG4gIGg0LCAuaDQsXHJcbiAgaDUsIC5oNSxcclxuICBoNiwgLmg2IHtcclxuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xyXG4gICAgZm9udC1zdHlsZTogJGhlYWRlci1mb250LXN0eWxlO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItZm9udC13ZWlnaHQ7XHJcbiAgICBjb2xvcjogJGhlYWRlci1jb2xvcjtcclxuICAgIHRleHQtcmVuZGVyaW5nOiAkaGVhZGVyLXRleHQtcmVuZGVyaW5nO1xyXG5cclxuICAgIHNtYWxsIHtcclxuICAgICAgbGluZS1oZWlnaHQ6IDA7XHJcbiAgICAgIGNvbG9yOiAkaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBIZWFkaW5nIHN0eWxlc1xyXG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXN0eWxlcyB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XHJcbiAgICAgIEBlYWNoICRoZWFkZXIsICRoZWFkZXItZGVmcyBpbiAkaGVhZGVycyB7XHJcbiAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiAxcmVtO1xyXG4gICAgICAgICN7JGhlYWRlcn0sIC4jeyRoZWFkZXJ9IHtcclxuXHJcbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmb250LXNpemUpIHtcclxuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xyXG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZzKSB7XHJcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZzKSk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xyXG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpIHtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSwgJGZvbnQtc2l6ZS10ZW1wKTtcclxuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaCkge1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGgpLCAkZm9udC1zaXplLXRlbXApO1xyXG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKCRoZWFkZXItbGluZWhlaWdodCwgJGZvbnQtc2l6ZS10ZW1wKTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSk7XHJcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbXQpIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG10KSk7XHJcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pKTtcclxuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYikge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWIpKTtcclxuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkaGVhZGVyLW1hcmdpbi1ib3R0b20pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gTGlua3NcclxuICBhIHtcclxuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xyXG4gICAgY29sb3I6ICRhbmNob3ItY29sb3I7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uO1xyXG5cclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICAmOmhvdmVyLFxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yLWhvdmVyO1xyXG4gICAgICBAaWYgJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXIgIT0gJGFuY2hvci10ZXh0LWRlY29yYXRpb24ge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpbWcge1xyXG4gICAgICBib3JkZXI6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBIb3Jpem9udGFsIHJ1bGVcclxuICBociB7XHJcbiAgICBjbGVhcjogYm90aDtcclxuXHJcbiAgICBtYXgtd2lkdGg6ICRoci13aWR0aDtcclxuICAgIGhlaWdodDogMDtcclxuICAgIG1hcmdpbjogJGhyLW1hcmdpbjtcclxuXHJcbiAgICBib3JkZXItdG9wOiAwO1xyXG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogJGhyLWJvcmRlcjtcclxuICAgIGJvcmRlci1sZWZ0OiAwO1xyXG4gIH1cclxuXHJcbiAgLy8gTGlzdHNcclxuICB1bCxcclxuICBvbCxcclxuICBkbCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkbGlzdC1tYXJnaW4tYm90dG9tO1xyXG4gICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogJGxpc3Qtc3R5bGUtcG9zaXRpb247XHJcbiAgICBsaW5lLWhlaWdodDogJGxpc3QtbGluZWhlaWdodDtcclxuICB9XHJcblxyXG4gIC8vIExpc3QgaXRlbXNcclxuICBsaSB7XHJcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XHJcbiAgfVxyXG5cclxuICAvLyBVbm9yZGVyZWQgbGlzdHNcclxuICB1bCB7XHJcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcclxuICAgIGxpc3Qtc3R5bGUtdHlwZTogJGxpc3Qtc3R5bGUtdHlwZTtcclxuICB9XHJcblxyXG4gIC8vIE9yZGVyZWQgbGlzdHNcclxuICBvbCB7XHJcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcclxuICB9XHJcblxyXG4gIC8vIE5lc3RlZCB1bm9yZGVyZWQvb3JkZXJlZCBsaXN0c1xyXG4gIHVsLCBvbCB7XHJcbiAgICAmICYge1xyXG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW47XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBEZWZpbml0aW9uIGxpc3RzXHJcbiAgZGwge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LW1hcmdpbi1ib3R0b207XHJcblxyXG4gICAgZHQge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tO1xyXG4gICAgICBmb250LXdlaWdodDogJGRlZm5saXN0LXRlcm0td2VpZ2h0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gQmxvY2txdW90ZXNcclxuICBibG9ja3F1b3RlIHtcclxuICAgIG1hcmdpbjogMCAwICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcclxuICAgIHBhZGRpbmc6ICRibG9ja3F1b3RlLXBhZGRpbmc7XHJcbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYmxvY2txdW90ZS1ib3JkZXI7XHJcblxyXG4gICAgJiwgcCB7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XHJcbiAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1jb2xvcjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIENpdGF0aW9uc1xyXG4gIGNpdGUge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmb250LXNpemU6ICRjaXRlLWZvbnQtc2l6ZTtcclxuICAgIGNvbG9yOiAkY2l0ZS1jb2xvcjtcclxuXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6ICRjaXRlLXBzZXVkby1jb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gQWJicmV2aWF0aW9uc1xyXG4gIGFiYnIsIGFiYnJbdGl0bGVdIHtcclxuICAgIGJvcmRlci1ib3R0b206ICRhYmJyLXVuZGVybGluZTtcclxuICAgIGN1cnNvcjogaGVscDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICB9XHJcblxyXG4gIC8vIEZpZ3VyZXNcclxuICBmaWd1cmUge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gIH1cclxuXHJcbiAgLy8gQ29kZVxyXG4gIGNvZGUge1xyXG4gICAgcGFkZGluZzogJGNvZGUtcGFkZGluZztcclxuXHJcbiAgICBib3JkZXI6ICRjb2RlLWJvcmRlcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2RlLWJhY2tncm91bmQ7XHJcblxyXG4gICAgZm9udC1mYW1pbHk6ICRjb2RlLWZvbnQtZmFtaWx5O1xyXG4gICAgZm9udC13ZWlnaHQ6ICRjb2RlLWZvbnQtd2VpZ2h0O1xyXG4gICAgY29sb3I6ICRjb2RlLWNvbG9yO1xyXG4gIH1cclxuXHJcbiAgLy8gS2V5c3Ryb2tlc1xyXG4gIGtiZCB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAka2V5c3Ryb2tlLXBhZGRpbmc7XHJcblxyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGtleXN0cm9rZS1iYWNrZ3JvdW5kO1xyXG5cclxuICAgIGZvbnQtZmFtaWx5OiAka2V5c3Ryb2tlLWZvbnQ7XHJcbiAgICBjb2xvcjogJGtleXN0cm9rZS1jb2xvcjtcclxuXHJcbiAgICBAaWYgaGFzLXZhbHVlKCRrZXlzdHJva2UtcmFkaXVzKSB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRrZXlzdHJva2UtcmFkaXVzO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1oZWxwZXJzXHJcbi8vLy9cclxuXHJcbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1ICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGxlYWQgcGFyYWdyYXBocy5cclxuLy8vIEB0eXBlIFN0cmluZ1xyXG4kbGVhZC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3Igc3ViaGVhZGVycy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIHN1YmhlYWRlcnMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIHN1YmhlYWRlcnMuXHJcbi8vLyBAdHlwZSBTdHJpbmdcclxuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgdG9wIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIHN0YXRpc3RpYyBudW1iZXJzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtICFkZWZhdWx0O1xyXG5cclxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1oZWxwZXJzIHtcclxuICAvLyBVc2UgdG8gY3JlYXRlIGEgc3ViaGVhZGluZyB1bmRlciBhIG1haW4gaGVhZGVyXHJcbiAgLy8gTWFrZSBzdXJlIHlvdSBwYWlyIHRoZSB0d28gZWxlbWVudHMgaW4gYSA8aGVhZGVyPiBlbGVtZW50LCBsaWtlIHRoaXM6XHJcbiAgLy8gPGhlYWRlcj5cclxuICAvLyAgIDxoMT5IZWFkaW5nPC9oMT5cclxuICAvLyAgIDxoMj5TdWJoZWFkaW5nPC9oMj5cclxuICAvLyA8L2hlYWRlcj5cclxuICAuc3ViaGVhZGVyIHtcclxuICAgIG1hcmdpbi10b3A6ICRzdWJoZWFkZXItbWFyZ2luLXRvcDtcclxuICAgIG1hcmdpbi1ib3R0b206ICRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTtcclxuXHJcbiAgICBmb250LXdlaWdodDogJHN1YmhlYWRlci1mb250LXdlaWdodDtcclxuICAgIGxpbmUtaGVpZ2h0OiAkc3ViaGVhZGVyLWxpbmVoZWlnaHQ7XHJcbiAgICBjb2xvcjogJHN1YmhlYWRlci1jb2xvcjtcclxuICB9XHJcblxyXG4gIC8vIFVzZSB0byBzdHlsZSBhbiBpbnRyb2R1Y3RvcnkgbGVhZCwgZGVjaywgYmx1cmIsIGV0Yy5cclxuICAubGVhZCB7XHJcbiAgICBmb250LXNpemU6ICRsZWFkLWZvbnQtc2l6ZTtcclxuICAgIGxpbmUtaGVpZ2h0OiAkbGVhZC1saW5laGVpZ2h0O1xyXG4gIH1cclxuXHJcbiAgLy8gVXNlIHRvIHN0eWxlIGEgbGFyZ2UgbnVtYmVyIHRvIGRpc3BsYXkgYSBzdGF0aXN0aWNcclxuICAuc3RhdCB7XHJcbiAgICBmb250LXNpemU6ICRzdGF0LWZvbnQtc2l6ZTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG5cclxuICAgIHAgKyAmIHtcclxuICAgICAgbWFyZ2luLXRvcDogLTFyZW07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB1bCwgb2wge1xyXG4gICAgLy8gVXNlIHRvIHJlbW92ZSBudW1iZXJzIGZyb20gb3JkZXJlZCBsaXN0ICYgYnVsbGV0cyBmcm9tIHVub3JkZXJlZCBsaXN0XHJcbiAgICAmLm5vLWJ1bGxldCB7XHJcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XHJcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLXRleHQtYWxpZ25tZW50IHtcclxuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcclxuICAgICAgQGVhY2ggJGFsaWduIGluIChsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5KSB7XHJcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcclxuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LSN7JGFsaWdufSB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGVsc2Uge1xyXG4gICAgICAgICAgLnRleHQtI3skYWxpZ259IHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8gSWYgYHRydWVgLCBhbGwgZWxlbWVudHMgd2lsbCBoYXZlIHRyYW5zcGFyZW50IGJhY2tncm91bmRzIHdoZW4gcHJpbnRlZCwgdG8gc2F2ZSBvbiBpbmsuXHJcbi8vLyBAdHlwZSBCb29sZWFuXHJcbi8vLyBAZ3JvdXAgZ2xvYmFsXHJcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBJZiBgdHJ1ZWAsIGRpc3BsYXlzIG5leHQgdG8gYWxsIGxpbmtzIHRoZWlyIFwiaHJlZlwiIHdoZW4gcHJpbnRlZC5cclxuLy8vIEB0eXBlIEJvb2xlYW5cclxuLy8vIEBncm91cCBnbG9iYWxcclxuJHByaW50LWhyZWZzOiB0cnVlICFkZWZhdWx0O1xyXG5cclxuLy8gc2Fzcy1saW50OmRpc2FibGUtYWxsXHJcblxyXG5AbWl4aW4gZm91bmRhdGlvbi1wcmludC1zdHlsZXMge1xyXG4gIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxyXG5cclxuICBAbWVkaWEgcHJpbnQge1xyXG4gICAgKiB7XHJcbiAgICAgIEBpZiAkcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHMge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuXHJcbiAgICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zXHJcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxyXG4gICAgLmhpZGUtZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XHJcblxyXG4gICAgdGFibGUuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XHJcbiAgICB0aGVhZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XHJcbiAgICB0Ym9keS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XHJcbiAgICB0ci5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XHJcbiAgICB0ZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxyXG4gICAgdGguc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cclxuXHJcbiAgICAvLyBEaXNwbGF5IHRoZSBVUkwgb2YgYSBsaW5rIGFmdGVyIHRoZSB0ZXh0XHJcbiAgICBhLFxyXG4gICAgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fVxyXG4gICAgQGlmICRwcmludC1ocmVmcyB7XHJcbiAgICAgIGFbaHJlZl06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIoaHJlZikgJyknOyB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gRG9uJ3QgZGlzcGxheSB0aGUgVVJMIGZvciBpbWFnZXMgb3IgSmF2YVNjcmlwdC9pbnRlcm5hbCBsaW5rc1xyXG4gICAgLmlyIGE6YWZ0ZXIsXHJcbiAgICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxyXG4gICAgYVtocmVmXj0nIyddOmFmdGVyIHsgY29udGVudDogJyc7IH1cclxuXHJcbiAgICAvLyBEaXNwbGF5IHdoYXQgYW4gYWJicmV2aWF0aW9uIHN0YW5kcyBmb3IgYWZ0ZXIgdGhlIHRleHRcclxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKHRpdGxlKSAnKSc7IH1cclxuXHJcbiAgICAvLyBQcmV2ZW50IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgYSBibG9ja3F1b3RlIG9yIHByZWZvcm1hdHRlZCB0ZXh0IGJsb2NrXHJcbiAgICBwcmUsXHJcbiAgICBibG9ja3F1b3RlIHtcclxuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGRhcmstZ3JheTtcclxuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIGg1YnAuY29tL3RcclxuICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XHJcblxyXG4gICAgdHIsXHJcbiAgICBpbWcgeyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cclxuXHJcbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxyXG5cclxuICAgIEBwYWdlIHsgbWFyZ2luOiAwLjVjbTsgfVxyXG5cclxuICAgIHAsXHJcbiAgICBoMixcclxuICAgIGgzIHtcclxuICAgICAgb3JwaGFuczogMztcclxuICAgICAgd2lkb3dzOiAzO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEF2b2lkIHBhZ2UgYnJlYWtzIGFmdGVyIGEgaGVhZGluZ1xyXG4gICAgaDIsXHJcbiAgICBoMyB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XHJcblxyXG4gICAgLy8gSGVscGVyIHRvIHJlLWFsbG93IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgY2VydGFpbiBlbGVtZW50cyAoZS5nLiBwcmUsIGJsb2NrcXVvdGUsIHRyKVxyXG4gICAgLnByaW50LWJyZWFrLWluc2lkZSB7XHJcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdXRvO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgeHktZ3JpZFxyXG4vLy8vXHJcblxyXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXHJcbkBtaXhpbiB4eS1iYXNlLWdyaWQtY2xhc3NlcyB7XHJcblxyXG4gIC8vIEdyaWQgQ29udGFpbmVyXHJcbiAgLmdyaWQtY29udGFpbmVyIHtcclxuICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyO1xyXG5cclxuICAgICYuZmx1aWQge1xyXG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcigxMDAlKTtcclxuICAgIH1cclxuXHJcbiAgICAmLmZ1bGwge1xyXG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcigxMDAlLCAwKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIEJhc2UgZ3JpZCBzdHlsZXNcclxuICAuZ3JpZC14IHtcclxuICAgIEBpbmNsdWRlIHh5LWdyaWQ7XHJcbiAgfVxyXG5cclxuICAuY2VsbCB7XHJcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoKTtcclxuICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRncmlkLWNvbHVtbnMsIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xyXG5cclxuICAgICYuYXV0byB7XHJcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTtcclxuICAgIH1cclxuXHJcbiAgICAmLnNocmluayB7XHJcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xyXG4gICAgfVxyXG5cclxuICB9XHJcbiAgLmdyaWQteCB7XHJcbiAgICA+IC5hdXRvIHtcclxuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoYXV0bywgZmFsc2UpO1xyXG4gICAgfVxyXG5cclxuICAgID4gLnNocmluayB7XHJcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gQXV0byB3aWR0aFxyXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XHJcbiAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzICYgUFJzIGZvciB0aGUgYmFja3N0b3J5OlxyXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTAyNDRcclxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDIyMiBhbmRcclxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDE2NFxyXG4gICAgLmdyaWQteCB7XHJcbiAgICAgICRzdHI6IFwiPiAuI3skLXpmLXNpemV9LXNocmluaywgPiAuI3skLXpmLXNpemV9LWZ1bGxcIjtcclxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcclxuICAgICAgICAkc3RyOiAkc3RyICsgXCIsID4gLiN7JC16Zi1zaXplfS0jeyRpfVwiXHJcbiAgICAgIH1cclxuICAgICAgI3skc3RyfSB7XHJcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcclxuICAgIC8vIFJlc3BvbnNpdmUgXCJhdXRvXCIgbW9kaWZpZXJcclxuICAgIEBpZiBub3QoJC16Zi1zaXplID09IHNtYWxsKSB7XHJcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LWF1dG8ge1xyXG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTtcclxuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAlLXh5LWNlbGwtYmFzZS1zaHJpbmstaG9yaXpvbnRhbC0jeyQtemYtc2l6ZX0ge1xyXG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBSZXNwb25zaXZlIFwic2hyaW5rXCIgbW9kaWZpZXJcclxuICAgIEBpZiBub3QoJC16Zi1zaXplID09IHNtYWxsKSB7XHJcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LXNocmluayB7XHJcbiAgICAgICAgQGV4dGVuZCAlLXh5LWNlbGwtYmFzZS1zaHJpbmstaG9yaXpvbnRhbC0jeyQtemYtc2l6ZX07XHJcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBSZXNwb25zaXZlIHdpZHRoIG1vZGlmaWVyc1xyXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcclxuICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxyXG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS0jeyRpfSB7XHJcbiAgICAgICAgQGV4dGVuZCAlLXh5LWNlbGwtYmFzZS1zaHJpbmstaG9yaXpvbnRhbC0jeyQtemYtc2l6ZX07XHJcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBSZXNldCB3aWR0aCB3aGVuIHVzaW5nIGAuZ3JpZC1tYXJnaW4teGAgbm90IG9uIGAuZ3JpZC14YFxyXG4gIC5ncmlkLW1hcmdpbi14Om5vdCguZ3JpZC14KSA+IC5jZWxsIHtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gIH1cclxuXHJcbiAgLy8gUmVzZXQgaGVpZ2h0IHdoZW4gdXNpbmcgYC5ncmlkLW1hcmdpbi15YCBub3Qgb24gYC5ncmlkLXlgXHJcbiAgLmdyaWQtbWFyZ2luLXk6bm90KC5ncmlkLXkpID4gLmNlbGwge1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkY2xhc3MtYnJlYWtwb2ludCwgJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWwpIHtcclxuICAkcHJlZml4OiBpZigkY2xhc3MtYnJlYWtwb2ludCA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCwgJycsICcjeyRjbGFzcy1icmVha3BvaW50fS0nKTtcclxuICA+IC4jeyRwcmVmaXh9YXV0byB7XHJcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xyXG4gIH1cclxuXHJcbiAgPiAuI3skcHJlZml4fXNocmluayB7XHJcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlLCAkYnJlYWtwb2ludDogJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XHJcbiAgfVxyXG5cclxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xyXG4gICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxyXG4gICAgJGNsYXNzbmFtZTogaWYoJHZlcnRpY2FsLCAnLiN7JGNsYXNzLWJyZWFrcG9pbnR9LSN7JGl9JywgJy4jeyRjbGFzcy1icmVha3BvaW50fS0jeyRpfScpO1xyXG5cclxuICAgID4gI3skY2xhc3NuYW1lfSB7XHJcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gTWFyZ2luIEdyaWQgY2xhc3Nlc1xyXG5AbWl4aW4geHktbWFyZ2luLWdyaWQtY2xhc3NlcyhcclxuICAkZ3V0dGVyLXBvc2l0aW9uOiBsZWZ0IHJpZ2h0LFxyXG4gICR2ZXJ0aWNhbDogZmFsc2UsXHJcbiAgJHdyYXBwaW5nLXNlbGVjdG9yOiAnLmdyaWQtbWFyZ2luLXgnXHJcbil7XHJcbiAgI3skd3JhcHBpbmctc2VsZWN0b3J9IHtcclxuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiAkZ3V0dGVyLXBvc2l0aW9uKTtcclxuXHJcbiAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXHJcbiAgICA+IC5jZWxsIHtcclxuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJHZlcnRpY2FsOiAkdmVydGljYWwpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIGJhc2Ugc3R5bGVzIG5lZWQgdG8gYWxsIGJlIGJlZm9yZSB0aGUgYXV0byBhbmQgc2hyaW5rIHN0eWxlc1xyXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcclxuICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSBhbmQgJC16Zi1zaXplICE9ICQtemYtemVyby1icmVha3BvaW50KSB7XHJcbiAgICAgICAgPiAuY2VsbCB7XHJcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcclxuXHJcbiAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXHJcbiAgICAgIC8vIGZvciBhbGwgcHJpb3IgYnJlYWtwb2ludHMuXHJcbiAgICAgIC8vIEFzIHRoZWlyIGd1dHRlciBpcyBkZWZpbmVkIHdpdGggdGhlaXIgd2lkdGgvaGVpZ2h0LCBldmVuIGJyZWFrcG9pbnQgd2l0aG91dCBhIG5ldyBtYXJnaW4gbXVzdCBiZVxyXG4gICAgICAvLyBnZW5lcmF0ZWQgdG8gbm90IGhhdmluZyB0aGVpciB3aWR0aC9oZWlnaHQgb3ZlcnJpZGVkIGJ5IHJlLWFkanVzdGVkIHNtYWxsZXIgYnJlYWtwb2ludHMuXHJcbiAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkpIHtcclxuICAgICAgICBAZWFjaCAkYnAgaW4gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkLXpmLXNpemUpIHtcclxuICAgICAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkYnAsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkLXpmLXNpemUsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIFBhZGRpbmcgR3JpZCBjbGFzc2VzXHJcbkBtaXhpbiB4eS1wYWRkaW5nLWdyaWQtY2xhc3NlcyB7XHJcbiAgLmdyaWQtcGFkZGluZy14IHtcclxuXHJcbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIG5lc3RlZCBncmlkc1xyXG4gICAgLmdyaWQtcGFkZGluZy14IHtcclxuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgZ3JpZHMgd2l0aGluIGBncmlkLWNvbnRhaW5lci9ncmlkLWNvbnRhaW5lci5mbHVpZGBcclxuICAgIC8vIFRoaXMgYWxsb3dzIG1hcmdpbiBhbmQgcGFkZGluZyBncmlkcyB0byBsaW5lIHVwIHdpdGggZWFjaG90aGVyXHJcbiAgICAuZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+ICYge1xyXG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xyXG4gICAgPiAuY2VsbCB7XHJcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIEJsb2NrIEdyaWQgY2xhc3Nlc1xyXG5AbWl4aW4geHktYmxvY2stZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZDogdHJ1ZSwgJHBhZGRpbmctZ3JpZDogdHJ1ZSkge1xyXG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcclxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xyXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XHJcbiAgICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XHJcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkbjogJGksICRzZWxlY3RvcjogJy5jZWxsJywgJGd1dHRlci1vdXRwdXQ6IGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRicmVha3BvaW50OiAkLXpmLXNpemUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGlmICRtYXJnaW4tZ3JpZCB7XHJcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcclxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xyXG4gICAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXHJcbiAgICAgICAgLy8gZm9yIHByaW9yIGJyZWFrcG9pbnRzIGJhc2VkIG9uIHRoZSByZXNwb25zaXZlIGd1dHRlci5cclxuICAgICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XHJcbiAgICAgICAgICBAZWFjaCAkYnAgaW4gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkLXpmLXNpemUpIHtcclxuICAgICAgICAgICAgQGlmKG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkYnApKSB7XHJcbiAgICAgICAgICAgICAgLmdyaWQtbWFyZ2luLXguI3skYnB9LXVwLSN7JGl9IHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRuOiAkaSwgJHNlbGVjdG9yOiAnLmNlbGwnLCAkZ3V0dGVyLW91dHB1dDogZmFsc2UsICRndXR0ZXItdHlwZTogbWFyZ2luLCAkYnJlYWtwb2ludDogJC16Zi1zaXplKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xyXG4gICAgICAgIC5ncmlkLW1hcmdpbi14LiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XHJcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkbjogJGksICRzZWxlY3RvcjogJy5jZWxsJywgJGd1dHRlci1vdXRwdXQ6IGZhbHNlLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBDb2xsYXBzZSBjbGFzc2VzXHJcbkBtaXhpbiB4eS1jb2xsYXBzZS1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkOiB0cnVlLCAkcGFkZGluZy1ncmlkOiB0cnVlKSB7XHJcbiAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xyXG4gICAgQGlmICRtYXJnaW4tZ3JpZCB7XHJcbiAgICAgIC4jeyRicH0tbWFyZ2luLWNvbGxhcHNlIHtcclxuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbGxhcHNlKCRndXR0ZXItdHlwZTogbWFyZ2luLCAkbWluLWJyZWFrcG9pbnQ6ICRicCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAaWYgJHBhZGRpbmctZ3JpZCB7XHJcbiAgICAgIC4jeyRicH0tcGFkZGluZy1jb2xsYXBzZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb2xsYXBzZSgkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRtaW4tYnJlYWtwb2ludDogJGJwKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gT2Zmc2V0IGNsYXNzZXNcclxuQG1peGluIHh5LW9mZnNldC1jZWxsLWNsYXNzZXMge1xyXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xyXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcclxuICAgICAgLy8gT2Zmc2V0c1xyXG4gICAgICAkbzogJGkgLSAxO1xyXG5cclxuICAgICAgLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xyXG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KCRvLCAkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRicmVha3BvaW50OiAkLXpmLXNpemUpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuZ3JpZC1tYXJnaW4teCA+IC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcclxuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgkbywgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIFZlcnRpY2FsIEdyaWQgY2xhc3Nlc1xyXG5AbWl4aW4geHktdmVydGljYWwtZ3JpZC1jbGFzc2VzKFxyXG4gICRtYXJnaW4tZ3JpZDogdHJ1ZSxcclxuICAkcGFkZGluZy1ncmlkOiB0cnVlXHJcbikge1xyXG5cclxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xyXG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gc21hbGwpIHtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5ncmlkLXkge1xyXG4gICAgQGluY2x1ZGUgeHktZ3JpZCh2ZXJ0aWNhbCwgZmFsc2UpO1xyXG5cclxuXHJcbiAgICA+IC5jZWxsIHtcclxuICAgICAgQGluY2x1ZGUgeHktY2VsbC1yZXNldCgpO1xyXG4gICAgfVxyXG5cclxuICAgID4gLmF1dG8ge1xyXG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSwgJHZlcnRpY2FsOiB0cnVlKTtcclxuICAgIH1cclxuXHJcbiAgICA+IC5zaHJpbmsge1xyXG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlLCAkdmVydGljYWw6IHRydWUpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xyXG4gICAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzIGFuZCBQUnMgZm9yIHRoZSBiYWNrc3Rvcnk6XHJcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XHJcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDIyMiBhbmRcclxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMTY0XHJcbiAgICAgICRzdHI6IFwiPiAuI3skLXpmLXNpemV9LXNocmluaywgPiAuI3skLXpmLXNpemV9LWZ1bGxcIjtcclxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcclxuICAgICAgICAkc3RyOiAkc3RyICsgXCIsID4gLiN7JC16Zi1zaXplfS0jeyRpfVwiXHJcbiAgICAgIH1cclxuICAgICAgI3skc3RyfSB7XHJcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XHJcbiAgICAgIC8vIFJlc3BvbnNpdmUgXCJhdXRvXCIgbW9kaWZpZXJcclxuICAgICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gc21hbGwpIHtcclxuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XHJcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoYXV0byk7XHJcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiB0cnVlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICUteHktY2VsbC1iYXNlLXNocmluay12ZXJ0aWNhbC0jeyQtemYtc2l6ZX0ge1xyXG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBSZXNwb25zaXZlIFwic2hyaW5rXCIgbW9kaWZpZXJcclxuICAgICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gc21hbGwpIHtcclxuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tc2hyaW5rIHtcclxuICAgICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLXZlcnRpY2FsLSN7JC16Zi1zaXplfTtcclxuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UsICRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogdHJ1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBSZXNwb25zaXZlIHdpZHRoIG1vZGlmaWVyc1xyXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xyXG4gICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcclxuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tI3skaX0ge1xyXG4gICAgICAgICAgQGV4dGVuZCAlLXh5LWNlbGwtYmFzZS1zaHJpbmstdmVydGljYWwtI3skLXpmLXNpemV9O1xyXG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksIGZhbHNlLCAkdmVydGljYWw6IHRydWUsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGlmICRwYWRkaW5nLWdyaWQge1xyXG4gICAgLmdyaWQtcGFkZGluZy15IHtcclxuICAgICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBuZXN0ZWQgZ3JpZHNcclxuICAgICAgLmdyaWQtcGFkZGluZy15IHtcclxuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSwgJGd1dHRlci1wb3NpdGlvbjogdG9wIGJvdHRvbSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcclxuICAgICAgPiAuY2VsbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgJG1hcmdpbi1ncmlkIHtcclxuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXModG9wIGJvdHRvbSwgdHJ1ZSwgJy5ncmlkLW1hcmdpbi15Jyk7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuQG1peGluIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZDogdHJ1ZSwgJG1hcmdpbi1ncmlkOiB0cnVlKSB7XHJcbiAgLy8gRnJhbWVkIGdyaWQgc3R5bGVzXHJcbiAgLmdyaWQtZnJhbWUge1xyXG4gICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZTtcclxuICB9XHJcblxyXG4gIC5jZWxsIC5ncmlkLWZyYW1lIHtcclxuICAgIHdpZHRoOiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xyXG4gIH1cclxuXHJcbiAgLmNlbGwtYmxvY2sge1xyXG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jaygpO1xyXG4gIH1cclxuXHJcbiAgLmNlbGwtYmxvY2steSB7XHJcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xyXG4gIH1cclxuXHJcblxyXG4gIC5jZWxsLWJsb2NrLWNvbnRhaW5lciB7XHJcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpO1xyXG4gIH1cclxuXHJcblxyXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcclxuXHJcbiAgICAuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xyXG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lO1xyXG4gICAgfVxyXG5cclxuICAgIC5jZWxsIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XHJcbiAgICAgIHdpZHRoOiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xyXG4gICAgfVxyXG5cclxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jayB7XHJcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2soKTtcclxuICAgIH1cclxuXHJcbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2stY29udGFpbmVyIHtcclxuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jay1jb250YWluZXIoKTtcclxuICAgIH1cclxuXHJcbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2steSB7XHJcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2sodHJ1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgJHZlcnRpY2FsLWdyaWQge1xyXG4gICAgLmdyaWQteSB7XHJcbiAgICAgICYuZ3JpZC1mcmFtZSB7XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xyXG4gICAgICAgICYuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xyXG4gICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5jZWxsIHtcclxuICAgICAgLmdyaWQteS5ncmlkLWZyYW1lIHtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXHJcbiAgICAgIH1cclxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xyXG4gICAgICAgIC5ncmlkLXkuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xyXG4gICAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBAaWYgJG1hcmdpbi1ncmlkIHtcclxuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXModG9wIGJvdHRvbSwgdHJ1ZSwgJy5ncmlkLW1hcmdpbi15Jyk7XHJcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcclxuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlLCBmYWxzZSwgJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRpbmNsdWRlLWJhc2U6IGZhbHNlKTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcclxuICAgICAgLmdyaWQtbWFyZ2luLXkuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xyXG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSwgZmFsc2UsICRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUsIGZhbHNlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gRmluYWwgY2xhc3Nlc1xyXG5AbWl4aW4gZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXMoXHJcbiAgJGJhc2UtZ3JpZDogdHJ1ZSxcclxuICAkbWFyZ2luLWdyaWQ6IHRydWUsXHJcbiAgJHBhZGRpbmctZ3JpZDogdHJ1ZSxcclxuICAkYmxvY2stZ3JpZDogdHJ1ZSxcclxuICAkY29sbGFwc2U6IHRydWUsXHJcbiAgJG9mZnNldDogdHJ1ZSxcclxuICAkdmVydGljYWwtZ3JpZDogdHJ1ZSxcclxuICAkZnJhbWUtZ3JpZDogdHJ1ZVxyXG4pIHtcclxuXHJcbiAgLy8gQmFzZSBncmlkIHN0eWxlc1xyXG4gIEBpZigkYmFzZS1ncmlkKSB7XHJcbiAgICBAaW5jbHVkZSB4eS1iYXNlLWdyaWQtY2xhc3NlcygpO1xyXG4gIH1cclxuXHJcbiAgLy8gTWFyZ2luIGdyaWRcclxuICBAaWYoJG1hcmdpbi1ncmlkKSB7XHJcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKCk7XHJcbiAgfVxyXG5cclxuICAvLyBQYWRkaW5nIGdyaWRcclxuICBAaWYoJHBhZGRpbmctZ3JpZCkge1xyXG4gICAgQGluY2x1ZGUgeHktcGFkZGluZy1ncmlkLWNsYXNzZXMoKTtcclxuICB9XHJcblxyXG4gIC8vIEJsb2NrIGdyaWRcclxuICBAaWYoJGJsb2NrLWdyaWQpIHtcclxuICAgIEBpbmNsdWRlIHh5LWJsb2NrLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xyXG4gIH1cclxuXHJcbiAgLy8gQ29sbGFwc2UgZ3V0dGVyc1xyXG4gIEBpZigkY29sbGFwc2UpIHtcclxuICAgIEBpbmNsdWRlIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xyXG4gIH1cclxuXHJcbiAgLy8gT2Zmc2V0IGd1dHRlcnNcclxuICBAaWYoJG9mZnNldCkge1xyXG4gICAgQGluY2x1ZGUgeHktb2Zmc2V0LWNlbGwtY2xhc3NlcygpO1xyXG4gIH1cclxuXHJcbiAgLy8gVmVydGljYWwgZ3JpZFxyXG4gIEBpZigkdmVydGljYWwtZ3JpZCkge1xyXG4gICAgQGluY2x1ZGUgeHktdmVydGljYWwtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XHJcbiAgfVxyXG5cclxuICBAaWYgKCRmcmFtZS1ncmlkKSB7XHJcbiAgICBAaW5jbHVkZSB4eS1mcmFtZS1ncmlkLWNsYXNzZXMoJHZlcnRpY2FsLWdyaWQsICRtYXJnaW4tZ3JpZClcclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIHh5LWdyaWRcclxuLy8vL1xyXG5cclxuLy8vIENyZWF0ZSBndXR0ZXJzIGZvciBhIGNlbGwvY29udGFpbmVyLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXHJcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBlaXRoZXIgbWFyZ2luIG9yIHBhZGRpbmcuXHJcbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxyXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVnYXRpdmUgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gYXBwbHkgdGhlIGd1dHRlciBhcyBhIG5lZ2F0aXZlIHZhbHVlLiBDb21tb25seSB1c2VkIGZvciBuZXN0ZWQgZ3JpZHMuXHJcbkBtaXhpbiB4eS1ndXR0ZXJzKFxyXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcclxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcclxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxyXG4gICRuZWdhdGl2ZTogZmFsc2VcclxuKSB7XHJcbiAgJG9wZXJhdG9yOiBpZigkbmVnYXRpdmUsICctJywgJycpO1xyXG5cclxuICAvLyBJZiB3ZSBoYXZlIGRlY2xhcmVkIG5lZ2F0aXZlIGd1dHRlcnMsIGZvcmNlIHR5cGUgdG8gYG1hcmdpbi5cclxuICAkZ3V0dGVyLXR5cGU6IGlmKCRuZWdhdGl2ZSwgJ21hcmdpbicsICRndXR0ZXItdHlwZSk7XHJcblxyXG4gIC8vIE91dHB1dCBvdXIgbWFyZ2luIGd1dHRlcnMuXHJcbiAgQGlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJykge1xyXG4gICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoYXV0bywgJGd1dHRlcnMpIHtcclxuICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgLyAyO1xyXG5cclxuICAgICAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggZ3V0dGVyIHBvc2l0aW9uXHJcbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcclxuICAgICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiB1bnF1b3RlKFwiI3skb3BlcmF0b3J9I3skZ3V0dGVyfVwiKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAodHlwZS1vZigkZ3V0dGVycykgPT0gJ251bWJlcicpIHtcclxuICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXJzKSAvIDI7XHJcblxyXG4gICAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggZ3V0dGVyIHBvc2l0aW9uXHJcbiAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XHJcbiAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06IHVucXVvdGUoXCIjeyRvcGVyYXRvcn0jeyRndXR0ZXJ9XCIpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgeHktZ3JpZFxyXG4vLy8vXHJcblxyXG4vLy8gQ3JlYXRlcyBhIG1heCB3aWR0aCBjb250YWluZXIsIGRlc2lnbmVkIHRvIGhvdXNlIHlvdXIgZ3JpZCBjb250ZW50LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRncmlkLWNvbnRhaW5lcl0gLSBhIHdpZHRoIHRvIGxpbWl0IHRoZSBjb250YWluZXIgdG8uXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRncmlkLWNvbnRhaW5lci1wYWRkaW5nXSAtIHBhZGRpbmdzIG9mIHRoZSBjb250YWluZXIuXHJcbkBtaXhpbiB4eS1ncmlkLWNvbnRhaW5lcihcclxuICAkd2lkdGg6ICRncmlkLWNvbnRhaW5lcixcclxuICAkcGFkZGluZzogJGdyaWQtY29udGFpbmVyLXBhZGRpbmdcclxuKSB7XHJcbiAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJHBhZGRpbmcsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XHJcblxyXG4gIG1heC13aWR0aDogJHdpZHRoO1xyXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gIG1hcmdpbi1yaWdodDogYXV0bztcclxufVxyXG5cclxuLy8vIENyZWF0ZXMgYSBjb250YWluZXIgZm9yIHlvdXIgZmxleCBjZWxscy5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2hvcml6b250YWxdIC0gRWl0aGVyIGhvcml6b250YWwgb3IgdmVydGljYWwgZGlyZWN0aW9uIG9mIGNlbGxzIHdpdGhpbi5cclxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHdyYXAgW3RydWVdIC0gSWYgdGhlIGNlbGxzIHdpdGhpbiBzaG91bGQgd3JhcCBvciBub3QuXHJcbkBtaXhpbiB4eS1ncmlkKFxyXG4gICRkaXJlY3Rpb246IGhvcml6b250YWwsXHJcbiAgJHdyYXA6IHRydWVcclxuKSB7XHJcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiA9PSAnaG9yaXpvbnRhbCcsIHJvdywgY29sdW1uKTtcclxuICAkd3JhcDogaWYoJHdyYXAsIHdyYXAsIG5vd3JhcCk7XHJcblxyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1mbG93OiAkZGlyZWN0aW9uICR3cmFwO1xyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCB4eS1ncmlkXHJcbi8vLy9cclxuXHJcbi8vLyBDYWxjdWxhdGUgdGhlIHBlcmNlbnRhZ2Ugc2l6ZSBvZiBhIGNlbGwuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHNpemUgWyRncmlkLWNvbHVtbnNdIC0gU2l6ZSB0byBtYWtlIHRoZSBjZWxsLiBZb3UgY2FuIHBhc3MgYSB2YWx1ZSBpbiBtdWx0aXBsZSBmb3JtYXRzLCBzdWNoIGFzIGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzNgLlxyXG5AZnVuY3Rpb24geHktY2VsbC1zaXplKFxyXG4gICRzaXplOiAkZ3JpZC1jb2x1bW5zXHJcbikge1xyXG4gIC8vIFBhcnNpbmcgcGVyY2VudHMsIGRlY2ltYWxzLCBuIG9mIG4gYW5kIG51bWJlciBjb3VudHNcclxuICBAaWYgdHlwZS1vZigkc2l6ZSkgPT0gJ251bWJlcicge1xyXG4gICAgQGlmIHVuaXQoJHNpemUpID09ICclJyB7XHJcbiAgICAgICRzaXplOiAkc2l6ZTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRzaXplIDwgMSB7XHJcbiAgICAgICRzaXplOiBwZXJjZW50YWdlKCRzaXplKTtcclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgJHNpemU6IHBlcmNlbnRhZ2UoJHNpemUgLyAkZ3JpZC1jb2x1bW5zKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFBhcnNpbmcgXCJuIG9mIG5cIiBvciBcIm4vblwiIGV4cHJlc3Npb25zXHJcbiAgQGVsc2UgaWYgdHlwZS1vZigkc2l6ZSkgPT0gJ2xpc3QnIHtcclxuICAgIEBpZiBsZW5ndGgoJHNpemUpICE9IDMge1xyXG4gICAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgeHktY2VsbC1zaXplKCkuIFVzZSB0aGUgZm9ybWF0IFwibiBvZiBuXCIgb3IgXCJuL25cIi4nO1xyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICAkc2l6ZTogcGVyY2VudGFnZShudGgoJHNpemUsIDEpIC8gbnRoKCRzaXplLCAzKSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vIEFueXRoaW5nIGVsc2UgaXMgaW5jb3JyZWN0XHJcbiAgQGVsc2Uge1xyXG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIHh5LWNlbGwtc2l6ZSgpLiBVc2UgYSBudW1iZXIsIGRlY2ltYWwsIHBlcmNlbnRhZ2UsIG9yIFwibiBvZiBuXCIgLyBcIm4vblwiLic7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRzaXplO1xyXG59XHJcblxyXG4vLy8gU2V0cyBiYXNlIGZsZXggcHJvcGVydGllcyBmb3IgY2VsbHMuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIEFjY2VwdHMgYGZ1bGxgLCBgYXV0b2AsIGBzaHJpbmtgIG9yIGBncm93YC5cclxuQG1peGluIHh5LWNlbGwtYmFzZSgkc2l6ZTogZnVsbCkge1xyXG4gIEBpZigkc2l6ZSA9PSAnZnVsbCcpIHtcclxuICAgIC8vIFRoaXMgaXMgdGhlIGJhc2Ugc3R5bGUsIGFsbCBvdGhlcnMgaW5oZXJpdCBmcm9tIGl0XHJcbiAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgIG1pbi1oZWlnaHQ6IDBweDtcclxuICAgIG1pbi13aWR0aDogMHB4O1xyXG4gIH1cclxuICBAZWxzZSBpZiAoJHNpemUgPT0gJ2F1dG8nKSB7XHJcbiAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxyXG4gIH1cclxuICBAZWxzZSBpZiAoJHNpemUgPT0gJ3NocmluaycpIHtcclxuICAgIGZsZXg6IDAgMCBhdXRvO1xyXG4gIH1cclxuICBAZWxzZSBpZiAoJHNpemUgPT0gJ2dyb3cnKSB7XHJcbiAgICBmbGV4OiAxIDAgYXV0bztcclxuICB9XHJcbn1cclxuXHJcbi8vLyBSZXNldHMgYSBjZWxscyB3aWR0aCAob3IgaGVpZ2h0IGlmIHZlcnRpY2FsIGlzIHRydWUpIGFzIHdlbGwgYXMgc3RyaXBzIGl0cyBndXR0ZXJzLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cclxuQG1peGluIHh5LWNlbGwtcmVzZXQoJHZlcnRpY2FsOiB0cnVlKSB7XHJcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHdpZHRoLCBoZWlnaHQpO1xyXG4gICN7JGRpcmVjdGlvbn06IGF1dG87XHJcbiAgbWF4LSN7JGRpcmVjdGlvbn06IG5vbmU7XHJcbn1cclxuXHJcbi8vIFNldHMgb3VyIGNlbGwgd2lkdGhzIG9yIGhlaWdodHMgZGVwZW5kaW5nIG9uIGd1dHRlciB0eXBlLlxyXG5AbWl4aW4gLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJG1hcmdpbi1ndXR0ZXIsICR2ZXJ0aWNhbCkge1xyXG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCBoZWlnaHQsIHdpZHRoKTtcclxuICBAaWYoJHNpemUgPT0gJ2Z1bGwnKSB7XHJcbiAgICAkdmFsOiBpZigkbWFyZ2luLWd1dHRlciA9PSAwLCAxMDAlLCBjYWxjKDEwMCUgLSAje3JlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKX0pKTtcclxuICAgICN7JGRpcmVjdGlvbn06ICR2YWw7XHJcbiAgfVxyXG4gIEBlbHNlIGlmICgkc2l6ZSA9PSAnYXV0bycpIHtcclxuICAgICN7JGRpcmVjdGlvbn06IGF1dG87XHJcbiAgICAkdmFsOiBpZigkbWFyZ2luLWd1dHRlciA9PSAwLCAxMDAlLCBjYWxjKDEwMCUgLSAje3JlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKX0pKTtcclxuICB9XHJcbiAgQGVsc2UgaWYgKCRzaXplID09ICdzaHJpbmsnKSB7XHJcbiAgICAjeyRkaXJlY3Rpb259OiBhdXRvO1xyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICAkdmFsOiBpZigkbWFyZ2luLWd1dHRlciA9PSAwLCAje3h5LWNlbGwtc2l6ZSgkc2l6ZSl9LCBjYWxjKCN7eHktY2VsbC1zaXplKCRzaXplKX0gLSAje3JlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKX0pKTtcclxuICAgICN7JGRpcmVjdGlvbn06ICR2YWw7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQ3JlYXRlcyBhIGNlbGwgZm9yIHlvdXIgZ3JpZC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKGRlZmF1bHQpIGZvciAxMDAlIHdpZHRoLCBgYXV0b2AgdG8gdXNlIHVwIGF2YWlsYWJsZSBzcGFjZSBhbmQgYHNocmlua2AgdG8gdXNlIHVwIG9ubHkgcmVxdWlyZWQgc3BhY2UuXHJcbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzXHJcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxyXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxyXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cclxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cclxuQG1peGluIHh5LWNlbGwoXHJcbiAgJHNpemU6IGZ1bGwsXHJcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXHJcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxyXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxyXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXHJcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXHJcbiAgJHZlcnRpY2FsOiBmYWxzZVxyXG4pIHtcclxuICAkYnAtaXMtZmFsbGJhY2s6IGZhbHNlO1xyXG5cclxuICBAaWYoJGJyZWFrcG9pbnQgPT0gbnVsbCkge1xyXG4gICAgLy8gSWYgYCRicC1zaXplYCBpcyBhdmFpbGFibGUgdGhlbiB1c2UgdGhpcywgb3RoZXJ3aXNlIHJldmVydCB0byB0aGUgc21hbGxlc3QgYnAuXHJcbiAgICBAaWYodmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSBhbmQgdHlwZS1vZigkLXpmLXNpemUpICE9ICdudW1iZXInKSBhbmQgJC16Zi1zaXplICE9IG51bGwge1xyXG4gICAgICAkYnJlYWtwb2ludDogJC16Zi1zaXplO1xyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XHJcbiAgICAgICRicC1pcy1mYWxsYmFjazogdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIEdldCB0aGUgZ3V0dGVyIGZvciB0aGUgZ2l2ZW4gYnJlYWtwb2ludC92YWx1ZS5cclxuICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xyXG4gIC8vIElmIHRoZSBicmVha3BvaW50IGlzIGEgZmFsbGJhY2ssIHVzZSBhIGZhbGxiYWNrIGd1dHRlciBhcyB3ZWxsXHJcbiAgQGlmICgkYnAtaXMtZmFsbGJhY2sgPT0gdHJ1ZSBhbmQgJGd1dHRlciA9PSBudWxsKSB7XHJcbiAgICAkZ3V0dGVyOiAwO1xyXG4gIH1cclxuXHJcbiAgQGlmKCRndXR0ZXIgIT0gbnVsbCkge1xyXG4gICAgLy8gQmFzZSBmbGV4IHByb3BlcnRpZXNcclxuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZSgkc2l6ZSk7XHJcblxyXG4gICAgQGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xyXG4gICAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkZ3V0dGVyLCAkdmVydGljYWwpO1xyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAwLCAkdmVydGljYWwpO1xyXG4gICAgfVxyXG5cclxuICAgIEBpZiAkZ3V0dGVyLW91dHB1dCB7XHJcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlciwgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uKTtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgQHdhcm4gJ3h5LWNlbGw6IG5vIGd1dHRlcnMgd2VyZSBmb3VuZCBpbiBgJGd1dHRlcnNgIGZvciBcIiRicmVha3BvaW50OiAjeyRicmVha3BvaW50fVwiLCBjZWxsIHdhcyBub3QgZ2VuZXJhdGVkYCdcclxuICB9XHJcbn1cclxuXHJcbi8vLyBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgc2l6ZWQgZ3JpZC4gVXNlZCB0byBnZW5lcmF0ZSBvdXIgZ3JpZCBjbGFzc2VzLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoZGVmYXVsdCkgZm9yIDEwMCUgd2lkdGgsIGBhdXRvYCB0byB1c2UgdXAgYXZhaWxhYmxlIHNwYWNlIGFuZCBgc2hyaW5rYCB0byB1c2UgdXAgb25seSByZXF1aXJlZCBzcGFjZS5cclxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnNcclxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXHJcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXHJcbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXHJcbkBtaXhpbiB4eS1jZWxsLXN0YXRpYyhcclxuICAkc2l6ZTogZnVsbCxcclxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcclxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXHJcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXHJcbiAgJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50LFxyXG4gICR2ZXJ0aWNhbDogZmFsc2VcclxuKSB7XHJcblxyXG4gICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XHJcbiAgJGd1dHRlci1wb3NpdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHRvcCBib3R0b20sIGxlZnQgcmlnaHQpO1xyXG5cclxuICBAaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XHJcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkZ3V0dGVyLCAkdmVydGljYWwpO1xyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAwLCAkdmVydGljYWwpO1xyXG4gIH1cclxuXHJcbiAgLy8gSWYgd2Ugd2FudCB0byBvdXRwdXQgdGhlIGd1dHRlcnNcclxuICBAaWYoJGd1dHRlci1vdXRwdXQpIHtcclxuICAgIC8vIFRPRE86IEZpZ3VyZSBvdXQgaWYgd2UgbmVlZCB0byBwYXNzIGJyZWFrcG9pbnQgaW4gaGVyZSB0b28uXHJcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXIsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCB4eS1ncmlkXHJcbi8vLy9cclxuXHJcbi8vLyBTaXplcyBjaGlsZCBlbGVtZW50cyBzbyB0aGF0IGAkbmAgbnVtYmVyIG9mIGl0ZW1zIGFwcGVhciBvbiBlYWNoIHJvdy5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgZWxlbWVudHMgdG8gZGlzcGxheSBwZXIgcm93LlxyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJy5jZWxsJ10gLSBTZWxlY3RvcihzKSB0byB1c2UgZm9yIGNoaWxkIGVsZW1lbnRzLlxyXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVyc1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cclxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gIG9yIGBwYWRkaW5nYC5cclxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIGJyZWFrcG9pbnQgdG8gdXNlIGZvciB0aGUgY2VsbCBnZW5lcmF0aW9uLlxyXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxyXG5AbWl4aW4geHktZ3JpZC1sYXlvdXQoXHJcbiAgJG4sXHJcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxyXG4gICRndXR0ZXItb3V0cHV0OiB0cnVlLFxyXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcclxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcclxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxyXG4gICRicmVha3BvaW50OiBudWxsLFxyXG4gICR2ZXJ0aWNhbDogZmFsc2VcclxuKSB7XHJcbiAgJHNpemU6IHBlcmNlbnRhZ2UoMS8kbik7XHJcblxyXG4gICYgPiAjeyRzZWxlY3Rvcn0ge1xyXG4gICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZSwgJGd1dHRlci1vdXRwdXQsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24sICRicmVha3BvaW50LCAkdmVydGljYWwpO1xyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgeHktZ3JpZFxyXG4vLy8vXHJcblxyXG4vLy8gQ29sbGFwc2VzIHRoZSBncmlkIGEgY2VsbHMgd2l0aGluIGl0LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWy5jZWxsXSAtIFRoZSBjaGlsZCBlbGVtZW50IHRvIHJlbW92ZSB0aGUgZ3V0dGVyIGZyb20uXHJcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFRoZSB0eXBlIG9mIGd1dHRlciB0byByZW1vdmUuXHJcbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9ucyB0byByZW1vdmUgZ3V0dGVycyBmcm9tLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cclxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJG1pbi1icmVha3BvaW50IFskLXpmLXplcm8tYnJlYWtwb2ludF0gLSBNaW5pbXVtIGJyZWFrcG9pbnQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGZvciB3aGljaCB0byBjb2xsYXBzZSB0aGUgZ3V0dGVyLlxyXG5AbWl4aW4geHktZ3JpZC1jb2xsYXBzZShcclxuICAkc2VsZWN0b3I6ICcuY2VsbCcsXHJcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXHJcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcclxuICAkbWluLWJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50XHJcbikge1xyXG4gIC8vIEZpcnN0LCBsZXRzIG5lZ2F0ZSBhbnkgbWFyZ2lucyBvbiB0aGUgdG9wIGxldmVsXHJcbiAgQGlmICgkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xyXG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XHJcbiAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcclxuICAgICAgfVxyXG5cclxuICAgICAgPiAjeyRzZWxlY3Rvcn0ge1xyXG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcclxuICAgICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJGV4Y2x1ZGVkLWJwczogLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkbWluLWJyZWFrcG9pbnQpO1xyXG5cclxuICAgIC8vIE91dHB1dCBuZXcgd2lkdGhzIHRvIG5vdCBpbmNsdWRlIGd1dHRlcnNcclxuICAgIEBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcclxuICAgICAgQGlmKHNsLWNvbnRhaW4oJGV4Y2x1ZGVkLWJwcywgJGJwKSkge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XHJcbiAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xyXG4gICAgICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXHJcbiAgICAgICAgICAgID4gLiN7JGJwfS0jeyRpfSB7XHJcbiAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksICRndXR0ZXItb3V0cHV0OiBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnApIHtcclxuICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XHJcbiAgICAgICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcclxuICAgICAgICAgICAgPiAuI3skYnB9LSN7JGl9IHtcclxuICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgJGd1dHRlci1vdXRwdXQ6IGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xyXG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XHJcbiAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcclxuICAgICAgfVxyXG5cclxuICAgICAgPiAjeyRzZWxlY3Rvcn0ge1xyXG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcclxuICAgICAgICAgIHBhZGRpbmctI3skdmFsdWV9OiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgeHktZ3JpZFxyXG4vLy8vXHJcblxyXG4vLy8gT2Zmc2V0cyBhIGNvbHVtbiB0byB0aGUgcmlnaHQvYm90dG9tIGJ5IGAkbmAgY29sdW1ucy5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFNpemUgdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgemYtY2VsbCgpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSBNYXAgb2YgZ3V0dGVycyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIGZvciByZXNwb25zaXZlIGd1dHRlcnMuXHJcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSBUaGUgdHlwZSBvZiBndXR0ZXIgdG8gdXNlLiBDYW4gYmUgYG1hcmdpbmAgb3IgYHBhZGRpbmdgXHJcbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkYnJlYWtwb2ludCBbJC16Zi16ZXJvLWJyZWFrcG9pbnRdIC0gU2luZ2xlIHZhbHVlLCBicmVha3BvaW50IG5hbWUsIG9yIGxpc3Qgb2YgYnJlYWtwb2ludCBuYW1lcyB0byB1c2UgZm9yIGAkZ3V0dGVyc2AuIFNlZSBgLXpmLWJyZWFrcG9pbnQtdmFsdWUoKWAuXHJcbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIFNldHMgdGhlIGRpcmVjdGlvbiBvZiB0aGUgb2Zmc2V0LiBJZiBzZXQgdG8gdHJ1ZSB3aWxsIGFwcGx5IG1hcmdpbi10b3AgaW5zdGVhZC5cclxuQG1peGluIHh5LWNlbGwtb2Zmc2V0KFxyXG4gJG4sXHJcbiAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXHJcbiAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcclxuICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludCxcclxuICR2ZXJ0aWNhbDogZmFsc2VcclxuKSB7XHJcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsLCAndG9wJywgJGdsb2JhbC1sZWZ0KTtcclxuXHJcbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJGJyZWFrcG9pbnQsICRndXR0ZXJzKSB7XHJcbiAgICAkZ3V0dGVyOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAvIDI7XHJcbiAgICAkZ3V0dGVyLW1hcmdpbjogaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nLCAkZ3V0dGVyLCAwKTtcclxuICAgICRzaXplOiBpZigkZ3V0dGVyLW1hcmdpbiA9PSAwLCAje3h5LWNlbGwtc2l6ZSgkbil9LCBjYWxjKCN7eHktY2VsbC1zaXplKCRuKX0gKyAjeyRndXR0ZXItbWFyZ2lufSkpO1xyXG5cclxuICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAjeyRzaXplfTtcclxuICB9XHJcbn1cclxuIiwiLy8vIE1vZGlmaWVzIGEgZ3JpZCB0byBnaXZlIGl0IFwiZnJhbWVcIiBiZWhhdmlvciAobm8gb3ZlcmZsb3csIG5vIHdyYXAsIHN0cmV0Y2ggYmVoYXZpb3IpXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXHJcbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZXN0ZWQgW2ZhbHNlXSAtIElzIGdyaWQgbmVzdGVkIG9yIG5vdC4gSWYgbmVzdGVkIGlzIHRydWUgdGhpcyBzZXRzIHRoZSBmcmFtZSB0byAxMDAlIGhlaWdodCwgb3RoZXJ3aXNlIHdpbGwgYmUgMTAwdmguXHJcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFtudWxsXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLlxyXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW5jbHVkZS1iYXNlIFt0cnVlXSAtIEluY2x1ZGUgdGhlIGJhc2Ugc3R5bGVzIHRoYXQgZG9uJ3QgdmFyeSBwZXIgYnJlYWtwb2ludC5cclxuQG1peGluIHh5LWdyaWQtZnJhbWUoXHJcbiAgJHZlcnRpY2FsOiBmYWxzZSxcclxuICAkbmVzdGVkOiBmYWxzZSxcclxuICAkZ3V0dGVyczogbnVsbCxcclxuICAkYnJlYWtwb2ludDogbnVsbCxcclxuICAkaW5jbHVkZS1iYXNlOiB0cnVlXHJcbikge1xyXG5cclxuICBAaWYgJGluY2x1ZGUtYmFzZSB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcclxuICB9XHJcblxyXG4gIEBpZiAkYnJlYWtwb2ludCA9PSBudWxsIGFuZCB0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJyB7XHJcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xyXG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKCR2ZXJ0aWNhbCwgJG5lc3RlZCwgJGd1dHRlcnMsICQtemYtc2l6ZSwgZmFsc2UpO1xyXG4gICAgfVxyXG4gIH0gQGVsc2Uge1xyXG4gICAgLy8gR2V0IG91ciBndXR0ZXJzIGlmIGFwcGxpY2FibGVcclxuICAgICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XHJcblxyXG4gICAgLy8gSWYgd2UgaGF2ZSBhIGd1dHRlciwgYWRkIGl0IHRvIHRoZSB3aWR0aC9oZWlnaHRcclxuICAgIEBpZiAkZ3V0dGVyIHtcclxuICAgICAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcclxuICAgICAgICAkdW5pdDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2aCk7XHJcbiAgICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcik7XHJcbiAgICAgICAgaGVpZ2h0OiBjYWxjKCN7JHVuaXR9ICsgI3skZ3V0dGVyfSk7XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICR1bml0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZ3KTtcclxuICAgICAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKTtcclxuICAgICAgICB3aWR0aDogY2FsYygjeyR1bml0fSArICN7JGd1dHRlcn0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBAZWxzZSB7XHJcbiAgICAgIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XHJcbiAgICAgICAgaGVpZ2h0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZoKTtcclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgd2lkdGg6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdncpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gTW9kaWZpZXMgYSBjZWxsIHRvIGdpdmUgaXQgXCJibG9ja1wiIGJlaGF2aW9yIChvdmVyZmxvdyBhdXRvLCBpbmVydGlhbCBzY3JvbGxpbmcpXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXHJcbkBtaXhpbiB4eS1jZWxsLWJsb2NrKFxyXG4gICR2ZXJ0aWNhbDogZmFsc2VcclxuKSB7XHJcbiAgJHByb3BlcnR5OiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgJ292ZXJmbG93LXknLCAnb3ZlcmZsb3cteCcpO1xyXG5cclxuICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xyXG4gICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgIG1heC1oZWlnaHQ6IDEwMCU7XHJcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgb3ZlcmZsb3cteDogYXV0bztcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICB9XHJcblxyXG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcclxuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcclxufVxyXG5cclxuLy8vIENvbnRhaW5lciBmb3IgaW5zaWRlIGEgZ3JpZCBmcmFtZSBjb250YWluaW5nIG11bHRpcGxlIGJsb2Nrcy4gVHlwaWNhbGx5IHVzZWRcclxuLy8vIGFzIGEgbW9kaWZpZXIgZm9yIGEgYC5jZWxsYCB0byBhbGxvdyB0aGUgY2VsbCB0byBwYXNzIGFsb25nIGZsZXggc2l6aW5nXHJcbi8vLyBjb25zdHJhaW50cyAvIGZyb20gcGFyZW50cyB0byBjaGlsZHJlbi5cclxuQG1peGluIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCkge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG5cclxuICA+IC5ncmlkLXgge1xyXG4gICAgbWF4LWhlaWdodDogMTAwJTtcclxuICAgIGZsZXgtd3JhcDogbm93cmFwO1xyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgYnV0dG9uXHJcbi8vLy9cclxuXHJcbi8vLyBGb250IGZhbWlseSBmb3IgYnV0dG9uIGVsZW1lbnRzLlxyXG4vLy8gQHR5cGUgRm9udFxyXG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xyXG5cclxuLy8vIFBhZGRpbmcgaW5zaWRlIGJ1dHRvbnMuXHJcbi8vLyBAdHlwZSBMaXN0XHJcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBNYXJnaW4gYXJvdW5kIGJ1dHRvbnMuXHJcbi8vLyBAdHlwZSBMaXN0XHJcbiRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGZpbGwgZm9yIGJ1dHRvbnMuIENhbiBlaXRoZXIgYmUgYHNvbGlkYCBvciBgaG9sbG93YC5cclxuLy8vIEB0eXBlIEtleXdvcmRcclxuJGJ1dHRvbi1maWxsOiBzb2xpZCAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJ1dHRvbnMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xyXG5cclxuLy8vIEJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGJ1dHRvbnMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRm9udCBjb2xvciBmb3IgYnV0dG9ucy5cclxuLy8vIEB0eXBlIExpc3RcclxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xyXG5cclxuLy8vIEFsdGVybmF0aXZlIGZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXHJcbi8vLyBAdHlwZSBMaXN0XHJcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xyXG5cclxuLy8vIEJvcmRlciB3aWR0aCBmb3IgaG9sbG93IG91dGxpbmUgYnV0dG9uc1xyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xyXG5cclxuLy8vIFNpemVzIGZvciBidXR0b25zLlxyXG4vLy8gQHR5cGUgTWFwXHJcbiRidXR0b24tc2l6ZXM6IChcclxuICB0aW55OiAwLjZyZW0sXHJcbiAgc21hbGw6IDAuNzVyZW0sXHJcbiAgZGVmYXVsdDogMC45cmVtLFxyXG4gIGxhcmdlOiAxLjI1cmVtLFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxyXG4vLy8gQHR5cGUgTWFwXHJcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBvcGFjaXR5IGZvciBhIGRpc2FibGVkIGJ1dHRvbi5cclxuLy8vIEB0eXBlIExpc3RcclxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xyXG5cclxuLy8vIEJhY2tncm91bmQgY29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBidXR0b25zLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBob2xsb3cgYnV0dG9ucy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCUgIWRlZmF1bHQ7XHJcblxyXG4vLyBJbnRlcm5hbDogZmxpcCBmcm9tIG1hcmdpbi1yaWdodCB0byBtYXJnaW4tbGVmdCBmb3IgZGVmYXVsdHNcclxuQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xyXG4gICRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XHJcbn1cclxuXHJcbi8vLyB0cmFuc2l0aW9ucyBmb3IgYnV0dG9ucy5cclxuLy8vIEB0eXBlIExpc3RcclxuJGJ1dHRvbi10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dCAhZGVmYXVsdDtcclxuXHJcbi8vLyBBZGRpdGlvbmFsIHJlc3BvbnNpdmUgY2xhc3NlcyBmb3IgLmV4cGFuZGVkXHJcbi8vLyBAdHlwZSBCb29sZWFuXHJcbiRidXR0b24tcmVzcG9uc2l2ZS1leHBhbmRlZDogZmFsc2UgIWRlZmF1bHQ7XHJcblxyXG4vLyBUT0RPOiBEb2N1bWVudCBidXR0b24tYmFzZSgpIG1peGluXHJcbkBtaXhpbiBidXR0b24tYmFzZSB7XHJcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XHJcblxyXG4gIEBpZiAodHlwZS1vZigkYnV0dG9uLXBhZGRpbmcpID09ICdtYXAnKSB7XHJcbiAgICBAZWFjaCAkc2l6ZSwgJHBhZGRpbmcgaW4gJGJ1dHRvbi1wYWRkaW5nIHtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xyXG4gICAgICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIHBhZGRpbmc6ICRidXR0b24tcGFkZGluZztcclxuICB9XHJcblxyXG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xyXG4gIHRyYW5zaXRpb246ICRidXR0b24tdHJhbnNpdGlvbjtcclxuICBmb250LWZhbWlseTogJGJ1dHRvbi1mb250LWZhbWlseTtcclxuICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xyXG4gIGxpbmUtaGVpZ2h0OiAxO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi8vLyBFeHBhbmRzIGEgYnV0dG9uIHRvIG1ha2UgaXQgZnVsbC13aWR0aC5cclxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSB0aGUgZXhwYW5kIGJlaGF2aW9yLiBTZXQgdG8gYGZhbHNlYCB0byByZXZlcnNlIHRoaXMgYmVoYXZpb3IuXHJcbkBtaXhpbiBidXR0b24tZXhwYW5kKCRleHBhbmQ6IHRydWUpIHtcclxuICBAaWYgJGV4cGFuZCB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcclxuICB9XHJcbn1cclxuXHJcbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBidXR0b24uXHJcbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cclxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cclxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxyXG5AbWl4aW4gYnV0dG9uLXN0eWxlKFxyXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXHJcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcclxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXHJcbiAgJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzXHJcbikge1xyXG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XHJcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xyXG4gIH1cclxuXHJcbiAgQGlmICRiYWNrZ3JvdW5kLWhvdmVyID09IGF1dG8ge1xyXG4gICAgJGJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3MpO1xyXG4gIH1cclxuXHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgY29sb3I6ICRjb2xvcjtcclxuXHJcbiAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gUmVtb3ZlcyBiYWNrZ3JvdW5kIGZpbGwgb24gaG92ZXIgYW5kIGZvY3VzIGZvciBob2xsb3cgYnV0dG9ucy5cclxuQG1peGluIGJ1dHRvbi1ob2xsb3cge1xyXG4gICYsXHJcbiAgJjpob3ZlcixcclxuICAmOmZvY3VzIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIH1cclxuXHJcbiAgJi5kaXNhYmxlZCxcclxuICAmW2Rpc2FibGVkXSB7XHJcbiAgICAmLFxyXG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGJ1dHRvbi1ob2xsb3ctc3R5bGUoXHJcbiAgJGNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQsXHJcbiAgJGhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzLFxyXG4gICRib3JkZXItd2lkdGg6ICRidXR0b24taG9sbG93LWJvcmRlci13aWR0aFxyXG4pIHtcclxuICAkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGhvdmVyLWxpZ2h0bmVzcyk7XHJcblxyXG4gIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkY29sb3I7XHJcbiAgY29sb3I6ICRjb2xvcjtcclxuXHJcbiAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICBib3JkZXItY29sb3I6ICRjb2xvci1ob3ZlcjtcclxuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XHJcbiAgICAmLmRpc2FibGVkLFxyXG4gICAgJltkaXNhYmxlZF0ge1xyXG4gICAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGNvbG9yO1xyXG4gICAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8vIEFkZHMgZGlzYWJsZWQgc3R5bGVzIHRvIGEgYnV0dG9uIGJ5IGZhZGluZyB0aGUgZWxlbWVudCwgcmVzZXRpbmcgdGhlIGN1cnNvciwgYW5kIGRpc2FibGluZyBwb2ludGVyIGV2ZW50cy5cclxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLlxyXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGRpc2FibGVkIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXHJcbkBtaXhpbiBidXR0b24tZGlzYWJsZWQoXHJcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcclxuICAkY29sb3I6ICRidXR0b24tY29sb3JcclxuKSB7XHJcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcclxuICAgICRjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRidXR0b24tY29sb3IsICRidXR0b24tY29sb3ItYWx0KSk7XHJcbiAgfVxyXG5cclxuICBvcGFjaXR5OiAkYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ7XHJcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuXHJcbiAgJiwgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQWRkcyBhIGRyb3Bkb3duIGFycm93IHRvIGEgYnV0dG9uLlxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIFswLjRlbV0gLSBTaXplIG9mIHRoZSBhcnJvdy4gV2UgcmVjb21tZW5kIHVzaW5nIGFuIGBlbWAgdmFsdWUgc28gdGhlIHRyaWFuZ2xlIHNjYWxlcyB3aGVuIHVzZWQgaW5zaWRlIGRpZmZlcmVudCBzaXplcyBvZiBidXR0b25zLlxyXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFt3aGl0ZV0gLSBDb2xvciBvZiB0aGUgYXJyb3cuXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJG9mZnNldCBbJGJ1dHRvbi1wYWRkaW5nXSAtIERpc3RhbmNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uLiBEZWZhdWx0cyB0byB3aGF0ZXZlciB0aGUgcmlnaHQgcGFkZGluZyBvZiBhIGJ1dHRvbiBpcy5cclxuQG1peGluIGJ1dHRvbi1kcm9wZG93bihcclxuICAkc2l6ZTogMC40ZW0sXHJcbiAgJGNvbG9yOiAkd2hpdGUsXHJcbiAgJG9mZnNldDogZ2V0LXNpZGUoJGJ1dHRvbi1wYWRkaW5nLCByaWdodClcclxuKSB7XHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRzaXplLCAkY29sb3IsIGRvd24pO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdG9wOiAwLjRlbTsgLy8gQWxpZ25zIHRoZSBhcnJvdyB3aXRoIHRoZSB0ZXh0IG9mIHRoZSBidXR0b25cclxuXHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBmbG9hdDogI3skZ2xvYmFsLXJpZ2h0fTtcclxuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRvZmZzZXQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQWRkcyBhbGwgc3R5bGVzIGZvciBhIGJ1dHRvbi4gRm9yIG1vcmUgZ3JhbnVsYXIgY29udHJvbCBvdmVyIHN0eWxlcywgdXNlIHRoZSBpbmRpdmlkdWFsIGJ1dHRvbiBtaXhpbnMuXHJcbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gbWFrZSB0aGUgYnV0dG9uIGZ1bGwtd2lkdGguXHJcbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cclxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cclxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxyXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3R5bGUgW3NvbGlkXSAtIFNldCB0byBgaG9sbG93YCB0byBjcmVhdGUgYSBob2xsb3cgYnV0dG9uLiBUaGUgY29sb3IgZGVmaW5lZCBpbiBgJGJhY2tncm91bmRgIHdpbGwgYmUgdXNlZCBhcyB0aGUgcHJpbWFyeSBjb2xvciBvZiB0aGUgYnV0dG9uLlxyXG5AbWl4aW4gYnV0dG9uKFxyXG4gICRleHBhbmQ6IGZhbHNlLFxyXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXHJcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcclxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXHJcbiAgJHN0eWxlOiAkYnV0dG9uLWZpbGxcclxuKSB7XHJcbiAgQGluY2x1ZGUgYnV0dG9uLWJhc2U7XHJcblxyXG4gIEBpZiAkc3R5bGUgPT0gc29saWQge1xyXG4gICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiYWNrZ3JvdW5kLCAkYmFja2dyb3VuZC1ob3ZlciwgJGNvbG9yKTtcclxuICB9XHJcbiAgQGVsc2UgaWYgJHN0eWxlID09IGhvbGxvdyB7XHJcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xyXG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkYmFja2dyb3VuZCk7XHJcbiAgfVxyXG5cclxuICBAaWYgJGV4cGFuZCB7XHJcbiAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tYnV0dG9uIHtcclxuICAuYnV0dG9uIHtcclxuICAgIEBpbmNsdWRlIGJ1dHRvbjtcclxuXHJcbiAgICAvLyBTaXplc1xyXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcclxuICAgICAgJi4jeyRzaXplfSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDsgfVxyXG5cclxuICAgIEBpZiAkYnV0dG9uLXJlc3BvbnNpdmUtZXhwYW5kZWQge1xyXG4gICAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9IG9ubHkpIHtcclxuICAgICAgICAgICYuI3skc2l6ZX0tb25seS1leHBhbmRlZCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9IGRvd24pIHtcclxuICAgICAgICAgICAgJi4jeyRzaXplfS1kb3duLWV4cGFuZGVkIHtcclxuICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRzaXplfSkge1xyXG4gICAgICAgICAgICAmLiN7JHNpemV9LWV4cGFuZGVkIHtcclxuICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQ29sb3JzXHJcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XHJcbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcclxuICAgICAgICAmLiN7JG5hbWV9IHtcclxuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkY29sb3IsIGF1dG8sIGF1dG8pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBAZWxzZSB7XHJcbiAgICAgICAgJi4jeyRuYW1lfSB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLiN7JG5hbWV9LmRyb3Bkb3duOjphZnRlciB7XHJcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gRGlzYWJsZWQgc3R5bGVcclxuICAgICYuZGlzYWJsZWQsXHJcbiAgICAmW2Rpc2FibGVkXSB7XHJcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZDtcclxuXHJcbiAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcclxuICAgICAgICAmLiN7JG5hbWV9IHtcclxuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZCgkY29sb3IsIGF1dG8pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIEhvbGxvdyBzdHlsZVxyXG4gICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xyXG4gICAgICAmLmhvbGxvdyB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcclxuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlO1xyXG5cclxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XHJcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIENsZWFyIHN0eWxlXHJcbiAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGNsZWFyIHtcclxuICAgICAgJi5jbGVhciB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcclxuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlO1xyXG5cclxuICAgICAgICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICAgICYsICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcclxuICAgICAgICAgICYuI3skbmFtZX0ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XHJcblxyXG4gICAgICAgICAgICAmLCAmOmhvdmVyLFxyXG4gICAgICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgICAmLFxyXG4gICAgICAgICAgICAgICYuZGlzYWJsZWQsXHJcbiAgICAgICAgICAgICAgJltkaXNhYmxlZF0ge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBEcm9wZG93biBhcnJvd1xyXG4gICAgJi5kcm9wZG93biB7XHJcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kcm9wZG93bjtcclxuXHJcbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgPT0gaG9sbG93IHtcclxuICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmLmhvbGxvdywgJi5jbGVhciB7XHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xyXG4gICAgICAgICAgJi4jeyRuYW1lfSB7XHJcbiAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBCdXR0b24gd2l0aCBkcm9wZG93biBhcnJvdyBvbmx5XHJcbiAgICAmLmFycm93LW9ubHk6OmFmdGVyIHtcclxuICAgICAgdG9wOiAtMC4xZW07XHJcbiAgICAgIGZsb2F0OiBub25lO1xyXG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYS5idXR0b24geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcclxuICAgICY6aG92ZXIsXHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgYnV0dG9uLWdyb3VwXHJcbi8vLy9cclxuXHJcbi8vLyBNYXJnaW4gZm9yIGJ1dHRvbiBncm91cHMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBNYXJnaW4gYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHggIWRlZmF1bHQ7XHJcblxyXG4vLy8gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cclxuLy8vIEB0eXBlIFN0cmluZ1xyXG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJyAhZGVmYXVsdDtcclxuXHJcbi8vLyBNYXhpbXVtIG51bWJlciBvZiBidXR0b25zIHRoYXQgY2FuIGJlIGluIGFuIGV2ZW4td2lkdGggYnV0dG9uIGdyb3VwLiAoT25seSBuZWVkZWQgd2hlbiAkZ2xvYmFsLWZsZXhib3g6IGZhbHNlOylcclxuLy8vIEB0eXBlIE51bWJlclxyXG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNiAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZXRlcm1pbmVzIGlmICRidXR0b24tcmFkaXVzIGlzIGFwcGxpZWQgdG8gZWFjaCBidXR0b24gb3IgdGhlIGJ1dHRvbiBncm91cCBhcyBhIHdob2xlLiBVc2UgJGdsb2JhbC1yYWRpdXMgaW4gX3NldHRpbmdzLnNjc3MgdG8gY2hhbmdlIHJhZGl1cy5cclxuLy8vIEB0eXBlIEJvb2xlYW5cclxuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlICFkZWZhdWx0O1xyXG5cclxuLy8vIEFkZCBzdHlsZXMgZm9yIGEgYnV0dG9uIGdyb3VwIGNvbnRhaW5lci5cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkY2hpbGQtc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzcGFjaW5nIFskYnV0dG9uZ3JvdXAtc3BhY2luZ10gLSBTcGFjaW5nIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cclxuQG1peGluIGJ1dHRvbi1ncm91cChcclxuICAkY2hpbGQtc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcclxuICAkc3BhY2luZzogJGJ1dHRvbmdyb3VwLXNwYWNpbmdcclxuKSB7XHJcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcbiAgbWFyZ2luLWJvdHRvbTogJGJ1dHRvbmdyb3VwLW1hcmdpbjtcclxuXHJcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgZm9udC1zaXplOiAwO1xyXG4gIH1cclxuXHJcbiAgI3skY2hpbGQtc2VsZWN0b3J9IHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcclxuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xyXG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xyXG5cclxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xyXG4gICAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgIH1cclxuXHJcbiAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcclxuICAgIH1cclxuXHJcbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcblxyXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtd2lkdGggYnV0dG9uIGdyb3VwLCBtYWtpbmcgZWFjaCBidXR0b24gZXF1YWwgd2lkdGguXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2luZyBbJGJ1dHRvbmdyb3VwLXNwYWNpbmddIC0gU3BhY2luZyBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXHJcbkBtaXhpbiBidXR0b24tZ3JvdXAtZXhwYW5kKFxyXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yLFxyXG4gICRzcGFjaW5nOiAkYnV0dG9uZ3JvdXAtc3BhY2luZyxcclxuICAkY291bnQ6IG51bGxcclxuKSB7XHJcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xyXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IC0kc3BhY2luZztcclxuXHJcbiAgICAmOjpiZWZvcmUsXHJcbiAgICAmOjphZnRlciB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAjeyRzZWxlY3Rvcn0ge1xyXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XHJcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XHJcbiAgICB9XHJcbiAgICBAZWxzZSB7XHJcbiAgICAgIC8vIE9uZSBjaGlsZFxyXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JHNwYWNpbmd9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIFR3byBvciBtb3JlIGNoaWxkcmVlblxyXG4gICAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRidXR0b25ncm91cC1leHBhbmQtbWF4IHtcclxuICAgICAgICAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB7XHJcbiAgICAgICAgICAmLCAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB+ICN7JHNlbGVjdG9yfSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgd2lkdGg6IGNhbGMoI3twZXJjZW50YWdlKDEgLyAkaSl9IC0gI3skc3BhY2luZ30pO1xyXG4gICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XHJcblxyXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZyAqIC0kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8vIFN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIHRoZSBidXR0b24gZ3JvdXAuXHJcbkBtaXhpbiBidXR0b24tZ3JvdXAtc3RhY2soXHJcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JcclxuKSB7XHJcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgfVxyXG5cclxuICAjeyRzZWxlY3Rvcn0ge1xyXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XHJcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcblxyXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICB9XHJcbn1cclxuXHJcbi8vLyBVbi1zdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxyXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXVuc3RhY2soXHJcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JcclxuKSB7XHJcbiAgI3skc2VsZWN0b3J9IHtcclxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xyXG4gICAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICB9XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG5cclxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcclxuICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAwO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwIHtcclxuICAuYnV0dG9uLWdyb3VwIHtcclxuICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cDtcclxuXHJcbiAgICAvLyBTaXplc1xyXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcclxuICAgICAgJi4jeyRzaXplfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gRXZlbi13aWR0aCBHcm91cFxyXG4gICAgJi5leHBhbmRlZCB7XHJcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1leHBhbmQ7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQ29sb3JzXHJcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XHJcbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcclxuICAgICAgICAmLiN7JG5hbWV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGNvbG9yLCBhdXRvLCBhdXRvKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgQGVsc2Uge1xyXG4gICAgICAgICYuI3skbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcclxuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XHJcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5zdGFja2VkLFxyXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCxcclxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcclxuICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0YWNrO1xyXG5cclxuICAgICAgJi5leHBhbmRlZCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLWV4cGFuZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwge1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0ge1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIHtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcblxyXG4gICAgICAgICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtLmV4cGFuZGVkIHtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuICAgICAgICAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIGNsb3NlLWJ1dHRvblxyXG4vLy8vXHJcblxyXG4vLy8gRGVmYXVsdCBwb3NpdGlvbiBvZiB0aGUgY2xvc2UgYnV0dG9uLiBUaGUgZmlyc3QgdmFsdWUgc2hvdWxkIGJlIGByaWdodGAgb3IgYGxlZnRgLCBhbmQgdGhlIHNlY29uZCB2YWx1ZSBzaG91bGQgYmUgYHRvcGAgb3IgYGJvdHRvbWAuXHJcbi8vLyBAdHlwZSBMaXN0XHJcbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wICFkZWZhdWx0O1xyXG5cclxuLy8vIFJpZ2h0IChvciBsZWZ0KSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxyXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxyXG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcclxuICBzbWFsbDogMC42NnJlbSxcclxuICBtZWRpdW06IDFyZW0sXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLy8gVG9wIChvciBib3R0b20pIG9mZnNldChzKSBmb3IgYSBjbG9zZSBidXR0b24uXHJcbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXHJcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcclxuICBzbWFsbDogMC4zM2VtLFxyXG4gIG1lZGl1bTogMC41cmVtLFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgZm9udCBzaXplKHMpIG9mIHRoZSBjbG9zZSBidXR0b24uXHJcbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXHJcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXHJcbiAgc21hbGw6IDEuNWVtLFxyXG4gIG1lZGl1bTogMmVtLFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8vIFRoZSBsaW5lLWhlaWdodCBvZiB0aGUgY2xvc2UgYnV0dG9uLiBJdCBhZmZlY3RzIHRoZSBzcGFjaW5nIG9mIHRoZSBlbGVtZW50LlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbi5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24gd2hlbiBiZWluZyBob3ZlcmVkIG9uLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2sgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8vIEdldCB0aGUgc2l6ZSBhbmQgcG9zaXRpb24gZm9yIGEgY2xvc2UgYnV0dG9uLiBJZiB0aGUgaW5wdXQgdmFsdWUgaXMgYSBudW1iZXIsIHRoZSBudW1iZXIgaXMgcmV0dXJuZWQuIElmIHRoZSBpbnB1dCB2YWx1ZSBpcyBhIGNvbmZpZyBtYXAgYW5kIHRoZSBtYXAgaGFzIHRoZSBrZXkgYCRzaXplYCwgdGhlIHZhbHVlIGlzIHJldHVybmVkLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJHZhbHVlIC0gQSBudW1iZXIgb3IgbWFwIHRoYXQgcmVwcmVzZW50cyB0aGUgc2l6ZSBvciBwb3NpdGlvbiB2YWx1ZShzKSBvZiB0aGUgY2xvc2UgYnV0dG9uLlxyXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIFRoZSBzaXplIG9mIHRoZSBjbG9zZSBidXR0b24gdG8gdXNlLlxyXG4vLy9cclxuLy8vIEByZXR1cm4ge051bWJlcn0gVGhlIGdpdmVuIG51bWJlciBvciB0aGUgdmFsdWUgZm91bmQgaW4gdGhlIG1hcC5cclxuQGZ1bmN0aW9uIC16Zi1nZXQtc2l6ZS12YWwoJHZhbHVlLCAkc2l6ZSkge1xyXG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xyXG4gICAgLy8gSWYgaXQgaXMsIGp1c3QgcmV0dXJuIHRoZSBudW1iZXJcclxuICAgIEByZXR1cm4gJHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgLy8gQ2hlY2sgaWYgdGhlIHNpemUgbmFtZSBleGlzdHMgaW4gdGhlIHZhbHVlIG1hcFxyXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCR2YWx1ZSwgJHNpemUpIHtcclxuICAgIC8vIElmIGl0IGRvZXMsIHJldHVybiB0aGUgdmFsdWVcclxuICAgIEByZXR1cm4gbWFwLWdldCgkdmFsdWUsICRzaXplKTtcclxuICB9XHJcbn1cclxuXHJcbi8vLyBTZXRzIHRoZSBzaXplIGFuZCBwb3NpdGlvbiBvZiBhIGNsb3NlIGJ1dHRvbi5cclxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgW21lZGl1bV0gLSBUaGUgc2l6ZSB0byB1c2UuIFNldCB0byBgc21hbGxgIHRvIGNyZWF0ZSBhIHNtYWxsIGNsb3NlIGJ1dHRvbi4gVGhlICdtZWRpdW0nIHZhbHVlcyBkZWZpbmVkIGluIGAkY2xvc2VidXR0b24tKmAgdmFyaWFibGVzIHdpbGwgYmUgdXNlZCBhcyB0aGUgZGVmYXVsdCBzaXplIGFuZCBwb3NpdGlvbiBvZiB0aGUgY2xvc2UgYnV0dG9uLlxyXG5AbWl4aW4gY2xvc2UtYnV0dG9uLXNpemUoJHNpemUpIHtcclxuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XHJcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xyXG5cclxuICAjeyR4fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWwsICRzaXplKTtcclxuICAjeyR5fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsLCAkc2l6ZSk7XHJcbiAgZm9udC1zaXplOiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1zaXplLCAkc2l6ZSk7XHJcbiAgbGluZS1oZWlnaHQ6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQsICRzaXplKTtcclxufVxyXG5cclxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNsb3NlIGJ1dHRvbiwgdXNpbmcgdGhlIHN0eWxlcyBpbiB0aGUgc2V0dGluZ3MgdmFyaWFibGVzLlxyXG5AbWl4aW4gY2xvc2UtYnV0dG9uIHtcclxuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XHJcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xyXG5cclxuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3I7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAmOmhvdmVyLFxyXG4gICY6Zm9jdXMge1xyXG4gICAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbiB7XHJcbiAgLmNsb3NlLWJ1dHRvbiB7XHJcbiAgICBAaW5jbHVkZSBjbG9zZS1idXR0b247XHJcblxyXG4gICAgJi5zbWFsbCB7IEBpbmNsdWRlIGNsb3NlLWJ1dHRvbi1zaXplKHNtYWxsKSB9XHJcbiAgICAmLCAmLm1lZGl1bSB7IEBpbmNsdWRlIGNsb3NlLWJ1dHRvbi1zaXplKG1lZGl1bSkgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgbGFiZWxcclxuLy8vL1xyXG5cclxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgbGFiZWxzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgbGFiZWxzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGxhYmVsLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQWx0ZXJuYXRlIHRleHQgY29sb3IgZm9yIGxhYmVscy5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcclxuXHJcbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cclxuLy8vIEB0eXBlIE1hcFxyXG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGFiZWxzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGxhYmVscy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCByYWRpdXMgb2YgbGFiZWxzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xyXG5cclxuLy8vIEdlbmVyYXRlcyBiYXNlIHN0eWxlcyBmb3IgYSBsYWJlbC5cclxuQG1peGluIGxhYmVsIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgcGFkZGluZzogJGxhYmVsLXBhZGRpbmc7XHJcblxyXG4gIGJvcmRlci1yYWRpdXM6ICRsYWJlbC1yYWRpdXM7XHJcblxyXG4gIGZvbnQtc2l6ZTogJGxhYmVsLWZvbnQtc2l6ZTtcclxuICBsaW5lLWhlaWdodDogMTtcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gIGN1cnNvcjogZGVmYXVsdDtcclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tbGFiZWwge1xyXG4gIC5sYWJlbCB7XHJcbiAgICBAaW5jbHVkZSBsYWJlbDtcclxuXHJcbiAgICBiYWNrZ3JvdW5kOiAkbGFiZWwtYmFja2dyb3VuZDtcclxuICAgIGNvbG9yOiAkbGFiZWwtY29sb3I7XHJcblxyXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkbGFiZWwtcGFsZXR0ZSB7XHJcbiAgICAgICYuI3skbmFtZX0ge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcclxuICAgICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkY29sb3IsICgkbGFiZWwtY29sb3IsICRsYWJlbC1jb2xvci1hbHQpKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgcHJvZ3Jlc3MgYmFyIGNvbnRhaW5lci5cclxuQG1peGluIHByb2dyZXNzLWNvbnRhaW5lciB7XHJcbiAgaGVpZ2h0OiAkcHJvZ3Jlc3MtaGVpZ2h0O1xyXG4gIG1hcmdpbi1ib3R0b206ICRwcm9ncmVzcy1tYXJnaW4tYm90dG9tO1xyXG4gIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhY2tncm91bmQ7XHJcbn1cclxuXHJcbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGlubmVyIG1ldGVyIG9mIGEgcHJvZ3Jlc3MgYmFyLlxyXG5AbWl4aW4gcHJvZ3Jlc3MtbWV0ZXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICB3aWR0aDogMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kO1xyXG5cclxuICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4gIH1cclxufVxyXG5cclxuLy8vIEFkZHMgc3R5bGVzIGZvciB0ZXh0IGluIHRoZSBwcm9ncmVzcyBtZXRlci5cclxuQG1peGluIHByb2dyZXNzLW1ldGVyLXRleHQge1xyXG4gIEBpbmNsdWRlIGFic29sdXRlLWNlbnRlcjtcclxuICBtYXJnaW46IDA7XHJcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIGNvbG9yOiAkd2hpdGU7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHJcbiAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyIHtcclxuICAvLyBQcm9ncmVzcyBiYXJcclxuICAucHJvZ3Jlc3Mge1xyXG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtY29udGFpbmVyO1xyXG5cclxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XHJcbiAgICAgICYuI3skbmFtZX0ge1xyXG4gICAgICAgIC5wcm9ncmVzcy1tZXRlciB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBJbm5lciBtZXRlclxyXG4gIC5wcm9ncmVzcy1tZXRlciB7XHJcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlcjtcclxuICB9XHJcblxyXG4gIC8vIElubmVyIG1ldGVyIHRleHRcclxuICAucHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XHJcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlci10ZXh0O1xyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgcHJvZ3Jlc3MtYmFyXHJcbi8vLy9cclxuXHJcbi8vLyBIZWlnaHQgb2YgYSBwcm9ncmVzcyBiYXIuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHByb2dyZXNzLWhlaWdodDogMXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgcHJvZ3Jlc3MgYmFyLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJHByb2dyZXNzLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcclxuXHJcbi8vLyBCb3R0b20gbWFyZ2luIG9mIGEgcHJvZ3Jlc3MgYmFyLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGNvbG9yIG9mIGEgcHJvZ3Jlc3MgYmFyJ3MgbWV0ZXIuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCByYWRpdXMgb2YgYSBwcm9ncmVzcyBiYXIuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XHJcblxyXG5AbWl4aW4gZm91bmRhdGlvbi1wcm9ncmVzcy1lbGVtZW50IHtcclxuICBwcm9ncmVzcyB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAkcHJvZ3Jlc3MtaGVpZ2h0O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJHByb2dyZXNzLW1hcmdpbi1ib3R0b207XHJcblxyXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcclxuXHJcbiAgICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcclxuICAgICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcclxuICAgIH1cclxuXHJcbiAgICAvLyBGb3IgRmlyZWZveFxyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgYmFja2dyb3VuZDogJHByb2dyZXNzLWJhY2tncm91bmQ7XHJcblxyXG4gICAgJjo6LXdlYmtpdC1wcm9ncmVzcy1iYXIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkcHJvZ3Jlc3MtYmFja2dyb3VuZDtcclxuXHJcbiAgICAgIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmOjotd2Via2l0LXByb2dyZXNzLXZhbHVlIHtcclxuICAgICAgYmFja2dyb3VuZDogJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ7XHJcblxyXG4gICAgICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJjo6LW1vei1wcm9ncmVzcy1iYXIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDtcclxuXHJcbiAgICAgIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xyXG4gICAgICAmLiN7JG5hbWV9IHtcclxuICAgICAgICAvLyBJbnRlcm5ldCBFeHBsb3JlciBzZXRzIHRoZSBmaWxsIHdpdGggY29sb3JcclxuICAgICAgICBjb2xvcjogJGNvbG9yO1xyXG5cclxuICAgICAgICAmOjotd2Via2l0LXByb2dyZXNzLXZhbHVlIHtcclxuICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcclxuICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBGb3IgSUUgYW5kIEVkZ2VcclxuICAgICY6Oi1tcy1maWxsIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcclxuICAgICAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcclxuICAgICAgfVxyXG5cclxuICAgICAgYm9yZGVyOiAwO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLyBbVE9ET10gQ2hlY2sgaG93IHBsdWdpbiBjb25maXJtcyBkaXNhYmxlZCBvciB2ZXJ0aWNhbCBzdGF0dXNcclxuLy8gW1RPRE9dIENoZWNrIGlmIHRyYW5zaXRpb246IGFsbDsgaXMgbmVjZXNzYXJ5XHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgc2xpZGVyXHJcbi8vLy9cclxuXHJcbi8vLyBEZWZhdWx0IHNsaWRlciB3aWR0aCBvZiBhIHZlcnRpY2FsIHNsaWRlci4gKERvZXNuJ3QgYXBwbHkgdG8gdGhlIG5hdGl2ZSBzbGlkZXIuKVxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBUcmFuc2l0aW9uIHByb3BlcnRpZXMgdG8gYXBwbHkgdG8gdGhlIHNsaWRlciBoYW5kbGUgYW5kIGZpbGwuIChEb2Vzbid0IGFwcGx5IHRvIHRoZSBuYXRpdmUgc2xpZGVyLilcclxuLy8vIEB0eXBlIFRyYW5zaXRpb25cclxuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcclxuXHJcbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3Igc2xpZGVycy5cclxuQG1peGluIHNsaWRlci1jb250YWluZXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xyXG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XHJcbiAgbWFyZ2luLWJvdHRvbTogMi4yNXJlbTtcclxuXHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1iYWNrZ3JvdW5kO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICB0b3VjaC1hY3Rpb246IG5vbmU7XHJcbn1cclxuXHJcbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgYWN0aXZlIGZpbGwgZm9yIHNsaWRlcnMuXHJcbkBtaXhpbiBzbGlkZXItZmlsbCB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG5cclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XHJcblxyXG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kO1xyXG4gIHRyYW5zaXRpb246ICRzbGlkZXItdHJhbnNpdGlvbjtcclxuXHJcbiAgJi5pcy1kcmFnZ2luZyB7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xyXG4gIH1cclxufVxyXG5cclxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0aGUgc2xpZGVyIGhhbmRsZXMuXHJcbkBtaXhpbiBzbGlkZXItaGFuZGxlIHtcclxuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XHJcbiAgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyO1xyXG4gIGxlZnQ6IDA7XHJcbiAgei1pbmRleDogMTtcclxuXHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcclxuICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcclxuXHJcbiAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDtcclxuICB0cmFuc2l0aW9uOiAkc2xpZGVyLXRyYW5zaXRpb247XHJcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XHJcblxyXG4gICY6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IoJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XHJcbiAgfVxyXG5cclxuICAmLmlzLWRyYWdnaW5nIHtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gc2xpZGVyLWRpc2FibGVkIHtcclxuICBvcGFjaXR5OiAkc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ7XHJcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxufVxyXG5cclxuQG1peGluIHNsaWRlci12ZXJ0aWNhbCB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHdpZHRoOiAkc2xpZGVyLXdpZHRoLXZlcnRpY2FsO1xyXG4gIGhlaWdodDogMTIuNXJlbTtcclxuICBtYXJnaW46IDAgMS4yNXJlbTtcclxuICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcclxuXHJcbiAgLnNsaWRlci1maWxsIHtcclxuICAgIHRvcDogMDtcclxuICAgIHdpZHRoOiAkc2xpZGVyLXdpZHRoLXZlcnRpY2FsO1xyXG4gICAgbWF4LWhlaWdodDogMTAwJTtcclxuICB9XHJcblxyXG4gIC5zbGlkZXItaGFuZGxlIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XHJcbiAgICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tc2xpZGVyIHtcclxuICAvLyBDb250YWluZXJcclxuICAuc2xpZGVyIHtcclxuICAgIEBpbmNsdWRlIHNsaWRlci1jb250YWluZXI7XHJcbiAgfVxyXG5cclxuICAvLyBGaWxsIGFyZWFcclxuICAuc2xpZGVyLWZpbGwge1xyXG4gICAgQGluY2x1ZGUgc2xpZGVyLWZpbGw7XHJcbiAgfVxyXG5cclxuICAvLyBEcmFnZ2FibGUgaGFuZGxlXHJcbiAgLnNsaWRlci1oYW5kbGUge1xyXG4gICAgQGluY2x1ZGUgc2xpZGVyLWhhbmRsZTtcclxuICB9XHJcblxyXG4gIC8vIERpc2FibGVkIHN0YXRlXHJcbiAgLnNsaWRlci5kaXNhYmxlZCxcclxuICAuc2xpZGVyW2Rpc2FibGVkXSB7XHJcbiAgICBAaW5jbHVkZSBzbGlkZXItZGlzYWJsZWQ7XHJcbiAgfVxyXG5cclxuICAvLyBWZXJ0aWNhbCBzbGlkZXJcclxuICAuc2xpZGVyLnZlcnRpY2FsIHtcclxuICAgIEBpbmNsdWRlIHNsaWRlci12ZXJ0aWNhbDtcclxuICB9XHJcblxyXG4gIC8vIFJUTCBzdXBwb3J0XHJcbiAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsIHtcclxuICAgIC5zbGlkZXI6bm90KC52ZXJ0aWNhbCkge1xyXG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIHNsaWRlclxyXG4vLy8vXHJcblxyXG4vLy8gRGVmYXVsdCBoZWlnaHQgb2YgdGhlIHNsaWRlci5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kc2xpZGVyLWhlaWdodDogMC41cmVtICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgc2xpZGVyJ3MgdHJhY2suXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGFjdGl2ZSBmaWxsIGNvbG9yIG9mIHRoZSBzbGlkZXIuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgaGVpZ2h0IG9mIHRoZSBoYW5kbGUgb2YgdGhlIHNsaWRlci5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IHdpZHRoIG9mIHRoZSBoYW5kbGUgb2YgdGhlIHNsaWRlci5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kc2xpZGVyLWhhbmRsZS13aWR0aDogMS40cmVtICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGhhbmRsZSBmb3IgdGhlIHNsaWRlci5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgZmFkZSBhbW91bnQgb2YgYSBkaXNhYmxlZCBzbGlkZXIuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBzbGlkZXIuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xyXG5cclxuQG1peGluIGZvdW5kYXRpb24tcmFuZ2UtaW5wdXQge1xyXG4gIGlucHV0W3R5cGU9J3JhbmdlJ10geyAgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXHJcbiAgICAkbWFyZ2luOiAoJHNsaWRlci1oYW5kbGUtaGVpZ2h0IC0gJHNsaWRlci1oZWlnaHQpIC8gMjtcclxuXHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgbWFyZ2luLXRvcDogJG1hcmdpbjtcclxuICAgIG1hcmdpbi1ib3R0b206ICRtYXJnaW47XHJcblxyXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAgIEBpZiBoYXMtdmFsdWUoJHNsaWRlci1yYWRpdXMpIHtcclxuICAgICAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XHJcbiAgICB9XHJcblxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgIG91dGxpbmU6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgJltkaXNhYmxlZF0ge1xyXG4gICAgICBvcGFjaXR5OiAkc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tdmVuZG9yLXByZWZpeFxyXG5cclxuICAgIC8vIENocm9tZS9TYWZhcmlcclxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcclxuICAgICAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcclxuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1iYWNrZ3JvdW5kO1xyXG4gICAgfVxyXG5cclxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcclxuICAgICAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xyXG4gICAgICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcclxuICAgICAgbWFyZ2luLXRvcDogLSRtYXJnaW47XHJcblxyXG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXHJcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ7XHJcblxyXG4gICAgICBAaWYgaGFzLXZhbHVlKCRzbGlkZXItcmFkaXVzKSB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBGaXJlZm94XHJcbiAgICAmOjotbW96LXJhbmdlLXRyYWNrIHtcclxuICAgICAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcclxuICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWJhY2tncm91bmQ7XHJcbiAgICB9XHJcblxyXG4gICAgJjo6LW1vei1yYW5nZS10aHVtYiB7XHJcbiAgICAgIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcclxuICAgICAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XHJcbiAgICAgIG1hcmdpbi10b3A6IC0kbWFyZ2luO1xyXG5cclxuICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kO1xyXG5cclxuICAgICAgQGlmIGhhcy12YWx1ZSgkc2xpZGVyLXJhZGl1cykge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItcmFkaXVzO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gSW50ZXJuZXQgRXhwbG9yZXJcclxuICAgICY6Oi1tcy10cmFjayB7XHJcbiAgICAgIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XHJcblxyXG4gICAgICBib3JkZXI6IDA7XHJcbiAgICAgIGJvcmRlci10b3A6ICRtYXJnaW4gc29saWQgJGJvZHktYmFja2dyb3VuZDtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogJG1hcmdpbiBzb2xpZCAkYm9keS1iYWNrZ3JvdW5kO1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWJhY2tncm91bmQ7XHJcblxyXG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgfVxyXG5cclxuICAgICY6Oi1tcy10aHVtYiB7XHJcbiAgICAgIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcclxuICAgICAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XHJcbiAgICAgIGJvcmRlcjogMDtcclxuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDtcclxuXHJcbiAgICAgIEBpZiBoYXMtdmFsdWUoJHNsaWRlci1yYWRpdXMpIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXJhZGl1cztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICY6Oi1tcy1maWxsLWxvd2VyIHtcclxuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1maWxsLWJhY2tncm91bmQ7XHJcbiAgICB9XHJcblxyXG4gICAgJjo6LW1zLWZpbGwtdXBwZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWJhY2tncm91bmQ7XHJcbiAgICB9XHJcblxyXG4gICAgQGF0LXJvb3Qge1xyXG4gICAgICBvdXRwdXQge1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNWVtO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIHN3aXRjaFxyXG4vLy8vXHJcblxyXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHN3aXRjaC5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xyXG5cclxuLy8vIEJhY2tncm91bmQgYWN0aXZlIGNvbG9yIG9mIGEgc3dpdGNoLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHN3aXRjaC1oZWlnaHQ6IDJyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnRpbnkgY2xhc3MuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtICFkZWZhdWx0O1xyXG5cclxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC5zbWFsbCBjbGFzcy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAubGFyZ2UgY2xhc3MuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBCb3JkZXIgcmFkaXVzIG9mIHRoZSBzd2l0Y2hcclxuLy8vIEB0eXBlIE51bWJlclxyXG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XHJcblxyXG4vLy8gYm9yZGVyIGFyb3VuZCBhIG1vZGFsLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcclxuXHJcbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgc3dpdGNoIGNvbnRhaW5lciBhbmQgcGFkZGxlLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xyXG5cclxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhIHN3aXRjaCBwYWRkbGUgYW5kIHRoZSBlZGdlIG9mIHRoZSBib2R5LlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBib3JkZXIgcmFkaXVzIG9mIHRoZSBzd2l0Y2ggcGFkZGxlXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcclxuXHJcbi8vLyBzd2l0Y2ggdHJhbnNpdGlvbi5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XHJcblxyXG4vLyBtYWtlIHRoZW0gdmFyaWFibGVzXHJcbi8vIGFzayBhYm91dCBhY2Nlc3NpYmlsaXR5IG9uIGxhYmVsXHJcbi8vIGNoYW5nZSBjbGFzcyBuYW1lIGZvciB0ZXh0XHJcblxyXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3dpdGNoIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGNvbnRhaW5lciBjbGFzcy5cclxuQG1peGluIHN3aXRjaC1jb250YWluZXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBtYXJnaW4tYm90dG9tOiAkc3dpdGNoLW1hcmdpbjtcclxuICBvdXRsaW5lOiAwO1xyXG5cclxuICAvLyBUaGVzZSBwcm9wZXJ0aWVzIGNhc2NhZGUgZG93biB0byB0aGUgc3dpdGNoIHRleHRcclxuICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICBjb2xvcjogJHdoaXRlO1xyXG5cclxuICB1c2VyLXNlbGVjdDogbm9uZTtcclxufVxyXG5cclxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN3aXRjaCBpbnB1dC4gQXBwbHkgdGhpcyB0byBhbiBgPGlucHV0PmAgd2l0aGluIGEgc3dpdGNoLlxyXG5AbWl4aW4gc3dpdGNoLWlucHV0IHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbWFyZ2luLWJvdHRvbTogMDtcclxuICBvcGFjaXR5OiAwO1xyXG59XHJcblxyXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBwYWRkbGUgb2YgYSBzd2l0Y2guIEFwcGx5IHRoaXMgdG8gYSBgPGxhYmVsPmAgd2l0aGluIGEgc3dpdGNoLlxyXG5AbWl4aW4gc3dpdGNoLXBhZGRsZSB7XHJcbiAgJHN3aXRjaC13aWR0aDogJHN3aXRjaC1oZWlnaHQgKiAyO1xyXG4gICRwYWRkbGUtaGVpZ2h0OiAkc3dpdGNoLWhlaWdodCAtICgkc3dpdGNoLXBhZGRsZS1vZmZzZXQgKiAyKTtcclxuICAkcGFkZGxlLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAtICgkc3dpdGNoLXBhZGRsZS1vZmZzZXQgKiAyKTtcclxuICAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q6ICRzd2l0Y2gtd2lkdGggLSAkcGFkZGxlLXdpZHRoIC0gJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xyXG5cclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgd2lkdGg6ICRzd2l0Y2gtd2lkdGg7XHJcbiAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcclxuXHJcbiAgYm9yZGVyLXJhZGl1czogJHN3aXRjaC1yYWRpdXM7XHJcbiAgYmFja2dyb3VuZDogJHN3aXRjaC1iYWNrZ3JvdW5kO1xyXG4gIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XHJcblxyXG4gIC8vIFJlc2V0dGluZyB0aGVzZSA8bGFiZWw+IHByZXNldHMgc28gdHlwZSBzdHlsZXMgY2FzY2FkZSBkb3duXHJcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XHJcbiAgY29sb3I6IGluaGVyaXQ7XHJcblxyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgLy8gTmVlZGVkIHRvIG92ZXJyaWRlIHNwZWNpZmljaXR5XHJcbiAgaW5wdXQgKyAmIHtcclxuICAgIG1hcmdpbjogMDtcclxuICB9XHJcblxyXG4gIC8vIFRoZSBwYWRkbGUgaXRzZWxmXHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAkc3dpdGNoLXBhZGRsZS1vZmZzZXQ7XHJcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcclxuXHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xyXG4gICAgaGVpZ2h0OiAkcGFkZGxlLWhlaWdodDtcclxuXHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgYm9yZGVyLXJhZGl1czogJHN3aXRjaC1wYWRkbGUtcmFkaXVzO1xyXG4gICAgYmFja2dyb3VuZDogJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDtcclxuICAgIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XHJcbiAgICBjb250ZW50OiAnJztcclxuICB9XHJcblxyXG4gIC8vIENoYW5nZSB0aGUgdmlzdWFsIHN0eWxlIHdoZW4gdGhlIHN3aXRjaCBpcyBhY3RpdmVcclxuICBpbnB1dDpjaGVja2VkIH4gJiB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlO1xyXG5cclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpbnB1dDpmb2N1cyB+ICYge1xyXG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xyXG4gIH1cclxufVxyXG5cclxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGFjdGl2ZS9pbmFjdGl2ZSB0ZXh0IGluc2lkZSBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byB0ZXh0IGVsZW1lbnRzIGluc2lkZSB0aGUgc3dpdGNoIGA8bGFiZWw+YC5cclxuQG1peGluIHN3aXRjaC10ZXh0IHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA1MCU7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG59XHJcblxyXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXHJcbkBtaXhpbiBzd2l0Y2gtdGV4dC1hY3RpdmUge1xyXG4gICN7JGdsb2JhbC1sZWZ0fTogOCU7XHJcbiAgZGlzcGxheTogbm9uZTtcclxuXHJcbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcbn1cclxuXHJcbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGluYWN0aXZlIHN0YXRlIHRleHQgd2l0aGluIGEgc3dpdGNoLlxyXG5AbWl4aW4gc3dpdGNoLXRleHQtaW5hY3RpdmUge1xyXG4gICN7JGdsb2JhbC1yaWdodH06IDE1JTtcclxuXHJcbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLy8vIENoYW5nZXMgdGhlIHNpemUgb2YgYSBzd2l0Y2ggYnkgbW9kaWZ5aW5nIHRoZSBzaXplIG9mIHRoZSBib2R5IGFuZCBwYWRkbGUuIEFwcGx5IHRoaXMgdG8gYSBzd2l0Y2ggY29udGFpbmVyLlxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmb250LXNpemUgWzFyZW1dIC0gRm9udCBzaXplIG9mIGxhYmVsIHRleHQgd2l0aGluIHRoZSBzd2l0Y2guXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHN3aXRjaC1oZWlnaHQgWzJyZW1dIC0gSGVpZ2h0IG9mIHRoZSBzd2l0Y2ggYm9keS5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGxlLW9mZnNldCBbMC4yNXJlbV0gLSBTcGFjaW5nIGJldHdlZW4gdGhlIHN3aXRjaCBwYWRkbGUgYW5kIHRoZSBlZGdlIG9mIHRoZSBzd2l0Y2ggYm9keS5cclxuQG1peGluIHN3aXRjaC1zaXplKFxyXG4gICRmb250LXNpemU6IDFyZW0sXHJcbiAgJHN3aXRjaC1oZWlnaHQ6IDJyZW0sXHJcbiAgJHBhZGRsZS1vZmZzZXQ6IDAuMjVyZW1cclxuKSB7XHJcblxyXG4gICRzd2l0Y2gtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0ICogMjtcclxuICAkcGFkZGxlLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAtICgkcGFkZGxlLW9mZnNldCAqIDIpO1xyXG4gICRwYWRkbGUtaGVpZ2h0OiAkc3dpdGNoLWhlaWdodCAtICgkcGFkZGxlLW9mZnNldCAqIDIpO1xyXG4gICRwYWRkbGUtYWN0aXZlLW9mZmVzdDogJHN3aXRjaC13aWR0aCAtICRwYWRkbGUtd2lkdGggLSAkcGFkZGxlLW9mZnNldDtcclxuXHJcbiAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcclxuXHJcbiAgLnN3aXRjaC1wYWRkbGUge1xyXG4gICAgd2lkdGg6ICRzd2l0Y2gtd2lkdGg7XHJcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xyXG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xyXG4gIH1cclxuXHJcbiAgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcclxuICAgIHRvcDogJHBhZGRsZS1vZmZzZXQ7XHJcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtb2Zmc2V0O1xyXG4gICAgd2lkdGg6ICRwYWRkbGUtd2lkdGg7XHJcbiAgICBoZWlnaHQ6ICRwYWRkbGUtaGVpZ2h0O1xyXG4gIH1cclxuXHJcbiAgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XHJcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtYWN0aXZlLW9mZmVzdDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLXN3aXRjaCB7XHJcbiAgLy8gQ29udGFpbmVyIGNsYXNzXHJcbiAgLnN3aXRjaCB7XHJcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xyXG4gICAgQGluY2x1ZGUgc3dpdGNoLWNvbnRhaW5lcjtcclxuICB9XHJcblxyXG4gIC8vIDxpbnB1dD4gZWxlbWVudFxyXG4gIC5zd2l0Y2gtaW5wdXQge1xyXG4gICAgQGluY2x1ZGUgc3dpdGNoLWlucHV0O1xyXG4gIH1cclxuXHJcbiAgLy8gPGxhYmVsPiBlbGVtZW50XHJcbiAgLnN3aXRjaC1wYWRkbGUge1xyXG4gICAgQGluY2x1ZGUgc3dpdGNoLXBhZGRsZTtcclxuICB9XHJcblxyXG4gIC8vIEJhc2UgbGFiZWwgdGV4dCBzdHlsZXNcclxuICAlc3dpdGNoLXRleHQge1xyXG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQ7XHJcbiAgfVxyXG5cclxuICAvLyBBY3RpdmUgbGFiZWwgdGV4dCBzdHlsZXNcclxuICAuc3dpdGNoLWFjdGl2ZSB7XHJcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcclxuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0LWFjdGl2ZTtcclxuICB9XHJcblxyXG4gIC8vIEluYWN0aXZlIGxhYmVsIHRleHQgc3R5bGVzXHJcbiAgLnN3aXRjaC1pbmFjdGl2ZSB7XHJcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcclxuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0LWluYWN0aXZlO1xyXG4gIH1cclxuXHJcbiAgLy8gU3dpdGNoIHNpemVzXHJcbiAgLnN3aXRjaC50aW55IHtcclxuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEwKSwgJHN3aXRjaC1oZWlnaHQtdGlueSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcclxuICB9XHJcblxyXG4gIC5zd2l0Y2guc21hbGwge1xyXG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTIpLCAkc3dpdGNoLWhlaWdodC1zbWFsbCwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcclxuICB9XHJcblxyXG4gIC5zd2l0Y2gubGFyZ2Uge1xyXG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTYpLCAkc3dpdGNoLWhlaWdodC1sYXJnZSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIHRhYmxlXHJcbi8vLy9cclxuXHJcbi8vLyBEZWZhdWx0IGNvbG9yIGZvciB0YWJsZSBiYWNrZ3JvdW5kLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZSAgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSBzdHJpcGVkIHRhYmxlIHJvd3MgYW5kIHRoZSB0YWJsZSBib3JkZXIuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IHN0eWxlIGZvciB0YWJsZSBib3JkZXIuXHJcbi8vLyBAdHlwZSBMaXN0XHJcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYmxlLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0YW5kYXJkIHJvd3Mgb24gaG92ZXIuXHJcbi8vLyBAdHlwZSBMaXN0XHJcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0cmlwZWQgcm93cyBvbiBob3Zlci5cclxuLy8vIEB0eXBlIExpc3RcclxuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBJZiBgdHJ1ZWAsIHRhYmxlcyBhcmUgc3RyaXBlZCBieSBkZWZhdWx0IGFuZCBhbiAudW5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuIElmIGBmYWxzZWAsIGEgLnN0cmlwZWQgY2xhc3MgaXMgY3JlYXRlZC5cclxuLy8vIEB0eXBlIEJvb2xlYW5cclxuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBzdHJpcGVkIHJvd3MuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBzdHJpcGUgb24gcm93cyBvZiB0aGUgdGFibGVzLCBleGNsdWRpbmcgdGhlIGhlYWRlciBhbmQgZm9vdGVyLiBJZiBldmVuLCB0aGUgZXZlbiByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIG9kZCwgdGhlIG9kZCByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIGVtcHR5LCBvciBhbnkgb3RoZXIgdmFsdWUsIHRoZSB0YWJsZSByb3dzIHdpbGwgaGF2ZSBubyBzdHJpcGluZy5cclxuLy8vIEB0eXBlIEtleXdvcmRcclxuJHRhYmxlLXN0cmlwZTogZXZlbiAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWFkZXIgYmFja2dyb3VuZC5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGNvbG9yIG9mIGhlYWRlciByb3dzIG9uIGhvdmVyLlxyXG4vLy8gQHR5cGUgTGlzdFxyXG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGZvb3RlciBiYWNrZ3JvdW5kLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBmb290ZXIgcm93cyBvbiBob3Zlci5cclxuLy8vIEB0eXBlIExpc3RcclxuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGhlYWRlci5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb290ZXIuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIGhlYWRlciB3aGVuIHVzaW5nIHN0YWNrZWQgdGFibGVzLlxyXG4vLy8gQHR5cGUgQm9vbGVhblxyXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlICFkZWZhdWx0O1xyXG5cclxuLy8vIEJyZWFrcG9pbnQgYXQgd2hpY2ggc3RhY2tlZCB0YWJsZSBzd2l0Y2hlcyBmcm9tIG1vYmlsZSB0byBkZXNrdG9wIHZpZXcuXHJcbi8vLyBAdHlwZSBCcmVha3BvaW50XHJcbiR0YWJsZS1zdGFjay1icmVha3BvaW50OiBtZWRpdW0gIWRlZmF1bHQ7XHJcblxyXG5AbWl4aW4gLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlOiAkdGFibGUtc3RyaXBlKSB7XHJcbiAgdHIge1xyXG4gICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBldmVuLCBkYXJrZW4gdGhlIGV2ZW4gcm93cy5cclxuICAgIEBpZiAkc3RyaXBlID09IGV2ZW4ge1xyXG4gICAgICAmOm50aC1jaGlsZChldmVuKSB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBvZGQsIGRhcmtlbiB0aGUgb2RkIHJvd3MuXHJcbiAgICBAZWxzZSBpZiAkc3RyaXBlID09IG9kZCB7XHJcbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiAtemYtdGFibGUtdW5zdHJpcGUoKSB7XHJcbiAgdHIge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMDtcclxuICAgIGJvcmRlci1ib3R0b206ICR0YWJsZS1ib3JkZXI7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsICRpcy1zdHJpcGVkOiAkdGFibGUtaXMtc3RyaXBlZCkge1xyXG4gIHRoZWFkLFxyXG4gIHRib2R5LFxyXG4gIHRmb290IHtcclxuICAgIGJvcmRlcjogJHRhYmxlLWJvcmRlcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xyXG4gIH1cclxuXHJcbiAgLy8gQ2FwdGlvblxyXG4gIGNhcHRpb24ge1xyXG4gICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XHJcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcclxuICB9XHJcblxyXG4gIC8vIFRhYmxlIGhlYWRcclxuICB0aGVhZCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtaGVhZC1iYWNrZ3JvdW5kO1xyXG4gICAgY29sb3I6ICR0YWJsZS1oZWFkLWZvbnQtY29sb3I7XHJcbiAgfVxyXG5cclxuICAvLyBUYWJsZSBmb290XHJcbiAgdGZvb3Qge1xyXG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWZvb3QtYmFja2dyb3VuZDtcclxuICAgIGNvbG9yOiAkdGFibGUtZm9vdC1mb250LWNvbG9yO1xyXG4gIH1cclxuXHJcbiAgLy8gVGFibGUgaGVhZCBhbmQgZm9vdFxyXG4gIHRoZWFkLFxyXG4gIHRmb290IHtcclxuICAgIC8vIFJvd3Mgd2l0aGluIGhlYWQgYW5kIGZvb3RcclxuICAgIHRyIHtcclxuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQ2VsbHMgd2l0aGluIGhlYWQgYW5kIGZvb3RcclxuICAgIHRoLFxyXG4gICAgdGQge1xyXG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcclxuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcbiAgICAgIHRleHQtYWxpZ246ICN7JGdsb2JhbC1sZWZ0fTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFRhYmxlIHJvd3NcclxuICB0Ym9keSB7XHJcbiAgICB0aCxcclxuICAgIHRkIHtcclxuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBJZiB0YWJsZXMgYXJlIHN0cmlwZWRcclxuICBAaWYgJGlzLXN0cmlwZWQgPT0gdHJ1ZSB7XHJcbiAgICB0Ym9keSB7XHJcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZSk7XHJcbiAgICB9XHJcblxyXG4gICAgJi51bnN0cmlwZWQge1xyXG4gICAgICB0Ym9keSB7XHJcbiAgICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXVuc3RyaXBlKCk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIElmIHRhYmxlcyBhcmUgbm90IHN0cmlwZWRcclxuICBAZWxzZSBpZiAkaXMtc3RyaXBlZCA9PSBmYWxzZSB7XHJcbiAgICB0Ym9keSB7XHJcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS11bnN0cmlwZSgpO1xyXG4gICAgfVxyXG5cclxuICAgICYuc3RyaXBlZCB7XHJcbiAgICAgIHRib2R5IHtcclxuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRhYmxlcy5cclxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0cmlwZSBbJHRhYmxlLXN0cmlwZV0gLSBVc2VzIGtleXdvcmRzIGV2ZW4sIG9kZCwgb3Igbm9uZSB0byBkYXJrZW4gcm93cyBvZiB0aGUgdGFibGUuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGV2ZW4uXHJcbkBtaXhpbiB0YWJsZShcclxuICAkc3RyaXBlOiAkdGFibGUtc3RyaXBlLFxyXG4gICRuZXN0OiBmYWxzZVxyXG4pIHtcclxuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG4gIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuICBAaWYgJG5lc3Qge1xyXG4gICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgQGF0LXJvb3Qge1xyXG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8vIEFkZHMgdGhlIGFiaWxpdHkgdG8gaG9yaXpvbnRhbGx5IHNjcm9sbCB0aGUgdGFibGUgd2hlbiB0aGUgY29udGVudCBvdmVyZmxvd3MgaG9yaXpvbnRhbGx5LlxyXG5AbWl4aW4gdGFibGUtc2Nyb2xsIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICB3aWR0aDogMTAwJTtcclxuICBvdmVyZmxvdy14OiBhdXRvO1xyXG59XHJcblxyXG4vLy8gU2xpZ2h0bHkgZGFya2VucyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cclxuQG1peGluIHRhYmxlLWhvdmVyIHtcclxuICB0aGVhZCB0ciB7XHJcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGhlYWRlciByb3dzIG9uIGhvdmVyLlxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1oZWFkLXJvdy1ob3ZlcjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHRmb290IHRyIHtcclxuICAgIC8vRGFya2VucyB0aGUgdGFibGUgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWZvb3Qtcm93LWhvdmVyO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdGJvZHkgdHIge1xyXG4gICAgLy9EYXJrZW5zIHRoZSBub24tc3RyaXBlZCB0YWJsZSByb3dzIG9uIGhvdmVyLlxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctaG92ZXI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgJHRhYmxlLWlzLXN0cmlwZWQgPT0gdHJ1ZSB7XHJcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cclxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcclxuICAgICAgJjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cclxuICAgIEBlbHNlIGlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XHJcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAZWxzZSBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSBmYWxzZSB7XHJcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cclxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcclxuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIERhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXHJcbiAgICBAZWxzZSBpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xyXG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzdGFja2VkIHRhYmxlLiBVc2VmdWwgZm9yIHNtYWxsLXNjcmVlbiBsYXlvdXRzLlxyXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaGVhZGVyIFskc2hvdy1oZWFkZXItZm9yLXN0YWNrZWRdIC0gU2hvdyB0aGUgZmlyc3QgdGggb2YgaGVhZGVyIHdoZW4gc3RhY2tlZC5cclxuQG1peGluIHRhYmxlLXN0YWNrKCRoZWFkZXI6ICRzaG93LWhlYWRlci1mb3Itc3RhY2tlZCkge1xyXG4gIEBpZiAkaGVhZGVyIHtcclxuICAgIHRoZWFkIHtcclxuICAgICAgdGgge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIHRoZWFkIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHRmb290IHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG5cclxuICB0cixcclxuICB0aCxcclxuICB0ZCB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcblxyXG4gIHRkIHtcclxuICAgIGJvcmRlci10b3A6IDA7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gZm91bmRhdGlvbi10YWJsZSgkbmVzdDogZmFsc2UpIHtcclxuICB0YWJsZSB7XHJcbiAgICBAaW5jbHVkZSB0YWJsZSgkbmVzdDogJG5lc3QpO1xyXG4gIH1cclxuXHJcbiAgdGFibGUuc3RhY2sge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGUtc3RhY2stYnJlYWtwb2ludCBkb3duKSB7XHJcbiAgICAgIEBpbmNsdWRlIHRhYmxlLXN0YWNrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdGFibGUuc2Nyb2xsIHtcclxuICAgIEBpbmNsdWRlIHRhYmxlLXNjcm9sbDtcclxuICB9XHJcblxyXG4gIHRhYmxlLmhvdmVyIHtcclxuICAgIEBpbmNsdWRlIHRhYmxlLWhvdmVyO1xyXG4gIH1cclxuXHJcbiAgLnRhYmxlLXNjcm9sbCB7XHJcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xyXG5cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuQGltcG9ydCAnbWF0aCc7XHJcblxyXG4kY29udHJhc3Qtd2FybmluZ3M6IHRydWUgIWRlZmF1bHQ7XHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXHJcbi8vLy9cclxuXHJcbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBjaGVjayB0aGUgbHVtaW5hbmNlIG9mLlxyXG4vLy9cclxuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXHJcbkBmdW5jdGlvbiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yKSB7XHJcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xyXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jcmVsYXRpdmVsdW1pbmFuY2VkZWZcclxuICAkcmdiYTogcmVkKCRjb2xvciksIGdyZWVuKCRjb2xvciksIGJsdWUoJGNvbG9yKTtcclxuICAkcmdiYTI6ICgpO1xyXG5cclxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDMge1xyXG4gICAgJHJnYjogbnRoKCRyZ2JhLCAkaSk7XHJcbiAgICAkcmdiOiAkcmdiIC8gMjU1O1xyXG5cclxuICAgICRyZ2I6IGlmKCRyZ2IgPCAwLjAzOTI4LCAkcmdiIC8gMTIuOTIsIHBvdygoJHJnYiArIDAuMDU1KSAvIDEuMDU1LCAyLjQpKTtcclxuXHJcbiAgICAkcmdiYTI6IGFwcGVuZCgkcmdiYTIsICRyZ2IpO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAwLjIxMjYgKiBudGgoJHJnYmEyLCAxKSArIDAuNzE1MiAqIG50aCgkcmdiYTIsIDIpICsgMC4wNzIyICogbnRoKCRyZ2JhMiwgMyk7XHJcbn1cclxuXHJcbi8vLyBDaGVja3MgdGhlIGNvbnRyYXN0IHJhdGlvIG9mIHR3byBjb2xvcnMuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMSAtIEZpcnN0IGNvbG9yIHRvIGNvbXBhcmUuXHJcbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IyIC0gU2Vjb25kIGNvbG9yIHRvIGNvbXBhcmUuXHJcbi8vL1xyXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGNvbnRyYXN0IHJhdGlvIG9mIHRoZSBjb21wYXJlZCBjb2xvcnMuXHJcbkBmdW5jdGlvbiBjb2xvci1jb250cmFzdCgkY29sb3IxLCAkY29sb3IyKSB7XHJcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xyXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jY29udHJhc3QtcmF0aW9kZWZcclxuICAkbHVtaW5hbmNlMTogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjEpICsgMC4wNTtcclxuICAkbHVtaW5hbmNlMjogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjIpICsgMC4wNTtcclxuICAkcmF0aW86ICRsdW1pbmFuY2UxIC8gJGx1bWluYW5jZTI7XHJcblxyXG4gIEBpZiAkbHVtaW5hbmNlMiA+ICRsdW1pbmFuY2UxIHtcclxuICAgICRyYXRpbzogMSAvICRyYXRpbztcclxuICB9XHJcblxyXG4gICRyYXRpbzogcm91bmQoJHJhdGlvICogMTApIC8gMTA7XHJcblxyXG4gIEByZXR1cm4gJHJhdGlvO1xyXG59XHJcblxyXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRiYXNlYCwgYW5kIHJldHVybnMgdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhc2UgLSBDb2xvciB0byBjaGVjayBsdW1pbmFuY2UuXHJcbi8vLyBAcGFyYW0ge0xpc3R9ICRjb2xvcnMgWygkd2hpdGUsICRibGFjayldIC0gQ29sb3JzIHRvIGNvbXBhcmUuXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvbGVyYW5jZSBbJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZV0gLSBDb250cmFzdCB0b2xlcmFuY2UuXHJcbi8vL1xyXG4vLy8gQHJldHVybnMge0NvbG9yfSB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cclxuQGZ1bmN0aW9uIGNvbG9yLXBpY2stY29udHJhc3QoJGJhc2UsICRjb2xvcnM6ICgkd2hpdGUsICRibGFjayksICR0b2xlcmFuY2U6ICRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2UpIHtcclxuICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgMSkpO1xyXG4gICRiZXN0OiBudGgoJGNvbG9ycywgMSk7XHJcblxyXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggbGVuZ3RoKCRjb2xvcnMpIHtcclxuICAgICRjdXJyZW50LWNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XHJcbiAgICBAaWYgKCRjdXJyZW50LWNvbnRyYXN0IC0gJGNvbnRyYXN0ID4gJHRvbGVyYW5jZSkge1xyXG4gICAgICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcclxuICAgICAgJGJlc3Q6IG50aCgkY29sb3JzLCAkaSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgKCRjb250cmFzdC13YXJuaW5ncyBhbmQgJGNvbnRyYXN0IDwgMykge1xyXG4gICAgQHdhcm4gXCJDb250cmFzdCByYXRpbyBvZiAjeyRiZXN0fSBvbiAjeyRiYXNlfSBpcyBwcmV0dHkgYmFkLCBqdXN0ICN7JGNvbnRyYXN0fVwiO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkYmVzdDtcclxufVxyXG5cclxuLy8vIFNjYWxlcyBhIGNvbG9yIHRvIGJlIGRhcmtlciBpZiBpdCdzIGxpZ2h0LCBvciBsaWdodGVyIGlmIGl0J3MgZGFyay4gVXNlIHRoaXMgZnVuY3Rpb24gdG8gdGludCBhIGNvbG9yIGFwcHJvcHJpYXRlIHRvIGl0cyBsaWdodG5lc3MuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gc2NhbGUuXHJcbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICRzY2FsZSBbNSVdIC0gQW1vdW50IHRvIHNjYWxlIHVwIG9yIGRvd24uXHJcbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICR0aHJlc2hvbGQgWzQwJV0gLSBUaHJlc2hvbGQgb2YgbGlnaHRuZXNzIHRvIGNoZWNrIGFnYWluc3QuXHJcbi8vL1xyXG4vLy8gQHJldHVybnMge0NvbG9yfSBBIHNjYWxlZCBjb2xvci5cclxuQGZ1bmN0aW9uIHNtYXJ0LXNjYWxlKCRjb2xvciwgJHNjYWxlOiA1JSwgJHRocmVzaG9sZDogNDAlKSB7XHJcbiAgQGlmIGxpZ2h0bmVzcygkY29sb3IpID4gJHRocmVzaG9sZCB7XHJcbiAgICAkc2NhbGU6IC0kc2NhbGU7XHJcbiAgfVxyXG4gIEByZXR1cm4gc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkc2NhbGUpO1xyXG59XHJcblxyXG4vLy8gR2V0IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtrZXl9IGNvbG9yIGtleSBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxyXG4vLy9cclxuLy8vIEByZXR1cm5zIHtDb2xvcn0gY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcclxuQGZ1bmN0aW9uIGdldC1jb2xvcigka2V5KSB7XHJcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpIHtcclxuICAgIEByZXR1cm4gbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KTtcclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgQGVycm9yICdnaXZlbiAka2V5IGlzIG5vdCBhdmFpbGFibGUgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSc7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gVHJhbnNmZXJzIHRoZSBjb2xvcnMgaW4gdGhlIGAkZm91bmRhdGlvbi1wYWxldHRlYCBtYXAgaW50byB2YXJpYWJsZXMsIHN1Y2ggYXMgYCRwcmltYXJ5LWNvbG9yYCBhbmQgYCRzZWNvbmRhcnktY29sb3JgLiBDYWxsIHRoaXMgbWl4aW4gYmVsb3cgdGhlIEdsb2JhbCBzZWN0aW9uIG9mIHlvdXIgc2V0dGluZ3MgZmlsZSB0byBwcm9wZXJseSBtaWdyYXRlIHlvdXIgY29kZWJhc2UuXHJcbkBtaXhpbiBhZGQtZm91bmRhdGlvbi1jb2xvcnMoKSB7XHJcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcclxuICAgICRwcmltYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpICFnbG9iYWw7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICAkcHJpbWFyeS1jb2xvcjogIzE3NzliYSAhZ2xvYmFsO1xyXG4gIH1cclxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSB7XHJcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkgIWdsb2JhbDtcclxuICB9IEBlbHNlIHtcclxuICAgICRzZWNvbmRhcnktY29sb3I6ICM3Njc2NzYgIWdsb2JhbDtcclxuICB9XHJcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpIHtcclxuICAgICRzdWNjZXNzLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpICFnbG9iYWw7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICAkc3VjY2Vzcy1jb2xvcjogIzNhZGI3NiAhZ2xvYmFsO1xyXG4gIH1cclxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykge1xyXG4gICAgJHdhcm5pbmctY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykgIWdsb2JhbDtcclxuICB9IEBlbHNlIHtcclxuICAgICR3YXJuaW5nLWNvbG9yOiAjZmZhZTAwICFnbG9iYWw7XHJcbiAgfVxyXG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkge1xyXG4gICAgJGFsZXJ0LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZ2xvYmFsO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgJGFsZXJ0LWNvbG9yOiAjY2M0YjM3ICFnbG9iYWw7XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBiYWRnZVxyXG4vLy8vXHJcblxyXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBiYWRnZXMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBiYWRnZXMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kYmFkZ2UtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBBbHRlcm5hdGUgdGV4dCBjb2xvciBmb3IgYmFkZ2VzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGJhZGdlLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xyXG5cclxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxyXG4vLy8gQHR5cGUgTWFwXHJcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYmFkZ2VzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGEgYmFkZ2UuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGJhZGdlLW1pbndpZHRoOiAyLjFlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgYmFkZ2VzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBHZW5lcmF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIGJhZGdlLlxyXG5AbWl4aW4gYmFkZ2Uge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBtaW4td2lkdGg6ICRiYWRnZS1taW53aWR0aDtcclxuICBwYWRkaW5nOiAkYmFkZ2UtcGFkZGluZztcclxuXHJcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG5cclxuICBmb250LXNpemU6ICRiYWRnZS1mb250LXNpemU7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG5AbWl4aW4gZm91bmRhdGlvbi1iYWRnZSB7XHJcbiAgLmJhZGdlIHtcclxuICAgIEBpbmNsdWRlIGJhZGdlO1xyXG5cclxuICAgIGJhY2tncm91bmQ6ICRiYWRnZS1iYWNrZ3JvdW5kO1xyXG4gICAgY29sb3I6ICRiYWRnZS1jb2xvcjtcclxuXHJcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRiYWRnZS1wYWxldHRlIHtcclxuICAgICAgJi4jeyRuYW1lfSB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xyXG4gICAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRjb2xvciwgKCRiYWRnZS1jb2xvciwgJGJhZGdlLWNvbG9yLWFsdCkpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBicmVhZGNydW1ic1xyXG4vLy8vXHJcblxyXG4vLy8gTWFyZ2luIGFyb3VuZCBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lci5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcclxuXHJcbi8vLyBGb250IHNpemUgb2YgYnJlYWRjcnVtYiBsaW5rcy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBDb2xvciBvZiBicmVhZGNydW1iIGxpbmtzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xyXG5cclxuLy8vIENvbG9yIG9mIHRoZSBhY3RpdmUgYnJlYWRjcnVtYiBsaW5rLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrICFkZWZhdWx0O1xyXG5cclxuLy8vIE9wYWNpdHkgb2YgZGlzYWJsZWQgYnJlYWRjcnVtYiBsaW5rcy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xyXG5cclxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJyZWFkY3J1bWIgaXRlbXMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtICFkZWZhdWx0O1xyXG5cclxuLy8vIElmIGB0cnVlYCwgbWFrZXMgYnJlYWRjcnVtYiBsaW5rcyB1cHBlcmNhc2UuXHJcbi8vLyBAdHlwZSBCb29sZWFuXHJcbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgYSBzZXBlcmF0b3IgYmV0d2VlbiBicmVhZGNydW1iIGxpbmtzLlxyXG4vLy8gQHR5cGUgQm9vbGVhblxyXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6IHRydWUgIWRlZmF1bHQ7XHJcblxyXG4vLyBJZiBpdCBleGlzdHMgJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2ggaXMgdXNlZCB0byBidWlsZCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3IuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cclxuQGlmIHZhcmlhYmxlLWV4aXN0cyhicmVhZGNydW1icy1pdGVtLXNsYXNoKSB7XHJcbiAgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaDtcclxufVxyXG5cclxuLy8vIFVzZWQgY2hhcmFjdGVyIGZvciB0aGUgYnJlYWRjcnVtYiBzZXBhcmF0b3IuXHJcbi8vLyBAdHlwZSBDb250ZW50XHJcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtOiAnLycgIWRlZmF1bHQ7XHJcblxyXG4vLy8gVXNlZCBjaGFyYWN0ZXIgZm9yIHRoZSBicmVhZGNydW1iIHNlcGFyYXRvciBpbiBydGwgbW9kZS5cclxuLy8vIEB0eXBlIENvbnRlbnRcclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsOiAnXFxcXCcgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQ29sb3Igb2YgYnJlYWRjcnVtYiBpdGVtLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XHJcblxyXG4vLyBJZiBpdCBleGlzdHMgJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3IgaXMgdXNlZCB0byBidWlsZCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3IuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cclxuQGlmIHZhcmlhYmxlLWV4aXN0cyhicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yKSB7XHJcbiAgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvcjtcclxufVxyXG5cclxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lciwgYWxvbmcgd2l0aCB0aGUgc3R5bGVzIGZvciB0aGUgYDxsaT5gIGFuZCBgPGE+YCBlbGVtZW50cyBpbnNpZGUgb2YgaXQuXHJcbkBtaXhpbiBicmVhZGNydW1icy1jb250YWluZXIge1xyXG4gIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gIG1hcmdpbjogJGJyZWFkY3J1bWJzLW1hcmdpbjtcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG5cclxuICAvLyBJdGVtIHdyYXBwZXJcclxuICBsaSB7XHJcbiAgICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xyXG5cclxuICAgIGZvbnQtc2l6ZTogJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplO1xyXG4gICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ7XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcblxyXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZSB7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvciB7XHJcbiAgICAgIC8vIE5lZWQgdG8gZXNjYXBlIHRoZSBiYWNrc2xhc2hcclxuICAgICAgJHNlcGFyYXRvcjogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAnbHRyJywgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0sICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bCk7XHJcblxyXG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgIG1hcmdpbjogMCAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XHJcbiAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgY29udGVudDogJHNlcGFyYXRvcjtcclxuICAgICAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBAZWxzZSB7XHJcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBQYWdlIGxpbmtzXHJcbiAgYSB7XHJcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tYnJlYWRjcnVtYnMge1xyXG4gIC5icmVhZGNydW1icyB7XHJcbiAgICBAaW5jbHVkZSBicmVhZGNydW1icy1jb250YWluZXI7XHJcblxyXG4gICAgLmRpc2FibGVkIHtcclxuICAgICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkO1xyXG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgY2FsbG91dFxyXG4vLy8vXHJcblxyXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgZmFkZSB2YWx1ZSBmb3IgY2FsbG91dCBiYWNrZ3JvdW5kcy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGJvcmRlciBzdHlsZSBmb3IgY2FsbG91dHMuXHJcbi8vLyBAdHlwZSBMaXN0XHJcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIGNhbGxvdXRzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMCAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGlubmVyIHBhZGRpbmcgZm9yIGNhbGxvdXRzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRjYWxsb3V0LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cy5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cywgaWYgdGhlIGNhbGxvdXQgaGFzIGEgZGFyayBiYWNrZ3JvdW5kLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBib3JkZXIgcmFkaXVzIGZvciBjYWxsb3V0cy5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQW1vdW50IHRvIHRpbnQgbGlua3MgdXNlZCB3aXRoaW4gY29sb3JlZCBwYW5lbHMuIFNldCB0byBgZmFsc2VgIHRvIGRpc2FibGUgdGhpcyBmZWF0dXJlLlxyXG4vLy8gQHR5cGUgTnVtYmVyIHwgQm9vbGVhblxyXG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJSAhZGVmYXVsdDtcclxuXHJcbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYSBjYWxsb3V0LCBpbmNsdWRpbmcgcGFkZGluZyBhbmQgbWFyZ2luLlxyXG5AbWl4aW4gY2FsbG91dC1iYXNlKCkge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBtYXJnaW46ICRjYWxsb3V0LW1hcmdpbjtcclxuICBwYWRkaW5nOiAkY2FsbG91dC1wYWRkaW5nO1xyXG5cclxuICBib3JkZXI6ICRjYWxsb3V0LWJvcmRlcjtcclxuICBib3JkZXItcmFkaXVzOiAkY2FsbG91dC1yYWRpdXM7XHJcblxyXG4gIC8vIFJlc3BlY3QgdGhlIHBhZGRpbmcsIGZvb2wuXHJcbiAgPiA6Zmlyc3QtY2hpbGQge1xyXG4gICAgbWFyZ2luLXRvcDogMDtcclxuICB9XHJcblxyXG4gID4gOmxhc3QtY2hpbGQge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICB9XHJcbn1cclxuXHJcbi8vLyBHZW5lcmF0ZSBxdWljayBzdHlsZXMgZm9yIGEgY2FsbG91dCB1c2luZyBhIHNpbmdsZSBjb2xvciBhcyBhIGJhc2VsaW5lLlxyXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cclxuQG1peGluIGNhbGxvdXQtc3R5bGUoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XHJcbiAgJGJhY2tncm91bmQ6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlKTtcclxuXHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkY2FsbG91dC1mb250LWNvbG9yLCAkY2FsbG91dC1mb250LWNvbG9yLWFsdCkpO1xyXG59XHJcblxyXG5AbWl4aW4gY2FsbG91dC1zaXplKCRwYWRkaW5nKSB7XHJcbiAgcGFkZGluZy10b3A6ICRwYWRkaW5nO1xyXG4gIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xyXG4gIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcclxuICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xyXG59XHJcblxyXG5cclxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhbGxvdXQuXHJcbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxyXG5AbWl4aW4gY2FsbG91dCgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcclxuICBAaW5jbHVkZSBjYWxsb3V0LWJhc2U7XHJcbiAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xyXG59XHJcblxyXG5AbWl4aW4gZm91bmRhdGlvbi1jYWxsb3V0IHtcclxuICAuY2FsbG91dCB7XHJcbiAgICBAaW5jbHVkZSBjYWxsb3V0O1xyXG5cclxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XHJcbiAgICAgICYuI3skbmFtZX0ge1xyXG4gICAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuc21hbGwge1xyXG4gICAgICBAaW5jbHVkZSBjYWxsb3V0LXNpemUoMC41cmVtKTtcclxuICAgIH1cclxuXHJcbiAgICAmLmxhcmdlIHtcclxuICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKDNyZW0pO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgY2FyZFxyXG4vLy8vXHJcblxyXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FyZHMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kY2FyZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgYmFja2dyb3VuZC5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBib3JkZXIgc3R5bGUuXHJcbi8vLyBAdHlwZSBMaXN0XHJcbiRjYXJkLWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgY2FyZCBzaGFkb3cuXHJcbi8vLyBAdHlwZSBMaXN0XHJcbiRjYXJkLXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGJvcmRlciByYWRpdXMuXHJcbi8vLyBAdHlwZSBMaXN0XHJcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgcGFkZGluZy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kY2FyZC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luLlxyXG4vLy8gQHR5cGUgbnVtYmVyXHJcbiRjYXJkLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xyXG5cclxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgY29udGFpbmVyLlxyXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBjYXJkLlxyXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gZm9udCBjb2xvciBvZiB0aGUgY2FyZC5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWFyZ2luIC0gQm90dG9tIG1hcmdpbiBvZiB0aGUgY2FyZC5cclxuLy8vIEBwYXJhbSB7TGlzdH0gJGJvcmRlciAtIEJvcmRlciBhcm91bmQgdGhlIGNhcmQuXHJcbi8vLyBAcGFyYW0ge0xpc3R9ICRyYWRpdXMgLSBib3JkZXIgcmFkaXVzIG9mIHRoZSBjYXJkLlxyXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2hhZG93IC0gYm94IHNoYWRvdyBvZiB0aGUgY2FyZC5cclxuQG1peGluIGNhcmQtY29udGFpbmVyKFxyXG4gICRiYWNrZ3JvdW5kOiAkY2FyZC1iYWNrZ3JvdW5kLFxyXG4gICRjb2xvcjogJGNhcmQtZm9udC1jb2xvcixcclxuICAkbWFyZ2luOiAkY2FyZC1tYXJnaW4tYm90dG9tLFxyXG4gICRib3JkZXI6ICRjYXJkLWJvcmRlcixcclxuICAkcmFkaXVzOiAkY2FyZC1ib3JkZXItcmFkaXVzLFxyXG4gICRzaGFkb3c6ICRjYXJkLXNoYWRvd1xyXG4pIHtcclxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgZmxleC1ncm93OiAxO1xyXG4gIH1cclxuXHJcbiAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbjtcclxuXHJcbiAgYm9yZGVyOiAkYm9yZGVyO1xyXG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcblxyXG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xyXG4gIGJveC1zaGFkb3c6ICRzaGFkb3c7XHJcblxyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgY29sb3I6ICRjb2xvcjtcclxuXHJcbiAgJiA+IDpsYXN0LWNoaWxkIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FyZCBkaXZpZGVyLlxyXG5AbWl4aW4gY2FyZC1kaXZpZGVyKFxyXG4gICRiYWNrZ3JvdW5kOiAkY2FyZC1kaXZpZGVyLWJhY2tncm91bmQsXHJcbiAgJHBhZGRpbmc6ICRjYXJkLXBhZGRpbmdcclxuKSB7XHJcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleDogMCAxIGF1dG87XHJcbiAgfVxyXG5cclxuICBwYWRkaW5nOiAkcGFkZGluZztcclxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcclxuXHJcbiAgJiA+IDpsYXN0LWNoaWxkIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FyZCBzZWN0aW9uLlxyXG5AbWl4aW4gY2FyZC1zZWN0aW9uKFxyXG4gICRwYWRkaW5nOiAkY2FyZC1wYWRkaW5nXHJcbikge1xyXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xyXG4gICAgZmxleDogMSAwIGF1dG87XHJcbiAgfVxyXG5cclxuICBwYWRkaW5nOiAkcGFkZGluZztcclxuXHJcbiAgJiA+IDpsYXN0LWNoaWxkIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gZm91bmRhdGlvbi1jYXJkIHtcclxuICAuY2FyZCB7XHJcbiAgICBAaW5jbHVkZSBjYXJkLWNvbnRhaW5lcjtcclxuICB9XHJcblxyXG4gIC5jYXJkLWRpdmlkZXIge1xyXG4gICAgQGluY2x1ZGUgY2FyZC1kaXZpZGVyO1xyXG4gIH1cclxuXHJcbiAgLmNhcmQtc2VjdGlvbiB7XHJcbiAgICBAaW5jbHVkZSBjYXJkLXNlY3Rpb247XHJcbiAgfVxyXG5cclxuICAvLyBGb3IgSUUgMTEgLSBGbGV4YnVnXHJcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncy9pc3N1ZXMvNzVcclxuICAuY2FyZC1pbWFnZSB7XHJcbiAgICBtaW4taGVpZ2h0OiAxcHg7XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBkcm9wZG93blxyXG4vLy8vXHJcblxyXG4vLy8gUGFkZGluZyBmb3IgZHJvcGRvd24gcGFuZXMuXHJcbi8vLyBAdHlwZSBMaXN0XHJcbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xyXG5cclxuLy8vIEJhY2tncm91bmQgZm9yIGRyb3Bkb3duIHBhbmVzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQm9yZGVyIGZvciBkcm9wZG93biBwYW5lcy5cclxuLy8vIEB0eXBlIExpc3RcclxuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcclxuXHJcbi8vLyBGb250IHNpemUgZm9yIGRyb3Bkb3duIHBhbmVzLlxyXG4vLy8gQHR5cGUgTGlzdFxyXG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xyXG5cclxuLy8vIFdpZHRoIGZvciBkcm9wZG93biBwYW5lcy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kZHJvcGRvd24td2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xyXG5cclxuLy8vIEJvcmRlciByYWRpdXMgZHJvcGRvd24gcGFuZXMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XHJcblxyXG4vLy8gU2l6ZXMgZm9yIGRyb3Bkb3duIHBhbmVzLiBFYWNoIHNpemUgaXMgYSBDU1MgY2xhc3MgeW91IGNhbiBhcHBseS5cclxuLy8vIEB0eXBlIE1hcFxyXG4kZHJvcGRvd24tc2l6ZXM6IChcclxuICB0aW55OiAxMDBweCxcclxuICBzbWFsbDogMjAwcHgsXHJcbiAgbGFyZ2U6IDQwMHB4LFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8vIEFwcGxpZXMgc3R5bGVzIGZvciBhIGJhc2ljIGRyb3Bkb3duLlxyXG5AbWl4aW4gZHJvcGRvd24tY29udGFpbmVyIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgei1pbmRleDogMTA7XHJcblxyXG4gIGRpc3BsYXk6IG5vbmU7XHJcblxyXG4gIHdpZHRoOiAkZHJvcGRvd24td2lkdGg7XHJcbiAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmc7XHJcblxyXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICBib3JkZXI6ICRkcm9wZG93bi1ib3JkZXI7XHJcbiAgYm9yZGVyLXJhZGl1czogJGRyb3Bkb3duLXJhZGl1cztcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tYmFja2dyb3VuZDtcclxuXHJcbiAgZm9udC1zaXplOiAkZHJvcGRvd24tZm9udC1zaXplO1xyXG5cclxuXHJcbiAgLy8gQWxsb3cgYW4gaW50ZXJtaXR0ZW50IHN0YXRlIHRvIGRvIHBvc2l0aW9uaW5nIGJlZm9yZSBtYWtpbmcgdmlzaWJsZS5cclxuICAmLmlzLW9wZW5pbmcge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgfVxyXG5cclxuICAmLmlzLW9wZW4ge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24ge1xyXG4gIC5kcm9wZG93bi1wYW5lIHtcclxuICAgIEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcjtcclxuICB9XHJcblxyXG4gIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkZHJvcGRvd24tc2l6ZXMge1xyXG4gICAgLmRyb3Bkb3duLXBhbmUge1xyXG4gICAgICAmLiN7JG5hbWV9IHtcclxuICAgICAgICB3aWR0aDogJHNpemU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIHBhZ2luYXRpb25cclxuLy8vL1xyXG5cclxuLy8vIEZvbnQgc2l6ZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBvZiB0aGUgcGFnaW5hdGlvbiBvYmplY3QuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XHJcblxyXG4vLy8gVGV4dCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xyXG5cclxuLy8vIFBhZGRpbmcgaW5zaWRlIG9mIHBhZ2luYXRpb24gaXRlbXMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBSaWdodCBtYXJnaW4gdG8gc2VwYXJhdGUgcGFnaW5hdGlvbiBpdGVtcy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBwYWdpbmF0aW9uIGl0ZW1zLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zIG9uIGhvdmVyLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcclxuXHJcbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcclxuXHJcbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICR3aGl0ZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBUZXh0IGNvbG9yIG9mIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xyXG5cclxuLy8vIENvbG9yIG9mIHRoZSBlbGxpcHNpcyBpbiBhIHBhZ2luYXRpb24gbWVudS5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XHJcblxyXG4vLy8gSWYgYGZhbHNlYCwgZG9uJ3QgZGlzcGxheSBwYWdlIG51bWJlciBsaW5rcyBvbiBtb2JpbGUsIG9ubHkgbmV4dC9wcmV2aW91cyBsaW5rc1xyXG4vLy8gYW5kIG9wdGlvbmFsbHkgY3VycmVudCBwYWdlIG51bWJlci5cclxuLy8vIEB0eXBlIEJvb2xlYW5cclxuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBJZiBgdHJ1ZWAsIGRpc3BsYXkgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgb24gbW9iaWxlIGV2ZW4gaWYgYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtc2AgaXMgc2V0IHRvIGBmYWxzZWAuXHJcbi8vLyBUaGlzIHBhcmFtZXRlciB3aWxsIG9ubHkgb3ZlcnJpZGUgdGhlIHZpc2liaWxpdHkgc2V0dGluZyBvZiB0aGUgY3VycmVudCBpdGVtIGZvciBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtgLFxyXG4vLy8gaXQgd2lsbCBub3QgYWZmZWN0IHRoZSBjdXJyZW50IHBhZ2UgbnVtYmVyIHZpc2liaWxpdHkgd2hlbiBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zYCBpcyBzZXQgdG8gYHRydWVgLlxyXG4vLy8gQHR5cGUgQm9vbGVhblxyXG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBJZiBgdHJ1ZWAsIGFycm93cyBhcmUgYWRkZWQgdG8gdGhlIG5leHQgYW5kIHByZXZpb3VzIGxpbmtzIG9mIHBhZ2luYXRpb24uXHJcbi8vLyBAdHlwZSBCb29sZWFuXHJcbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBwYWdpbmF0aW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cclxuQG1peGluIHBhZ2luYXRpb24tY29udGFpbmVyIChcclxuICAkbWFyZ2luLWJvdHRvbTogJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbSxcclxuICAkZm9udC1zaXplOiAkcGFnaW5hdGlvbi1mb250LXNpemUsXHJcbiAgJHNwYWNpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZyxcclxuICAkcmFkaXVzOiAkcGFnaW5hdGlvbi1yYWRpdXMsXHJcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLFxyXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXHJcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlclxyXG4pIHtcclxuICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xyXG4gIG1hcmdpbi1ib3R0b206ICRtYXJnaW4tYm90dG9tO1xyXG5cclxuICAvLyBMaXN0IGl0ZW1cclxuICBsaSB7XHJcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xyXG5cclxuICAgIEBpZiAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXMge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB9XHJcbiAgICBAZWxzZSB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcblxyXG4gICAgICAmOmxhc3QtY2hpbGQsXHJcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgfVxyXG5cclxuICAgICAgQGlmICRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW0ge1xyXG4gICAgICAgICYuY3VycmVudCB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gUGFnZSBsaW5rc1xyXG4gIGEsXHJcbiAgYnV0dG9uIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcGFkZGluZzogJHBhZGRpbmc7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBjdXJyZW50IHBhZ2luYXRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byBhbiBgPGE+YC5cclxuQG1peGluIHBhZ2luYXRpb24taXRlbS1jdXJyZW50IChcclxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxyXG4gICRiYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50LFxyXG4gICRjb2xvci1jdXJyZW50OiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnRcclxuKSB7XHJcbiAgcGFkZGluZzogJHBhZGRpbmc7XHJcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtY3VycmVudDtcclxuICBjb2xvcjogJGNvbG9yLWN1cnJlbnQ7XHJcbiAgY3Vyc29yOiBkZWZhdWx0O1xyXG59XHJcblxyXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxyXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkIChcclxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxyXG4gICRjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZFxyXG4pIHtcclxuICBwYWRkaW5nOiAkcGFkZGluZztcclxuICBjb2xvcjogJGNvbG9yO1xyXG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcblxyXG4gICY6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGVsbGlwc2lzIGZvciB1c2UgaW4gYSBwYWdpbmF0aW9uIGxpc3QuXHJcbkBtaXhpbiBwYWdpbmF0aW9uLWVsbGlwc2lzIChcclxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxyXG4gICRjb2xvcjogJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3JcclxuKSB7XHJcbiAgcGFkZGluZzogJHBhZGRpbmc7XHJcbiAgY29udGVudDogJ1xcMjAyNic7XHJcbiAgY29sb3I6ICRjb2xvcjtcclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tcGFnaW5hdGlvbiB7XHJcbiAgLnBhZ2luYXRpb24ge1xyXG4gICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1jb250YWluZXI7XHJcblxyXG4gICAgLmN1cnJlbnQge1xyXG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tY3VycmVudDtcclxuICAgIH1cclxuXHJcbiAgICAuZGlzYWJsZWQge1xyXG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgLmVsbGlwc2lzOjphZnRlciB7XHJcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tZWxsaXBzaXM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgJHBhZ2luYXRpb24tYXJyb3dzIHtcclxuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzIGE6OmJlZm9yZSxcclxuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzLmRpc2FibGVkOjpiZWZvcmUge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjVyZW07XHJcbiAgICAgIGNvbnRlbnQ6ICdcXDAwYWInO1xyXG4gICAgfVxyXG5cclxuICAgIC5wYWdpbmF0aW9uLW5leHQgYTo6YWZ0ZXIsXHJcbiAgICAucGFnaW5hdGlvbi1uZXh0LmRpc2FibGVkOjphZnRlciB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMC41cmVtO1xyXG4gICAgICBjb250ZW50OiAnXFwwMGJiJztcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIHRvb2x0aXBcclxuLy8vL1xyXG5cclxuLy8vIERlZmF1bHQgY3Vyc29yIG9mIHRoZSBkZWZpbmVkIHRlcm0uXHJcbi8vLyBAdHlwZSBLZXl3b3JkXHJcbiRoYXMtdGlwLWN1cnNvcjogaGVscCAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IG9mIHRoZSBkZWZpbmVkIHRlcm0uXHJcbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXHJcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgYm9yZGVyIGJvdHRvbSBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxyXG4vLy8gQHR5cGUgTGlzdFxyXG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgZm9udC5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IG1heCB3aWR0aCBmb3IgdG9vbHRpcHMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHRvb2x0aXAtbWF4LXdpZHRoOiAxMHJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBvZiB0aGUgdG9vbHRpcCB0ZXh0LiBCeSBkZWZhdWx0LCB3ZSByZWNvbW1lbmQgYSBzbWFsbGVyIGZvbnQgc2l6ZSB0aGFuIHRoZSBib2R5IGNvcHkuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgcGlwIHdpZHRoIGZvciB0b29sdGlwcy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBwaXAgaGVpZ2h0IGZvciB0b29sdGlwcy4gVGhpcyBpcyBoZWxwZnVsIGZvciBjYWxjdWxhdGluZyB0aGUgZGlzdGFuY2Ugb2YgdGhlIHRvb2x0aXAgZnJvbSB0aGUgdG9vbHRpcCB3b3JkLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2ICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0b29sdGlwcy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xyXG5cclxuQG1peGluIGhhcy10aXAge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblxyXG4gIGJvcmRlci1ib3R0b206ICRoYXMtdGlwLWJvcmRlci1ib3R0b207XHJcbiAgZm9udC13ZWlnaHQ6ICRoYXMtdGlwLWZvbnQtd2VpZ2h0O1xyXG4gIGN1cnNvcjogJGhhcy10aXAtY3Vyc29yO1xyXG59XHJcblxyXG5AbWl4aW4gdG9vbHRpcCB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogY2FsYygxMDAlICsgI3skdG9vbHRpcC1waXAtaGVpZ2h0fSk7XHJcbiAgei1pbmRleDogMTIwMDtcclxuXHJcbiAgbWF4LXdpZHRoOiAkdG9vbHRpcC1tYXgtd2lkdGg7XHJcbiAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZztcclxuXHJcbiAgYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtcmFkaXVzO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I7XHJcbiAgZm9udC1zaXplOiAkdG9vbHRpcC1mb250LXNpemU7XHJcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xyXG5cclxuICAmOjpiZWZvcmUge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIH1cclxuXHJcbiAgJi5ib3R0b20ge1xyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgdXApO1xyXG4gICAgICBib3R0b206IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi50b3Age1xyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgZG93bik7XHJcbiAgICAgIHRvcDogMTAwJTtcclxuICAgICAgYm90dG9tOiBhdXRvO1xyXG4gICAgfVxyXG5cclxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYubGVmdCB7XHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCByaWdodCk7XHJcbiAgICAgIGxlZnQ6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XHJcbiAgICAgIGJvdHRvbTogYXV0bztcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYucmlnaHQge1xyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgbGVmdCk7XHJcbiAgICAgIHJpZ2h0OiAxMDAlO1xyXG4gICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgfVxyXG5cclxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xyXG4gICAgICBib3R0b206IGF1dG87XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLmFsaWduLXRvcDo6YmVmb3JlIHtcclxuICAgIGJvdHRvbTogYXV0bztcclxuICAgIHRvcDogMTAlO1xyXG4gIH1cclxuXHJcbiAgJi5hbGlnbi1ib3R0b206OmJlZm9yZSB7XHJcbiAgICBib3R0b206IDEwJTtcclxuICAgIHRvcDogYXV0bztcclxuICB9XHJcblxyXG4gICYuYWxpZ24tbGVmdDo6YmVmb3JlIHtcclxuICAgIGxlZnQ6IDEwJTtcclxuICAgIHJpZ2h0OiBhdXRvO1xyXG4gIH1cclxuXHJcbiAgJi5hbGlnbi1yaWdodDo6YmVmb3JlIHtcclxuICAgIGxlZnQ6IGF1dG87XHJcbiAgICByaWdodDogMTAlO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tdG9vbHRpcCB7XHJcbiAgLmhhcy10aXAge1xyXG4gICAgQGluY2x1ZGUgaGFzLXRpcDtcclxuICB9XHJcblxyXG4gIC50b29sdGlwIHtcclxuICAgIEBpbmNsdWRlIHRvb2x0aXA7XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBhY2NvcmRpb25cclxuLy8vL1xyXG5cclxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY2NvcmRpb24gZ3JvdXAuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgcGx1cyBhbmQgbWludXMgaWNvbnMgdG8gdGhlIHNpZGUgb2YgZWFjaCBhY2NvcmRpb24gdGl0bGUuXHJcbi8vLyBAdHlwZSBCb29sZWFuXHJcbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlICFkZWZhdWx0O1xyXG5cclxuLy8vIEZvbnQgc2l6ZSBvZiBhY2NvcmRpb24gdGl0bGVzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBpdGVtcyBpbiBhIE1lbnUuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhbiBhY2NvcmRpb24gaXRlbS5cclxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcclxuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxyXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxyXG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gYWNjb3JkaW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgc2FtZSBlbGVtZW50IHRoYXQgZ2V0cyBgZGF0YS1hY2NvcmRpb25gLlxyXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRhaW5lciAoXHJcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tYmFja2dyb3VuZFxyXG4pIHtcclxuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xyXG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xyXG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuXHJcbiAgJltkaXNhYmxlZF0ge1xyXG4gICAgLmFjY29yZGlvbi10aXRsZSB7XHJcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGlzdCBpdGVtIHdpdGhpbiBhbiBhY2NvcmRpb24gdWwuXHJcbkBtaXhpbiBhY2NvcmRpb24taXRlbSB7XHJcbiAgJjpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAwIDA7XHJcbiAgfVxyXG5cclxuICAmOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB0aXRsZSBvZiBhbiBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGluayB3aXRoaW4gYW4gYWNjb3JkaW9uIGl0ZW0uXHJcbkBtaXhpbiBhY2NvcmRpb24tdGl0bGUgKFxyXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWl0ZW0tcGFkZGluZyxcclxuICAkZm9udC1zaXplOiAkYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZSxcclxuICAkY29sb3I6ICRhY2NvcmRpb24taXRlbS1jb2xvcixcclxuICAkYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyLFxyXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlclxyXG4pIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgcGFkZGluZzogJHBhZGRpbmc7XHJcblxyXG4gIGJvcmRlcjogJGJvcmRlcjtcclxuICBib3JkZXItYm90dG9tOiAwO1xyXG5cclxuICBmb250LXNpemU6ICRmb250LXNpemU7XHJcbiAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgY29sb3I6ICRjb2xvcjtcclxuXHJcbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gJiB7XHJcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xyXG4gIH1cclxuXHJcbiAgJjpob3ZlcixcclxuICAmOmZvY3VzIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xyXG4gIH1cclxuXHJcbiAgQGlmICRhY2NvcmRpb24tcGx1c21pbnVzIHtcclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XHJcbiAgICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XHJcbiAgICAgIGNvbnRlbnQ6ICcrJztcclxuICAgIH1cclxuXHJcbiAgICAuaXMtYWN0aXZlID4gJjo6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogJ1xcMjAxMyc7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFjY29yZGlvbiBjb250ZW50LiBBcHBseSB0aGlzIHRvIHRoZSBjb250ZW50IHBhbmUgYmVsb3cgYW4gYWNjb3JkaW9uIGl0ZW0ncyB0aXRsZS5cclxuQG1peGluIGFjY29yZGlvbi1jb250ZW50IChcclxuICAkcGFkZGluZzogJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmcsXHJcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcclxuICAkYmFja2dyb3VuZDogJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQsXHJcbiAgJGNvbG9yOiAkYWNjb3JkaW9uLWNvbnRlbnQtY29sb3JcclxuKSB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxuICBwYWRkaW5nOiAkcGFkZGluZztcclxuXHJcbiAgYm9yZGVyOiAkYm9yZGVyO1xyXG4gIGJvcmRlci1ib3R0b206IDA7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcblxyXG4gIGNvbG9yOiAkY29sb3I7XHJcblxyXG4gIDpsYXN0LWNoaWxkID4gJjpsYXN0LWNoaWxkIHtcclxuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXI7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24ge1xyXG4gIC5hY2NvcmRpb24ge1xyXG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRhaW5lcjtcclxuICB9XHJcblxyXG4gIC5hY2NvcmRpb24taXRlbSB7XHJcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24taXRlbTtcclxuICB9XHJcblxyXG4gIC5hY2NvcmRpb24tdGl0bGUge1xyXG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLXRpdGxlO1xyXG4gIH1cclxuXHJcbiAgLmFjY29yZGlvbi1jb250ZW50IHtcclxuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250ZW50O1xyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgbWVkaWEtb2JqZWN0XHJcbi8vLy9cclxuXHJcbi8vLyBCb3R0b20gbWFyZ2luIG9mIGEgbWVkaWEgb2JqZWN0LlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcclxuXHJcbi8vLyBMZWZ0IGFuZCByaWdodCBwYWRkaW5nIG9uIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XHJcblxyXG4vLy8gV2lkdGggb2YgaW1hZ2VzIHdpdGhpbiBhIG1lZGlhIG9iamVjdCwgd2hlbiB0aGUgb2JqZWN0IGlzIHN0YWNrZWQgdmVydGljYWxseS4gU2V0IHRvICdhdXRvJyB0byB1c2UgdGhlIGltYWdlJ3MgbmF0dXJhbCB3aWR0aC5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJSAhZGVmYXVsdDtcclxuXHJcbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtZWRpYSBvYmplY3QgY29udGFpbmVyLlxyXG5AbWl4aW4gbWVkaWEtb2JqZWN0LWNvbnRhaW5lciB7XHJcbiAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCBibG9jayk7XHJcbiAgbWFyZ2luLWJvdHRvbTogJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b207XHJcblxyXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xyXG4gICAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgfVxyXG5cclxuICBpbWcge1xyXG4gICAgbWF4LXdpZHRoOiBub25lO1xyXG4gIH1cclxuXHJcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XHJcbiAgICAmLnN0YWNrLWZvci0jeyQtemYtemVyby1icmVha3BvaW50fSB7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8vIEFkZHMgc3R5bGVzIGZvciBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmddIC0gUGFkZGluZyBiZXR3ZWVuIHNlY3Rpb25zLlxyXG5AbWl4aW4gbWVkaWEtb2JqZWN0LXNlY3Rpb24oJHBhZGRpbmc6ICRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmcpIHtcclxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcclxuICAgIGZsZXg6IDAgMSBhdXRvO1xyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICB9XHJcblxyXG4gICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkcGFkZGluZztcclxuICB9XHJcblxyXG4gICY6bGFzdC1jaGlsZDpub3QoOm50aC1jaGlsZCgyKSkge1xyXG4gICAgcGFkZGluZy0jeyRnbG9iYWwtbGVmdH06ICRwYWRkaW5nO1xyXG4gIH1cclxuXHJcbiAgPiA6bGFzdC1jaGlsZCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gIH1cclxuXHJcbiAgLnN0YWNrLWZvci0jeyQtemYtemVyby1icmVha3BvaW50fSAmIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc3RhY2s7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcclxuICAgICYubWFpbi1zZWN0aW9uIHtcclxuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgJi5taWRkbGUge1xyXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgfVxyXG5cclxuICAgICYuYm90dG9tIHtcclxuICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vLyBBZGRzIHN0eWxlcyB0byBzdGFjayBzZWN0aW9ucyBvZiBhIG1lZGlhIG9iamVjdC4gQXBwbHkgdGhpcyB0byB0aGUgc2VjdGlvbiBlbGVtZW50cywgbm90IHRoZSBjb250YWluZXIuXHJcbkBtaXhpbiBtZWRpYS1vYmplY3Qtc3RhY2sge1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgcGFkZGluZy1ib3R0b206ICRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc7XHJcblxyXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xyXG4gICAgZmxleC1iYXNpczogMTAwJTtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgfVxyXG5cclxuICBpbWcge1xyXG4gICAgd2lkdGg6ICRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0IHtcclxuICAubWVkaWEtb2JqZWN0IHtcclxuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1jb250YWluZXI7XHJcbiAgfVxyXG5cclxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXNlY3Rpb247XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBvcmJpdFxyXG4vLy8vXHJcblxyXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgT3JiaXQncyBidWxsZXRzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBhY3RpdmUgY29sb3IgZm9yIE9yYml0J3MgYnVsbGV0cy5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBkaWFtZXRlciBmb3IgT3JiaXQncyBidWxsZXRzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IG1hcmdpbiBiZXR3ZWVuIE9yYml0J3MgYnVsbGV0cy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgZGlzdGFuY2UgZnJvbSBzbGlkZSByZWdpb24gZm9yIE9yYml0J3MgYnVsbGV0cy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZnJvbSBPcmJpdCdzIGJ1bGxldHMgdG8gd2hhdGV2ZXIgY29udGVudCBtYXkgbHVyayBiZWxvdyBpdC5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIE9yYml0J3MgY2FwdGlvbi5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgT3JiaXQncyBjYXB0aW9uLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBPcmJpdCdzIGNvbnRyb2xzIHdoZW4gaG92ZXJlZC5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgT3JiaXQncyBjb250cm9scy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgei1pbmRleCBmb3IgT3JiaXQncyBjb250cm9scy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwICFkZWZhdWx0O1xyXG5cclxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgb3V0ZXIgT3JiaXQgd3JhcHBlci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0YCBjbGFzcy5cclxuQG1peGluIG9yYml0LXdyYXBwZXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5uZXIgT3JiaXQgc2xpZGUgY29udGFpbmVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtY29udGFpbmVyYCBjbGFzcy5cclxuQG1peGluIG9yYml0LWNvbnRhaW5lciB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGhlaWdodDogMDsgLy8gUHJldmVudCBGT1VDIGJ5IG5vdCBzaG93aW5nIHVudGlsIEpTIHNldHMgaGVpZ2h0XHJcbiAgbWFyZ2luOiAwO1xyXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5kaXZpZHVhbCBzbGlkZXMgb2YgYW4gT3JiaXQgc2xpZGVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtc2xpZGVgIGNsYXNzLlxyXG5AbWl4aW4gb3JiaXQtc2xpZGUge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHJcbiAgJi5uby1tb3Rpb251aSB7XHJcbiAgICAmLmlzLWFjdGl2ZSB7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgbGVmdDogMDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBvcmJpdC1maWd1cmUge1xyXG4gIG1hcmdpbjogMDtcclxufVxyXG5cclxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHNsaWRlIGNvbnRhaW5pbmcgYW4gaW1hZ2UuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1pbWFnZWAgY2xhc3MuXHJcbkBtaXhpbiBvcmJpdC1pbWFnZSB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIG1hcmdpbjogMDtcclxufVxyXG5cclxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBvcmJpdCBzbGlkZSBjYXB0aW9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtY2FwdGlvbmAgY2xhc3MuXHJcbkBtaXhpbiBvcmJpdC1jYXB0aW9uIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgYm90dG9tOiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgcGFkZGluZzogJG9yYml0LWNhcHRpb24tcGFkZGluZztcclxuXHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDtcclxuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kKTtcclxufVxyXG5cclxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIHRoZSBuZXh0L3ByZXZpb3VzIGJ1dHRvbnMgaW4gYW4gT3JiaXQgc2xpZGVyLiBUaGVzZSBzdHlsZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIHRoZSBgLm9yYml0LW5leHRgIGFuZCBgLm9yYml0LXByZXZpb3VzYCBjbGFzc2VzIGluIHRoZSBkZWZhdWx0IENTUy5cclxuQG1peGluIG9yYml0LWNvbnRyb2wge1xyXG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcclxuICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XHJcbiAgei1pbmRleDogJG9yYml0LWNvbnRyb2wtemluZGV4O1xyXG4gIHBhZGRpbmc6ICRvcmJpdC1jb250cm9sLXBhZGRpbmc7XHJcbiAgY29sb3I6ICR3aGl0ZTtcclxuXHJcbiAgJjpob3ZlcixcclxuICAmOmFjdGl2ZSxcclxuICAmOmZvY3VzIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBwcmV2aW91cyBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1wcmV2aW91c2AgY2xhc3MuXHJcbkBtaXhpbiBvcmJpdC1wcmV2aW91cyB7XHJcbiAgI3skZ2xvYmFsLWxlZnR9OiAwO1xyXG59XHJcblxyXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBuZXh0IGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LW5leHRgIGNsYXNzLlxyXG5AbWl4aW4gb3JiaXQtbmV4dCB7XHJcbiAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xyXG4gICN7JGdsb2JhbC1yaWdodH06IDA7XHJcbn1cclxuXHJcbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjb250YWluZXIgb2YgT3JiaXQgYnVsbGV0cy4gLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgcHJldmlvdXMgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtYnVsbGV0c2AgY2xhc3MuXHJcbkBtaXhpbiBvcmJpdC1idWxsZXRzIHtcclxuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG1hcmdpbi10b3A6ICRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDtcclxuICBtYXJnaW4tYm90dG9tOiAkb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b207XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICBidXR0b24ge1xyXG4gICAgd2lkdGg6ICRvcmJpdC1idWxsZXQtZGlhbWV0ZXI7XHJcbiAgICBoZWlnaHQ6ICRvcmJpdC1idWxsZXQtZGlhbWV0ZXI7XHJcbiAgICBtYXJnaW46ICRvcmJpdC1idWxsZXQtbWFyZ2luO1xyXG5cclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTtcclxuICAgIH1cclxuXHJcbiAgICAmLmlzLWFjdGl2ZSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gZm91bmRhdGlvbi1vcmJpdCB7XHJcbiAgLm9yYml0IHtcclxuICAgIEBpbmNsdWRlIG9yYml0LXdyYXBwZXI7XHJcbiAgfVxyXG5cclxuICAub3JiaXQtY29udGFpbmVyIHtcclxuICAgIEBpbmNsdWRlIG9yYml0LWNvbnRhaW5lcjtcclxuICB9XHJcblxyXG4gIC5vcmJpdC1zbGlkZSB7XHJcbiAgICBAaW5jbHVkZSBvcmJpdC1zbGlkZTtcclxuICB9XHJcblxyXG4gIC5vcmJpdC1maWd1cmUge1xyXG4gICAgQGluY2x1ZGUgb3JiaXQtZmlndXJlO1xyXG4gIH1cclxuXHJcbiAgLm9yYml0LWltYWdlIHtcclxuICAgIEBpbmNsdWRlIG9yYml0LWltYWdlO1xyXG4gIH1cclxuXHJcbiAgLm9yYml0LWNhcHRpb24ge1xyXG4gICAgQGluY2x1ZGUgb3JiaXQtY2FwdGlvbjtcclxuICB9XHJcblxyXG4gICVvcmJpdC1jb250cm9sIHtcclxuICAgIEBpbmNsdWRlIG9yYml0LWNvbnRyb2w7XHJcbiAgfVxyXG5cclxuICAub3JiaXQtcHJldmlvdXMge1xyXG4gICAgQGV4dGVuZCAlb3JiaXQtY29udHJvbDtcclxuICAgIEBpbmNsdWRlIG9yYml0LXByZXZpb3VzO1xyXG4gIH1cclxuXHJcbiAgLm9yYml0LW5leHQge1xyXG4gICAgQGV4dGVuZCAlb3JiaXQtY29udHJvbDtcclxuICAgIEBpbmNsdWRlIG9yYml0LW5leHQ7XHJcbiAgfVxyXG5cclxuICAub3JiaXQtYnVsbGV0cyB7XHJcbiAgICBAaW5jbHVkZSBvcmJpdC1idWxsZXRzO1xyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgcmVzcG9uc2l2ZS1lbWJlZFxyXG4vLy8vXHJcblxyXG4vLy8gTWFyZ2luIGJlbG93IGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xyXG5cclxuLy8vIEFzcGVjdCByYXRpb3MgdXNlZCB0byBkZXRlcm1pbmUgcGFkZGluZy1ib3R0b20gb2YgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXJzLlxyXG4vLy8gQHR5cGUgTWFwXHJcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxyXG4gIGRlZmF1bHQ6IDQgYnkgMyxcclxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8vIENyZWF0ZXMgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cclxuLy8vIEBwYXJhbSB7U3RyaW5nfExpc3R9ICRyYXRpbyBbZGVmYXVsdF0gLSBSYXRpbyBvZiB0aGUgY29udGFpbmVyLiBDYW4gYmUgYSBrZXkgZnJvbSB0aGUgYCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvc2AgbWFwIG9yIGEgbGlzdCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXHJcbkBtaXhpbiByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCkge1xyXG4gIEBpZiB0eXBlLW9mKCRyYXRpbykgPT0gJ3N0cmluZycge1xyXG4gICAgJHJhdGlvOiBtYXAtZ2V0KCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcywgJHJhdGlvKTtcclxuICB9XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGhlaWdodDogMDtcclxuICBtYXJnaW4tYm90dG9tOiAkcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tO1xyXG4gIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgaWZyYW1lLFxyXG4gIG9iamVjdCxcclxuICBlbWJlZCxcclxuICB2aWRlbyB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICAjeyRnbG9iYWwtbGVmdH06IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQge1xyXG4gIC5yZXNwb25zaXZlLWVtYmVkLFxyXG4gIC5mbGV4LXZpZGVvIHtcclxuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KTtcclxuXHJcbiAgICAkcmF0aW9zOiBtYXAtcmVtb3ZlKCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcyxkZWZhdWx0KTtcclxuXHJcbiAgICBAZWFjaCAkbmFtZSwgJHJhdGlvIGluICRyYXRpb3Mge1xyXG4gICAgICAmLiN7JG5hbWV9IHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBmdW5jdGlvbnNcclxuLy8vL1xyXG5cclxuLy8vIEZpbmRzIHRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvciBvZiB0d28gaW50ZWdlcnMuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhIC0gRmlyc3QgbnVtYmVyIHRvIGNvbXBhcmUuXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGIgLSBTZWNvbmQgbnVtYmVyIHRvIGNvbXBhcmUuXHJcbi8vL1xyXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yLlxyXG5AZnVuY3Rpb24gZ2NkKCRhLCAkYikge1xyXG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9HcmVhdGVzdF9jb21tb25fZGl2aXNvciNKYXZhU2NyaXB0XHJcbiAgQGlmICgkYiAhPSAwKSB7XHJcbiAgICBAcmV0dXJuIGdjZCgkYiwgJGEgJSAkYik7XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIEByZXR1cm4gYWJzKCRhKTtcclxuICB9XHJcbn1cclxuXHJcbi8vLyBIYW5kbGVzIGRlY2ltYWwgZXhwb25lbnRzIGJ5IHRyeWluZyB0byBjb252ZXJ0IHRoZW0gaW50byBhIGZyYWN0aW9uIGFuZCB0aGVuIHVzZSBhIG50aC1yb290LWFsZ29yaXRobSBmb3IgcGFydHMgb2YgdGhlIGNhbGN1bGF0aW9uXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGJhc2UgbnVtYmVyLlxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRleHBvbmVudCAtIFRoZSBleHBvbmVudC5cclxuLy8vXHJcbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgcHJvZHVjdCBvZiB0aGUgZXhwb25lbnRpYXRpb24uXHJcbkBmdW5jdGlvbiBwb3coJGJhc2UsICRleHBvbmVudCwgJHByZWM6IDE2KSB7XHJcbiAgQGlmIChmbG9vcigkZXhwb25lbnQpICE9ICRleHBvbmVudCkge1xyXG4gICAgJHByZWMyIDogcG93KDEwLCAkcHJlYyk7XHJcbiAgICAkZXhwb25lbnQ6IHJvdW5kKCRleHBvbmVudCAqICRwcmVjMik7XHJcbiAgICAkZGVub21pbmF0b3I6IGdjZCgkZXhwb25lbnQsICRwcmVjMik7XHJcbiAgICBAcmV0dXJuIG50aC1yb290KHBvdygkYmFzZSwgJGV4cG9uZW50IC8gJGRlbm9taW5hdG9yKSwgJHByZWMyIC8gJGRlbm9taW5hdG9yLCAkcHJlYyk7XHJcbiAgfVxyXG5cclxuICAkdmFsdWU6ICRiYXNlO1xyXG4gIEBpZiAkZXhwb25lbnQgPiAxIHtcclxuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGV4cG9uZW50IHtcclxuICAgICAgJHZhbHVlOiAkdmFsdWUgKiAkYmFzZTtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJGV4cG9uZW50IDwgMSB7XHJcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIC0kZXhwb25lbnQge1xyXG4gICAgICAkdmFsdWU6ICR2YWx1ZSAvICRiYXNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkdmFsdWU7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBudGgtcm9vdCgkbnVtLCAkbjogMiwgJHByZWM6IDEyKSB7XHJcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL050aF9yb290I0phdmFTY3JpcHRcclxuICAkeDogMTtcclxuXHJcbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkcHJlYyB7XHJcbiAgICAkeDogMSAvICRuICogKCgkbiAtIDEpICogJHggKyAoJG51bSAvIHBvdygkeCwgJG4gLSAxKSkpO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkeDtcclxufVxyXG5cclxuLy8vIENhbGN1bGF0ZXMgdGhlIGhlaWdodCBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIHdpZHRoIGZvciBhIGdpdmVuIHJhdGlvLlxyXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmF0aW8gLSBSYXRpbyB0byB1c2UgdG8gY2FsY3VsYXRlIHRoZSBoZWlnaHQsIGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cclxuLy8vIEByZXR1cm4ge051bWJlcn0gQSBwZXJjZW50YWdlIHZhbHVlIGZvciB0aGUgaGVpZ2h0IHJlbGF0aXZlIHRvIHRoZSB3aWR0aCBvZiBhIHJlc3BvbnNpdmUgY29udGFpbmVyLlxyXG5AZnVuY3Rpb24gcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pIHtcclxuICAkdzogbnRoKCRyYXRpbywgMSk7XHJcbiAgJGg6IG50aCgkcmF0aW8sIDMpO1xyXG4gIEByZXR1cm4gJGggLyAkdyAqIDEwMCU7XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIHRhYnNcclxuLy8vL1xyXG5cclxuLy8vIERlZmF1bHQgbWFyZ2luIG9mIHRoZSB0YWIgYmFyLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiR0YWItbWFyZ2luOiAwICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBGb250IGNvbG9yIG9mIHRhYiBpdGVtLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJHRhYi1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQWN0aXZlIGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQWN0aXZlIGZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRm9udCBzaXplIG9mIHRhYiBpdGVtcy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXHJcbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGEgdGFiIGl0ZW0uXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cclxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcclxuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cclxuQG1peGluIHRhYnMtY29udGFpbmVyIChcclxuICAkbWFyZ2luOiAkdGFiLW1hcmdpbixcclxuICAkYmFja2dyb3VuZDogJHRhYi1iYWNrZ3JvdW5kLFxyXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcclxuKSB7XHJcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcbiAgbWFyZ2luOiAkbWFyZ2luO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XHJcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XHJcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG59XHJcblxyXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGFpbmVyIHRvIGhhdmUgdmVydGljYWwgdGFicy4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250YWluZXIoKWAuXHJcbkBtaXhpbiB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbCB7XHJcbiAgPiBsaSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGZsb2F0OiBub25lO1xyXG4gICAgd2lkdGg6IGF1dG87XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBsaW5rcyB3aXRoaW4gYSB0YWIgY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBgPGxpPmAgZWxlbWVudHMgaW5zaWRlIGEgdGFiIGNvbnRhaW5lci5cclxuQG1peGluIHRhYnMtdGl0bGUgKFxyXG4gICRwYWRkaW5nOiAkdGFiLWl0ZW0tcGFkZGluZyxcclxuICAkZm9udC1zaXplOiAkdGFiLWl0ZW0tZm9udC1zaXplLFxyXG4gICRjb2xvcjogJHRhYi1jb2xvcixcclxuICAkY29sb3ItYWN0aXZlOiAkdGFiLWFjdGl2ZS1jb2xvcixcclxuICAkYmFja2dyb3VuZC1ob3ZlcjogJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXIsXHJcbiAgJGJhY2tncm91bmQtYWN0aXZlOiAkdGFiLWJhY2tncm91bmQtYWN0aXZlXHJcbikge1xyXG4gIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XHJcblxyXG4gID4gYSB7XHJcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xyXG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1ob3ZlcjtcclxuICAgICAgY29sb3I6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XHJcbiAgICB9XHJcblxyXG4gICAgJjpmb2N1cyxcclxuICAgICZbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcclxuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtYWN0aXZlO1xyXG4gICAgICBjb2xvcjogJGNvbG9yLWFjdGl2ZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHdyYXBwZXIgdGhhdCBzdXJyb3VuZHMgYSB0YWIgZ3JvdXAncyBjb250ZW50IHBhbmVzLlxyXG5AbWl4aW4gdGFicy1jb250ZW50IChcclxuICAkYmFja2dyb3VuZDogJHRhYi1jb250ZW50LWJhY2tncm91bmQsXHJcbiAgJGNvbG9yOiAkdGFiLWNvbnRlbnQtY29sb3IsXHJcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxyXG4pIHtcclxuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xyXG4gIGJvcmRlci10b3A6IDA7XHJcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XHJcbiAgY29sb3I6ICRjb2xvcjtcclxuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xyXG59XHJcblxyXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGVudCBjb250YWluZXIgdG8gaGF2ZSBhIHZlcnRpY2FsIHN0eWxlLCBieSBzaGlmdGluZyB0aGUgYm9yZGVyIGFyb3VuZC4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250ZW50KClgLlxyXG5AbWl4aW4gdGFicy1jb250ZW50LXZlcnRpY2FsIChcclxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXHJcbikge1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XHJcbiAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcclxufVxyXG5cclxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBpbmRpdmlkdWFsIHRhYiBjb250ZW50IHBhbmVsIHdpdGhpbiB0aGUgdGFiIGNvbnRlbnQgY29udGFpbmVyLlxyXG5AbWl4aW4gdGFicy1wYW5lbCAoXHJcbiAgJHBhZGRpbmc6ICR0YWItY29udGVudC1wYWRkaW5nXHJcbikge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbiAgcGFkZGluZzogJHBhZGRpbmc7XHJcblxyXG4gICYuaXMtYWN0aXZlIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tdGFicyB7XHJcbiAgLnRhYnMge1xyXG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXI7XHJcbiAgfVxyXG5cclxuICAvLyBWZXJ0aWNhbFxyXG4gIC50YWJzLnZlcnRpY2FsIHtcclxuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsO1xyXG4gIH1cclxuXHJcbiAgLy8gU2ltcGxlXHJcbiAgLnRhYnMuc2ltcGxlIHtcclxuICAgID4gbGkgPiBhIHtcclxuICAgICAgcGFkZGluZzogMDtcclxuXHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBQcmltYXJ5IGNvbG9yXHJcbiAgLnRhYnMucHJpbWFyeSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuXHJcbiAgICA+IGxpID4gYSB7XHJcbiAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRwcmltYXJ5LWNvbG9yKTtcclxuXHJcbiAgICAgICY6aG92ZXIsXHJcbiAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCRwcmltYXJ5LWNvbG9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnRhYnMtdGl0bGUge1xyXG4gICAgQGluY2x1ZGUgdGFicy10aXRsZTtcclxuICB9XHJcblxyXG4gIC50YWJzLWNvbnRlbnQge1xyXG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50O1xyXG4gIH1cclxuXHJcbiAgLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XHJcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQtdmVydGljYWw7XHJcbiAgfVxyXG5cclxuICAudGFicy1wYW5lbCB7XHJcbiAgICBAaW5jbHVkZSB0YWJzLXBhbmVsO1xyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgdGh1bWJuYWlsXHJcbi8vLy9cclxuXHJcbi8vLyBCb3JkZXIgYXJvdW5kIHRodW1ibmFpbCBpbWFnZXMuXHJcbi8vLyBAdHlwZSBCb3JkZXJcclxuJHRodW1ibmFpbC1ib3JkZXI6IDRweCBzb2xpZCAkd2hpdGUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgdGh1bWJuYWlsIGltYWdlcy5cclxuLy8vIEB0eXBlIExlbmd0aFxyXG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xyXG5cclxuLy8vIEJveCBzaGFkb3cgdW5kZXIgdGh1bWJuYWlsIGltYWdlcy5cclxuLy8vIEB0eXBlIFNoYWRvd1xyXG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpICFkZWZhdWx0O1xyXG5cclxuLy8vIEJveCBzaGFkb3cgdW5kZXIgdGh1bWJuYWlsIGltYWdlcy5cclxuLy8vIEB0eXBlIFNoYWRvd1xyXG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KSAhZGVmYXVsdDtcclxuXHJcbi8vLyBUcmFuc2l0aW9uIHByb3BydGllcyBmb3IgdGh1bWJuYWlsIGltYWdlcy5cclxuLy8vIEB0eXBlIFRyYW5zaXRpb25cclxuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0ICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcclxuXHJcbi8vLyBBZGRzIHRodW1ibmFpbCBzdHlsZXMgdG8gYW4gZWxlbWVudC5cclxuQG1peGluIHRodW1ibmFpbCB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIG1heC13aWR0aDogMTAwJTtcclxuICBtYXJnaW4tYm90dG9tOiAkdGh1bWJuYWlsLW1hcmdpbi1ib3R0b207XHJcblxyXG4gIGJvcmRlcjogJHRodW1ibmFpbC1ib3JkZXI7XHJcbiAgYm9yZGVyLXJhZGl1czogJHRodW1ibmFpbC1yYWRpdXM7XHJcbiAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3c7XHJcblxyXG4gIGxpbmUtaGVpZ2h0OiAwO1xyXG59XHJcblxyXG5AbWl4aW4gdGh1bWJuYWlsLWxpbmsge1xyXG4gIHRyYW5zaXRpb246ICR0aHVtYm5haWwtdHJhbnNpdGlvbjtcclxuXHJcbiAgJjpob3ZlcixcclxuICAmOmZvY3VzIHtcclxuICAgIGJveC1zaGFkb3c6ICR0aHVtYm5haWwtc2hhZG93LWhvdmVyO1xyXG4gIH1cclxuXHJcbiAgaW1hZ2Uge1xyXG4gICAgYm94LXNoYWRvdzogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLXRodW1ibmFpbCB7XHJcbiAgLnRodW1ibmFpbCB7XHJcbiAgICBAaW5jbHVkZSB0aHVtYm5haWw7XHJcbiAgfVxyXG5cclxuICBhLnRodW1ibmFpbCB7XHJcbiAgICBAaW5jbHVkZSB0aHVtYm5haWwtbGluaztcclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIG1lbnVcclxuLy8vL1xyXG5cclxuLy8vIE1hcmdpbiBvZiBhIG1lbnUuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJG1lbnUtbWFyZ2luOiAwICFkZWZhdWx0O1xyXG5cclxuLy8vIExlZnQtaGFuZCBtYXJnaW4gb2YgYSBuZXN0ZWQgbWVudS5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbiAhZGVmYXVsdDtcclxuXHJcbi8vLyBQYWRkaW5nIGZvciBpdGVtcyBpbiBhIHBpbGwgbWVudS5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kbWVudS1pdGVtcy1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcclxuXHJcbi8vLyBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgc2ltcGxlIG1lbnUuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBUZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlICFkZWZhdWx0O1xyXG5cclxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcclxuXHJcbi8vLyBTcGFjaW5nIGJldHdlZW4gYW4gaWNvbiBhbmQgdGV4dCBpbiBhIG1lbnUgaXRlbS5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBzdGF0ZS4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYGFjdGl2ZWAgd2l0aCBgaXMtYWN0aXZlYC4gXHJcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCBgYWN0aXZlYCB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXHJcbi8vLyBAdHlwZSBCb29sZWFuXHJcbiRtZW51LXN0YXRlLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xyXG5cclxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG1lbnUgY2VudGVyZWQuIElmIHRydWUsIHRoaXMgZHVwbGljYXRlIGAubWVudS1jZW50ZXJlZCA+IC5tZW51YCB3aXRoIGAubWVudS5hbGlnbi1jZW50ZXJgLiBcclxuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IGBtZW51LWNlbnRlcmVkYCB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXHJcbi8vLyBAdHlwZSBCb29sZWFuXHJcbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xyXG5cclxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIHVzaW5nIGBpY29uLSpgIGNsYXNzZXMgd2l0aG91dCBgLmljb25zYCBjbGFzc2VzXHJcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCB0aGlzIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxyXG4vLy8gQHR5cGUgQm9vbGVhblxyXG4kbWVudS1pY29ucy1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBDcmVhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgYSBNZW51LlxyXG5AbWl4aW4gbWVudS1iYXNlIHtcclxuICBwYWRkaW5nOiAwO1xyXG4gIG1hcmdpbjogMDtcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gIH1cclxuXHJcbiAgbGkge1xyXG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xyXG4gIH1cclxuXHJcbiAgYSxcclxuICAuYnV0dG9uIHtcclxuICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwYWRkaW5nOiAkbWVudS1pdGVtcy1wYWRkaW5nO1xyXG4gIH1cclxuXHJcbiAgLy8gUmVzZXQgc3R5bGVzIG9mIGlubmVyIGVsZW1lbnRzXHJcbiAgaW5wdXQsXHJcbiAgc2VsZWN0LFxyXG4gIGEsXHJcbiAgYnV0dG9uIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgfVxyXG5cclxuICBpbnB1dCB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gRXhwYW5kcyB0aGUgaXRlbXMgb2YgYSBNZW51LCBzbyBlYWNoIGl0ZW0gaXMgdGhlIHNhbWUgd2lkdGguXHJcbkBtaXhpbiBtZW51LWV4cGFuZCB7XHJcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XHJcbiAgICBsaSB7XHJcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgPiBsaSB7XHJcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQWxpZ24gbWVudSBpdGVtcy5cclxuQG1peGluIG1lbnUtYWxpZ24oJGFsaWdubWVudCkge1xyXG4gIEBpZiAkYWxpZ25tZW50ID09IGxlZnQge1xyXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IHJpZ2h0IHtcclxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xyXG4gICAgICBsaSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG5cclxuICAgICAgICAuc3VibWVudSBsaSB7XHJcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmLnZlcnRpY2FsIGxpIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xyXG5cclxuICAgICAgICAuc3VibWVudSBsaSB7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xyXG5cclxuICAgICAgLnN1Ym1lbnUgbGkge1xyXG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcclxuICAgICAgfVxyXG5cclxuICAgICAgJi52ZXJ0aWNhbCB7XHJcbiAgICAgICAgLnN1Ym1lbnUgbGkge1xyXG4gICAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJGFsaWdubWVudCA9PSBjZW50ZXIge1xyXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XHJcbiAgICAgIGxpIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuICAgICAgICAuc3VibWVudSBsaSB7XHJcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBAZWxzZSB7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICAgIC5zdWJtZW51IGxpIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vLyBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgYSBNZW51LlxyXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFtob3Jpem9udGFsXSAtIERpcmVjdGlvbiBvZiB0aGUgTWVudS4gQ2FuIGJlIGBob3Jpem9udGFsYCBvciBgdmVydGljYWxgLlxyXG5AbWl4aW4gbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xyXG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xyXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XHJcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgbGkge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcclxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xyXG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcclxuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgbGkge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIG1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQ3JlYXRlcyBhIHNpbXBsZSBNZW51LCB3aGljaCBoYXMgbm8gcGFkZGluZyBvciBob3ZlciBzdGF0ZS5cclxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbJGdsb2JhbC1sZWZ0XSAtIERpcmVjdGlvbiBvZiB0aGUgbWVudS4gVGhpcyBlZmZlY3RzIHRoZSBzaWRlIG9mIHRoZSBgPGxpPmAgdGhhdCByZWNlaXZlcyB0aGUgbWFyZ2luLlxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXJnaW4gWyRtZW51LXNpbXBsZS1tYXJnaW5dIC0gVGhlIG1hcmdpbiB0byBhcHBseSB0byBlYWNoIGA8bGk+YC5cclxuQG1peGluIG1lbnUtc2ltcGxlKCRkaXI6ICRnbG9iYWwtbGVmdCwgJG1hcmdpbjogJG1lbnUtc2ltcGxlLW1hcmdpbikge1xyXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICB9XHJcblxyXG4gIGxpICsgbGkge1xyXG4gICAgbWFyZ2luLSN7JGRpcn06ICRtYXJnaW47XHJcbiAgfVxyXG5cclxuICBhIHtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbmVzdGVkIE1lbnUsIGJ5IGFkZGluZyBgbWFyZ2luLWxlZnRgIHRvIHRoZSBtZW51LlxyXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJG1hcmdpbiBbJG1lbnUtbmVzdGVkLW1hcmdpbl0gLSBMZW5ndGggb2YgdGhlIG1hcmdpbi5cclxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJG5lc3RlZC1hbGlnbm1lbnQgW2xlZnRdIC0gQWxpZ25tZW50IG9mIHRoZSBuZXN0ZWQgY2xhc3NcclxuQG1peGluIG1lbnUtbmVzdGVkKFxyXG4gICRtYXJnaW46ICRtZW51LW5lc3RlZC1tYXJnaW4sXHJcbiAgJG5lc3RlZC1hbGlnbm1lbnQ6IGxlZnRcclxuKSB7XHJcbiAgQGlmICRuZXN0ZWQtYWxpZ25tZW50ID09IHJpZ2h0IHtcclxuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkbWFyZ2luO1xyXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XHJcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbWFyZ2luO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgaWNvbnMgaW4gbWVudXMuXHJcbkBtaXhpbiBtZW51LWljb25zKCkge1xyXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xyXG4gICAgYSB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIGltZyxcclxuICAgIGksXHJcbiAgICBzdmcge1xyXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cclxuICAgICAgKyBzcGFuIHtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQWRkcyBwb3NpdGlvbiBjbGFzc2VzIGZvciBpY29ucyB3aXRoaW4gYSBtZW51LlxyXG5AbWl4aW4gbWVudS1pY29uLXBvc2l0aW9uKCRwb3NpdGlvbjogbGVmdCwgJHNwYWNpbmc6ICRtZW51LWljb24tc3BhY2luZykge1xyXG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XHJcbiAgICBsaSBhIHtcclxuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XHJcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpbWcsXHJcbiAgICAgIGksXHJcbiAgICAgIHN2ZyB7XHJcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xyXG5cclxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XHJcbiAgICBsaSBhIHtcclxuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XHJcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpbWcsXHJcbiAgICAgIGksXHJcbiAgICAgIHN2ZyB7XHJcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJHNwYWNpbmc7XHJcblxyXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcclxuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XHJcbiAgICBsaSBhIHtcclxuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XHJcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xyXG4gICAgICB9XHJcbiAgICAgIEBlbHNlIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGltZyxcclxuICAgICAgaSxcclxuICAgICAgc3ZnIHtcclxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIG1hcmdpbjogMCBhdXRvICRzcGFjaW5nO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAZWxzZSB7XHJcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xyXG4gICAgbGkgYSB7XHJcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xyXG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcclxuICAgICAgfVxyXG4gICAgICBAZWxzZSB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpbWcsXHJcbiAgICAgIGksXHJcbiAgICAgIHN2ZyB7XHJcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICBtYXJnaW46ICRzcGFjaW5nIGF1dG8gMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGVsc2Uge1xyXG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xyXG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIG1lbnUtdGV4dCB7XHJcbiAgcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XHJcblxyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIGxpbmUtaGVpZ2h0OiAxO1xyXG4gIGNvbG9yOiBpbmhlcml0O1xyXG59XHJcblxyXG5AbWl4aW4gbWVudS1zdGF0ZS1hY3RpdmUge1xyXG4gIGJhY2tncm91bmQ6ICRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XHJcbiAgY29sb3I6ICRtZW51LWl0ZW0tY29sb3ItYWN0aXZlO1xyXG59XHJcblxyXG5AbWl4aW4gZm91bmRhdGlvbi1tZW51IHtcclxuICAubWVudSB7XHJcbiAgICBAaW5jbHVkZSBtZW51LWJhc2U7XHJcblxyXG4gICAgLy8gRGVmYXVsdCBvcmllbnRhdGlvbjogaG9yaXpvbnRhbFxyXG4gICAgJiwgJi5ob3Jpem9udGFsIHtcclxuICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVmVydGljYWwgb3JpZW50YXRpb24gbW9kaWZpZXJcclxuICAgICYudmVydGljYWwge1xyXG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gRXZlbi13aWR0aCBtb2RpZmllciBmb3IgaG9yaXpvbnRhbCBvcmllbnRhdGlvblxyXG4gICAgJi5leHBhbmRlZCB7XHJcbiAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFNpbXBsZVxyXG4gICAgJi5zaW1wbGUge1xyXG4gICAgICBAaW5jbHVkZSBtZW51LXNpbXBsZTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBCcmVha3BvaW50IHNwZWNpZmljIHZlcnNpb25zXHJcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCRzbWFsbDogZmFsc2UpIHtcclxuICAgICAgJi4jeyQtemYtc2l6ZX0taG9yaXpvbnRhbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYuI3skLXpmLXNpemV9LXZlcnRpY2FsIHtcclxuICAgICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYuI3skLXpmLXNpemV9LWV4cGFuZGVkIHtcclxuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcclxuICAgICAgfVxyXG5cclxuICAgICAgJi4jeyQtemYtc2l6ZX0tc2ltcGxlIHtcclxuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIE5lc3RpbmdcclxuICAgICYubmVzdGVkIHtcclxuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gSWNvbiBCYXNlIFN0eWxlc1xyXG4gICAgJi5pY29ucyB7XHJcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXHJcbiAgICBAaWYgJG1lbnUtaWNvbnMtYmFjay1jb21wYXQge1xyXG4gICAgICAmLmljb24tdG9wLFxyXG4gICAgICAmLmljb24tcmlnaHQsXHJcbiAgICAgICYuaWNvbi1ib3R0b20sXHJcbiAgICAgICYuaWNvbi1sZWZ0IHtcclxuICAgICAgICBAaW5jbHVkZSBtZW51LWljb25zO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gSWNvbiBMZWZ0XHJcbiAgICAmLmljb24tbGVmdCB7XHJcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihsZWZ0KTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBJY29uIFJpZ2h0XHJcbiAgICAmLmljb24tcmlnaHQge1xyXG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24ocmlnaHQpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEljb24gVG9wXHJcbiAgICAmLmljb24tdG9wIHtcclxuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKHRvcCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gSWNvbiBCb3R0b21cclxuICAgICYuaWNvbi1ib3R0b20ge1xyXG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24oYm90dG9tKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBBY3RpdmUgc3RhdGVcclxuICAgIC5pcy1hY3RpdmUgPiBhIHtcclxuICAgICAgQGluY2x1ZGUgbWVudS1zdGF0ZS1hY3RpdmU7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8vIEJhY2t3YXJkIENvbXBhdGliaWxpdHkgZm9yIGFjdGl2ZSBzdGF0ZVxyXG4gICAgQGlmICRtZW51LXN0YXRlLWJhY2stY29tcGF0IHtcclxuICAgICAgLmFjdGl2ZSA+IGEge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lbnUtc3RhdGUtYWN0aXZlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQWxpZ24gbGVmdFxyXG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtbGVmdH0ge1xyXG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGxlZnQpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEFsaWduIHJpZ2h0XHJcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xyXG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKHJpZ2h0KTtcclxuXHJcbiAgICAgIC5uZXN0ZWQge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRuZXN0ZWQtYWxpZ25tZW50OiByaWdodCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBBbGlnbiBjZW50ZXJcclxuICAgICYuYWxpZ24tY2VudGVyIHtcclxuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIC5tZW51LXRleHQge1xyXG4gICAgICBAaW5jbHVkZSBtZW51LXRleHQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQge1xyXG4gICAgLm1lbnUtY2VudGVyZWQge1xyXG4gICAgICA+IC5tZW51IHtcclxuICAgICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcclxuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGNlbnRlcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFByZXZlbnQgRk9VQyB3aGVuIHVzaW5nIHRoZSBSZXNwb25zaXZlIE1lbnUgcGx1Z2luXHJcbiAgLm5vLWpzIFtkYXRhLXJlc3BvbnNpdmUtbWVudV0gdWwge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcbn1cclxuIiwiQG1peGluIGZvdW5kYXRpb24tbWVudS1pY29uIHtcclxuICAubWVudS1pY29uIHtcclxuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcigkY29sb3I6ICR0aXRsZWJhci1pY29uLWNvbG9yLCAkY29sb3ItaG92ZXI6ICR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyKTtcclxuICB9XHJcblxyXG4gIC5tZW51LWljb24uZGFyayB7XHJcbiAgICBAaW5jbHVkZSBoYW1idXJnZXI7XHJcbiAgfVxyXG59XHJcbiIsIi8vLy9cclxuLy8vIEBncm91cCBhY2NvcmRpb24tbWVudVxyXG4vLy8vXHJcblxyXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBwYWRkaW5nLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xyXG5cclxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgbmVzdGVkIG1hcmdpblxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luICFkZWZhdWx0O1xyXG5cclxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSBwYWRkaW5nLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZyAhZGVmYXVsdDtcclxuXHJcbi8vLyBTZXRzIGlmIGFjY29yZGlvbiBtZW51cyBoYXZlIHRoZSBkZWZhdWx0IGFycm93IHN0eWxlcy5cclxuLy8vIEB0eXBlIEJvb2xlYW5cclxuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xyXG5cclxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcclxuXHJcbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcclxuXHJcbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gYm9yZGVyLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGFjY29yZGlvbm1lbnUtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xyXG5cclxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcclxuXHJcbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cclxuLy8vIEB0eXBlIExpc3RcclxuJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI6ICRhY2NvcmRpb25tZW51LWJvcmRlciAhZGVmYXVsdDtcclxuXHJcbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgdG9nZ2xlIGJhY2tncm91bmQgd2lkdGguXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg6IDQwcHggIWRlZmF1bHQ7XHJcblxyXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHRvZ2dsZSBiYWNrZ3JvdW5kIGhlaWdodC5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoICFkZWZhdWx0O1xyXG5cclxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxyXG4vLy8gQHR5cGUgTGVuZ3RoXHJcbiRhY2NvcmRpb25tZW51LWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcclxuXHJcbkBtaXhpbiB6Zi1hY2NvcmRpb24tbWVudS1sZWZ0LXJpZ2h0LWFycm93cyB7XHJcbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudDpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgPiBhIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAmOjphZnRlciB7XHJcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplLCAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvciwgZG93bik7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIG1hcmdpbi10b3A6IC0xICogKCRhY2NvcmRpb25tZW51LWFycm93LXNpemUgLyAyKTtcclxuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYuYWxpZ24tbGVmdCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xyXG4gICAgcmlnaHQ6IDFyZW07XHJcbiAgICBsZWZ0OiBhdXRvO1xyXG4gIH1cclxuXHJcbiAgJi5hbGlnbi1yaWdodCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xyXG4gICAgcmlnaHQ6IGF1dG87XHJcbiAgICBsZWZ0OiAxcmVtO1xyXG4gIH1cclxufVxyXG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudSB7XHJcblxyXG4gIC5hY2NvcmRpb24tbWVudSB7XHJcbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xyXG4gICAgfVxyXG5cclxuICAgIGxpIHtcclxuICAgICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xyXG4gICAgICAgIGJvcmRlci1yaWdodDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xyXG4gICAgICAgIGJvcmRlci1sZWZ0OiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XHJcbiAgICAgIH1cclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgYSB7XHJcbiAgICAgIEBpZiAkYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDtcclxuICAgICAgfVxyXG4gICAgICBwYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nO1xyXG4gICAgfVxyXG5cclxuICAgIC5pcy1hY2NvcmRpb24tc3VibWVudSBhIHtcclxuICAgICAgcGFkZGluZzogJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nO1xyXG4gICAgfVxyXG5cclxuICAgIC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xyXG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luKTtcclxuICAgIH1cclxuXHJcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xyXG4gICAgICAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcclxuICAgICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luLCByaWdodCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYXJyb3dzIHtcclxuICAgICAgQGluY2x1ZGUgemYtYWNjb3JkaW9uLW1lbnUtbGVmdC1yaWdodC1hcnJvd3M7XHJcblxyXG4gICAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9J3RydWUnXSA+IGE6OmFmdGVyIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5pcy1hY2NvcmRpb24tc3VibWVudSBsaSB7XHJcbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcclxuICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xyXG4gICAgICBib3JkZXItbGVmdDogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIH1cclxuXHJcbiAgLmhhcy1zdWJtZW51LXRvZ2dsZSA+IGEge1xyXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xyXG4gIH1cclxuXHJcbiAgLy8gU3VibWVudSB0b2dnbGVcclxuICAuc3VibWVudS10b2dnbGUge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgI3skZ2xvYmFsLXJpZ2h0fTogMDtcclxuXHJcbiAgICB3aWR0aDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XHJcbiAgICBoZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDtcclxuXHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI7XHJcblxyXG4gICAgQGlmICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEFkZCB0aGUgYXJyb3cgdG8gdGhlIHRvZ2dsZVxyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoNnB4LCAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvciwgZG93bik7XHJcblxyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIGJvdHRvbTogMDtcclxuICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gUm90YXRlIHRoZSBhcnJvdyB3aGVuIG1lbnUgaXMgb3BlblxyXG4gIC5zdWJtZW51LXRvZ2dsZVthcmlhLWV4cGFuZGVkPSd0cnVlJ106OmFmdGVyIHtcclxuICAgIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XHJcbiAgfVxyXG5cclxuICAuc3VibWVudS10b2dnbGUtdGV4dCB7XHJcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIGRyaWxsZG93blxyXG4vLy8vXHJcblxyXG4vLy8gVHJhbnNpdGlvbiBwcm9wZXJ0eSB0byB1c2UgZm9yIGFuaW1hdGluZyBtZW51cy5cclxuLy8vIEB0eXBlIFRyYW5zaXRpb25cclxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyICFkZWZhdWx0O1xyXG5cclxuLy8vIEFkZHMgYXJyb3dzIHRvIGRyaWxsZG93biBpdGVtcyB3aXRoIHN1Ym1lbnVzLCBhcyB3ZWxsIGFzIHRoZSBiYWNrIGJ1dHRvbi5cclxuLy8vIEB0eXBlIEJvb2xlYW5cclxuJGRyaWxsZG93bi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBpdGVtIHBhZGRpbmcuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcclxuXHJcbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IG5lc3RlZCBtYXJnaW5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDAgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJpbGxkb3duIHRvcCBsZXZlbCBpdGVtcy5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xyXG5cclxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgaXRlbSBwYWRkaW5nIGluIHRoZSBzdWJtZW51LlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmcgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJpbGxkb3duIHN1Ym1lbnVzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBTZXRzIGRyaWxsZG93biBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4vLy8gU2V0cyBkcmlsbGRvd24gYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxyXG4vLy8gQHR5cGUgTGVuZ3RoXHJcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xyXG5cclxuQG1peGluIHpmLWRyaWxsZG93bi1sZWZ0LXJpZ2h0LWFycm93cyB7XHJcbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcmlsbGRvd24tYXJyb3ctc2l6ZSwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1yaWdodCk7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyaWxsZG93bi1hcnJvdy1zaXplO1xyXG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5hbGlnbi1sZWZ0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XHJcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCByaWdodCk7XHJcbiAgICByaWdodDogMXJlbTtcclxuICAgIGxlZnQ6IGF1dG87XHJcbiAgfVxyXG5cclxuICAmLmFsaWduLXJpZ2h0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XHJcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBsZWZ0KTtcclxuICAgIHJpZ2h0OiBhdXRvO1xyXG4gICAgbGVmdDogMXJlbTtcclxuICB9XHJcblxyXG59XHJcblxyXG5AbWl4aW4gZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudSB7XHJcbiAgLy8gQXBwbGllZCB0byB0aGUgTWVudSBjb250YWluZXJcclxuICAuaXMtZHJpbGxkb3duIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gICAgbGkge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuXHJcbiAgICAmLmFuaW1hdGUtaGVpZ2h0IHtcclxuICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBUaGUgdG9wIGxldmVsIDx1bD5cclxuICAuZHJpbGxkb3duIHtcclxuICAgIGEge1xyXG4gICAgICBwYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRkcmlsbGRvd24tYmFja2dyb3VuZDtcclxuICAgIH1cclxuXHJcbiAgICAvLyBBcHBsaWVkIHRvIHN1Ym1lbnUgPHVsPnNcclxuICAgIC5pcy1kcmlsbGRvd24tc3VibWVudSB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XHJcbiAgICAgIHotaW5kZXg6IC0xO1xyXG5cclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kO1xyXG4gICAgICB0cmFuc2l0aW9uOiAkZHJpbGxkb3duLXRyYW5zaXRpb247XHJcblxyXG4gICAgICAmLmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIC0xMDAlLCAxMDAlKSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYuaXMtY2xvc2luZyB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAxMDAlLCAtMTAwJSkpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBTdWJtZW51IGl0ZW0gcGFkZGluZ1xyXG4gICAgICBhIHtcclxuICAgICAgICBwYWRkaW5nOiAkZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5uZXN0ZWQuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xyXG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkZHJpbGxkb3duLW5lc3RlZC1tYXJnaW4pO1xyXG4gICAgfVxyXG5cclxuICAgIC5kcmlsbGRvd24tc3VibWVudS1jb3Zlci1wcmV2aW91cyB7XHJcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICRkcmlsbGRvd24tYXJyb3dzIHtcclxuICAgICAgQGluY2x1ZGUgemYtZHJpbGxkb3duLWxlZnQtcmlnaHQtYXJyb3dzO1xyXG5cclxuICAgICAgLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcclxuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyaWxsZG93bi1hcnJvdy1zaXplLCAkZHJpbGxkb3duLWFycm93LWNvbG9yLCAkZ2xvYmFsLWxlZnQpO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjc1cmVtOyAvLyBDcmVhdGVzIHNwYWNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dFxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBkcm9wZG93bi1tZW51XHJcbi8vLy9cclxuXHJcbi8vLyBFbmFibGVzIGFycm93cyBmb3IgaXRlbXMgd2l0aCBkcm9wZG93biBtZW51cy5cclxuLy8vIEB0eXBlIEJvb2xlYW5cclxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yICFkZWZhdWx0O1xyXG5cclxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXHJcbi8vLyBAdHlwZSBMZW5ndGhcclxuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XHJcblxyXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IHBhZGRpbmcgZm9yIGFsaWduaW5nIHRoZSBhcnJvdyBjb3JyZWN0bHkuXHJcbi8vLyBAdHlwZSBMZW5ndGhcclxuJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nOiAxLjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLy8gTWluaW11bSB3aWR0aCBvZiBkcm9wZG93biBzdWItbWVudXMuXHJcbi8vLyBAdHlwZSBMZW5ndGhcclxuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xyXG5cclxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRvcCBsZXZlbCBpdGVtcy5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcclxuXHJcbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcm9wZG93bnMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xyXG5cclxuLy8vIFBhZGRpbmcgZm9yIHRvcCBsZXZlbCBpdGVtcy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xyXG5cclxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBuZXN0ZWQgbWFyZ2luXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luOiAwICFkZWZhdWx0O1xyXG5cclxuLy8vIFBhZGRpbmcgZm9yIHN1Yi1tZW51IGl0ZW1zLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQm9yZGVyIGZvciBkcm9wZG93biBzdWItbWVudXMuXHJcbi8vLyBAdHlwZSBMaXN0XHJcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xyXG5cclxuLy8gQm9yZGVyIHdpZHRoIGZvciBkcm9wZG93biBzdWItbWVudXMuXHJcbi8vIFVzZWQgdG8gYWRqdXN0IHRvcCBtYXJnaW4gb2YgYSBzdWItbWVudSBpZiBhIGJvcmRlciBpcyB1c2VkLlxyXG4vLyBAdHlwZSBMZW5ndGhcclxuJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGg6IG50aCgkZHJvcGRvd25tZW51LWJvcmRlciwgMSk7XHJcblxyXG4vLy8gVGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgZHJvcGRvd24gbWVudSBpdGVtLiBFeHBsaWNpdCBvdmVycmlkZSBmb3IgbWVudSBkZWZhdWx0c1xyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcclxuXHJcbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0uIEV4cGxpY2l0IG92ZXJyaWRlIGZvciBtZW51IGRlZmF1bHRzXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcclxuXHJcbkBtaXhpbiB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cyB7XHJcbiAgPiBhOjphZnRlciB7XHJcbiAgICAjeyRnbG9iYWwtcmlnaHR9OiAxNHB4O1xyXG4gIH1cclxuXHJcbiAgJi5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xyXG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgbGVmdCk7XHJcbiAgICByaWdodDogYXV0bztcclxuICAgIGxlZnQ6IDVweDtcclxuICB9XHJcblxyXG4gICYub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XHJcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCByaWdodCk7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xyXG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xyXG4gICAgPiBsaS5vcGVucy1sZWZ0IHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXHJcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xyXG4gICAgICAgIHRvcDogMTAwJTtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgPiBsaS5vcGVucy1yaWdodCB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xyXG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcclxuICAgICAgICB0b3A6IDEwMCU7XHJcbiAgICAgICAgcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XHJcbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nO1xyXG4gICAgICB9XHJcblxyXG4gICAgICA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcclxuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcclxuICAgICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XHJcbiAgICAgICAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IC0xICogKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSAvIDIpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xyXG4gICAgPiBsaSB7XHJcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYub3BlbnMtbGVmdCB7XHJcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XHJcbiAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICByaWdodDogMTAwJTtcclxuICAgICAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmLm9wZW5zLXJpZ2h0IHtcclxuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcclxuICAgICAgICAgIHJpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgbGVmdDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XHJcbiAgICAgICAgQGluY2x1ZGUgemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnUge1xyXG4gIC5kcm9wZG93bi5tZW51IHtcclxuICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xyXG5cclxuICAgIGEge1xyXG4gICAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVG9wLWxldmVsIGl0ZW1cclxuICAgID4gbGkgPiBhIHtcclxuICAgICAgYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kO1xyXG4gICAgICBwYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmc7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVG9wLWxldmVsIGl0ZW0gYWN0aXZlIHN0YXRlXHJcbiAgICA+IGxpLmlzLWFjdGl2ZSA+IGEge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlO1xyXG4gICAgICBjb2xvcjogJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU7XHJcbiAgICB9XHJcblxyXG4gICAgLm5vLWpzICYgdWwge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC5uZXN0ZWQuaXMtZHJvcGRvd24tc3VibWVudSB7XHJcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbik7XHJcbiAgICB9XHJcblxyXG4gICAgJi52ZXJ0aWNhbCB7XHJcbiAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcclxuICAgIH1cclxuXHJcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcclxuICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XHJcbiAgICAgICAgICAmLiN7JHNpemV9LWhvcml6b250YWwge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAmLiN7JHNpemV9LXZlcnRpY2FsIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuYWxpZ24tcmlnaHQge1xyXG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xyXG4gICAgICAgIHRvcDogMTAwJTtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbCB7XHJcbiAgICB3aWR0aDogMTAwcHg7XHJcblxyXG4gICAgJi5hbGlnbi1yaWdodCB7XHJcbiAgICAgIGZsb2F0OiByaWdodDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgYTo6YWZ0ZXIge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XHJcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcclxuICAgICAgbWFyZ2luLXRvcDogLTEgKiAkZHJvcGRvd25tZW51LWFycm93LXNpemU7XHJcbiAgICB9XHJcblxyXG4gICAgJi5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcclxuXHJcbiAgICAgIHRvcDogMTAwJTtcclxuICAgICAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xyXG4gICAgICAgIHJpZ2h0OiBhdXRvO1xyXG4gICAgICB9XHJcbiAgICAgIEBlbHNlIHtcclxuICAgICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xyXG4gICAgICByaWdodDogMTAwJTtcclxuICAgICAgbGVmdDogYXV0bztcclxuICAgIH1cclxuXHJcbiAgICAmLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xyXG4gICAgICByaWdodDogYXV0bztcclxuICAgICAgbGVmdDogMTAwJTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgICN7JGdsb2JhbC1sZWZ0fTogMTAwJTtcclxuICAgIHotaW5kZXg6IDE7XHJcblxyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIG1pbi13aWR0aDogJGRyb3Bkb3dubWVudS1taW4td2lkdGg7XHJcblxyXG4gICAgYm9yZGVyOiAkZHJvcGRvd25tZW51LWJvcmRlcjtcclxuICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kO1xyXG5cclxuICAgIC5kcm9wZG93biAmIGEge1xyXG4gICAgICBwYWRkaW5nOiAkZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZztcclxuICAgIH1cclxuXHJcbiAgICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xyXG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xyXG4gICAgICAgIEBpbmNsdWRlIHpmLWRyb3Bkb3duLWxlZnQtcmlnaHQtYXJyb3dzO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICh0eXBlLW9mKCRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKSA9PSAnbnVtYmVyJykge1xyXG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogKC0kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICA+IGxpIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gW1RPRE9dIEN1dCBiYWNrIHNwZWNpZmljaXR5XHJcbiAgICAvLyY6bm90KC5qcy1kcm9wZG93bi1ub2hvdmVyKSA+IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudDpob3ZlciA+ICYsIC8vIHdoeSBpcyB0aGlzIGxpbmUgbmVlZGVkPyBPcGVuaW5nIGlzIGhhbmRsZWQgYnkgSlMgYW5kIHRoaXMgY2F1c2VzIHNvbWUgdWdseSBmbGlja2VyaW5nIHdoZW4gdGhlIHN1YiBpcyByZS1wb3NpdGlvbmVkIGF1dG9tYXRpY2FsbHkuLi5cclxuICAgICYuanMtZHJvcGRvd24tYWN0aXZlIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBvZmYtY2FudmFzXHJcbi8vLy9cclxuXHJcbi8vLyBXaWR0aCBtYXAgb2YgYSBsZWZ0L3JpZ2h0IG9mZi1jYW52YXMgcGFuZWwuXHJcbi8vLyBAdHlwZSBNYXBcclxuJG9mZmNhbnZhcy1zaXplczogKFxyXG4gIHNtYWxsOiAyNTBweCxcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBIZWlnaHQgbWFwIG9mIGEgdG9wL2JvdHRvbSBvZmYtY2FudmFzIHBhbmVsLlxyXG4vLy8gQHR5cGUgTWFwXHJcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcclxuICBzbWFsbDogMjUwcHgsXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBvZmYtY2FudmFzIHBhbmVsLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcclxuXHJcbi8vLyBCb3ggc2hhZG93IGZvciB0aGUgb2ZmLWNhbnZhcyBvdmVybGFwIHBhbmVsLlxyXG4vLy8gQHR5cGUgU2hhZG93XHJcbiRvZmZjYW52YXMtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC43KSAhZGVmYXVsdDtcclxuXHJcbi8vLyBJbm5lciBib3ggc2hhZG93IHNpemUgZm9yIHRoZSBvZmYtY2FudmFzIHB1c2ggcGFuZWwuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZTogMjBweCAhZGVmYXVsdDtcclxuXHJcbi8vLyBJbm5lciBib3ggc2hhZG93IGNvbG9yIGZvciB0aGUgb2ZmLWNhbnZhcyBwdXNoIHBhbmVsLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcclxuXHJcbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgY29udGVudCBvdmVybGF5LlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg6IDExICFkZWZhdWx0O1xyXG5cclxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB3aXRoIHRoZSBgcHVzaGAgdHJhbnNpdGlvbi5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxMiAhZGVmYXVsdDtcclxuXHJcbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgd2l0aCB0aGUgYG92ZXJsYXBgIHRyYW5zaXRpb24uXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTMgIWRlZmF1bHQ7XHJcblxyXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHVzaW5nIHRoZSBgcmV2ZWFsLWZvci0qYCBjbGFzc2VzIG9yIG1peGluLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogMTIgIWRlZmF1bHQ7XHJcblxyXG4vLy8gTGVuZ3RoIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBwYW5lbC5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzICFkZWZhdWx0O1xyXG5cclxuLy8vIFRpbWluZyBmdW5jdGlvbiBvZiB0aGUgYW5pbWF0aW9uIG9uIGFuIG9mZi1jYW52YXMgcGFuZWwuXHJcbi8vLyBAdHlwZSBLZXl3b3JkXHJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2UgIWRlZmF1bHQ7XHJcblxyXG4vLy8gSWYgYHRydWVgLCBhIHJldmVhbGVkIG9mZi1jYW52YXMgd2lsbCBiZSBmaXhlZC1wb3NpdGlvbiwgYW5kIHNjcm9sbCB3aXRoIHRoZSBzY3JlZW4uXHJcbi8vLyBAdHlwZSBCb29sXHJcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlICFkZWZhdWx0O1xyXG5cclxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBvdmVybGF5IHRoYXQgYXBwZWFycyB3aGVuIGFuIG9mZi1jYW52YXMgcGFuZWwgaXMgb3Blbi5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQ1NTIGNsYXNzIHVzZWQgZm9yIHRoZSBtYWluIGNvbnRlbnQgYXJlYS4gVGhlIG9mZi1jYW52YXMgbWl4aW5zIHVzZSB0aGlzIHRvIHRhcmdldCB0aGUgcGFnZSBjb250ZW50LlxyXG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnICFkZWZhdWx0O1xyXG5cclxuLy8vIEFkZHMgYmFzZWxpbmUgc3R5bGVzIGZvciBvZmYtY2FudmFzLiBUaGlzIENTUyBpcyByZXF1aXJlZCB0byBtYWtlIHRoZSBvdGhlciBwaWVjZXMgd29yay5cclxuQG1peGluIG9mZi1jYW52YXMtYmFzaWNzIHtcclxuXHJcbiAgLy8vIFRyYW5zZm9ybSBkZXByZWNhdGVkIHNpemUgc2V0dGluZ3MgaW50byBtYXAgJiBzaG93IHdhcm5pbmdcclxuICBAaWYgdmFyaWFibGUtZXhpc3RzKG9mZmNhbnZhcy1zaXplKSB7XHJcbiAgICAkb2ZmY2FudmFzLXNpemVzOiAoc21hbGw6ICRvZmZjYW52YXMtc2l6ZSwgbWVkaXVtOiAkb2ZmY2FudmFzLXNpemUpICFnbG9iYWw7XHJcbiAgICBAd2FybiAnJG9mZmNhbnZhcy1zaXplIGlzIGRlcHJlY2F0ZWQgYW5kIG5vdCB1c2VkIGFueW1vcmUhIFBsZWFzZSB1cGRhdGUgeW91ciBzZXR0aW5ncyBhbmQgdXNlIHRoZSBtYXAgJG9mZmNhbnZhcy1zaXplcyBpbnN0ZWFkJztcclxuICB9XHJcbiAgQGlmIHZhcmlhYmxlLWV4aXN0cyhvZmZjYW52YXMtdmVydGljYWwtc2l6ZSkge1xyXG4gICAgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKHNtYWxsOiAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUsIG1lZGl1bTogJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplKSAhZ2xvYmFsO1xyXG4gICAgQHdhcm4gJyRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSBpcyBkZXByZWNhdGVkIGFuZCBub3QgdXNlZCBhbnltb3JlISBQbGVhc2UgdXBkYXRlIHlvdXIgc2V0dGluZ3MgYW5kIHVzZSB0aGUgbWFwICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXMgaW5zdGVhZCc7XHJcbiAgfVxyXG5cclxuICAvLyBDaGVja3MgdGhlIHotaW5kZXhlcyBhbmQgaW5jcmVhc2UgdGhlbSBkdWUgdG8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuXHJcbiAgLy8gVGhpcyBpcyBuZWNlc3NhcnkgYmVjYXVzZSB0aGUgb3ZlcmxheSdzIHotaW5kZXggaXMgbmV3IHNpbmNlIHY2LjQgYW5kIG1heSBiZSBpZGVudGljYWwgdG8gdGhlIHVzZXIgY3VzdG9tIHNldHRpbmdzIG9mIHRoZSBwdXNoIHotaW5kZXguXHJcbiAgQGlmICRvZmZjYW52YXMtcHVzaC16aW5kZXggPD0gJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCB7ICRvZmZjYW52YXMtcHVzaC16aW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggKyAxICFnbG9iYWw7IH1cclxuICBAaWYgJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleCA8PSAkb2ZmY2FudmFzLXB1c2gtemluZGV4IHsgJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleCArIDEgIWdsb2JhbDsgfVxyXG4gIEBpZiAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXggPD0gJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCB7ICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCArIDEgIWdsb2JhbDsgfVxyXG5cclxuICAvLyBIaWRlcyBvdmVyZmxvdyBvbiBib2R5IHdoZW4gYW4gb2ZmLWNhbnZhcyBwYW5lbCBpcyBvcGVuLlxyXG4gIC5pcy1vZmYtY2FudmFzLW9wZW4ge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB9XHJcblxyXG4gIC8vIE9mZi1jYW52YXMgb3ZlcmxheSAoZ2VuZXJhdGVkIGJ5IEphdmFTY3JpcHQpXHJcbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDtcclxuXHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuXHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZywgdmlzaWJpbGl0eSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XHJcblxyXG4gICAgYmFja2dyb3VuZDogJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ7XHJcblxyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuXHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgICYuaXMtdmlzaWJsZSB7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICB9XHJcblxyXG4gICAgJi5pcy1jbG9zYWJsZSB7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICAmLmlzLW92ZXJsYXktYWJzb2x1dGUge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB9XHJcblxyXG4gICAgJi5pcy1vdmVybGF5LWZpeGVkIHtcclxuICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgd3JhcHBlci5cclxuQG1peGluIG9mZi1jYW52YXMtd3JhcHBlcigpIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIHBhbmVsLlxyXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNlKFxyXG4gICRiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLWJhY2tncm91bmQsXHJcbiAgJHRyYW5zaXRpb246ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZyxcclxuICAkZml4ZWQ6IHRydWVcclxuKSB7XHJcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xyXG5cclxuICBAaWYgJGZpeGVkID09IHRydWUge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgfVxyXG5cclxuICAvLyBTZXQgdGhlIG9mZi1jYW52YXMgei1pbmRleC5cclxuICB6LWluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4O1xyXG5cclxuICAvLyBJbmNyZWFzZSBDU1Mgc3BlY2lmaWNpdHlcclxuICAmLmlzLXRyYW5zaXRpb24tcHVzaCB7XHJcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4O1xyXG4gIH1cclxuXHJcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xyXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuXHJcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XHJcblxyXG4gIC8vIEhpZGUgaW5hY3RpdmUgb2ZmLWNhbnZhcyB3aXRoaW4gdGhlIGNvbnRlbnQgdGhhdCBoYXZlIHRoZSBzYW1lIHBvc2l0aW9uXHJcbiAgJi5pcy1jbG9zZWQge1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIH1cclxuXHJcbiAgLy8gT3ZlcmxhcCBvbmx5IHN0eWxlcy5cclxuICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XHJcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4O1xyXG5cclxuICAgICYuaXMtb3BlbiB7XHJcbiAgICAgIGJveC1zaGFkb3c6ICRvZmZjYW52YXMtc2hhZG93O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gU2V0cyB0cmFuc2Zvcm0gdG8gMCB0byBzaG93IGFuIG9mZi1jYW52YXMgcGFuZWwuXHJcbiAgJi5pcy1vcGVuIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xyXG4gIH1cclxufVxyXG5cclxuLy8vIEFkZHMgc3R5bGVzIHRvIHBvc2l0aW9uIGFuIG9mZi1jYW52YXMgcGFuZWwgdG8gdGhlIGxlZnQvcmlnaHQvdG9wL2JvdHRvbS5cclxuQG1peGluIG9mZi1jYW52YXMtcG9zaXRpb24oXHJcbiAgJHBvc2l0aW9uOiBsZWZ0LFxyXG4gICRvcmllbnRhdGlvbjogaG9yaXpvbnRhbCxcclxuICAkc2l6ZXM6IGlmKCRvcmllbnRhdGlvbiA9PSBob3Jpem9udGFsLCAkb2ZmY2FudmFzLXNpemVzLCAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzKVxyXG4pIHtcclxuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIG92ZXJmbG93LXk6IGF1dG87XHJcblxyXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcclxuICAgICAgICB3aWR0aDogJHNpemU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxyXG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xyXG5cclxuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcclxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xyXG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xyXG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xyXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xyXG4gICAgdG9wOiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG5cclxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XHJcbiAgICAgICAgd2lkdGg6ICRzaXplO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxyXG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xyXG5cclxuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxyXG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XHJcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XHJcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG92ZXJmbG93LXg6IGF1dG87XHJcblxyXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcclxuICAgICAgICBoZWlnaHQ6ICRzaXplO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcclxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcclxuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcclxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xyXG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xyXG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xyXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG92ZXJmbG93LXg6IGF1dG87XHJcblxyXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcclxuICAgICAgICBoZWlnaHQ6ICRzaXplO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxyXG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xyXG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XHJcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcclxuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcclxuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcclxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBJZiAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplIGlzIHNldCwgYWRkIGlubmVyIGJveC1zaGFkb3cuXHJcbiAgLy8gVGhpcyBtaW1pY3MgdGhlIG9mZi1jYW52YXMgcGFuZWwgaGF2aW5nIGEgbG93ZXIgei1pbmRleCwgd2l0aG91dCBoYXZpbmcgdG8gaGF2ZSBvbmUuXHJcbiAgQGlmICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUge1xyXG4gICAgJi5pcy10cmFuc2l0aW9uLXB1c2gge1xyXG4gICAgICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xyXG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KHJpZ2h0LCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XHJcbiAgICAgIH1cclxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcclxuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhsZWZ0LCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XHJcbiAgICAgIH1cclxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XHJcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3coYm90dG9tLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XHJcbiAgICAgIH1cclxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XHJcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3codG9wLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcblxyXG4vLy8gU2V0cyB0aGUgc3R5bGVzIGZvciB0aGUgY29udGVudCBjb250YWluZXIuXHJcbkBtaXhpbiBvZmYtY2FudmFzLWNvbnRlbnQoKSB7XHJcbiAgdHJhbnNmb3JtOiBub25lO1xyXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XHJcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG5cclxuICAvLyBUcmFuc2Zvcm0gc2NvcGUgdW50aWwgdGhlIGVsZW1lbnQgaXMgY2xvc2VkIChtYWtlcyBzdXJlIHRyYW5zaXRpb25lbmQgZ2V0cyB0cmlnZ2VyZWQpXHJcbiAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xyXG4gIH1cclxuXHJcbiAgLy8gQ29uc2lkZXIgZWxlbWVudCAmIGNvbnRlbnQsIG5lc3RlZCBpbiBhbm90aGVyIGNvbnRlbnRcclxuICAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xyXG4gIH1cclxufVxyXG5cclxuLy8vIEFkZHMgc3R5bGVzIHRoYXQgcmV2ZWFsIGFuIG9mZi1jYW52YXMgcGFuZWwuXHJcbkBtaXhpbiBvZmYtY2FudmFzLXJldmVhbChcclxuJHBvc2l0aW9uOiBsZWZ0LFxyXG4kemluZGV4OiAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsXHJcbiRjb250ZW50OiAkbWFpbmNvbnRlbnQtY2xhc3MsXHJcbiRicmVha3BvaW50OiBzbWFsbFxyXG4pIHtcclxuICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgei1pbmRleDogJHppbmRleDtcclxuICB0cmFuc2l0aW9uOiBub25lO1xyXG4gIHZpc2liaWxpdHk6IHZpc2libGU7XHJcblxyXG4gIEBpZiBub3QgJG9mZmNhbnZhcy1maXhlZC1yZXZlYWwge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIH1cclxuXHJcbiAgLmNsb3NlLWJ1dHRvbiB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuXHJcbiAgLy8gQ29uc2lkZXIgcmV2ZWFsZWQgZWxlbWVudCBpcyBuZXN0ZWQgaW4gY29udGVudFxyXG4gIC4jeyRtYWluY29udGVudC1jbGFzc30gJiB7XHJcbiAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgfVxyXG5cclxuICBAYXQtcm9vdCAuI3skY29udGVudH0uaGFzLXJldmVhbC0jeyRwb3NpdGlvbn0ge1xyXG4gICAgbWFyZ2luLSN7JHBvc2l0aW9ufTogLXpmLWdldC1icC12YWwoJG9mZmNhbnZhcy1zaXplcywgJGJyZWFrcG9pbnQpO1xyXG4gIH1cclxuXHJcbiAgLy8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgKHByaW9yIHRvIHY2LjQpXHJcbiAgJiB+IC4jeyRjb250ZW50fSB7XHJcbiAgICBtYXJnaW4tI3skcG9zaXRpb259OiAtemYtZ2V0LWJwLXZhbCgkb2ZmY2FudmFzLXNpemVzLCAkYnJlYWtwb2ludCk7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gT3ZlcnJpZGVzIHRoZSBvZmYtY2FudmFzIHN0eWxlc1xyXG5AbWl4aW4gaW4tY2FudmFzKCkge1xyXG4gIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG4gIHBvc2l0aW9uOiBzdGF0aWM7XHJcbiAgYmFja2dyb3VuZDogbm9uZTtcclxuICB3aWR0aDogYXV0bztcclxuICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICB0cmFuc2l0aW9uOiBub25lO1xyXG5cclxuICAvLyBJbmNyZWFzZSBDU1Mgc3BlY2lmaWNpdHlcclxuICAmLnBvc2l0aW9uLWxlZnQsXHJcbiAgJi5wb3NpdGlvbi1yaWdodCxcclxuICAmLnBvc2l0aW9uLXRvcCxcclxuICAmLnBvc2l0aW9uLWJvdHRvbSB7XHJcbiAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgdHJhbnNmb3JtOiBub25lO1xyXG4gIH1cclxuXHJcbiAgLmNsb3NlLWJ1dHRvbiB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tb2ZmLWNhbnZhcyB7XHJcbiAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNpY3M7XHJcblxyXG4gIC8vIE9mZi1jYW52YXMgd3JhcHBlclxyXG4gIC5vZmYtY2FudmFzLXdyYXBwZXIge1xyXG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy13cmFwcGVyO1xyXG4gIH1cclxuXHJcbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXJcclxuICAub2ZmLWNhbnZhcyB7XHJcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2U7XHJcblxyXG4gICAgLy8gRm9yY2UgcG9zaXRpb24gYWJzb2x1dGUgZm9yIG5lc3RlZCBvZmYtY2FudmFzIGJlY2F1c2UgZml4ZWQgZG9lc24ndCB3b3JrIGZvciBwdXNoIHRyYW5zaXRpb24gd2l0aGluIHRoZSB0cmFuc2Zvcm0gc2NvcGUuXHJcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9ICYge1xyXG4gICAgICAvLyBOT1RFOiBzaW5jZSBvdmVybGFwIHRyYW5zaXRpb24gaXMgY3VycmVudGx5IGZvcmNlZCBpZiBuZXN0ZWQsIHRoZXJlJ3Mgbm8gbmVlZCB0byBmb3JjZSBwb3NpdGlvbiBhYnNvbHV0ZSB1bnRpbCBuZXN0ZWQgcHVzaCB0cmFuc2l0aW9uIGlzIHN1cHBvcnRlZC5cclxuICAgICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXIgd2l0aCBhYnNvbHV0ZSBwb3NpdGlvblxyXG4gIC5vZmYtY2FudmFzLWFic29sdXRlIHtcclxuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZSgkZml4ZWQ6IGZhbHNlKTtcclxuICB9XHJcblxyXG4gIC8vIE9mZi1jYW52YXMgcG9zaXRpb24gY2xhc3Nlc1xyXG4gIC5wb3NpdGlvbi1sZWZ0ICAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihsZWZ0LCAgIGhvcml6b250YWwpOyB9XHJcbiAgLnBvc2l0aW9uLXJpZ2h0ICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKHJpZ2h0LCAgaG9yaXpvbnRhbCk7IH1cclxuICAucG9zaXRpb24tdG9wICAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24odG9wLCAgICB2ZXJ0aWNhbCk7IH1cclxuICAucG9zaXRpb24tYm90dG9tICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24oYm90dG9tLCB2ZXJ0aWNhbCk7IH1cclxuXHJcbiAgLm9mZi1jYW52YXMtY29udGVudCB7XHJcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWNvbnRlbnQ7XHJcbiAgfVxyXG5cclxuICAvLyBSZXZlYWwgb2ZmLWNhbnZhcyBwYW5lbCBvbiBsYXJnZXIgc2NyZWVuc1xyXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XHJcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XHJcbiAgICAgICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci0jeyRuYW1lfSB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChsZWZ0LCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xyXG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwocmlnaHQsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItI3skbmFtZX0ge1xyXG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwodG9wLCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcclxuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKGJvdHRvbSwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIE1vdmUgaW4tY2FudmFzIGZvciBsYXJnZXIgc2NyZWVuc1xyXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XHJcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XHJcbiAgICAgICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci0jeyRuYW1lfSB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBpbi1jYW52YXM7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG5AbWl4aW4gZm91bmRhdGlvbi1zdGlja3kge1xyXG4gIC5zdGlja3ktY29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB9XHJcblxyXG4gIC5zdGlja3kge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgei1pbmRleDogMDtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICAuc3RpY2t5LmlzLXN0dWNrIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHotaW5kZXg6IDU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAmLmlzLWF0LXRvcCB7XHJcbiAgICAgIHRvcDogMDtcclxuICAgIH1cclxuXHJcbiAgICAmLmlzLWF0LWJvdHRvbSB7XHJcbiAgICAgIGJvdHRvbTogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5zdGlja3kuaXMtYW5jaG9yZWQge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcmlnaHQ6IGF1dG87XHJcbiAgICBsZWZ0OiBhdXRvO1xyXG5cclxuICAgICYuaXMtYXQtYm90dG9tIHtcclxuICAgICAgYm90dG9tOiAwO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgdGl0bGUtYmFyXHJcbi8vLy9cclxuXHJcbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGl0bGUgYmFyLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRibGFjayAhZGVmYXVsdDtcclxuXHJcbi8vLyBDb2xvciBvZiB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xyXG5cclxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgdGl0bGUgYmFyLlxyXG4vLy8gQHR5cGUgTGVuZ3RoXHJcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXHJcbi8vLyBAdHlwZSBXZWlnaHRcclxuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xyXG5cclxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyIG9uIGhvdmVyLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcclxuXHJcbi8vLyBTcGFjaW5nIGJldHdlZW4gdGhlIG1lbnUgaWNvbiBhbmQgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXHJcbi8vLyBAdHlwZSBMZW5ndGhcclxuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLXRpdGxlLWJhciB7XHJcbiAgLnRpdGxlLWJhciB7XHJcbiAgICBwYWRkaW5nOiAkdGl0bGViYXItcGFkZGluZztcclxuICAgIGJhY2tncm91bmQ6ICR0aXRsZWJhci1iYWNrZ3JvdW5kO1xyXG4gICAgY29sb3I6ICR0aXRsZWJhci1jb2xvcjtcclxuXHJcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICAgIH1cclxuXHJcbiAgICAubWVudS1pY29uIHtcclxuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJHRpdGxlYmFyLWljb24tc3BhY2luZztcclxuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICR0aXRsZWJhci1pY29uLXNwYWNpbmc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcclxuICAgIC50aXRsZS1iYXItbGVmdCxcclxuICAgIC50aXRsZS1iYXItcmlnaHQge1xyXG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxyXG4gICAgfVxyXG5cclxuICAgIC50aXRsZS1iYXItcmlnaHQge1xyXG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgLnRpdGxlLWJhci1sZWZ0IHtcclxuICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XHJcbiAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAudGl0bGUtYmFyLXRpdGxlIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICBmb250LXdlaWdodDogJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ7XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCB0b3AtYmFyXHJcbi8vLy9cclxuXHJcbi8vLyBQYWRkaW5nIGZvciB0aGUgdG9wIGJhci5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kdG9wYmFyLXBhZGRpbmc6IDAuNXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgdG9wIGJhci4gVGhpcyBjb2xvciBhbHNvIGNhc2NhZGVzIHRvIG1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQmFja2dyb3VuZCBjb2xvciBzdWJtZW51cyB3aXRoaW4gdGhlIHRvcCBiYXIuIFVzZWZ1bGwgaWYgJHRvcGJhci1iYWNrZ3JvdW5kIGlzIHRyYW5zcGFyZW50LlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZCAhZGVmYXVsdDtcclxuXHJcbi8vLyBTcGFjaW5nIGZvciB0aGUgdG9wIGJhciB0aXRsZS5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kdG9wYmFyLXRpdGxlLXNwYWNpbmc6IDAuNXJlbSAxcmVtIDAuNXJlbSAwICFkZWZhdWx0O1xyXG5cclxuLy8vIE1heGltdW0gd2lkdGggb2YgYDxpbnB1dD5gIGVsZW1lbnRzIGluc2lkZSB0aGUgdG9wIGJhci5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcclxuXHJcbi8vLyBCcmVha3BvaW50IGF0IHdoaWNoIHRvcCBiYXIgc3dpdGNoZXMgZnJvbSBtb2JpbGUgdG8gZGVza3RvcCB2aWV3LlxyXG4vLy8gQHR5cGUgQnJlYWtwb2ludFxyXG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xyXG5cclxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRvcCBiYXIgY29udGFpbmVyLlxyXG5AbWl4aW4gdG9wLWJhci1jb250YWluZXIge1xyXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogbm93cmFwO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcbiAgfVxyXG5cclxuICBwYWRkaW5nOiAkdG9wYmFyLXBhZGRpbmc7XHJcblxyXG4gICYsXHJcbiAgdWwge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1iYWNrZ3JvdW5kO1xyXG4gIH1cclxuXHJcbiAgLy8gQ2hlY2sgaWYgJHRvcGJhci1iYWNrZ3JvdW5kIGlzIGRpZmZlcm50IGZyb20gJHRvcGJhci1iYWNrZ3JvdW5kLXN1Ym1lbnVcclxuICBAaWYgKCR0b3BiYXItYmFja2dyb3VuZCAhPSAkdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZCkge1xyXG4gICAgdWwgdWwge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFJlc3RyYWluIHdpZHRoIG9mIGlucHV0cyBieSBkZWZhdWx0IHRvIG1ha2UgdGhlbSBlYXNpZXIgdG8gYXJyYW5nZVxyXG4gIGlucHV0IHtcclxuICAgIG1heC13aWR0aDogJHRvcGJhci1pbnB1dC13aWR0aDtcclxuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xyXG4gIH1cclxuXHJcbiAgLy8gVGhlIGFib3ZlIHN0eWxlcyBzaG91bGRuJ3QgYXBwbHkgdG8gaW5wdXQgZ3JvdXAgZmllbGRzXHJcbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XHJcbiAgfVxyXG5cclxuICBpbnB1dC5idXR0b24geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gIH1cclxufVxyXG5cclxuLy8vIE1ha2VzIHNlY3Rpb25zIG9mIGEgdG9wIGJhciBzdGFjayBvbiB0b3Agb2YgZWFjaCBvdGhlci5cclxuQG1peGluIHRvcC1iYXItc3RhY2tlZCB7XHJcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcblxyXG4gICAgLy8gU3ViLXNlY3Rpb25zXHJcbiAgICAudG9wLWJhci1sZWZ0LFxyXG4gICAgLnRvcC1iYXItcmlnaHQge1xyXG4gICAgICBmbGV4OiAwIDAgMTAwJTtcclxuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICAvLyBTdWItc2VjdGlvbnNcclxuICAgIC50b3AtYmFyLWxlZnQsXHJcbiAgICAudG9wLWJhci1yaWdodCB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8vIFVuZG9lcyB0aGUgQ1NTIGFwcGxpZWQgYnkgdGhlIGB0b3AtYmFyLXN0YWNrZWQoKWAgbWl4aW4uXHJcbkBtaXhpbiB0b3AtYmFyLXVuc3RhY2sge1xyXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xyXG4gICAgZmxleC13cmFwOiBub3dyYXA7XHJcblxyXG4gICAgLnRvcC1iYXItbGVmdCB7XHJcbiAgICAgIGZsZXg6IDEgMSBhdXRvO1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgLnRvcC1iYXItcmlnaHQge1xyXG4gICAgICBmbGV4OiAwIDEgYXV0bztcclxuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIC50b3AtYmFyLWxlZnQsXHJcbiAgICAudG9wLWJhci1yaWdodCB7XHJcbiAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tdG9wLWJhciB7XHJcbiAgLy8gVG9wIGJhciBjb250YWluZXJcclxuICAudG9wLWJhciB7XHJcbiAgICBAaW5jbHVkZSB0b3AtYmFyLWNvbnRhaW5lcjtcclxuXHJcbiAgICAvLyBTdGFjayBvbiBzbWFsbCBzY3JlZW5zIGJ5IGRlZmF1bHRcclxuICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0b3BiYXItdW5zdGFjay1icmVha3BvaW50KSB7XHJcbiAgICAgIEBpbmNsdWRlIHRvcC1iYXItdW5zdGFjaztcclxuICAgIH1cclxuXHJcbiAgICAvLyBHZW5lcmF0ZSBjbGFzc2VzIGZvciBzdGFja2luZyBvbiBlYWNoIHNjcmVlbiBzaXplIChkZWZpbmVkIGluICRicmVha3BvaW50LWNsYXNzZXMpXHJcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcclxuICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcclxuICAgICAgICAmLnN0YWNrZWQtZm9yLSN7JHNpemV9IHtcclxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB0b3AtYmFyLXN0YWNrZWQ7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBTdWItc2VjdGlvbnNcclxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcclxuICAgIC50b3AtYmFyLXRpdGxlIHtcclxuICAgICAgZmxleDogMCAwIGF1dG87XHJcbiAgICAgIG1hcmdpbjogJHRvcGJhci10aXRsZS1zcGFjaW5nO1xyXG4gICAgfVxyXG5cclxuICAgIC50b3AtYmFyLWxlZnQsXHJcbiAgICAudG9wLWJhci1yaWdodCB7XHJcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICAudG9wLWJhci10aXRsZSB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgIHBhZGRpbmc6ICR0b3BiYXItdGl0bGUtc3BhY2luZztcclxuXHJcbiAgICAgIC5tZW51LWljb24ge1xyXG4gICAgICAgIGJvdHRvbTogMnB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnRvcC1iYXItbGVmdCB7XHJcbiAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgfVxyXG5cclxuICAgIC50b3AtYmFyLXJpZ2h0IHtcclxuICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgZmxvYXRcclxuLy8vL1xyXG5cclxuQG1peGluIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcyB7XHJcbiAgLmZsb2F0LWxlZnQge1xyXG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5mbG9hdC1yaWdodCB7XHJcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5mbG9hdC1jZW50ZXIge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICB9XHJcblxyXG4gIC5jbGVhcmZpeCB7XHJcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIEZsZXhib3ggVXRpbGl0aWVzXHJcbi8vLy9cclxuLy9cclxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHRoZSBjb3VudCBvZiBzb3VyY2Ugb3JkZXJpbmdgXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50OiA2ICFkZWZhdWx0O1xyXG5cclxuLy8vIFF1aWNrbHkgZGlzYWJsZS9lbmFibGUgUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgVmFuaWxsYSBGbGV4IEhlbHBlcnMuXHJcbi8vLyBAdHlwZSBCb29sZWFuXHJcbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWUgIWRlZmF1bHQ7XHJcblxyXG5AbWl4aW4gZmxleC1oZWxwZXJzIHtcclxuICAuZmxleC1jb250YWluZXIge1xyXG4gICAgQGluY2x1ZGUgZmxleDtcclxuICB9XHJcblxyXG4gIC5mbGV4LWNoaWxkLWF1dG8ge1xyXG4gICAgZmxleDogMSAxIGF1dG87XHJcbiAgfVxyXG5cclxuICAuZmxleC1jaGlsZC1ncm93IHtcclxuICAgIGZsZXg6IDEgMCBhdXRvO1xyXG4gIH1cclxuXHJcbiAgLmZsZXgtY2hpbGQtc2hyaW5rIHtcclxuICAgIGZsZXg6IDAgMSBhdXRvO1xyXG4gIH1cclxuXHJcbiAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XHJcbiAgICAuZmxleC1kaXItI3skZGlyfSB7XHJcbiAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpZiAoJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50cykge1xyXG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcclxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XHJcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcclxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXg7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtYXV0byB7XHJcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLWdyb3cge1xyXG4gICAgICAgICAgICBmbGV4OiAxIDAgYXV0bztcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1zaHJpbmsge1xyXG4gICAgICAgICAgICBmbGV4OiAwIDEgYXV0bztcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcclxuICAgICAgICAgICAgLiN7JHNpemV9LWZsZXgtZGlyLSN7JGRpcn0ge1xyXG4gICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzIHtcclxuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCB1c2luZyBqdXN0aWZ5LWNvbnRlbnRcclxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWp1c3RpZnkge1xyXG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcclxuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogJGhkaXIpO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCBTcGVjaWZpY2FsbHkgZm9yIFZlcnRpY2FsIE1lbnVcclxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gbWFwLXJlbW92ZSgkLXpmLWZsZXgtanVzdGlmeSwgJ2p1c3RpZnknLCAnc3BhY2VkJykge1xyXG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcclxuICAgICAgJi52ZXJ0aWNhbCB7XHJcbiAgICAgICAgJi5tZW51ID4gbGkgPiBhIHtcclxuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFZlcnRpY2FsIGFsaWdubWVudCB1c2luZyBhbGlnbi1pdGVtcyBhbmQgYWxpZ24tc2VsZlxyXG4gIEBlYWNoICR2ZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtYWxpZ24ge1xyXG4gICAgLmFsaWduLSN7JHZkaXJ9IHtcclxuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeTogJHZkaXIpO1xyXG4gICAgfVxyXG5cclxuICAgIC5hbGlnbi1zZWxmLSN7JHZkaXJ9IHtcclxuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKCR5OiAkdmRpcik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBDZW50cmFsIGFsaWdubWVudCBvZiBjb250ZW50XHJcbiAgLmFsaWduLWNlbnRlci1taWRkbGUge1xyXG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogY2VudGVyLCAkeTogbWlkZGxlKTtcclxuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcclxuICB9XHJcblxyXG4gIC8vIFNvdXJjZSBvcmRlcmluZ1xyXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xyXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQge1xyXG4gICAgICAuI3skLXpmLXNpemV9LW9yZGVyLSN7JGl9IHtcclxuICAgICAgICBAaW5jbHVkZSBmbGV4LW9yZGVyKCRpKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gVmFuaWxsYSBGbGV4Ym94IEhlbHBlcnNcclxuICBAaW5jbHVkZSBmbGV4LWhlbHBlcnM7XHJcbn1cclxuIiwiQGZ1bmN0aW9uIC16Zi1mbGV4LWp1c3RpZnkoJHRleHQtZGlyZWN0aW9uKXtcclxuICAkLXpmLWZsZXgtanVzdGlmeTogKFxyXG4gICAgJ2xlZnQnOiBpZigkdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBmbGV4LWVuZCwgZmxleC1zdGFydCksXHJcbiAgICAncmlnaHQnOiBpZigkdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBmbGV4LXN0YXJ0LCBmbGV4LWVuZCksXHJcbiAgICAnY2VudGVyJzogY2VudGVyLFxyXG4gICAgJ2p1c3RpZnknOiBzcGFjZS1iZXR3ZWVuLFxyXG4gICAgJ3NwYWNlZCc6IHNwYWNlLWFyb3VuZCxcclxuICApO1xyXG5cclxuICBAcmV0dXJuICQtemYtZmxleC1qdXN0aWZ5O1xyXG59XHJcblxyXG5cclxuJC16Zi1mbGV4LWFsaWduOiAoXHJcbiAgJ3RvcCc6IGZsZXgtc3RhcnQsXHJcbiAgJ2JvdHRvbSc6IGZsZXgtZW5kLFxyXG4gICdtaWRkbGUnOiBjZW50ZXIsXHJcbiAgJ3N0cmV0Y2gnOiBzdHJldGNoLFxyXG4pO1xyXG5cclxuJC16Zi1mbGV4LWRpcmVjdGlvbjogKFxyXG4gICdyb3cnOiByb3csXHJcbiAgJ3Jvdy1yZXZlcnNlJzogcm93LXJldmVyc2UsXHJcbiAgJ2NvbHVtbic6IGNvbHVtbixcclxuICAnY29sdW1uLXJldmVyc2UnOiBjb2x1bW4tcmV2ZXJzZSxcclxuKTtcclxuXHJcbi8vLyBFbmFibGVzIGZsZXhib3ggYnkgYWRkaW5nIGBkaXNwbGF5OiBmbGV4YCB0byB0aGUgZWxlbWVudC5cclxuQG1peGluIGZsZXgge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuXHJcbi8vLyBIb3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBhbGlnbnMgdGhlIGl0ZW1zIHdpdGhpbiBhIGZsZXggY29udGFpbmVyLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHggW251bGxdIC0gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYGxlZnRgLCBgcmlnaHRgLCBgY2VudGVyYCwgYGp1c3RpZnlgLCBvciBgc3BhY2VkYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IGhvcml6b250YWwgYWxpZ25tZW50LlxyXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxyXG5AbWl4aW4gZmxleC1hbGlnbigkeDogbnVsbCwgJHk6IG51bGwpIHtcclxuICBAaWYgJHgge1xyXG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1qdXN0aWZ5LCAkeCkge1xyXG4gICAgICAkeDogbWFwLWdldCgkLXpmLWZsZXgtanVzdGlmeSwgJHgpO1xyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR4fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgaG9yaXpvbnRhbCBhbGlnbm1lbnQuIFVzZSBsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5LCBvciBzcGFjZWQuJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpZiAkeSB7XHJcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xyXG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIHZlcnRpY2FsIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGp1c3RpZnktY29udGVudDogJHg7XHJcbiAgYWxpZ24taXRlbXM6ICR5O1xyXG59XHJcblxyXG4vLy8gVmVydGljYWxseSBhbGlnbiBhIHNpbmdsZSBjb2x1bW4gd2l0aGluIGEgZmxleCByb3cuIEFwcGx5IHRoaXMgbWl4aW4gdG8gYSBmbGV4IGNvbHVtbi5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXHJcbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHk6IG51bGwpIHtcclxuICBAaWYgJHkge1xyXG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcclxuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSB7XHJcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtY29sdW1uLWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhbGlnbi1zZWxmOiAkeTtcclxufVxyXG5cclxuLy8vIENoYW5nZXMgdGhlIHNvdXJjZSBvcmRlciBvZiBhIGZsZXggY2hpbGQuIENoaWxkcmVuIHdpdGggbG93ZXIgbnVtYmVycyBhcHBlYXIgZmlyc3QgaW4gdGhlIGxheW91dC5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb3JkZXIgWzBdIC0gT3JkZXIgbnVtYmVyIHRvIGFwcGx5LlxyXG5AbWl4aW4gZmxleC1vcmRlcigkb3JkZXI6IDApIHtcclxuICBvcmRlcjogJG9yZGVyO1xyXG59XHJcblxyXG4vLy8gQ2hhbmdlIGZsZXgtZGlyZWN0aW9uXHJcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW3Jvd10gLSBGbGV4IGRpcmVjdGlvbiB0byB1c2UuIENhbiBiZVxyXG4vLy8gICAtIHJvdyAoZGVmYXVsdCk6IHNhbWUgYXMgdGV4dCBkaXJlY3Rpb25cclxuLy8vICAgLSByb3ctcmV2ZXJzZTogb3Bwb3NpdGUgdG8gdGV4dCBkaXJlY3Rpb25cclxuLy8vICAgLSBjb2x1bW46IHNhbWUgYXMgcm93IGJ1dCB0b3AgdG8gYm90dG9tXHJcbi8vLyAgIC0gY29sdW1uLXJldmVyc2U6IHNhbWUgYXMgcm93LXJldmVyc2UgdG9wIHRvIGJvdHRvbVxyXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJGRpcmVjdGlvbjogcm93KSB7XHJcbiAgZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxyXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcclxuQG1peGluIHNob3ctZm9yKCRzaXplKSB7XHJcbiAgJHNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XHJcbiAgLy8gTWF4IHZhbHVlIGlzIDAuMnB4IHVuZGVyIHRoZSBuZXh0IGJyZWFrcG9pbnQgKDAuMDIgLyAxNiA9IDAuMDAxMjUpLlxyXG4gIC8vIFVzZSBhIHByZWNpc2lvbiB1bmRlciAxcHggdG8gc3VwcG9ydCBicm93c2VyIHpvb20sIGJ1dCBub3QgdG8gbG93IHRvIGF2b2lkIHJvdW5kaW5nLlxyXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMTMxM1xyXG4gICRzaXplOiAtemYtYnAtdG8tZW0oJHNpemUpIC0gLjAwMTI1O1xyXG5cclxuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcclxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IHdpdGhpbiBhIGNlcnRhaW4gYnJlYWtwb2ludC5cclxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXHJcbkBtaXhpbiBzaG93LWZvci1vbmx5KCRzaXplKSB7XHJcbiAgJGxvd2VyLWJvdW5kLXNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XHJcbiAgJHVwcGVyLWJvdW5kLXNpemU6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRzaXplKTtcclxuXHJcbiAgLy8gbW9yZSBvZnRlbiB0aGFuIG5vdCB0aGlzIHdpbGwgYmUgY29ycmVjdCwganVzdCBvbmUgdGltZSByb3VuZCB0aGUgbG9vcCBpdCB3b24ndCBzbyBzZXQgaW4gc2NvcGUgaGVyZVxyXG4gICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKSAtIC4wMDEyNTtcclxuICAvLyB0ZXN0IGFjdHVhbCBsb3dlci1ib3VuZC1zaXplLCBpZiAwIHNldCBpdCB0byAwZW1cclxuICBAaWYgc3RyaXAtdW5pdCgkbG93ZXItYm91bmQtc2l6ZSkgPT0gMCB7XHJcbiAgICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSk7XHJcbiAgfVxyXG5cclxuICBAaWYgJHVwcGVyLWJvdW5kLXNpemUgPT0gbnVsbCB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpIHtcclxuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICAkdXBwZXItYm91bmQ6IC16Zi1icC10by1lbSgkdXBwZXItYm91bmQtc2l6ZSk7XHJcblxyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdXBwZXItYm91bmQpIHtcclxuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxyXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcclxuQG1peGluIGhpZGUtZm9yKCRzaXplKSB7XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xyXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXHJcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxyXG5AbWl4aW4gaGlkZS1mb3Itb25seSgkc2l6ZSkge1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgb25seSkge1xyXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzIHtcclxuICAvLyBCYXNpYyBoaWRpbmcgY2xhc3Nlc1xyXG4gIC5oaWRlIHtcclxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5pbnZpc2libGUge1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIH1cclxuXHJcbiAgLy8gUmVzcG9uc2l2ZSB2aXNpYmlsaXR5IGNsYXNzZXNcclxuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcclxuICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XHJcbiAgICAgIC5oaWRlLWZvci0jeyRzaXplfSB7XHJcbiAgICAgICAgQGluY2x1ZGUgaGlkZS1mb3IoJHNpemUpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuc2hvdy1mb3ItI3skc2l6ZX0ge1xyXG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKCRzaXplKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5oaWRlLWZvci0jeyRzaXplfS1vbmx5IHtcclxuICAgICAgQGluY2x1ZGUgaGlkZS1mb3Itb25seSgkc2l6ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLnNob3ctZm9yLSN7JHNpemV9LW9ubHkge1xyXG4gICAgICBAaW5jbHVkZSBzaG93LWZvci1vbmx5KCRzaXplKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFNjcmVlbiByZWFkZXIgdmlzaWJpbGl0eSBjbGFzc2VzXHJcbiAgLy8gTmVlZCBhIFwiaGlkZS1mb3Itc3JcIiBjbGFzcz8gQWRkIGFyaWEtaGlkZGVuPSd0cnVlJyB0byB0aGUgZWxlbWVudFxyXG4gIC5zaG93LWZvci1zcixcclxuICAuc2hvdy1vbi1mb2N1cyB7XHJcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcclxuICB9XHJcblxyXG4gIC8vIE9ubHkgZGlzcGxheSB0aGUgZWxlbWVudCB3aGVuIGl0J3MgZm9jdXNlZFxyXG4gIC5zaG93LW9uLWZvY3VzIHtcclxuICAgICY6YWN0aXZlLFxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIExhbmRzY2FwZSBhbmQgcG9ydHJhaXQgdmlzaWJpbGl0eVxyXG4gIC5zaG93LWZvci1sYW5kc2NhcGUsXHJcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcclxuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcclxuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXHJcbiAgLnNob3ctZm9yLXBvcnRyYWl0IHtcclxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xyXG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xyXG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXRleHQtdXRpbGl0aWVzXHJcbi8vLy9cclxuXHJcbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciB0ZXh0IHV0aWxpdGllc1xyXG4vLy8gQHR5cGUgQm9vbGVhblxyXG4kcHJvdG90eXBlLXV0aWxpdGllcy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBWYWx1ZSBmb3IgYHRleHQtb3ZlcmZsb3dgIHZhcmlhYmxlXHJcbi8vLyBAdHlwZSBTdHJpbmdcclxuJHByb3RvdHlwZS10ZXh0LW92ZXJmbG93OiBlbGxpcHNpcyAhZGVmYXVsdDtcclxuXHJcbi8vLyBJbWFnZSBSZXBsYWNlbWVudCB1dGlsaXR5LiBgdGV4dC1oaWRlYFxyXG5AbWl4aW4gdGV4dC1oaWRlIHtcclxuICBmb250OiAwLzAgYSAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICBib3JkZXI6IDAgIWltcG9ydGFudDtcclxufVxyXG5cclxuLy8vIFRydW5jYXRpbmcgdGhlIHRleHQsIGVsaXBzaXMgYnkgZGVmYXVsdC5cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3ZlcmZsb3cgWyRwcm90b3R5cGUtdGV4dC1vdmVyZmxvd10gVGV4dCBUcnVuY2F0ZVxyXG5AbWl4aW4gdGV4dC10cnVuY2F0ZShcclxuICAkb3ZlcmZsb3c6ICRwcm90b3R5cGUtdGV4dC1vdmVyZmxvd1xyXG4pIHtcclxuICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XHJcbiAgdGV4dC1vdmVyZmxvdzogJG92ZXJmbG93OyBcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8vLyBObyB3cmFwcGluZyBvZiB0aGUgdGV4dC4gYHRleHQtbm93cmFwYFxyXG5AbWl4aW4gdGV4dC1ub3dyYXAge1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcclxufVxyXG5cclxuLy8vIFdyYXBwaW5nIG9mIHRoZSB0ZXh0LiBgdGV4dC13cmFwYFxyXG5AbWl4aW4gdGV4dC13cmFwIHtcclxuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQgIWltcG9ydGFudDtcclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXRleHQtdXRpbGl0aWVzIHtcclxuICAudGV4dC1oaWRlIHtcclxuICAgIEBpbmNsdWRlIHRleHQtaGlkZTtcclxuICB9XHJcblxyXG4gIC50ZXh0LXRydW5jYXRlIHtcclxuICAgIEBpbmNsdWRlIHRleHQtdHJ1bmNhdGU7XHJcbiAgfVxyXG5cclxuICAudGV4dC1ub3dyYXAge1xyXG4gICAgQGluY2x1ZGUgdGV4dC1ub3dyYXA7XHJcbiAgfVxyXG5cclxuICAudGV4dC13cmFwIHtcclxuICAgIEBpbmNsdWRlIHRleHQtd3JhcDtcclxuICB9XHJcblxyXG4gIEBpZiAoJHByb3RvdHlwZS11dGlsaXRpZXMtYnJlYWtwb2ludHMpIHtcclxuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXHJcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xyXG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XHJcbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC1oaWRlIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgdGV4dC1oaWRlO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LXRydW5jYXRlIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgdGV4dC10cnVuY2F0ZTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC1ub3dyYXAge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB0ZXh0LW5vd3JhcDtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC13cmFwIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgdGV4dC13cmFwO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb25cclxuLy8vL1xyXG5cclxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHRleHQgdHJhbnNmb3JtYXRpb24gY2xhc3Nlc1xyXG4vLy8gQHR5cGUgQm9vbGVhblxyXG4kcHJvdG90eXBlLXRyYW5zZm9ybWF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcclxuXHJcbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGB0ZXh0LXRyYW5zZm9ybWF0aW9uYCBjbGFzc2VzXHJcbi8vLyBAdHlwZSBNYXBcclxuJHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uOiAoXHJcbiAgbG93ZXJjYXNlLFxyXG4gIHVwcGVyY2FzZSxcclxuICBjYXBpdGFsaXplXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLy8gVGV4dCBUcmFuc2Zvcm1hdGlvbiwgYnkgZGVmYXVsdCBjb21pbmcgdGhyb3VnaCBhIG1hcCBgJHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uYFxyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR0cmFuc2Zvcm1hdGlvbiBbXSBUZXh0IFRyYW5zZm9ybWF0aW9uXHJcbkBtaXhpbiB0ZXh0LXRyYW5zZm9ybSgkdHJhbnNmb3JtYXRpb24pIHtcclxuICB0ZXh0LXRyYW5zZm9ybTogJHRyYW5zZm9ybWF0aW9uICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uIHtcclxuICBAZWFjaCAkdHJhbnNmb3JtYXRpb24gaW4gJHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uIHtcclxuICAgIC50ZXh0LSN7JHRyYW5zZm9ybWF0aW9ufSB7XHJcbiAgICAgIEBpbmNsdWRlIHRleHQtdHJhbnNmb3JtKCR0cmFuc2Zvcm1hdGlvbik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgKCRwcm90b3R5cGUtdHJhbnNmb3JtYXRpb24tYnJlYWtwb2ludHMpIHtcclxuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXHJcbiAgXHRAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xyXG4gICAgICAgIEBlYWNoICR0cmFuc2Zvcm1hdGlvbiBpbiAkcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb24ge1xyXG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcclxuICAgICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skdHJhbnNmb3JtYXRpb259IHtcclxuICBcdFx0XHQgICAgICBAaW5jbHVkZSB0ZXh0LXRyYW5zZm9ybSgkdHJhbnNmb3JtYXRpb24pO1xyXG4gIFx0XHRcdCAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBwcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uXHJcbi8vLy9cclxuXHJcbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciB0ZXh0IGRlY29yYXRpb24gY2xhc3Nlc1xyXG4vLy8gQHR5cGUgQm9vbGVhblxyXG4kcHJvdG90eXBlLWRlY29yYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xyXG5cclxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYHRleHQtZGVjb3JhdGlvbmAgY2xhc3Nlc1xyXG4vLy8gQHR5cGUgTWFwXHJcbiRwcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uOiAoXHJcbiAgb3ZlcmxpbmUsXHJcbiAgdW5kZXJsaW5lLFxyXG4gIGxpbmUtdGhyb3VnaCxcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBUZXh0IERlY29yYXRpb24sIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uYFxyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkZWNvcmF0aW9uIFtdIFRleHQgRGVjb3JhdGlvblxyXG5AbWl4aW4gdGV4dC1kZWNvcmF0aW9uKCRkZWNvcmF0aW9uKSB7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiAkZGVjb3JhdGlvbiAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uIHtcclxuICBAZWFjaCAkZGVjb3JhdGlvbiBpbiAkcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbiB7XHJcbiAgICAudGV4dC0jeyRkZWNvcmF0aW9ufSB7XHJcbiAgICAgIEBpbmNsdWRlIHRleHQtZGVjb3JhdGlvbigkZGVjb3JhdGlvbik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgKCRwcm90b3R5cGUtZGVjb3JhdGlvbi1icmVha3BvaW50cykge1xyXG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcclxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XHJcbiAgICAgICAgQGVhY2ggJGRlY29yYXRpb24gaW4gJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb24ge1xyXG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcclxuICAgICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skZGVjb3JhdGlvbn0ge1xyXG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQtZGVjb3JhdGlvbigkZGVjb3JhdGlvbik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1mb250LXN0eWxpbmdcclxuLy8vL1xyXG5cclxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIGZvbnQgc3R5bGluZyB0eXBlc1xyXG4vLy8gQHR5cGUgQm9vbGVhblxyXG4kcHJvdG90eXBlLWZvbnQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xyXG5cclxuLy8vIExldHRlciBzcGFjaW5nIGZvciBgLmZvbnQtd2lkZWBcclxuLy8vIEB0eXBlIE51bWJlclxyXG4kcHJvdG90eXBlLXdpZGUtbGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKDQpICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgd2VpZ2h0IGZvciBgLmZvbnQtbm9ybWFsYCwgZGVmYXVsdGVkIHRvIGBnbG9iYWwtd2VpZ2h0LW5vcm1hbGBcclxuLy8vIEB0eXBlIE51bWJlclxyXG4kcHJvdG90eXBlLWZvbnQtbm9ybWFsOiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCB3ZWlnaHQgZm9yIGAuZm9udC1ib2xkYCwgZGVmYXVsdGVkIHRvIGBnbG9iYWwtd2VpZ2h0LWJvbGRgXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHByb3RvdHlwZS1mb250LWJvbGQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRm9udCB3aWRlIGxldHRlciBzcGFjaW5nIVxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsZXR0ZXItc3BhY2luZyBbJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nXSBXaWRlIGxldHRlciBzcGFjaW5nIGZvciB0aGUgZm9udFxyXG5AbWl4aW4gZm9udC13aWRlKFxyXG4gICRsZXR0ZXItc3BhY2luZzogJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nXHJcbikge1xyXG4gIGxldHRlci1zcGFjaW5nOiAkbGV0dGVyLXNwYWNpbmc7XHJcbn1cclxuXHJcbi8vLyBGb250IFdlaWdodCBOb3JtYWwsIGRlZmF1bHQgdmFsdWUgY29taW5nIHRocm91Z2ggYGdsb2JhbC13ZWlnaHQtbm9ybWFsYFxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWyRwcm90b3R5cGUtZm9udC1ub3JtYWxdIFdlaWdodCBvZiB0aGUgZm9udCAobm9ybWFsKVxyXG5AbWl4aW4gZm9udC1ub3JtYWwoXHJcbiAgJHdlaWdodDogJHByb3RvdHlwZS1mb250LW5vcm1hbFxyXG4pIHtcclxuICBmb250LXdlaWdodDogJHdlaWdodDtcclxufVxyXG5cclxuLy8vIEZvbnQgV2VpZ2h0IEJvbGQsIGRlZmF1bHQgdmFsdWUgY29taW5nIHRocm91Z2ggYGdsb2JhbC13ZWlnaHQtYm9sZGBcclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFskcHJvdG90eXBlLWZvbnQtYm9sZF0gV2VpZ2h0IG9mIHRoZSBmb250IChib2xkKVxyXG5AbWl4aW4gZm9udC1ib2xkKFxyXG4gICR3ZWlnaHQ6ICRwcm90b3R5cGUtZm9udC1ib2xkXHJcbikge1xyXG4gIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xyXG59XHJcblxyXG4vLy8gRm9udCBTdHlsZSBJdGFsaWNcclxuQG1peGluIGZvbnQtaXRhbGljIHtcclxuICBmb250LXN0eWxlOiBpdGFsaWMgIWltcG9ydGFudDtcclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWZvbnQtc3R5bGluZyB7XHJcbiAgLmZvbnQtd2lkZXtcclxuICAgIEBpbmNsdWRlIGZvbnQtd2lkZTtcclxuICB9XHJcblxyXG4gIC5mb250LW5vcm1hbCB7XHJcbiAgICBAaW5jbHVkZSBmb250LW5vcm1hbDtcclxuICB9XHJcblxyXG4gIC5mb250LWJvbGQge1xyXG4gICAgQGluY2x1ZGUgZm9udC1ib2xkO1xyXG4gIH1cclxuXHJcbiAgLmZvbnQtaXRhbGljIHtcclxuICAgIEBpbmNsdWRlIGZvbnQtaXRhbGljO1xyXG4gIH1cclxuXHJcbiAgQGlmICgkcHJvdG90eXBlLWZvbnQtYnJlYWtwb2ludHMpIHtcclxuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXHJcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xyXG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XHJcbiAgICAgICAgICAuI3skc2l6ZX0tZm9udC13aWRle1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXdpZGU7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLiN7JHNpemV9LWZvbnQtbm9ybWFsIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1ub3JtYWw7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLiN7JHNpemV9LWZvbnQtYm9sZCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtYm9sZDtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAuI3skc2l6ZX0tZm9udC1pdGFsaWMge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWl0YWxpYztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1saXN0LXN0eWxlLXR5cGVcclxuLy8vL1xyXG5cclxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIGxpc3Qgc3R5bGluZyB0eXBlc1xyXG4vLy8gQHR5cGUgQm9vbGVhblxyXG4kcHJvdG90eXBlLWxpc3QtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xyXG5cclxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYHN0eWxlLXR5cGUtdW5vcmRlcmVkYCBjbGFzc2VzXHJcbi8vLyBAdHlwZSBNYXBcclxuJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZDogKFxyXG4gIGRpc2MsXHJcbiAgY2lyY2xlLFxyXG4gIHNxdWFyZVxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYHN0eWxlLXR5cGUtb3JkZXJlZGAgY2xhc3Nlc1xyXG4vLy8gQHR5cGUgTWFwXHJcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkOiAoXHJcbiAgZGVjaW1hbCxcclxuICBsb3dlci1hbHBoYSxcclxuICBsb3dlci1sYXRpbixcclxuICBsb3dlci1yb21hbixcclxuICB1cHBlci1hbHBoYSxcclxuICB1cHBlci1sYXRpbixcclxuICB1cHBlci1yb21hblxyXG4pICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vLyBTdHlsZSB0eXBlIGZvciB1bm9yZGVyZWQgTGlzdHMsIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWRgXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN0eWxlLXR5cGUtdW5vcmRlcmVkIFtdIFN0eWxlIHR5cGUgZm9yIHVub3JkZXJlZCBMaXN0c1xyXG5AbWl4aW4gc3R5bGUtdHlwZS11bm9yZGVyZWQoJHN0eWxlLXR5cGUtdW5vcmRlcmVkKSB7XHJcbiAgbGlzdC1zdHlsZS10eXBlOiAkc3R5bGUtdHlwZS11bm9yZGVyZWQgIWltcG9ydGFudDtcclxufVxyXG5cclxuLy8vIFN0eWxlIHR5cGUgZm9yIG9yZGVyZWQgTGlzdHMsIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkYFxyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzdHlsZS10eXBlLW9yZGVyZWQgW10gU3R5bGUgdHlwZSBmb3Igb3JkZXJlZCBMaXN0c1xyXG5AbWl4aW4gc3R5bGUtdHlwZS1vcmRlcmVkKCRzdHlsZS10eXBlLW9yZGVyZWQpIHtcclxuICBsaXN0LXN0eWxlLXR5cGU6ICRzdHlsZS10eXBlLW9yZGVyZWQgIWltcG9ydGFudDtcclxufVxyXG5cclxuQG1peGluIGxpc3QtdW5vcmRlcmVkIHtcclxuICBAZWFjaCAkc3R5bGUtdHlwZS11bm9yZGVyZWQgaW4gJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZCB7XHJcbiAgICB1bC5saXN0LSN7JHN0eWxlLXR5cGUtdW5vcmRlcmVkfSB7XHJcbiAgICAgIEBpbmNsdWRlIHN0eWxlLXR5cGUtdW5vcmRlcmVkKCRzdHlsZS10eXBlLXVub3JkZXJlZCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgKCRwcm90b3R5cGUtbGlzdC1icmVha3BvaW50cykge1xyXG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcclxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XHJcbiAgICAgICAgQGVhY2ggJHN0eWxlLXR5cGUtdW5vcmRlcmVkIGluICRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWQge1xyXG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcclxuICAgICAgICAgICAgdWwuI3skc2l6ZX0tbGlzdC0jeyRzdHlsZS10eXBlLXVub3JkZXJlZH0ge1xyXG4gICAgICAgICAgICAgIEBpbmNsdWRlIHN0eWxlLXR5cGUtdW5vcmRlcmVkKCRzdHlsZS10eXBlLXVub3JkZXJlZCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBsaXN0LW9yZGVyZWQge1xyXG4gIEBlYWNoICRzdHlsZS10eXBlLW9yZGVyZWQgaW4gJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWQge1xyXG4gICAgb2wubGlzdC0jeyRzdHlsZS10eXBlLW9yZGVyZWR9IHtcclxuICAgICAgQGluY2x1ZGUgc3R5bGUtdHlwZS1vcmRlcmVkKCRzdHlsZS10eXBlLW9yZGVyZWQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGlmICgkcHJvdG90eXBlLWxpc3QtYnJlYWtwb2ludHMpIHtcclxuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXHJcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xyXG4gICAgICAgIEBlYWNoICRzdHlsZS10eXBlLW9yZGVyZWQgaW4gJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWQge1xyXG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcclxuICAgICAgICAgICAgb2wuI3skc2l6ZX0tbGlzdC0jeyRzdHlsZS10eXBlLW9yZGVyZWR9IHtcclxuICAgICAgICAgICAgICBAaW5jbHVkZSBzdHlsZS10eXBlLW9yZGVyZWQoJHN0eWxlLXR5cGUtb3JkZXJlZCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1saXN0LXN0eWxlLXR5cGUge1xyXG4gIEBpbmNsdWRlIGxpc3QtdW5vcmRlcmVkO1xyXG4gIEBpbmNsdWRlIGxpc3Qtb3JkZXJlZDtcclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXJvdW5kZWRcclxuLy8vL1xyXG5cclxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHJvdW5kZWQgdXRpbGl0eS5cclxuLy8vIEB0eXBlIEJvb2xlYW5cclxuJHByb3RvdHlwZS1yb3VuZGVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBgcHJvdG90eXBlLWJvcmRlci1yYWRpdXNgXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBSb3VuZGVkIHV0aWxpdHkgKGFsbCBjb3JuZXJzKTogQWRkcyByYWRpdXMgY29ybmVycyAoYWxsIGNvcm5lcnMpIHRvIGFuIGVsZW1lbnQgYnkgZGVmYXVsdC5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcmFkaXVzIFskcHJvdG90eXBlLWJvcmRlci1yYWRpdXNdIEJvcmRlciByYWRpdXMgKGFsbCBjb3JuZXJzKVxyXG5AbWl4aW4gYm9yZGVyLXJhZGl1cyhcclxuICAkcmFkaXVzOiAkcHJvdG90eXBlLWJvcmRlci1yYWRpdXNcclxuKSB7XHJcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcclxufVxyXG5cclxuLy8vIFJvdW5kZWQgc3F1YXJlIHV0aWxpdHkgb3IgcmVjdGFuZ2xlIHV0aWxpdHkgKGFsbCBjb3JuZXJzKTogUm91bmRzIGFsbCBjb3JuZXJzIHRvIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCB0byBtYWtlIGEgcGlsbCBzaGFwZS5cclxuQG1peGluIGJvcmRlci1yb3VuZGVkIHtcclxuICBib3JkZXItcmFkaXVzOiA1MDAwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXJvdW5kZWQge1xyXG4gIC5yb3VuZGVkIHtcclxuICAgIEBpbmNsdWRlIGJvcmRlci1yb3VuZGVkO1xyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsgLy8gRm9yIHN3aXRjaGVzXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAucmFkaXVzIHtcclxuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXM7XHJcbiAgfVxyXG5cclxuICBAaWYgKCRwcm90b3R5cGUtcm91bmRlZC1icmVha3BvaW50cykge1xyXG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcclxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XHJcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcclxuICAgICAgICAgIC4jeyRzaXplfS1yb3VuZGVkIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJvdW5kZWQ7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAuI3skc2l6ZX0tcmFkaXVzIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1ib3JkZXJlZFxyXG4vLy8vXHJcblxyXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgYm9yZGVyZWQgdXRpbGl0eS5cclxuLy8vIEB0eXBlIEJvb2xlYW5cclxuJHByb3RvdHlwZS1ib3JkZXJlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgYHByb3RvdHlwZS1ib3JkZXItd2lkdGhgXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHByb3RvdHlwZS1ib3JkZXItd2lkdGg6IHJlbS1jYWxjKDEpICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIGBwcm90b3R5cGUtYm9yZGVyLXR5cGVgXHJcbi8vLyBAdHlwZSBTdHJpbmdcclxuJHByb3RvdHlwZS1ib3JkZXItdHlwZTogc29saWQgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgYHByb3RvdHlwZS1ib3JkZXItY29sb3JgIGRlZmF1bHRlZCB0byBgbWVkaXVtLWdyYXlgXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kcHJvdG90eXBlLWJvcmRlci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xyXG5cclxuLy8vIEJvcmRlcmVkIFV0aWxpdHk6IEFkZHMgYSBsaWdodCBib3JkZXIgdG8gYW4gZWxlbWVudCBieSBkZWZhdWx0LlxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJHByb3RvdHlwZS1ib3JkZXItd2lkdGhdIFdpZHRoIG9mIHRoZSBib3JkZXJcclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdHlwZSBbJHByb3RvdHlwZS1ib3JkZXItdHlwZV0gVHlwZSBvZiB0aGUgYm9yZGVyXHJcbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRwcm90b3R5cGUtYm9yZGVyLWNvbG9yXSBDb2xvciBvZiB0aGUgYm9yZGVyXHJcbkBtaXhpbiBib3JkZXJlZChcclxuICAkd2lkdGg6ICRwcm90b3R5cGUtYm9yZGVyLXdpZHRoLFxyXG4gICR0eXBlOiAkcHJvdG90eXBlLWJvcmRlci10eXBlLFxyXG4gICRjb2xvcjogJHByb3RvdHlwZS1ib3JkZXItY29sb3JcclxuKSB7XHJcbiAgYm9yZGVyOiAkd2lkdGggJHR5cGUgJGNvbG9yO1xyXG59XHJcblxyXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtYm9yZGVyZWQge1xyXG4gIC5ib3JkZXJlZCB7XHJcbiAgICBAaW5jbHVkZSBib3JkZXJlZDtcclxuICB9XHJcblxyXG4gIEBpZiAoJHByb3RvdHlwZS1ib3JkZXJlZC1icmVha3BvaW50cykge1xyXG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcclxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XHJcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcclxuICAgICAgICAgIC4jeyRzaXplfS1ib3JkZXJlZCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlcmVkO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXNoYWRvd1xyXG4vLy8vXHJcblxyXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3Igc2hhZG93IHV0aWxpdHkuXHJcbi8vLyBAdHlwZSBCb29sZWFuXHJcbiRwcm90b3R5cGUtc2hhZG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBgcHJvdG90eXBlLWJveC1zaGFkb3dgXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHByb3RvdHlwZS1ib3gtc2hhZG93OiAwIDJweCA1cHggMCByZ2JhKDAsMCwwLC4xNiksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgMCAycHggMTBweCAwIHJnYmEoMCwwLDAsLjEyKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBTaGFkb3cgVXRpbGl0eTogQWRkcyBhIGxpZ2h0IGJveCBzaGFkb3cgdG8gYW4gZWxlbWVudCBieSBkZWZhdWx0LlxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaGFkb3cgWyRwcm90b3R5cGUtYm94LXNoYWRvd10gQm94IFNoYWRvdyBvZiBhIGNvbXBvbmVudFxyXG5AbWl4aW4gc2hhZG93KFxyXG4gICRzaGFkb3c6ICRwcm90b3R5cGUtYm94LXNoYWRvd1xyXG4pIHtcclxuICBib3gtc2hhZG93OiAkc2hhZG93O1xyXG59XHJcblxyXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtc2hhZG93IHtcclxuICAuc2hhZG93IHtcclxuICAgIEBpbmNsdWRlIHNoYWRvdztcclxuICB9XHJcblxyXG4gIEBpZiAoJHByb3RvdHlwZS1zaGFkb3ctYnJlYWtwb2ludHMpIHtcclxuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXHJcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xyXG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XHJcbiAgICAgICAgICAuI3skc2l6ZX0tc2hhZG93IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgc2hhZG93O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgcHJvdG90eXBlLWFycm93XHJcbi8vLy9cclxuXHJcbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGBhcnJvd2AgZGlyZWN0aW9uXHJcbi8vLyBAdHlwZSBNYXBcclxuJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25zOiAoXHJcbiAgZG93bixcclxuICB1cCxcclxuICByaWdodCxcclxuICBsZWZ0XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLy8gV2lkdGggb2YgdGhlIEFycm93LCBgMC40Mzc1cmVtYCBieSBkZWZhdWx0LlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRwcm90b3R5cGUtYXJyb3ctc2l6ZTogMC40Mzc1cmVtO1xyXG5cclxuLy8vIENvbG9yIG9mIHRoZSBBcnJvdywgYCRibGFja2AgYnkgZGVmYXVsdC5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRwcm90b3R5cGUtYXJyb3ctY29sb3I6ICRibGFjaztcclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1hcnJvdyB7XHJcbiAgQGVhY2ggJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb24gaW4gJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25zIHtcclxuICAgIC5hcnJvdy0jeyRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9ufSB7XHJcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZShcclxuICAgICAgICAkcHJvdG90eXBlLWFycm93LXNpemUsIFxyXG4gICAgICAgICRwcm90b3R5cGUtYXJyb3ctY29sb3IsIFxyXG4gICAgICAgICRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9uXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBwcm90b3R5cGUtc2VwYXJhdG9yXHJcbi8vLy9cclxuXHJcbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBzZXBhcmF0b3IuXHJcbi8vLyBAdHlwZSBCb29sZWFuXHJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGFsaWdubWVudCBvZiBhIHNlcGFyYXRvci5cclxuLy8vIEB0eXBlIFN0cmluZ1xyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1hbGlnbjogY2VudGVyICFkZWZhdWx0O1xyXG5cclxuLy8vIEhlaWdodCBvZiBhIHNlcGFyYXRvci5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1oZWlnaHQ6IHJlbS1jYWxjKDIpICFkZWZhdWx0O1xyXG5cclxuLy8vIFdpZHRoIG9mIGEgc2VwYXJhdG9yLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLXdpZHRoOiAzcmVtICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgY29sb3Igb2YgYSBzZXBhcmF0b3IuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcclxuXHJcbi8vLyBUb3AgTWFyZ2luIG9mIGEgc2VwYXJhdG9yLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xyXG5cclxuLy8vIFRpdGxlIHNlcGFyYXRvciBVdGlsaXR5LCBtb3N0bHkgdXNlZCB0byBzdHlsZSB0aGUgbWFpbiBoZWFkaW5nIG9mIGEgc2VjdGlvblxyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRhbGlnbiBbJHByb3RvdHlwZS1zZXBhcmF0b3ItYWxpZ25dIC0gc2VwYXJhdG9yIEFsaWdubWVudFxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWyRwcm90b3R5cGUtc2VwYXJhdG9yLWhlaWdodF0gLSBXaWR0aFxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJHByb3RvdHlwZS1zZXBhcmF0b3Itd2lkdGhdIC0gSGVpZ2h0XHJcbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJHByb3RvdHlwZS1zZXBhcmF0b3ItYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvcCBbJHByb3RvdHlwZS1zZXBhcmF0b3ItbWFyZ2luLXRvcF0gLSBNYXJnaW4gVG9wXHJcbkBtaXhpbiBzZXBhcmF0b3IgKFxyXG4gICRhbGlnbjogJHByb3RvdHlwZS1zZXBhcmF0b3ItYWxpZ24sXHJcbiAgJGhlaWdodDogJHByb3RvdHlwZS1zZXBhcmF0b3ItaGVpZ2h0LFxyXG4gICR3aWR0aDogJHByb3RvdHlwZS1zZXBhcmF0b3Itd2lkdGgsXHJcbiAgJGJhY2tncm91bmQ6ICRwcm90b3R5cGUtc2VwYXJhdG9yLWJhY2tncm91bmQsXHJcbiAgJHRvcDogJHByb3RvdHlwZS1zZXBhcmF0b3ItbWFyZ2luLXRvcFxyXG4pIHtcclxuICB0ZXh0LWFsaWduOiAkYWxpZ24gIWltcG9ydGFudDtcclxuXHRAaW5jbHVkZSBjbGVhcmZpeDtcclxuXHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgQGluY2x1ZGUgcG9zaXRpb24ocmVsYXRpdmUpO1xyXG4gICAgd2lkdGg6ICR3aWR0aDtcclxuICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGJhY2tncm91bmQ7XHJcbiAgICBtYXJnaW46ICR0b3AgYXV0byAwO1xyXG5cclxuICAgIEBpZiAkYWxpZ24gPT0gbGVmdCB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICRhbGlnbiA9PSByaWdodCB7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXNlcGFyYXRvciB7XHJcblx0LnNlcGFyYXRvci1jZW50ZXIge1xyXG5cdFx0QGluY2x1ZGUgc2VwYXJhdG9yKGNlbnRlcik7XHJcblx0fVxyXG5cclxuICAuc2VwYXJhdG9yLWxlZnQge1xyXG4gICAgQGluY2x1ZGUgc2VwYXJhdG9yKGxlZnQpO1xyXG4gIH1cclxuXHJcbiAgLnNlcGFyYXRvci1yaWdodCB7XHJcbiAgICBAaW5jbHVkZSBzZXBhcmF0b3IocmlnaHQpO1xyXG4gIH1cclxuXHJcblx0QGlmICgkcHJvdG90eXBlLXNlcGFyYXRvci1icmVha3BvaW50cykge1xyXG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcclxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XHJcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcclxuICAgICAgICAgIC4jeyRzaXplfS1zZXBhcmF0b3ItY2VudGVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgc2VwYXJhdG9yKGNlbnRlcik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAuI3skc2l6ZX0tc2VwYXJhdG9yLWxlZnQge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBzZXBhcmF0b3IobGVmdCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAuI3skc2l6ZX0tc2VwYXJhdG9yLXJpZ2h0IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgc2VwYXJhdG9yKHJpZ2h0KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1wb3NpdGlvblxyXG4vLy8vXHJcblxyXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgcG9zaXRpb24gaGVscGVyc1xyXG4vLy8gQHR5cGUgQm9vbGVhblxyXG4kcHJvdG90eXBlLXBvc2l0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcclxuXHJcbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGBwb3NpdGlvbmAgY2xhc3Nlc1xyXG4vLy8gQHR5cGUgTWFwXHJcbiRwcm90b3R5cGUtcG9zaXRpb246IChcclxuICBzdGF0aWMsXHJcbiAgcmVsYXRpdmUsXHJcbiAgYWJzb2x1dGUsXHJcbiAgZml4ZWRcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vLyB6LWluZGV4IGZvciBmaXhlZCBwb3NpdGlvbmluZ1xyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleDogOTc1ICFkZWZhdWx0O1xyXG5cclxuLy8vIFBvc2l0aW9uIGNsYXNzZXMsIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtcG9zaXRpb25gLCB3aGVyZWFzIGFsbCB0aGUgb2Zmc2V0IHZhbHVlcyBhcmUgbXVsdGlwbGllZCBieSBgJGdsb2JhbC1wb3NpdGlvbmAgd2hpY2ggYnkgZGVmYXVsdCBpcyBlcXVhbCB0byBgMXJlbWAuXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHBvc2l0aW9uIFtdIFBvc2l0aW9uIGNsYXNzZXMsIEVpdGhlciBgc3RhdGljYCwgYHJlbGF0aXZlYCwgYGFic29sdXRlYCBvciBgZml4ZWRgXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvcCBbbnVsbF0gLSBUb3Agb2Zmc2V0XHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHJpZ2h0IFtudWxsXSAtIFJpZ2h0IG9mZnNldFxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRib3R0b20gW251bGxdIC0gQm90dG9tIG9mZnNldFxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsZWZ0IFtudWxsXSAtIExlZnQgb2Zmc2V0XHJcbkBtaXhpbiBwb3NpdGlvbihcclxuICAkcG9zaXRpb24sXHJcbiAgJHRvcDogbnVsbCxcclxuICAkcmlnaHQ6IG51bGwsXHJcbiAgJGJvdHRvbTogbnVsbCxcclxuICAkbGVmdDogbnVsbFxyXG4pIHtcclxuICBwb3NpdGlvbjogJHBvc2l0aW9uICFpbXBvcnRhbnQ7XHJcbiAgQGlmICR0b3AgIT0gbnVsbCB7XHJcbiAgICB0b3A6ICR0b3AgKiAkZ2xvYmFsLXBvc2l0aW9uICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIEBpZiAkcmlnaHQgIT0gbnVsbCB7XHJcbiAgICByaWdodDogJHJpZ2h0ICogJGdsb2JhbC1wb3NpdGlvbiAhaW1wb3J0YW50O1xyXG4gIH1cclxuICBAaWYgJGJvdHRvbSAhPSBudWxsIHtcclxuICAgIGJvdHRvbTogJGJvdHRvbSAqICRnbG9iYWwtcG9zaXRpb24gIWltcG9ydGFudDtcclxuICB9XHJcbiAgQGlmICRsZWZ0ICE9IG51bGwge1xyXG4gICAgbGVmdDogJGxlZnQgKiAkZ2xvYmFsLXBvc2l0aW9uICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gUG9zaXRpb24gRml4ZWQgb24gdG9wIGNvcm5lcnNcclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkei1pbmRleCBbJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4XSB6LWluZGV4IGZvciBgcG9zaXRpb24tZml4ZWQtdG9wYFxyXG5AbWl4aW4gcG9zaXRpb24tZml4ZWQtdG9wKFxyXG4gICR6LWluZGV4OiAkcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXhcclxuKSB7XHJcbiAgQGluY2x1ZGUgcG9zaXRpb24oZml4ZWQsIDAsIDAsIG51bGwsIDApO1xyXG4gIHotaW5kZXg6ICR6LWluZGV4O1xyXG59XHJcblxyXG4vLy8gUG9zaXRpb24gRml4ZWQgb24gYm90dG9tIGNvcm5lcnNcclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkei1pbmRleCBbJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4XSB6LWluZGV4IGZvciBgcG9zaXRpb24tZml4ZWQtYm90dG9tYFxyXG5AbWl4aW4gcG9zaXRpb24tZml4ZWQtYm90dG9tKFxyXG4gICR6LWluZGV4OiAkcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXhcclxuKSB7XHJcbiAgQGluY2x1ZGUgcG9zaXRpb24oZml4ZWQsIG51bGwsIDAsIDAsIDApO1xyXG4gIHotaW5kZXg6ICR6LWluZGV4O1xyXG59XHJcblxyXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtcG9zaXRpb24ge1xyXG4gIC8vIFBvc2l0aW9uOiBTdGF0aWMsIFJlbGF0aXZlLCBGaXhlZCwgQWJzb2x1dGVcclxuICBAZWFjaCAkcG9zaXRpb24gaW4gJHByb3RvdHlwZS1wb3NpdGlvbiB7XHJcbiAgICAucG9zaXRpb24tI3skcG9zaXRpb259IHtcclxuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oJHBvc2l0aW9uKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFBvc2l0aW9uOiBGaXhlZCBUb3AsIEZpeGVkIEJvdHRvbVxyXG4gIC5wb3NpdGlvbi1maXhlZC10b3Age1xyXG4gICAgQGluY2x1ZGUgcG9zaXRpb24tZml4ZWQtdG9wO1xyXG4gIH1cclxuICAucG9zaXRpb24tZml4ZWQtYm90dG9tIHtcclxuICAgIEBpbmNsdWRlIHBvc2l0aW9uLWZpeGVkLWJvdHRvbTtcclxuICB9XHJcblxyXG4gIEBpZiAoJHByb3RvdHlwZS1wb3NpdGlvbi1icmVha3BvaW50cykge1xyXG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcclxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XHJcbiAgICAgICAgLy8gUG9zaXRpb246IFN0YXRpYywgUmVsYXRpdmUsIEZpeGVkLCBBYnNvbHV0ZVxyXG4gICAgICAgIEBlYWNoICRwb3NpdGlvbiBpbiAkcHJvdG90eXBlLXBvc2l0aW9uIHtcclxuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XHJcbiAgICAgICAgICAgIC4jeyRzaXplfS1wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xyXG4gICAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKCRwb3NpdGlvbik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIFBvc2l0aW9uOiBGaXhlZCBUb3AsIEZpeGVkIEJvdHRvbVxyXG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XHJcbiAgICAgICAgICAuI3skc2l6ZX0tcG9zaXRpb24tZml4ZWQtdG9wIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24tZml4ZWQtdG9wO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC4jeyRzaXplfS1wb3NpdGlvbi1maXhlZC1ib3R0b20ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbi1maXhlZC1ib3R0b207XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBwcm90b3R5cGUtb3ZlcmZsb3dcclxuLy8vL1xyXG5cclxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIG92ZXJmbG93IGhlbHBlciBjbGFzc2VzXHJcbi8vLyBAdHlwZSBCb29sZWFuXHJcbiRwcm90b3R5cGUtb3ZlcmZsb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xyXG5cclxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYG92ZXJmbG93YCBjbGFzc2VzXHJcbi8vLyBAdHlwZSBNYXBcclxuJHByb3RvdHlwZS1vdmVyZmxvdzogKFxyXG4gIHZpc2libGUsXHJcbiAgaGlkZGVuLFxyXG4gIHNjcm9sbFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8vIE92ZXJmbG93IGNsYXNzZXMsIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtb3ZlcmZsb3dgXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG92ZXJmbG93IFtdIE92ZXJmbG93IGNsYXNzZXNcclxuQG1peGluIG92ZXJmbG93KCRvdmVyZmxvdykge1xyXG4gIG92ZXJmbG93OiAkb3ZlcmZsb3cgIWltcG9ydGFudDtcclxufVxyXG5cclxuLy8vIE92ZXJmbG93IGNsYXNzZXMgb24gaG9yaXpvbnRhbCBheGlzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLW92ZXJmbG93YFxyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvdmVyZmxvdyBbXSBPdmVyZmxvdyBjbGFzc2VzIChob3Jpem9udGFsIGF4aXMpXHJcbkBtaXhpbiBvdmVyZmxvdy14KCRvdmVyZmxvdykge1xyXG4gIG92ZXJmbG93LXg6ICRvdmVyZmxvdyAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vLy8gT3ZlcmZsb3cgY2xhc3NlcyBvbiB2ZXJ0aWNhbCBheGlzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLW92ZXJmbG93YFxyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvdmVyZmxvdyBbXSBPdmVyZmxvdyBjbGFzc2VzICh2ZXJ0aWNhbCBheGlzKVxyXG5AbWl4aW4gb3ZlcmZsb3cteSgkb3ZlcmZsb3cpIHtcclxuICBvdmVyZmxvdy15OiAkb3ZlcmZsb3cgIWltcG9ydGFudDtcclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLW92ZXJmbG93IHtcclxuICBAZWFjaCAkb3ZlcmZsb3cgaW4gJHByb3RvdHlwZS1vdmVyZmxvdyB7XHJcbiAgICAub3ZlcmZsb3ctI3skb3ZlcmZsb3d9IHtcclxuICAgICAgQGluY2x1ZGUgb3ZlcmZsb3coJG92ZXJmbG93KTtcclxuICAgIH1cclxuICAgIC5vdmVyZmxvdy14LSN7JG92ZXJmbG93fSB7XHJcbiAgICAgIEBpbmNsdWRlIG92ZXJmbG93LXgoJG92ZXJmbG93KTtcclxuICAgIH1cclxuICAgIC5vdmVyZmxvdy15LSN7JG92ZXJmbG93fSB7XHJcbiAgICAgIEBpbmNsdWRlIG92ZXJmbG93LXkoJG92ZXJmbG93KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpZiAoJHByb3RvdHlwZS1vdmVyZmxvdy1icmVha3BvaW50cykge1xyXG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcclxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XHJcbiAgICAgICAgQGVhY2ggJG92ZXJmbG93IGluICRwcm90b3R5cGUtb3ZlcmZsb3cge1xyXG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcclxuICAgICAgICAgICAgLiN7JHNpemV9LW92ZXJmbG93LSN7JG92ZXJmbG93fSB7XHJcbiAgICAgICAgICAgICAgQGluY2x1ZGUgb3ZlcmZsb3coJG92ZXJmbG93KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuI3skc2l6ZX0tb3ZlcmZsb3cteC0jeyRvdmVyZmxvd30ge1xyXG4gICAgICAgICAgICAgIEBpbmNsdWRlIG92ZXJmbG93LXgoJG92ZXJmbG93KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuI3skc2l6ZX0tb3ZlcmZsb3cteS0jeyRvdmVyZmxvd30ge1xyXG4gICAgICAgICAgICAgIEBpbmNsdWRlIG92ZXJmbG93LXkoJG92ZXJmbG93KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgcHJvdG90eXBlLWRpc3BsYXlcclxuLy8vL1xyXG5cclxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIGRpc3BsYXkgY2xhc3Nlc1xyXG4vLy8gQHR5cGUgQm9vbGVhblxyXG4kcHJvdG90eXBlLWRpc3BsYXktYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xyXG5cclxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYGRpc3BsYXlgIGNsYXNzZXNcclxuLy8vIEB0eXBlIE1hcFxyXG4kcHJvdG90eXBlLWRpc3BsYXk6IChcclxuICBpbmxpbmUsXHJcbiAgaW5saW5lLWJsb2NrLFxyXG4gIGJsb2NrLFxyXG4gIHRhYmxlLFxyXG4gIHRhYmxlLWNlbGxcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEaXNwbGF5IGNsYXNzZXMsIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtZGlzcGxheWBcclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlzcGxheSBbXSBEaXNwbGF5IGNsYXNzZXNcclxuQG1peGluIGRpc3BsYXkoJGRpc3BsYXkpIHtcclxuICBkaXNwbGF5OiAkZGlzcGxheSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtZGlzcGxheSB7XHJcbiAgQGVhY2ggJGRpc3BsYXkgaW4gJHByb3RvdHlwZS1kaXNwbGF5IHtcclxuICAgIC5kaXNwbGF5LSN7JGRpc3BsYXl9IHtcclxuICAgICAgQGluY2x1ZGUgZGlzcGxheSgkZGlzcGxheSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgKCRwcm90b3R5cGUtZGlzcGxheS1icmVha3BvaW50cykge1xyXG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcclxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XHJcbiAgICAgICAgQGVhY2ggJGRpc3BsYXkgaW4gJHByb3RvdHlwZS1kaXNwbGF5IHtcclxuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XHJcbiAgICAgICAgICAgIC4jeyRzaXplfS1kaXNwbGF5LSN7JGRpc3BsYXl9IHtcclxuICAgICAgICAgICAgICBAaW5jbHVkZSBkaXNwbGF5KCRkaXNwbGF5KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgcHJvdG90eXBlLWJvcmRlci1ib3hcclxuLy8vL1xyXG5cclxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIGJvcmRlciBib3guXHJcbi8vLyBAdHlwZSBCb29sZWFuXHJcbiRwcm90b3R5cGUtYm9yZGVyLWJveC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQm9yZGVyIGJveCB1dGlsaXR5XHJcbkBtaXhpbiBib3JkZXItYm94IHtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1ib3JkZXItYm94IHtcclxuICAuYm9yZGVyLWJveCB7XHJcbiAgICBAaW5jbHVkZSBib3JkZXItYm94O1xyXG4gIH1cclxuXHJcbiAgQGlmICgkcHJvdG90eXBlLWJvcmRlci1ib3gtYnJlYWtwb2ludHMpIHtcclxuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXHJcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xyXG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XHJcbiAgICAgICAgICAuI3skc2l6ZX0tYm9yZGVyLWJveCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3g7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBwcm90b3R5cGUtYm9yZGVyLW5vbmVcclxuLy8vL1xyXG5cclxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIGJvcmRlciBub25lLlxyXG4vLy8gQHR5cGUgQm9vbGVhblxyXG4kcHJvdG90eXBlLWJvcmRlci1ub25lLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcclxuXHJcbi8vLyBCb3JkZXIgbm9uZSB1dGlsaXR5XHJcbkBtaXhpbiBib3JkZXItbm9uZSB7XHJcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1ib3JkZXItbm9uZSB7XHJcbiAgLmJvcmRlci1ub25lIHtcclxuICAgIEBpbmNsdWRlIGJvcmRlci1ub25lO1xyXG4gIH1cclxuXHJcbiAgQGlmICgkcHJvdG90eXBlLWJvcmRlci1ub25lLWJyZWFrcG9pbnRzKSB7XHJcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xyXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcclxuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xyXG4gICAgICAgICAgLiN7JHNpemV9LWJvcmRlci1ub25lIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLW5vbmU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBwcm90b3R5cGUtc2l6aW5nXHJcbi8vLy9cclxuXHJcbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBzcGFjaW5nIGNsYXNzZXMgKG1hcmdpbiBhbmQgcGFkZGluZylcclxuLy8vIEB0eXBlIEJvb2xlYW5cclxuJHByb3RvdHlwZS1zaXppbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xyXG5cclxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYHNpemluZ2AgY2xhc3Nlc1xyXG4vLy8gQHR5cGUgTWFwXHJcbiRwcm90b3R5cGUtc2l6aW5nOiAoXHJcbiAgd2lkdGgsXHJcbiAgaGVpZ2h0XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBzaXplcy5cclxuLy8vIEB0eXBlIE1hcFxyXG4kcHJvdG90eXBlLXNpemVzOiAoXHJcbiAgMjU6IDI1JSxcclxuICA1MDogNTAlLFxyXG4gIDc1OiA3NSUsXHJcbiAgMTAwOiAxMDAlXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLy8gTWF4IFdpZHRoIDEwMCB1dGlsaXR5LlxyXG5AbWl4aW4gbWF4LXdpZHRoLTEwMCB7XHJcbiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8vLyBNYXggSGVpZ2h0IDEwMCB1dGlsaXR5LlxyXG5AbWl4aW4gbWF4LWhlaWdodC0xMDAge1xyXG4gIG1heC1oZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXNpemluZyB7XHJcbiAgLy8gRWxlbWVudCBTaXppbmdcclxuICBAZWFjaCAkc2l6aW5nIGluICRwcm90b3R5cGUtc2l6aW5nIHtcclxuICAgIEBlYWNoICRsZW5ndGgsICRwZXJjZW50YWdlIGluICRwcm90b3R5cGUtc2l6ZXMge1xyXG4gICAgICAuI3skc2l6aW5nfS0jeyRsZW5ndGh9IHtcclxuICAgICAgICAjeyRzaXppbmd9OiAkcGVyY2VudGFnZSAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBNYXggd2lkdGggJiBoZWlnaHRcclxuICAubWF4LXdpZHRoLTEwMCB7XHJcbiAgICBAaW5jbHVkZSBtYXgtd2lkdGgtMTAwO1xyXG4gIH1cclxuICAubWF4LWhlaWdodC0xMDAge1xyXG4gICAgQGluY2x1ZGUgbWF4LWhlaWdodC0xMDA7XHJcbiAgfVxyXG5cclxuICBAaWYgKCRwcm90b3R5cGUtc2l6aW5nLWJyZWFrcG9pbnRzKSB7XHJcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xyXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcclxuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xyXG4gICAgICAgICAgQGVhY2ggJHNpemluZyBpbiAkcHJvdG90eXBlLXNpemluZyB7XHJcbiAgICAgICAgICAgIEBlYWNoICRsZW5ndGgsICRwZXJjZW50YWdlIGluICRwcm90b3R5cGUtc2l6ZXMge1xyXG4gICAgICAgICAgICAgIC4jeyRzaXplfS0jeyRzaXppbmd9LSN7JGxlbmd0aH0ge1xyXG4gICAgICAgICAgICAgICAgI3skc2l6aW5nfTogJHBlcmNlbnRhZ2UgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1zcGFjaW5nXHJcbi8vLy9cclxuXHJcbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBzcGFjaW5nIGNsYXNzZXMgKG1hcmdpbiBhbmQgcGFkZGluZylcclxuLy8vIEB0eXBlIEJvb2xlYW5cclxuJHByb3RvdHlwZS1zcGFjaW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IG51bWJlciBvZiBzcGFjZXJzIGNvdW50IChtYXJnaW4gYW5kIHBhZGRpbmcpXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHByb3RvdHlwZS1zcGFjZXJzLWNvdW50OiAzICFkZWZhdWx0O1xyXG5cclxuLy8vIE1hcmdpbiBoZWxwZXIgbWl4aW4sIGFsbCB0aGUgdmFsdWVzIGFyZSBtdWx0aXBsaWVkIGJ5IGAkZ2xvYmFsLW1hcmdpbmAgd2hpY2ggYnkgZGVmYXVsdCBpcyBlcXVhbCB0byBgMXJlbWBcclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9wIFtudWxsXSAtIE1hcmdpbiBUb3BcclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcmlnaHQgW251bGxdIC0gTWFyZ2luIFJpZ2h0XHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJvdHRvbSBbbnVsbF0gLSBNYXJnaW4gQm90dG9tXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGxlZnQgW251bGxdIC0gTWFyZ2luIExlZnRcclxuQG1peGluIG1hcmdpbihcclxuICAkdG9wOiBudWxsLFxyXG4gICRyaWdodDogbnVsbCxcclxuICAkYm90dG9tOiBudWxsLFxyXG4gICRsZWZ0OiBudWxsXHJcbikge1xyXG4gIEBpZiAkdG9wICE9IG51bGwge1xyXG4gICAgbWFyZ2luLXRvcDogJHRvcCAqICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIEBpZiAkcmlnaHQgIT0gbnVsbCB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6ICRyaWdodCAqICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIEBpZiAkYm90dG9tICE9IG51bGwge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJGJvdHRvbSAqICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIEBpZiAkbGVmdCAhPSBudWxsIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAkbGVmdCAqICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gUGFkZGluZyBoZWxwZXIgbWl4aW4sIGFsbCB0aGUgdmFsdWVzIGFyZSBtdWx0aXBsaWVkIGJ5IGAkZ2xvYmFsLXBhZGRpbmdgIHdoaWNoIGJ5IGRlZmF1bHQgaXMgZXF1YWwgdG8gYDFyZW1gXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvcCBbbnVsbF0gLSBQYWRkaW5nIFRvcFxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyaWdodCBbbnVsbF0gLSBQYWRkaW5nIFJpZ2h0XHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJvdHRvbSBbbnVsbF0gLSBQYWRkaW5nIEJvdHRvbVxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsZWZ0IFtudWxsXSAtIFBhZGRpbmcgTGVmdFxyXG5AbWl4aW4gcGFkZGluZyhcclxuICAkdG9wOiBudWxsLFxyXG4gICRyaWdodDogbnVsbCxcclxuICAkYm90dG9tOiBudWxsLFxyXG4gICRsZWZ0OiBudWxsXHJcbikge1xyXG4gIEBpZiAkdG9wICE9IG51bGwge1xyXG4gICAgcGFkZGluZy10b3A6ICR0b3AgKiAkZ2xvYmFsLXBhZGRpbmcgIWltcG9ydGFudDtcclxuICB9XHJcbiAgQGlmICRyaWdodCAhPSBudWxsIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6ICRyaWdodCAqICRnbG9iYWwtcGFkZGluZyAhaW1wb3J0YW50O1xyXG4gIH1cclxuICBAaWYgJGJvdHRvbSAhPSBudWxsIHtcclxuICAgIHBhZGRpbmctYm90dG9tOiAkYm90dG9tICogJGdsb2JhbC1wYWRkaW5nICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIEBpZiAkbGVmdCAhPSBudWxsIHtcclxuICAgIHBhZGRpbmctbGVmdDogJGxlZnQgKiAkZ2xvYmFsLXBhZGRpbmcgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbi8vLyBNYXJnaW4gY2xhc3NlcyBmb3Igc3BlY2lmaWMgZGlyZWN0aW9uIHByb3BlcnRpZXNcclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlyIFtdIERpcmVjdGlvblxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzcGFjZXIgW10gU3BhY2VyXHJcbkBtaXhpbiBtYXJnaW4tZGlyZWN0aW9uKCRkaXIsICRzcGFjZXIpIHtcclxuICBAaWYgKCRkaXIgPT0gdG9wKSB7IFxyXG4gICAgQGluY2x1ZGUgbWFyZ2luKCR0b3A6ICRzcGFjZXIpOyBcclxuICB9XHJcbiAgQGVsc2UgaWYgKCRkaXIgPT0gcmlnaHQpIHsgXHJcbiAgICBAaW5jbHVkZSBtYXJnaW4oJHJpZ2h0OiAkc3BhY2VyKTsgXHJcbiAgfVxyXG4gIEBlbHNlIGlmICgkZGlyID09IGJvdHRvbSkgeyBcclxuICAgIEBpbmNsdWRlIG1hcmdpbigkYm90dG9tOiAkc3BhY2VyKTsgXHJcbiAgfVxyXG4gIEBlbHNlIGlmICgkZGlyID09IGxlZnQpIHsgXHJcbiAgICBAaW5jbHVkZSBtYXJnaW4oJGxlZnQ6ICRzcGFjZXIpOyBcclxuICB9XHJcbiAgQGVsc2UgaWYgKCRkaXIgPT0gaG9yaXpvbnRhbCkgeyBcclxuICAgIEBpbmNsdWRlIG1hcmdpbigkcmlnaHQ6ICRzcGFjZXIsICRsZWZ0OiAkc3BhY2VyKTsgXHJcbiAgfVxyXG4gIEBlbHNlIGlmICgkZGlyID09IHZlcnRpY2FsKSB7IFxyXG4gICAgQGluY2x1ZGUgbWFyZ2luKCR0b3A6ICRzcGFjZXIsICRib3R0b206ICRzcGFjZXIpOyBcclxuICB9XHJcbn1cclxuXHJcbi8vLyBQYWRkaW5nIGNsYXNzZXMgZm9yIHNwZWNpZmljIGRpcmVjdGlvbiBwcm9wZXJ0aWVzXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpciBbXSBEaXJlY3Rpb25cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2VyIFtdIFNwYWNlclxyXG5AbWl4aW4gcGFkZGluZy1kaXJlY3Rpb24oJGRpciwgJHNwYWNlcikge1xyXG4gIEBpZiAoJGRpciA9PSB0b3ApIHsgXHJcbiAgICBAaW5jbHVkZSBwYWRkaW5nKCR0b3A6ICRzcGFjZXIpOyBcclxuICB9XHJcbiAgQGVsc2UgaWYgKCRkaXIgPT0gcmlnaHQpIHsgXHJcbiAgICBAaW5jbHVkZSBwYWRkaW5nKCRyaWdodDogJHNwYWNlcik7IFxyXG4gIH1cclxuICBAZWxzZSBpZiAoJGRpciA9PSBib3R0b20pIHsgXHJcbiAgICBAaW5jbHVkZSBwYWRkaW5nKCRib3R0b206ICRzcGFjZXIpOyBcclxuICB9XHJcbiAgQGVsc2UgaWYgKCRkaXIgPT0gbGVmdCkgeyBcclxuICAgIEBpbmNsdWRlIHBhZGRpbmcoJGxlZnQ6ICRzcGFjZXIpOyBcclxuICB9XHJcbiAgQGVsc2UgaWYgKCRkaXIgPT0gaG9yaXpvbnRhbCkgeyBcclxuICAgIEBpbmNsdWRlIHBhZGRpbmcoJHJpZ2h0OiAkc3BhY2VyLCAkbGVmdDogJHNwYWNlcik7IFxyXG4gIH1cclxuICBAZWxzZSBpZiAoJGRpciA9PSB2ZXJ0aWNhbCkgeyBcclxuICAgIEBpbmNsdWRlIHBhZGRpbmcoJHRvcDogJHNwYWNlciwgJGJvdHRvbTogJHNwYWNlcik7IFxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXNwYWNpbmcge1xyXG4gIEBmb3IgJHNwYWNlciBmcm9tIDAgdGhyb3VnaCAkcHJvdG90eXBlLXNwYWNlcnMtY291bnQge1xyXG4gICAgXHJcbiAgICBAZWFjaCAkcHJvcCBpbiAobWFyZ2luLCBwYWRkaW5nKSB7XHJcbiAgICAgIC8vIEFsbCBTaWRlc1xyXG4gICAgICAuI3skcHJvcH0tI3skc3BhY2VyfSB7XHJcbiAgICAgICAgQGlmICgkcHJvcCA9PSBtYXJnaW4pIHsgXHJcbiAgICAgICAgICBtYXJnaW46ICRzcGFjZXIgKiAkZ2xvYmFsLW1hcmdpbjsgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBlbHNlIGlmICgkcHJvcCA9PSBwYWRkaW5nKSB7IFxyXG4gICAgICAgICAgcGFkZGluZzogJHNwYWNlciAqICRnbG9iYWwtcGFkZGluZzsgXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBAZWFjaCAkZGlyIGluICh0b3AsIHJpZ2h0LCBib3R0b20sIGxlZnQsIGhvcml6b250YWwsIHZlcnRpY2FsKSB7XHJcbiAgICAgICAgLy8gVG9wIFNpZGVcclxuICAgICAgICAuI3skcHJvcH0tI3skZGlyfS0jeyRzcGFjZXJ9IHtcclxuICAgICAgICAgIEBpZiAoJHByb3AgPT0gbWFyZ2luKSB7IFxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtYXJnaW4tZGlyZWN0aW9uKCRkaXIsICRzcGFjZXIpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgQGVsc2UgaWYgKCRwcm9wID09IHBhZGRpbmcpIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcGFkZGluZy1kaXJlY3Rpb24oJGRpciwgJHNwYWNlcik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICgkcHJvdG90eXBlLXNwYWNpbmctYnJlYWtwb2ludHMpIHtcclxuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXHJcbiAgICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcclxuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XHJcbiAgICAgICAgICAgIC4jeyRzaXplfSB7XHJcbiAgICAgICAgICAgICAgQGVhY2ggJHByb3AgaW4gKG1hcmdpbiwgcGFkZGluZykge1xyXG4gICAgICAgICAgICAgICAgLy8gQWxsIFNpZGVzXHJcbiAgICAgICAgICAgICAgICAmLSN7JHByb3B9LSN7JHNwYWNlcn0ge1xyXG4gICAgICAgICAgICAgICAgICBAaWYgKCRwcm9wID09IG1hcmdpbikgeyBcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46ICRzcGFjZXIgKiAkZ2xvYmFsLW1hcmdpbjsgXHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgQGVsc2UgaWYgKCRwcm9wID09IHBhZGRpbmcpIHsgXHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJHNwYWNlciAqICRnbG9iYWwtcGFkZGluZzsgXHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBAZWFjaCAkZGlyIGluICh0b3AsIHJpZ2h0LCBib3R0b20sIGxlZnQsIGhvcml6b250YWwsIHZlcnRpY2FsKSB7XHJcbiAgICAgICAgICAgICAgICAgIC8vIFRvcCBTaWRlXHJcbiAgICAgICAgICAgICAgICAgICYtI3skcHJvcH0tI3skZGlyfS0jeyRzcGFjZXJ9IHtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRwcm9wID09IG1hcmdpbikgeyBcclxuICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1hcmdpbi1kaXJlY3Rpb24oJGRpciwgJHNwYWNlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIEBlbHNlIGlmICgkcHJvcCA9PSBwYWRkaW5nKSB7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcGFkZGluZy1kaXJlY3Rpb24oJGRpciwgJHNwYWNlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIlxyXG4qIHtcclxuICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XHJcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XHJcbn1cclxuXHJcbjpmb2N1cyB7b3V0bGluZTowICFpbXBvcnRhbnQ7fVxyXG5cclxuYm9keXtcclxuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcclxuICAgIGZvbnQtc2l6ZTogJGJvZHktZm9udC1zaXplO1xyXG4gICAgY29sb3I6ICRjb2xvci1kYXJrO1xyXG4gICAgLy8gZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbn1cclxuXHJcblxyXG5hIHtcclxuICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcclxuICAgIHRyYW5zaXRpb246IDAuM3MgZWFzZSBhbGw7XHJcblxyXG4gICAgJjpob3ZlcixcclxuICAgICY6Zm9jdXN7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1kYXJrO1xyXG4gICAgfVxyXG59XHJcblxyXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2e1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGluZy1mb250LWZhbWlseTtcclxuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbn1cclxuaDQsIGg1LCBoNntcclxuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcclxuICAgIGxpbmUtaGVpZ2h0OjEuNDtcclxufVxyXG5cclxuaDF7XHJcbiAgICBmb250LXNpemU6IDgwcHg7XHJcbiAgICBsaW5lLWhlaWdodDogMTtcclxufVxyXG5oMntcclxuICAgIGZvbnQtc2l6ZTogNjBweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG59XHJcbmgze1xyXG4gICAgZm9udC1zaXplOjM0cHg7XHJcbiAgICBsaW5lLWhlaWdodDoxLjI7XHJcbn1cclxuaDR7XHJcbiAgICBmb250LXNpemU6MzBweDtcclxufVxyXG5oNXtcclxuICAgIGZvbnQtc2l6ZToyNHB4O1xyXG59XHJcbmg2e1xyXG4gICAgZm9udC1zaXplOjIwcHg7XHJcbn1cclxuXHJcbkBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCwgMTI4MHB4KXtcclxuICAgIGgxe1xyXG4gICAgICAgIGZvbnQtc2l6ZTogNjBweDtcclxuICAgIH1cclxuICAgIGgye1xyXG4gICAgICAgIGZvbnQtc2l6ZTogNDBweDtcclxuICAgIH1cclxuICAgIGgze1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjhweDtcclxuICAgIH1cclxuICAgIGg0e1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgIH1cclxuICAgIGg1e1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgIH1cclxuICAgIGg2e1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcblxyXG5pbWd7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbn1cclxuXHJcbnB7XHJcbiAgICBsaW5lLWhlaWdodDogMS41O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDsgXHJcblxyXG4gICAgJi5sYXJnZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgfVxyXG4gICAgJi5zbWFsbCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG51bCB7XHJcbiAgICAmLmxhcmdlIHtcclxuICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICB9XHJcbiAgICAmLnNtYWxsIHtcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICB9XHJcblxyXG4gICAgJi5sZXR0ZXIge1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IGxvd2VyLWxhdGluO1xyXG4gICAgfVxyXG5cclxuICAgICYucm9tYW4ge1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IGxvd2VyLXJvbWFuOyAgICAgICAgXHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5vbCB7XHJcbiAgICAmLmxhcmdlIHtcclxuICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICB9XHJcbiAgICAmLnNtYWxsIHtcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICB9XHJcbn0iLCIvLyBNRURJQSBRVUVSWVxyXG5AbWl4aW4gbWVkaWEoJHJlcywgJHNpemUpe1xyXG4gICAgJGl0ZW1zOiAobWF4LXdpZHRoLCBtYXgtaGVpZ2h0LCBtaW4td2lkdGgsIG1pbi1oZWlnaHQpO1xyXG5cclxuICAgIEBpZiAoaW5kZXgoJGl0ZW1zLCAkcmVzKSl7XHJcbiAgICAgICAgQG1lZGlhICgjeyRyZXN9OiAkc2l6ZSkge1xyXG4gICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiB9XHJcblxyXG5cclxuLy8gQU5JTUFUSU9OXHJcbkBtaXhpbiBhbmltYXRpb24oJGFuaW1hdGUuLi4pIHtcclxuICAgICRtYXg6IGxlbmd0aCgkYW5pbWF0ZSk7XHJcbiAgICAkYW5pbWF0aW9uczogJyc7XHJcblxyXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbWF4IHtcclxuICAgICAgICAkYW5pbWF0aW9uczogI3skYW5pbWF0aW9ucyArIG50aCgkYW5pbWF0ZSwgJGkpfTtcclxuXHJcbiAgICAgICAgQGlmICRpIDwgJG1heCB7XHJcbiAgICAgICAgICAgICRhbmltYXRpb25zOiAjeyRhbmltYXRpb25zICsgXCIsIFwifTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogJGFuaW1hdGlvbnM7XHJcbiAgICAtbW96LWFuaW1hdGlvbjogICAgJGFuaW1hdGlvbnM7XHJcbiAgICAtby1hbmltYXRpb246ICAgICAgJGFuaW1hdGlvbnM7XHJcbiAgICBhbmltYXRpb246ICAgICAgICAgJGFuaW1hdGlvbnM7XHJcbn1cclxuQG1peGluIGtleWZyYW1lcygkYW5pbWF0aW9uTmFtZSkge1xyXG4gICAgQC13ZWJraXQta2V5ZnJhbWVzICN7JGFuaW1hdGlvbk5hbWV9IHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxuICAgIEAtbW96LWtleWZyYW1lcyAjeyRhbmltYXRpb25OYW1lfSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgICBALW8ta2V5ZnJhbWVzICN7JGFuaW1hdGlvbk5hbWV9IHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxuICAgIEBrZXlmcmFtZXMgI3skYW5pbWF0aW9uTmFtZX0ge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcbkBtaXhpbiBjZW50ZXJQb3N7XHJcbiAgICBsZWZ0OjUwJTtcclxuICAgIHRvcDo1MCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLC01MCUpO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLC01MCUpO1xyXG59XHJcblxyXG5AbWl4aW4gY2VudGVyTGVmdFBvc3tcclxuICAgIGxlZnQ6NTAlO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwwKTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwwKTtcclxufVxyXG5cclxuQG1peGluIHVsTWVudXtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHBhZGRpbmc6MHB4O1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxufSIsImZvcm0ge31cclxuXHJcbmlucHV0W3R5cGU9dGV4dF0sIGlucHV0W3R5cGU9bnVtYmVyXSxcclxuaW5wdXRbdHlwZT1lbWFpbF0sIGlucHV0W3R5cGU9dGVsXSxcclxuaW5wdXRbdHlwZT1wYXNzd29yZF0sIHNlbGVjdCwgdGV4dGFyZWF7XHJcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjQzRDNEM0O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xyXG4gICAgcGFkZGluZzogMTBweCAxNXB4O1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIGhlaWdodDogNTBweDtcclxufVxyXG5zZWxlY3Qge1xyXG4gICAgcGFkZGluZy1yaWdodDogMzBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG51bC5nZm9ybV9maWVsZHMgIHtcclxuICAgIG1hcmdpbjowIDAgMjBweDtcclxuICAgIFxyXG4gICAgbGkge1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcblxyXG4gICAgICAgICYuaGlkZGVuX2xhYmVsIHtcclxuICAgICAgICAgICAgPiBsYWJlbCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5oaWRkZW5fc3ViX2xhYmVsIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC5maWVsZCB7XHJcbiAgICAgICAgLmdpbnB1dF9jb250YWluZXIge1xyXG4gICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICArIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmdmaWVsZCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuXHJcbiAgICAgICAgaW5wdXQsIHRleHRhcmVhLCBzZWxlY3Qge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG4vKiBCdXR0b25zICovXHJcbmEuYnV0dG9uLCBpbnB1dC5idXR0b24sIGJ1dHRvbi5idXR0b257XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBwYWRkaW5nOiAxNnB4IDQwcHggMTFweDtcclxuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGluZy1mb250LWZhbWlseTtcclxuICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMjM4ZW07XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDI4cHg7XHJcbiAgICB0cmFuc2l0aW9uOmFsbCAwLjVzIGVhc2U7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6JGNvbG9yLXdoaXRlOyBcclxuXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1wcmltYXJ5O1xyXG4gICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2tld1goLTE4ZGVnKTtcclxuXHJcblxyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGNvbG9yOiRjb2xvci13aGl0ZTsgXHJcblxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkY29sb3Itc2Vjb25kYXJ5LCAwLjgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmludmVyc2Uge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItZGFyaztcclxuXHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmhvdmVyOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1saWdodDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgICYuZGlzYWJsZWQsICZbZGlzYWJsZV0ge1xyXG4gICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGUgIWltcG9ydGFudDtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWxpZ2h0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYm9yZGVyOjFweCBzb2xpZCAkY29sb3ItbGlnaHQgIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgKiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItbGlnaHQgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgW2NsYXNzKj1cImNpcmNsZVwiXSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1saWdodCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfSAgIFxyXG5cclxuICAgIFxyXG4gICAgJi5zbWFsbCB7ICAgXHJcbiAgICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xyXG4gICAgfVxyXG5cclxuICAgICYubGFyZ2UgeyAgIFxyXG4gICAgICAgIHBhZGRpbmc6IDE4cHggNDBweDtcclxuICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgJi5ub21pbiB7XHJcbiAgICAgICAgbWluLXdpZHRoOiAxcHg7XHJcbiAgICB9XHJcblxyXG4gICAgc21hbGwge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cclxuICAgICAgICBzIHtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWRhcms7IFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYnV0dG9ucyAmIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMjVweDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDI1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmFjdGlvbiAmIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCwgNDgwcHgpIHtcclxuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcclxuICAgIH1cclxuICAgIFxyXG59IFxyXG5cclxuXHJcbi5nZm9ybV93cmFwcGVyIGZvcm0ge1xyXG4gICAgLmdmaWVsZF92YWxpZGF0aW9uX21lc3NhZ2UsXHJcbiAgICAudmFsaWRhdGlvbl9tZXNzYWdlIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAzcHg7XHJcbiAgICAgICAgcGFkZGluZzogMnB4IDEwcHggIWltcG9ydGFudDtcclxuICAgIH1cclxufSIsIiRmb250X3dlaWdodHM6IChcclxuICAgIGZ3LWV4dHJhbGlnaHQ6IDIwMCxcclxuICAgIGZ3LWxpZ2h0OiAzMDAsXHJcbiAgICBmdy1yZWd1bGFyOiA0MDAsXHJcbiAgICBmdy1tZWRpdW06IDUwMCxcclxuICAgIGZ3LXNlbWlib2xkOiA2MDAsXHJcbiAgICBmdy1ib2xkOiA3MDAsXHJcbiAgICBmdy1leHRyYWJvbGQ6IDgwMCxcclxuICAgIGZ3LWJsYWNrOiA5MDBcclxuKTtcclxuQGVhY2ggJGlkLCAkdmFsdWUgaW4gJGZvbnRfd2VpZ2h0cyB7XHJcbiAgICAuI3skaWR9e1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkdmFsdWUgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbiR0ZXh0X2NvbG9yczogKFxyXG4gICAgdGV4dC1wcmltYXJ5OiAkY29sb3ItcHJpbWFyeSxcclxuICAgIHRleHQtc2Vjb25kYXJ5OiAkY29sb3Itc2Vjb25kYXJ5LFxyXG4gICAgdGV4dC1kYXJrOiAkY29sb3ItZGFyayxcclxuICAgIHRleHQtd2hpdGU6ICRjb2xvci13aGl0ZVxyXG4pO1xyXG5AZWFjaCAkaWQsICR2YWx1ZSBpbiAkdGV4dF9jb2xvcnMge1xyXG4gICAgLiN7JGlkfXtcclxuICAgICAgICBjb2xvcjogJHZhbHVlICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4kYmFja2dyb3VuZF9jb2xvcnM6IChcclxuICAgIGJjLXByaW1hcnk6ICRjb2xvci1wcmltYXJ5LFxyXG4gICAgYmMtc2Vjb25kYXJ5OiAkY29sb3Itc2Vjb25kYXJ5LFxyXG4gICAgYmMtZGFyazogJGNvbG9yLWRhcmtcclxuKTtcclxuQGVhY2ggJGlkLCAkdmFsdWUgaW4gJGJhY2tncm91bmRfY29sb3JzIHtcclxuICAgIC4jeyRpZH17XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHZhbHVlICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5AZm9yICRpIGZyb20gMSB0aHJvdWdoIDIwe1xyXG4gICAgLm9yZGVyLSN7JGl9e1xyXG4gICAgICAgIG9yZGVyOiAjeyRpfSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLyogTW9iaWxlIHRvIERlc2t0b3BcclxuKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbkBpbmNsdWRlIG1lZGlhKG1pbi13aWR0aCwgMTAyNHB4KXtcclxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMjB7XHJcbiAgICAgICAgLm9yZGVyLWxnLSN7JGl9e1xyXG4gICAgICAgICAgICBvcmRlcjogI3skaX0gIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKiBEZXNrdG9wIHRvIE1vYmlsZVxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuQGluY2x1ZGUgbWVkaWEobWF4LXdpZHRoLCAxNTM2cHgpe1xyXG4gICAgLnRleHQtbGFyZ2V7IGZvbnQtc2l6ZTogMjRweCB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCwgMTAyM3B4KXtcclxuICAgIC50ZXh0LWxhcmdleyBmb250LXNpemU6IDIxcHggfVxyXG59IiwiLmNpcmNsZV9saXN0IHtcclxuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICAgIG1hcmdpbjogMCAwIDI1cHggMzBweDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cclxuICAgIGxpe1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuXHJcbiAgICAgICAgJjpiZWZvcmV7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgd2lkdGg6IDE1cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTVweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXByaW1hcnk7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiA1cHg7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwcHggMXB4ICRjb2xvci1saWdodDtcclxuICAgICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgJGNvbG9yLXdoaXRlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDo3NjdweCkge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4ud2JnIHtcclxuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWcvYmctbG9nby5wbmcpIG5vLXJlcGVhdCBjZW50ZXIgLyAxMDAlIDEwMCU7XHJcbiAgICB3aWR0aDogNTY0cHg7XHJcbiAgICBtYXJnaW46MCBhdXRvIDMwcHg7XHJcbiAgICBwYWRkaW5nOjE1cHggNyUgMTBweDtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuXHJcbiAgICBpbWcge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgICYuc2tldyB7XHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXdZKC02ZGVnKTtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgbWFyZ2luOiAxNXB4IDA7XHJcblxyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBza2V3WSg2ZGVnKTtcclxuICAgICAgICAgICAgICAgIC8vbWFyZ2luOiAtMzBweCAwO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAtNS41JSAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5za2V3eCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9iZy1sb2dvMi5wbmcpO1xyXG4gICAgICAgIHBhZGRpbmc6IDclIDEwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcclxuICAgICAgICBcclxuICAgIC5zY3JvbGwtb2Zmc2V0IHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBwYWRkaW5nLXRvcDogOTBweDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAtOTBweDtcclxuICAgIH1cclxufSIsIkBpbmNsdWRlIGtleWZyYW1lcyhoZWFydEJlYXQpe1xyXG4gICAgMCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgfVxyXG5cclxuICAgIDE0JSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xyXG4gICAgfVxyXG5cclxuICAgIDI4JSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICB9XHJcblxyXG4gICAgNDIlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4zKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7XHJcbiAgICB9XHJcblxyXG4gICAgNzAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbkBpbmNsdWRlIGtleWZyYW1lcyhoZWFkZXJJbil7XHJcbiAgICBmcm9te1xyXG4gICAgICAgIHRvcDogLTEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgdG97XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBrZXlmcmFtZXMoZm9ybUluKXtcclxuICAgIGZyb217XHJcbiAgICAgICAgdG9wOiAtMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICB0b3tcclxuICAgICAgICB0b3A6IDE0MHB4O1xyXG4gICAgfVxyXG59IiwiLmhlYWRlciAudG9wYmFyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMxOTE5MTk7XHJcbiAgXHJcbiAgICAuY29udGFjdC1uYXYgbGkgYSB7XHJcbiAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XHJcbiAgICAgIHBhZGRpbmc6IDAuN3JlbSAwO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICAucGFnZS1jb250ZW50IHtcclxuICAgIHBhZGRpbmc6IDgwcHggMDtcclxuICB9XHJcbiIsIi8vLy8gZ2xvYmFsIHN0eWxlc1xyXG5AaW1wb3J0IFwibWFpblwiO1xyXG5cclxuI2hlYWRlcntcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHotaW5kZXg6IDk5OTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgei1pbmRleDogOTk5ODtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZTtcclxuXHJcblxyXG4gICAgJi5maXhlZHtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDFweCA1cHggMXB4IHJnYmEoMCwwLDAsLjEpO1xyXG4gICAgICAgIFxyXG4gICAgICAgIC5uYXZiYXJ7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6MTBweCAwO1xyXG5cclxuICAgICAgICAgICAgLmJyYW5kIHtcclxuXHJcbiAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDYwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJiArICoge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAxNTBweDtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLm5hdmJhcntcclxuICAgICAgICBwYWRkaW5nOjMwcHggMDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xyXG5cclxuICAgICAgICAuY2VsbDpmaXJzdC1jaGlsZHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmNlbGw6bGFzdC1jaGlsZHtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5icmFuZHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblxyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDkwcHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gXHJcblxyXG4gICAgICAgIC5oZWFkZXItcGhvbmV7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1kYXJrO1xyXG4gICAgICAgICAgICAucGhvbmV7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZXtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmhlYWRlci1uYXZ7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgICAgIHVsLm1lbnV7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgZmxleC1mbG93OiB3cmFwO1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcblxyXG4gICAgICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgbGl7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICBhe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWRhcms7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAxNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6Zm9jdXMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG5cclxuICAgICAgICAgICAgICAgICAgICAmLmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGF7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLnN1Ym1lbnUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiA0NXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogNXB4IHNvbGlkICRjb2xvci1zZWNvbmRhcnk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDUwMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZSBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjkwcHg7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IGxpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IGF7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzcwNzA3MCFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMjBweCAzMHB4IWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlcntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICM3MDcwNzAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPiBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4xNDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzcwNzA3MCFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgICAgICAgICAuY3Rhe1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDI4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkaGVhZGluZy1mb250LWZhbWlseTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDM1cHggOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMjM4ZW07XHJcbiAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1wcmltYXJ5O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKC0xOGRlZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjokY29sb3Itd2hpdGU7IFxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGNvbG9yLXNlY29uZGFyeSwgMC44KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuaGVhZGVyLW5hdi10b2dnbGVye1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB3aWR0aDogNTBweDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gMCAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG5cclxuICAgICAgICAgICAgc3BhbntcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICRjb2xvci1kYXJrO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IDAuM3MgZWFzZSBhbGw7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTBweCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgICAgICBzcGFue1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvci1kYXJrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCwgMTQxMHB4KXtcclxuICAgICAgICArICoge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTIwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubmF2YmFye1xyXG4gICAgICAgICAgICAuYnJhbmR7ICAgIFxyXG4gICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA2MHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuaGVhZGVyLW5hdiB7XHJcblxyXG4gICAgICAgICAgICAgICAgdWwubWVudSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLmN0YXsgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6MTJweCAyNXB4IDhweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgXHJcbiAgICBAaW5jbHVkZSBtZWRpYShtYXgtd2lkdGgsIDEyMDBweCl7XHJcbiAgICAgICAgLm5hdmJhcntcclxuXHJcbiAgICAgICAgICAgIC5oZWFkZXItbmF2e1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAxMHB4O1xyXG5cclxuICAgICAgICAgICAgICAgIHVsLm1lbnV7XHJcbiAgICAgICAgICAgICAgICAgICAgbGl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGF7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOjEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIC5jdGF7ICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOjEycHggMjBweCA4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCwgMTAyM3B4KXtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG5cclxuICAgICAgICArICoge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogODBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5uYXZiYXJ7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgICAgICBcclxuICAgICAgICAgICAgLmJyYW5ke1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgICAgICAgICAgICAgJi5saWdodHsgZGlzcGxheTogbm9uZSB9XHJcbiAgICAgICAgICAgICAgICAmLmRhcmt7IGRpc3BsYXk6IGlubGluZS1ibG9jayB9XHJcblxyXG4gICAgICAgICAgICAgICAgaW1ne1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDYwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5oZWFkZXItbmF2e1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmhlYWRlci1uYXYtdG9nZ2xlcntcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgI2hlYWRlci1uYXYtbW9iaWxlIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB0b3A6IDgwcHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSA4MHB4KTtcclxuXHJcbiAgICAgICAgICAgICYuZml4ZWR7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5tb2JpbGUtbWVudS13cmFwIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAkY29sb3ItZGFyaztcclxuXHJcbiAgICAgICAgICAgICAgICAuaC1saW5rc3tcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGxpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAgJGNvbG9yLWRhcms7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1kYXJrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAuYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDE1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAxNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmgtbG93ZXItd3JhcHtcclxuICAgICAgICAgICAgICAgICAgICAuaC1jb250YWN0e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5tbS1waG9uZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgLm1tLWFkZHJlc3N7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogODAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZGFyaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDBweCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5tbS1lbWFpbHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogODAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZGFyaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAubW0tc2VyaWFse1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZGFyaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAuaC1ib3R0b20tbGluay5jdGF7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxOHB4IDM1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCwgNjM5cHgpe1xyXG4gICAgICAgIC5ncmlkLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5uYXZiYXIge1xyXG4gICAgICAgICAgICAuYnJhbmQge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDE1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcbi5zZWNfaGVyb3tcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAuYmFubmVyIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjVweDtcclxuICAgIH1cclxuXHJcbiAgICAubWVkaWEge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyNXB4KTtcclxuICAgICAgICAvL3dpZHRoOiA1OC4zMzMzMyU7XHJcbiAgICAgICAgd2lkdGg6IDQ2JTtcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gICAgICAgID4gaW1nLCB2aWRlbywgLmhlcm9faW1nIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICAgICAgICAgIG9iamVjdC1wb3NpdGlvbjogdG9wO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmJ0bl9wbGF5IHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICByaWdodDogMzBweDtcclxuICAgICAgICAgICAgYm90dG9tOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuY2FwdGlvbiB7XHJcbiAgICAgICAgcGFkZGluZzogMTMwcHggMCAxMDBweCBjYWxjKCgxMDB2dyAtIDE0MTBweCkgLyAyKTtcclxuICAgICAgICB3aWR0aDogNTguMzMzMzMlO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB6LWluZGV4OiAyO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XHJcblxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICByaWdodDogLTExMHB4O1xyXG4gICAgICAgICAgICBib3R0b206IC0yNXB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItcHJpbWFyeTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBza2V3WCgtMThkZWcpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBoMSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTIwcHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGg0IHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiA2MHB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgIC5mZWF0dXJlcyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWZsb3c6IHdyYXA7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogNzBweCAwO1xyXG5cclxuICAgICAgICAuaXRlbSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyMjBweDtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMzBweCAzMHB4O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgICAgICAgICBmaWd1cmUge1xyXG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogMTA1cHg7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaDMge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA0MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOjE0MTBweCkge1xyXG4gICAgICAgIC5jYXB0aW9uIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xyXG5cclxuICAgICAgICAgICAgaDEge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA4NXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGg0IHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNDVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDoxMDIzcHgpIHtcclxuICAgICAgICAuY2FwdGlvbiB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcclxuXHJcbiAgICAgICAgICAgIGgxIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBoNCB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDM1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5mZWF0dXJlcyB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG5cclxuICAgICAgICAgICAgLml0ZW0ge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDE4MHB4O1xyXG5cclxuICAgICAgICAgICAgICAgIGgzIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDMycHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6NzY3cHgpIHtcclxuICAgICAgICAubWVkaWEge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDMyMHB4O1xyXG5cclxuICAgICAgICAgICAgLmJ0bl9wbGF5IHtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDcwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNhcHRpb24ge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAzNXB4IDMwcHggMDtcclxuICAgICAgICAgICAgbWFyZ2luOi0xMHB4IDAgMDtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogLTE1cHg7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaDEge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA0NXB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBoNCB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDI1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4uc2VjX3NlcnZpY2VzIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICBwYWRkaW5nOiAyNTBweCAwIDA7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgaDIge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTIwcHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcblxyXG4gICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgaDMge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogNjBweDtcclxuICAgIH1cclxuXHJcbiAgICAuYmcge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIHRvcDowO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLnNlcnZpY2VfaGVhZCB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcclxuICAgICAgICBtYXgtd2lkdGg6IDEyMDBweDtcclxuICAgICAgICBtYXJnaW46MCBhdXRvXHJcbiAgICB9XHJcblxyXG4gICAgLnNlcnZpY2VfaXRlbXMge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIH1cclxuXHJcbiAgICAuc2VydmljZV9ib3gge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1zZWNvbmRhcnk7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcclxuICAgICAgICBwYWRkaW5nOiA0MHB4IDIwcHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcblxyXG4gICAgICAgID4gKjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGZpZ3VyZSB7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDYwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyIDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGg0IHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDoxNjAwcHgpIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMTIlO1xyXG5cclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOjEzNjZweCkge1xyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiA4MHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaDMge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDQ1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6MTAyM3B4KSB7XHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDU1cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6NzY3cHgpIHtcclxuXHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDQycHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5iZyB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5zZXJ2aWNlX2hlYWQge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWRhcms7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLnNlY19hYm91dCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBwYWRkaW5nOiA5MHB4IDA7XHJcblxyXG4gICAgXHJcbiAgICAuYm9yZGVyZWQge1xyXG4gICAgICAgIHBhZGRpbmc6IDQwcHggNTBweDtcclxuICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAkY29sb3ItbGlnaHQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAzNHB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xyXG5cclxuICAgICAgICBhLCBzcGFuIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1kYXJrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDoxMDIzcHgpIHtcclxuICAgICAgICBwYWRkaW5nOiA1MHB4IDA7XHJcblxyXG4gICAgICAgIC5ib3JkZXJlZCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6MzBweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOjYzOXB4KSB7XHJcbiAgICAgICAgLmJvcmRlcmVkIHtcclxuICAgICAgICAgICAgcGFkZGluZzoyMHB4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuY29weSB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4uc2VjX3ByaWNpbmcge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcGFkZGluZzogMjgwcHggMCAyMDBweDtcclxuICAgIHotaW5kZXg6IDE7XHJcblxyXG4gICAgLmJnIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICB0b3A6MDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5wcmljaW5nX2JveCB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1wcmltYXJ5O1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XHJcbiAgICAgICAgcGFkZGluZzogNTBweDtcclxuICAgICAgICBtaW4taGVpZ2h0OiA0ODBweDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZmxvdzogd3JhcDtcclxuICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG5cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgIGJvcmRlcjoxcHggc29saWQgJGNvbG9yLWxpZ2h0O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDI1cHg7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAyNXB4O1xyXG4gICAgICAgICAgICB0b3A6IDI1cHg7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMjVweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gKiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaDMge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDYwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDM5MHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDoxMzY2cHgpIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcclxuXHJcbiAgICAgICAgLmJnIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnByaWNpbmdfYm94IHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAzOTBweDtcclxuXHJcbiAgICAgICAgICAgIGgzIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNTBweDtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDozNjlweCkge1xyXG4gICAgICAgIC5wcmljaW5nX2JveCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6NTBweCAzMHB4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDMwcHg7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDMwMHB4O1xyXG5cclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMTVweDtcclxuICAgICAgICAgICAgICAgIHRvcDogMTVweDtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOiAxNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLnNlY19leGNlbGxlbmNlIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGJhY2tncm91bmQ6JGNvbG9yLXdoaXRlIHVybCguLi9pbWcvYmctZXhjZWxsZW5jZS5qcGcpIG5vLXJlcGVhdCBjZW50ZXIgLyAxMDAlO1xyXG4gICAgcGFkZGluZzogMTYwcHggMDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICBoMiB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5leGNlbF9ib3gge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZTtcclxuICAgICAgICBib3gtc2hhZG93OiAwcHggNHB4IDE0cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMDYpO1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDMzNXB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICAgIHBhZGRpbmc6NTBweCAzMHB4O1xyXG5cclxuICAgICAgICBmaWd1cmUge1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxMzBweDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGgzIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAzNHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnk7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDI5MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOjEyODBweCkge1xyXG4gICAgICAgIC5leGNlbF9ib3gge1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAzMDBweDtcclxuICAgICAgICAgICAgcGFkZGluZzo0MHB4IDMwcHg7XHJcblxyXG4gICAgICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOjEwMjNweCkge1xyXG4gICAgICAgIHBhZGRpbmc6IDYwcHggMCAxMDBweDsgXHJcblxyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOjc2N3B4KSB7XHJcbiAgICAgICAgLmV4Y2VsX2JveCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDM1cHggMjBweDtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogMXB4O1xyXG5cclxuICAgICAgICAgICAgaDMge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAzMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLnNlY19yZXZpZXdzIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1hcmdpbjogLTYwcHggMCA2MHB4O1xyXG5cclxuICAgIC5xdW90ZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgYm9yZGVyOjA7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgICBtYXgtd2lkdGg6IDUzMHB4O1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItZGFyaztcclxuXHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZGFyaztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNpdGUge1xyXG4gICAgICAgICAgICBib3JkZXI6MDtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBwYWRkaW5nOjAgMCAwIDQ1cHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZGFyazsgXHJcblxyXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMzVweDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICB0b3A6NXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgc21hbGwge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOjEwMjNweCkge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5xdW90ZSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4uc2VjX2N0YSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgcGFkZGluZzogMTYwcHggMCAxMDBweDtcclxuXHJcbiAgICAuYmcge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgei1pbmRleDogLTE7XHJcblxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuY3RhX2JveCB7ICAgICAgICBcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXByaW1hcnk7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcclxuICAgICAgICBwYWRkaW5nOiA1MHB4IDYwcHg7XHJcbiAgICAgICAgbWluLWhlaWdodDogNDgwcHg7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWZsb3c6IHdyYXA7XHJcbiAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBmb250LXNpemU6IDI3cHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuXHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICBib3JkZXI6MXB4IHNvbGlkICRjb2xvci1saWdodDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBsZWZ0OiAyNXB4O1xyXG4gICAgICAgICAgICByaWdodDogMjVweDtcclxuICAgICAgICAgICAgdG9wOiAyNXB4O1xyXG4gICAgICAgICAgICBib3R0b206IDI1cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+ICoge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaDMge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDYwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6MTAyM3B4KSB7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6NjM5cHgpIHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuXHJcbiAgICAgICAgLmN0YV9ib3gge1xyXG4gICAgICAgICAgICBwYWRkaW5nOjUwcHggMzBweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxcHg7XHJcblxyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OjE1cHg7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMTVweDtcclxuICAgICAgICAgICAgICAgIHRvcDogMTVweDtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogMTVweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaDMge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA0MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLnNlY19sb2NhdGlvbiB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAxMDBweCAwO1xyXG4gICAgXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDoxMDIzcHgpIHtcclxuICAgICAgICBwYWRkaW5nOiA2MHB4IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4uc2VjX2ZpbmFuY2luZyB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBwYWRkaW5nOiAwIDAgMTAwcHg7XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6MTAyM3B4KSB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi5zZWNfd2h5dXMge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcGFkZGluZzoxMjBweCAwIDIyMHB4O1xyXG4gICAgYmFja2dyb3VuZDokY29sb3Itd2hpdGUgdXJsKC4uL2ltZy9iZy1leGNlbGxlbmNlLmpwZykgbm8tcmVwZWF0IGNlbnRlciAvIDEwMCU7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBcclxuICAgIC53aHl1c19ib3gge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZTtcclxuICAgICAgICBib3gtc2hhZG93OiAwcHggNHB4IDE0cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMDYpO1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDMzNXB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICAgIHBhZGRpbmc6NTBweCAzMHB4O1xyXG5cclxuICAgICAgICBmaWd1cmUge1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxMzBweDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGgzIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAzNHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnk7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDMwMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOjEzNjZweCkge1xyXG4gICAgICAgIC53aHl1c19ib3gge1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAzMDBweDtcclxuICAgICAgICAgICAgcGFkZGluZzo0MHB4IDIwcHg7XHJcblxyXG4gICAgICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDoxMDIzcHgpIHtcclxuICAgICAgICBwYWRkaW5nOiAwIDAgMTAwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6NzY3cHgpIHtcclxuICAgICAgICBwYWRkaW5nOiAwIDAgNjBweDtcclxuXHJcbiAgICAgICAgLndoeXVzX2JveCB7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDFweDtcclxuXHJcbiAgICAgICAgICAgIGZpZ3VyZSB7XHJcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAxcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zZWNfYWlyY29uIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHBhZGRpbmc6MCAwIDEwMHB4O1xyXG5cclxuICAgIC5zaWRlbmF2IHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGU7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWxpZ2h0O1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDBweCA0cHggMTRweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4wNik7XHJcbiAgICAgICAgcGFkZGluZzogMjBweCAyMHB4IDEwcHg7XHJcbiAgICAgICAgbWFyZ2luOiAwIDQwcHggMCAwO1xyXG5cclxuICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDEwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xyXG5cclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICAgICAgICAgICsgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3ItbGlnaHQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOjE1cHggMTBweDtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMjtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICYuaXMtYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogLTMwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAtMzBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOi0xcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogLTFweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXByaW1hcnk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmNvcHkge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnk7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC50YWJzLWNvbnRlbnQge1xyXG4gICAgICAgIGJvcmRlcjowO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1kYXJrO1xyXG4gICAgfVxyXG4gICAgLnRhYnMtcGFuZWwge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6MTAyM3B4KSB7XHJcbiAgICAgICAgLnNpZGVuYXYge21hcmdpbjogMCAwIDMwcHg7fVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDo3NjdweCkge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMCA2MHB4O1xyXG5cclxuICAgIH1cclxufVxyXG5cclxuLnNlY19jb250YWN0IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICBwYWRkaW5nOiAyMDBweCAwIDMwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmJmYmZiO1xyXG5cclxuICAgIGhncm91cCB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA1OTBweDtcclxuICAgICAgICBtYXJnaW46MCBhdXRvIDUwcHg7XHJcblxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWRhcms7XHJcblxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYmcge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5mb3JtX2JveCB7XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcblxyXG4gICAgICAgIGRpdi5nZm9ybV9maWVsZHMge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWZsb3c6IHdyYXA7XHJcbiAgICAgICAgICAgIG1hcmdpbjowIC0xNXB4O1xyXG4gICAgICAgICAgICBncmlkLWNvbHVtbi1nYXA6IDA7XHJcbiAgICAgICAgICAgIGdyaWQtcm93LWdhcDogMDtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcblxyXG4gICAgICAgICAgICAuZ2ZpZWxkIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzowIDE1cHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG5cclxuICAgICAgICAgICAgICAgICYuZ2hhbGYge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLnRleHRhcmVhIHtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE0NXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuZ2ZpZWxkX2xhYmVsIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5nZm9ybV9mb290ZXIgIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6NzY3cHgpIHtcclxuICAgICAgICBwYWRkaW5nOiAxMDBweCAwIDMwcHg7XHJcblxyXG4gICAgICAgIGhncm91cCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDo2MzlweCkge1xyXG4gICAgICAgIC5mb3JtX2JveCB7XHJcblxyXG4gICAgICAgICAgICBkaXYuZ2Zvcm1fZmllbGRzIC5nZmllbGQuZ2hhbGYge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4uc2VjX21vZGVsIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHBhZGRpbmc6IDUwcHggMCAxMDBweDtcclxuXHJcbiAgICBoMiB7XHJcbiAgICAgICAgbWFyZ2luOjA7XHJcbiAgICB9XHJcbn0gXHJcblxyXG5cclxuLnN0aWNreV9jdGEge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yLWJsYWNrO1xyXG4gICAgcGFkZGluZzogMTBweCAxNXB4O1xyXG4gICAgei1pbmRleDogOTk5O1xyXG5cclxuICAgIC5idXR0b24ge1xyXG4gICAgICAgIG1hcmdpbjowO1xyXG4gICAgICAgIC8vIHBhZGRpbmc6IDEwcHggNDBweCA1cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XHJcblxyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggNDBweDtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiTGF0b1wiLCBzYW5zLXNlcmlmO1xyXG5cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuIFxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6NjM5cHgpIHtcclxuICAgICAgICAuYnV0dG9uIHtcclxuICAgICAgICAgICAgLy8gcGFkZGluZzoxMHB4IDIwcHggNXB4O1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgcGFkZGluZzogOHB4IDIwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuI2Zvb3RlcntcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0ei1pbmRleDogMTtcclxuICAgIHBhZGRpbmc6MCAwIDUwcHg7XHJcblxyXG4gICAgLmZvb3RfdG9we1xyXG4gICAgICAgIHBhZGRpbmc6IDEwMHB4IDAgNTBweDtcclxuXHJcbiAgICAgICAgaDJ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNDVweDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzM7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBoNSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmZvb3RfaW5mbyB7fVxyXG5cclxuICAgIC5mb290X2xpbmtzIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyBcclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzowO1xyXG5cclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZm9vdF9zb2NpYWwge1xyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgbWFyZ2luOjUwcHggLTNweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuXHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46MCAzcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmZvb3RfbG9nbyB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcclxuICAgIH1cclxuXHJcbiAgICAuZm9vdF9waG9uZSB7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAwIDA7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogNDBweDtcclxuICAgICAgICBmb250LWZhbWlseTogJGhlYWRpbmctZm9udC1mYW1pbHk7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDlweDtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAuZm9vdF9ib3R0b217XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWJsYWNrO1xyXG4gICAgICAgIHBhZGRpbmc6IDM1cHggMDtcclxuICAgIH1cclxuXHJcbiAgICBcclxuICAgIFxyXG4gICAgLmNvcHlyaWdodHtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcclxuXHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDoxMzY2cHgpIHtcclxuICAgICAgICAuZm9vdF9waG9uZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6MTAyM3B4KSB7XHJcbiAgICAgICAgLmZvb3RfdG9wIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDYwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuZm9vdF9sb2dvIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZm9vdF9waG9uZSB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5mb290X3NvY2lhbCB1bCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5mb290X2JvdHRvbSB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDo3NjdweCkge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxufSJdfQ== */
