@charset "UTF-8";
/**
 * Foundation for Sites
 * Version 6.9.0
 * https://get.foundation
 * Licensed under MIT Open Source
 */
/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

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

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

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

a {
  background-color: transparent;
}

abbr[title] {
  border-bottom: 0;
  -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;
}

[data-whatintent=mouse] *, [data-whatintent=mouse] *:focus,
[data-whatintent=touch] *,
[data-whatintent=touch] *:focus,
[data-whatinput=mouse] *,
[data-whatinput=mouse] *:focus,
[data-whatinput=touch] *,
[data-whatinput=touch] *:focus {
  outline: none;
}

[draggable=false] {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
}

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

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: #FFFFFF;
  font-family: "URW Geometric", sans-serif;
  font-weight: normal;
  line-height: 1.2;
  color: #000000;
  -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;
  -webkit-overflow-scrolling: touch;
}

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

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

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

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: 1em;
  font-size: inherit;
  line-height: 1.2;
  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: "URW Geometric", sans-serif;
  font-style: normal;
  font-weight: bold;
  color: #000000;
  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: #000000;
}

h1, .h1 {
  font-size: 4rem;
  line-height: 1;
  margin-top: 0;
  margin-bottom: 0;
}

h2, .h2 {
  font-size: 2.5rem;
  line-height: 1;
  margin-top: 0;
  margin-bottom: 0;
}

h3, .h3 {
  font-size: 2.25rem;
  line-height: 1;
  margin-top: 0;
  margin-bottom: 0;
}

h4, .h4 {
  font-size: 1.75rem;
  line-height: 1;
  margin-top: 0;
  margin-bottom: 0;
}

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

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

@media print, screen and (min-width: 48em) {
  h1, .h1 {
    font-size: 10.75rem;
    line-height: 1;
    margin-bottom: 0;
  }
  h2, .h2 {
    font-size: 7.5rem;
    line-height: 1;
    margin-bottom: 0;
  }
  h3, .h3 {
    font-size: 5.125rem;
    line-height: 1;
    margin-bottom: 0;
  }
  h4, .h4 {
    font-size: 2.25rem;
    line-height: 1;
    margin-bottom: 0;
  }
  h5, .h5 {
    font-size: 1.5rem;
    line-height: 1;
    margin-bottom: 0;
  }
  h6, .h6 {
    font-size: 1.5rem;
    line-height: 1;
    margin-bottom: 0;
  }
}
@media print, screen and (min-width: 68.75em) {
  h1, .h1 {
    font-size: 17.5rem;
    line-height: 1;
    margin-bottom: 0;
  }
  h2, .h2 {
    font-size: 12.5rem;
    line-height: 1;
    margin-bottom: 0;
  }
  h3, .h3 {
    font-size: 8rem;
    line-height: 1;
    margin-bottom: 0;
  }
  h4, .h4 {
    font-size: 2.5rem;
    line-height: 1;
    margin-bottom: 0;
  }
  h5, .h5 {
    font-size: 1.5rem;
    line-height: 1;
    margin-bottom: 0;
  }
  h6, .h6 {
    font-size: 1.5rem;
    line-height: 1;
    margin-bottom: 0;
  }
}
a {
  line-height: inherit;
  color: #000000;
  text-decoration: none;
  cursor: pointer;
}
a:hover, a:focus {
  color: black;
}
a img {
  border: 0;
}

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

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

li {
  font-size: inherit;
}

ul {
  margin-left: 0.6em;
  list-style-type: disc;
}

ol {
  margin-left: 0.6em;
}

ul ul, ul ol, ol ul, ol ol {
  margin-left: 0.6em;
  margin-bottom: 0;
}

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

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

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

figure {
  margin: 0;
}

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

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

.lead {
  font-size: 22px;
  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;
}

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

.code-inline, code {
  border: 1px solid #000000;
  background-color: #000000;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: normal;
  color: #000000;
  display: inline;
  max-width: 100%;
  word-wrap: break-word;
  padding: 0.125rem 0.3125rem 0.0625rem;
}

.code-block {
  border: 1px solid #000000;
  background-color: #000000;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: normal;
  color: #000000;
  display: block;
  overflow: auto;
  white-space: pre;
  padding: 1rem;
  margin-bottom: 1.5rem;
}

.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: 68.75em) {
  .large-text-left {
    text-align: left;
  }
  .large-text-right {
    text-align: right;
  }
  .large-text-center {
    text-align: center;
  }
  .large-text-justify {
    text-align: justify;
  }
}
.show-for-print {
  display: none !important;
}

@media print {
  * {
    background: transparent !important;
    color: black !important;
    -webkit-print-color-adjust: economy;
            print-color-adjust: economy;
    -webkit-box-shadow: none !important;
            box-shadow: none !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 #000000;
    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 {
  max-width: 1800px;
  margin-left: auto;
  margin-right: auto;
  padding-right: 1rem;
  padding-left: 1rem;
}
@media print, screen and (min-width: 48em) {
  .grid-container {
    padding-right: 2.5rem;
    padding-left: 2.5rem;
  }
}
.grid-container.fluid {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-right: 1rem;
  padding-left: 1rem;
}
@media print, screen and (min-width: 48em) {
  .grid-container.fluid {
    padding-right: 2.5rem;
    padding-left: 2.5rem;
  }
}
.grid-container.full {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-right: 0;
  padding-left: 0;
}

.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: 0;
  min-width: 0;
  width: 100%;
}
.cell.auto {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0;
}
.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: 68.75em) {
  .grid-x > .large-shrink, .grid-x > .large-full, .grid-x > .large-1, .grid-x > .large-2, .grid-x > .large-3, .grid-x > .large-4, .grid-x > .large-5, .grid-x > .large-6, .grid-x > .large-7, .grid-x > .large-8, .grid-x > .large-9, .grid-x > .large-10, .grid-x > .large-11, .grid-x > .large-12 {
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
  }
}
.grid-x > .small-12, .grid-x > .small-11, .grid-x > .small-10, .grid-x > .small-9, .grid-x > .small-8, .grid-x > .small-7, .grid-x > .small-6, .grid-x > .small-5, .grid-x > .small-4, .grid-x > .small-3, .grid-x > .small-2, .grid-x > .small-1 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}

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

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

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

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

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

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

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

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

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

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

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

.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 0;
    width: auto;
  }
  .grid-x > .medium-12, .grid-x > .medium-11, .grid-x > .medium-10, .grid-x > .medium-9, .grid-x > .medium-8, .grid-x > .medium-7, .grid-x > .medium-6, .grid-x > .medium-5, .grid-x > .medium-4, .grid-x > .medium-3, .grid-x > .medium-2, .grid-x > .medium-1, .grid-x > .medium-shrink {
    -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.3333333333%;
  }
  .grid-x > .medium-2 {
    width: 16.6666666667%;
  }
  .grid-x > .medium-3 {
    width: 25%;
  }
  .grid-x > .medium-4 {
    width: 33.3333333333%;
  }
  .grid-x > .medium-5 {
    width: 41.6666666667%;
  }
  .grid-x > .medium-6 {
    width: 50%;
  }
  .grid-x > .medium-7 {
    width: 58.3333333333%;
  }
  .grid-x > .medium-8 {
    width: 66.6666666667%;
  }
  .grid-x > .medium-9 {
    width: 75%;
  }
  .grid-x > .medium-10 {
    width: 83.3333333333%;
  }
  .grid-x > .medium-11 {
    width: 91.6666666667%;
  }
  .grid-x > .medium-12 {
    width: 100%;
  }
}
@media print, screen and (min-width: 68.75em) {
  .grid-x > .large-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    width: auto;
  }
  .grid-x > .large-12, .grid-x > .large-11, .grid-x > .large-10, .grid-x > .large-9, .grid-x > .large-8, .grid-x > .large-7, .grid-x > .large-6, .grid-x > .large-5, .grid-x > .large-4, .grid-x > .large-3, .grid-x > .large-2, .grid-x > .large-1, .grid-x > .large-shrink {
    -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.3333333333%;
  }
  .grid-x > .large-2 {
    width: 16.6666666667%;
  }
  .grid-x > .large-3 {
    width: 25%;
  }
  .grid-x > .large-4 {
    width: 33.3333333333%;
  }
  .grid-x > .large-5 {
    width: 41.6666666667%;
  }
  .grid-x > .large-6 {
    width: 50%;
  }
  .grid-x > .large-7 {
    width: 58.3333333333%;
  }
  .grid-x > .large-8 {
    width: 66.6666666667%;
  }
  .grid-x > .large-9 {
    width: 75%;
  }
  .grid-x > .large-10 {
    width: 83.3333333333%;
  }
  .grid-x > .large-11 {
    width: 91.6666666667%;
  }
  .grid-x > .large-12 {
    width: 100%;
  }
}
.grid-margin-x:not(.grid-x) > .cell {
  width: auto;
}

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

.grid-margin-x {
  margin-left: -0.9375rem;
  margin-right: -0.9375rem;
}
@media print, screen and (min-width: 48em) {
  .grid-margin-x {
    margin-left: -1.875rem;
    margin-right: -1.875rem;
  }
}
.grid-margin-x > .cell {
  width: calc(100% - 1.875rem);
  margin-left: 0.9375rem;
  margin-right: 0.9375rem;
}
@media print, screen and (min-width: 48em) {
  .grid-margin-x > .cell {
    width: calc(100% - 3.75rem);
    margin-left: 1.875rem;
    margin-right: 1.875rem;
  }
}
.grid-margin-x > .auto {
  width: auto;
}
.grid-margin-x > .shrink {
  width: auto;
}
.grid-margin-x > .small-1 {
  width: calc(8.3333333333% - 1.875rem);
}
.grid-margin-x > .small-2 {
  width: calc(16.6666666667% - 1.875rem);
}
.grid-margin-x > .small-3 {
  width: calc(25% - 1.875rem);
}
.grid-margin-x > .small-4 {
  width: calc(33.3333333333% - 1.875rem);
}
.grid-margin-x > .small-5 {
  width: calc(41.6666666667% - 1.875rem);
}
.grid-margin-x > .small-6 {
  width: calc(50% - 1.875rem);
}
.grid-margin-x > .small-7 {
  width: calc(58.3333333333% - 1.875rem);
}
.grid-margin-x > .small-8 {
  width: calc(66.6666666667% - 1.875rem);
}
.grid-margin-x > .small-9 {
  width: calc(75% - 1.875rem);
}
.grid-margin-x > .small-10 {
  width: calc(83.3333333333% - 1.875rem);
}
.grid-margin-x > .small-11 {
  width: calc(91.6666666667% - 1.875rem);
}
.grid-margin-x > .small-12 {
  width: calc(100% - 1.875rem);
}
@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.3333333333% - 3.75rem);
  }
  .grid-margin-x > .small-2 {
    width: calc(16.6666666667% - 3.75rem);
  }
  .grid-margin-x > .small-3 {
    width: calc(25% - 3.75rem);
  }
  .grid-margin-x > .small-4 {
    width: calc(33.3333333333% - 3.75rem);
  }
  .grid-margin-x > .small-5 {
    width: calc(41.6666666667% - 3.75rem);
  }
  .grid-margin-x > .small-6 {
    width: calc(50% - 3.75rem);
  }
  .grid-margin-x > .small-7 {
    width: calc(58.3333333333% - 3.75rem);
  }
  .grid-margin-x > .small-8 {
    width: calc(66.6666666667% - 3.75rem);
  }
  .grid-margin-x > .small-9 {
    width: calc(75% - 3.75rem);
  }
  .grid-margin-x > .small-10 {
    width: calc(83.3333333333% - 3.75rem);
  }
  .grid-margin-x > .small-11 {
    width: calc(91.6666666667% - 3.75rem);
  }
  .grid-margin-x > .small-12 {
    width: calc(100% - 3.75rem);
  }
  .grid-margin-x > .medium-auto {
    width: auto;
  }
  .grid-margin-x > .medium-shrink {
    width: auto;
  }
  .grid-margin-x > .medium-1 {
    width: calc(8.3333333333% - 3.75rem);
  }
  .grid-margin-x > .medium-2 {
    width: calc(16.6666666667% - 3.75rem);
  }
  .grid-margin-x > .medium-3 {
    width: calc(25% - 3.75rem);
  }
  .grid-margin-x > .medium-4 {
    width: calc(33.3333333333% - 3.75rem);
  }
  .grid-margin-x > .medium-5 {
    width: calc(41.6666666667% - 3.75rem);
  }
  .grid-margin-x > .medium-6 {
    width: calc(50% - 3.75rem);
  }
  .grid-margin-x > .medium-7 {
    width: calc(58.3333333333% - 3.75rem);
  }
  .grid-margin-x > .medium-8 {
    width: calc(66.6666666667% - 3.75rem);
  }
  .grid-margin-x > .medium-9 {
    width: calc(75% - 3.75rem);
  }
  .grid-margin-x > .medium-10 {
    width: calc(83.3333333333% - 3.75rem);
  }
  .grid-margin-x > .medium-11 {
    width: calc(91.6666666667% - 3.75rem);
  }
  .grid-margin-x > .medium-12 {
    width: calc(100% - 3.75rem);
  }
}
@media print, screen and (min-width: 68.75em) {
  .grid-margin-x > .large-auto {
    width: auto;
  }
  .grid-margin-x > .large-shrink {
    width: auto;
  }
  .grid-margin-x > .large-1 {
    width: calc(8.3333333333% - 3.75rem);
  }
  .grid-margin-x > .large-2 {
    width: calc(16.6666666667% - 3.75rem);
  }
  .grid-margin-x > .large-3 {
    width: calc(25% - 3.75rem);
  }
  .grid-margin-x > .large-4 {
    width: calc(33.3333333333% - 3.75rem);
  }
  .grid-margin-x > .large-5 {
    width: calc(41.6666666667% - 3.75rem);
  }
  .grid-margin-x > .large-6 {
    width: calc(50% - 3.75rem);
  }
  .grid-margin-x > .large-7 {
    width: calc(58.3333333333% - 3.75rem);
  }
  .grid-margin-x > .large-8 {
    width: calc(66.6666666667% - 3.75rem);
  }
  .grid-margin-x > .large-9 {
    width: calc(75% - 3.75rem);
  }
  .grid-margin-x > .large-10 {
    width: calc(83.3333333333% - 3.75rem);
  }
  .grid-margin-x > .large-11 {
    width: calc(91.6666666667% - 3.75rem);
  }
  .grid-margin-x > .large-12 {
    width: calc(100% - 3.75rem);
  }
}

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

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

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

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

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

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

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

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

.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.3333333333%;
  }
  .medium-up-4 > .cell {
    width: 25%;
  }
  .medium-up-5 > .cell {
    width: 20%;
  }
  .medium-up-6 > .cell {
    width: 16.6666666667%;
  }
  .medium-up-7 > .cell {
    width: 14.2857142857%;
  }
  .medium-up-8 > .cell {
    width: 12.5%;
  }
}
@media print, screen and (min-width: 68.75em) {
  .large-up-1 > .cell {
    width: 100%;
  }
  .large-up-2 > .cell {
    width: 50%;
  }
  .large-up-3 > .cell {
    width: 33.3333333333%;
  }
  .large-up-4 > .cell {
    width: 25%;
  }
  .large-up-5 > .cell {
    width: 20%;
  }
  .large-up-6 > .cell {
    width: 16.6666666667%;
  }
  .large-up-7 > .cell {
    width: 14.2857142857%;
  }
  .large-up-8 > .cell {
    width: 12.5%;
  }
}
.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.3333333333% - 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.6666666667% - 1.875rem);
}

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

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

@media print, screen and (min-width: 48em) {
  .grid-margin-x.small-up-1 > .cell {
    width: calc(100% - 3.75rem);
  }
  .grid-margin-x.small-up-2 > .cell {
    width: calc(50% - 3.75rem);
  }
  .grid-margin-x.small-up-3 > .cell {
    width: calc(33.3333333333% - 3.75rem);
  }
  .grid-margin-x.small-up-4 > .cell {
    width: calc(25% - 3.75rem);
  }
  .grid-margin-x.small-up-5 > .cell {
    width: calc(20% - 3.75rem);
  }
  .grid-margin-x.small-up-6 > .cell {
    width: calc(16.6666666667% - 3.75rem);
  }
  .grid-margin-x.small-up-7 > .cell {
    width: calc(14.2857142857% - 3.75rem);
  }
  .grid-margin-x.small-up-8 > .cell {
    width: calc(12.5% - 3.75rem);
  }
  .grid-margin-x.medium-up-1 > .cell {
    width: calc(100% - 3.75rem);
  }
  .grid-margin-x.medium-up-2 > .cell {
    width: calc(50% - 3.75rem);
  }
  .grid-margin-x.medium-up-3 > .cell {
    width: calc(33.3333333333% - 3.75rem);
  }
  .grid-margin-x.medium-up-4 > .cell {
    width: calc(25% - 3.75rem);
  }
  .grid-margin-x.medium-up-5 > .cell {
    width: calc(20% - 3.75rem);
  }
  .grid-margin-x.medium-up-6 > .cell {
    width: calc(16.6666666667% - 3.75rem);
  }
  .grid-margin-x.medium-up-7 > .cell {
    width: calc(14.2857142857% - 3.75rem);
  }
  .grid-margin-x.medium-up-8 > .cell {
    width: calc(12.5% - 3.75rem);
  }
}
@media print, screen and (min-width: 68.75em) {
  .grid-margin-x.large-up-1 > .cell {
    width: calc(100% - 3.75rem);
  }
  .grid-margin-x.large-up-2 > .cell {
    width: calc(50% - 3.75rem);
  }
  .grid-margin-x.large-up-3 > .cell {
    width: calc(33.3333333333% - 3.75rem);
  }
  .grid-margin-x.large-up-4 > .cell {
    width: calc(25% - 3.75rem);
  }
  .grid-margin-x.large-up-5 > .cell {
    width: calc(20% - 3.75rem);
  }
  .grid-margin-x.large-up-6 > .cell {
    width: calc(16.6666666667% - 3.75rem);
  }
  .grid-margin-x.large-up-7 > .cell {
    width: calc(14.2857142857% - 3.75rem);
  }
  .grid-margin-x.large-up-8 > .cell {
    width: calc(12.5% - 3.75rem);
  }
}
.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.3333333333%;
}
.small-margin-collapse > .small-2 {
  width: 16.6666666667%;
}
.small-margin-collapse > .small-3 {
  width: 25%;
}
.small-margin-collapse > .small-4 {
  width: 33.3333333333%;
}
.small-margin-collapse > .small-5 {
  width: 41.6666666667%;
}
.small-margin-collapse > .small-6 {
  width: 50%;
}
.small-margin-collapse > .small-7 {
  width: 58.3333333333%;
}
.small-margin-collapse > .small-8 {
  width: 66.6666666667%;
}
.small-margin-collapse > .small-9 {
  width: 75%;
}
.small-margin-collapse > .small-10 {
  width: 83.3333333333%;
}
.small-margin-collapse > .small-11 {
  width: 91.6666666667%;
}
.small-margin-collapse > .small-12 {
  width: 100%;
}
@media print, screen and (min-width: 48em) {
  .small-margin-collapse > .medium-1 {
    width: 8.3333333333%;
  }
  .small-margin-collapse > .medium-2 {
    width: 16.6666666667%;
  }
  .small-margin-collapse > .medium-3 {
    width: 25%;
  }
  .small-margin-collapse > .medium-4 {
    width: 33.3333333333%;
  }
  .small-margin-collapse > .medium-5 {
    width: 41.6666666667%;
  }
  .small-margin-collapse > .medium-6 {
    width: 50%;
  }
  .small-margin-collapse > .medium-7 {
    width: 58.3333333333%;
  }
  .small-margin-collapse > .medium-8 {
    width: 66.6666666667%;
  }
  .small-margin-collapse > .medium-9 {
    width: 75%;
  }
  .small-margin-collapse > .medium-10 {
    width: 83.3333333333%;
  }
  .small-margin-collapse > .medium-11 {
    width: 91.6666666667%;
  }
  .small-margin-collapse > .medium-12 {
    width: 100%;
  }
}
@media print, screen and (min-width: 68.75em) {
  .small-margin-collapse > .large-1 {
    width: 8.3333333333%;
  }
  .small-margin-collapse > .large-2 {
    width: 16.6666666667%;
  }
  .small-margin-collapse > .large-3 {
    width: 25%;
  }
  .small-margin-collapse > .large-4 {
    width: 33.3333333333%;
  }
  .small-margin-collapse > .large-5 {
    width: 41.6666666667%;
  }
  .small-margin-collapse > .large-6 {
    width: 50%;
  }
  .small-margin-collapse > .large-7 {
    width: 58.3333333333%;
  }
  .small-margin-collapse > .large-8 {
    width: 66.6666666667%;
  }
  .small-margin-collapse > .large-9 {
    width: 75%;
  }
  .small-margin-collapse > .large-10 {
    width: 83.3333333333%;
  }
  .small-margin-collapse > .large-11 {
    width: 91.6666666667%;
  }
  .small-margin-collapse > .large-12 {
    width: 100%;
  }
}

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

@media print, screen and (min-width: 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.3333333333%;
  }
  .medium-margin-collapse > .small-2 {
    width: 16.6666666667%;
  }
  .medium-margin-collapse > .small-3 {
    width: 25%;
  }
  .medium-margin-collapse > .small-4 {
    width: 33.3333333333%;
  }
  .medium-margin-collapse > .small-5 {
    width: 41.6666666667%;
  }
  .medium-margin-collapse > .small-6 {
    width: 50%;
  }
  .medium-margin-collapse > .small-7 {
    width: 58.3333333333%;
  }
  .medium-margin-collapse > .small-8 {
    width: 66.6666666667%;
  }
  .medium-margin-collapse > .small-9 {
    width: 75%;
  }
  .medium-margin-collapse > .small-10 {
    width: 83.3333333333%;
  }
  .medium-margin-collapse > .small-11 {
    width: 91.6666666667%;
  }
  .medium-margin-collapse > .small-12 {
    width: 100%;
  }
}
@media print, screen and (min-width: 48em) {
  .medium-margin-collapse > .medium-1 {
    width: 8.3333333333%;
  }
  .medium-margin-collapse > .medium-2 {
    width: 16.6666666667%;
  }
  .medium-margin-collapse > .medium-3 {
    width: 25%;
  }
  .medium-margin-collapse > .medium-4 {
    width: 33.3333333333%;
  }
  .medium-margin-collapse > .medium-5 {
    width: 41.6666666667%;
  }
  .medium-margin-collapse > .medium-6 {
    width: 50%;
  }
  .medium-margin-collapse > .medium-7 {
    width: 58.3333333333%;
  }
  .medium-margin-collapse > .medium-8 {
    width: 66.6666666667%;
  }
  .medium-margin-collapse > .medium-9 {
    width: 75%;
  }
  .medium-margin-collapse > .medium-10 {
    width: 83.3333333333%;
  }
  .medium-margin-collapse > .medium-11 {
    width: 91.6666666667%;
  }
  .medium-margin-collapse > .medium-12 {
    width: 100%;
  }
}
@media print, screen and (min-width: 68.75em) {
  .medium-margin-collapse > .large-1 {
    width: 8.3333333333%;
  }
  .medium-margin-collapse > .large-2 {
    width: 16.6666666667%;
  }
  .medium-margin-collapse > .large-3 {
    width: 25%;
  }
  .medium-margin-collapse > .large-4 {
    width: 33.3333333333%;
  }
  .medium-margin-collapse > .large-5 {
    width: 41.6666666667%;
  }
  .medium-margin-collapse > .large-6 {
    width: 50%;
  }
  .medium-margin-collapse > .large-7 {
    width: 58.3333333333%;
  }
  .medium-margin-collapse > .large-8 {
    width: 66.6666666667%;
  }
  .medium-margin-collapse > .large-9 {
    width: 75%;
  }
  .medium-margin-collapse > .large-10 {
    width: 83.3333333333%;
  }
  .medium-margin-collapse > .large-11 {
    width: 91.6666666667%;
  }
  .medium-margin-collapse > .large-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: 68.75em) {
  .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: 68.75em) {
  .large-margin-collapse > .small-1 {
    width: 8.3333333333%;
  }
  .large-margin-collapse > .small-2 {
    width: 16.6666666667%;
  }
  .large-margin-collapse > .small-3 {
    width: 25%;
  }
  .large-margin-collapse > .small-4 {
    width: 33.3333333333%;
  }
  .large-margin-collapse > .small-5 {
    width: 41.6666666667%;
  }
  .large-margin-collapse > .small-6 {
    width: 50%;
  }
  .large-margin-collapse > .small-7 {
    width: 58.3333333333%;
  }
  .large-margin-collapse > .small-8 {
    width: 66.6666666667%;
  }
  .large-margin-collapse > .small-9 {
    width: 75%;
  }
  .large-margin-collapse > .small-10 {
    width: 83.3333333333%;
  }
  .large-margin-collapse > .small-11 {
    width: 91.6666666667%;
  }
  .large-margin-collapse > .small-12 {
    width: 100%;
  }
}
@media print, screen and (min-width: 68.75em) {
  .large-margin-collapse > .medium-1 {
    width: 8.3333333333%;
  }
  .large-margin-collapse > .medium-2 {
    width: 16.6666666667%;
  }
  .large-margin-collapse > .medium-3 {
    width: 25%;
  }
  .large-margin-collapse > .medium-4 {
    width: 33.3333333333%;
  }
  .large-margin-collapse > .medium-5 {
    width: 41.6666666667%;
  }
  .large-margin-collapse > .medium-6 {
    width: 50%;
  }
  .large-margin-collapse > .medium-7 {
    width: 58.3333333333%;
  }
  .large-margin-collapse > .medium-8 {
    width: 66.6666666667%;
  }
  .large-margin-collapse > .medium-9 {
    width: 75%;
  }
  .large-margin-collapse > .medium-10 {
    width: 83.3333333333%;
  }
  .large-margin-collapse > .medium-11 {
    width: 91.6666666667%;
  }
  .large-margin-collapse > .medium-12 {
    width: 100%;
  }
}
@media print, screen and (min-width: 68.75em) {
  .large-margin-collapse > .large-1 {
    width: 8.3333333333%;
  }
  .large-margin-collapse > .large-2 {
    width: 16.6666666667%;
  }
  .large-margin-collapse > .large-3 {
    width: 25%;
  }
  .large-margin-collapse > .large-4 {
    width: 33.3333333333%;
  }
  .large-margin-collapse > .large-5 {
    width: 41.6666666667%;
  }
  .large-margin-collapse > .large-6 {
    width: 50%;
  }
  .large-margin-collapse > .large-7 {
    width: 58.3333333333%;
  }
  .large-margin-collapse > .large-8 {
    width: 66.6666666667%;
  }
  .large-margin-collapse > .large-9 {
    width: 75%;
  }
  .large-margin-collapse > .large-10 {
    width: 83.3333333333%;
  }
  .large-margin-collapse > .large-11 {
    width: 91.6666666667%;
  }
  .large-margin-collapse > .large-12 {
    width: 100%;
  }
}

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

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

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

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

.grid-margin-x > .small-offset-1 {
  margin-left: calc(8.3333333333% + 1.875rem / 2);
}

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

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

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

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

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

.grid-margin-x > .small-offset-4 {
  margin-left: calc(33.3333333333% + 1.875rem / 2);
}

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

.grid-margin-x > .small-offset-5 {
  margin-left: calc(41.6666666667% + 1.875rem / 2);
}

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

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

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

.grid-margin-x > .small-offset-7 {
  margin-left: calc(58.3333333333% + 1.875rem / 2);
}

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

.grid-margin-x > .small-offset-8 {
  margin-left: calc(66.6666666667% + 1.875rem / 2);
}

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

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

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

.grid-margin-x > .small-offset-10 {
  margin-left: calc(83.3333333333% + 1.875rem / 2);
}

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

.grid-margin-x > .small-offset-11 {
  margin-left: calc(91.6666666667% + 1.875rem / 2);
}

@media print, screen and (min-width: 48em) {
  .medium-offset-0 {
    margin-left: 0%;
  }
  .grid-margin-x > .medium-offset-0 {
    margin-left: calc(0% + 3.75rem / 2);
  }
  .medium-offset-1 {
    margin-left: 8.3333333333%;
  }
  .grid-margin-x > .medium-offset-1 {
    margin-left: calc(8.3333333333% + 3.75rem / 2);
  }
  .medium-offset-2 {
    margin-left: 16.6666666667%;
  }
  .grid-margin-x > .medium-offset-2 {
    margin-left: calc(16.6666666667% + 3.75rem / 2);
  }
  .medium-offset-3 {
    margin-left: 25%;
  }
  .grid-margin-x > .medium-offset-3 {
    margin-left: calc(25% + 3.75rem / 2);
  }
  .medium-offset-4 {
    margin-left: 33.3333333333%;
  }
  .grid-margin-x > .medium-offset-4 {
    margin-left: calc(33.3333333333% + 3.75rem / 2);
  }
  .medium-offset-5 {
    margin-left: 41.6666666667%;
  }
  .grid-margin-x > .medium-offset-5 {
    margin-left: calc(41.6666666667% + 3.75rem / 2);
  }
  .medium-offset-6 {
    margin-left: 50%;
  }
  .grid-margin-x > .medium-offset-6 {
    margin-left: calc(50% + 3.75rem / 2);
  }
  .medium-offset-7 {
    margin-left: 58.3333333333%;
  }
  .grid-margin-x > .medium-offset-7 {
    margin-left: calc(58.3333333333% + 3.75rem / 2);
  }
  .medium-offset-8 {
    margin-left: 66.6666666667%;
  }
  .grid-margin-x > .medium-offset-8 {
    margin-left: calc(66.6666666667% + 3.75rem / 2);
  }
  .medium-offset-9 {
    margin-left: 75%;
  }
  .grid-margin-x > .medium-offset-9 {
    margin-left: calc(75% + 3.75rem / 2);
  }
  .medium-offset-10 {
    margin-left: 83.3333333333%;
  }
  .grid-margin-x > .medium-offset-10 {
    margin-left: calc(83.3333333333% + 3.75rem / 2);
  }
  .medium-offset-11 {
    margin-left: 91.6666666667%;
  }
  .grid-margin-x > .medium-offset-11 {
    margin-left: calc(91.6666666667% + 3.75rem / 2);
  }
}
@media print, screen and (min-width: 68.75em) {
  .large-offset-0 {
    margin-left: 0%;
  }
  .grid-margin-x > .large-offset-0 {
    margin-left: calc(0% + 3.75rem / 2);
  }
  .large-offset-1 {
    margin-left: 8.3333333333%;
  }
  .grid-margin-x > .large-offset-1 {
    margin-left: calc(8.3333333333% + 3.75rem / 2);
  }
  .large-offset-2 {
    margin-left: 16.6666666667%;
  }
  .grid-margin-x > .large-offset-2 {
    margin-left: calc(16.6666666667% + 3.75rem / 2);
  }
  .large-offset-3 {
    margin-left: 25%;
  }
  .grid-margin-x > .large-offset-3 {
    margin-left: calc(25% + 3.75rem / 2);
  }
  .large-offset-4 {
    margin-left: 33.3333333333%;
  }
  .grid-margin-x > .large-offset-4 {
    margin-left: calc(33.3333333333% + 3.75rem / 2);
  }
  .large-offset-5 {
    margin-left: 41.6666666667%;
  }
  .grid-margin-x > .large-offset-5 {
    margin-left: calc(41.6666666667% + 3.75rem / 2);
  }
  .large-offset-6 {
    margin-left: 50%;
  }
  .grid-margin-x > .large-offset-6 {
    margin-left: calc(50% + 3.75rem / 2);
  }
  .large-offset-7 {
    margin-left: 58.3333333333%;
  }
  .grid-margin-x > .large-offset-7 {
    margin-left: calc(58.3333333333% + 3.75rem / 2);
  }
  .large-offset-8 {
    margin-left: 66.6666666667%;
  }
  .grid-margin-x > .large-offset-8 {
    margin-left: calc(66.6666666667% + 3.75rem / 2);
  }
  .large-offset-9 {
    margin-left: 75%;
  }
  .grid-margin-x > .large-offset-9 {
    margin-left: calc(75% + 3.75rem / 2);
  }
  .large-offset-10 {
    margin-left: 83.3333333333%;
  }
  .grid-margin-x > .large-offset-10 {
    margin-left: calc(83.3333333333% + 3.75rem / 2);
  }
  .large-offset-11 {
    margin-left: 91.6666666667%;
  }
  .grid-margin-x > .large-offset-11 {
    margin-left: calc(91.6666666667% + 3.75rem / 2);
  }
}
.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 {
  height: auto;
  max-height: 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: 68.75em) {
  .grid-y > .large-shrink, .grid-y > .large-full, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 {
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
  }
}
.grid-y > .small-12, .grid-y > .small-11, .grid-y > .small-10, .grid-y > .small-9, .grid-y > .small-8, .grid-y > .small-7, .grid-y > .small-6, .grid-y > .small-5, .grid-y > .small-4, .grid-y > .small-3, .grid-y > .small-2, .grid-y > .small-1 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
.grid-y > .small-1 {
  height: 8.3333333333%;
}
.grid-y > .small-2 {
  height: 16.6666666667%;
}
.grid-y > .small-3 {
  height: 25%;
}
.grid-y > .small-4 {
  height: 33.3333333333%;
}
.grid-y > .small-5 {
  height: 41.6666666667%;
}
.grid-y > .small-6 {
  height: 50%;
}
.grid-y > .small-7 {
  height: 58.3333333333%;
}
.grid-y > .small-8 {
  height: 66.6666666667%;
}
.grid-y > .small-9 {
  height: 75%;
}
.grid-y > .small-10 {
  height: 83.3333333333%;
}
.grid-y > .small-11 {
  height: 91.6666666667%;
}
.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 0;
    height: auto;
  }
  .grid-y > .medium-12, .grid-y > .medium-11, .grid-y > .medium-10, .grid-y > .medium-9, .grid-y > .medium-8, .grid-y > .medium-7, .grid-y > .medium-6, .grid-y > .medium-5, .grid-y > .medium-4, .grid-y > .medium-3, .grid-y > .medium-2, .grid-y > .medium-1, .grid-y > .medium-shrink {
    -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.3333333333%;
  }
  .grid-y > .medium-2 {
    height: 16.6666666667%;
  }
  .grid-y > .medium-3 {
    height: 25%;
  }
  .grid-y > .medium-4 {
    height: 33.3333333333%;
  }
  .grid-y > .medium-5 {
    height: 41.6666666667%;
  }
  .grid-y > .medium-6 {
    height: 50%;
  }
  .grid-y > .medium-7 {
    height: 58.3333333333%;
  }
  .grid-y > .medium-8 {
    height: 66.6666666667%;
  }
  .grid-y > .medium-9 {
    height: 75%;
  }
  .grid-y > .medium-10 {
    height: 83.3333333333%;
  }
  .grid-y > .medium-11 {
    height: 91.6666666667%;
  }
  .grid-y > .medium-12 {
    height: 100%;
  }
}
@media print, screen and (min-width: 68.75em) {
  .grid-y > .large-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    height: auto;
  }
  .grid-y > .large-12, .grid-y > .large-11, .grid-y > .large-10, .grid-y > .large-9, .grid-y > .large-8, .grid-y > .large-7, .grid-y > .large-6, .grid-y > .large-5, .grid-y > .large-4, .grid-y > .large-3, .grid-y > .large-2, .grid-y > .large-1, .grid-y > .large-shrink {
    -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.3333333333%;
  }
  .grid-y > .large-2 {
    height: 16.6666666667%;
  }
  .grid-y > .large-3 {
    height: 25%;
  }
  .grid-y > .large-4 {
    height: 33.3333333333%;
  }
  .grid-y > .large-5 {
    height: 41.6666666667%;
  }
  .grid-y > .large-6 {
    height: 50%;
  }
  .grid-y > .large-7 {
    height: 58.3333333333%;
  }
  .grid-y > .large-8 {
    height: 66.6666666667%;
  }
  .grid-y > .large-9 {
    height: 75%;
  }
  .grid-y > .large-10 {
    height: 83.3333333333%;
  }
  .grid-y > .large-11 {
    height: 91.6666666667%;
  }
  .grid-y > .large-12 {
    height: 100%;
  }
}

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

.grid-margin-y {
  margin-top: -0.9375rem;
  margin-bottom: -0.9375rem;
}
@media print, screen and (min-width: 48em) {
  .grid-margin-y {
    margin-top: -1.875rem;
    margin-bottom: -1.875rem;
  }
}
.grid-margin-y > .cell {
  height: calc(100% - 1.875rem);
  margin-top: 0.9375rem;
  margin-bottom: 0.9375rem;
}
@media print, screen and (min-width: 48em) {
  .grid-margin-y > .cell {
    height: calc(100% - 3.75rem);
    margin-top: 1.875rem;
    margin-bottom: 1.875rem;
  }
}
.grid-margin-y > .auto {
  height: auto;
}
.grid-margin-y > .shrink {
  height: auto;
}
.grid-margin-y > .small-1 {
  height: calc(8.3333333333% - 1.875rem);
}
.grid-margin-y > .small-2 {
  height: calc(16.6666666667% - 1.875rem);
}
.grid-margin-y > .small-3 {
  height: calc(25% - 1.875rem);
}
.grid-margin-y > .small-4 {
  height: calc(33.3333333333% - 1.875rem);
}
.grid-margin-y > .small-5 {
  height: calc(41.6666666667% - 1.875rem);
}
.grid-margin-y > .small-6 {
  height: calc(50% - 1.875rem);
}
.grid-margin-y > .small-7 {
  height: calc(58.3333333333% - 1.875rem);
}
.grid-margin-y > .small-8 {
  height: calc(66.6666666667% - 1.875rem);
}
.grid-margin-y > .small-9 {
  height: calc(75% - 1.875rem);
}
.grid-margin-y > .small-10 {
  height: calc(83.3333333333% - 1.875rem);
}
.grid-margin-y > .small-11 {
  height: calc(91.6666666667% - 1.875rem);
}
.grid-margin-y > .small-12 {
  height: calc(100% - 1.875rem);
}
@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.3333333333% - 3.75rem);
  }
  .grid-margin-y > .small-2 {
    height: calc(16.6666666667% - 3.75rem);
  }
  .grid-margin-y > .small-3 {
    height: calc(25% - 3.75rem);
  }
  .grid-margin-y > .small-4 {
    height: calc(33.3333333333% - 3.75rem);
  }
  .grid-margin-y > .small-5 {
    height: calc(41.6666666667% - 3.75rem);
  }
  .grid-margin-y > .small-6 {
    height: calc(50% - 3.75rem);
  }
  .grid-margin-y > .small-7 {
    height: calc(58.3333333333% - 3.75rem);
  }
  .grid-margin-y > .small-8 {
    height: calc(66.6666666667% - 3.75rem);
  }
  .grid-margin-y > .small-9 {
    height: calc(75% - 3.75rem);
  }
  .grid-margin-y > .small-10 {
    height: calc(83.3333333333% - 3.75rem);
  }
  .grid-margin-y > .small-11 {
    height: calc(91.6666666667% - 3.75rem);
  }
  .grid-margin-y > .small-12 {
    height: calc(100% - 3.75rem);
  }
  .grid-margin-y > .medium-auto {
    height: auto;
  }
  .grid-margin-y > .medium-shrink {
    height: auto;
  }
  .grid-margin-y > .medium-1 {
    height: calc(8.3333333333% - 3.75rem);
  }
  .grid-margin-y > .medium-2 {
    height: calc(16.6666666667% - 3.75rem);
  }
  .grid-margin-y > .medium-3 {
    height: calc(25% - 3.75rem);
  }
  .grid-margin-y > .medium-4 {
    height: calc(33.3333333333% - 3.75rem);
  }
  .grid-margin-y > .medium-5 {
    height: calc(41.6666666667% - 3.75rem);
  }
  .grid-margin-y > .medium-6 {
    height: calc(50% - 3.75rem);
  }
  .grid-margin-y > .medium-7 {
    height: calc(58.3333333333% - 3.75rem);
  }
  .grid-margin-y > .medium-8 {
    height: calc(66.6666666667% - 3.75rem);
  }
  .grid-margin-y > .medium-9 {
    height: calc(75% - 3.75rem);
  }
  .grid-margin-y > .medium-10 {
    height: calc(83.3333333333% - 3.75rem);
  }
  .grid-margin-y > .medium-11 {
    height: calc(91.6666666667% - 3.75rem);
  }
  .grid-margin-y > .medium-12 {
    height: calc(100% - 3.75rem);
  }
}
@media print, screen and (min-width: 68.75em) {
  .grid-margin-y > .large-auto {
    height: auto;
  }
  .grid-margin-y > .large-shrink {
    height: auto;
  }
  .grid-margin-y > .large-1 {
    height: calc(8.3333333333% - 3.75rem);
  }
  .grid-margin-y > .large-2 {
    height: calc(16.6666666667% - 3.75rem);
  }
  .grid-margin-y > .large-3 {
    height: calc(25% - 3.75rem);
  }
  .grid-margin-y > .large-4 {
    height: calc(33.3333333333% - 3.75rem);
  }
  .grid-margin-y > .large-5 {
    height: calc(41.6666666667% - 3.75rem);
  }
  .grid-margin-y > .large-6 {
    height: calc(50% - 3.75rem);
  }
  .grid-margin-y > .large-7 {
    height: calc(58.3333333333% - 3.75rem);
  }
  .grid-margin-y > .large-8 {
    height: calc(66.6666666667% - 3.75rem);
  }
  .grid-margin-y > .large-9 {
    height: calc(75% - 3.75rem);
  }
  .grid-margin-y > .large-10 {
    height: calc(83.3333333333% - 3.75rem);
  }
  .grid-margin-y > .large-11 {
    height: calc(91.6666666667% - 3.75rem);
  }
  .grid-margin-y > .large-12 {
    height: calc(100% - 3.75rem);
  }
}

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

.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: 68.75em) {
  .cell .grid-y.large-grid-frame {
    height: 100%;
  }
}

.grid-margin-y {
  margin-top: -0.9375rem;
  margin-bottom: -0.9375rem;
}
@media print, screen and (min-width: 48em) {
  .grid-margin-y {
    margin-top: -1.875rem;
    margin-bottom: -1.875rem;
  }
}
.grid-margin-y > .cell {
  height: calc(100% - 1.875rem);
  margin-top: 0.9375rem;
  margin-bottom: 0.9375rem;
}
@media print, screen and (min-width: 48em) {
  .grid-margin-y > .cell {
    height: calc(100% - 3.75rem);
    margin-top: 1.875rem;
    margin-bottom: 1.875rem;
  }
}
.grid-margin-y > .auto {
  height: auto;
}
.grid-margin-y > .shrink {
  height: auto;
}
.grid-margin-y > .small-1 {
  height: calc(8.3333333333% - 1.875rem);
}
.grid-margin-y > .small-2 {
  height: calc(16.6666666667% - 1.875rem);
}
.grid-margin-y > .small-3 {
  height: calc(25% - 1.875rem);
}
.grid-margin-y > .small-4 {
  height: calc(33.3333333333% - 1.875rem);
}
.grid-margin-y > .small-5 {
  height: calc(41.6666666667% - 1.875rem);
}
.grid-margin-y > .small-6 {
  height: calc(50% - 1.875rem);
}
.grid-margin-y > .small-7 {
  height: calc(58.3333333333% - 1.875rem);
}
.grid-margin-y > .small-8 {
  height: calc(66.6666666667% - 1.875rem);
}
.grid-margin-y > .small-9 {
  height: calc(75% - 1.875rem);
}
.grid-margin-y > .small-10 {
  height: calc(83.3333333333% - 1.875rem);
}
.grid-margin-y > .small-11 {
  height: calc(91.6666666667% - 1.875rem);
}
.grid-margin-y > .small-12 {
  height: calc(100% - 1.875rem);
}
@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.3333333333% - 3.75rem);
  }
  .grid-margin-y > .small-2 {
    height: calc(16.6666666667% - 3.75rem);
  }
  .grid-margin-y > .small-3 {
    height: calc(25% - 3.75rem);
  }
  .grid-margin-y > .small-4 {
    height: calc(33.3333333333% - 3.75rem);
  }
  .grid-margin-y > .small-5 {
    height: calc(41.6666666667% - 3.75rem);
  }
  .grid-margin-y > .small-6 {
    height: calc(50% - 3.75rem);
  }
  .grid-margin-y > .small-7 {
    height: calc(58.3333333333% - 3.75rem);
  }
  .grid-margin-y > .small-8 {
    height: calc(66.6666666667% - 3.75rem);
  }
  .grid-margin-y > .small-9 {
    height: calc(75% - 3.75rem);
  }
  .grid-margin-y > .small-10 {
    height: calc(83.3333333333% - 3.75rem);
  }
  .grid-margin-y > .small-11 {
    height: calc(91.6666666667% - 3.75rem);
  }
  .grid-margin-y > .small-12 {
    height: calc(100% - 3.75rem);
  }
  .grid-margin-y > .medium-auto {
    height: auto;
  }
  .grid-margin-y > .medium-shrink {
    height: auto;
  }
  .grid-margin-y > .medium-1 {
    height: calc(8.3333333333% - 3.75rem);
  }
  .grid-margin-y > .medium-2 {
    height: calc(16.6666666667% - 3.75rem);
  }
  .grid-margin-y > .medium-3 {
    height: calc(25% - 3.75rem);
  }
  .grid-margin-y > .medium-4 {
    height: calc(33.3333333333% - 3.75rem);
  }
  .grid-margin-y > .medium-5 {
    height: calc(41.6666666667% - 3.75rem);
  }
  .grid-margin-y > .medium-6 {
    height: calc(50% - 3.75rem);
  }
  .grid-margin-y > .medium-7 {
    height: calc(58.3333333333% - 3.75rem);
  }
  .grid-margin-y > .medium-8 {
    height: calc(66.6666666667% - 3.75rem);
  }
  .grid-margin-y > .medium-9 {
    height: calc(75% - 3.75rem);
  }
  .grid-margin-y > .medium-10 {
    height: calc(83.3333333333% - 3.75rem);
  }
  .grid-margin-y > .medium-11 {
    height: calc(91.6666666667% - 3.75rem);
  }
  .grid-margin-y > .medium-12 {
    height: calc(100% - 3.75rem);
  }
}
@media print, screen and (min-width: 68.75em) {
  .grid-margin-y > .large-auto {
    height: auto;
  }
  .grid-margin-y > .large-shrink {
    height: auto;
  }
  .grid-margin-y > .large-1 {
    height: calc(8.3333333333% - 3.75rem);
  }
  .grid-margin-y > .large-2 {
    height: calc(16.6666666667% - 3.75rem);
  }
  .grid-margin-y > .large-3 {
    height: calc(25% - 3.75rem);
  }
  .grid-margin-y > .large-4 {
    height: calc(33.3333333333% - 3.75rem);
  }
  .grid-margin-y > .large-5 {
    height: calc(41.6666666667% - 3.75rem);
  }
  .grid-margin-y > .large-6 {
    height: calc(50% - 3.75rem);
  }
  .grid-margin-y > .large-7 {
    height: calc(58.3333333333% - 3.75rem);
  }
  .grid-margin-y > .large-8 {
    height: calc(66.6666666667% - 3.75rem);
  }
  .grid-margin-y > .large-9 {
    height: calc(75% - 3.75rem);
  }
  .grid-margin-y > .large-10 {
    height: calc(83.3333333333% - 3.75rem);
  }
  .grid-margin-y > .large-11 {
    height: calc(91.6666666667% - 3.75rem);
  }
  .grid-margin-y > .large-12 {
    height: calc(100% - 3.75rem);
  }
}

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

@media print, screen and (min-width: 48em) {
  .grid-margin-y.medium-grid-frame {
    height: calc(100vh + 3.75rem);
  }
}
@media print, screen and (min-width: 68.75em) {
  .grid-margin-y.large-grid-frame {
    height: calc(100vh + 3.75rem);
  }
}
@-webkit-keyframes pulseDown {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(10px);
            transform: translateY(10px);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes pulseDown {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(10px);
            transform: translateY(10px);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes pulseLeft {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  50% {
    -webkit-transform: translateX(-10px);
            transform: translateX(-10px);
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes pulseLeft {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  50% {
    -webkit-transform: translateX(-10px);
            transform: translateX(-10px);
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@-webkit-keyframes pulseRight {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  50% {
    -webkit-transform: translateX(10px);
            transform: translateX(10px);
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes pulseRight {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  50% {
    -webkit-transform: translateX(10px);
            transform: translateX(10px);
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@-webkit-keyframes float {
  0% {
    -webkit-transform: translateY(0px) rotate(0deg);
            transform: translateY(0px) rotate(0deg);
  }
  50% {
    -webkit-transform: translateY(-15px) rotate(1deg);
            transform: translateY(-15px) rotate(1deg);
  }
  100% {
    -webkit-transform: translateY(0px) rotate(0deg);
            transform: translateY(0px) rotate(0deg);
  }
}
@keyframes float {
  0% {
    -webkit-transform: translateY(0px) rotate(0deg);
            transform: translateY(0px) rotate(0deg);
  }
  50% {
    -webkit-transform: translateY(-15px) rotate(1deg);
            transform: translateY(-15px) rotate(1deg);
  }
  100% {
    -webkit-transform: translateY(0px) rotate(0deg);
            transform: translateY(0px) rotate(0deg);
  }
}
@-webkit-keyframes slideRight {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(var(--offset, 0em));
            transform: translateX(var(--offset, 0em));
  }
}
@keyframes slideRight {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(var(--offset, 0em));
            transform: translateX(var(--offset, 0em));
  }
}
@-webkit-keyframes letter-reveal {
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes letter-reveal {
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
.margin-5 {
  margin: 5px !important;
}

.margin-5-vertical {
  margin-top: 5px !important;
  margin-bottom: 5px !important;
}

.margin-5-horizontal {
  margin-left: 5px !important;
  margin-right: 5px !important;
}

.margin-5-left {
  margin-left: 5px !important;
}

.margin-5-right {
  margin-right: 5px !important;
}

.margin-5-top {
  margin-top: 5px !important;
}

.margin-5-bottom {
  margin-bottom: 5px !important;
}

.margin-8 {
  margin: 8px !important;
}

.margin-8-vertical {
  margin-top: 8px !important;
  margin-bottom: 8px !important;
}

.margin-8-horizontal {
  margin-left: 8px !important;
  margin-right: 8px !important;
}

.margin-8-left {
  margin-left: 8px !important;
}

.margin-8-right {
  margin-right: 8px !important;
}

.margin-8-top {
  margin-top: 8px !important;
}

.margin-8-bottom {
  margin-bottom: 8px !important;
}

.margin-12 {
  margin: 12px !important;
}

.margin-12-vertical {
  margin-top: 12px !important;
  margin-bottom: 12px !important;
}

.margin-12-horizontal {
  margin-left: 12px !important;
  margin-right: 12px !important;
}

.margin-12-left {
  margin-left: 12px !important;
}

.margin-12-right {
  margin-right: 12px !important;
}

.margin-12-top {
  margin-top: 12px !important;
}

.margin-12-bottom {
  margin-bottom: 12px !important;
}

.margin-60 {
  margin: 60px !important;
}

.margin-60-vertical {
  margin-top: 60px !important;
  margin-bottom: 60px !important;
}

.margin-60-horizontal {
  margin-left: 60px !important;
  margin-right: 60px !important;
}

.margin-60-left {
  margin-left: 60px !important;
}

.margin-60-right {
  margin-right: 60px !important;
}

.margin-60-top {
  margin-top: 60px !important;
}

.margin-60-bottom {
  margin-bottom: 60px !important;
}

.margin-xxsmall {
  margin: 16px !important;
}

.margin-xxsmall-vertical {
  margin-top: 16px !important;
  margin-bottom: 16px !important;
}

.margin-xxsmall-horizontal {
  margin-left: 16px !important;
  margin-right: 16px !important;
}

.margin-xxsmall-left {
  margin-left: 16px !important;
}

.margin-xxsmall-right {
  margin-right: 16px !important;
}

.margin-xxsmall-top {
  margin-top: 16px !important;
}

.margin-xxsmall-bottom {
  margin-bottom: 16px !important;
}

.margin-xsmall {
  margin: 20px !important;
}

.margin-xsmall-vertical {
  margin-top: 20px !important;
  margin-bottom: 20px !important;
}

.margin-xsmall-horizontal {
  margin-left: 20px !important;
  margin-right: 20px !important;
}

.margin-xsmall-left {
  margin-left: 20px !important;
}

.margin-xsmall-right {
  margin-right: 20px !important;
}

.margin-xsmall-top {
  margin-top: 20px !important;
}

.margin-xsmall-bottom {
  margin-bottom: 20px !important;
}

.margin-small {
  margin: 40px !important;
}

.margin-small-vertical {
  margin-top: 40px !important;
  margin-bottom: 40px !important;
}

.margin-small-horizontal {
  margin-left: 40px !important;
  margin-right: 40px !important;
}

.margin-small-left {
  margin-left: 40px !important;
}

.margin-small-right {
  margin-right: 40px !important;
}

.margin-small-top {
  margin-top: 40px !important;
}

.margin-small-bottom {
  margin-bottom: 40px !important;
}

.margin-medium {
  margin: 50px !important;
}

.margin-medium-vertical {
  margin-top: 50px !important;
  margin-bottom: 50px !important;
}

.margin-medium-horizontal {
  margin-left: 50px !important;
  margin-right: 50px !important;
}

.margin-medium-left {
  margin-left: 50px !important;
}

.margin-medium-right {
  margin-right: 50px !important;
}

.margin-medium-top {
  margin-top: 50px !important;
}

.margin-medium-bottom {
  margin-bottom: 50px !important;
}

.margin-large {
  margin: 80px !important;
}

.margin-large-vertical {
  margin-top: 80px !important;
  margin-bottom: 80px !important;
}

.margin-large-horizontal {
  margin-left: 80px !important;
  margin-right: 80px !important;
}

.margin-large-left {
  margin-left: 80px !important;
}

.margin-large-right {
  margin-right: 80px !important;
}

.margin-large-top {
  margin-top: 80px !important;
}

.margin-large-bottom {
  margin-bottom: 80px !important;
}

.margin-xlarge {
  margin: 110px !important;
}

.margin-xlarge-vertical {
  margin-top: 110px !important;
  margin-bottom: 110px !important;
}

.margin-xlarge-horizontal {
  margin-left: 110px !important;
  margin-right: 110px !important;
}

.margin-xlarge-left {
  margin-left: 110px !important;
}

.margin-xlarge-right {
  margin-right: 110px !important;
}

.margin-xlarge-top {
  margin-top: 110px !important;
}

.margin-xlarge-bottom {
  margin-bottom: 110px !important;
}

.margin-xxlarge {
  margin: 200px !important;
}

.margin-xxlarge-vertical {
  margin-top: 200px !important;
  margin-bottom: 200px !important;
}

.margin-xxlarge-horizontal {
  margin-left: 200px !important;
  margin-right: 200px !important;
}

.margin-xxlarge-left {
  margin-left: 200px !important;
}

.margin-xxlarge-right {
  margin-right: 200px !important;
}

.margin-xxlarge-top {
  margin-top: 200px !important;
}

.margin-xxlarge-bottom {
  margin-bottom: 200px !important;
}

.margin-30 {
  margin: 30px !important;
}

.margin-30-vertical {
  margin-top: 30px !important;
  margin-bottom: 30px !important;
}

.margin-30-horizontal {
  margin-left: 30px !important;
  margin-right: 30px !important;
}

.margin-30-left {
  margin-left: 30px !important;
}

.margin-30-right {
  margin-right: 30px !important;
}

.margin-30-top {
  margin-top: 30px !important;
}

.margin-30-bottom {
  margin-bottom: 30px !important;
}

.margin-auto {
  margin: auto !important;
}

.margin-auto-vertical {
  margin-top: auto !important;
  margin-bottom: auto !important;
}

.margin-auto-horizontal {
  margin-left: auto !important;
  margin-right: auto !important;
}

.margin-auto-left {
  margin-left: auto !important;
}

.margin-auto-right {
  margin-right: auto !important;
}

.margin-auto-top {
  margin-top: auto !important;
}

.margin-auto-bottom {
  margin-bottom: auto !important;
}

@media print, screen and (max-width: 47.99875em) {
  .small-only-margin-xxsmall {
    margin: 16px !important;
  }
  .small-only-margin-xxsmall-vertical {
    margin-top: 16px !important;
    margin-bottom: 16px !important;
  }
  .small-only-margin-xxsmall-horizontal {
    margin-left: 16px !important;
    margin-right: 16px !important;
  }
  .small-only-margin-xxsmall-left {
    margin-left: 16px !important;
  }
  .small-only-margin-xxsmall-right {
    margin-right: 16px !important;
  }
  .small-only-margin-xxsmall-top {
    margin-top: 16px !important;
  }
  .small-only-margin-xxsmall-bottom {
    margin-bottom: 16px !important;
  }
  .small-only-margin-xsmall {
    margin: 20px !important;
  }
  .small-only-margin-xsmall-vertical {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
  }
  .small-only-margin-xsmall-horizontal {
    margin-left: 20px !important;
    margin-right: 20px !important;
  }
  .small-only-margin-xsmall-left {
    margin-left: 20px !important;
  }
  .small-only-margin-xsmall-right {
    margin-right: 20px !important;
  }
  .small-only-margin-xsmall-top {
    margin-top: 20px !important;
  }
  .small-only-margin-xsmall-bottom {
    margin-bottom: 20px !important;
  }
  .small-only-margin-small {
    margin: 40px !important;
  }
  .small-only-margin-small-vertical {
    margin-top: 40px !important;
    margin-bottom: 40px !important;
  }
  .small-only-margin-small-horizontal {
    margin-left: 40px !important;
    margin-right: 40px !important;
  }
  .small-only-margin-small-left {
    margin-left: 40px !important;
  }
  .small-only-margin-small-right {
    margin-right: 40px !important;
  }
  .small-only-margin-small-top {
    margin-top: 40px !important;
  }
  .small-only-margin-small-bottom {
    margin-bottom: 40px !important;
  }
  .small-only-margin-medium {
    margin: 50px !important;
  }
  .small-only-margin-medium-vertical {
    margin-top: 50px !important;
    margin-bottom: 50px !important;
  }
  .small-only-margin-medium-horizontal {
    margin-left: 50px !important;
    margin-right: 50px !important;
  }
  .small-only-margin-medium-left {
    margin-left: 50px !important;
  }
  .small-only-margin-medium-right {
    margin-right: 50px !important;
  }
  .small-only-margin-medium-top {
    margin-top: 50px !important;
  }
  .small-only-margin-medium-bottom {
    margin-bottom: 50px !important;
  }
  .small-only-margin-large {
    margin: 80px !important;
  }
  .small-only-margin-large-vertical {
    margin-top: 80px !important;
    margin-bottom: 80px !important;
  }
  .small-only-margin-large-horizontal {
    margin-left: 80px !important;
    margin-right: 80px !important;
  }
  .small-only-margin-large-left {
    margin-left: 80px !important;
  }
  .small-only-margin-large-right {
    margin-right: 80px !important;
  }
  .small-only-margin-large-top {
    margin-top: 80px !important;
  }
  .small-only-margin-large-bottom {
    margin-bottom: 80px !important;
  }
  .small-only-margin-xlarge {
    margin: 110px !important;
  }
  .small-only-margin-xlarge-vertical {
    margin-top: 110px !important;
    margin-bottom: 110px !important;
  }
  .small-only-margin-xlarge-horizontal {
    margin-left: 110px !important;
    margin-right: 110px !important;
  }
  .small-only-margin-xlarge-left {
    margin-left: 110px !important;
  }
  .small-only-margin-xlarge-right {
    margin-right: 110px !important;
  }
  .small-only-margin-xlarge-top {
    margin-top: 110px !important;
  }
  .small-only-margin-xlarge-bottom {
    margin-bottom: 110px !important;
  }
  .small-only-margin-xxlarge {
    margin: 200px !important;
  }
  .small-only-margin-xxlarge-vertical {
    margin-top: 200px !important;
    margin-bottom: 200px !important;
  }
  .small-only-margin-xxlarge-horizontal {
    margin-left: 200px !important;
    margin-right: 200px !important;
  }
  .small-only-margin-xxlarge-left {
    margin-left: 200px !important;
  }
  .small-only-margin-xxlarge-right {
    margin-right: 200px !important;
  }
  .small-only-margin-xxlarge-top {
    margin-top: 200px !important;
  }
  .small-only-margin-xxlarge-bottom {
    margin-bottom: 200px !important;
  }
  .small-only-margin-30 {
    margin: 30px !important;
  }
  .small-only-margin-30-vertical {
    margin-top: 30px !important;
    margin-bottom: 30px !important;
  }
  .small-only-margin-30-horizontal {
    margin-left: 30px !important;
    margin-right: 30px !important;
  }
  .small-only-margin-30-left {
    margin-left: 30px !important;
  }
  .small-only-margin-30-right {
    margin-right: 30px !important;
  }
  .small-only-margin-30-top {
    margin-top: 30px !important;
  }
  .small-only-margin-30-bottom {
    margin-bottom: 30px !important;
  }
  .small-only-margin-auto {
    margin: auto !important;
  }
  .small-only-margin-auto-vertical {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .small-only-margin-auto-horizontal {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .small-only-margin-auto-left {
    margin-left: auto !important;
  }
  .small-only-margin-auto-right {
    margin-right: auto !important;
  }
  .small-only-margin-auto-top {
    margin-top: auto !important;
  }
  .small-only-margin-auto-bottom {
    margin-bottom: auto !important;
  }
}
@media print, screen and (min-width: 48em) {
  .medium-margin-xxsmall {
    margin: 16px !important;
  }
  .medium-margin-xxsmall-vertical {
    margin-top: 16px !important;
    margin-bottom: 16px !important;
  }
  .medium-margin-xxsmall-horizontal {
    margin-left: 16px !important;
    margin-right: 16px !important;
  }
  .medium-margin-xxsmall-left {
    margin-left: 16px !important;
  }
  .medium-margin-xxsmall-right {
    margin-right: 16px !important;
  }
  .medium-margin-xxsmall-top {
    margin-top: 16px !important;
  }
  .medium-margin-xxsmall-bottom {
    margin-bottom: 16px !important;
  }
  .medium-margin-xsmall {
    margin: 20px !important;
  }
  .medium-margin-xsmall-vertical {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
  }
  .medium-margin-xsmall-horizontal {
    margin-left: 20px !important;
    margin-right: 20px !important;
  }
  .medium-margin-xsmall-left {
    margin-left: 20px !important;
  }
  .medium-margin-xsmall-right {
    margin-right: 20px !important;
  }
  .medium-margin-xsmall-top {
    margin-top: 20px !important;
  }
  .medium-margin-xsmall-bottom {
    margin-bottom: 20px !important;
  }
  .medium-margin-small {
    margin: 40px !important;
  }
  .medium-margin-small-vertical {
    margin-top: 40px !important;
    margin-bottom: 40px !important;
  }
  .medium-margin-small-horizontal {
    margin-left: 40px !important;
    margin-right: 40px !important;
  }
  .medium-margin-small-left {
    margin-left: 40px !important;
  }
  .medium-margin-small-right {
    margin-right: 40px !important;
  }
  .medium-margin-small-top {
    margin-top: 40px !important;
  }
  .medium-margin-small-bottom {
    margin-bottom: 40px !important;
  }
  .medium-margin-medium {
    margin: 50px !important;
  }
  .medium-margin-medium-vertical {
    margin-top: 50px !important;
    margin-bottom: 50px !important;
  }
  .medium-margin-medium-horizontal {
    margin-left: 50px !important;
    margin-right: 50px !important;
  }
  .medium-margin-medium-left {
    margin-left: 50px !important;
  }
  .medium-margin-medium-right {
    margin-right: 50px !important;
  }
  .medium-margin-medium-top {
    margin-top: 50px !important;
  }
  .medium-margin-medium-bottom {
    margin-bottom: 50px !important;
  }
  .medium-margin-large {
    margin: 80px !important;
  }
  .medium-margin-large-vertical {
    margin-top: 80px !important;
    margin-bottom: 80px !important;
  }
  .medium-margin-large-horizontal {
    margin-left: 80px !important;
    margin-right: 80px !important;
  }
  .medium-margin-large-left {
    margin-left: 80px !important;
  }
  .medium-margin-large-right {
    margin-right: 80px !important;
  }
  .medium-margin-large-top {
    margin-top: 80px !important;
  }
  .medium-margin-large-bottom {
    margin-bottom: 80px !important;
  }
  .medium-margin-xlarge {
    margin: 110px !important;
  }
  .medium-margin-xlarge-vertical {
    margin-top: 110px !important;
    margin-bottom: 110px !important;
  }
  .medium-margin-xlarge-horizontal {
    margin-left: 110px !important;
    margin-right: 110px !important;
  }
  .medium-margin-xlarge-left {
    margin-left: 110px !important;
  }
  .medium-margin-xlarge-right {
    margin-right: 110px !important;
  }
  .medium-margin-xlarge-top {
    margin-top: 110px !important;
  }
  .medium-margin-xlarge-bottom {
    margin-bottom: 110px !important;
  }
  .medium-margin-xxlarge {
    margin: 200px !important;
  }
  .medium-margin-xxlarge-vertical {
    margin-top: 200px !important;
    margin-bottom: 200px !important;
  }
  .medium-margin-xxlarge-horizontal {
    margin-left: 200px !important;
    margin-right: 200px !important;
  }
  .medium-margin-xxlarge-left {
    margin-left: 200px !important;
  }
  .medium-margin-xxlarge-right {
    margin-right: 200px !important;
  }
  .medium-margin-xxlarge-top {
    margin-top: 200px !important;
  }
  .medium-margin-xxlarge-bottom {
    margin-bottom: 200px !important;
  }
  .medium-margin-30 {
    margin: 30px !important;
  }
  .medium-margin-30-vertical {
    margin-top: 30px !important;
    margin-bottom: 30px !important;
  }
  .medium-margin-30-horizontal {
    margin-left: 30px !important;
    margin-right: 30px !important;
  }
  .medium-margin-30-left {
    margin-left: 30px !important;
  }
  .medium-margin-30-right {
    margin-right: 30px !important;
  }
  .medium-margin-30-top {
    margin-top: 30px !important;
  }
  .medium-margin-30-bottom {
    margin-bottom: 30px !important;
  }
  .medium-margin-auto {
    margin: auto !important;
  }
  .medium-margin-auto-vertical {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .medium-margin-auto-horizontal {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .medium-margin-auto-left {
    margin-left: auto !important;
  }
  .medium-margin-auto-right {
    margin-right: auto !important;
  }
  .medium-margin-auto-top {
    margin-top: auto !important;
  }
  .medium-margin-auto-bottom {
    margin-bottom: auto !important;
  }
}
@media print, screen and (min-width: 48em) and (max-width: 68.74875em) {
  .medium-only-margin-xxsmall {
    margin: 16px !important;
  }
  .medium-only-margin-xxsmall-vertical {
    margin-top: 16px !important;
    margin-bottom: 16px !important;
  }
  .medium-only-margin-xxsmall-horizontal {
    margin-left: 16px !important;
    margin-right: 16px !important;
  }
  .medium-only-margin-xxsmall-left {
    margin-left: 16px !important;
  }
  .medium-only-margin-xxsmall-right {
    margin-right: 16px !important;
  }
  .medium-only-margin-xxsmall-top {
    margin-top: 16px !important;
  }
  .medium-only-margin-xxsmall-bottom {
    margin-bottom: 16px !important;
  }
  .medium-only-margin-xsmall {
    margin: 20px !important;
  }
  .medium-only-margin-xsmall-vertical {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
  }
  .medium-only-margin-xsmall-horizontal {
    margin-left: 20px !important;
    margin-right: 20px !important;
  }
  .medium-only-margin-xsmall-left {
    margin-left: 20px !important;
  }
  .medium-only-margin-xsmall-right {
    margin-right: 20px !important;
  }
  .medium-only-margin-xsmall-top {
    margin-top: 20px !important;
  }
  .medium-only-margin-xsmall-bottom {
    margin-bottom: 20px !important;
  }
  .medium-only-margin-small {
    margin: 40px !important;
  }
  .medium-only-margin-small-vertical {
    margin-top: 40px !important;
    margin-bottom: 40px !important;
  }
  .medium-only-margin-small-horizontal {
    margin-left: 40px !important;
    margin-right: 40px !important;
  }
  .medium-only-margin-small-left {
    margin-left: 40px !important;
  }
  .medium-only-margin-small-right {
    margin-right: 40px !important;
  }
  .medium-only-margin-small-top {
    margin-top: 40px !important;
  }
  .medium-only-margin-small-bottom {
    margin-bottom: 40px !important;
  }
  .medium-only-margin-medium {
    margin: 50px !important;
  }
  .medium-only-margin-medium-vertical {
    margin-top: 50px !important;
    margin-bottom: 50px !important;
  }
  .medium-only-margin-medium-horizontal {
    margin-left: 50px !important;
    margin-right: 50px !important;
  }
  .medium-only-margin-medium-left {
    margin-left: 50px !important;
  }
  .medium-only-margin-medium-right {
    margin-right: 50px !important;
  }
  .medium-only-margin-medium-top {
    margin-top: 50px !important;
  }
  .medium-only-margin-medium-bottom {
    margin-bottom: 50px !important;
  }
  .medium-only-margin-large {
    margin: 80px !important;
  }
  .medium-only-margin-large-vertical {
    margin-top: 80px !important;
    margin-bottom: 80px !important;
  }
  .medium-only-margin-large-horizontal {
    margin-left: 80px !important;
    margin-right: 80px !important;
  }
  .medium-only-margin-large-left {
    margin-left: 80px !important;
  }
  .medium-only-margin-large-right {
    margin-right: 80px !important;
  }
  .medium-only-margin-large-top {
    margin-top: 80px !important;
  }
  .medium-only-margin-large-bottom {
    margin-bottom: 80px !important;
  }
  .medium-only-margin-xlarge {
    margin: 110px !important;
  }
  .medium-only-margin-xlarge-vertical {
    margin-top: 110px !important;
    margin-bottom: 110px !important;
  }
  .medium-only-margin-xlarge-horizontal {
    margin-left: 110px !important;
    margin-right: 110px !important;
  }
  .medium-only-margin-xlarge-left {
    margin-left: 110px !important;
  }
  .medium-only-margin-xlarge-right {
    margin-right: 110px !important;
  }
  .medium-only-margin-xlarge-top {
    margin-top: 110px !important;
  }
  .medium-only-margin-xlarge-bottom {
    margin-bottom: 110px !important;
  }
  .medium-only-margin-xxlarge {
    margin: 200px !important;
  }
  .medium-only-margin-xxlarge-vertical {
    margin-top: 200px !important;
    margin-bottom: 200px !important;
  }
  .medium-only-margin-xxlarge-horizontal {
    margin-left: 200px !important;
    margin-right: 200px !important;
  }
  .medium-only-margin-xxlarge-left {
    margin-left: 200px !important;
  }
  .medium-only-margin-xxlarge-right {
    margin-right: 200px !important;
  }
  .medium-only-margin-xxlarge-top {
    margin-top: 200px !important;
  }
  .medium-only-margin-xxlarge-bottom {
    margin-bottom: 200px !important;
  }
  .medium-only-margin-30 {
    margin: 30px !important;
  }
  .medium-only-margin-30-vertical {
    margin-top: 30px !important;
    margin-bottom: 30px !important;
  }
  .medium-only-margin-30-horizontal {
    margin-left: 30px !important;
    margin-right: 30px !important;
  }
  .medium-only-margin-30-left {
    margin-left: 30px !important;
  }
  .medium-only-margin-30-right {
    margin-right: 30px !important;
  }
  .medium-only-margin-30-top {
    margin-top: 30px !important;
  }
  .medium-only-margin-30-bottom {
    margin-bottom: 30px !important;
  }
  .medium-only-margin-auto {
    margin: auto !important;
  }
  .medium-only-margin-auto-vertical {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .medium-only-margin-auto-horizontal {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .medium-only-margin-auto-left {
    margin-left: auto !important;
  }
  .medium-only-margin-auto-right {
    margin-right: auto !important;
  }
  .medium-only-margin-auto-top {
    margin-top: auto !important;
  }
  .medium-only-margin-auto-bottom {
    margin-bottom: auto !important;
  }
}
@media print, screen and (min-width: 68.75em) {
  .large-margin-xxsmall {
    margin: 16px !important;
  }
  .large-margin-xxsmall-vertical {
    margin-top: 16px !important;
    margin-bottom: 16px !important;
  }
  .large-margin-xxsmall-horizontal {
    margin-left: 16px !important;
    margin-right: 16px !important;
  }
  .large-margin-xxsmall-left {
    margin-left: 16px !important;
  }
  .large-margin-xxsmall-right {
    margin-right: 16px !important;
  }
  .large-margin-xxsmall-top {
    margin-top: 16px !important;
  }
  .large-margin-xxsmall-bottom {
    margin-bottom: 16px !important;
  }
  .large-margin-xsmall {
    margin: 20px !important;
  }
  .large-margin-xsmall-vertical {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
  }
  .large-margin-xsmall-horizontal {
    margin-left: 20px !important;
    margin-right: 20px !important;
  }
  .large-margin-xsmall-left {
    margin-left: 20px !important;
  }
  .large-margin-xsmall-right {
    margin-right: 20px !important;
  }
  .large-margin-xsmall-top {
    margin-top: 20px !important;
  }
  .large-margin-xsmall-bottom {
    margin-bottom: 20px !important;
  }
  .large-margin-small {
    margin: 40px !important;
  }
  .large-margin-small-vertical {
    margin-top: 40px !important;
    margin-bottom: 40px !important;
  }
  .large-margin-small-horizontal {
    margin-left: 40px !important;
    margin-right: 40px !important;
  }
  .large-margin-small-left {
    margin-left: 40px !important;
  }
  .large-margin-small-right {
    margin-right: 40px !important;
  }
  .large-margin-small-top {
    margin-top: 40px !important;
  }
  .large-margin-small-bottom {
    margin-bottom: 40px !important;
  }
  .large-margin-medium {
    margin: 50px !important;
  }
  .large-margin-medium-vertical {
    margin-top: 50px !important;
    margin-bottom: 50px !important;
  }
  .large-margin-medium-horizontal {
    margin-left: 50px !important;
    margin-right: 50px !important;
  }
  .large-margin-medium-left {
    margin-left: 50px !important;
  }
  .large-margin-medium-right {
    margin-right: 50px !important;
  }
  .large-margin-medium-top {
    margin-top: 50px !important;
  }
  .large-margin-medium-bottom {
    margin-bottom: 50px !important;
  }
  .large-margin-large {
    margin: 80px !important;
  }
  .large-margin-large-vertical {
    margin-top: 80px !important;
    margin-bottom: 80px !important;
  }
  .large-margin-large-horizontal {
    margin-left: 80px !important;
    margin-right: 80px !important;
  }
  .large-margin-large-left {
    margin-left: 80px !important;
  }
  .large-margin-large-right {
    margin-right: 80px !important;
  }
  .large-margin-large-top {
    margin-top: 80px !important;
  }
  .large-margin-large-bottom {
    margin-bottom: 80px !important;
  }
  .large-margin-xlarge {
    margin: 110px !important;
  }
  .large-margin-xlarge-vertical {
    margin-top: 110px !important;
    margin-bottom: 110px !important;
  }
  .large-margin-xlarge-horizontal {
    margin-left: 110px !important;
    margin-right: 110px !important;
  }
  .large-margin-xlarge-left {
    margin-left: 110px !important;
  }
  .large-margin-xlarge-right {
    margin-right: 110px !important;
  }
  .large-margin-xlarge-top {
    margin-top: 110px !important;
  }
  .large-margin-xlarge-bottom {
    margin-bottom: 110px !important;
  }
  .large-margin-xxlarge {
    margin: 200px !important;
  }
  .large-margin-xxlarge-vertical {
    margin-top: 200px !important;
    margin-bottom: 200px !important;
  }
  .large-margin-xxlarge-horizontal {
    margin-left: 200px !important;
    margin-right: 200px !important;
  }
  .large-margin-xxlarge-left {
    margin-left: 200px !important;
  }
  .large-margin-xxlarge-right {
    margin-right: 200px !important;
  }
  .large-margin-xxlarge-top {
    margin-top: 200px !important;
  }
  .large-margin-xxlarge-bottom {
    margin-bottom: 200px !important;
  }
  .large-margin-30 {
    margin: 30px !important;
  }
  .large-margin-30-vertical {
    margin-top: 30px !important;
    margin-bottom: 30px !important;
  }
  .large-margin-30-horizontal {
    margin-left: 30px !important;
    margin-right: 30px !important;
  }
  .large-margin-30-left {
    margin-left: 30px !important;
  }
  .large-margin-30-right {
    margin-right: 30px !important;
  }
  .large-margin-30-top {
    margin-top: 30px !important;
  }
  .large-margin-30-bottom {
    margin-bottom: 30px !important;
  }
  .large-margin-auto {
    margin: auto !important;
  }
  .large-margin-auto-vertical {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .large-margin-auto-horizontal {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .large-margin-auto-left {
    margin-left: auto !important;
  }
  .large-margin-auto-right {
    margin-right: auto !important;
  }
  .large-margin-auto-top {
    margin-top: auto !important;
  }
  .large-margin-auto-bottom {
    margin-bottom: auto !important;
  }
}
.no-margin {
  margin: 0 !important;
}

.no-margin-vertical {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.no-margin-horizontal {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.no-margin-left {
  margin-left: 0 !important;
}

.no-margin-right {
  margin-right: 0 !important;
}

.no-margin-top {
  margin-top: 0 !important;
}

.no-margin-bottom {
  margin-bottom: 0 !important;
}

@media print, screen and (max-width: 47.99875em) {
  .small-only-no-margin {
    margin: 0 !important;
  }
  .small-only-no-margin-vertical {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .small-only-no-margin-horizontal {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .small-only-no-margin-left {
    margin-left: 0 !important;
  }
  .small-only-no-margin-right {
    margin-right: 0 !important;
  }
  .small-only-no-margin-top {
    margin-top: 0 !important;
  }
  .small-only-no-margin-bottom {
    margin-bottom: 0 !important;
  }
}
@media print, screen and (min-width: 48em) {
  .medium-no-margin {
    margin: 0 !important;
  }
  .medium-no-margin-vertical {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .medium-no-margin-horizontal {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .medium-no-margin-left {
    margin-left: 0 !important;
  }
  .medium-no-margin-right {
    margin-right: 0 !important;
  }
  .medium-no-margin-top {
    margin-top: 0 !important;
  }
  .medium-no-margin-bottom {
    margin-bottom: 0 !important;
  }
}
@media print, screen and (min-width: 48em) and (max-width: 68.74875em) {
  .medium-only-no-margin {
    margin: 0 !important;
  }
  .medium-only-no-margin-vertical {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .medium-only-no-margin-horizontal {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .medium-only-no-margin-left {
    margin-left: 0 !important;
  }
  .medium-only-no-margin-right {
    margin-right: 0 !important;
  }
  .medium-only-no-margin-top {
    margin-top: 0 !important;
  }
  .medium-only-no-margin-bottom {
    margin-bottom: 0 !important;
  }
}
@media print, screen and (min-width: 68.75em) {
  .large-no-margin {
    margin: 0 !important;
  }
  .large-no-margin-vertical {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .large-no-margin-horizontal {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .large-no-margin-left {
    margin-left: 0 !important;
  }
  .large-no-margin-right {
    margin-right: 0 !important;
  }
  .large-no-margin-top {
    margin-top: 0 !important;
  }
  .large-no-margin-bottom {
    margin-bottom: 0 !important;
  }
}
.margin-to-left {
  margin-left: 0;
  margin-right: auto;
}

.margin-to-right {
  margin-left: auto;
  margin-right: 0;
}

.margin-to-center {
  margin-left: auto;
  margin-right: auto;
}

@media print, screen and (max-width: 47.99875em) {
  .small-only-margin-to-left {
    margin-left: 0;
    margin-right: auto;
  }
  .small-only-margin-to-right {
    margin-left: auto;
    margin-right: 0;
  }
  .small-only-margin-to-center {
    margin-left: auto;
    margin-right: auto;
  }
}
@media print, screen and (min-width: 48em) {
  .medium-margin-to-left {
    margin-left: 0;
    margin-right: auto;
  }
  .medium-margin-to-right {
    margin-left: auto;
    margin-right: 0;
  }
  .medium-margin-to-center {
    margin-left: auto;
    margin-right: auto;
  }
}
@media print, screen and (min-width: 48em) and (max-width: 68.74875em) {
  .medium-only-margin-to-left {
    margin-left: 0;
    margin-right: auto;
  }
  .medium-only-margin-to-right {
    margin-left: auto;
    margin-right: 0;
  }
  .medium-only-margin-to-center {
    margin-left: auto;
    margin-right: auto;
  }
}
@media print, screen and (min-width: 68.75em) {
  .large-margin-to-left {
    margin-left: 0;
    margin-right: auto;
  }
  .large-margin-to-right {
    margin-left: auto;
    margin-right: 0;
  }
  .large-margin-to-center {
    margin-left: auto;
    margin-right: auto;
  }
}
.padding-5 {
  padding: 5px !important;
}

.padding-5-vertical {
  padding-top: 5px !important;
  padding-bottom: 5px !important;
}

.padding-5-horizontal {
  padding-left: 5px !important;
  padding-right: 5px !important;
}

.padding-5-left {
  padding-left: 5px !important;
}

.padding-5-right {
  padding-right: 5px !important;
}

.padding-5-top {
  padding-top: 5px !important;
}

.padding-5-bottom {
  padding-bottom: 5px !important;
}

.padding-8 {
  padding: 8px !important;
}

.padding-8-vertical {
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}

.padding-8-horizontal {
  padding-left: 8px !important;
  padding-right: 8px !important;
}

.padding-8-left {
  padding-left: 8px !important;
}

.padding-8-right {
  padding-right: 8px !important;
}

.padding-8-top {
  padding-top: 8px !important;
}

.padding-8-bottom {
  padding-bottom: 8px !important;
}

.padding-12 {
  padding: 12px !important;
}

.padding-12-vertical {
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}

.padding-12-horizontal {
  padding-left: 12px !important;
  padding-right: 12px !important;
}

.padding-12-left {
  padding-left: 12px !important;
}

.padding-12-right {
  padding-right: 12px !important;
}

.padding-12-top {
  padding-top: 12px !important;
}

.padding-12-bottom {
  padding-bottom: 12px !important;
}

.padding-60 {
  padding: 60px !important;
}

.padding-60-vertical {
  padding-top: 60px !important;
  padding-bottom: 60px !important;
}

.padding-60-horizontal {
  padding-left: 60px !important;
  padding-right: 60px !important;
}

.padding-60-left {
  padding-left: 60px !important;
}

.padding-60-right {
  padding-right: 60px !important;
}

.padding-60-top {
  padding-top: 60px !important;
}

.padding-60-bottom {
  padding-bottom: 60px !important;
}

.padding-xxsmall {
  padding: 16px !important;
}

.padding-xxsmall-vertical {
  padding-top: 16px !important;
  padding-bottom: 16px !important;
}

.padding-xxsmall-horizontal {
  padding-left: 16px !important;
  padding-right: 16px !important;
}

.padding-xxsmall-left {
  padding-left: 16px !important;
}

.padding-xxsmall-right {
  padding-right: 16px !important;
}

.padding-xxsmall-top {
  padding-top: 16px !important;
}

.padding-xxsmall-bottom {
  padding-bottom: 16px !important;
}

.padding-xsmall {
  padding: 20px !important;
}

.padding-xsmall-vertical {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}

.padding-xsmall-horizontal {
  padding-left: 20px !important;
  padding-right: 20px !important;
}

.padding-xsmall-left {
  padding-left: 20px !important;
}

.padding-xsmall-right {
  padding-right: 20px !important;
}

.padding-xsmall-top {
  padding-top: 20px !important;
}

.padding-xsmall-bottom {
  padding-bottom: 20px !important;
}

.padding-small {
  padding: 40px !important;
}

.padding-small-vertical {
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}

.padding-small-horizontal {
  padding-left: 40px !important;
  padding-right: 40px !important;
}

.padding-small-left {
  padding-left: 40px !important;
}

.padding-small-right {
  padding-right: 40px !important;
}

.padding-small-top {
  padding-top: 40px !important;
}

.padding-small-bottom {
  padding-bottom: 40px !important;
}

.padding-medium {
  padding: 50px !important;
}

.padding-medium-vertical {
  padding-top: 50px !important;
  padding-bottom: 50px !important;
}

.padding-medium-horizontal {
  padding-left: 50px !important;
  padding-right: 50px !important;
}

.padding-medium-left {
  padding-left: 50px !important;
}

.padding-medium-right {
  padding-right: 50px !important;
}

.padding-medium-top {
  padding-top: 50px !important;
}

.padding-medium-bottom {
  padding-bottom: 50px !important;
}

.padding-large {
  padding: 80px !important;
}

.padding-large-vertical {
  padding-top: 80px !important;
  padding-bottom: 80px !important;
}

.padding-large-horizontal {
  padding-left: 80px !important;
  padding-right: 80px !important;
}

.padding-large-left {
  padding-left: 80px !important;
}

.padding-large-right {
  padding-right: 80px !important;
}

.padding-large-top {
  padding-top: 80px !important;
}

.padding-large-bottom {
  padding-bottom: 80px !important;
}

.padding-xlarge {
  padding: 110px !important;
}

.padding-xlarge-vertical {
  padding-top: 110px !important;
  padding-bottom: 110px !important;
}

.padding-xlarge-horizontal {
  padding-left: 110px !important;
  padding-right: 110px !important;
}

.padding-xlarge-left {
  padding-left: 110px !important;
}

.padding-xlarge-right {
  padding-right: 110px !important;
}

.padding-xlarge-top {
  padding-top: 110px !important;
}

.padding-xlarge-bottom {
  padding-bottom: 110px !important;
}

.padding-xxlarge {
  padding: 200px !important;
}

.padding-xxlarge-vertical {
  padding-top: 200px !important;
  padding-bottom: 200px !important;
}

.padding-xxlarge-horizontal {
  padding-left: 200px !important;
  padding-right: 200px !important;
}

.padding-xxlarge-left {
  padding-left: 200px !important;
}

.padding-xxlarge-right {
  padding-right: 200px !important;
}

.padding-xxlarge-top {
  padding-top: 200px !important;
}

.padding-xxlarge-bottom {
  padding-bottom: 200px !important;
}

.padding-30 {
  padding: 30px !important;
}

.padding-30-vertical {
  padding-top: 30px !important;
  padding-bottom: 30px !important;
}

.padding-30-horizontal {
  padding-left: 30px !important;
  padding-right: 30px !important;
}

.padding-30-left {
  padding-left: 30px !important;
}

.padding-30-right {
  padding-right: 30px !important;
}

.padding-30-top {
  padding-top: 30px !important;
}

.padding-30-bottom {
  padding-bottom: 30px !important;
}

@media print, screen and (max-width: 47.99875em) {
  .small-only-padding-xxsmall {
    padding: 16px !important;
  }
  .small-only-padding-xxsmall-vertical {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
  }
  .small-only-padding-xxsmall-horizontal {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .small-only-padding-xxsmall-left {
    padding-left: 16px !important;
  }
  .small-only-padding-xxsmall-right {
    padding-right: 16px !important;
  }
  .small-only-padding-xxsmall-top {
    padding-top: 16px !important;
  }
  .small-only-padding-xxsmall-bottom {
    padding-bottom: 16px !important;
  }
  .small-only-padding-xsmall {
    padding: 20px !important;
  }
  .small-only-padding-xsmall-vertical {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }
  .small-only-padding-xsmall-horizontal {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .small-only-padding-xsmall-left {
    padding-left: 20px !important;
  }
  .small-only-padding-xsmall-right {
    padding-right: 20px !important;
  }
  .small-only-padding-xsmall-top {
    padding-top: 20px !important;
  }
  .small-only-padding-xsmall-bottom {
    padding-bottom: 20px !important;
  }
  .small-only-padding-small {
    padding: 40px !important;
  }
  .small-only-padding-small-vertical {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
  .small-only-padding-small-horizontal {
    padding-left: 40px !important;
    padding-right: 40px !important;
  }
  .small-only-padding-small-left {
    padding-left: 40px !important;
  }
  .small-only-padding-small-right {
    padding-right: 40px !important;
  }
  .small-only-padding-small-top {
    padding-top: 40px !important;
  }
  .small-only-padding-small-bottom {
    padding-bottom: 40px !important;
  }
  .small-only-padding-medium {
    padding: 50px !important;
  }
  .small-only-padding-medium-vertical {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
  }
  .small-only-padding-medium-horizontal {
    padding-left: 50px !important;
    padding-right: 50px !important;
  }
  .small-only-padding-medium-left {
    padding-left: 50px !important;
  }
  .small-only-padding-medium-right {
    padding-right: 50px !important;
  }
  .small-only-padding-medium-top {
    padding-top: 50px !important;
  }
  .small-only-padding-medium-bottom {
    padding-bottom: 50px !important;
  }
  .small-only-padding-large {
    padding: 80px !important;
  }
  .small-only-padding-large-vertical {
    padding-top: 80px !important;
    padding-bottom: 80px !important;
  }
  .small-only-padding-large-horizontal {
    padding-left: 80px !important;
    padding-right: 80px !important;
  }
  .small-only-padding-large-left {
    padding-left: 80px !important;
  }
  .small-only-padding-large-right {
    padding-right: 80px !important;
  }
  .small-only-padding-large-top {
    padding-top: 80px !important;
  }
  .small-only-padding-large-bottom {
    padding-bottom: 80px !important;
  }
  .small-only-padding-xlarge {
    padding: 110px !important;
  }
  .small-only-padding-xlarge-vertical {
    padding-top: 110px !important;
    padding-bottom: 110px !important;
  }
  .small-only-padding-xlarge-horizontal {
    padding-left: 110px !important;
    padding-right: 110px !important;
  }
  .small-only-padding-xlarge-left {
    padding-left: 110px !important;
  }
  .small-only-padding-xlarge-right {
    padding-right: 110px !important;
  }
  .small-only-padding-xlarge-top {
    padding-top: 110px !important;
  }
  .small-only-padding-xlarge-bottom {
    padding-bottom: 110px !important;
  }
  .small-only-padding-xxlarge {
    padding: 200px !important;
  }
  .small-only-padding-xxlarge-vertical {
    padding-top: 200px !important;
    padding-bottom: 200px !important;
  }
  .small-only-padding-xxlarge-horizontal {
    padding-left: 200px !important;
    padding-right: 200px !important;
  }
  .small-only-padding-xxlarge-left {
    padding-left: 200px !important;
  }
  .small-only-padding-xxlarge-right {
    padding-right: 200px !important;
  }
  .small-only-padding-xxlarge-top {
    padding-top: 200px !important;
  }
  .small-only-padding-xxlarge-bottom {
    padding-bottom: 200px !important;
  }
  .small-only-padding-30 {
    padding: 30px !important;
  }
  .small-only-padding-30-vertical {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }
  .small-only-padding-30-horizontal {
    padding-left: 30px !important;
    padding-right: 30px !important;
  }
  .small-only-padding-30-left {
    padding-left: 30px !important;
  }
  .small-only-padding-30-right {
    padding-right: 30px !important;
  }
  .small-only-padding-30-top {
    padding-top: 30px !important;
  }
  .small-only-padding-30-bottom {
    padding-bottom: 30px !important;
  }
}
@media print, screen and (min-width: 48em) {
  .medium-padding-xxsmall {
    padding: 16px !important;
  }
  .medium-padding-xxsmall-vertical {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
  }
  .medium-padding-xxsmall-horizontal {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .medium-padding-xxsmall-left {
    padding-left: 16px !important;
  }
  .medium-padding-xxsmall-right {
    padding-right: 16px !important;
  }
  .medium-padding-xxsmall-top {
    padding-top: 16px !important;
  }
  .medium-padding-xxsmall-bottom {
    padding-bottom: 16px !important;
  }
  .medium-padding-xsmall {
    padding: 20px !important;
  }
  .medium-padding-xsmall-vertical {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }
  .medium-padding-xsmall-horizontal {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .medium-padding-xsmall-left {
    padding-left: 20px !important;
  }
  .medium-padding-xsmall-right {
    padding-right: 20px !important;
  }
  .medium-padding-xsmall-top {
    padding-top: 20px !important;
  }
  .medium-padding-xsmall-bottom {
    padding-bottom: 20px !important;
  }
  .medium-padding-small {
    padding: 40px !important;
  }
  .medium-padding-small-vertical {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
  .medium-padding-small-horizontal {
    padding-left: 40px !important;
    padding-right: 40px !important;
  }
  .medium-padding-small-left {
    padding-left: 40px !important;
  }
  .medium-padding-small-right {
    padding-right: 40px !important;
  }
  .medium-padding-small-top {
    padding-top: 40px !important;
  }
  .medium-padding-small-bottom {
    padding-bottom: 40px !important;
  }
  .medium-padding-medium {
    padding: 50px !important;
  }
  .medium-padding-medium-vertical {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
  }
  .medium-padding-medium-horizontal {
    padding-left: 50px !important;
    padding-right: 50px !important;
  }
  .medium-padding-medium-left {
    padding-left: 50px !important;
  }
  .medium-padding-medium-right {
    padding-right: 50px !important;
  }
  .medium-padding-medium-top {
    padding-top: 50px !important;
  }
  .medium-padding-medium-bottom {
    padding-bottom: 50px !important;
  }
  .medium-padding-large {
    padding: 80px !important;
  }
  .medium-padding-large-vertical {
    padding-top: 80px !important;
    padding-bottom: 80px !important;
  }
  .medium-padding-large-horizontal {
    padding-left: 80px !important;
    padding-right: 80px !important;
  }
  .medium-padding-large-left {
    padding-left: 80px !important;
  }
  .medium-padding-large-right {
    padding-right: 80px !important;
  }
  .medium-padding-large-top {
    padding-top: 80px !important;
  }
  .medium-padding-large-bottom {
    padding-bottom: 80px !important;
  }
  .medium-padding-xlarge {
    padding: 110px !important;
  }
  .medium-padding-xlarge-vertical {
    padding-top: 110px !important;
    padding-bottom: 110px !important;
  }
  .medium-padding-xlarge-horizontal {
    padding-left: 110px !important;
    padding-right: 110px !important;
  }
  .medium-padding-xlarge-left {
    padding-left: 110px !important;
  }
  .medium-padding-xlarge-right {
    padding-right: 110px !important;
  }
  .medium-padding-xlarge-top {
    padding-top: 110px !important;
  }
  .medium-padding-xlarge-bottom {
    padding-bottom: 110px !important;
  }
  .medium-padding-xxlarge {
    padding: 200px !important;
  }
  .medium-padding-xxlarge-vertical {
    padding-top: 200px !important;
    padding-bottom: 200px !important;
  }
  .medium-padding-xxlarge-horizontal {
    padding-left: 200px !important;
    padding-right: 200px !important;
  }
  .medium-padding-xxlarge-left {
    padding-left: 200px !important;
  }
  .medium-padding-xxlarge-right {
    padding-right: 200px !important;
  }
  .medium-padding-xxlarge-top {
    padding-top: 200px !important;
  }
  .medium-padding-xxlarge-bottom {
    padding-bottom: 200px !important;
  }
  .medium-padding-30 {
    padding: 30px !important;
  }
  .medium-padding-30-vertical {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }
  .medium-padding-30-horizontal {
    padding-left: 30px !important;
    padding-right: 30px !important;
  }
  .medium-padding-30-left {
    padding-left: 30px !important;
  }
  .medium-padding-30-right {
    padding-right: 30px !important;
  }
  .medium-padding-30-top {
    padding-top: 30px !important;
  }
  .medium-padding-30-bottom {
    padding-bottom: 30px !important;
  }
}
@media print, screen and (min-width: 48em) and (max-width: 68.74875em) {
  .medium-only-padding-xxsmall {
    padding: 16px !important;
  }
  .medium-only-padding-xxsmall-vertical {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
  }
  .medium-only-padding-xxsmall-horizontal {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .medium-only-padding-xxsmall-left {
    padding-left: 16px !important;
  }
  .medium-only-padding-xxsmall-right {
    padding-right: 16px !important;
  }
  .medium-only-padding-xxsmall-top {
    padding-top: 16px !important;
  }
  .medium-only-padding-xxsmall-bottom {
    padding-bottom: 16px !important;
  }
  .medium-only-padding-xsmall {
    padding: 20px !important;
  }
  .medium-only-padding-xsmall-vertical {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }
  .medium-only-padding-xsmall-horizontal {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .medium-only-padding-xsmall-left {
    padding-left: 20px !important;
  }
  .medium-only-padding-xsmall-right {
    padding-right: 20px !important;
  }
  .medium-only-padding-xsmall-top {
    padding-top: 20px !important;
  }
  .medium-only-padding-xsmall-bottom {
    padding-bottom: 20px !important;
  }
  .medium-only-padding-small {
    padding: 40px !important;
  }
  .medium-only-padding-small-vertical {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
  .medium-only-padding-small-horizontal {
    padding-left: 40px !important;
    padding-right: 40px !important;
  }
  .medium-only-padding-small-left {
    padding-left: 40px !important;
  }
  .medium-only-padding-small-right {
    padding-right: 40px !important;
  }
  .medium-only-padding-small-top {
    padding-top: 40px !important;
  }
  .medium-only-padding-small-bottom {
    padding-bottom: 40px !important;
  }
  .medium-only-padding-medium {
    padding: 50px !important;
  }
  .medium-only-padding-medium-vertical {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
  }
  .medium-only-padding-medium-horizontal {
    padding-left: 50px !important;
    padding-right: 50px !important;
  }
  .medium-only-padding-medium-left {
    padding-left: 50px !important;
  }
  .medium-only-padding-medium-right {
    padding-right: 50px !important;
  }
  .medium-only-padding-medium-top {
    padding-top: 50px !important;
  }
  .medium-only-padding-medium-bottom {
    padding-bottom: 50px !important;
  }
  .medium-only-padding-large {
    padding: 80px !important;
  }
  .medium-only-padding-large-vertical {
    padding-top: 80px !important;
    padding-bottom: 80px !important;
  }
  .medium-only-padding-large-horizontal {
    padding-left: 80px !important;
    padding-right: 80px !important;
  }
  .medium-only-padding-large-left {
    padding-left: 80px !important;
  }
  .medium-only-padding-large-right {
    padding-right: 80px !important;
  }
  .medium-only-padding-large-top {
    padding-top: 80px !important;
  }
  .medium-only-padding-large-bottom {
    padding-bottom: 80px !important;
  }
  .medium-only-padding-xlarge {
    padding: 110px !important;
  }
  .medium-only-padding-xlarge-vertical {
    padding-top: 110px !important;
    padding-bottom: 110px !important;
  }
  .medium-only-padding-xlarge-horizontal {
    padding-left: 110px !important;
    padding-right: 110px !important;
  }
  .medium-only-padding-xlarge-left {
    padding-left: 110px !important;
  }
  .medium-only-padding-xlarge-right {
    padding-right: 110px !important;
  }
  .medium-only-padding-xlarge-top {
    padding-top: 110px !important;
  }
  .medium-only-padding-xlarge-bottom {
    padding-bottom: 110px !important;
  }
  .medium-only-padding-xxlarge {
    padding: 200px !important;
  }
  .medium-only-padding-xxlarge-vertical {
    padding-top: 200px !important;
    padding-bottom: 200px !important;
  }
  .medium-only-padding-xxlarge-horizontal {
    padding-left: 200px !important;
    padding-right: 200px !important;
  }
  .medium-only-padding-xxlarge-left {
    padding-left: 200px !important;
  }
  .medium-only-padding-xxlarge-right {
    padding-right: 200px !important;
  }
  .medium-only-padding-xxlarge-top {
    padding-top: 200px !important;
  }
  .medium-only-padding-xxlarge-bottom {
    padding-bottom: 200px !important;
  }
  .medium-only-padding-30 {
    padding: 30px !important;
  }
  .medium-only-padding-30-vertical {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }
  .medium-only-padding-30-horizontal {
    padding-left: 30px !important;
    padding-right: 30px !important;
  }
  .medium-only-padding-30-left {
    padding-left: 30px !important;
  }
  .medium-only-padding-30-right {
    padding-right: 30px !important;
  }
  .medium-only-padding-30-top {
    padding-top: 30px !important;
  }
  .medium-only-padding-30-bottom {
    padding-bottom: 30px !important;
  }
}
@media print, screen and (min-width: 68.75em) {
  .large-padding-xxsmall {
    padding: 16px !important;
  }
  .large-padding-xxsmall-vertical {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
  }
  .large-padding-xxsmall-horizontal {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .large-padding-xxsmall-left {
    padding-left: 16px !important;
  }
  .large-padding-xxsmall-right {
    padding-right: 16px !important;
  }
  .large-padding-xxsmall-top {
    padding-top: 16px !important;
  }
  .large-padding-xxsmall-bottom {
    padding-bottom: 16px !important;
  }
  .large-padding-xsmall {
    padding: 20px !important;
  }
  .large-padding-xsmall-vertical {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }
  .large-padding-xsmall-horizontal {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .large-padding-xsmall-left {
    padding-left: 20px !important;
  }
  .large-padding-xsmall-right {
    padding-right: 20px !important;
  }
  .large-padding-xsmall-top {
    padding-top: 20px !important;
  }
  .large-padding-xsmall-bottom {
    padding-bottom: 20px !important;
  }
  .large-padding-small {
    padding: 40px !important;
  }
  .large-padding-small-vertical {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
  .large-padding-small-horizontal {
    padding-left: 40px !important;
    padding-right: 40px !important;
  }
  .large-padding-small-left {
    padding-left: 40px !important;
  }
  .large-padding-small-right {
    padding-right: 40px !important;
  }
  .large-padding-small-top {
    padding-top: 40px !important;
  }
  .large-padding-small-bottom {
    padding-bottom: 40px !important;
  }
  .large-padding-medium {
    padding: 50px !important;
  }
  .large-padding-medium-vertical {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
  }
  .large-padding-medium-horizontal {
    padding-left: 50px !important;
    padding-right: 50px !important;
  }
  .large-padding-medium-left {
    padding-left: 50px !important;
  }
  .large-padding-medium-right {
    padding-right: 50px !important;
  }
  .large-padding-medium-top {
    padding-top: 50px !important;
  }
  .large-padding-medium-bottom {
    padding-bottom: 50px !important;
  }
  .large-padding-large {
    padding: 80px !important;
  }
  .large-padding-large-vertical {
    padding-top: 80px !important;
    padding-bottom: 80px !important;
  }
  .large-padding-large-horizontal {
    padding-left: 80px !important;
    padding-right: 80px !important;
  }
  .large-padding-large-left {
    padding-left: 80px !important;
  }
  .large-padding-large-right {
    padding-right: 80px !important;
  }
  .large-padding-large-top {
    padding-top: 80px !important;
  }
  .large-padding-large-bottom {
    padding-bottom: 80px !important;
  }
  .large-padding-xlarge {
    padding: 110px !important;
  }
  .large-padding-xlarge-vertical {
    padding-top: 110px !important;
    padding-bottom: 110px !important;
  }
  .large-padding-xlarge-horizontal {
    padding-left: 110px !important;
    padding-right: 110px !important;
  }
  .large-padding-xlarge-left {
    padding-left: 110px !important;
  }
  .large-padding-xlarge-right {
    padding-right: 110px !important;
  }
  .large-padding-xlarge-top {
    padding-top: 110px !important;
  }
  .large-padding-xlarge-bottom {
    padding-bottom: 110px !important;
  }
  .large-padding-xxlarge {
    padding: 200px !important;
  }
  .large-padding-xxlarge-vertical {
    padding-top: 200px !important;
    padding-bottom: 200px !important;
  }
  .large-padding-xxlarge-horizontal {
    padding-left: 200px !important;
    padding-right: 200px !important;
  }
  .large-padding-xxlarge-left {
    padding-left: 200px !important;
  }
  .large-padding-xxlarge-right {
    padding-right: 200px !important;
  }
  .large-padding-xxlarge-top {
    padding-top: 200px !important;
  }
  .large-padding-xxlarge-bottom {
    padding-bottom: 200px !important;
  }
  .large-padding-30 {
    padding: 30px !important;
  }
  .large-padding-30-vertical {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }
  .large-padding-30-horizontal {
    padding-left: 30px !important;
    padding-right: 30px !important;
  }
  .large-padding-30-left {
    padding-left: 30px !important;
  }
  .large-padding-30-right {
    padding-right: 30px !important;
  }
  .large-padding-30-top {
    padding-top: 30px !important;
  }
  .large-padding-30-bottom {
    padding-bottom: 30px !important;
  }
}
.no-padding {
  padding: 0 !important;
}

.no-padding-vertical {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.no-padding-horizontal {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.no-padding-left {
  padding-left: 0 !important;
}

.no-padding-right {
  padding-right: 0 !important;
}

.no-padding-top {
  padding-top: 0 !important;
}

.no-padding-bottom {
  padding-bottom: 0 !important;
}

@media print, screen and (max-width: 47.99875em) {
  .small-only-no-padding {
    padding: 0 !important;
  }
  .small-only-no-padding-vertical {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .small-only-no-padding-horizontal {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .small-only-no-padding-left {
    padding-left: 0 !important;
  }
  .small-only-no-padding-right {
    padding-right: 0 !important;
  }
  .small-only-no-padding-top {
    padding-top: 0 !important;
  }
  .small-only-no-padding-bottom {
    padding-bottom: 0 !important;
  }
}
@media print, screen and (min-width: 48em) {
  .medium-no-padding {
    padding: 0 !important;
  }
  .medium-no-padding-vertical {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .medium-no-padding-horizontal {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .medium-no-padding-left {
    padding-left: 0 !important;
  }
  .medium-no-padding-right {
    padding-right: 0 !important;
  }
  .medium-no-padding-top {
    padding-top: 0 !important;
  }
  .medium-no-padding-bottom {
    padding-bottom: 0 !important;
  }
}
@media print, screen and (min-width: 48em) and (max-width: 68.74875em) {
  .medium-only-no-padding {
    padding: 0 !important;
  }
  .medium-only-no-padding-vertical {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .medium-only-no-padding-horizontal {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .medium-only-no-padding-left {
    padding-left: 0 !important;
  }
  .medium-only-no-padding-right {
    padding-right: 0 !important;
  }
  .medium-only-no-padding-top {
    padding-top: 0 !important;
  }
  .medium-only-no-padding-bottom {
    padding-bottom: 0 !important;
  }
}
@media print, screen and (min-width: 68.75em) {
  .large-no-padding {
    padding: 0 !important;
  }
  .large-no-padding-vertical {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .large-no-padding-horizontal {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .large-no-padding-left {
    padding-left: 0 !important;
  }
  .large-no-padding-right {
    padding-right: 0 !important;
  }
  .large-no-padding-top {
    padding-top: 0 !important;
  }
  .large-no-padding-bottom {
    padding-bottom: 0 !important;
  }
}
.display-none {
  display: none !important;
}

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

.display-inline-block {
  display: inline-block !important;
}

.display-inline {
  display: inline !important;
}

.display-flex {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
}

@media print, screen and (max-width: 47.99875em) {
  .small-only-display-none {
    display: none !important;
  }
  .small-only-display-block {
    display: block !important;
  }
  .small-only-display-inline-block {
    display: inline-block !important;
  }
  .small-only-display-inline {
    display: inline !important;
  }
  .small-only-display-flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
}
@media print, screen and (min-width: 48em) {
  .medium-display-none {
    display: none !important;
  }
  .medium-display-block {
    display: block !important;
  }
  .medium-display-inline-block {
    display: inline-block !important;
  }
  .medium-display-inline {
    display: inline !important;
  }
  .medium-display-flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
}
@media print, screen and (min-width: 48em) and (max-width: 68.74875em) {
  .medium-only-display-none {
    display: none !important;
  }
  .medium-only-display-block {
    display: block !important;
  }
  .medium-only-display-inline-block {
    display: inline-block !important;
  }
  .medium-only-display-inline {
    display: inline !important;
  }
  .medium-only-display-flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
}
@media print, screen and (min-width: 68.75em) {
  .large-display-none {
    display: none !important;
  }
  .large-display-block {
    display: block !important;
  }
  .large-display-inline-block {
    display: inline-block !important;
  }
  .large-display-inline {
    display: inline !important;
  }
  .large-display-flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
}
.flex-direction-row {
  -webkit-box-orient: horizontal !important;
  -webkit-box-direction: normal !important;
      -ms-flex-direction: row !important;
          flex-direction: row !important;
}

.flex-direction-column {
  -webkit-box-orient: vertical !important;
  -webkit-box-direction: normal !important;
      -ms-flex-direction: column !important;
          flex-direction: column !important;
}

@media print, screen and (max-width: 47.99875em) {
  .small-only-flex-direction-row {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: row !important;
            flex-direction: row !important;
  }
  .small-only-flex-direction-column {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
  }
}
@media print, screen and (min-width: 48em) {
  .medium-flex-direction-row {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: row !important;
            flex-direction: row !important;
  }
  .medium-flex-direction-column {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
  }
}
@media print, screen and (min-width: 48em) and (max-width: 68.74875em) {
  .medium-only-flex-direction-row {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: row !important;
            flex-direction: row !important;
  }
  .medium-only-flex-direction-column {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
  }
}
@media print, screen and (min-width: 68.75em) {
  .large-flex-direction-row {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: row !important;
            flex-direction: row !important;
  }
  .large-flex-direction-column {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
  }
}
.align-items-start {
  -webkit-box-align: start !important;
      -ms-flex-align: start !important;
          align-items: flex-start !important;
}

.align-items-center {
  -webkit-box-align: center !important;
      -ms-flex-align: center !important;
          align-items: center !important;
}

.align-items-end {
  -webkit-box-align: end !important;
      -ms-flex-align: end !important;
          align-items: flex-end !important;
}

@media print, screen and (max-width: 47.99875em) {
  .small-only-align-items-start {
    -webkit-box-align: start !important;
        -ms-flex-align: start !important;
            align-items: flex-start !important;
  }
  .small-only-align-items-center {
    -webkit-box-align: center !important;
        -ms-flex-align: center !important;
            align-items: center !important;
  }
  .small-only-align-items-end {
    -webkit-box-align: end !important;
        -ms-flex-align: end !important;
            align-items: flex-end !important;
  }
}
@media print, screen and (min-width: 48em) {
  .medium-align-items-start {
    -webkit-box-align: start !important;
        -ms-flex-align: start !important;
            align-items: flex-start !important;
  }
  .medium-align-items-center {
    -webkit-box-align: center !important;
        -ms-flex-align: center !important;
            align-items: center !important;
  }
  .medium-align-items-end {
    -webkit-box-align: end !important;
        -ms-flex-align: end !important;
            align-items: flex-end !important;
  }
}
@media print, screen and (min-width: 48em) and (max-width: 68.74875em) {
  .medium-only-align-items-start {
    -webkit-box-align: start !important;
        -ms-flex-align: start !important;
            align-items: flex-start !important;
  }
  .medium-only-align-items-center {
    -webkit-box-align: center !important;
        -ms-flex-align: center !important;
            align-items: center !important;
  }
  .medium-only-align-items-end {
    -webkit-box-align: end !important;
        -ms-flex-align: end !important;
            align-items: flex-end !important;
  }
}
@media print, screen and (min-width: 68.75em) {
  .large-align-items-start {
    -webkit-box-align: start !important;
        -ms-flex-align: start !important;
            align-items: flex-start !important;
  }
  .large-align-items-center {
    -webkit-box-align: center !important;
        -ms-flex-align: center !important;
            align-items: center !important;
  }
  .large-align-items-end {
    -webkit-box-align: end !important;
        -ms-flex-align: end !important;
            align-items: flex-end !important;
  }
}
.justify-content-start {
  -webkit-box-pack: start !important;
      -ms-flex-pack: start !important;
          justify-content: flex-start !important;
}

.justify-content-center {
  -webkit-box-pack: center !important;
      -ms-flex-pack: center !important;
          justify-content: center !important;
}

.justify-content-end {
  -webkit-box-pack: end !important;
      -ms-flex-pack: end !important;
          justify-content: flex-end !important;
}

.justify-content-between {
  -webkit-box-pack: justify !important;
      -ms-flex-pack: justify !important;
          justify-content: space-between !important;
}

@media print, screen and (max-width: 47.99875em) {
  .small-only-justify-content-start {
    -webkit-box-pack: start !important;
        -ms-flex-pack: start !important;
            justify-content: flex-start !important;
  }
  .small-only-justify-content-center {
    -webkit-box-pack: center !important;
        -ms-flex-pack: center !important;
            justify-content: center !important;
  }
  .small-only-justify-content-end {
    -webkit-box-pack: end !important;
        -ms-flex-pack: end !important;
            justify-content: flex-end !important;
  }
  .small-only-justify-content-between {
    -webkit-box-pack: justify !important;
        -ms-flex-pack: justify !important;
            justify-content: space-between !important;
  }
}
@media print, screen and (min-width: 48em) {
  .medium-justify-content-start {
    -webkit-box-pack: start !important;
        -ms-flex-pack: start !important;
            justify-content: flex-start !important;
  }
  .medium-justify-content-center {
    -webkit-box-pack: center !important;
        -ms-flex-pack: center !important;
            justify-content: center !important;
  }
  .medium-justify-content-end {
    -webkit-box-pack: end !important;
        -ms-flex-pack: end !important;
            justify-content: flex-end !important;
  }
  .medium-justify-content-between {
    -webkit-box-pack: justify !important;
        -ms-flex-pack: justify !important;
            justify-content: space-between !important;
  }
}
@media print, screen and (min-width: 48em) and (max-width: 68.74875em) {
  .medium-only-justify-content-start {
    -webkit-box-pack: start !important;
        -ms-flex-pack: start !important;
            justify-content: flex-start !important;
  }
  .medium-only-justify-content-center {
    -webkit-box-pack: center !important;
        -ms-flex-pack: center !important;
            justify-content: center !important;
  }
  .medium-only-justify-content-end {
    -webkit-box-pack: end !important;
        -ms-flex-pack: end !important;
            justify-content: flex-end !important;
  }
  .medium-only-justify-content-between {
    -webkit-box-pack: justify !important;
        -ms-flex-pack: justify !important;
            justify-content: space-between !important;
  }
}
@media print, screen and (min-width: 68.75em) {
  .large-justify-content-start {
    -webkit-box-pack: start !important;
        -ms-flex-pack: start !important;
            justify-content: flex-start !important;
  }
  .large-justify-content-center {
    -webkit-box-pack: center !important;
        -ms-flex-pack: center !important;
            justify-content: center !important;
  }
  .large-justify-content-end {
    -webkit-box-pack: end !important;
        -ms-flex-pack: end !important;
            justify-content: flex-end !important;
  }
  .large-justify-content-between {
    -webkit-box-pack: justify !important;
        -ms-flex-pack: justify !important;
            justify-content: space-between !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;
}

@media print, screen and (max-width: 47.99875em) {
  .small-only-order-1 {
    -webkit-box-ordinal-group: 2 !important;
        -ms-flex-order: 1 !important;
            order: 1 !important;
  }
  .small-only-order-2 {
    -webkit-box-ordinal-group: 3 !important;
        -ms-flex-order: 2 !important;
            order: 2 !important;
  }
  .small-only-order-3 {
    -webkit-box-ordinal-group: 4 !important;
        -ms-flex-order: 3 !important;
            order: 3 !important;
  }
  .small-only-order-4 {
    -webkit-box-ordinal-group: 5 !important;
        -ms-flex-order: 4 !important;
            order: 4 !important;
  }
  .small-only-order-5 {
    -webkit-box-ordinal-group: 6 !important;
        -ms-flex-order: 5 !important;
            order: 5 !important;
  }
}
@media print, screen and (min-width: 48em) {
  .medium-order-1 {
    -webkit-box-ordinal-group: 2 !important;
        -ms-flex-order: 1 !important;
            order: 1 !important;
  }
  .medium-order-2 {
    -webkit-box-ordinal-group: 3 !important;
        -ms-flex-order: 2 !important;
            order: 2 !important;
  }
  .medium-order-3 {
    -webkit-box-ordinal-group: 4 !important;
        -ms-flex-order: 3 !important;
            order: 3 !important;
  }
  .medium-order-4 {
    -webkit-box-ordinal-group: 5 !important;
        -ms-flex-order: 4 !important;
            order: 4 !important;
  }
  .medium-order-5 {
    -webkit-box-ordinal-group: 6 !important;
        -ms-flex-order: 5 !important;
            order: 5 !important;
  }
}
@media print, screen and (min-width: 48em) and (max-width: 68.74875em) {
  .medium-only-order-1 {
    -webkit-box-ordinal-group: 2 !important;
        -ms-flex-order: 1 !important;
            order: 1 !important;
  }
  .medium-only-order-2 {
    -webkit-box-ordinal-group: 3 !important;
        -ms-flex-order: 2 !important;
            order: 2 !important;
  }
  .medium-only-order-3 {
    -webkit-box-ordinal-group: 4 !important;
        -ms-flex-order: 3 !important;
            order: 3 !important;
  }
  .medium-only-order-4 {
    -webkit-box-ordinal-group: 5 !important;
        -ms-flex-order: 4 !important;
            order: 4 !important;
  }
  .medium-only-order-5 {
    -webkit-box-ordinal-group: 6 !important;
        -ms-flex-order: 5 !important;
            order: 5 !important;
  }
}
@media print, screen and (min-width: 68.75em) {
  .large-order-1 {
    -webkit-box-ordinal-group: 2 !important;
        -ms-flex-order: 1 !important;
            order: 1 !important;
  }
  .large-order-2 {
    -webkit-box-ordinal-group: 3 !important;
        -ms-flex-order: 2 !important;
            order: 2 !important;
  }
  .large-order-3 {
    -webkit-box-ordinal-group: 4 !important;
        -ms-flex-order: 3 !important;
            order: 3 !important;
  }
  .large-order-4 {
    -webkit-box-ordinal-group: 5 !important;
        -ms-flex-order: 4 !important;
            order: 4 !important;
  }
  .large-order-5 {
    -webkit-box-ordinal-group: 6 !important;
        -ms-flex-order: 5 !important;
            order: 5 !important;
  }
}
.max-width-195 {
  max-width: 195px !important;
}

.max-width-220 {
  max-width: 220px !important;
}

.max-width-240 {
  max-width: 240px !important;
}

.max-width-1270 {
  max-width: 1270px !important;
}

.max-width-35-pct {
  max-width: 35% !important;
}

.max-width-50-pct {
  max-width: 50% !important;
}

.max-width-100-pct {
  max-width: 100% !important;
}

@media print, screen and (max-width: 47.99875em) {
  .small-only-max-width-195 {
    max-width: 195px !important;
  }
  .small-only-max-width-220 {
    max-width: 220px !important;
  }
  .small-only-max-width-240 {
    max-width: 240px !important;
  }
  .small-only-max-width-1270 {
    max-width: 1270px !important;
  }
  .small-only-max-width-35-pct {
    max-width: 35% !important;
  }
  .small-only-max-width-50-pct {
    max-width: 50% !important;
  }
  .small-only-max-width-100-pct {
    max-width: 100% !important;
  }
}
@media print, screen and (min-width: 48em) {
  .medium-max-width-195 {
    max-width: 195px !important;
  }
  .medium-max-width-220 {
    max-width: 220px !important;
  }
  .medium-max-width-240 {
    max-width: 240px !important;
  }
  .medium-max-width-1270 {
    max-width: 1270px !important;
  }
  .medium-max-width-35-pct {
    max-width: 35% !important;
  }
  .medium-max-width-50-pct {
    max-width: 50% !important;
  }
  .medium-max-width-100-pct {
    max-width: 100% !important;
  }
}
@media print, screen and (min-width: 48em) and (max-width: 68.74875em) {
  .medium-only-max-width-195 {
    max-width: 195px !important;
  }
  .medium-only-max-width-220 {
    max-width: 220px !important;
  }
  .medium-only-max-width-240 {
    max-width: 240px !important;
  }
  .medium-only-max-width-1270 {
    max-width: 1270px !important;
  }
  .medium-only-max-width-35-pct {
    max-width: 35% !important;
  }
  .medium-only-max-width-50-pct {
    max-width: 50% !important;
  }
  .medium-only-max-width-100-pct {
    max-width: 100% !important;
  }
}
@media print, screen and (min-width: 68.75em) {
  .large-max-width-195 {
    max-width: 195px !important;
  }
  .large-max-width-220 {
    max-width: 220px !important;
  }
  .large-max-width-240 {
    max-width: 240px !important;
  }
  .large-max-width-1270 {
    max-width: 1270px !important;
  }
  .large-max-width-35-pct {
    max-width: 35% !important;
  }
  .large-max-width-50-pct {
    max-width: 50% !important;
  }
  .large-max-width-100-pct {
    max-width: 100% !important;
  }
}
.min-width-50-pct {
  min-width: 50% !important;
}

.min-width-100-pct {
  min-width: 100% !important;
}

@media print, screen and (max-width: 47.99875em) {
  .small-only-min-width-50-pct {
    min-width: 50% !important;
  }
  .small-only-min-width-100-pct {
    min-width: 100% !important;
  }
}
@media print, screen and (min-width: 48em) {
  .medium-min-width-50-pct {
    min-width: 50% !important;
  }
  .medium-min-width-100-pct {
    min-width: 100% !important;
  }
}
@media print, screen and (min-width: 48em) and (max-width: 68.74875em) {
  .medium-only-min-width-50-pct {
    min-width: 50% !important;
  }
  .medium-only-min-width-100-pct {
    min-width: 100% !important;
  }
}
@media print, screen and (min-width: 68.75em) {
  .large-min-width-50-pct {
    min-width: 50% !important;
  }
  .large-min-width-100-pct {
    min-width: 100% !important;
  }
}
.height-50-pct {
  height: 50% !important;
}

.height-100-pct {
  height: 100% !important;
}

@media print, screen and (max-width: 47.99875em) {
  .small-only-height-50-pct {
    height: 50% !important;
  }
  .small-only-height-100-pct {
    height: 100% !important;
  }
}
@media print, screen and (min-width: 48em) {
  .medium-height-50-pct {
    height: 50% !important;
  }
  .medium-height-100-pct {
    height: 100% !important;
  }
}
@media print, screen and (min-width: 48em) and (max-width: 68.74875em) {
  .medium-only-height-50-pct {
    height: 50% !important;
  }
  .medium-only-height-100-pct {
    height: 100% !important;
  }
}
@media print, screen and (min-width: 68.75em) {
  .large-height-50-pct {
    height: 50% !important;
  }
  .large-height-100-pct {
    height: 100% !important;
  }
}
.min-height-850 {
  min-height: 850px !important;
}

.min-height-50-pct {
  min-height: 50% !important;
}

.min-height-100-pct {
  min-height: 100% !important;
}

.min-height-100-vh {
  min-height: 100vh !important;
}

@media print, screen and (max-width: 47.99875em) {
  .small-only-min-height-850 {
    min-height: 850px !important;
  }
  .small-only-min-height-50-pct {
    min-height: 50% !important;
  }
  .small-only-min-height-100-pct {
    min-height: 100% !important;
  }
  .small-only-min-height-100-vh {
    min-height: 100vh !important;
  }
}
@media print, screen and (min-width: 48em) {
  .medium-min-height-850 {
    min-height: 850px !important;
  }
  .medium-min-height-50-pct {
    min-height: 50% !important;
  }
  .medium-min-height-100-pct {
    min-height: 100% !important;
  }
  .medium-min-height-100-vh {
    min-height: 100vh !important;
  }
}
@media print, screen and (min-width: 48em) and (max-width: 68.74875em) {
  .medium-only-min-height-850 {
    min-height: 850px !important;
  }
  .medium-only-min-height-50-pct {
    min-height: 50% !important;
  }
  .medium-only-min-height-100-pct {
    min-height: 100% !important;
  }
  .medium-only-min-height-100-vh {
    min-height: 100vh !important;
  }
}
@media print, screen and (min-width: 68.75em) {
  .large-min-height-850 {
    min-height: 850px !important;
  }
  .large-min-height-50-pct {
    min-height: 50% !important;
  }
  .large-min-height-100-pct {
    min-height: 100% !important;
  }
  .large-min-height-100-vh {
    min-height: 100vh !important;
  }
}
.size-12 {
  font-size: 12px !important;
}

.size-16 {
  font-size: 16px !important;
}

.size-24 {
  font-size: 24px !important;
}

.size-32 {
  font-size: 32px !important;
}

.size-40 {
  font-size: 40px !important;
}

.size-96 {
  font-size: 96px !important;
}

.size-380 {
  font-size: 380px !important;
}

@media print, screen and (max-width: 47.99875em) {
  .small-only-size-12 {
    font-size: 12px !important;
  }
  .small-only-size-16 {
    font-size: 16px !important;
  }
  .small-only-size-24 {
    font-size: 24px !important;
  }
  .small-only-size-32 {
    font-size: 32px !important;
  }
  .small-only-size-40 {
    font-size: 40px !important;
  }
  .small-only-size-96 {
    font-size: 96px !important;
  }
  .small-only-size-380 {
    font-size: 380px !important;
  }
}
@media print, screen and (min-width: 48em) {
  .medium-size-12 {
    font-size: 12px !important;
  }
  .medium-size-16 {
    font-size: 16px !important;
  }
  .medium-size-24 {
    font-size: 24px !important;
  }
  .medium-size-32 {
    font-size: 32px !important;
  }
  .medium-size-40 {
    font-size: 40px !important;
  }
  .medium-size-96 {
    font-size: 96px !important;
  }
  .medium-size-380 {
    font-size: 380px !important;
  }
}
@media print, screen and (min-width: 48em) and (max-width: 68.74875em) {
  .medium-only-size-12 {
    font-size: 12px !important;
  }
  .medium-only-size-16 {
    font-size: 16px !important;
  }
  .medium-only-size-24 {
    font-size: 24px !important;
  }
  .medium-only-size-32 {
    font-size: 32px !important;
  }
  .medium-only-size-40 {
    font-size: 40px !important;
  }
  .medium-only-size-96 {
    font-size: 96px !important;
  }
  .medium-only-size-380 {
    font-size: 380px !important;
  }
}
@media print, screen and (min-width: 68.75em) {
  .large-size-12 {
    font-size: 12px !important;
  }
  .large-size-16 {
    font-size: 16px !important;
  }
  .large-size-24 {
    font-size: 24px !important;
  }
  .large-size-32 {
    font-size: 32px !important;
  }
  .large-size-40 {
    font-size: 40px !important;
  }
  .large-size-96 {
    font-size: 96px !important;
  }
  .large-size-380 {
    font-size: 380px !important;
  }
}
.line-1 {
  line-height: 1 !important;
}

.line-1-2 {
  line-height: 1.2 !important;
}

.line-1-3 {
  line-height: 1.3 !important;
}

.line-1-5 {
  line-height: 1.5 !important;
}

@media print, screen and (max-width: 47.99875em) {
  .small-only-line-1 {
    line-height: 1 !important;
  }
  .small-only-line-1-2 {
    line-height: 1.2 !important;
  }
  .small-only-line-1-3 {
    line-height: 1.3 !important;
  }
  .small-only-line-1-5 {
    line-height: 1.5 !important;
  }
}
@media print, screen and (min-width: 48em) {
  .medium-line-1 {
    line-height: 1 !important;
  }
  .medium-line-1-2 {
    line-height: 1.2 !important;
  }
  .medium-line-1-3 {
    line-height: 1.3 !important;
  }
  .medium-line-1-5 {
    line-height: 1.5 !important;
  }
}
@media print, screen and (min-width: 48em) and (max-width: 68.74875em) {
  .medium-only-line-1 {
    line-height: 1 !important;
  }
  .medium-only-line-1-2 {
    line-height: 1.2 !important;
  }
  .medium-only-line-1-3 {
    line-height: 1.3 !important;
  }
  .medium-only-line-1-5 {
    line-height: 1.5 !important;
  }
}
@media print, screen and (min-width: 68.75em) {
  .large-line-1 {
    line-height: 1 !important;
  }
  .large-line-1-2 {
    line-height: 1.2 !important;
  }
  .large-line-1-3 {
    line-height: 1.3 !important;
  }
  .large-line-1-5 {
    line-height: 1.5 !important;
  }
}
.weight-normal {
  font-weight: normal !important;
}

.weight-bold {
  font-weight: bold !important;
}

.weight-300 {
  font-weight: 300 !important;
}

.weight-400 {
  font-weight: 400 !important;
}

.weight-500 {
  font-weight: 500 !important;
}

.weight-600 {
  font-weight: 600 !important;
}

.weight-700 {
  font-weight: 700 !important;
}

.weight-800 {
  font-weight: 800 !important;
}

.weight-900 {
  font-weight: 900 !important;
}

@media print, screen and (max-width: 47.99875em) {
  .small-only-weight-normal {
    font-weight: normal !important;
  }
  .small-only-weight-bold {
    font-weight: bold !important;
  }
  .small-only-weight-300 {
    font-weight: 300 !important;
  }
  .small-only-weight-400 {
    font-weight: 400 !important;
  }
  .small-only-weight-500 {
    font-weight: 500 !important;
  }
  .small-only-weight-600 {
    font-weight: 600 !important;
  }
  .small-only-weight-700 {
    font-weight: 700 !important;
  }
  .small-only-weight-800 {
    font-weight: 800 !important;
  }
  .small-only-weight-900 {
    font-weight: 900 !important;
  }
}
@media print, screen and (min-width: 48em) {
  .medium-weight-normal {
    font-weight: normal !important;
  }
  .medium-weight-bold {
    font-weight: bold !important;
  }
  .medium-weight-300 {
    font-weight: 300 !important;
  }
  .medium-weight-400 {
    font-weight: 400 !important;
  }
  .medium-weight-500 {
    font-weight: 500 !important;
  }
  .medium-weight-600 {
    font-weight: 600 !important;
  }
  .medium-weight-700 {
    font-weight: 700 !important;
  }
  .medium-weight-800 {
    font-weight: 800 !important;
  }
  .medium-weight-900 {
    font-weight: 900 !important;
  }
}
@media print, screen and (min-width: 48em) and (max-width: 68.74875em) {
  .medium-only-weight-normal {
    font-weight: normal !important;
  }
  .medium-only-weight-bold {
    font-weight: bold !important;
  }
  .medium-only-weight-300 {
    font-weight: 300 !important;
  }
  .medium-only-weight-400 {
    font-weight: 400 !important;
  }
  .medium-only-weight-500 {
    font-weight: 500 !important;
  }
  .medium-only-weight-600 {
    font-weight: 600 !important;
  }
  .medium-only-weight-700 {
    font-weight: 700 !important;
  }
  .medium-only-weight-800 {
    font-weight: 800 !important;
  }
  .medium-only-weight-900 {
    font-weight: 900 !important;
  }
}
@media print, screen and (min-width: 68.75em) {
  .large-weight-normal {
    font-weight: normal !important;
  }
  .large-weight-bold {
    font-weight: bold !important;
  }
  .large-weight-300 {
    font-weight: 300 !important;
  }
  .large-weight-400 {
    font-weight: 400 !important;
  }
  .large-weight-500 {
    font-weight: 500 !important;
  }
  .large-weight-600 {
    font-weight: 600 !important;
  }
  .large-weight-700 {
    font-weight: 700 !important;
  }
  .large-weight-800 {
    font-weight: 800 !important;
  }
  .large-weight-900 {
    font-weight: 900 !important;
  }
}
.align-left {
  text-align: left;
}

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

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

@media print, screen and (max-width: 47.99875em) {
  .small-only-align-left {
    text-align: left;
  }
  .small-only-align-right {
    text-align: right;
  }
  .small-only-align-center {
    text-align: center;
  }
}
@media print, screen and (min-width: 48em) {
  .medium-align-left {
    text-align: left;
  }
  .medium-align-right {
    text-align: right;
  }
  .medium-align-center {
    text-align: center;
  }
}
@media print, screen and (min-width: 48em) and (max-width: 68.74875em) {
  .medium-only-align-left {
    text-align: left;
  }
  .medium-only-align-right {
    text-align: right;
  }
  .medium-only-align-center {
    text-align: center;
  }
}
@media print, screen and (min-width: 68.75em) {
  .large-align-left {
    text-align: left;
  }
  .large-align-right {
    text-align: right;
  }
  .large-align-center {
    text-align: center;
  }
}
.transform-capitalize {
  text-transform: capitalize !important;
}

.transform-uppercase {
  text-transform: uppercase !important;
}

.transform-lowercase {
  text-transform: lowercase !important;
}

.letter-small {
  letter-spacing: 0.04em !important;
}

.letter-medium {
  letter-spacing: 0.08em !important;
}

.letter-large {
  letter-spacing: 0.33em !important;
}

.color-black {
  color: #000000 !important;
}
.color-black a, .color-black h1, .color-black .h1, .color-black h2, .color-black .h2, .color-black h3, .color-black .h3, .color-black h4, .color-black .h4, .color-black h5, .color-black .h5, .color-black h6, .color-black .h6 {
  color: #000000 !important;
}

.color-white {
  color: #FFFFFF !important;
}
.color-white a, .color-white h1, .color-white .h1, .color-white h2, .color-white .h2, .color-white h3, .color-white .h3, .color-white h4, .color-white .h4, .color-white h5, .color-white .h5, .color-white h6, .color-white .h6 {
  color: #FFFFFF !important;
}

@media print, screen and (max-width: 47.99875em) {
  .small-only-color-black {
    color: #000000 !important;
  }
  .small-only-color-black a, .small-only-color-black h1, .small-only-color-black .h1, .small-only-color-black h2, .small-only-color-black .h2, .small-only-color-black h3, .small-only-color-black .h3, .small-only-color-black h4, .small-only-color-black .h4, .small-only-color-black h5, .small-only-color-black .h5, .small-only-color-black h6, .small-only-color-black .h6 {
    color: #000000 !important;
  }
  .small-only-color-white {
    color: #FFFFFF !important;
  }
  .small-only-color-white a, .small-only-color-white h1, .small-only-color-white .h1, .small-only-color-white h2, .small-only-color-white .h2, .small-only-color-white h3, .small-only-color-white .h3, .small-only-color-white h4, .small-only-color-white .h4, .small-only-color-white h5, .small-only-color-white .h5, .small-only-color-white h6, .small-only-color-white .h6 {
    color: #FFFFFF !important;
  }
}
@media print, screen and (min-width: 48em) {
  .medium-color-black {
    color: #000000 !important;
  }
  .medium-color-black a, .medium-color-black h1, .medium-color-black .h1, .medium-color-black h2, .medium-color-black .h2, .medium-color-black h3, .medium-color-black .h3, .medium-color-black h4, .medium-color-black .h4, .medium-color-black h5, .medium-color-black .h5, .medium-color-black h6, .medium-color-black .h6 {
    color: #000000 !important;
  }
  .medium-color-white {
    color: #FFFFFF !important;
  }
  .medium-color-white a, .medium-color-white h1, .medium-color-white .h1, .medium-color-white h2, .medium-color-white .h2, .medium-color-white h3, .medium-color-white .h3, .medium-color-white h4, .medium-color-white .h4, .medium-color-white h5, .medium-color-white .h5, .medium-color-white h6, .medium-color-white .h6 {
    color: #FFFFFF !important;
  }
}
@media print, screen and (min-width: 48em) and (max-width: 68.74875em) {
  .medium-only-color-black {
    color: #000000 !important;
  }
  .medium-only-color-black a, .medium-only-color-black h1, .medium-only-color-black .h1, .medium-only-color-black h2, .medium-only-color-black .h2, .medium-only-color-black h3, .medium-only-color-black .h3, .medium-only-color-black h4, .medium-only-color-black .h4, .medium-only-color-black h5, .medium-only-color-black .h5, .medium-only-color-black h6, .medium-only-color-black .h6 {
    color: #000000 !important;
  }
  .medium-only-color-white {
    color: #FFFFFF !important;
  }
  .medium-only-color-white a, .medium-only-color-white h1, .medium-only-color-white .h1, .medium-only-color-white h2, .medium-only-color-white .h2, .medium-only-color-white h3, .medium-only-color-white .h3, .medium-only-color-white h4, .medium-only-color-white .h4, .medium-only-color-white h5, .medium-only-color-white .h5, .medium-only-color-white h6, .medium-only-color-white .h6 {
    color: #FFFFFF !important;
  }
}
@media print, screen and (min-width: 68.75em) {
  .large-color-black {
    color: #000000 !important;
  }
  .large-color-black a, .large-color-black h1, .large-color-black .h1, .large-color-black h2, .large-color-black .h2, .large-color-black h3, .large-color-black .h3, .large-color-black h4, .large-color-black .h4, .large-color-black h5, .large-color-black .h5, .large-color-black h6, .large-color-black .h6 {
    color: #000000 !important;
  }
  .large-color-white {
    color: #FFFFFF !important;
  }
  .large-color-white a, .large-color-white h1, .large-color-white .h1, .large-color-white h2, .large-color-white .h2, .large-color-white h3, .large-color-white .h3, .large-color-white h4, .large-color-white .h4, .large-color-white h5, .large-color-white .h5, .large-color-white h6, .large-color-white .h6 {
    color: #FFFFFF !important;
  }
}
.background-black {
  background-color: #000000 !important;
}

.background-white {
  background-color: #FFFFFF !important;
}

@media print, screen and (max-width: 47.99875em) {
  .small-only-background-black {
    background-color: #000000 !important;
  }
  .small-only-background-white {
    background-color: #FFFFFF !important;
  }
}
@media print, screen and (min-width: 48em) {
  .medium-background-black {
    background-color: #000000 !important;
  }
  .medium-background-white {
    background-color: #FFFFFF !important;
  }
}
@media print, screen and (min-width: 48em) and (max-width: 68.74875em) {
  .medium-only-background-black {
    background-color: #000000 !important;
  }
  .medium-only-background-white {
    background-color: #FFFFFF !important;
  }
}
@media print, screen and (min-width: 68.75em) {
  .large-background-black {
    background-color: #000000 !important;
  }
  .large-background-white {
    background-color: #FFFFFF !important;
  }
}
.border-white {
  border: 1px solid #FFFFFF !important;
}

.border-black {
  border: 1px solid #000000 !important;
}

.border-none {
  border: none !important;
}

@media print, screen and (max-width: 47.99875em) {
  .small-only-border-white {
    border: 1px solid #FFFFFF !important;
  }
  .small-only-border-black {
    border: 1px solid #000000 !important;
  }
  .small-only-border-none {
    border: none !important;
  }
}
@media print, screen and (min-width: 48em) {
  .medium-border-white {
    border: 1px solid #FFFFFF !important;
  }
  .medium-border-black {
    border: 1px solid #000000 !important;
  }
  .medium-border-none {
    border: none !important;
  }
}
@media print, screen and (min-width: 48em) and (max-width: 68.74875em) {
  .medium-only-border-white {
    border: 1px solid #FFFFFF !important;
  }
  .medium-only-border-black {
    border: 1px solid #000000 !important;
  }
  .medium-only-border-none {
    border: none !important;
  }
}
@media print, screen and (min-width: 68.75em) {
  .large-border-white {
    border: 1px solid #FFFFFF !important;
  }
  .large-border-black {
    border: 1px solid #000000 !important;
  }
  .large-border-none {
    border: none !important;
  }
}
.border-top-white {
  border-top: 1px solid #FFFFFF !important;
}

.border-top-black {
  border-top: 1px solid #000000 !important;
}

.border-top-none {
  border-top: none !important;
}

@media print, screen and (max-width: 47.99875em) {
  .small-only-border-top-none {
    border-top: none !important;
  }
}
@media print, screen and (min-width: 48em) {
  .medium-border-top-none {
    border-top: none !important;
  }
}
@media print, screen and (min-width: 48em) and (max-width: 68.74875em) {
  .medium-only-border-top-none {
    border-top: none !important;
  }
}
@media print, screen and (min-width: 68.75em) {
  .large-border-top-none {
    border-top: none !important;
  }
}
.border-bottom-white {
  border-bottom: 1px solid #FFFFFF !important;
}

.border-bottom-black {
  border-bottom: 1px solid #000000 !important;
}

.border-bottom-none {
  border-bottom: none !important;
}

@media print, screen and (max-width: 47.99875em) {
  .small-only-border-bottom-none {
    border-bottom: none !important;
  }
}
@media print, screen and (min-width: 48em) {
  .medium-border-bottom-none {
    border-bottom: none !important;
  }
}
@media print, screen and (min-width: 48em) and (max-width: 68.74875em) {
  .medium-only-border-bottom-none {
    border-bottom: none !important;
  }
}
@media print, screen and (min-width: 68.75em) {
  .large-border-bottom-none {
    border-bottom: none !important;
  }
}
.border-left-white {
  border-left: 1px solid #FFFFFF !important;
}

.border-left-black {
  border-left: 1px solid #000000 !important;
}

.border-left-none {
  border-left: none !important;
}

@media print, screen and (max-width: 47.99875em) {
  .small-only-border-left-none {
    border-left: none !important;
  }
}
@media print, screen and (min-width: 48em) {
  .medium-border-left-none {
    border-left: none !important;
  }
}
@media print, screen and (min-width: 48em) and (max-width: 68.74875em) {
  .medium-only-border-left-none {
    border-left: none !important;
  }
}
@media print, screen and (min-width: 68.75em) {
  .large-border-left-none {
    border-left: none !important;
  }
}
.border-right-white {
  border-right: 1px solid #FFFFFF !important;
}

.border-right-black {
  border-right: 1px solid #000000 !important;
}

.border-right-none {
  border-right: none !important;
}

@media print, screen and (max-width: 47.99875em) {
  .small-only-border-right-none {
    border-right: none !important;
  }
}
@media print, screen and (min-width: 48em) {
  .medium-border-right-none {
    border-right: none !important;
  }
}
@media print, screen and (min-width: 48em) and (max-width: 68.74875em) {
  .medium-only-border-right-none {
    border-right: none !important;
  }
}
@media print, screen and (min-width: 68.75em) {
  .large-border-right-none {
    border-right: none !important;
  }
}
@font-face {
  font-family: "URW Geometric";
  src: url("../fonts/URWGeometric/URWGeometric-ExtraLight.woff2") format("woff2"), url("../fonts/URWGeometric/URWGeometric-ExtraLight.woff") format("woff");
  font-weight: 200;
  font-style: normal;
}
@font-face {
  font-family: "URW Geometric";
  src: url("../fonts/URWGeometric/URWGeometric-Light.woff2") format("woff2"), url("../fonts/URWGeometric/URWGeometric-Light.woff") format("woff");
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: "URW Geometric";
  src: url("../fonts/URWGeometric/URWGeometric-Regular.woff2") format("woff2"), url("../fonts/URWGeometric/URWGeometric-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "URW Geometric";
  src: url("../fonts/URWGeometric/URWGeometric-Medium.woff2") format("woff2"), url("../fonts/URWGeometric/URWGeometric-Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: "URW Geometric";
  src: url("../fonts/URWGeometric/URWGeometric-SemiBold.woff2") format("woff2"), url("../fonts/URWGeometric/URWGeometric-SemiBold.woff") format("woff");
  font-weight: 600;
  font-style: normal;
}
@font-face {
  font-family: "URW Geometric";
  src: url("../fonts/URWGeometric/URWGeometric-Bold.woff2") format("woff2"), url("../fonts/URWGeometric/URWGeometric-Bold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: "URW Geometric";
  src: url("../fonts/URWGeometric/URWGeometric-ExtraBold.woff2") format("woff2"), url("../fonts/URWGeometric/URWGeometric-ExtraBold.woff") format("woff");
  font-weight: 800;
  font-style: normal;
}
@font-face {
  font-family: "URW Geometric";
  src: url("../fonts/URWGeometric/URWGeometric-Black.woff2") format("woff2"), url("../fonts/URWGeometric/URWGeometric-Black.woff") format("woff");
  font-weight: 900;
  font-style: normal;
}
.grid-container {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.grid-container.wide {
  max-width: 1900px !important;
}

.grid-padding-x-large .grid-padding-x-large {
  margin-left: -0.46875rem;
  margin-right: -0.46875rem;
}
@media print, screen and (min-width: 48em) {
  .grid-padding-x-large .grid-padding-x-large {
    margin-left: -1.25rem;
    margin-right: -1.25rem;
  }
}
@media print, screen and (min-width: 68.75em) {
  .grid-padding-x-large .grid-padding-x-large {
    margin-left: -2.5rem;
    margin-right: -2.5rem;
  }
}
.grid-container:not(.full) > .grid-padding-x-large {
  margin-left: -0.46875rem;
  margin-right: -0.46875rem;
}
@media print, screen and (min-width: 48em) {
  .grid-container:not(.full) > .grid-padding-x-large {
    margin-left: -1.25rem;
    margin-right: -1.25rem;
  }
}
@media print, screen and (min-width: 68.75em) {
  .grid-container:not(.full) > .grid-padding-x-large {
    margin-left: -2.5rem;
    margin-right: -2.5rem;
  }
}
.grid-padding-x-large > .cell {
  padding-left: 0.46875rem;
  padding-right: 0.46875rem;
}
@media print, screen and (min-width: 48em) {
  .grid-padding-x-large > .cell {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
}
@media print, screen and (min-width: 68.75em) {
  .grid-padding-x-large > .cell {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
}
.grid-padding-x-large.small-padding-collapse {
  margin-right: 0;
  margin-left: 0;
}
.grid-padding-x-large.small-padding-collapse > .cell {
  padding-right: 0;
  padding-left: 0;
}
@media print, screen and (min-width: 48em) {
  .grid-padding-x-large.medium-padding-collapse {
    margin-right: 0;
    margin-left: 0;
  }
  .grid-padding-x-large.medium-padding-collapse > .cell {
    padding-right: 0;
    padding-left: 0;
  }
}
@media print, screen and (min-width: 68.75em) {
  .grid-padding-x-large.large-padding-collapse {
    margin-right: 0;
    margin-left: 0;
  }
  .grid-padding-x-large.large-padding-collapse > .cell {
    padding-right: 0;
    padding-left: 0;
  }
}

.grid-padding-y-large {
  margin-top: -0.46875rem;
  margin-bottom: -0.46875rem;
}
@media print, screen and (min-width: 48em) {
  .grid-padding-y-large {
    margin-top: -1.25rem;
    margin-bottom: -1.25rem;
  }
}
@media print, screen and (min-width: 68.75em) {
  .grid-padding-y-large {
    margin-top: -2.5rem;
    margin-bottom: -2.5rem;
  }
}
.grid-padding-y-large > .cell {
  padding-top: 0.46875rem;
  padding-bottom: 0.46875rem;
}
@media print, screen and (min-width: 48em) {
  .grid-padding-y-large > .cell {
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
  }
}
@media print, screen and (min-width: 68.75em) {
  .grid-padding-y-large > .cell {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }
}
.grid-padding-y-large.small-padding-collapse-y {
  margin-top: 0;
  margin-bottom: 0;
}
.grid-padding-y-large.small-padding-collapse-y > .cell {
  padding-top: 0;
  padding-bottom: 0;
}
@media print, screen and (min-width: 48em) {
  .grid-padding-y-large.medium-padding-collapse-y {
    margin-top: 0;
    margin-bottom: 0;
  }
  .grid-padding-y-large.medium-padding-collapse-y > .cell {
    padding-top: 0;
    padding-bottom: 0;
  }
}
@media print, screen and (min-width: 68.75em) {
  .grid-padding-y-large.large-padding-collapse-y {
    margin-top: 0;
    margin-bottom: 0;
  }
  .grid-padding-y-large.large-padding-collapse-y > .cell {
    padding-top: 0;
    padding-bottom: 0;
  }
}

.grid-padding-y-posts {
  margin-bottom: -30px;
}
@media print, screen and (min-width: 68.75em) {
  .grid-padding-y-posts {
    margin-bottom: -100px;
  }
}

.grid-padding-y-posts > .cell {
  padding-bottom: 30px;
}
@media print, screen and (min-width: 68.75em) {
  .grid-padding-y-posts > .cell {
    padding-bottom: 100px;
  }
}

body {
  font-size: 16px;
  font-weight: 300;
  line-height: 1.2;
}
@media print, screen and (min-width: 48em) {
  body {
    font-size: 24px;
  }
}

a {
  text-decoration: underline;
  text-decoration-thickness: 0.01em;
  text-underline-offset: 0.35em;
  text-decoration-color: transparent;
  -webkit-transition: text-underline-offset 0.3s ease-in-out, -webkit-text-decoration 0.3s ease-in-out;
  transition: text-underline-offset 0.3s ease-in-out, -webkit-text-decoration 0.3s ease-in-out;
  transition: text-underline-offset 0.3s ease-in-out, text-decoration 0.3s ease-in-out;
  transition: text-underline-offset 0.3s ease-in-out, text-decoration 0.3s ease-in-out, -webkit-text-decoration 0.3s ease-in-out;
}
a:hover {
  text-decoration-thickness: 0.05em;
  text-underline-offset: 0.12em;
  text-decoration-color: unset;
}

h1, .h1 {
  font-weight: 700;
}
h1.large, .h1.large {
  font-size: 100px;
}
@media print, screen and (min-width: 48em) {
  h1.large, .h1.large {
    font-size: 250px;
  }
}
@media print, screen and (min-width: 68.75em) {
  h1.large, .h1.large {
    font-size: 400px;
  }
}

h2, .h2 {
  font-weight: 300;
}

h3, .h3 {
  font-weight: 300;
}

h5, .h5 {
  text-transform: uppercase;
  font-weight: 200;
}

p {
  margin-bottom: 1em;
  line-height: 1.2;
}

.caption {
  margin-top: 10px;
  margin-bottom: 40px;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.2;
}
@media print, screen and (min-width: 48em) {
  .caption {
    margin-bottom: 50px;
    font-weight: 600;
    font-size: 32px;
    line-height: 1.2;
  }
}
@media print, screen and (min-width: 68.75em) {
  .caption {
    margin-bottom: 120px;
  }
}

.lead {
  font-size: 22px;
  line-height: 1.2;
}
@media print, screen and (min-width: 48em) {
  .lead {
    font-size: 40px;
  }
}
.lead.large {
  font-size: 24px;
}
@media print, screen and (min-width: 48em) {
  .lead.large {
    font-size: 44px;
  }
}
@media print, screen and (min-width: 68.75em) {
  .lead.large {
    font-size: 64px;
  }
}

.link-next {
  display: inline-block;
  text-decoration: none;
}
.link-next:hover {
  text-decoration: none;
}
.link-next::after {
  display: inline-block;
  font-size: inherit;
  width: 1em;
  height: 1em;
  margin-left: 0.5em;
  margin-top: 0.2em;
  vertical-align: top;
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' width='1em' height='1em'%3E%3Cpath fill='%23FFFFFF' d='M24.867,14.654C22.188,12.927 19.848,10.69 17.886,8.135C16.941,6.905 16.008,5.53 15.41,4.279C14.932,3.281 14.669,2.337 14.671,1.558L17.416,1.566C17.414,2.008 17.615,2.528 17.886,3.095C18.41,4.19 19.236,5.386 20.063,6.463C21.866,8.81 24.018,10.866 26.492,12.435C28.225,13.534 30.306,14.653 32,14.658L32,14.694L31.992,17.403L31.992,17.438C30.298,17.433 28.21,18.539 26.47,19.628C23.987,21.183 21.823,23.225 20.006,25.561C19.172,26.633 18.339,27.824 17.809,28.916C17.534,29.481 17.33,30 17.329,30.442L14.584,30.434C14.587,29.655 14.856,28.713 15.339,27.717C15.945,26.469 16.887,25.101 17.839,23.876C19.816,21.333 22.169,19.111 24.859,17.399L0,17.324L0.008,14.58L24.867,14.654Z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
}

ul, ol {
  padding: 0;
  margin: 0 0 1em 0.6em;
}
ul ul, ul ol, ol ul, ol ol {
  margin-left: 0.6em;
}
ul li, ol li {
  line-height: 1.2;
  margin-bottom: 0;
}
ul.list-no-bullet, ol.list-no-bullet {
  margin-left: 0;
  list-style: none !important;
}
ul.list-no-bullet ul, ul.list-no-bullet ol, ol.list-no-bullet ul, ol.list-no-bullet ol {
  margin-left: 0;
  list-style: none !important;
}
ul.list-small-bullet, ol.list-small-bullet {
  list-style-type: none !important;
}
ul.list-small-bullet li, ol.list-small-bullet li {
  position: relative;
}
ul.list-small-bullet li::before, ol.list-small-bullet li::before {
  display: block;
  width: 0.075em;
  height: 0.075em;
  content: "";
  border-radius: 50%;
  background-color: currentcolor;
  position: absolute;
  top: 0.68em;
  left: -0.6em;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
ul.list-block, ol.list-block {
  display: block;
  margin-left: 0;
  list-style: none !important;
}
ul.list-block > li, ol.list-block > li {
  display: block;
}
ul.list-no-margin > li, ol.list-no-margin > li {
  margin-bottom: 0 !important;
}

ol.list-lower-alpha {
  list-style-type: lower-alpha;
}
ol.list-upper-alpha {
  list-style-type: upper-alpha;
}

.list-inline,
ul.list-inline,
ol.list-inline {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}
.list-inline > li, .list-inline > .list-item,
ul.list-inline > li,
ul.list-inline > .list-item,
ol.list-inline > li,
ol.list-inline > .list-item {
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin: 0;
}
.list-inline.list-auto > li, .list-inline.list-auto > .list-item,
ul.list-inline.list-auto > li,
ul.list-inline.list-auto > .list-item,
ol.list-inline.list-auto > li,
ol.list-inline.list-auto > .list-item {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.list-inline.list-gap-large,
ul.list-inline.list-gap-large,
ol.list-inline.list-gap-large {
  margin: -42px;
}
.list-inline.list-gap-large > li, .list-inline.list-gap-large > .list-item,
ul.list-inline.list-gap-large > li,
ul.list-inline.list-gap-large > .list-item,
ol.list-inline.list-gap-large > li,
ol.list-inline.list-gap-large > .list-item {
  padding: 42px;
}
.list-inline.list-gap-large-horizontal,
ul.list-inline.list-gap-large-horizontal,
ol.list-inline.list-gap-large-horizontal {
  margin-left: -42px;
  margin-right: -42px;
}
.list-inline.list-gap-large-horizontal > li, .list-inline.list-gap-large-horizontal > .list-item,
ul.list-inline.list-gap-large-horizontal > li,
ul.list-inline.list-gap-large-horizontal > .list-item,
ol.list-inline.list-gap-large-horizontal > li,
ol.list-inline.list-gap-large-horizontal > .list-item {
  padding-left: 42px;
  padding-right: 42px;
}
.list-inline.list-gap-large-vertical,
ul.list-inline.list-gap-large-vertical,
ol.list-inline.list-gap-large-vertical {
  margin-top: -42px;
  margin-bottom: -42px;
}
.list-inline.list-gap-large-vertical > li, .list-inline.list-gap-large-vertical > .list-item,
ul.list-inline.list-gap-large-vertical > li,
ul.list-inline.list-gap-large-vertical > .list-item,
ol.list-inline.list-gap-large-vertical > li,
ol.list-inline.list-gap-large-vertical > .list-item {
  padding-top: 42px;
  padding-bottom: 42px;
}

.list-services {
  display: block;
  margin: 0;
  padding: 0;
  list-style: none;
}
.list-services li {
  display: block;
  margin: 0;
  padding: 0;
  text-align: center;
  font-weight: 300;
}
@media print, screen and (min-width: 48em) {
  .list-services li {
    text-align: left;
    display: inline;
  }
}
.list-services li:after {
  content: " ";
}
.list-services > * {
  font-size: 36px;
}
@media print, screen and (min-width: 48em) {
  .list-services > * {
    font-size: 82px;
  }
}
@media print, screen and (min-width: 68.75em) {
  .list-services > * {
    font-size: 128px;
  }
}

img.figure-image {
  vertical-align: top;
}

.figure {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  overflow: hidden;
}
.figure img {
  width: 100%;
  height: auto;
  min-height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  font-family: "object-fit: cover; object-position: center;";
}
.figure .figure-content {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 3;
}
.figure .figure-crop {
  position: relative;
  width: 100%;
  height: auto;
  padding-top: 100%;
  line-height: 0;
  font-size: 0;
}
.figure .figure-crop img {
  width: 100%;
  height: 100%;
  min-width: initial;
  min-height: initial;
  position: absolute;
  top: 0;
  left: 0;
}
@media print, screen and (max-width: 68.74875em) {
  .figure .figure-crop.object-position-0 img {
    -o-object-position: center 0% !important;
       object-position: center 0% !important;
  }
}
@media print, screen and (max-width: 68.74875em) {
  .figure .figure-crop.object-position-5 img {
    -o-object-position: center 5% !important;
       object-position: center 5% !important;
  }
}
@media print, screen and (max-width: 68.74875em) {
  .figure .figure-crop.object-position-10 img {
    -o-object-position: center 10% !important;
       object-position: center 10% !important;
  }
}
@media print, screen and (max-width: 68.74875em) {
  .figure .figure-crop.object-position-15 img {
    -o-object-position: center 15% !important;
       object-position: center 15% !important;
  }
}
@media print, screen and (max-width: 68.74875em) {
  .figure .figure-crop.object-position-25 img {
    -o-object-position: center 25% !important;
       object-position: center 25% !important;
  }
}
@media print, screen and (max-width: 68.74875em) {
  .figure .figure-crop.object-position-30 img {
    -o-object-position: center 30% !important;
       object-position: center 30% !important;
  }
}

.background-about {
  background-color: #000000;
  background-image: url("../img/bg/bg-about-1.jpg"), url("../img/bg/bg-about-2.jpg"), url("../img/bg/bg-about-3.jpg");
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: calc(100% - 20px) 15%, 30px 45%, calc(100% + 200px) calc(100% - 20px);
  background-size: 110px, 217px, 426px;
}
@media print, screen and (min-width: 48em) {
  .background-about {
    background-size: 160px, 350px, 550px;
  }
}
@media screen and (min-width: 100em) {
  .background-about {
    background-position: calc(100% - 170px) 30%, 30px 45%, calc(100% - 170px) calc(100% - 20px);
    background-size: 268px, 418px, 637px;
  }
}

.employee {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 15px;
}
@media print, screen and (min-width: 68.75em) {
  .employee {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    gap: 30px;
    min-height: 855px;
  }
}
@media print, screen and (min-width: 68.75em) {
  .employee {
    gap: 55px;
  }
}
.employee .employee-figure,
.employee .employee-content {
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
  max-width: 100%;
}
@media print, screen and (min-width: 68.75em) {
  .employee .employee-figure {
    -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
@media screen and (min-width: 100em) {
  .employee .employee-figure {
    -ms-flex-preferred-size: 33.333333%;
        flex-basis: 33.333333%;
  }
}
@media print, screen and (min-width: 68.75em) {
  .employee .employee-figure .figure {
    height: 100%;
  }
}
.employee .employee-figure .figure-crop {
  padding-top: 80%;
}
.employee .employee-figure .figure-crop img {
  -o-object-position: center 5%;
     object-position: center 5%;
}
@media print, screen and (min-width: 68.75em) {
  .employee .employee-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -ms-flex-negative: 1;
        flex-shrink: 1;
  }
}
.employee .employee-header {
  margin-bottom: 25px;
}
.employee .employee-name {
  font-size: 24px;
  font-weight: 800;
  line-height: 1;
}
@media print, screen and (min-width: 68.75em) {
  .employee .employee-name {
    font-size: 36px;
  }
}
@media screen and (min-width: 100em) {
  .employee .employee-name {
    font-size: 64px;
  }
}
.employee .employee-title {
  margin-top: 10px;
  font-size: 18px;
  font-weight: 300;
  text-transform: uppercase;
}
@media print, screen and (min-width: 68.75em) {
  .employee .employee-title {
    font-size: 24px;
  }
}
.employee .employee-description {
  margin-top: auto;
  font-weight: 600;
  line-height: 1.5;
}
@media print, screen and (min-width: 68.75em) {
  .employee .employee-description {
    padding-right: 95px;
  }
}
.employee .employee-description p {
  line-height: 1.35;
}
@media screen and (min-width: 100em) {
  .employee .employee-description p {
    font-size: 32px;
  }
}
.employee .employee-description p:last-child {
  margin-bottom: 0;
}

.service {
  display: block;
  margin-bottom: 15px;
  border-bottom: 1px solid currentColor;
  overflow: hidden;
}
@media print, screen and (min-width: 48em) {
  .service {
    border-width: 3px;
  }
}
@media print, screen and (min-width: 68.75em) {
  .service {
    margin-bottom: 30px;
  }
}
.service .service-header {
  margin-bottom: 20px;
  position: relative;
}
@media print, screen and (min-width: 68.75em) {
  .service .service-header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 30px;
    margin-bottom: 40px;
  }
}
.service .service-header::after {
  display: block;
  width: 20px;
  height: 20px;
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' width='20px' height='20px'%3E%3Cpath fill='%23000000' d='M15.158,26.809L15.158,0L16.842,0L16.842,26.809C17.122,26.29 17.42,25.784 17.723,25.303C19.423,22.605 21.648,20.253 24.197,18.283C25.395,17.357 26.733,16.44 27.953,15.853C28.866,15.412 29.728,15.158 30.442,15.158L30.442,16.842C29.935,16.842 29.333,17.057 28.684,17.37C27.56,17.911 26.331,18.762 25.227,19.616C22.835,21.464 20.744,23.669 19.148,26.201C18,28.024 16.86,30.222 16.86,32L15.14,32C15.14,30.222 14,28.024 12.852,26.201C11.256,23.669 9.165,21.464 6.773,19.616C5.669,18.762 4.44,17.911 3.316,17.37C2.667,17.057 2.065,16.842 1.558,16.842L1.558,15.158C2.272,15.158 3.134,15.412 4.047,15.853C5.267,16.44 6.605,17.357 7.803,18.283C10.352,20.253 12.577,22.605 14.277,25.303C14.58,25.784 14.878,26.29 15.158,26.809Z'/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  -webkit-animation: pulseDown 1.5s ease-in-out infinite;
          animation: pulseDown 1.5s ease-in-out infinite;
  position: absolute;
  bottom: 10px;
  right: 0;
}
@media print, screen and (min-width: 48em) {
  .service .service-header::after {
    width: 40px;
    height: 40px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' width='40px' height='40px'%3E%3Cpath fill='%23FFFFFF' d='M15.158,26.809L15.158,0L16.842,0L16.842,26.809C17.122,26.29 17.42,25.784 17.723,25.303C19.423,22.605 21.648,20.253 24.197,18.283C25.395,17.357 26.733,16.44 27.953,15.853C28.866,15.412 29.728,15.158 30.442,15.158L30.442,16.842C29.935,16.842 29.333,17.057 28.684,17.37C27.56,17.911 26.331,18.762 25.227,19.616C22.835,21.464 20.744,23.669 19.148,26.201C18,28.024 16.86,30.222 16.86,32L15.14,32C15.14,30.222 14,28.024 12.852,26.201C11.256,23.669 9.165,21.464 6.773,19.616C5.669,18.762 4.44,17.911 3.316,17.37C2.667,17.057 2.065,16.842 1.558,16.842L1.558,15.158C2.272,15.158 3.134,15.412 4.047,15.853C5.267,16.44 6.605,17.357 7.803,18.283C10.352,20.253 12.577,22.605 14.277,25.303C14.58,25.784 14.878,26.29 15.158,26.809Z'/%3E%3C/svg%3E");
    background-size: 40px;
  }
}
@media screen and (min-width: 100em) {
  .service .service-header::after {
    width: 95px;
    height: 95px;
    background-size: 95px;
  }
}
.service .service-header .service-title {
  font-size: 36px;
  line-height: 1;
}
@media print, screen and (min-width: 48em) {
  .service .service-header .service-title {
    font-size: 64px;
  }
}
@media screen and (min-width: 100em) {
  .service .service-header .service-title {
    font-size: 128px;
  }
}
.service .service-header .service-logo {
  width: 0;
  height: 0;
  overflow: hidden;
  margin-top: 15px;
}
@media print, screen and (min-width: 68.75em) {
  .service .service-header .service-logo {
    margin-top: 30px;
    text-align: right;
  }
}
.service .service-header .service-logo img {
  width: auto;
  height: auto;
  max-width: 216px;
  max-height: 60px;
}
@media print, screen and (min-width: 48em) {
  .service .service-header .service-logo img {
    max-width: 288px;
    max-height: 80px;
  }
}
@media print, screen and (min-width: 68.75em) {
  .service .service-header .service-logo img {
    max-width: 360px;
    max-height: 100px;
  }
}
.service .service-content {
  height: 0;
  overflow: hidden;
}
@media screen and (min-width: 100em) {
  .service .service-content {
    font-size: 40px;
  }
}
.service.in-view .service-header::after {
  display: none;
}
@media print, screen and (min-width: 48em) {
  .service.in-view .service-header .service-logo {
    width: auto;
    height: auto;
  }
}
.service.in-view .service-content {
  height: auto;
  margin: 30px 0;
}
@media print, screen and (min-width: 48em) {
  .service.in-view .service-content {
    padding: 30px 0;
  }
}

.contacts {
  padding: 20px 0 15px;
  border-bottom: 1px solid currentColor;
}
@media print, screen and (min-width: 68.75em) {
  .contacts {
    padding: 40px 0 15px;
  }
}
.contacts .contacts-title h2, .contacts .contacts-title .h2 {
  margin: 0;
  font-size: 24px;
  font-weight: 300;
}
@media print, screen and (min-width: 68.75em) {
  .contacts .contacts-title h2, .contacts .contacts-title .h2 {
    font-size: 32px;
  }
}
.contacts .contacts-content {
  height: 0;
  overflow: hidden;
  font-weight: 800;
}
@media print, screen and (min-width: 48em) {
  .contacts .contacts-content {
    font-size: 24px;
  }
}
@media print, screen and (min-width: 68.75em) {
  .contacts .contacts-content {
    font-size: 32px;
  }
}
@media print, screen and (min-width: 48em) {
  .contacts .contacts-content p {
    font-size: 24px;
  }
}
@media print, screen and (min-width: 68.75em) {
  .contacts .contacts-content p {
    font-size: 32px;
  }
}
.contacts .contacts-content p:last-child {
  margin-bottom: 0;
}
@media print, screen and (min-width: 48em) {
  .contacts.contacts-inline {
    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: end;
        -ms-flex-align: end;
            align-items: flex-end;
    gap: 30px;
  }
}
@media print, screen and (min-width: 48em) {
  .contacts.contacts-inline .contacts-title {
    margin-bottom: 0;
    -ms-flex-preferred-size: 1;
        flex-basis: 1;
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
@media print, screen and (min-width: 48em) {
  .contacts.contacts-inline .contacts-content {
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -ms-flex-negative: 1;
        flex-shrink: 1;
    text-align: right;
  }
}
@media print, screen and (min-width: 68.75em) {
  .contacts.in-view {
    padding: 60px 0 20px;
  }
}
.contacts.in-view .contacts-content {
  height: auto;
  overflow: visible;
  padding-top: 15px;
}
@media print, screen and (min-width: 48em) {
  .contacts.in-view .contacts-content {
    padding-top: 20px;
  }
}
@media print, screen and (min-width: 68.75em) {
  .contacts.in-view .contacts-content {
    padding-top: 50px;
  }
}
@media print, screen and (min-width: 48em) {
  .contacts.in-view.contacts-inline .contacts-content {
    padding-top: 0;
  }
}

.contact {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-height: 100%;
}
.contact .contact-title {
  font-size: 16px;
  font-weight: 800;
}
.contact .contact-description {
  margin-top: 10px;
  font-weight: 800;
}
@media print, screen and (min-width: 48em) {
  .contact .contact-description {
    margin-top: 25px;
    font-size: 24px;
  }
}
.contact .contact-description a {
  text-decoration: underline;
  text-decoration-thickness: 0.01em;
  text-underline-offset: 0.35em;
  text-decoration-color: transparent;
  -webkit-transition: text-underline-offset 0.3s ease-in-out, -webkit-text-decoration 0.3s ease-in-out;
  transition: text-underline-offset 0.3s ease-in-out, -webkit-text-decoration 0.3s ease-in-out;
  transition: text-underline-offset 0.3s ease-in-out, text-decoration 0.3s ease-in-out;
  transition: text-underline-offset 0.3s ease-in-out, text-decoration 0.3s ease-in-out, -webkit-text-decoration 0.3s ease-in-out;
  text-decoration-thickness: 0.05em;
  text-underline-offset: 0.12em;
  text-decoration-color: unset;
}
.contact .contact-description a:hover {
  text-decoration-thickness: 0.05em;
  text-underline-offset: 0.12em;
  text-decoration-color: unset;
}
.contact .contact-description a:hover {
  text-decoration-thickness: 0.01em;
  text-underline-offset: 0.35em;
  text-decoration-color: transparent;
}
@media print, screen and (min-width: 48em) {
  .contact .contact-description p {
    font-size: 24px;
  }
}
.contact .contact-description p:last-child {
  margin-bottom: 0;
}
.contact .contact-logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 64px;
  margin-top: auto;
  padding-top: 20px;
}
.contact .contact-logo > * {
  display: block;
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
  max-width: 100%;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.contact .contact-logo img {
  vertical-align: top;
  width: auto;
  height: auto;
  max-width: 200px;
  max-height: 64px;
}

.ideas {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-bottom: 8px;
  font-size: 70px;
  font-weight: 900;
  line-height: 0.9;
}
@media print, screen and (min-width: 48em) {
  .ideas {
    font-size: min(10.6770833333vw, 205px);
  }
}
.ideas > :last-child > span {
  position: relative;
}
.ideas > :last-child > span::after {
  display: block;
  height: 0.268em;
  width: 0.806em;
  content: "";
  position: absolute;
  bottom: 16%;
  right: -27%;
  -webkit-transform: rotate(-11.68deg);
          transform: rotate(-11.68deg);
  background-image: url("../img/brand/logo-main.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
}

#keyvisual-wrap #header-logo {
  -webkit-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
}
@media print, screen and (min-width: 68.75em) {
  #keyvisual-wrap #header-logo {
    opacity: 0;
  }
}
@media print, screen and (min-width: 68.75em) {
  #keyvisual-wrap.keyvisual-content-shown #header-logo {
    opacity: 1;
  }
}
#keyvisual-wrap.keyvisual-content-shown #keyvisual-arrow {
  opacity: 1;
}

#keyvisual {
  display: block;
  height: 0;
  padding-top: 56.25%;
  position: relative;
}
@media print, screen and (min-width: 68.75em) {
  #keyvisual {
    height: 100vh;
    padding-top: 0;
  }
}

#keyvisual-logo {
  display: none;
}
@media print, screen and (min-width: 68.75em) {
  #keyvisual-logo {
    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;
    width: 100%;
    height: 100%;
    min-width: 174px;
    text-align: center;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    position: absolute;
    top: 50%;
    left: 0;
    z-index: 0;
  }
}
#keyvisual-logo img {
  width: 100%;
  max-width: 1920px;
  min-width: 174px;
}

#keyvisual-content {
  display: block;
  width: 100%;
  height: 100%;
  opacity: 1;
  -webkit-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
  -webkit-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
}
@media print, screen and (min-width: 68.75em) {
  #keyvisual-content {
    width: 30%;
    height: 30%;
    opacity: 0;
  }
}
@media print, screen and (max-width: 68.74875em) {
  #keyvisual-content {
    width: 100% !important;
    height: 100% !important;
    opacity: 1 !important;
  }
}
#keyvisual-content::before {
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background-color: rgba(0, 0, 0, 0.1);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
#keyvisual-content video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

#keyvisual-arrow {
  display: none;
  width: 90px;
  height: 90px;
  opacity: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' width='90px' height='90px'%3E%3Cpath fill='%23FFFFFF' d='M15.158,26.809L15.158,0L16.842,0L16.842,26.809C17.122,26.29 17.42,25.784 17.723,25.303C19.423,22.605 21.648,20.253 24.197,18.283C25.395,17.357 26.733,16.44 27.953,15.853C28.866,15.412 29.728,15.158 30.442,15.158L30.442,16.842C29.935,16.842 29.333,17.057 28.684,17.37C27.56,17.911 26.331,18.762 25.227,19.616C22.835,21.464 20.744,23.669 19.148,26.201C18,28.024 16.86,30.222 16.86,32L15.14,32C15.14,30.222 14,28.024 12.852,26.201C11.256,23.669 9.165,21.464 6.773,19.616C5.669,18.762 4.44,17.911 3.316,17.37C2.667,17.057 2.065,16.842 1.558,16.842L1.558,15.158C2.272,15.158 3.134,15.412 4.047,15.853C5.267,16.44 6.605,17.357 7.803,18.283C10.352,20.253 12.577,22.605 14.277,25.303C14.58,25.784 14.878,26.29 15.158,26.809Z'/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  -webkit-animation: pulseDown 1.5s ease-in-out infinite;
          animation: pulseDown 1.5s ease-in-out infinite;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
  position: absolute;
  bottom: 60px;
  left: 50%;
  z-index: 2;
}
@media print, screen and (min-width: 68.75em) {
  #keyvisual-arrow {
    display: block;
  }
}

.showcase {
  overflow: hidden;
  position: relative;
}
.showcase .showcase-content-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 85vw;
  position: relative;
}
@media print, screen and (min-width: 48em) {
  .showcase .showcase-content-wrap {
    min-height: 62.5vh;
  }
}
@media print, screen and (min-width: 68.75em) {
  .showcase .showcase-content-wrap {
    min-height: 100vh;
  }
}
.showcase .showcase-content {
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
  max-width: 100%;
  text-align: center;
  position: relative;
  z-index: 1;
}
.showcase .showcase-content h1, .showcase .showcase-content h2, .showcase .showcase-content h3 {
  word-break: break-word;
  overflow-wrap: break-word;
}
.showcase .showcase-content h1 a, .showcase .showcase-content h2 a, .showcase .showcase-content h3 a {
  text-decoration: none;
}
@media print, screen and (max-width: 47.99875em) {
  .showcase .showcase-content h2 {
    font-size: 64px;
  }
}
.showcase .showcase-figure {
  display: block;
  width: 115px;
  -webkit-transform: translate(calc(-100% - 45px), -100%);
          transform: translate(calc(-100% - 45px), -100%);
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 0;
}
@media screen and (min-width: 35em) {
  .showcase .showcase-figure {
    width: 170px;
  }
}
@media screen and (min-width: 42.5em) {
  .showcase .showcase-figure {
    width: 255px;
  }
}
@media print, screen and (min-width: 68.75em) {
  .showcase .showcase-figure {
    width: 380px;
    -webkit-transform: translate(calc(-100% - 100px), calc(-100% + 15px));
            transform: translate(calc(-100% - 100px), calc(-100% + 15px));
  }
}
@media screen and (min-width: 100em) {
  .showcase .showcase-figure {
    width: 420px;
    -webkit-transform: translate(calc(-100% - 230px), calc(-100% + 15px));
            transform: translate(calc(-100% - 230px), calc(-100% + 15px));
  }
}
.showcase .showcase-figure:hover {
  z-index: 2;
}
.showcase .showcase-figure:hover .figure-crop {
  -webkit-transform: scale(1.05) !important;
          transform: scale(1.05) !important;
}
.showcase .showcase-figure .figure {
  overflow: visible;
}
.showcase .showcase-figure .figure-crop {
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
}
.showcase .showcase-figure.figure-1 .figure {
  -webkit-animation: pulseLeft 5s ease-in-out infinite;
          animation: pulseLeft 5s ease-in-out infinite;
}
.showcase .showcase-figure.figure-2 {
  width: 140px;
  -webkit-transform: translate(10px, calc(-100% - 25px));
          transform: translate(10px, calc(-100% - 25px));
}
@media screen and (min-width: 35em) {
  .showcase .showcase-figure.figure-2 {
    width: 210px;
  }
}
@media screen and (min-width: 42.5em) {
  .showcase .showcase-figure.figure-2 {
    width: 315px;
  }
}
@media print, screen and (min-width: 68.75em) {
  .showcase .showcase-figure.figure-2 {
    width: 420px;
    -webkit-transform: translate(50px, -120%);
            transform: translate(50px, -120%);
  }
}
@media screen and (min-width: 100em) {
  .showcase .showcase-figure.figure-2 {
    width: 520px;
    -webkit-transform: translate(200px, -100%);
            transform: translate(200px, -100%);
  }
}
.showcase .showcase-figure.figure-3 {
  width: 130px;
  -webkit-transform: translate(-40px, 15px);
          transform: translate(-40px, 15px);
}
@media screen and (min-width: 35em) {
  .showcase .showcase-figure.figure-3 {
    width: 195px;
  }
}
@media screen and (min-width: 42.5em) {
  .showcase .showcase-figure.figure-3 {
    width: 292px;
  }
}
@media print, screen and (min-width: 68.75em) {
  .showcase .showcase-figure.figure-3 {
    width: 380px;
    -webkit-transform: translate(-40px, 50px);
            transform: translate(-40px, 50px);
  }
}
@media screen and (min-width: 100em) {
  .showcase .showcase-figure.figure-3 {
    width: 470px;
    -webkit-transform: translate(-30px, 60px);
            transform: translate(-30px, 60px);
  }
}
.showcase .showcase-figure.figure-3 .figure {
  -webkit-animation: pulseDown 5s ease-in-out infinite;
          animation: pulseDown 5s ease-in-out infinite;
}
.showcase .showcase-figure .figure {
  -webkit-animation: pulseRight 5s ease-in-out infinite;
          animation: pulseRight 5s ease-in-out infinite;
}

#pointer {
  display: none;
}

[style*="--delay"] {
  opacity: 0;
  -webkit-transform: translateY(50px);
          transform: translateY(50px);
  -webkit-transition: all 1s cubic-bezier(0.19, 1, 0.22, 1) calc(var(--delay) * 0.1s);
  transition: all 1s cubic-bezier(0.19, 1, 0.22, 1) calc(var(--delay) * 0.1s);
}

.in-view[style*="--delay"],
.in-view [style*="--delay"] {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

@media screen and (max-width: 1099px) {
  body.nav-is-active {
    overflow-y: hidden;
  }
}
@media screen and (min-width: 1100px) {
  body.nav-is-active #header {
    padding-right: 0 !important;
  }
}
body.nav-is-active #header-nav {
  -webkit-transform: translateX(0);
          transform: translateX(0);
  opacity: 1;
}
body.nav-is-active #header-nav-toggle {
  position: fixed;
  bottom: 40px;
  right: 16px;
}
@media print, screen and (min-width: 48em) {
  body.nav-is-active #header-nav-toggle {
    right: 40px;
  }
}

body.header-pull #header {
  margin-bottom: -95px;
}
@media screen and (min-width: 1100px) {
  body.header-pull #header {
    margin-bottom: -120px;
  }
}

body.small-header-pull #header {
  margin-bottom: -95px;
}
@media screen and (min-width: 1100px) {
  body.small-header-pull #header {
    margin-bottom: -120px;
  }
}

@media print, screen and (min-width: 48em) {
  body.medium-header-pull #header {
    margin-bottom: -95px;
  }
}
@media screen and (min-width: 48em) and (min-width: 1100px) {
  body.medium-header-pull #header {
    margin-bottom: -120px;
  }
}
@media print, screen and (min-width: 68.75em) {
  body.large-header-pull #header {
    margin-bottom: -95px;
  }
}
@media screen and (min-width: 68.75em) and (min-width: 1100px) {
  body.large-header-pull #header {
    margin-bottom: -120px;
  }
}
.header-pull-padding {
  padding-top: 95px;
}
@media screen and (min-width: 1100px) {
  .header-pull-padding {
    padding-top: 120px;
  }
}

.small-header-pull-padding {
  padding-top: 95px;
}
@media screen and (min-width: 1100px) {
  .small-header-pull-padding {
    padding-top: 120px;
  }
}

@media print, screen and (min-width: 48em) {
  .medium-header-pull-padding {
    padding-top: 95px;
  }
}
@media screen and (min-width: 48em) and (min-width: 1100px) {
  .medium-header-pull-padding {
    padding-top: 120px;
  }
}
@media print, screen and (min-width: 68.75em) {
  .large-header-pull-padding {
    padding-top: 95px;
  }
}
@media screen and (min-width: 68.75em) and (min-width: 1100px) {
  .large-header-pull-padding {
    padding-top: 120px;
  }
}
body.header-inverse:not(.nav-is-active) #header {
  color: #FFFFFF;
}
body.header-inverse:not(.nav-is-active) #header * {
  color: #FFFFFF;
}

body.small-header-inverse:not(.nav-is-active) #header {
  color: #FFFFFF;
}
body.small-header-inverse:not(.nav-is-active) #header * {
  color: #FFFFFF;
}

@media print, screen and (min-width: 48em) {
  body.medium-header-inverse:not(.nav-is-active) #header {
    color: #FFFFFF;
  }
  body.medium-header-inverse:not(.nav-is-active) #header * {
    color: #FFFFFF;
  }
}
@media print, screen and (min-width: 68.75em) {
  body.large-header-inverse:not(.nav-is-active) #header {
    color: #FFFFFF;
  }
  body.large-header-inverse:not(.nav-is-active) #header * {
    color: #FFFFFF;
  }
}
#header {
  min-height: 95px;
  padding-top: 38px;
  position: relative;
  z-index: 1000;
}
@media screen and (min-width: 1100px) {
  #header {
    min-height: 120px;
    padding-top: 40px;
  }
}

#header-grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

#header-logo {
  width: 120px;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 1100px) {
  #header-logo {
    width: 240px;
  }
}
@media screen and (min-width: 1100px) and (min-width: 1100px) {
  #header-logo {
    width: 290px;
  }
}
#header-logo img {
  width: 100%;
  max-width: 96px;
}
@media screen and (min-width: 1100px) {
  #header-logo img {
    max-width: 174px;
  }
}

#header-nav-toggle {
  font-size: 16px;
  font-weight: 800;
  -webkit-transition: bottom 0.5s ease-in-out, color 0.3s ease-in-out;
  transition: bottom 0.5s ease-in-out, color 0.3s ease-in-out;
  position: relative;
  bottom: 0;
  z-index: 1;
}
@media screen and (min-width: 1100px) {
  #header-nav-toggle {
    display: none;
  }
}

#header-nav {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
@media screen and (max-width: 1099px) {
  #header-nav {
    width: 100%;
    height: 100%;
    padding-top: 85px;
    padding-bottom: 85px;
    -webkit-transform: translateX(calc(-100% - 50px));
            transform: translateX(calc(-100% - 50px));
    -webkit-transition: opacity 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
    transition: opacity 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
    transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
    transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
    background: #FFFFFF;
    opacity: 0;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 0;
  }
}

#primary-nav {
  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: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  height: 100%;
  padding-left: 16px;
  padding-right: 16px;
  overflow-y: auto;
}
@media print, screen and (min-width: 48em) {
  #primary-nav {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media screen and (min-width: 1100px) {
  #primary-nav {
    display: block;
    height: auto;
    padding-left: 0;
    padding-right: 0;
    overflow: unset;
  }
}
#primary-nav ul.menu {
  display: block;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media screen and (min-width: 1100px) {
  #primary-nav ul.menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 40px;
  }
}
@media screen and (min-width: 1100px) and (min-width: 1100px) {
  #primary-nav ul.menu {
    gap: 80px;
  }
}
#primary-nav ul.menu > li {
  display: block;
  margin: 0;
  padding: 0;
  font-size: 36px;
  line-height: 1.35;
  text-align: center;
}
@media screen and (min-width: 1100px) {
  #primary-nav ul.menu > li {
    display: block;
    height: auto;
    padding-left: 0;
    padding-right: 0;
    overflow: unset;
    font-size: 24px;
    line-height: 1.2;
    text-align: left;
  }
}
#primary-nav ul.menu > li.current-menu-item a {
  font-weight: 800;
  text-decoration: none !important;
}
#primary-nav ul.menu > li.menu-item-cta {
  margin-top: 50px;
}
@media screen and (min-width: 1100px) {
  #primary-nav ul.menu > li.menu-item-cta {
    margin-top: unset;
    margin-left: auto;
  }
}
@media screen and (min-width: 100em) {
  #primary-nav ul.menu > li.menu-item-cta {
    margin-right: 90px;
  }
}

@media screen and (max-width: 1099px) {
  .hide-on-mobile-header {
    display: none !important;
  }
}

@media screen and (min-width: 1100px) {
  .hide-on-desktop-header {
    display: none !important;
  }
}

body.footer-light #footer {
  background: #FFFFFF;
  color: #000000;
}
body.footer-light #footer * {
  color: #000000;
}

#footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 20px 0 10px;
  background: #000000;
  color: #FFFFFF;
  font-size: 16px;
  font-weight: bold;
}
@media print, screen and (min-width: 48em) {
  #footer {
    padding: 60px 0 30px;
    font-size: 32px;
  }
}
@media print, screen and (min-width: 68.75em) {
  #footer {
    min-height: 100vh;
  }
}
#footer a {
  color: #FFFFFF;
}
#footer ul.menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media print, screen and (min-width: 48em) {
  #footer ul.menu {
    gap: 0;
  }
}
@media print, screen and (min-width: 48em) {
  #footer ul.menu > li {
    -ms-flex-preferred-size: calc(50% - 60px);
        flex-basis: calc(50% - 60px);
  }
  #footer ul.menu > li:nth-child(2n) {
    text-align: right;
  }
}

#footer-top {
  min-height: 98px;
  margin-bottom: 20px;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
@media print, screen and (min-width: 48em) {
  #footer-top {
    min-height: 140px;
    margin-top: auto;
    margin-bottom: 30px;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}

#footer-bottom {
  margin-top: auto;
  margin-bottom: 15px;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
@media print, screen and (min-width: 48em) {
  #footer-bottom {
    min-height: 140px;
    margin-top: 0;
    margin-bottom: 30px;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}
#footer-bottom a {
  text-decoration: underline;
  text-decoration-thickness: 0.01em;
  text-underline-offset: 0.35em;
  text-decoration-color: transparent;
  -webkit-transition: text-underline-offset 0.3s ease-in-out, -webkit-text-decoration 0.3s ease-in-out;
  transition: text-underline-offset 0.3s ease-in-out, -webkit-text-decoration 0.3s ease-in-out;
  transition: text-underline-offset 0.3s ease-in-out, text-decoration 0.3s ease-in-out;
  transition: text-underline-offset 0.3s ease-in-out, text-decoration 0.3s ease-in-out, -webkit-text-decoration 0.3s ease-in-out;
  text-decoration-thickness: 0.05em;
  text-underline-offset: 0.12em;
  text-decoration-color: unset;
}
#footer-bottom a:hover {
  text-decoration-thickness: 0.05em;
  text-underline-offset: 0.12em;
  text-decoration-color: unset;
}
#footer-bottom a:hover {
  text-decoration-thickness: 0.01em;
  text-underline-offset: 0.35em;
  text-decoration-color: transparent;
}

#footer-logo {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
}
@media print, screen and (min-width: 48em) {
  #footer-logo {
    margin-top: auto;
  }
}

@media print, screen and (min-width: 48em) {
  #footer-right-sidebar {
    text-align: right;
  }
}

.footer-section {
  margin-bottom: 20px;
}
@media print, screen and (min-width: 48em) {
  .footer-section {
    margin-bottom: 30px;
  }
}
.footer-section:last-child {
  margin-bottom: 0 !important;
}
.footer-section .section-title {
  display: none !important;
}

#footer-logo svg {
  overflow: visible;
}
#footer-logo svg path, #footer-logo svg rect {
  -webkit-transform: translateY(calc(100% + 150px));
          transform: translateY(calc(100% + 150px));
}
#footer-logo.in-view svg path, #footer-logo.in-view svg rect {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition: -webkit-transform 1.5s cubic-bezier(0.19, 1, 0.22, 1) calc(var(--path-delay) * 0.075s);
  transition: -webkit-transform 1.5s cubic-bezier(0.19, 1, 0.22, 1) calc(var(--path-delay) * 0.075s);
  transition: transform 1.5s cubic-bezier(0.19, 1, 0.22, 1) calc(var(--path-delay) * 0.075s);
  transition: transform 1.5s cubic-bezier(0.19, 1, 0.22, 1) calc(var(--path-delay) * 0.075s), -webkit-transform 1.5s cubic-bezier(0.19, 1, 0.22, 1) calc(var(--path-delay) * 0.075s);
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdmVuZG9yL25vcm1hbGl6ZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3VuaXQuc2NzcyIsIl9jb2xvcnMuc2NzcyIsIl9zZXR0aW5ncy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYmFzZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2NvbG9yLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2hlbHBlcnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYWxpZ25tZW50LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX3ByaW50LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3JpZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19ndXR0ZXJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NlbGwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fbGF5b3V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2ZyYW1lLnNjc3MiLCJfa2V5ZnJhbWVzLnNjc3MiLCJtaXhpbnMvX2hlbHBlcnMuc2NzcyIsImdsb2JhbC9fZm9udHMuc2NzcyIsImdsb2JhbC9fZ3JpZC5zY3NzIiwibWl4aW5zL19ncmlkLnNjc3MiLCJnbG9iYWwvX3R5cG9ncmFwaHkuc2NzcyIsIm1peGlucy9fYW5pbWF0aW9ucy5zY3NzIiwiZ2xvYmFsL19maWd1cmVzLnNjc3MiLCJnbG9iYWwvX2JhY2tncm91bmRzLnNjc3MiLCJnbG9iYWwvX2NvbnRlbnQuc2NzcyIsImdsb2JhbC9fa2V5dmlzdWFsLnNjc3MiLCJnbG9iYWwvX3Nob3djYXNlLnNjc3MiLCJnbG9iYWwvX2N1c3RvbS1wb2ludGVyLnNjc3MiLCJnbG9iYWwvX2FuaW1hdGlvbnMuc2NzcyIsImNvbXBvbmVudHMvX2hlYWRlci5zY3NzIiwiY29tcG9uZW50cy9fZm9vdGVyLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCO0FDQWhCOzs7OztFQUFBO0FDR0UsMkVBQUE7QUFRQTtFQUNFLGlCQUFBO0VBQ0EsOEJB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Vjs7QWN4dUJNO0VHb0ZGLHFCQVRNO0FqQmlxQlY7O0FjNXVCTTtFR29GRixxQkFUTTtBakJxcUJWOztBY2h2Qk07RUdvRkYsVUFUTTtBakJ5cUJWOztBY3B2Qk07RUdvRkYscUJBVE07QWpCNnFCVjs7QWN4dkJNO0VHb0ZGLHFCQVRNO0FqQmlyQlY7O0FjNXZCTTtFR29GRixXQVRNO0FqQnFyQlY7O0FTeHFCUTtFSzVHRjtJRzZESixtQkFBQTtRQUFBLGlCQUFBO1lBQUEsV0FBQTtJQTJDRSxXQVRNO0VqQjJyQlI7RWNyeEJFO0lHd0RGLG1CQUFBO1FBQUEsa0JBQUE7WUFBQSxjQUFBO0VqQmd1QkE7RWNseEJJO0lHNkZGLFdBVE07RWpCaXNCUjtFYzV3Qkk7SUdvRkYsb0JBVE07RWpCb3NCUjtFYy93Qkk7SUdvRkYscUJBVE07RWpCdXNCUjtFY2x4Qkk7SUdvRkYsVUFUTTtFakIwc0JSO0VjcnhCSTtJR29GRixxQkFUTTtFakI2c0JSO0VjeHhCSTtJR29GRixxQkFUTTtFakJndEJSO0VjM3hCSTtJR29GRixVQVRNO0VqQm10QlI7RWM5eEJJO0lHb0ZGLHFCQVRNO0VqQnN0QlI7RWNqeUJJO0lHb0ZGLHFCQVRNO0VqQnl0QlI7RWNweUJJO0lHb0ZGLFVBVE07RWpCNHRCUjtFY3Z5Qkk7SUdvRkYscUJBVE07RWpCK3RCUjtFYzF5Qkk7SUdvRkYscUJBVE07RWpCa3VCUjtFYzd5Qkk7SUdvRkYsV0FUTTtFakJxdUJSO0FBQ0Y7QVN6dEJRO0VLNUdGO0lHNkRKLG1CQUFBO1FBQUEsaUJBQUE7WUFBQSxXQUFBO0lBMkNFLFdBVE07RWpCMnVCUjtFY3IwQkU7SUd3REYsbUJBQUE7UUFBQSxrQkFBQTtZQUFBLGNBQUE7RWpCZ3hCQTtFY2wwQkk7SUc2RkYsV0FUTTtFakJpdkJSO0VjNXpCSTtJR29GRixvQkFUTTtFakJvdkJSO0VjL3pCSTtJR29GRixxQkFUTTtFakJ1dkJSO0VjbDBCSTtJR29GRixVQVRNO0VqQjB2QlI7RWNyMEJJO0lHb0ZGLHFCQVRNO0VqQjZ2QlI7RWN4MEJJO0lHb0ZGLHFCQVRNO0VqQmd3QlI7RWMzMEJJO0lHb0ZGLFVBVE07RWpCbXdCUjtFYzkwQkk7SUdvRkYscUJBVE07RWpCc3dCUjtFY2oxQkk7SUdvRkYscUJBVE07RWpCeXdCUjtFY3AxQkk7SUdvRkYsVUFUTTtFakI0d0JSO0VjdjFCSTtJR29GRixxQkFUTTtFakIrd0JSO0VjMTFCSTtJR29GRixxQkFUTTtFakJreEJSO0VjNzFCSTtJR29GRixXQVRNO0VqQnF4QlI7QUFDRjtBY3oxQkU7RUFDRSxXQUFBO0FkMjFCSjs7QWN2MUJFO0VBQ0UsWUFBQTtBZDAxQko7O0FjNXpCRTtFRXZHTSx1QkFBQTtFQUFBLHdCQUFBO0FoQnc2QlI7QVNyeEJRO0VLNUNOO0lFdkdNLHNCQUFBO0lBQUEsdUJBQUE7RWhCNjZCTjtBQUNGO0FjbjBCSTtFR29DQSw0QkFUTTtFRDdISixzQkFBQTtFQUFBLHVCQUFBO0FoQjA2Qk47QVNoeUJRO0VLakNBO0lHNkJKLDJCQVRNO0lEN0hKLHFCQUFBO0lBQUEsc0JBQUE7RWhCZzdCSjtBQUNGO0FjMzJCRTtFR2dFRSxXQVRNO0FqQnV6QlY7QWMxMkJFO0VHNERFLFdBVE07QWpCMHpCVjtBY3IyQkk7RUdvREEscUNBVE07QWpCNnpCVjtBY3gyQkk7RUdvREEsc0NBVE07QWpCZzBCVjtBYzMyQkk7RUdvREEsMkJBVE07QWpCbTBCVjtBYzkyQkk7RUdvREEsc0NBVE07QWpCczBCVjtBY2ozQkk7RUdvREEsc0NBVE07QWpCeTBCVjtBY3AzQkk7RUdvREEsMkJBVE07QWpCNDBCVjtBY3YzQkk7RUdvREEsc0NBVE07QWpCKzBCVjtBYzEzQkk7RUdvREEsc0NBVE07QWpCazFCVjtBYzczQkk7RUdvREEsMkJBVE07QWpCcTFCVjtBY2g0Qkk7RUdvREEsc0NBVE07QWpCdzFCVjtBY240Qkk7RUdvREEsc0NBVE07QWpCMjFCVjtBY3Q0Qkk7RUdvREEsNEJBVE07QWpCODFCVjtBU2oxQlE7RUtwRU47SUdnRUUsV0FUTTtFakJrMkJSO0VjcjVCQTtJRzRERSxXQVRNO0VqQnEyQlI7RWNoNUJFO0lHb0RBLG9DQVRNO0VqQncyQlI7RWNuNUJFO0lHb0RBLHFDQVRNO0VqQjIyQlI7RWN0NUJFO0lHb0RBLDBCQVRNO0VqQjgyQlI7RWN6NUJFO0lHb0RBLHFDQVRNO0VqQmkzQlI7RWM1NUJFO0lHb0RBLHFDQVRNO0VqQm8zQlI7RWMvNUJFO0lHb0RBLDBCQVRNO0VqQnUzQlI7RWNsNkJFO0lHb0RBLHFDQVRNO0VqQjAzQlI7RWNyNkJFO0lHb0RBLHFDQVRNO0VqQjYzQlI7RWN4NkJFO0lHb0RBLDBCQVRNO0VqQmc0QlI7RWMzNkJFO0lHb0RBLHFDQVRNO0VqQm00QlI7RWM5NkJFO0lHb0RBLHFDQVRNO0VqQnM0QlI7RWNqN0JFO0lHb0RBLDJCQVRNO0VqQnk0QlI7RWNoOEJBO0lHZ0VFLFdBVE07RWpCNDRCUjtFYy83QkE7SUc0REUsV0FUTTtFakIrNEJSO0VjMTdCRTtJR29EQSxvQ0FUTTtFakJrNUJSO0VjNzdCRTtJR29EQSxxQ0FUTTtFakJxNUJSO0VjaDhCRTtJR29EQSwwQkFUTTtFakJ3NUJSO0VjbjhCRTtJR29EQSxxQ0FUTTtFakIyNUJSO0VjdDhCRTtJR29EQSxxQ0FUTTtFakI4NUJSO0VjejhCRTtJR29EQSwwQkFUTTtFakJpNkJSO0VjNThCRTtJR29EQSxxQ0FUTTtFakJvNkJSO0VjLzhCRTtJR29EQSxxQ0FUTTtFakJ1NkJSO0VjbDlCRTtJR29EQSwwQkFUTTtFakIwNkJSO0VjcjlCRTtJR29EQSxxQ0FUTTtFakI2NkJSO0VjeDlCRTtJR29EQSxxQ0FUTTtFakJnN0JSO0VjMzlCRTtJR29EQSwyQkFUTTtFakJtN0JSO0FBQ0Y7QVN2NkJRO0VLcEVOO0lHZ0VFLFdBVE07RWpCdzdCUjtFYzMrQkE7SUc0REUsV0FUTTtFakIyN0JSO0VjdCtCRTtJR29EQSxvQ0FUTTtFakI4N0JSO0VjeitCRTtJR29EQSxxQ0FUTTtFakJpOEJSO0VjNStCRTtJR29EQSwwQkFUTTtFakJvOEJSO0VjLytCRTtJR29EQSxxQ0FUTTtFakJ1OEJSO0VjbC9CRTtJR29EQSxxQ0FUTTtFakIwOEJSO0Vjci9CRTtJR29EQSwwQkFUTTtFakI2OEJSO0VjeC9CRTtJR29EQSxxQ0FUTTtFakJnOUJSO0VjMy9CRTtJR29EQSxxQ0FUTTtFakJtOUJSO0VjOS9CRTtJR29EQSwwQkFUTTtFakJzOUJSO0VjamdDRTtJR29EQSxxQ0FUTTtFakJ5OUJSO0VjcGdDRTtJR29EQSxxQ0FUTTtFakI0OUJSO0VjdmdDRTtJR29EQSwyQkFUTTtFakIrOUJSO0FBQ0Y7O0FjeDlCSTtFRTlJSSx3QkFBQTtFQUFBLHVCQUFBO0FoQjJtQ1I7QVN4OUJRO0VLTEo7SUU5SUksdUJBQUE7SUFBQSxzQkFBQTtFaEJnbkNOO0FBQ0Y7QWM3OUJJO0VFcEpJLHdCQUFBO0VBQUEsdUJBQUE7QWhCcW5DUjtBU2wrQlE7RUtDSjtJRXBKSSx1QkFBQTtJQUFBLHNCQUFBO0VoQjBuQ047QUFDRjtBY2wrQkk7RUV6Skksd0JBQUE7RUFBQSx1QkFBQTtBaEIrbkNSO0FTNStCUTtFS01KO0lFekpJLHVCQUFBO0lBQUEsc0JBQUE7RWhCb29DTjtBQUNGOztBa0Jyb0NFO0VEK0lFLFdBVE07QWpCbWdDVjs7QWtCem9DRTtFRCtJRSxVQVRNO0FqQnVnQ1Y7O0FrQjdvQ0U7RUQrSUUscUJBVE07QWpCMmdDVjs7QWtCanBDRTtFRCtJRSxVQVRNO0FqQitnQ1Y7O0FrQnJwQ0U7RUQrSUUsVUFUTTtBakJtaENWOztBa0J6cENFO0VEK0lFLHFCQVRNO0FqQnVoQ1Y7O0FrQjdwQ0U7RUQrSUUscUJBVE07QWpCMmhDVjs7QWtCanFDRTtFRCtJRSxZQVRNO0FqQitoQ1Y7O0FTbGhDUTtFU25KTjtJRCtJRSxXQVRNO0VqQm9pQ1I7RWtCMXFDQTtJRCtJRSxVQVRNO0VqQnVpQ1I7RWtCN3FDQTtJRCtJRSxxQkFUTTtFakIwaUNSO0VrQmhyQ0E7SUQrSUUsVUFUTTtFakI2aUNSO0VrQm5yQ0E7SUQrSUUsVUFUTTtFakJnakNSO0VrQnRyQ0E7SUQrSUUscUJBVE07RWpCbWpDUjtFa0J6ckNBO0lEK0lFLHFCQVRNO0VqQnNqQ1I7RWtCNXJDQTtJRCtJRSxZQVRNO0VqQnlqQ1I7QUFDRjtBUzdpQ1E7RVNuSk47SUQrSUUsV0FUTTtFakI4akNSO0VrQnBzQ0E7SUQrSUUsVUFUTTtFakJpa0NSO0VrQnZzQ0E7SUQrSUUscUJBVE07RWpCb2tDUjtFa0Ixc0NBO0lEK0lFLFVBVE07RWpCdWtDUjtFa0I3c0NBO0lEK0lFLFVBVE07RWpCMGtDUjtFa0JodENBO0lEK0lFLHFCQVRNO0VqQjZrQ1I7RWtCbnRDQTtJRCtJRSxxQkFUTTtFakJnbENSO0VrQnR0Q0E7SUQrSUUsWUFUTTtFakJtbENSO0FBQ0Y7QWtCMXRDRTtFRCtJRSw0QkFUTTtBakJ1bENWOztBa0I3dENFO0VEK0lFLDJCQVRNO0FqQjJsQ1Y7O0FrQmp1Q0U7RUQrSUUsc0NBVE07QWpCK2xDVjs7QWtCcnVDRTtFRCtJRSwyQkFUTTtBakJtbUNWOztBa0J6dUNFO0VEK0lFLDJCQVRNO0FqQnVtQ1Y7O0FrQjd1Q0U7RUQrSUUsc0NBVE07QWpCMm1DVjs7QWtCanZDRTtFRCtJRSxzQ0FUTTtBakIrbUNWOztBa0JydkNFO0VEK0lFLDZCQVRNO0FqQm1uQ1Y7O0FTdG1DUTtFU25KTjtJRCtJRSwyQkFUTTtFakJ3bkNSO0VrQjl2Q0E7SUQrSUUsMEJBVE07RWpCMm5DUjtFa0Jqd0NBO0lEK0lFLHFDQVRNO0VqQjhuQ1I7RWtCcHdDQTtJRCtJRSwwQkFUTTtFakJpb0NSO0VrQnZ3Q0E7SUQrSUUsMEJBVE07RWpCb29DUjtFa0Ixd0NBO0lEK0lFLHFDQVRNO0VqQnVvQ1I7RWtCN3dDQTtJRCtJRSxxQ0FUTTtFakIwb0NSO0VrQmh4Q0E7SUQrSUUsNEJBVE07RWpCNm9DUjtFa0JueENBO0lEK0lFLDJCQVRNO0VqQmdwQ1I7RWtCdHhDQTtJRCtJRSwwQkFUTTtFakJtcENSO0VrQnp4Q0E7SUQrSUUscUNBVE07RWpCc3BDUjtFa0I1eENBO0lEK0lFLDBCQVRNO0VqQnlwQ1I7RWtCL3hDQTtJRCtJRSwwQkFUTTtFakI0cENSO0VrQmx5Q0E7SUQrSUUscUNBVE07RWpCK3BDUjtFa0JyeUNBO0lEK0lFLHFDQVRNO0VqQmtxQ1I7RWtCeHlDQTtJRCtJRSw0QkFUTTtFakJxcUNSO0FBQ0Y7QVN6cENRO0VTbkpOO0lEK0lFLDJCQVRNO0VqQjBxQ1I7RWtCaHpDQTtJRCtJRSwwQkFUTTtFakI2cUNSO0VrQm56Q0E7SUQrSUUscUNBVE07RWpCZ3JDUjtFa0J0ekNBO0lEK0lFLDBCQVRNO0VqQm1yQ1I7RWtCenpDQTtJRCtJRSwwQkFUTTtFakJzckNSO0VrQjV6Q0E7SUQrSUUscUNBVE07RWpCeXJDUjtFa0IvekNBO0lEK0lFLHFDQVRNO0VqQjRyQ1I7RWtCbDBDQTtJRCtJRSw0QkFUTTtFakIrckNSO0FBQ0Y7QWMvbkNNO0VLOU1FLGVBQUE7RUFBQSxjQUFBO0FuQmkxQ1I7QW1COTBDTTtFQUVJLGVBQUE7RUFBQSxjQUFBO0FuQmcxQ1Y7QW1CMXpDWTtFRjJIUixvQkFUTTtBakIyc0NWO0FtQjd6Q1k7RUYySFIscUJBVE07QWpCOHNDVjtBbUJoMENZO0VGMkhSLFVBVE07QWpCaXRDVjtBbUJuMENZO0VGMkhSLHFCQVRNO0FqQm90Q1Y7QW1CdDBDWTtFRjJIUixxQkFUTTtBakJ1dENWO0FtQnowQ1k7RUYySFIsVUFUTTtBakIwdENWO0FtQjUwQ1k7RUYySFIscUJBVE07QWpCNnRDVjtBbUIvMENZO0VGMkhSLHFCQVRNO0FqQmd1Q1Y7QW1CbDFDWTtFRjJIUixVQVRNO0FqQm11Q1Y7QW1CcjFDWTtFRjJIUixxQkFUTTtBakJzdUNWO0FtQngxQ1k7RUYySFIscUJBVE07QWpCeXVDVjtBbUIzMUNZO0VGMkhSLFdBVE07QWpCNHVDVjtBUy90Q1E7RVUvSEk7SUYySFIsb0JBVE07RWpCZ3ZDUjtFbUJsMkNVO0lGMkhSLHFCQVRNO0VqQm12Q1I7RW1CcjJDVTtJRjJIUixVQVRNO0VqQnN2Q1I7RW1CeDJDVTtJRjJIUixxQkFUTTtFakJ5dkNSO0VtQjMyQ1U7SUYySFIscUJBVE07RWpCNHZDUjtFbUI5MkNVO0lGMkhSLFVBVE07RWpCK3ZDUjtFbUJqM0NVO0lGMkhSLHFCQVRNO0VqQmt3Q1I7RW1CcDNDVTtJRjJIUixxQkFUTTtFakJxd0NSO0VtQnYzQ1U7SUYySFIsVUFUTTtFakJ3d0NSO0VtQjEzQ1U7SUYySFIscUJBVE07RWpCMndDUjtFbUI3M0NVO0lGMkhSLHFCQVRNO0VqQjh3Q1I7RW1CaDRDVTtJRjJIUixXQVRNO0VqQml4Q1I7QUFDRjtBU3J3Q1E7RVUvSEk7SUYySFIsb0JBVE07RWpCc3hDUjtFbUJ4NENVO0lGMkhSLHFCQVRNO0VqQnl4Q1I7RW1CMzRDVTtJRjJIUixVQVRNO0VqQjR4Q1I7RW1COTRDVTtJRjJIUixxQkFUTTtFakIreENSO0VtQmo1Q1U7SUYySFIscUJBVE07RWpCa3lDUjtFbUJwNUNVO0lGMkhSLFVBVE07RWpCcXlDUjtFbUJ2NUNVO0lGMkhSLHFCQVRNO0VqQnd5Q1I7RW1CMTVDVTtJRjJIUixxQkFUTTtFakIyeUNSO0VtQjc1Q1U7SUYySFIsVUFUTTtFakI4eUNSO0VtQmg2Q1U7SUYySFIscUJBVE07RWpCaXpDUjtFbUJuNkNVO0lGMkhSLHFCQVRNO0VqQm96Q1I7RW1CdDZDVTtJRjJIUixXQVRNO0VqQnV6Q1I7QUFDRjs7QWNqdkNNO0VLN0tFLGVBQUE7RUFBQSxjQUFBO0FuQm02Q1I7QW1CaDZDTTtFQUVJLGdCQUFBO0VBQUEsZUFBQTtBbkJrNkNWOztBU3B6Q1E7RUtvREY7SUs5TUUsZUFBQTtJQUFBLGNBQUE7RW5CbzlDTjtFbUJqOUNJO0lBRUksZUFBQTtJQUFBLGNBQUE7RW5CbTlDUjtBQUNGO0FTL3pDUTtFVXhJSTtJRm9JUixvQkFUTTtFakJnMUNSO0VtQjM4Q1U7SUZvSVIscUJBVE07RWpCbTFDUjtFbUI5OENVO0lGb0lSLFVBVE07RWpCczFDUjtFbUJqOUNVO0lGb0lSLHFCQVRNO0VqQnkxQ1I7RW1CcDlDVTtJRm9JUixxQkFUTTtFakI0MUNSO0VtQnY5Q1U7SUZvSVIsVUFUTTtFakIrMUNSO0VtQjE5Q1U7SUZvSVIscUJBVE07RWpCazJDUjtFbUI3OUNVO0lGb0lSLHFCQVRNO0VqQnEyQ1I7RW1CaCtDVTtJRm9JUixVQVRNO0VqQncyQ1I7RW1CbitDVTtJRm9JUixxQkFUTTtFakIyMkNSO0VtQnQrQ1U7SUZvSVIscUJBVE07RWpCODJDUjtFbUJ6K0NVO0lGb0lSLFdBVE07RWpCaTNDUjtBQUNGO0FTcjJDUTtFVS9ISTtJRjJIUixvQkFUTTtFakJzM0NSO0VtQngrQ1U7SUYySFIscUJBVE07RWpCeTNDUjtFbUIzK0NVO0lGMkhSLFVBVE07RWpCNDNDUjtFbUI5K0NVO0lGMkhSLHFCQVRNO0VqQiszQ1I7RW1Cai9DVTtJRjJIUixxQkFUTTtFakJrNENSO0VtQnAvQ1U7SUYySFIsVUFUTTtFakJxNENSO0VtQnYvQ1U7SUYySFIscUJBVE07RWpCdzRDUjtFbUIxL0NVO0lGMkhSLHFCQVRNO0VqQjI0Q1I7RW1CNy9DVTtJRjJIUixVQVRNO0VqQjg0Q1I7RW1CaGdEVTtJRjJIUixxQkFUTTtFakJpNUNSO0VtQm5nRFU7SUYySFIscUJBVE07RWpCbzVDUjtFbUJ0Z0RVO0lGMkhSLFdBVE07RWpCdTVDUjtBQUNGO0FTMzRDUTtFVS9ISTtJRjJIUixvQkFUTTtFakI0NUNSO0VtQjlnRFU7SUYySFIscUJBVE07RWpCKzVDUjtFbUJqaERVO0lGMkhSLFVBVE07RWpCazZDUjtFbUJwaERVO0lGMkhSLHFCQVRNO0VqQnE2Q1I7RW1CdmhEVTtJRjJIUixxQkFUTTtFakJ3NkNSO0VtQjFoRFU7SUYySFIsVUFUTTtFakIyNkNSO0VtQjdoRFU7SUYySFIscUJBVE07RWpCODZDUjtFbUJoaURVO0lGMkhSLHFCQVRNO0VqQmk3Q1I7RW1CbmlEVTtJRjJIUixVQVRNO0VqQm83Q1I7RW1CdGlEVTtJRjJIUixxQkFUTTtFakJ1N0NSO0VtQnppRFU7SUYySFIscUJBVE07RWpCMDdDUjtFbUI1aURVO0lGMkhSLFdBVE07RWpCNjdDUjtBQUNGOztBU2o3Q1E7RUswREY7SUs3S0UsZUFBQTtJQUFBLGNBQUE7RW5CMGlETjtFbUJ2aURJO0lBRUksZ0JBQUE7SUFBQSxlQUFBO0VuQnlpRFI7QUFDRjs7QVM1N0NRO0VLb0RGO0lLOU1FLGVBQUE7SUFBQSxjQUFBO0VuQjRsRE47RW1CemxESTtJQUVJLGVBQUE7SUFBQSxjQUFBO0VuQjJsRFI7QUFDRjtBU3Y4Q1E7RVV4SUk7SUZvSVIsb0JBVE07RWpCdzlDUjtFbUJubERVO0lGb0lSLHFCQVRNO0VqQjI5Q1I7RW1CdGxEVTtJRm9JUixVQVRNO0VqQjg5Q1I7RW1CemxEVTtJRm9JUixxQkFUTTtFakJpK0NSO0VtQjVsRFU7SUZvSVIscUJBVE07RWpCbytDUjtFbUIvbERVO0lGb0lSLFVBVE07RWpCdStDUjtFbUJsbURVO0lGb0lSLHFCQVRNO0VqQjArQ1I7RW1Ccm1EVTtJRm9JUixxQkFUTTtFakI2K0NSO0VtQnhtRFU7SUZvSVIsVUFUTTtFakJnL0NSO0VtQjNtRFU7SUZvSVIscUJBVE07RWpCbS9DUjtFbUI5bURVO0lGb0lSLHFCQVRNO0VqQnMvQ1I7RW1Cam5EVTtJRm9JUixXQVRNO0VqQnkvQ1I7QUFDRjtBUzcrQ1E7RVV4SUk7SUZvSVIsb0JBVE07RWpCOC9DUjtFbUJ6bkRVO0lGb0lSLHFCQVRNO0VqQmlnRFI7RW1CNW5EVTtJRm9JUixVQVRNO0VqQm9nRFI7RW1CL25EVTtJRm9JUixxQkFUTTtFakJ1Z0RSO0VtQmxvRFU7SUZvSVIscUJBVE07RWpCMGdEUjtFbUJyb0RVO0lGb0lSLFVBVE07RWpCNmdEUjtFbUJ4b0RVO0lGb0lSLHFCQVRNO0VqQmdoRFI7RW1CM29EVTtJRm9JUixxQkFUTTtFakJtaERSO0VtQjlvRFU7SUZvSVIsVUFUTTtFakJzaERSO0VtQmpwRFU7SUZvSVIscUJBVE07RWpCeWhEUjtFbUJwcERVO0lGb0lSLHFCQVRNO0VqQjRoRFI7RW1CdnBEVTtJRm9JUixXQVRNO0VqQitoRFI7QUFDRjtBU25oRFE7RVUvSEk7SUYySFIsb0JBVE07RWpCb2lEUjtFbUJ0cERVO0lGMkhSLHFCQVRNO0VqQnVpRFI7RW1CenBEVTtJRjJIUixVQVRNO0VqQjBpRFI7RW1CNXBEVTtJRjJIUixxQkFUTTtFakI2aURSO0VtQi9wRFU7SUYySFIscUJBVE07RWpCZ2pEUjtFbUJscURVO0lGMkhSLFVBVE07RWpCbWpEUjtFbUJycURVO0lGMkhSLHFCQVRNO0VqQnNqRFI7RW1CeHFEVTtJRjJIUixxQkFUTTtFakJ5akRSO0VtQjNxRFU7SUYySFIsVUFUTTtFakI0akRSO0VtQjlxRFU7SUYySFIscUJBVE07RWpCK2pEUjtFbUJqckRVO0lGMkhSLHFCQVRNO0VqQmtrRFI7RW1CcHJEVTtJRjJIUixXQVRNO0VqQnFrRFI7QUFDRjs7QVN6akRRO0VLMERGO0lLN0tFLGVBQUE7SUFBQSxjQUFBO0VuQmtyRE47RW1CL3FESTtJQUVJLGdCQUFBO0lBQUEsZUFBQTtFbkJpckRSO0FBQ0Y7O0FjNS9DTTtFTWxNRixlQUFBO0FwQmtzREo7O0FjNS9DTTtFTXRNRixvQ0FBQTtBcEJzc0RKOztBY3BnRE07RU1sTUYsMEJBQUE7QXBCMHNESjs7QWNwZ0RNO0VNdE1GLCtDQUFBO0FwQjhzREo7O0FjNWdETTtFTWxNRiwyQkFBQTtBcEJrdERKOztBYzVnRE07RU10TUYsZ0RBQUE7QXBCc3RESjs7QWNwaERNO0VNbE1GLGdCQUFBO0FwQjB0REo7O0FjcGhETTtFTXRNRixxQ0FBQTtBcEI4dERKOztBYzVoRE07RU1sTUYsMkJBQUE7QXBCa3VESjs7QWM1aERNO0VNdE1GLGdEQUFBO0FwQnN1REo7O0FjcGlETTtFTWxNRiwyQkFBQTtBcEIwdURKOztBY3BpRE07RU10TUYsZ0RBQUE7QXBCOHVESjs7QWM1aURNO0VNbE1GLGdCQUFBO0FwQmt2REo7O0FjNWlETTtFTXRNRixxQ0FBQTtBcEJzdkRKOztBY3BqRE07RU1sTUYsMkJBQUE7QXBCMHZESjs7QWNwakRNO0VNdE1GLGdEQUFBO0FwQjh2REo7O0FjNWpETTtFTWxNRiwyQkFBQTtBcEJrd0RKOztBYzVqRE07RU10TUYsZ0RBQUE7QXBCc3dESjs7QWNwa0RNO0VNbE1GLGdCQUFBO0FwQjB3REo7O0FjcGtETTtFTXRNRixxQ0FBQTtBcEI4d0RKOztBYzVrRE07RU1sTUYsMkJBQUE7QXBCa3hESjs7QWM1a0RNO0VNdE1GLGdEQUFBO0FwQnN4REo7O0FjcGxETTtFTWxNRiwyQkFBQTtBcEIweERKOztBY3BsRE07RU10TUYsZ0RBQUE7QXBCOHhESjs7QVNwcURRO0VLd0VGO0lNbE1GLGVBQUE7RXBCbXlERjtFYzdsREk7SU10TUYsbUNBQUE7RXBCc3lERjtFY3BtREk7SU1sTUYsMEJBQUE7RXBCeXlERjtFY25tREk7SU10TUYsOENBQUE7RXBCNHlERjtFYzFtREk7SU1sTUYsMkJBQUE7RXBCK3lERjtFY3ptREk7SU10TUYsK0NBQUE7RXBCa3pERjtFY2huREk7SU1sTUYsZ0JBQUE7RXBCcXpERjtFYy9tREk7SU10TUYsb0NBQUE7RXBCd3pERjtFY3RuREk7SU1sTUYsMkJBQUE7RXBCMnpERjtFY3JuREk7SU10TUYsK0NBQUE7RXBCOHpERjtFYzVuREk7SU1sTUYsMkJBQUE7RXBCaTBERjtFYzNuREk7SU10TUYsK0NBQUE7RXBCbzBERjtFY2xvREk7SU1sTUYsZ0JBQUE7RXBCdTBERjtFY2pvREk7SU10TUYsb0NBQUE7RXBCMDBERjtFY3hvREk7SU1sTUYsMkJBQUE7RXBCNjBERjtFY3ZvREk7SU10TUYsK0NBQUE7RXBCZzFERjtFYzlvREk7SU1sTUYsMkJBQUE7RXBCbTFERjtFYzdvREk7SU10TUYsK0NBQUE7RXBCczFERjtFY3BwREk7SU1sTUYsZ0JBQUE7RXBCeTFERjtFY25wREk7SU10TUYsb0NBQUE7RXBCNDFERjtFYzFwREk7SU1sTUYsMkJBQUE7RXBCKzFERjtFY3pwREk7SU10TUYsK0NBQUE7RXBCazJERjtFY2hxREk7SU1sTUYsMkJBQUE7RXBCcTJERjtFYy9wREk7SU10TUYsK0NBQUE7RXBCdzJERjtBQUNGO0FTL3VEUTtFS3dFRjtJTWxNRixlQUFBO0VwQjYyREY7RWN2cURJO0lNdE1GLG1DQUFBO0VwQmczREY7RWM5cURJO0lNbE1GLDBCQUFBO0VwQm0zREY7RWM3cURJO0lNdE1GLDhDQUFBO0VwQnMzREY7RWNwckRJO0lNbE1GLDJCQUFBO0VwQnkzREY7RWNuckRJO0lNdE1GLCtDQUFBO0VwQjQzREY7RWMxckRJO0lNbE1GLGdCQUFBO0VwQiszREY7RWN6ckRJO0lNdE1GLG9DQUFBO0VwQms0REY7RWNoc0RJO0lNbE1GLDJCQUFBO0VwQnE0REY7RWMvckRJO0lNdE1GLCtDQUFBO0VwQnc0REY7RWN0c0RJO0lNbE1GLDJCQUFBO0VwQjI0REY7RWNyc0RJO0lNdE1GLCtDQUFBO0VwQjg0REY7RWM1c0RJO0lNbE1GLGdCQUFBO0VwQmk1REY7RWMzc0RJO0lNdE1GLG9DQUFBO0VwQm81REY7RWNsdERJO0lNbE1GLDJCQUFBO0VwQnU1REY7RWNqdERJO0lNdE1GLCtDQUFBO0VwQjA1REY7RWN4dERJO0lNbE1GLDJCQUFBO0VwQjY1REY7RWN2dERJO0lNdE1GLCtDQUFBO0VwQmc2REY7RWM5dERJO0lNbE1GLGdCQUFBO0VwQm02REY7RWM3dERJO0lNdE1GLG9DQUFBO0VwQnM2REY7RWNwdURJO0lNbE1GLDJCQUFBO0VwQnk2REY7RWNudURJO0lNdE1GLCtDQUFBO0VwQjQ2REY7RWMxdURJO0lNbE1GLDJCQUFBO0VwQis2REY7RWN6dURJO0lNdE1GLCtDQUFBO0VwQms3REY7QUFDRjtBYzN0REU7RUMvT0Esb0JBQUE7RUFBQSxvQkFBQTtFQUFBLGFBQUE7RUFDQSw0QkFBQTtFQUFBLDZCQUFBO01BQUEsNEJBQUE7VUFBQSx3QkFBQTtBZjY4REY7QWMzdERJO0VHbklGLFlBQUE7RUFDQSxnQkFBQTtBakJpMkRGO0FjM3RESTtFRzFHQSxZQVRNO0FqQmkxRFY7QWMxdERJO0VHOUdBLFlBVE07QWpCbzFEVjtBYy9zRE07RUFDRSw2QkFBQTtNQUFBLGdCQUFBO0FkaXREUjtBUzEwRFE7RUt3SEY7SUFDRSw2QkFBQTtRQUFBLGdCQUFBO0VkcXRETjtBQUNGO0FTLzBEUTtFS3dIRjtJQUNFLDZCQUFBO1FBQUEsZ0JBQUE7RWQwdEROO0FBQ0Y7QWMvc0RNO0VHcExKLG1CQUFBO01BQUEsa0JBQUE7VUFBQSxjQUFBO0FqQnM0REY7QWNuc0RRO0VHeEpKLHFCQVRNO0FqQnUyRFY7QWN0c0RRO0VHeEpKLHNCQVRNO0FqQjAyRFY7QWN6c0RRO0VHeEpKLFdBVE07QWpCNjJEVjtBYzVzRFE7RUd4Skosc0JBVE07QWpCZzNEVjtBYy9zRFE7RUd4Skosc0JBVE07QWpCbTNEVjtBY2x0RFE7RUd4SkosV0FUTTtBakJzM0RWO0FjcnREUTtFR3hKSixzQkFUTTtBakJ5M0RWO0FjeHREUTtFR3hKSixzQkFUTTtBakI0M0RWO0FjM3REUTtFR3hKSixXQVRNO0FqQiszRFY7QWM5dERRO0VHeEpKLHNCQVRNO0FqQms0RFY7QWNqdURRO0VHeEpKLHNCQVRNO0FqQnE0RFY7QWNwdURRO0VHeEpKLFlBVE07QWpCdzREVjtBUzMzRFE7RUtnSUE7SUcvS04sbUJBQUE7UUFBQSxpQkFBQTtZQUFBLFdBQUE7SUEyQ0UsWUFUTTtFakI2NERSO0VjM3ZESTtJR3BMSixtQkFBQTtRQUFBLGtCQUFBO1lBQUEsY0FBQTtFakJrN0RBO0VjeHZETTtJRy9JSixZQVRNO0VqQm01RFI7RWNsdkRNO0lHeEpKLHFCQVRNO0VqQnM1RFI7RWNydkRNO0lHeEpKLHNCQVRNO0VqQnk1RFI7RWN4dkRNO0lHeEpKLFdBVE07RWpCNDVEUjtFYzN2RE07SUd4Skosc0JBVE07RWpCKzVEUjtFYzl2RE07SUd4Skosc0JBVE07RWpCazZEUjtFY2p3RE07SUd4SkosV0FUTTtFakJxNkRSO0VjcHdETTtJR3hKSixzQkFUTTtFakJ3NkRSO0VjdndETTtJR3hKSixzQkFUTTtFakIyNkRSO0VjMXdETTtJR3hKSixXQVRNO0VqQjg2RFI7RWM3d0RNO0lHeEpKLHNCQVRNO0VqQmk3RFI7RWNoeERNO0lHeEpKLHNCQVRNO0VqQm83RFI7RWNueERNO0lHeEpKLFlBVE07RWpCdTdEUjtBQUNGO0FTMzZEUTtFS2dJQTtJRy9LTixtQkFBQTtRQUFBLGlCQUFBO1lBQUEsV0FBQTtJQTJDRSxZQVRNO0VqQjY3RFI7RWMzeURJO0lHcExKLG1CQUFBO1FBQUEsa0JBQUE7WUFBQSxjQUFBO0VqQmsrREE7RWN4eURNO0lHL0lKLFlBVE07RWpCbThEUjtFY2x5RE07SUd4SkoscUJBVE07RWpCczhEUjtFY3J5RE07SUd4Skosc0JBVE07RWpCeThEUjtFY3h5RE07SUd4SkosV0FUTTtFakI0OERSO0VjM3lETTtJR3hKSixzQkFUTTtFakIrOERSO0VjOXlETTtJR3hKSixzQkFUTTtFakJrOURSO0VjanpETTtJR3hKSixXQVRNO0VqQnE5RFI7RWNwekRNO0lHeEpKLHNCQVRNO0VqQnc5RFI7RWN2ekRNO0lHeEpKLHNCQVRNO0VqQjI5RFI7RWMxekRNO0lHeEpKLFdBVE07RWpCODlEUjtFYzd6RE07SUd4Skosc0JBVE07RWpCaStEUjtFY2gwRE07SUd4Skosc0JBVE07RWpCbytEUjtFY24wRE07SUd4SkosWUFUTTtFakJ1K0RSO0FBQ0Y7O0FjM3pETTtFRW5URSxzQkFBQTtFQUFBLHlCQUFBO0FoQm1uRVI7QVNoK0RRO0VLZ0tGO0lFblRFLHFCQUFBO0lBQUEsd0JBQUE7RWhCd25FTjtBQUNGO0FjajBETTtFRXhURSxzQkFBQTtFQUFBLHlCQUFBO0FoQjZuRVI7QVMxK0RRO0VLcUtGO0lFeFRFLHFCQUFBO0lBQUEsd0JBQUE7RWhCa29FTjtBQUNGOztBYzVoRUU7RUV2R00sc0JBQUE7RUFBQSx5QkFBQTtBaEJ3b0VSO0FTci9EUTtFSzVDTjtJRXZHTSxxQkFBQTtJQUFBLHdCQUFBO0VoQjZvRU47QUFDRjtBY25pRUk7RUdvQ0EsNkJBVE07RUQ3SEoscUJBQUE7RUFBQSx3QkFBQTtBaEIwb0VOO0FTaGdFUTtFS2pDQTtJRzZCSiw0QkFUTTtJRDdISixvQkFBQTtJQUFBLHVCQUFBO0VoQmdwRUo7QUFDRjtBYzNrRUU7RUdnRUUsWUFUTTtBakJ1aEVWO0FjMWtFRTtFRzRERSxZQVRNO0FqQjBoRVY7QWNya0VJO0VHb0RBLHNDQVRNO0FqQjZoRVY7QWN4a0VJO0VHb0RBLHVDQVRNO0FqQmdpRVY7QWMza0VJO0VHb0RBLDRCQVRNO0FqQm1pRVY7QWM5a0VJO0VHb0RBLHVDQVRNO0FqQnNpRVY7QWNqbEVJO0VHb0RBLHVDQVRNO0FqQnlpRVY7QWNwbEVJO0VHb0RBLDRCQVRNO0FqQjRpRVY7QWN2bEVJO0VHb0RBLHVDQVRNO0FqQitpRVY7QWMxbEVJO0VHb0RBLHVDQVRNO0FqQmtqRVY7QWM3bEVJO0VHb0RBLDRCQVRNO0FqQnFqRVY7QWNobUVJO0VHb0RBLHVDQVRNO0FqQndqRVY7QWNubUVJO0VHb0RBLHVDQVRNO0FqQjJqRVY7QWN0bUVJO0VHb0RBLDZCQVRNO0FqQjhqRVY7QVNqakVRO0VLcEVOO0lHZ0VFLFlBVE07RWpCa2tFUjtFY3JuRUE7SUc0REUsWUFUTTtFakJxa0VSO0VjaG5FRTtJR29EQSxxQ0FUTTtFakJ3a0VSO0Vjbm5FRTtJR29EQSxzQ0FUTTtFakIya0VSO0VjdG5FRTtJR29EQSwyQkFUTTtFakI4a0VSO0Vjem5FRTtJR29EQSxzQ0FUTTtFakJpbEVSO0VjNW5FRTtJR29EQSxzQ0FUTTtFakJvbEVSO0VjL25FRTtJR29EQSwyQkFUTTtFakJ1bEVSO0VjbG9FRTtJR29EQSxzQ0FUTTtFakIwbEVSO0Vjcm9FRTtJR29EQSxzQ0FUTTtFakI2bEVSO0VjeG9FRTtJR29EQSwyQkFUTTtFakJnbUVSO0VjM29FRTtJR29EQSxzQ0FUTTtFakJtbUVSO0VjOW9FRTtJR29EQSxzQ0FUTTtFakJzbUVSO0VjanBFRTtJR29EQSw0QkFUTTtFakJ5bUVSO0VjaHFFQTtJR2dFRSxZQVRNO0VqQjRtRVI7RWMvcEVBO0lHNERFLFlBVE07RWpCK21FUjtFYzFwRUU7SUdvREEscUNBVE07RWpCa25FUjtFYzdwRUU7SUdvREEsc0NBVE07RWpCcW5FUjtFY2hxRUU7SUdvREEsMkJBVE07RWpCd25FUjtFY25xRUU7SUdvREEsc0NBVE07RWpCMm5FUjtFY3RxRUU7SUdvREEsc0NBVE07RWpCOG5FUjtFY3pxRUU7SUdvREEsMkJBVE07RWpCaW9FUjtFYzVxRUU7SUdvREEsc0NBVE07RWpCb29FUjtFYy9xRUU7SUdvREEsc0NBVE07RWpCdW9FUjtFY2xyRUU7SUdvREEsMkJBVE07RWpCMG9FUjtFY3JyRUU7SUdvREEsc0NBVE07RWpCNm9FUjtFY3hyRUU7SUdvREEsc0NBVE07RWpCZ3BFUjtFYzNyRUU7SUdvREEsNEJBVE07RWpCbXBFUjtBQUNGO0FTdm9FUTtFS3BFTjtJR2dFRSxZQVRNO0VqQndwRVI7RWMzc0VBO0lHNERFLFlBVE07RWpCMnBFUjtFY3RzRUU7SUdvREEscUNBVE07RWpCOHBFUjtFY3pzRUU7SUdvREEsc0NB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SixnQkFBQTtJQUNBLGtCQUFBO0lBQ0EscUJBQUE7UUFBQSxpQkFBQTtJQUNBLDBCQUFBO1FBQUEsdUJBQUE7WUFBQSxvQkFBQTtJQW1DSSxhQUFBO0lQcVdFLFdBQUE7RWQ4a0VSO0FBQ0Y7O0FjemtFTTtFQUNFLFlBQUE7QWQ0a0VSO0FTN3pFUTtFS29QQTtJQUNFLFlBQUE7RWQ0a0VSO0FBQ0Y7QVNsMEVRO0VLb1BBO0lBQ0UsWUFBQTtFZGlsRVI7QUFDRjs7QWNuM0VFO0VFdkdNLHNCQUFBO0VBQUEseUJBQUE7QWhCKzlFUjtBUzUwRVE7RUs1Q047SUV2R00scUJBQUE7SUFBQSx3QkFBQTtFaEJvK0VOO0FBQ0Y7QWMxM0VJO0VHb0NBLDZCQVRNO0VEN0hKLHFCQUFBO0VBQUEsd0JBQUE7QWhCaStFTjtBU3YxRVE7RUtqQ0E7SUc2QkosNEJBVE07SUQ3SEosb0JBQUE7SUFBQSx1QkFBQTtFaEJ1K0VKO0FBQ0Y7QWNsNkVFO0VHZ0VFLFlBVE07QWpCODJFVjtBY2o2RUU7RUc0REUsWUFUTTtBakJpM0VWO0FjNTVFSTtFR29EQSxzQ0FUTTtBakJvM0VWO0FjLzVFSTtFR29EQSx1Q0FUTTtBakJ1M0VWO0FjbDZFSTtFR29EQSw0QkFUTTtBakIwM0VWO0FjcjZFSTtFR29EQSx1Q0FUTTtBakI2M0VWO0FjeDZFSTtFR29EQSx1Q0FUTTtBakJnNEVWO0FjMzZFSTtFR29EQSw0QkFUTTtBakJtNEVWO0FjOTZFSTtFR29EQSx1Q0FUTTtBakJzNEVWO0FjajdFSTtFR29EQSx1Q0FUTTtBakJ5NEVWO0FjcDdFSTtFR29EQSw0QkFUTTtBakI0NEVWO0FjdjdFSTtFR29EQSx1Q0FUTTtBakIrNEVWO0FjMTdFSTtFR29EQSx1Q0FUTTtBakJrNUVWO0FjNzdFSTtFR29EQSw2QkFUTTtBakJxNUVWO0FTeDRFUTtFS3BFTjtJR2dFRSxZQVRNO0VqQnk1RVI7RWM1OEVBO0lHNERFLFlBVE07RWpCNDVFUjtFY3Y4RUU7SUdvREEscUNBVE07RWpCKzVFUjtFYzE4RUU7SUdvREEsc0NBVE07RWpCazZFUjtFYzc4RUU7SUdvREEsMkJBVE07RWpCcTZFUjtFY2g5RUU7SUdvREEsc0NBVE07RWpCdzZFUjtFY245RUU7SUdvREEsc0NBVE07RWpCMjZFUjtFY3Q5RUU7SUdvREEsMkJBVE07RWpCODZFUjtFY3o5RUU7SUdvREEsc0NBVE07RWpCaTdFUjtFYzU5RUU7SUdvREEsc0NBVE07RWpCbzdFUjtFYy85RUU7SUdvREEsMkJBVE07RWpCdTdFUjtFY2wrRUU7SUdvREEsc0NBVE07RWpCMDdFUjtFY3IrRUU7SUdvREEsc0NBVE07RWpCNjdFUjtFY3grRUU7SUdvREEsNEJBVE07RWpCZzhFUjtFY3YvRUE7SUdnRUUsWUFUTTtFakJtOEVSO0VjdC9FQTtJRzRERSxZQVRNO0VqQnM4RVI7RWNqL0VFO0lHb0RBLHFDQVRNO0VqQnk4RVI7RWNwL0VFO0lHb0RBLHNDQVRNO0VqQjQ4RVI7RWN2L0VFO0lHb0RBLDJCQVRNO0VqQis4RVI7RWMxL0VFO0lHb0RBLHNDQVRNO0VqQms5RVI7RWM3L0VFO0lHb0RBLHNDQVRNO0VqQnE5RVI7RWNoZ0ZFO0lHb0RBLDJCQVRNO0VqQnc5RVI7RWNuZ0ZFO0lHb0RBLHNDQVRNO0VqQjI5RVI7RWN0Z0ZFO0lHb0RBLHNDQVRNO0VqQjg5RVI7RWN6Z0ZFO0lHb0RBLDJCQVRNO0VqQmkrRVI7RWM1Z0ZFO0lHb0RBLHNDQVRNO0VqQm8rRVI7RWMvZ0ZFO0lHb0RBLHNDQVRNO0VqQnUrRVI7RWNsaEZFO0lHb0RBLDRCQVRNO0VqQjArRVI7QUFDRjtBUzk5RVE7RUtwRU47SUdnRUUsWUFUTTtFakIrK0VSO0VjbGlGQTtJRzRERSxZQVRNO0VqQmsvRVI7RWM3aEZFO0lHb0RBLHFDQVRNO0VqQnEvRVI7RWNoaUZFO0lHb0RBLHNDQVRNO0VqQncvRVI7RWNuaUZFO0lHb0RBLDJCQVRNO0VqQjIvRVI7RWN0aUZFO0lHb0RBLHNDQVRNO0VqQjgvRVI7RWN6aUZFO0lHb0RBLHNDQVRNO0VqQmlnRlI7RWM1aUZFO0lHb0RBLDJCQVRNO0VqQm9nRlI7RWMvaUZFO0lHb0RBLHNDQVRNO0VqQnVnRlI7RWNsakZFO0lHb0RB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Qm9uRlo7O0F1Qi9vRlE7RUFDSSxzQkFBQTtBdkJrcEZaOztBdUIvb0ZRO0VBQ0ksMEJBQUE7RUFDQSw2QkFBQTtBdkJrcEZaOztBdUIvb0ZRO0VBQ0ksMkJBQUE7RUFDQSw0QkFBQTtBdkJrcEZaOztBdUIvb0ZRO0VBQ0ksMkJBQUE7QXZCa3BGWjs7QXVCL29GUTtFQUNJLDRCQUFBO0F2QmtwRlo7O0F1Qi9vRlE7RUFDSSwwQkFBQTtBdkJrcEZaOztBdUIvb0ZRO0VBQ0ksNkJBQUE7QXZCa3BGWjs7QXVCN3FGUTtFQUNJLHVCQUFBO0F2QmdyRlo7O0F1QjdxRlE7RUFDSSwyQkFBQTtFQUNBLDhCQUFBO0F2QmdyRlo7O0F1QjdxRlE7RUFDSSw0QkFBQTtFQUNBLDZCQUFBO0F2QmdyRlo7O0F1QjdxRlE7RUFDSSw0QkFBQTtBdkJnckZaOztBdUI3cUZRO0VBQ0ksNkJBQUE7QXZCZ3JGWjs7QXVCN3FGUTtFQUNJLDJCQUFBO0F2QmdyRlo7O0F1QjdxRlE7RUFDSSw4QkFBQTtBdkJnckZaOztBdUIzc0ZRO0VBQ0ksdUJBQUE7QXZCOHNGWjs7QXVCM3NGUTtFQUNJLDJCQUFBO0VBQ0EsOEJBQUE7QXZCOHNGWjs7QXVCM3NGUTtFQUNJLDRCQUFBO0VBQ0EsNkJBQUE7QXZCOHNGWjs7QXVCM3NGUTtFQUNJLDRCQUFBO0F2QjhzRlo7O0F1QjNzRlE7RUFDSSw2QkFBQTtBdkI4c0ZaOztBdUIzc0ZRO0VBQ0ksMkJBQUE7QXZCOHNGWjs7QXVCM3NGUTtFQUNJLDhCQUFBO0F2QjhzRlo7O0F1Qnp1RlE7RUFDSSx1QkFBQTtBdkI0dUZaOztBdUJ6dUZRO0VBQ0ksMkJBQUE7RUFDQSw4QkFBQTtBdkI0dUZaOztBdUJ6dUZRO0VBQ0ksNEJBQUE7RUFDQSw2QkFBQTtBdkI0dUZaOztBdUJ6dUZRO0VBQ0ksNEJBQUE7QXZCNHVGWjs7QXVCenVGUTtFQUNJLDZCQUFBO0F2QjR1Rlo7O0F1Qnp1RlE7RUFDSSwyQkFBQTtBdkI0dUZaOztBdUJ6dUZRO0VBQ0ksOEJBQUE7QXZCNHVGWjs7QXVCdndGUTtFQUNJLHVCQUFBO0F2QjB3Rlo7O0F1QnZ3RlE7RUFDSSwyQkFBQTtFQUNBLDhCQUFBO0F2QjB3Rlo7O0F1QnZ3RlE7RUFDSSw0QkFBQTtFQUNBLDZCQUFBO0F2QjB3Rlo7O0F1QnZ3RlE7RUFDSSw0QkFBQTtBdkIwd0ZaOztBdUJ2d0ZRO0VBQ0ksNkJBQUE7QXZCMHdGWjs7QXVCdndGUTtFQUNJLDJCQUFBO0F2QjB3Rlo7O0F1QnZ3RlE7RUFDSSw4QkFBQTtBdkIwd0ZaOztBdUJyeUZRO0VBQ0ksdUJBQUE7QXZCd3lGWjs7QXVCcnlGUTtFQUNJLDJCQUFBO0VBQ0EsOEJBQUE7QXZCd3lGWjs7QXVCcnlGUTtFQUNJLDRCQUFBO0VBQ0EsNkJBQUE7QXZCd3lGWjs7QXVCcnlGUTtFQUNJLDRCQUFBO0F2Qnd5Rlo7O0F1QnJ5RlE7RUFDSSw2QkFBQTtBdkJ3eUZaOztBdUJyeUZRO0VBQ0ksMkJBQUE7QXZCd3lGWjs7QXVCcnlGUTtFQUNJLDhCQUFBO0F2Qnd5Rlo7O0F1Qm4wRlE7RUFDSSx1QkFBQTtBdkJzMEZaOztBdUJuMEZRO0VBQ0ksMkJBQUE7RUFDQSw4QkFBQTtBdkJzMEZaOztBdUJuMEZRO0VBQ0ksNEJBQUE7RUFDQSw2QkFBQTtBdkJzMEZaOztBdUJuMEZRO0VBQ0ksNEJBQUE7QXZCczBGWjs7QXVCbjBGUTtFQUNJLDZCQUFBO0F2QnMwRlo7O0F1Qm4wRlE7RUFDSSwyQkFBQTtBdkJzMEZaOztBdUJuMEZRO0VBQ0ksOEJBQUE7QXZCczBGWjs7QXVCajJGUTtFQUNJLHVCQUFBO0F2Qm8yRlo7O0F1QmoyRlE7RUFDSSwyQkFBQTtFQUNBLDhCQUFBO0F2Qm8yRlo7O0F1QmoyRlE7RUFDSSw0QkFBQTtFQUNBLDZCQUFBO0F2Qm8yRlo7O0F1QmoyRlE7RUFDSSw0QkFBQTtBdkJvMkZaOztBdUJqMkZRO0VBQ0ksNkJBQUE7QXZCbzJGWjs7QXVCajJGUTtFQUNJLDJCQUFBO0F2Qm8yRlo7O0F1QmoyRlE7RUFDSSw4QkFBQTtBdkJvMkZaOztBdUIvM0ZRO0VBQ0ksd0JBQUE7QXZCazRGWjs7QXVCLzNGUTtFQUNJLDRCQUFBO0VBQ0EsK0JBQUE7QXZCazRGWjs7QXVCLzNGUTtFQUNJLDZCQUFBO0VBQ0EsOEJBQUE7QXZCazRGWjs7QXVCLzNGUTtFQUNJLDZCQUFBO0F2Qms0Rlo7O0F1Qi8zRlE7RUFDSSw4QkFBQTtBdkJrNEZaOztBdUIvM0ZRO0VBQ0ksNEJBQUE7QXZCazRGWjs7QXVCLzNGUTtFQUNJLCtCQUFBO0F2Qms0Rlo7O0F1Qjc1RlE7RUFDSSx3QkFBQTtBdkJnNkZaOztBdUI3NUZRO0VBQ0ksNEJBQUE7RUFDQSwrQkFBQTtBdkJnNkZaOztBdUI3NUZRO0VBQ0ksNkJBQUE7RUFDQSw4QkFBQTtBdkJnNkZaOztBdUI3NUZRO0VBQ0ksNkJBQUE7QXZCZzZGWjs7QXVCNzVGUTtFQUNJLDhCQUFBO0F2Qmc2Rlo7O0F1Qjc1RlE7RUFDSSw0QkFBQTtBdkJnNkZaOztBdUI3NUZRO0VBQ0ksK0JBQUE7QXZCZzZGWjs7QXVCMzdGUTtFQUNJLHVCQUFBO0F2Qjg3Rlo7O0F1QjM3RlE7RUFDSSwyQkFBQTtFQUNBLDhCQUFBO0F2Qjg3Rlo7O0F1QjM3RlE7RUFDSSw0QkFBQTtFQUNBLDZCQUFBO0F2Qjg3Rlo7O0F1QjM3RlE7RUFDSSw0QkFBQTtBdkI4N0ZaOztBdUIzN0ZRO0VBQ0ksNkJBQUE7QXZCODdGWjs7QXVCMzdGUTtFQUNJLDJCQUFBO0F2Qjg3Rlo7O0F1QjM3RlE7RUFDSSw4QkFBQTtBdkI4N0ZaOztBdUJ6OUZRO0VBQ0ksdUJBQUE7QXZCNDlGWjs7QXVCejlGUTtFQUNJLDJCQUFBO0VBQ0EsOEJBQUE7QXZCNDlGWjs7QXVCejlGUTtFQUNJLDRCQUFBO0VBQ0EsNkJBQUE7QXZCNDlGWjs7QXVCejlGUTtFQUNJLDRCQUFBO0F2QjQ5Rlo7O0F1Qno5RlE7RUFDSSw2QkFBQTtBdkI0OUZaOztBdUJ6OUZRO0VBQ0ksMkJBQUE7QXZCNDlGWjs7QXVCejlGUTtFQUNJLDhCQUFBO0F2QjQ5Rlo7O0FTbCtGUTtFY3JCQTtJQUNJLHVCQUFBO0V2QjIvRlY7RXVCeC9GTTtJQUNJLDJCQUFBO0lBQ0EsOEJBQUE7RXZCMC9GVjtFdUJ2L0ZNO0lBQ0ksNEJBQUE7SUFDQSw2QkFBQTtFdkJ5L0ZWO0V1QnQvRk07SUFDSSw0QkFBQTtFdkJ3L0ZWO0V1QnIvRk07SUFDSSw2QkFBQTtFdkJ1L0ZWO0V1QnAvRk07SUFDSSwyQkFBQTtFdkJzL0ZWO0V1Qm4vRk07SUFDSSw4QkFBQTtFdkJxL0ZWO0V1QmhoR007SUFDSSx1QkFBQTtFdkJraEdWO0V1Qi9nR007SUFDSSwyQkFBQTtJQUNBLDhCQUFBO0V2QmloR1Y7RXVCOWdHTTtJQUNJLDRCQUFBO0lBQ0EsNkJBQUE7RXZCZ2hHVjtFdUI3Z0dNO0lBQ0ksNEJBQUE7RXZCK2dHVjtFdUI1Z0dNO0lBQ0ksNkJBQUE7RXZCOGdHVjtFdUIzZ0dNO0lBQ0ksMkJBQUE7RXZCNmdHVjtFdUIxZ0dNO0lBQ0ksOEJBQUE7RXZCNGdHVjtFdUJ2aUdNO0lBQ0ksdUJBQUE7RXZCeWlHVjtFdUJ0aUdNO0lBQ0ksMkJBQUE7SUFDQSw4QkFBQTtFdkJ3aUdWO0V1QnJpR007SUFDSSw0QkFBQTtJQUNBLDZCQUFBO0V2QnVpR1Y7RXVCcGlHTTtJQUNJLDRCQUFBO0V2QnNpR1Y7RXVCbmlHTTtJQUNJLDZCQUFBO0V2QnFpR1Y7RXVCbGlHTTtJQUNJLDJCQUFBO0V2Qm9pR1Y7RXVCamlHTTtJQUNJLDhCQUFBO0V2Qm1pR1Y7RXVCOWpHTTtJQUNJLHVCQUFBO0V2QmdrR1Y7RXVCN2pHTTtJQUNJLDJCQUFBO0lBQ0EsOEJBQUE7RXZCK2pHVjtFdUI1akdNO0lBQ0ksNEJBQUE7SUFDQSw2QkFBQTtFdkI4akdWO0V1QjNqR007SUFDSSw0QkFBQTtFdkI2akdWO0V1QjFqR007SUFDSSw2QkFBQTtFdkI0akdWO0V1QnpqR007SUFDSSwyQkFBQTtFdkIyakdWO0V1QnhqR007SUFDSSw4QkFBQTtFdkIwakdWO0V1QnJsR007SUFDSSx1QkFBQTtFdkJ1bEdWO0V1QnBsR007SUFDSSwyQkFBQTtJQUNBLDhCQUFBO0V2QnNsR1Y7RXVCbmxHTTtJQUNJLDRCQUFBO0lBQ0EsNkJBQUE7RXZCcWxHVjtFdUJsbEdNO0lBQ0ksNEJBQUE7RXZCb2xHVjtFdUJqbEdNO0lBQ0ksNkJBQUE7RXZCbWxHVjtFdUJobEdNO0lBQ0ksMkJBQUE7RXZCa2xHVjtFdUIva0dNO0lBQ0ksOEJBQUE7RXZCaWxHVjtFdUI1bUdNO0lBQ0ksd0JBQUE7RXZCOG1HVjtFdUIzbUdNO0lBQ0ksNEJBQUE7SUFDQSwrQkFBQTtFdkI2bUdWO0V1QjFtR007SUFDSSw2QkFBQTtJQUNBLDhCQUFBO0V2QjRtR1Y7RXVCem1HTTtJQUNJLDZCQUFBO0V2QjJtR1Y7RXVCeG1HTTtJQUNJLDhCQUFBO0V2QjBtR1Y7RXVCdm1HTTtJQUNJLDRCQUFBO0V2QnltR1Y7RXVCdG1HTTtJQUNJLCtCQUFBO0V2QndtR1Y7RXVCbm9HTTtJQUNJLHdCQUFBO0V2QnFvR1Y7RXVCbG9HTTtJQUNJLDRCQUFBO0lBQ0EsK0JBQUE7RXZCb29HVjtFdUJqb0dNO0lBQ0ksNkJBQUE7SUFDQSw4QkFBQTtFdkJtb0dWO0V1QmhvR007SUFDSSw2QkFBQTtFdkJrb0dWO0V1Qi9uR007SUFDSSw4QkFBQTtFdkJpb0dWO0V1QjluR007SUFDSSw0QkFBQTtFdkJnb0dWO0V1QjduR007SUFDSSwrQkFBQTtFdkIrbkdWO0V1QjFwR007SUFDSSx1QkFBQTtFdkI0cEdWO0V1QnpwR007SUFDSSwyQkFBQTtJQUNBLDhCQUFBO0V2QjJwR1Y7RXVCeHBHTTtJQUNJLDRCQUFBO0lBQ0EsNkJBQUE7RXZCMHBHVjtFdUJ2cEdNO0lBQ0ksNEJBQUE7RXZCeXBHVjtFdUJ0cEdNO0lBQ0ksNkJBQUE7RXZCd3BHVjtFdUJycEdNO0lBQ0ksMkJBQUE7RXZCdXBHVjtFdUJwcEdNO0lBQ0ksOEJBQUE7RXZCc3BHVjtFdUJqckdNO0lBQ0ksdUJBQUE7RXZCbXJHVjtFdUJockdNO0lBQ0ksMkJBQUE7SUFDQSw4QkFBQTtFdkJrckdWO0V1Qi9xR007SUFDSSw0QkFBQTtJQUNBLDZCQUFBO0V2QmlyR1Y7RXVCOXFHTTtJQUNJLDRCQUFBO0V2QmdyR1Y7RXVCN3FHTTtJQUNJLDZCQUFBO0V2QitxR1Y7RXVCNXFHTTtJQUNJLDJCQUFBO0V2QjhxR1Y7RXVCM3FHTTtJQUNJLDhCQUFBO0V2QjZxR1Y7QUFDRjtBU3ByR1E7RWNyQkE7SUFDSSx1QkFBQTtFdkI0c0dWO0V1QnpzR007SUFDSSwyQkFBQTtJQUNBLDhCQUFBO0V2QjJzR1Y7RXVCeHNHTTtJQUNJLDRCQUFBO0lBQ0EsNkJBQUE7RXZCMHNHVjtFdUJ2c0dNO0lBQ0ksNEJBQUE7RXZCeXNHVjtFdUJ0c0dNO0lBQ0ksNkJBQUE7RXZCd3NHVjtFdUJyc0dNO0lBQ0ksMkJBQUE7RXZCdXNHVjtFdUJwc0dNO0lBQ0ksOEJBQUE7RXZCc3NHVjtFdUJqdUdNO0lBQ0ksdUJBQUE7RXZCbXVHVjtFdUJodUdNO0lBQ0ksMkJBQUE7SUFDQSw4QkFBQTtFdkJrdUdWO0V1Qi90R007SUFDSSw0QkFBQTtJQUNBLDZCQUFBO0V2Qml1R1Y7RXVCOXRHTTtJQUNJLDRCQUFBO0V2Qmd1R1Y7RXVCN3RHTTtJQUNJLDZCQUFBO0V2Qit0R1Y7RXVCNXRHTTtJQUNJLDJCQUFBO0V2Qjh0R1Y7RXVCM3RHTTtJQUNJLDhCQUFBO0V2QjZ0R1Y7RXVCeHZHTTtJQUNJLHVCQUFBO0V2QjB2R1Y7RXVCdnZHTTtJQUNJLDJCQUFBO0lBQ0EsOEJBQUE7RXZCeXZHVjtFdUJ0dkdNO0lBQ0ksNEJBQUE7SUFDQSw2QkFBQTtFdkJ3dkdWO0V1QnJ2R007SUFDSSw0QkFBQTtFdkJ1dkdWO0V1QnB2R007SUFDSSw2QkFBQTtFdkJzdkdWO0V1Qm52R007SUFDSSwyQkFBQTtFdkJxdkdWO0V1Qmx2R007SUFDSSw4QkFBQTtFdkJvdkdWO0V1Qi93R007SUFDSSx1QkFBQTtFdkJpeEdWO0V1Qjl3R007SUFDSSwyQkFBQTtJQUNBLDhCQUFBO0V2Qmd4R1Y7RXVCN3dHTTtJQUNJLDRCQUFBO0lBQ0EsNkJBQUE7RXZCK3dHVjtFdUI1d0dNO0lBQ0ksNEJBQUE7RXZCOHdHVjtFdUIzd0dNO0lBQ0ksNkJBQUE7RXZCNndHVjtFdUIxd0dNO0lBQ0ksMkJBQUE7RXZCNHdHVjtFdUJ6d0dNO0lBQ0ksOEJBQUE7RXZCMndHVjtFdUJ0eUdNO0lBQ0ksdUJBQUE7RXZCd3lHVjtFdUJyeUdNO0lBQ0ksMkJBQUE7SUFDQSw4QkFBQTtFdkJ1eUdWO0V1QnB5R007SUFDSSw0QkFBQTtJQUNBLDZCQUFBO0V2QnN5R1Y7RXVCbnlHTTtJQUNJLDRCQUFBO0V2QnF5R1Y7RXVCbHlHTTtJQUNJLDZCQUFBO0V2Qm95R1Y7RXVCanlHTTtJQUNJLDJCQUFBO0V2Qm15R1Y7RXVCaHlHTTtJQUNJLDhCQUFBO0V2Qmt5R1Y7RXVCN3pHTTtJQUNJLHdCQUFBO0V2Qit6R1Y7RXVCNXpHTTtJQUNJLDRCQUFBO0lBQ0EsK0JBQUE7RXZCOHpHVjtFdUIzekdNO0lBQ0ksNkJBQUE7SUFDQSw4QkFBQTtFdkI2ekdWO0V1QjF6R007SUFDSSw2QkFBQTtFdkI0ekdWO0V1Qnp6R007SUFDSSw4QkFBQTtFdkIyekdWO0V1Qnh6R007SUFDSSw0QkFBQTtFdkIwekdWO0V1QnZ6R007SUFDSSwrQkFBQTtFdkJ5ekdWO0V1QnAxR007SUFDSSx3QkFBQTtFdkJzMUdWO0V1Qm4xR007SUFDSSw0QkFBQTtJQUNBLCtCQUFBO0V2QnExR1Y7RXVCbDFHTTtJQUNJLDZCQUFBO0lBQ0EsOEJBQUE7RXZCbzFHVjtFdUJqMUdNO0lBQ0ksNkJBQUE7RXZCbTFHVjtFdUJoMUdNO0lBQ0ksOEJBQUE7RXZCazFHVjtFdUIvMEdNO0lBQ0ksNEJBQUE7RXZCaTFHVjtFdUI5MEdNO0lBQ0ksK0JBQUE7RXZCZzFHVjtFdUIzMkdNO0lBQ0ksdUJBQUE7RXZCNjJHVjtFdUIxMkdNO0lBQ0ksMkJBQUE7SUFDQSw4QkFBQTtFdkI0MkdWO0V1QnoyR007SUFDSSw0QkFBQTtJQUNBLDZCQUFBO0V2QjIyR1Y7RXVCeDJHTTtJQUNJLDRCQUFBO0V2QjAyR1Y7RXVCdjJHTTtJQUNJLDZCQUFBO0V2QnkyR1Y7RXVCdDJHTTtJQUNJLDJCQUFBO0V2QncyR1Y7RXVCcjJHTTtJQUNJLDhCQUFBO0V2QnUyR1Y7RXVCbDRHTTtJQUNJLHVCQUFBO0V2Qm80R1Y7RXVCajRHTTtJQUNJLDJCQUFBO0lBQ0EsOEJBQUE7RXZCbTRHVjtFdUJoNEdNO0lBQ0ksNEJBQUE7SUFDQSw2QkFBQTtFdkJrNEdWO0V1Qi8zR007SUFDSSw0QkFBQTtFdkJpNEdWO0V1QjkzR007SUFDSSw2QkFBQTtFdkJnNEdWO0V1QjczR007SUFDSSwyQkFBQTtFdkIrM0dWO0V1QjUzR007SUFDSSw4QkFBQTtFdkI4M0dWO0FBQ0Y7QVNyNEdRO0VjckJBO0lBQ0ksdUJBQUE7RXZCNjVHVjtFdUIxNUdNO0lBQ0ksMkJBQUE7SUFDQSw4QkFBQTtFdkI0NUdWO0V1Qno1R007SUFDSSw0QkFBQTtJQUNBLDZCQUFBO0V2QjI1R1Y7RXVCeDVHTTtJQUNJLDRCQUFBO0V2QjA1R1Y7RXVCdjVHTTtJQUNJLDZCQUFBO0V2Qnk1R1Y7RXVCdDVHTTtJQUNJLDJCQUFBO0V2Qnc1R1Y7RXVCcjVHTTtJQUNJLDhCQUFBO0V2QnU1R1Y7RXVCbDdHTTtJQUNJLHVCQUFBO0V2Qm83R1Y7RXVCajdHTTtJQUNJLDJCQUFBO0lBQ0EsOEJBQUE7RXZCbTdHVjtFdUJoN0dNO0lBQ0ksNEJBQUE7SUFDQSw2QkFBQTtFdkJrN0dWO0V1Qi82R007SUFDSSw0QkFBQTtFdkJpN0dWO0V1Qjk2R007SUFDSSw2QkFBQTtFdkJnN0dWO0V1Qjc2R007SUFDSSwyQkFBQTtFdkIrNkdWO0V1QjU2R007SUFDSSw4QkFBQTtFdkI4NkdWO0V1Qno4R007SUFDSSx1QkFBQTtFdkIyOEdWO0V1Qng4R007SUFDSSwyQkFBQTtJQUNBLDhCQUFBO0V2QjA4R1Y7RXVCdjhHTTtJQUNJLDRCQUFBO0lBQ0EsNkJBQUE7RXZCeThHVjtFdUJ0OEdNO0lBQ0ksNEJBQUE7RXZCdzhHVjtFdUJyOEdNO0lBQ0ksNkJBQUE7RXZCdThHVjtFdUJwOEdNO0lBQ0ksMkJBQUE7RXZCczhHVjtFdUJuOEdNO0lBQ0ksOEJBQUE7RXZCcThHVjtFdUJoK0dNO0lBQ0ksdUJBQUE7RXZCaytHVjtFdUIvOUdNO0lBQ0ksMkJBQUE7SUFDQSw4QkFBQTtFdkJpK0dWO0V1Qjk5R007SUFDSSw0QkFBQTtJQUNBLDZCQUFBO0V2QmcrR1Y7RXVCNzlHTTtJQUNJLDRCQUFBO0V2Qis5R1Y7RXVCNTlHTTtJQUNJLDZCQUFBO0V2Qjg5R1Y7RXVCMzlHTTtJQUNJLDJCQUFBO0V2QjY5R1Y7RXVCMTlHTTtJQUNJLDhCQUFBO0V2QjQ5R1Y7RXVCdi9HTTtJQUNJLHVCQUFBO0V2QnkvR1Y7RXVCdC9HTTtJQUNJLDJCQUFBO0lBQ0EsOEJBQUE7RXZCdy9HVjtFdUJyL0dNO0lBQ0ksNEJBQUE7SUFDQSw2QkFBQTtFdkJ1L0dWO0V1QnAvR007SUFDSSw0QkFBQTtFdkJzL0dWO0V1Qm4vR007SUFDSSw2QkFBQTtFdkJxL0dWO0V1QmwvR007SUFDSSwyQkFBQTtFdkJvL0dWO0V1QmovR007SUFDSSw4QkFBQTtFdkJtL0dWO0V1QjlnSE07SUFDSSx3QkFBQTtFdkJnaEhWO0V1QjdnSE07SUFDSSw0QkFBQTtJQUNBLCtCQUFBO0V2QitnSFY7RXVCNWdITTtJQUNJLDZCQUFBO0lBQ0EsOEJBQUE7RXZCOGdIVjtFdUIzZ0hNO0lBQ0ksNkJBQUE7RXZCNmdIVjtFdUIxZ0hNO0lBQ0ksOEJBQUE7RXZCNGdIVjtFdUJ6Z0hNO0lBQ0ksNEJBQUE7RXZCMmdIVjtFdUJ4Z0hNO0lBQ0ksK0JBQUE7RXZCMGdIVjtFdUJyaUhNO0lBQ0ksd0JBQUE7RXZCdWlIVjtFdUJwaUhNO0lBQ0ksNEJBQUE7SUFDQSwrQkFBQTtFdkJzaUhWO0V1Qm5pSE07SUFDSSw2QkFBQTtJQUNBLDhCQUFBO0V2QnFpSFY7RXVCbGlITTtJQUNJLDZCQUFBO0V2Qm9pSFY7RXVCamlITTtJQUNJLDhCQUFBO0V2Qm1pSFY7RXVCaGlITTtJQUNJLDRCQUFBO0V2QmtpSFY7RXVCL2hITTtJQUNJLCtCQUFBO0V2QmlpSFY7RXVCNWpITTtJQUNJLHVCQUFBO0V2QjhqSFY7RXVCM2pITTtJQUNJLDJCQUFBO0lBQ0EsOEJBQUE7RXZCNmpIVjtFdUIxakhNO0lBQ0ksNEJBQUE7SUFDQSw2QkFBQTtFdkI0akhWO0V1QnpqSE07SUFDSSw0QkFBQTtFdkIyakhWO0V1QnhqSE07SUFDSSw2QkFBQTtFdkIwakhWO0V1QnZqSE07SUFDSSwyQkFBQTtFdkJ5akhWO0V1QnRqSE07SUFDSSw4QkFBQTtFdkJ3akhWO0V1Qm5sSE07SUFDSSx1QkFBQTtFdkJxbEhWO0V1QmxsSE07SUFDSSwyQkFBQTtJQUNBLDhCQUFBO0V2Qm9sSFY7RXVCamxITTtJQUNJLDRCQUFBO0lBQ0EsNkJBQUE7RXZCbWxIVjtFdUJobEhNO0lBQ0ksNEJBQUE7RXZCa2xIVjtFdUIva0hNO0lBQ0ksNkJBQUE7RXZCaWxIVjtFdUI5a0hNO0lBQ0ksMkJBQUE7RXZCZ2xIVjtFdUI3a0hNO0lBQ0ksOEJBQUE7RXZCK2tIVjtBQUNGO0FTdGxIUTtFY3JCQTtJQUNJLHVCQUFBO0V2QjhtSFY7RXVCM21ITTtJQUNJLDJCQUFBO0lBQ0EsOEJBQUE7RXZCNm1IVjtFdUIxbUhNO0lBQ0ksNEJBQUE7SUFDQSw2QkFBQTtFdkI0bUhWO0V1QnptSE07SUFDSSw0QkFBQTtFdkIybUhWO0V1QnhtSE07SUFDSSw2QkFBQTtFdkIwbUhWO0V1QnZtSE07SUFDSSwyQkFBQTtFdkJ5bUhWO0V1QnRtSE07SUFDSSw4QkFBQTtFdkJ3bUhWO0V1Qm5vSE07SUFDSSx1QkFBQTtFdkJxb0hWO0V1QmxvSE07SUFDSSwyQkFBQTtJQUNBLDhCQUFBO0V2Qm9vSFY7RXVCam9ITTtJQUNJLDRCQUFBO0lBQ0EsNkJBQUE7RXZCbW9IVjtFdUJob0hNO0lBQ0ksNEJBQUE7RXZCa29IVjtFdUIvbkhNO0lBQ0ksNkJBQUE7RXZCaW9IVjtFdUI5bkhNO0lBQ0ksMkJBQUE7RXZCZ29IVjtFdUI3bkhNO0lBQ0ksOEJBQUE7RXZCK25IVjtFdUIxcEhNO0lBQ0ksdUJBQUE7RXZCNHBIVjtFdUJ6cEhNO0lBQ0ksMkJBQUE7SUFDQSw4QkFBQTtFdkIycEhWO0V1QnhwSE07SUFDSSw0QkFBQTtJQUNBLDZCQUFBO0V2QjBwSFY7RXVCdnBITTtJQUNJLDRCQUFBO0V2QnlwSFY7RXVCdHBITTtJQUNJLDZCQUFBO0V2QndwSFY7RXVCcnBITTtJQUNJLDJCQUFBO0V2QnVwSFY7RXVCcHBITTtJQUNJLDhCQUFBO0V2QnNwSFY7RXVCanJITTtJQUNJLHVCQUFBO0V2Qm1ySFY7RXVCaHJITTtJQUNJLDJCQUFBO0lBQ0EsOEJBQUE7RXZCa3JIVjtFdUIvcUhNO0lBQ0ksNEJBQUE7SUFDQSw2QkFBQTtFdkJpckhWO0V1QjlxSE07SUFDSSw0QkFBQTtFdkJnckhWO0V1QjdxSE07SUFDSSw2QkFBQTtFdkIrcUhWO0V1QjVxSE07SUFDSSwyQkFBQTtFdkI4cUhWO0V1QjNxSE07SUFDSSw4QkFBQTtFdkI2cUhWO0V1QnhzSE07SUFDSSx1QkFBQTtFdkIwc0hWO0V1QnZzSE07SUFDSSwyQkFBQTtJQUNBLDhCQUFBO0V2QnlzSFY7RXVCdHNITTtJQUNJLDRCQUFBO0lBQ0EsNkJBQUE7RXZCd3NIVjtFdUJyc0hNO0lBQ0ksNEJBQUE7RXZCdXNIVjtFdUJwc0hNO0lBQ0ksNkJBQUE7RXZCc3NIVjtFdUJuc0hNO0lBQ0ksMkJBQUE7RXZCcXNIVjtFdUJsc0hNO0lBQ0ksOEJBQUE7RXZCb3NIVjtFdUIvdEhNO0lBQ0ksd0JBQUE7RXZCaXVIVjtFdUI5dEhNO0lBQ0ksNEJBQUE7SUFDQSwrQkFBQTtFdkJndUhWO0V1Qjd0SE07SUFDSSw2QkFBQTtJQUNBLDhCQUFBO0V2Qit0SFY7RXVCNXRITTtJQUNJLDZCQUFBO0V2Qjh0SFY7RXVCM3RITTtJQUNJLDhCQUFBO0V2QjZ0SFY7RXVCMXRITTtJQUNJLDRCQUFBO0V2QjR0SFY7RXVCenRITTtJQUNJLCtCQUFBO0V2QjJ0SFY7RXVCdHZITTtJQUNJLHdCQUFBO0V2Qnd2SFY7RXVCcnZITTtJQUNJLDRCQUFBO0lBQ0EsK0JBQUE7RXZCdXZIVjtFdUJwdkhNO0lBQ0ksNkJBQUE7SUFDQSw4QkFBQTtFdkJzdkhWO0V1Qm52SE07SUFDSSw2QkFBQTtFdkJxdkhWO0V1Qmx2SE07SUFDSSw4QkFBQTtFdkJvdkhWO0V1Qmp2SE07SUFDSSw0QkFBQTtFdkJtdkhWO0V1Qmh2SE07SUFDSSwrQkFBQTtFdkJrdkhWO0V1Qjd3SE07SUFDSSx1QkFBQTtFdkIrd0hWO0V1QjV3SE07SUFDSSwyQkFBQTtJQUNBLDhCQUFBO0V2Qjh3SFY7RXVC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Q0ksK0JBQUE7QXZCbWtJWjs7QXVCOWxJUTtFQUNJLHdCQUFBO0F2QmltSVo7O0F1QjlsSVE7RUFDSSw0QkFBQTtFQUNBLCtCQUFBO0F2QmltSVo7O0F1QjlsSVE7RUFDSSw2QkFBQTtFQUNBLDhCQUFBO0F2QmltSVo7O0F1QjlsSVE7RUFDSSw2QkFBQTtBdkJpbUlaOztBdUI5bElRO0VBQ0ksOEJBQUE7QXZCaW1JWjs7QXVCOWxJUTtFQUNJLDRCQUFBO0F2QmltSVo7O0F1QjlsSVE7RUFDSSwrQkFBQTtBdkJpbUlaOztBdUI1bklRO0VBQ0ksd0JBQUE7QXZCK25JWjs7QXVCNW5JUTtFQUNJLDRCQUFBO0VBQ0EsK0JBQUE7QXZCK25JWjs7QXVCNW5JUTtFQUNJLDZCQUFBO0VBQ0EsOEJBQUE7QXZCK25JWjs7QXVCNW5JUTtFQUNJLDZCQUFBO0F2QituSVo7O0F1QjVuSVE7RUFDSSw4QkFBQTtBdkIrbklaOztBdUI1bklRO0VBQ0ksNEJBQUE7QXZCK25JWjs7QXVCNW5JUTtFQUNJLCtCQUFBO0F2QituSVo7O0F1QjFwSVE7RUFDSSx3QkFBQTtBdkI2cElaOztBdUIxcElRO0VBQ0ksNEJBQUE7RUFDQSwrQkFBQTtBdkI2cElaOztBdUIxcElRO0VBQ0ksNkJBQUE7RUFDQSw4QkFBQTtBdkI2cElaOztBdUIxcElRO0VBQ0ksNkJBQUE7QXZCNnBJWjs7QXVCMXBJUTtFQUNJLDhCQUFBO0F2QjZwSVo7O0F1QjFwSVE7RUFDSSw0QkFBQTtBdkI2cElaOztBdUIxcElRO0VBQ0ksK0JBQUE7QXZCNnBJWjs7QXVCeHJJUTtFQUNJLHdCQUFBO0F2QjJySVo7O0F1QnhySVE7RUFDSSw0QkFBQTtFQUNBLCtCQUFBO0F2QjJySVo7O0F1QnhySVE7RUFDSSw2QkFBQTtFQUNBLDhCQUFBO0F2QjJySVo7O0F1QnhySVE7RUFDSSw2QkFBQTtBdkIycklaOztBdUJ4cklRO0VBQ0ksOEJBQUE7QXZCMnJJWjs7QXVCeHJJUTtFQUNJLDRCQUFBO0F2QjJySVo7O0F1QnhySVE7RUFDSSwrQkFBQTtBdkIycklaOztBdUJ0dElRO0VBQ0ksd0JBQUE7QXZCeXRJWjs7QXVCdHRJUTtFQUNJLDRCQUFBO0VBQ0EsK0JBQUE7QXZCeXRJWjs7QXVCdHRJUTtFQUNJLDZCQUFBO0VBQ0EsOEJBQUE7QXZCeXRJWjs7QXVCdHRJUTtFQUNJLDZCQUFBO0F2Qnl0SVo7O0F1QnR0SVE7RUFDSSw4QkFBQTtBdkJ5dElaOztBdUJ0dElRO0VBQ0ksNEJBQUE7QXZCeXRJWjs7QXVCdHRJUTtFQUNJLCtCQUFBO0F2Qnl0SVo7O0F1QnB2SVE7RUFDSSx3QkFBQTtBdkJ1dklaOztBdUJwdklRO0VBQ0ksNEJBQUE7RUFDQSwrQkFBQTtBdkJ1dklaOztBdUJwdklRO0VBQ0ksNkJBQUE7RUFDQSw4QkFBQTtBdkJ1dklaOztBdUJwdklRO0VBQ0ksNkJBQUE7QXZCdXZJWjs7QXVCcHZJUTtFQUNJLDhCQUFBO0F2QnV2SVo7O0F1QnB2SVE7RUFDSSw0QkFBQTtBdkJ1dklaOztBdUJwdklRO0VBQ0ksK0JBQUE7QXZCdXZJWjs7QXVCbHhJUTtFQUNJLHlCQUFBO0F2QnF4SVo7O0F1Qmx4SVE7RUFDSSw2QkFBQTtFQUNBLGdDQUFBO0F2QnF4SVo7O0F1Qmx4SVE7RUFDSSw4QkFBQTtFQUNBLCtCQUFBO0F2QnF4SVo7O0F1Qmx4SVE7RUFDSSw4QkFBQTtBdkJxeElaOztBdUJseElRO0VBQ0ksK0JBQUE7QXZCcXhJWjs7QXVCbHhJUTtFQUNJLDZCQUFBO0F2QnF4SVo7O0F1Qmx4SVE7RUFDSSxnQ0FBQTtBdkJxeElaOztBdUJoeklRO0VBQ0kseUJBQUE7QXZCbXpJWjs7QXVCaHpJUTtFQUNJLDZCQUFBO0VBQ0EsZ0NBQUE7QXZCbXpJWjs7QXVCaHpJUTtFQUNJLDhCQUFBO0VBQ0EsK0JBQUE7QXZCbXpJWjs7QXVCaHpJUTtFQUNJLDhCQUFBO0F2Qm16SVo7O0F1Qmh6SVE7RUFDSSwrQkFBQTtBdkJteklaOztBdUJoeklRO0VBQ0ksNkJBQUE7QXZCbXpJWjs7QXVCaHpJUTtFQUNJLGdDQUFBO0F2Qm16SVo7O0F1QjkwSVE7RUFDSSx3QkFBQTtBdkJpMUlaOztBdUI5MElRO0VBQ0ksNEJBQUE7RUFDQSwrQkFBQTtBdkJpMUlaOztBdUI5MElRO0VBQ0ksNkJBQUE7RUFDQSw4QkFBQTtBdkJpMUlaOztBdUI5MElRO0VBQ0ksNkJBQUE7QXZCaTFJWjs7QXVCOTBJUTtFQUNJLDhCQUFBO0F2QmkxSVo7O0F1QjkwSVE7RUFDSSw0QkFBQTtBdkJpMUlaOztBdUI5MElRO0VBQ0ksK0JBQUE7QXZCaTFJWjs7QVN2MUlRO0VjckJBO0lBQ0ksd0JBQUE7RXZCZzNJVjtFdUI3MklNO0lBQ0ksNEJBQUE7SUFDQSwrQkFBQTtFdkIrMklWO0V1QjUySU07SUFDSSw2QkFBQTtJQUNBLDhCQUFBO0V2QjgySVY7RXVCMzJJTTtJQUNJLDZCQUFBO0V2QjYySVY7RXVCMTJJTTtJQUNJLDhCQUFBO0V2QjQySVY7RXVCejJJTTtJQUNJLDRCQUFBO0V2QjIySVY7RXVCeDJJTTtJQUNJLCtCQUFBO0V2QjAySVY7RXVCcjRJTTtJQUNJLHdCQUFBO0V2QnU0SVY7RXVCcDRJTTtJQUNJLDRCQUFBO0lBQ0EsK0JBQUE7RXZCczRJVjtFdUJuNElNO0lBQ0ksNkJBQUE7SUFDQSw4QkFBQTtFdkJxNElWO0V1Qmw0SU07SUFDSSw2QkFBQTtFdkJvNElWO0V1Qmo0SU07SUFDSSw4QkFBQTtFdkJtNElWO0V1Qmg0SU07SUFDSSw0QkFBQTtFdkJrNElWO0V1Qi8zSU07SUFDSSwrQkFBQTtFdkJpNElWO0V1QjU1SU07SUFDSSx3QkFBQTtFdkI4NUlWO0V1QjM1SU07SUFDSSw0QkFBQTtJQUNBLCtCQUFBO0V2QjY1SVY7RXVCMTVJTTtJQUNJLDZCQUFBO0lBQ0EsOEJBQUE7RXZCNDVJVjtFdUJ6NUlNO0lBQ0ksNkJBQUE7RXZCMjVJVjtFdUJ4NUlNO0lBQ0ksOEJBQUE7RXZCMDVJVjtFdUJ2NUlNO0lBQ0ksNEJBQUE7RXZCeTVJVjtFdUJ0NUlNO0lBQ0ksK0JBQUE7RXZCdzVJVjtFdUJuN0lNO0lBQ0ksd0JBQUE7RXZCcTdJVjtFdUJsN0lNO0lBQ0ksNEJBQUE7SUFDQSwrQkFBQTtFdkJvN0lWO0V1Qmo3SU07SUFDSSw2QkFBQTtJQUNBLDhCQUFBO0V2Qm03SVY7RXVCaDdJTTtJQUNJLDZCQUFBO0V2Qms3SVY7RXVCLzZJTTtJQUNJLDhCQUFBO0V2Qmk3SVY7RXVCOTZJTTtJQUNJLDRCQUFBO0V2Qmc3SVY7RXVCNzZJTTtJQUNJLCtCQUFBO0V2Qis2SVY7RXVCMThJTTtJQUNJLHdCQUFBO0V2QjQ4SVY7RXVCejhJTTtJQUNJLDRCQUFBO0lBQ0EsK0JBQUE7RXZCMjhJVjtFdUJ4OElNO0lBQ0ksNkJBQUE7SUFDQSw4QkFBQTtFdkIwOElWO0V1QnY4SU07SUFDSSw2QkFBQTtFdkJ5OElWO0V1QnQ4SU07SUFDSSw4QkFBQTtFdkJ3OElWO0V1QnI4SU07SUFDSSw0QkFBQTtFdkJ1OElWO0V1QnA4SU07SUFDSSwrQkFBQTtFdkJzOElWO0V1QmorSU07SUFDSSx5QkFBQTtFdkJtK0lWO0V1QmgrSU07SUFDSSw2QkFBQTtJQUNBLGdDQUFBO0V2QmsrSVY7RXVCLzlJTTtJQUNJLDhCQUFBO0lBQ0EsK0JBQUE7RXZCaStJVjtFdUI5OUlNO0lBQ0ksOEJBQUE7RXZCZytJVjtFdUI3OUlNO0lBQ0ksK0JBQUE7RXZCKzlJVjtFdUI1OUlNO0lBQ0ksNkJBQUE7RXZCODlJVjtFdUIzOUlNO0lBQ0ksZ0NBQUE7RXZCNjlJVjtFdUJ4L0lNO0lBQ0kseUJBQUE7RXZCMC9JVjtFdUJ2L0lNO0lBQ0ksNkJBQUE7SUFDQSxnQ0FBQTtFdkJ5L0lWO0V1QnQvSU07SUFDSSw4QkFBQTtJQUNBLCtCQUFBO0V2QncvSVY7RXVCci9JTTtJQUNJLDhCQUFBO0V2QnUvSVY7RXVCcC9JTTtJQUNJLCtCQUFBO0V2QnMvSVY7RXVCbi9JTTtJQUNJLDZCQUFBO0V2QnEvSVY7RXVCbC9JTTtJQUNJLGdDQUFBO0V2Qm8vSVY7RXVCL2dKTTtJQUNJLHdCQUFBO0V2QmloSlY7RXVCOWdKTTtJQUNJLDRCQUFBO0lBQ0EsK0JBQUE7RXZCZ2hKVjtFdUI3Z0pNO0lBQ0ksNkJBQUE7SUFDQSw4QkFBQTtFdkIrZ0pWO0V1QjVnSk07SUFDSSw2QkFBQTtFdkI4Z0pWO0V1QjNnSk07SUFDSSw4QkFBQTtFdkI2Z0pWO0V1QjFnSk07SUFDSSw0QkFBQTtFdkI0Z0pWO0V1QnpnSk07SUFDSSwrQkFBQTtFdkIyZ0pWO0FBQ0Y7QVNsaEpRO0VjckJBO0lBQ0ksd0JBQUE7RXZCMGlKVjtFdUJ2aUpNO0lBQ0ksNEJBQUE7SUFDQSwrQkFBQTtFdkJ5aUpWO0V1QnRpSk07SUFDSSw2QkFBQTtJQUNBLDhCQUFBO0V2QndpSlY7RXVCcmlKTTtJQUNJLDZCQUFBO0V2QnVpSlY7RXVCcGlKTTtJQUNJLDhCQUFBO0V2QnNpSlY7RXVCbmlKTTtJQUNJLDRCQUFBO0V2QnFpSlY7RXVCbGlKTTtJQUNJLCtCQUFBO0V2Qm9pSlY7RXVCL2pKTTtJQUNJLHdCQUFBO0V2QmlrSlY7RXVCOWpKTTtJQUNJLDRCQUFBO0lBQ0EsK0JBQUE7RXZCZ2tKVjtFdUI3akpNO0lBQ0ksNkJBQUE7SUFDQSw4QkFBQTtFdkIrakpWO0V1QjVqSk07SUFDSSw2QkFBQTtFdkI4akpWO0V1QjNqSk07SUFDSSw4QkFBQTtFdkI2akpWO0V1QjFqSk07SUFDSSw0QkFBQTtFdkI0akpWO0V1QnpqSk07SUFDSSwrQkFBQTtFdkIyakpWO0V1QnRsSk07SUFDSSx3QkFBQTtFdkJ3bEpWO0V1QnJsSk07SUFDSSw0QkFBQTtJQUNBLCtCQUFBO0V2QnVsSlY7RXVCcGxKTTtJQUNJLDZCQUFBO0lBQ0EsOEJBQUE7RXZCc2xKVjtFdUJubEpNO0lBQ0ksNkJBQUE7RXZCcWxKVjtFdUJsbEpNO0lBQ0ksOEJBQUE7RXZCb2xKVjtFdUJqbEpNO0lBQ0ksNEJBQUE7RXZCbWxKVjtFdUJobEpNO0lBQ0ksK0JBQUE7RXZCa2xKVjtFdUI3bUpNO0lBQ0ksd0JBQUE7RXZCK21KVjtFdUI1bUpNO0lBQ0ksNEJBQUE7SUFDQSwrQkFBQTtFdkI4bUpWO0V1QjNtSk07SUFDSSw2QkFBQTtJQUNBLDhCQUFBO0V2QjZtSlY7RXVCMW1KTTtJQUNJLDZCQUFBO0V2QjRtSlY7RXVCem1KTTtJQUNJLDhCQUFBO0V2QjJtSlY7RXVCeG1KTTtJQUNJLDRCQUFBO0V2QjBtSlY7RXVCdm1KTTtJQUNJLCtCQUFBO0V2QnltSlY7RXVCcG9KTTtJQUNJLHdCQUFBO0V2QnNvSlY7RXVCbm9KTTtJQUNJLDRCQUFBO0lBQ0EsK0JBQUE7RXZCcW9KVjtFdUJsb0pNO0lBQ0ksNkJBQUE7SUFDQSw4QkFBQTtFdkJvb0pWO0V1QmpvSk07SUFDSSw2QkFBQTtFdkJtb0pWO0V1QmhvSk07SUFDSSw4QkFBQTtFdkJrb0pWO0V1Qi9uSk07SUFDSSw0QkFBQTtFdkJpb0pWO0V1QjluSk07SUFDSSwrQkFBQTtFdkJnb0pWO0V1QjNwSk07SUFDSSx5QkFBQTtFdkI2cEpWO0V1QjFwSk07SUFDSSw2QkFBQTtJQUNBLGdDQUFBO0V2QjRwSlY7RXVCenBKTTtJQUNJLDhCQUFBO0lBQ0EsK0JBQUE7RXZCMnBKVjtFdUJ4cEpNO0lBQ0ksOEJBQUE7RXZCMHBKVjtFdUJ2cEpNO0lBQ0ksK0JBQUE7RXZCeXBKVjtFdUJ0cEpNO0lBQ0ksNkJBQUE7RXZCd3BKVjtFdUJycEpNO0lBQ0ksZ0NBQUE7RXZCdXBKVjtFdUJsckpNO0lBQ0kseUJBQUE7RXZCb3JKVjtFdUJqckpNO0lBQ0ksNkJBQUE7SUFDQSxnQ0FBQTtFdkJtckpWO0V1QmhySk07SUFDSSw4QkFBQTtJQUNBLCtCQUFBO0V2QmtySlY7RXVCL3FKTTtJQUNJLDhCQUFBO0V2QmlySlY7RXVCOXFKTTtJQUNJLCtCQUFBO0V2QmdySlY7RXVCN3FKTTtJQUNJLDZCQUFBO0V2QitxSlY7RXVCNXFKTTtJQUNJLGdDQUFBO0V2QjhxSlY7RXVCenNKTTtJQUNJLHdCQUFBO0V2QjJzSlY7RXVCeHNKTTtJQUNJLDRCQUFBO0lBQ0EsK0JBQUE7RXZCMHNKVjtFdUJ2c0pNO0lBQ0ksNkJBQUE7SUFDQSw4QkFBQTtFdkJ5c0pWO0V1QnRzSk07SUFDSSw2QkFBQTtFdkJ3c0pWO0V1QnJzSk07SUFDSSw4QkFBQTtFdkJ1c0pWO0V1QnBzSk07SUFDSSw0QkFBQTtFdkJzc0pWO0V1Qm5zSk07SUFDSSwrQkFBQTtFdkJxc0pWO0FBQ0Y7QVM1c0pRO0VjckJBO0lBQ0ksd0JBQUE7RXZCb3VKVjtFdUJqdUpNO0lBQ0ksNEJBQUE7SUFDQSwrQkFBQTtFdkJtdUpWO0V1Qmh1Sk07SUFDSSw2QkFBQTtJQUNBLDhCQUFBO0V2Qmt1SlY7RXVCL3RKTTtJQUNJLDZCQUFBO0V2Qml1SlY7RXVCOXRKTTtJQUNJLDhCQUFBO0V2Qmd1SlY7RXVCN3RKTTtJQUNJLDRCQUFBO0V2Qit0SlY7RXVCNXRKTTtJQUNJLCtCQUFBO0V2Qjh0SlY7RXVCenZKTTtJQUNJLHdCQUFBO0V2QjJ2SlY7RXVCeHZKTTtJQUNJLDRCQUFBO0lBQ0EsK0JBQUE7RXZCMHZKVjtFdUJ2dkpNO0lBQ0ksNkJBQUE7SUFDQSw4QkFBQTtFdkJ5dkpWO0V1QnR2Sk07SUFDSSw2QkFBQTtFdkJ3dkpWO0V1QnJ2Sk07SUFDSSw4QkFBQTtFdkJ1dkpWO0V1QnB2Sk07SUFDSSw0QkFBQTtFdkJzdkpWO0V1Qm52Sk07SUFDSSwrQkFBQTtFdkJxdkpWO0V1Qmh4Sk07SUFDSSx3QkFBQTtFdkJreEpWO0V1Qi93Sk07SUFDSSw0QkFBQTtJQUNBLCtCQUFBO0V2Qml4SlY7RXVCOXdKTTtJQUNJLDZCQUFBO0lBQ0EsOEJBQUE7RXZCZ3hKVjtFdUI3d0pNO0lBQ0ksNkJBQUE7RXZCK3dKVjtFdUI1d0pNO0lBQ0ksOEJBQUE7RXZCOHdKVjtFdUIzd0pNO0lBQ0ksNEJBQUE7RXZCNndKVjtFdUIxd0pNO0lBQ0ksK0JBQUE7RXZCNHdKVjtFdUJ2eUpNO0lBQ0ksd0JBQUE7RXZCeXlKVjtFdUJ0eUpNO0lBQ0ksNEJBQUE7SUFDQSwrQkFBQTtFdkJ3eUpWO0V1QnJ5Sk07SUFDSSw2QkFBQTtJQUNBLDhCQUFBO0V2QnV5SlY7RXVCcHlKTTtJQUNJLDZCQUFBO0V2QnN5SlY7RXVCbnlKTTtJQUNJLDhCQUFBO0V2QnF5SlY7RXVCbHlKTTtJQUNJLDRCQUFBO0V2Qm95SlY7RXVCanlKTTtJQUNJLCtCQUFBO0V2Qm15SlY7RXVCOXpKTTtJQUNJLHdCQUFBO0V2QmcwSlY7RXVCN3pKTTtJQUNJLDRCQUFBO0lBQ0EsK0JBQUE7RXZCK3pKVjtFdUI1ekpNO0lBQ0ksNkJBQUE7SUFDQSw4QkFBQTtFdkI4ekpWO0V1QjN6Sk07SUFDSSw2QkFBQTtFdkI2ekpWO0V1QjF6Sk07SUFDSSw4QkFBQTtFdkI0ekpWO0V1Qnp6Sk07SUFDSSw0QkFBQTtFdkIyekpWO0V1Qnh6Sk07SUFDSSwrQkFBQTtFdkIwekpWO0V1QnIxSk07SUFDSSx5QkFBQTtFdkJ1MUpWO0V1QnAxSk07SUFDSSw2QkFBQTtJQUNBLGdDQUFBO0V2QnMxSlY7RXVCbjFKTTtJQUNJLDhCQUFBO0lBQ0EsK0JBQUE7RXZCcTFKVjtFdUJsMUpNO0lBQ0ksOEJBQUE7RXZCbzFKVjtFdUJqMUpNO0lBQ0ksK0JBQUE7RXZCbTFKVjtFdUJoMUpNO0lBQ0ksNkJBQUE7RXZCazFKVjtFdUIvMEpNO0lBQ0ksZ0NBQUE7RXZCaTFKVjtFdUI1MkpNO0lBQ0kseUJBQUE7RXZCODJKVjtFdUIzMkpNO0lBQ0ksNkJBQUE7SUFDQSxnQ0FBQTtFdkI2MkpWO0V1QjEySk07SUFDSSw4QkFBQTtJQUNBLCtCQUFBO0V2QjQySlY7RXVCejJKTTtJQUNJLDhCQUFBO0V2QjIySlY7RXVCeDJKTTtJQUNJLCtCQUFBO0V2QjAySlY7RXVCdjJKTTtJQUNJLDZCQUFBO0V2QnkySlY7RXVCdDJKTTtJQUNJLGdDQUFBO0V2QncySlY7RXVCbjRKTTtJQUNJLHdCQUFBO0V2QnE0SlY7RXVCbDRKTTtJQUNJLDRCQUFBO0lBQ0EsK0JBQUE7RXZCbzRKVjtFdUJqNEpNO0lBQ0ksNkJBQUE7SUFDQSw4QkFBQTtFdkJtNEpWO0V1Qmg0Sk07SUFDSSw2QkFBQTtFdkJrNEpWO0V1Qi8zSk07SUFDSSw4QkFBQTtFdkJpNEpWO0V1QjkzSk07SUFDSSw0QkFBQTtFdkJnNEpWO0V1QjczSk07SUFDSSwrQkFBQTtFdkIrM0pWO0FBQ0Y7QVN0NEpRO0VjckJBO0lBQ0ksd0JBQUE7RXZCODVKVjtFdUIzNUpNO0lBQ0ksNEJBQUE7SUFDQSwrQkFBQTtFdkI2NUpWO0V1QjE1Sk07SUFDSSw2QkFBQTtJQUNBLDhCQUFBO0V2QjQ1SlY7RXVCejVKTTtJQUNJLDZCQUFBO0V2QjI1SlY7RXVCeDVKTTtJQUNJLDhCQUFBO0V2QjA1SlY7RXVCdjVKTTtJQUNJLDRCQUFBO0V2Qnk1SlY7RXVCdDVKTTtJQUNJLCtCQUFBO0V2Qnc1SlY7RXVCbjdKTTtJQUNJLHdCQUFBO0V2QnE3SlY7RXVCbDdKTTtJQUNJLDRCQUFBO0lBQ0EsK0JBQUE7RXZCbzdKVjtFdUJqN0pNO0lBQ0ksNkJBQUE7SUFDQSw4QkFBQTtFdkJtN0pWO0V1Qmg3Sk07SUFDSSw2QkFBQTtFdkJrN0pWO0V1Qi82Sk07SUFDSSw4QkFBQTtFdkJpN0pWO0V1Qjk2Sk07SUFDSSw0QkFBQTtFdkJnN0pWO0V1Qjc2Sk07SUFDSSwrQkFBQTtFdkIrNkpWO0V1QjE4Sk07SUFDSSx3QkFBQTtFdkI0OEpWO0V1Qno4Sk07SUFDSSw0QkFBQTtJQUNBLCtCQUFBO0V2QjI4SlY7RXVCeDhKTTtJQUNJLDZCQUFBO0lBQ0EsOEJBQUE7RXZCMDhKVjtFdUJ2OEpNO0lBQ0ksNkJBQUE7RXZCeThKVjtFdUJ0OEpNO0lBQ0ksOEJBQUE7RXZCdzhKVjtFdUJyOEpNO0lBQ0ksNEJBQUE7RXZCdThKVjtFdUJwOEpNO0lBQ0ksK0JBQUE7RXZCczhKVjtFdUJqK0pNO0lBQ0ksd0JBQUE7RXZCbStKVjtFdUJoK0pNO0lBQ0ksNEJBQUE7SUFDQSwrQkFBQTtFdkJrK0pWO0V1Qi85Sk07SUFDSSw2QkFBQTtJQUNBLDhCQUFBO0V2QmkrSlY7RXVCOTlKTTtJQUNJLDZCQUFBO0V2QmcrSlY7RXVCNzlKTTtJQUNJLDhCQUFBO0V2Qis5SlY7RXVCNTlKTTtJQUNJLDRCQUFBO0V2Qjg5SlY7RXVCMzlKTTtJQUNJLCtCQUFBO0V2QjY5SlY7RXVCeC9KTTtJQUNJLHdCQUFBO0V2QjAvSlY7RXVCdi9KTTtJQUNJLDRCQUFBO0lBQ0EsK0JBQUE7RXZCeS9KVjtFdUJ0L0pNO0lBQ0ksNkJBQUE7SUFDQSw4QkFBQTtFdkJ3L0pWO0V1QnIvSk07SUFDSSw2QkFBQTtFdkJ1L0pWO0V1QnAvSk07SUFDSSw4QkFBQTtFdkJzL0pWO0V1Qm4vSk07SUFDSSw0QkFBQTtFdkJxL0pWO0V1QmwvSk07SUFDSSwrQkFBQTtFdkJvL0pWO0V1Qi9nS007SUFDSSx5QkFBQTtFdkJpaEtWO0V1QjlnS007SUFDSSw2QkFBQTtJQUNBLGdDQUFBO0V2QmdoS1Y7RXVCN2dLTTtJQUNJLDhCQUFBO0lBQ0EsK0JBQUE7RXZCK2dLVjtFdUI1Z0tNO0lBQ0ksOEJBQUE7RXZCOGdLVjtFdUIzZ0tNO0lBQ0ksK0JBQUE7RXZCNmdLVjtFdUIxZ0tNO0lBQ0ksNkJBQUE7RXZCNGdLVjtFdUJ6Z0tNO0lBQ0ksZ0NBQUE7RXZCMmdLVjtFdUJ0aUtNO0lBQ0kseUJBQUE7RXZCd2lLVjtFdUJyaUtNO0lBQ0ksNkJBQUE7SUFDQSxnQ0FBQTtFdkJ1aUtWO0V1QnBpS007SUFDSSw4QkFBQTtJQUNBLCtCQUFBO0V2QnNpS1Y7RXVCbmlLTTtJQUNJLDhCQUFBO0V2QnFpS1Y7RXVCbGlLTTtJQUNJLCtCQUFBO0V2Qm9pS1Y7RXVCamlLTTtJQUNJLDZCQUFBO0V2Qm1pS1Y7RXVCaGlLTTtJQUNJLGdDQUFBO0V2QmtpS1Y7RXVCN2pLTTtJQUNJLHdCQUFBO0V2QitqS1Y7RXVCNWpLTTtJQUNJLDRCQUFBO0lBQ0EsK0JBQUE7RXZCOGpLVjtFdUIzaktNO0lBQ0ksNkJBQUE7SUFDQSw4QkFBQTtFdkI2aktWO0V1QjFqS007SUFDSSw2QkFBQTtFdkI0aktWO0V1QnpqS007SUFDSSw4QkFBQTtFdkIyaktWO0V1QnhqS007SUFDSSw0QkFBQTtFdkIwaktWO0V1QnZqS007SUFDSSwrQkFBQTtFdkJ5aktWO0FBQ0Y7QXVCOWhLSTtFQUNJLHFCQUFBO0F2QmdpS1I7O0F1QjdoS0k7RUFDSSx5QkFBQTtFQUNBLDRCQUFBO0F2QmdpS1I7O0F1QjdoS0k7RUFDSSwwQkFBQTtFQUNBLDJCQUFBO0F2QmdpS1I7O0F1QjdoS0k7RUFDSSwwQkFBQTtBdkJnaUtSOztBdUI3aEtJO0VBQ0ksMkJBQUE7QXZCZ2lLUjs7QXVCN2hLSTtFQUNJLHlCQUFBO0F2QmdpS1I7O0F1QjdoS0k7RUFDSSw0QkFBQTtBdkJnaUtSOztBUzdsS1E7RWNrQ0o7SUFDSSxxQkFBQTtFdkIraktOO0V1QjVqS0U7SUFDSSx5QkFBQTtJQUNBLDRCQUFBO0V2QjhqS047RXVCM2pLRTtJQUNJLDBCQUFBO0lBQ0EsMkJBQUE7RXZCNmpLTjtFdUIxaktFO0lBQ0ksMEJBQUE7RXZCNGpLTjtFdUJ6aktFO0lBQ0ksMkJBQUE7RXZCMmpLTjtFdUJ4aktFO0lBQ0kseUJBQUE7RXZCMGpLTjtFdUJ2aktFO0lBQ0ksNEJBQUE7RXZCeWpLTjtBQUNGO0FTdm5LUTtFY2tDSjtJQUNJLHFCQUFBO0V2QndsS047RXVCcmxLRTtJQUNJLHlCQUFBO0lBQ0EsNEJBQUE7RXZCdWxLTjtFdUJwbEtFO0lBQ0ksMEJBQUE7SUFDQSwyQkFBQTtFdkJzbEtOO0V1Qm5sS0U7SUFDSSwwQkFBQTtFdkJxbEtOO0V1QmxsS0U7SUFDSSwyQkFBQTtFdkJvbEtOO0V1QmpsS0U7SUFDSSx5QkFBQTtFdkJtbEtOO0V1QmhsS0U7SUFDSSw0QkFBQTtFdkJrbEtOO0FBQ0Y7QVNocEtRO0Vja0NKO0lBQ0kscUJBQUE7RXZCaW5LTjtFdUI5bUtFO0lBQ0kseUJBQUE7SUFDQSw0QkFBQTtFdkJnbktOO0V1QjdtS0U7SUFDSSwwQkFBQTtJQUNBLDJCQUFBO0V2QittS047RXVCNW1LRTtJQUNJLDBCQUFBO0V2QjhtS047RXVCM21LRTtJQUNJLDJCQUFBO0V2QjZtS047RXVCMW1LRTtJQUNJLHlCQUFBO0V2QjRtS047RXVCem1LRTtJQUNJLDRCQUFBO0V2QjJtS047QUFDRjtBU3pxS1E7RWNrQ0o7SUFDSSxxQkFBQTtFdkIwb0tOO0V1QnZvS0U7SUFDSSx5QkFBQTtJQUNBLDRCQUFBO0V2QnlvS047RXVCdG9LRTtJQUNJLDBCQUFBO0lBQ0EsMkJBQUE7RXZCd29LTjtFdUJyb0tFO0lBQ0ksMEJBQUE7RXZCdW9LTjtFdUJwb0tFO0lBQ0ksMkJBQUE7RXZCc29LTjtFdUJub0tFO0lBQ0kseUJBQUE7RXZCcW9LTjtFdUJsb0tFO0lBQ0ksNEJBQUE7RXZCb29LTjtBQUNGO0F1Qjl5S1k7RUFDSSx3QkFBQTtBdkJnektoQjs7QXVCanpLWTtFQUNJLHlCQUFBO0F2Qm96S2hCOztBdUJyektZO0VBQ0ksZ0NBQUE7QXZCd3pLaEI7O0F1Qnp6S1k7RUFDSSwwQkFBQTtBdkI0ektoQjs7QXVCN3pLWTtFQUNJLCtCQUFBO0VBQUEsK0JBQUE7RUFBQSx3QkFBQTtBdkJnMEtoQjs7QVNydEtRO0VjNUdJO0lBQ0ksd0JBQUE7RXZCcTBLZDtFdUJ0MEtVO0lBQ0kseUJBQUE7RXZCdzBLZDtFdUJ6MEtVO0lBQ0ksZ0NBQUE7RXZCMjBLZDtFdUI1MEtVO0lBQ0ksMEJBQUE7RXZCODBLZDtFdUIvMEtVO0lBQ0ksK0JBQUE7SUFBQSwrQkFBQTtJQUFBLHdCQUFBO0V2QmkxS2Q7QUFDRjtBU3Z1S1E7RWM1R0k7SUFDSSx3QkFBQTtFdkJzMUtkO0V1QnYxS1U7SUFDSSx5QkFBQTtFdkJ5MUtkO0V1QjExS1U7SUFDSSxnQ0FBQTtFdkI0MUtkO0V1QjcxS1U7SUFDSSwwQkFBQTtFdkIrMUtkO0V1QmgyS1U7SUFDSSwrQkFBQTtJQUFBLCtCQUFBO0lBQUEsd0JBQUE7RXZCazJLZDtBQUNGO0FTeHZLUTtFYzVHSTtJQUNJLHdCQUFBO0V2QnUyS2Q7RXVCeDJLVTtJQUNJLHlCQUFBO0V2QjAyS2Q7RXVCMzJLVTtJQUNJLGdDQUFBO0V2QjYyS2Q7RXVCOTJLVTtJQUNJLDBCQUFBO0V2QmczS2Q7RXVCajNLVTtJQUNJLCtCQUFBO0lBQUEsK0JBQUE7SUFBQSx3QkFBQTtFdkJtM0tkO0FBQ0Y7QVN6d0tRO0VjNUdJO0lBQ0ksd0JBQUE7RXZCdzNLZDtFdUJ6M0tVO0lBQ0kseUJBQUE7RXZCMjNLZDtFdUI1M0tVO0lBQ0ksZ0NBQUE7RXZCODNLZDtFdUIvM0tVO0lBQ0ksMEJBQUE7RXZCaTRLZDtFdUJsNEtVO0lBQ0ksK0JBQUE7SUFBQSwrQkFBQTtJQUFBLHdCQUFBO0V2Qm80S2Q7QUFDRjtBdUJ0NEtZO0VBQ0kseUNBQUE7RUFBQSx3Q0FBQTtNQUFBLGtDQUFBO1VBQUEsOEJBQUE7QXZCdzRLaEI7O0F1Qno0S1k7RUFDSSx1Q0FBQTtFQUFBLHdDQUFBO01BQUEscUNBQUE7VUFBQSxpQ0FBQTtBdkI0NEtoQjs7QVNqeUtRO0VjNUdJO0lBQ0kseUNBQUE7SUFBQSx3Q0FBQTtRQUFBLGtDQUFBO1lBQUEsOEJBQUE7RXZCaTVLZDtFdUJsNUtVO0lBQ0ksdUNBQUE7SUFBQSx3Q0FBQTtRQUFBLHFDQUFBO1lBQUEsaUNBQUE7RXZCbzVLZDtBQUNGO0FTMXlLUTtFYzVHSTtJQUNJLHlDQUFBO0lBQUEsd0NBQUE7UUFBQSxrQ0FBQTtZQUFBLDhCQUFBO0V2Qnk1S2Q7RXVCMTVLVTtJQUNJLHVDQUFBO0lBQUEsd0NBQUE7UUFBQSxxQ0FBQTtZQUFBLGlDQUFBO0V2QjQ1S2Q7QUFDRjtBU2x6S1E7RWM1R0k7SUFDSSx5Q0FBQTtJQUFBLHdDQUFBO1FBQUEsa0NBQUE7WUFBQSw4QkFBQTtFdkJpNktkO0V1Qmw2S1U7SUFDSSx1Q0FBQTtJQUFBLHdDQUFBO1FBQUEscUNBQUE7WUFBQSxpQ0FBQTtFdkJvNktkO0FBQ0Y7QVMxektRO0VjNUdJO0lBQ0kseUNBQUE7SUFBQSx3Q0FBQTtRQUFBLGtDQUFBO1lBQUEsOEJBQUE7RXZCeTZLZDtFdUIxNktVO0lBQ0ksdUNBQUE7SUFBQSx3Q0FBQTtRQUFBLHFDQUFBO1lBQUEsaUNBQUE7RXZCNDZLZDtBQUNGO0F1QjE3S1k7RUFDSSxtQ0FBQTtNQUFBLGdDQUFBO1VBQUEsa0NBQUE7QXZCNDdLaEI7O0F1Qjc3S1k7RUFDSSxvQ0FBQTtNQUFBLGlDQUFBO1VBQUEsOEJBQUE7QXZCZzhLaEI7O0F1Qmo4S1k7RUFDSSxpQ0FBQTtNQUFBLDhCQUFBO1VBQUEsZ0NBQUE7QXZCbzhLaEI7O0FTNzBLUTtFY3hISTtJQUNJLG1DQUFBO1FBQUEsZ0NBQUE7WUFBQSxrQ0FBQTtFdkJ5OEtkO0V1QjE4S1U7SUFDSSxvQ0FBQTtRQUFBLGlDQUFBO1lBQUEsOEJBQUE7RXZCNDhLZDtFdUI3OEtVO0lBQ0ksaUNBQUE7UUFBQSw4QkFBQTtZQUFBLGdDQUFBO0V2Qis4S2Q7QUFDRjtBU3oxS1E7RWN4SEk7SUFDSSxtQ0FBQTtRQUFBLGdDQUFBO1lBQUEsa0NBQUE7RXZCbzlLZDtFdUJyOUtVO0lBQ0ksb0NBQUE7UUFBQSxpQ0FBQTtZQUFBLDhCQUFBO0V2QnU5S2Q7RXVCeDlLVTtJQUNJLGlDQUFBO1FBQUEsOEJBQUE7WUFBQSxnQ0FBQTtFdkIwOUtkO0FBQ0Y7QVNwMktRO0VjeEhJO0lBQ0ksbUNBQUE7UUFBQSxnQ0FBQTtZQUFBLGtDQUFBO0V2Qis5S2Q7RXVCaCtLVTtJQUNJLG9DQUFBO1FBQUEsaUNBQUE7WUFBQSw4QkFBQTtFdkJrK0tkO0V1Qm4rS1U7SUFDSSxpQ0FBQTtRQUFBLDhCQUFBO1lBQUEsZ0NBQUE7RXZCcStLZDtBQUNGO0FTLzJLUTtFY3hISTtJQUNJLG1DQUFBO1FBQUEsZ0NBQUE7WUFBQSxrQ0FBQTtFdkIwK0tkO0V1QjMrS1U7SUFDSSxvQ0FBQTtRQUFBLGlDQUFBO1lBQUEsOEJBQUE7RXZCNitLZDtFdUI5K0tVO0lBQ0ksaUNBQUE7UUFBQSw4QkFBQTtZQUFBLGdDQUFBO0V2QmcvS2Q7QUFDRjtBdUJsL0tZO0VBQ0ksa0NBQUE7TUFBQSwrQkFBQTtVQUFBLHNDQUFBO0F2Qm8vS2hCOztBdUJyL0tZO0VBQ0ksbUNBQUE7TUFBQSxnQ0FBQTtVQUFBLGtDQUFBO0F2QncvS2hCOztBdUJ6L0tZO0VBQ0ksZ0NBQUE7TUFBQSw2QkFBQTtVQUFBLG9DQUFBO0F2QjQvS2hCOztBdUI3L0tZO0VBQ0ksb0NBQUE7TUFBQSxpQ0FBQTtVQUFBLHlDQUFBO0F2QmdnTGhCOztBU3o0S1E7RWN4SEk7SUFDSSxrQ0FBQTtRQUFBLCtCQUFBO1lBQUEsc0NBQUE7RXZCcWdMZDtFdUJ0Z0xVO0lBQ0ksbUNBQUE7UUFBQSxnQ0FBQTtZQUFBLGtDQUFBO0V2QndnTGQ7RXVCemdMVTtJQUNJLGdDQUFBO1FBQUEsNkJBQUE7WUFBQSxvQ0FBQTtFdkIyZ0xkO0V1QjVnTFU7SUFDSSxvQ0FBQTtRQUFBLGlDQUFBO1lBQUEseUNBQUE7RXZCOGdMZDtBQUNGO0FTeDVLUTtFY3hISTtJQUNJLGtDQUFBO1FBQUEsK0JBQUE7WUFBQSxzQ0FBQTtFdkJtaExkO0V1QnBoTFU7SUFDSSxtQ0FBQTtRQUFBLGdDQUFBO1lBQUEsa0NBQUE7RXZCc2hMZDtFdUJ2aExVO0lBQ0ksZ0NBQUE7UUFBQSw2QkFBQTtZQUFBLG9DQUFBO0V2QnloTGQ7RXVCMWhMVTtJQUNJLG9DQUFBO1FBQUEsaUNBQUE7WUFBQSx5Q0FBQTtFdkI0aExkO0FBQ0Y7QVN0NktRO0VjeEhJO0lBQ0ksa0NBQUE7UUFBQSwrQkFBQTtZQUFBLHNDQUFBO0V2QmlpTGQ7RXVCbGlMVTtJQUNJLG1DQUFBO1FBQUEsZ0NBQUE7WUFBQSxrQ0FBQTtFdkJvaUxkO0V1QnJpTFU7SUFDSSxnQ0FBQTtRQUFBLDZCQUFBO1lBQUEsb0NBQUE7RXZCdWlMZDtFdUJ4aUxVO0lBQ0ksb0NBQUE7UUFBQSxpQ0FBQTtZQUFBLHlDQUFBO0V2QjBpTGQ7QUFDRjtBU3A3S1E7RWN4SEk7SUFDSSxrQ0FBQTtRQUFBLCtCQUFBO1lBQUEsc0NBQUE7RXZCK2lMZDtFdUJoakxVO0lBQ0ksbUNBQUE7UUFBQSxnQ0FBQTtZQUFBLGtDQUFBO0V2QmtqTGQ7RXVCbmpMVTtJQUNJLGdDQUFBO1FBQUEsNkJBQUE7WUFBQSxvQ0FBQTtFdkJxakxkO0V1QnRqTFU7SUFDSSxvQ0FBQTtRQUFBLGlDQUFBO1lBQUEseUNBQUE7RXZCd2pMZDtBQUNGO0F1QjlpTFk7RUFDSSx1Q0FBQTtNQUFBLDRCQUFBO1VBQUEsbUJBQUE7QXZCZ2pMaEI7O0F1QmpqTFk7RUFDSSx1Q0FBQTtNQUFBLDRCQUFBO1VBQUEsbUJBQUE7QXZCb2pMaEI7O0F1QnJqTFk7RUFDSSx1Q0FBQTtNQUFBLDRCQUFBO1VBQUEsbUJBQUE7QXZCd2pMaEI7O0F1QnpqTFk7RUFDSSx1Q0FBQTtNQUFBLDRCQUFBO1VBQUEsbUJBQUE7QXZCNGpMaEI7O0F1QjdqTFk7RUFDSSx1Q0FBQTtNQUFBLDRCQUFBO1VBQUEsbUJBQUE7QXZCZ2tMaEI7O0FTcjlLUTtFYzVHSTtJQUNJLHVDQUFBO1FBQUEsNEJBQUE7WUFBQSxtQkFBQTtFdkJxa0xkO0V1QnRrTFU7SUFDSSx1Q0FBQTtRQUFBLDRCQUFBO1lBQUEsbUJBQUE7RXZCd2tMZDtFdUJ6a0xVO0lBQ0ksdUNBQUE7UUFBQSw0QkFBQTtZQUFBLG1CQUFBO0V2QjJrTGQ7RXVCNWtMVTtJQUNJLHVDQUFBO1FBQUEsNEJBQUE7WUFBQSxtQkFBQTtFdkI4a0xkO0V1Qi9rTFU7SUFDSSx1Q0FBQTtRQUFBLDRCQUFBO1lBQUEsbUJBQUE7RXZCaWxMZDtBQUNGO0FTditLUTtFYzVHSTtJQUNJLHVDQUFBO1FBQUEsNEJBQUE7WUFBQSxtQkFBQTtFdkJzbExkO0V1QnZsTFU7SUFDSSx1Q0FBQTtRQUFBLDRCQUFBO1lBQUEsbUJBQUE7RXZCeWxMZDtFdUIxbExVO0lBQ0ksdUNBQUE7UUFBQSw0QkFBQTtZQUFBLG1CQUFBO0V2QjRsTGQ7RXVCN2xMVTtJQUNJLHVDQUFBO1FBQUEsNEJBQUE7WUFBQSxtQkFBQTtFdkIrbExkO0V1QmhtTFU7SUFDSSx1Q0FBQTtRQUFBLDRCQUFBO1lBQUEsbUJBQUE7RXZCa21MZDtBQUNGO0FTeC9LUTtFYzVHSTtJQUNJLHVDQUFBO1FBQUEsNEJBQUE7WUFBQSxtQkFBQTtFdkJ1bUxkO0V1QnhtTFU7SUFDSSx1Q0FBQTtRQUFBLDRCQUFBO1lBQUEsbUJBQUE7RXZCMG1MZDtFdUIzbUxVO0lBQ0ksdUNBQUE7UUFBQSw0QkFBQTtZQUFBLG1CQUFBO0V2QjZtTGQ7RXVCOW1MVTtJQUNJLHVDQUFBO1FBQUEsNEJBQUE7WUFBQSxtQkFBQTtFdkJnbkxkO0V1QmpuTFU7SUFDSSx1Q0FBQTtRQUFBLDRCQUFBO1lBQUEsbUJBQUE7RXZCbW5MZDtBQUNGO0FTemdMUTtFYzVHSTtJQUNJLHVDQUFBO1FBQUEsNEJBQUE7WUFBQSxtQkFBQTtFdkJ3bkxkO0V1QnpuTFU7SUFDSSx1Q0FBQTtRQUFBLDRCQUFBO1lBQUEsbUJBQUE7RXZCMm5MZDtFdUI1bkxVO0lBQ0ksdUNBQUE7UUFBQSw0QkFBQTtZQUFBLG1CQUFBO0V2QjhuTGQ7RXVCL25MVTtJQUNJLHVDQUFBO1FBQUEsNEJBQUE7WUFBQSxtQkFBQTtFdkJpb0xkO0V1QmxvTFU7SUFDSSx1Q0FBQTtRQUFBLDRCQUFBO1lBQUEsbUJBQUE7RXZCb29MZDtBQUNGO0F1QmxwTFk7RUFDSSwyQkFBQTtBdkJvcExoQjs7QXVCcnBMWTtFQUNJLDJCQUFBO0F2QndwTGhCOztBdUJ6cExZO0VBQ0ksMkJBQUE7QXZCNHBMaEI7O0F1QjdwTFk7RUFDSSw0QkFBQTtBdkJncUxoQjs7QXVCanFMWTtFQUNJLHlCQUFBO0F2Qm9xTGhCOztBdUJycUxZO0VBQ0kseUJBQUE7QXZCd3FMaEI7O0F1QnpxTFk7RUFDSSwwQkFBQTtBdkI0cUxoQjs7QVNyakxRO0VjeEhJO0lBQ0ksMkJBQUE7RXZCaXJMZDtFdUJsckxVO0lBQ0ksMkJBQUE7RXZCb3JMZDtFdUJyckxVO0lBQ0ksMkJBQUE7RXZCdXJMZDtFdUJ4ckxVO0lBQ0ksNEJBQUE7RXZCMHJMZDtFdUIzckxVO0lBQ0kseUJBQUE7RXZCNnJMZDtFdUI5ckxVO0lBQ0kseUJBQUE7RXZCZ3NMZDtFdUJqc0xVO0lBQ0ksMEJBQUE7RXZCbXNMZDtBQUNGO0FTN2tMUTtFY3hISTtJQUNJLDJCQUFBO0V2QndzTGQ7RXVCenNMVTtJQUNJLDJCQUFBO0V2QjJzTGQ7RXVCNXNMVTtJQUNJLDJCQUFBO0V2QjhzTGQ7RXVCL3NMVTtJQUNJLDRCQUFBO0V2Qml0TGQ7RXVCbHRMVTtJQUNJLHlCQUFBO0V2Qm90TGQ7RXVCcnRMVTtJQUNJLHlCQUFBO0V2QnV0TGQ7RXVCeHRMVTtJQUNJLDBCQUFBO0V2QjB0TGQ7QUFDRjtBU3BtTFE7RWN4SEk7SUFDSSwyQkFBQTtFdkIrdExkO0V1Qmh1TFU7SUFDSSwyQkFBQTtFdkJrdUxkO0V1Qm51TFU7SUFDSSwyQkFBQTtFdkJxdUxkO0V1QnR1TFU7SUFDSSw0QkFBQTtFdkJ3dUxkO0V1Qnp1TFU7SUFDSSx5QkFBQTtFdkIydUxkO0V1QjV1TFU7SUFDSSx5QkFBQTtFdkI4dUxkO0V1Qi91TFU7SUFDSSwwQkFBQTtFdkJpdkxkO0FBQ0Y7QVMzbkxRO0VjeEhJO0lBQ0ksMkJBQUE7RXZCc3ZMZDtFdUJ2dkxVO0lBQ0ksMkJBQUE7RXZCeXZMZDtFdUIxdkxVO0lBQ0ksMkJBQUE7RXZCNHZMZDtFdUI3dkxVO0lBQ0ksNEJBQUE7RXZCK3ZMZDtFdUJod0xVO0lBQ0kseUJBQUE7RXZCa3dMZDtFdUJud0xVO0lBQ0kseUJBQUE7RXZCcXdMZDtFdUJ0d0xVO0lBQ0ksMEJBQUE7RXZCd3dMZDtBQUNGO0F1QjF3TFk7RUFDSSx5QkFBQTtBdkI0d0xoQjs7QXVCN3dMWTtFQUNJLDBCQUFBO0F2Qmd4TGhCOztBU3pwTFE7RWN4SEk7SUFDSSx5QkFBQTtFdkJxeExkO0V1QnR4TFU7SUFDSSwwQkFBQTtFdkJ3eExkO0FBQ0Y7QVNscUxRO0VjeEhJO0lBQ0kseUJBQUE7RXZCNnhMZDtFdUI5eExVO0lBQ0ksMEJBQUE7RXZCZ3lMZDtBQUNGO0FTMXFMUTtFY3hISTtJQUNJLHlCQUFBO0V2QnF5TGQ7RXVCdHlMVTtJQUNJLDBCQUFBO0V2Qnd5TGQ7QUFDRjtBU2xyTFE7RWN4SEk7SUFDSSx5QkFBQTtFdkI2eUxkO0V1Qjl5TFU7SUFDSSwwQkFBQTtFdkJnekxkO0FBQ0Y7QXVCbHpMWTtFQUNJLHNCQUFBO0F2Qm96TGhCOztBdUJyekxZO0VBQ0ksdUJBQUE7QXZCd3pMaEI7O0FTanNMUTtFY3hISTtJQUNJLHNCQUFBO0V2QjZ6TGQ7RXVCOXpMVTtJQUNJLHVCQUFBO0V2QmcwTGQ7QUFDRjtBUzFzTFE7RWN4SEk7SUFDSSxzQkFBQTtFdkJxMExkO0V1QnQwTFU7SUFDSSx1QkFBQTtFdkJ3MExkO0FBQ0Y7QVNsdExRO0VjeEhJO0lBQ0ksc0JBQUE7RXZCNjBMZDtFdUI5MExVO0lBQ0ksdUJBQUE7RXZCZzFMZDtBQUNGO0FTMXRMUTtFY3hISTtJQUNJLHNCQUFBO0V2QnExTGQ7RXVCdDFMVTtJQUNJLHVCQUFBO0V2QncxTGQ7QUFDRjtBdUIxMUxZO0VBQ0ksNEJBQUE7QXZCNDFMaEI7O0F1QjcxTFk7RUFDSSwwQkFBQTtBdkJnMkxoQjs7QXVCajJMWTtFQUNJLDJCQUFBO0F2Qm8yTGhCOztBdUJyMkxZO0VBQ0ksNEJBQUE7QXZCdzJMaEI7O0FTanZMUTtFY3hISTtJQUNJLDRCQUFBO0V2QjYyTGQ7RXVCOTJMVTtJQUNJLDBCQUFBO0V2QmczTGQ7RXVCajNMVTtJQUNJLDJCQUFBO0V2Qm0zTGQ7RXVCcDNMVTtJQUNJLDRCQUFBO0V2QnMzTGQ7QUFDRjtBU2h3TFE7RWN4SEk7SUFDSSw0QkFBQTtFdkIyM0xkO0V1QjUzTFU7SUFDSSwwQkFBQTtFdkI4M0xkO0V1Qi8zTFU7SUFDSSwyQkFBQTtFdkJpNExkO0V1Qmw0TFU7SUFDSSw0QkFBQTtFdkJvNExkO0FBQ0Y7QVM5d0xRO0VjeEhJO0lBQ0ksNEJBQUE7RXZCeTRMZDtFdUIxNExVO0lBQ0ksMEJBQUE7RXZCNDRMZDtFdUI3NExVO0lBQ0ksMkJBQUE7RXZCKzRMZDtFdUJoNUxVO0lBQ0ksNEJBQUE7RXZCazVMZDtBQUNGO0FTNXhMUTtFY3hISTtJQUNJLDRCQUFBO0V2QnU1TGQ7RXVCeDVMVTtJQUNJLDBCQUFBO0V2QjA1TGQ7RXVCMzVMVTtJQUNJLDJCQUFBO0V2QjY1TGQ7RXVCOTVMVTtJQUNJLDRCQUFBO0V2Qmc2TGQ7QUFDRjtBdUJsNkxZO0VBQ0ksMEJBQUE7QXZCbzZMaEI7O0F1QnI2TFk7RUFDSSwwQkFBQTtBdkJ3NkxoQjs7QXVCejZMWTtFQUNJLDBCQUFBO0F2QjQ2TGhCOztBdUI3NkxZO0VBQ0ksMEJBQUE7QXZCZzdMaEI7O0F1Qmo3TFk7RUFDSSwwQkFBQTtBdkJvN0xoQjs7QXVCcjdMWTtFQUNJLDBCQUFBO0F2Qnc3TGhCOztBdUJ6N0xZO0VBQ0ksMkJBQUE7QXZCNDdMaEI7O0FTcjBMUTtFY3hISTtJQUNJLDBCQUFBO0V2Qmk4TGQ7RXVCbDhMVTtJQUNJLDBCQUFBO0V2Qm84TGQ7RXVCcjhMVTtJQUNJLDBCQUFBO0V2QnU4TGQ7RXVCeDhMVTtJQUNJLDBCQUFBO0V2QjA4TGQ7RXVCMzhMVTtJQUNJLDBCQUFBO0V2QjY4TGQ7RXVCOThMVTtJQUNJLDBCQUFBO0V2Qmc5TGQ7RXVCajlMVTtJQUNJLDJCQUFBO0V2Qm05TGQ7QUFDRjtBUzcxTFE7RWN4SEk7SUFDSSwwQkFBQTtFdkJ3OUxkO0V1Qno5TFU7SUFDSSwwQkFBQTtFdkIyOUxkO0V1QjU5TFU7SUFDSSwwQkFBQTtFdkI4OUxkO0V1Qi85TFU7SUFDSSwwQkFBQTtFdkJpK0xkO0V1QmwrTFU7SUFDSSwwQkFBQTtFdkJvK0xkO0V1QnIrTFU7SUFDSSwwQkFBQTtFdkJ1K0xkO0V1QngrTFU7SUFDSSwyQkFBQTtFdkIwK0xkO0FBQ0Y7QVNwM0xRO0VjeEhJO0lBQ0ksMEJBQUE7RXZCKytMZDtFdUJoL0xVO0lBQ0ksMEJBQUE7RXZCay9MZDtFdUJuL0xVO0lBQ0ksMEJBQUE7RXZCcS9MZDtFdUJ0L0xVO0lBQ0ksMEJBQUE7RXZCdy9MZDtFdUJ6L0xVO0lBQ0ksMEJBQUE7RXZCMi9MZDtFdUI1L0xVO0lBQ0ksMEJBQUE7RXZCOC9MZDtFdUIvL0xVO0lBQ0ksMkJBQUE7RXZCaWdNZDtBQUNGO0FTMzRMUTtFY3hISTtJQUNJLDBCQUFBO0V2QnNnTWQ7RXVCdmdNVTtJQUNJLDBCQUFBO0V2QnlnTWQ7RXVCMWdNVTtJQUNJLDBCQUFBO0V2QjRnTWQ7RXVCN2dNVTtJQUNJLDBCQUFBO0V2QitnTWQ7RXVCaGhNVTtJQUNJLDBCQUFBO0V2QmtoTWQ7RXVCbmhNVTtJQUNJLDBCQUFBO0V2QnFoTWQ7RXVCdGhNVTtJQUNJLDJCQUFBO0V2QndoTWQ7QUFDRjtBdUIxaE1ZO0VBQ0kseUJBQUE7QXZCNGhNaEI7O0F1QjdoTVk7RUFDSSwyQkFBQTtBdkJnaU1oQjs7QXVCamlNWTtFQUNJLDJCQUFBO0F2Qm9pTWhCOztBdUJyaU1ZO0VBQ0ksMkJBQUE7QXZCd2lNaEI7O0FTajdMUTtFY3hISTtJQUNJLHlCQUFBO0V2QjZpTWQ7RXVCOWlNVTtJQUNJLDJCQUFBO0V2QmdqTWQ7RXVCampNVTtJQUNJLDJCQUFBO0V2Qm1qTWQ7RXVCcGpNVTtJQUNJLDJCQUFBO0V2QnNqTWQ7QUFDRjtBU2g4TFE7RWN4SEk7SUFDSSx5QkFBQTtFdkIyak1kO0V1QjVqTVU7SUFDSSwyQkFBQTtFdkI4ak1kO0V1Qi9qTVU7SUFDSSwyQkFBQTtFdkJpa01kO0V1QmxrTVU7SUFDSSwyQkFBQTtFdkJva01kO0FBQ0Y7QVM5OExRO0VjeEhJO0lBQ0kseUJBQUE7RXZCeWtNZDtFdUIxa01VO0lBQ0ksMkJBQUE7RXZCNGtNZDtFdUI3a01VO0lBQ0ksMkJBQUE7RXZCK2tNZDtFdUJobE1VO0lBQ0ksMkJBQUE7RXZCa2xNZDtBQUNGO0FTNTlMUTtFY3hISTtJQUNJLHlCQUFBO0V2QnVsTWQ7RXVCeGxNVTtJQUNJLDJCQUFBO0V2QjBsTWQ7RXVCM2xNVTtJQUNJLDJCQUFBO0V2QjZsTWQ7RXVCOWxNVTtJQUNJLDJCQUFBO0V2QmdtTWQ7QUFDRjtBdUJ0bE1ZO0VBQ0ksOEJBQUE7QXZCd2xNaEI7O0F1QnpsTVk7RUFDSSw0QkFBQTtBdkI0bE1oQjs7QXVCN2xNWTtFQUNJLDJCQUFBO0F2QmdtTWhCOztBdUJqbU1ZO0VBQ0ksMkJBQUE7QXZCb21NaEI7O0F1QnJtTVk7RUFDSSwyQkFBQTtBdkJ3bU1oQjs7QXVCem1NWTtFQUNJLDJCQUFBO0F2QjRtTWhCOztBdUI3bU1ZO0VBQ0ksMkJBQUE7QXZCZ25NaEI7O0F1QmpuTVk7RUFDSSwyQkFBQTtBdkJvbk1oQjs7QXVCcm5NWTtFQUNJLDJCQUFBO0F2QnduTWhCOztBUzdnTVE7RWM1R0k7SUFDSSw4QkFBQTtFdkI2bk1kO0V1QjluTVU7SUFDSSw0QkFBQTtFdkJnb01kO0V1QmpvTVU7SUFDSSwyQkFBQTtFdkJtb01kO0V1QnBvTVU7SUFDSSwyQkFBQTtFdkJzb01kO0V1QnZvTVU7SUFDSSwyQkFBQTtFdkJ5b01kO0V1QjFvTVU7SUFDSSwyQkFBQTtFdkI0b01kO0V1QjdvTVU7SUFDSSwyQkFBQTtFdkIrb01kO0V1QmhwTVU7SUFDSSwyQkFBQTtFdkJrcE1kO0V1Qm5wTVU7SUFDSSwyQkFBQTtFdkJxcE1kO0FBQ0Y7QVMzaU1RO0VjNUdJO0lBQ0ksOEJBQUE7RXZCMHBNZDtFdUIzcE1VO0lBQ0ksNEJBQUE7RXZCNnBNZDtFdUI5cE1VO0lBQ0ksMkJBQUE7RXZCZ3FNZDtFdUJqcU1VO0lBQ0ksMkJBQUE7RXZCbXFNZDtFdUJwcU1VO0lBQ0ksMkJBQUE7RXZCc3FNZDtFdUJ2cU1VO0lBQ0ksMkJBQUE7RXZCeXFNZDtFdUIxcU1VO0lBQ0ksMkJBQUE7RXZCNHFNZDtFdUI3cU1VO0lBQ0ksMkJBQUE7RXZCK3FNZDtFdUJock1VO0lBQ0ksMkJBQUE7RXZCa3JNZDtBQUNGO0FTeGtNUTtFYzVHSTtJQUNJLDhCQUFBO0V2QnVyTWQ7RXVCeHJNVTtJQUNJLDRCQUFBO0V2QjByTWQ7RXVCM3JNVTtJQUNJLDJCQUFBO0V2QjZyTWQ7RXVCOXJNVTtJQUNJLDJCQUFBO0V2QmdzTWQ7RXVCanNNVTtJQUNJLDJCQUFBO0V2Qm1zTWQ7RXVCcHNNVTtJQUNJLDJCQUFBO0V2QnNzTWQ7RXVCdnNNVTtJQUNJLDJCQUFBO0V2QnlzTWQ7RXVCMXNNVTtJQUNJLDJCQUFBO0V2QjRzTWQ7RXVCN3NNVTtJQUNJLDJCQUFBO0V2QitzTWQ7QUFDRjtBU3JtTVE7RWM1R0k7SUFDSSw4QkFBQTtFdkJvdE1kO0V1QnJ0TVU7SUFDSSw0QkFBQTtFdkJ1dE1kO0V1Qnh0TVU7SUFDSSwyQkFBQTtFdkIwdE1kO0V1QjN0TVU7SUFDSSwyQkFBQTtFdkI2dE1kO0V1Qjl0TVU7SUFDSSwyQkFBQTtFdkJndU1kO0V1Qmp1TVU7SUFDSSwyQkFBQTtFdkJtdU1kO0V1QnB1TVU7SUFDSSwyQkFBQTtFdkJzdU1kO0V1QnZ1TVU7SUFDSSwyQkFBQTtFdkJ5dU1kO0V1QjF1TVU7SUFDSSwyQkFBQTtFdkI0dU1kO0FBQ0Y7QXVCOXVNWTtFQUNJLGdCQUFBO0F2Qmd2TWhCOztBdUJqdk1ZO0VBQ0ksaUJBQUE7QXZCb3ZNaEI7O0F1QnJ2TVk7RUFDSSxrQkFBQTtBdkJ3dk1oQjs7QVM3b01RO0VjNUdJO0lBQ0ksZ0JBQUE7RXZCNnZNZDtFdUI5dk1VO0lBQ0ksaUJBQUE7RXZCZ3dNZDtFdUJqd01VO0lBQ0ksa0JBQUE7RXZCbXdNZDtBQUNGO0FTenBNUTtFYzVHSTtJQUNJLGdCQUFBO0V2Qnd3TWQ7RXVCendNVTtJQUNJLGlCQUFBO0V2QjJ3TWQ7RXVCNXdNVTtJQUNJLGtCQUFBO0V2Qjh3TWQ7QUFDRjtBU3BxTVE7RWM1R0k7SUFDSSxnQkFBQTtFdkJteE1kO0V1QnB4TVU7SUFDSSxpQkFBQTtFdkJzeE1kO0V1QnZ4TVU7SUFDSSxrQkFBQTtFdkJ5eE1kO0FBQ0Y7QVMvcU1RO0VjNUdJO0lBQ0ksZ0JBQUE7RXZCOHhNZDtFdUIveE1VO0lBQ0ksaUJBQUE7RXZCaXlNZDtFdUJseU1VO0lBQ0ksa0JBQUE7RXZCb3lNZDtBQUNGO0F1QnR5TVk7RUFDSSxxQ0FBQTtBdkJ3eU1oQjs7QXVCenlNWTtFQUNJLG9DQUFBO0F2QjR5TWhCOztBdUI3eU1ZO0VBQ0ksb0NBQUE7QXZCZ3pNaEI7O0F1Qjd6TVk7RUFDSSxpQ0FBQTtBdkJnME1oQjs7QXVCajBNWTtFQUNJLGlDQUFBO0F2Qm8wTWhCOztBdUJyME1ZO0VBQ0ksaUNBQUE7QXZCdzBNaEI7O0F1QnowTVk7RUFDSSx5QkFBQTtBdkI0ME1oQjtBdUJ6ME1vQjtFQUNJLHlCQUFBO0F2QjIwTXhCOztBdUJoMU1ZO0VBQ0kseUJBQUE7QXZCbTFNaEI7QXVCaDFNb0I7RUFDSSx5QkFBQTtBdkJrMU14Qjs7QVMvdE1RO0VjeEhJO0lBQ0kseUJBQUE7RXZCMjFNZDtFdUJ4MU1rQjtJQUNJLHlCQUFBO0V2QjAxTXRCO0V1Qi8xTVU7SUFDSSx5QkFBQTtFdkJpMk1kO0V1QjkxTWtCO0lBQ0kseUJBQUE7RXZCZzJNdEI7QUFDRjtBUzl1TVE7RWN4SEk7SUFDSSx5QkFBQTtFdkJ5Mk1kO0V1QnQyTWtCO0lBQ0kseUJBQUE7RXZCdzJNdEI7RXVCNzJNVTtJQUNJLHlCQUFBO0V2QisyTWQ7RXVCNTJNa0I7SUFDSSx5QkFBQTtFdkI4Mk10QjtBQUNGO0FTNXZNUTtFY3hISTtJQUNJLHlCQUFBO0V2QnUzTWQ7RXVCcDNNa0I7SUFDSSx5QkFBQTtFdkJzM010QjtFdUIzM01VO0lBQ0kseUJBQUE7RXZCNjNNZDtFdUIxM01rQjtJQUNJLHlCQUFBO0V2QjQzTXRCO0FBQ0Y7QVMxd01RO0VjeEhJO0lBQ0kseUJBQUE7RXZCcTRNZDtFdUJsNE1rQjtJQUNJLHlCQUFBO0V2Qm80TXRCO0V1Qno0TVU7SUFDSSx5QkFBQTtFdkIyNE1kO0V1Qng0TWtCO0lBQ0kseUJBQUE7RXZCMDRNdEI7QUFDRjtBdUJoNU1ZO0VBQ0ksb0NBQUE7QXZCazVNaEI7O0F1Qm41TVk7RUFDSSxvQ0FBQTtBdkJzNU1oQjs7QVMveE1RO0VjeEhJO0lBQ0ksb0NBQUE7RXZCMjVNZDtFdUI1NU1VO0lBQ0ksb0NBQUE7RXZCODVNZDtBQUNGO0FTeHlNUTtFY3hISTtJQUNJLG9DQUFBO0V2Qm02TWQ7RXVCcDZNVTtJQUNJLG9DQUFBO0V2QnM2TWQ7QUFDRjtBU2h6TVE7RWN4SEk7SUFDSSxvQ0FBQTtFdkIyNk1kO0V1QjU2TVU7SUFDSSxvQ0FBQTtFdkI4Nk1kO0FBQ0Y7QVN4ek1RO0VjeEhJO0lBQ0ksb0NBQUE7RXZCbTdNZDtFdUJwN01VO0lBQ0ksb0NBQUE7RXZCczdNZDtBQUNGO0F1Qng3TVk7RUFDSSxvQ0FBQTtBdkIwN01oQjs7QXVCMzdNWTtFQUNJLG9DQUFBO0F2Qjg3TWhCOztBdUIvN01ZO0VBQ0ksdUJBQUE7QXZCazhNaEI7O0FTMzBNUTtFY3hISTtJQUNJLG9DQUFBO0V2QnU4TWQ7RXVCeDhNVTtJQUNJLG9DQUFBO0V2QjA4TWQ7RXVCMzhNVTtJQUNJLHVCQUFBO0V2QjY4TWQ7QUFDRjtBU3YxTVE7RWN4SEk7SUFDSSxvQ0FBQTtFdkJrOU1kO0V1Qm45TVU7SUFDSSxvQ0FBQTtFdkJxOU1kO0V1QnQ5TVU7SUFDSSx1QkFBQTtFdkJ3OU1kO0FBQ0Y7QVNsMk1RO0VjeEhJO0lBQ0ksb0NBQUE7RXZCNjlNZDtFdUI5OU1VO0lBQ0ksb0NBQUE7RXZCZytNZDtFdUJqK01VO0lBQ0ksdUJBQUE7RXZCbStNZDtBQUNGO0FTNzJNUTtFY3hISTtJQUNJLG9DQUFBO0V2QncrTWQ7RXVCeitNVTtJQUNJLG9DQUFBO0V2QjIrTWQ7RXVCNStNVTtJQUNJLHVCQUFBO0V2QjgrTWQ7QUFDRjtBdUJoL01ZO0VBQ0ksd0NBQUE7QXZCay9NaEI7O0F1Qm4vTVk7RUFDSSx3Q0FBQTtBdkJzL01oQjs7QXVCdi9NWTtFQUNJLDJCQUFBO0F2QjAvTWhCOztBU240TVE7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QURKO0lBRVEsMkJBQUE7RXBDczhQVjtBQUNGO0FvQ244UEk7RUFDSSxnQ0FBQTtVQUFBLHdCQUFBO0VBQ0EsVUFBQTtBcENxOFBSO0FvQ2w4UEk7RUFDSSxlQUFBO0VBQ0EsWUFBQTtFQUNBLFdBQUE7QXBDbzhQUjtBU3J5UFE7RTJCbEtKO0lBTVEsV0FBQTtFcENxOFBWO0FBQ0Y7O0FvQy83UEk7RUFDSSxvQkFBQTtBcENrOFBSO0FvQ2g4UFE7RUFISjtJQUlRLHFCQUFBO0VwQ204UFY7QUFDRjs7QW9DeDhQSTtFQUNJLG9CQUFBO0FwQzI4UFI7QW9DejhQUTtFQUhKO0lBSVEscUJBQUE7RXBDNDhQVjtBQUNGOztBUzV6UFE7RTJCckpKO0lBQ0ksb0JBQUE7RXBDcTlQTjtBQUNGO0FvQ3A5UFE7RUFISjtJQUlRLHFCQUFBO0VwQ3U5UFY7QUFDRjtBU3YwUFE7RTJCckpKO0lBQ0ksb0JBQUE7RXBDKzlQTjtBQUNGO0FvQzk5UFE7RUFISjtJQUlRLHFCQUFBO0VwQ2krUFY7QUFDRjtBb0N2OFBBO0VBUEksaUI5Qm9GWTtBTjYzUGhCO0FvQy84UEk7RUFLSjtJQUpRLGtCOUJrRlU7RU5nNFBoQjtBQUNGOztBb0N4OFBRO0VBZEosaUI5Qm9GWTtBTnM0UGhCO0FvQ3g5UEk7RUFZSTtJQVhBLGtCOUJrRlU7RU55NFBoQjtBQUNGOztBU2wyUFE7RTJCL0dBO0lBZEosaUI5Qm9GWTtFTmc1UGQ7QUFDRjtBb0NuK1BJO0VBWUk7SUFYQSxrQjlCa0ZVO0VObzVQaEI7QUFDRjtBUzcyUFE7RTJCL0dBO0lBZEosaUI5Qm9GWTtFTjA1UGQ7QUFDRjtBb0M3K1BJO0VBWUk7SUFYQSxrQjlCa0ZVO0VOODVQaEI7QUFDRjtBb0M5OVBJO0VBQ0ksYy9CMUVFO0FMMGlRVjtBb0M5OVBRO0VBQ0ksYy9CN0VGO0FMNmlRVjs7QW9DcCtQSTtFQUNJLGMvQjFFRTtBTGlqUVY7QW9DcitQUTtFQUNJLGMvQjdFRjtBTG9qUVY7O0FTcDRQUTtFMkJ2R0o7SUFDSSxjL0IxRUU7RUx5alFSO0VvQzcrUE07SUFDSSxjL0I3RUY7RUw0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UUFBQSxpQkFBQTtZQUFBLFFBQUE7RXJDaXZRTjtBQUNGO0FxQy91UUk7RVRyRkEsMEJBQUE7RUFDQSxpQ0FBQTtFQUNBLDZCQUFBO0VBQ0Esa0NBQUE7RUFDQSxvR0FBQTtFQUFBLDRGQUFBO0VBQUEsb0ZBQUE7RUFBQSw4SEFBQTtFQVNJLGlDQUFBO0VBQ0EsNkJBQUE7RUFDQSw0QkFBQTtBNUIrelFSO0E0QngwUUk7RUFDSSxpQ0FBQTtFQUNBLDZCQUFBO0VBQ0EsNEJBQUE7QTVCMDBRUjtBNEJsMFFRO0VBQ0ksaUNBQUE7RUFDQSw2QkFBQTtFQUNBLGtDQUFBO0E1Qm8wUVo7O0FxQzl2UUE7RUFDSSw0QkFBQTtNQUFBLGlCQUFBO1VBQUEsUUFBQTtBckNpd1FKO0FTMXFRUTtFNEJ4RlI7SUFJUSxnQkFBQTtFckNrd1FOO0FBQ0Y7O0FTL3FRUTtFNEIvRVI7SUFFUSxpQkFBQTtFckNpd1FOO0FBQ0Y7O0FxQzl2UUE7RUFDSSxtQkFBQTtBckNpd1FKO0FTenJRUTtFNEJ6RVI7SUFJUSxtQkFBQTtFckNrd1FOO0FBQ0Y7QXFDaHdRSTtFQUNJLDJCQUFBO0FyQ2t3UVI7QXFDL3ZRSTtFQUNJLHdCQUFBO0FyQ2l3UVI7O0FxQzN2UUk7RUFDSSxpQkFBQTtBckM4dlFSO0FxQzV2UVE7RUFDSSxpREFBQTtVQUFBLHlDQUFBO0FyQzh2UVo7QXFDeHZRWTtFQUNJLGdDQUFBO1VBQUEsd0JBQUE7RUFDQSwwR0FBQTtFQUFBLGtHQUFBO0VBQUEsMEZBQUE7RUFBQSxrTEFBQTtBckMwdlFoQiIsImZpbGUiOiJhcHAuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlc1xuICogVmVyc2lvbiA2LjkuMFxuICogaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cbi8qISBub3JtYWxpemUuY3NzIHY4LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xufVxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xufVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDEwMCU7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICBtYXJnaW46IDA7XG59XG5cbmJ1dHRvbixcbmlucHV0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG5idXR0b24sXG5bdHlwZT1idXR0b25dLFxuW3R5cGU9cmVzZXRdLFxuW3R5cGU9c3VibWl0XSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1idXR0b25dOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9cmVzZXRdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9c3VibWl0XTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9YnV0dG9uXTotbW96LWZvY3VzcmluZyxcblt0eXBlPXJlc2V0XTotbW96LWZvY3VzcmluZyxcblt0eXBlPXN1Ym1pdF06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZGlzcGxheTogdGFibGU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cblt0eXBlPWNoZWNrYm94XSxcblt0eXBlPXJhZGlvXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDA7XG59XG5cblt0eXBlPW51bWJlcl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1udW1iZXJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5bdHlwZT1zZWFyY2hdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xufVxuXG5bdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIGZvbnQ6IGluaGVyaXQ7XG59XG5cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbltkYXRhLXdoYXRpbnRlbnQ9bW91c2VdICosIFtkYXRhLXdoYXRpbnRlbnQ9bW91c2VdICo6Zm9jdXMsXG5bZGF0YS13aGF0aW50ZW50PXRvdWNoXSAqLFxuW2RhdGEtd2hhdGludGVudD10b3VjaF0gKjpmb2N1cyxcbltkYXRhLXdoYXRpbnB1dD1tb3VzZV0gKixcbltkYXRhLXdoYXRpbnB1dD1tb3VzZV0gKjpmb2N1cyxcbltkYXRhLXdoYXRpbnB1dD10b3VjaF0gKixcbltkYXRhLXdoYXRpbnB1dD10b3VjaF0gKjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbltkcmFnZ2FibGU9ZmFsc2VdIHtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xufVxuXG4uZm91bmRhdGlvbi1tcSB7XG4gIGZvbnQtZmFtaWx5OiBcInNtYWxsPTBlbSZtZWRpdW09NDhlbSZsYXJnZT02OC43NWVtJnhsYXJnZT0xMDBlbSZ4eGxhcmdlPTExMi41ZW1cIjtcbn1cblxuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbn1cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDtcbn1cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgZm9udC1mYW1pbHk6IFwiVVJXIEdlb21ldHJpY1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbmltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG59XG5cbnRleHRhcmVhIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4taGVpZ2h0OiA1MHB4O1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG5zZWxlY3Qge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLm1hcF9jYW52YXMgaW1nLFxuLm1hcF9jYW52YXMgZW1iZWQsXG4ubWFwX2NhbnZhcyBvYmplY3QsXG4ubXFhLWRpc3BsYXkgaW1nLFxuLm1xYS1kaXNwbGF5IGVtYmVkLFxuLm1xYS1kaXNwbGF5IG9iamVjdCB7XG4gIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5idXR0b24ge1xuICBwYWRkaW5nOiAwO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBsaW5lLWhlaWdodDogMTtcbiAgY3Vyc29yOiBhdXRvO1xufVxuW2RhdGEtd2hhdGlucHV0PW1vdXNlXSBidXR0b24ge1xuICBvdXRsaW5lOiAwO1xufVxuXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xufVxuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbn1cblxuLmlzLXZpc2libGUge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuXG4uaXMtaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5kaXYsXG5kbCxcbmR0LFxuZGQsXG51bCxcbm9sLFxubGksXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG5wcmUsXG5mb3JtLFxucCxcbmJsb2NrcXVvdGUsXG50aCxcbnRkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG5wIHtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG59XG5cbmVtLFxuaSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbnN0cm9uZyxcbmIge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5oMSwgLmgxLFxuaDIsIC5oMixcbmgzLCAuaDMsXG5oNCwgLmg0LFxuaDUsIC5oNSxcbmg2LCAuaDYge1xuICBmb250LWZhbWlseTogXCJVUlcgR2VvbWV0cmljXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xufVxuaDEgc21hbGwsIC5oMSBzbWFsbCxcbmgyIHNtYWxsLCAuaDIgc21hbGwsXG5oMyBzbWFsbCwgLmgzIHNtYWxsLFxuaDQgc21hbGwsIC5oNCBzbWFsbCxcbmg1IHNtYWxsLCAuaDUgc21hbGwsXG5oNiBzbWFsbCwgLmg2IHNtYWxsIHtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuXG5oMSwgLmgxIHtcbiAgZm9udC1zaXplOiA0cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuaDIsIC5oMiB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuaDMsIC5oMyB7XG4gIGZvbnQtc2l6ZTogMi4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmg0LCAuaDQge1xuICBmb250LXNpemU6IDEuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5oNSwgLmg1IHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuaDYsIC5oNiB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIGgxLCAuaDEge1xuICAgIGZvbnQtc2l6ZTogMTAuNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICBoMiwgLmgyIHtcbiAgICBmb250LXNpemU6IDcuNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIGgzLCAuaDMge1xuICAgIGZvbnQtc2l6ZTogNS4xMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICBoNCwgLmg0IHtcbiAgICBmb250LXNpemU6IDIuMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICBoNSwgLmg1IHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIGg2LCAuaDYge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2OC43NWVtKSB7XG4gIGgxLCAuaDEge1xuICAgIGZvbnQtc2l6ZTogMTcuNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIGgyLCAuaDIge1xuICAgIGZvbnQtc2l6ZTogMTIuNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIGgzLCAuaDMge1xuICAgIGZvbnQtc2l6ZTogOHJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIGg0LCAuaDQge1xuICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgaDUsIC5oNSB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICBoNiwgLmg2IHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5hIHtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbmE6aG92ZXIsIGE6Zm9jdXMge1xuICBjb2xvcjogYmxhY2s7XG59XG5hIGltZyB7XG4gIGJvcmRlcjogMDtcbn1cblxuaHIge1xuICBjbGVhcjogYm90aDtcbiAgbWF4LXdpZHRoOiAxODAwcHg7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAxLjI1cmVtIGF1dG87XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDAwMDA7XG4gIGJvcmRlci1sZWZ0OiAwO1xufVxuXG51bCxcbm9sLFxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5cbmxpIHtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xufVxuXG51bCB7XG4gIG1hcmdpbi1sZWZ0OiAwLjZlbTtcbiAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xufVxuXG5vbCB7XG4gIG1hcmdpbi1sZWZ0OiAwLjZlbTtcbn1cblxudWwgdWwsIHVsIG9sLCBvbCB1bCwgb2wgb2wge1xuICBtYXJnaW4tbGVmdDogMC42ZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cbmRsIGR0IHtcbiAgbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDFlbTtcbiAgcGFkZGluZzogMC41NjI1cmVtIDEuMjVyZW0gMCAxLjE4NzVyZW07XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzAwMDAwMDtcbn1cbmJsb2NrcXVvdGUsIGJsb2NrcXVvdGUgcCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuXG5hYmJyLCBhYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgIzAwMDAwMDtcbiAgY3Vyc29yOiBoZWxwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cblxua2JkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjI1cmVtIDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cblxuLnN1YmhlYWRlciB7XG4gIG1hcmdpbi10b3A6IDAuMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjb2xvcjogIzAwMDAwMDtcbn1cblxuLmxlYWQge1xuICBmb250LXNpemU6IDIycHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG59XG5cbi5zdGF0IHtcbiAgZm9udC1zaXplOiAyLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxucCArIC5zdGF0IHtcbiAgbWFyZ2luLXRvcDogLTFyZW07XG59XG5cbnVsLm5vLWJ1bGxldCwgb2wubm8tYnVsbGV0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5jaXRlLWJsb2NrLCBjaXRlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbn1cbi5jaXRlLWJsb2NrOmJlZm9yZSwgY2l0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIuKAlCBcIjtcbn1cblxuLmNvZGUtaW5saW5lLCBjb2RlIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwMDAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjMxMjVyZW0gMC4wNjI1cmVtO1xufVxuXG4uY29kZS1ibG9jayB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMDAwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogcHJlO1xuICBwYWRkaW5nOiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG59XG5cbi50ZXh0LWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4udGV4dC1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4udGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi50ZXh0LWp1c3RpZnkge1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubWVkaXVtLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuICAubWVkaXVtLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG4gIC5tZWRpdW0tdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAubWVkaXVtLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY4Ljc1ZW0pIHtcbiAgLmxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuICAubGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbiAgLmxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLmxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgfVxufVxuLnNob3ctZm9yLXByaW50IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgcHJpbnQge1xuICAqIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xuICAgIHByaW50LWNvbG9yLWFkanVzdDogZWNvbm9teTtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmhpZGUtZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgdGFibGUuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7XG4gIH1cbiAgdGhlYWQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50O1xuICB9XG4gIHRib2R5LnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDtcbiAgfVxuICB0ci5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7XG4gIH1cbiAgdGQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDtcbiAgfVxuICB0aC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICB9XG4gIGEsXG4gIGE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbiAgYVtocmVmXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7XG4gIH1cbiAgLmlyIGE6YWZ0ZXIsXG4gIGFbaHJlZl49XCJqYXZhc2NyaXB0OlwiXTphZnRlcixcbiAgYVtocmVmXj1cIiNcIl06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbiAgYWJiclt0aXRsZV06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjtcbiAgfVxuICBwcmUsXG4gIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDAwMDA7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICB9XG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7XG4gIH1cbiAgdHIsXG4gIGltZyB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICB9XG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgQHBhZ2Uge1xuICAgIG1hcmdpbjogMC41Y207XG4gIH1cbiAgcCxcbiAgaDIsXG4gIGgzIHtcbiAgICBvcnBoYW5zOiAzO1xuICAgIHdpZG93czogMztcbiAgfVxuICBoMixcbiAgaDMge1xuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkO1xuICB9XG4gIC5wcmludC1icmVhay1pbnNpZGUge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdXRvO1xuICB9XG59XG4uZ3JpZC1jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDE4MDBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmdyaWQtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyLjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAyLjVyZW07XG4gIH1cbn1cbi5ncmlkLWNvbnRhaW5lci5mbHVpZCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmdyaWQtY29udGFpbmVyLmZsdWlkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyLjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAyLjVyZW07XG4gIH1cbn1cbi5ncmlkLWNvbnRhaW5lci5mdWxsIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi5ncmlkLXgge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xufVxuXG4uY2VsbCB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtaW4taGVpZ2h0OiAwO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmNlbGwuYXV0byB7XG4gIGZsZXg6IDEgMSAwO1xufVxuLmNlbGwuc2hyaW5rIHtcbiAgZmxleDogMCAwIGF1dG87XG59XG5cbi5ncmlkLXggPiAuYXV0byB7XG4gIHdpZHRoOiBhdXRvO1xufVxuLmdyaWQteCA+IC5zaHJpbmsge1xuICB3aWR0aDogYXV0bztcbn1cblxuLmdyaWQteCA+IC5zbWFsbC1zaHJpbmssIC5ncmlkLXggPiAuc21hbGwtZnVsbCwgLmdyaWQteCA+IC5zbWFsbC0xLCAuZ3JpZC14ID4gLnNtYWxsLTIsIC5ncmlkLXggPiAuc21hbGwtMywgLmdyaWQteCA+IC5zbWFsbC00LCAuZ3JpZC14ID4gLnNtYWxsLTUsIC5ncmlkLXggPiAuc21hbGwtNiwgLmdyaWQteCA+IC5zbWFsbC03LCAuZ3JpZC14ID4gLnNtYWxsLTgsIC5ncmlkLXggPiAuc21hbGwtOSwgLmdyaWQteCA+IC5zbWFsbC0xMCwgLmdyaWQteCA+IC5zbWFsbC0xMSwgLmdyaWQteCA+IC5zbWFsbC0xMiB7XG4gIGZsZXgtYmFzaXM6IGF1dG87XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5ncmlkLXggPiAubWVkaXVtLXNocmluaywgLmdyaWQteCA+IC5tZWRpdW0tZnVsbCwgLmdyaWQteCA+IC5tZWRpdW0tMSwgLmdyaWQteCA+IC5tZWRpdW0tMiwgLmdyaWQteCA+IC5tZWRpdW0tMywgLmdyaWQteCA+IC5tZWRpdW0tNCwgLmdyaWQteCA+IC5tZWRpdW0tNSwgLmdyaWQteCA+IC5tZWRpdW0tNiwgLmdyaWQteCA+IC5tZWRpdW0tNywgLmdyaWQteCA+IC5tZWRpdW0tOCwgLmdyaWQteCA+IC5tZWRpdW0tOSwgLmdyaWQteCA+IC5tZWRpdW0tMTAsIC5ncmlkLXggPiAubWVkaXVtLTExLCAuZ3JpZC14ID4gLm1lZGl1bS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bztcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY4Ljc1ZW0pIHtcbiAgLmdyaWQteCA+IC5sYXJnZS1zaHJpbmssIC5ncmlkLXggPiAubGFyZ2UtZnVsbCwgLmdyaWQteCA+IC5sYXJnZS0xLCAuZ3JpZC14ID4gLmxhcmdlLTIsIC5ncmlkLXggPiAubGFyZ2UtMywgLmdyaWQteCA+IC5sYXJnZS00LCAuZ3JpZC14ID4gLmxhcmdlLTUsIC5ncmlkLXggPiAubGFyZ2UtNiwgLmdyaWQteCA+IC5sYXJnZS03LCAuZ3JpZC14ID4gLmxhcmdlLTgsIC5ncmlkLXggPiAubGFyZ2UtOSwgLmdyaWQteCA+IC5sYXJnZS0xMCwgLmdyaWQteCA+IC5sYXJnZS0xMSwgLmdyaWQteCA+IC5sYXJnZS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bztcbiAgfVxufVxuLmdyaWQteCA+IC5zbWFsbC0xMiwgLmdyaWQteCA+IC5zbWFsbC0xMSwgLmdyaWQteCA+IC5zbWFsbC0xMCwgLmdyaWQteCA+IC5zbWFsbC05LCAuZ3JpZC14ID4gLnNtYWxsLTgsIC5ncmlkLXggPiAuc21hbGwtNywgLmdyaWQteCA+IC5zbWFsbC02LCAuZ3JpZC14ID4gLnNtYWxsLTUsIC5ncmlkLXggPiAuc21hbGwtNCwgLmdyaWQteCA+IC5zbWFsbC0zLCAuZ3JpZC14ID4gLnNtYWxsLTIsIC5ncmlkLXggPiAuc21hbGwtMSB7XG4gIGZsZXg6IDAgMCBhdXRvO1xufVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEge1xuICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbn1cblxuLmdyaWQteCA+IC5zbWFsbC0yIHtcbiAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xufVxuXG4uZ3JpZC14ID4gLnNtYWxsLTMge1xuICB3aWR0aDogMjUlO1xufVxuXG4uZ3JpZC14ID4gLnNtYWxsLTQge1xuICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG59XG5cbi5ncmlkLXggPiAuc21hbGwtNSB7XG4gIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbn1cblxuLmdyaWQteCA+IC5zbWFsbC02IHtcbiAgd2lkdGg6IDUwJTtcbn1cblxuLmdyaWQteCA+IC5zbWFsbC03IHtcbiAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xufVxuXG4uZ3JpZC14ID4gLnNtYWxsLTgge1xuICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG59XG5cbi5ncmlkLXggPiAuc21hbGwtOSB7XG4gIHdpZHRoOiA3NSU7XG59XG5cbi5ncmlkLXggPiAuc21hbGwtMTAge1xuICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG59XG5cbi5ncmlkLXggPiAuc21hbGwtMTEge1xuICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG59XG5cbi5ncmlkLXggPiAuc21hbGwtMTIge1xuICB3aWR0aDogMTAwJTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmdyaWQteCA+IC5tZWRpdW0tYXV0byB7XG4gICAgZmxleDogMSAxIDA7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTIsIC5ncmlkLXggPiAubWVkaXVtLTExLCAuZ3JpZC14ID4gLm1lZGl1bS0xMCwgLmdyaWQteCA+IC5tZWRpdW0tOSwgLmdyaWQteCA+IC5tZWRpdW0tOCwgLmdyaWQteCA+IC5tZWRpdW0tNywgLmdyaWQteCA+IC5tZWRpdW0tNiwgLmdyaWQteCA+IC5tZWRpdW0tNSwgLmdyaWQteCA+IC5tZWRpdW0tNCwgLmdyaWQteCA+IC5tZWRpdW0tMywgLmdyaWQteCA+IC5tZWRpdW0tMiwgLmdyaWQteCA+IC5tZWRpdW0tMSwgLmdyaWQteCA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY4Ljc1ZW0pIHtcbiAgLmdyaWQteCA+IC5sYXJnZS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMDtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTEyLCAuZ3JpZC14ID4gLmxhcmdlLTExLCAuZ3JpZC14ID4gLmxhcmdlLTEwLCAuZ3JpZC14ID4gLmxhcmdlLTksIC5ncmlkLXggPiAubGFyZ2UtOCwgLmdyaWQteCA+IC5sYXJnZS03LCAuZ3JpZC14ID4gLmxhcmdlLTYsIC5ncmlkLXggPiAubGFyZ2UtNSwgLmdyaWQteCA+IC5sYXJnZS00LCAuZ3JpZC14ID4gLmxhcmdlLTMsIC5ncmlkLXggPiAubGFyZ2UtMiwgLmdyaWQteCA+IC5sYXJnZS0xLCAuZ3JpZC14ID4gLmxhcmdlLXNocmluayB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gIH1cbiAgLmdyaWQteCA+IC5sYXJnZS1zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteCA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteCA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpID4gLmNlbGwge1xuICB3aWR0aDogYXV0bztcbn1cblxuLmdyaWQtbWFyZ2luLXk6bm90KC5ncmlkLXkpID4gLmNlbGwge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5ncmlkLW1hcmdpbi14IHtcbiAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07XG4gIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14IHtcbiAgICBtYXJnaW4tbGVmdDogLTEuODc1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogLTEuODc1cmVtO1xuICB9XG59XG4uZ3JpZC1tYXJnaW4teCA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZ3JpZC1tYXJnaW4teCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMy43NXJlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IDEuODc1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMS44NzVyZW07XG4gIH1cbn1cbi5ncmlkLW1hcmdpbi14ID4gLmF1dG8ge1xuICB3aWR0aDogYXV0bztcbn1cbi5ncmlkLW1hcmdpbi14ID4gLnNocmluayB7XG4gIHdpZHRoOiBhdXRvO1xufVxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMSB7XG4gIHdpZHRoOiBjYWxjKDguMzMzMzMzMzMzMyUgLSAxLjg3NXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0yIHtcbiAgd2lkdGg6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAxLjg3NXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0zIHtcbiAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNCB7XG4gIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMS44NzVyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNSB7XG4gIHdpZHRoOiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMS44NzVyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNiB7XG4gIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTtcbn1cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTcge1xuICB3aWR0aDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDEuODc1cmVtKTtcbn1cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTgge1xuICB3aWR0aDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDEuODc1cmVtKTtcbn1cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTkge1xuICB3aWR0aDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMCB7XG4gIHdpZHRoOiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMS44NzVyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTEge1xuICB3aWR0aDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDEuODc1cmVtKTtcbn1cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEyIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14ID4gLmF1dG8ge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNocmluayB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IGNhbGMoOC4zMzMzMzMzMzMzJSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogY2FsYyg0MS42NjY2NjY2NjY3JSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzMzMzMzMlIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IGNhbGMoNjYuNjY2NjY2NjY2NyUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogY2FsYyg3NSUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IGNhbGMoODMuMzMzMzMzMzMzMyUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IGNhbGMoOTEuNjY2NjY2NjY2NyUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1hdXRvIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IGNhbGMoOC4zMzMzMzMzMzMzJSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IGNhbGMoNDEuNjY2NjY2NjY2NyUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzMzMzMzMlIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY2NjY2NjclIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiBjYWxjKDc1JSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IGNhbGMoODMuMzMzMzMzMzMzMyUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY2NjY2NjclIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMy43NXJlbSk7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2OC43NWVtKSB7XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLWF1dG8ge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLXNocmluayB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IGNhbGMoOC4zMzMzMzMzMzMzJSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogY2FsYyg0MS42NjY2NjY2NjY3JSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzMzMzMzMlIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IGNhbGMoNjYuNjY2NjY2NjY2NyUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogY2FsYyg3NSUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IGNhbGMoODMuMzMzMzMzMzMzMyUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IGNhbGMoOTEuNjY2NjY2NjY2NyUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMuNzVyZW0pO1xuICB9XG59XG5cbi5ncmlkLXBhZGRpbmcteCAuZ3JpZC1wYWRkaW5nLXgge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmdyaWQtcGFkZGluZy14IC5ncmlkLXBhZGRpbmcteCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMS44NzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0xLjg3NXJlbTtcbiAgfVxufVxuLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAuZ3JpZC1wYWRkaW5nLXgge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAuZ3JpZC1wYWRkaW5nLXgge1xuICAgIG1hcmdpbi1yaWdodDogLTEuODc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMS44NzVyZW07XG4gIH1cbn1cbi5ncmlkLXBhZGRpbmcteCA+IC5jZWxsIHtcbiAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5ncmlkLXBhZGRpbmcteCA+IC5jZWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjg3NXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuODc1cmVtO1xuICB9XG59XG5cbi5zbWFsbC11cC0xID4gLmNlbGwge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gIHdpZHRoOiA1MCU7XG59XG5cbi5zbWFsbC11cC0zID4gLmNlbGwge1xuICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG59XG5cbi5zbWFsbC11cC00ID4gLmNlbGwge1xuICB3aWR0aDogMjUlO1xufVxuXG4uc21hbGwtdXAtNSA+IC5jZWxsIHtcbiAgd2lkdGg6IDIwJTtcbn1cblxuLnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbn1cblxuLnNtYWxsLXVwLTcgPiAuY2VsbCB7XG4gIHdpZHRoOiAxNC4yODU3MTQyODU3JTtcbn1cblxuLnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gIHdpZHRoOiAxMi41JTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm1lZGl1bS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5tZWRpdW0tdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5tZWRpdW0tdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLm1lZGl1bS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7XG4gIH1cbiAgLm1lZGl1bS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE0LjI4NTcxNDI4NTclO1xuICB9XG4gIC5tZWRpdW0tdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTIuNSU7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2OC43NWVtKSB7XG4gIC5sYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5sYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLmxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLmxhcmdlLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDIwJTtcbiAgfVxuICAubGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE0LjI4NTcxNDI4NTclO1xuICB9XG4gIC5sYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTtcbiAgfVxufVxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMSA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMiA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0zID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDEuODc1cmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC01ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygyMCUgLSAxLjg3NXJlbSk7XG59XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMS44NzVyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC03ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxNC4yODU3MTQyODU3JSAtIDEuODc1cmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtOCA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjg3NXJlbSk7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MTQyODU3JSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxNDI4NTclIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAzLjc1cmVtKTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY4Ljc1ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxNDI4NTclIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDMuNzVyZW0pO1xuICB9XG59XG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbn1cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbn1cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gIHdpZHRoOiAyNSU7XG59XG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG59XG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG59XG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICB3aWR0aDogNTAlO1xufVxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xufVxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xufVxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgd2lkdGg6IDc1JTtcbn1cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG59XG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xufVxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gIHdpZHRoOiAxMDAlO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjguNzVlbSkge1xuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLnNtYWxsLXBhZGRpbmctY29sbGFwc2Uge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLnNtYWxsLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjguNzVlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm1lZGl1bS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLm1lZGl1bS1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2OC43NWVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY4Ljc1ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjguNzVlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2OC43NWVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjguNzVlbSkge1xuICAubGFyZ2UtcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIC5sYXJnZS1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cbi5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwJTtcbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTAge1xuICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDEuODc1cmVtIC8gMik7XG59XG5cbi5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMzMzMzMyUgKyAxLjg3NXJlbSAvIDIpO1xufVxuXG4uc21hbGwtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogMTYuNjY2NjY2NjY2NyU7XG59XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjY2NjY2NyUgKyAxLjg3NXJlbSAvIDIpO1xufVxuXG4uc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMjUlO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDEuODc1cmVtIC8gMik7XG59XG5cbi5zbWFsbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMzMzMzJTtcbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMzMzMzMzJSArIDEuODc1cmVtIC8gMik7XG59XG5cbi5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NjY2NjY3JTtcbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NjY2NjY3JSArIDEuODc1cmVtIC8gMik7XG59XG5cbi5zbWFsbC1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiA1MCU7XG59XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMS44NzVyZW0gLyAyKTtcbn1cblxuLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMzMzMzMlO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzMzMzMzMlICsgMS44NzVyZW0gLyAyKTtcbn1cblxuLnNtYWxsLW9mZnNldC04IHtcbiAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY2NjclO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY2NjY2NjclICsgMS44NzVyZW0gLyAyKTtcbn1cblxuLnNtYWxsLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTtcbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAxLjg3NXJlbSAvIDIpO1xufVxuXG4uc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzMzMlO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMTAge1xuICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMzMzMzMzJSArIDEuODc1cmVtIC8gMik7XG59XG5cbi5zbWFsbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjY2NyU7XG59XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY2NjY2NjclICsgMS44NzVyZW0gLyAyKTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm1lZGl1bS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAzLjc1cmVtIC8gMik7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzMzMzMzMlICsgMy43NXJlbSAvIDIpO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY2NjY2NjclICsgMy43NXJlbSAvIDIpO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAzLjc1cmVtIC8gMik7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMzMzMzMyUgKyAzLjc1cmVtIC8gMik7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjY2NjY2NyUgKyAzLjc1cmVtIC8gMik7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDMuNzVyZW0gLyAyKTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMzMzMzMzJSArIDMuNzVyZW0gLyAyKTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NjY2NjY3JSArIDMuNzVyZW0gLyAyKTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMy43NXJlbSAvIDIpO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMzMzMzMyUgKyAzLjc1cmVtIC8gMik7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NjY2NjY3JSArIDMuNzVyZW0gLyAyKTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY4Ljc1ZW0pIHtcbiAgLmxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMy43NXJlbSAvIDIpO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMzMzMzMyUgKyAzLjc1cmVtIC8gMik7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY2NjY2NjclICsgMy43NXJlbSAvIDIpO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMy43NXJlbSAvIDIpO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMzMzMzMzJSArIDMuNzVyZW0gLyAyKTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjY2NjY2NyUgKyAzLjc1cmVtIC8gMik7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAzLjc1cmVtIC8gMik7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzMzMzMzMlICsgMy43NXJlbSAvIDIpO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NjY2NjY3JSArIDMuNzVyZW0gLyAyKTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDMuNzVyZW0gLyAyKTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMzMzMzMzJSArIDMuNzVyZW0gLyAyKTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NjY2NjY3JSArIDMuNzVyZW0gLyAyKTtcbiAgfVxufVxuLmdyaWQteSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbn1cbi5ncmlkLXkgPiAuY2VsbCB7XG4gIGhlaWdodDogYXV0bztcbiAgbWF4LWhlaWdodDogbm9uZTtcbn1cbi5ncmlkLXkgPiAuYXV0byB7XG4gIGhlaWdodDogYXV0bztcbn1cbi5ncmlkLXkgPiAuc2hyaW5rIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuLmdyaWQteSA+IC5zbWFsbC1zaHJpbmssIC5ncmlkLXkgPiAuc21hbGwtZnVsbCwgLmdyaWQteSA+IC5zbWFsbC0xLCAuZ3JpZC15ID4gLnNtYWxsLTIsIC5ncmlkLXkgPiAuc21hbGwtMywgLmdyaWQteSA+IC5zbWFsbC00LCAuZ3JpZC15ID4gLnNtYWxsLTUsIC5ncmlkLXkgPiAuc21hbGwtNiwgLmdyaWQteSA+IC5zbWFsbC03LCAuZ3JpZC15ID4gLnNtYWxsLTgsIC5ncmlkLXkgPiAuc21hbGwtOSwgLmdyaWQteSA+IC5zbWFsbC0xMCwgLmdyaWQteSA+IC5zbWFsbC0xMSwgLmdyaWQteSA+IC5zbWFsbC0xMiB7XG4gIGZsZXgtYmFzaXM6IGF1dG87XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZ3JpZC15ID4gLm1lZGl1bS1zaHJpbmssIC5ncmlkLXkgPiAubWVkaXVtLWZ1bGwsIC5ncmlkLXkgPiAubWVkaXVtLTEsIC5ncmlkLXkgPiAubWVkaXVtLTIsIC5ncmlkLXkgPiAubWVkaXVtLTMsIC5ncmlkLXkgPiAubWVkaXVtLTQsIC5ncmlkLXkgPiAubWVkaXVtLTUsIC5ncmlkLXkgPiAubWVkaXVtLTYsIC5ncmlkLXkgPiAubWVkaXVtLTcsIC5ncmlkLXkgPiAubWVkaXVtLTgsIC5ncmlkLXkgPiAubWVkaXVtLTksIC5ncmlkLXkgPiAubWVkaXVtLTEwLCAuZ3JpZC15ID4gLm1lZGl1bS0xMSwgLmdyaWQteSA+IC5tZWRpdW0tMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2OC43NWVtKSB7XG4gIC5ncmlkLXkgPiAubGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLmxhcmdlLWZ1bGwsIC5ncmlkLXkgPiAubGFyZ2UtMSwgLmdyaWQteSA+IC5sYXJnZS0yLCAuZ3JpZC15ID4gLmxhcmdlLTMsIC5ncmlkLXkgPiAubGFyZ2UtNCwgLmdyaWQteSA+IC5sYXJnZS01LCAuZ3JpZC15ID4gLmxhcmdlLTYsIC5ncmlkLXkgPiAubGFyZ2UtNywgLmdyaWQteSA+IC5sYXJnZS04LCAuZ3JpZC15ID4gLmxhcmdlLTksIC5ncmlkLXkgPiAubGFyZ2UtMTAsIC5ncmlkLXkgPiAubGFyZ2UtMTEsIC5ncmlkLXkgPiAubGFyZ2UtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gIH1cbn1cbi5ncmlkLXkgPiAuc21hbGwtMTIsIC5ncmlkLXkgPiAuc21hbGwtMTEsIC5ncmlkLXkgPiAuc21hbGwtMTAsIC5ncmlkLXkgPiAuc21hbGwtOSwgLmdyaWQteSA+IC5zbWFsbC04LCAuZ3JpZC15ID4gLnNtYWxsLTcsIC5ncmlkLXkgPiAuc21hbGwtNiwgLmdyaWQteSA+IC5zbWFsbC01LCAuZ3JpZC15ID4gLnNtYWxsLTQsIC5ncmlkLXkgPiAuc21hbGwtMywgLmdyaWQteSA+IC5zbWFsbC0yLCAuZ3JpZC15ID4gLnNtYWxsLTEge1xuICBmbGV4OiAwIDAgYXV0bztcbn1cbi5ncmlkLXkgPiAuc21hbGwtMSB7XG4gIGhlaWdodDogOC4zMzMzMzMzMzMzJTtcbn1cbi5ncmlkLXkgPiAuc21hbGwtMiB7XG4gIGhlaWdodDogMTYuNjY2NjY2NjY2NyU7XG59XG4uZ3JpZC15ID4gLnNtYWxsLTMge1xuICBoZWlnaHQ6IDI1JTtcbn1cbi5ncmlkLXkgPiAuc21hbGwtNCB7XG4gIGhlaWdodDogMzMuMzMzMzMzMzMzMyU7XG59XG4uZ3JpZC15ID4gLnNtYWxsLTUge1xuICBoZWlnaHQ6IDQxLjY2NjY2NjY2NjclO1xufVxuLmdyaWQteSA+IC5zbWFsbC02IHtcbiAgaGVpZ2h0OiA1MCU7XG59XG4uZ3JpZC15ID4gLnNtYWxsLTcge1xuICBoZWlnaHQ6IDU4LjMzMzMzMzMzMzMlO1xufVxuLmdyaWQteSA+IC5zbWFsbC04IHtcbiAgaGVpZ2h0OiA2Ni42NjY2NjY2NjY3JTtcbn1cbi5ncmlkLXkgPiAuc21hbGwtOSB7XG4gIGhlaWdodDogNzUlO1xufVxuLmdyaWQteSA+IC5zbWFsbC0xMCB7XG4gIGhlaWdodDogODMuMzMzMzMzMzMzMyU7XG59XG4uZ3JpZC15ID4gLnNtYWxsLTExIHtcbiAgaGVpZ2h0OiA5MS42NjY2NjY2NjY3JTtcbn1cbi5ncmlkLXkgPiAuc21hbGwtMTIge1xuICBoZWlnaHQ6IDEwMCU7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZ3JpZC15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tMTIsIC5ncmlkLXkgPiAubWVkaXVtLTExLCAuZ3JpZC15ID4gLm1lZGl1bS0xMCwgLmdyaWQteSA+IC5tZWRpdW0tOSwgLmdyaWQteSA+IC5tZWRpdW0tOCwgLmdyaWQteSA+IC5tZWRpdW0tNywgLmdyaWQteSA+IC5tZWRpdW0tNiwgLmdyaWQteSA+IC5tZWRpdW0tNSwgLmdyaWQteSA+IC5tZWRpdW0tNCwgLmdyaWQteSA+IC5tZWRpdW0tMywgLmdyaWQteSA+IC5tZWRpdW0tMiwgLmdyaWQteSA+IC5tZWRpdW0tMSwgLmdyaWQteSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS0xIHtcbiAgICBoZWlnaHQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tMiB7XG4gICAgaGVpZ2h0OiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS0zIHtcbiAgICBoZWlnaHQ6IDI1JTtcbiAgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS00IHtcbiAgICBoZWlnaHQ6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLTUge1xuICAgIGhlaWdodDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tNiB7XG4gICAgaGVpZ2h0OiA1MCU7XG4gIH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tNyB7XG4gICAgaGVpZ2h0OiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS04IHtcbiAgICBoZWlnaHQ6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLTkge1xuICAgIGhlaWdodDogNzUlO1xuICB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLTEwIHtcbiAgICBoZWlnaHQ6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLTExIHtcbiAgICBoZWlnaHQ6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLTEyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2OC43NWVtKSB7XG4gIC5ncmlkLXkgPiAubGFyZ2UtYXV0byB7XG4gICAgZmxleDogMSAxIDA7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtMTIsIC5ncmlkLXkgPiAubGFyZ2UtMTEsIC5ncmlkLXkgPiAubGFyZ2UtMTAsIC5ncmlkLXkgPiAubGFyZ2UtOSwgLmdyaWQteSA+IC5sYXJnZS04LCAuZ3JpZC15ID4gLmxhcmdlLTcsIC5ncmlkLXkgPiAubGFyZ2UtNiwgLmdyaWQteSA+IC5sYXJnZS01LCAuZ3JpZC15ID4gLmxhcmdlLTQsIC5ncmlkLXkgPiAubGFyZ2UtMywgLmdyaWQteSA+IC5sYXJnZS0yLCAuZ3JpZC15ID4gLmxhcmdlLTEsIC5ncmlkLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgfVxuICAuZ3JpZC15ID4gLmxhcmdlLXNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtMSB7XG4gICAgaGVpZ2h0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtMiB7XG4gICAgaGVpZ2h0OiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC15ID4gLmxhcmdlLTMge1xuICAgIGhlaWdodDogMjUlO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtNCB7XG4gICAgaGVpZ2h0OiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC15ID4gLmxhcmdlLTUge1xuICAgIGhlaWdodDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteSA+IC5sYXJnZS02IHtcbiAgICBoZWlnaHQ6IDUwJTtcbiAgfVxuICAuZ3JpZC15ID4gLmxhcmdlLTcge1xuICAgIGhlaWdodDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteSA+IC5sYXJnZS04IHtcbiAgICBoZWlnaHQ6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtOSB7XG4gICAgaGVpZ2h0OiA3NSU7XG4gIH1cbiAgLmdyaWQteSA+IC5sYXJnZS0xMCB7XG4gICAgaGVpZ2h0OiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC15ID4gLmxhcmdlLTExIHtcbiAgICBoZWlnaHQ6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtMTIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG4uZ3JpZC1wYWRkaW5nLXkgLmdyaWQtcGFkZGluZy15IHtcbiAgbWFyZ2luLXRvcDogLTAuOTM3NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTAuOTM3NXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5ncmlkLXBhZGRpbmcteSAuZ3JpZC1wYWRkaW5nLXkge1xuICAgIG1hcmdpbi10b3A6IC0xLjg3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAtMS44NzVyZW07XG4gIH1cbn1cbi5ncmlkLXBhZGRpbmcteSA+IC5jZWxsIHtcbiAgcGFkZGluZy10b3A6IDAuOTM3NXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuOTM3NXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5ncmlkLXBhZGRpbmcteSA+IC5jZWxsIHtcbiAgICBwYWRkaW5nLXRvcDogMS44NzVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDEuODc1cmVtO1xuICB9XG59XG5cbi5ncmlkLW1hcmdpbi15IHtcbiAgbWFyZ2luLXRvcDogLTAuOTM3NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTAuOTM3NXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15IHtcbiAgICBtYXJnaW4tdG9wOiAtMS44NzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogLTEuODc1cmVtO1xuICB9XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gIG1hcmdpbi10b3A6IDAuOTM3NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAzLjc1cmVtKTtcbiAgICBtYXJnaW4tdG9wOiAxLjg3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTtcbiAgfVxufVxuLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7XG4gIGhlaWdodDogYXV0bztcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gIGhlaWdodDogYXV0bztcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICBoZWlnaHQ6IGNhbGMoOC4zMzMzMzMzMzMzJSAtIDEuODc1cmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAxLjg3NXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAxLjg3NXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMS44NzVyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzMzMzMzMlIC0gMS44NzVyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gIGhlaWdodDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDEuODc1cmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMzMzMzMyUgLSAxLjg3NXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gIGhlaWdodDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDEuODc1cmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMzMzMzMyUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLXNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMzMzMzMzJSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzMzMzMzMlIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMzMzMzMyUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAzLjc1cmVtKTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY4Ljc1ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLXNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzMzMzMzMlIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTUge1xuICAgIGhlaWdodDogY2FsYyg0MS42NjY2NjY2NjY3JSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMzMzMzMyUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjY2NjY2NyUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMzMzMzMzJSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjY2NjY2NyUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAzLjc1cmVtKTtcbiAgfVxufVxuXG4uZ3JpZC1mcmFtZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB3aWR0aDogMTAwdnc7XG59XG5cbi5jZWxsIC5ncmlkLWZyYW1lIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jZWxsLWJsb2NrIHtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xufVxuXG4uY2VsbC1ibG9jay15IHtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbn1cblxuLmNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTtcbn1cbi5jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB3aWR0aDogMTAwdnc7XG4gIH1cbiAgLmNlbGwgLm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAubWVkaXVtLWNlbGwtYmxvY2sge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbiAgfVxuICAubWVkaXVtLWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgfVxuICAubWVkaXVtLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxuICAubWVkaXVtLWNlbGwtYmxvY2steSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjguNzVlbSkge1xuICAubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICB9XG4gIC5jZWxsIC5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAubGFyZ2UtY2VsbC1ibG9jayB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xuICB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH1cbiAgLmxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxuICAubGFyZ2UtY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG4gIH1cbn1cbi5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBoZWlnaHQ6IDEwMHZoO1xuICB3aWR0aDogYXV0bztcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5ncmlkLXkubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2OC43NWVtKSB7XG4gIC5ncmlkLXkubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4uY2VsbCAuZ3JpZC15LmdyaWQtZnJhbWUge1xuICBoZWlnaHQ6IDEwMCU7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuY2VsbCAuZ3JpZC15Lm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2OC43NWVtKSB7XG4gIC5jZWxsIC5ncmlkLXkubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbi5ncmlkLW1hcmdpbi15IHtcbiAgbWFyZ2luLXRvcDogLTAuOTM3NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTAuOTM3NXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15IHtcbiAgICBtYXJnaW4tdG9wOiAtMS44NzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogLTEuODc1cmVtO1xuICB9XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gIG1hcmdpbi10b3A6IDAuOTM3NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAzLjc1cmVtKTtcbiAgICBtYXJnaW4tdG9wOiAxLjg3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTtcbiAgfVxufVxuLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7XG4gIGhlaWdodDogYXV0bztcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gIGhlaWdodDogYXV0bztcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICBoZWlnaHQ6IGNhbGMoOC4zMzMzMzMzMzMzJSAtIDEuODc1cmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAxLjg3NXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAxLjg3NXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMS44NzVyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzMzMzMzMlIC0gMS44NzVyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gIGhlaWdodDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDEuODc1cmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMzMzMzMyUgLSAxLjg3NXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gIGhlaWdodDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDEuODc1cmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMzMzMzMyUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLXNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMzMzMzMzJSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzMzMzMzMlIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMzMzMzMyUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAzLjc1cmVtKTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY4Ljc1ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLXNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzMzMzMzMlIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTUge1xuICAgIGhlaWdodDogY2FsYyg0MS42NjY2NjY2NjY3JSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMzMzMzMyUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjY2NjY2NyUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMzMzMzMzJSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjY2NjY2NyUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAzLjc1cmVtKTtcbiAgfVxufVxuXG4uZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS44NzVyZW0pO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMy43NXJlbSk7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2OC43NWVtKSB7XG4gIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDMuNzVyZW0pO1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15Lm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAzLjc1cmVtKTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY4Ljc1ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMy43NXJlbSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgcHVsc2VEb3duIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgcHVsc2VMZWZ0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHB1bHNlUmlnaHQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmbG9hdCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSByb3RhdGUoMGRlZyk7XG4gIH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE1cHgpIHJvdGF0ZSgxZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSByb3RhdGUoMGRlZyk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc2xpZGVSaWdodCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKHZhcigtLW9mZnNldCwgMGVtKSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgbGV0dGVyLXJldmVhbCB7XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxufVxuLm1hcmdpbi01IHtcbiAgbWFyZ2luOiA1cHggIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi01LXZlcnRpY2FsIHtcbiAgbWFyZ2luLXRvcDogNXB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDVweCAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLTUtaG9yaXpvbnRhbCB7XG4gIG1hcmdpbi1sZWZ0OiA1cHggIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiA1cHggIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi01LWxlZnQge1xuICBtYXJnaW4tbGVmdDogNXB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tNS1yaWdodCB7XG4gIG1hcmdpbi1yaWdodDogNXB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tNS10b3Age1xuICBtYXJnaW4tdG9wOiA1cHggIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi01LWJvdHRvbSB7XG4gIG1hcmdpbi1ib3R0b206IDVweCAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLTgge1xuICBtYXJnaW46IDhweCAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLTgtdmVydGljYWwge1xuICBtYXJnaW4tdG9wOiA4cHggIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogOHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tOC1ob3Jpem9udGFsIHtcbiAgbWFyZ2luLWxlZnQ6IDhweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IDhweCAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLTgtbGVmdCB7XG4gIG1hcmdpbi1sZWZ0OiA4cHggIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi04LXJpZ2h0IHtcbiAgbWFyZ2luLXJpZ2h0OiA4cHggIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi04LXRvcCB7XG4gIG1hcmdpbi10b3A6IDhweCAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLTgtYm90dG9tIHtcbiAgbWFyZ2luLWJvdHRvbTogOHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tMTIge1xuICBtYXJnaW46IDEycHggIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi0xMi12ZXJ0aWNhbCB7XG4gIG1hcmdpbi10b3A6IDEycHggIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMTJweCAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLTEyLWhvcml6b250YWwge1xuICBtYXJnaW4tbGVmdDogMTJweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IDEycHggIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi0xMi1sZWZ0IHtcbiAgbWFyZ2luLWxlZnQ6IDEycHggIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi0xMi1yaWdodCB7XG4gIG1hcmdpbi1yaWdodDogMTJweCAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLTEyLXRvcCB7XG4gIG1hcmdpbi10b3A6IDEycHggIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi0xMi1ib3R0b20ge1xuICBtYXJnaW4tYm90dG9tOiAxMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tNjAge1xuICBtYXJnaW46IDYwcHggIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi02MC12ZXJ0aWNhbCB7XG4gIG1hcmdpbi10b3A6IDYwcHggIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogNjBweCAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLTYwLWhvcml6b250YWwge1xuICBtYXJnaW4tbGVmdDogNjBweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IDYwcHggIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi02MC1sZWZ0IHtcbiAgbWFyZ2luLWxlZnQ6IDYwcHggIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi02MC1yaWdodCB7XG4gIG1hcmdpbi1yaWdodDogNjBweCAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLTYwLXRvcCB7XG4gIG1hcmdpbi10b3A6IDYwcHggIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi02MC1ib3R0b20ge1xuICBtYXJnaW4tYm90dG9tOiA2MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4teHhzbWFsbCB7XG4gIG1hcmdpbjogMTZweCAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLXh4c21hbGwtdmVydGljYWwge1xuICBtYXJnaW4tdG9wOiAxNnB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDE2cHggIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi14eHNtYWxsLWhvcml6b250YWwge1xuICBtYXJnaW4tbGVmdDogMTZweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IDE2cHggIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi14eHNtYWxsLWxlZnQge1xuICBtYXJnaW4tbGVmdDogMTZweCAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLXh4c21hbGwtcmlnaHQge1xuICBtYXJnaW4tcmlnaHQ6IDE2cHggIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi14eHNtYWxsLXRvcCB7XG4gIG1hcmdpbi10b3A6IDE2cHggIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi14eHNtYWxsLWJvdHRvbSB7XG4gIG1hcmdpbi1ib3R0b206IDE2cHggIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi14c21hbGwge1xuICBtYXJnaW46IDIwcHggIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi14c21hbGwtdmVydGljYWwge1xuICBtYXJnaW4tdG9wOiAyMHB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDIwcHggIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi14c21hbGwtaG9yaXpvbnRhbCB7XG4gIG1hcmdpbi1sZWZ0OiAyMHB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogMjBweCAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLXhzbWFsbC1sZWZ0IHtcbiAgbWFyZ2luLWxlZnQ6IDIwcHggIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi14c21hbGwtcmlnaHQge1xuICBtYXJnaW4tcmlnaHQ6IDIwcHggIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi14c21hbGwtdG9wIHtcbiAgbWFyZ2luLXRvcDogMjBweCAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLXhzbWFsbC1ib3R0b20ge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tc21hbGwge1xuICBtYXJnaW46IDQwcHggIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi1zbWFsbC12ZXJ0aWNhbCB7XG4gIG1hcmdpbi10b3A6IDQwcHggIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogNDBweCAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLXNtYWxsLWhvcml6b250YWwge1xuICBtYXJnaW4tbGVmdDogNDBweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IDQwcHggIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi1zbWFsbC1sZWZ0IHtcbiAgbWFyZ2luLWxlZnQ6IDQwcHggIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi1zbWFsbC1yaWdodCB7XG4gIG1hcmdpbi1yaWdodDogNDBweCAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLXNtYWxsLXRvcCB7XG4gIG1hcmdpbi10b3A6IDQwcHggIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi1zbWFsbC1ib3R0b20ge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tbWVkaXVtIHtcbiAgbWFyZ2luOiA1MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tbWVkaXVtLXZlcnRpY2FsIHtcbiAgbWFyZ2luLXRvcDogNTBweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiA1MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tbWVkaXVtLWhvcml6b250YWwge1xuICBtYXJnaW4tbGVmdDogNTBweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IDUwcHggIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi1tZWRpdW0tbGVmdCB7XG4gIG1hcmdpbi1sZWZ0OiA1MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tbWVkaXVtLXJpZ2h0IHtcbiAgbWFyZ2luLXJpZ2h0OiA1MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tbWVkaXVtLXRvcCB7XG4gIG1hcmdpbi10b3A6IDUwcHggIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi1tZWRpdW0tYm90dG9tIHtcbiAgbWFyZ2luLWJvdHRvbTogNTBweCAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLWxhcmdlIHtcbiAgbWFyZ2luOiA4MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tbGFyZ2UtdmVydGljYWwge1xuICBtYXJnaW4tdG9wOiA4MHB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDgwcHggIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi1sYXJnZS1ob3Jpem9udGFsIHtcbiAgbWFyZ2luLWxlZnQ6IDgwcHggIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiA4MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tbGFyZ2UtbGVmdCB7XG4gIG1hcmdpbi1sZWZ0OiA4MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tbGFyZ2UtcmlnaHQge1xuICBtYXJnaW4tcmlnaHQ6IDgwcHggIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi1sYXJnZS10b3Age1xuICBtYXJnaW4tdG9wOiA4MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tbGFyZ2UtYm90dG9tIHtcbiAgbWFyZ2luLWJvdHRvbTogODBweCAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLXhsYXJnZSB7XG4gIG1hcmdpbjogMTEwcHggIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi14bGFyZ2UtdmVydGljYWwge1xuICBtYXJnaW4tdG9wOiAxMTBweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAxMTBweCAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLXhsYXJnZS1ob3Jpem9udGFsIHtcbiAgbWFyZ2luLWxlZnQ6IDExMHB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogMTEwcHggIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi14bGFyZ2UtbGVmdCB7XG4gIG1hcmdpbi1sZWZ0OiAxMTBweCAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLXhsYXJnZS1yaWdodCB7XG4gIG1hcmdpbi1yaWdodDogMTEwcHggIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi14bGFyZ2UtdG9wIHtcbiAgbWFyZ2luLXRvcDogMTEwcHggIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi14bGFyZ2UtYm90dG9tIHtcbiAgbWFyZ2luLWJvdHRvbTogMTEwcHggIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi14eGxhcmdlIHtcbiAgbWFyZ2luOiAyMDBweCAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLXh4bGFyZ2UtdmVydGljYWwge1xuICBtYXJnaW4tdG9wOiAyMDBweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAyMDBweCAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLXh4bGFyZ2UtaG9yaXpvbnRhbCB7XG4gIG1hcmdpbi1sZWZ0OiAyMDBweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IDIwMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4teHhsYXJnZS1sZWZ0IHtcbiAgbWFyZ2luLWxlZnQ6IDIwMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4teHhsYXJnZS1yaWdodCB7XG4gIG1hcmdpbi1yaWdodDogMjAwcHggIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi14eGxhcmdlLXRvcCB7XG4gIG1hcmdpbi10b3A6IDIwMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4teHhsYXJnZS1ib3R0b20ge1xuICBtYXJnaW4tYm90dG9tOiAyMDBweCAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLTMwIHtcbiAgbWFyZ2luOiAzMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tMzAtdmVydGljYWwge1xuICBtYXJnaW4tdG9wOiAzMHB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDMwcHggIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi0zMC1ob3Jpem9udGFsIHtcbiAgbWFyZ2luLWxlZnQ6IDMwcHggIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tMzAtbGVmdCB7XG4gIG1hcmdpbi1sZWZ0OiAzMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tMzAtcmlnaHQge1xuICBtYXJnaW4tcmlnaHQ6IDMwcHggIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi0zMC10b3Age1xuICBtYXJnaW4tdG9wOiAzMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tMzAtYm90dG9tIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweCAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLWF1dG8ge1xuICBtYXJnaW46IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi1hdXRvLXZlcnRpY2FsIHtcbiAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tYXV0by1ob3Jpem9udGFsIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tYXV0by1sZWZ0IHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi1hdXRvLXJpZ2h0IHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tYXV0by10b3Age1xuICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tYXV0by1ib3R0b20ge1xuICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45OTg3NWVtKSB7XG4gIC5zbWFsbC1vbmx5LW1hcmdpbi14eHNtYWxsIHtcbiAgICBtYXJnaW46IDE2cHggIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1tYXJnaW4teHhzbWFsbC12ZXJ0aWNhbCB7XG4gICAgbWFyZ2luLXRvcDogMTZweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHggIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1tYXJnaW4teHhzbWFsbC1ob3Jpem9udGFsIHtcbiAgICBtYXJnaW4tbGVmdDogMTZweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMTZweCAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LW1hcmdpbi14eHNtYWxsLWxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiAxNnB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLW9ubHktbWFyZ2luLXh4c21hbGwtcmlnaHQge1xuICAgIG1hcmdpbi1yaWdodDogMTZweCAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LW1hcmdpbi14eHNtYWxsLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogMTZweCAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LW1hcmdpbi14eHNtYWxsLWJvdHRvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweCAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LW1hcmdpbi14c21hbGwge1xuICAgIG1hcmdpbjogMjBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LW1hcmdpbi14c21hbGwtdmVydGljYWwge1xuICAgIG1hcmdpbi10b3A6IDIwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLW9ubHktbWFyZ2luLXhzbWFsbC1ob3Jpem9udGFsIHtcbiAgICBtYXJnaW4tbGVmdDogMjBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMjBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LW1hcmdpbi14c21hbGwtbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHggIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1tYXJnaW4teHNtYWxsLXJpZ2h0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHggIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1tYXJnaW4teHNtYWxsLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogMjBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LW1hcmdpbi14c21hbGwtYm90dG9tIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLW9ubHktbWFyZ2luLXNtYWxsIHtcbiAgICBtYXJnaW46IDQwcHggIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1tYXJnaW4tc21hbGwtdmVydGljYWwge1xuICAgIG1hcmdpbi10b3A6IDQwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLW9ubHktbWFyZ2luLXNtYWxsLWhvcml6b250YWwge1xuICAgIG1hcmdpbi1sZWZ0OiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLW9ubHktbWFyZ2luLXNtYWxsLWxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiA0MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLW9ubHktbWFyZ2luLXNtYWxsLXJpZ2h0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1tYXJnaW4tc21hbGwtdG9wIHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLW9ubHktbWFyZ2luLXNtYWxsLWJvdHRvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LW1hcmdpbi1tZWRpdW0ge1xuICAgIG1hcmdpbjogNTBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LW1hcmdpbi1tZWRpdW0tdmVydGljYWwge1xuICAgIG1hcmdpbi10b3A6IDUwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLW9ubHktbWFyZ2luLW1lZGl1bS1ob3Jpem9udGFsIHtcbiAgICBtYXJnaW4tbGVmdDogNTBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogNTBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LW1hcmdpbi1tZWRpdW0tbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwcHggIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1tYXJnaW4tbWVkaXVtLXJpZ2h0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDUwcHggIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1tYXJnaW4tbWVkaXVtLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogNTBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LW1hcmdpbi1tZWRpdW0tYm90dG9tIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLW9ubHktbWFyZ2luLWxhcmdlIHtcbiAgICBtYXJnaW46IDgwcHggIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1tYXJnaW4tbGFyZ2UtdmVydGljYWwge1xuICAgIG1hcmdpbi10b3A6IDgwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiA4MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLW9ubHktbWFyZ2luLWxhcmdlLWhvcml6b250YWwge1xuICAgIG1hcmdpbi1sZWZ0OiA4MHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiA4MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLW9ubHktbWFyZ2luLWxhcmdlLWxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiA4MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLW9ubHktbWFyZ2luLWxhcmdlLXJpZ2h0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDgwcHggIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1tYXJnaW4tbGFyZ2UtdG9wIHtcbiAgICBtYXJnaW4tdG9wOiA4MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLW9ubHktbWFyZ2luLWxhcmdlLWJvdHRvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogODBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LW1hcmdpbi14bGFyZ2Uge1xuICAgIG1hcmdpbjogMTEwcHggIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1tYXJnaW4teGxhcmdlLXZlcnRpY2FsIHtcbiAgICBtYXJnaW4tdG9wOiAxMTBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDExMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLW9ubHktbWFyZ2luLXhsYXJnZS1ob3Jpem9udGFsIHtcbiAgICBtYXJnaW4tbGVmdDogMTEwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDExMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLW9ubHktbWFyZ2luLXhsYXJnZS1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogMTEwcHggIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1tYXJnaW4teGxhcmdlLXJpZ2h0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDExMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLW9ubHktbWFyZ2luLXhsYXJnZS10b3Age1xuICAgIG1hcmdpbi10b3A6IDExMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLW9ubHktbWFyZ2luLXhsYXJnZS1ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IDExMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLW9ubHktbWFyZ2luLXh4bGFyZ2Uge1xuICAgIG1hcmdpbjogMjAwcHggIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1tYXJnaW4teHhsYXJnZS12ZXJ0aWNhbCB7XG4gICAgbWFyZ2luLXRvcDogMjAwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMDBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LW1hcmdpbi14eGxhcmdlLWhvcml6b250YWwge1xuICAgIG1hcmdpbi1sZWZ0OiAyMDBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMjAwcHggIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1tYXJnaW4teHhsYXJnZS1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogMjAwcHggIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1tYXJnaW4teHhsYXJnZS1yaWdodCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMDBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LW1hcmdpbi14eGxhcmdlLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogMjAwcHggIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1tYXJnaW4teHhsYXJnZS1ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IDIwMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLW9ubHktbWFyZ2luLTMwIHtcbiAgICBtYXJnaW46IDMwcHggIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1tYXJnaW4tMzAtdmVydGljYWwge1xuICAgIG1hcmdpbi10b3A6IDMwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLW9ubHktbWFyZ2luLTMwLWhvcml6b250YWwge1xuICAgIG1hcmdpbi1sZWZ0OiAzMHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLW9ubHktbWFyZ2luLTMwLWxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLW9ubHktbWFyZ2luLTMwLXJpZ2h0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDMwcHggIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1tYXJnaW4tMzAtdG9wIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLW9ubHktbWFyZ2luLTMwLWJvdHRvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LW1hcmdpbi1hdXRvIHtcbiAgICBtYXJnaW46IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1tYXJnaW4tYXV0by12ZXJ0aWNhbCB7XG4gICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1tYXJnaW4tYXV0by1ob3Jpem9udGFsIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LW1hcmdpbi1hdXRvLWxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLW9ubHktbWFyZ2luLWF1dG8tcmlnaHQge1xuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LW1hcmdpbi1hdXRvLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LW1hcmdpbi1hdXRvLWJvdHRvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubWVkaXVtLW1hcmdpbi14eHNtYWxsIHtcbiAgICBtYXJnaW46IDE2cHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi14eHNtYWxsLXZlcnRpY2FsIHtcbiAgICBtYXJnaW4tdG9wOiAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLXh4c21hbGwtaG9yaXpvbnRhbCB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2cHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDE2cHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi14eHNtYWxsLWxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiAxNnB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4teHhzbWFsbC1yaWdodCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNnB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4teHhzbWFsbC10b3Age1xuICAgIG1hcmdpbi10b3A6IDE2cHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi14eHNtYWxsLWJvdHRvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLXhzbWFsbCB7XG4gICAgbWFyZ2luOiAyMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4teHNtYWxsLXZlcnRpY2FsIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLXhzbWFsbC1ob3Jpem9udGFsIHtcbiAgICBtYXJnaW4tbGVmdDogMjBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMjBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLXhzbWFsbC1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogMjBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLXhzbWFsbC1yaWdodCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4teHNtYWxsLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogMjBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLXhzbWFsbC1ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1zbWFsbCB7XG4gICAgbWFyZ2luOiA0MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tc21hbGwtdmVydGljYWwge1xuICAgIG1hcmdpbi10b3A6IDQwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tc21hbGwtaG9yaXpvbnRhbCB7XG4gICAgbWFyZ2luLWxlZnQ6IDQwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1zbWFsbC1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogNDBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLXNtYWxsLXJpZ2h0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1zbWFsbC10b3Age1xuICAgIG1hcmdpbi10b3A6IDQwcHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1zbWFsbC1ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1tZWRpdW0ge1xuICAgIG1hcmdpbjogNTBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLW1lZGl1bS12ZXJ0aWNhbCB7XG4gICAgbWFyZ2luLXRvcDogNTBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1tZWRpdW0taG9yaXpvbnRhbCB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDUwcHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1tZWRpdW0tbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwcHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1tZWRpdW0tcmlnaHQge1xuICAgIG1hcmdpbi1yaWdodDogNTBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLW1lZGl1bS10b3Age1xuICAgIG1hcmdpbi10b3A6IDUwcHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1tZWRpdW0tYm90dG9tIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tbGFyZ2Uge1xuICAgIG1hcmdpbjogODBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWxhcmdlLXZlcnRpY2FsIHtcbiAgICBtYXJnaW4tdG9wOiA4MHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogODBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWxhcmdlLWhvcml6b250YWwge1xuICAgIG1hcmdpbi1sZWZ0OiA4MHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiA4MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tbGFyZ2UtbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgwcHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1sYXJnZS1yaWdodCB7XG4gICAgbWFyZ2luLXJpZ2h0OiA4MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tbGFyZ2UtdG9wIHtcbiAgICBtYXJnaW4tdG9wOiA4MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tbGFyZ2UtYm90dG9tIHtcbiAgICBtYXJnaW4tYm90dG9tOiA4MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4teGxhcmdlIHtcbiAgICBtYXJnaW46IDExMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4teGxhcmdlLXZlcnRpY2FsIHtcbiAgICBtYXJnaW4tdG9wOiAxMTBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDExMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4teGxhcmdlLWhvcml6b250YWwge1xuICAgIG1hcmdpbi1sZWZ0OiAxMTBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMTEwcHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi14bGFyZ2UtbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDExMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4teGxhcmdlLXJpZ2h0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDExMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4teGxhcmdlLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogMTEwcHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi14bGFyZ2UtYm90dG9tIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMTBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLXh4bGFyZ2Uge1xuICAgIG1hcmdpbjogMjAwcHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi14eGxhcmdlLXZlcnRpY2FsIHtcbiAgICBtYXJnaW4tdG9wOiAyMDBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDIwMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4teHhsYXJnZS1ob3Jpem9udGFsIHtcbiAgICBtYXJnaW4tbGVmdDogMjAwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4teHhsYXJnZS1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogMjAwcHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi14eGxhcmdlLXJpZ2h0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4teHhsYXJnZS10b3Age1xuICAgIG1hcmdpbi10b3A6IDIwMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4teHhsYXJnZS1ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IDIwMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tMzAge1xuICAgIG1hcmdpbjogMzBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLTMwLXZlcnRpY2FsIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLTMwLWhvcml6b250YWwge1xuICAgIG1hcmdpbi1sZWZ0OiAzMHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tMzAtbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMwcHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi0zMC1yaWdodCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tMzAtdG9wIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tMzAtYm90dG9tIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tYXV0byB7XG4gICAgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tYXV0by12ZXJ0aWNhbCB7XG4gICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1hdXRvLWhvcml6b250YWwge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tYXV0by1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWF1dG8tcmlnaHQge1xuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWF1dG8tdG9wIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tYXV0by1ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2OC43NDg3NWVtKSB7XG4gIC5tZWRpdW0tb25seS1tYXJnaW4teHhzbWFsbCB7XG4gICAgbWFyZ2luOiAxNnB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LW1hcmdpbi14eHNtYWxsLXZlcnRpY2FsIHtcbiAgICBtYXJnaW4tdG9wOiAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS1tYXJnaW4teHhzbWFsbC1ob3Jpem9udGFsIHtcbiAgICBtYXJnaW4tbGVmdDogMTZweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMTZweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS1tYXJnaW4teHhzbWFsbC1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogMTZweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS1tYXJnaW4teHhzbWFsbC1yaWdodCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNnB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LW1hcmdpbi14eHNtYWxsLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogMTZweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS1tYXJnaW4teHhzbWFsbC1ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9ubHktbWFyZ2luLXhzbWFsbCB7XG4gICAgbWFyZ2luOiAyMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LW1hcmdpbi14c21hbGwtdmVydGljYWwge1xuICAgIG1hcmdpbi10b3A6IDIwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LW1hcmdpbi14c21hbGwtaG9yaXpvbnRhbCB7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9ubHktbWFyZ2luLXhzbWFsbC1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogMjBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS1tYXJnaW4teHNtYWxsLXJpZ2h0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9ubHktbWFyZ2luLXhzbWFsbC10b3Age1xuICAgIG1hcmdpbi10b3A6IDIwcHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9ubHktbWFyZ2luLXhzbWFsbC1ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9ubHktbWFyZ2luLXNtYWxsIHtcbiAgICBtYXJnaW46IDQwcHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9ubHktbWFyZ2luLXNtYWxsLXZlcnRpY2FsIHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS1tYXJnaW4tc21hbGwtaG9yaXpvbnRhbCB7XG4gICAgbWFyZ2luLWxlZnQ6IDQwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9ubHktbWFyZ2luLXNtYWxsLWxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiA0MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LW1hcmdpbi1zbWFsbC1yaWdodCB7XG4gICAgbWFyZ2luLXJpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LW1hcmdpbi1zbWFsbC10b3Age1xuICAgIG1hcmdpbi10b3A6IDQwcHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9ubHktbWFyZ2luLXNtYWxsLWJvdHRvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS1tYXJnaW4tbWVkaXVtIHtcbiAgICBtYXJnaW46IDUwcHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9ubHktbWFyZ2luLW1lZGl1bS12ZXJ0aWNhbCB7XG4gICAgbWFyZ2luLXRvcDogNTBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9ubHktbWFyZ2luLW1lZGl1bS1ob3Jpem9udGFsIHtcbiAgICBtYXJnaW4tbGVmdDogNTBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogNTBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS1tYXJnaW4tbWVkaXVtLWxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiA1MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LW1hcmdpbi1tZWRpdW0tcmlnaHQge1xuICAgIG1hcmdpbi1yaWdodDogNTBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS1tYXJnaW4tbWVkaXVtLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogNTBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS1tYXJnaW4tbWVkaXVtLWJvdHRvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS1tYXJnaW4tbGFyZ2Uge1xuICAgIG1hcmdpbjogODBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS1tYXJnaW4tbGFyZ2UtdmVydGljYWwge1xuICAgIG1hcmdpbi10b3A6IDgwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiA4MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LW1hcmdpbi1sYXJnZS1ob3Jpem9udGFsIHtcbiAgICBtYXJnaW4tbGVmdDogODBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogODBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS1tYXJnaW4tbGFyZ2UtbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgwcHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9ubHktbWFyZ2luLWxhcmdlLXJpZ2h0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDgwcHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9ubHktbWFyZ2luLWxhcmdlLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogODBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS1tYXJnaW4tbGFyZ2UtYm90dG9tIHtcbiAgICBtYXJnaW4tYm90dG9tOiA4MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LW1hcmdpbi14bGFyZ2Uge1xuICAgIG1hcmdpbjogMTEwcHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9ubHktbWFyZ2luLXhsYXJnZS12ZXJ0aWNhbCB7XG4gICAgbWFyZ2luLXRvcDogMTEwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMTBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS1tYXJnaW4teGxhcmdlLWhvcml6b250YWwge1xuICAgIG1hcmdpbi1sZWZ0OiAxMTBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMTEwcHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9ubHktbWFyZ2luLXhsYXJnZS1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogMTEwcHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9ubHktbWFyZ2luLXhsYXJnZS1yaWdodCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMTBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS1tYXJnaW4teGxhcmdlLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogMTEwcHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9ubHktbWFyZ2luLXhsYXJnZS1ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IDExMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LW1hcmdpbi14eGxhcmdlIHtcbiAgICBtYXJnaW46IDIwMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LW1hcmdpbi14eGxhcmdlLXZlcnRpY2FsIHtcbiAgICBtYXJnaW4tdG9wOiAyMDBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDIwMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LW1hcmdpbi14eGxhcmdlLWhvcml6b250YWwge1xuICAgIG1hcmdpbi1sZWZ0OiAyMDBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMjAwcHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9ubHktbWFyZ2luLXh4bGFyZ2UtbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDIwMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LW1hcmdpbi14eGxhcmdlLXJpZ2h0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LW1hcmdpbi14eGxhcmdlLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogMjAwcHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9ubHktbWFyZ2luLXh4bGFyZ2UtYm90dG9tIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMDBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS1tYXJnaW4tMzAge1xuICAgIG1hcmdpbjogMzBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS1tYXJnaW4tMzAtdmVydGljYWwge1xuICAgIG1hcmdpbi10b3A6IDMwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LW1hcmdpbi0zMC1ob3Jpem9udGFsIHtcbiAgICBtYXJnaW4tbGVmdDogMzBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMzBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS1tYXJnaW4tMzAtbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMwcHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9ubHktbWFyZ2luLTMwLXJpZ2h0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDMwcHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9ubHktbWFyZ2luLTMwLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogMzBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS1tYXJnaW4tMzAtYm90dG9tIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LW1hcmdpbi1hdXRvIHtcbiAgICBtYXJnaW46IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9ubHktbWFyZ2luLWF1dG8tdmVydGljYWwge1xuICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LW1hcmdpbi1hdXRvLWhvcml6b250YWwge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LW1hcmdpbi1hdXRvLWxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LW1hcmdpbi1hdXRvLXJpZ2h0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9ubHktbWFyZ2luLWF1dG8tdG9wIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LW1hcmdpbi1hdXRvLWJvdHRvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjguNzVlbSkge1xuICAubGFyZ2UtbWFyZ2luLXh4c21hbGwge1xuICAgIG1hcmdpbjogMTZweCAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1tYXJnaW4teHhzbWFsbC12ZXJ0aWNhbCB7XG4gICAgbWFyZ2luLXRvcDogMTZweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHggIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLXh4c21hbGwtaG9yaXpvbnRhbCB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2cHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDE2cHggIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLXh4c21hbGwtbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2cHggIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLXh4c21hbGwtcmlnaHQge1xuICAgIG1hcmdpbi1yaWdodDogMTZweCAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1tYXJnaW4teHhzbWFsbC10b3Age1xuICAgIG1hcmdpbi10b3A6IDE2cHggIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLXh4c21hbGwtYm90dG9tIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi14c21hbGwge1xuICAgIG1hcmdpbjogMjBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1tYXJnaW4teHNtYWxsLXZlcnRpY2FsIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1tYXJnaW4teHNtYWxsLWhvcml6b250YWwge1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi14c21hbGwtbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHggIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLXhzbWFsbC1yaWdodCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi14c21hbGwtdG9wIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi14c21hbGwtYm90dG9tIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1zbWFsbCB7XG4gICAgbWFyZ2luOiA0MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1zbWFsbC12ZXJ0aWNhbCB7XG4gICAgbWFyZ2luLXRvcDogNDBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHggIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLXNtYWxsLWhvcml6b250YWwge1xuICAgIG1hcmdpbi1sZWZ0OiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1zbWFsbC1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogNDBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tc21hbGwtcmlnaHQge1xuICAgIG1hcmdpbi1yaWdodDogNDBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tc21hbGwtdG9wIHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1zbWFsbC1ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHggIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLW1lZGl1bSB7XG4gICAgbWFyZ2luOiA1MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1tZWRpdW0tdmVydGljYWwge1xuICAgIG1hcmdpbi10b3A6IDUwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1tZWRpdW0taG9yaXpvbnRhbCB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDUwcHggIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLW1lZGl1bS1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogNTBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tbWVkaXVtLXJpZ2h0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDUwcHggIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLW1lZGl1bS10b3Age1xuICAgIG1hcmdpbi10b3A6IDUwcHggIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLW1lZGl1bS1ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHggIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWxhcmdlIHtcbiAgICBtYXJnaW46IDgwcHggIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWxhcmdlLXZlcnRpY2FsIHtcbiAgICBtYXJnaW4tdG9wOiA4MHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogODBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tbGFyZ2UtaG9yaXpvbnRhbCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDgwcHggIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWxhcmdlLWxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiA4MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1sYXJnZS1yaWdodCB7XG4gICAgbWFyZ2luLXJpZ2h0OiA4MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1sYXJnZS10b3Age1xuICAgIG1hcmdpbi10b3A6IDgwcHggIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWxhcmdlLWJvdHRvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogODBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1tYXJnaW4teGxhcmdlIHtcbiAgICBtYXJnaW46IDExMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi14bGFyZ2UtdmVydGljYWwge1xuICAgIG1hcmdpbi10b3A6IDExMHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMTEwcHggIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLXhsYXJnZS1ob3Jpem9udGFsIHtcbiAgICBtYXJnaW4tbGVmdDogMTEwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDExMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi14bGFyZ2UtbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDExMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi14bGFyZ2UtcmlnaHQge1xuICAgIG1hcmdpbi1yaWdodDogMTEwcHggIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLXhsYXJnZS10b3Age1xuICAgIG1hcmdpbi10b3A6IDExMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi14bGFyZ2UtYm90dG9tIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMTBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1tYXJnaW4teHhsYXJnZSB7XG4gICAgbWFyZ2luOiAyMDBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1tYXJnaW4teHhsYXJnZS12ZXJ0aWNhbCB7XG4gICAgbWFyZ2luLXRvcDogMjAwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMDBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1tYXJnaW4teHhsYXJnZS1ob3Jpem9udGFsIHtcbiAgICBtYXJnaW4tbGVmdDogMjAwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi14eGxhcmdlLWxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiAyMDBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1tYXJnaW4teHhsYXJnZS1yaWdodCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMDBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1tYXJnaW4teHhsYXJnZS10b3Age1xuICAgIG1hcmdpbi10b3A6IDIwMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi14eGxhcmdlLWJvdHRvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjAwcHggIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLTMwIHtcbiAgICBtYXJnaW46IDMwcHggIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLTMwLXZlcnRpY2FsIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tMzAtaG9yaXpvbnRhbCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDMwcHggIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLTMwLWxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi0zMC1yaWdodCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi0zMC10b3Age1xuICAgIG1hcmdpbi10b3A6IDMwcHggIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLTMwLWJvdHRvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tYXV0byB7XG4gICAgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1hdXRvLXZlcnRpY2FsIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tYXV0by1ob3Jpem9udGFsIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tYXV0by1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tYXV0by1yaWdodCB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1hdXRvLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tYXV0by1ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgfVxufVxuLm5vLW1hcmdpbiB7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xufVxuXG4ubm8tbWFyZ2luLXZlcnRpY2FsIHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5uby1tYXJnaW4taG9yaXpvbnRhbCB7XG4gIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xufVxuXG4ubm8tbWFyZ2luLWxlZnQge1xuICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xufVxuXG4ubm8tbWFyZ2luLXJpZ2h0IHtcbiAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi5uby1tYXJnaW4tdG9wIHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xufVxuXG4ubm8tbWFyZ2luLWJvdHRvbSB7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3Ljk5ODc1ZW0pIHtcbiAgLnNtYWxsLW9ubHktbm8tbWFyZ2luIHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1uby1tYXJnaW4tdmVydGljYWwge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLW9ubHktbm8tbWFyZ2luLWhvcml6b250YWwge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLW9ubHktbm8tbWFyZ2luLWxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLW9ubHktbm8tbWFyZ2luLXJpZ2h0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1uby1tYXJnaW4tdG9wIHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLW9ubHktbm8tbWFyZ2luLWJvdHRvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubWVkaXVtLW5vLW1hcmdpbiB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1uby1tYXJnaW4tdmVydGljYWwge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1uby1tYXJnaW4taG9yaXpvbnRhbCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW5vLW1hcmdpbi1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tbm8tbWFyZ2luLXJpZ2h0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW5vLW1hcmdpbi10b3Age1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW5vLW1hcmdpbi1ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2OC43NDg3NWVtKSB7XG4gIC5tZWRpdW0tb25seS1uby1tYXJnaW4ge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS1uby1tYXJnaW4tdmVydGljYWwge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LW5vLW1hcmdpbi1ob3Jpem9udGFsIHtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS1uby1tYXJnaW4tbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9ubHktbm8tbWFyZ2luLXJpZ2h0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9ubHktbm8tbWFyZ2luLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS1uby1tYXJnaW4tYm90dG9tIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2OC43NWVtKSB7XG4gIC5sYXJnZS1uby1tYXJnaW4ge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1uby1tYXJnaW4tdmVydGljYWwge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLW5vLW1hcmdpbi1ob3Jpem9udGFsIHtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1uby1tYXJnaW4tbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2Utbm8tbWFyZ2luLXJpZ2h0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2Utbm8tbWFyZ2luLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1uby1tYXJnaW4tYm90dG9tIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi5tYXJnaW4tdG8tbGVmdCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi5tYXJnaW4tdG8tcmlnaHQge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4ubWFyZ2luLXRvLWNlbnRlciB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45OTg3NWVtKSB7XG4gIC5zbWFsbC1vbmx5LW1hcmdpbi10by1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbiAgLnNtYWxsLW9ubHktbWFyZ2luLXRvLXJpZ2h0IHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbiAgLnNtYWxsLW9ubHktbWFyZ2luLXRvLWNlbnRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubWVkaXVtLW1hcmdpbi10by1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tdG8tcmlnaHQge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi10by1jZW50ZXIge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2OC43NDg3NWVtKSB7XG4gIC5tZWRpdW0tb25seS1tYXJnaW4tdG8tbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG4gIC5tZWRpdW0tb25seS1tYXJnaW4tdG8tcmlnaHQge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuICAubWVkaXVtLW9ubHktbWFyZ2luLXRvLWNlbnRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjguNzVlbSkge1xuICAubGFyZ2UtbWFyZ2luLXRvLWxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuICAubGFyZ2UtbWFyZ2luLXRvLXJpZ2h0IHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi10by1jZW50ZXIge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxufVxuLnBhZGRpbmctNSB7XG4gIHBhZGRpbmc6IDVweCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy01LXZlcnRpY2FsIHtcbiAgcGFkZGluZy10b3A6IDVweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogNXB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLTUtaG9yaXpvbnRhbCB7XG4gIHBhZGRpbmctbGVmdDogNXB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDVweCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy01LWxlZnQge1xuICBwYWRkaW5nLWxlZnQ6IDVweCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy01LXJpZ2h0IHtcbiAgcGFkZGluZy1yaWdodDogNXB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLTUtdG9wIHtcbiAgcGFkZGluZy10b3A6IDVweCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy01LWJvdHRvbSB7XG4gIHBhZGRpbmctYm90dG9tOiA1cHggIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctOCB7XG4gIHBhZGRpbmc6IDhweCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy04LXZlcnRpY2FsIHtcbiAgcGFkZGluZy10b3A6IDhweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogOHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLTgtaG9yaXpvbnRhbCB7XG4gIHBhZGRpbmctbGVmdDogOHB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDhweCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy04LWxlZnQge1xuICBwYWRkaW5nLWxlZnQ6IDhweCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy04LXJpZ2h0IHtcbiAgcGFkZGluZy1yaWdodDogOHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLTgtdG9wIHtcbiAgcGFkZGluZy10b3A6IDhweCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy04LWJvdHRvbSB7XG4gIHBhZGRpbmctYm90dG9tOiA4cHggIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctMTIge1xuICBwYWRkaW5nOiAxMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLTEyLXZlcnRpY2FsIHtcbiAgcGFkZGluZy10b3A6IDEycHggIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDEycHggIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctMTItaG9yaXpvbnRhbCB7XG4gIHBhZGRpbmctbGVmdDogMTJweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXJpZ2h0OiAxMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLTEyLWxlZnQge1xuICBwYWRkaW5nLWxlZnQ6IDEycHggIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctMTItcmlnaHQge1xuICBwYWRkaW5nLXJpZ2h0OiAxMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLTEyLXRvcCB7XG4gIHBhZGRpbmctdG9wOiAxMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLTEyLWJvdHRvbSB7XG4gIHBhZGRpbmctYm90dG9tOiAxMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLTYwIHtcbiAgcGFkZGluZzogNjBweCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy02MC12ZXJ0aWNhbCB7XG4gIHBhZGRpbmctdG9wOiA2MHB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiA2MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLTYwLWhvcml6b250YWwge1xuICBwYWRkaW5nLWxlZnQ6IDYwcHggIWltcG9ydGFudDtcbiAgcGFkZGluZy1yaWdodDogNjBweCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy02MC1sZWZ0IHtcbiAgcGFkZGluZy1sZWZ0OiA2MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLTYwLXJpZ2h0IHtcbiAgcGFkZGluZy1yaWdodDogNjBweCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy02MC10b3Age1xuICBwYWRkaW5nLXRvcDogNjBweCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy02MC1ib3R0b20ge1xuICBwYWRkaW5nLWJvdHRvbTogNjBweCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy14eHNtYWxsIHtcbiAgcGFkZGluZzogMTZweCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy14eHNtYWxsLXZlcnRpY2FsIHtcbiAgcGFkZGluZy10b3A6IDE2cHggIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDE2cHggIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmcteHhzbWFsbC1ob3Jpem9udGFsIHtcbiAgcGFkZGluZy1sZWZ0OiAxNnB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDE2cHggIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmcteHhzbWFsbC1sZWZ0IHtcbiAgcGFkZGluZy1sZWZ0OiAxNnB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLXh4c21hbGwtcmlnaHQge1xuICBwYWRkaW5nLXJpZ2h0OiAxNnB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLXh4c21hbGwtdG9wIHtcbiAgcGFkZGluZy10b3A6IDE2cHggIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmcteHhzbWFsbC1ib3R0b20ge1xuICBwYWRkaW5nLWJvdHRvbTogMTZweCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy14c21hbGwge1xuICBwYWRkaW5nOiAyMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLXhzbWFsbC12ZXJ0aWNhbCB7XG4gIHBhZGRpbmctdG9wOiAyMHB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLXhzbWFsbC1ob3Jpem9udGFsIHtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHggIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmcteHNtYWxsLWxlZnQge1xuICBwYWRkaW5nLWxlZnQ6IDIwcHggIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmcteHNtYWxsLXJpZ2h0IHtcbiAgcGFkZGluZy1yaWdodDogMjBweCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy14c21hbGwtdG9wIHtcbiAgcGFkZGluZy10b3A6IDIwcHggIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmcteHNtYWxsLWJvdHRvbSB7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLXNtYWxsIHtcbiAgcGFkZGluZzogNDBweCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy1zbWFsbC12ZXJ0aWNhbCB7XG4gIHBhZGRpbmctdG9wOiA0MHB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLXNtYWxsLWhvcml6b250YWwge1xuICBwYWRkaW5nLWxlZnQ6IDQwcHggIWltcG9ydGFudDtcbiAgcGFkZGluZy1yaWdodDogNDBweCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy1zbWFsbC1sZWZ0IHtcbiAgcGFkZGluZy1sZWZ0OiA0MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLXNtYWxsLXJpZ2h0IHtcbiAgcGFkZGluZy1yaWdodDogNDBweCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy1zbWFsbC10b3Age1xuICBwYWRkaW5nLXRvcDogNDBweCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy1zbWFsbC1ib3R0b20ge1xuICBwYWRkaW5nLWJvdHRvbTogNDBweCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy1tZWRpdW0ge1xuICBwYWRkaW5nOiA1MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLW1lZGl1bS12ZXJ0aWNhbCB7XG4gIHBhZGRpbmctdG9wOiA1MHB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiA1MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLW1lZGl1bS1ob3Jpem9udGFsIHtcbiAgcGFkZGluZy1sZWZ0OiA1MHB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDUwcHggIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctbWVkaXVtLWxlZnQge1xuICBwYWRkaW5nLWxlZnQ6IDUwcHggIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctbWVkaXVtLXJpZ2h0IHtcbiAgcGFkZGluZy1yaWdodDogNTBweCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy1tZWRpdW0tdG9wIHtcbiAgcGFkZGluZy10b3A6IDUwcHggIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctbWVkaXVtLWJvdHRvbSB7XG4gIHBhZGRpbmctYm90dG9tOiA1MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLWxhcmdlIHtcbiAgcGFkZGluZzogODBweCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy1sYXJnZS12ZXJ0aWNhbCB7XG4gIHBhZGRpbmctdG9wOiA4MHB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiA4MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLWxhcmdlLWhvcml6b250YWwge1xuICBwYWRkaW5nLWxlZnQ6IDgwcHggIWltcG9ydGFudDtcbiAgcGFkZGluZy1yaWdodDogODBweCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy1sYXJnZS1sZWZ0IHtcbiAgcGFkZGluZy1sZWZ0OiA4MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLWxhcmdlLXJpZ2h0IHtcbiAgcGFkZGluZy1yaWdodDogODBweCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy1sYXJnZS10b3Age1xuICBwYWRkaW5nLXRvcDogODBweCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy1sYXJnZS1ib3R0b20ge1xuICBwYWRkaW5nLWJvdHRvbTogODBweCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy14bGFyZ2Uge1xuICBwYWRkaW5nOiAxMTBweCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy14bGFyZ2UtdmVydGljYWwge1xuICBwYWRkaW5nLXRvcDogMTEwcHggIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDExMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLXhsYXJnZS1ob3Jpem9udGFsIHtcbiAgcGFkZGluZy1sZWZ0OiAxMTBweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXJpZ2h0OiAxMTBweCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy14bGFyZ2UtbGVmdCB7XG4gIHBhZGRpbmctbGVmdDogMTEwcHggIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmcteGxhcmdlLXJpZ2h0IHtcbiAgcGFkZGluZy1yaWdodDogMTEwcHggIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmcteGxhcmdlLXRvcCB7XG4gIHBhZGRpbmctdG9wOiAxMTBweCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy14bGFyZ2UtYm90dG9tIHtcbiAgcGFkZGluZy1ib3R0b206IDExMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLXh4bGFyZ2Uge1xuICBwYWRkaW5nOiAyMDBweCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy14eGxhcmdlLXZlcnRpY2FsIHtcbiAgcGFkZGluZy10b3A6IDIwMHB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAyMDBweCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy14eGxhcmdlLWhvcml6b250YWwge1xuICBwYWRkaW5nLWxlZnQ6IDIwMHB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDIwMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLXh4bGFyZ2UtbGVmdCB7XG4gIHBhZGRpbmctbGVmdDogMjAwcHggIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmcteHhsYXJnZS1yaWdodCB7XG4gIHBhZGRpbmctcmlnaHQ6IDIwMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLXh4bGFyZ2UtdG9wIHtcbiAgcGFkZGluZy10b3A6IDIwMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLXh4bGFyZ2UtYm90dG9tIHtcbiAgcGFkZGluZy1ib3R0b206IDIwMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLTMwIHtcbiAgcGFkZGluZzogMzBweCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy0zMC12ZXJ0aWNhbCB7XG4gIHBhZGRpbmctdG9wOiAzMHB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAzMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLTMwLWhvcml6b250YWwge1xuICBwYWRkaW5nLWxlZnQ6IDMwcHggIWltcG9ydGFudDtcbiAgcGFkZGluZy1yaWdodDogMzBweCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy0zMC1sZWZ0IHtcbiAgcGFkZGluZy1sZWZ0OiAzMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLTMwLXJpZ2h0IHtcbiAgcGFkZGluZy1yaWdodDogMzBweCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy0zMC10b3Age1xuICBwYWRkaW5nLXRvcDogMzBweCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy0zMC1ib3R0b20ge1xuICBwYWRkaW5nLWJvdHRvbTogMzBweCAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTk4NzVlbSkge1xuICAuc21hbGwtb25seS1wYWRkaW5nLXh4c21hbGwge1xuICAgIHBhZGRpbmc6IDE2cHggIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1wYWRkaW5nLXh4c21hbGwtdmVydGljYWwge1xuICAgIHBhZGRpbmctdG9wOiAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDE2cHggIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1wYWRkaW5nLXh4c21hbGwtaG9yaXpvbnRhbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogMTZweCAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LXBhZGRpbmcteHhzbWFsbC1sZWZ0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHggIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1wYWRkaW5nLXh4c21hbGwtcmlnaHQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHggIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1wYWRkaW5nLXh4c21hbGwtdG9wIHtcbiAgICBwYWRkaW5nLXRvcDogMTZweCAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LXBhZGRpbmcteHhzbWFsbC1ib3R0b20ge1xuICAgIHBhZGRpbmctYm90dG9tOiAxNnB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLW9ubHktcGFkZGluZy14c21hbGwge1xuICAgIHBhZGRpbmc6IDIwcHggIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1wYWRkaW5nLXhzbWFsbC12ZXJ0aWNhbCB7XG4gICAgcGFkZGluZy10b3A6IDIwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LXBhZGRpbmcteHNtYWxsLWhvcml6b250YWwge1xuICAgIHBhZGRpbmctbGVmdDogMjBweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHggIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1wYWRkaW5nLXhzbWFsbC1sZWZ0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHggIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1wYWRkaW5nLXhzbWFsbC1yaWdodCB7XG4gICAgcGFkZGluZy1yaWdodDogMjBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LXBhZGRpbmcteHNtYWxsLXRvcCB7XG4gICAgcGFkZGluZy10b3A6IDIwcHggIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1wYWRkaW5nLXhzbWFsbC1ib3R0b20ge1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLW9ubHktcGFkZGluZy1zbWFsbCB7XG4gICAgcGFkZGluZzogNDBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LXBhZGRpbmctc21hbGwtdmVydGljYWwge1xuICAgIHBhZGRpbmctdG9wOiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDQwcHggIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1wYWRkaW5nLXNtYWxsLWhvcml6b250YWwge1xuICAgIHBhZGRpbmctbGVmdDogNDBweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctcmlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1wYWRkaW5nLXNtYWxsLWxlZnQge1xuICAgIHBhZGRpbmctbGVmdDogNDBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LXBhZGRpbmctc21hbGwtcmlnaHQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1wYWRkaW5nLXNtYWxsLXRvcCB7XG4gICAgcGFkZGluZy10b3A6IDQwcHggIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1wYWRkaW5nLXNtYWxsLWJvdHRvbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDQwcHggIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1wYWRkaW5nLW1lZGl1bSB7XG4gICAgcGFkZGluZzogNTBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LXBhZGRpbmctbWVkaXVtLXZlcnRpY2FsIHtcbiAgICBwYWRkaW5nLXRvcDogNTBweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiA1MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLW9ubHktcGFkZGluZy1tZWRpdW0taG9yaXpvbnRhbCB7XG4gICAgcGFkZGluZy1sZWZ0OiA1MHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogNTBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LXBhZGRpbmctbWVkaXVtLWxlZnQge1xuICAgIHBhZGRpbmctbGVmdDogNTBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LXBhZGRpbmctbWVkaXVtLXJpZ2h0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLW9ubHktcGFkZGluZy1tZWRpdW0tdG9wIHtcbiAgICBwYWRkaW5nLXRvcDogNTBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LXBhZGRpbmctbWVkaXVtLWJvdHRvbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDUwcHggIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1wYWRkaW5nLWxhcmdlIHtcbiAgICBwYWRkaW5nOiA4MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLW9ubHktcGFkZGluZy1sYXJnZS12ZXJ0aWNhbCB7XG4gICAgcGFkZGluZy10b3A6IDgwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogODBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LXBhZGRpbmctbGFyZ2UtaG9yaXpvbnRhbCB7XG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogODBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LXBhZGRpbmctbGFyZ2UtbGVmdCB7XG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLW9ubHktcGFkZGluZy1sYXJnZS1yaWdodCB7XG4gICAgcGFkZGluZy1yaWdodDogODBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LXBhZGRpbmctbGFyZ2UtdG9wIHtcbiAgICBwYWRkaW5nLXRvcDogODBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LXBhZGRpbmctbGFyZ2UtYm90dG9tIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogODBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LXBhZGRpbmcteGxhcmdlIHtcbiAgICBwYWRkaW5nOiAxMTBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LXBhZGRpbmcteGxhcmdlLXZlcnRpY2FsIHtcbiAgICBwYWRkaW5nLXRvcDogMTEwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTEwcHggIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1wYWRkaW5nLXhsYXJnZS1ob3Jpem9udGFsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDExMHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogMTEwcHggIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1wYWRkaW5nLXhsYXJnZS1sZWZ0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDExMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLW9ubHktcGFkZGluZy14bGFyZ2UtcmlnaHQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDExMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLW9ubHktcGFkZGluZy14bGFyZ2UtdG9wIHtcbiAgICBwYWRkaW5nLXRvcDogMTEwcHggIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1wYWRkaW5nLXhsYXJnZS1ib3R0b20ge1xuICAgIHBhZGRpbmctYm90dG9tOiAxMTBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LXBhZGRpbmcteHhsYXJnZSB7XG4gICAgcGFkZGluZzogMjAwcHggIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1wYWRkaW5nLXh4bGFyZ2UtdmVydGljYWwge1xuICAgIHBhZGRpbmctdG9wOiAyMDBweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAyMDBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LXBhZGRpbmcteHhsYXJnZS1ob3Jpem9udGFsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwMHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogMjAwcHggIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1wYWRkaW5nLXh4bGFyZ2UtbGVmdCB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMDBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LXBhZGRpbmcteHhsYXJnZS1yaWdodCB7XG4gICAgcGFkZGluZy1yaWdodDogMjAwcHggIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1wYWRkaW5nLXh4bGFyZ2UtdG9wIHtcbiAgICBwYWRkaW5nLXRvcDogMjAwcHggIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1wYWRkaW5nLXh4bGFyZ2UtYm90dG9tIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjAwcHggIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1wYWRkaW5nLTMwIHtcbiAgICBwYWRkaW5nOiAzMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLW9ubHktcGFkZGluZy0zMC12ZXJ0aWNhbCB7XG4gICAgcGFkZGluZy10b3A6IDMwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LXBhZGRpbmctMzAtaG9yaXpvbnRhbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogMzBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LXBhZGRpbmctMzAtbGVmdCB7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLW9ubHktcGFkZGluZy0zMC1yaWdodCB7XG4gICAgcGFkZGluZy1yaWdodDogMzBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LXBhZGRpbmctMzAtdG9wIHtcbiAgICBwYWRkaW5nLXRvcDogMzBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LXBhZGRpbmctMzAtYm90dG9tIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubWVkaXVtLXBhZGRpbmcteHhzbWFsbCB7XG4gICAgcGFkZGluZzogMTZweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tcGFkZGluZy14eHNtYWxsLXZlcnRpY2FsIHtcbiAgICBwYWRkaW5nLXRvcDogMTZweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAxNnB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1wYWRkaW5nLXh4c21hbGwtaG9yaXpvbnRhbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogMTZweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tcGFkZGluZy14eHNtYWxsLWxlZnQge1xuICAgIHBhZGRpbmctbGVmdDogMTZweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tcGFkZGluZy14eHNtYWxsLXJpZ2h0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1wYWRkaW5nLXh4c21hbGwtdG9wIHtcbiAgICBwYWRkaW5nLXRvcDogMTZweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tcGFkZGluZy14eHNtYWxsLWJvdHRvbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDE2cHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLXBhZGRpbmcteHNtYWxsIHtcbiAgICBwYWRkaW5nOiAyMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1wYWRkaW5nLXhzbWFsbC12ZXJ0aWNhbCB7XG4gICAgcGFkZGluZy10b3A6IDIwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tcGFkZGluZy14c21hbGwtaG9yaXpvbnRhbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogMjBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tcGFkZGluZy14c21hbGwtbGVmdCB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1wYWRkaW5nLXhzbWFsbC1yaWdodCB7XG4gICAgcGFkZGluZy1yaWdodDogMjBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tcGFkZGluZy14c21hbGwtdG9wIHtcbiAgICBwYWRkaW5nLXRvcDogMjBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tcGFkZGluZy14c21hbGwtYm90dG9tIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tcGFkZGluZy1zbWFsbCB7XG4gICAgcGFkZGluZzogNDBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tcGFkZGluZy1zbWFsbC12ZXJ0aWNhbCB7XG4gICAgcGFkZGluZy10b3A6IDQwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tcGFkZGluZy1zbWFsbC1ob3Jpem9udGFsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1wYWRkaW5nLXNtYWxsLWxlZnQge1xuICAgIHBhZGRpbmctbGVmdDogNDBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tcGFkZGluZy1zbWFsbC1yaWdodCB7XG4gICAgcGFkZGluZy1yaWdodDogNDBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tcGFkZGluZy1zbWFsbC10b3Age1xuICAgIHBhZGRpbmctdG9wOiA0MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1wYWRkaW5nLXNtYWxsLWJvdHRvbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDQwcHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLXBhZGRpbmctbWVkaXVtIHtcbiAgICBwYWRkaW5nOiA1MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1wYWRkaW5nLW1lZGl1bS12ZXJ0aWNhbCB7XG4gICAgcGFkZGluZy10b3A6IDUwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tcGFkZGluZy1tZWRpdW0taG9yaXpvbnRhbCB7XG4gICAgcGFkZGluZy1sZWZ0OiA1MHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogNTBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tcGFkZGluZy1tZWRpdW0tbGVmdCB7XG4gICAgcGFkZGluZy1sZWZ0OiA1MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1wYWRkaW5nLW1lZGl1bS1yaWdodCB7XG4gICAgcGFkZGluZy1yaWdodDogNTBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tcGFkZGluZy1tZWRpdW0tdG9wIHtcbiAgICBwYWRkaW5nLXRvcDogNTBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tcGFkZGluZy1tZWRpdW0tYm90dG9tIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tcGFkZGluZy1sYXJnZSB7XG4gICAgcGFkZGluZzogODBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tcGFkZGluZy1sYXJnZS12ZXJ0aWNhbCB7XG4gICAgcGFkZGluZy10b3A6IDgwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogODBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDgwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1wYWRkaW5nLWxhcmdlLWxlZnQge1xuICAgIHBhZGRpbmctbGVmdDogODBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tcGFkZGluZy1sYXJnZS1yaWdodCB7XG4gICAgcGFkZGluZy1yaWdodDogODBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tcGFkZGluZy1sYXJnZS10b3Age1xuICAgIHBhZGRpbmctdG9wOiA4MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1wYWRkaW5nLWxhcmdlLWJvdHRvbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDgwcHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLXBhZGRpbmcteGxhcmdlIHtcbiAgICBwYWRkaW5nOiAxMTBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tcGFkZGluZy14bGFyZ2UtdmVydGljYWwge1xuICAgIHBhZGRpbmctdG9wOiAxMTBweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMTBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tcGFkZGluZy14bGFyZ2UtaG9yaXpvbnRhbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMTBweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctcmlnaHQ6IDExMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1wYWRkaW5nLXhsYXJnZS1sZWZ0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDExMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1wYWRkaW5nLXhsYXJnZS1yaWdodCB7XG4gICAgcGFkZGluZy1yaWdodDogMTEwcHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLXBhZGRpbmcteGxhcmdlLXRvcCB7XG4gICAgcGFkZGluZy10b3A6IDExMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1wYWRkaW5nLXhsYXJnZS1ib3R0b20ge1xuICAgIHBhZGRpbmctYm90dG9tOiAxMTBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tcGFkZGluZy14eGxhcmdlIHtcbiAgICBwYWRkaW5nOiAyMDBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tcGFkZGluZy14eGxhcmdlLXZlcnRpY2FsIHtcbiAgICBwYWRkaW5nLXRvcDogMjAwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjAwcHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLXBhZGRpbmcteHhsYXJnZS1ob3Jpem9udGFsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwMHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogMjAwcHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLXBhZGRpbmcteHhsYXJnZS1sZWZ0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1wYWRkaW5nLXh4bGFyZ2UtcmlnaHQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1wYWRkaW5nLXh4bGFyZ2UtdG9wIHtcbiAgICBwYWRkaW5nLXRvcDogMjAwcHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLXBhZGRpbmcteHhsYXJnZS1ib3R0b20ge1xuICAgIHBhZGRpbmctYm90dG9tOiAyMDBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tcGFkZGluZy0zMCB7XG4gICAgcGFkZGluZzogMzBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tcGFkZGluZy0zMC12ZXJ0aWNhbCB7XG4gICAgcGFkZGluZy10b3A6IDMwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tcGFkZGluZy0zMC1ob3Jpem9udGFsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1wYWRkaW5nLTMwLWxlZnQge1xuICAgIHBhZGRpbmctbGVmdDogMzBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tcGFkZGluZy0zMC1yaWdodCB7XG4gICAgcGFkZGluZy1yaWdodDogMzBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tcGFkZGluZy0zMC10b3Age1xuICAgIHBhZGRpbmctdG9wOiAzMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1wYWRkaW5nLTMwLWJvdHRvbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDMwcHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2OC43NDg3NWVtKSB7XG4gIC5tZWRpdW0tb25seS1wYWRkaW5nLXh4c21hbGwge1xuICAgIHBhZGRpbmc6IDE2cHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9ubHktcGFkZGluZy14eHNtYWxsLXZlcnRpY2FsIHtcbiAgICBwYWRkaW5nLXRvcDogMTZweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAxNnB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LXBhZGRpbmcteHhzbWFsbC1ob3Jpem9udGFsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LXBhZGRpbmcteHhzbWFsbC1sZWZ0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9ubHktcGFkZGluZy14eHNtYWxsLXJpZ2h0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LXBhZGRpbmcteHhzbWFsbC10b3Age1xuICAgIHBhZGRpbmctdG9wOiAxNnB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LXBhZGRpbmcteHhzbWFsbC1ib3R0b20ge1xuICAgIHBhZGRpbmctYm90dG9tOiAxNnB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LXBhZGRpbmcteHNtYWxsIHtcbiAgICBwYWRkaW5nOiAyMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LXBhZGRpbmcteHNtYWxsLXZlcnRpY2FsIHtcbiAgICBwYWRkaW5nLXRvcDogMjBweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LXBhZGRpbmcteHNtYWxsLWhvcml6b250YWwge1xuICAgIHBhZGRpbmctbGVmdDogMjBweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9ubHktcGFkZGluZy14c21hbGwtbGVmdCB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LXBhZGRpbmcteHNtYWxsLXJpZ2h0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LXBhZGRpbmcteHNtYWxsLXRvcCB7XG4gICAgcGFkZGluZy10b3A6IDIwcHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9ubHktcGFkZGluZy14c21hbGwtYm90dG9tIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS1wYWRkaW5nLXNtYWxsIHtcbiAgICBwYWRkaW5nOiA0MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LXBhZGRpbmctc21hbGwtdmVydGljYWwge1xuICAgIHBhZGRpbmctdG9wOiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDQwcHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9ubHktcGFkZGluZy1zbWFsbC1ob3Jpem9udGFsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LXBhZGRpbmctc21hbGwtbGVmdCB7XG4gICAgcGFkZGluZy1sZWZ0OiA0MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LXBhZGRpbmctc21hbGwtcmlnaHQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9ubHktcGFkZGluZy1zbWFsbC10b3Age1xuICAgIHBhZGRpbmctdG9wOiA0MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LXBhZGRpbmctc21hbGwtYm90dG9tIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS1wYWRkaW5nLW1lZGl1bSB7XG4gICAgcGFkZGluZzogNTBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS1wYWRkaW5nLW1lZGl1bS12ZXJ0aWNhbCB7XG4gICAgcGFkZGluZy10b3A6IDUwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS1wYWRkaW5nLW1lZGl1bS1ob3Jpem9udGFsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDUwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LXBhZGRpbmctbWVkaXVtLWxlZnQge1xuICAgIHBhZGRpbmctbGVmdDogNTBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS1wYWRkaW5nLW1lZGl1bS1yaWdodCB7XG4gICAgcGFkZGluZy1yaWdodDogNTBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS1wYWRkaW5nLW1lZGl1bS10b3Age1xuICAgIHBhZGRpbmctdG9wOiA1MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LXBhZGRpbmctbWVkaXVtLWJvdHRvbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDUwcHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9ubHktcGFkZGluZy1sYXJnZSB7XG4gICAgcGFkZGluZzogODBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS1wYWRkaW5nLWxhcmdlLXZlcnRpY2FsIHtcbiAgICBwYWRkaW5nLXRvcDogODBweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiA4MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LXBhZGRpbmctbGFyZ2UtaG9yaXpvbnRhbCB7XG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogODBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS1wYWRkaW5nLWxhcmdlLWxlZnQge1xuICAgIHBhZGRpbmctbGVmdDogODBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS1wYWRkaW5nLWxhcmdlLXJpZ2h0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LXBhZGRpbmctbGFyZ2UtdG9wIHtcbiAgICBwYWRkaW5nLXRvcDogODBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS1wYWRkaW5nLWxhcmdlLWJvdHRvbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDgwcHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9ubHktcGFkZGluZy14bGFyZ2Uge1xuICAgIHBhZGRpbmc6IDExMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LXBhZGRpbmcteGxhcmdlLXZlcnRpY2FsIHtcbiAgICBwYWRkaW5nLXRvcDogMTEwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTEwcHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9ubHktcGFkZGluZy14bGFyZ2UtaG9yaXpvbnRhbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMTBweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctcmlnaHQ6IDExMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LXBhZGRpbmcteGxhcmdlLWxlZnQge1xuICAgIHBhZGRpbmctbGVmdDogMTEwcHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9ubHktcGFkZGluZy14bGFyZ2UtcmlnaHQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDExMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LXBhZGRpbmcteGxhcmdlLXRvcCB7XG4gICAgcGFkZGluZy10b3A6IDExMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LXBhZGRpbmcteGxhcmdlLWJvdHRvbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDExMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LXBhZGRpbmcteHhsYXJnZSB7XG4gICAgcGFkZGluZzogMjAwcHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9ubHktcGFkZGluZy14eGxhcmdlLXZlcnRpY2FsIHtcbiAgICBwYWRkaW5nLXRvcDogMjAwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjAwcHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9ubHktcGFkZGluZy14eGxhcmdlLWhvcml6b250YWwge1xuICAgIHBhZGRpbmctbGVmdDogMjAwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMDBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS1wYWRkaW5nLXh4bGFyZ2UtbGVmdCB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMDBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS1wYWRkaW5nLXh4bGFyZ2UtcmlnaHQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LXBhZGRpbmcteHhsYXJnZS10b3Age1xuICAgIHBhZGRpbmctdG9wOiAyMDBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS1wYWRkaW5nLXh4bGFyZ2UtYm90dG9tIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjAwcHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9ubHktcGFkZGluZy0zMCB7XG4gICAgcGFkZGluZzogMzBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS1wYWRkaW5nLTMwLXZlcnRpY2FsIHtcbiAgICBwYWRkaW5nLXRvcDogMzBweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAzMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LXBhZGRpbmctMzAtaG9yaXpvbnRhbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogMzBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS1wYWRkaW5nLTMwLWxlZnQge1xuICAgIHBhZGRpbmctbGVmdDogMzBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS1wYWRkaW5nLTMwLXJpZ2h0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LXBhZGRpbmctMzAtdG9wIHtcbiAgICBwYWRkaW5nLXRvcDogMzBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS1wYWRkaW5nLTMwLWJvdHRvbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDMwcHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY4Ljc1ZW0pIHtcbiAgLmxhcmdlLXBhZGRpbmcteHhzbWFsbCB7XG4gICAgcGFkZGluZzogMTZweCAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1wYWRkaW5nLXh4c21hbGwtdmVydGljYWwge1xuICAgIHBhZGRpbmctdG9wOiAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDE2cHggIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2UtcGFkZGluZy14eHNtYWxsLWhvcml6b250YWwge1xuICAgIHBhZGRpbmctbGVmdDogMTZweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHggIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2UtcGFkZGluZy14eHNtYWxsLWxlZnQge1xuICAgIHBhZGRpbmctbGVmdDogMTZweCAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1wYWRkaW5nLXh4c21hbGwtcmlnaHQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHggIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2UtcGFkZGluZy14eHNtYWxsLXRvcCB7XG4gICAgcGFkZGluZy10b3A6IDE2cHggIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2UtcGFkZGluZy14eHNtYWxsLWJvdHRvbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDE2cHggIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2UtcGFkZGluZy14c21hbGwge1xuICAgIHBhZGRpbmc6IDIwcHggIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2UtcGFkZGluZy14c21hbGwtdmVydGljYWwge1xuICAgIHBhZGRpbmctdG9wOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHggIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2UtcGFkZGluZy14c21hbGwtaG9yaXpvbnRhbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogMjBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1wYWRkaW5nLXhzbWFsbC1sZWZ0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHggIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2UtcGFkZGluZy14c21hbGwtcmlnaHQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHggIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2UtcGFkZGluZy14c21hbGwtdG9wIHtcbiAgICBwYWRkaW5nLXRvcDogMjBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1wYWRkaW5nLXhzbWFsbC1ib3R0b20ge1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLXBhZGRpbmctc21hbGwge1xuICAgIHBhZGRpbmc6IDQwcHggIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2UtcGFkZGluZy1zbWFsbC12ZXJ0aWNhbCB7XG4gICAgcGFkZGluZy10b3A6IDQwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1wYWRkaW5nLXNtYWxsLWhvcml6b250YWwge1xuICAgIHBhZGRpbmctbGVmdDogNDBweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctcmlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2UtcGFkZGluZy1zbWFsbC1sZWZ0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHggIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2UtcGFkZGluZy1zbWFsbC1yaWdodCB7XG4gICAgcGFkZGluZy1yaWdodDogNDBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1wYWRkaW5nLXNtYWxsLXRvcCB7XG4gICAgcGFkZGluZy10b3A6IDQwcHggIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2UtcGFkZGluZy1zbWFsbC1ib3R0b20ge1xuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLXBhZGRpbmctbWVkaXVtIHtcbiAgICBwYWRkaW5nOiA1MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLXBhZGRpbmctbWVkaXVtLXZlcnRpY2FsIHtcbiAgICBwYWRkaW5nLXRvcDogNTBweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiA1MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLXBhZGRpbmctbWVkaXVtLWhvcml6b250YWwge1xuICAgIHBhZGRpbmctbGVmdDogNTBweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctcmlnaHQ6IDUwcHggIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2UtcGFkZGluZy1tZWRpdW0tbGVmdCB7XG4gICAgcGFkZGluZy1sZWZ0OiA1MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLXBhZGRpbmctbWVkaXVtLXJpZ2h0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLXBhZGRpbmctbWVkaXVtLXRvcCB7XG4gICAgcGFkZGluZy10b3A6IDUwcHggIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2UtcGFkZGluZy1tZWRpdW0tYm90dG9tIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1wYWRkaW5nLWxhcmdlIHtcbiAgICBwYWRkaW5nOiA4MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLXBhZGRpbmctbGFyZ2UtdmVydGljYWwge1xuICAgIHBhZGRpbmctdG9wOiA4MHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDgwcHggIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2UtcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDgwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLXBhZGRpbmctbGFyZ2UtbGVmdCB7XG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLXBhZGRpbmctbGFyZ2UtcmlnaHQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHggIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2UtcGFkZGluZy1sYXJnZS10b3Age1xuICAgIHBhZGRpbmctdG9wOiA4MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLXBhZGRpbmctbGFyZ2UtYm90dG9tIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogODBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1wYWRkaW5nLXhsYXJnZSB7XG4gICAgcGFkZGluZzogMTEwcHggIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2UtcGFkZGluZy14bGFyZ2UtdmVydGljYWwge1xuICAgIHBhZGRpbmctdG9wOiAxMTBweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMTBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1wYWRkaW5nLXhsYXJnZS1ob3Jpem9udGFsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDExMHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogMTEwcHggIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2UtcGFkZGluZy14bGFyZ2UtbGVmdCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMTBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1wYWRkaW5nLXhsYXJnZS1yaWdodCB7XG4gICAgcGFkZGluZy1yaWdodDogMTEwcHggIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2UtcGFkZGluZy14bGFyZ2UtdG9wIHtcbiAgICBwYWRkaW5nLXRvcDogMTEwcHggIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2UtcGFkZGluZy14bGFyZ2UtYm90dG9tIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTEwcHggIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2UtcGFkZGluZy14eGxhcmdlIHtcbiAgICBwYWRkaW5nOiAyMDBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1wYWRkaW5nLXh4bGFyZ2UtdmVydGljYWwge1xuICAgIHBhZGRpbmctdG9wOiAyMDBweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAyMDBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1wYWRkaW5nLXh4bGFyZ2UtaG9yaXpvbnRhbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMDBweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLXBhZGRpbmcteHhsYXJnZS1sZWZ0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLXBhZGRpbmcteHhsYXJnZS1yaWdodCB7XG4gICAgcGFkZGluZy1yaWdodDogMjAwcHggIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2UtcGFkZGluZy14eGxhcmdlLXRvcCB7XG4gICAgcGFkZGluZy10b3A6IDIwMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLXBhZGRpbmcteHhsYXJnZS1ib3R0b20ge1xuICAgIHBhZGRpbmctYm90dG9tOiAyMDBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1wYWRkaW5nLTMwIHtcbiAgICBwYWRkaW5nOiAzMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLXBhZGRpbmctMzAtdmVydGljYWwge1xuICAgIHBhZGRpbmctdG9wOiAzMHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDMwcHggIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2UtcGFkZGluZy0zMC1ob3Jpem9udGFsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLXBhZGRpbmctMzAtbGVmdCB7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLXBhZGRpbmctMzAtcmlnaHQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHggIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2UtcGFkZGluZy0zMC10b3Age1xuICAgIHBhZGRpbmctdG9wOiAzMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLXBhZGRpbmctMzAtYm90dG9tIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweCAhaW1wb3J0YW50O1xuICB9XG59XG4ubm8tcGFkZGluZyB7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cblxuLm5vLXBhZGRpbmctdmVydGljYWwge1xuICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4ubm8tcGFkZGluZy1ob3Jpem9udGFsIHtcbiAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbn1cblxuLm5vLXBhZGRpbmctbGVmdCB7XG4gIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xufVxuXG4ubm8tcGFkZGluZy1yaWdodCB7XG4gIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbn1cblxuLm5vLXBhZGRpbmctdG9wIHtcbiAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbn1cblxuLm5vLXBhZGRpbmctYm90dG9tIHtcbiAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3Ljk5ODc1ZW0pIHtcbiAgLnNtYWxsLW9ubHktbm8tcGFkZGluZyB7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LW5vLXBhZGRpbmctdmVydGljYWwge1xuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1uby1wYWRkaW5nLWhvcml6b250YWwge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1uby1wYWRkaW5nLWxlZnQge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LW5vLXBhZGRpbmctcmlnaHQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1uby1wYWRkaW5nLXRvcCB7XG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1uby1wYWRkaW5nLWJvdHRvbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm1lZGl1bS1uby1wYWRkaW5nIHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1uby1wYWRkaW5nLXZlcnRpY2FsIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1uby1wYWRkaW5nLWhvcml6b250YWwge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW5vLXBhZGRpbmctbGVmdCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1uby1wYWRkaW5nLXJpZ2h0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1uby1wYWRkaW5nLXRvcCB7XG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW5vLXBhZGRpbmctYm90dG9tIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDY4Ljc0ODc1ZW0pIHtcbiAgLm1lZGl1bS1vbmx5LW5vLXBhZGRpbmcge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9ubHktbm8tcGFkZGluZy12ZXJ0aWNhbCB7XG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS1uby1wYWRkaW5nLWhvcml6b250YWwge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9ubHktbm8tcGFkZGluZy1sZWZ0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9ubHktbm8tcGFkZGluZy1yaWdodCB7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS1uby1wYWRkaW5nLXRvcCB7XG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9ubHktbm8tcGFkZGluZy1ib3R0b20ge1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2OC43NWVtKSB7XG4gIC5sYXJnZS1uby1wYWRkaW5nIHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLW5vLXBhZGRpbmctdmVydGljYWwge1xuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2Utbm8tcGFkZGluZy1ob3Jpem9udGFsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLW5vLXBhZGRpbmctbGVmdCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLW5vLXBhZGRpbmctcmlnaHQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2Utbm8tcGFkZGluZy10b3Age1xuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLW5vLXBhZGRpbmctYm90dG9tIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG59XG4uZGlzcGxheS1ub25lIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uZGlzcGxheS1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG5cbi5kaXNwbGF5LWlubGluZS1ibG9jayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xufVxuXG4uZGlzcGxheS1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbn1cblxuLmRpc3BsYXktZmxleCB7XG4gIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3Ljk5ODc1ZW0pIHtcbiAgLnNtYWxsLW9ubHktZGlzcGxheS1ub25lIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLW9ubHktZGlzcGxheS1ibG9jayB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1kaXNwbGF5LWlubGluZS1ibG9jayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLW9ubHktZGlzcGxheS1pbmxpbmUge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LWRpc3BsYXktZmxleCB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubWVkaXVtLWRpc3BsYXktbm9uZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tZGlzcGxheS1ibG9jayB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLWRpc3BsYXktaW5saW5lLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLWRpc3BsYXktaW5saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLWRpc3BsYXktZmxleCB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDY4Ljc0ODc1ZW0pIHtcbiAgLm1lZGl1bS1vbmx5LWRpc3BsYXktbm9uZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS1kaXNwbGF5LWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS1kaXNwbGF5LWlubGluZS1ibG9jayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LWRpc3BsYXktaW5saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9ubHktZGlzcGxheS1mbGV4IHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2OC43NWVtKSB7XG4gIC5sYXJnZS1kaXNwbGF5LW5vbmUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2UtZGlzcGxheS1ibG9jayB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2UtZGlzcGxheS1pbmxpbmUtYmxvY2sge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1kaXNwbGF5LWlubGluZSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLWRpc3BsYXktZmxleCB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICB9XG59XG4uZmxleC1kaXJlY3Rpb24tcm93IHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50O1xufVxuXG4uZmxleC1kaXJlY3Rpb24tY29sdW1uIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTk4NzVlbSkge1xuICAuc21hbGwtb25seS1mbGV4LWRpcmVjdGlvbi1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1mbGV4LWRpcmVjdGlvbi1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm1lZGl1bS1mbGV4LWRpcmVjdGlvbi1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLWZsZXgtZGlyZWN0aW9uLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDY4Ljc0ODc1ZW0pIHtcbiAgLm1lZGl1bS1vbmx5LWZsZXgtZGlyZWN0aW9uLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS1mbGV4LWRpcmVjdGlvbi1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY4Ljc1ZW0pIHtcbiAgLmxhcmdlLWZsZXgtZGlyZWN0aW9uLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1mbGV4LWRpcmVjdGlvbi1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDtcbiAgfVxufVxuLmFsaWduLWl0ZW1zLXN0YXJ0IHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbn1cblxuLmFsaWduLWl0ZW1zLWNlbnRlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbn1cblxuLmFsaWduLWl0ZW1zLWVuZCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZCAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTk4NzVlbSkge1xuICAuc21hbGwtb25seS1hbGlnbi1pdGVtcy1zdGFydCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1hbGlnbi1pdGVtcy1jZW50ZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1hbGlnbi1pdGVtcy1lbmQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubWVkaXVtLWFsaWduLWl0ZW1zLXN0YXJ0IHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tYWxpZ24taXRlbXMtY2VudGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1hbGlnbi1pdGVtcy1lbmQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDY4Ljc0ODc1ZW0pIHtcbiAgLm1lZGl1bS1vbmx5LWFsaWduLWl0ZW1zLXN0YXJ0IHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS1hbGlnbi1pdGVtcy1jZW50ZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9ubHktYWxpZ24taXRlbXMtZW5kIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY4Ljc1ZW0pIHtcbiAgLmxhcmdlLWFsaWduLWl0ZW1zLXN0YXJ0IHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1hbGlnbi1pdGVtcy1jZW50ZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2UtYWxpZ24taXRlbXMtZW5kIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgfVxufVxuLmp1c3RpZnktY29udGVudC1zdGFydCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xufVxuXG4uanVzdGlmeS1jb250ZW50LWNlbnRlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG59XG5cbi5qdXN0aWZ5LWNvbnRlbnQtZW5kIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50O1xufVxuXG4uanVzdGlmeS1jb250ZW50LWJldHdlZW4ge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3Ljk5ODc1ZW0pIHtcbiAgLnNtYWxsLW9ubHktanVzdGlmeS1jb250ZW50LXN0YXJ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1qdXN0aWZ5LWNvbnRlbnQtY2VudGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LWp1c3RpZnktY29udGVudC1lbmQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1qdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tZWRpdW0tanVzdGlmeS1jb250ZW50LXN0YXJ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLWp1c3RpZnktY29udGVudC1jZW50ZXIge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1qdXN0aWZ5LWNvbnRlbnQtZW5kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1qdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjguNzQ4NzVlbSkge1xuICAubWVkaXVtLW9ubHktanVzdGlmeS1jb250ZW50LXN0YXJ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9ubHktanVzdGlmeS1jb250ZW50LWNlbnRlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9ubHktanVzdGlmeS1jb250ZW50LWVuZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS1qdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2OC43NWVtKSB7XG4gIC5sYXJnZS1qdXN0aWZ5LWNvbnRlbnQtc3RhcnQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1qdXN0aWZ5LWNvbnRlbnQtY2VudGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1qdXN0aWZ5LWNvbnRlbnQtZW5kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLWp1c3RpZnktY29udGVudC1iZXR3ZWVuIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDtcbiAgfVxufVxuLm9yZGVyLTEge1xuICBvcmRlcjogMSAhaW1wb3J0YW50O1xufVxuXG4ub3JkZXItMiB7XG4gIG9yZGVyOiAyICFpbXBvcnRhbnQ7XG59XG5cbi5vcmRlci0zIHtcbiAgb3JkZXI6IDMgIWltcG9ydGFudDtcbn1cblxuLm9yZGVyLTQge1xuICBvcmRlcjogNCAhaW1wb3J0YW50O1xufVxuXG4ub3JkZXItNSB7XG4gIG9yZGVyOiA1ICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45OTg3NWVtKSB7XG4gIC5zbWFsbC1vbmx5LW9yZGVyLTEge1xuICAgIG9yZGVyOiAxICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLW9ubHktb3JkZXItMiB7XG4gICAgb3JkZXI6IDIgIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1vcmRlci0zIHtcbiAgICBvcmRlcjogMyAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LW9yZGVyLTQge1xuICAgIG9yZGVyOiA0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLW9ubHktb3JkZXItNSB7XG4gICAgb3JkZXI6IDUgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm1lZGl1bS1vcmRlci0xIHtcbiAgICBvcmRlcjogMSAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb3JkZXItMiB7XG4gICAgb3JkZXI6IDIgIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vcmRlci00IHtcbiAgICBvcmRlcjogNCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb3JkZXItNSB7XG4gICAgb3JkZXI6IDUgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2OC43NDg3NWVtKSB7XG4gIC5tZWRpdW0tb25seS1vcmRlci0xIHtcbiAgICBvcmRlcjogMSAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS1vcmRlci0yIHtcbiAgICBvcmRlcjogMiAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS1vcmRlci0zIHtcbiAgICBvcmRlcjogMyAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS1vcmRlci00IHtcbiAgICBvcmRlcjogNCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS1vcmRlci01IHtcbiAgICBvcmRlcjogNSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjguNzVlbSkge1xuICAubGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDEgIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDIgIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2Utb3JkZXItMyB7XG4gICAgb3JkZXI6IDMgIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQgIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDUgIWltcG9ydGFudDtcbiAgfVxufVxuLm1heC13aWR0aC0xOTUge1xuICBtYXgtd2lkdGg6IDE5NXB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tYXgtd2lkdGgtMjIwIHtcbiAgbWF4LXdpZHRoOiAyMjBweCAhaW1wb3J0YW50O1xufVxuXG4ubWF4LXdpZHRoLTI0MCB7XG4gIG1heC13aWR0aDogMjQwcHggIWltcG9ydGFudDtcbn1cblxuLm1heC13aWR0aC0xMjcwIHtcbiAgbWF4LXdpZHRoOiAxMjcwcHggIWltcG9ydGFudDtcbn1cblxuLm1heC13aWR0aC0zNS1wY3Qge1xuICBtYXgtd2lkdGg6IDM1JSAhaW1wb3J0YW50O1xufVxuXG4ubWF4LXdpZHRoLTUwLXBjdCB7XG4gIG1heC13aWR0aDogNTAlICFpbXBvcnRhbnQ7XG59XG5cbi5tYXgtd2lkdGgtMTAwLXBjdCB7XG4gIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTk4NzVlbSkge1xuICAuc21hbGwtb25seS1tYXgtd2lkdGgtMTk1IHtcbiAgICBtYXgtd2lkdGg6IDE5NXB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLW9ubHktbWF4LXdpZHRoLTIyMCB7XG4gICAgbWF4LXdpZHRoOiAyMjBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LW1heC13aWR0aC0yNDAge1xuICAgIG1heC13aWR0aDogMjQwcHggIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1tYXgtd2lkdGgtMTI3MCB7XG4gICAgbWF4LXdpZHRoOiAxMjcwcHggIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1tYXgtd2lkdGgtMzUtcGN0IHtcbiAgICBtYXgtd2lkdGg6IDM1JSAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LW1heC13aWR0aC01MC1wY3Qge1xuICAgIG1heC13aWR0aDogNTAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLW9ubHktbWF4LXdpZHRoLTEwMC1wY3Qge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubWVkaXVtLW1heC13aWR0aC0xOTUge1xuICAgIG1heC13aWR0aDogMTk1cHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW1heC13aWR0aC0yMjAge1xuICAgIG1heC13aWR0aDogMjIwcHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW1heC13aWR0aC0yNDAge1xuICAgIG1heC13aWR0aDogMjQwcHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW1heC13aWR0aC0xMjcwIHtcbiAgICBtYXgtd2lkdGg6IDEyNzBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tbWF4LXdpZHRoLTM1LXBjdCB7XG4gICAgbWF4LXdpZHRoOiAzNSUgIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW1heC13aWR0aC01MC1wY3Qge1xuICAgIG1heC13aWR0aDogNTAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1tYXgtd2lkdGgtMTAwLXBjdCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjguNzQ4NzVlbSkge1xuICAubWVkaXVtLW9ubHktbWF4LXdpZHRoLTE5NSB7XG4gICAgbWF4LXdpZHRoOiAxOTVweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS1tYXgtd2lkdGgtMjIwIHtcbiAgICBtYXgtd2lkdGg6IDIyMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LW1heC13aWR0aC0yNDAge1xuICAgIG1heC13aWR0aDogMjQwcHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9ubHktbWF4LXdpZHRoLTEyNzAge1xuICAgIG1heC13aWR0aDogMTI3MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LW1heC13aWR0aC0zNS1wY3Qge1xuICAgIG1heC13aWR0aDogMzUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LW1heC13aWR0aC01MC1wY3Qge1xuICAgIG1heC13aWR0aDogNTAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LW1heC13aWR0aC0xMDAtcGN0IHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY4Ljc1ZW0pIHtcbiAgLmxhcmdlLW1heC13aWR0aC0xOTUge1xuICAgIG1heC13aWR0aDogMTk1cHggIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2UtbWF4LXdpZHRoLTIyMCB7XG4gICAgbWF4LXdpZHRoOiAyMjBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1tYXgtd2lkdGgtMjQwIHtcbiAgICBtYXgtd2lkdGg6IDI0MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLW1heC13aWR0aC0xMjcwIHtcbiAgICBtYXgtd2lkdGg6IDEyNzBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1tYXgtd2lkdGgtMzUtcGN0IHtcbiAgICBtYXgtd2lkdGg6IDM1JSAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1tYXgtd2lkdGgtNTAtcGN0IHtcbiAgICBtYXgtd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1tYXgtd2lkdGgtMTAwLXBjdCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi5taW4td2lkdGgtNTAtcGN0IHtcbiAgbWluLXdpZHRoOiA1MCUgIWltcG9ydGFudDtcbn1cblxuLm1pbi13aWR0aC0xMDAtcGN0IHtcbiAgbWluLXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45OTg3NWVtKSB7XG4gIC5zbWFsbC1vbmx5LW1pbi13aWR0aC01MC1wY3Qge1xuICAgIG1pbi13aWR0aDogNTAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLW9ubHktbWluLXdpZHRoLTEwMC1wY3Qge1xuICAgIG1pbi13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubWVkaXVtLW1pbi13aWR0aC01MC1wY3Qge1xuICAgIG1pbi13aWR0aDogNTAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1taW4td2lkdGgtMTAwLXBjdCB7XG4gICAgbWluLXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjguNzQ4NzVlbSkge1xuICAubWVkaXVtLW9ubHktbWluLXdpZHRoLTUwLXBjdCB7XG4gICAgbWluLXdpZHRoOiA1MCUgIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9ubHktbWluLXdpZHRoLTEwMC1wY3Qge1xuICAgIG1pbi13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjguNzVlbSkge1xuICAubGFyZ2UtbWluLXdpZHRoLTUwLXBjdCB7XG4gICAgbWluLXdpZHRoOiA1MCUgIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2UtbWluLXdpZHRoLTEwMC1wY3Qge1xuICAgIG1pbi13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG59XG4uaGVpZ2h0LTUwLXBjdCB7XG4gIGhlaWdodDogNTAlICFpbXBvcnRhbnQ7XG59XG5cbi5oZWlnaHQtMTAwLXBjdCB7XG4gIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTk4NzVlbSkge1xuICAuc21hbGwtb25seS1oZWlnaHQtNTAtcGN0IHtcbiAgICBoZWlnaHQ6IDUwJSAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LWhlaWdodC0xMDAtcGN0IHtcbiAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm1lZGl1bS1oZWlnaHQtNTAtcGN0IHtcbiAgICBoZWlnaHQ6IDUwJSAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0taGVpZ2h0LTEwMC1wY3Qge1xuICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDY4Ljc0ODc1ZW0pIHtcbiAgLm1lZGl1bS1vbmx5LWhlaWdodC01MC1wY3Qge1xuICAgIGhlaWdodDogNTAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LWhlaWdodC0xMDAtcGN0IHtcbiAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY4Ljc1ZW0pIHtcbiAgLmxhcmdlLWhlaWdodC01MC1wY3Qge1xuICAgIGhlaWdodDogNTAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLWhlaWdodC0xMDAtcGN0IHtcbiAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxufVxuLm1pbi1oZWlnaHQtODUwIHtcbiAgbWluLWhlaWdodDogODUwcHggIWltcG9ydGFudDtcbn1cblxuLm1pbi1oZWlnaHQtNTAtcGN0IHtcbiAgbWluLWhlaWdodDogNTAlICFpbXBvcnRhbnQ7XG59XG5cbi5taW4taGVpZ2h0LTEwMC1wY3Qge1xuICBtaW4taGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi5taW4taGVpZ2h0LTEwMC12aCB7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45OTg3NWVtKSB7XG4gIC5zbWFsbC1vbmx5LW1pbi1oZWlnaHQtODUwIHtcbiAgICBtaW4taGVpZ2h0OiA4NTBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LW1pbi1oZWlnaHQtNTAtcGN0IHtcbiAgICBtaW4taGVpZ2h0OiA1MCUgIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1taW4taGVpZ2h0LTEwMC1wY3Qge1xuICAgIG1pbi1oZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1taW4taGVpZ2h0LTEwMC12aCB7XG4gICAgbWluLWhlaWdodDogMTAwdmggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm1lZGl1bS1taW4taGVpZ2h0LTg1MCB7XG4gICAgbWluLWhlaWdodDogODUwcHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW1pbi1oZWlnaHQtNTAtcGN0IHtcbiAgICBtaW4taGVpZ2h0OiA1MCUgIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW1pbi1oZWlnaHQtMTAwLXBjdCB7XG4gICAgbWluLWhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tbWluLWhlaWdodC0xMDAtdmgge1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjguNzQ4NzVlbSkge1xuICAubWVkaXVtLW9ubHktbWluLWhlaWdodC04NTAge1xuICAgIG1pbi1oZWlnaHQ6IDg1MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LW1pbi1oZWlnaHQtNTAtcGN0IHtcbiAgICBtaW4taGVpZ2h0OiA1MCUgIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9ubHktbWluLWhlaWdodC0xMDAtcGN0IHtcbiAgICBtaW4taGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LW1pbi1oZWlnaHQtMTAwLXZoIHtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjguNzVlbSkge1xuICAubGFyZ2UtbWluLWhlaWdodC04NTAge1xuICAgIG1pbi1oZWlnaHQ6IDg1MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLW1pbi1oZWlnaHQtNTAtcGN0IHtcbiAgICBtaW4taGVpZ2h0OiA1MCUgIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2UtbWluLWhlaWdodC0xMDAtcGN0IHtcbiAgICBtaW4taGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLW1pbi1oZWlnaHQtMTAwLXZoIHtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aCAhaW1wb3J0YW50O1xuICB9XG59XG4uc2l6ZS0xMiB7XG4gIGZvbnQtc2l6ZTogMTJweCAhaW1wb3J0YW50O1xufVxuXG4uc2l6ZS0xNiB7XG4gIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xufVxuXG4uc2l6ZS0yNCB7XG4gIGZvbnQtc2l6ZTogMjRweCAhaW1wb3J0YW50O1xufVxuXG4uc2l6ZS0zMiB7XG4gIGZvbnQtc2l6ZTogMzJweCAhaW1wb3J0YW50O1xufVxuXG4uc2l6ZS00MCB7XG4gIGZvbnQtc2l6ZTogNDBweCAhaW1wb3J0YW50O1xufVxuXG4uc2l6ZS05NiB7XG4gIGZvbnQtc2l6ZTogOTZweCAhaW1wb3J0YW50O1xufVxuXG4uc2l6ZS0zODAge1xuICBmb250LXNpemU6IDM4MHB4ICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45OTg3NWVtKSB7XG4gIC5zbWFsbC1vbmx5LXNpemUtMTIge1xuICAgIGZvbnQtc2l6ZTogMTJweCAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LXNpemUtMTYge1xuICAgIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LXNpemUtMjQge1xuICAgIGZvbnQtc2l6ZTogMjRweCAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LXNpemUtMzIge1xuICAgIGZvbnQtc2l6ZTogMzJweCAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LXNpemUtNDAge1xuICAgIGZvbnQtc2l6ZTogNDBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LXNpemUtOTYge1xuICAgIGZvbnQtc2l6ZTogOTZweCAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LXNpemUtMzgwIHtcbiAgICBmb250LXNpemU6IDM4MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tZWRpdW0tc2l6ZS0xMiB7XG4gICAgZm9udC1zaXplOiAxMnB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1zaXplLTE2IHtcbiAgICBmb250LXNpemU6IDE2cHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLXNpemUtMjQge1xuICAgIGZvbnQtc2l6ZTogMjRweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tc2l6ZS0zMiB7XG4gICAgZm9udC1zaXplOiAzMnB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1zaXplLTQwIHtcbiAgICBmb250LXNpemU6IDQwcHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLXNpemUtOTYge1xuICAgIGZvbnQtc2l6ZTogOTZweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tc2l6ZS0zODAge1xuICAgIGZvbnQtc2l6ZTogMzgwcHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2OC43NDg3NWVtKSB7XG4gIC5tZWRpdW0tb25seS1zaXplLTEyIHtcbiAgICBmb250LXNpemU6IDEycHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9ubHktc2l6ZS0xNiB7XG4gICAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LXNpemUtMjQge1xuICAgIGZvbnQtc2l6ZTogMjRweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS1zaXplLTMyIHtcbiAgICBmb250LXNpemU6IDMycHggIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9ubHktc2l6ZS00MCB7XG4gICAgZm9udC1zaXplOiA0MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LXNpemUtOTYge1xuICAgIGZvbnQtc2l6ZTogOTZweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS1zaXplLTM4MCB7XG4gICAgZm9udC1zaXplOiAzODBweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjguNzVlbSkge1xuICAubGFyZ2Utc2l6ZS0xMiB7XG4gICAgZm9udC1zaXplOiAxMnB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLXNpemUtMTYge1xuICAgIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1zaXplLTI0IHtcbiAgICBmb250LXNpemU6IDI0cHggIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2Utc2l6ZS0zMiB7XG4gICAgZm9udC1zaXplOiAzMnB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLXNpemUtNDAge1xuICAgIGZvbnQtc2l6ZTogNDBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1zaXplLTk2IHtcbiAgICBmb250LXNpemU6IDk2cHggIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2Utc2l6ZS0zODAge1xuICAgIGZvbnQtc2l6ZTogMzgwcHggIWltcG9ydGFudDtcbiAgfVxufVxuLmxpbmUtMSB7XG4gIGxpbmUtaGVpZ2h0OiAxICFpbXBvcnRhbnQ7XG59XG5cbi5saW5lLTEtMiB7XG4gIGxpbmUtaGVpZ2h0OiAxLjIgIWltcG9ydGFudDtcbn1cblxuLmxpbmUtMS0zIHtcbiAgbGluZS1oZWlnaHQ6IDEuMyAhaW1wb3J0YW50O1xufVxuXG4ubGluZS0xLTUge1xuICBsaW5lLWhlaWdodDogMS41ICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45OTg3NWVtKSB7XG4gIC5zbWFsbC1vbmx5LWxpbmUtMSB7XG4gICAgbGluZS1oZWlnaHQ6IDEgIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1saW5lLTEtMiB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMiAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LWxpbmUtMS0zIHtcbiAgICBsaW5lLWhlaWdodDogMS4zICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLW9ubHktbGluZS0xLTUge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjUgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm1lZGl1bS1saW5lLTEge1xuICAgIGxpbmUtaGVpZ2h0OiAxICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1saW5lLTEtMiB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMiAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tbGluZS0xLTMge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMgIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLWxpbmUtMS01IHtcbiAgICBsaW5lLWhlaWdodDogMS41ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjguNzQ4NzVlbSkge1xuICAubWVkaXVtLW9ubHktbGluZS0xIHtcbiAgICBsaW5lLWhlaWdodDogMSAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS1saW5lLTEtMiB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMiAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS1saW5lLTEtMyB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMyAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS1saW5lLTEtNSB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjguNzVlbSkge1xuICAubGFyZ2UtbGluZS0xIHtcbiAgICBsaW5lLWhlaWdodDogMSAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1saW5lLTEtMiB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMiAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1saW5lLTEtMyB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMyAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1saW5lLTEtNSB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNSAhaW1wb3J0YW50O1xuICB9XG59XG4ud2VpZ2h0LW5vcm1hbCB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcbn1cblxuLndlaWdodC1ib2xkIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQgIWltcG9ydGFudDtcbn1cblxuLndlaWdodC0zMDAge1xuICBmb250LXdlaWdodDogMzAwICFpbXBvcnRhbnQ7XG59XG5cbi53ZWlnaHQtNDAwIHtcbiAgZm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50O1xufVxuXG4ud2VpZ2h0LTUwMCB7XG4gIGZvbnQtd2VpZ2h0OiA1MDAgIWltcG9ydGFudDtcbn1cblxuLndlaWdodC02MDAge1xuICBmb250LXdlaWdodDogNjAwICFpbXBvcnRhbnQ7XG59XG5cbi53ZWlnaHQtNzAwIHtcbiAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50O1xufVxuXG4ud2VpZ2h0LTgwMCB7XG4gIGZvbnQtd2VpZ2h0OiA4MDAgIWltcG9ydGFudDtcbn1cblxuLndlaWdodC05MDAge1xuICBmb250LXdlaWdodDogOTAwICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45OTg3NWVtKSB7XG4gIC5zbWFsbC1vbmx5LXdlaWdodC1ub3JtYWwge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS13ZWlnaHQtYm9sZCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQgIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS13ZWlnaHQtMzAwIHtcbiAgICBmb250LXdlaWdodDogMzAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLW9ubHktd2VpZ2h0LTQwMCB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LXdlaWdodC01MDAge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDAgIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS13ZWlnaHQtNjAwIHtcbiAgICBmb250LXdlaWdodDogNjAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLW9ubHktd2VpZ2h0LTcwMCB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LXdlaWdodC04MDAge1xuICAgIGZvbnQtd2VpZ2h0OiA4MDAgIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS13ZWlnaHQtOTAwIHtcbiAgICBmb250LXdlaWdodDogOTAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tZWRpdW0td2VpZ2h0LW5vcm1hbCB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0td2VpZ2h0LWJvbGQge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS13ZWlnaHQtMzAwIHtcbiAgICBmb250LXdlaWdodDogMzAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS13ZWlnaHQtNDAwIHtcbiAgICBmb250LXdlaWdodDogNDAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS13ZWlnaHQtNTAwIHtcbiAgICBmb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS13ZWlnaHQtNjAwIHtcbiAgICBmb250LXdlaWdodDogNjAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS13ZWlnaHQtNzAwIHtcbiAgICBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS13ZWlnaHQtODAwIHtcbiAgICBmb250LXdlaWdodDogODAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS13ZWlnaHQtOTAwIHtcbiAgICBmb250LXdlaWdodDogOTAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjguNzQ4NzVlbSkge1xuICAubWVkaXVtLW9ubHktd2VpZ2h0LW5vcm1hbCB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS13ZWlnaHQtYm9sZCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQgIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9ubHktd2VpZ2h0LTMwMCB7XG4gICAgZm9udC13ZWlnaHQ6IDMwMCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS13ZWlnaHQtNDAwIHtcbiAgICBmb250LXdlaWdodDogNDAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LXdlaWdodC01MDAge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDAgIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9ubHktd2VpZ2h0LTYwMCB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS13ZWlnaHQtNzAwIHtcbiAgICBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LXdlaWdodC04MDAge1xuICAgIGZvbnQtd2VpZ2h0OiA4MDAgIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9ubHktd2VpZ2h0LTkwMCB7XG4gICAgZm9udC13ZWlnaHQ6IDkwMCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjguNzVlbSkge1xuICAubGFyZ2Utd2VpZ2h0LW5vcm1hbCB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS13ZWlnaHQtYm9sZCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQgIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2Utd2VpZ2h0LTMwMCB7XG4gICAgZm9udC13ZWlnaHQ6IDMwMCAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS13ZWlnaHQtNDAwIHtcbiAgICBmb250LXdlaWdodDogNDAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLXdlaWdodC01MDAge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDAgIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2Utd2VpZ2h0LTYwMCB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMCAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS13ZWlnaHQtNzAwIHtcbiAgICBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLXdlaWdodC04MDAge1xuICAgIGZvbnQtd2VpZ2h0OiA4MDAgIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2Utd2VpZ2h0LTkwMCB7XG4gICAgZm9udC13ZWlnaHQ6IDkwMCAhaW1wb3J0YW50O1xuICB9XG59XG4uYWxpZ24tbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5hbGlnbi1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uYWxpZ24tY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTk4NzVlbSkge1xuICAuc21hbGwtb25seS1hbGlnbi1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG4gIC5zbWFsbC1vbmx5LWFsaWduLXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuICAuc21hbGwtb25seS1hbGlnbi1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm1lZGl1bS1hbGlnbi1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG4gIC5tZWRpdW0tYWxpZ24tcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG4gIC5tZWRpdW0tYWxpZ24tY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjguNzQ4NzVlbSkge1xuICAubWVkaXVtLW9ubHktYWxpZ24tbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuICAubWVkaXVtLW9ubHktYWxpZ24tcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG4gIC5tZWRpdW0tb25seS1hbGlnbi1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY4Ljc1ZW0pIHtcbiAgLmxhcmdlLWFsaWduLWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgLmxhcmdlLWFsaWduLXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuICAubGFyZ2UtYWxpZ24tY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cbi50cmFuc2Zvcm0tY2FwaXRhbGl6ZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplICFpbXBvcnRhbnQ7XG59XG5cbi50cmFuc2Zvcm0tdXBwZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50O1xufVxuXG4udHJhbnNmb3JtLWxvd2VyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2UgIWltcG9ydGFudDtcbn1cblxuLmxldHRlci1zbWFsbCB7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA0ZW0gIWltcG9ydGFudDtcbn1cblxuLmxldHRlci1tZWRpdW0ge1xuICBsZXR0ZXItc3BhY2luZzogMC4wOGVtICFpbXBvcnRhbnQ7XG59XG5cbi5sZXR0ZXItbGFyZ2Uge1xuICBsZXR0ZXItc3BhY2luZzogMC4zM2VtICFpbXBvcnRhbnQ7XG59XG5cbi5jb2xvci1ibGFjayB7XG4gIGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG59XG4uY29sb3ItYmxhY2sgYSwgLmNvbG9yLWJsYWNrIGgxLCAuY29sb3ItYmxhY2sgLmgxLCAuY29sb3ItYmxhY2sgaDIsIC5jb2xvci1ibGFjayAuaDIsIC5jb2xvci1ibGFjayBoMywgLmNvbG9yLWJsYWNrIC5oMywgLmNvbG9yLWJsYWNrIGg0LCAuY29sb3ItYmxhY2sgLmg0LCAuY29sb3ItYmxhY2sgaDUsIC5jb2xvci1ibGFjayAuaDUsIC5jb2xvci1ibGFjayBoNiwgLmNvbG9yLWJsYWNrIC5oNiB7XG4gIGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG59XG5cbi5jb2xvci13aGl0ZSB7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG4uY29sb3Itd2hpdGUgYSwgLmNvbG9yLXdoaXRlIGgxLCAuY29sb3Itd2hpdGUgLmgxLCAuY29sb3Itd2hpdGUgaDIsIC5jb2xvci13aGl0ZSAuaDIsIC5jb2xvci13aGl0ZSBoMywgLmNvbG9yLXdoaXRlIC5oMywgLmNvbG9yLXdoaXRlIGg0LCAuY29sb3Itd2hpdGUgLmg0LCAuY29sb3Itd2hpdGUgaDUsIC5jb2xvci13aGl0ZSAuaDUsIC5jb2xvci13aGl0ZSBoNiwgLmNvbG9yLXdoaXRlIC5oNiB7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45OTg3NWVtKSB7XG4gIC5zbWFsbC1vbmx5LWNvbG9yLWJsYWNrIHtcbiAgICBjb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50O1xuICB9XG4gIC5zbWFsbC1vbmx5LWNvbG9yLWJsYWNrIGEsIC5zbWFsbC1vbmx5LWNvbG9yLWJsYWNrIGgxLCAuc21hbGwtb25seS1jb2xvci1ibGFjayAuaDEsIC5zbWFsbC1vbmx5LWNvbG9yLWJsYWNrIGgyLCAuc21hbGwtb25seS1jb2xvci1ibGFjayAuaDIsIC5zbWFsbC1vbmx5LWNvbG9yLWJsYWNrIGgzLCAuc21hbGwtb25seS1jb2xvci1ibGFjayAuaDMsIC5zbWFsbC1vbmx5LWNvbG9yLWJsYWNrIGg0LCAuc21hbGwtb25seS1jb2xvci1ibGFjayAuaDQsIC5zbWFsbC1vbmx5LWNvbG9yLWJsYWNrIGg1LCAuc21hbGwtb25seS1jb2xvci1ibGFjayAuaDUsIC5zbWFsbC1vbmx5LWNvbG9yLWJsYWNrIGg2LCAuc21hbGwtb25seS1jb2xvci1ibGFjayAuaDYge1xuICAgIGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLW9ubHktY29sb3Itd2hpdGUge1xuICAgIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNtYWxsLW9ubHktY29sb3Itd2hpdGUgYSwgLnNtYWxsLW9ubHktY29sb3Itd2hpdGUgaDEsIC5zbWFsbC1vbmx5LWNvbG9yLXdoaXRlIC5oMSwgLnNtYWxsLW9ubHktY29sb3Itd2hpdGUgaDIsIC5zbWFsbC1vbmx5LWNvbG9yLXdoaXRlIC5oMiwgLnNtYWxsLW9ubHktY29sb3Itd2hpdGUgaDMsIC5zbWFsbC1vbmx5LWNvbG9yLXdoaXRlIC5oMywgLnNtYWxsLW9ubHktY29sb3Itd2hpdGUgaDQsIC5zbWFsbC1vbmx5LWNvbG9yLXdoaXRlIC5oNCwgLnNtYWxsLW9ubHktY29sb3Itd2hpdGUgaDUsIC5zbWFsbC1vbmx5LWNvbG9yLXdoaXRlIC5oNSwgLnNtYWxsLW9ubHktY29sb3Itd2hpdGUgaDYsIC5zbWFsbC1vbmx5LWNvbG9yLXdoaXRlIC5oNiB7XG4gICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm1lZGl1bS1jb2xvci1ibGFjayB7XG4gICAgY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLWNvbG9yLWJsYWNrIGEsIC5tZWRpdW0tY29sb3ItYmxhY2sgaDEsIC5tZWRpdW0tY29sb3ItYmxhY2sgLmgxLCAubWVkaXVtLWNvbG9yLWJsYWNrIGgyLCAubWVkaXVtLWNvbG9yLWJsYWNrIC5oMiwgLm1lZGl1bS1jb2xvci1ibGFjayBoMywgLm1lZGl1bS1jb2xvci1ibGFjayAuaDMsIC5tZWRpdW0tY29sb3ItYmxhY2sgaDQsIC5tZWRpdW0tY29sb3ItYmxhY2sgLmg0LCAubWVkaXVtLWNvbG9yLWJsYWNrIGg1LCAubWVkaXVtLWNvbG9yLWJsYWNrIC5oNSwgLm1lZGl1bS1jb2xvci1ibGFjayBoNiwgLm1lZGl1bS1jb2xvci1ibGFjayAuaDYge1xuICAgIGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1jb2xvci13aGl0ZSB7XG4gICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLWNvbG9yLXdoaXRlIGEsIC5tZWRpdW0tY29sb3Itd2hpdGUgaDEsIC5tZWRpdW0tY29sb3Itd2hpdGUgLmgxLCAubWVkaXVtLWNvbG9yLXdoaXRlIGgyLCAubWVkaXVtLWNvbG9yLXdoaXRlIC5oMiwgLm1lZGl1bS1jb2xvci13aGl0ZSBoMywgLm1lZGl1bS1jb2xvci13aGl0ZSAuaDMsIC5tZWRpdW0tY29sb3Itd2hpdGUgaDQsIC5tZWRpdW0tY29sb3Itd2hpdGUgLmg0LCAubWVkaXVtLWNvbG9yLXdoaXRlIGg1LCAubWVkaXVtLWNvbG9yLXdoaXRlIC5oNSwgLm1lZGl1bS1jb2xvci13aGl0ZSBoNiwgLm1lZGl1bS1jb2xvci13aGl0ZSAuaDYge1xuICAgIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjguNzQ4NzVlbSkge1xuICAubWVkaXVtLW9ubHktY29sb3ItYmxhY2sge1xuICAgIGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LWNvbG9yLWJsYWNrIGEsIC5tZWRpdW0tb25seS1jb2xvci1ibGFjayBoMSwgLm1lZGl1bS1vbmx5LWNvbG9yLWJsYWNrIC5oMSwgLm1lZGl1bS1vbmx5LWNvbG9yLWJsYWNrIGgyLCAubWVkaXVtLW9ubHktY29sb3ItYmxhY2sgLmgyLCAubWVkaXVtLW9ubHktY29sb3ItYmxhY2sgaDMsIC5tZWRpdW0tb25seS1jb2xvci1ibGFjayAuaDMsIC5tZWRpdW0tb25seS1jb2xvci1ibGFjayBoNCwgLm1lZGl1bS1vbmx5LWNvbG9yLWJsYWNrIC5oNCwgLm1lZGl1bS1vbmx5LWNvbG9yLWJsYWNrIGg1LCAubWVkaXVtLW9ubHktY29sb3ItYmxhY2sgLmg1LCAubWVkaXVtLW9ubHktY29sb3ItYmxhY2sgaDYsIC5tZWRpdW0tb25seS1jb2xvci1ibGFjayAuaDYge1xuICAgIGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LWNvbG9yLXdoaXRlIHtcbiAgICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tb25seS1jb2xvci13aGl0ZSBhLCAubWVkaXVtLW9ubHktY29sb3Itd2hpdGUgaDEsIC5tZWRpdW0tb25seS1jb2xvci13aGl0ZSAuaDEsIC5tZWRpdW0tb25seS1jb2xvci13aGl0ZSBoMiwgLm1lZGl1bS1vbmx5LWNvbG9yLXdoaXRlIC5oMiwgLm1lZGl1bS1vbmx5LWNvbG9yLXdoaXRlIGgzLCAubWVkaXVtLW9ubHktY29sb3Itd2hpdGUgLmgzLCAubWVkaXVtLW9ubHktY29sb3Itd2hpdGUgaDQsIC5tZWRpdW0tb25seS1jb2xvci13aGl0ZSAuaDQsIC5tZWRpdW0tb25seS1jb2xvci13aGl0ZSBoNSwgLm1lZGl1bS1vbmx5LWNvbG9yLXdoaXRlIC5oNSwgLm1lZGl1bS1vbmx5LWNvbG9yLXdoaXRlIGg2LCAubWVkaXVtLW9ubHktY29sb3Itd2hpdGUgLmg2IHtcbiAgICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjguNzVlbSkge1xuICAubGFyZ2UtY29sb3ItYmxhY2sge1xuICAgIGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLWNvbG9yLWJsYWNrIGEsIC5sYXJnZS1jb2xvci1ibGFjayBoMSwgLmxhcmdlLWNvbG9yLWJsYWNrIC5oMSwgLmxhcmdlLWNvbG9yLWJsYWNrIGgyLCAubGFyZ2UtY29sb3ItYmxhY2sgLmgyLCAubGFyZ2UtY29sb3ItYmxhY2sgaDMsIC5sYXJnZS1jb2xvci1ibGFjayAuaDMsIC5sYXJnZS1jb2xvci1ibGFjayBoNCwgLmxhcmdlLWNvbG9yLWJsYWNrIC5oNCwgLmxhcmdlLWNvbG9yLWJsYWNrIGg1LCAubGFyZ2UtY29sb3ItYmxhY2sgLmg1LCAubGFyZ2UtY29sb3ItYmxhY2sgaDYsIC5sYXJnZS1jb2xvci1ibGFjayAuaDYge1xuICAgIGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhcmdlLWNvbG9yLXdoaXRlIHtcbiAgICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1jb2xvci13aGl0ZSBhLCAubGFyZ2UtY29sb3Itd2hpdGUgaDEsIC5sYXJnZS1jb2xvci13aGl0ZSAuaDEsIC5sYXJnZS1jb2xvci13aGl0ZSBoMiwgLmxhcmdlLWNvbG9yLXdoaXRlIC5oMiwgLmxhcmdlLWNvbG9yLXdoaXRlIGgzLCAubGFyZ2UtY29sb3Itd2hpdGUgLmgzLCAubGFyZ2UtY29sb3Itd2hpdGUgaDQsIC5sYXJnZS1jb2xvci13aGl0ZSAuaDQsIC5sYXJnZS1jb2xvci13aGl0ZSBoNSwgLmxhcmdlLWNvbG9yLXdoaXRlIC5oNSwgLmxhcmdlLWNvbG9yLXdoaXRlIGg2LCAubGFyZ2UtY29sb3Itd2hpdGUgLmg2IHtcbiAgICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICB9XG59XG4uYmFja2dyb3VuZC1ibGFjayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDtcbn1cblxuLmJhY2tncm91bmQtd2hpdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45OTg3NWVtKSB7XG4gIC5zbWFsbC1vbmx5LWJhY2tncm91bmQtYmxhY2sge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1iYWNrZ3JvdW5kLXdoaXRlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tZWRpdW0tYmFja2dyb3VuZC1ibGFjayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZWRpdW0tYmFja2dyb3VuZC13aGl0ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDY4Ljc0ODc1ZW0pIHtcbiAgLm1lZGl1bS1vbmx5LWJhY2tncm91bmQtYmxhY2sge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9ubHktYmFja2dyb3VuZC13aGl0ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjguNzVlbSkge1xuICAubGFyZ2UtYmFja2dyb3VuZC1ibGFjayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1iYWNrZ3JvdW5kLXdoaXRlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi5ib3JkZXItd2hpdGUge1xuICBib3JkZXI6IDFweCBzb2xpZCAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItYmxhY2sge1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDAwMDAwICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItbm9uZSB7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTk4NzVlbSkge1xuICAuc21hbGwtb25seS1ib3JkZXItd2hpdGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNGRkZGRkYgIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1ib3JkZXItYmxhY2sge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDAwMDAgIWltcG9ydGFudDtcbiAgfVxuICAuc21hbGwtb25seS1ib3JkZXItbm9uZSB7XG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tZWRpdW0tYm9yZGVyLXdoaXRlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1ib3JkZXItYmxhY2sge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDAwMDAgIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLWJvcmRlci1ub25lIHtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2OC43NDg3NWVtKSB7XG4gIC5tZWRpdW0tb25seS1ib3JkZXItd2hpdGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNGRkZGRkYgIWltcG9ydGFudDtcbiAgfVxuICAubWVkaXVtLW9ubHktYm9yZGVyLWJsYWNrIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwMDAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS1vbmx5LWJvcmRlci1ub25lIHtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY4Ljc1ZW0pIHtcbiAgLmxhcmdlLWJvcmRlci13aGl0ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0ZGRkZGRiAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS1ib3JkZXItYmxhY2sge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDAwMDAgIWltcG9ydGFudDtcbiAgfVxuICAubGFyZ2UtYm9yZGVyLW5vbmUge1xuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4uYm9yZGVyLXRvcC13aGl0ZSB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItdG9wLWJsYWNrIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMwMDAwMDAgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci10b3Atbm9uZSB7XG4gIGJvcmRlci10b3A6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3Ljk5ODc1ZW0pIHtcbiAgLnNtYWxsLW9ubHktYm9yZGVyLXRvcC1ub25lIHtcbiAgICBib3JkZXItdG9wOiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tZWRpdW0tYm9yZGVyLXRvcC1ub25lIHtcbiAgICBib3JkZXItdG9wOiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjguNzQ4NzVlbSkge1xuICAubWVkaXVtLW9ubHktYm9yZGVyLXRvcC1ub25lIHtcbiAgICBib3JkZXItdG9wOiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2OC43NWVtKSB7XG4gIC5sYXJnZS1ib3JkZXItdG9wLW5vbmUge1xuICAgIGJvcmRlci10b3A6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLmJvcmRlci1ib3R0b20td2hpdGUge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLWJvdHRvbS1ibGFjayB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwMDAwICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItYm90dG9tLW5vbmUge1xuICBib3JkZXItYm90dG9tOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45OTg3NWVtKSB7XG4gIC5zbWFsbC1vbmx5LWJvcmRlci1ib3R0b20tbm9uZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubWVkaXVtLWJvcmRlci1ib3R0b20tbm9uZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDY4Ljc0ODc1ZW0pIHtcbiAgLm1lZGl1bS1vbmx5LWJvcmRlci1ib3R0b20tbm9uZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjguNzVlbSkge1xuICAubGFyZ2UtYm9yZGVyLWJvdHRvbS1ub25lIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi5ib3JkZXItbGVmdC13aGl0ZSB7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLWxlZnQtYmxhY2sge1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICMwMDAwMDAgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1sZWZ0LW5vbmUge1xuICBib3JkZXItbGVmdDogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTk4NzVlbSkge1xuICAuc21hbGwtb25seS1ib3JkZXItbGVmdC1ub25lIHtcbiAgICBib3JkZXItbGVmdDogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubWVkaXVtLWJvcmRlci1sZWZ0LW5vbmUge1xuICAgIGJvcmRlci1sZWZ0OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjguNzQ4NzVlbSkge1xuICAubWVkaXVtLW9ubHktYm9yZGVyLWxlZnQtbm9uZSB7XG4gICAgYm9yZGVyLWxlZnQ6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY4Ljc1ZW0pIHtcbiAgLmxhcmdlLWJvcmRlci1sZWZ0LW5vbmUge1xuICAgIGJvcmRlci1sZWZ0OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi5ib3JkZXItcmlnaHQtd2hpdGUge1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItcmlnaHQtYmxhY2sge1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjMDAwMDAwICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItcmlnaHQtbm9uZSB7XG4gIGJvcmRlci1yaWdodDogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTk4NzVlbSkge1xuICAuc21hbGwtb25seS1ib3JkZXItcmlnaHQtbm9uZSB7XG4gICAgYm9yZGVyLXJpZ2h0OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tZWRpdW0tYm9yZGVyLXJpZ2h0LW5vbmUge1xuICAgIGJvcmRlci1yaWdodDogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDY4Ljc0ODc1ZW0pIHtcbiAgLm1lZGl1bS1vbmx5LWJvcmRlci1yaWdodC1ub25lIHtcbiAgICBib3JkZXItcmlnaHQ6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY4Ljc1ZW0pIHtcbiAgLmxhcmdlLWJvcmRlci1yaWdodC1ub25lIHtcbiAgICBib3JkZXItcmlnaHQ6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlVSVyBHZW9tZXRyaWNcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9VUldHZW9tZXRyaWMvVVJXR2VvbWV0cmljLUV4dHJhTGlnaHQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL1VSV0dlb21ldHJpYy9VUldHZW9tZXRyaWMtRXh0cmFMaWdodC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiAyMDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJVUlcgR2VvbWV0cmljXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvVVJXR2VvbWV0cmljL1VSV0dlb21ldHJpYy1MaWdodC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvVVJXR2VvbWV0cmljL1VSV0dlb21ldHJpYy1MaWdodC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJVUlcgR2VvbWV0cmljXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvVVJXR2VvbWV0cmljL1VSV0dlb21ldHJpYy1SZWd1bGFyLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9VUldHZW9tZXRyaWMvVVJXR2VvbWV0cmljLVJlZ3VsYXIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiVVJXIEdlb21ldHJpY1wiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL1VSV0dlb21ldHJpYy9VUldHZW9tZXRyaWMtTWVkaXVtLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9VUldHZW9tZXRyaWMvVVJXR2VvbWV0cmljLU1lZGl1bS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJVUlcgR2VvbWV0cmljXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvVVJXR2VvbWV0cmljL1VSV0dlb21ldHJpYy1TZW1pQm9sZC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvVVJXR2VvbWV0cmljL1VSV0dlb21ldHJpYy1TZW1pQm9sZC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJVUlcgR2VvbWV0cmljXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvVVJXR2VvbWV0cmljL1VSV0dlb21ldHJpYy1Cb2xkLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9VUldHZW9tZXRyaWMvVVJXR2VvbWV0cmljLUJvbGQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiVVJXIEdlb21ldHJpY1wiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL1VSV0dlb21ldHJpYy9VUldHZW9tZXRyaWMtRXh0cmFCb2xkLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9VUldHZW9tZXRyaWMvVVJXR2VvbWV0cmljLUV4dHJhQm9sZC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJVUlcgR2VvbWV0cmljXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvVVJXR2VvbWV0cmljL1VSV0dlb21ldHJpYy1CbGFjay53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvVVJXR2VvbWV0cmljL1VSV0dlb21ldHJpYy1CbGFjay53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbi5ncmlkLWNvbnRhaW5lciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4uZ3JpZC1jb250YWluZXIud2lkZSB7XG4gIG1heC13aWR0aDogMTkwMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5ncmlkLXBhZGRpbmcteC1sYXJnZSAuZ3JpZC1wYWRkaW5nLXgtbGFyZ2Uge1xuICBtYXJnaW4tbGVmdDogLTAuNDY4NzVyZW07XG4gIG1hcmdpbi1yaWdodDogLTAuNDY4NzVyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZ3JpZC1wYWRkaW5nLXgtbGFyZ2UgLmdyaWQtcGFkZGluZy14LWxhcmdlIHtcbiAgICBtYXJnaW4tbGVmdDogLTEuMjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMS4yNXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY4Ljc1ZW0pIHtcbiAgLmdyaWQtcGFkZGluZy14LWxhcmdlIC5ncmlkLXBhZGRpbmcteC1sYXJnZSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0yLjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMi41cmVtO1xuICB9XG59XG4uZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+IC5ncmlkLXBhZGRpbmcteC1sYXJnZSB7XG4gIG1hcmdpbi1sZWZ0OiAtMC40Njg3NXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAtMC40Njg3NXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gLmdyaWQtcGFkZGluZy14LWxhcmdlIHtcbiAgICBtYXJnaW4tbGVmdDogLTEuMjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMS4yNXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY4Ljc1ZW0pIHtcbiAgLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAuZ3JpZC1wYWRkaW5nLXgtbGFyZ2Uge1xuICAgIG1hcmdpbi1sZWZ0OiAtMi41cmVtO1xuICAgIG1hcmdpbi1yaWdodDogLTIuNXJlbTtcbiAgfVxufVxuLmdyaWQtcGFkZGluZy14LWxhcmdlID4gLmNlbGwge1xuICBwYWRkaW5nLWxlZnQ6IDAuNDY4NzVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuNDY4NzVyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZ3JpZC1wYWRkaW5nLXgtbGFyZ2UgPiAuY2VsbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2OC43NWVtKSB7XG4gIC5ncmlkLXBhZGRpbmcteC1sYXJnZSA+IC5jZWxsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIuNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyLjVyZW07XG4gIH1cbn1cbi5ncmlkLXBhZGRpbmcteC1sYXJnZS5zbWFsbC1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi5ncmlkLXBhZGRpbmcteC1sYXJnZS5zbWFsbC1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZ3JpZC1wYWRkaW5nLXgtbGFyZ2UubWVkaXVtLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAuZ3JpZC1wYWRkaW5nLXgtbGFyZ2UubWVkaXVtLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2OC43NWVtKSB7XG4gIC5ncmlkLXBhZGRpbmcteC1sYXJnZS5sYXJnZS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLmdyaWQtcGFkZGluZy14LWxhcmdlLmxhcmdlLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuLmdyaWQtcGFkZGluZy15LWxhcmdlIHtcbiAgbWFyZ2luLXRvcDogLTAuNDY4NzVyZW07XG4gIG1hcmdpbi1ib3R0b206IC0wLjQ2ODc1cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmdyaWQtcGFkZGluZy15LWxhcmdlIHtcbiAgICBtYXJnaW4tdG9wOiAtMS4yNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAtMS4yNXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY4Ljc1ZW0pIHtcbiAgLmdyaWQtcGFkZGluZy15LWxhcmdlIHtcbiAgICBtYXJnaW4tdG9wOiAtMi41cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IC0yLjVyZW07XG4gIH1cbn1cbi5ncmlkLXBhZGRpbmcteS1sYXJnZSA+IC5jZWxsIHtcbiAgcGFkZGluZy10b3A6IDAuNDY4NzVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjQ2ODc1cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmdyaWQtcGFkZGluZy15LWxhcmdlID4gLmNlbGwge1xuICAgIHBhZGRpbmctdG9wOiAxLjI1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjguNzVlbSkge1xuICAuZ3JpZC1wYWRkaW5nLXktbGFyZ2UgPiAuY2VsbCB7XG4gICAgcGFkZGluZy10b3A6IDIuNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMi41cmVtO1xuICB9XG59XG4uZ3JpZC1wYWRkaW5nLXktbGFyZ2Uuc21hbGwtcGFkZGluZy1jb2xsYXBzZS15IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5ncmlkLXBhZGRpbmcteS1sYXJnZS5zbWFsbC1wYWRkaW5nLWNvbGxhcHNlLXkgPiAuY2VsbCB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5ncmlkLXBhZGRpbmcteS1sYXJnZS5tZWRpdW0tcGFkZGluZy1jb2xsYXBzZS15IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgLmdyaWQtcGFkZGluZy15LWxhcmdlLm1lZGl1bS1wYWRkaW5nLWNvbGxhcHNlLXkgPiAuY2VsbCB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2OC43NWVtKSB7XG4gIC5ncmlkLXBhZGRpbmcteS1sYXJnZS5sYXJnZS1wYWRkaW5nLWNvbGxhcHNlLXkge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAuZ3JpZC1wYWRkaW5nLXktbGFyZ2UubGFyZ2UtcGFkZGluZy1jb2xsYXBzZS15ID4gLmNlbGwge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG59XG5cbi5ncmlkLXBhZGRpbmcteS1wb3N0cyB7XG4gIG1hcmdpbi1ib3R0b206IC0zMHB4O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY4Ljc1ZW0pIHtcbiAgLmdyaWQtcGFkZGluZy15LXBvc3RzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMTAwcHg7XG4gIH1cbn1cblxuLmdyaWQtcGFkZGluZy15LXBvc3RzID4gLmNlbGwge1xuICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2OC43NWVtKSB7XG4gIC5ncmlkLXBhZGRpbmcteS1wb3N0cyA+IC5jZWxsIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7XG4gIH1cbn1cblxuYm9keSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIGJvZHkge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgfVxufVxuXG5hIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IDAuMDFlbTtcbiAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAwLjM1ZW07XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRyYW5zaXRpb246IHRleHQtdW5kZXJsaW5lLW9mZnNldCAwLjNzIGVhc2UtaW4tb3V0LCB0ZXh0LWRlY29yYXRpb24gMC4zcyBlYXNlLWluLW91dDtcbn1cbmE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiAwLjA1ZW07XG4gIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMC4xMmVtO1xuICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHVuc2V0O1xufVxuXG5oMSwgLmgxIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cbmgxLmxhcmdlLCAuaDEubGFyZ2Uge1xuICBmb250LXNpemU6IDEwMHB4O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgaDEubGFyZ2UsIC5oMS5sYXJnZSB7XG4gICAgZm9udC1zaXplOiAyNTBweDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY4Ljc1ZW0pIHtcbiAgaDEubGFyZ2UsIC5oMS5sYXJnZSB7XG4gICAgZm9udC1zaXplOiA0MDBweDtcbiAgfVxufVxuXG5oMiwgLmgyIHtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cblxuaDMsIC5oMyB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG5cbmg1LCAuaDUge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogMjAwO1xufVxuXG5wIHtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICBsaW5lLWhlaWdodDogMS4yO1xufVxuXG4uY2FwdGlvbiB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5jYXB0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAzMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2OC43NWVtKSB7XG4gIC5jYXB0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMjBweDtcbiAgfVxufVxuXG4ubGVhZCB7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5sZWFkIHtcbiAgICBmb250LXNpemU6IDQwcHg7XG4gIH1cbn1cbi5sZWFkLmxhcmdlIHtcbiAgZm9udC1zaXplOiAyNHB4O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmxlYWQubGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogNDRweDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY4Ljc1ZW0pIHtcbiAgLmxlYWQubGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogNjRweDtcbiAgfVxufVxuXG4ubGluay1uZXh0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4ubGluay1uZXh0OmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmxpbmstbmV4dDo6YWZ0ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgd2lkdGg6IDFlbTtcbiAgaGVpZ2h0OiAxZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbiAgbWFyZ2luLXRvcDogMC4yZW07XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMzIgMzInIHdpZHRoPScxZW0nIGhlaWdodD0nMWVtJyUzRSUzQ3BhdGggZmlsbD0nJTIzRkZGRkZGJyBkPSdNMjQuODY3LDE0LjY1NEMyMi4xODgsMTIuOTI3IDE5Ljg0OCwxMC42OSAxNy44ODYsOC4xMzVDMTYuOTQxLDYuOTA1IDE2LjAwOCw1LjUzIDE1LjQxLDQuMjc5QzE0LjkzMiwzLjI4MSAxNC42NjksMi4zMzcgMTQuNjcxLDEuNTU4TDE3LjQxNiwxLjU2NkMxNy40MTQsMi4wMDggMTcuNjE1LDIuNTI4IDE3Ljg4NiwzLjA5NUMxOC40MSw0LjE5IDE5LjIzNiw1LjM4NiAyMC4wNjMsNi40NjNDMjEuODY2LDguODEgMjQuMDE4LDEwLjg2NiAyNi40OTIsMTIuNDM1QzI4LjIyNSwxMy41MzQgMzAuMzA2LDE0LjY1MyAzMiwxNC42NThMMzIsMTQuNjk0TDMxLjk5MiwxNy40MDNMMzEuOTkyLDE3LjQzOEMzMC4yOTgsMTcuNDMzIDI4LjIxLDE4LjUzOSAyNi40NywxOS42MjhDMjMuOTg3LDIxLjE4MyAyMS44MjMsMjMuMjI1IDIwLjAwNiwyNS41NjFDMTkuMTcyLDI2LjYzMyAxOC4zMzksMjcuODI0IDE3LjgwOSwyOC45MTZDMTcuNTM0LDI5LjQ4MSAxNy4zMywzMCAxNy4zMjksMzAuNDQyTDE0LjU4NCwzMC40MzRDMTQuNTg3LDI5LjY1NSAxNC44NTYsMjguNzEzIDE1LjMzOSwyNy43MTdDMTUuOTQ1LDI2LjQ2OSAxNi44ODcsMjUuMTAxIDE3LjgzOSwyMy44NzZDMTkuODE2LDIxLjMzMyAyMi4xNjksMTkuMTExIDI0Ljg1OSwxNy4zOTlMMCwxNy4zMjRMMC4wMDgsMTQuNThMMjQuODY3LDE0LjY1NFonLyUzRSUzQy9zdmclM0VcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xufVxuXG51bCwgb2wge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDAgMCAxZW0gMC42ZW07XG59XG51bCB1bCwgdWwgb2wsIG9sIHVsLCBvbCBvbCB7XG4gIG1hcmdpbi1sZWZ0OiAwLjZlbTtcbn1cbnVsIGxpLCBvbCBsaSB7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG51bC5saXN0LW5vLWJ1bGxldCwgb2wubGlzdC1uby1idWxsZXQge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZSAhaW1wb3J0YW50O1xufVxudWwubGlzdC1uby1idWxsZXQgdWwsIHVsLmxpc3Qtbm8tYnVsbGV0IG9sLCBvbC5saXN0LW5vLWJ1bGxldCB1bCwgb2wubGlzdC1uby1idWxsZXQgb2wge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZSAhaW1wb3J0YW50O1xufVxudWwubGlzdC1zbWFsbC1idWxsZXQsIG9sLmxpc3Qtc21hbGwtYnVsbGV0IHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lICFpbXBvcnRhbnQ7XG59XG51bC5saXN0LXNtYWxsLWJ1bGxldCBsaSwgb2wubGlzdC1zbWFsbC1idWxsZXQgbGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG51bC5saXN0LXNtYWxsLWJ1bGxldCBsaTo6YmVmb3JlLCBvbC5saXN0LXNtYWxsLWJ1bGxldCBsaTo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwLjA3NWVtO1xuICBoZWlnaHQ6IDAuMDc1ZW07XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudGNvbG9yO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMC42OGVtO1xuICBsZWZ0OiAtMC42ZW07XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cbnVsLmxpc3QtYmxvY2ssIG9sLmxpc3QtYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmUgIWltcG9ydGFudDtcbn1cbnVsLmxpc3QtYmxvY2sgPiBsaSwgb2wubGlzdC1ibG9jayA+IGxpIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG51bC5saXN0LW5vLW1hcmdpbiA+IGxpLCBvbC5saXN0LW5vLW1hcmdpbiA+IGxpIHtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG5vbC5saXN0LWxvd2VyLWFscGhhIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTtcbn1cbm9sLmxpc3QtdXBwZXItYWxwaGEge1xuICBsaXN0LXN0eWxlLXR5cGU6IHVwcGVyLWFscGhhO1xufVxuXG4ubGlzdC1pbmxpbmUsXG51bC5saXN0LWlubGluZSxcbm9sLmxpc3QtaW5saW5lIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4ubGlzdC1pbmxpbmUgPiBsaSwgLmxpc3QtaW5saW5lID4gLmxpc3QtaXRlbSxcbnVsLmxpc3QtaW5saW5lID4gbGksXG51bC5saXN0LWlubGluZSA+IC5saXN0LWl0ZW0sXG5vbC5saXN0LWlubGluZSA+IGxpLFxub2wubGlzdC1pbmxpbmUgPiAubGlzdC1pdGVtIHtcbiAgZmxleC1ncm93OiAwO1xuICBmbGV4LXNocmluazogMDtcbiAgbWFyZ2luOiAwO1xufVxuLmxpc3QtaW5saW5lLmxpc3QtYXV0byA+IGxpLCAubGlzdC1pbmxpbmUubGlzdC1hdXRvID4gLmxpc3QtaXRlbSxcbnVsLmxpc3QtaW5saW5lLmxpc3QtYXV0byA+IGxpLFxudWwubGlzdC1pbmxpbmUubGlzdC1hdXRvID4gLmxpc3QtaXRlbSxcbm9sLmxpc3QtaW5saW5lLmxpc3QtYXV0byA+IGxpLFxub2wubGlzdC1pbmxpbmUubGlzdC1hdXRvID4gLmxpc3QtaXRlbSB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgZmxleC1zaHJpbms6IDA7XG59XG4ubGlzdC1pbmxpbmUubGlzdC1nYXAtbGFyZ2UsXG51bC5saXN0LWlubGluZS5saXN0LWdhcC1sYXJnZSxcbm9sLmxpc3QtaW5saW5lLmxpc3QtZ2FwLWxhcmdlIHtcbiAgbWFyZ2luOiAtNDJweDtcbn1cbi5saXN0LWlubGluZS5saXN0LWdhcC1sYXJnZSA+IGxpLCAubGlzdC1pbmxpbmUubGlzdC1nYXAtbGFyZ2UgPiAubGlzdC1pdGVtLFxudWwubGlzdC1pbmxpbmUubGlzdC1nYXAtbGFyZ2UgPiBsaSxcbnVsLmxpc3QtaW5saW5lLmxpc3QtZ2FwLWxhcmdlID4gLmxpc3QtaXRlbSxcbm9sLmxpc3QtaW5saW5lLmxpc3QtZ2FwLWxhcmdlID4gbGksXG5vbC5saXN0LWlubGluZS5saXN0LWdhcC1sYXJnZSA+IC5saXN0LWl0ZW0ge1xuICBwYWRkaW5nOiA0MnB4O1xufVxuLmxpc3QtaW5saW5lLmxpc3QtZ2FwLWxhcmdlLWhvcml6b250YWwsXG51bC5saXN0LWlubGluZS5saXN0LWdhcC1sYXJnZS1ob3Jpem9udGFsLFxub2wubGlzdC1pbmxpbmUubGlzdC1nYXAtbGFyZ2UtaG9yaXpvbnRhbCB7XG4gIG1hcmdpbi1sZWZ0OiAtNDJweDtcbiAgbWFyZ2luLXJpZ2h0OiAtNDJweDtcbn1cbi5saXN0LWlubGluZS5saXN0LWdhcC1sYXJnZS1ob3Jpem9udGFsID4gbGksIC5saXN0LWlubGluZS5saXN0LWdhcC1sYXJnZS1ob3Jpem9udGFsID4gLmxpc3QtaXRlbSxcbnVsLmxpc3QtaW5saW5lLmxpc3QtZ2FwLWxhcmdlLWhvcml6b250YWwgPiBsaSxcbnVsLmxpc3QtaW5saW5lLmxpc3QtZ2FwLWxhcmdlLWhvcml6b250YWwgPiAubGlzdC1pdGVtLFxub2wubGlzdC1pbmxpbmUubGlzdC1nYXAtbGFyZ2UtaG9yaXpvbnRhbCA+IGxpLFxub2wubGlzdC1pbmxpbmUubGlzdC1nYXAtbGFyZ2UtaG9yaXpvbnRhbCA+IC5saXN0LWl0ZW0ge1xuICBwYWRkaW5nLWxlZnQ6IDQycHg7XG4gIHBhZGRpbmctcmlnaHQ6IDQycHg7XG59XG4ubGlzdC1pbmxpbmUubGlzdC1nYXAtbGFyZ2UtdmVydGljYWwsXG51bC5saXN0LWlubGluZS5saXN0LWdhcC1sYXJnZS12ZXJ0aWNhbCxcbm9sLmxpc3QtaW5saW5lLmxpc3QtZ2FwLWxhcmdlLXZlcnRpY2FsIHtcbiAgbWFyZ2luLXRvcDogLTQycHg7XG4gIG1hcmdpbi1ib3R0b206IC00MnB4O1xufVxuLmxpc3QtaW5saW5lLmxpc3QtZ2FwLWxhcmdlLXZlcnRpY2FsID4gbGksIC5saXN0LWlubGluZS5saXN0LWdhcC1sYXJnZS12ZXJ0aWNhbCA+IC5saXN0LWl0ZW0sXG51bC5saXN0LWlubGluZS5saXN0LWdhcC1sYXJnZS12ZXJ0aWNhbCA+IGxpLFxudWwubGlzdC1pbmxpbmUubGlzdC1nYXAtbGFyZ2UtdmVydGljYWwgPiAubGlzdC1pdGVtLFxub2wubGlzdC1pbmxpbmUubGlzdC1nYXAtbGFyZ2UtdmVydGljYWwgPiBsaSxcbm9sLmxpc3QtaW5saW5lLmxpc3QtZ2FwLWxhcmdlLXZlcnRpY2FsID4gLmxpc3QtaXRlbSB7XG4gIHBhZGRpbmctdG9wOiA0MnB4O1xuICBwYWRkaW5nLWJvdHRvbTogNDJweDtcbn1cblxuLmxpc3Qtc2VydmljZXMge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuLmxpc3Qtc2VydmljZXMgbGkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubGlzdC1zZXJ2aWNlcyBsaSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gIH1cbn1cbi5saXN0LXNlcnZpY2VzIGxpOmFmdGVyIHtcbiAgY29udGVudDogXCIgXCI7XG59XG4ubGlzdC1zZXJ2aWNlcyA+ICoge1xuICBmb250LXNpemU6IDM2cHg7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubGlzdC1zZXJ2aWNlcyA+ICoge1xuICAgIGZvbnQtc2l6ZTogODJweDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY4Ljc1ZW0pIHtcbiAgLmxpc3Qtc2VydmljZXMgPiAqIHtcbiAgICBmb250LXNpemU6IDEyOHB4O1xuICB9XG59XG5cbmltZy5maWd1cmUtaW1hZ2Uge1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4uZmlndXJlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmZpZ3VyZSBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG4gIGZvbnQtZmFtaWx5OiBcIm9iamVjdC1maXQ6IGNvdmVyOyBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcIjtcbn1cbi5maWd1cmUgLmZpZ3VyZS1jb250ZW50IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDM7XG59XG4uZmlndXJlIC5maWd1cmUtY3JvcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgcGFkZGluZy10b3A6IDEwMCU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBmb250LXNpemU6IDA7XG59XG4uZmlndXJlIC5maWd1cmUtY3JvcCBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtaW4td2lkdGg6IGluaXRpYWw7XG4gIG1pbi1oZWlnaHQ6IGluaXRpYWw7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4Ljc0ODc1ZW0pIHtcbiAgLmZpZ3VyZSAuZmlndXJlLWNyb3Aub2JqZWN0LXBvc2l0aW9uLTAgaW1nIHtcbiAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlciAwJSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjguNzQ4NzVlbSkge1xuICAuZmlndXJlIC5maWd1cmUtY3JvcC5vYmplY3QtcG9zaXRpb24tNSBpbWcge1xuICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyIDUlICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2OC43NDg3NWVtKSB7XG4gIC5maWd1cmUgLmZpZ3VyZS1jcm9wLm9iamVjdC1wb3NpdGlvbi0xMCBpbWcge1xuICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyIDEwJSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjguNzQ4NzVlbSkge1xuICAuZmlndXJlIC5maWd1cmUtY3JvcC5vYmplY3QtcG9zaXRpb24tMTUgaW1nIHtcbiAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlciAxNSUgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4Ljc0ODc1ZW0pIHtcbiAgLmZpZ3VyZSAuZmlndXJlLWNyb3Aub2JqZWN0LXBvc2l0aW9uLTI1IGltZyB7XG4gICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXIgMjUlICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2OC43NDg3NWVtKSB7XG4gIC5maWd1cmUgLmZpZ3VyZS1jcm9wLm9iamVjdC1wb3NpdGlvbi0zMCBpbWcge1xuICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyIDMwJSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5iYWNrZ3JvdW5kLWFib3V0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2JnL2JnLWFib3V0LTEuanBnXCIpLCB1cmwoXCIuLi9pbWcvYmcvYmctYWJvdXQtMi5qcGdcIiksIHVybChcIi4uL2ltZy9iZy9iZy1hYm91dC0zLmpwZ1wiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdCwgbm8tcmVwZWF0LCBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoMTAwJSAtIDIwcHgpIDE1JSwgMzBweCA0NSUsIGNhbGMoMTAwJSArIDIwMHB4KSBjYWxjKDEwMCUgLSAyMHB4KTtcbiAgYmFja2dyb3VuZC1zaXplOiAxMTBweCwgMjE3cHgsIDQyNnB4O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmJhY2tncm91bmQtYWJvdXQge1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTYwcHgsIDM1MHB4LCA1NTBweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLmJhY2tncm91bmQtYWJvdXQge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoMTAwJSAtIDE3MHB4KSAzMCUsIDMwcHggNDUlLCBjYWxjKDEwMCUgLSAxNzBweCkgY2FsYygxMDAlIC0gMjBweCk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAyNjhweCwgNDE4cHgsIDYzN3B4O1xuICB9XG59XG5cbi5lbXBsb3llZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiAxNXB4O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY4Ljc1ZW0pIHtcbiAgLmVtcGxveWVlIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBnYXA6IDMwcHg7XG4gICAgbWluLWhlaWdodDogODU1cHg7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2OC43NWVtKSB7XG4gIC5lbXBsb3llZSB7XG4gICAgZ2FwOiA1NXB4O1xuICB9XG59XG4uZW1wbG95ZWUgLmVtcGxveWVlLWZpZ3VyZSxcbi5lbXBsb3llZSAuZW1wbG95ZWUtY29udGVudCB7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2OC43NWVtKSB7XG4gIC5lbXBsb3llZSAuZW1wbG95ZWUtZmlndXJlIHtcbiAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgZmxleC1ncm93OiAwO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAuZW1wbG95ZWUgLmVtcGxveWVlLWZpZ3VyZSB7XG4gICAgZmxleC1iYXNpczogMzMuMzMzMzMzJTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY4Ljc1ZW0pIHtcbiAgLmVtcGxveWVlIC5lbXBsb3llZS1maWd1cmUgLmZpZ3VyZSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG4uZW1wbG95ZWUgLmVtcGxveWVlLWZpZ3VyZSAuZmlndXJlLWNyb3Age1xuICBwYWRkaW5nLXRvcDogODAlO1xufVxuLmVtcGxveWVlIC5lbXBsb3llZS1maWd1cmUgLmZpZ3VyZS1jcm9wIGltZyB7XG4gIG9iamVjdC1wb3NpdGlvbjogY2VudGVyIDUlO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY4Ljc1ZW0pIHtcbiAgLmVtcGxveWVlIC5lbXBsb3llZS1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC1iYXNpczogYXV0bztcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZmxleC1zaHJpbms6IDE7XG4gIH1cbn1cbi5lbXBsb3llZSAuZW1wbG95ZWUtaGVhZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcbn1cbi5lbXBsb3llZSAuZW1wbG95ZWUtbmFtZSB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjguNzVlbSkge1xuICAuZW1wbG95ZWUgLmVtcGxveWVlLW5hbWUge1xuICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLmVtcGxveWVlIC5lbXBsb3llZS1uYW1lIHtcbiAgICBmb250LXNpemU6IDY0cHg7XG4gIH1cbn1cbi5lbXBsb3llZSAuZW1wbG95ZWUtdGl0bGUge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjguNzVlbSkge1xuICAuZW1wbG95ZWUgLmVtcGxveWVlLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gIH1cbn1cbi5lbXBsb3llZSAuZW1wbG95ZWUtZGVzY3JpcHRpb24ge1xuICBtYXJnaW4tdG9wOiBhdXRvO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY4Ljc1ZW0pIHtcbiAgLmVtcGxveWVlIC5lbXBsb3llZS1kZXNjcmlwdGlvbiB7XG4gICAgcGFkZGluZy1yaWdodDogOTVweDtcbiAgfVxufVxuLmVtcGxveWVlIC5lbXBsb3llZS1kZXNjcmlwdGlvbiBwIHtcbiAgbGluZS1oZWlnaHQ6IDEuMzU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAuZW1wbG95ZWUgLmVtcGxveWVlLWRlc2NyaXB0aW9uIHAge1xuICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgfVxufVxuLmVtcGxveWVlIC5lbXBsb3llZS1kZXNjcmlwdGlvbiBwOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uc2VydmljZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgY3VycmVudENvbG9yO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnNlcnZpY2Uge1xuICAgIGJvcmRlci13aWR0aDogM3B4O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjguNzVlbSkge1xuICAuc2VydmljZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxufVxuLnNlcnZpY2UgLnNlcnZpY2UtaGVhZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY4Ljc1ZW0pIHtcbiAgLnNlcnZpY2UgLnNlcnZpY2UtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZ2FwOiAzMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIH1cbn1cbi5zZXJ2aWNlIC5zZXJ2aWNlLWhlYWRlcjo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzMiAzMicgd2lkdGg9JzIwcHgnIGhlaWdodD0nMjBweCclM0UlM0NwYXRoIGZpbGw9JyUyMzAwMDAwMCcgZD0nTTE1LjE1OCwyNi44MDlMMTUuMTU4LDBMMTYuODQyLDBMMTYuODQyLDI2LjgwOUMxNy4xMjIsMjYuMjkgMTcuNDIsMjUuNzg0IDE3LjcyMywyNS4zMDNDMTkuNDIzLDIyLjYwNSAyMS42NDgsMjAuMjUzIDI0LjE5NywxOC4yODNDMjUuMzk1LDE3LjM1NyAyNi43MzMsMTYuNDQgMjcuOTUzLDE1Ljg1M0MyOC44NjYsMTUuNDEyIDI5LjcyOCwxNS4xNTggMzAuNDQyLDE1LjE1OEwzMC40NDIsMTYuODQyQzI5LjkzNSwxNi44NDIgMjkuMzMzLDE3LjA1NyAyOC42ODQsMTcuMzdDMjcuNTYsMTcuOTExIDI2LjMzMSwxOC43NjIgMjUuMjI3LDE5LjYxNkMyMi44MzUsMjEuNDY0IDIwLjc0NCwyMy42NjkgMTkuMTQ4LDI2LjIwMUMxOCwyOC4wMjQgMTYuODYsMzAuMjIyIDE2Ljg2LDMyTDE1LjE0LDMyQzE1LjE0LDMwLjIyMiAxNCwyOC4wMjQgMTIuODUyLDI2LjIwMUMxMS4yNTYsMjMuNjY5IDkuMTY1LDIxLjQ2NCA2Ljc3MywxOS42MTZDNS42NjksMTguNzYyIDQuNDQsMTcuOTExIDMuMzE2LDE3LjM3QzIuNjY3LDE3LjA1NyAyLjA2NSwxNi44NDIgMS41NTgsMTYuODQyTDEuNTU4LDE1LjE1OEMyLjI3MiwxNS4xNTggMy4xMzQsMTUuNDEyIDQuMDQ3LDE1Ljg1M0M1LjI2NywxNi40NCA2LjYwNSwxNy4zNTcgNy44MDMsMTguMjgzQzEwLjM1MiwyMC4yNTMgMTIuNTc3LDIyLjYwNSAxNC4yNzcsMjUuMzAzQzE0LjU4LDI1Ljc4NCAxNC44NzgsMjYuMjkgMTUuMTU4LDI2LjgwOVonLyUzRSUzQy9zdmclM0VcIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYW5pbWF0aW9uOiBwdWxzZURvd24gMS41cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDEwcHg7XG4gIHJpZ2h0OiAwO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnNlcnZpY2UgLnNlcnZpY2UtaGVhZGVyOjphZnRlciB7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMzIgMzInIHdpZHRoPSc0MHB4JyBoZWlnaHQ9JzQwcHgnJTNFJTNDcGF0aCBmaWxsPSclMjNGRkZGRkYnIGQ9J00xNS4xNTgsMjYuODA5TDE1LjE1OCwwTDE2Ljg0MiwwTDE2Ljg0MiwyNi44MDlDMTcuMTIyLDI2LjI5IDE3LjQyLDI1Ljc4NCAxNy43MjMsMjUuMzAzQzE5LjQyMywyMi42MDUgMjEuNjQ4LDIwLjI1MyAyNC4xOTcsMTguMjgzQzI1LjM5NSwxNy4zNTcgMjYuNzMzLDE2LjQ0IDI3Ljk1MywxNS44NTNDMjguODY2LDE1LjQxMiAyOS43MjgsMTUuMTU4IDMwLjQ0MiwxNS4xNThMMzAuNDQyLDE2Ljg0MkMyOS45MzUsMTYuODQyIDI5LjMzMywxNy4wNTcgMjguNjg0LDE3LjM3QzI3LjU2LDE3LjkxMSAyNi4zMzEsMTguNzYyIDI1LjIyNywxOS42MTZDMjIuODM1LDIxLjQ2NCAyMC43NDQsMjMuNjY5IDE5LjE0OCwyNi4yMDFDMTgsMjguMDI0IDE2Ljg2LDMwLjIyMiAxNi44NiwzMkwxNS4xNCwzMkMxNS4xNCwzMC4yMjIgMTQsMjguMDI0IDEyLjg1MiwyNi4yMDFDMTEuMjU2LDIzLjY2OSA5LjE2NSwyMS40NjQgNi43NzMsMTkuNjE2QzUuNjY5LDE4Ljc2MiA0LjQ0LDE3LjkxMSAzLjMxNiwxNy4zN0MyLjY2NywxNy4wNTcgMi4wNjUsMTYuODQyIDEuNTU4LDE2Ljg0MkwxLjU1OCwxNS4xNThDMi4yNzIsMTUuMTU4IDMuMTM0LDE1LjQxMiA0LjA0NywxNS44NTNDNS4yNjcsMTYuNDQgNi42MDUsMTcuMzU3IDcuODAzLDE4LjI4M0MxMC4zNTIsMjAuMjUzIDEyLjU3NywyMi42MDUgMTQuMjc3LDI1LjMwM0MxNC41OCwyNS43ODQgMTQuODc4LDI2LjI5IDE1LjE1OCwyNi44MDlaJy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogNDBweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnNlcnZpY2UgLnNlcnZpY2UtaGVhZGVyOjphZnRlciB7XG4gICAgd2lkdGg6IDk1cHg7XG4gICAgaGVpZ2h0OiA5NXB4O1xuICAgIGJhY2tncm91bmQtc2l6ZTogOTVweDtcbiAgfVxufVxuLnNlcnZpY2UgLnNlcnZpY2UtaGVhZGVyIC5zZXJ2aWNlLXRpdGxlIHtcbiAgZm9udC1zaXplOiAzNnB4O1xuICBsaW5lLWhlaWdodDogMTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5zZXJ2aWNlIC5zZXJ2aWNlLWhlYWRlciAuc2VydmljZS10aXRsZSB7XG4gICAgZm9udC1zaXplOiA2NHB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAuc2VydmljZSAuc2VydmljZS1oZWFkZXIgLnNlcnZpY2UtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMTI4cHg7XG4gIH1cbn1cbi5zZXJ2aWNlIC5zZXJ2aWNlLWhlYWRlciAuc2VydmljZS1sb2dvIHtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luLXRvcDogMTVweDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2OC43NWVtKSB7XG4gIC5zZXJ2aWNlIC5zZXJ2aWNlLWhlYWRlciAuc2VydmljZS1sb2dvIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG59XG4uc2VydmljZSAuc2VydmljZS1oZWFkZXIgLnNlcnZpY2UtbG9nbyBpbWcge1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXgtd2lkdGg6IDIxNnB4O1xuICBtYXgtaGVpZ2h0OiA2MHB4O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnNlcnZpY2UgLnNlcnZpY2UtaGVhZGVyIC5zZXJ2aWNlLWxvZ28gaW1nIHtcbiAgICBtYXgtd2lkdGg6IDI4OHB4O1xuICAgIG1heC1oZWlnaHQ6IDgwcHg7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2OC43NWVtKSB7XG4gIC5zZXJ2aWNlIC5zZXJ2aWNlLWhlYWRlciAuc2VydmljZS1sb2dvIGltZyB7XG4gICAgbWF4LXdpZHRoOiAzNjBweDtcbiAgICBtYXgtaGVpZ2h0OiAxMDBweDtcbiAgfVxufVxuLnNlcnZpY2UgLnNlcnZpY2UtY29udGVudCB7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC5zZXJ2aWNlIC5zZXJ2aWNlLWNvbnRlbnQge1xuICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgfVxufVxuLnNlcnZpY2UuaW4tdmlldyAuc2VydmljZS1oZWFkZXI6OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5zZXJ2aWNlLmluLXZpZXcgLnNlcnZpY2UtaGVhZGVyIC5zZXJ2aWNlLWxvZ28ge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuLnNlcnZpY2UuaW4tdmlldyAuc2VydmljZS1jb250ZW50IHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDMwcHggMDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5zZXJ2aWNlLmluLXZpZXcgLnNlcnZpY2UtY29udGVudCB7XG4gICAgcGFkZGluZzogMzBweCAwO1xuICB9XG59XG5cbi5jb250YWN0cyB7XG4gIHBhZGRpbmc6IDIwcHggMCAxNXB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgY3VycmVudENvbG9yO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY4Ljc1ZW0pIHtcbiAgLmNvbnRhY3RzIHtcbiAgICBwYWRkaW5nOiA0MHB4IDAgMTVweDtcbiAgfVxufVxuLmNvbnRhY3RzIC5jb250YWN0cy10aXRsZSBoMiwgLmNvbnRhY3RzIC5jb250YWN0cy10aXRsZSAuaDIge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2OC43NWVtKSB7XG4gIC5jb250YWN0cyAuY29udGFjdHMtdGl0bGUgaDIsIC5jb250YWN0cyAuY29udGFjdHMtdGl0bGUgLmgyIHtcbiAgICBmb250LXNpemU6IDMycHg7XG4gIH1cbn1cbi5jb250YWN0cyAuY29udGFjdHMtY29udGVudCB7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5jb250YWN0cyAuY29udGFjdHMtY29udGVudCB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjguNzVlbSkge1xuICAuY29udGFjdHMgLmNvbnRhY3RzLWNvbnRlbnQge1xuICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmNvbnRhY3RzIC5jb250YWN0cy1jb250ZW50IHAge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY4Ljc1ZW0pIHtcbiAgLmNvbnRhY3RzIC5jb250YWN0cy1jb250ZW50IHAge1xuICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgfVxufVxuLmNvbnRhY3RzIC5jb250YWN0cy1jb250ZW50IHA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuY29udGFjdHMuY29udGFjdHMtaW5saW5lIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgZ2FwOiAzMHB4O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuY29udGFjdHMuY29udGFjdHMtaW5saW5lIC5jb250YWN0cy10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBmbGV4LWJhc2lzOiAxO1xuICAgIGZsZXgtZ3JvdzogMDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmNvbnRhY3RzLmNvbnRhY3RzLWlubGluZSAuY29udGFjdHMtY29udGVudCB7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZmxleC1zaHJpbms6IDE7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2OC43NWVtKSB7XG4gIC5jb250YWN0cy5pbi12aWV3IHtcbiAgICBwYWRkaW5nOiA2MHB4IDAgMjBweDtcbiAgfVxufVxuLmNvbnRhY3RzLmluLXZpZXcgLmNvbnRhY3RzLWNvbnRlbnQge1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBwYWRkaW5nLXRvcDogMTVweDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5jb250YWN0cy5pbi12aWV3IC5jb250YWN0cy1jb250ZW50IHtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY4Ljc1ZW0pIHtcbiAgLmNvbnRhY3RzLmluLXZpZXcgLmNvbnRhY3RzLWNvbnRlbnQge1xuICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuY29udGFjdHMuaW4tdmlldy5jb250YWN0cy1pbmxpbmUgLmNvbnRhY3RzLWNvbnRlbnQge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG59XG5cbi5jb250YWN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWluLWhlaWdodDogMTAwJTtcbn1cbi5jb250YWN0IC5jb250YWN0LXRpdGxlIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogODAwO1xufVxuLmNvbnRhY3QgLmNvbnRhY3QtZGVzY3JpcHRpb24ge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBmb250LXdlaWdodDogODAwO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmNvbnRhY3QgLmNvbnRhY3QtZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICB9XG59XG4uY29udGFjdCAuY29udGFjdC1kZXNjcmlwdGlvbiBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IDAuMDFlbTtcbiAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAwLjM1ZW07XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRyYW5zaXRpb246IHRleHQtdW5kZXJsaW5lLW9mZnNldCAwLjNzIGVhc2UtaW4tb3V0LCB0ZXh0LWRlY29yYXRpb24gMC4zcyBlYXNlLWluLW91dDtcbiAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogMC4wNWVtO1xuICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDAuMTJlbTtcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiB1bnNldDtcbn1cbi5jb250YWN0IC5jb250YWN0LWRlc2NyaXB0aW9uIGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiAwLjA1ZW07XG4gIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMC4xMmVtO1xuICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHVuc2V0O1xufVxuLmNvbnRhY3QgLmNvbnRhY3QtZGVzY3JpcHRpb24gYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IDAuMDFlbTtcbiAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAwLjM1ZW07XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuY29udGFjdCAuY29udGFjdC1kZXNjcmlwdGlvbiBwIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gIH1cbn1cbi5jb250YWN0IC5jb250YWN0LWRlc2NyaXB0aW9uIHA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4uY29udGFjdCAuY29udGFjdC1sb2dvIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaGVpZ2h0OiA2NHB4O1xuICBtYXJnaW4tdG9wOiBhdXRvO1xuICBwYWRkaW5nLXRvcDogMjBweDtcbn1cbi5jb250YWN0IC5jb250YWN0LWxvZ28gPiAqIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgZmxleC1ncm93OiAxO1xuICBmbGV4LXNocmluazogMDtcbn1cbi5jb250YWN0IC5jb250YWN0LWxvZ28gaW1nIHtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiAyMDBweDtcbiAgbWF4LWhlaWdodDogNjRweDtcbn1cblxuLmlkZWFzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmctYm90dG9tOiA4cHg7XG4gIGZvbnQtc2l6ZTogNzBweDtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgbGluZS1oZWlnaHQ6IDAuOTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5pZGVhcyB7XG4gICAgZm9udC1zaXplOiBtaW4oMTAuNjc3MDgzMzMzM3Z3LCAyMDVweCk7XG4gIH1cbn1cbi5pZGVhcyA+IDpsYXN0LWNoaWxkID4gc3BhbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5pZGVhcyA+IDpsYXN0LWNoaWxkID4gc3Bhbjo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAwLjI2OGVtO1xuICB3aWR0aDogMC44MDZlbTtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDE2JTtcbiAgcmlnaHQ6IC0yNyU7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0xMS42OGRlZyk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9icmFuZC9sb2dvLW1haW4uc3ZnXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbn1cblxuI2tleXZpc3VhbC13cmFwICNoZWFkZXItbG9nbyB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2OC43NWVtKSB7XG4gICNrZXl2aXN1YWwtd3JhcCAjaGVhZGVyLWxvZ28ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2OC43NWVtKSB7XG4gICNrZXl2aXN1YWwtd3JhcC5rZXl2aXN1YWwtY29udGVudC1zaG93biAjaGVhZGVyLWxvZ28ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbiNrZXl2aXN1YWwtd3JhcC5rZXl2aXN1YWwtY29udGVudC1zaG93biAja2V5dmlzdWFsLWFycm93IHtcbiAgb3BhY2l0eTogMTtcbn1cblxuI2tleXZpc3VhbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctdG9wOiA1Ni4yNSU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2OC43NWVtKSB7XG4gICNrZXl2aXN1YWwge1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gIH1cbn1cblxuI2tleXZpc3VhbC1sb2dvIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2OC43NWVtKSB7XG4gICNrZXl2aXN1YWwtbG9nbyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDE3NHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMDtcbiAgfVxufVxuI2tleXZpc3VhbC1sb2dvIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDE5MjBweDtcbiAgbWluLXdpZHRoOiAxNzRweDtcbn1cblxuI2tleXZpc3VhbC1jb250ZW50IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgei1pbmRleDogMTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2OC43NWVtKSB7XG4gICNrZXl2aXN1YWwtY29udGVudCB7XG4gICAgd2lkdGg6IDMwJTtcbiAgICBoZWlnaHQ6IDMwJTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjguNzQ4NzVlbSkge1xuICAja2V5dmlzdWFsLWNvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICB9XG59XG4ja2V5dmlzdWFsLWNvbnRlbnQ6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xufVxuI2tleXZpc3VhbC1jb250ZW50IHZpZGVvIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xufVxuXG4ja2V5dmlzdWFsLWFycm93IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDkwcHg7XG4gIGhlaWdodDogOTBweDtcbiAgb3BhY2l0eTogMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzMiAzMicgd2lkdGg9JzkwcHgnIGhlaWdodD0nOTBweCclM0UlM0NwYXRoIGZpbGw9JyUyM0ZGRkZGRicgZD0nTTE1LjE1OCwyNi44MDlMMTUuMTU4LDBMMTYuODQyLDBMMTYuODQyLDI2LjgwOUMxNy4xMjIsMjYuMjkgMTcuNDIsMjUuNzg0IDE3LjcyMywyNS4zMDNDMTkuNDIzLDIyLjYwNSAyMS42NDgsMjAuMjUzIDI0LjE5NywxOC4yODNDMjUuMzk1LDE3LjM1NyAyNi43MzMsMTYuNDQgMjcuOTUzLDE1Ljg1M0MyOC44NjYsMTUuNDEyIDI5LjcyOCwxNS4xNTggMzAuNDQyLDE1LjE1OEwzMC40NDIsMTYuODQyQzI5LjkzNSwxNi44NDIgMjkuMzMzLDE3LjA1NyAyOC42ODQsMTcuMzdDMjcuNTYsMTcuOTExIDI2LjMzMSwxOC43NjIgMjUuMjI3LDE5LjYxNkMyMi44MzUsMjEuNDY0IDIwLjc0NCwyMy42NjkgMTkuMTQ4LDI2LjIwMUMxOCwyOC4wMjQgMTYuODYsMzAuMjIyIDE2Ljg2LDMyTDE1LjE0LDMyQzE1LjE0LDMwLjIyMiAxNCwyOC4wMjQgMTIuODUyLDI2LjIwMUMxMS4yNTYsMjMuNjY5IDkuMTY1LDIxLjQ2NCA2Ljc3MywxOS42MTZDNS42NjksMTguNzYyIDQuNDQsMTcuOTExIDMuMzE2LDE3LjM3QzIuNjY3LDE3LjA1NyAyLjA2NSwxNi44NDIgMS41NTgsMTYuODQyTDEuNTU4LDE1LjE1OEMyLjI3MiwxNS4xNTggMy4xMzQsMTUuNDEyIDQuMDQ3LDE1Ljg1M0M1LjI2NywxNi40NCA2LjYwNSwxNy4zNTcgNy44MDMsMTguMjgzQzEwLjM1MiwyMC4yNTMgMTIuNTc3LDIyLjYwNSAxNC4yNzcsMjUuMzAzQzE0LjU4LDI1Ljc4NCAxNC44NzgsMjYuMjkgMTUuMTU4LDI2LjgwOVonLyUzRSUzQy9zdmclM0VcIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYW5pbWF0aW9uOiBwdWxzZURvd24gMS41cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiA2MHB4O1xuICBsZWZ0OiA1MCU7XG4gIHotaW5kZXg6IDI7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjguNzVlbSkge1xuICAja2V5dmlzdWFsLWFycm93IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4uc2hvd2Nhc2Uge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uc2hvd2Nhc2UgLnNob3djYXNlLWNvbnRlbnQtd3JhcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtaW4taGVpZ2h0OiA4NXZ3O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuc2hvd2Nhc2UgLnNob3djYXNlLWNvbnRlbnQtd3JhcCB7XG4gICAgbWluLWhlaWdodDogNjIuNXZoO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjguNzVlbSkge1xuICAuc2hvd2Nhc2UgLnNob3djYXNlLWNvbnRlbnQtd3JhcCB7XG4gICAgbWluLWhlaWdodDogMTAwdmg7XG4gIH1cbn1cbi5zaG93Y2FzZSAuc2hvd2Nhc2UtY29udGVudCB7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG59XG4uc2hvd2Nhc2UgLnNob3djYXNlLWNvbnRlbnQgaDEsIC5zaG93Y2FzZSAuc2hvd2Nhc2UtY29udGVudCBoMiwgLnNob3djYXNlIC5zaG93Y2FzZS1jb250ZW50IGgzIHtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbn1cbi5zaG93Y2FzZSAuc2hvd2Nhc2UtY29udGVudCBoMSBhLCAuc2hvd2Nhc2UgLnNob3djYXNlLWNvbnRlbnQgaDIgYSwgLnNob3djYXNlIC5zaG93Y2FzZS1jb250ZW50IGgzIGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTk4NzVlbSkge1xuICAuc2hvd2Nhc2UgLnNob3djYXNlLWNvbnRlbnQgaDIge1xuICAgIGZvbnQtc2l6ZTogNjRweDtcbiAgfVxufVxuLnNob3djYXNlIC5zaG93Y2FzZS1maWd1cmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDExNXB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShjYWxjKC0xMDAlIC0gNDVweCksIC0xMDAlKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRvcDogNTAlO1xuICB6LWluZGV4OiAwO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzVlbSkge1xuICAuc2hvd2Nhc2UgLnNob3djYXNlLWZpZ3VyZSB7XG4gICAgd2lkdGg6IDE3MHB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0Mi41ZW0pIHtcbiAgLnNob3djYXNlIC5zaG93Y2FzZS1maWd1cmUge1xuICAgIHdpZHRoOiAyNTVweDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY4Ljc1ZW0pIHtcbiAgLnNob3djYXNlIC5zaG93Y2FzZS1maWd1cmUge1xuICAgIHdpZHRoOiAzODBweDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShjYWxjKC0xMDAlIC0gMTAwcHgpLCBjYWxjKC0xMDAlICsgMTVweCkpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAuc2hvd2Nhc2UgLnNob3djYXNlLWZpZ3VyZSB7XG4gICAgd2lkdGg6IDQyMHB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKGNhbGMoLTEwMCUgLSAyMzBweCksIGNhbGMoLTEwMCUgKyAxNXB4KSk7XG4gIH1cbn1cbi5zaG93Y2FzZSAuc2hvd2Nhc2UtZmlndXJlOmhvdmVyIHtcbiAgei1pbmRleDogMjtcbn1cbi5zaG93Y2FzZSAuc2hvd2Nhc2UtZmlndXJlOmhvdmVyIC5maWd1cmUtY3JvcCB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wNSkgIWltcG9ydGFudDtcbn1cbi5zaG93Y2FzZSAuc2hvd2Nhc2UtZmlndXJlIC5maWd1cmUge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cbi5zaG93Y2FzZSAuc2hvd2Nhc2UtZmlndXJlIC5maWd1cmUtY3JvcCB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0O1xufVxuLnNob3djYXNlIC5zaG93Y2FzZS1maWd1cmUuZmlndXJlLTEgLmZpZ3VyZSB7XG4gIGFuaW1hdGlvbjogcHVsc2VMZWZ0IDVzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xufVxuLnNob3djYXNlIC5zaG93Y2FzZS1maWd1cmUuZmlndXJlLTIge1xuICB3aWR0aDogMTQwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDEwcHgsIGNhbGMoLTEwMCUgLSAyNXB4KSk7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNWVtKSB7XG4gIC5zaG93Y2FzZSAuc2hvd2Nhc2UtZmlndXJlLmZpZ3VyZS0yIHtcbiAgICB3aWR0aDogMjEwcHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQyLjVlbSkge1xuICAuc2hvd2Nhc2UgLnNob3djYXNlLWZpZ3VyZS5maWd1cmUtMiB7XG4gICAgd2lkdGg6IDMxNXB4O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjguNzVlbSkge1xuICAuc2hvd2Nhc2UgLnNob3djYXNlLWZpZ3VyZS5maWd1cmUtMiB7XG4gICAgd2lkdGg6IDQyMHB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwcHgsIC0xMjAlKTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnNob3djYXNlIC5zaG93Y2FzZS1maWd1cmUuZmlndXJlLTIge1xuICAgIHdpZHRoOiA1MjBweDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgyMDBweCwgLTEwMCUpO1xuICB9XG59XG4uc2hvd2Nhc2UgLnNob3djYXNlLWZpZ3VyZS5maWd1cmUtMyB7XG4gIHdpZHRoOiAxMzBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTQwcHgsIDE1cHgpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzVlbSkge1xuICAuc2hvd2Nhc2UgLnNob3djYXNlLWZpZ3VyZS5maWd1cmUtMyB7XG4gICAgd2lkdGg6IDE5NXB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0Mi41ZW0pIHtcbiAgLnNob3djYXNlIC5zaG93Y2FzZS1maWd1cmUuZmlndXJlLTMge1xuICAgIHdpZHRoOiAyOTJweDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY4Ljc1ZW0pIHtcbiAgLnNob3djYXNlIC5zaG93Y2FzZS1maWd1cmUuZmlndXJlLTMge1xuICAgIHdpZHRoOiAzODBweDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNDBweCwgNTBweCk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC5zaG93Y2FzZSAuc2hvd2Nhc2UtZmlndXJlLmZpZ3VyZS0zIHtcbiAgICB3aWR0aDogNDcwcHg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTMwcHgsIDYwcHgpO1xuICB9XG59XG4uc2hvd2Nhc2UgLnNob3djYXNlLWZpZ3VyZS5maWd1cmUtMyAuZmlndXJlIHtcbiAgYW5pbWF0aW9uOiBwdWxzZURvd24gNXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG59XG4uc2hvd2Nhc2UgLnNob3djYXNlLWZpZ3VyZSAuZmlndXJlIHtcbiAgYW5pbWF0aW9uOiBwdWxzZVJpZ2h0IDVzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xufVxuXG4jcG9pbnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbltzdHlsZSo9XCItLWRlbGF5XCJdIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwcHgpO1xuICB0cmFuc2l0aW9uOiBhbGwgMXMgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpIGNhbGModmFyKC0tZGVsYXkpICogMC4xcyk7XG59XG5cbi5pbi12aWV3W3N0eWxlKj1cIi0tZGVsYXlcIl0sXG4uaW4tdmlldyBbc3R5bGUqPVwiLS1kZWxheVwiXSB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTA5OXB4KSB7XG4gIGJvZHkubmF2LWlzLWFjdGl2ZSB7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTAwcHgpIHtcbiAgYm9keS5uYXYtaXMtYWN0aXZlICNoZWFkZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxufVxuYm9keS5uYXYtaXMtYWN0aXZlICNoZWFkZXItbmF2IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICBvcGFjaXR5OiAxO1xufVxuYm9keS5uYXYtaXMtYWN0aXZlICNoZWFkZXItbmF2LXRvZ2dsZSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiA0MHB4O1xuICByaWdodDogMTZweDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIGJvZHkubmF2LWlzLWFjdGl2ZSAjaGVhZGVyLW5hdi10b2dnbGUge1xuICAgIHJpZ2h0OiA0MHB4O1xuICB9XG59XG5cbmJvZHkuaGVhZGVyLXB1bGwgI2hlYWRlciB7XG4gIG1hcmdpbi1ib3R0b206IC05NXB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEwMHB4KSB7XG4gIGJvZHkuaGVhZGVyLXB1bGwgI2hlYWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTEyMHB4O1xuICB9XG59XG5cbmJvZHkuc21hbGwtaGVhZGVyLXB1bGwgI2hlYWRlciB7XG4gIG1hcmdpbi1ib3R0b206IC05NXB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEwMHB4KSB7XG4gIGJvZHkuc21hbGwtaGVhZGVyLXB1bGwgI2hlYWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTEyMHB4O1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIGJvZHkubWVkaXVtLWhlYWRlci1wdWxsICNoZWFkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IC05NXB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogMTEwMHB4KSB7XG4gIGJvZHkubWVkaXVtLWhlYWRlci1wdWxsICNoZWFkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IC0xMjBweDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY4Ljc1ZW0pIHtcbiAgYm9keS5sYXJnZS1oZWFkZXItcHVsbCAjaGVhZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtOTVweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjguNzVlbSkgYW5kIChtaW4td2lkdGg6IDExMDBweCkge1xuICBib2R5LmxhcmdlLWhlYWRlci1wdWxsICNoZWFkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IC0xMjBweDtcbiAgfVxufVxuLmhlYWRlci1wdWxsLXBhZGRpbmcge1xuICBwYWRkaW5nLXRvcDogOTVweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMDBweCkge1xuICAuaGVhZGVyLXB1bGwtcGFkZGluZyB7XG4gICAgcGFkZGluZy10b3A6IDEyMHB4O1xuICB9XG59XG5cbi5zbWFsbC1oZWFkZXItcHVsbC1wYWRkaW5nIHtcbiAgcGFkZGluZy10b3A6IDk1cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTAwcHgpIHtcbiAgLnNtYWxsLWhlYWRlci1wdWxsLXBhZGRpbmcge1xuICAgIHBhZGRpbmctdG9wOiAxMjBweDtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubWVkaXVtLWhlYWRlci1wdWxsLXBhZGRpbmcge1xuICAgIHBhZGRpbmctdG9wOiA5NXB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogMTEwMHB4KSB7XG4gIC5tZWRpdW0taGVhZGVyLXB1bGwtcGFkZGluZyB7XG4gICAgcGFkZGluZy10b3A6IDEyMHB4O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjguNzVlbSkge1xuICAubGFyZ2UtaGVhZGVyLXB1bGwtcGFkZGluZyB7XG4gICAgcGFkZGluZy10b3A6IDk1cHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY4Ljc1ZW0pIGFuZCAobWluLXdpZHRoOiAxMTAwcHgpIHtcbiAgLmxhcmdlLWhlYWRlci1wdWxsLXBhZGRpbmcge1xuICAgIHBhZGRpbmctdG9wOiAxMjBweDtcbiAgfVxufVxuYm9keS5oZWFkZXItaW52ZXJzZTpub3QoLm5hdi1pcy1hY3RpdmUpICNoZWFkZXIge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbmJvZHkuaGVhZGVyLWludmVyc2U6bm90KC5uYXYtaXMtYWN0aXZlKSAjaGVhZGVyICoge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuYm9keS5zbWFsbC1oZWFkZXItaW52ZXJzZTpub3QoLm5hdi1pcy1hY3RpdmUpICNoZWFkZXIge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbmJvZHkuc21hbGwtaGVhZGVyLWludmVyc2U6bm90KC5uYXYtaXMtYWN0aXZlKSAjaGVhZGVyICoge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgYm9keS5tZWRpdW0taGVhZGVyLWludmVyc2U6bm90KC5uYXYtaXMtYWN0aXZlKSAjaGVhZGVyIHtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgfVxuICBib2R5Lm1lZGl1bS1oZWFkZXItaW52ZXJzZTpub3QoLm5hdi1pcy1hY3RpdmUpICNoZWFkZXIgKiB7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2OC43NWVtKSB7XG4gIGJvZHkubGFyZ2UtaGVhZGVyLWludmVyc2U6bm90KC5uYXYtaXMtYWN0aXZlKSAjaGVhZGVyIHtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgfVxuICBib2R5LmxhcmdlLWhlYWRlci1pbnZlcnNlOm5vdCgubmF2LWlzLWFjdGl2ZSkgI2hlYWRlciAqIHtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgfVxufVxuI2hlYWRlciB7XG4gIG1pbi1oZWlnaHQ6IDk1cHg7XG4gIHBhZGRpbmctdG9wOiAzOHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwMDA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTAwcHgpIHtcbiAgI2hlYWRlciB7XG4gICAgbWluLWhlaWdodDogMTIwcHg7XG4gICAgcGFkZGluZy10b3A6IDQwcHg7XG4gIH1cbn1cblxuI2hlYWRlci1ncmlkIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4jaGVhZGVyLWxvZ28ge1xuICB3aWR0aDogMTIwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMDBweCkge1xuICAjaGVhZGVyLWxvZ28ge1xuICAgIHdpZHRoOiAyNDBweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEwMHB4KSBhbmQgKG1pbi13aWR0aDogMTEwMHB4KSB7XG4gICNoZWFkZXItbG9nbyB7XG4gICAgd2lkdGg6IDI5MHB4O1xuICB9XG59XG4jaGVhZGVyLWxvZ28gaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogOTZweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMDBweCkge1xuICAjaGVhZGVyLWxvZ28gaW1nIHtcbiAgICBtYXgtd2lkdGg6IDE3NHB4O1xuICB9XG59XG5cbiNoZWFkZXItbmF2LXRvZ2dsZSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgdHJhbnNpdGlvbjogYm90dG9tIDAuNXMgZWFzZS1pbi1vdXQsIGNvbG9yIDAuM3MgZWFzZS1pbi1vdXQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAxO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEwMHB4KSB7XG4gICNoZWFkZXItbmF2LXRvZ2dsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4jaGVhZGVyLW5hdiB7XG4gIGZsZXgtZ3JvdzogMTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwOTlweCkge1xuICAjaGVhZGVyLW5hdiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmctdG9wOiA4NXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA4NXB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKC0xMDAlIC0gNTBweCkpO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dCwgdHJhbnNmb3JtIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAwO1xuICB9XG59XG5cbiNwcmltYXJ5LW5hdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAjcHJpbWFyeS1uYXYge1xuICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTAwcHgpIHtcbiAgI3ByaW1hcnktbmF2IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IHVuc2V0O1xuICB9XG59XG4jcHJpbWFyeS1uYXYgdWwubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTAwcHgpIHtcbiAgI3ByaW1hcnktbmF2IHVsLm1lbnUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBnYXA6IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMDBweCkgYW5kIChtaW4td2lkdGg6IDExMDBweCkge1xuICAjcHJpbWFyeS1uYXYgdWwubWVudSB7XG4gICAgZ2FwOiA4MHB4O1xuICB9XG59XG4jcHJpbWFyeS1uYXYgdWwubWVudSA+IGxpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgZm9udC1zaXplOiAzNnB4O1xuICBsaW5lLWhlaWdodDogMS4zNTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEwMHB4KSB7XG4gICNwcmltYXJ5LW5hdiB1bC5tZW51ID4gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBvdmVyZmxvdzogdW5zZXQ7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufVxuI3ByaW1hcnktbmF2IHVsLm1lbnUgPiBsaS5jdXJyZW50LW1lbnUtaXRlbSBhIHtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG4jcHJpbWFyeS1uYXYgdWwubWVudSA+IGxpLm1lbnUtaXRlbS1jdGEge1xuICBtYXJnaW4tdG9wOiA1MHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEwMHB4KSB7XG4gICNwcmltYXJ5LW5hdiB1bC5tZW51ID4gbGkubWVudS1pdGVtLWN0YSB7XG4gICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICNwcmltYXJ5LW5hdiB1bC5tZW51ID4gbGkubWVudS1pdGVtLWN0YSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA5MHB4O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwOTlweCkge1xuICAuaGlkZS1vbi1tb2JpbGUtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEwMHB4KSB7XG4gIC5oaWRlLW9uLWRlc2t0b3AtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuYm9keS5mb290ZXItbGlnaHQgI2Zvb3RlciB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuYm9keS5mb290ZXItbGlnaHQgI2Zvb3RlciAqIHtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG5cbiNmb290ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nOiAyMHB4IDAgMTBweDtcbiAgYmFja2dyb3VuZDogIzAwMDAwMDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAjZm9vdGVyIHtcbiAgICBwYWRkaW5nOiA2MHB4IDAgMzBweDtcbiAgICBmb250LXNpemU6IDMycHg7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2OC43NWVtKSB7XG4gICNmb290ZXIge1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICB9XG59XG4jZm9vdGVyIGEge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbiNmb290ZXIgdWwubWVudSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBnYXA6IDEwcHg7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICNmb290ZXIgdWwubWVudSB7XG4gICAgZ2FwOiAwO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAjZm9vdGVyIHVsLm1lbnUgPiBsaSB7XG4gICAgZmxleC1iYXNpczogY2FsYyg1MCUgLSA2MHB4KTtcbiAgfVxuICAjZm9vdGVyIHVsLm1lbnUgPiBsaTpudGgtY2hpbGQoMm4pIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxufVxuXG4jZm9vdGVyLXRvcCB7XG4gIG1pbi1oZWlnaHQ6IDk4cHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIG9yZGVyOiAxO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgI2Zvb3Rlci10b3Age1xuICAgIG1pbi1oZWlnaHQ6IDE0MHB4O1xuICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBvcmRlcjogMjtcbiAgfVxufVxuXG4jZm9vdGVyLWJvdHRvbSB7XG4gIG1hcmdpbi10b3A6IGF1dG87XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIG9yZGVyOiAyO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgI2Zvb3Rlci1ib3R0b20ge1xuICAgIG1pbi1oZWlnaHQ6IDE0MHB4O1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBvcmRlcjogMTtcbiAgfVxufVxuI2Zvb3Rlci1ib3R0b20gYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiAwLjAxZW07XG4gIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMC4zNWVtO1xuICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHRyYW5zcGFyZW50O1xuICB0cmFuc2l0aW9uOiB0ZXh0LXVuZGVybGluZS1vZmZzZXQgMC4zcyBlYXNlLWluLW91dCwgdGV4dC1kZWNvcmF0aW9uIDAuM3MgZWFzZS1pbi1vdXQ7XG4gIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IDAuMDVlbTtcbiAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAwLjEyZW07XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogdW5zZXQ7XG59XG4jZm9vdGVyLWJvdHRvbSBhOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogMC4wNWVtO1xuICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDAuMTJlbTtcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiB1bnNldDtcbn1cbiNmb290ZXItYm90dG9tIGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiAwLjAxZW07XG4gIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMC4zNWVtO1xuICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4jZm9vdGVyLWxvZ28ge1xuICBvcmRlcjogMztcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICNmb290ZXItbG9nbyB7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAjZm9vdGVyLXJpZ2h0LXNpZGViYXIge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG59XG5cbi5mb290ZXItc2VjdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZm9vdGVyLXNlY3Rpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIH1cbn1cbi5mb290ZXItc2VjdGlvbjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuLmZvb3Rlci1zZWN0aW9uIC5zZWN0aW9uLXRpdGxlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4jZm9vdGVyLWxvZ28gc3ZnIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG4jZm9vdGVyLWxvZ28gc3ZnIHBhdGgsICNmb290ZXItbG9nbyBzdmcgcmVjdCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWShjYWxjKDEwMCUgKyAxNTBweCkpO1xufVxuI2Zvb3Rlci1sb2dvLmluLXZpZXcgc3ZnIHBhdGgsICNmb290ZXItbG9nby5pbi12aWV3IHN2ZyByZWN0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMS41cyBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSkgY2FsYyh2YXIoLS1wYXRoLWRlbGF5KSAqIDAuMDc1cyk7XG59IiwiLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlc1xuICogVmVyc2lvbiA2LjkuMFxuICogaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cblxuLy8gLS0tIERlcGVuZGVuY2llcyAtLS1cbkBpbXBvcnQgJ3ZlbmRvci9ub3JtYWxpemUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL21pc3NpbmctZGVwZW5kZW5jaWVzJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy90cnVlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL2NvbnRhaW4nO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcHVyZ2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVtb3ZlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlcGxhY2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvdG8tbGlzdCc7XG5cbi8vIC0tLSBTZXR0aW5ncyAtLS1cbi8vIGltcG9ydCB5b3VyIG93biBgc2V0dGluZ3NgIGhlcmUgb3Jcbi8vIGltcG9ydCBhbmQgbW9kaWZ5IHRoZSBkZWZhdWx0IHNldHRpbmdzIHRocm91Z2hcbi8vIEBpbXBvcnQgJ3NldHRpbmdzL3NldHRpbmdzJztcblxuLy8gLS0tIENvbXBvbmVudHMgLS0tXG4vLyBVdGlsaXRpZXNcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG4vLyBHbG9iYWwgc3R5bGVzXG5AaW1wb3J0ICdnbG9iYWwnO1xuQGltcG9ydCAnZm9ybXMvZm9ybXMnO1xuQGltcG9ydCAndHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcblxuLy8gR3JpZHNcbkBpbXBvcnQgJ2dyaWQvZ3JpZCc7XG5AaW1wb3J0ICd4eS1ncmlkL3h5LWdyaWQnO1xuLy8gR2VuZXJpYyBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi1ncm91cCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Nsb3NlLWJ1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xhYmVsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3dpdGNoJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUnO1xuLy8gQmFzaWMgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsbG91dCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhcmQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sdGlwJztcblxuLy8gQ29udGFpbmVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZWRpYS1vYmplY3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9vcmJpdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Jlc3BvbnNpdmUtZW1iZWQnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcbi8vIE1lbnUtYmFzZWQgY29udGFpbmVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudS1pY29uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcmlsbGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bi1tZW51JztcblxuLy8gTGF5b3V0IGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb2ZmLWNhbnZhcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3JldmVhbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N0aWNreSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RvcC1iYXInO1xuXG4vLyBIZWxwZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL2Zsb2F0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Zpc2liaWxpdHknO1xuQGltcG9ydCAncHJvdG90eXBlL3Byb3RvdHlwZSc7XG5cblxuQG1peGluIGZvdW5kYXRpb24tZXZlcnl0aGluZyhcbiAgJGZsZXg6IHRydWUsXG4gICRwcm90b3R5cGU6IGZhbHNlLFxuICAkeHktZ3JpZDogJHh5LWdyaWRcbikge1xuICBAaWYgJGZsZXgge1xuICAgICRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgQGlmICR4eS1ncmlkIHtcbiAgICAkeHktZ3JpZDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgLy8gR2xvYmFsIHN0eWxlc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcblxuICAvLyBHcmlkc1xuICBAaWYgbm90ICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiAkeHktZ3JpZCB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gR2VuZXJpYyBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4gIC8vIEJhc2ljIGNvbXBvbmVudHNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuXG4gIC8vIENvbnRhaW5lcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG4gIC8vIE1lbnUtYmFzZWQgY29udGFpbmVyc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG5cbiAgLy8gTGF5b3V0IGNvbXBvbmVudHNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XG5cbiAgLy8gSGVscGVyc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG4gIEBpZiAkZmxleCB7IEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzOyB9XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuICBAaWYgJHByb3RvdHlwZSB7IEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXM7IH1cbn1cbiIsIi8vIHNhc3MtbGludDpkaXNhYmxlIG5vLXZlbmRvci1wcmVmaXhlc1xuXG5AbWl4aW4gZm91bmRhdGlvbi1ub3JtYWxpemUoKSB7XG4gIC8qISBub3JtYWxpemUuY3NzIHY4LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuICAvLyBEb2N1bWVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG5cbiAgaHRtbCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDFcbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDJcbiAgfVxuXG4gIC8vIFNlY3Rpb25zXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgLy8gYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cblxuICBoMSB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbWFyZ2luOiAwLjY3ZW0gMDtcbiAgfVxuXG4gIC8vIEdyb3VwaW5nIGNvbnRlbnRcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICAvLyAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cblxuICBociB7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8vIDFcbiAgICBoZWlnaHQ6IDA7IC8vIDFcbiAgICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gMlxuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHByZSB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvLyAxXG4gICAgZm9udC1zaXplOiAxZW07IC8vIDJcbiAgfVxuXG4gIC8vIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuXG4gIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLy8gMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAgLy8gMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cblxuICBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDsgLy8gMVxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLy8gMlxuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cblxuICBiLFxuICBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgY29kZSxcbiAga2JkLFxuICBzYW1wIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8vIDFcbiAgICBmb250LXNpemU6IDFlbTsgLy8gMlxuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogODAlO1xuICB9XG5cbiAgLy8gUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gIC8vIGFsbCBicm93c2Vycy5cblxuICBzdWIsXG4gIHN1cCB7XG4gICAgZm9udC1zaXplOiA3NSU7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgfVxuXG4gIHN1YiB7XG4gICAgYm90dG9tOiAtMC4yNWVtO1xuICB9XG5cbiAgc3VwIHtcbiAgICB0b3A6IC0wLjVlbTtcbiAgfVxuXG4gIC8vIEVtYmVkZGVkIGNvbnRlbnRcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuXG4gIGltZyB7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICB9XG5cbiAgLy8gRm9ybXNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIG9wdGdyb3VwLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDsgLy8gMVxuICAgIGZvbnQtc2l6ZTogMTAwJTsgLy8gMVxuICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvLyAxXG4gICAgbWFyZ2luOiAwOyAvLyAyXG4gIH1cblxuICAvLyBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgLy8gMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cblxuICBidXR0b24sXG4gIGlucHV0IHsgLy8gMVxuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gIC8vIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cblxuICBidXR0b24sXG4gIHNlbGVjdCB7IC8vIDFcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG5cbiAgYnV0dG9uLFxuICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgW3R5cGU9XCJyZXNldFwiXSxcbiAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cblxuICBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG5cbiAgYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cblxuICBmaWVsZHNldCB7XG4gICAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICAvLyAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gIC8vICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIGxlZ2VuZCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxuICAgIGNvbG9yOiBpbmhlcml0OyAvLyAyXG4gICAgZGlzcGxheTogdGFibGU7IC8vIDFcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIDFcbiAgICBwYWRkaW5nOiAwOyAvLyAzXG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLy8gMVxuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cblxuICBwcm9ncmVzcyB7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG5cbiAgdGV4dGFyZWEge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gIC8vIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cblxuICBbdHlwZT1cImNoZWNrYm94XCJdLFxuICBbdHlwZT1cInJhZGlvXCJdIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gICAgcGFkZGluZzogMDsgLy8gMlxuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuXG4gIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gIC8vIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuXG4gIFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gMVxuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvLyAyXG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG5cbiAgW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gIC8vIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cblxuICA6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMVxuICAgIGZvbnQ6IGluaGVyaXQ7IC8vIDJcbiAgfVxuXG4gIC8vIEludGVyYWN0aXZlXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cblxuICBkZXRhaWxzIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cblxuICBzdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gIH1cblxuICAvLyBNaXNjXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuXG4gIHRlbXBsYXRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG5cbiAgW2hpZGRlbl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBEaXNhYmxlIG91dGxpbmUgd2hlbiBpbnRlbnQgaXMgY2xlYXJseSBtb3VzZSBhbmQgdG91Y2hcbiAgW2RhdGEtd2hhdGludGVudD1cIm1vdXNlXCJdLFxuICBbZGF0YS13aGF0aW50ZW50PVwidG91Y2hcIl0sXG4gIFtkYXRhLXdoYXRpbnB1dD1cIm1vdXNlXCJdLFxuICBbZGF0YS13aGF0aW5wdXQ9XCJ0b3VjaFwiXSB7XG4gICAgKiwgKjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGUgaU9TIGNhbGxvdXRzIHdoZW4gZHJhZ2dhYmxlIGlzIGZhbHNlXG4gIFtkcmFnZ2FibGU9ZmFsc2VdIHtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1jb2xvci1saXRlcmFscywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIGdsb2JhbFxuLy8vL1xuXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLy8gRm9udCBzaXplIGF0dHJpYnV0ZSBhcHBsaWVkIHRvIGA8aHRtbD5gIGFuZCBgPGJvZHk+YC4gV2UgdXNlIDEwMCUgYnkgZGVmYXVsdCBzbyB0aGUgdmFsdWUgaXMgaW5oZXJpdGVkIGZyb20gdGhlIHVzZXIncyBicm93c2VyIHNldHRpbmdzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgd2lkdGggb2YgeW91ciBzaXRlLiBVc2VkIGJ5IHRoZSBncmlkIHRvIGRldGVybWluZSByb3cgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGFsbCB0eXBlLiBgJGdsb2JhbC1saW5laGVpZ2h0YCBpcyAyNHB4IHdoaWxlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgaXMgMTZweFxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcnMgdXNlZCBmb3IgYnV0dG9ucywgY2FsbG91dHMsIGxpbmtzLCBldGMuIFRoZXJlIG11c3QgYWx3YXlzIGJlIGEgY29sb3IgY2FsbGVkIGBwcmltYXJ5YC5cbi8vLyBAdHlwZSBNYXBcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgXCJwcmltYXJ5XCI6ICMxNzc5YmEsXG4gIFwic2Vjb25kYXJ5XCI6ICM3Njc2NzYsXG4gIFwic3VjY2Vzc1wiOiAjM2FkYjc2LFxuICBcIndhcm5pbmdcIjogI2ZmYWUwMCxcbiAgXCJhbGVydFwiOiAjY2M0YjM3LFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGxpZ2h0IGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsaWdodC1ncmF5OiAjZTZlNmU2ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbWVkaXVtIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZWRpdW0tZ3JheTogI2NhY2FjYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGRhcmsgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRhcmstZ3JheTogIzhhOGE4YSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGJsYWNrIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxhY2s6ICMwYTBhMGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciB3aGl0ZSB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHdoaXRlOiAjZmVmZWZlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBMaXN0XG4kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgc2FmZSBwYWRkaW5nIG9uIHRoZSBib2R5IGZvciBub24tcmVjdGFuZ3VsYXIgZGV2aWNlcyAoaS5lLiBwaG9uZXMgd2l0aCBub3RjaGVzKVxuLy8vIEB0eXBlIEJvb2xlYW5cbiRib2R5LXNhZmUtcGFkZGluZzogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSBhbnRpYWxpYXNlZCB0eXBlLCB1c2luZyB0aGUgYC13ZWJraXQtZm9udC1zbW9vdGhpbmdgIGFuZCBgLW1vei1vc3gtZm9udC1zbW9vdGhpbmdgIENTUyBwcm9wZXJ0aWVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIG1hcmdpbiBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcGFkZGluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBvc2l0aW9uaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBvc2l0aW9uOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIG5vcm1hbCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIGJvbGQgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBlbGVtZW50cyB0aGF0IGhhdmUgYSBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1yYWRpdXM6IDAgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBDYW4gYmUgb3ZlcndyaXR0ZW4gYXQgaW5kaXZpZHVhbCBtZW51IGNvbXBvbmVudCBsZXZlbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIE5lc3RlZCBtYXJnaW4gZm9yIHN1Ym1lbnUuXG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIHRleHQgZGlyZWN0aW9uIG9mIHRoZSBDU1MuIENhbiBiZSBlaXRoZXIgYGx0cmAgb3IgYHJ0bGAuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGZvciBjb21wb25lbnRzIHRoYXQgc3VwcG9ydCBpdC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLWZsZXhib3g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVkIHJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHByb3RvdHlwZXMgaWYgYXBwbGljYWJsZVxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIEJ1dHRvbiBjdXJzb3IncyB2YWx1ZSwgYGF1dG9gIGJ5IGRlZmF1bHRcbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLWJ1dHRvbi1jdXJzb3I6IGF1dG8gIWRlZmF1bHQ7XG5cbkBpZiBub3QgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICBAZXJyb3IgJ0luICRmb3VuZGF0aW9uLXBhbGV0dGUsIHlvdSBtdXN0IGhhdmUgYSBjb2xvciBuYW1lZCBcInByaW1hcnlcIi4nO1xufVxuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgdGV4dCBkaXJlY3Rpb25cbiRnbG9iYWwtbGVmdDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIHJpZ2h0LCBsZWZ0KTtcbiRnbG9iYWwtcmlnaHQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBsZWZ0LCByaWdodCk7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlIHRoYXQgY29udGFpbnMgdGhlIGZsZXgganVzdGlmeWluZyBvcHRpb25zXG4kLXpmLWZsZXgtanVzdGlmeTogLXpmLWZsZXgtanVzdGlmeSgkZ2xvYmFsLXRleHQtZGlyZWN0aW9uKTtcblxuLy8vIEdsb2JhbCB0b2xlcmFuY2UgZm9yIGNvbG9yIHBpY2sgY29udHJhc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlOiAwICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgY29sb3JzXG5AaW5jbHVkZSBhZGQtZm91bmRhdGlvbi1jb2xvcnM7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXMge1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW5vcm1hbGl6ZTtcblxuICAvLyBUaGVzZSBzdHlsZXMgYXJlIGFwcGxpZWQgdG8gYSA8bWV0YT4gdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHRcbiAgLmZvdW5kYXRpb24tbXEge1xuICAgIGZvbnQtZmFtaWx5OiAnI3stemYtYnAtc2VyaWFsaXplKCRicmVha3BvaW50cyl9JztcbiAgfVxuXG4gIGh0bWwge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIFNldCBib3gtc2l6aW5nIGdsb2JhbGx5IHRvIGhhbmRsZSBwYWRkaW5nIGFuZCBib3JkZXIgd2lkdGhzXG4gICosXG4gICo6OmJlZm9yZSxcbiAgKjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBEZWZhdWx0IGJvZHkgc3R5bGVzXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgQGlmICgkYm9keS1zYWZlLXBhZGRpbmcpIHtcbiAgICAgIC8vIHVzaW5nIGVudmlyb25tZW50IHZhcmlhYmxlcyB0byBhY2NvdW50IGZvciBub24tcmVjdGFuZ3VsYXIgZGlzcGxheXMgZS5nLiBwaG9uZXMgd2l0aCBub3RjaGVzXG4gICAgICBwYWRkaW5nLXRvcDogZW52KHNhZmUtYXJlYS1pbnNldC10b3ApO1xuICAgICAgcGFkZGluZy1yaWdodDogZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pO1xuICAgICAgcGFkZGluZy1sZWZ0OiBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQpO1xuICAgIH1cblxuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuXG4gICAgQGlmICgkYm9keS1hbnRpYWxpYXNlZCkge1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgLy8gR2V0IHJpZCBvZiBnYXAgdW5kZXIgaW1hZ2VzIGJ5IG1ha2luZyB0aGVtIGRpc3BsYXk6IGlubGluZS1ibG9jazsgYnkgZGVmYXVsdFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgLy8gR3JpZCBkZWZhdWx0cyB0byBnZXQgaW1hZ2VzIGFuZCBlbWJlZHMgdG8gd29yayBwcm9wZXJseVxuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSB0ZXh0YXJlYSB0YWtlcyBvbiBoZWlnaHQgYXV0b21hdGljYWxseVxuICB0ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBNYWtlIHNlbGVjdCBlbGVtZW50cyBhcmUgMTAwJSB3aWR0aCBieSBkZWZhdWx0XG4gIHNlbGVjdCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIFN0eWxlcyBHb29nbGUgTWFwcyBhbmQgTWFwUXVlc3QgZW1iZWRzIHByb3Blcmx5XG4gIC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8taWRzXG4gIC5tYXBfY2FudmFzLFxuICAubXFhLWRpc3BsYXkge1xuICAgIGltZyxcbiAgICBlbWJlZCxcbiAgICBvYmplY3Qge1xuICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgPGJ1dHRvbj4gc3R5bGVzIGNyZWF0ZWQgYnkgbW9zdCBicm93c2Vyc1xuICBidXR0b24ge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGN1cnNvcjogJGdsb2JhbC1idXR0b24tY3Vyc29yO1xuICB9XG5cbiAgLy8gUHJldmVudCB0ZXh0IG92ZXJmbG93IG9uIHByZVxuICBwcmUge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgfVxuXG4gIC8vIE1ha2UgcmVzZXQgaW5oZXJpdCBmb250LWZhbWlseSBpbnN0ZWFkIG9mIHNldHRpbmdzIHNhbnMtc2VyaWZcbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSW50ZXJuYWwgY2xhc3NlcyB0byBzaG93L2hpZGUgZWxlbWVudHMgaW4gSmF2YVNjcmlwdFxuICAuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pcy1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdtYXRoJztcblxuJHVuaXQtd2FybmluZ3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gUmVtb3ZlcyB0aGUgdW5pdCAoZS5nLiBweCwgZW0sIHJlbSkgZnJvbSBhIHZhbHVlLCByZXR1cm5pbmcgdGhlIG51bWJlciBvbmx5LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW0gLSBOdW1iZXIgdG8gc3RyaXAgdW5pdCBmcm9tLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHNhbWUgbnVtYmVyLCBzYW5zIHVuaXQuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtKSB7XG4gIEByZXR1cm4gZGl2aWRlKCRudW0sICRudW0gKiAwICsgMSk7XG59XG5cbi8vLyBDb252ZXJ0cyBvbmUgb3IgbW9yZSBwaXhlbCB2YWx1ZXMgaW50byBtYXRjaGluZyByZW0gdmFsdWVzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHZhbHVlcyAtIE9uZSBvciBtb3JlIHZhbHVlcyB0byBjb252ZXJ0LiBCZSBzdXJlIHRvIHNlcGFyYXRlIHRoZW0gd2l0aCBzcGFjZXMgYW5kIG5vdCBjb21tYXMuIElmIHlvdSBuZWVkIHRvIGNvbnZlcnQgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCwgd3JhcCB0aGUgbGlzdCBpbiBwYXJlbnRoZXNlcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gVGhlIGJhc2UgdmFsdWUgdG8gdXNlIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGByZW1gLiBJZiB5b3UncmUgdXNpbmcgRm91bmRhdGlvbiBvdXQgb2YgdGhlIGJveCwgdGhpcyBpcyAxNnB4LiBJZiB0aGlzIHBhcmFtZXRlciBpcyBgbnVsbGAsIHRoZSBmdW5jdGlvbiB3aWxsIHJlZmVyZW5jZSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiBkaXZpZGUoJGJhc2UsIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIC8vIFVzaW5nIHJlbSBhcyBiYXNlIGFsbG93cyBjb3JyZWN0IHNjYWxpbmdcbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmICRjb3VudCA9PSAxIHtcbiAgICBAcmV0dXJuIC16Zi10by1yZW0oJHZhbHVlcywgJGJhc2UpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY291bnQge1xuICAgICRyZW0tdmFsdWVzOiBhcHBlbmQoJHJlbS12YWx1ZXMsIC16Zi10by1yZW0obnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlbS12YWx1ZXM7XG59XG5cbi8vIENvbnZlcnRzIGEgdW5pdGxlc3MsIHBpeGVsLCBvciByZW0gdmFsdWUgdG8gZW0sIGZvciB1c2UgaW4gYnJlYWtwb2ludHMuXG5AZnVuY3Rpb24gLXpmLWJwLXRvLWVtKCR2YWx1ZSkge1xuICAvLyBQaXhlbCBhbmQgdW5pdGxlc3MgdmFsdWVzIGFyZSBjb252ZXJ0ZWQgdG8gcmVtc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcgb3IgdW5pdGxlc3MoJHZhbHVlKSB7XG4gICAgJHZhbHVlOiByZW0tY2FsYygkdmFsdWUsICRiYXNlOiAxNnB4KTtcbiAgfVxuXG4gIC8vIFRoZW4gdGhlIHZhbHVlIGlzIGNvbnZlcnRlZCB0byBlbXNcbiAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxZW07XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsIHZhbHVlIHRvIG1hdGNoaW5nIHJlbSB2YWx1ZS4gKkFueSogdmFsdWUgcGFzc2VkLCByZWdhcmRsZXNzIG9mIHVuaXQsIGlzIGFzc3VtZWQgdG8gYmUgYSBwaXhlbCB2YWx1ZS4gQnkgZGVmYXVsdCwgdGhlIGJhc2UgcGl4ZWwgdmFsdWUgdXNlZCB0byBjYWxjdWxhdGUgdGhlIHJlbSB2YWx1ZSBpcyB0YWtlbiBmcm9tIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFBpeGVsIHZhbHVlIHRvIGNvbnZlcnQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIEJhc2UgZm9yIHBpeGVsIGNvbnZlcnNpb24uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIG51bWJlciBpbiByZW1zLCBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSBnaXZlbiB2YWx1ZSBhbmQgdGhlIGJhc2UgcGl4ZWwgdmFsdWUuIHJlbSB2YWx1ZXMgYXJlIHBhc3NlZCB0aHJvdWdoIGFzIGlzLlxuQGZ1bmN0aW9uIC16Zi10by1yZW0oJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnbnVtYmVyJyB7XG4gICAgQGlmICR1bml0LXdhcm5pbmdzIHtcbiAgICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcbiAgICB9XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBUcmFuc2Zvcm0gZW0gaW50byByZW0gaWYgc29tZW9uZSBoYW5kcyBvdmVyICdlbSdzXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gQ2FsY3VsYXRlIHJlbSBpZiB1bml0cyBmb3IgJHZhbHVlIGlzIG5vdCByZW0gb3IgZW1cbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncmVtJyB7XG4gICAgJHZhbHVlOiBkaXZpZGUoc3RyaXAtdW5pdCgkdmFsdWUpLCBzdHJpcC11bml0KCRiYXNlKSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gVHVybiAwcmVtIGludG8gMFxuICBAaWYgJHZhbHVlID09IDByZW0ge1xuICAgICR2YWx1ZTogMDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCwgcGVyY2VudGFnZSwgcmVtIG9yIGVtIHZhbHVlIHRvIGEgdW5pdGxlc3MgdmFsdWUgYmFzZWQgb24gYSBnaXZlbiBmb250IHNpemUuIElkZWFsIGZvciB3b3JraW5nIG91dCB1bml0bGVzcyBsaW5lIGhlaWdodHMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gY29udmVydCB0byBhIHVuaXRsZXNzIGxpbmUgaGVpZ2h0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGZvbnQgc2l6ZSB0byB1c2UgdG8gd29yayBvdXQgdGhlIGxpbmUgaGVpZ2h0IC0gZGVmYXVsdHMgdG8gJGdsb2JhbC1mb250LXNpemVcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBVbml0bGVzcyBudW1iZXJcbkBmdW5jdGlvbiB1bml0bGVzcy1jYWxjKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBGaXJzdCwgbGV0cyBjb252ZXJ0IG91ciAkYmFzZSB0byBwaXhlbHNcblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6IGRpdmlkZSgkYmFzZSwgMTAwJSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmIHVuaXQoJGJhc2UpID09ICdlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBOb3cgbGV0J3MgY29udmVydCBvdXIgdmFsdWUgdG8gcGl4ZWxzIHRvb1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICclJyB7XG4gICAgJHZhbHVlOiBkaXZpZGUoJHZhbHVlLCAxMDAlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIC8vICdweCdcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIHtcbiAgICBAcmV0dXJuIGRpdmlkZShzdHJpcC11bml0KCR2YWx1ZSksIHN0cmlwLXVuaXQoJGJhc2UpKTtcbiAgfVxuXG4gIC8vIGFzc3VtZSB0aGF0IGxpbmUtaGVpZ2h0cyBncmVhdGVyIHRoYW4gMTAgYXJlIG1lYW50IHRvIGJlIGFic29sdXRlIGluICdweCdcbiAgQGlmIHVuaXRsZXNzKCR2YWx1ZSkgYW5kICgkdmFsdWUgPiAxMCkge1xuICAgIEByZXR1cm4gZGl2aWRlKCR2YWx1ZSwgc3RyaXAtdW5pdCgkYmFzZSkpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG4iLCIvLyBjb2xvciBwYWxldHRzXG4vLyBPbmx5IDIgY29sb3JzIG9uIHNpdGU6IFB1cmUgYmxhY2sgYW5kIHdoaXRlXG4kYy1ibGFjazogIzAwMDAwMDtcbiRjLXdoaXRlOiAjRkZGRkZGO1xuXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gICAgXCJwcmltYXJ5XCI6ICRjLWJsYWNrLFxuICAgIFwic2Vjb25kYXJ5XCI6ICRjLXdoaXRlLFxuICAgIFwic3VjY2Vzc1wiOiAjNjhDODRELFxuICAgIFwid2FybmluZ1wiOiAjRkZDODAwLFxuICAgIFwiYWxlcnRcIjogI0NENDI1NCxcbik7XG5cblxuLy8gY29sb3IgdXNlZCBpbiBoZWxwZXJlc1xuJGNvbG9yLWNsYXNzZXM6IChcblx0XCJibGFja1wiOiAkYy1ibGFjayxcblx0XCJ3aGl0ZVwiOiAkYy13aGl0ZSxcbik7XG5cbiRiYWNrZ3JvdW5kLWNsYXNzZXM6IChcblx0XCJibGFja1wiOiAkYy1ibGFjayxcblx0XCJ3aGl0ZVwiOiAkYy13aGl0ZVxuKTtcblxuLy8gb3ZlcnJpZGUgZm91bmRhdGlvbiBjb2xvcnNcbiRsaWdodC1ncmF5OiAkYy1ibGFjaztcbiRtZWRpdW0tZ3JheTogJGMtYmxhY2s7XG4kZGFyay1ncmF5OiAkYy1ibGFjaztcbiRibGFjazogJGMtYmxhY2s7XG4kd2hpdGU6ICRjLXdoaXRlOyIsIiRhc3NldHMtcGF0aDogXCIuLi9cIjtcblxuQGltcG9ydCBcImNvbG9yc1wiO1xuXG4vLyBHbG9iYWxcbi8vIC0tLS0tLS0tLVxuJGdsb2JhbC13aWR0aDogMTgwMHB4O1xuJHdpZGUtd2lkdGg6IDE5MDBweDtcblxuJGdyaWQtY29udGFpbmVyOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uLWFsaWFzOiBmYWxzZTtcbiRncmlkLWNvbnRhaW5lci1wYWRkaW5nOiAoXG5cdHNtYWxsOiAzMnB4LFxuXHRtZWRpdW06IDgwcHhcbik7XG5cbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA3NjhweCxcbiAgbGFyZ2U6IDExMDBweCxcbiAgeGxhcmdlOiAxNjAwcHgsXG4gIHh4bGFyZ2U6IDE4MDBweCxcbik7XG5cbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpO1xuJGJhc2ljLWJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSk7XG5cbiRzcGFjaW5nLWNsYXNzZXM6IChcblx0eHhzbWFsbDogMTZweCxcblx0eHNtYWxsOiAyMHB4LFxuXHRzbWFsbDogNDBweCxcblx0bWVkaXVtOiA1MHB4LFxuXHRsYXJnZTogODBweCwgXG5cdHhsYXJnZTogMTEwcHgsXG5cdHh4bGFyZ2U6IDIwMHB4LFxuXHQnMzAnOiAzMHB4XG4pO1xuXG4kdW5yZXNwb25zaXZlLXNwYWNpbmctY2xhc3NlczogKFxuXHQnNSc6IDVweCxcblx0JzgnOiA4cHgsXG5cdCcxMic6IDEycHgsXG5cdCc2MCc6IDYwcHhcbik7XG5cbiRwYWRkaW5nLXNwYWNpbmctY2xhc3NlczogJHNwYWNpbmctY2xhc3NlcztcbiRtYXJnaW4tc3BhY2luZy1jbGFzc2VzOiBtYXAtbWVyZ2UoJHNwYWNpbmctY2xhc3NlcywgKGF1dG86IGF1dG8pKTtcblxuJG1heC13aWR0aC1jbGFzc2VzOiAoJzE5NSc6IDE5NXB4LCAnMjIwJzogMjIwcHgsICcyNDAnOiAyNDBweCwgJzEyNzAnOiAxMjcwcHgsICczNS1wY3QnOiAzNSUsICc1MC1wY3QnOiA1MCUsICcxMDAtcGN0JzogMTAwJSk7XG4kbWluLXdpZHRoLWNsYXNzZXM6ICgnNTAtcGN0JzogNTAlLCAnMTAwLXBjdCc6IDEwMCUpO1xuXG4kaGVpZ2h0LWNsYXNzZXM6ICgnNTAtcGN0JzogNTAlLCAnMTAwLXBjdCc6IDEwMCUpO1xuJG1pbi1oZWlnaHQtY2xhc3NlczogKCc4NTAnOiA4NTBweCwgJzUwLXBjdCc6IDUwJSwgJzEwMC1wY3QnOiAxMDAlLCAnMTAwLXZoJzogMTAwdmgpO1xuXG4kZm9udC1zaXplLWNsYXNzZXM6ICgnMTInOiAxMnB4LCAnMTYnOiAxNnB4LCAnMjQnOiAyNHB4LCAnMzInOiAzMnB4LCAnNDAnOiA0MHB4LCAnOTYnOiA5NnB4LCAnMzgwJzogMzgwcHgpO1xuJGZvbnQtd2VpZ2h0LWNsYXNzZXM6IChub3JtYWwsIGJvbGQsIDMwMCwgNDAwLCA1MDAsIDYwMCwgNzAwLCA4MDAsIDkwMCk7XG4kbGluZS1oZWlnaHQtY2xhc3NlczogKCcxJzogMSwgJzEtMic6IDEuMiwgJzEtMyc6IDEuMywgJzEtNSc6IDEuNSk7XG4kbGV0dGVyLXNwYWNpbmctY2xhc3NlczogKHNtYWxsOiAwLjA0ZW0sIG1lZGl1bTogMC4wOGVtLCBsYXJnZTogMC4zM2VtKTtcblxuJGdyaWQtbWFyZ2luLWd1dHRlcnM6IChcbiAgc21hbGw6IDMwcHgsXG4gIG1lZGl1bTogNjBweFxuKTtcblxuJGN1c3RvbS1ndXR0ZXJzLWxhcmdlOiAoXG5cdHNtYWxsOiAxNXB4LFxuXHRtZWRpdW06IDQwcHgsXG5cdGxhcmdlOiA4MHB4XG4pO1xuXG4kYm9yZGVyLWNsYXNzZXM6IChcblx0XCJ3aGl0ZVwiOiAxcHggc29saWQgJGMtd2hpdGUsXG5cdFwiYmxhY2tcIjogMXB4IHNvbGlkICRjLWJsYWNrLFxuXHRub25lOiBub25lXG4pO1xuXG4vLyBUeXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tXG4kYm9keS1iYWNrZ3JvdW5kOiAkYy13aGl0ZTtcbiRib2R5LWZvbnQtZmFtaWx5OiBcIlVSVyBHZW9tZXRyaWNcIiwgc2Fucy1zZXJpZjtcbiRib2R5LWZvbnQtY29sb3I6ICRjLWJsYWNrO1xuJGJvZHktZm9udC13ZWlnaHQ6IDMwMDtcbiRib2R5LWZvbnQtc2l6ZTogMTZweDtcbiRib2R5LWZvbnQtc2l6ZS1sOiAyNHB4O1xuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjI7XG5cbiRzY3JpcHQtZm9udC1mYW1pbHk6IFwiRGFuY2luZyBTY3JpcHRcIiwgY3Vyc2l2ZTtcblxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxZW07XG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcblxuJGxlYWQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiRsZWFkLWZvbnQtc2l6ZTogMjJweDtcbiRsZWFkLWZvbnQtc2l6ZS1sOiA0MHB4O1xuXG4kbGVhZC1sYXJnZS1mb250LXNpemU6IDI0cHg7XG4kbGVhZC1sYXJnZS1mb250LXNpemUtbDogNjRweDtcblxuJGhlYWRlci1mb250LWZhbWlseTogXCJVUlcgR2VvbWV0cmljXCIsIHNhbnMtc2VyaWY7XG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiBib2xkO1xuJGhlYWRlci1jb2xvcjogJGMtYmxhY2s7XG5cbiRoZWFkZXItc3R5bGVzOiAoXG5cdHNtYWxsOiAoXG5cdFx0aDE6IChmb250LXNpemU6IDY0LCBtYXJnaW4tYm90dG9tOiAwLCBsaW5lLWhlaWdodDogMSksXG5cdFx0aDI6IChmb250LXNpemU6IDQwLCBtYXJnaW4tYm90dG9tOiAwLCBsaW5lLWhlaWdodDogMSksXG5cdFx0aDM6IChmb250LXNpemU6IDM2LCBtYXJnaW4tYm90dG9tOiAwLCBsaW5lLWhlaWdodDogMSksXG5cdFx0aDQ6IChmb250LXNpemU6IDI4LCBtYXJnaW4tYm90dG9tOiAwLCBsaW5lLWhlaWdodDogMSksXG5cdFx0aDU6IChmb250LXNpemU6IDE2LCBtYXJnaW4tYm90dG9tOiAwLCBsaW5lLWhlaWdodDogMSksXG5cdFx0aDY6IChmb250LXNpemU6IDE2LCBtYXJnaW4tYm90dG9tOiAwLCBsaW5lLWhlaWdodDogMSksXG5cdCksXG5cdG1lZGl1bTogKFxuXHRcdGgxOiAoZm9udC1zaXplOiAxNzIsIG1hcmdpbi1ib3R0b206IDAsIGxpbmUtaGVpZ2h0OiAxKSxcblx0XHRoMjogKGZvbnQtc2l6ZTogMTIwLCBtYXJnaW4tYm90dG9tOiAwLCBsaW5lLWhlaWdodDogMSksXG5cdFx0aDM6IChmb250LXNpemU6IDgyLCBtYXJnaW4tYm90dG9tOiAwLCBsaW5lLWhlaWdodDogMSksXG5cdFx0aDQ6IChmb250LXNpemU6IDM2LCBtYXJnaW4tYm90dG9tOiAwLCBsaW5lLWhlaWdodDogMSksXG5cdFx0aDU6IChmb250LXNpemU6IDI0LCBtYXJnaW4tYm90dG9tOiAwLCBsaW5lLWhlaWdodDogMSksXG5cdFx0aDY6IChmb250LXNpemU6IDI0LCBtYXJnaW4tYm90dG9tOiAwLCBsaW5lLWhlaWdodDogMSksXG5cdCksXG5cdGxhcmdlOiAoXG5cdFx0aDE6IChmb250LXNpemU6IDI4MCwgbWFyZ2luLWJvdHRvbTogMCwgbGluZS1oZWlnaHQ6IDEpLFxuXHRcdGgyOiAoZm9udC1zaXplOiAyMDAsIG1hcmdpbi1ib3R0b206IDAsIGxpbmUtaGVpZ2h0OiAxKSxcblx0XHRoMzogKGZvbnQtc2l6ZTogMTI4LCBtYXJnaW4tYm90dG9tOiAwLCBsaW5lLWhlaWdodDogMSksXG5cdFx0aDQ6IChmb250LXNpemU6IDQwLCBtYXJnaW4tYm90dG9tOiAwLCBsaW5lLWhlaWdodDogMSksXG5cdFx0aDU6IChmb250LXNpemU6IDI0LCBtYXJnaW4tYm90dG9tOiAwLCBsaW5lLWhlaWdodDogMSksXG5cdFx0aDY6IChmb250LXNpemU6IDI0LCBtYXJnaW4tYm90dG9tOiAwLCBsaW5lLWhlaWdodDogMSksXG5cdClcbik7XG5cblxuJGxpc3QtaXRlbS1tYXJnaW46IDA7XG4kbGlzdC1pdGVtLWxpbmVoZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiRsaXN0LXNwYWNpbmctY2xhc3NlczogKGxhcmdlOiA4NHB4KTtcbiRsaXN0LXNpZGUtbWFyZ2luOiAwLjZlbTtcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMC42ZW07XG5cbi8vIEhlYWRlclxuLy8gLS0tLS0tLS0tXG4kaGVhZGVyLWhlaWdodDogOTVweDtcbiRoZWFkZXItaGVpZ2h0LWw6IDEyMHB4O1xuJGhlYWRlci16LWluZGV4OiAxMDAwO1xuJG5hdi1icmVha3BvaW50OiBtYXAtZ2V0KCRicmVha3BvaW50cywgbGFyZ2UpO1xuXG4vLyAvLyBJY29uc1xuLy8gLy8gLS0tLS0tLS0tLVxuLy8gJGljb24tbWFyZ2luOiAwLjVlbTtcbi8vICRpY29uLXNpemVzOiAoJzEtMic6IDEuMmVtLCAnMS0zJzogMS4zZW0sICcyJzogMmVtLCAnMi03JzogMi43ZW0pO1xuXG4vLyAvLyBJbWFnZXNcbi8vIC8vIC0tLS0tLS0tLVxuJHN2Zy1pbWFnZXM6IChcblx0J2Fycm93LXJpZ2h0JzogXHRcdCc8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDMyIDMyXCIgd2lkdGg9XCItLXdpZHRoXCIgaGVpZ2h0PVwiLS1oZWlnaHRcIj48cGF0aCBmaWxsPVwiLS1jb2xvclwiIGQ9XCJNMjQuODY3LDE0LjY1NEMyMi4xODgsMTIuOTI3IDE5Ljg0OCwxMC42OSAxNy44ODYsOC4xMzVDMTYuOTQxLDYuOTA1IDE2LjAwOCw1LjUzIDE1LjQxLDQuMjc5QzE0LjkzMiwzLjI4MSAxNC42NjksMi4zMzcgMTQuNjcxLDEuNTU4TDE3LjQxNiwxLjU2NkMxNy40MTQsMi4wMDggMTcuNjE1LDIuNTI4IDE3Ljg4NiwzLjA5NUMxOC40MSw0LjE5IDE5LjIzNiw1LjM4NiAyMC4wNjMsNi40NjNDMjEuODY2LDguODEgMjQuMDE4LDEwLjg2NiAyNi40OTIsMTIuNDM1QzI4LjIyNSwxMy41MzQgMzAuMzA2LDE0LjY1MyAzMiwxNC42NThMMzIsMTQuNjk0TDMxLjk5MiwxNy40MDNMMzEuOTkyLDE3LjQzOEMzMC4yOTgsMTcuNDMzIDI4LjIxLDE4LjUzOSAyNi40NywxOS42MjhDMjMuOTg3LDIxLjE4MyAyMS44MjMsMjMuMjI1IDIwLjAwNiwyNS41NjFDMTkuMTcyLDI2LjYzMyAxOC4zMzksMjcuODI0IDE3LjgwOSwyOC45MTZDMTcuNTM0LDI5LjQ4MSAxNy4zMywzMCAxNy4zMjksMzAuNDQyTDE0LjU4NCwzMC40MzRDMTQuNTg3LDI5LjY1NSAxNC44NTYsMjguNzEzIDE1LjMzOSwyNy43MTdDMTUuOTQ1LDI2LjQ2OSAxNi44ODcsMjUuMTAxIDE3LjgzOSwyMy44NzZDMTkuODE2LDIxLjMzMyAyMi4xNjksMTkuMTExIDI0Ljg1OSwxNy4zOTlMMCwxNy4zMjRMMC4wMDgsMTQuNThMMjQuODY3LDE0LjY1NFpcIi8+PC9zdmc+Jyxcblx0J2Fycm93LWRvd24nOiBcdFx0JzxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMzIgMzJcIiB3aWR0aD1cIi0td2lkdGhcIiBoZWlnaHQ9XCItLWhlaWdodFwiPjxwYXRoIGZpbGw9XCItLWNvbG9yXCIgZD1cIk0xNS4xNTgsMjYuODA5TDE1LjE1OCwwTDE2Ljg0MiwwTDE2Ljg0MiwyNi44MDlDMTcuMTIyLDI2LjI5IDE3LjQyLDI1Ljc4NCAxNy43MjMsMjUuMzAzQzE5LjQyMywyMi42MDUgMjEuNjQ4LDIwLjI1MyAyNC4xOTcsMTguMjgzQzI1LjM5NSwxNy4zNTcgMjYuNzMzLDE2LjQ0IDI3Ljk1MywxNS44NTNDMjguODY2LDE1LjQxMiAyOS43MjgsMTUuMTU4IDMwLjQ0MiwxNS4xNThMMzAuNDQyLDE2Ljg0MkMyOS45MzUsMTYuODQyIDI5LjMzMywxNy4wNTcgMjguNjg0LDE3LjM3QzI3LjU2LDE3LjkxMSAyNi4zMzEsMTguNzYyIDI1LjIyNywxOS42MTZDMjIuODM1LDIxLjQ2NCAyMC43NDQsMjMuNjY5IDE5LjE0OCwyNi4yMDFDMTgsMjguMDI0IDE2Ljg2LDMwLjIyMiAxNi44NiwzMkwxNS4xNCwzMkMxNS4xNCwzMC4yMjIgMTQsMjguMDI0IDEyLjg1MiwyNi4yMDFDMTEuMjU2LDIzLjY2OSA5LjE2NSwyMS40NjQgNi43NzMsMTkuNjE2QzUuNjY5LDE4Ljc2MiA0LjQ0LDE3LjkxMSAzLjMxNiwxNy4zN0MyLjY2NywxNy4wNTcgMi4wNjUsMTYuODQyIDEuNTU4LDE2Ljg0MkwxLjU1OCwxNS4xNThDMi4yNzIsMTUuMTU4IDMuMTM0LDE1LjQxMiA0LjA0NywxNS44NTNDNS4yNjcsMTYuNDQgNi42MDUsMTcuMzU3IDcuODAzLDE4LjI4M0MxMC4zNTIsMjAuMjUzIDEyLjU3NywyMi42MDUgMTQuMjc3LDI1LjMwM0MxNC41OCwyNS43ODQgMTQuODc4LDI2LjI5IDE1LjE1OCwyNi44MDlaXCIvPjwvc3ZnPicsXG4pOyIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuQHVzZSBcInNhc3M6Y29sb3JcIjtcblxuLy8gUGF0Y2ggdG8gZml4IGlzc3VlICMxMjA4MFxuJC16Zi1icC12YWx1ZTogbnVsbDtcblxuLy8vIENyZWF0ZXMgYW4gaW5uZXIgYm94LXNoYWRvdyBmb3Igb25seSBvbmUgc2lkZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2lkZSAtIFNpZGUgdGhlIHNoYWRvdyBpcyBzdXBwb3NlZCB0byBhcHBlYXIuIENhbiBiZSBgdG9wYCwgYGxlZnRgLCBgcmlnaHRgIG9yIGBib3R0b21gLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSAtIFdpZHRoIGZvciB0aGUgdGFyZ2V0IHNpZGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3Igb2YgdGhlIHNoYWRvdy5cbkBtaXhpbiBpbm5lci1zaWRlLXNoYWRvdyhcbiAgJHNpZGU6IGJvdHRvbSxcbiAgJHNpemU6IDIwcHgsXG4gICRjb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpXG4pIHtcblxuICAkaGVscGVyOiByb3VuZCgkc2l6ZSAqIDAuNjUpO1xuXG4gIEBpZiAoJHNpZGUgPT0gdG9wKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAkaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGxlZnQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAkaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gcmlnaHQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAoLTEpKiRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBib3R0b20pIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICgtMSkqJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgQ1NTIHRyaWFuZ2xlLCB3aGljaCBjYW4gYmUgdXNlZCBmb3IgZHJvcGRvd24gYXJyb3dzLCBkcm9wZG93biBwaXBzLCBhbmQgbW9yZS4gVXNlIHRoaXMgbWl4aW4gaW5zaWRlIGEgYCY6OmJlZm9yZWAgb3IgYCY6OmFmdGVyYCBzZWxlY3RvciwgdG8gYXR0YWNoIHRoZSB0cmlhbmdsZSB0byBhbiBleGlzdGluZyBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0cmlhbmdsZS1zaXplIC0gV2lkdGggb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICR0cmlhbmdsZS1jb2xvciAtIENvbG9yIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0cmlhbmdsZS1kaXJlY3Rpb24gLSBEaXJlY3Rpb24gdGhlIHRyaWFuZ2xlIHBvaW50cy4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLlxuQG1peGluIGNzcy10cmlhbmdsZShcbiAgJHRyaWFuZ2xlLXNpemUsXG4gICR0cmlhbmdsZS1jb2xvcixcbiAgJHRyaWFuZ2xlLWRpcmVjdGlvblxuKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuXG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogJHRyaWFuZ2xlLXNpemU7XG5cbiAgY29udGVudDogJyc7XG5cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGRvd24pIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSB1cCkge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHJpZ2h0KSB7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBtZW51IGljb24gd2l0aCBhIHNldCB3aWR0aCwgaGVpZ2h0LCBudW1iZXIgb2YgYmFycywgYW5kIGNvbG9ycy4gVGhlIG1peGluIHVzZXMgdGhlIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiB0aGUgYmFycyB0byBkZXRlcm1pbmUgc3BhY2luZy4gPGRpdiBjbGFzcz1cImRvY3MtZXhhbXBsZS1idXJnZXJcIj48L2Rpdj5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yLWhvdmVyIFskZGFyay1ncmF5XSAtIENvbG9yIHRvIHVzZSB3aGVuIHRoZSBpY29uIGlzIGhvdmVyZWQgb3Zlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFsyMHB4XSAtIFdpZHRoIG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFsxNnB4XSAtIEhlaWdodCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCBbMnB4XSAtIEhlaWdodCBvZiBpbmRpdmlkdWFsIGJhcnMgaW4gdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXJzIFszXSAtIE51bWJlciBvZiBiYXJzIGluIHRoZSBpY29uLlxuQG1peGluIGhhbWJ1cmdlcihcbiAgJGNvbG9yOiAkYmxhY2ssXG4gICRjb2xvci1ob3ZlcjogJGRhcmstZ3JheSxcbiAgJHdpZHRoOiAyMHB4LFxuICAkaGVpZ2h0OiAxNnB4LFxuICAkd2VpZ2h0OiAycHgsXG4gICRiYXJzOiAzXG4pIHtcbiAgLy8gYm94LXNoYWRvdyBDU1Mgb3V0cHV0XG4gICRzaGFkb3c6ICgpO1xuICAkaG92ZXItc2hhZG93OiAoKTtcblxuICAvLyBTcGFjaW5nIGJldHdlZW4gYmFycyBpcyBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSB0b3RhbCBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgZWFjaCBiYXJcbiAgJHNwYWNpbmc6IGRpdmlkZSgkaGVpZ2h0IC0gKCR3ZWlnaHQgKiAkYmFycyksICRiYXJzIC0gMSk7XG5cbiAgQGlmIHVuaXQoJHNwYWNpbmcpID09ICdweCcge1xuICAgICRzcGFjaW5nOiBmbG9vcigkc3BhY2luZyk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICRzaGFkb3c6IGFwcGVuZCgkc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3IsIGNvbW1hKTtcbiAgfVxuXG4gIC8vIEljb24gY29udGFpbmVyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAvLyBJY29uIGJhcnNcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHdlaWdodDtcblxuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICBib3gtc2hhZG93OiAkc2hhZG93O1xuXG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaWYgJGNvbG9yLWhvdmVyIHtcbiAgICAvLyBHZW5lcmF0ZSBDU1NcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgICAkaG92ZXItc2hhZG93OiBhcHBlbmQoJGhvdmVyLXNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLWhvdmVyLCBjb21tYSk7XG4gICAgfVxuXG4gICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xuICAgICAgYm94LXNoYWRvdzogJGhvdmVyLXNoYWRvdztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkb3dud2FyZC1mYWNpbmcgdHJpYW5nbGUgYXMgYSBiYWNrZ3JvdW5kIGltYWdlIHRvIGFuIGVsZW1lbnQuIFRoZSBpbWFnZSBpcyBmb3JtYXR0ZWQgYXMgYW4gU1ZHLCBtYWtpbmcgaXQgZWFzeSB0byBjaGFuZ2UgdGhlIGNvbG9yLiBCZWNhdXNlIEludGVybmV0IEV4cGxvcmVyIGRvZXNuJ3Qgc3VwcG9ydCBlbmNvZGVkIFNWR3MgYXMgYmFja2dyb3VuZCBpbWFnZXMsIGEgUE5HIGZhbGxiYWNrIGlzIGFsc28gaW5jbHVkZWQuXG4vLy8gVGhlcmUgYXJlIHR3byBQTkcgZmFsbGJhY2tzOiBhIGJsYWNrIHRyaWFuZ2xlIGFuZCBhIHdoaXRlIHRyaWFuZ2xlLiBUaGUgb25lIHVzZWQgZGVwZW5kcyBvbiB0aGUgbGlnaHRuZXNzIG9mIHRoZSBpbnB1dCBjb2xvci5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIHRyaWFuZ2xlLlxuQG1peGluIGJhY2tncm91bmQtdHJpYW5nbGUoJGNvbG9yOiAkYmxhY2spIHtcbiAgJHJlZCAgIDogcm91bmQoY29sb3IuY2hhbm5lbCgkY29sb3IsIFwicmVkXCIsICRzcGFjZTogcmdiKSk7XG4gICRncmVlbiA6IHJvdW5kKGNvbG9yLmNoYW5uZWwoJGNvbG9yLCBcImdyZWVuXCIsICRzcGFjZTogcmdiKSk7XG4gICRibHVlICA6IHJvdW5kKGNvbG9yLmNoYW5uZWwoJGNvbG9yLCBcImJsdWVcIiwgJHNwYWNlOiByZ2IpKTtcbiAgJHJnYiAgIDogJ3JnYiUyOCN7JHJlZH0sICN7JGdyZWVufSwgI3skYmx1ZX0lMjknO1xuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmVyc2lvbj1cIjEuMVwiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMzIgMjRcIj48cG9seWdvbiBwb2ludHM9XCIwLDAgMzIsMCAxNiwyNFwiIHN0eWxlPVwiZmlsbDogI3skcmdifVwiPjwvcG9seWdvbj48L3N2Zz4nKTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwXFwwKSB7XG4gICAgQGlmIGNvbG9yLmNoYW5uZWwoJGNvbG9yLCBcImxpZ2h0bmVzc1wiLCAkc3BhY2U6IGhzbCkgPCA2MCUge1xuICAgICAgLy8gV2hpdGUgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBCbGFjayB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQU1CSlJFRlVlTnJFbGxzT2hDQU1SVnN6QzlJbHpVN0tDbVZIVEpzb01XWU1VdHB5djlCZ2J1WFFCNVpTZGdCWVlZNHljZ0Jpdms4S1lGc1FNZk1pVFRCUDRvM25VekNLek9hYkxKYkx5Mi9nMzFldkdrQWdpblI0L1plZ0tINXFYM2JKQ3NjQTN0MHgza2dPNXRRRnloaEZmNTB4UnFGTGJ5TVVOSlF6Z3lqR1Mvd2dDcHZLcWtSQnB1V3JFNFY5ZCsxRTRkUFVYcUlnMTA3U1FPRS8yRFJReE13VER5Z0lJblZERVQ5VDNsQ29qLzZqL1ZDbUdqWk9sMmxLcFo4QUF3RFFQN3pJaW1ER0ZRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBcHBsaWVzIHRoZSBtaWNybyBjbGVhcmZpeCBoYWNrIHBvcHVsYXJpemVkIGJ5IE5pY29sYXMgR2FsbGFnaGVyLiBJbmNsdWRlIHRoaXMgbWl4aW4gb24gYSBjb250YWluZXIgaWYgaXRzIGNoaWxkcmVuIGFyZSBhbGwgZmxvYXRlZCwgdG8gZ2l2ZSB0aGUgY29udGFpbmVyIGEgcHJvcGVyIGhlaWdodC5cbi8vLyBUaGUgY2xlYXJmaXggaXMgYXVnbWVudGVkIHdpdGggc3BlY2lmaWMgc3R5bGVzIHRvIHByZXZlbnQgYm9yZGVycyBpbiBmbGV4Ym94IGVudmlyb25tZW50c1xuLy8vIEBsaW5rIGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrLyBNaWNybyBDbGVhcmZpeCBIYWNrXG4vLy8gQGxpbmsgaHR0cDovL2RhbmlzYWRlc2lnbmVyLmNvbS9ibG9nL2ZsZXhib3gtY2xlYXItZml4LXBzZXVkby1lbGVtZW50cy8gRmxleGJveCBmaXhcbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLy8gQWRkcyBDU1MgZm9yIGEgXCJxdWFudGl0eSBxdWVyeVwiIHNlbGVjdG9yIHRoYXQgYXV0b21hdGljYWxseSBzaXplcyBlbGVtZW50cyBiYXNlZCBvbiBob3cgbWFueSB0aGVyZSBhcmUgaW5zaWRlIGEgY29udGFpbmVyLlxuLy8vIEBsaW5rIGh0dHA6Ly9hbGlzdGFwYXJ0LmNvbS9hcnRpY2xlL3F1YW50aXR5LXF1ZXJpZXMtZm9yLWNzcyBRdWFudGl0eSBRdWVyaWVzIGZvciBDU1Ncbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IC0gTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gZGV0ZWN0LiBUaGUgaGlnaGVyIHRoaXMgbnVtYmVyIGlzLCB0aGUgbW9yZSBDU1MgdGhhdCdzIHJlcXVpcmVkIHRvIGNvdmVyIGVhY2ggbnVtYmVyIG9mIGl0ZW1zLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGVsZW0gW2xpXSAtIFRhZyB0byB1c2UgZm9yIHNpYmxpbmcgc2VsZWN0b3JzLlxuQG1peGluIGF1dG8td2lkdGgoJG1heCwgJGVsZW06IGxpKSB7XG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJG1heCB7XG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQsXG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQgfiAjeyRlbGVtfSB7XG4gICAgICB3aWR0aDogcGVyY2VudGFnZShkaXZpZGUoMSwgJGkpKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgdGhlIGZvY3VzIHJpbmcgYXJvdW5kIGFuIGVsZW1lbnQgd2hlbiBhIG1vdXNlIGlucHV0IGlzIGRldGVjdGVkLlxuQG1peGluIGRpc2FibGUtbW91c2Utb3V0bGluZSB7XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAmIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiwgYnV0IHN0aWxsIGFjY2Vzc2libGUgdG8ga2V5Ym9hcmRzIGFuZCBhc3Npc3RpdmUgZGV2aWNlcy5cbi8vLyBAbGluayBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5IEhpZGluZyBDb250ZW50IGZvciBBY2Nlc3NpYmlsaXR5XG4vLy8gQGxpbmsgaHR0cDovL2h1Z29naXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGVuZm9yY2UgLSBJZiBgdHJ1ZWAsIHVzZSBgIWltcG9ydGFudGAgb24gYXBwbGllZCBwcm9wZXJ0aWVzXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUoXG4gICRlbmZvcmNlOiB0cnVlXG4pIHtcbiAgJGltcG9ydGFudDogaWYoJGVuZm9yY2UsICchaW1wb3J0YW50JywgbnVsbCk7XG5cbiAgcG9zaXRpb246IGFic29sdXRlICN7JGltcG9ydGFudH07XG4gIHdpZHRoOiAxcHggI3skaW1wb3J0YW50fTtcbiAgaGVpZ2h0OiAxcHggI3skaW1wb3J0YW50fTtcbiAgcGFkZGluZzogMCAjeyRpbXBvcnRhbnR9O1xuICBvdmVyZmxvdzogaGlkZGVuICN7JGltcG9ydGFudH07XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCkgI3skaW1wb3J0YW50fTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAjeyRpbXBvcnRhbnR9O1xuICBib3JkZXI6IDAgI3skaW1wb3J0YW50fTtcbn1cblxuLy8vIFJldmVyc2VzIHRoZSBDU1Mgb3V0cHV0IGNyZWF0ZWQgYnkgdGhlIGBlbGVtZW50LWludmlzaWJsZSgpYCBtaXhpbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRlbmZvcmNlIC0gSWYgYHRydWVgLCB1c2UgYCFpbXBvcnRhbnRgIG9uIGFwcGxpZWQgcHJvcGVydGllc1xuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZihcbiAgJGVuZm9yY2U6IHRydWVcbikge1xuICAkaW1wb3J0YW50OiBpZigkZW5mb3JjZSwgJyFpbXBvcnRhbnQnLCBudWxsKTtcblxuICBwb3NpdGlvbjogc3RhdGljICN7JGltcG9ydGFudH07XG4gIHdpZHRoOiBhdXRvICN7JGltcG9ydGFudH07XG4gIGhlaWdodDogYXV0byAjeyRpbXBvcnRhbnR9O1xuICBvdmVyZmxvdzogdmlzaWJsZSAjeyRpbXBvcnRhbnR9O1xuICBjbGlwOiBhdXRvICN7JGltcG9ydGFudH07XG4gIHdoaXRlLXNwYWNlOiBub3JtYWwgI3skaW1wb3J0YW50fTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgaXRlcmF0ZSBvdmVyIGJyZWFrcG9pbnRzIHdpdGhvdXQgZG9pbmcgdGhlIG1lZGlhIHF1ZXJ5IGl0c2VsZi4gVXNlZnVsIGZvciBtb3JlIGNvbXBsZXggbWVkaWEgcXVlcnkgZ2VuZXJhdGlvbiBhcyBpbiB0aGUgbWFyZ2luIGdyaWQuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludChcbiAgJHNtYWxsOiB0cnVlLFxuICAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHM6IHRydWVcbikge1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50LWluKGF1dG8sIC16Zi1ib29sKCRzbWFsbCksIC16Zi1ib29sKCRhdXRvLWluc2VydC1icmVha3BvaW50cykpIHtcbiAgICBAY29udGVudFxuICB9O1xufVxuXG4vLy8gSXRlcmF0ZXMgd2l0aCBgQGNvbnRlbnRgIHRocm91Z2ggdGhlIGdpdmVuIGxpc3Qgb2YgYnJlYWtwb2ludHMgYCRicmVha3BvaW50c2AuXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxMaXN0fSAkYnJlYWtwb2ludHMgW2F1dG9dIC0gQnJlYWtwb2ludHMgdG8gaXRlcmF0ZXMgb24uIEl0IGNhbiBiZSBhIGJyZWFrcG9pbnQgbmFtZSwgbGlzdCBvZiBicmVha3BvaW50cyBvciBgYXV0b2AgZm9yIGFsbCBicmVha3BvaW50cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW58TnVsbH0gJHplcm8tYnJlYWtwb2ludCBbbnVsbF0gLSBXaGV0aGVyIHRoZSB6ZXJvLWJyZWFrcG9pbnQgKG9mdGVuIGBzbWFsbGApIG11c3QgYmUgaW5jbHVkZWQuIElmIGB0cnVlYCwgaXQgd2lsbCBhbHdheXMgYmUgYWRkZWQgdG8gdGhlIGxpc3QgaWYgbm90IGFscmVhZHkgdGhlcmUuIElmIGBmYWxzZWAsIGl0IHdpbGwgYWx3YXlzIGJlIHJlbW92ZWQuIERvZXMgbm90aGluZyBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbnxLZXl3b3JkfSAkbWVkaWEtcXVlcmllcyBbdHJ1ZV0gLSBXaGV0aGVyIG1lZGlhLXF1ZXJpZXMgbXVzdCBiZSBnZW5lcmF0ZWQuIElmIGBmb3ItbGlzdHNgLCBvbmx5IGdlbmVyYXRlIG1lZGlhLXF1ZXJpZXMgd2hlbiBgJGJyZWFrcG9pbnRzYCBpcyBhIGxpc3QuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludC1pbihcbiAgJGJyZWFrcG9pbnRzOiBhdXRvLFxuICAkemVyby1icmVha3BvaW50OiBudWxsLFxuICAkbWVkaWEtcXVlcmllczogdHJ1ZVxuKSB7XG4gICQtbGlzdDogKCk7XG4gICQtYnJlYWtwb2ludHMtaXMtYS1saXN0OiB0cnVlO1xuXG4gIC8vIFJldHJpZXZlIHRoZSBsaXN0IG9mIGJyZWFrcG9pbnQocykgdG8gaXRlcmF0ZSBvbi5cbiAgQGlmICRicmVha3BvaW50cyA9PSBhdXRvIHtcbiAgICAkLWxpc3Q6ICRicmVha3BvaW50LWNsYXNzZXM7XG4gIH1cbiAgQGVsc2UgaWYgdHlwZS1vZigkYnJlYWtwb2ludHMpID09ICdsaXN0JyB7XG4gICAgJC1saXN0OiAkYnJlYWtwb2ludHM7XG4gIH1cbiAgQGVsc2UgaWYgdHlwZS1vZigkYnJlYWtwb2ludHMpID09ICdzdHJpbmcnIHtcbiAgICAkLWxpc3Q6ICgkYnJlYWtwb2ludHMpO1xuICAgICQtYnJlYWtwb2ludHMtaXMtYS1saXN0OiBmYWxzZTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIFwiJGJyZWFrcG9pbnRzXCIgaW4gXCItemYtZWFjaC1icmVha3BvaW50LWluKClcIi4gR290IFwiI3skYnJlYWtwb2ludHN9XCIgKCN7dHlwZS1vZigkYnJlYWtwb2ludHMpfSkuIEV4cGVjdGVkIGEgYnJlYWtwb2ludCBuYW1lLCBhIGxpc3Qgb2YgYnJlYWtwb2ludHMgb3IgXCJhdXRvXCInO1xuICB9XG5cbiAgLy8gQWRkIG9yIHJlbW92ZSB0aGUgemVybyBicmVha3BvaW50IGFjY29yZGluZyB0byBgJHplcm8tYnJlYWtwb2ludGBcbiAgQGlmICR6ZXJvLWJyZWFrcG9pbnQgPT0gdHJ1ZSB7XG4gICAgJC1saXN0OiBqb2luKCgkLXpmLXplcm8tYnJlYWtwb2ludCksIHNsLXJlbW92ZSgkLWxpc3QsICQtemYtemVyby1icmVha3BvaW50KSk7XG4gIH1cbiAgQGVsc2UgaWYgJHplcm8tYnJlYWtwb2ludCA9PSBmYWxzZSB7XG4gICAgJC1saXN0OiBzbC1yZW1vdmUoJC1saXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gIH1cblxuICAvLyBJdGVyYXRlIG9uIGJyZWFrcG9pbnQocylcbiAgQGVhY2ggJGJwIGluICQtbGlzdCB7XG4gICAgJG9sZC16Zi1zaXplOiBudWxsO1xuICAgIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgICB9XG4gICAgJC16Zi1zaXplOiAkYnAgIWdsb2JhbDtcblxuICAgIEBpZiAoJG1lZGlhLXF1ZXJpZXMgPT0gdHJ1ZSBvciAoJG1lZGlhLXF1ZXJpZXMgPT0gJ2Zvci1saXN0cycgYW5kICQtYnJlYWtwb2ludHMtaXMtYS1saXN0KSkge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnApIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHRoZSBgQGNvbnRlbnRgIHBhc3NlZCB0byB0aGUgbWl4aW4gd2l0aCBhIHZhbHVlIGAkLXpmLWJwLXZhbHVlYCByZWxhdGVkIHRvIGEgYnJlYWtwb2ludCwgZGVwZW5kaW5nIG9uIHRoZSBgJG5hbWVgIHBhcmFtZXRlcjpcbi8vLyAtIEZvciBhIHNpbmdsZSB2YWx1ZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoaXMgdmFsdWUuXG4vLy8gLSBGb3IgYSBicmVha3BvaW50IG5hbWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYC5cbi8vLyAtIEZvciBcImF1dG9cIiwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgIGFuZCBpcyBwYXNzZWQgdG8gYEBjb250ZW50YCwgd2hpY2ggaXMgbWFkZSByZXNwb25zaXZlIGZvciBlYWNoIGJyZWFrcG9pbnQgb2YgYCRtYXBgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfEFycmF5fEtleXdvcmR9ICRuYW1lIFthdXRvXSAtIFNpbmdsZSB2YWx1ZSwgYnJlYWtwb2ludCBuYW1lLCBvciBsaXN0IG9mIGJyZWFrcG9pbnQgbmFtZXMgdG8gdXNlLiBcImF1dG9cIiBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIE1hcCBvZiBicmVha3BvaW50cyBhbmQgdmFsdWVzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuXG5AbWl4aW4gLXpmLWJyZWFrcG9pbnQtdmFsdWUoXG4gICRuYW1lOiBhdXRvLFxuICAkbWFwOiBudWxsXG4pIHtcbiAgQGlmICRuYW1lID09IGF1dG8gYW5kIHR5cGUtb2YoJG1hcCkgPT0gJ21hcCcge1xuICAgIC8vIFwiYXV0b1wiXG4gICAgQGVhY2ggJGssICR2IGluICRtYXAge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkaykge1xuICAgICAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkdiwgJG1hcCkge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBicmVha3BvaW50IG5hbWVcbiAgICBAaWYgdHlwZS1vZigkbmFtZSkgPT0gJ3N0cmluZycge1xuICAgICAgJGJwLXZhbHVlOiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkbmFtZSk7XG4gICAgICBAaWYgJGJwLXZhbHVlICE9IG51bGwge1xuICAgICAgICAkbmFtZTogJGJwLXZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGJyZWFrcG9pbnQgdmFsdWVcbiAgICAkLXpmLWJwLXZhbHVlOiAkbmFtZSAhZ2xvYmFsO1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1iYXNlXG4vLy8vXG5cbi8vIEJhc2UgVHlwb2dyYXBoeVxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbi8vIFRoZXNlIGFyZSBzdHlsZXMgYXBwbGllZCB0byBiYXNpYyBIVE1MIHRhZ3MsIGluY2x1ZGluZzpcbi8vICAgLSBQYXJhZ3JhcGhzIDxwPlxuLy8gICAtIEJvbGQvaXRhbGljcyA8Yj4gPHN0cm9uZz4gPGk+IDxlbT5cbi8vICAgLSBTbWFsbCB0ZXh0IDxzbWFsbD5cbi8vICAgLSBIZWFkaW5ncyA8aDE+LTxoNj5cbi8vICAgLSBBbmNob3JzIDxhPlxuLy8gICAtIERpdmlkZXJzIDxocj5cbi8vICAgLSBMaXN0cyA8dWw+IDxvbD4gPGRsPlxuLy8gICAtIEJsb2NrcXVvdGVzIDxibG9ja3F1b3RlPlxuLy8gICAtIENvZGUgYmxvY2tzIDxjb2RlPlxuLy8gICAtIEFiYnJldmlhdGlvbnMgPGFiYnI+XG4vLyAgIC0gQ2l0YXRpb25zIDxjaXRlPlxuLy8gICAtIEtleXN0cm9rZXMgPGtiZD5cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBoZWFkZXIgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdHlsZSAoZS5nLiBpdGFsaWNpemVkKSBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIHVzZWQgZm9yIGVsZW1lbnRzIHRoYXQgdXNlIG1vbm9zcGFjZWQgdHlwZSwgc3VjaCBhcyBjb2RlIHNhbXBsZXNcbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItY29sb3I6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyBmb3IgaGVhZGluZ3MgYXQgdmFyaW91cyBzY3JlZW4gc2l6ZXMuIEVhY2gga2V5IGlzIGEgYnJlYWtwb2ludCwgYW5kIGVhY2ggdmFsdWUgaXMgYSBtYXAgb2YgaGVhZGluZyBzdHlsZXMuXG4vLy8gQHR5cGUgTWFwXG4kaGVhZGVyLXN0eWxlczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMjQpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMTkpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMTgpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTcpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuICBtZWRpdW06IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDQ4KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDQwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDMxKSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI1KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbikgIWRlZmF1bHQ7XG5cbi8vICRoZWFkZXItc3R5bGVzIG1hcCBpcyBidWlsdCBmcm9tICRoZWFkZXItc2l6ZXMgaW4gb3JkZXIgdG8gZW5zdXJlIGRvd253YXJkIGNvbXBhdGliaWxpdHlcbi8vIHdoZW4gJGhlYWRlci1zaXplcyBpcyBkZXByZWNpYXRlZCwgJGhlYWRlci1zdHlsZXMgbmVlZHMgdG8gZ2V0ICFkZWZhdWx0IHZhbHVlcyBsaWtlIHNldHRpbmdzLnNjc3NcbkBmdW5jdGlvbiBidWlsZC1mcm9tLWhlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKSB7XG4gIEB3YXJuICdOb3RlLCB0aGF0ICRoZWFkZXItc2l6ZXMgaGFzIGJlZW4gcmVwbGFjZWQgd2l0aCAkaGVhZGVyLXN0eWxlcy4gJGhlYWRlci1zaXplcyBzdGlsbCB3b3JrcywgYnV0IGl0IGlzIGdvaW5nIHRvIGJlIGRlcHJlY2lhdGVkLic7XG4gICRoZWFkZXItc3R5bGVzOiAoKTtcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc2l6ZXMge1xuICAgICRoZWFkZXItbWFwOiAoKTtcbiAgICBAZWFjaCAkaGVhZGVyLCAkZm9udC1zaXplIGluICRoZWFkZXJzIHtcbiAgICAgICRoZWFkZXItbWFwOiBtYXAtbWVyZ2UoJGhlYWRlci1tYXAsICgkaGVhZGVyOiAoJ2ZvbnQtc2l6ZSc6ICRmb250LXNpemUpKSk7XG4gICAgfVxuICAgICRoZWFkZXItc3R5bGVzOiBtYXAtbWVyZ2UoJGhlYWRlci1zdHlsZXMsICgkc2l6ZTogJGhlYWRlci1tYXApKTtcbiAgfVxuICBAcmV0dXJuICRoZWFkZXItc3R5bGVzO1xufVxuXG4vLyBJZiBpdCBleGlzdHMgJGhlYWRlcnMtc2l6ZXMgaXMgdXNlZCB0byBidWlsZCAkaGVhZGVyLXN0eWxlcy4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhoZWFkZXItc2l6ZXMpIHtcbiAgJGhlYWRlci1zdHlsZXM6IGJ1aWxkLWZyb20taGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpO1xufVxuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYDxzbWFsbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHNtYWxsLWZvbnQtc2l6ZTogODAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYDxzbWFsbD5gIGVsZW1lbnRzIHdoZW4gcGxhY2VkIGluc2lkZSBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5zaWRlIGA8cD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2QgZm9yIHBhcmFncmFwaCB0ZXh0LlxuLy8vIEB0eXBlIFN0cmluZ1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gVXNlIHRoZSBgLmNvZGUtaW5saW5lYCBjb21wb25lbnQgYXMgZGVmYXVsdCBmb3IgYDxjb2RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGVuYWJsZS1jb2RlLWlubGluZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG8gIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tICFkZWZhdWx0O1xuXG4vLy8gQnVsbGV0IHR5cGUgdG8gdXNlIGZvciB1bm9yZGVyZWQgbGlzdHMgKGUuZy4sIGBzcXVhcmVgLCBgY2lyY2xlYCwgYGRpc2NgKS5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2MgIWRlZmF1bHQ7XG5cbi8vLyBQb3NpdGlvbmluZyBmb3IgYnVsbGV0cyBvbiB1bm9yZGVyZWQgbGlzdCBpdGVtcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgbGlzdHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGEgbGlzdCBpbnNpZGUgYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgYDxkbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgYDxkdD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGA8ZHQ+YCBhbmQgYDxkZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIGA8YmxvY2txdW90ZT5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KSAhZGVmYXVsdDtcblxuLy8vIFNpZGUgYm9yZGVyIGZvciBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBVc2UgdGhlIGAuY2l0ZS1ibG9ja2AgY29tcG9uZW50IGFzIGRlZmF1bHQgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRlbmFibGUtY2l0ZS1ibG9jazogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gYm9yZGVyIHN0eWxlIGZvciBgPGFiYnI+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWJhc2Uge1xuICAvLyBUeXBvZ3JhcGh5IHJlc2V0c1xuICBkaXYsXG4gIGRsLFxuICBkdCxcbiAgZGQsXG4gIHVsLFxuICBvbCxcbiAgbGksXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYsXG4gIHByZSxcbiAgZm9ybSxcbiAgcCxcbiAgYmxvY2txdW90ZSxcbiAgdGgsXG4gIHRkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFBhcmFncmFwaHNcbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc7XG4gIH1cblxuICAvLyBFbXBoYXNpemVkIHRleHRcbiAgZW0sXG4gIGkge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFN0cm9uZyB0ZXh0XG4gIHN0cm9uZyxcbiAgYiB7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTbWFsbCB0ZXh0XG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBIZWFkaW5nc1xuICBoMSwgLmgxLFxuICBoMiwgLmgyLFxuICBoMywgLmgzLFxuICBoNCwgLmg0LFxuICBoNSwgLmg1LFxuICBoNiwgLmg2IHtcbiAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICBmb250LXN0eWxlOiAkaGVhZGVyLWZvbnQtc3R5bGU7XG4gICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRoZWFkZXItY29sb3I7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRoZWFkZXItdGV4dC1yZW5kZXJpbmc7XG5cbiAgICBzbWFsbCB7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIGNvbG9yOiAkaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSGVhZGluZyBzdHlsZXNcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc3R5bGVzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkaGVhZGVyLCAkaGVhZGVyLWRlZnMgaW4gJGhlYWRlcnMge1xuICAgICAgICAkZm9udC1zaXplLXRlbXA6IDFyZW07XG4gICAgICAgICN7JGhlYWRlcn0sIC4jeyRoZWFkZXJ9IHtcblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZnMpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZzKSk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGgpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYygkaGVhZGVyLWxpbmVoZWlnaHQsICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbXQpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtdCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWIpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYikpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJGhlYWRlci1tYXJnaW4tYm90dG9tKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBMaW5rc1xuICBhIHtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICBjb2xvcjogJGFuY2hvci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uO1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yLWhvdmVyO1xuICAgICAgQGlmICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyICE9ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhvcml6b250YWwgcnVsZVxuICBociB7XG4gICAgY2xlYXI6IGJvdGg7XG5cbiAgICBtYXgtd2lkdGg6ICRoci13aWR0aDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luOiAkaHItbWFyZ2luO1xuXG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhyLWJvcmRlcjtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgfVxuXG4gIC8vIExpc3RzXG4gIHVsLFxuICBvbCxcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRsaXN0LW1hcmdpbi1ib3R0b207XG4gICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogJGxpc3Qtc3R5bGUtcG9zaXRpb247XG4gICAgbGluZS1oZWlnaHQ6ICRsaXN0LWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBMaXN0IGl0ZW1zXG4gIGxpIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBVbm9yZGVyZWQgbGlzdHNcbiAgdWwge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogJGxpc3Qtc3R5bGUtdHlwZTtcbiAgfVxuXG4gIC8vIE9yZGVyZWQgbGlzdHNcbiAgb2wge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICB9XG5cbiAgLy8gTmVzdGVkIHVub3JkZXJlZC9vcmRlcmVkIGxpc3RzXG4gIHVsLCBvbCB7XG4gICAgJiAmIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gRGVmaW5pdGlvbiBsaXN0c1xuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LW1hcmdpbi1ib3R0b207XG5cbiAgICBkdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tO1xuICAgICAgZm9udC13ZWlnaHQ6ICRkZWZubGlzdC10ZXJtLXdlaWdodDtcbiAgICB9XG4gIH1cblxuICAvLyBCbG9ja3F1b3Rlc1xuICBibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDAgMCAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4gICAgcGFkZGluZzogJGJsb2NrcXVvdGUtcGFkZGluZztcbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYmxvY2txdW90ZS1ib3JkZXI7XG5cbiAgICAmLCBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgICBjb2xvcjogJGJsb2NrcXVvdGUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSW5saW5lIENpdGF0aW9uc1xuICBAaWYgKCRlbmFibGUtY2l0ZS1ibG9jayA9PSB0cnVlKSB7XG4gICAgY2l0ZSB7XG4gICAgICAvLyBFeHRlbmRpbmcgYSBjbGFzcyBpcyBub3QgcmVjb21tZW5kZWQuXG4gICAgICAvLyBUT0RPOiBCcmVhayB0aGUgdHlwb2dyYXBoeS1iYXNlL3R5cG9ncmFwaHktaGVscGVycyBzZXBhcmF0aW9uXG4gICAgICBAZXh0ZW5kICVjaXRlLWJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFiYnJldmlhdGlvbnNcbiAgYWJiciwgYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206ICRhYmJyLXVuZGVybGluZTtcbiAgICBjdXJzb3I6IGhlbHA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgLy8gRmlndXJlc1xuICBmaWd1cmUge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIENvZGVcbiAgQGlmICgkZW5hYmxlLWNvZGUtaW5saW5lID09IHRydWUpIHtcbiAgICBjb2RlIHtcbiAgICAgIEBleHRlbmQgJWNvZGUtaW5saW5lO1xuICAgIH1cbiAgfVxuXG4gIC8vIEtleXN0cm9rZXNcbiAga2JkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogJGtleXN0cm9rZS1wYWRkaW5nO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGtleXN0cm9rZS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRrZXlzdHJva2UtZm9udDtcbiAgICBjb2xvcjogJGtleXN0cm9rZS1jb2xvcjtcblxuICAgIEBpZiBoYXMtdmFsdWUoJGtleXN0cm9rZS1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRrZXlzdHJva2UtcmFkaXVzO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFrcG9pbnRzXG4vLy8vXG5cbi8vLyBQYXRjaCB0byBmaXggaXNzdWUgIzEyMDgwXG4kLXpmLXNpemU6IG51bGw7XG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHM6IChcbiAgXCJzbWFsbFwiOiAwLFxuICBcIm1lZGl1bVwiOiA2NDBweCxcbiAgXCJsYXJnZVwiOiAxMDI0cHgsXG4gIFwieGxhcmdlXCI6IDEyMDBweCxcbiAgXCJ4eGxhcmdlXCI6IDE0NDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgSGlEUEkgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMgZm9yIHJlc29sdXRpb25zLlxuLy8vIFZhbHVlcyBtdXN0IHJlcHJlc2VudCB0aGUgZGV2aWNlIHBpeGVscyAvIHdlYiBwaXhlbHMgcmF0aW9uIGFuZCBiZSB1bml0bGVzcyBvciBpbiBEUFBYLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzLWhpZHBpOiAoXG4gIFwiaGlkcGktMVwiOiAxLFxuICBcImhpZHBpLTEtNVwiOiAxLjUsXG4gIFwiaGlkcGktMlwiOiAyLFxuICBcInJldGluYVwiOiAyLFxuICBcImhpZHBpLTNcIjogM1xuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsYXJnZXN0IG5hbWVkIGJyZWFrcG9pbnQgaW4gd2hpY2ggdG8gaW5jbHVkZSBwcmludCBhcyBhIG1lZGlhIHR5cGVcbi8vLyBAdHlwZSBLZXl3b3JkXG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2UgIWRlZmF1bHQ7XG5cbiQtemYtemVyby1icmVha3BvaW50OiBzbWFsbCAhZGVmYXVsdDtcblxuJC16Zi1icmVha3BvaW50cy1rZXlzOiBtYXAtdG8tbGlzdCgkYnJlYWtwb2ludHMsICdrZXlzJyk7XG5cbkBpZiBudGgobWFwLXZhbHVlcygkYnJlYWtwb2ludHMpLCAxKSAhPSAwIHtcbiAgQGVycm9yICdUaGUgZmlyc3Qga2V5IGluIHRoZSAkYnJlYWtwb2ludHMgbWFwIG11c3QgaGF2ZSBhIHZhbHVlIG9mIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBXZWIgc3RhbmRhcmQgUGl4ZWxzIHBlciBpbmNoLiAoMWRkcHggLyAkc3RkLXdlYi1kcGkpID0gMWRwaVxuICAvLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy12YWx1ZXMtMy8jYWJzb2x1dGUtbGVuZ3Roc1xuICAkc3RkLXdlYi1kcGk6IDk2O1xuXG4gIC8vIFNpemUgb3Iga2V5d29yZFxuICAkYnA6IG50aCgkdmFsLCAxKTtcbiAgLy8gVmFsdWUgb2YgdGhlIGZvbGxvd2luZyBicmVha3BvaW50XG4gICRicC1uZXh0OiBudWxsO1xuICAvLyBWYWx1ZSBmb3IgbWF4LXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1pbjogbnVsbDtcbiAgLy8gVmFsdWUgZm9yIG1pbi13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1tYXg6IG51bGw7XG4gIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICRkaXI6IGlmKGxlbmd0aCgkdmFsKSA+IDEsIG50aCgkdmFsLCAyKSwgdXApO1xuICAvLyBJZiBuYW1lZCwgbmFtZSBvZiB0aGUgYnJlYWtwb2ludFxuICAkbmFtZTogbnVsbDtcbiAgLy8gSWYgdGhlIGJyZWFrcG9pbnQgaXMgYSBIaURQSSBicmVha3BvaW50XG4gICRoaWRwaTogZmFsc2U7XG5cbiAgLy8gT3JpZW50YXRpb24gbWVkaWEgcXVlcmllcyBoYXZlIGEgdW5pcXVlIHN5bnRheFxuICBAaWYgJGJwID09ICdsYW5kc2NhcGUnIG9yICRicCA9PSAncG9ydHJhaXQnIHtcbiAgICBAcmV0dXJuICcob3JpZW50YXRpb246ICN7JGJwfSknO1xuICB9XG5cbiAgLy8gSWYgYSBicmVha3BvaW50IG5hbWUgaXMgZ2l2ZW4sIGdldCBpdHMgdmFsdWUgZnJvbSB0aGUgJGJyZWFrcG9pbnRzLyRicmVha3BvaW50cy1oaWRwaSBtYXAuXG4gIEBpZiB0eXBlLW9mKCRicCkgPT0gJ3N0cmluZycge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicCkge1xuICAgICAgJG5hbWU6ICRicDtcbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgICAgICRicC1uZXh0OiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gICAgfVxuICAgIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cy1oaWRwaSwgJGJwKSB7XG4gICAgICAkbmFtZTogJGJwO1xuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cy1oaWRwaSwgJG5hbWUpO1xuICAgICAgJGJwLW5leHQ6IC16Zi1tYXAtbmV4dC1udW1iZXIoJGJyZWFrcG9pbnRzLWhpZHBpLCAkYnApO1xuICAgICAgJGhpZHBpOiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnA6IDA7XG4gICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBcIiN7JHZhbH1cIiBpcyBub3QgZGVmaW5lZCBpbiB5b3VyIGAkYnJlYWtwb2ludHNgIG9yIGAkYnJlYWtwb2ludHMtaGlkcGlgIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICBAaWYgbm90ICRuYW1lIGFuZCAkZGlyID09ICdvbmx5JyB7XG4gICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIGBvbmx5YCByYW5nZS4nO1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8vIE9ubHkgJ29ubHknIGFuZCAndXAnIGhhdmUgYSBtaW4gbGltaXQuXG4gIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICd1cCcge1xuICAgICRicC1taW46IGlmKCRoaWRwaSwgc3RyaXAtdW5pdCgkYnApLCAtemYtYnAtdG8tZW0oJGJwKSk7XG4gIH1cbiAgLy8gT25seSAnb25seScgYW5kICdkb3duJyBoYXZlIGEgbWF4IGxpbWl0LlxuICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgIC8vIElmIHRoZSBicmVha3BvaW50IGlzIGEgdmFsdWUsIHVzZSBpdCBhcyBtYXggbGltaXQuXG4gICAgQGlmIG5vdCAkbmFtZSB7XG4gICAgICAkYnAtbWF4OiBpZigkaGlkcGksIHN0cmlwLXVuaXQoJGJwKSwgLXpmLWJwLXRvLWVtKCRicCkpO1xuICAgIH1cbiAgICAvLyBJZiB0aGUgYnJlYWtwb2ludCBpcyBuYW1lZCwgdGhlIG1heCBsaW1pdCBpcyB0aGUgZm9sbG93aW5nIGJyZWFrcG9pbnQgLSAxcHguXG4gICAgQGVsc2UgaWYgJGJwLW5leHQge1xuICAgICAgLy8gTWF4IHZhbHVlIGlzIDAuMnB4IHVuZGVyIHRoZSBuZXh0IGJyZWFrcG9pbnQgKDAuMDIgLyAxNiA9IDAuMDAxMjUpLlxuICAgICAgLy8gVXNlIGEgcHJlY2lzaW9uIHVuZGVyIDFweCB0byBzdXBwb3J0IGJyb3dzZXIgem9vbSwgYnV0IG5vdCB0byBsb3cgdG8gYXZvaWQgcm91bmRpbmcuXG4gICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTEzMTNcbiAgICAgICRicC1tYXg6IGlmKCRoaWRwaSwgJGJwLW5leHQgLSBkaXZpZGUoMSwgJHN0ZC13ZWItZHBpKSwgLXpmLWJwLXRvLWVtKCRicC1uZXh0KSAtIDAuMDAxMjUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEdlbmVyYXRlIHRoZSBtZWRpYSBxdWVyeSBzdHJpbmcgZnJvbSBtaW4gYW5kIG1heCBsaW1pdHMuXG4gIEBpZiAkaGlkcGkge1xuICAgIC8vIEdlbmVyYXRlIHZhbHVlcyBpbiBEUEkgaW5zdGVhZCBvZiBEUFBYIGZvciBhbiBJRTktMTEvT3BlcmEgbWluaSBjb21wYXRpYmlsaXR5LlxuICAgIC8vIFNlZSBodHRwczovL2Nhbml1c2UuY29tLyNmZWF0PWNzcy1tZWRpYS1yZXNvbHV0aW9uXG4gICAgJGJwLW1pbi1kcGk6IGlmKCRicC1taW4sICRicC1taW4gKiAkc3RkLXdlYi1kcGkgKiAxZHBpLCAkYnAtbWluKTtcbiAgICAkYnAtbWF4LWRwaTogaWYoJGJwLW1heCwgJGJwLW1heCAqICRzdGQtd2ViLWRwaSAqIDFkcGksICRicC1tYXgpO1xuICAgIEByZXR1cm4gemYtc3RyLWpvaW4oXG4gICAgICAtemYtYnAtam9pbigkYnAtbWluLCAkYnAtbWF4LCAnLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvJywgJy13ZWJraXQtbWF4LWRldmljZS1waXhlbC1yYXRpbycpLFxuICAgICAgLXpmLWJwLWpvaW4oJGJwLW1pbi1kcGksICRicC1tYXgtZHBpLCAnbWluLXJlc29sdXRpb24nLCAnbWF4LXJlc29sdXRpb24nKSxcbiAgICAgICcsICcpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIC16Zi1icC1qb2luKCRicC1taW4sICRicC1tYXgpO1xuICB9XG59XG5cbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgYW5kIGAkYnJlYWtwb2ludHMtaGlkcGlgIG1hcHMsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBJZiBtdWx0aXBsZSB2YWx1ZXMgYXJlIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgZ2VuZXJhdGUgYSBtZWRpYSBxdWVyeSBmb3IgZWFjaCBvZiB0aGVtIGFzIGRlc2NyaWJlZCBhYm92ZS5cbi8vLyBTaW5jZSB0aGUgY29udGVudCBpcyBkdXBsaWNhdGVkIGZvciBlYWNoIGJyZWFrcG9pbnQsIHRoaXMgbWl4aW4gc2hvdWxkIG9ubHkgYmUgdXNlZCB3aXRoIHByb3BlcnRpZXMgdGhhdFxuLy8vIGNoYW5nZSBhY3Jvc3MgYnJlYWtwb2ludHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsdWVzLi4uIC0gQnJlYWtwb2ludCBuYW1lIG9yIHB4L3JlbS9lbSB2YWx1ZSB0byBwcm9jZXNzLlxuLy8vXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQgYXMtaXMuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWVzLi4uKSB7XG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggbGVuZ3RoKCR2YWx1ZXMpIHtcbiAgICAkdmFsdWU6IG50aCgkdmFsdWVzLCAkaSk7XG4gICAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgICRicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCBudGgoJHZhbHVlLCAxKSk7XG4gICAgJHBicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkcHJpbnQtYnJlYWtwb2ludCk7XG4gICAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgICAkZGlyOiBpZihsZW5ndGgoJHZhbHVlKSA+IDEsIG50aCgkdmFsdWUsIDIpLCB1cCk7XG5cbiAgICAkb2xkLXpmLXNpemU6IG51bGw7XG5cbiAgICAvLyBNYWtlIGJyZWFrcG9pbnQgc2l6ZSBhdmFpbGFibGUgYXMgYSB2YXJpYWJsZVxuICAgIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgICB9XG4gICAgJC16Zi1zaXplOiBudGgoJHZhbHVlLCAxKSAhZ2xvYmFsOyAvLyBnZXQgdGhlIGZpcnN0IHZhbHVlIHRvIGFjY291bnQgZm9yIGBvbmx5YCBhbmQgYGRvd25gIGtleXdvcmRzXG5cbiAgICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXG4gICAgQGlmICRzdHIgPT0gJycge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgLy8gT3RoZXJ3aXNlLCB3cmFwIHRoZSBjb250ZW50IGluIGEgbWVkaWEgcXVlcnlcbiAgICBAZWxzZSB7XG4gICAgICAvLyBGb3IgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICRwcmludC1icmVha3BvaW50LCBhZGQgcHJpbnQgdG8gdGhlIG1lZGlhIHR5cGVzXG4gICAgICAvLyBnZW5lcmF0ZSBwcmludCBpZiB0aGUgYnJlYWtwb2ludCBhZmZlY3RzIHRoZSBwcmludC1icmVha3BvaW50IChvciBzbWFsbGVyKS5cbiAgICAgIC8vIFRoaXMgbWVhbnMgdGhlIGN1cnJlbnQgY29uZGl0aW9uIG9ubHkgbmVlZHMgdG8gYmUgZXh0ZW5kZWQgc28gJ2Rvd24nIGFsd2F5cyBnZW5lcmF0ZXMgcHJpbnQuXG4gICAgICBAaWYgJGJwICE9IG51bGwgYW5kICgkYnAgPD0gJHBicCBvciAkZGlyID09IGRvd24pIHtcbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbiAgfVxufVxuXG4vLy8gQ29udmVydHMgdGhlIGJyZWFrcG9pbnRzIG1hcCB0byBhIFVSTC1lbmNvZGVkIHN0cmluZywgbGlrZSB0aGlzOiBga2V5MT12YWx1ZTEma2V5Mj12YWx1ZTJgLiBUaGUgdmFsdWUgaXMgdGhlbiBkcm9wcGVkIGludG8gdGhlIENTUyBmb3IgYSBzcGVjaWFsIGA8bWV0YT5gIHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0LiBUaGlzIGlzIGhvdyB3ZSB0cmFuc2ZlciB2YWx1ZXMgZnJvbSBTYXNzIHRvIEphdmFTY3JpcHQsIHNvIHRoZXkgY2FuIGJlIGRlZmluZWQgaW4gb25lIHBsYWNlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gY29udmVydC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IEEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG1hcCdzIGNvbnRlbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC1zZXJpYWxpemUoJG1hcCkge1xuICAkc3RyOiAnJztcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICRzdHI6ICRzdHIgKyAka2V5ICsgJz0nICsgLXpmLWJwLXRvLWVtKCR2YWx1ZSkgKyAnJic7XG4gIH1cbiAgJHN0cjogc3RyLXNsaWNlKCRzdHIsIDEsIC0yKTtcblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IGtleSBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3IgdGhlIGtleSBhZnRlciBgJGtleWAsIGlmIGAka2V5YCB3YXMgZm91bmQuIElmIGAka2V5YCB3YXMgbm90IGZvdW5kLCBvciBgJGtleWAgd2FzIHRoZSBsYXN0IHZhbHVlIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dCgkbWFwLCAka2V5KSB7XG5cbiAgLy8gU3RvcmUgdGhlIGtleXMgb2YgdGhlIG1hcCBhcyBhIGxpc3RcbiAgJHZhbHVlczogbWFwLWtleXMoJG1hcCk7XG5cbiAgJGk6IDA7XG5cbiAgLy8gSWYgdGhlIEtleSBFeGlzdHMsIEdldCB0aGUgaW5kZXggb2YgdGhlIGtleSB3aXRoaW4gdGhlIG1hcCBhbmQgYWRkIDEgdG8gaXQgZm9yIHRoZSBuZXh0IGJyZWFrcG9pbnQgaW4gdGhlIG1hcFxuICBAaWYgKG1hcC1oYXMta2V5KCRtYXAsICRrZXkpKSB7XG4gICAgJGk6IGluZGV4KCR2YWx1ZXMsICRrZXkpICsgMTtcbiAgfVxuXG4gIC8vIElmIHRoZSBrZXkgZG9lc24ndCBleGlzdCwgb3IgaXQncyB0aGUgbGFzdCBrZXkgaW4gdGhlIG1hcCwgcmV0dXJuIG51bGxcbiAgQGlmICgkaSA+IGxlbmd0aCgkbWFwKSBvciAkaSA9PSAwKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIHRoZSB2YWx1ZVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsIG50aCgkdmFsdWVzLCAkaSkpO1xuICB9XG5cbn1cblxuLy8vIEZpbmQgdGhlIG5leHQgbnVtYmVyIGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJG51bWJlciAtIE51bWJlciB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIG51bWJlciBmb2xsb3dpbmcgYCRudW1iZXJgLCBpZiBgJG51bWJlcmAgd2FzIGZvdW5kLiBJZiBgJG51bWJlcmAgd2FzIG5vdCBmb3VuZCwgb3IgYCRudW1iZXJgIHdhcyB0aGUgYmlnZ2VzdCBudW1iZXIgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0LW51bWJlcigkbWFwLCAkbnVtYmVyKSB7XG5cbiAgJG5leHQtbnVtYmVyOiBudWxsO1xuXG4gIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICBAaWYgdHlwZS1vZigkdikgPT0gJ251bWJlcicgYW5kICR2ID4gJG51bWJlciBhbmQgKCRuZXh0LW51bWJlciA9PSBudWxsIG9yICR2IDwgJG5leHQtbnVtYmVyKSB7XG4gICAgICAkbmV4dC1udW1iZXI6ICR2O1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJG5leHQtbnVtYmVyO1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBsYXN0IGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigka2V5KSB7XG4gICRsaXN0OiAoKTtcbiAgJGZvdW5kLWtleTogZmFsc2U7XG5cbiAgQGVhY2ggJG5hbWUgaW4gJC16Zi1icmVha3BvaW50cy1rZXlzIHtcbiAgICBAaWYgKCRuYW1lID09ICRrZXkpIHtcbiAgICAgICRmb3VuZC1rZXk6IHRydWU7XG4gICAgfVxuICAgIEBpZiBub3QgJGZvdW5kLWtleSB7XG4gICAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkbmFtZSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJGxpc3Q7XG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IC0gYSBuYW1lZCBvciBub24tbmFtZWQgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICRsYXN0OiAkLXpmLXplcm8tYnJlYWtwb2ludDtcbiAgJGZvdW5kOiBmYWxzZTtcblxuICAkdmFsdWU6IHVuaXRsZXNzLWNhbGMoJGJyZWFrcG9pbnQsIDFweCk7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICBAaWYgdW5pdGxlc3MtY2FsYygkdmFsKSA+ICR2YWx1ZSB7XG4gICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkbGFzdDogJGtleTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRsYXN0O1xufVxuXG4vLy8gR2V0IGEgdmFsdWUgZm9yIGEgYnJlYWtwb2ludCBmcm9tIGEgcmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdCByZWdhcmRsZXNzIG9mIGAkdmFsdWVgLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgZG9lcyAqbm90KiBoYXZlIHRoZSBicmVha3BvaW50LCB0aGUgdmFsdWUgbWF0Y2hpbmcgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgaW4gdGhlIGNvbmZpZyBtYXAgaXMgcmV0dXJuZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBSZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge01peGVkfSBUaGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlLlxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xuICAvLyBJZiB0aGUgZ2l2ZW4gbWFwIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXRcbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJG1hcDtcbiAgfVxuXG5cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgZ2xvYmFsbHlcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgICAgJHZhbHVlOiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCR2YWx1ZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGluIHRoZSBsb2NhbCBjb25maWcgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRtYXAsICR2YWx1ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkdmFsdWUpO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgZmluZCB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBhbmQgcmV0dXJuIHRoYXQgdmFsdWVcbiAgQGVsc2Uge1xuICAgICRhbmNob3I6IG51bGw7XG4gICAgJGZvdW5kOiBmYWxzZTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcbiAgICAgICAgICAkYW5jaG9yOiAka2V5O1xuICAgICAgICB9XG4gICAgICAgIEBpZiAka2V5ID09ICR2YWx1ZSB7XG4gICAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRhbmNob3IpO1xuICB9XG59XG5cbi8vLyBSZXR1cm4gdGhlIGJlc3QgYnJlYWtwb2ludCB0byB1c2UgYWNjb3JkaW5nIHRvIHRoZSBjYWxsaW5nIGNvbnRleHQuIEl0IHJldHVybnMgaW4gb3JkZXI6XG4vLy8gMS4gdGhlIGdpdmVuIGAkdmFsdWVgIGFyZ3VtZW50IGlmIGl0IGlzIG5vdCBudWxsLlxuLy8vIDIuIHRoZSBnbG9iYWwgYnJlYWtwb2ludCBjb250ZXh0IGAkLXpmLXNpemVgIGlmIGl0IGlzIG5vdCBudWxsIChsaWtlIGlmIGNhbGxlZCBpbnNpZGUgdGhlbiBgYnJlYWtwb2ludCgpYCBtaXhpbilcbi8vLyAzLiB0aGUgZ2l2ZW4gYCRkZWZhdWx0YCBhcmd1bWVudC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIFtudWxsXSAtIEJyZWFrcG9pbnQgdG8gdXNlIGluIHByaW9yaXR5IGlmIG5vbi1udWxsLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRlZmF1bHQgW251bGxdIC0gQnJlYWtwb2ludCB0byB1c2UgYnkgZGVmYXVsdCBpZiBubyBvdGhlciB2YWx1ZSBjYW4gYmUgdXNlZC5cbi8vL1xuLy8vIEByZXR1cm4ge0tleXdvcmR9IFRoZSByZXNvbHZlZCBicmVha3BvaW50LlxuQGZ1bmN0aW9uIC16Zi1jdXJyZW50LWJyZWFrcG9pbnQoJHZhbHVlOiBudWxsLCAkZGVmYXVsdDogbnVsbCkge1xuICBAaWYgKCR2YWx1ZSAhPSBudWxsKSB7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cbiAgQGVsc2UgaWYgKHZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkgYW5kIHR5cGUtb2YoJC16Zi1zaXplKSAhPSAnbnVtYmVyJykgYW5kICQtemYtc2l6ZSAhPSBudWxsIHtcbiAgICBAcmV0dXJuICQtemYtc2l6ZTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAkZGVmYXVsdDtcbiAgfVxufVxuXG4vLy8gUmV0dXJuIG1lZGlhIHF1ZXJ5IHN0cmluZyBmcm9tIHRoZSBnaXZlbiBtaW4gYW5kL29yIG1heCBsaW1pdHMuXG4vLy8gSWYgYSBsaW1pdCBpcyBlcXVhbCB0byBgbnVsbGAgb3IgYDBgLCBpdCBpcyBpZ25vcmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtaW4gWzBdIC0gTWluIG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IFswXSAtIE1heCBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1pbi1uYW1lIFsnbWluLXdpZHRoJ10gLSBOYW1lIG9mIHRoZSBtaW4gbWVkaWEgcXVlcnkgbGltaXQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkZWxpbWl0ZXIgWydtYXgtd2lkdGgnXSAtIE5hbWUgb2YgdGhlIG1heCBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IE1lZGlhIFF1ZXJ5IHN0cmluZy5cbkBmdW5jdGlvbiAtemYtYnAtam9pbihcbiAgJG1pbjogMCxcbiAgJG1heDogMCxcbiAgJG1pbi1uYW1lOiAnbWluLXdpZHRoJyxcbiAgJG1heC1uYW1lOiAnbWF4LXdpZHRoJ1xuKSB7XG4gIEByZXR1cm4gemYtc3RyLWpvaW4oXG4gICAgaWYoJG1pbiBhbmQgJG1pbiA+IDAsICcoI3skbWluLW5hbWV9OiAjeyRtaW59KScsIG51bGwpLFxuICAgIGlmKCRtYXggYW5kICRtYXggPiAwLCAnKCN7JG1heC1uYW1lfTogI3skbWF4fSknLCBudWxsKSxcbiAgICAnIGFuZCAnKTtcbn1cblxuJHNtYWxsLXVwOiAnJztcbiRzbWFsbC1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcbiAgJHNtYWxsLXVwOiBzY3JlZW47XG4gICRzbWFsbC1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0nKTtcbn1cblxuJG1lZGl1bS11cDogJyc7XG4kbWVkaXVtLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBtZWRpdW0pIHtcbiAgJG1lZGl1bS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtKX0nKTtcbiAgJG1lZGl1bS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0gb25seSl9Jyk7XG59XG5cbiRsYXJnZS11cDogJyc7XG4kbGFyZ2Utb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIGxhcmdlKSB7XG4gICRsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UpfScpO1xuICAkbGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2Ugb25seSl9Jyk7XG59XG5cbiR4bGFyZ2UtdXA6ICcnO1xuJHhsYXJnZS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeGxhcmdlKSB7XG4gICR4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSl9Jyk7XG4gICR4bGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIG9ubHkpfScpO1xufVxuXG4keHhsYXJnZS11cDogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpIHtcbiAgJHh4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHh4bGFyZ2UpfScpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AdXNlIFwic2Fzczpjb2xvclwiO1xuQGltcG9ydCAnbWF0aCc7XG5cbiRjb250cmFzdC13YXJuaW5nczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFBhdGNoIHRvIGZpeCBpc3N1ZSAjMTIwODBcbiRwcmltYXJ5LWNvbG9yOiBudWxsICFkZWZhdWx0O1xuJHNlY29uZGFyeS1jb2xvcjogbnVsbCAhZGVmYXVsdDtcbiR3YXJuaW5nLWNvbG9yOiBudWxsICFkZWZhdWx0O1xuJGFsZXJ0LWNvbG9yOiBudWxsICFkZWZhdWx0O1xuJHN1Y2Nlc3MtY29sb3I6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIGNoZWNrIHRoZSBsdW1pbmFuY2Ugb2YuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuQGZ1bmN0aW9uIGNvbG9yLWx1bWluYW5jZSgkY29sb3IpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI3JlbGF0aXZlbHVtaW5hbmNlZGVmXG4gICRyZWQgICA6IHJvdW5kKGNvbG9yLmNoYW5uZWwoJGNvbG9yLCBcInJlZFwiLCAkc3BhY2U6IHJnYikpO1xuICAkZ3JlZW4gOiByb3VuZChjb2xvci5jaGFubmVsKCRjb2xvciwgXCJncmVlblwiLCAkc3BhY2U6IHJnYikpO1xuICAkYmx1ZSAgOiByb3VuZChjb2xvci5jaGFubmVsKCRjb2xvciwgXCJibHVlXCIsICRzcGFjZTogcmdiKSk7XG5cbiAgJHJnYmE6ICRyZWQsICRncmVlbiwgJGJsdWU7XG4gICRyZ2JhMjogKCk7XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAzIHtcbiAgICAkcmdiOiBudGgoJHJnYmEsICRpKTtcbiAgICAkcmdiOiBkaXZpZGUoJHJnYiwgMjU1KTtcblxuICAgICRyZ2I6IGlmKCRyZ2IgPCAwLjAzOTI4LCBkaXZpZGUoJHJnYiwgMTIuOTIpLCBwb3coZGl2aWRlKCRyZ2IgKyAwLjA1NSwgMS4wNTUpLCAyLjQpKTtcblxuICAgICRyZ2JhMjogYXBwZW5kKCRyZ2JhMiwgJHJnYik7XG4gIH1cblxuICBAcmV0dXJuIDAuMjEyNiAqIG50aCgkcmdiYTIsIDEpICsgMC43MTUyICogbnRoKCRyZ2JhMiwgMikgKyAwLjA3MjIgKiBudGgoJHJnYmEyLCAzKTtcbn1cblxuLy8vIENoZWNrcyB0aGUgY29udHJhc3QgcmF0aW8gb2YgdHdvIGNvbG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjEgLSBGaXJzdCBjb2xvciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjIgLSBTZWNvbmQgY29sb3IgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBjb250cmFzdCByYXRpbyBvZiB0aGUgY29tcGFyZWQgY29sb3JzLlxuQGZ1bmN0aW9uIGNvbG9yLWNvbnRyYXN0KCRjb2xvcjEsICRjb2xvcjIpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI2NvbnRyYXN0LXJhdGlvZGVmXG4gICRsdW1pbmFuY2UxOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMSkgKyAwLjA1O1xuICAkbHVtaW5hbmNlMjogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjIpICsgMC4wNTtcbiAgJHJhdGlvOiBkaXZpZGUoJGx1bWluYW5jZTEsICRsdW1pbmFuY2UyKTtcblxuICBAaWYgJGx1bWluYW5jZTIgPiAkbHVtaW5hbmNlMSB7XG4gICAgJHJhdGlvOiBkaXZpZGUoMSwgJHJhdGlvKTtcbiAgfVxuXG4gICRyYXRpbzogcm91bmQoJHJhdGlvICogMTApICogMC4xO1xuXG4gIEByZXR1cm4gJHJhdGlvO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRiYXNlYCwgYW5kIHJldHVybnMgdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFzZSAtIENvbG9yIHRvIGNoZWNrIGx1bWluYW5jZS5cbi8vLyBAcGFyYW0ge0xpc3R9ICRjb2xvcnMgWygkd2hpdGUsICRibGFjayldIC0gQ29sb3JzIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b2xlcmFuY2UgWyRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2VdIC0gQ29udHJhc3QgdG9sZXJhbmNlLlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbkBmdW5jdGlvbiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYXNlLCAkY29sb3JzOiAoJHdoaXRlLCAkYmxhY2spLCAkdG9sZXJhbmNlOiAkZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlKSB7XG4gICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAxKSk7XG4gICRiZXN0OiBudGgoJGNvbG9ycywgMSk7XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCBsZW5ndGgoJGNvbG9ycykge1xuICAgICRjdXJyZW50LWNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgQGlmICgkY3VycmVudC1jb250cmFzdCAtICRjb250cmFzdCA+ICR0b2xlcmFuY2UpIHtcbiAgICAgICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgICAgJGJlc3Q6IG50aCgkY29sb3JzLCAkaSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkY29udHJhc3Qtd2FybmluZ3MgYW5kICRjb250cmFzdCA8IDMpIHtcbiAgICBAd2FybiAnQ29udHJhc3QgcmF0aW8gb2YgI3skYmVzdH0gb24gI3skYmFzZX0gaXMgcHJldHR5IGJhZCwganVzdCAjeyRjb250cmFzdH0nO1xuICB9XG5cbiAgQHJldHVybiAkYmVzdDtcbn1cblxuLy8vIFNjYWxlcyBhIGNvbG9yIHRvIGJlIGRhcmtlciBpZiBpdCdzIGxpZ2h0LCBvciBsaWdodGVyIGlmIGl0J3MgZGFyay4gVXNlIHRoaXMgZnVuY3Rpb24gdG8gdGludCBhIGNvbG9yIGFwcHJvcHJpYXRlIHRvIGl0cyBsaWdodG5lc3MuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBzY2FsZS5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICRzY2FsZSBbNSVdIC0gQW1vdW50IHRvIHNjYWxlIHVwIG9yIGRvd24uXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkdGhyZXNob2xkIFs0MCVdIC0gVGhyZXNob2xkIG9mIGxpZ2h0bmVzcyB0byBjaGVjayBhZ2FpbnN0LlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBBIHNjYWxlZCBjb2xvci5cbkBmdW5jdGlvbiBzbWFydC1zY2FsZSgkY29sb3IsICRzY2FsZTogNSUsICR0aHJlc2hvbGQ6IDQwJSkge1xuICBAaWYgY29sb3IuY2hhbm5lbCgkY29sb3IsIFwibGlnaHRuZXNzXCIsICRzcGFjZTogaHNsKSA+ICR0aHJlc2hvbGQge1xuICAgICRzY2FsZTogLSRzY2FsZTtcbiAgfVxuICBAcmV0dXJuIHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJHNjYWxlKTtcbn1cblxuLy8vIEdldCBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHBhcmFtIHtrZXl9IGNvbG9yIGtleSBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuQGZ1bmN0aW9uIGdldC1jb2xvcigka2V5KSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ2dpdmVuICRrZXkgaXMgbm90IGF2YWlsYWJsZSBpbiAkZm91bmRhdGlvbi1wYWxldHRlJztcbiAgfVxufVxuXG4vLy8gVHJhbnNmZXJzIHRoZSBjb2xvcnMgaW4gdGhlIGAkZm91bmRhdGlvbi1wYWxldHRlYCBtYXAgaW50byB2YXJpYWJsZXMsIHN1Y2ggYXMgYCRwcmltYXJ5LWNvbG9yYCBhbmQgYCRzZWNvbmRhcnktY29sb3JgLiBDYWxsIHRoaXMgbWl4aW4gYmVsb3cgdGhlIEdsb2JhbCBzZWN0aW9uIG9mIHlvdXIgc2V0dGluZ3MgZmlsZSB0byBwcm9wZXJseSBtaWdyYXRlIHlvdXIgY29kZWJhc2UuXG5AbWl4aW4gYWRkLWZvdW5kYXRpb24tY29sb3JzKCkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICAgICRwcmltYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRwcmltYXJ5LWNvbG9yOiAjMTc3OWJhICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkge1xuICAgICRzZWNvbmRhcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiAjNzY3Njc2ICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogIzNhZGI3NiAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSB7XG4gICAgJHdhcm5pbmctY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHdhcm5pbmctY29sb3I6ICNmZmFlMDAgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpIHtcbiAgICAkYWxlcnQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRhbGVydC1jb2xvcjogI2NjNGIzNyAhZ2xvYmFsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1oZWxwZXJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGVhZC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0b3AgbWFyZ2luIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBzdGF0aXN0aWMgbnVtYmVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYC5jaXRlLWJsb2NrYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBgLmNpdGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gUHNldWRvIGNvbnRlbnQgZm9yIGAuY2l0ZS1ibG9ja2AgY29tcG9uZW50LlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJyAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIGAuY29kZS1pbmxpbmVgIGFuZCBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluIGAuY29kZS1pbmxpbmVgIGFuZCBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGFyb3VuZCB0ZXh0IG9mIHRoZSBgLmNvZGUtaW5saW5lYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBhcm91bmQgdGV4dCBvZiB0aGUgYC5jb2RlLWJsb2NrYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGNvZGUtYmxvY2stcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiB1bmRlciB0aGUgYC5jb2RlLWJsb2NrYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY29kZS1ibG9jay1tYXJnaW4tYm90dG9tOiAxLjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBjaXRlLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAkY2l0ZS1jb2xvcjtcbiAgZm9udC1zaXplOiAkY2l0ZS1mb250LXNpemU7XG5cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRjaXRlLXBzZXVkby1jb250ZW50O1xuICB9XG59XG5cbi8vLyBBZGQgYmFzaWMgc3R5bGVzIGZvciBhIGNvZGUgaGVscGVyLlxuLy8vIFNlZSBgY29kZS1pbmxpbmVgIGFuZCBgY29kZS1ibG9ja2AgbWl4aW5zLlxuQG1peGluIGNvZGUtc3R5bGUge1xuICBib3JkZXI6ICRjb2RlLWJvcmRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmFja2dyb3VuZDtcblxuICBmb250LWZhbWlseTogJGNvZGUtZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkY29kZS1mb250LXdlaWdodDtcbiAgY29sb3I6ICRjb2RlLWNvbG9yO1xufVxuXG4vLy8gTWFrZSBjb2RlIGhlbHBlciBmcm9tIHRoZSBgY29kZS1zdHlsZWAgbWl4aW4gaW5saW5lLlxuLy8vIFVzZWQgdG8gZ2VuZXJhdGUgYC5jb2RlLWlubGluZWBcbkBtaXhpbiBjb2RlLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG5cbiAgcGFkZGluZzogJGNvZGUtcGFkZGluZztcbn1cblxuLy8vIE1ha2UgY29kZSBoZWxwZXIgZnJvbSB0aGUgYGNvZGUtc3R5bGVgIG1peGluIGEgYmxvY2suXG4vLy8gVXNlZCB0byBnZW5lcmF0ZSBgLmNvZGUtYmxvY2tgXG5AbWl4aW4gY29kZS1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogYXV0bztcbiAgd2hpdGUtc3BhY2U6IHByZTtcblxuICBwYWRkaW5nOiAkY29kZS1ibG9jay1wYWRkaW5nO1xuICBtYXJnaW4tYm90dG9tOiAkY29kZS1ibG9jay1tYXJnaW4tYm90dG9tO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWhlbHBlcnMge1xuICAvLyBVc2UgdG8gY3JlYXRlIGEgc3ViaGVhZGluZyB1bmRlciBhIG1haW4gaGVhZGVyXG4gIC8vIE1ha2Ugc3VyZSB5b3UgcGFpciB0aGUgdHdvIGVsZW1lbnRzIGluIGEgPGhlYWRlcj4gZWxlbWVudCwgbGlrZSB0aGlzOlxuICAvLyA8aGVhZGVyPlxuICAvLyAgIDxoMT5IZWFkaW5nPC9oMT5cbiAgLy8gICA8aDI+U3ViaGVhZGluZzwvaDI+XG4gIC8vIDwvaGVhZGVyPlxuICAuc3ViaGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAkc3ViaGVhZGVyLW1hcmdpbi10b3A7XG4gICAgbWFyZ2luLWJvdHRvbTogJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC13ZWlnaHQ6ICRzdWJoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRzdWJoZWFkZXItbGluZWhlaWdodDtcbiAgICBjb2xvcjogJHN1YmhlYWRlci1jb2xvcjtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhbiBpbnRyb2R1Y3RvcnkgbGVhZCwgZGVjaywgYmx1cmIsIGV0Yy5cbiAgLmxlYWQge1xuICAgIGZvbnQtc2l6ZTogJGxlYWQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGVhZC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGEgbGFyZ2UgbnVtYmVyIHRvIGRpc3BsYXkgYSBzdGF0aXN0aWNcbiAgLnN0YXQge1xuICAgIGZvbnQtc2l6ZTogJHN0YXQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgcCArICYge1xuICAgICAgbWFyZ2luLXRvcDogLTFyZW07XG4gICAgfVxuICB9XG5cbiAgdWwsIG9sIHtcbiAgICAvLyBVc2UgdG8gcmVtb3ZlIG51bWJlcnMgZnJvbSBvcmRlcmVkIGxpc3QgJiBidWxsZXRzIGZyb20gdW5vcmRlcmVkIGxpc3RcbiAgICAmLm5vLWJ1bGxldCB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAlY2l0ZS1ibG9jayB7XG4gICAgQGluY2x1ZGUgY2l0ZS1ibG9jaztcbiAgfVxuXG4gIC5jaXRlLWJsb2NrIHtcbiAgICBAZXh0ZW5kICVjaXRlLWJsb2NrO1xuICB9XG5cbiAgJWNvZGUtaW5saW5lIHtcbiAgICBAaW5jbHVkZSBjb2RlLXN0eWxlO1xuICAgIEBpbmNsdWRlIGNvZGUtaW5saW5lO1xuICB9XG5cbiAgLmNvZGUtaW5saW5lIHtcbiAgICBAZXh0ZW5kICVjb2RlLWlubGluZTtcbiAgfVxuXG4gIC5jb2RlLWJsb2NrIHtcbiAgICBAaW5jbHVkZSBjb2RlLXN0eWxlO1xuICAgIEBpbmNsdWRlIGNvZGUtYmxvY2s7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tdGV4dC1hbGlnbm1lbnQge1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkYWxpZ24gaW4gKGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnkpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgLnRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIElmIGB0cnVlYCwgYWxsIGVsZW1lbnRzIHdpbGwgaGF2ZSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcyB3aGVuIHByaW50ZWQsIHRvIHNhdmUgb24gaW5rLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGRpc3BsYXlzIG5leHQgdG8gYWxsIGxpbmtzIHRoZWlyIFwiaHJlZlwiIHdoZW4gcHJpbnRlZC5cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGdyb3VwIGdsb2JhbFxuJHByaW50LWhyZWZzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZS1hbGxcblxuQG1peGluIGZvdW5kYXRpb24tcHJpbnQtc3R5bGVzIHtcbiAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICAqIHtcbiAgICAgIC8vIEVuc3VyZSBhIFwiYmxhY2stb24td2hpdGVcIiBwcmludCBieSByZW1vdmluZyBiYWNrZ3JvdW5kcyxcbiAgICAgIC8vIHVzaW5nIGJsYWNrIHRleHQgZXZlcnl3aGVyZSBhbmQgZm9yY2luZyB0aGUgYnJvd3NlciB0byBlY29ub21pemUgaW5rLlxuICAgICAgQGlmICRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kcyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zXG4gICAgICAgIHByaW50LWNvbG9yLWFkanVzdDogZWNvbm9teTtcbiAgICAgIH1cbiAgICAgIC8vIE90aGVyd2lzZSwgcHJldmVudCBhbnkgZWNvbm9teSBieSB0aGUgYnJvd3Nlci5cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdDtcbiAgICAgIH1cblxuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgLmhpZGUtZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICB0YWJsZS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgICB0aGVhZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdGJvZHkuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRyLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgICB0ZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAgIHRoLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG5cbiAgICAvLyBEaXNwbGF5IHRoZSBVUkwgb2YgYSBsaW5rIGFmdGVyIHRoZSB0ZXh0XG4gICAgYSxcbiAgICBhOnZpc2l0ZWQgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTt9XG4gICAgQGlmICRwcmludC1ocmVmcyB7XG4gICAgICBhW2hyZWZdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKGhyZWYpICcpJzsgfVxuICAgIH1cblxuICAgIC8vIERvbid0IGRpc3BsYXkgdGhlIFVSTCBmb3IgaW1hZ2VzIG9yIEphdmFTY3JpcHQvaW50ZXJuYWwgbGlua3NcbiAgICAuaXIgYTphZnRlcixcbiAgICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxuICAgIGFbaHJlZl49JyMnXTphZnRlciB7IGNvbnRlbnQ6ICcnOyB9XG5cbiAgICAvLyBEaXNwbGF5IHdoYXQgYW4gYWJicmV2aWF0aW9uIHN0YW5kcyBmb3IgYWZ0ZXIgdGhlIHRleHRcbiAgICBhYmJyW3RpdGxlXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cih0aXRsZSkgJyknOyB9XG5cbiAgICAvLyBQcmV2ZW50IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgYSBibG9ja3F1b3RlIG9yIHByZWZvcm1hdHRlZCB0ZXh0IGJsb2NrXG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvLyBoNWJwLmNvbS90XG4gICAgdGhlYWQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cblxuICAgIHRyLFxuICAgIGltZyB7IHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuXG4gICAgaW1nIHsgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuICAgIEBwYWdlIHsgbWFyZ2luOiAwLjVjbTsgfVxuXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBvcnBoYW5zOiAzO1xuICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIC8vIEF2b2lkIHBhZ2UgYnJlYWtzIGFmdGVyIGEgaGVhZGluZ1xuICAgIGgyLFxuICAgIGgzIHsgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cblxuICAgIC8vIEhlbHBlciB0byByZS1hbGxvdyBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGNlcnRhaW4gZWxlbWVudHMgKGUuZy4gcHJlLCBibG9ja3F1b3RlLCB0cilcbiAgICAucHJpbnQtYnJlYWstaW5zaWRlIHtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8gTWFyZ2luIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LWJhc2UtZ3JpZC1jbGFzc2VzIHtcblxuICAvLyBHcmlkIENvbnRhaW5lclxuICAuZ3JpZC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyO1xuXG4gICAgJi5mbHVpZCB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcigxMDAlKTtcbiAgICB9XG5cbiAgICAmLmZ1bGwge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXIoMTAwJSwgMCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQmFzZSBncmlkIHN0eWxlc1xuICAuZ3JpZC14IHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkO1xuICB9XG5cbiAgLmNlbGwge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwoZnVsbCwgJGd1dHRlci10eXBlOiBub25lKTtcblxuICAgICYuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoYXV0byk7XG4gICAgfVxuXG4gICAgJi5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgfVxuXG4gIH1cbiAgLmdyaWQteCB7XG4gICAgPiAuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoYXV0bywgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICB9XG5cbiAgICA+IC5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKHNocmluaywgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICB9XG4gIH1cblxuICAvLyBBdXRvIHdpZHRoXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgLy8gVGhpcyBpcyBhIGJpdCBvZiBhIGhhY2svd29ya2Fyb3VuZCwgc2VlIHRoZXNlIGlzc3VlcyAmIFBScyBmb3IgdGhlIGJhY2tzdG9yeTpcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMDI0NFxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDIyMiBhbmRcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAxNjRcbiAgICAuZ3JpZC14IHtcbiAgICAgICRzdHI6IFwiPiAuI3skLXpmLXNpemV9LXNocmluaywgPiAuI3skLXpmLXNpemV9LWZ1bGxcIjtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICRzdHI6ICRzdHIgKyBcIiwgPiAuI3skLXpmLXNpemV9LSN7JGl9XCI7XG4gICAgICB9XG4gICAgICAjeyRzdHJ9IHtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIC8vIFJlc3BvbnNpdmUgXCJhdXRvXCIgbW9kaWZpZXJcbiAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoYXV0bywgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAlLXh5LWNlbGwtYmFzZS1zaHJpbmstaG9yaXpvbnRhbC0jeyQtemYtc2l6ZX0ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBcInNocmlua1wiIG1vZGlmaWVyXG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LXNocmluayB7XG4gICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLWhvcml6b250YWwtI3skLXpmLXNpemV9O1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgd2lkdGggbW9kaWZpZXJzXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgQGV4dGVuZCAlLXh5LWNlbGwtYmFzZS1zaHJpbmstaG9yaXpvbnRhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCB3aWR0aCB3aGVuIHVzaW5nIGAuZ3JpZC1tYXJnaW4teGAgbm90IG9uIGAuZ3JpZC14YFxuICAuZ3JpZC1tYXJnaW4teDpub3QoLmdyaWQteCkgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cblxuICAvLyBSZXNldCBoZWlnaHQgd2hlbiB1c2luZyBgLmdyaWQtbWFyZ2luLXlgIG5vdCBvbiBgLmdyaWQteWBcbiAgLmdyaWQtbWFyZ2luLXk6bm90KC5ncmlkLXkpID4gLmNlbGwge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG5AbWl4aW4gLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCRjbGFzcy1icmVha3BvaW50LCAkZ3V0dGVyLWJyZWFrcG9pbnQsICR2ZXJ0aWNhbCkge1xuICAkcHJlZml4OiBpZigkY2xhc3MtYnJlYWtwb2ludCA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCwgJycsICcjeyRjbGFzcy1icmVha3BvaW50fS0nKTtcbiAgPiAuI3skcHJlZml4fWF1dG8ge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShhdXRvLCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gIH1cblxuICA+IC4jeyRwcmVmaXh9c2hyaW5rIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAkY2xhc3NuYW1lOiBpZigkdmVydGljYWwsICcuI3skY2xhc3MtYnJlYWtwb2ludH0tI3skaX0nLCAnLiN7JGNsYXNzLWJyZWFrcG9pbnR9LSN7JGl9Jyk7XG5cbiAgICA+ICN7JGNsYXNzbmFtZX0ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gICAgfVxuICB9XG59XG5cbi8vIE1hcmdpbiBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBsZWZ0IHJpZ2h0LFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkd3JhcHBpbmctc2VsZWN0b3I6ICcuZ3JpZC1tYXJnaW4teCdcbil7XG4gICN7JHdyYXBwaW5nLXNlbGVjdG9yfSB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUsICRndXR0ZXItcG9zaXRpb246ICRndXR0ZXItcG9zaXRpb24pO1xuXG4gICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbCgkdmVydGljYWw6ICR2ZXJ0aWNhbCwgJG91dHB1dDogKHNpemUgZ3V0dGVycykpO1xuICAgIH1cblxuICAgIC8vIGJhc2Ugc3R5bGVzIG5lZWQgdG8gYWxsIGJlIGJlZm9yZSB0aGUgYXV0byBhbmQgc2hyaW5rIHN0eWxlc1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpIGFuZCAkLXpmLXNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgPiAuY2VsbCB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgkdmVydGljYWw6ICR2ZXJ0aWNhbCwgJG91dHB1dDogKHNpemUgZ3V0dGVycykpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcblxuICAgICAgLy8gVGhpcyBpcyBwdXJlbHkgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycyAtIHRoZSBtYXJnaW4gZ3JpZCBoYXMgdG8gZ28gYmFjayBhbmQgYWRqdXN0IHdpZHRocyAob3IgaGVpZ2h0cylcbiAgICAgIC8vIGZvciBhbGwgcHJpb3IgYnJlYWtwb2ludHMuXG4gICAgICAvLyBBcyB0aGVpciBndXR0ZXIgaXMgZGVmaW5lZCB3aXRoIHRoZWlyIHdpZHRoL2hlaWdodCwgZXZlbiBicmVha3BvaW50IHdpdGhvdXQgYSBuZXcgbWFyZ2luIG11c3QgYmVcbiAgICAgIC8vIGdlbmVyYXRlZCB0byBub3QgaGF2aW5nIHRoZWlyIHdpZHRoL2hlaWdodCBvdmVycmlkZWQgYnkgcmUtYWRqdXN0ZWQgc21hbGxlciBicmVha3BvaW50cy5cbiAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkpIHtcbiAgICAgICAgQGVhY2ggJGJwIGluIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJC16Zi1zaXplKSB7XG4gICAgICAgICAgQGluY2x1ZGUgLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCRicCwgJC16Zi1zaXplLCAkdmVydGljYWwpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkLXpmLXNpemUsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gUGFkZGluZyBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1wYWRkaW5nLWdyaWQtY2xhc3NlcyB7XG4gIC5ncmlkLXBhZGRpbmcteCB7XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIG5lc3RlZCBncmlkc1xuICAgIC5ncmlkLXBhZGRpbmcteCB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBncmlkcyB3aXRoaW4gYGdyaWQtY29udGFpbmVyL2dyaWQtY29udGFpbmVyLmZsdWlkYFxuICAgIC8vIFRoaXMgYWxsb3dzIG1hcmdpbiBhbmQgcGFkZGluZyBncmlkcyB0byBsaW5lIHVwIHdpdGggZWFjaG90aGVyXG4gICAgLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAmIHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgfVxuICB9XG59XG5cbi8vIEJsb2NrIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LWJsb2NrLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQ6IHRydWUsICRwYWRkaW5nLWdyaWQ6IHRydWUpIHtcbiAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkbjogJGksICRzZWxlY3RvcjogJy5jZWxsJywgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkb3V0cHV0OiAoc2l6ZSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXG4gICAgICAgIC8vIGZvciBwcmlvciBicmVha3BvaW50cyBiYXNlZCBvbiB0aGUgcmVzcG9uc2l2ZSBndXR0ZXIuXG4gICAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkpIHtcbiAgICAgICAgICBAZWFjaCAkYnAgaW4gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkLXpmLXNpemUpIHtcbiAgICAgICAgICAgIEBpZihtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGJwKSkge1xuICAgICAgICAgICAgICAuZ3JpZC1tYXJnaW4teC4jeyRicH0tdXAtI3skaX0ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRuOiAkaSwgJHNlbGVjdG9yOiAnLmNlbGwnLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJG91dHB1dDogKHNpemUpKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAuZ3JpZC1tYXJnaW4teC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRuOiAkaSwgJHNlbGVjdG9yOiAnLmNlbGwnLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJG91dHB1dDogKHNpemUpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBDb2xsYXBzZSBjbGFzc2VzXG5AbWl4aW4geHktY29sbGFwc2UtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZDogdHJ1ZSwgJHBhZGRpbmctZ3JpZDogdHJ1ZSkge1xuICBAZWFjaCAkYnAgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgICAuI3skYnB9LW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29sbGFwc2UoJGd1dHRlci10eXBlOiBtYXJnaW4sICRtaW4tYnJlYWtwb2ludDogJGJwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgICAuI3skYnB9LXBhZGRpbmctY29sbGFwc2Uge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbGxhcHNlKCRndXR0ZXItdHlwZTogcGFkZGluZywgJG1pbi1icmVha3BvaW50OiAkYnApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBPZmZzZXQgY2xhc3Nlc1xuQG1peGluIHh5LW9mZnNldC1jZWxsLWNsYXNzZXMge1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgLy8gT2Zmc2V0c1xuICAgICAgJG86ICRpIC0gMTtcblxuICAgICAgLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgkbywgJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgIH1cblxuICAgICAgLmdyaWQtbWFyZ2luLXggPiAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KCRvKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gVmVydGljYWwgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktdmVydGljYWwtZ3JpZC1jbGFzc2VzKFxuICAkbWFyZ2luLWdyaWQ6IHRydWUsXG4gICRwYWRkaW5nLWdyaWQ6IHRydWVcbikge1xuXG4gIC8vIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gIC8vICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgLy8gICB9XG4gIC8vIH1cblxuICAuZ3JpZC15IHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkKHZlcnRpY2FsLCBmYWxzZSk7XG5cblxuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1yZXNldCgpO1xuICAgIH1cblxuICAgID4gLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKGF1dG8sICRndXR0ZXItdHlwZTogbm9uZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICB9XG5cbiAgICA+IC5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKHNocmluaywgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrL3dvcmthcm91bmQsIHNlZSB0aGVzZSBpc3N1ZXMgYW5kIFBScyBmb3IgdGhlIGJhY2tzdG9yeTpcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAyMjIgYW5kXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAxNjRcbiAgICAgICRzdHI6IFwiPiAuI3skLXpmLXNpemV9LXNocmluaywgPiAuI3skLXpmLXNpemV9LWZ1bGxcIjtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICRzdHI6ICRzdHIgKyBcIiwgPiAuI3skLXpmLXNpemV9LSN7JGl9XCI7XG4gICAgICB9XG4gICAgICAjeyRzdHJ9IHtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgLy8gUmVzcG9uc2l2ZSBcImF1dG9cIiBtb2RpZmllclxuICAgICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LWF1dG8ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoYXV0bywgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICUteHktY2VsbC1iYXNlLXNocmluay12ZXJ0aWNhbC0jeyQtemYtc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICAgIH1cblxuICAgICAgLy8gUmVzcG9uc2l2ZSBcInNocmlua1wiIG1vZGlmaWVyXG4gICAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tc2hyaW5rIHtcbiAgICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay12ZXJ0aWNhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKHNocmluaywgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFJlc3BvbnNpdmUgd2lkdGggbW9kaWZpZXJzXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgID4gLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgICAgQGV4dGVuZCAlLXh5LWNlbGwtYmFzZS1zaHJpbmstdmVydGljYWwtI3skLXpmLXNpemV9O1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG4gIH1cblxuICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgbmVzdGVkIGdyaWRzXG4gICAgICAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSwgJGd1dHRlci1wb3NpdGlvbjogdG9wIGJvdHRvbSk7XG4gICAgICB9XG5cbiAgICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICAgID4gLmNlbGwge1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZywgJGd1dHRlci1wb3NpdGlvbjogdG9wIGJvdHRvbSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3Nlcyh0b3AgYm90dG9tLCB0cnVlLCAnLmdyaWQtbWFyZ2luLXknKTtcbiAgfVxuXG59XG5cbkBtaXhpbiB4eS1mcmFtZS1ncmlkLWNsYXNzZXMoJHZlcnRpY2FsLWdyaWQ6IHRydWUsICRtYXJnaW4tZ3JpZDogdHJ1ZSkge1xuICAvLyBGcmFtZWQgZ3JpZCBzdHlsZXNcbiAgLmdyaWQtZnJhbWUge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWU7XG4gIH1cblxuICAuY2VsbCAuZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gIH1cblxuICAuY2VsbC1ibG9jayB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jaygpO1xuICB9XG5cbiAgLmNlbGwtYmxvY2steSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jayh0cnVlKTtcbiAgfVxuXG5cbiAgLmNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpO1xuICB9XG5cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG5cbiAgICAuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZTtcbiAgICB9XG5cbiAgICAuY2VsbCAuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgd2lkdGg6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2soKTtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCk7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrLXkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jayh0cnVlKTtcbiAgICB9XG4gIH1cblxuICBAaWYgJHZlcnRpY2FsLWdyaWQge1xuICAgIC5ncmlkLXkge1xuICAgICAgJi5ncmlkLWZyYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlKTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgICAgJi4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlKTtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfVxuICAgIC5jZWxsIHtcbiAgICAgIC5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gICAgICAgIGhlaWdodDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgICAgLmdyaWQteS4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXModG9wIGJvdHRvbSwgdHJ1ZSwgJy5ncmlkLW1hcmdpbi15Jyk7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUsIGZhbHNlLCAkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGluY2x1ZGUtYmFzZTogZmFsc2UpO1xuICAgIH1cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAuZ3JpZC1tYXJnaW4teS4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSwgZmFsc2UsICRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUsIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gRmluYWwgY2xhc3Nlc1xuQG1peGluIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzKFxuICAkYmFzZS1ncmlkOiB0cnVlLFxuICAkbWFyZ2luLWdyaWQ6IHRydWUsXG4gICRwYWRkaW5nLWdyaWQ6IHRydWUsXG4gICRibG9jay1ncmlkOiB0cnVlLFxuICAkY29sbGFwc2U6IHRydWUsXG4gICRvZmZzZXQ6IHRydWUsXG4gICR2ZXJ0aWNhbC1ncmlkOiB0cnVlLFxuICAkZnJhbWUtZ3JpZDogdHJ1ZVxuKSB7XG5cbiAgLy8gQmFzZSBncmlkIHN0eWxlc1xuICBAaWYoJGJhc2UtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWJhc2UtZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBNYXJnaW4gZ3JpZFxuICBAaWYoJG1hcmdpbi1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gUGFkZGluZyBncmlkXG4gIEBpZigkcGFkZGluZy1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktcGFkZGluZy1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIEJsb2NrIGdyaWRcbiAgQGlmKCRibG9jay1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktYmxvY2stZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICAvLyBDb2xsYXBzZSBndXR0ZXJzXG4gIEBpZigkY29sbGFwc2UpIHtcbiAgICBAaW5jbHVkZSB4eS1jb2xsYXBzZS1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIC8vIE9mZnNldCBndXR0ZXJzXG4gIEBpZigkb2Zmc2V0KSB7XG4gICAgQGluY2x1ZGUgeHktb2Zmc2V0LWNlbGwtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gVmVydGljYWwgZ3JpZFxuICBAaWYoJHZlcnRpY2FsLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS12ZXJ0aWNhbC1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIEBpZiAoJGZyYW1lLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1mcmFtZS1ncmlkLWNsYXNzZXMoJHZlcnRpY2FsLWdyaWQsICRtYXJnaW4tZ3JpZClcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBtYXggd2lkdGggY29udGFpbmVyLCBkZXNpZ25lZCB0byBob3VzZSB5b3VyIGdyaWQgY29udGVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRncmlkLWNvbnRhaW5lcl0gLSBhIHdpZHRoIHRvIGxpbWl0IHRoZSBjb250YWluZXIgdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIFskZ3JpZC1jb250YWluZXItcGFkZGluZ10gLSBwYWRkaW5ncyBvZiB0aGUgY29udGFpbmVyLlxuQG1peGluIHh5LWdyaWQtY29udGFpbmVyKFxuICAkd2lkdGg6ICRncmlkLWNvbnRhaW5lcixcbiAgJHBhZGRpbmc6ICRncmlkLWNvbnRhaW5lci1wYWRkaW5nXG4pIHtcbiAgbWF4LXdpZHRoOiAkd2lkdGg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG5cbiAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJHBhZGRpbmcsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG59XG5cbi8vLyBDcmVhdGVzIGEgY29udGFpbmVyIGZvciB5b3VyIGZsZXggY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2hvcml6b250YWxdIC0gRWl0aGVyIGhvcml6b250YWwgb3IgdmVydGljYWwgZGlyZWN0aW9uIG9mIGNlbGxzIHdpdGhpbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR3cmFwIFt0cnVlXSAtIElmIHRoZSBjZWxscyB3aXRoaW4gc2hvdWxkIHdyYXAgb3Igbm90LlxuQG1peGluIHh5LWdyaWQoXG4gICRkaXJlY3Rpb246IGhvcml6b250YWwsXG4gICR3cmFwOiB0cnVlXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiA9PSAnaG9yaXpvbnRhbCcsIHJvdywgY29sdW1uKTtcbiAgJHdyYXA6IGlmKCR3cmFwLCB3cmFwLCBub3dyYXApO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogJGRpcmVjdGlvbiAkd3JhcDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGUgZ3V0dGVycyBmb3IgYSBjZWxsL2NvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgZWl0aGVyIG1hcmdpbiBvciBwYWRkaW5nLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVnYXRpdmUgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gYXBwbHkgdGhlIGd1dHRlciBhcyBhIG5lZ2F0aXZlIHZhbHVlLiBDb21tb25seSB1c2VkIGZvciBuZXN0ZWQgZ3JpZHMuXG5AbWl4aW4geHktZ3V0dGVycyhcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJG5lZ2F0aXZlOiBmYWxzZVxuKSB7XG4gICRvcGVyYXRvcjogaWYoJG5lZ2F0aXZlLCAnLScsICcnKTtcblxuICAvLyBJZiB3ZSBoYXZlIGRlY2xhcmVkIG5lZ2F0aXZlIGd1dHRlcnMsIGZvcmNlIHR5cGUgdG8gYG1hcmdpbi5cbiAgJGd1dHRlci10eXBlOiBpZigkbmVnYXRpdmUsICdtYXJnaW4nLCAkZ3V0dGVyLXR5cGUpO1xuXG4gIC8vIE91dHB1dCBvdXIgbWFyZ2luIGd1dHRlcnMuXG4gIEBpZiAodHlwZS1vZigkZ3V0dGVycykgPT0gJ21hcCcpIHtcbiAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZShhdXRvLCAkZ3V0dGVycykge1xuICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgKiAwLjU7XG5cbiAgICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiB1bnF1b3RlKFwiI3skb3BlcmF0b3J9I3skZ3V0dGVyfVwiKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdudW1iZXInKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcnMpICogMC41O1xuXG4gICAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggZ3V0dGVyIHBvc2l0aW9uXG4gICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgI3skZ3V0dGVyLXR5cGV9LSN7JHZhbHVlfTogdW5xdW90ZShcIiN7JG9wZXJhdG9yfSN7JGd1dHRlcn1cIik7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gUmV0dXJucyB0aGUgYXBwcm9wcmlhdGUgQ1NTIGZsZXggdmFsdWUgZm9yIGEgY2VsbCBiYXNlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIEFjY2VwdHMgYGZ1bGxgLCBgYXV0b2AsIGBzaHJpbmtgLCBgZ3Jvd2AsIG9yIGFueSBvdGhlciB2YWx1ZSByZXByZXNlbnRpbmcgYSBjZWxsIHNpemUgKGl0IHdpbGwgYmUgdHJlYXRlZCBhcyBgc2hyaW5rYCkuXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gVGhlIGNlbGwgZmxleCBwcm9wZXJ0eSB2YWx1ZS5cbkBmdW5jdGlvbiB4eS1jZWxsLWJhc2UoJHNpemU6IGZ1bGwpIHtcbiAgQGlmICgkc2l6ZSA9PSAnYXV0bycpIHtcbiAgICBAcmV0dXJuIDEgMSAwO1xuICB9XG4gIEBlbHNlIGlmICgkc2l6ZSA9PSAnZ3JvdycpIHtcbiAgICBAcmV0dXJuIDEgMCBhdXRvO1xuICB9XG4gIEBlbHNlIGlmICgkc2l6ZSA9PSAnc2hyaW5rJyBvciAkc2l6ZSA9PSAnZnVsbCcgb3IgemYtaXMtZnJhY3Rpb24oJHNpemUsICRhbGxvdy1uby1kZW5vbWluYXRvcjogdHJ1ZSkpIHtcbiAgICBAcmV0dXJuIDAgMCBhdXRvO1xuICB9XG4gIEByZXR1cm4gbnVsbDtcbn1cblxuLy8vIENhbGN1bGF0ZSB0aGUgc2l6ZSBvZiBhIGNlbGwgZ3V0dGVycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCByZXR1cm5zIHRoZSByZXNwb25zaXZlIGd1dHRlcnMgbWFwIGAkZ3V0dGVyc2AuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ8TWFwfSBUaGUgY2VsbCBndXR0ZXIgc2l6ZSBvciB0aGUgcmVzcG9uc2l2ZSBndXR0ZXJzIG1hcC5cbkBmdW5jdGlvbiB4eS1jZWxsLWd1dHRlcnMoXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGJyZWFrcG9pbnQ6IG51bGxcbikge1xuICAvLyBGb3IgYGF1dG9gLCByZXR1cm5zIHRoZSByZXNwb25zaXZlIG1hcCBgJGd1dHRlcnNgLlxuICBAaWYgKCRicmVha3BvaW50ID09ICdhdXRvJykge1xuICAgIEByZXR1cm4gJGd1dHRlcnM7XG4gIH1cblxuICAvLyBVc2UgdGhlIGNvbnRleHR1YWwgYnJlYWtwb2ludCBieSBkZWZhdWx0LlxuICAkYnJlYWtwb2ludDogLXpmLWN1cnJlbnQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCk7XG5cbiAgQGlmICgkYnJlYWtwb2ludCkge1xuICAgIEByZXR1cm4gLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJC16Zi16ZXJvLWJyZWFrcG9pbnQpIG9yIDA7XG4gIH1cbn1cblxuLy8vIFJldHVybnMgdGhlIHBlcmNlbnRhZ2Ugc2l6ZSBvZiBhIGNlbGwuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkc2l6ZSBbJGdyaWQtY29sdW1uc10gLSBTaXplIHRvIG1ha2UgdGhlIGNlbGwuIFlvdSBjYW4gcGFzcyBhIHZhbHVlIGluIG11bHRpcGxlIGZvcm1hdHMsIHN1Y2ggYXMgYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvM2AuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBTaXplIG9mIHRoZSBjZWxsIChpbiBwZXJjZW50KS5cbkBmdW5jdGlvbiB4eS1jZWxsLXNpemUoXG4gICRzaXplOiAkZ3JpZC1jb2x1bW5zXG4pIHtcbiAgQHJldHVybiBmcmFjdGlvbi10by1wZXJjZW50YWdlKCRzaXplLCAkZGVub21pbmF0b3I6ICRncmlkLWNvbHVtbnMpO1xufVxuXG4vLy8gUmV0dXJucyB0aGUgYXBwcm9wcmlhdGUgQ1NTIHZhbHVlIGZvciBhIGNlbGwgc2l6ZS5cbi8vL1xuLy8vIEd1dHRlcnMtcmVsYXRlZCBhcmd1bWVudHMgYXJlIHJlcXVpcmVkIGZvciBjZWxscyB3aXRoIG1hcmdpbiBndXR0ZXJzIChieSBkZWZhdWx0KSBhcyB0aGUgZ3V0dGVyIGlzIGluY2x1ZGVkIGluIHRoZSB3aWR0aC5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCwgYGF1dG9gLCBgc2hyaW5rYCBvciBhbnkgZnJhY3Rpb24gbGlrZSBgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgcmV0dXJucyBhIG1hcCBvZiBzaXplcyBhZGFwdGVkIHRvIHJlc3BvbnNpdmUgZ3V0dGVycy4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcnxTdHJpbmd8TWFwfSBUaGUgY2VsbCBzaXppbmcgcHJvcGVydHkgdmFsdWUsIG9yIGEgcmVzcG9uc2l2ZSBtYXAgb2YgdGhlbS5cbkBmdW5jdGlvbiB4eS1jZWxsLXNpemUtY3NzKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6IG51bGxcbikge1xuICAkbWFyZ2luLWd1dHRlcjogMDtcblxuICBAaWYgKCRzaXplID09ICdhdXRvJyBvciAkc2l6ZSA9PSAnc2hyaW5rJykge1xuICAgIEByZXR1cm4gYXV0bztcbiAgfVxuXG4gIC8vIEZvciBjZWxscyB3aXRoIG1hcmdpbiBndXR0ZXJzLCB0aGUgZ3V0dGVyIGlzIGluY2x1ZGVkIGluIHRoZSB3aWR0aC5cbiAgQGlmICgkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcbiAgICAkbWFyZ2luLWd1dHRlcjogeHktY2VsbC1ndXR0ZXJzKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gICAgQGlmICgkbWFyZ2luLWd1dHRlciA9PSBudWxsKSB7XG4gICAgICBAZXJyb3IgJ3h5LWNlbGwtc2l6ZTogbm8gZ3V0dGVycyB3ZXJlIGZvdW5kIGluIGAkZ3V0dGVyc2AgZm9yIFwiJGJyZWFrcG9pbnQ6ICN7JGJyZWFrcG9pbnR9XCInO1xuICAgIH1cbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSB0aGUgY2VsbCBzaXplIChudW1iZXIpXG4gICRzaXplLXJhdzogaWYoJHNpemUgPT0gJ2Z1bGwnLCAxMDAlLCB4eS1jZWxsLXNpemUoJHNpemUpKTtcblxuICAvLyBDYWxjdWxhdGUgdGhlIGNlbGwgQ1NTIHNpemUgaW5jbHVkaW5nIGd1dHRlcnMgKHN0cmluZylcbiAgLy8gSWYgdGhlIGNlbGwgaGFzIHJlc3BvbnNpdmUgbWFyZ2luIGd1dHRlcnMsIHJldHVybiBhIHJlc3BvbnNpdmUgbWFwIG9mIHNpemVzLlxuICBAaWYgdHlwZS1vZigkbWFyZ2luLWd1dHRlcikgPT0gJ21hcCcge1xuICAgICRyZXNwb25zaXZlLWNzcy1zaXplczogKCk7XG5cbiAgICBAZWFjaCAkYnAsICRtZyBpbiAkbWFyZ2luLWd1dHRlciB7XG4gICAgICAkbWdjOiByZW0tY2FsYygkbWcpO1xuICAgICAgQGlmICRtZ2MgPT0gMCB7XG4gICAgICAgIC8vIHNhc3MtbGludDpkaXNhYmxlIHplcm8tdW5pdFxuICAgICAgICAkbWdjOiAwcmVtO1xuICAgICAgfVxuICAgICAgJHNpemUtY3NzOiBpZigkbWcgPT0gMCwgJHNpemUtcmF3LCBjYWxjKCN7JHNpemUtcmF3fSAtICN7JG1nfSkpO1xuICAgICAgJHJlc3BvbnNpdmUtY3NzLXNpemVzOiBtYXAtbWVyZ2UoJHJlc3BvbnNpdmUtY3NzLXNpemVzLCAoJGJwOiAkc2l6ZS1jc3MpKTtcbiAgICB9XG5cbiAgICBAcmV0dXJuICRyZXNwb25zaXZlLWNzcy1zaXplcztcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiBhIHNpbmdsZSBDU1Mgc2l6ZS5cbiAgQGVsc2Uge1xuICAgIC8vIE1ha2Ugc3VyZSB0aGF0IDAgaXMgdHJhbnNsYXRlZCBpbiAwcmVtIGZvciBjYWxjKClcbiAgICAkbWdjOiByZW0tY2FsYygkbWFyZ2luLWd1dHRlcik7XG4gICAgQGlmICRtZ2MgPT0gMCB7XG4gICAgICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZSB6ZXJvLXVuaXRcbiAgICAgICRtZ2M6IDByZW07XG4gICAgfVxuICAgICRjc3Mtc2l6ZTogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgJHNpemUtcmF3LCBjYWxjKCN7JHNpemUtcmF3fSAtICN7JG1nY30pKTtcbiAgICBAcmV0dXJuICRjc3Mtc2l6ZTtcbiAgfVxufVxuXG4vLy8gU2V0cyBiYXNlIGZsZXggcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQWNjZXB0cyBgZnVsbGAsIGBhdXRvYCwgYHNocmlua2AsIGBncm93YCwgb3IgYW55IG90aGVyIHZhbHVlIHJlcHJlc2VudGluZyBhIGNlbGwgc2l6ZSAoaXQgd2lsbCBiZSB0cmVhdGVkIGFzIGBzaHJpbmtgKS5cbkBtaXhpbiB4eS1jZWxsLWJhc2UoJHNpemU6IGZ1bGwpIHtcbiAgJGJhc2U6IHh5LWNlbGwtYmFzZSgkc2l6ZSk7XG5cbiAgZmxleDogI3skYmFzZX07XG5cbiAgLy8gU2V0IGJhc2Ugc3R5bGVzIGZvciBcImZ1bGxcIiBvbmx5XG4gIEBpZigkc2l6ZSA9PSAnZnVsbCcpIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxufVxuXG4vLy8gUmVzZXRzIGEgY2VsbHMgd2lkdGggKG9yIGhlaWdodCBpZiB2ZXJ0aWNhbCBpcyB0cnVlKSBhcyB3ZWxsIGFzIHN0cmlwcyBpdHMgZ3V0dGVycy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXJlc2V0KCR2ZXJ0aWNhbDogdHJ1ZSkge1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgaGVpZ2h0LCB3aWR0aCk7XG4gICN7JGRpcmVjdGlvbn06IGF1dG87XG4gIG1heC0jeyRkaXJlY3Rpb259OiBub25lO1xufVxuXG4vLy8gU2V0cyBzaXppbmcgcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBHdXR0ZXJzLXJlbGF0ZWQgYXJndW1lbnRzIGFyZSByZXF1aXJlZCBmb3IgY2VsbHMgd2l0aCBtYXJnaW4gZ3V0dGVycyAoYnkgZGVmYXVsdCkgYXMgdGhlIGd1dHRlciBpcyBpbmNsdWRlZCBpbiB0aGUgd2lkdGguXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKDEwMCUgd2lkdGgpLCBgYXV0b2AgKHVzZSBhbGwgYXZhaWxhYmxlIHNwYWNlKSwgYHNocmlua2AgKHVzZSBvbmx5IHRoZSByZXF1aXJlZCBzcGFjZSkgb3IgYW55IGZyYWN0aW9uIChgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC4uLikuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIGdlbmVyYXRlcyBzaXplcyBhZGFwdGVkIGZvciByZXNwb25zaXZlIGd1dHRlcnMuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1zaXplKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkc2l6ZXM6IHh5LWNlbGwtc2l6ZS1jc3MoJHNpemUsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRicmVha3BvaW50KTtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIGhlaWdodCwgd2lkdGgpO1xuXG4gIEBpZiAodHlwZS1vZigkc2l6ZXMpID09ICdtYXAnKSB7XG4gICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoYXV0bywgJHNpemVzKSB7XG4gICAgICAjeyRkaXJlY3Rpb259OiAkLXpmLWJwLXZhbHVlO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgI3skZGlyZWN0aW9ufTogJHNpemVzO1xuICB9XG59XG5cbi8vLyBTZXRzIGd1dHRlcnMgcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbbnVsbF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uIEJ5IGRlZmF1bHQgYHJpZ2h0IGxlZnRgIGZvciBob3Jpem9udGFsIGNlbGxzIGFuZCBgdG9wIGJvdHRvbWAgZm9yIHZlcnRpY2FsIGNlbGxzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgZ2VuZXJhdGVzIHJlc3BvbnNpdmUgZ3V0dGVycy4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBEaXJlY3Rpb24gb2YgdGhlIGd1dHRlcnMgdG8gb3V0cHV0LiBTZWUgYCRndXR0ZXItcG9zaXRpb25gLlxuQG1peGluIHh5LWNlbGwtZ3V0dGVycyhcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogbnVsbCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAvLyBHZXQgdGhlIGRlZmF1bHQgZ3V0dGVyIHBvc2l0aW9uIGFjY29yZGluZyB0byBjZWxsIGRpcmVjdGlvblxuICBAaWYoJGd1dHRlci1wb3NpdGlvbiA9PSBudWxsKSB7XG4gICAgJGd1dHRlci1wb3NpdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHRvcCBib3R0b20sIGxlZnQgcmlnaHQpO1xuICB9XG5cbiAgLy8gR2V0IHRoZSBndXR0ZXIgd2lkdGggZm9yIHRoaXMgYnJlYWtwb2ludFxuICAkZ3V0dGVyLXdpZHRoOiB4eS1jZWxsLWd1dHRlcnMoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgQGlmICgkZ3V0dGVyLXdpZHRoID09IG51bGwpIHtcbiAgICBAZXJyb3IgJ3h5LWNlbGwtZ3V0dGVyczogbm8gZ3V0dGVycyB3ZXJlIGZvdW5kIGluIGAkZ3V0dGVyc2AgZm9yIFwiJGJyZWFrcG9pbnQ6ICN7JGJyZWFrcG9pbnR9XCInO1xuICB9XG5cbiAgQGlmICgkZ3V0dGVyLXR5cGUgYW5kICRndXR0ZXItdHlwZSAhPSBub25lKSB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLXdpZHRoLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgY2VsbCBmb3IgeW91ciBncmlkLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgICgxMDAlIHdpZHRoKSwgYGF1dG9gICh1c2UgYWxsIGF2YWlsYWJsZSBzcGFjZSksIGBzaHJpbmtgICh1c2Ugb25seSB0aGUgcmVxdWlyZWQgc3BhY2UpIG9yIGFueSBmcmFjdGlvbiAoYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuLi4pLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW251bGxdIC0gW0RFUFJFQ0FURURdIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtudWxsXSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi4gQnkgZGVmYXVsdCBgcmlnaHQgbGVmdGAgZm9yIGhvcml6b250YWwgY2VsbHMgYW5kIGB0b3AgYm90dG9tYCBmb3IgdmVydGljYWwgY2VsbHMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCBnZW5lcmF0ZXMgcmVzcG9uc2l2ZSBndXR0ZXJzLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuLy8vIEBwYXJhbSB7TGlzdH0gJG91dHB1dCBbKGJhc2Ugc2l6ZSBndXR0ZXJzKV0gLSBDZWxsIHBhcnRzIHRvIG91dHB1dC4gWW91IHdpbGwgbmVlZCB0byBnZW5lcmF0ZSBvdGhlcnMgcGFydHMgb2YgdGhlIGNlbGwgc2VwZXJhdGVseSwgaXQgbWF5IG5vdCB3b3JrIHByb3Blcmx5IG90aGVyd2lzZS5cbkBtaXhpbiB4eS1jZWxsKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IG51bGwsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkb3V0cHV0OiAoYmFzZSBzaXplIGd1dHRlcnMpXG4pIHtcbiAgLy8gRGVmYXVsdCBmb3IgJGd1dHRlci1vdXRwdXRcbiAgQGlmICgkZ3V0dGVyLW91dHB1dCAhPSBudWxsKSB7XG4gICAgQHdhcm4gJ3h5LWNlbGw6ICRndXR0ZXItb3V0cHV0IGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZC4gU2VlIG1pZ3JhdGlvbiBub3RlcyBhdCBodHRwczovL2dpdC5pby9mb3VuZGF0aW9uLTYtNi0wJztcbiAgICBAaWYgKCRndXR0ZXItb3V0cHV0ID09IGZhbHNlKSB7XG4gICAgICAkb3V0cHV0OiBzbC1yZW1vdmUoJG91dHB1dCwgZ3V0dGVycyk7XG4gICAgfVxuICB9XG5cbiAgQGlmIChpbmRleCgkb3V0cHV0LCBiYXNlKSkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZSgkc2l6ZSk7XG4gIH1cbiAgQGlmIChpbmRleCgkb3V0cHV0LCBzaXplKSkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkc2l6ZSwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGJyZWFrcG9pbnQsICR2ZXJ0aWNhbCk7XG4gIH1cbiAgQGlmIChpbmRleCgkb3V0cHV0LCBndXR0ZXJzKSkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtZ3V0dGVycygkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uLCAkYnJlYWtwb2ludCwgJHZlcnRpY2FsKTtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHNpemVkIGdyaWQuIFVzZWQgdG8gZ2VuZXJhdGUgb3VyIGdyaWQgY2xhc3Nlcy5cbi8vL1xuLy8vIGB4eS1jZWxsLXN0YXRpYygpYCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQuXG4vLy8gVXNlIGB4eS1jZWxsKClgIGluc3RlYWQgd2l0aCBgJG91dHB1dDogKHNpemUgZ3V0dGVycylgIHRvIG5vdCBnZW5lcmF0ZSB0aGUgY2VsbCBiYXNlLlxuLy8vIFNlZSBtaWdyYXRpb24gbm90ZXMgYXQgaHR0cHM6Ly9naXQuaW8vZm91bmRhdGlvbi02LTYtMFxuLy8vXG4vLy8gQGRlcHJlY2F0ZWQgdjYuNi4wXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKDEwMCUgd2lkdGgpLCBgYXV0b2AgKHVzZSBhbGwgYXZhaWxhYmxlIHNwYWNlKSwgYHNocmlua2AgKHVzZSBvbmx5IHRoZSByZXF1aXJlZCBzcGFjZSkgb3IgYW55IGZyYWN0aW9uIChgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC4uLikuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVycy4gQWx3YXlzIGB0cnVlYCBmb3IgbWFyZ2luIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXN0YXRpYyhcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXItb3V0cHV0OiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICBAd2FybiAneHktY2VsbC1zdGF0aWMoKSBtaXhpbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQuIFVzZSBcInh5LWNlbGwoKVwiIGluc3RlYWQuIFNlZSBtaWdyYXRpb24gbm90ZXMgYXQgaHR0cHM6Ly9naXQuaW8vZm91bmRhdGlvbi02LTYtMCc7XG5cbiAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgJGd1dHRlci1wb3NpdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHRvcCBib3R0b20sIGxlZnQgcmlnaHQpO1xuXG4gICQtZ3V0dGVyLW91dHB1dDogaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nLCB0cnVlLCAkZ3V0dGVyLW91dHB1dCk7XG4gICQtZ3V0dGVyLW1hcmdpbjogaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nLCAkZ3V0dGVyLCAwKTtcblxuICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkLWd1dHRlci1tYXJnaW4sICR2ZXJ0aWNhbCk7XG4gIEBpZiAoJC1ndXR0ZXItb3V0cHV0KSB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gU2l6ZXMgY2hpbGQgZWxlbWVudHMgc28gdGhhdCBgJG5gIG51bWJlciBvZiBpdGVtcyBhcHBlYXIgb24gZWFjaCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgZWxlbWVudHMgdG8gZGlzcGxheSBwZXIgcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWycuY2VsbCddIC0gU2VsZWN0b3IocykgdG8gdXNlIGZvciBjaGlsZCBlbGVtZW50cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFtudWxsXSAtIFtERVBSRUNBVEVEXSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbbnVsbF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uIEJ5IGRlZmF1bHQgYHJpZ2h0IGxlZnRgIGZvciBob3Jpem9udGFsIGNlbGxzIGFuZCBgdG9wIGJvdHRvbWAgZm9yIHZlcnRpY2FsIGNlbGxzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgYnJlYWtwb2ludCB0byB1c2UgZm9yIHRoZSBjZWxsIGdlbmVyYXRpb24uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG4vLy8gQHBhcmFtIHtMaXN0fSAkb3V0cHV0IFsoYmFzZSBzaXplIGd1dHRlcnMpXSAtIENlbGwgcGFydHMgdG8gb3V0cHV0LiBZb3Ugd2lsbCBuZWVkIHRvIGdlbmVyYXRlIG90aGVycyBwYXJ0cyBvZiB0aGUgY2VsbCBzZXBlcmF0ZWx5LCBpdCBtYXkgbm90IHdvcmsgY29ycmVjdGx5IG90aGVyd2lzZS5cbkBtaXhpbiB4eS1ncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jZWxsJyxcbiAgJGd1dHRlci1vdXRwdXQ6IG51bGwsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkb3V0cHV0OiAoYmFzZSBzaXplIGd1dHRlcnMpXG4pIHtcbiAgJHNpemU6IHBlcmNlbnRhZ2UoZGl2aWRlKDEsICRuKSk7XG5cbiAgJiA+ICN7JHNlbGVjdG9yfSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZSwgJGd1dHRlci1vdXRwdXQsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24sICRicmVha3BvaW50LCAkdmVydGljYWwsICRvdXRwdXQpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ29sbGFwc2VzIHRoZSBncmlkIGEgY2VsbHMgd2l0aGluIGl0LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbLmNlbGxdIC0gVGhlIGNoaWxkIGVsZW1lbnQgdG8gcmVtb3ZlIHRoZSBndXR0ZXIgZnJvbS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFRoZSB0eXBlIG9mIGd1dHRlciB0byByZW1vdmUuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbnMgdG8gcmVtb3ZlIGd1dHRlcnMgZnJvbS4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkbWluLWJyZWFrcG9pbnQgWyQtemYtemVyby1icmVha3BvaW50XSAtIE1pbmltdW0gYnJlYWtwb2ludCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgZm9yIHdoaWNoIHRvIGNvbGxhcHNlIHRoZSBndXR0ZXIuXG5AbWl4aW4geHktZ3JpZC1jb2xsYXBzZShcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJG1pbi1icmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludFxuKSB7XG4gIC8vIEZpcnN0LCBsZXRzIG5lZ2F0ZSBhbnkgbWFyZ2lucyBvbiB0aGUgdG9wIGxldmVsXG4gIEBpZiAoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgfVxuXG4gICAgICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJGV4Y2x1ZGVkLWJwczogLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkbWluLWJyZWFrcG9pbnQpO1xuXG4gICAgLy8gT3V0cHV0IG5ldyB3aWR0aHMgdG8gbm90IGluY2x1ZGUgZ3V0dGVyc1xuICAgIEBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZihzbC1jb250YWluKCRleGNsdWRlZC1icHMsICRicCkpIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICAgICAgPiAuI3skYnB9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwKSB7XG4gICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgICAgID4gLiN7JGJwfS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgIH1cblxuICAgICAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICAgcGFkZGluZy0jeyR2YWx1ZX06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBSZXR1cm5zIHRoZSBhcHByb3ByaWF0ZSBDU1MgdmFsdWUgdG8gb2Zmc2V0IGEgY2VsbC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gU2l6ZSB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGB4eS1jZWxsKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSBNYXAgb2YgZ3V0dGVycyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIGZvciByZXNwb25zaXZlIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gVGhlIHR5cGUgb2YgZ3V0dGVyIHRvIHVzZS4gQ2FuIGJlIGBtYXJnaW5gIG9yIGBwYWRkaW5nYFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ8U3RyaW5nfSBUaGUgY2VsbCBvZmZzZXQgcHJvcGVydHkgdmFsdWUuXG5AZnVuY3Rpb24geHktY2VsbC1vZmZzZXQoXG4gICRuLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogbnVsbFxuKSB7XG4gICRicmVha3BvaW50OiAtemYtY3VycmVudC1icmVha3BvaW50KCRicmVha3BvaW50LCAkZGVmYXVsdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICAkc2l6ZTogeHktY2VsbC1zaXplKCRuKTtcblxuICAkb2Zmc2V0OiAkc2l6ZTtcbiAgQGlmICgkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcbiAgICAvLyBNYWtlIHN1cmUgdGhhdCAwIGlzIHRyYW5zbGF0ZWQgaW4gMHJlbSBmb3IgY2FsYygpXG4gICAgJGd1dHRlcjogcmVtLWNhbGMoeHktY2VsbC1ndXR0ZXJzKCRndXR0ZXJzLCAkYnJlYWtwb2ludCkpO1xuICAgIEBpZiAkZ3V0dGVyID09IDAge1xuICAgICAgLy8gc2Fzcy1saW50OmRpc2FibGUgemVyby11bml0XG4gICAgICAkZ3V0dGVyOiAwcmVtO1xuICAgIH1cbiAgICAkb2Zmc2V0OiBpZigkZ3V0dGVyID09IDAsICRzaXplLCBjYWxjKCN7JHNpemV9ICsgI3skZ3V0dGVyfSAvIDIpKTtcbiAgfVxuICBAcmV0dXJuICRvZmZzZXQ7XG59XG5cbi8vLyBPZmZzZXRzIGEgY29sdW1uIHRvIHRoZSByaWdodC9ib3R0b20gYnkgYCRuYCBjb2x1bW5zLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJG4gLSBTaXplIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYHh5LWNlbGwoKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIE1hcCBvZiBndXR0ZXJzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSBUaGUgdHlwZSBvZiBndXR0ZXIgdG8gdXNlLiBDYW4gYmUgYG1hcmdpbmAgb3IgYHBhZGRpbmdgXG4vLy8gQHBhcmFtIHtOdW1iZXJ8QXJyYXl8S2V5d29yZH0gJGJyZWFrcG9pbnQgW251bGxdIC0gQnJlYWtwb2ludCB0byB1c2UgZm9yIGAkZ3V0dGVyc2AuIEl0IGNhbiBiZSBhIGJyZWFrcG9pbnQgbmFtZSwgbGlzdCBvZiBicmVha3BvaW50cyBvciBgYXV0b2AgZm9yIGFsbCBicmVha3BvaW50cy4gSWYgYSBsaXN0IGlzIGdpdmVuLCBtZWRpYS1xdWVyaWVzIHdpbGwgYmUgZ2VuZXJhdGVkLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgdGhlIG9mZnNldC4gSWYgc2V0IHRvIHRydWUgd2lsbCBhcHBseSBtYXJnaW4tdG9wIGluc3RlYWQuXG5AbWl4aW4geHktY2VsbC1vZmZzZXQoXG4gICRuLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRicmVha3BvaW50OiAtemYtY3VycmVudC1icmVha3BvaW50KCRicmVha3BvaW50LCAkZGVmYXVsdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwsICd0b3AnLCAkZ2xvYmFsLWxlZnQpO1xuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQtaW4oJGJyZWFrcG9pbnQsICRtZWRpYS1xdWVyaWVzOiAnZm9yLWxpc3RzJykge1xuICAgICRvZmZzZXQ6IHh5LWNlbGwtb2Zmc2V0KCRuLCAkZ3V0dGVycywgJGd1dHRlci10eXBlKTtcbiAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogI3skb2Zmc2V0fTtcbiAgfVxufVxuIiwiLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tdmVuZG9yLXByZWZpeGVzXG5cbi8vLyBNb2RpZmllcyBhIGdyaWQgdG8gZ2l2ZSBpdCBcImZyYW1lXCIgYmVoYXZpb3IgKG5vIG92ZXJmbG93LCBubyB3cmFwLCBzdHJldGNoIGJlaGF2aW9yKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVzdGVkIFtmYWxzZV0gLSBJcyBncmlkIG5lc3RlZCBvciBub3QuIElmIG5lc3RlZCBpcyB0cnVlIHRoaXMgc2V0cyB0aGUgZnJhbWUgdG8gMTAwJSBoZWlnaHQsIG90aGVyd2lzZSB3aWxsIGJlIDEwMHZoLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgW251bGxdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGluY2x1ZGUtYmFzZSBbdHJ1ZV0gLSBJbmNsdWRlIHRoZSBiYXNlIHN0eWxlcyB0aGF0IGRvbid0IHZhcnkgcGVyIGJyZWFrcG9pbnQuXG5AbWl4aW4geHktZ3JpZC1mcmFtZShcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJG5lc3RlZDogZmFsc2UsXG4gICRndXR0ZXJzOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJGluY2x1ZGUtYmFzZTogdHJ1ZVxuKSB7XG5cbiAgQGlmICRpbmNsdWRlLWJhc2Uge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG5cbiAgQGlmICRicmVha3BvaW50ID09IG51bGwgYW5kIHR5cGUtb2YoJGd1dHRlcnMpID09ICdtYXAnIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSgkdmVydGljYWwsICRuZXN0ZWQsICRndXR0ZXJzLCAkLXpmLXNpemUsIGZhbHNlKTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIC8vIEdldCBvdXIgZ3V0dGVycyBpZiBhcHBsaWNhYmxlXG4gICAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcblxuICAgIC8vIElmIHdlIGhhdmUgYSBndXR0ZXIsIGFkZCBpdCB0byB0aGUgd2lkdGgvaGVpZ2h0XG4gICAgQGlmICRndXR0ZXIge1xuICAgICAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICAgICAgJHVuaXQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdmgpO1xuICAgICAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKTtcbiAgICAgICAgLy8gTWFrZSBzdXJlIHRoYXQgMCBpcyB0cmFuc2xhdGVkIGluIDByZW0gZm9yIGNhbGMoKVxuICAgICAgICBAaWYgJGd1dHRlciA9PSAwIHtcbiAgICAgICAgICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZSB6ZXJvLXVuaXRcbiAgICAgICAgICAkZ3V0dGVyOiAwcmVtO1xuICAgICAgICB9XG4gICAgICAgIGhlaWdodDogY2FsYygjeyR1bml0fSArICN7JGd1dHRlcn0pO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICR1bml0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZ3KTtcbiAgICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcik7XG4gICAgICAgIC8vIE1ha2Ugc3VyZSB0aGF0IDAgaXMgdHJhbnNsYXRlZCBpbiAwcmVtIGZvciBjYWxjKClcbiAgICAgICAgQGlmICRndXR0ZXIgPT0gMCB7XG4gICAgICAgICAgLy8gc2Fzcy1saW50OmRpc2FibGUgemVyby11bml0XG4gICAgICAgICAgJGd1dHRlcjogMHJlbTtcbiAgICAgICAgfVxuICAgICAgICB3aWR0aDogY2FsYygjeyR1bml0fSArICN7JGd1dHRlcn0pO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgICAgICBoZWlnaHQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdmgpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIHdpZHRoOiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZ3KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIE1vZGlmaWVzIGEgY2VsbCB0byBnaXZlIGl0IFwiYmxvY2tcIiBiZWhhdmlvciAob3ZlcmZsb3cgYXV0bywgaW5lcnRpYWwgc2Nyb2xsaW5nKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXG5AbWl4aW4geHktY2VsbC1ibG9jayhcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRwcm9wZXJ0eTogaWYoJHZlcnRpY2FsID09IHRydWUsICdvdmVyZmxvdy15JywgJ292ZXJmbG93LXgnKTtcblxuICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICB9IEBlbHNlIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG59XG5cbi8vLyBDb250YWluZXIgZm9yIGluc2lkZSBhIGdyaWQgZnJhbWUgY29udGFpbmluZyBtdWx0aXBsZSBibG9ja3MuIFR5cGljYWxseSB1c2VkXG4vLy8gYXMgYSBtb2RpZmllciBmb3IgYSBgLmNlbGxgIHRvIGFsbG93IHRoZSBjZWxsIHRvIHBhc3MgYWxvbmcgZmxleCBzaXppbmdcbi8vLyBjb25zdHJhaW50cyAvIGZyb20gcGFyZW50cyB0byBjaGlsZHJlbi5cbkBtaXhpbiB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTtcblxuICA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbn1cbiIsIkBrZXlmcmFtZXMgcHVsc2VEb3duIHtcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gICAgNTAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbn1cblxuQGtleWZyYW1lcyBwdWxzZUxlZnQge1xuICAgIDAlICAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgICA1MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbn1cblxuQGtleWZyYW1lcyBwdWxzZVJpZ2h0IHtcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gICAgNTAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbn1cblxuQGtleWZyYW1lcyBmbG9hdCB7XG4gIDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgcm90YXRlKDBkZWcpOyB9XG4gIDUwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTVweCkgcm90YXRlKDFkZWcpOyB9XG4gIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSByb3RhdGUoMGRlZyk7IH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZVJpZ2h0IHtcbiAgICBmcm9tIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKHZhcigtLW9mZnNldCwgMGVtKSk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGxldHRlci1yZXZlYWwge1xuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn0iLCIvLyBTaXplIGNsYXNzZXMgKGRlcHJlY2F0ZWQgLSB1c2UgYW55IHZhbHVlIG1peGlucylcbkBtaXhpbiBzaXplLWNsYXNzZXMoJHR5cGU6ICdtYXgtd2lkdGgnLCAkc2l6ZXM6ICRtYXgtd2lkdGgtY2xhc3NlcywgJGltcG9ydGFudDogZmFsc2UsICRwcmVmaXg6ICcnKSB7XG4gICAgJGZsYWc6ICcnO1xuICAgIEBpZiAoJGltcG9ydGFudCkge1xuICAgICAgICAkZmxhZzogJyAhaW1wb3J0YW50JztcbiAgICB9XG5cbiAgICBAZWFjaCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAkdW5pdC1zdWZmaXg6ICcnO1xuXG4gICAgICAgIEBpZiAodW5pdCgkc2l6ZSkgIT0gJ3B4Jykge1xuICAgICAgICAgICAgQGlmICh1bml0KCRzaXplKSA9PSAnJScpIHtcbiAgICAgICAgICAgICAgICAkdW5pdC1zdWZmaXg6ICctJyArICdwY3QnO1xuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgJHVuaXQtc3VmZml4OiAnLScgKyB1bml0KCRzaXplKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLiN7JHByZWZpeH0jeyR0eXBlfS0je3N0cmlwLXVuaXQoJHNpemUpfSN7JHVuaXQtc3VmZml4fSB7XG4gICAgICAgICAgICAjeyR0eXBlfTogI3skc2l6ZX0jeyRmbGFnfTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gU2l6ZSByZXNwb25zaXZlIGNsYXNzZXMgKGRlcHJlY2F0ZWQgLSB1c2UgYW55IHZhbHVlIG1peGlucylcbkBtaXhpbiBzaXplLXJlc3BvbnNpdmUtY2xhc3NlcygkdHlwZTogJ21heC13aWR0aCcsICRzaXplczogJG1heC13aWR0aC1jbGFzc2VzLCAkaW1wb3J0YW50OiBmYWxzZSwgJGJyZWFrcG9pbnQtY2xhc3NlczogJGJyZWFrcG9pbnQtY2xhc3Nlcykge1xuICAgICRsZW5ndGg6IGxlbmd0aCgkYnJlYWtwb2ludC1jbGFzc2VzKTtcblxuICAgIEBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgICAgJGk6IGluZGV4KCRicmVha3BvaW50LWNsYXNzZXMsICRicCk7XG5cbiAgICAgICAgQGlmICgkaSAhPSAxKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicCkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNpemUtY2xhc3NlcygkdHlwZTogJHR5cGUsICRzaXplczogJHNpemVzLCAkaW1wb3J0YW50OiAkaW1wb3J0YW50LCAkcHJlZml4OiAkYnAgKyAnLScpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGlmICgkaSAhPSAkbGVuZ3RoKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc2l6ZS1jbGFzc2VzKCR0eXBlOiAkdHlwZSwgJHNpemVzOiAkc2l6ZXMsICRpbXBvcnRhbnQ6ICRpbXBvcnRhbnQsICRwcmVmaXg6ICRicCArICctb25seS0nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gQW55IHByb3BlcnR5IGNsYXNzZXNcbkBtaXhpbiBhbnktdmFsdWUtY2xhc3NlcygkdHlwZTogJ2ZvbnQtd2VpZ2h0JywgJGNsYXNzOiAnJywgJHZhbHVlczogJGZvbnQtd2VpZ2h0LWNsYXNzZXMsICRpbXBvcnRhbnQ6IGZhbHNlLCAka2V5czogZmFsc2UsICRzdWItc2VsZWN0b3I6IGZhbHNlLCAkcHJlZml4OiAnJykge1xuICAgICRmbGFnOiAnJztcbiAgICBAaWYgKCRpbXBvcnRhbnQpIHtcbiAgICAgICAgJGZsYWc6ICcgIWltcG9ydGFudCc7XG4gICAgfVxuXG4gICAgQGlmICgkY2xhc3MgPT0gJycpIHtcbiAgICAgICAgJGNsYXNzOiAkdHlwZTtcbiAgICB9XG5cbiAgICBAaWYgJGtleXMge1xuICAgICAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgICAgICAgICAuI3skcHJlZml4fSN7JGNsYXNzfS0jeyRrZXl9IHtcbiAgICAgICAgICAgICAgICAjeyR0eXBlfTogI3skdmFsdWV9I3skZmxhZ307XG5cbiAgICAgICAgICAgICAgICBAaWYgJHN1Yi1zZWxlY3RvciB7XG4gICAgICAgICAgICAgICAgICAgICN7JHN1Yi1zZWxlY3Rvcn0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgI3skdHlwZX06ICN7JHZhbHVlfSN7JGZsYWd9O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICAgICAgICAgIC4jeyRwcmVmaXh9I3skY2xhc3N9LSN7JHZhbHVlfSB7XG4gICAgICAgICAgICAgICAgI3skdHlwZX06ICN7JHZhbHVlfSN7JGZsYWd9O1xuXG4gICAgICAgICAgICAgICAgQGlmICRzdWItc2VsZWN0b3Ige1xuICAgICAgICAgICAgICAgICAgICAjeyRzdWItc2VsZWN0b3J9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICN7JHR5cGV9OiAjeyR2YWx1ZX0jeyRmbGFnfTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4vLyBBbnkgcHJvcGVydHkgcmVzcG9uc2l2ZSBjbGFzc2VzXG5AbWl4aW4gYW55LXZhbHVlLXJlc3BvbnNpdmUtY2xhc3NlcygkdHlwZTogJ2ZvbnQtd2VpZ2h0JywgJGNsYXNzOiAnJywgJHZhbHVlczogJGZvbnQtd2VpZ2h0LWNsYXNzZXMsICRpbXBvcnRhbnQ6IGZhbHNlLCAka2V5czogZmFsc2UsICRzdWItc2VsZWN0b3I6IGZhbHNlLCAkYnJlYWtwb2ludC1jbGFzc2VzOiAkYnJlYWtwb2ludC1jbGFzc2VzKSB7XG4gICAgJGxlbmd0aDogbGVuZ3RoKCRicmVha3BvaW50LWNsYXNzZXMpO1xuXG4gICAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgICAkaTogaW5kZXgoJGJyZWFrcG9pbnQtY2xhc3NlcywgJGJwKTtcblxuICAgICAgICBAaWYgKCRpICE9IDEpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYW55LXZhbHVlLWNsYXNzZXMoJHR5cGU6ICR0eXBlLCAkY2xhc3M6ICRjbGFzcywgJHZhbHVlczogJHZhbHVlcywgJGltcG9ydGFudDogJGltcG9ydGFudCwgJGtleXM6ICRrZXlzLCAkc3ViLXNlbGVjdG9yOiAkc3ViLXNlbGVjdG9yLCAkcHJlZml4OiAkYnAgKyAnLScpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGlmICgkaSAhPSAkbGVuZ3RoKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYW55LXZhbHVlLWNsYXNzZXMoJHR5cGU6ICR0eXBlLCAkY2xhc3M6ICRjbGFzcywgJHZhbHVlczogJHZhbHVlcywgJGltcG9ydGFudDogJGltcG9ydGFudCwgJGtleXM6ICRrZXlzLCAkc3ViLXNlbGVjdG9yOiAkc3ViLXNlbGVjdG9yLCAkcHJlZml4OiAkYnAgKyAnLW9ubHktJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIE1hcmdpbiBwb3NpdGlvbmluZyBjbGFzc2VzXG5AbWl4aW4gbWFyZ2luLXBvc2l0aW9uaW5nLWNsYXNzZXMoJGltcG9ydGFudDogZmFsc2UsICRwcmVmaXg6ICcnKSB7XG4gICAgJGZsYWc6ICcnO1xuICAgIEBpZiAoJGltcG9ydGFudCkge1xuICAgICAgICAkZmxhZzogJyAhaW1wb3J0YW50JztcbiAgICB9XG5cbiAgICAuI3skcHJlZml4fW1hcmdpbi10by1sZWZ0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAjeyRmbGFnfTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvI3skZmxhZ307XG4gICAgfVxuXG4gICAgLiN7JHByZWZpeH1tYXJnaW4tdG8tcmlnaHQge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0byN7JGZsYWd9O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAjeyRmbGFnfTtcbiAgICB9XG5cbiAgICAuI3skcHJlZml4fW1hcmdpbi10by1jZW50ZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0byN7JGZsYWd9O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG8jeyRmbGFnfTtcbiAgICB9XG59XG5cbi8vIE1hcmdpbiBwb3NpdGlvbmluZyByZXNwb25zaXZlIGNsYXNzZXNcbkBtaXhpbiBtYXJnaW4tcG9zaXRpb25pbmctcmVzcG9uc2l2ZS1jbGFzc2VzKCRpbXBvcnRhbnQ6IGZhbHNlLCAkYnJlYWtwb2ludC1jbGFzc2VzOiAkYnJlYWtwb2ludC1jbGFzc2VzKSB7XG4gICAgJGxlbmd0aDogbGVuZ3RoKCRicmVha3BvaW50LWNsYXNzZXMpO1xuXG4gICAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgICAkaTogaW5kZXgoJGJyZWFrcG9pbnQtY2xhc3NlcywgJGJwKTtcblxuICAgICAgICBAaWYgKCRpICE9IDEpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWFyZ2luLXBvc2l0aW9uaW5nLWNsYXNzZXMoJGltcG9ydGFudDogJGltcG9ydGFudCwgJHByZWZpeDogJGJwICsgJy0nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoJGkgIT0gJGxlbmd0aCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAgb25seSkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1hcmdpbi1wb3NpdGlvbmluZy1jbGFzc2VzKCRpbXBvcnRhbnQ6ICRpbXBvcnRhbnQsICRwcmVmaXg6ICRicCArICctb25seS0nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gU3BhY2luZyBjbGFzc2VzXG5AbWl4aW4gYWRkLXNwYWNpbmctY2xhc3NlcygkdHlwZTogJ21hcmdpbicsICRpbXBvcnRhbnQ6IGZhbHNlLCAkcHJlZml4OiAnJywgJHN1ZmZpeDogJycsICRzcGFjaW5nLWNsYXNzZXM6ICRzcGFjaW5nLWNsYXNzZXMpIHtcbiAgICAkZmxhZzogJyc7XG4gICAgQGlmICgkaW1wb3J0YW50KSB7XG4gICAgICAgICRmbGFnOiAnICFpbXBvcnRhbnQnO1xuICAgIH1cblxuICAgIEBlYWNoICRrZXksICRzcGFjaW5nIGluICRzcGFjaW5nLWNsYXNzZXMge1xuICAgICAgICAuI3skcHJlZml4fSN7JHR5cGV9LSN7JGtleX0jeyRzdWZmaXh9IHtcbiAgICAgICAgICAgICN7JHR5cGV9OiAjeyRzcGFjaW5nfSN7JGZsYWd9O1xuICAgICAgICB9XG5cbiAgICAgICAgLiN7JHByZWZpeH0jeyR0eXBlfS0jeyRrZXl9LXZlcnRpY2FsI3skc3VmZml4fSB7XG4gICAgICAgICAgICAjeyR0eXBlfS10b3A6ICN7JHNwYWNpbmd9I3skZmxhZ307XG4gICAgICAgICAgICAjeyR0eXBlfS1ib3R0b206ICN7JHNwYWNpbmd9I3skZmxhZ307XG4gICAgICAgIH1cblxuICAgICAgICAuI3skcHJlZml4fSN7JHR5cGV9LSN7JGtleX0taG9yaXpvbnRhbCN7JHN1ZmZpeH0ge1xuICAgICAgICAgICAgI3skdHlwZX0tbGVmdDogI3skc3BhY2luZ30jeyRmbGFnfTtcbiAgICAgICAgICAgICN7JHR5cGV9LXJpZ2h0OiAjeyRzcGFjaW5nfSN7JGZsYWd9O1xuICAgICAgICB9XG5cbiAgICAgICAgLiN7JHByZWZpeH0jeyR0eXBlfS0jeyRrZXl9LWxlZnQjeyRzdWZmaXh9IHtcbiAgICAgICAgICAgICN7JHR5cGV9LWxlZnQ6ICN7JHNwYWNpbmd9I3skZmxhZ307XG4gICAgICAgIH1cblxuICAgICAgICAuI3skcHJlZml4fSN7JHR5cGV9LSN7JGtleX0tcmlnaHQjeyRzdWZmaXh9IHtcbiAgICAgICAgICAgICN7JHR5cGV9LXJpZ2h0OiAjeyRzcGFjaW5nfSN7JGZsYWd9O1xuICAgICAgICB9XG5cbiAgICAgICAgLiN7JHByZWZpeH0jeyR0eXBlfS0jeyRrZXl9LXRvcCN7JHN1ZmZpeH0ge1xuICAgICAgICAgICAgI3skdHlwZX0tdG9wOiAjeyRzcGFjaW5nfSN7JGZsYWd9O1xuICAgICAgICB9XG5cbiAgICAgICAgLiN7JHByZWZpeH0jeyR0eXBlfS0jeyRrZXl9LWJvdHRvbSN7JHN1ZmZpeH0ge1xuICAgICAgICAgICAgI3skdHlwZX0tYm90dG9tOiAjeyRzcGFjaW5nfSN7JGZsYWd9O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBBZGQgc3BhY2luZyByZXNwb25zaXZlIGNsYXNzZXNcbkBtaXhpbiBhZGQtc3BhY2luZy1yZXNwb25zaXZlLWNsYXNzZXMoJHR5cGU6ICdtYXJnaW4nLCAkaW1wb3J0YW50OiBmYWxzZSwgJHN1ZmZpeDogJycsICRzcGFjaW5nLWNsYXNzZXM6ICRzcGFjaW5nLWNsYXNzZXMsICRicmVha3BvaW50LWNsYXNzZXM6ICRicmVha3BvaW50LWNsYXNzZXMpIHtcbiAgICAkbGVuZ3RoOiBsZW5ndGgoJGJyZWFrcG9pbnQtY2xhc3Nlcyk7XG5cbiAgICBAZWFjaCAkYnAgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICAgICRpOiBpbmRleCgkYnJlYWtwb2ludC1jbGFzc2VzLCAkYnApO1xuXG4gICAgICAgIEBpZiAoJGkgIT0gMSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnApIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBhZGQtc3BhY2luZy1jbGFzc2VzKCR0eXBlOiAkdHlwZSwgJGltcG9ydGFudDogJGltcG9ydGFudCwgJHByZWZpeDogJGJwICsgJy0nLCAkc3VmZml4OiAkc3VmZml4LCAkc3BhY2luZy1jbGFzc2VzOiAkc3BhY2luZy1jbGFzc2VzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoJGkgIT0gJGxlbmd0aCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAgb25seSkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFkZC1zcGFjaW5nLWNsYXNzZXMoJHR5cGU6ICR0eXBlLCAkaW1wb3J0YW50OiAkaW1wb3J0YW50LCAkcHJlZml4OiAkYnAgKyAnLW9ubHktJywgJHN1ZmZpeDogJHN1ZmZpeCwgJHNwYWNpbmctY2xhc3NlczogJHNwYWNpbmctY2xhc3Nlcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIFJlbW92ZSBzcGFjaW5nIGNsYXNzZXNcbkBtaXhpbiByZW1vdmUtc3BhY2luZy1jbGFzc2VzKCR0eXBlOiAnbWFyZ2luJywgJHByZWZpeDogJycpIHtcbiAgICAuI3skcHJlZml4fW5vLSN7JHR5cGV9IHtcbiAgICAgICAgI3skdHlwZX06IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuI3skcHJlZml4fW5vLSN7JHR5cGV9LXZlcnRpY2FsIHtcbiAgICAgICAgI3skdHlwZX0tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICN7JHR5cGV9LWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC4jeyRwcmVmaXh9bm8tI3skdHlwZX0taG9yaXpvbnRhbCB7XG4gICAgICAgICN7JHR5cGV9LWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgI3skdHlwZX0tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuI3skcHJlZml4fW5vLSN7JHR5cGV9LWxlZnQge1xuICAgICAgICAjeyR0eXBlfS1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLiN7JHByZWZpeH1uby0jeyR0eXBlfS1yaWdodCB7XG4gICAgICAgICN7JHR5cGV9LXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLiN7JHByZWZpeH1uby0jeyR0eXBlfS10b3Age1xuICAgICAgICAjeyR0eXBlfS10b3A6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuI3skcHJlZml4fW5vLSN7JHR5cGV9LWJvdHRvbSB7XG4gICAgICAgICN7JHR5cGV9LWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLy8gUmVtb3ZlIHNwYWNpbmcgcmVzcG9uc2l2ZSBjbGFzc2VzXG5AbWl4aW4gcmVtb3ZlLXNwYWNpbmctcmVzcG9uc2l2ZS1jbGFzc2VzKCR0eXBlOiAnbWFyZ2luJywgJHByZWZpeDogJycsICRicmVha3BvaW50LWNsYXNzZXM6ICRicmVha3BvaW50LWNsYXNzZXMpIHtcbiAgICAkbGVuZ3RoOiBsZW5ndGgoJGJyZWFrcG9pbnQtY2xhc3Nlcyk7XG5cbiAgICBAZWFjaCAkYnAgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICAgICRpOiBpbmRleCgkYnJlYWtwb2ludC1jbGFzc2VzLCAkYnApO1xuXG4gICAgICAgIEBpZiAoJGkgIT0gMSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnApIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByZW1vdmUtc3BhY2luZy1jbGFzc2VzKCR0eXBlOiAkdHlwZSwgJHByZWZpeDogJHByZWZpeCArICRicCArICctJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKCRpICE9ICRsZW5ndGgpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByZW1vdmUtc3BhY2luZy1jbGFzc2VzKCR0eXBlOiAkdHlwZSwgJHByZWZpeDogJHByZWZpeCArICRicCArICctb25seS0nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIvL1xuLy8gVVJXIEdlb21ldHJpY1xuLy9cblxuXG4vLyByZWd1bGFyXG4vLyBAZm9udC1mYWNlIHtcbi8vICAgICBmb250LWZhbWlseTogJ1VSVyBHZW9tZXRyaWMnO1xuLy8gICAgIHNyYzogXG4vLyAgICAgICAgIHVybCgkYXNzZXRzLXBhdGggKyAnZm9udHMvVVJXR2VvbWV0cmljL1VSV0dlb21ldHJpYy1UaGluLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuLy8gICAgICAgICB1cmwoJGFzc2V0cy1wYXRoICsgJ2ZvbnRzL1VSV0dlb21ldHJpYy9VUldHZW9tZXRyaWMtVGhpbi53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4vLyAgICAgZm9udC13ZWlnaHQ6IDEwMDtcbi8vICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4vLyB9XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnVVJXIEdlb21ldHJpYyc7XG4gICAgc3JjOiBcbiAgICAgICAgdXJsKCRhc3NldHMtcGF0aCArICdmb250cy9VUldHZW9tZXRyaWMvVVJXR2VvbWV0cmljLUV4dHJhTGlnaHQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgIHVybCgkYXNzZXRzLXBhdGggKyAnZm9udHMvVVJXR2VvbWV0cmljL1VSV0dlb21ldHJpYy1FeHRyYUxpZ2h0LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogMjAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdVUlcgR2VvbWV0cmljJztcbiAgICBzcmM6IFxuICAgICAgICB1cmwoJGFzc2V0cy1wYXRoICsgJ2ZvbnRzL1VSV0dlb21ldHJpYy9VUldHZW9tZXRyaWMtTGlnaHQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgIHVybCgkYXNzZXRzLXBhdGggKyAnZm9udHMvVVJXR2VvbWV0cmljL1VSV0dlb21ldHJpYy1MaWdodC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnVVJXIEdlb21ldHJpYyc7XG4gICAgc3JjOiBcbiAgICAgICAgdXJsKCRhc3NldHMtcGF0aCArICdmb250cy9VUldHZW9tZXRyaWMvVVJXR2VvbWV0cmljLVJlZ3VsYXIud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgIHVybCgkYXNzZXRzLXBhdGggKyAnZm9udHMvVVJXR2VvbWV0cmljL1VSV0dlb21ldHJpYy1SZWd1bGFyLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdVUlcgR2VvbWV0cmljJztcbiAgICBzcmM6IFxuICAgICAgICB1cmwoJGFzc2V0cy1wYXRoICsgJ2ZvbnRzL1VSV0dlb21ldHJpYy9VUldHZW9tZXRyaWMtTWVkaXVtLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICB1cmwoJGFzc2V0cy1wYXRoICsgJ2ZvbnRzL1VSV0dlb21ldHJpYy9VUldHZW9tZXRyaWMtTWVkaXVtLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdVUlcgR2VvbWV0cmljJztcbiAgICBzcmM6IFxuICAgICAgICB1cmwoJGFzc2V0cy1wYXRoICsgJ2ZvbnRzL1VSV0dlb21ldHJpYy9VUldHZW9tZXRyaWMtU2VtaUJvbGQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgIHVybCgkYXNzZXRzLXBhdGggKyAnZm9udHMvVVJXR2VvbWV0cmljL1VSV0dlb21ldHJpYy1TZW1pQm9sZC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnVVJXIEdlb21ldHJpYyc7XG4gICAgc3JjOiBcbiAgICAgICAgdXJsKCRhc3NldHMtcGF0aCArICdmb250cy9VUldHZW9tZXRyaWMvVVJXR2VvbWV0cmljLUJvbGQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgIHVybCgkYXNzZXRzLXBhdGggKyAnZm9udHMvVVJXR2VvbWV0cmljL1VSV0dlb21ldHJpYy1Cb2xkLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdVUlcgR2VvbWV0cmljJztcbiAgICBzcmM6IFxuICAgICAgICB1cmwoJGFzc2V0cy1wYXRoICsgJ2ZvbnRzL1VSV0dlb21ldHJpYy9VUldHZW9tZXRyaWMtRXh0cmFCb2xkLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICB1cmwoJGFzc2V0cy1wYXRoICsgJ2ZvbnRzL1VSV0dlb21ldHJpYy9VUldHZW9tZXRyaWMtRXh0cmFCb2xkLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogODAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdVUlcgR2VvbWV0cmljJztcbiAgICBzcmM6IFxuICAgICAgICB1cmwoJGFzc2V0cy1wYXRoICsgJ2ZvbnRzL1VSV0dlb21ldHJpYy9VUldHZW9tZXRyaWMtQmxhY2sud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgIHVybCgkYXNzZXRzLXBhdGggKyAnZm9udHMvVVJXR2VvbWV0cmljL1VSV0dlb21ldHJpYy1CbGFjay53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbi8vIGl0YWxpY1xuLy8gQGZvbnQtZmFjZSB7XG4vLyAgICAgZm9udC1mYW1pbHk6ICdVUlcgR2VvbWV0cmljJztcbi8vICAgICBzcmM6IHVybCgkYXNzZXRzLXBhdGggKyAnZm9udHMvVVJXR2VvbWV0cmljL1VSV0dlb21ldHJpYy1UaGluSXRhbGljLndvZmYyJylcbi8vICAgICAgICAgZm9ybWF0KCd3b2ZmMicpLFxuLy8gICAgICAgdXJsKCRhc3NldHMtcGF0aCArICdmb250cy9VUldHZW9tZXRyaWMvVVJXR2VvbWV0cmljLVRoaW5JdGFsaWMud29mZicpXG4vLyAgICAgICAgIGZvcm1hdCgnd29mZicpO1xuLy8gICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4vLyAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuLy8gfVxuICBcbi8vIEBmb250LWZhY2Uge1xuLy8gICAgIGZvbnQtZmFtaWx5OiAnVVJXIEdlb21ldHJpYyc7XG4vLyAgICAgc3JjOiB1cmwoJGFzc2V0cy1wYXRoICsgJ2ZvbnRzL1VSV0dlb21ldHJpYy9VUldHZW9tZXRyaWMtRXh0cmFMaWdodEl0YWxpYy53b2ZmMicpXG4vLyAgICAgICAgIGZvcm1hdCgnd29mZjInKSxcbi8vICAgICAgIHVybCgkYXNzZXRzLXBhdGggKyAnZm9udHMvVVJXR2VvbWV0cmljL1VSV0dlb21ldHJpYy1FeHRyYUxpZ2h0SXRhbGljLndvZmYnKVxuLy8gICAgICAgICBmb3JtYXQoJ3dvZmYnKTtcbi8vICAgICBmb250LXdlaWdodDogMjAwO1xuLy8gICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbi8vIH1cbiAgXG4vLyBAZm9udC1mYWNlIHtcbi8vICAgICBmb250LWZhbWlseTogJ1VSVyBHZW9tZXRyaWMnO1xuLy8gICAgIHNyYzogdXJsKCRhc3NldHMtcGF0aCArICdmb250cy9VUldHZW9tZXRyaWMvVVJXR2VvbWV0cmljLUxpZ2h0SXRhbGljLndvZmYyJylcbi8vICAgICAgICAgZm9ybWF0KCd3b2ZmMicpLFxuLy8gICAgICAgdXJsKCRhc3NldHMtcGF0aCArICdmb250cy9VUldHZW9tZXRyaWMvVVJXR2VvbWV0cmljLUxpZ2h0SXRhbGljLndvZmYnKVxuLy8gICAgICAgICBmb3JtYXQoJ3dvZmYnKTtcbi8vICAgICBmb250LXdlaWdodDogMzAwO1xuLy8gICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbi8vIH1cbiAgXG4vLyBAZm9udC1mYWNlIHtcbi8vICAgICBmb250LWZhbWlseTogJ1VSVyBHZW9tZXRyaWMnO1xuLy8gICAgIHNyYzogdXJsKCRhc3NldHMtcGF0aCArICdmb250cy9VUldHZW9tZXRyaWMvVVJXR2VvbWV0cmljLVJlZ3VsYXJJdGFsaWMud29mZjInKVxuLy8gICAgICAgICBmb3JtYXQoJ3dvZmYyJyksXG4vLyAgICAgICB1cmwoJGFzc2V0cy1wYXRoICsgJ2ZvbnRzL1VSV0dlb21ldHJpYy9VUldHZW9tZXRyaWMtUmVndWxhckl0YWxpYy53b2ZmJylcbi8vICAgICAgICAgZm9ybWF0KCd3b2ZmJyk7XG4vLyAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbi8vICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4vLyB9XG4gIFxuLy8gQGZvbnQtZmFjZSB7XG4vLyAgICAgZm9udC1mYW1pbHk6ICdVUlcgR2VvbWV0cmljJztcbi8vICAgICBzcmM6IHVybCgkYXNzZXRzLXBhdGggKyAnZm9udHMvVVJXR2VvbWV0cmljL1VSV0dlb21ldHJpYy1NZWRpdW1JdGFsaWMud29mZjInKVxuLy8gICAgICAgICBmb3JtYXQoJ3dvZmYyJyksXG4vLyAgICAgICB1cmwoJGFzc2V0cy1wYXRoICsgJ2ZvbnRzL1VSV0dlb21ldHJpYy9VUldHZW9tZXRyaWMtTWVkaXVtSXRhbGljLndvZmYnKVxuLy8gICAgICAgICBmb3JtYXQoJ3dvZmYnKTtcbi8vICAgICBmb250LXdlaWdodDogNTAwO1xuLy8gICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbi8vIH1cbiAgXG4vLyBAZm9udC1mYWNlIHtcbi8vICAgICBmb250LWZhbWlseTogJ1VSVyBHZW9tZXRyaWMnO1xuLy8gICAgIHNyYzogdXJsKCRhc3NldHMtcGF0aCArICdmb250cy9VUldHZW9tZXRyaWMvVVJXR2VvbWV0cmljLVNlbWlCb2xkSXRhbGljLndvZmYyJylcbi8vICAgICAgICAgZm9ybWF0KCd3b2ZmMicpLFxuLy8gICAgICAgdXJsKCRhc3NldHMtcGF0aCArICdmb250cy9VUldHZW9tZXRyaWMvVVJXR2VvbWV0cmljLVNlbWlCb2xkSXRhbGljLndvZmYnKVxuLy8gICAgICAgICBmb3JtYXQoJ3dvZmYnKTtcbi8vICAgICBmb250LXdlaWdodDogNjAwO1xuLy8gICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbi8vIH1cbiAgXG4vLyBAZm9udC1mYWNlIHtcbi8vICAgICBmb250LWZhbWlseTogJ1VSVyBHZW9tZXRyaWMnO1xuLy8gICAgIHNyYzogdXJsKCRhc3NldHMtcGF0aCArICdmb250cy9VUldHZW9tZXRyaWMvVVJXR2VvbWV0cmljLUJvbGRJdGFsaWMud29mZjInKVxuLy8gICAgICAgICBmb3JtYXQoJ3dvZmYyJyksXG4vLyAgICAgICB1cmwoJGFzc2V0cy1wYXRoICsgJ2ZvbnRzL1VSV0dlb21ldHJpYy9VUldHZW9tZXRyaWMtQm9sZEl0YWxpYy53b2ZmJylcbi8vICAgICAgICAgZm9ybWF0KCd3b2ZmJyk7XG4vLyAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbi8vICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4vLyB9XG4gIFxuLy8gQGZvbnQtZmFjZSB7XG4vLyAgICAgZm9udC1mYW1pbHk6ICdVUlcgR2VvbWV0cmljJztcbi8vICAgICBzcmM6IHVybCgkYXNzZXRzLXBhdGggKyAnZm9udHMvVVJXR2VvbWV0cmljL1VSV0dlb21ldHJpYy1FeHRyYUJvbGRJdGFsaWMud29mZjInKVxuLy8gICAgICAgICBmb3JtYXQoJ3dvZmYyJyksXG4vLyAgICAgICB1cmwoJGFzc2V0cy1wYXRoICsgJ2ZvbnRzL1VSV0dlb21ldHJpYy9VUldHZW9tZXRyaWMtRXh0cmFCb2xkSXRhbGljLndvZmYnKVxuLy8gICAgICAgICBmb3JtYXQoJ3dvZmYnKTtcbi8vICAgICBmb250LXdlaWdodDogODAwO1xuLy8gICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbi8vIH1cbiAgXG4vLyBAZm9udC1mYWNlIHtcbi8vICAgICBmb250LWZhbWlseTogJ1VSVyBHZW9tZXRyaWMnO1xuLy8gICAgIHNyYzogdXJsKCRhc3NldHMtcGF0aCArICdmb250cy9VUldHZW9tZXRyaWMvVVJXR2VvbWV0cmljLUJsYWNrSXRhbGljLndvZmYyJylcbi8vICAgICAgICAgZm9ybWF0KCd3b2ZmMicpLFxuLy8gICAgICAgdXJsKCRhc3NldHMtcGF0aCArICdmb250cy9VUldHZW9tZXRyaWMvVVJXR2VvbWV0cmljLUJsYWNrSXRhbGljLndvZmYnKVxuLy8gICAgICAgICBmb3JtYXQoJ3dvZmYnKTtcbi8vICAgICBmb250LXdlaWdodDogOTAwO1xuLy8gICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbi8vIH1cbiAgIiwiLy8gQ29udGFpbmVyIGN1c3RvbWl6YXRpb25zXG4uZ3JpZC1jb250YWluZXIge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAvLyBXaWRlIGNvbnRhaW5lclxuICAgICYud2lkZSB7XG4gICAgICAgIG1heC13aWR0aDogJHdpZGUtd2lkdGggIWltcG9ydGFudDtcbiAgICB9XG5cbn1cblxuLy8gQWRkaXRpb25hbCBndXR0ZXJzXG4vLyBQcmVzZXJ2ZSBvcmlnaW5hbCBndXR0ZXJzXG4kb3JpZ2luYWwtZ3JpZC1tYXJnaW4tZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnM7XG4kb3JpZ2luYWwtZ3JpZC1wYWRkaW5nLWd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycztcblxuLy8gTGFyZ2UgZ3V0dGVyc1xuJGdyaWQtbWFyZ2luLWd1dHRlcnM6ICRjdXN0b20tZ3V0dGVycy1sYXJnZTtcbiRncmlkLXBhZGRpbmctZ3V0dGVyczogJGN1c3RvbS1ndXR0ZXJzLWxhcmdlO1xuQGluY2x1ZGUgY3VzdG9tLXBhZGRpbmctZ3V0dGVycygnbGFyZ2UnKTtcblxuLy8gUmVzZXQgZ3V0dGVyc1xuJGdyaWQtbWFyZ2luLWd1dHRlcnM6ICRvcmlnaW5hbC1ncmlkLW1hcmdpbi1ndXR0ZXJzO1xuJGdyaWQtcGFkZGluZy1ndXR0ZXJzOiAkb3JpZ2luYWwtZ3JpZC1wYWRkaW5nLWd1dHRlcnM7XG5cblxuLy8gQ3VzdG9tIGdyaWQgdmVydGljYWwgc3BhY2luZ3Ncbi8vIChkbyBub3QgdXNlIGJvdGggc2lkZXMgZm9yIGxhcmdlIHNwYWNpbmdzIGJlY291c2Ugb3ZlcmxheS96LWluZGV4IHByb2JsZW0sIGl0IG9ubHkgYWZmZWN0cyBlbGVtZW50cyBiZWZvcmUpXG4vLyBQb3N0c1xuLmdyaWQtcGFkZGluZy15LXBvc3RzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMzBweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTEwMHB4O1xuICAgIH1cbn1cblxuLmdyaWQtcGFkZGluZy15LXBvc3RzIHtcbiAgICAmID4gLmNlbGwge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLy9cclxuLy8gUHVsbCBjbGFzc2VzXHJcbi8vXHJcbi8vICRwdWxsLXNwYWNpbmctY2xhc3NlczogKFxyXG4vLyAgICAgY29udGFpbmVyOiAoIC8vIG5vcm1hbCBhbmQgd2lkZSBncmlkIHB1bGxcclxuLy8gICAgICAgICBzbWFsbDogLSN7bWFwLWdldCgkZ3JpZC1jb250YWluZXItcGFkZGluZywgc21hbGwpIC8gMn0sXHJcbi8vICAgICAgICAgbGFyZ2U6IC0je21hcC1nZXQoJGdyaWQtY29udGFpbmVyLXBhZGRpbmcsIGxhcmdlKSAvIDJ9XHJcbi8vICAgICApLFxyXG4vLyAgICAgd2lkZXI6ICggLy8gd2lkZXIgcHVsbFxyXG4vLyAgICAgICAgIHNtYWxsOiAtI3ttYXAtZ2V0KCRncmlkLXdpZGVyLXBhZGRpbmcsIHNtYWxsKSAvIDJ9LFxyXG4vLyAgICAgICAgIGxhcmdlOiAtI3ttYXAtZ2V0KCRncmlkLXdpZGVyLXBhZGRpbmcsIGxhcmdlKSAvIDJ9XHJcbi8vICAgICApLFxyXG4vLyApO1xyXG5cclxuLy8gLy8gUHVsbCBjbGFzc2VzXHJcbi8vIEBtaXhpbiBwdWxsLWNsYXNzZXMoJGltcG9ydGFudDogZmFsc2UsICRwcmVmaXg6ICcnLCAkc3VmZml4OiAnJywgJHNwYWNpbmctY2xhc3NlczogJHB1bGwtc3BhY2luZy1jbGFzc2VzKSB7XHJcbi8vICAgICAkZmxhZzogJyc7XHJcbi8vICAgICBAaWYgKCRpbXBvcnRhbnQpIHtcclxuLy8gICAgICAgICAkZmxhZzogJyAhaW1wb3J0YW50JztcclxuLy8gICAgIH1cclxuXHJcbi8vICAgICBAZWFjaCAka2V5LCAkc3BhY2luZyBpbiAkc3BhY2luZy1jbGFzc2VzIHtcclxuLy8gICAgICAgICAuI3skcHJlZml4fXB1bGwtI3ska2V5fSN7JHN1ZmZpeH0ge1xyXG4vLyAgICAgICAgICAgICBtYXJnaW4tbGVmdDogI3ttYXAtZ2V0KCRzcGFjaW5nLCBzbWFsbCl9I3skZmxhZ307XHJcbi8vICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogI3ttYXAtZ2V0KCRzcGFjaW5nLCBzbWFsbCl9I3skZmxhZ307XHJcblxyXG4vLyAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbi8vICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogI3ttYXAtZ2V0KCRzcGFjaW5nLCBsYXJnZSl9I3skZmxhZ307XHJcbi8vICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICN7bWFwLWdldCgkc3BhY2luZywgbGFyZ2UpfSN7JGZsYWd9O1xyXG4vLyAgICAgICAgICAgICB9XHJcbi8vICAgICAgICAgfVxyXG5cclxuLy8gICAgICAgICAuI3skcHJlZml4fXB1bGwtI3ska2V5fS1sZWZ0I3skc3VmZml4fSB7XHJcbi8vICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAje21hcC1nZXQoJHNwYWNpbmcsIHNtYWxsKX0jeyRmbGFnfTtcclxuXHJcbi8vICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuLy8gICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAje21hcC1nZXQoJHNwYWNpbmcsIGxhcmdlKX0jeyRmbGFnfTtcclxuLy8gICAgICAgICAgICAgfVxyXG4vLyAgICAgICAgIH1cclxuXHJcbi8vICAgICAgICAgLiN7JHByZWZpeH1wdWxsLSN7JGtleX0tcmlnaHQjeyRzdWZmaXh9IHtcclxuLy8gICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAje21hcC1nZXQoJHNwYWNpbmcsIHNtYWxsKX0jeyRmbGFnfTtcclxuXHJcbi8vICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuLy8gICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogI3ttYXAtZ2V0KCRzcGFjaW5nLCBsYXJnZSl9I3skZmxhZ307XHJcbi8vICAgICAgICAgICAgIH1cclxuLy8gICAgICAgICB9XHJcbi8vICAgICB9XHJcbi8vIH1cclxuXHJcbi8vIC8vIFB1bGwgcmVzcG9uc2l2ZSBjbGFzc2VzXHJcbi8vIEBtaXhpbiBwdWxsLXJlc3BvbnNpdmUtY2xhc3NlcygkaW1wb3J0YW50OiBmYWxzZSwgJHN1ZmZpeDogJycsICRzcGFjaW5nLWNsYXNzZXM6ICRwdWxsLXNwYWNpbmctY2xhc3NlcywgJGJyZWFrcG9pbnQtY2xhc3NlczogJGJyZWFrcG9pbnQtY2xhc3Nlcykge1xyXG4vLyAgICAgJGxlbmd0aDogbGVuZ3RoKCRicmVha3BvaW50LWNsYXNzZXMpO1xyXG5cclxuLy8gICAgIEBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcclxuLy8gICAgICAgICAkaTogaW5kZXgoJGJyZWFrcG9pbnQtY2xhc3NlcywgJGJwKTtcclxuXHJcbi8vICAgICAgICAgQGlmICgkaSAhPSAxKSB7XHJcbi8vICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwKSB7XHJcbi8vICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwdWxsLWNsYXNzZXMoJGltcG9ydGFudDogJGltcG9ydGFudCwgJHByZWZpeDogJGJwICsgJy0nLCAkc3VmZml4OiAkc3VmZml4LCAkc3BhY2luZy1jbGFzc2VzOiAkc3BhY2luZy1jbGFzc2VzKTtcclxuLy8gICAgICAgICAgICAgfVxyXG4vLyAgICAgICAgIH1cclxuXHJcbi8vICAgICAgICAgQGlmICgkaSAhPSAkbGVuZ3RoKSB7XHJcbi8vICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwIG9ubHkpIHtcclxuLy8gICAgICAgICAgICAgICAgIEBpbmNsdWRlIHB1bGwtY2xhc3NlcygkaW1wb3J0YW50OiAkaW1wb3J0YW50LCAkcHJlZml4OiAkYnAgKyAnLW9ubHktJywgJHN1ZmZpeDogJHN1ZmZpeCwgJHNwYWNpbmctY2xhc3NlczogJHNwYWNpbmctY2xhc3Nlcyk7XHJcbi8vICAgICAgICAgICAgIH1cclxuLy8gICAgICAgICB9XHJcbi8vICAgICB9XHJcbi8vIH1cclxuXHJcblxyXG4vLyAvL1xyXG4vLyAvLyBIYWxmIGZsdWlkIGNsYXNzZXNcclxuLy8gLy9cclxuXHJcbi8vIC8vIEhhbGYgZmx1aWQgY2xhc3Nlc1xyXG4vLyBAbWl4aW4gaGFsZi1mbHVpZC1jbGFzc2VzKCRpbXBvcnRhbnQ6IGZhbHNlLCAkcHJlZml4OiAnJykge1xyXG4vLyAgICAgJGZsYWc6ICcnO1xyXG4vLyAgICAgQGlmICgkaW1wb3J0YW50KSB7XHJcbi8vICAgICAgICAgJGZsYWc6ICcgIWltcG9ydGFudCc7XHJcbi8vICAgICB9XHJcblxyXG4vLyAgICAgJGFkZC1zdWJ0cmFjdC1tdWx0aXBsaWVyczogKDEsIDIpO1xyXG5cclxuLy8gICAgIC5jZWxsLiN7JHByZWZpeH1oYWxmLWZsdWlkIHtcclxuLy8gICAgICAgICB3aWR0aDogNTAlI3skZmxhZ307XHJcblxyXG4vLyAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuLy8gICAgICAgICAgICAgLy8gd3JhcCAoaXMgbmVlZGVkIG9ubHkgb24gbGFyZ2UpXHJcbi8vICAgICAgICAgICAgIC5oYWxmLWZsdWlkLXdyYXAge1xyXG4vLyAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAjeygkZ2xvYmFsLXdpZHRoIC0gbWFwLWdldCgkZ3JpZC1jb250YWluZXItcGFkZGluZywgbGFyZ2UpKSAvIDJ9O1xyXG4vLyAgICAgICAgICAgICB9XHJcbi8vICAgICAgICAgICAgIC5ncmlkLXBhZGRpbmcteCA+ICYgLmhhbGYtZmx1aWQtd3JhcCB7XHJcbi8vICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6ICN7KCgkZ2xvYmFsLXdpZHRoIC0gbWFwLWdldCgkZ3JpZC1jb250YWluZXItcGFkZGluZywgbGFyZ2UpKSAvIDIpIC0gKG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsIG1lZGl1bSkgLyAyKX07XHJcbi8vICAgICAgICAgICAgIH1cclxuLy8gICAgICAgICB9XHJcbi8vICAgICB9XHJcblxyXG4vLyAgICAgQGVhY2ggJG11bHRpcGxpZXIgaW4gJGFkZC1zdWJ0cmFjdC1tdWx0aXBsaWVycyB7XHJcblxyXG4vLyAgICAgICAgICRhZGQtc3VidHJhY3QtdmFsdWU6ICgxMDAlIC8gMTIpICogJG11bHRpcGxpZXI7IC8vIHBlcmNlbnQgb24gc21hbGxcclxuLy8gICAgICAgICAkYWRkLXN1YnRyYWN0LXZhbHVlLWw6ICgoJGdsb2JhbC13aWR0aCAtIG1hcC1nZXQoJGdyaWQtY29udGFpbmVyLXBhZGRpbmcsIGxhcmdlKSkgLyAxMikgKiAkbXVsdGlwbGllcjsgLy8gZml4ZWQgb24gbGFyZ2VcclxuXHJcbi8vICAgICAgICAgLmNlbGwuI3skcHJlZml4fWhhbGYtZmx1aWQtYWRkLSN7JG11bHRpcGxpZXJ9IHtcclxuLy8gICAgICAgICAgICAgd2lkdGg6IGNhbGMoNTAlICsgI3skYWRkLXN1YnRyYWN0LXZhbHVlfSkjeyRmbGFnfTtcclxuXHJcbi8vICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuLy8gICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSArICN7JGFkZC1zdWJ0cmFjdC12YWx1ZS1sfSkjeyRmbGFnfTtcclxuXHJcbi8vICAgICAgICAgICAgICAgICAvLyB3cmFwIChpcyBuZWVkZWQgb25seSBvbiBsYXJnZSlcclxuLy8gICAgICAgICAgICAgICAgIC5oYWxmLWZsdWlkLXdyYXAge1xyXG4vLyAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogY2FsYygjeygkZ2xvYmFsLXdpZHRoIC0gbWFwLWdldCgkZ3JpZC1jb250YWluZXItcGFkZGluZywgbGFyZ2UpKSAvIDJ9ICsgI3skYWRkLXN1YnRyYWN0LXZhbHVlLWx9KTtcclxuLy8gICAgICAgICAgICAgICAgIH1cclxuLy8gICAgICAgICAgICAgICAgIC5ncmlkLXBhZGRpbmcteCA+ICYgLmhhbGYtZmx1aWQtd3JhcCB7XHJcbi8vICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKCN7KCgkZ2xvYmFsLXdpZHRoIC0gbWFwLWdldCgkZ3JpZC1jb250YWluZXItcGFkZGluZywgbGFyZ2UpKSAvIDIpIC0gKG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsIG1lZGl1bSkgLyAyKX0gKyAjeyRhZGQtc3VidHJhY3QtdmFsdWUtbH0pO1xyXG4vLyAgICAgICAgICAgICAgICAgfVxyXG4vLyAgICAgICAgICAgICB9XHJcbi8vICAgICAgICAgfVxyXG5cclxuLy8gICAgICAgICAuY2VsbC4jeyRwcmVmaXh9aGFsZi1mbHVpZC1zdWJ0cmFjdC0jeyRtdWx0aXBsaWVyfSB7XHJcbi8vICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtICN7JGFkZC1zdWJ0cmFjdC12YWx1ZX0pI3skZmxhZ307XHJcblxyXG4vLyAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbi8vICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAjeyRhZGQtc3VidHJhY3QtdmFsdWUtbH0pI3skZmxhZ307XHJcblxyXG4vLyAgICAgICAgICAgICAgICAgLy8gd3JhcCAoaXMgbmVlZGVkIG9ubHkgb24gbGFyZ2UpXHJcbi8vICAgICAgICAgICAgICAgICAuaGFsZi1mbHVpZC13cmFwIHtcclxuLy8gICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoI3soJGdsb2JhbC13aWR0aCAtIG1hcC1nZXQoJGdyaWQtY29udGFpbmVyLXBhZGRpbmcsIGxhcmdlKSkgLyAyfSAtICN7JGFkZC1zdWJ0cmFjdC12YWx1ZS1sfSk7XHJcbi8vICAgICAgICAgICAgICAgICB9XHJcbi8vICAgICAgICAgICAgICAgICAuZ3JpZC1wYWRkaW5nLXggPiAmIC5oYWxmLWZsdWlkLXdyYXAge1xyXG4vLyAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogY2FsYygjeygoJGdsb2JhbC13aWR0aCAtIG1hcC1nZXQoJGdyaWQtY29udGFpbmVyLXBhZGRpbmcsIGxhcmdlKSkgLyAyKSAtIChtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBtZWRpdW0pIC8gMil9IC0gI3skYWRkLXN1YnRyYWN0LXZhbHVlLWx9KTtcclxuLy8gICAgICAgICAgICAgICAgIH1cclxuLy8gICAgICAgICAgICAgfVxyXG4vLyAgICAgICAgIH1cclxuLy8gICAgIH1cclxuLy8gfVxyXG5cclxuLy8gLy8gSGFsZiBmbHVpZCByZXNwb25zaXZlIGNsYXNzZXNcclxuLy8gQG1peGluIGhhbGYtZmx1aWQtcmVzcG9uc2l2ZS1jbGFzc2VzKCRpbXBvcnRhbnQ6IGZhbHNlLCAkYnJlYWtwb2ludC1jbGFzc2VzOiAkYnJlYWtwb2ludC1jbGFzc2VzKSB7XHJcbi8vICAgICAkbGVuZ3RoOiBsZW5ndGgoJGJyZWFrcG9pbnQtY2xhc3Nlcyk7XHJcblxyXG4vLyAgICAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xyXG4vLyAgICAgICAgICRpOiBpbmRleCgkYnJlYWtwb2ludC1jbGFzc2VzLCAkYnApO1xyXG5cclxuLy8gICAgICAgICBAaWYgKCRpICE9IDEpIHtcclxuLy8gICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnApIHtcclxuLy8gICAgICAgICAgICAgICAgIEBpbmNsdWRlIGhhbGYtZmx1aWQtY2xhc3NlcygkaW1wb3J0YW50OiAkaW1wb3J0YW50LCAkcHJlZml4OiAkYnAgKyAnLScpO1xyXG4vLyAgICAgICAgICAgICB9XHJcbi8vICAgICAgICAgfVxyXG5cclxuLy8gICAgICAgICAvLyBzYXZlIGFwcC5jc3Mgc2l6ZVxyXG4vLyAgICAgICAgIC8vIEBpZiAoJGkgIT0gJGxlbmd0aCkge1xyXG4vLyAgICAgICAgIC8vICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicCBvbmx5KSB7XHJcbi8vICAgICAgICAgLy8gICAgICAgICBAaW5jbHVkZSBoYWxmLWZsdWlkLWNsYXNzZXMoJGltcG9ydGFudDogJGltcG9ydGFudCwgJHByZWZpeDogJGJwICsgJy1vbmx5LScpO1xyXG4vLyAgICAgICAgIC8vICAgICB9XHJcbi8vICAgICAgICAgLy8gfVxyXG4vLyAgICAgfVxyXG4vLyB9XHJcblxyXG4vL1xyXG4vLyBDdXN0b20gcGFkZGluZyBndXR0ZXJzXHJcbi8vXHJcbkBtaXhpbiBjdXN0b20tcGFkZGluZy1ndXR0ZXJzKCRzdWZmaXgpIHtcclxuICAgIC5ncmlkLXBhZGRpbmcteC0jeyRzdWZmaXh9IHtcclxuXHJcbiAgICAgICAgLmdyaWQtcGFkZGluZy14LSN7JHN1ZmZpeH0ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSwgJGd1dHRlci1wb3NpdGlvbjogbGVmdCByaWdodCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIGdyaWRzIHdpdGhpbiBgZ3JpZC1jb250YWluZXIvZ3JpZC1jb250YWluZXIuZmx1aWRgXHJcbiAgICAgICAgLy8gVGhpcyBhbGxvd3MgbWFyZ2luIGFuZCBwYWRkaW5nIGdyaWRzIHRvIGxpbmUgdXAgd2l0aCBlYWNob3RoZXJcclxuICAgICAgICAuZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+ICYge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSwgJGd1dHRlci1wb3NpdGlvbjogbGVmdCByaWdodCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXHJcbiAgICAgICAgPiAuY2VsbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkZ3V0dGVyLXBvc2l0aW9uOiBsZWZ0IHJpZ2h0KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcclxuICAgICAgICAgICAgJi4jeyRicH0tcGFkZGluZy1jb2xsYXBzZSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbGxhcHNlKCRndXR0ZXItdHlwZTogcGFkZGluZywgJG1pbi1icmVha3BvaW50OiAkYnApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgICAuZ3JpZC1wYWRkaW5nLXktI3skc3VmZml4fSB7XHJcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUsICRndXR0ZXItdHlwZTogcGFkZGluZywgJGd1dHRlci1wb3NpdGlvbjogdG9wIGJvdHRvbSk7XHJcblxyXG4gICAgICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcclxuICAgICAgICA+IC5jZWxsIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xyXG4gICAgICAgICAgICAmLiN7JGJwfS1wYWRkaW5nLWNvbGxhcHNlLXkge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb2xsYXBzZSgkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20sICRtaW4tYnJlYWtwb2ludDogJGJwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsImJvZHkge1xuICAgIGZvbnQtc2l6ZTogJGJvZHktZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkYm9keS1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZm9udC1zaXplOiAkYm9keS1mb250LXNpemUtbDtcbiAgICB9XG59XG5cbmEge1xuICAgIEBpbmNsdWRlIGFuaW1hdGUtdGV4dC1kZWNvcmF0aW9uKCRvdXQ6IGZhbHNlKTtcbn1cblxuaDEsIC5oMSB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcblxuICAgICYubGFyZ2Uge1xuICAgICAgICBmb250LXNpemU6IDEwMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDI1MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiA0MDBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuaDIsIC5oMiB7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cblxuaDMsIC5oMyB7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cblxuaDUsIC5oNSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogMjAwO1xufVxuXG5wIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4gICAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbn1cblxuLmNhcHRpb24ge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogJGJvZHktZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBmb250LXNpemU6IDMycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMjBweDtcbiAgICB9XG59XG5cblxuLmxlYWQge1xuICAgIGZvbnQtc2l6ZTogJGxlYWQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGVhZC1saW5lLWhlaWdodDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGxlYWQtZm9udC1zaXplLWw7XG4gICAgfVxuXG4gICAgJi5sYXJnZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGxlYWQtbGFyZ2UtZm9udC1zaXplO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICN7KCRsZWFkLWxhcmdlLWZvbnQtc2l6ZSArICRsZWFkLWxhcmdlLWZvbnQtc2l6ZS1sKSAvIDJ9O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkbGVhZC1sYXJnZS1mb250LXNpemUtbDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gTGlua3Ncbi5saW5rLW5leHQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICAgIHdpZHRoOiAxZW07XG4gICAgICAgIGhlaWdodDogMWVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogY2FsYygxZW0gLyAyKTtcbiAgICAgICAgbWFyZ2luLXRvcDogY2FsYygxZW0gLyA1KTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcblxuICAgICAgICBjb250ZW50OiBcIlwiO1xuXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzdmctaW1hZ2UoJ2Fycm93LXJpZ2h0JywgJGMtd2hpdGUsIDFlbSkpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICB9XG59XG5cbi8vIExpc3RzXG51bCwgb2wge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwIDAgJGxpc3QtbWFyZ2luLWJvdHRvbSAkbGlzdC1zaWRlLW1hcmdpbjtcblxuICAgIHVsLCBvbCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW47XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgICBsaW5lLWhlaWdodDogJGxpc3QtaXRlbS1saW5laGVpZ2h0O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkbGlzdC1pdGVtLW1hcmdpbjtcbiAgICB9XG5cbiAgICAmLmxpc3Qtbm8tYnVsbGV0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmUgIWltcG9ydGFudDtcbiAgICBcbiAgICAgICAgdWwsIG9sIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5saXN0LXNtYWxsLWJ1bGxldCB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogMC4wNzVlbTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDAuMDc1ZW07XG5cbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcblxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Y29sb3I7XG5cbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwLjY4ZW07XG4gICAgICAgICAgICAgICAgbGVmdDogLSN7JGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2lufTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmxpc3QtYmxvY2sge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmUgIWltcG9ydGFudDtcblxuICAgICAgICAmID4gbGkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmxpc3Qtbm8tbWFyZ2luIHtcbiAgICAgICAgJiA+IGxpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxub2wge1xuICAgICYubGlzdC1sb3dlci1hbHBoYSB7bGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTt9XG4gICAgJi5saXN0LXVwcGVyLWFscGhhIHtsaXN0LXN0eWxlLXR5cGU6IHVwcGVyLWFscGhhO31cbn1cblxuLy8gQ3VzdG9tIGxpc3RzXG4ubGlzdC1pbmxpbmUsXG51bC5saXN0LWlubGluZSxcbm9sLmxpc3QtaW5saW5lIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgICYgPiBsaSxcbiAgICAmID4gLmxpc3QtaXRlbSB7XG4gICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAmLmxpc3QtYXV0byB7XG4gICAgICAgICYgPiBsaSxcbiAgICAgICAgJiA+IC5saXN0LWl0ZW0ge1xuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAZWFjaCAkc3BhY2luZy1uYW1lLCAkc3BhY2luZy12YWx1ZSBpbiAkbGlzdC1zcGFjaW5nLWNsYXNzZXMge1xuICAgICAgICAmLmxpc3QtZ2FwLSN7JHNwYWNpbmctbmFtZX0ge1xuICAgICAgICAgICAgbWFyZ2luOiAtI3skc3BhY2luZy12YWx1ZSAvIDJ9O1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAmID4gbGksXG4gICAgICAgICAgICAmID4gLmxpc3QtaXRlbSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogI3skc3BhY2luZy12YWx1ZSAvIDJ9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5saXN0LWdhcC0jeyRzcGFjaW5nLW5hbWV9LWhvcml6b250YWwge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0jeyRzcGFjaW5nLXZhbHVlIC8gMn07XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0jeyRzcGFjaW5nLXZhbHVlIC8gMn07XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICYgPiBsaSxcbiAgICAgICAgICAgICYgPiAubGlzdC1pdGVtIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICN7JHNwYWNpbmctdmFsdWUgLyAyfTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAjeyRzcGFjaW5nLXZhbHVlIC8gMn07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICYubGlzdC1nYXAtI3skc3BhY2luZy1uYW1lfS12ZXJ0aWNhbCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtI3skc3BhY2luZy12YWx1ZSAvIDJ9O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLSN7JHNwYWNpbmctdmFsdWUgLyAyfTtcbiAgICBcbiAgICAgICAgICAgICYgPiBsaSxcbiAgICAgICAgICAgICYgPiAubGlzdC1pdGVtIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogI3skc3BhY2luZy12YWx1ZSAvIDJ9O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAjeyRzcGFjaW5nLXZhbHVlIC8gMn07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5saXN0LXNlcnZpY2VzIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYgPiAqIHtcbiAgICAgICAgZm9udC1zaXplOiAzNnB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDgycHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEyOHB4O1xuICAgICAgICB9XG4gICAgfVxufSIsIkBtaXhpbiBhbmltYXRlLXRleHQtZGVjb3JhdGlvbigkb3V0OiBmYWxzZSkge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IDAuMDFlbTtcbiAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDAuMzVlbTtcbiAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRyYW5zaXRpb246IHRleHQtdW5kZXJsaW5lLW9mZnNldCAwLjNzIGVhc2UtaW4tb3V0LCB0ZXh0LWRlY29yYXRpb24gMC4zcyBlYXNlLWluLW91dDtcblxuICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiAwLjA1ZW07XG4gICAgICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMC4xMmVtO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHVuc2V0O1xuICAgIH1cblxuICAgIEBpZiAkb3V0IHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogMC4wNWVtO1xuICAgICAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDAuMTJlbTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiB1bnNldDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IDAuMDFlbTtcbiAgICAgICAgICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMC4zNWVtO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgIH1cbn0iLCJpbWcuZmlndXJlLWltYWdlIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4uZmlndXJlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWluLWhlaWdodDogMTAwJTtcblxuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnb2JqZWN0LWZpdDogY292ZXI7IG9iamVjdC1wb3NpdGlvbjogY2VudGVyOyc7IC8vIHBvbGlmaWxsXG4gICAgfVxuXG4gICAgLmZpZ3VyZS1jb250ZW50IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHotaW5kZXg6IDM7XG4gICAgfVxuXG4gICAgLmZpZ3VyZS1jcm9wIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBwYWRkaW5nLXRvcDogbWluKDUwMCwgMTAwJSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgICBmb250LXNpemU6IDA7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgICAgICBtaW4td2lkdGg6IGluaXRpYWw7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiBpbml0aWFsO1xuXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5vYmplY3QtcG9zaXRpb24tMCB7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXIgMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLm9iamVjdC1wb3NpdGlvbi01IHtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICAgICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlciA1JSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYub2JqZWN0LXBvc2l0aW9uLTEwIHtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICAgICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlciAxMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLm9iamVjdC1wb3NpdGlvbi0xNSB7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXIgMTUlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5vYmplY3QtcG9zaXRpb24tMjUge1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICAgICAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyIDI1JSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYub2JqZWN0LXBvc2l0aW9uLTMwIHtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICAgICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlciAzMCUgIWltcG9ydGFudDsgXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIi5iYWNrZ3JvdW5kLWFib3V0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ibGFjaztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBcbiAgICAgICAgdXJsKFwiLi4vaW1nL2JnL2JnLWFib3V0LTEuanBnXCIpLFxuICAgICAgICB1cmwoXCIuLi9pbWcvYmcvYmctYWJvdXQtMi5qcGdcIiksXG4gICAgICAgIHVybChcIi4uL2ltZy9iZy9iZy1hYm91dC0zLmpwZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0LCBuby1yZXBlYXQsIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjYWxjKDEwMCUgLSAyMHB4KSAxNSUsIDMwcHggNDUlLCBjYWxjKDEwMCUgKyAyMDBweCkgY2FsYygxMDAlIC0gMjBweCk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMTBweCwgMjE3cHgsIDQyNnB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNjBweCwgMzUwcHgsIDU1MHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoMTAwJSAtIDE3MHB4KSAzMCUsIDMwcHggNDUlLCBjYWxjKDEwMCUgLSAxNzBweCkgY2FsYygxMDAlIC0gMjBweCk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjY4cHgsIDQxOHB4LCA2MzdweDtcbiAgICB9XG59IiwiLy8gRW1wbG95ZWVcbi5lbXBsb3llZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDE1cHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICBnYXA6IDMwcHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDg1NXB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgZ2FwOiA1NXB4O1xuICAgIH1cblxuICAgIC5lbXBsb3llZS1maWd1cmUsXG4gICAgLmVtcGxveWVlLWNvbnRlbnQge1xuICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmVtcGxveWVlLWZpZ3VyZSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDMzLjMzMzMzMyU7XG4gICAgICAgIH1cblxuICAgICAgICAuZmlndXJlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB9ICAgXG4gICAgICAgIH1cblxuICAgICAgICAuZmlndXJlLWNyb3Age1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDgwJTtcblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlciA1JTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5lbXBsb3llZS1jb250ZW50IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICBmbGV4LXNocmluazogMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5lbXBsb3llZS1oZWFkZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgIH1cblxuICAgIC5lbXBsb3llZS1uYW1lIHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiA2NHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmVtcGxveWVlLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5lbXBsb3llZS1kZXNjcmlwdGlvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogOTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxufVxuXG4vLyBTZXJ2aWNlXG4uc2VydmljZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgY3VycmVudENvbG9yO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBib3JkZXItd2lkdGg6IDNweDtcbiAgICB9XG4gICAgXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cblxuICAgIC5zZXJ2aWNlLWhlYWRlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIGdhcDogMzBweDtcblxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyAvLyBoaWRlIGluIHZpZXdcblxuICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG5cbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoc3ZnLWltYWdlKCdhcnJvdy1kb3duJywgJGMtYmxhY2ssIDIwcHgpKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cbiAgICAgICAgICAgIGFuaW1hdGlvbjogcHVsc2VEb3duIDEuNXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoc3ZnLWltYWdlKCdhcnJvdy1kb3duJywgJGMtd2hpdGUsIDQwcHgpKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDQwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDk1cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA5NXB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogOTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zZXJ2aWNlLXRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNjRweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEyOHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNlcnZpY2UtbG9nbyB7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyMTZweDtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA2MHB4O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyODhweDtcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogODBweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMzYwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZXJ2aWNlLWNvbnRlbnQge1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgLy8gdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2UtaW4tb3V0O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBpbiB2aWV3XG4gICAgJi5pbi12aWV3IHtcbiAgICAgICAgLnNlcnZpY2UtaGVhZGVyIHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2VydmljZS1sb2dvIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zZXJ2aWNlLWNvbnRlbnQge1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luOiAzMHB4IDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMzBweCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBDb250YWN0c1xuLmNvbnRhY3RzIHtcbiAgICAvLyBwYWRkaW5nOiAyMHB4IDA7XG4gICAgcGFkZGluZzogMjBweCAwIDE1cHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBwYWRkaW5nOiA0MHB4IDAgMTVweDtcbiAgICB9XG5cbiAgICAuY29udGFjdHMtdGl0bGUge1xuICAgICAgICBoMiwgLmgyIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDMycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29udGFjdHMtY29udGVudCB7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5jb250YWN0cy1pbmxpbmUge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICAgICAgZ2FwOiAzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbnRhY3RzLXRpdGxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAxO1xuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jb250YWN0cy1jb250ZW50IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICAgICAgZmxleC1zaHJpbms6IDE7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmluLXZpZXcge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiA2MHB4IDAgMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb250YWN0cy1jb250ZW50IHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDE1cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogNTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuY29udGFjdHMtaW5saW5lIHtcbiAgICAgICAgICAgIC5jb250YWN0cy1jb250ZW50IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jb250YWN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWluLWhlaWdodDogMTAwJTtcblxuICAgIC5jb250YWN0LXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBmb250LXdlaWdodDogODAwO1xuICAgIH1cblxuICAgIC5jb250YWN0LWRlc2NyaXB0aW9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcblxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBhbmltYXRlLXRleHQtZGVjb3JhdGlvbigkb3V0OiB0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb250YWN0LWxvZ28ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgIGhlaWdodDogNjRweDtcbiAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG5cbiAgICAgICAgJiA+ICoge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDY0cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIC5jb250YWN0LW9sZCB7XG4vLyAgICAgLmNvbnRhY3QtY29udGVudCB7XG4vLyAgICAgICAgIC8vIGRpc3BsYXk6IG5vbmU7XG4vLyAgICAgICAgIGhlaWdodDogMDtcbi8vICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbi8vICAgICAgICAgb3BhY2l0eTogMDtcbi8vICAgICAgICAgdHJhbnNpdGlvbjogMC4zcyB0cmFuc2Zvcm0sIDAuM3Mgb3BhY2l0eSwgMC4zcyBoZWlnaHQ7XG4vLyAgICAgfVxuXG4vLyAgICAgJi5pbi12aWV3IHtcbi8vICAgICAgICAgLmNvbnRhY3QtY29udGVudCB7XG4vLyAgICAgICAgICAgICAvLyBkaXNwbGF5OiBibG9jaztcbi8vICAgICAgICAgICAgIC8vIGhlaWdodDogYXV0bztcbi8vICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4vLyAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuLy8gICAgICAgICB9XG4vLyAgICAgfVxuLy8gfVxuXG5cbi8vIElkZWFzXG4uaWRlYXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBwYWRkaW5nLWJvdHRvbTogOHB4O1xuXG4gICAgZm9udC1zaXplOiA3MHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgbGluZS1oZWlnaHQ6IDAuOTtcbiAgICBcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBmb250LXNpemU6IG1pbihmb250LXNpemUtdG8tdncoMjA1cHgpLCAyMDVweCk7XG4gICAgfVxuXG4gICAgJiA+IDpsYXN0LWNoaWxkID4gc3BhbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiAwLjI2OGVtO1xuICAgICAgICAgICAgd2lkdGg6IDAuODA2ZW07XG5cbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogMTYlO1xuICAgICAgICAgICAgcmlnaHQ6IC0yNyU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTEuNjhkZWcpO1xuXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9icmFuZC9sb2dvLW1haW4uc3ZnJyk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBWaXNpYmlsaXR5IHN3aXRjaFxuLy8gLnZpc2liaWxpdHktc3dpdGNoIHtcbi8vICAgICAudmlzaWJsZS1vbi1zd2l0Y2gge1xuLy8gICAgICAgICBkaXNwbGF5OiBub25lO1xuLy8gICAgIH1cblxuLy8gICAgICYuc3dpdGNoLWlzLWFjdGl2ZSB7XG4vLyAgICAgICAgIC52aXNpYmxlLW9uLXN3aXRjaCB7XG4vLyAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbi8vICAgICAgICAgfVxuICAgICAgICBcbi8vICAgICAgICAgLmhpZGRlbi1vbi1zd2l0Y2gge1xuLy8gICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbi8vICAgICAgICAgfVxuLy8gICAgIH1cbi8vIH1cblxuLy8gLnNtYWxsLW9ubHktdmlzaWJpbGl0eS1zd2l0Y2gge1xuLy8gICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuLy8gICAgICAgICAudmlzaWJsZS1vbi1zd2l0Y2gge1xuLy8gICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbi8vICAgICAgICAgfVxuXG4vLyAgICAgICAgICYuc3dpdGNoLWlzLWFjdGl2ZSB7XG4vLyAgICAgICAgICAgICAudmlzaWJsZS1vbi1zd2l0Y2gge1xuLy8gICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8gICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4vLyAgICAgICAgICAgICAuaGlkZGVuLW9uLXN3aXRjaCB7XG4vLyAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbi8vICAgICAgICAgICAgIH1cbi8vICAgICAgICAgfVxuLy8gICAgIH1cbi8vIH1cblxuLy8gLnN3aXRjaC1pcy1hY3RpdmUge1xuLy8gICAgICYuaW52ZXJzZSB7XG4vLyAgICAgICAgICYuY29sb3Itd2hpdGUge1xuLy8gICAgICAgICAgICAgY29sb3I6JGMtYmxhY2sgIWltcG9ydGFudDtcbi8vICAgICAgICAgfVxuXG4vLyAgICAgICAgICYuYmFja2dyb3VuZC1ibGFjayB7XG4vLyAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy13aGl0ZSAhaW1wb3J0YW50O1xuLy8gICAgICAgICB9XG4vLyAgICAgfVxuXG4vLyAgICAgJi5zbWFsbC1vbmx5LWludmVyc2Uge1xuLy8gICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbi8vICAgICAgICAgICAgICYuY29sb3Itd2hpdGUge1xuLy8gICAgICAgICAgICAgICAgIGNvbG9yOiRjLWJsYWNrICFpbXBvcnRhbnQ7XG4vLyAgICAgICAgICAgICB9XG5cbi8vICAgICAgICAgICAgICYuYmFja2dyb3VuZC1ibGFjayB7XG4vLyAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtd2hpdGUgIWltcG9ydGFudDtcbi8vICAgICAgICAgICAgIH1cbi8vICAgICAgICAgfVxuLy8gICAgIH1cbi8vIH0iLCIja2V5dmlzdWFsLXdyYXAge1xuICAgICNoZWFkZXItbG9nbyB7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5rZXl2aXN1YWwtY29udGVudC1zaG93biB7XG4gICAgICAgICNoZWFkZXItbG9nbyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICNrZXl2aXN1YWwtYXJyb3cge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuI2tleXZpc3VhbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBhZGRpbmctdG9wOiA1Ni4yNSU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIFxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuXG4gICAgXG59XG5cbiNrZXl2aXN1YWwtbG9nbyB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMTc0cHg7XG5cbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB6LWluZGV4OiAwO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDE5MjBweDtcbiAgICAgICAgbWluLXdpZHRoOiAxNzRweDtcbiAgICB9XG59XG5cbiNrZXl2aXN1YWwtY29udGVudCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9wYWNpdHk6IDE7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHdpZHRoOiAzMCU7XG4gICAgICAgIGhlaWdodDogMzAlO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICBcbiAgICAvLyBnc2FwIGxlYXZlIHNvbWUgc3R5bGVzIGFuZCB3ZSBuZWVkIHRvIG92ZXJyaWRlIHRoZW0gZm9yIG1vYmlsZVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLy8vLy9cbiAgICBcbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGMtYmxhY2ssIDAuMSk7XG4gICAgICAgIFxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICB2aWRlbyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgICB9XG59XG5cbiNrZXl2aXN1YWwtYXJyb3cge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgd2lkdGg6IDkwcHg7XG4gICAgaGVpZ2h0OiA5MHB4O1xuXG4gICAgb3BhY2l0eTogMDtcblxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChzdmctaW1hZ2UoJ2Fycm93LWRvd24nLCAkYy13aGl0ZSwgOTBweCkpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXG4gICAgYW5pbWF0aW9uOiBwdWxzZURvd24gMS41cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0O1xuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogNjBweDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgei1pbmRleDogMjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufSIsIi5zaG93Y2FzZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAuc2hvd2Nhc2UtY29udGVudC13cmFwIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgbWluLWhlaWdodDogODV2dztcblxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDYyLjV2aDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5zaG93Y2FzZS1jb250ZW50IHtcbiAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBcbiAgICAgICAgaDEsIGgyLCBoMyB7XG4gICAgICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgICAgICAgICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA2NHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5zaG93Y2FzZS1maWd1cmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDExNXB4O1xuICAgICAgICBcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoY2FsYygtMTAwJSAtIDQ1cHgpLCAtMTAwJSk7XG5cbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB6LWluZGV4OiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNTYwKSB7XG4gICAgICAgICAgICB3aWR0aDogMTcwcHg7IC8vICogMS41XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KDY4MCkge1xuICAgICAgICAgICAgd2lkdGg6IDI1NXB4OyAvLyAqIDEuNVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgd2lkdGg6IDM4MHB4O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoY2FsYygtMTAwJSAtIDEwMHB4KSwgY2FsYygtMTAwJSArIDE1cHgpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICAgICB3aWR0aDogNDIwcHg7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShjYWxjKC0xMDAlIC0gMjMwcHgpLCBjYWxjKC0xMDAlICsgMTVweCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuXG4gICAgICAgICAgICAuZmlndXJlLWNyb3Age1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSkgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5maWd1cmUge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIH1cblxuICAgICAgICAuZmlndXJlLWNyb3Age1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICAgIH1cblxuXG4gICAgICAgICYuZmlndXJlLTEge1xuICAgICAgICAgICAgLmZpZ3VyZSB7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uOiBwdWxzZUxlZnQgNXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmZpZ3VyZS0yIHtcbiAgICAgICAgICAgIHdpZHRoOiAxNDBweDtcblxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTBweCwgY2FsYygtMTAwJSAtIDI1cHgpKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCg1NjApIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjEwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNjgwKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDMxNXB4OyAvLyAqIDEuNVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDQyMHB4O1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwcHgsIC0xMjAlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTIwcHg7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMjAwcHgsIC0xMDAlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuZmlndXJlLTMge1xuICAgICAgICAgICAgd2lkdGg6IDEzMHB4O1xuXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNDBweCwgMTVweCk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNTYwKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE5NXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KDY4MCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyOTJweDsgLy8gKiAxLjVcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzODBweDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNDBweCwgNTBweCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDQ3MHB4O1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0zMHB4LCA2MHB4KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmZpZ3VyZSB7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uOiBwdWxzZURvd24gNXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZmlndXJlIHtcbiAgICAgICAgICAgIGFuaW1hdGlvbjogcHVsc2VSaWdodCA1cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgICAgICAgfVxuICAgIH1cblxufSIsIiNwb2ludGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyAgICBcblxuICAgIC8vIG1peC1ibGVuZC1tb2RlOiBkaWZmZXJlbmNlO1xuICAgIC8vIG9wYWNpdHk6IDE7XG4gICAgLy8gcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgLy8gcG9zaXRpb246IGZpeGVkO1xuXG5cbiAgICAvLyB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKGNhbGModmFyKC0teCkgKiAxcHgpLCBjYWxjKHZhcigtLXkpICogMXB4KSwgMCk7XG4gICAgLy8gdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIC8vIHotaW5kZXg6IDk5OTk5O1xuXG4gICAgLy8gJjpiZWZvcmUge1xuICAgIC8vICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAvLyAgICAgd2lkdGg6IDIwcHg7XG4gICAgLy8gICAgIGhlaWdodDogMjBweDtcbiAgICAvLyAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAvLyAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvLyAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8vICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCB3aWR0aDtcblxuICAgIC8vICAgICBjb250ZW50OiBcIlwiO1xuXG5cbiAgICAgICAgXG4gICAgLy8gICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgLy8gICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIC8vIH1cbn0iLCIvLyBpbi12aWV3IHdpdGggZGVsYXlcbltzdHlsZSo9XCItLWRlbGF5XCJdIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MHB4KTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMXMgY3ViaWMtYmV6aWVyKC4xOSwxLC4yMiwxKSBjYWxjKHZhcigtLWRlbGF5KSAqIC4xcyk7XG59XG5cbi5pbi12aWV3IHtcbiAgICAmW3N0eWxlKj1cIi0tZGVsYXlcIl0sXG4gICAgW3N0eWxlKj1cIi0tZGVsYXlcIl0ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxufSIsIi8vIG5hdmlnYXRpb24gdmlzaWJpbGl0eSBjbGFzc2VzXG5ib2R5Lm5hdi1pcy1hY3RpdmUge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JG5hdi1icmVha3BvaW50IC0gMX0pIHtcbiAgICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgIH1cblxuICAgICNoZWFkZXIge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAjeyRuYXYtYnJlYWtwb2ludH0pIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICNoZWFkZXItbmF2IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgICNoZWFkZXItbmF2LXRvZ2dsZSB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgYm90dG9tOiA0MHB4O1xuICAgICAgICByaWdodDogI3ttYXAtZ2V0KCRncmlkLWNvbnRhaW5lci1wYWRkaW5nLCBzbWFsbCkgLyAyfTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgcmlnaHQ6ICN7bWFwLWdldCgkZ3JpZC1jb250YWluZXItcGFkZGluZywgbWVkaXVtKSAvIDJ9O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBoZWFkZXIgcHVsbFxuQG1peGluIGhlYWRlci1wdWxsKCkge1xuICAgICNoZWFkZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAtI3skaGVhZGVyLWhlaWdodH07XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3skbmF2LWJyZWFrcG9pbnR9KSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtI3skaGVhZGVyLWhlaWdodC1sfTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuYm9keS5oZWFkZXItcHVsbCB7XG4gICAgQGluY2x1ZGUgaGVhZGVyLXB1bGw7XG59XG5cbi8vIHJlc3BvbnNpdmUgaGVhZGVyIHB1bGxcbkBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicCkge1xuICAgICAgICBib2R5LiN7JGJwfS1oZWFkZXItcHVsbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBoZWFkZXItcHVsbDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gaGVhZGVyIHB1bGwgcGFkZGluZ1xuQG1peGluIGhlYWRlci1wdWxsLXBhZGRpbmcoKSB7XG4gICAgcGFkZGluZy10b3A6ICRoZWFkZXItaGVpZ2h0O1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3skbmF2LWJyZWFrcG9pbnR9KSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkaGVhZGVyLWhlaWdodC1sO1xuICAgIH1cbn1cblxuLmhlYWRlci1wdWxsLXBhZGRpbmcge1xuICAgIEBpbmNsdWRlIGhlYWRlci1wdWxsLXBhZGRpbmc7XG59XG5cbi8vIHJlc3BvbnNpdmUgaGVhZGVyIHB1bGwgcGFkZGluZ1xuQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwKSB7XG4gICAgICAgIC4jeyRicH0taGVhZGVyLXB1bGwtcGFkZGluZyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBoZWFkZXItcHVsbC1wYWRkaW5nO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBoZWFkZXIgaW52ZXJzZVxuQG1peGluIGhlYWRlci1pbnZlcnNlKCkge1xuICAgICNoZWFkZXIge1xuICAgICAgICBjb2xvcjogJGMtd2hpdGU7XG5cbiAgICAgICAgKiB7IFxuICAgICAgICAgICAgY29sb3I6ICRjLXdoaXRlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5ib2R5LmhlYWRlci1pbnZlcnNlOm5vdCgubmF2LWlzLWFjdGl2ZSkge1xuICAgIEBpbmNsdWRlIGhlYWRlci1pbnZlcnNlO1xufVxuXG4vLyByZXNwb25zaXZlIGhlYWRlciBpbnZlcnNlXG5AZWFjaCAkYnAgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnApIHtcbiAgICAgICAgYm9keS4jeyRicH0taGVhZGVyLWludmVyc2U6bm90KC5uYXYtaXMtYWN0aXZlKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBoZWFkZXItaW52ZXJzZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gaGVhZGVyXG4jaGVhZGVyIHtcbiAgICBtaW4taGVpZ2h0OiAkaGVhZGVyLWhlaWdodDtcbiAgICBwYWRkaW5nLXRvcDogMzhweDtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAkaGVhZGVyLXotaW5kZXg7XG4gICAgXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3skbmF2LWJyZWFrcG9pbnR9KSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6ICRoZWFkZXItaGVpZ2h0LWw7XG4gICAgICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgIH1cbn1cblxuICAgICNoZWFkZXItZ3JpZCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAgICAgI2hlYWRlci1sb2dvIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMjBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7JG5hdi1icmVha3BvaW50fSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyNDBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3skbmF2LWJyZWFrcG9pbnR9KSBhbmQgKG1pbi13aWR0aDogI3ttYXAtZ2V0KCRicmVha3BvaW50cywgbGFyZ2UpfSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyOTBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDk2cHg7XG5cbiAgICAgICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAjeyRuYXYtYnJlYWtwb2ludH0pIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxNzRweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjaGVhZGVyLW5hdi10b2dnbGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcblxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuNXMgZWFzZS1pbi1vdXQsIGNvbG9yIDAuM3MgZWFzZS1pbi1vdXQ7XG5cbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICBcblxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3skbmF2LWJyZWFrcG9pbnR9KSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cbiAgICAgICAgI2hlYWRlci1uYXYge1xuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRuYXYtYnJlYWtwb2ludCAtIDF9KSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6ICRoZWFkZXItaGVpZ2h0IC0gMTBweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogJGhlYWRlci1oZWlnaHQgLSAxMHB4O1xuXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoLTEwMCUgLSA1MHB4KSk7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0LCB0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYy13aGl0ZTtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbi8vIGhlYWRlciBuYXZpZ2F0aW9uXG4jcHJpbWFyeS1uYXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcblxuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nLWxlZnQ6ICN7bWFwLWdldCgkZ3JpZC1jb250YWluZXItcGFkZGluZywgc21hbGwpIC8gMn07XG4gICAgcGFkZGluZy1yaWdodDogI3ttYXAtZ2V0KCRncmlkLWNvbnRhaW5lci1wYWRkaW5nLCBzbWFsbCkgLyAyfTtcbiAgICBcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAje21hcC1nZXQoJGdyaWQtY29udGFpbmVyLXBhZGRpbmcsIG1lZGl1bSkgLyAyfTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogI3ttYXAtZ2V0KCRncmlkLWNvbnRhaW5lci1wYWRkaW5nLCBtZWRpdW0pIC8gMn07XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3skbmF2LWJyZWFrcG9pbnR9KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgb3ZlcmZsb3c6IHVuc2V0O1xuICAgIH1cblxuICAgIHVsLm1lbnUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7JG5hdi1icmVha3BvaW50fSkge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBnYXA6IDQwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAjeyRuYXYtYnJlYWtwb2ludH0pIGFuZCAobWluLXdpZHRoOiAje21hcC1nZXQoJGJyZWFrcG9pbnRzLCBsYXJnZSl9KSB7XG4gICAgICAgICAgICBnYXA6IDgwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmID4gbGkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zNTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3skbmF2LWJyZWFrcG9pbnR9KSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiB1bnNldDtcblxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuY3VycmVudC1tZW51LWl0ZW0ge1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICYubWVudS1pdGVtLWN0YSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAjeyRuYXYtYnJlYWtwb2ludH0pIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogOTBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIGhlYWRlciB2aXNpYmlsaXR5IGNsYXNzZXNcbi5oaWRlLW9uLW1vYmlsZS1oZWFkZXIge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JG5hdi1icmVha3BvaW50IC0gMX0pIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLmhpZGUtb24tZGVza3RvcC1oZWFkZXIge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7JG5hdi1icmVha3BvaW50fSkge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufSIsImJvZHkuZm9vdGVyLWxpZ2h0IHtcbiAgICAjZm9vdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGMtd2hpdGU7XG4gICAgICAgIGNvbG9yOiAkYy1ibGFjaztcblxuICAgICAgICAqIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYy1ibGFjaztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuI2Zvb3RlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBhZGRpbmc6IDIwcHggMCAxMHB4O1xuXG5cbiAgICBiYWNrZ3JvdW5kOiAkYy1ibGFjaztcbiAgICBjb2xvcjogJGMtd2hpdGU7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgcGFkZGluZzogNjBweCAwIDMwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICBjb2xvcjogJGMtd2hpdGU7XG4gICAgfVxuXG4gICAgdWwubWVudSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBnYXA6IDEwcHg7XG5cbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBnYXA6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmID4gbGkge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKDUwJSAtICN7bWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgbWVkaXVtKX0pO1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDJuKSB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuI2Zvb3Rlci10b3Age1xuICAgIG1pbi1oZWlnaHQ6IDk4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBvcmRlcjogMTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDE0MHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICBvcmRlcjogMjtcbiAgICB9XG59XG5cbiNmb290ZXItYm90dG9tIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgb3JkZXI6IDI7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBtaW4taGVpZ2h0OiAxNDBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIEBpbmNsdWRlIGFuaW1hdGUtdGV4dC1kZWNvcmF0aW9uKCRvdXQ6IHRydWUpO1xuICAgIH1cbn1cblxuI2Zvb3Rlci1sb2dvIHtcbiAgICBvcmRlcjogMztcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgfVxufVxuXG4vLyBTaWRlYmFyc1xuI2Zvb3Rlci1yaWdodC1zaWRlYmFyIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG59XG5cbi5mb290ZXItc2VjdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLy8gQW5pbWF0aW9uc1xuI2Zvb3Rlci1sb2dvIHtcbiAgICBzdmcge1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAgICAgICBwYXRoLCByZWN0IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWShjYWxjKDEwMCUgKyAxNTBweCkpO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgICYuaW4tdmlldyB7XG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBwYXRoLCByZWN0IHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDEuNXMgY3ViaWMtYmV6aWVyKC4xOSwxLC4yMiwxKSBjYWxjKHZhcigtLXBhdGgtZGVsYXkpICogLjA3NXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSJdfQ== */
