@charset "UTF-8";
/* Default colors */
/* Primary colors */
/* Custom colors */
/* States color */
/* Outlines colors */
/* Overlays */
/**
 * Foundation for Sites
 * Version 6.8.1
 * 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=64em&xlarge=80em&xxlarge=90em";
}

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

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

body {
  margin: 0;
  padding: 0;
  background: #ffffff;
  font-family: "IBM Plex Sans", Arial, sans-serif;
  font-weight: 400;
  line-height: 1.36;
  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;
}

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

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

[type=text], [type=password], [type=date], [type=datetime], [type=datetime-local], [type=month], [type=week], [type=email], [type=number], [type=search], [type=tel], [type=time], [type=url], [type=color],
textarea {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 1.6709090909rem;
  margin: 0 0 0.7272727273rem;
  padding: 0.3636363636rem;
  border: 1px solid #7a9899;
  border-radius: 0;
  background-color: #ffffff;
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
          box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  font-family: inherit;
  font-size: 0.7272727273rem;
  font-weight: 400;
  line-height: 1.36;
  color: #000000;
  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
}
[type=text]:focus, [type=password]:focus, [type=date]:focus, [type=datetime]:focus, [type=datetime-local]:focus, [type=month]:focus, [type=week]:focus, [type=email]:focus, [type=number]:focus, [type=search]:focus, [type=tel]:focus, [type=time]:focus, [type=url]:focus, [type=color]:focus,
textarea:focus {
  outline: none;
  border: 1px solid #4c4c4e;
  background-color: #ffffff;
  -webkit-box-shadow: 0 0 5px #7a9899;
          box-shadow: 0 0 5px #7a9899;
  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
}
[type=text], [type=password], [type=date], [type=datetime], [type=datetime-local], [type=month], [type=week], [type=email], [type=number], [type=search], [type=tel], [type=time], [type=url], [type=color],
textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

textarea {
  max-width: 100%;
}
textarea[rows] {
  height: auto;
}

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

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

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

::-webkit-input-placeholder {
  color: #7a9899;
}

::-moz-placeholder {
  color: #7a9899;
}

:-ms-input-placeholder {
  color: #7a9899;
}

::-ms-input-placeholder {
  color: #7a9899;
}

::placeholder {
  color: #7a9899;
}

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

[type=checkbox] + label,
[type=radio] + label {
  display: inline-block;
  vertical-align: baseline;
  margin-left: 0.3636363636rem;
  margin-right: 0.7272727273rem;
  margin-bottom: 0;
}
[type=checkbox] + label[for],
[type=radio] + label[for] {
  cursor: pointer;
}

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

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

label {
  display: block;
  margin: 0;
  font-size: 0.6363636364rem;
  font-weight: 400;
  line-height: 1.8;
  color: #000000;
}
label.middle {
  margin: 0 0 0.7272727273rem;
  line-height: 1.36;
  padding: 0.4090909091rem 0;
}

.help-text {
  margin-top: -0.3636363636rem;
  font-size: 0.5909090909rem;
  font-style: italic;
  color: #000000;
}

.input-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin-bottom: 0.7272727273rem;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
.input-group > :first-child, .input-group > :first-child.input-group-button > * {
  border-radius: 0 0 0 0;
}
.input-group > :last-child, .input-group > :last-child.input-group-button > * {
  border-radius: 0 0 0 0;
}

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

.input-group-label {
  padding: 0 1rem;
  border: 1px solid #7a9899;
  background: #c8d6d6;
  color: #000000;
  text-align: center;
  white-space: nowrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.input-group-label:first-child {
  border-right: 0;
}
.input-group-label:last-child {
  border-left: 0;
}

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

.input-group-button {
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
.input-group-button a,
.input-group-button input,
.input-group-button button,
.input-group-button label {
  -ms-flex-item-align: stretch;
      align-self: stretch;
  height: auto;
  padding-top: 0;
  padding-bottom: 0;
  font-size: 0.7272727273rem;
}

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

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

.fieldset {
  margin: 0.8181818182rem 0;
  padding: 0.9090909091rem;
  border: 1px solid #7a9899;
}
.fieldset legend {
  margin: 0;
  margin-left: -0.1363636364rem;
  padding: 0 0.1363636364rem;
}

select {
  height: 1.6709090909rem;
  margin: 0 0 0.7272727273rem;
  padding: 0.3636363636rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid #7a9899;
  border-radius: 0;
  background-color: #ffffff;
  font-family: inherit;
  font-size: 0.7272727273rem;
  font-weight: 400;
  line-height: 1.36;
  color: #000000;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="32" height="24" viewBox="0 0 32 24"><polygon points="0,0 32,0 16,24" style="fill: rgb%2876, 76, 78%29"></polygon></svg>');
}
@media screen and (min-width: 0\0 ) {
  select {
    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==");
  }
}
select {
  background-origin: content-box;
  background-position: right -0.7272727273rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  padding-right: 1.0909090909rem;
  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
}
select:focus {
  outline: none;
  border: 1px solid #4c4c4e;
  background-color: #ffffff;
  -webkit-box-shadow: 0 0 5px #7a9899;
          box-shadow: 0 0 5px #7a9899;
  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
}
select:disabled {
  background-color: #c8d6d6;
  cursor: not-allowed;
}
select::-ms-expand {
  display: none;
}
select[multiple] {
  height: auto;
  background-image: none;
}
select:not([multiple]) {
  padding-top: 0;
  padding-bottom: 0;
}

.is-invalid-input:not(:focus) {
  border-color: #ff0000;
  background-color: rgb(255, 229.5, 229.5);
}
.is-invalid-input:not(:focus)::-webkit-input-placeholder {
  color: #ff0000;
}
.is-invalid-input:not(:focus)::-moz-placeholder {
  color: #ff0000;
}
.is-invalid-input:not(:focus):-ms-input-placeholder {
  color: #ff0000;
}
.is-invalid-input:not(:focus)::-ms-input-placeholder {
  color: #ff0000;
}
.is-invalid-input:not(:focus)::placeholder {
  color: #ff0000;
}

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

.form-error {
  display: none;
  margin-top: -0.3636363636rem;
  margin-bottom: 0.7272727273rem;
  font-size: 0.5454545455rem;
  font-weight: 700;
  color: #ff0000;
}
.form-error.is-visible {
  display: block;
}

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

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

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

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

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

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
  font-family: "IBM Plex Sans", Arial, sans-serif;
  font-style: normal;
  font-weight: 700;
  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: #7a9899;
}

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

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

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

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

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

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

@media print, screen and (min-width: 48em) {
  h1, .h1 {
    font-size: 2.1818181818rem;
  }
  h2, .h2 {
    font-size: 1.8181818182rem;
  }
  h3, .h3 {
    font-size: 1.4090909091rem;
  }
  h4, .h4 {
    font-size: 1.1363636364rem;
  }
  h5, .h5 {
    font-size: 0.9090909091rem;
  }
  h6, .h6 {
    font-size: 0.7272727273rem;
  }
}
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: 58.1818181818rem;
  height: 0;
  margin: 0.9090909091rem auto;
  border-top: 0;
  border-right: 0;
  border-bottom: 1px solid #7a9899;
  border-left: 0;
}

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

li {
  font-size: inherit;
}

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

ol {
  margin-left: 1.25rem;
}

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

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

blockquote {
  margin: 0 0 1rem;
  padding: 0.4090909091rem 0.9090909091rem 0 0.8636363636rem;
  border-left: 1px solid #7a9899;
}
blockquote, blockquote p {
  line-height: 1.36;
  color: #4c4c4e;
}

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

figure {
  margin: 0;
}

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

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

.lead {
  font-size: 27.5px;
  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: #4c4c4e;
  font-size: 0.5909090909rem;
}
.cite-block:before, cite:before {
  content: "— ";
}

.code-inline, code {
  border: 1px solid #7a9899;
  background-color: #c8d6d6;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: 400;
  color: #000000;
  display: inline;
  max-width: 100%;
  word-wrap: break-word;
  padding: 0.0909090909rem 0.2272727273rem 0.0454545455rem;
}

.code-block {
  border: 1px solid #7a9899;
  background-color: #c8d6d6;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: 400;
  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: 64em) {
  .large-text-left {
    text-align: left;
  }
  .large-text-right {
    text-align: right;
  }
  .large-text-center {
    text-align: center;
  }
  .large-text-justify {
    text-align: justify;
  }
}
.show-for-print {
  display: none !important;
}

@media print {
  * {
    background: transparent !important;
    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 #4c4c4e;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  @page {
    margin: 0.5cm;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
  .print-break-inside {
    page-break-inside: auto;
  }
}
.grid-container {
  padding-right: 0.4545454545rem;
  padding-left: 0.4545454545rem;
}
@media print, screen and (min-width: 48em) {
  .grid-container {
    padding-right: 0.6818181818rem;
    padding-left: 0.6818181818rem;
  }
}
.grid-container {
  max-width: 58.1818181818rem;
  margin-left: auto;
  margin-right: auto;
}
.grid-container.fluid {
  padding-right: 0.4545454545rem;
  padding-left: 0.4545454545rem;
}
@media print, screen and (min-width: 48em) {
  .grid-container.fluid {
    padding-right: 0.6818181818rem;
    padding-left: 0.6818181818rem;
  }
}
.grid-container.fluid {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.grid-container.full {
  padding-right: 0;
  padding-left: 0;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

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

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

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

.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: 64em) {
  .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% - 0.9090909091rem);
}

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

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

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

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

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

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

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

@media print, screen and (min-width: 48em) {
  .grid-margin-x.small-up-1 > .cell {
    width: calc(100% - 1.3636363636rem);
  }
  .grid-margin-x.small-up-2 > .cell {
    width: calc(50% - 1.3636363636rem);
  }
  .grid-margin-x.small-up-3 > .cell {
    width: calc(33.3333333333% - 1.3636363636rem);
  }
  .grid-margin-x.small-up-4 > .cell {
    width: calc(25% - 1.3636363636rem);
  }
  .grid-margin-x.small-up-5 > .cell {
    width: calc(20% - 1.3636363636rem);
  }
  .grid-margin-x.small-up-6 > .cell {
    width: calc(16.6666666667% - 1.3636363636rem);
  }
  .grid-margin-x.small-up-7 > .cell {
    width: calc(14.2857142857% - 1.3636363636rem);
  }
  .grid-margin-x.small-up-8 > .cell {
    width: calc(12.5% - 1.3636363636rem);
  }
  .grid-margin-x.medium-up-1 > .cell {
    width: calc(100% - 1.3636363636rem);
  }
  .grid-margin-x.medium-up-2 > .cell {
    width: calc(50% - 1.3636363636rem);
  }
  .grid-margin-x.medium-up-3 > .cell {
    width: calc(33.3333333333% - 1.3636363636rem);
  }
  .grid-margin-x.medium-up-4 > .cell {
    width: calc(25% - 1.3636363636rem);
  }
  .grid-margin-x.medium-up-5 > .cell {
    width: calc(20% - 1.3636363636rem);
  }
  .grid-margin-x.medium-up-6 > .cell {
    width: calc(16.6666666667% - 1.3636363636rem);
  }
  .grid-margin-x.medium-up-7 > .cell {
    width: calc(14.2857142857% - 1.3636363636rem);
  }
  .grid-margin-x.medium-up-8 > .cell {
    width: calc(12.5% - 1.3636363636rem);
  }
}
@media print, screen and (min-width: 64em) {
  .grid-margin-x.large-up-1 > .cell {
    width: calc(100% - 1.3636363636rem);
  }
  .grid-margin-x.large-up-2 > .cell {
    width: calc(50% - 1.3636363636rem);
  }
  .grid-margin-x.large-up-3 > .cell {
    width: calc(33.3333333333% - 1.3636363636rem);
  }
  .grid-margin-x.large-up-4 > .cell {
    width: calc(25% - 1.3636363636rem);
  }
  .grid-margin-x.large-up-5 > .cell {
    width: calc(20% - 1.3636363636rem);
  }
  .grid-margin-x.large-up-6 > .cell {
    width: calc(16.6666666667% - 1.3636363636rem);
  }
  .grid-margin-x.large-up-7 > .cell {
    width: calc(14.2857142857% - 1.3636363636rem);
  }
  .grid-margin-x.large-up-8 > .cell {
    width: calc(12.5% - 1.3636363636rem);
  }
}
.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: 64em) {
  .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: 64em) {
  .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: 64em) {
  .large-margin-collapse {
    margin-right: 0;
    margin-left: 0;
  }
  .large-margin-collapse > .cell {
    margin-right: 0;
    margin-left: 0;
  }
}
@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .small-1 {
    width: 8.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: 64em) {
  .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: 64em) {
  .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: 64em) {
  .large-padding-collapse {
    margin-right: 0;
    margin-left: 0;
  }
  .large-padding-collapse > .cell {
    padding-right: 0;
    padding-left: 0;
  }
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media print, screen and (min-width: 48em) {
  .medium-offset-0 {
    margin-left: 0%;
  }
  .grid-margin-x > .medium-offset-0 {
    margin-left: calc(0% + 1.3636363636rem / 2);
  }
  .medium-offset-1 {
    margin-left: 8.3333333333%;
  }
  .grid-margin-x > .medium-offset-1 {
    margin-left: calc(8.3333333333% + 1.3636363636rem / 2);
  }
  .medium-offset-2 {
    margin-left: 16.6666666667%;
  }
  .grid-margin-x > .medium-offset-2 {
    margin-left: calc(16.6666666667% + 1.3636363636rem / 2);
  }
  .medium-offset-3 {
    margin-left: 25%;
  }
  .grid-margin-x > .medium-offset-3 {
    margin-left: calc(25% + 1.3636363636rem / 2);
  }
  .medium-offset-4 {
    margin-left: 33.3333333333%;
  }
  .grid-margin-x > .medium-offset-4 {
    margin-left: calc(33.3333333333% + 1.3636363636rem / 2);
  }
  .medium-offset-5 {
    margin-left: 41.6666666667%;
  }
  .grid-margin-x > .medium-offset-5 {
    margin-left: calc(41.6666666667% + 1.3636363636rem / 2);
  }
  .medium-offset-6 {
    margin-left: 50%;
  }
  .grid-margin-x > .medium-offset-6 {
    margin-left: calc(50% + 1.3636363636rem / 2);
  }
  .medium-offset-7 {
    margin-left: 58.3333333333%;
  }
  .grid-margin-x > .medium-offset-7 {
    margin-left: calc(58.3333333333% + 1.3636363636rem / 2);
  }
  .medium-offset-8 {
    margin-left: 66.6666666667%;
  }
  .grid-margin-x > .medium-offset-8 {
    margin-left: calc(66.6666666667% + 1.3636363636rem / 2);
  }
  .medium-offset-9 {
    margin-left: 75%;
  }
  .grid-margin-x > .medium-offset-9 {
    margin-left: calc(75% + 1.3636363636rem / 2);
  }
  .medium-offset-10 {
    margin-left: 83.3333333333%;
  }
  .grid-margin-x > .medium-offset-10 {
    margin-left: calc(83.3333333333% + 1.3636363636rem / 2);
  }
  .medium-offset-11 {
    margin-left: 91.6666666667%;
  }
  .grid-margin-x > .medium-offset-11 {
    margin-left: calc(91.6666666667% + 1.3636363636rem / 2);
  }
}
@media print, screen and (min-width: 64em) {
  .large-offset-0 {
    margin-left: 0%;
  }
  .grid-margin-x > .large-offset-0 {
    margin-left: calc(0% + 1.3636363636rem / 2);
  }
  .large-offset-1 {
    margin-left: 8.3333333333%;
  }
  .grid-margin-x > .large-offset-1 {
    margin-left: calc(8.3333333333% + 1.3636363636rem / 2);
  }
  .large-offset-2 {
    margin-left: 16.6666666667%;
  }
  .grid-margin-x > .large-offset-2 {
    margin-left: calc(16.6666666667% + 1.3636363636rem / 2);
  }
  .large-offset-3 {
    margin-left: 25%;
  }
  .grid-margin-x > .large-offset-3 {
    margin-left: calc(25% + 1.3636363636rem / 2);
  }
  .large-offset-4 {
    margin-left: 33.3333333333%;
  }
  .grid-margin-x > .large-offset-4 {
    margin-left: calc(33.3333333333% + 1.3636363636rem / 2);
  }
  .large-offset-5 {
    margin-left: 41.6666666667%;
  }
  .grid-margin-x > .large-offset-5 {
    margin-left: calc(41.6666666667% + 1.3636363636rem / 2);
  }
  .large-offset-6 {
    margin-left: 50%;
  }
  .grid-margin-x > .large-offset-6 {
    margin-left: calc(50% + 1.3636363636rem / 2);
  }
  .large-offset-7 {
    margin-left: 58.3333333333%;
  }
  .grid-margin-x > .large-offset-7 {
    margin-left: calc(58.3333333333% + 1.3636363636rem / 2);
  }
  .large-offset-8 {
    margin-left: 66.6666666667%;
  }
  .grid-margin-x > .large-offset-8 {
    margin-left: calc(66.6666666667% + 1.3636363636rem / 2);
  }
  .large-offset-9 {
    margin-left: 75%;
  }
  .grid-margin-x > .large-offset-9 {
    margin-left: calc(75% + 1.3636363636rem / 2);
  }
  .large-offset-10 {
    margin-left: 83.3333333333%;
  }
  .grid-margin-x > .large-offset-10 {
    margin-left: calc(83.3333333333% + 1.3636363636rem / 2);
  }
  .large-offset-11 {
    margin-left: 91.6666666667%;
  }
  .grid-margin-x > .large-offset-11 {
    margin-left: calc(91.6666666667% + 1.3636363636rem / 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: 64em) {
  .grid-y > .large-shrink, .grid-y > .large-full, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 {
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
  }
}
.grid-y > .small-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: 64em) {
  .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.4545454545rem;
  margin-bottom: -0.4545454545rem;
}
@media print, screen and (min-width: 48em) {
  .grid-padding-y .grid-padding-y {
    margin-top: -0.6818181818rem;
    margin-bottom: -0.6818181818rem;
  }
}
.grid-padding-y > .cell {
  padding-top: 0.4545454545rem;
  padding-bottom: 0.4545454545rem;
}
@media print, screen and (min-width: 48em) {
  .grid-padding-y > .cell {
    padding-top: 0.6818181818rem;
    padding-bottom: 0.6818181818rem;
  }
}

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

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

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

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

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

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

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

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

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

@media print, screen and (min-width: 48em) {
  .grid-margin-y.medium-grid-frame {
    height: calc(100vh + 1.3636363636rem);
  }
}
@media print, screen and (min-width: 64em) {
  .grid-margin-y.large-grid-frame {
    height: calc(100vh + 1.3636363636rem);
  }
}
.row {
  max-width: 58.1818181818rem;
  margin-right: auto;
  margin-left: auto;
  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;
}
.row .row {
  margin-right: -0.4545454545rem;
  margin-left: -0.4545454545rem;
}
@media print, screen and (min-width: 48em) {
  .row .row {
    margin-right: -0.6818181818rem;
    margin-left: -0.6818181818rem;
  }
}
@media print, screen and (min-width: 64em) {
  .row .row {
    margin-right: -0.6818181818rem;
    margin-left: -0.6818181818rem;
  }
}
.row .row.collapse {
  margin-right: 0;
  margin-left: 0;
}
.row.expanded {
  max-width: none;
}
.row.expanded .row {
  margin-right: auto;
  margin-left: auto;
}
.row:not(.expanded) .row {
  max-width: none;
}
.row.collapse > .column, .row.collapse > .columns {
  padding-right: 0;
  padding-left: 0;
}
.row.is-collapse-child, .row.collapse > .column > .row, .row.collapse > .columns > .row {
  margin-right: 0;
  margin-left: 0;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media print, screen and (min-width: 48em) {
  .medium-1 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 8.3333333333%;
            flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }
  .medium-offset-0 {
    margin-left: 0%;
  }
  .medium-2 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 16.6666666667%;
            flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .medium-offset-1 {
    margin-left: 8.3333333333%;
  }
  .medium-3 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%;
  }
  .medium-offset-2 {
    margin-left: 16.6666666667%;
  }
  .medium-4 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 33.3333333333%;
            flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .medium-offset-3 {
    margin-left: 25%;
  }
  .medium-5 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 41.6666666667%;
            flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }
  .medium-offset-4 {
    margin-left: 33.3333333333%;
  }
  .medium-6 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%;
  }
  .medium-offset-5 {
    margin-left: 41.6666666667%;
  }
  .medium-7 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 58.3333333333%;
            flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }
  .medium-offset-6 {
    margin-left: 50%;
  }
  .medium-8 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 66.6666666667%;
            flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }
  .medium-offset-7 {
    margin-left: 58.3333333333%;
  }
  .medium-9 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%;
  }
  .medium-offset-8 {
    margin-left: 66.6666666667%;
  }
  .medium-10 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 83.3333333333%;
            flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }
  .medium-offset-9 {
    margin-left: 75%;
  }
  .medium-11 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 91.6666666667%;
            flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }
  .medium-offset-10 {
    margin-left: 83.3333333333%;
  }
  .medium-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%;
  }
  .medium-offset-11 {
    margin-left: 91.6666666667%;
  }
  .medium-up-1 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .medium-up-1 > .column, .medium-up-1 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%;
  }
  .medium-up-2 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .medium-up-2 > .column, .medium-up-2 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%;
  }
  .medium-up-3 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .medium-up-3 > .column, .medium-up-3 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 33.3333333333%;
            flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .medium-up-4 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .medium-up-4 > .column, .medium-up-4 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%;
  }
  .medium-up-5 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .medium-up-5 > .column, .medium-up-5 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 20%;
            flex: 0 0 20%;
    max-width: 20%;
  }
  .medium-up-6 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .medium-up-6 > .column, .medium-up-6 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 16.6666666667%;
            flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .medium-up-7 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .medium-up-7 > .column, .medium-up-7 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 14.2857142857%;
            flex: 0 0 14.2857142857%;
    max-width: 14.2857142857%;
  }
  .medium-up-8 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .medium-up-8 > .column, .medium-up-8 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 12.5%;
            flex: 0 0 12.5%;
    max-width: 12.5%;
  }
}
@media print, screen and (min-width: 48em) and (min-width: 48em) {
  .medium-expand {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
}
.row.medium-unstack > .column, .row.medium-unstack > .columns {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
}
@media print, screen and (min-width: 48em) {
  .row.medium-unstack > .column, .row.medium-unstack > .columns {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
  .medium-collapse > .column, .medium-collapse > .columns {
    padding-right: 0;
    padding-left: 0;
  }
  .medium-uncollapse > .column, .medium-uncollapse > .columns {
    padding-right: 0.6818181818rem;
    padding-left: 0.6818181818rem;
  }
}

@media print, screen and (min-width: 64em) {
  .large-1 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 8.3333333333%;
            flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }
  .large-offset-0 {
    margin-left: 0%;
  }
  .large-2 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 16.6666666667%;
            flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .large-offset-1 {
    margin-left: 8.3333333333%;
  }
  .large-3 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%;
  }
  .large-offset-2 {
    margin-left: 16.6666666667%;
  }
  .large-4 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 33.3333333333%;
            flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .large-offset-3 {
    margin-left: 25%;
  }
  .large-5 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 41.6666666667%;
            flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }
  .large-offset-4 {
    margin-left: 33.3333333333%;
  }
  .large-6 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%;
  }
  .large-offset-5 {
    margin-left: 41.6666666667%;
  }
  .large-7 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 58.3333333333%;
            flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }
  .large-offset-6 {
    margin-left: 50%;
  }
  .large-8 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 66.6666666667%;
            flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }
  .large-offset-7 {
    margin-left: 58.3333333333%;
  }
  .large-9 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%;
  }
  .large-offset-8 {
    margin-left: 66.6666666667%;
  }
  .large-10 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 83.3333333333%;
            flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }
  .large-offset-9 {
    margin-left: 75%;
  }
  .large-11 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 91.6666666667%;
            flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }
  .large-offset-10 {
    margin-left: 83.3333333333%;
  }
  .large-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%;
  }
  .large-offset-11 {
    margin-left: 91.6666666667%;
  }
  .large-up-1 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .large-up-1 > .column, .large-up-1 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%;
  }
  .large-up-2 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .large-up-2 > .column, .large-up-2 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%;
  }
  .large-up-3 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .large-up-3 > .column, .large-up-3 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 33.3333333333%;
            flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .large-up-4 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .large-up-4 > .column, .large-up-4 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%;
  }
  .large-up-5 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .large-up-5 > .column, .large-up-5 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 20%;
            flex: 0 0 20%;
    max-width: 20%;
  }
  .large-up-6 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .large-up-6 > .column, .large-up-6 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 16.6666666667%;
            flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .large-up-7 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .large-up-7 > .column, .large-up-7 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 14.2857142857%;
            flex: 0 0 14.2857142857%;
    max-width: 14.2857142857%;
  }
  .large-up-8 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .large-up-8 > .column, .large-up-8 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 12.5%;
            flex: 0 0 12.5%;
    max-width: 12.5%;
  }
}
@media print, screen and (min-width: 64em) and (min-width: 64em) {
  .large-expand {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
}
.row.large-unstack > .column, .row.large-unstack > .columns {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
}
@media print, screen and (min-width: 64em) {
  .row.large-unstack > .column, .row.large-unstack > .columns {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
  .large-collapse > .column, .large-collapse > .columns {
    padding-right: 0;
    padding-left: 0;
  }
  .large-uncollapse > .column, .large-uncollapse > .columns {
    padding-right: 0.6818181818rem;
    padding-left: 0.6818181818rem;
  }
}

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

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

[data-whatinput=mouse] .button {
  outline: 0;
}
.button {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  padding: 16px 56px;
  border: 0 none;
  border-radius: 24px;
  -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-family: inherit;
  font-size: 0.9rem;
  font-weight: bold;
  -webkit-appearance: none;
  line-height: 1;
  text-align: center;
  cursor: pointer;
}
.button.tiny {
  font-size: 0.6rem;
}
.button.small {
  font-size: 0.75rem;
}
.button.large {
  font-size: 1.25rem;
}
.button.expanded {
  display: block;
  width: 100%;
  margin-right: 0;
  margin-left: 0;
}
.button, .button.disabled, .button[disabled], .button.disabled:hover, .button[disabled]:hover, .button.disabled:focus, .button[disabled]:focus {
  background-color: #009750;
  color: #ffffff;
}
.button:hover, .button:focus {
  background-color: #ffed00;
  color: #ffffff;
}
.button.primary, .button.primary.disabled, .button.primary[disabled], .button.primary.disabled:hover, .button.primary[disabled]:hover, .button.primary.disabled:focus, .button.primary[disabled]:focus {
  background-color: #009fe3;
  color: #000000;
}
.button.primary:hover, .button.primary:focus {
  background-color: rgb(0, 127.2, 181.6);
  color: #000000;
}
.button.secondary, .button.secondary.disabled, .button.secondary[disabled], .button.secondary.disabled:hover, .button.secondary[disabled]:hover, .button.secondary.disabled:focus, .button.secondary[disabled]:focus {
  background-color: #7a9899;
  color: #000000;
}
.button.secondary:hover, .button.secondary:focus {
  background-color: rgb(95.4893617021, 123.5744680851, 124.5106382979);
  color: #000000;
}
.button.success, .button.success.disabled, .button.success[disabled], .button.success.disabled:hover, .button.success[disabled]:hover, .button.success.disabled:focus, .button.success[disabled]:focus {
  background-color: #55aa00;
  color: #000000;
}
.button.success:hover, .button.success:focus {
  background-color: #448800;
  color: #000000;
}
.button.warning, .button.warning.disabled, .button.warning[disabled], .button.warning.disabled:hover, .button.warning[disabled]:hover, .button.warning.disabled:focus, .button.warning[disabled]:focus {
  background-color: #ff8800;
  color: #000000;
}
.button.warning:hover, .button.warning:focus {
  background-color: rgb(204, 108.8, 0);
  color: #000000;
}
.button.alert, .button.alert.disabled, .button.alert[disabled], .button.alert.disabled:hover, .button.alert[disabled]:hover, .button.alert.disabled:focus, .button.alert[disabled]:focus {
  background-color: #ff0000;
  color: #000000;
}
.button.alert:hover, .button.alert:focus {
  background-color: #cc0000;
  color: #000000;
}
.button.hollow, .button.hollow:hover, .button.hollow:focus, .button.hollow.disabled, .button.hollow.disabled:hover, .button.hollow.disabled:focus, .button.hollow[disabled], .button.hollow[disabled]:hover, .button.hollow[disabled]:focus {
  background-color: transparent;
}
.button.hollow, .button.hollow.disabled, .button.hollow[disabled], .button.hollow.disabled:hover, .button.hollow[disabled]:hover, .button.hollow.disabled:focus, .button.hollow[disabled]:focus {
  border: 1px solid #009750;
  color: #009750;
}
.button.hollow:hover, .button.hollow:focus {
  border-color: rgb(0, 75.5, 40);
  color: rgb(0, 75.5, 40);
}
.button.hollow.primary, .button.hollow.primary.disabled, .button.hollow.primary[disabled], .button.hollow.primary.disabled:hover, .button.hollow.primary[disabled]:hover, .button.hollow.primary.disabled:focus, .button.hollow.primary[disabled]:focus {
  border: 1px solid #009fe3;
  color: #009fe3;
}
.button.hollow.primary:hover, .button.hollow.primary:focus {
  border-color: rgb(0, 79.5, 113.5);
  color: rgb(0, 79.5, 113.5);
}
.button.hollow.secondary, .button.hollow.secondary.disabled, .button.hollow.secondary[disabled], .button.hollow.secondary.disabled:hover, .button.hollow.secondary[disabled]:hover, .button.hollow.secondary.disabled:focus, .button.hollow.secondary[disabled]:focus {
  border: 1px solid #7a9899;
  color: #7a9899;
}
.button.hollow.secondary:hover, .button.hollow.secondary:focus {
  border-color: rgb(59.6808510638, 77.2340425532, 77.8191489362);
  color: rgb(59.6808510638, 77.2340425532, 77.8191489362);
}
.button.hollow.success, .button.hollow.success.disabled, .button.hollow.success[disabled], .button.hollow.success.disabled:hover, .button.hollow.success[disabled]:hover, .button.hollow.success.disabled:focus, .button.hollow.success[disabled]:focus {
  border: 1px solid #55aa00;
  color: #55aa00;
}
.button.hollow.success:hover, .button.hollow.success:focus {
  border-color: rgb(42.5, 85, 0);
  color: rgb(42.5, 85, 0);
}
.button.hollow.warning, .button.hollow.warning.disabled, .button.hollow.warning[disabled], .button.hollow.warning.disabled:hover, .button.hollow.warning[disabled]:hover, .button.hollow.warning.disabled:focus, .button.hollow.warning[disabled]:focus {
  border: 1px solid #ff8800;
  color: #ff8800;
}
.button.hollow.warning:hover, .button.hollow.warning:focus {
  border-color: rgb(127.5, 68, 0);
  color: rgb(127.5, 68, 0);
}
.button.hollow.alert, .button.hollow.alert.disabled, .button.hollow.alert[disabled], .button.hollow.alert.disabled:hover, .button.hollow.alert[disabled]:hover, .button.hollow.alert.disabled:focus, .button.hollow.alert[disabled]:focus {
  border: 1px solid #ff0000;
  color: #ff0000;
}
.button.hollow.alert:hover, .button.hollow.alert:focus {
  border-color: rgb(127.5, 0, 0);
  color: rgb(127.5, 0, 0);
}
.button.clear, .button.clear:hover, .button.clear:focus, .button.clear.disabled, .button.clear.disabled:hover, .button.clear.disabled:focus, .button.clear[disabled], .button.clear[disabled]:hover, .button.clear[disabled]:focus {
  border-color: transparent;
  background-color: transparent;
}
.button.clear, .button.clear.disabled, .button.clear[disabled], .button.clear.disabled:hover, .button.clear[disabled]:hover, .button.clear.disabled:focus, .button.clear[disabled]:focus {
  color: #009750;
}
.button.clear:hover, .button.clear:focus {
  color: rgb(0, 75.5, 40);
}
.button.clear.primary, .button.clear.primary.disabled, .button.clear.primary[disabled], .button.clear.primary.disabled:hover, .button.clear.primary[disabled]:hover, .button.clear.primary.disabled:focus, .button.clear.primary[disabled]:focus {
  color: #009fe3;
}
.button.clear.primary:hover, .button.clear.primary:focus {
  color: rgb(0, 79.5, 113.5);
}
.button.clear.secondary, .button.clear.secondary.disabled, .button.clear.secondary[disabled], .button.clear.secondary.disabled:hover, .button.clear.secondary[disabled]:hover, .button.clear.secondary.disabled:focus, .button.clear.secondary[disabled]:focus {
  color: #7a9899;
}
.button.clear.secondary:hover, .button.clear.secondary:focus {
  color: rgb(59.6808510638, 77.2340425532, 77.8191489362);
}
.button.clear.success, .button.clear.success.disabled, .button.clear.success[disabled], .button.clear.success.disabled:hover, .button.clear.success[disabled]:hover, .button.clear.success.disabled:focus, .button.clear.success[disabled]:focus {
  color: #55aa00;
}
.button.clear.success:hover, .button.clear.success:focus {
  color: rgb(42.5, 85, 0);
}
.button.clear.warning, .button.clear.warning.disabled, .button.clear.warning[disabled], .button.clear.warning.disabled:hover, .button.clear.warning[disabled]:hover, .button.clear.warning.disabled:focus, .button.clear.warning[disabled]:focus {
  color: #ff8800;
}
.button.clear.warning:hover, .button.clear.warning:focus {
  color: rgb(127.5, 68, 0);
}
.button.clear.alert, .button.clear.alert.disabled, .button.clear.alert[disabled], .button.clear.alert.disabled:hover, .button.clear.alert[disabled]:hover, .button.clear.alert.disabled:focus, .button.clear.alert[disabled]:focus {
  color: #ff0000;
}
.button.clear.alert:hover, .button.clear.alert:focus {
  color: rgb(127.5, 0, 0);
}
.button.disabled, .button[disabled] {
  opacity: 0.25;
  cursor: not-allowed;
}
.button.dropdown::after {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.4em;
  content: "";
  border-bottom-width: 0;
  border-color: #ffffff transparent transparent;
  position: relative;
  top: 0.4em;
  display: inline-block;
  float: right;
  margin-left: 56px;
}
.button.dropdown.hollow::after, .button.dropdown.clear::after {
  border-top-color: #009750;
}
.button.dropdown.hollow.primary::after, .button.dropdown.clear.primary::after {
  border-top-color: #009fe3;
}
.button.dropdown.hollow.secondary::after, .button.dropdown.clear.secondary::after {
  border-top-color: #7a9899;
}
.button.dropdown.hollow.success::after, .button.dropdown.clear.success::after {
  border-top-color: #55aa00;
}
.button.dropdown.hollow.warning::after, .button.dropdown.clear.warning::after {
  border-top-color: #ff8800;
}
.button.dropdown.hollow.alert::after, .button.dropdown.clear.alert::after {
  border-top-color: #ff0000;
}
.button.arrow-only::after {
  top: -0.1em;
  float: none;
  margin-left: 0;
}

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

.button-group::before, .button-group::after {
  display: table;
  content: " ";
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.button-group::after {
  clear: both;
}
.button-group {
  margin-bottom: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.button-group::before, .button-group::after {
  display: none;
}
.button-group .button {
  margin: 0;
  margin-right: 1px;
  margin-bottom: 1px;
  font-size: 0.9rem;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
.button-group .button:last-child {
  margin-right: 0;
}
.button-group.tiny .button {
  font-size: 0.6rem;
}
.button-group.small .button {
  font-size: 0.75rem;
}
.button-group.large .button {
  font-size: 1.25rem;
}
.button-group.expanded .button {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
}
.button-group.primary .button, .button-group.primary .button.disabled, .button-group.primary .button[disabled], .button-group.primary .button.disabled:hover, .button-group.primary .button[disabled]:hover, .button-group.primary .button.disabled:focus, .button-group.primary .button[disabled]:focus {
  background-color: #009fe3;
  color: #000000;
}
.button-group.primary .button:hover, .button-group.primary .button:focus {
  background-color: rgb(0, 127.2, 181.6);
  color: #000000;
}
.button-group.secondary .button, .button-group.secondary .button.disabled, .button-group.secondary .button[disabled], .button-group.secondary .button.disabled:hover, .button-group.secondary .button[disabled]:hover, .button-group.secondary .button.disabled:focus, .button-group.secondary .button[disabled]:focus {
  background-color: #7a9899;
  color: #000000;
}
.button-group.secondary .button:hover, .button-group.secondary .button:focus {
  background-color: rgb(95.4893617021, 123.5744680851, 124.5106382979);
  color: #000000;
}
.button-group.success .button, .button-group.success .button.disabled, .button-group.success .button[disabled], .button-group.success .button.disabled:hover, .button-group.success .button[disabled]:hover, .button-group.success .button.disabled:focus, .button-group.success .button[disabled]:focus {
  background-color: #55aa00;
  color: #000000;
}
.button-group.success .button:hover, .button-group.success .button:focus {
  background-color: #448800;
  color: #000000;
}
.button-group.warning .button, .button-group.warning .button.disabled, .button-group.warning .button[disabled], .button-group.warning .button.disabled:hover, .button-group.warning .button[disabled]:hover, .button-group.warning .button.disabled:focus, .button-group.warning .button[disabled]:focus {
  background-color: #ff8800;
  color: #000000;
}
.button-group.warning .button:hover, .button-group.warning .button:focus {
  background-color: rgb(204, 108.8, 0);
  color: #000000;
}
.button-group.alert .button, .button-group.alert .button.disabled, .button-group.alert .button[disabled], .button-group.alert .button.disabled:hover, .button-group.alert .button[disabled]:hover, .button-group.alert .button.disabled:focus, .button-group.alert .button[disabled]:focus {
  background-color: #ff0000;
  color: #000000;
}
.button-group.alert .button:hover, .button-group.alert .button:focus {
  background-color: #cc0000;
  color: #000000;
}
.button-group.hollow .button, .button-group.hollow .button:hover, .button-group.hollow .button:focus, .button-group.hollow .button.disabled, .button-group.hollow .button.disabled:hover, .button-group.hollow .button.disabled:focus, .button-group.hollow .button[disabled], .button-group.hollow .button[disabled]:hover, .button-group.hollow .button[disabled]:focus {
  background-color: transparent;
}
.button-group.hollow .button, .button-group.hollow .button.disabled, .button-group.hollow .button[disabled], .button-group.hollow .button.disabled:hover, .button-group.hollow .button[disabled]:hover, .button-group.hollow .button.disabled:focus, .button-group.hollow .button[disabled]:focus {
  border: 1px solid #009750;
  color: #009750;
}
.button-group.hollow .button:hover, .button-group.hollow .button:focus {
  border-color: rgb(0, 75.5, 40);
  color: rgb(0, 75.5, 40);
}
.button-group.hollow.primary .button, .button-group.hollow.primary .button.disabled, .button-group.hollow.primary .button[disabled], .button-group.hollow.primary .button.disabled:hover, .button-group.hollow.primary .button[disabled]:hover, .button-group.hollow.primary .button.disabled:focus, .button-group.hollow.primary .button[disabled]:focus, .button-group.hollow .button.primary, .button-group.hollow .button.primary.disabled, .button-group.hollow .button.primary[disabled], .button-group.hollow .button.primary.disabled:hover, .button-group.hollow .button.primary[disabled]:hover, .button-group.hollow .button.primary.disabled:focus, .button-group.hollow .button.primary[disabled]:focus {
  border: 1px solid #009fe3;
  color: #009fe3;
}
.button-group.hollow.primary .button:hover, .button-group.hollow.primary .button:focus, .button-group.hollow .button.primary:hover, .button-group.hollow .button.primary:focus {
  border-color: rgb(0, 79.5, 113.5);
  color: rgb(0, 79.5, 113.5);
}
.button-group.hollow.secondary .button, .button-group.hollow.secondary .button.disabled, .button-group.hollow.secondary .button[disabled], .button-group.hollow.secondary .button.disabled:hover, .button-group.hollow.secondary .button[disabled]:hover, .button-group.hollow.secondary .button.disabled:focus, .button-group.hollow.secondary .button[disabled]:focus, .button-group.hollow .button.secondary, .button-group.hollow .button.secondary.disabled, .button-group.hollow .button.secondary[disabled], .button-group.hollow .button.secondary.disabled:hover, .button-group.hollow .button.secondary[disabled]:hover, .button-group.hollow .button.secondary.disabled:focus, .button-group.hollow .button.secondary[disabled]:focus {
  border: 1px solid #7a9899;
  color: #7a9899;
}
.button-group.hollow.secondary .button:hover, .button-group.hollow.secondary .button:focus, .button-group.hollow .button.secondary:hover, .button-group.hollow .button.secondary:focus {
  border-color: rgb(59.6808510638, 77.2340425532, 77.8191489362);
  color: rgb(59.6808510638, 77.2340425532, 77.8191489362);
}
.button-group.hollow.success .button, .button-group.hollow.success .button.disabled, .button-group.hollow.success .button[disabled], .button-group.hollow.success .button.disabled:hover, .button-group.hollow.success .button[disabled]:hover, .button-group.hollow.success .button.disabled:focus, .button-group.hollow.success .button[disabled]:focus, .button-group.hollow .button.success, .button-group.hollow .button.success.disabled, .button-group.hollow .button.success[disabled], .button-group.hollow .button.success.disabled:hover, .button-group.hollow .button.success[disabled]:hover, .button-group.hollow .button.success.disabled:focus, .button-group.hollow .button.success[disabled]:focus {
  border: 1px solid #55aa00;
  color: #55aa00;
}
.button-group.hollow.success .button:hover, .button-group.hollow.success .button:focus, .button-group.hollow .button.success:hover, .button-group.hollow .button.success:focus {
  border-color: rgb(42.5, 85, 0);
  color: rgb(42.5, 85, 0);
}
.button-group.hollow.warning .button, .button-group.hollow.warning .button.disabled, .button-group.hollow.warning .button[disabled], .button-group.hollow.warning .button.disabled:hover, .button-group.hollow.warning .button[disabled]:hover, .button-group.hollow.warning .button.disabled:focus, .button-group.hollow.warning .button[disabled]:focus, .button-group.hollow .button.warning, .button-group.hollow .button.warning.disabled, .button-group.hollow .button.warning[disabled], .button-group.hollow .button.warning.disabled:hover, .button-group.hollow .button.warning[disabled]:hover, .button-group.hollow .button.warning.disabled:focus, .button-group.hollow .button.warning[disabled]:focus {
  border: 1px solid #ff8800;
  color: #ff8800;
}
.button-group.hollow.warning .button:hover, .button-group.hollow.warning .button:focus, .button-group.hollow .button.warning:hover, .button-group.hollow .button.warning:focus {
  border-color: rgb(127.5, 68, 0);
  color: rgb(127.5, 68, 0);
}
.button-group.hollow.alert .button, .button-group.hollow.alert .button.disabled, .button-group.hollow.alert .button[disabled], .button-group.hollow.alert .button.disabled:hover, .button-group.hollow.alert .button[disabled]:hover, .button-group.hollow.alert .button.disabled:focus, .button-group.hollow.alert .button[disabled]:focus, .button-group.hollow .button.alert, .button-group.hollow .button.alert.disabled, .button-group.hollow .button.alert[disabled], .button-group.hollow .button.alert.disabled:hover, .button-group.hollow .button.alert[disabled]:hover, .button-group.hollow .button.alert.disabled:focus, .button-group.hollow .button.alert[disabled]:focus {
  border: 1px solid #ff0000;
  color: #ff0000;
}
.button-group.hollow.alert .button:hover, .button-group.hollow.alert .button:focus, .button-group.hollow .button.alert:hover, .button-group.hollow .button.alert:focus {
  border-color: rgb(127.5, 0, 0);
  color: rgb(127.5, 0, 0);
}
.button-group.clear .button, .button-group.clear .button:hover, .button-group.clear .button:focus, .button-group.clear .button.disabled, .button-group.clear .button.disabled:hover, .button-group.clear .button.disabled:focus, .button-group.clear .button[disabled], .button-group.clear .button[disabled]:hover, .button-group.clear .button[disabled]:focus {
  border-color: transparent;
  background-color: transparent;
}
.button-group.clear .button, .button-group.clear .button.disabled, .button-group.clear .button[disabled], .button-group.clear .button.disabled:hover, .button-group.clear .button[disabled]:hover, .button-group.clear .button.disabled:focus, .button-group.clear .button[disabled]:focus {
  color: #009750;
}
.button-group.clear .button:hover, .button-group.clear .button:focus {
  color: rgb(0, 75.5, 40);
}
.button-group.clear.primary .button, .button-group.clear.primary .button.disabled, .button-group.clear.primary .button[disabled], .button-group.clear.primary .button.disabled:hover, .button-group.clear.primary .button[disabled]:hover, .button-group.clear.primary .button.disabled:focus, .button-group.clear.primary .button[disabled]:focus, .button-group.clear .button.primary, .button-group.clear .button.primary.disabled, .button-group.clear .button.primary[disabled], .button-group.clear .button.primary.disabled:hover, .button-group.clear .button.primary[disabled]:hover, .button-group.clear .button.primary.disabled:focus, .button-group.clear .button.primary[disabled]:focus {
  color: #009fe3;
}
.button-group.clear.primary .button:hover, .button-group.clear.primary .button:focus, .button-group.clear .button.primary:hover, .button-group.clear .button.primary:focus {
  color: rgb(0, 79.5, 113.5);
}
.button-group.clear.secondary .button, .button-group.clear.secondary .button.disabled, .button-group.clear.secondary .button[disabled], .button-group.clear.secondary .button.disabled:hover, .button-group.clear.secondary .button[disabled]:hover, .button-group.clear.secondary .button.disabled:focus, .button-group.clear.secondary .button[disabled]:focus, .button-group.clear .button.secondary, .button-group.clear .button.secondary.disabled, .button-group.clear .button.secondary[disabled], .button-group.clear .button.secondary.disabled:hover, .button-group.clear .button.secondary[disabled]:hover, .button-group.clear .button.secondary.disabled:focus, .button-group.clear .button.secondary[disabled]:focus {
  color: #7a9899;
}
.button-group.clear.secondary .button:hover, .button-group.clear.secondary .button:focus, .button-group.clear .button.secondary:hover, .button-group.clear .button.secondary:focus {
  color: rgb(59.6808510638, 77.2340425532, 77.8191489362);
}
.button-group.clear.success .button, .button-group.clear.success .button.disabled, .button-group.clear.success .button[disabled], .button-group.clear.success .button.disabled:hover, .button-group.clear.success .button[disabled]:hover, .button-group.clear.success .button.disabled:focus, .button-group.clear.success .button[disabled]:focus, .button-group.clear .button.success, .button-group.clear .button.success.disabled, .button-group.clear .button.success[disabled], .button-group.clear .button.success.disabled:hover, .button-group.clear .button.success[disabled]:hover, .button-group.clear .button.success.disabled:focus, .button-group.clear .button.success[disabled]:focus {
  color: #55aa00;
}
.button-group.clear.success .button:hover, .button-group.clear.success .button:focus, .button-group.clear .button.success:hover, .button-group.clear .button.success:focus {
  color: rgb(42.5, 85, 0);
}
.button-group.clear.warning .button, .button-group.clear.warning .button.disabled, .button-group.clear.warning .button[disabled], .button-group.clear.warning .button.disabled:hover, .button-group.clear.warning .button[disabled]:hover, .button-group.clear.warning .button.disabled:focus, .button-group.clear.warning .button[disabled]:focus, .button-group.clear .button.warning, .button-group.clear .button.warning.disabled, .button-group.clear .button.warning[disabled], .button-group.clear .button.warning.disabled:hover, .button-group.clear .button.warning[disabled]:hover, .button-group.clear .button.warning.disabled:focus, .button-group.clear .button.warning[disabled]:focus {
  color: #ff8800;
}
.button-group.clear.warning .button:hover, .button-group.clear.warning .button:focus, .button-group.clear .button.warning:hover, .button-group.clear .button.warning:focus {
  color: rgb(127.5, 68, 0);
}
.button-group.clear.alert .button, .button-group.clear.alert .button.disabled, .button-group.clear.alert .button[disabled], .button-group.clear.alert .button.disabled:hover, .button-group.clear.alert .button[disabled]:hover, .button-group.clear.alert .button.disabled:focus, .button-group.clear.alert .button[disabled]:focus, .button-group.clear .button.alert, .button-group.clear .button.alert.disabled, .button-group.clear .button.alert[disabled], .button-group.clear .button.alert.disabled:hover, .button-group.clear .button.alert[disabled]:hover, .button-group.clear .button.alert.disabled:focus, .button-group.clear .button.alert[disabled]:focus {
  color: #ff0000;
}
.button-group.clear.alert .button:hover, .button-group.clear.alert .button:focus, .button-group.clear .button.alert:hover, .button-group.clear .button.alert:focus {
  color: rgb(127.5, 0, 0);
}
.button-group.no-gaps .button {
  margin-right: -0.0454545455rem;
}
.button-group.no-gaps .button + .button {
  border-left-color: transparent;
}
.button-group.stacked, .button-group.stacked-for-small, .button-group.stacked-for-medium {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
}
.button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child {
  margin-bottom: 0;
}
.button-group.stacked.expanded .button, .button-group.stacked-for-small.expanded .button, .button-group.stacked-for-medium.expanded .button {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
}
@media print, screen and (min-width: 48em) {
  .button-group.stacked-for-small .button {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    margin-bottom: 0;
  }
}
@media print, screen and (min-width: 64em) {
  .button-group.stacked-for-medium .button {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    margin-bottom: 0;
  }
}
@media print, screen and (max-width: 47.99875em) {
  .button-group.stacked-for-small.expanded {
    display: block;
  }
  .button-group.stacked-for-small.expanded .button {
    display: block;
    margin-right: 0;
  }
}
@media print, screen and (max-width: 63.99875em) {
  .button-group.stacked-for-medium.expanded {
    display: block;
  }
  .button-group.stacked-for-medium.expanded .button {
    display: block;
    margin-right: 0;
  }
}

[data-whatinput=mouse] .close-button {
  outline: 0;
}
.close-button {
  position: absolute;
  z-index: 10;
  color: #4c4c4e;
  cursor: pointer;
}
.close-button:hover, .close-button:focus {
  color: #000000;
}
.close-button.small {
  right: 0.66rem;
  top: 0.33em;
  font-size: 1.5em;
  line-height: 1;
}

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

.label {
  display: inline-block;
  padding: 0.33333rem 0.5rem;
  border-radius: 0;
  font-size: 0.8rem;
  line-height: 1;
  white-space: nowrap;
  cursor: default;
  background: #000000;
  color: #ffffff;
}
.label.primary {
  background: #009fe3;
  color: #000000;
}
.label.secondary {
  background: #7a9899;
  color: #000000;
}
.label.success {
  background: #55aa00;
  color: #000000;
}
.label.warning {
  background: #ff8800;
  color: #000000;
}
.label.alert {
  background: #ff0000;
  color: #000000;
}

.breadcrumbs::before, .breadcrumbs::after {
  display: table;
  content: " ";
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.breadcrumbs::after {
  clear: both;
}
.breadcrumbs {
  margin: 0 0 1rem 0;
  list-style: none;
}
.breadcrumbs li {
  float: left;
  font-size: 0.5rem;
  color: #000000;
  cursor: default;
  text-transform: uppercase;
}
.breadcrumbs li:not(:last-child)::after {
  position: relative;
  margin: 0 0.75rem;
  opacity: 1;
  content: "/";
  color: #7a9899;
}
.breadcrumbs a {
  color: #000000;
}
.breadcrumbs a:hover {
  text-decoration: underline;
}
.breadcrumbs .disabled {
  color: #7a9899;
  cursor: not-allowed;
}

.callout {
  position: relative;
  margin: 0 0 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(0, 0, 0, 0.25);
  border-radius: 0;
}
.callout > :first-child {
  margin-top: 0;
}
.callout > :last-child {
  margin-bottom: 0;
}
.callout {
  background-color: white;
  color: #000000;
}
.callout.primary {
  background-color: rgb(212.55, 242.2837004405, 255);
  color: #000000;
}
.callout.secondary {
  background-color: rgb(235.05, 239.55, 239.7);
  color: #000000;
}
.callout.success {
  background-color: rgb(229.5, 255, 204);
  color: #000000;
}
.callout.warning {
  background-color: rgb(255, 237.15, 216.75);
  color: #000000;
}
.callout.alert {
  background-color: rgb(255, 216.75, 216.75);
  color: #000000;
}
.callout.small {
  padding-top: 0.5rem;
  padding-right: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 0.5rem;
}
.callout.large {
  padding-top: 3rem;
  padding-right: 3rem;
  padding-bottom: 3rem;
  padding-left: 3rem;
}

.dropdown-pane {
  position: absolute;
  z-index: 10;
  display: none;
  width: 300px;
  padding: 1rem;
  visibility: hidden;
  border: 1px solid #7a9899;
  border-radius: 0;
  background-color: #ffffff;
  font-size: 1rem;
}
.dropdown-pane.is-opening {
  display: block;
}
.dropdown-pane.is-open {
  display: block;
  visibility: visible;
}

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

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

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

.pagination::before, .pagination::after {
  display: table;
  content: " ";
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.pagination::after {
  clear: both;
}
.pagination {
  margin-left: 0;
  margin-bottom: 1rem;
}
.pagination li {
  margin-right: 0.0454545455rem;
  border-radius: 0;
  font-size: 0.6363636364rem;
  display: none;
}
.pagination li:last-child, .pagination li:first-child {
  display: inline-block;
}
@media print, screen and (min-width: 48em) {
  .pagination li {
    display: inline-block;
  }
}
.pagination a,
.pagination button {
  display: block;
  padding: 0.1363636364rem 0.4545454545rem;
  border-radius: 0;
  color: #000000;
}
.pagination a:hover,
.pagination button:hover {
  background: #c8d6d6;
}
.pagination .current {
  padding: 0.1363636364rem 0.4545454545rem;
  background: #000000;
  color: #ffffff;
  cursor: default;
}
.pagination .disabled {
  padding: 0.1363636364rem 0.4545454545rem;
  color: #7a9899;
  cursor: not-allowed;
}
.pagination .disabled:hover {
  background: transparent;
}
.pagination .ellipsis::after {
  padding: 0.1363636364rem 0.4545454545rem;
  content: "…";
  color: #000000;
}

.pagination-previous a::before,
.pagination-previous.disabled::before {
  display: inline-block;
  margin-right: 0.5rem;
  content: "«";
}

.pagination-next a::after,
.pagination-next.disabled::after {
  display: inline-block;
  margin-left: 0.5rem;
  content: "»";
}

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

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

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

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

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

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

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

.tabs::before, .tabs::after {
  display: table;
  content: " ";
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.tabs::after {
  clear: both;
}
.tabs {
  margin: 0;
  border: 1px solid #c8d6d6;
  background: #ffffff;
  list-style-type: none;
}

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

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

.tabs.primary {
  background: #009fe3;
}
.tabs.primary > li > a {
  color: #000000;
}
.tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
  background: rgb(0, 151.05, 215.65);
}

.tabs-title {
  float: left;
}
[data-whatinput=mouse] .tabs-title > a {
  outline: 0;
}
.tabs-title > a {
  display: block;
  padding: 1.25rem 1.5rem;
  font-size: 0.5454545455rem;
  line-height: 1;
  color: #000000;
}
.tabs-title > a:hover {
  background: #ffffff;
  color: black;
}
.tabs-title > a:focus, .tabs-title > a[aria-selected=true] {
  background: #c8d6d6;
  color: #000000;
}

.tabs-content {
  border: 1px solid #c8d6d6;
  border-top: 0;
  background: #ffffff;
  color: #000000;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

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

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

.menu {
  padding: 0;
  margin: 0;
  list-style: none;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
[data-whatinput=mouse] .menu li {
  outline: 0;
}
.menu a,
.menu .button {
  line-height: 1;
  text-decoration: none;
  display: block;
  padding: 0.7rem 1rem;
}
.menu input,
.menu select,
.menu a,
.menu button {
  margin-bottom: 0;
}
.menu input {
  display: inline-block;
}
.menu, .menu.horizontal {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}
.menu.vertical {
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.menu.vertical.icon-top li a img,
.menu.vertical.icon-top li a i,
.menu.vertical.icon-top li a svg, .menu.vertical.icon-bottom li a img,
.menu.vertical.icon-bottom li a i,
.menu.vertical.icon-bottom li a svg {
  text-align: left;
}
.menu.expanded li {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
}
.menu.expanded.icon-top li a img,
.menu.expanded.icon-top li a i,
.menu.expanded.icon-top li a svg, .menu.expanded.icon-bottom li a img,
.menu.expanded.icon-bottom li a i,
.menu.expanded.icon-bottom li a svg {
  text-align: left;
}
.menu.simple {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.menu.simple li + li {
  margin-left: 1rem;
}
.menu.simple a {
  padding: 0;
}
@media print, screen and (min-width: 48em) {
  .menu.medium-horizontal {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .menu.medium-vertical {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .menu.medium-expanded li {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
  .menu.medium-simple li {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
}
@media print, screen and (min-width: 64em) {
  .menu.large-horizontal {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .menu.large-vertical {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .menu.large-expanded li {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
  .menu.large-simple li {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
}
.menu.nested {
  margin-right: 0;
  margin-left: 1rem;
}
.menu.icons a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.menu.icon-top a, .menu.icon-right a, .menu.icon-bottom a, .menu.icon-left a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.menu.icon-left li a, .menu.nested.icon-left li a {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
}
.menu.icon-left li a img,
.menu.icon-left li a i,
.menu.icon-left li a svg, .menu.nested.icon-left li a img,
.menu.nested.icon-left li a i,
.menu.nested.icon-left li a svg {
  margin-right: 0.25rem;
}
.menu.icon-right li a, .menu.nested.icon-right li a {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
}
.menu.icon-right li a img,
.menu.icon-right li a i,
.menu.icon-right li a svg, .menu.nested.icon-right li a img,
.menu.nested.icon-right li a i,
.menu.nested.icon-right li a svg {
  margin-left: 0.25rem;
}
.menu.icon-top li a, .menu.nested.icon-top li a {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap;
}
.menu.icon-top li a img,
.menu.icon-top li a i,
.menu.icon-top li a svg, .menu.nested.icon-top li a img,
.menu.nested.icon-top li a i,
.menu.nested.icon-top li a svg {
  -ms-flex-item-align: stretch;
      align-self: stretch;
  margin-bottom: 0.25rem;
  text-align: center;
}
.menu.icon-bottom li a, .menu.nested.icon-bottom li a {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap;
}
.menu.icon-bottom li a img,
.menu.icon-bottom li a i,
.menu.icon-bottom li a svg, .menu.nested.icon-bottom li a img,
.menu.nested.icon-bottom li a i,
.menu.nested.icon-bottom li a svg {
  -ms-flex-item-align: stretch;
      align-self: stretch;
  margin-bottom: 0.25rem;
  text-align: center;
}
.menu .is-active > a {
  background: #009fe3;
  color: #000000;
}
.menu .active > a {
  background: #009fe3;
  color: #000000;
}
.menu.align-left {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.menu.align-right li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.menu.align-right li .submenu li {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.menu.align-right.vertical li {
  display: block;
  text-align: right;
}
.menu.align-right.vertical li .submenu li {
  text-align: right;
}
.menu.align-right.icon-top li a img,
.menu.align-right.icon-top li a i,
.menu.align-right.icon-top li a svg, .menu.align-right.icon-bottom li a img,
.menu.align-right.icon-bottom li a i,
.menu.align-right.icon-bottom li a svg {
  text-align: right;
}
.menu.align-right .nested {
  margin-right: 1rem;
  margin-left: 0;
}
.menu.align-center li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.menu.align-center li .submenu li {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.menu .menu-text {
  padding: 0.7rem 1rem;
  font-weight: bold;
  line-height: 1;
  color: inherit;
}

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

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

.accordion-menu li {
  width: 100%;
}
.accordion-menu a {
  padding: 0.7rem 1rem;
}
.accordion-menu .is-accordion-submenu a {
  padding: 0.7rem 1rem;
}
.accordion-menu .nested.is-accordion-submenu {
  margin-right: 0;
  margin-left: 1rem;
}
.accordion-menu.align-right .nested.is-accordion-submenu {
  margin-right: 1rem;
  margin-left: 0;
}
.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a {
  position: relative;
}
.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a::after {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px;
  content: "";
  border-bottom-width: 0;
  border-color: #000000 transparent transparent;
  position: absolute;
  top: 50%;
  margin-top: -3px;
  right: 1rem;
}
.accordion-menu.align-left .is-accordion-submenu-parent > a::after {
  right: 1rem;
  left: auto;
}
.accordion-menu.align-right .is-accordion-submenu-parent > a::after {
  right: auto;
  left: 1rem;
}
.accordion-menu .is-accordion-submenu-parent[aria-expanded=true] > a::after {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
}

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

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

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

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

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

.is-drilldown {
  position: relative;
  overflow: hidden;
}
.is-drilldown li {
  display: block;
}
.is-drilldown.animate-height {
  -webkit-transition: height 0.5s;
  transition: height 0.5s;
}

.drilldown a {
  padding: 0.7rem 1rem;
  background: #ffffff;
}
.drilldown .is-drilldown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: -1;
  width: 100%;
  background: #ffffff;
  -webkit-transition: -webkit-transform 0.15s linear;
  transition: -webkit-transform 0.15s linear;
  transition: transform 0.15s linear;
  transition: transform 0.15s linear, -webkit-transform 0.15s linear;
}
.drilldown .is-drilldown-submenu.is-active {
  z-index: 1;
  display: block;
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
}
.drilldown .is-drilldown-submenu.is-closing {
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
}
.drilldown .is-drilldown-submenu a {
  padding: 0.7rem 1rem;
}
.drilldown .nested.is-drilldown-submenu {
  margin-right: 0;
  margin-left: 0;
}
.drilldown .drilldown-submenu-cover-previous {
  min-height: 100%;
}
.drilldown .is-drilldown-submenu-parent > a {
  position: relative;
}
.drilldown .is-drilldown-submenu-parent > a::after {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px;
  content: "";
  border-right-width: 0;
  border-color: transparent transparent transparent #000000;
  position: absolute;
  top: 50%;
  margin-top: -6px;
  right: 1rem;
}
.drilldown.align-left .is-drilldown-submenu-parent > a::after {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px;
  content: "";
  border-right-width: 0;
  border-color: transparent transparent transparent #000000;
  right: 1rem;
  left: auto;
}
.drilldown.align-right .is-drilldown-submenu-parent > a::after {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px;
  content: "";
  border-left-width: 0;
  border-color: transparent #000000 transparent transparent;
  right: auto;
  left: 1rem;
}
.drilldown .js-drilldown-back > a::before {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px;
  content: "";
  border-left-width: 0;
  border-color: transparent #000000 transparent transparent;
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.75rem;
}

.dropdown.menu > li.opens-left > .is-dropdown-submenu {
  top: 100%;
  right: 0;
  left: auto;
}
.dropdown.menu > li.opens-right > .is-dropdown-submenu {
  top: 100%;
  right: auto;
  left: 0;
}
.dropdown.menu > li.is-dropdown-submenu-parent > a {
  position: relative;
  padding-right: 1.5rem;
}
.dropdown.menu > li.is-dropdown-submenu-parent > a::after {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px;
  content: "";
  border-bottom-width: 0;
  border-color: #000000 transparent transparent;
  right: 5px;
  left: auto;
  margin-top: -3px;
}
[data-whatinput=mouse] .dropdown.menu a {
  outline: 0;
}
.dropdown.menu > li > a {
  padding: 0.7rem 1rem;
}
.dropdown.menu > li.is-active > a {
  background: transparent;
  color: #009fe3;
}
.no-js .dropdown.menu ul {
  display: none;
}
.dropdown.menu .nested.is-dropdown-submenu {
  margin-right: 0;
  margin-left: 0;
}
.dropdown.menu.vertical > li .is-dropdown-submenu {
  top: 0;
}
.dropdown.menu.vertical > li.opens-left > .is-dropdown-submenu {
  top: 0;
  right: 100%;
  left: auto;
}
.dropdown.menu.vertical > li.opens-right > .is-dropdown-submenu {
  right: auto;
  left: 100%;
}
.dropdown.menu.vertical > li > a::after {
  right: 14px;
}
.dropdown.menu.vertical > li.opens-left > a::after {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px;
  content: "";
  border-left-width: 0;
  border-color: transparent #000000 transparent transparent;
  right: auto;
  left: 5px;
}
.dropdown.menu.vertical > li.opens-right > a::after {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px;
  content: "";
  border-right-width: 0;
  border-color: transparent transparent transparent #000000;
}
@media print, screen and (min-width: 48em) {
  .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto;
  }
  .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0;
  }
  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem;
  }
  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px;
    content: "";
    border-bottom-width: 0;
    border-color: #000000 transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px;
  }
  .dropdown.menu.medium-vertical > li .is-dropdown-submenu {
    top: 0;
  }
  .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu {
    top: 0;
    right: 100%;
    left: auto;
  }
  .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%;
  }
  .dropdown.menu.medium-vertical > li > a::after {
    right: 14px;
  }
  .dropdown.menu.medium-vertical > li.opens-left > a::after {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px;
    content: "";
    border-left-width: 0;
    border-color: transparent #000000 transparent transparent;
    right: auto;
    left: 5px;
  }
  .dropdown.menu.medium-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px;
    content: "";
    border-right-width: 0;
    border-color: transparent transparent transparent #000000;
  }
}
@media print, screen and (min-width: 64em) {
  .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto;
  }
  .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0;
  }
  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem;
  }
  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px;
    content: "";
    border-bottom-width: 0;
    border-color: #000000 transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px;
  }
  .dropdown.menu.large-vertical > li .is-dropdown-submenu {
    top: 0;
  }
  .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu {
    top: 0;
    right: 100%;
    left: auto;
  }
  .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%;
  }
  .dropdown.menu.large-vertical > li > a::after {
    right: 14px;
  }
  .dropdown.menu.large-vertical > li.opens-left > a::after {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px;
    content: "";
    border-left-width: 0;
    border-color: transparent #000000 transparent transparent;
    right: auto;
    left: 5px;
  }
  .dropdown.menu.large-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px;
    content: "";
    border-right-width: 0;
    border-color: transparent transparent transparent #000000;
  }
}
.dropdown.menu.align-right .is-dropdown-submenu.first-sub {
  top: 100%;
  right: 0;
  left: auto;
}

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

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

.is-dropdown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: 1;
  display: none;
  min-width: 200px;
  border: 1px solid #7a9899;
  background: #ffffff;
}
.dropdown .is-dropdown-submenu a {
  padding: 0.7rem 1rem;
}
.is-dropdown-submenu .is-dropdown-submenu-parent > a::after {
  right: 14px;
}
.is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px;
  content: "";
  border-left-width: 0;
  border-color: transparent #000000 transparent transparent;
  right: auto;
  left: 5px;
}
.is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px;
  content: "";
  border-right-width: 0;
  border-color: transparent transparent transparent #000000;
}
.is-dropdown-submenu .is-dropdown-submenu {
  margin-top: -1px;
}
.is-dropdown-submenu > li {
  width: 100%;
}
.is-dropdown-submenu.js-dropdown-active {
  display: block;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.small-order-1 {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.small-order-2 {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}

.small-order-3 {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
}

.small-order-4 {
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4;
}

.small-order-5 {
  -webkit-box-ordinal-group: 6;
      -ms-flex-order: 5;
          order: 5;
}

.small-order-6 {
  -webkit-box-ordinal-group: 7;
      -ms-flex-order: 6;
          order: 6;
}

@media print, screen and (min-width: 48em) {
  .medium-order-1 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .medium-order-2 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .medium-order-3 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .medium-order-4 {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
  .medium-order-5 {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
  }
  .medium-order-6 {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6;
  }
}
@media print, screen and (min-width: 64em) {
  .large-order-1 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .large-order-2 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .large-order-3 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .large-order-4 {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
  .large-order-5 {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
  }
  .large-order-6 {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6;
  }
}
.flex-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

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

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

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

.flex-dir-row {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}

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

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

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

@media print, screen and (min-width: 48em) {
  .medium-flex-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .medium-flex-child-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
  }
  .medium-flex-child-grow {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto;
  }
  .medium-flex-child-shrink {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
  }
  .medium-flex-dir-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .medium-flex-dir-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .medium-flex-dir-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .medium-flex-dir-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
@media print, screen and (min-width: 64em) {
  .large-flex-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .large-flex-child-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
  }
  .large-flex-child-grow {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto;
  }
  .large-flex-child-shrink {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
  }
  .large-flex-dir-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .large-flex-dir-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .large-flex-dir-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .large-flex-dir-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
.hide {
  display: none !important;
}

.invisible {
  visibility: hidden;
}

.visible {
  visibility: visible;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.show-for-dark-mode {
  display: none;
}

.hide-for-dark-mode {
  display: block;
}

@media screen and (prefers-color-scheme: dark) {
  .show-for-dark-mode {
    display: block !important;
  }
  .hide-for-dark-mode {
    display: none !important;
  }
}
.show-for-ie {
  display: none;
}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .show-for-ie {
    display: block !important;
  }
  .hide-for-ie {
    display: none !important;
  }
}
.show-for-sticky {
  display: none;
}

.is-stuck .show-for-sticky {
  display: block;
}

.is-stuck .hide-for-sticky {
  display: none;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.spin-ccw {
  -webkit-animation-name: spin-ccw-1turn;
          animation-name: spin-ccw-1turn;
}
@-webkit-keyframes spin-ccw-1turn {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(-1turn);
            transform: rotate(-1turn);
  }
}
@keyframes spin-ccw-1turn {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(-1turn);
            transform: rotate(-1turn);
  }
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@-webkit-keyframes scrollDownInfinite {
  0% {
    padding-top: 0;
  }
  50% {
    padding-top: 20px;
  }
  100% {
    padding-top: 0;
  }
}

@keyframes scrollDownInfinite {
  0% {
    padding-top: 0;
  }
  50% {
    padding-top: 20px;
  }
  100% {
    padding-top: 0;
  }
}
/*
 * zurb_foundation.scss - Contains all Drupal-specific SASS for this theme.
 *
 * @todo Split this into multiple folders/files.
*/
.region-highlighted:empty {
  display: none;
}

.toolbar-tray a {
  font-size: 13px;
}

.toolbar .toolbar-toggle-orientation .toolbar-icon {
  margin: 0;
}
.toolbar .toolbar-toggle-orientation .toolbar-icon:before {
  min-height: 0;
}

.top-bar-section ul li {
  padding-top: 0;
}
.top-bar-section ul li a.is-active {
  color: #ffffff;
}

.no-js .top-bar {
  display: none;
}

@media screen and (min-width: 40em) {
  .no-js .top-bar {
    display: block;
  }
  .no-js .title-bar {
    display: none;
  }
}
body.toolbar-fixed .sticky.is-stuck .top-bar {
  margin-top: 39px;
}

body.toolbar-fixed.toolbar-horizontal.toolbar-tray-open .sticky.is-stuck .top-bar {
  margin-top: 78px;
}

body.toolbar-fixed .sticky.is-stuck.is-at-top {
  margin-top: 0 !important;
}

.top-bar .menu-item--collapsed,
.top-bar .menu-item--expanded {
  list-style: none;
}

.top-bar .search-block-form .form-item-keys,
.top-bar .search-block-form .form-actions {
  display: inline-block;
}

.dropbutton-wrapper {
  background-color: #008cba;
  margin: 0 0 1.25rem;
}
.dropbutton-wrapper .button {
  margin-bottom: 0;
  width: 100%;
  text-align: left;
}

.button:hover {
  background-color: #ffed00;
  color: #000000 !important;
}

.form-required:after {
  display: inline-block;
  width: 6px;
  height: 6px;
  margin: 0 0.3em;
  content: "";
  vertical-align: super;
  background-image: url(../images/foundation/misc/required.svg);
  background-repeat: no-repeat;
  background-size: 6px 6px;
}

.node-preview-container {
  position: relative;
}
.node-preview-container .node-preview-backlink {
  margin-right: 1rem;
}
.node-preview-container select {
  width: auto;
}

#edit-comment-body-wrapper {
  margin: 0 0 0.625rem;
}

#toolbar-administration {
  display: none;
}
@media print, screen and (min-width: 64em) {
  #toolbar-administration {
    display: block !important;
  }
}

@media print, screen and (max-width: 63.99875em) {
  body.toolbar-tray-open.toolbar-vertical.toolbar-fixed {
    margin-left: 0;
  }
  body.adminimal-admin-toolbar {
    margin-left: 0 !important;
    padding-top: 0 !important;
  }
}
.js-form-type-select label {
  display: none;
}

@font-face {
  font-family: "interpump";
  src: url("../fonts/interpump/interpump.eot?2951790");
  src: url("../fonts/interpump/interpump.eot?2951790#iefix") format("embedded-opentype"), url("../fonts/interpump/interpump.woff2?2951790") format("woff2"), url("../fonts/interpump/interpump.woff?2951790") format("woff"), url("../fonts/interpump/interpump.ttf?2951790") format("truetype"), url("../fonts/interpump/interpump.svg?2951790#interpump") format("svg");
  font-weight: normal;
  font-style: normal;
}
/* IBM Plex Sans Regular */
@font-face {
  font-family: "IBM Plex Sans";
  font-style: normal;
  font-weight: 400;
  src: local(""), url("../fonts/IBM_Plex_Sans/IBMPlexSans-Regular.ttf") format("truetype");
}
/* IBM Plex Sans Italic */
@font-face {
  font-family: "IBM Plex Sans";
  font-style: italic;
  font-weight: 400;
  src: local(""), url("../fonts/IBM_Plex_Sans/IBMPlexSans-Italic.ttf") format("truetype");
}
/* IBM Plex Sans Medium*/
@font-face {
  font-family: "IBM Plex Sans";
  font-style: normal;
  font-weight: 500;
  src: local(""), url("../fonts/IBM_Plex_Sans/IBMPlexSans-Medium.ttf") format("truetype");
}
/* IBM Plex Sans Medium Italic*/
@font-face {
  font-family: "IBM Plex Sans";
  font-style: italic;
  font-weight: 500;
  src: local(""), url("../fonts/IBM_Plex_Sans/IBMPlexSans-MediumItalic.ttf") format("truetype");
}
/* IBM Plex Sans Bold*/
@font-face {
  font-family: "IBM Plex Sans";
  font-style: normal;
  font-weight: 700;
  src: local(""), url("../fonts/IBM_Plex_Sans/IBMPlexSans-Bold.ttf") format("truetype");
}
[class^=icn-]:before, [class*=icn-]:before, .node-row-event .custom-right-wrapper .calendar-icon:before, .media-gallery .media-video-content a.fancy-link-video:before, .media-gallery .media-content:not(.media-video-content) a.media-expand:before, .media-gallery .media-content:not(.media-video-content) a.media-download:before, .views-element-container ul.pager__items li.pager__item.pager__item--next a:after, .views-element-container ul.pager__items li.pager__item.pager__item--previous a:after, .paragraph--type--slider .swiper-container .swiper-next:before, .paragraph--type--slider .swiper-container .swiper-prev:before, .block-tt-utilities.block-tt-map-block .listPanel li:after, .mm-menu .mm-panel .mm-btn_prev:before, header.pageHeader a.search-modal-button.open:before, header.pageHeader a.search-modal-button:before, .select2-container--default .select2-selection__arrow:before,
.select2-container--default .dropdown-wrapper:before, .custom-row-wrapper .calendar-attach-multiple-wrap .calendar-attachments-container .item-calendar-attach .icon-calendar-attach.audio-mpeg:before, .custom-row-wrapper .calendar-attach-multiple-wrap .calendar-attachments-container .item-calendar-attach .icon-calendar-attach.application-pdf:before, .custom-row-wrapper .custom-row .custom-icon:before, .scroll-down:after, a.link-email:before, a.link-external:before, a.link-download:before, a.pdf-icon:before {
  font-family: interpump;
  font-style: normal;
  font-weight: normal;
  speak: none;
  text-decoration: inherit;
  text-align: center;
  text-transform: none;
  display: inline-block;
  vertical-align: middle;
  font-variant: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icn-more-horiz:before {
  content: "\e800";
}

.icn-minimize:before {
  content: "\e801";
}

.icn-more:before {
  content: "\e802";
}

.icn-ticket:before {
  content: "\e803";
}

.icn-timer:before {
  content: "\e804";
}

.icn-external-link:before {
  content: "\e805";
}

.icn-search:before {
  content: "\e806";
}

.icn-expand:before {
  content: "\e807";
}

.icn-download:before {
  content: "\e808";
}

.icn-dropdown-outline:before {
  content: "\e809";
}

.icn-chevron-up:before {
  content: "\e80a";
}

.icn-close:before {
  content: "\e80b";
}

.icn-chevron-down:before {
  content: "\e80c";
}

.icn-arrow-forward:before {
  content: "\e80d";
}

.icn-arrow-dropdown:before {
  content: "\e80e";
}

.icn-audio:before {
  content: "\e80f";
}

.icn-arrow-left:before {
  content: "\e810";
}

.icn-pdf:before {
  content: "\e811";
}

.icn-arrow-back:before {
  content: "\e812";
}

.icn-arrow-right:before {
  content: "\e813";
}

.icn-attachment:before {
  content: "\e814";
}

.icn-play:before {
  content: "\e815";
}

.icn-mini-arrow-down:before {
  content: "\e816";
}

.icn-calendar:before {
  content: "\e83f";
}

html:not(.frontpage) {
  scroll-behavior: smooth;
}

:root {
  --swiper-theme-color: #46b384;
}

*:focus {
  outline: 0 none;
}

body {
  scroll-behavior: smooth;
}
body.noscroll {
  overflow: hidden !important;
}

.bgCover, .bgCoverAbs {
  position: relative;
  background-color: transparent;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.bgCover:before, .bgCoverAbs:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: transparent;
}

.bgCoverAbs {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* Elevations */
.elevation-base, .elevation-24, .elevation-16, .elevation-12, .elevation-09, .elevation-08, .elevation-06, .elevation-04, .elevation-03, .elevation-02, .elevation-01, .elevation-00 {
  border-radius: 20px;
  opacity: 1;
  background-color: rgb(255, 255, 255);
}

.elevation-00 {
  -webkit-box-shadow: 0px 0px 0px rgba(0, 0, 0, 0.2);
          box-shadow: 0px 0px 0px rgba(0, 0, 0, 0.2);
}

.elevation-01 {
  -webkit-box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.2);
          box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.2);
}

.elevation-02 {
  -webkit-box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.2);
          box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.2);
}

.elevation-03 {
  -webkit-box-shadow: 0px 3px 4px rgba(0, 0, 0, 0.2);
          box-shadow: 0px 3px 4px rgba(0, 0, 0, 0.2);
}

.elevation-04 {
  -webkit-box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.2);
          box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.2);
}

.elevation-06 {
  -webkit-box-shadow: 0px 6px 10px rgba(0, 0, 0, 0.2);
          box-shadow: 0px 6px 10px rgba(0, 0, 0, 0.2);
}

.elevation-08 {
  -webkit-box-shadow: 0px 8px 10px rgba(0, 0, 0, 0.2);
          box-shadow: 0px 8px 10px rgba(0, 0, 0, 0.2);
}

.elevation-09 {
  -webkit-box-shadow: 0px 9px 14px rgba(0, 0, 0, 0.2);
          box-shadow: 0px 9px 14px rgba(0, 0, 0, 0.2);
}

.elevation-12 {
  -webkit-box-shadow: 0px 12px 18px rgba(0, 0, 0, 0.2);
          box-shadow: 0px 12px 18px rgba(0, 0, 0, 0.2);
}

.elevation-16 {
  -webkit-box-shadow: 0px 16px 26px rgba(0, 0, 0, 0.2);
          box-shadow: 0px 16px 26px rgba(0, 0, 0, 0.2);
}

.elevation-24 {
  -webkit-box-shadow: 0px 24px 40px rgba(0, 0, 0, 0.2);
          box-shadow: 0px 24px 40px rgba(0, 0, 0, 0.2);
}

.underlined-text, .paragraph--type--vertical-cards .card-wrapper .card-content .card-subtitle, .custom-row-wrapper .calendar-attach-multiple-wrap .read-more-calendar-attach, a.link-more, .paragraph--type--discover-more .card-content .card-link a, .paragraph--type--cards-3-columns .card-content .card-link a, .paragraph--type--cards .card-content .card-link a {
  position: relative;
  font-size: 0.5454545455rem;
  font-weight: 400;
  letter-spacing: 3px;
  line-height: 2rem;
  text-transform: uppercase;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.underlined-text:after, .paragraph--type--vertical-cards .card-wrapper .card-content .card-subtitle:after, .custom-row-wrapper .calendar-attach-multiple-wrap .read-more-calendar-attach:after, a.link-more:after, .paragraph--type--discover-more .card-content .card-link a:after, .paragraph--type--cards-3-columns .card-content .card-link a:after, .paragraph--type--cards .card-content .card-link a:after {
  content: "";
  position: absolute;
  margin-top: 8px;
  top: 14px;
  left: 0;
  height: 1px;
  width: 100%;
  background-color: #009750;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

/** Links **/
a {
  color: #009750;
}
a:hover {
  color: #009750;
  text-decoration: underline;
}
a.link-download, a.link-external, a.link-email, a.link-icon {
  position: relative;
  color: #000000;
  letter-spacing: 3px !important;
  line-height: 24px;
  text-transform: uppercase;
  padding: 8px 8px 8px 0;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
a.link-download:before, a.link-external:before, a.link-email:before, a.link-icon:before {
  font-size: 24px;
  line-height: 1;
  margin-right: 8px;
  padding: 12px 9px 12px 12px;
  background-color: #009750;
  color: #ffffff;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
a.link-download:hover, a.link-external:hover, a.link-email:hover, a.link-icon:hover {
  text-decoration: none;
}
a.link-download:hover:before, a.link-external:hover:before, a.link-email:hover:before, a.link-icon:hover:before {
  color: #000000;
  background-color: #ffed00;
}
a.link-download:hover:after, a.link-external:hover:after, a.link-email:hover:after, a.link-icon:hover:after {
  background-color: #ffed00;
}
a.link-download:after, a.link-external:after, a.link-email:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 47px;
  height: 1px;
  width: calc(100% - 47px);
  background-color: #009750;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
a.link-download:before, a.pdf-icon:before {
  content: "\e811";
}
a.link-external:before {
  content: "\e805";
  font-size: 0.8181818182rem;
}
a.link-email:before {
  content: "\e805";
  font-size: 0.8181818182rem;
}
a.link-more, .paragraph--type--discover-more .card-content .card-link a, .paragraph--type--cards-3-columns .card-content .card-link a, .paragraph--type--cards .card-content .card-link a {
  color: #000000;
}
a.link-more:hover, .paragraph--type--discover-more .card-content .card-link a:hover, .paragraph--type--cards-3-columns .card-content .card-link a:hover, .paragraph--type--cards .card-content .card-link a:hover {
  text-decoration: none;
}
a.link-more:hover:after, .paragraph--type--discover-more .card-content .card-link a:hover:after, .paragraph--type--cards-3-columns .card-content .card-link a:hover:after, .paragraph--type--cards .card-content .card-link a:hover:after {
  background-color: #ffed00;
}
a.link-button, .paragraph--type--vertical-cards .card-wrapper .card-content a {
  display: inline-block;
  border-radius: 24px;
  padding: 16px 56px;
  background-color: #009750;
  color: #ffffff;
  font-weight: 700;
  font-size: 0.6363636364rem;
  letter-spacing: 0px;
  line-height: 0.8181818182rem;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
a.link-button:hover, .paragraph--type--vertical-cards .card-wrapper .card-content a:hover {
  color: #000000;
  background-color: #ffed00;
  text-decoration: none;
}
a.link-icon {
  margin: 0;
  padding: 0;
}
a.link-icon:before {
  margin: 0;
}

/* Separators */
.separator, .separator-bottom, .separator-bottom-small {
  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-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.separator-bottom:after, .separator-bottom-small:after {
  content: "";
  bottom: 0;
  height: 1px;
  background-color: #009750;
  margin-top: 14px;
}

.separator-bottom-small:after {
  width: 35px;
}

.video-wrapper .video-cover {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: calc(100vh - 100px);
  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;
  z-index: 1;
}
.video-wrapper .video-cover img {
  height: 350px;
}
.video-wrapper #video-home {
  position: relative;
  width: 100%;
  height: 100vh;
  -o-object-fit: cover;
     object-fit: cover;
  background-color: #000;
  background-size: cover;
  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;
  top: 0;
  left: 0;
}
.video-wrapper .video-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  z-index: 0;
}
.video-wrapper .video-text p {
  color: #ffffff;
  position: absolute;
  font-size: 68px;
  font-weight: 700;
  visibility: hidden;
}
.video-wrapper .video-text > p > div {
  z-index: 0;
}

.scroll-down {
  position: fixed;
  bottom: 100px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  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: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 60px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.scroll-down:after {
  content: "\e816";
  font-size: 12px;
  color: #ffffff;
  margin-top: 20px;
  -webkit-animation: scrollDownInfinite 1.5s infinite;
          animation: scrollDownInfinite 1.5s infinite;
}
.scroll-down p {
  color: #ffffff;
  font-size: 0.9090909091rem;
  font-weight: 500;
}

.field--name-field-msg-c-body ul {
  list-style-type: none; /* Rimuove i cerchietti predefiniti */
  padding: 0; /* Rimuove il padding predefinito dell'elenco */
}
.field--name-field-msg-c-body ul li {
  margin-bottom: 5px;
  margin-left: 6px;
  position: relative;
}
.field--name-field-msg-c-body ul li::before {
  content: "";
  background: #009750;
  display: inline-block;
  width: 14px;
  height: 14px;
  position: absolute;
  top: 9px;
  left: -24px;
  border-radius: 7px;
}

.basic-icon:before, .node-row-event .custom-right-wrapper .calendar-icon:before, .custom-row-wrapper .custom-row .custom-icon:before {
  color: #ffffff;
  font-size: 1rem;
  width: 40px;
  height: 40px;
  background-color: #009750;
  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;
  text-align: center;
}

.custom-row-wrapper {
  color: #000000;
  padding: 20px 0;
  display: block;
}
.custom-row-wrapper .custom-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media print, screen and (min-width: 48em) {
  .custom-row-wrapper .custom-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.custom-row-wrapper .custom-row .custom-title-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media print, screen and (min-width: 48em) {
  .custom-row-wrapper .custom-row .custom-title-wrapper {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.custom-row-wrapper .custom-row .custom-icon {
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.custom-row-wrapper .custom-row .custom-icon:before {
  content: "\e811";
}
@media print, screen and (min-width: 48em) {
  .custom-row-wrapper .custom-row .custom-icon {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.custom-row-wrapper .custom-row .custom-title {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  padding-left: 10px;
}
.custom-row-wrapper .custom-row .custom-title span, .custom-row-wrapper .custom-row .custom-title .field--node-field-subtitle {
  font-weight: 700;
  text-transform: uppercase;
}
@media print, screen and (min-width: 48em) {
  .custom-row-wrapper .custom-row .custom-title {
    padding-left: 30px;
    padding-right: 15px;
  }
}
.custom-row-wrapper .custom-row .custom-date {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  white-space: nowrap;
  margin-bottom: 10px;
}
@media print, screen and (min-width: 48em) {
  .custom-row-wrapper .custom-row .custom-date {
    margin-bottom: 0;
  }
}
.custom-row-wrapper .calendar-attach-multiple-wrap {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 100%;
          flex: 1 1 100%;
  width: 100%;
}
.custom-row-wrapper .calendar-attach-multiple-wrap .read-more-calendar-attach {
  margin: 10px 0 0 0;
  line-height: 1.5rem;
  cursor: pointer;
}
.custom-row-wrapper .calendar-attach-multiple-wrap .read-more-calendar-attach:after {
  top: auto;
  bottom: 0;
}
.custom-row-wrapper .calendar-attach-multiple-wrap .calendar-attachments-container {
  display: none;
  padding-top: 20px;
}
.custom-row-wrapper .calendar-attach-multiple-wrap .calendar-attachments-container .item-calendar-attach {
  display: block;
  padding: 10px 0;
  color: black;
  border-bottom: 1px solid #D1D2D4;
}
.custom-row-wrapper .calendar-attach-multiple-wrap .calendar-attachments-container .item-calendar-attach:hover {
  text-decoration: none;
  color: #009750;
}
.custom-row-wrapper .calendar-attach-multiple-wrap .calendar-attachments-container .item-calendar-attach > * {
  display: inline-block;
  vertical-align: middle;
  margin: 0 15px 0 0;
}
.custom-row-wrapper .calendar-attach-multiple-wrap .calendar-attachments-container .item-calendar-attach > *:last-child {
  margin: 0;
}
.custom-row-wrapper .calendar-attach-multiple-wrap .calendar-attachments-container .item-calendar-attach .title-calendar-attach {
  width: calc(100% - 165px);
  word-break: break-word;
  font-weight: normal !important;
}
@media all and (max-width: 900px) {
  .custom-row-wrapper .calendar-attach-multiple-wrap .calendar-attachments-container .item-calendar-attach .title-calendar-attach {
    width: calc(100% - 55px);
  }
}
.custom-row-wrapper .calendar-attach-multiple-wrap .calendar-attachments-container .item-calendar-attach .size-calendar-attach {
  font-size: 16px;
  text-align: right;
  width: 90px;
}
@media all and (max-width: 1024px) {
  .custom-row-wrapper .calendar-attach-multiple-wrap .calendar-attachments-container .item-calendar-attach .size-calendar-attach {
    font-size: 14px;
  }
}
@media all and (max-width: 900px) {
  .custom-row-wrapper .calendar-attach-multiple-wrap .calendar-attachments-container .item-calendar-attach .size-calendar-attach {
    display: none;
  }
}
.custom-row-wrapper .calendar-attach-multiple-wrap .calendar-attachments-container .item-calendar-attach .icon-calendar-attach {
  width: 30px;
  text-align: right;
}
.custom-row-wrapper .calendar-attach-multiple-wrap .calendar-attachments-container .item-calendar-attach .icon-calendar-attach:before {
  font-size: 30px;
}
.custom-row-wrapper .calendar-attach-multiple-wrap .calendar-attachments-container .item-calendar-attach .icon-calendar-attach.application-pdf:before {
  content: "\e811";
}
.custom-row-wrapper .calendar-attach-multiple-wrap .calendar-attachments-container .item-calendar-attach .icon-calendar-attach.audio-mpeg:before {
  content: "\e80f";
}
.custom-row-wrapper.audio .custom-row .custom-icon:before {
  content: "\e80f";
}
.custom-row-wrapper:hover {
  color: #000000;
}
.custom-row-wrapper:hover .custom-icon:before {
  color: #000000;
  background-color: #ffed00;
}
.custom-row-wrapper:hover .custom-title {
  text-decoration: underline;
}

.custom-row-wrapper.multiple-attachments .custom-row {
  padding: 20px 0 30px 0;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.custom-row-wrapper.multiple-attachments .custom-row .custom-right-wrapper .calendar-icon {
  padding: 0 !important;
}

form[data-bef-auto-submit] input[type=submit] {
  display: none !important;
}

.modal-minicard.fancybox-content {
  padding: 64px;
}
.modal-minicard.fancybox-content .fancybox-button {
  color: #ffffff;
  background-color: #009750;
}
.modal-minicard.fancybox-content .modal-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 40px;
  padding-top: 40px;
}
.modal-minicard.fancybox-content .modal-link .media-link {
  min-width: -webkit-fit-content;
  min-width: -moz-fit-content;
  min-width: fit-content;
}

.text-to-icon {
  display: block;
  font-size: 0;
  width: 25px;
  height: 25px;
  margin: auto;
}
.text-to-icon.check {
  background-image: url(../images/check.png);
  background-size: contain;
  background-repeat: no-repeat;
}

.text-check-icon {
  color: #009750;
  font-size: 0.6363636364rem;
  font-weight: 700;
}

.tabs {
  border: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 40px;
}
.tabs .tabs-title {
  margin: 0;
  float: none;
  border-bottom: 2px solid #ffffff;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.tabs .tabs-title a {
  font-size: 0.8181818182rem;
  padding: 15px 10px;
  background: #ffffff;
}
.tabs .tabs-title a[aria-selected=true] {
  background: #ffffff;
}
.tabs .tabs-title a:hover {
  text-decoration: none;
}
.tabs .tabs-title.is-active, .tabs .tabs-title:hover {
  border-bottom: 2px solid #000000;
  background: transparent;
}

.tabs-panel {
  padding: 0;
}

.tabs-content {
  border: none;
}

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

iframe {
  width: 1px;
  min-width: 100%;
  border: none;
  background: transparent;
}

.h-xxl, .block-tt-utilities.block-header-banner-block h1.pageTitle,
.h-xl,
.h-l,
.paragraph--type--vertical-cards .card-wrapper .card-content .card-title,
.h-m,
.block-unsubscribe-block .block-title,
.block-subscribe-block .block-title,
.h-s,
.block-tt-utilities.block-header-banner-block h3.pageSubtitle,
.h-xs,
.view-search.search-page .views-row h2.node-title {
  font-weight: 500;
  opacity: 1;
  letter-spacing: 0px;
}

.body-l, .press-releases.press-releases-latest .press-release-title, .paragraph--type--quote .quote-content .text-align-center,
.body-m,
.view-search.search-page .views-row .field--search-api-excerpt,
.webform-submission-form input[type=text],
.webform-submission-form input[type=email],
.webform-submission-form input[type=date],
.webform-submission-form input[type=number],
.webform-submission-form input[type=password],
.webform-submission-form input[type=tel],
.webform-submission-form textarea,
form.user-login-form input[type=text],
form.user-login-form input[type=email],
form.user-login-form input[type=date],
form.user-login-form input[type=number],
form.user-login-form input[type=password],
form.user-login-form input[type=tel],
form.user-login-form textarea,
.subscribe-form input[type=text],
.subscribe-form input[type=email],
.subscribe-form input[type=date],
.subscribe-form input[type=number],
.subscribe-form input[type=password],
.subscribe-form input[type=tel],
.subscribe-form textarea,
.unsubscribe-form input[type=text],
.unsubscribe-form input[type=email],
.unsubscribe-form input[type=date],
.unsubscribe-form input[type=number],
.unsubscribe-form input[type=password],
.unsubscribe-form input[type=tel],
.unsubscribe-form textarea,
.custom-row-wrapper .custom-row .custom-title,
.custom-row-wrapper .custom-row .custom-date,
.custom-row-wrapper .calendar-attach-multiple-wrap .calendar-attachments-container .item-calendar-attach .title-calendar-attach,
.body-s,
.press-releases.press-releases-latest .press-release-date time,
.views-element-container ul.pager__items li.pager__item a,
.paragraph--type--quote .quote-content .quote-footer,
.body-xs,
.pageMetaHeader,
a.link-download,
a.link-external,
a.link-email,
a.link-icon {
  opacity: 1;
  font-weight: 400;
  letter-spacing: 0px;
}

/**
 * Sperimentale
 * Si possono sepcificare i tag hX e p o una classe custom.
 */
.font-white, footer.pageFooter p,
footer.pageFooter a {
  color: #ffffff;
}

.font-green {
  color: #009750;
}

#main.columns a,
#main.columns button {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.block-system-main-block a#main-content {
  display: none;
}
.block-system-main-block .table-scroller {
  overflow-x: auto;
}
.block-system-main-block table {
  width: 100%;
  border: none;
  margin-bottom: 24px;
}
.block-system-main-block table thead tr th {
  border: none;
  border-bottom: 1px solid #c8d6d6;
  font-size: 0.6363636364rem;
  padding: 10px 0;
}
.block-system-main-block table tbody tr td {
  border: none;
  border-bottom: 1px solid #c8d6d6;
  padding: 10px 0;
  text-align: center;
}
.block-system-main-block table tbody tr td:first-child {
  text-align: left;
}
.block-system-main-block table tbody tr td p {
  margin: 0;
}

.block-system-main-block .field-type-text-with-summary ul:not(.nostyle):not(.contextual-links),
.block-system-main-block .field-type-text-with-summary ol:not(.contextual-links),
.block-system-main-block .field-type-text-long ul:not(.nostyle):not(.contextual-links),
.block-system-main-block .field-type-text-long ol:not(.contextual-links) {
  margin-left: 0;
  padding: 0;
  list-style: none;
}
.block-system-main-block .field-type-text-with-summary ul:not(.nostyle):not(.contextual-links) > li,
.block-system-main-block .field-type-text-with-summary ol:not(.contextual-links) > li,
.block-system-main-block .field-type-text-long ul:not(.nostyle):not(.contextual-links) > li,
.block-system-main-block .field-type-text-long ol:not(.contextual-links) > li {
  position: relative;
  margin: 0 0 0px 0;
  padding: 0 0 0 24px;
}
.block-system-main-block .field-type-text-with-summary ol,
.block-system-main-block .field-type-text-long ol {
  list-style: none;
  counter-reset: olLi;
}
.block-system-main-block .field-type-text-with-summary ol > li,
.block-system-main-block .field-type-text-long ol > li {
  counter-increment: olLi;
}
.block-system-main-block .field-type-text-with-summary ol > li:before,
.block-system-main-block .field-type-text-long ol > li:before {
  content: counter(olLi);
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  font-size: 0.7272727273rem;
  line-height: 1.0909090909rem;
}

.ctaBtn, #block-tt-foundation-formespostosearchsearch-block form input[type=submit], .view-search.search-page form input[type=submit] {
  display: inline-block;
  border-radius: 24px;
  padding: 16px 56px;
  background-color: #009750;
  color: #ffffff;
  font-weight: 700;
  font-size: 0.6363636364rem;
  letter-spacing: 0px;
  line-height: 0.8181818182rem;
}
.ctaBtn:hover, #block-tt-foundation-formespostosearchsearch-block form input[type=submit]:hover, .view-search.search-page form input[type=submit]:hover {
  background: #ffed00;
  color: #000000;
}

/**
 * Gestione configurazione elementi responsive
 **/
.h-xxl, .block-tt-utilities.block-header-banner-block h1.pageTitle {
  font-size: 2rem;
  font-weight: 500;
  line-height: 2rem;
}

@media print, screen and (min-width: 48em) {
  .h-xxl, .block-tt-utilities.block-header-banner-block h1.pageTitle {
    font-size: 2.7272727273rem;
    font-weight: 500;
    line-height: 2.9090909091rem;
  }
}

@media print, screen and (min-width: 64em) {
  .h-xxl, .block-tt-utilities.block-header-banner-block h1.pageTitle {
    font-size: 2.9090909091rem;
    font-weight: 500;
    line-height: 3.0909090909rem;
  }
}

.h-xl {
  font-size: 1.9090909091rem;
  font-weight: 500;
  line-height: 1.9090909091rem;
}

@media print, screen and (min-width: 48em) {
  .h-xl {
    font-size: 2.3636363636rem;
    font-weight: 500;
    line-height: 2.3636363636rem;
  }
}

@media print, screen and (min-width: 64em) {
  .h-xl {
    font-size: 2.5454545455rem;
    font-weight: 500;
    line-height: 2.5454545455rem;
  }
}

.h-l, .paragraph--type--vertical-cards .card-wrapper .card-content .card-title {
  font-size: 1.8181818182rem;
  font-weight: 500;
  line-height: 2rem;
}

@media print, screen and (min-width: 48em) {
  .h-l, .paragraph--type--vertical-cards .card-wrapper .card-content .card-title {
    font-size: 2rem;
    font-weight: 500;
    line-height: 2.1818181818rem;
  }
}

@media print, screen and (min-width: 64em) {
  .h-l, .paragraph--type--vertical-cards .card-wrapper .card-content .card-title {
    font-size: 2.1818181818rem;
    font-weight: 500;
    line-height: 2.5454545455rem;
  }
}

.h-m, .block-unsubscribe-block .block-title, .block-subscribe-block .block-title {
  font-size: 1.4545454545rem;
  font-weight: 500;
  line-height: 1.6363636364rem;
}

@media print, screen and (min-width: 48em) {
  .h-m, .block-unsubscribe-block .block-title, .block-subscribe-block .block-title {
    font-size: 1.6363636364rem;
    font-weight: 500;
    line-height: 1.8181818182rem;
  }
}

@media print, screen and (min-width: 64em) {
  .h-m, .block-unsubscribe-block .block-title, .block-subscribe-block .block-title {
    font-size: 1.8181818182rem;
    font-weight: 500;
    line-height: 2.0909090909rem;
  }
}

.h-s, .block-tt-utilities.block-header-banner-block h3.pageSubtitle {
  font-size: 1.0909090909rem;
  font-weight: 500;
  line-height: 1.0909090909rem;
}

@media print, screen and (min-width: 48em) {
  .h-s, .block-tt-utilities.block-header-banner-block h3.pageSubtitle {
    font-size: 1.2727272727rem;
    font-weight: 500;
    line-height: 1.4545454545rem;
  }
}

@media print, screen and (min-width: 64em) {
  .h-s, .block-tt-utilities.block-header-banner-block h3.pageSubtitle {
    font-size: 1.4545454545rem;
    font-weight: 500;
    line-height: 1.7272727273rem;
  }
}

.h-xs, .view-search.search-page .views-row h2.node-title {
  font-size: 0.9090909091rem;
  font-weight: 500;
  line-height: 1rem;
}

@media print, screen and (min-width: 48em) {
  .h-xs, .view-search.search-page .views-row h2.node-title {
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.0909090909rem;
  }
}

@media print, screen and (min-width: 64em) {
  .h-xs, .view-search.search-page .views-row h2.node-title {
    font-size: 1.0909090909rem;
    font-weight: 500;
    line-height: 1.3636363636rem;
  }
}

.body-l, .press-releases.press-releases-latest .press-release-title, .paragraph--type--quote .quote-content .text-align-center {
  font-size: 0.8181818182rem;
  font-weight: 400;
  line-height: 1.3636363636rem;
}

@media print, screen and (min-width: 48em) {
  .body-l, .press-releases.press-releases-latest .press-release-title, .paragraph--type--quote .quote-content .text-align-center {
    font-size: 0.9090909091rem;
    font-weight: 400;
    line-height: 1.3636363636rem;
  }
}

@media print, screen and (min-width: 64em) {
  .body-l, .press-releases.press-releases-latest .press-release-title, .paragraph--type--quote .quote-content .text-align-center {
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.3636363636rem;
  }
}

.body-m, .view-search.search-page .views-row .field--search-api-excerpt, .webform-submission-form input[type=text],
.webform-submission-form input[type=email],
.webform-submission-form input[type=date],
.webform-submission-form input[type=number],
.webform-submission-form input[type=password],
.webform-submission-form input[type=tel],
.webform-submission-form textarea,
form.user-login-form input[type=text],
form.user-login-form input[type=email],
form.user-login-form input[type=date],
form.user-login-form input[type=number],
form.user-login-form input[type=password],
form.user-login-form input[type=tel],
form.user-login-form textarea,
.subscribe-form input[type=text],
.subscribe-form input[type=email],
.subscribe-form input[type=date],
.subscribe-form input[type=number],
.subscribe-form input[type=password],
.subscribe-form input[type=tel],
.subscribe-form textarea,
.unsubscribe-form input[type=text],
.unsubscribe-form input[type=email],
.unsubscribe-form input[type=date],
.unsubscribe-form input[type=number],
.unsubscribe-form input[type=password],
.unsubscribe-form input[type=tel],
.unsubscribe-form textarea, .custom-row-wrapper .custom-row .custom-title, .custom-row-wrapper .custom-row .custom-date, .custom-row-wrapper .calendar-attach-multiple-wrap .calendar-attachments-container .item-calendar-attach .title-calendar-attach {
  font-size: 0.6363636364rem;
  font-weight: 400;
  line-height: 1rem;
}

@media print, screen and (min-width: 48em) {
  .body-m, .view-search.search-page .views-row .field--search-api-excerpt, .webform-submission-form input[type=text],
  .webform-submission-form input[type=email],
  .webform-submission-form input[type=date],
  .webform-submission-form input[type=number],
  .webform-submission-form input[type=password],
  .webform-submission-form input[type=tel],
  .webform-submission-form textarea,
  form.user-login-form input[type=text],
  form.user-login-form input[type=email],
  form.user-login-form input[type=date],
  form.user-login-form input[type=number],
  form.user-login-form input[type=password],
  form.user-login-form input[type=tel],
  form.user-login-form textarea,
  .subscribe-form input[type=text],
  .subscribe-form input[type=email],
  .subscribe-form input[type=date],
  .subscribe-form input[type=number],
  .subscribe-form input[type=password],
  .subscribe-form input[type=tel],
  .subscribe-form textarea,
  .unsubscribe-form input[type=text],
  .unsubscribe-form input[type=email],
  .unsubscribe-form input[type=date],
  .unsubscribe-form input[type=number],
  .unsubscribe-form input[type=password],
  .unsubscribe-form input[type=tel],
  .unsubscribe-form textarea, .custom-row-wrapper .custom-row .custom-title, .custom-row-wrapper .custom-row .custom-date, .custom-row-wrapper .calendar-attach-multiple-wrap .calendar-attachments-container .item-calendar-attach .title-calendar-attach {
    font-size: 0.7272727273rem;
    font-weight: 400;
    line-height: 1.1818181818rem;
  }
}

@media print, screen and (min-width: 64em) {
  .body-m, .view-search.search-page .views-row .field--search-api-excerpt, .webform-submission-form input[type=text],
  .webform-submission-form input[type=email],
  .webform-submission-form input[type=date],
  .webform-submission-form input[type=number],
  .webform-submission-form input[type=password],
  .webform-submission-form input[type=tel],
  .webform-submission-form textarea,
  form.user-login-form input[type=text],
  form.user-login-form input[type=email],
  form.user-login-form input[type=date],
  form.user-login-form input[type=number],
  form.user-login-form input[type=password],
  form.user-login-form input[type=tel],
  form.user-login-form textarea,
  .subscribe-form input[type=text],
  .subscribe-form input[type=email],
  .subscribe-form input[type=date],
  .subscribe-form input[type=number],
  .subscribe-form input[type=password],
  .subscribe-form input[type=tel],
  .subscribe-form textarea,
  .unsubscribe-form input[type=text],
  .unsubscribe-form input[type=email],
  .unsubscribe-form input[type=date],
  .unsubscribe-form input[type=number],
  .unsubscribe-form input[type=password],
  .unsubscribe-form input[type=tel],
  .unsubscribe-form textarea, .custom-row-wrapper .custom-row .custom-title, .custom-row-wrapper .custom-row .custom-date, .custom-row-wrapper .calendar-attach-multiple-wrap .calendar-attachments-container .item-calendar-attach .title-calendar-attach {
    font-size: 0.8181818182rem;
    font-weight: 400;
    line-height: 1.1818181818rem;
  }
}

.body-s, .press-releases.press-releases-latest .press-release-date time, .views-element-container ul.pager__items li.pager__item a, .paragraph--type--quote .quote-content .quote-footer {
  font-size: 0.5454545455rem;
  font-weight: 400;
  line-height: 0.6363636364rem;
}

@media print, screen and (min-width: 48em) {
  .body-s, .press-releases.press-releases-latest .press-release-date time, .views-element-container ul.pager__items li.pager__item a, .paragraph--type--quote .quote-content .quote-footer {
    font-size: 0.5454545455rem;
    font-weight: 400;
    line-height: 0.8181818182rem;
  }
}

@media print, screen and (min-width: 64em) {
  .body-s, .press-releases.press-releases-latest .press-release-date time, .views-element-container ul.pager__items li.pager__item a, .paragraph--type--quote .quote-content .quote-footer {
    font-size: 0.6363636364rem;
    font-weight: 400;
    line-height: 0.8181818182rem;
  }
}

.body-xs, .pageMetaHeader, a.link-download, a.link-external, a.link-email, a.link-icon {
  font-size: 0.5454545455rem;
  font-weight: 400;
  line-height: 0.8181818182rem;
}

@media print, screen and (min-width: 48em) {
  .body-xs, .pageMetaHeader, a.link-download, a.link-external, a.link-email, a.link-icon {
    font-size: 0.5454545455rem;
    font-weight: 400;
    line-height: 0.8181818182rem;
  }
}

@media print, screen and (min-width: 64em) {
  .body-xs, .pageMetaHeader, a.link-download, a.link-external, a.link-email, a.link-icon {
    font-size: 0.5454545455rem;
    font-weight: 400;
    line-height: 0.8181818182rem;
  }
}

/**
 * Gestione hamburger menu
 * Libreria di riferimento: https://github.com/kapoko/delicious-hamburgers
 * Demo stili: https://kapoko.github.io/delicious-hamburgers/
 * Installata tramite npm
 */
/*!
 * delicious-hamburgers
 * @description Beautiful SASS powered hamburger menu toggle buttons
 * @author Kasper Koman
 * @link https://github.com/kapoko/delicious-hamburgers
 */
button.hamburger {
  height: 40px;
  width: 40px;
}

div.hamburger {
  height: 40px;
  width: 40px;
}
div.hamburger > .inner {
  top: 50%;
}

.hamburger {
  background-color: transparent;
  border: 0 transparent solid;
  border-radius: 0;
  color: inherit;
  cursor: pointer;
  display: inline-block;
  font: inherit;
  opacity: 1;
  overflow: visible;
  padding: 4px;
  text-transform: none;
  -webkit-transition: opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), background 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), background 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.hamburger:hover {
  background-color: transparent;
  opacity: 1;
}
.hamburger:hover span.bar {
  background-color: #009750;
}
.hamburger:hover > .inner:nth-child(1)::before, .hamburger:hover > .inner:nth-child(1)::after, .hamburger:hover > .inner:nth-child(2)::before, .hamburger:hover > .inner:nth-child(2)::after, .hamburger:hover > .inner:nth-child(3)::before, .hamburger:hover > .inner:nth-child(3)::after,
.hamburger:hover span.bar:nth-child(1)::before,
.hamburger:hover span.bar:nth-child(1)::after,
.hamburger:hover span.bar:nth-child(2)::before,
.hamburger:hover span.bar:nth-child(2)::after,
.hamburger:hover span.bar:nth-child(3)::before,
.hamburger:hover span.bar:nth-child(3)::after {
  background-color: #009750;
}
.hamburger.active {
  background-color: transparent;
}
.hamburger.active span.bar {
  background-color: #009750;
}
.hamburger.active > .inner:nth-child(1)::before, .hamburger.active > .inner:nth-child(1)::after, .hamburger.active > .inner:nth-child(2)::before, .hamburger.active > .inner:nth-child(2)::after, .hamburger.active > .inner:nth-child(3)::before, .hamburger.active > .inner:nth-child(3)::after,
.hamburger.active span.bar:nth-child(1)::before,
.hamburger.active span.bar:nth-child(1)::after,
.hamburger.active span.bar:nth-child(2)::before,
.hamburger.active span.bar:nth-child(2)::after,
.hamburger.active span.bar:nth-child(3)::before,
.hamburger.active span.bar:nth-child(3)::after {
  background-color: #009750;
}
.hamburger > .inner {
  margin: 0;
  margin-top: -1px;
  position: relative;
  width: 100%;
}
.hamburger span.bar {
  background-color: #009750;
  border-radius: 0;
  content: "";
  display: block;
  height: 2px;
  position: absolute;
  width: 100%;
}
.hamburger span.bar:nth-child(1) {
  top: -8px;
}
.hamburger span.bar:nth-child(3) {
  top: 8px;
}
.hamburger:focus {
  outline: 0;
}

.hamburger--default.active span.bar {
  top: 0;
}
.hamburger--default.active span.bar:nth-child(1) {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.hamburger--default.active span.bar:nth-child(2) {
  display: none;
}
.hamburger--default.active span.bar:nth-child(3) {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.hamburger--criss-cross > .inner::before, .hamburger--criss-cross > .inner::after {
  background-color: #009750;
  border-radius: 0;
  content: "";
  display: block;
  height: 2px;
  position: absolute;
  width: 100%;
  opacity: 0;
  -webkit-transform-origin: 0 50%;
          transform-origin: 0 50%;
  -webkit-transition: opacity 0.4s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: opacity 0.4s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: opacity 0.4s cubic-bezier(0.645, 0.045, 0.355, 1), transform 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: opacity 0.4s cubic-bezier(0.645, 0.045, 0.355, 1), transform 0.4s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.hamburger--criss-cross > .inner::before {
  -webkit-transform: rotate(45deg) translate3d(-4.686291501px, -11.313708499px, 0) scaleX(0);
          transform: rotate(45deg) translate3d(-4.686291501px, -11.313708499px, 0) scaleX(0);
}
.hamburger--criss-cross > .inner::after {
  -webkit-transform: rotate(-45deg) translate3d(-4.686291501px, 11.313708499px, 0) scaleX(0);
          transform: rotate(-45deg) translate3d(-4.686291501px, 11.313708499px, 0) scaleX(0);
  -webkit-transition-delay: 0.1s;
          transition-delay: 0.1s;
}
.hamburger--criss-cross span.bar {
  -webkit-transition: opacity 0.4s cubic-bezier(0.645, 0.045, 0.355, 1), width 0.4s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: opacity 0.4s cubic-bezier(0.645, 0.045, 0.355, 1), width 0.4s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.4s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.4s cubic-bezier(0.645, 0.045, 0.355, 1), width 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.4s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.4s cubic-bezier(0.645, 0.045, 0.355, 1), width 0.4s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.hamburger--criss-cross span.bar:nth-child(1) {
  -webkit-transition-delay: 0.33s;
          transition-delay: 0.33s;
}
.hamburger--criss-cross span.bar:nth-child(2) {
  -webkit-transition-delay: 0.36s;
          transition-delay: 0.36s;
}
.hamburger--criss-cross span.bar:nth-child(3) {
  -webkit-transition-delay: 0.39s;
          transition-delay: 0.39s;
}
.hamburger--criss-cross.active > .inner::before, .hamburger--criss-cross.active > .inner::after {
  opacity: 1;
}
.hamburger--criss-cross.active > .inner::before {
  -webkit-transform: rotate(45deg) translate3d(-4.686291501px, -11.313708499px, 0);
          transform: rotate(45deg) translate3d(-4.686291501px, -11.313708499px, 0);
  -webkit-transition-delay: 0.4s;
          transition-delay: 0.4s;
}
.hamburger--criss-cross.active > .inner::after {
  -webkit-transform: rotate(-45deg) translate3d(-4.686291501px, 11.313708499px, 0);
          transform: rotate(-45deg) translate3d(-4.686291501px, 11.313708499px, 0);
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}
.hamburger--criss-cross.active span.bar {
  opacity: 0;
  -webkit-transform: translate3d(-10px, 0, 0);
          transform: translate3d(-10px, 0, 0);
  width: 50%;
}
.hamburger--criss-cross.active span.bar:nth-child(1) {
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}
.hamburger--criss-cross.active span.bar:nth-child(2) {
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
}
.hamburger--criss-cross.active span.bar:nth-child(3) {
  -webkit-transition-delay: 0.1s;
          transition-delay: 0.1s;
}

/*
@import "animations/apple";
@import "animations/arrow";
@import "animations/arrow-right";
@import "animations/spin";
@import "animations/collapse";
@import "animations/minimal";
@import "animations/dive";
@import "animations/stack";
@import "animations/converge";
@import "animations/twist";
@import "animations/magnetic";
@import "animations/chop";
@import "animations/parallel";
@import "animations/vertical";
@import "animations/push";
@import "animations/flatten";
@import "animations/simple";
@import "animations/shelf";*/
/**
 * Gestione outdated browser
 * Libreria di riferimento: https://github.com/mikemaccana/outdated-browser-rework
 * Demo: https://mikemaccana.github.io/outdated-browser-rework/
 */
#outdated {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding: 0 24px 24px 0;
  z-index: 1500;
  overflow: hidden;
  background-color: #000000 !important;
  color: #ffffff !important;
  text-align: center;
  text-transform: uppercase;
}
#outdated .vertical-center {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
}
#outdated h6 {
  margin: 12px 0;
  font-size: 1.0909090909rem;
  line-height: 1.0909090909rem;
}
#outdated p {
  margin: 0;
  font-size: 0.5454545455rem;
  line-height: 0.5454545455rem;
}
#outdated #buttonUpdateBrowser {
  display: block;
  position: relative;
  width: 230px;
  margin: 30px auto 0;
  padding: 10px 20px;
  border: 2px solid #ffffff !important;
  background: transparent !important;
  cursor: pointer;
  color: #ffffff !important;
  text-decoration: none;
}
#outdated #buttonUpdateBrowser:hover {
  background-color: #ffffff !important;
  color: #000000 !important;
}
#outdated .last {
  position: absolute;
  top: 10px;
  right: 70px;
  width: auto;
  height: 20px;
  display: inline-table;
}
#outdated .last[dir=rtl] {
  left: 25px !important;
  right: auto !important;
}
#outdated #buttonCloseUpdateBrowser {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  font-size: 1.6363636364rem;
  line-height: 1.6363636364rem;
  color: #ffffff;
  text-decoration: none;
}

#outdated.fullscreen {
  height: 100%;
}

/**
 * Gestione Fancybox
 * Libreria di riferimento: https://github.com/fancyapps/fancybox
 * Documentazione: https://obu.edu/_resources/ldp/galleries/fancybox/
 *                 https://web.archive.org/web/20210325170940/https://fancyapps.com/fancybox/3/docs/
 */
.slick-dotted.slick-slider {
  margin-bottom: 0;
}

ul.slick-dots {
  position: relative;
  bottom: auto;
  font-size: 0;
}
ul.slick-dots li {
  display: inline-block;
  width: 48px;
  height: 7px;
  margin: 0 7px;
}
ul.slick-dots li:only-child {
  display: none;
}
ul.slick-dots li .btnPager {
  width: 48px;
  height: 7px;
  padding: 0;
}
ul.slick-dots li .btnPager:before {
  content: "";
  width: 100%;
  height: 4px;
  margin-top: 3px;
  background: rgba(0, 0, 0, 0.3);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
ul.slick-dots li.slick-active .btnPager:before {
  height: 7px;
  margin-top: 0;
  background: #000000;
}

.slick-arrow {
  width: 60px;
  height: 60px;
  background: rgba(0, 0, 0, 0.2);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  z-index: 2;
  text-align: center;
  color: #ffffff !important;
}
.slick-arrow:hover {
  background: #000000;
}
.slick-arrow:before {
  display: none !important;
}
.slick-arrow span {
  display: inline-block;
}
.slick-arrow span:before {
  font-size: 16px;
  line-height: 60px;
}

.slick-arrow.slick-next span {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.select2-container {
  width: auto !important;
  min-width: 230px;
  font-size: 0.6363636364rem;
}
.select2-container * {
  outline: 0;
}

.select2-container--default .select2-selection--single {
  position: relative;
  z-index: 1;
  height: auto;
  padding: 20px 80px 20px 20px;
  -webkit-box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.2);
          box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.2);
  opacity: 1;
  background-color: rgb(255, 255, 255);
  border-radius: 0;
  border: 0;
}
.select2-container--default span.select2-selection__rendered {
  padding-left: 0 !important;
  padding-right: 0 !important;
  font-size: 0.8181818182rem;
  font-weight: 700;
  line-height: 1.1818181818rem;
  color: #000000;
  letter-spacing: 0 !important;
}
.select2-container--default .select2-selection--multiple {
  padding: 5px 30px 10px 10px;
  border: 1px solid #000000 !important;
  background: transparent;
  font-size: 0;
}
.select2-container--default ul.select2-selection__rendered li.select2-search--inline {
  margin: 5px 5px 0 0 !important;
  padding: 5px 10px !important;
}
.select2-container--default ul.select2-selection__rendered li.select2-search--inline::before {
  display: none !important;
}
.select2-container--default ul.select2-selection__rendered li.select2-search--inline input {
  height: auto;
  margin-top: 0;
  font-size: 0.5454545455rem;
  line-height: 0.7272727273rem;
  color: #000000;
}
.select2-container--default ul.select2-selection__rendered li.select2-selection__choice {
  margin: 5px 5px 0 0 !important;
  padding: 5px 10px !important;
  background: rgba(0, 0, 0, 0.05);
  border: none;
  font-size: 0.8181818182rem;
  line-height: 1.1818181818rem;
  color: #000000;
}
.select2-container--default ul.select2-selection__rendered li.select2-selection__choice span.select2-selection__choice__remove {
  color: #000000;
}
.select2-container--default ul.select2-selection__rendered li.select2-selection__choice span.select2-selection__choice__remove:hover {
  color: #000000;
}
.select2-container--default ul.select2-selection__rendered li.select2-selection__choice:before {
  display: none !important;
}
.select2-container--default .select2-selection__arrow,
.select2-container--default .dropdown-wrapper {
  position: absolute;
  top: 50% !important;
  right: 18px !important;
  width: auto !important;
  height: 20px !important;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  text-align: center;
}
.select2-container--default .select2-selection__arrow b,
.select2-container--default .dropdown-wrapper b {
  display: none;
}
.select2-container--default .select2-selection__arrow:before,
.select2-container--default .dropdown-wrapper:before {
  content: "\e809";
  position: relative !important;
  font-size: 10px !important;
  line-height: 20px !important;
  color: #000000;
}
.select2-container--default.select2-container--open .select2-selection__rendered {
  color: #000000 !important;
}
.select2-container--default.select2-container--open .select2-selection__arrow:before,
.select2-container--default.select2-container--open .dropdown-wrapper:before {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.select2-dropdown {
  background: #ffffff;
  border: none;
  margin-top: 0;
  padding: 0;
}
.select2-dropdown .select2-results__options {
  -webkit-box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.2);
          box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.2);
  opacity: 1;
  background-color: rgb(255, 255, 255);
  padding-bottom: 10px;
}
.select2-dropdown .select2-results__options .select2-results__option {
  background: transparent !important;
  font-size: 0.8181818182rem;
  line-height: 1.1818181818rem;
  color: #000000;
  padding: 6px 20px;
}
.select2-dropdown .select2-results__options .select2-results__option.select2-results__option--highlighted {
  color: #000000;
}
.select2-dropdown .select2-results__options .select2-results__option[aria-selected=true] {
  color: #000000;
}
.select2-dropdown .select2-results__options.select2-dropdown--above {
  -webkit-box-shadow: none;
          box-shadow: none;
}
.select2-dropdown .select2-results__options.select2-dropdown--below {
  -webkit-box-shadow: none;
          box-shadow: none;
}

.iub_container ul li:before {
  display: none;
}

.pageMetaHeader {
  background-color: #46b384;
  color: #ffffff;
}
.pageMetaHeader .metaHeader {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 40px;
}
.pageMetaHeader .metaHeader .metaHeader-left {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.pageMetaHeader .metaHeader .metaHeader-left .stock-expert {
  height: 42px;
  width: 180px;
  overflow: hidden;
  min-width: auto;
}
.pageMetaHeader .metaHeader .metaHeader-left .stock-expert html {
  overflow: hidden;
}
.pageMetaHeader .metaHeader .metaHeader-right {
  text-align: right;
}
.pageMetaHeader .metaHeader ul.menu li a {
  color: #ffffff;
  font-weight: bold;
  text-transform: uppercase;
}

header.pageHeader {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 75px;
  background: #ffffff;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  z-index: 9;
  font-size: 0;
}
header.pageHeader.dropdown-open .headerMain {
  background: #ffffff !important;
}
header.pageHeader.dropdown-open .headerMain .menu.dropdown > li:not(.active-trail) > a:not(:hover),
header.pageHeader.dropdown-open .headerMain .search-modal-button:not(:hover),
header.pageHeader.dropdown-open .headerMain .language-link:not(:hover) {
  color: #000000 !important;
}
header.pageHeader.dropdown-open .headerMain a.logo svg #text {
  fill: #000000 !important;
}
header.pageHeader .grid-container {
  position: initial;
}
header.pageHeader.headroom--top {
  height: 140px;
  -webkit-transform: translate(0, 0) !important;
          transform: translate(0, 0) !important;
}
header.pageHeader.headroom--not-top {
  -webkit-transform: translate(0, 0) !important;
          transform: translate(0, 0) !important;
}
header.pageHeader .headerMainGrid {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  height: 100px;
}
header.pageHeader .headerMainGrid .headerMainRight {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
}
header.pageHeader .headerMainGrid .headerMainRight .contextual-region {
  position: initial;
}
header.pageHeader a.logo {
  display: inline-block;
  vertical-align: top;
}
header.pageHeader a.logo svg {
  display: inline-block;
  height: 70px;
  vertical-align: top;
  max-width: 100%;
}
header.pageHeader a.logo svg * {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
header.pageHeader .block-tt-foundation-main-menu {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
header.pageHeader .block-tt-foundation-formespostosearchsearch-block * {
  display: none;
}
header.pageHeader a.search-modal-button {
  color: #000000;
}
header.pageHeader a.search-modal-button:before {
  content: "\e806";
  display: block;
  font-size: 22px;
}
header.pageHeader a.search-modal-button.open:before {
  content: "\e80b";
}
header.pageHeader a.search-modal-button:hover {
  text-decoration: none;
  color: #009750;
}
@media print, screen and (min-width: 64em) {
  .toolbar-vertical header.pageHeader.headroom--top {
    top: 39px;
  }
  .mm-opening .toolbar-vertical header.pageHeader.headroom--top {
    top: 0;
  }
  .toolbar-fixed header.pageHeader, .toolbar-horizontal header.pageHeader, .toolbar-tray-open header.pageHeader {
    top: 39px;
  }
  .toolbar-horizontal.toolbar-tray-open header.pageHeader {
    top: 83px;
  }
  .toolbar-fixed header.pageHeader.headroom--not-top, .toolbar-horizontal header.pageHeader.headroom--not-top, .toolbar-tray-open header.pageHeader.headroom--not-top {
    top: 39px;
  }
  .toolbar-horizontal.toolbar-tray-open header.pageHeader.headroom--not-top {
    top: 83px;
  }
}

/*
 * Stili comuni per comportamento aperto e scroll
 */
header.pageHeader.headroom--not-top.slideUp .pageMetaHeader,
header.pageHeader.headroom--not-top.slideDown .pageMetaHeader,
header.headroom--not-top .pageMetaHeader {
  visibility: hidden;
  height: 0;
}
header.pageHeader.headroom--not-top.slideUp .headerMainGrid,
header.pageHeader.headroom--not-top.slideDown .headerMainGrid,
header.headroom--not-top .headerMainGrid {
  height: 75px;
}
header.pageHeader.headroom--not-top.slideUp a.logo svg,
header.pageHeader.headroom--not-top.slideDown a.logo svg,
header.headroom--not-top a.logo svg {
  height: 55px;
}

/**
 * Headroom - menu non attaccato in pagina ma scroll down
 * - Nascondo la barra in alto dei follow
 * - Riduco la dimensione del logo e lo spazio
 */
header.pageHeader.headroom--not-top.slideUp {
  -webkit-transform: translateY(-140px);
          transform: translateY(-140px);
}

/**
 * Headroom - menu non attaccato in pagina ma scroll up
 */
header.pageHeader.headroom--not-top {
  background-color: #ffffff;
  color: #000000 !important;
  -webkit-box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
          box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
}
header.pageHeader.headroom--not-top a:not([role=menuitem]):not(:hover) {
  color: #000000 !important;
}
header.pageHeader.headroom--not-top .main-menu ul.dropdown li.opens-right > .is-dropdown-submenu {
  top: 75px;
}

@media print, screen and (min-width: 64em) {
  .hamburger {
    display: none;
  }
}
.hamburger {
  -webkit-transform: translate(0, 0) !important;
          transform: translate(0, 0) !important;
}

html.mm-wrapper_opening header.pageHeader {
  -webkit-box-shadow: none;
          box-shadow: none;
}
html.mm-wrapper_opening header.pageHeader .headerMain {
  background-color: #ffffff;
  color: #000000 !important;
}
html.mm-wrapper_opening header.pageHeader .headerMain a:not([role=menuitem]):not(:hover) {
  color: #000000 !important;
}
html.mm-wrapper_opening header.pageHeader .headerMain a.logo svg #text {
  fill: #000000 !important;
}

body.stopOverflow {
  overflow: hidden;
}

body.stopOverflowX {
  overflow-x: hidden;
}

body.stopOverflowY {
  overflow-y: hidden;
}

body #main.pageMain {
  position: relative;
  margin-top: 140px;
  overflow: hidden;
}

body.noTopSpace #main.pageMain {
  margin-top: 0;
}

#mobile-menu {
  visibility: hidden;
  height: 0;
}
#mobile-menu.mm-menu {
  visibility: visible;
  height: auto;
}

.mm-menu.mm-menu_fullscreen {
  margin-top: 140px;
}
.mm-menu .mm-panel {
  background: #ffffff;
}
.mm-menu .mm-panel .mm-btn_prev {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.mm-menu .mm-panel .mm-btn_prev:before {
  content: "\e812";
  position: initial;
  -webkit-transform: none;
          transform: none;
  border: 0;
  color: #ffffff;
  width: auto;
  height: auto;
}
.mm-menu a,
.mm-menu a:active,
.mm-menu a:hover,
.mm-menu a:link,
.mm-menu a:visited {
  font-weight: 700;
  font-size: 0.9090909091rem;
  line-height: 1.1818181818rem;
  color: #4c4c4e;
  text-transform: uppercase;
}
.mm-menu a.Selected,
.mm-menu a:active.Selected,
.mm-menu a:hover.Selected,
.mm-menu a:link.Selected,
.mm-menu a:visited.Selected {
  color: #009750;
}
.mm-menu .mm-listitem {
  border-color: #4c4c4e;
}
.mm-menu .mm-listitem__btn:not(.mm-listitem__text) {
  border: none;
  position: absolute;
  height: 100%;
  width: 100%;
}
.mm-menu .mm-listitem__text {
  padding-top: 25px;
  padding-bottom: 25px;
}
.mm-menu .mm-btn:after,
.mm-menu .mm-btn:before {
  border-color: #009750;
}
.mm-menu .mm-navbar {
  height: 50px;
  background: #009750;
  border-color: #c8d6d6;
}
.mm-menu .mm-navbar .mm-navbar__title {
  padding: 10px 0 !important;
  font-weight: 700;
  font-size: 1.0909090909rem;
  line-height: 1.3636363636rem;
  color: #ffffff;
  text-transform: uppercase;
}
.mm-menu #mm-1 .mm-navbar {
  display: none;
}
.mm-menu .mm-panel_has-navbar {
  padding-top: 50px;
}
.mm-menu .mm-navbars_bottom {
  border-color: black;
}
@media print, screen and (max-width: 47.99875em) {
  .mm-menu a,
  .mm-menu a:active,
  .mm-menu a:hover,
  .mm-menu a:link,
  .mm-menu a:visited {
    font-size: 0.7272727273rem;
    line-height: 0.8181818182rem;
  }
  .mm-menu .mm-listitem__text {
    padding-top: 15px;
    padding-bottom: 15px;
  }
  .mm-menu .mm-navbar .mm-navbar__title {
    font-size: 0.9090909091rem;
    line-height: 1.1818181818rem;
  }
}

@media print, screen and (min-width: 64em) {
  .mm-page.mm-slideout {
    z-index: auto !important;
  }
}
body.headroom-pinned .mm-menu.mm-menu_fullscreen {
  margin-top: 140px;
}

body.headroom-not-top.headroom-pinned .mm-menu.mm-menu_fullscreen,
body.headroom-not-top .mm-menu.mm-menu_fullscreen {
  margin-top: 75px;
}

footer.pageFooter {
  position: relative;
  width: 100%;
  background-color: #46b384;
  padding: 75px 0 66px 0;
}
footer.pageFooter p,
footer.pageFooter a {
  font-size: 0.7272727273rem;
  font-style: normal;
  letter-spacing: 0px;
  line-height: 1.0909090909rem;
  margin-bottom: 0;
}
footer.pageFooter .footerMidLeftArea .body .cell {
  margin-left: 0;
  margin-right: 0;
}
footer.pageFooter .footerMidRightArea {
  margin: 0;
}
@media print, screen and (min-width: 64em) {
  footer.pageFooter .footerMidRightArea {
    margin: auto;
  }
}
@media print, screen and (max-width: 47.99875em) {
  footer.pageFooter {
    padding: 40px 0 66px 0;
  }
  footer.pageFooter p, footer.pageFooter a {
    font-size: 0.6363636364rem;
    line-height: 0.8181818182rem;
  }
  footer.pageFooter .cellLogo {
    margin-bottom: 30px;
  }
  footer.pageFooter .cellLogo .logo svg {
    height: 80px;
  }
  footer.pageFooter .menu {
    margin-top: 20px;
  }
}

/**
 * Generazione classi ad hoc per spaziature top e bottom, a differenza
 *  della soluzione precedente questa genera margin E padding per ogni spaziatura.
 *
 * Le classi sono nella forma "item-space-top-0"
 *
 * item-space-<position>-<id>
 *
 * Variante:
 * - con background sia margin che padding (item-space-<position>-<id>-bg)
 * - senza background solo margin (item-space-<position>-<id>)
 *

 **/
.item-space-top-0 {
  margin-top: 0px !important;
}

.item-space-bottom-0 {
  margin-bottom: 0px !important;
}

.item-space-top-0-bg {
  margin-top: 0px !important;
  padding-top: 0px !important;
}

.item-space-bottom-0-bg {
  margin-bottom: 0px !important;
  padding-bottom: 0px !important;
}

.item-space-top-1 {
  margin-top: 10px !important;
}

.item-space-bottom-1 {
  margin-bottom: 10px !important;
}

.item-space-top-1-bg {
  margin-top: 10px !important;
  padding-top: 10px !important;
}

.item-space-bottom-1-bg {
  margin-bottom: 10px !important;
  padding-bottom: 10px !important;
}

.item-space-top-2 {
  margin-top: 20px !important;
}

.item-space-bottom-2 {
  margin-bottom: 20px !important;
}

.item-space-top-2-bg {
  margin-top: 20px !important;
  padding-top: 20px !important;
}

.item-space-bottom-2-bg {
  margin-bottom: 20px !important;
  padding-bottom: 20px !important;
}

.item-space-top-3 {
  margin-top: 40px !important;
}

.item-space-bottom-3 {
  margin-bottom: 40px !important;
}

.item-space-top-3-bg {
  margin-top: 40px !important;
  padding-top: 40px !important;
}

.item-space-bottom-3-bg {
  margin-bottom: 40px !important;
  padding-bottom: 40px !important;
}

@media print, screen and (min-width: 48em) {
  .item-space-top-0 {
    margin-top: 0px !important;
  }
  .item-space-bottom-0 {
    margin-bottom: 0px !important;
  }
  .item-space-top-0-bg {
    margin-top: 0px !important;
    padding-top: 0px !important;
  }
  .item-space-bottom-0-bg {
    margin-bottom: 0px !important;
    padding-bottom: 0px !important;
  }
}
@media print, screen and (min-width: 48em) {
  .item-space-top-1 {
    margin-top: 20px !important;
  }
  .item-space-bottom-1 {
    margin-bottom: 20px !important;
  }
  .item-space-top-1-bg {
    margin-top: 20px !important;
    padding-top: 20px !important;
  }
  .item-space-bottom-1-bg {
    margin-bottom: 20px !important;
    padding-bottom: 20px !important;
  }
}
@media print, screen and (min-width: 48em) {
  .item-space-top-2 {
    margin-top: 40px !important;
  }
  .item-space-bottom-2 {
    margin-bottom: 40px !important;
  }
  .item-space-top-2-bg {
    margin-top: 40px !important;
    padding-top: 40px !important;
  }
  .item-space-bottom-2-bg {
    margin-bottom: 40px !important;
    padding-bottom: 40px !important;
  }
}
@media print, screen and (min-width: 48em) {
  .item-space-top-3 {
    margin-top: 80px !important;
  }
  .item-space-bottom-3 {
    margin-bottom: 80px !important;
  }
  .item-space-top-3-bg {
    margin-top: 80px !important;
    padding-top: 80px !important;
  }
  .item-space-bottom-3-bg {
    margin-bottom: 80px !important;
    padding-bottom: 80px !important;
  }
}
@media print, screen and (min-width: 64em) {
  .item-space-top-0 {
    margin-top: 0px !important;
  }
  .item-space-bottom-0 {
    margin-bottom: 0px !important;
  }
  .item-space-top-0-bg {
    margin-top: 0px !important;
    padding-top: 0px !important;
  }
  .item-space-bottom-0-bg {
    margin-bottom: 0px !important;
    padding-bottom: 0px !important;
  }
}
@media print, screen and (min-width: 64em) {
  .item-space-top-1 {
    margin-top: 40px !important;
  }
  .item-space-bottom-1 {
    margin-bottom: 40px !important;
  }
  .item-space-top-1-bg {
    margin-top: 40px !important;
    padding-top: 40px !important;
  }
  .item-space-bottom-1-bg {
    margin-bottom: 40px !important;
    padding-bottom: 40px !important;
  }
}
@media print, screen and (min-width: 64em) {
  .item-space-top-2 {
    margin-top: 80px !important;
  }
  .item-space-bottom-2 {
    margin-bottom: 80px !important;
  }
  .item-space-top-2-bg {
    margin-top: 80px !important;
    padding-top: 80px !important;
  }
  .item-space-bottom-2-bg {
    margin-bottom: 80px !important;
    padding-bottom: 80px !important;
  }
}
@media print, screen and (min-width: 64em) {
  .item-space-top-3 {
    margin-top: 120px !important;
  }
  .item-space-bottom-3 {
    margin-bottom: 120px !important;
  }
  .item-space-top-3-bg {
    margin-top: 120px !important;
    padding-top: 120px !important;
  }
  .item-space-bottom-3-bg {
    margin-bottom: 120px !important;
    padding-bottom: 120px !important;
  }
}
/**
 * Blocchi Drupal Basic block
 * Gestiti da /admin/structure/block/block-content
 */
.block-tt-foundation-piedipagina ul.menu {
  display: block;
  -webkit-column-count: 2;
     -moz-column-count: 2;
          column-count: 2;
}
.block-tt-foundation-piedipagina ul.menu li a {
  padding: 8px 0;
}
@media print, screen and (min-width: 64em) {
  .block-tt-foundation-piedipagina ul.menu {
    -webkit-column-count: 3;
       -moz-column-count: 3;
            column-count: 3;
  }
}

/**
 * Breadcrumbs
 * Blocco di sistema
 */
.block-system.block-breadcrumb {
  position: relative;
  margin-bottom: 20px;
}
.block-system.block-breadcrumb ul.breadcrumbs {
  margin: 0;
}
.block-system.block-breadcrumb ul.breadcrumbs li, .block-system.block-breadcrumb ul.breadcrumbs a, .block-system.block-breadcrumb ul.breadcrumbs span {
  font-size: 0.5454545455rem;
  line-height: 0.6363636364rem;
}
.block-system.block-breadcrumb ul.breadcrumbs li:not(:last-child):after {
  content: ">";
  color: #000000;
}
.block-system.block-breadcrumb ul.breadcrumbs a:hover {
  color: #000000;
  text-decoration: none;
}

/**
 * Header banner custom
 * Generato da tt_utilities/Plugin/Block/HeaderBannerBlock
 * Stampato in tt_utilities/templates/header-banner-block.html.twig
 */
.block-tt-utilities.block-header-banner-block {
  width: 100%;
}
.block-tt-utilities.block-header-banner-block .hbMainWrapper {
  position: relative;
}
.block-tt-utilities.block-header-banner-block .gridBanner {
  position: relative;
  margin-bottom: 30px;
  padding-bottom: 30px;
  z-index: 1;
}
.block-tt-utilities.block-header-banner-block .bannerCell {
  min-height: 320px;
  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;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding-top: 50px;
  padding-bottom: 50px;
  margin-bottom: 40px;
}
.block-tt-utilities.block-header-banner-block .bgCoverAbs:before {
  background: rgba(0, 0, 0, 0.3);
}
.block-tt-utilities.block-header-banner-block h1.pageTitle {
  position: relative;
  margin: 16px 0;
  color: #ffffff;
  text-align: center;
}
.block-tt-utilities.block-header-banner-block h3.pageSubtitle {
  position: relative;
  color: #ffffff;
  text-align: center;
}
.block-tt-utilities.block-header-banner-block .hbMainWrapper.bgdefault .bgCoverAbs:before {
  background: transparent;
}
.block-tt-utilities.block-header-banner-block .hbMainWrapper.bgdefault h1.pageTitle,
.block-tt-utilities.block-header-banner-block .hbMainWrapper.bgdefault h3.pageSubtitle {
  color: #000000;
}
.block-tt-utilities.block-header-banner-block .hbHeaderType-none .gridBanner {
  display: none !important;
}
body.headerBigger .block-tt-utilities.block-header-banner-block .hbMainWrapper {
  padding-bottom: 200px;
}

/**
 * Blocco del cambio lingua
*/
.block-language {
  margin-left: 25px;
}
.block-language ul.links {
  padding: 0;
  margin: 0;
  list-style: none;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.block-language ul.links li {
  display: list-item;
}
.block-language ul.links li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0;
  margin: 0;
  font-size: 0.8181818182rem;
  font-weight: 700;
  color: #000000;
  text-transform: uppercase;
  line-height: 18px;
}
.block-language ul.links li a:hover {
  text-decoration: none;
  color: #009750;
}
.block-language {
  margin: 0 20px;
}

.block-tt-utilities.block-tt-map-block {
  position: relative;
}
.block-tt-utilities.block-tt-map-block .cellMap,
.block-tt-utilities.block-tt-map-block .cellSide {
  position: relative;
  overflow: hidden;
}
.block-tt-utilities.block-tt-map-block .listSidebar {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.block-tt-utilities.block-tt-map-block .listPanel {
  height: 100%;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  -webkit-transition: all 0.35s ease-in-out, z-index 0.3s linear;
  transition: all 0.35s ease-in-out, z-index 0.3s linear;
  -webkit-transition-delay: 0s, 0.2s;
          transition-delay: 0s, 0.2s;
}
.block-tt-utilities.block-tt-map-block .listPanel.off {
  -webkit-transform: translate(-100%, 0);
          transform: translate(-100%, 0);
}
.block-tt-utilities.block-tt-map-block .listPanel ul {
  display: block;
  width: 100%;
  margin: 0;
}
.block-tt-utilities.block-tt-map-block .listPanel li {
  position: relative;
  display: block;
  width: 100%;
  margin: 0 0 15px 0;
  padding: 0 60px 0 40px;
  list-style: none;
  cursor: pointer;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.block-tt-utilities.block-tt-map-block .listPanel li:after {
  content: "\e80d";
  position: absolute;
  top: 50%;
  right: 30px;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  font-size: 16px;
  line-height: 16px;
}
.block-tt-utilities.block-tt-map-block .listPanel li:hover:after {
  right: 20px;
}
.block-tt-utilities.block-tt-map-block .detailsPanel {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  -webkit-transform: translate(100%, 0);
          transform: translate(100%, 0);
  -webkit-transition: all 0.35s ease-in-out, z-index 0.3s linear;
  transition: all 0.35s ease-in-out, z-index 0.3s linear;
  -webkit-transition-delay: 0s, 0.2s;
          transition-delay: 0s, 0.2s;
}
.block-tt-utilities.block-tt-map-block .detailsPanel.open {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}
.block-tt-utilities.block-tt-map-block .detailsPanel .detPanelBack {
  display: block;
  width: 100%;
  height: 40px;
  margin-bottom: 20px;
  opacity: 1;
  background-color: rgb(244, 244, 244);
  padding: 0 40px;
  cursor: pointer;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  color: #46b384;
}
.block-tt-utilities.block-tt-map-block .detailsPanel .detPanelBack span {
  display: inline-block;
  vertical-align: top;
}
.block-tt-utilities.block-tt-map-block .detailsPanel .detPanelBack span:before {
  font-size: 22px;
  line-height: 40px;
  color: #000000;
}
.block-tt-utilities.block-tt-map-block .detailsPanel .detPanelBack:hover {
  color: #009750;
}
.block-tt-utilities.block-tt-map-block .detailsPanel .detPanelWrap {
  display: block;
  width: 100%;
  height: calc(100% - 60px);
  overflow-y: auto;
  padding-left: 40px;
}
.block-tt-utilities.block-tt-map-block .detailsPanel .detPanel {
  display: none;
  width: 100%;
}
.block-tt-utilities.block-tt-map-block .detailsPanel p.country-title {
  margin-bottom: 25px;
  padding-bottom: 10px;
  border-bottom: 5px solid #009750;
  font-weight: 500;
}
.block-tt-utilities.block-tt-map-block .detailsPanel .countyDesc p {
  margin-bottom: 20px;
}
.block-tt-utilities.block-tt-map-block .detailsPanel .countyDesc p:last-of-type {
  margin-bottom: 0;
}
.block-tt-utilities.block-tt-map-block .detailsPanel .countyDesc p {
  font-weight: 300;
  font-size: 0.7272727273rem;
  line-height: 1.2727272727rem;
  color: #000000;
}
.block-tt-utilities.block-tt-map-block .detailsPanel li {
  position: relative;
  display: block;
  width: 100%;
  margin: 7px 0;
  padding: 7px 0;
  list-style: none;
  cursor: pointer;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.block-tt-utilities.block-tt-map-block .detailsPanel li:before, .block-tt-utilities.block-tt-map-block .detailsPanel li:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 1px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.block-tt-utilities.block-tt-map-block .detailsPanel li:before {
  width: 100%;
  background: #4c4c4e;
  z-index: 0;
}
.block-tt-utilities.block-tt-map-block .detailsPanel li:after {
  width: 0;
  background: #4c4c4e;
  z-index: 1;
}
.block-tt-utilities.block-tt-map-block .detailsPanel li:hover {
  color: #7a9899;
}
.block-tt-utilities.block-tt-map-block .detailsPanel li:hover:after {
  width: 100%;
}
.block-tt-utilities.block-tt-map-block .detailsPanel ul.placesList {
  display: block;
  width: 100%;
  margin: 30px 0 0 0;
}
.block-tt-utilities.block-tt-map-block .detailsPanel ul.placesList li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-bottom: 1ps solid #4c4c4e;
}
.block-tt-utilities.block-tt-map-block .detailsPanel ul.placesList li span {
  display: block;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  font-weight: 700;
}
.block-tt-utilities.block-tt-map-block #worldMap {
  position: relative;
  width: 100%;
  height: 600px;
}
@media print, screen and (min-width: 48em) and (max-width: 63.99875em) {
  .block-tt-utilities.block-tt-map-block .listPanel li {
    margin: 0 0 10px 0;
    font-size: 1rem;
    line-height: 1.3636363636rem;
  }
  .block-tt-utilities.block-tt-map-block .listPanel li:after {
    right: 20px;
  }
  .block-tt-utilities.block-tt-map-block .detailsPanel .detPanel {
    padding: 0 20px;
  }
  .block-tt-utilities.block-tt-map-block .detailsPanel h4 {
    margin-bottom: 20px;
    font-size: 1rem;
    line-height: 1.3636363636rem;
  }
  .block-tt-utilities.block-tt-map-block .detailsPanel ul.placesList {
    margin: 20px 0 0 0;
  }
  .block-tt-utilities.block-tt-map-block #worldMap {
    height: 600px;
  }
}
@media print, screen and (max-width: 47.99875em) {
  .block-tt-utilities.block-tt-map-block #worldMap {
    height: 400px;
  }
}

.block-subscribe-block .block-title {
  text-align: center;
}

.block-unsubscribe-block .block-title {
  text-align: center;
}

/**
 * Regole generiche per form e webform
 * Definizioni valide per tutti
 */
::-webkit-input-placeholder {
  /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: #000000 !important;
  opacity: 1 !important;
}
::-moz-placeholder {
  /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: #000000 !important;
  opacity: 1 !important;
}
:-ms-input-placeholder {
  /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: #000000 !important;
  opacity: 1 !important;
}
::-ms-input-placeholder {
  /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: #000000 !important;
  opacity: 1 !important;
}
::placeholder {
  /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: #000000 !important;
  opacity: 1 !important;
}

:-ms-input-placeholder {
  /* Internet Explorer 10-11 */
  color: #000000 !important;
  opacity: 1 !important;
}

::-ms-input-placeholder {
  /* Microsoft Edge */
  color: #000000 !important;
  opacity: 1 !important;
}

.webform-submission-form,
form.user-login-form,
.subscribe-form,
.unsubscribe-form {
  position: relative;
}
.webform-submission-form .js-form-item,
form.user-login-form .js-form-item,
.subscribe-form .js-form-item,
.unsubscribe-form .js-form-item {
  position: relative;
  margin-bottom: 20px;
}
.webform-submission-form .cell,
form.user-login-form .cell,
.subscribe-form .cell,
.unsubscribe-form .cell {
  margin-bottom: 15px;
}
.webform-submission-form fieldset,
form.user-login-form fieldset,
.subscribe-form fieldset,
.unsubscribe-form fieldset {
  border: 0 none;
  padding: 0;
}
.webform-submission-form fieldset legend,
form.user-login-form fieldset legend,
.subscribe-form fieldset legend,
.unsubscribe-form fieldset legend {
  display: none;
}
.webform-submission-form label a,
form.user-login-form label a,
.subscribe-form label a,
.unsubscribe-form label a {
  text-decoration: underline;
}
.webform-submission-form label a:hover,
form.user-login-form label a:hover,
.subscribe-form label a:hover,
.unsubscribe-form label a:hover {
  text-decoration: none;
}
.webform-submission-form input[type=text],
.webform-submission-form input[type=email],
.webform-submission-form input[type=date],
.webform-submission-form input[type=number],
.webform-submission-form input[type=password],
.webform-submission-form input[type=tel],
.webform-submission-form textarea,
form.user-login-form input[type=text],
form.user-login-form input[type=email],
form.user-login-form input[type=date],
form.user-login-form input[type=number],
form.user-login-form input[type=password],
form.user-login-form input[type=tel],
form.user-login-form textarea,
.subscribe-form input[type=text],
.subscribe-form input[type=email],
.subscribe-form input[type=date],
.subscribe-form input[type=number],
.subscribe-form input[type=password],
.subscribe-form input[type=tel],
.subscribe-form textarea,
.unsubscribe-form input[type=text],
.unsubscribe-form input[type=email],
.unsubscribe-form input[type=date],
.unsubscribe-form input[type=number],
.unsubscribe-form input[type=password],
.unsubscribe-form input[type=tel],
.unsubscribe-form textarea {
  width: 100%;
  height: auto;
  margin: 0;
  padding: 18px 20px;
  border: 0 none;
  background: #ffffff;
  -webkit-box-shadow: 0 2px 3px rgba(0, 0, 0, 0.2);
          box-shadow: 0 2px 3px rgba(0, 0, 0, 0.2);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  font-weight: bold;
  line-height: 24px;
}
.webform-submission-form input[type=text]:focus,
.webform-submission-form input[type=email]:focus,
.webform-submission-form input[type=date]:focus,
.webform-submission-form input[type=number]:focus,
.webform-submission-form input[type=password]:focus,
.webform-submission-form input[type=tel]:focus,
.webform-submission-form textarea:focus,
form.user-login-form input[type=text]:focus,
form.user-login-form input[type=email]:focus,
form.user-login-form input[type=date]:focus,
form.user-login-form input[type=number]:focus,
form.user-login-form input[type=password]:focus,
form.user-login-form input[type=tel]:focus,
form.user-login-form textarea:focus,
.subscribe-form input[type=text]:focus,
.subscribe-form input[type=email]:focus,
.subscribe-form input[type=date]:focus,
.subscribe-form input[type=number]:focus,
.subscribe-form input[type=password]:focus,
.subscribe-form input[type=tel]:focus,
.subscribe-form textarea:focus,
.unsubscribe-form input[type=text]:focus,
.unsubscribe-form input[type=email]:focus,
.unsubscribe-form input[type=date]:focus,
.unsubscribe-form input[type=number]:focus,
.unsubscribe-form input[type=password]:focus,
.unsubscribe-form input[type=tel]:focus,
.unsubscribe-form textarea:focus {
  -webkit-box-shadow: 0 2px 3px rgba(0, 0, 0, 0.3);
          box-shadow: 0 2px 3px rgba(0, 0, 0, 0.3);
}
.webform-submission-form input[type=text].error,
.webform-submission-form input[type=email].error,
.webform-submission-form input[type=date].error,
.webform-submission-form input[type=number].error,
.webform-submission-form input[type=password].error,
.webform-submission-form input[type=tel].error,
.webform-submission-form textarea.error,
form.user-login-form input[type=text].error,
form.user-login-form input[type=email].error,
form.user-login-form input[type=date].error,
form.user-login-form input[type=number].error,
form.user-login-form input[type=password].error,
form.user-login-form input[type=tel].error,
form.user-login-form textarea.error,
.subscribe-form input[type=text].error,
.subscribe-form input[type=email].error,
.subscribe-form input[type=date].error,
.subscribe-form input[type=number].error,
.subscribe-form input[type=password].error,
.subscribe-form input[type=tel].error,
.subscribe-form textarea.error,
.unsubscribe-form input[type=text].error,
.unsubscribe-form input[type=email].error,
.unsubscribe-form input[type=date].error,
.unsubscribe-form input[type=number].error,
.unsubscribe-form input[type=password].error,
.unsubscribe-form input[type=tel].error,
.unsubscribe-form textarea.error {
  border-color: red;
}
.webform-submission-form textarea,
form.user-login-form textarea,
.subscribe-form textarea,
.unsubscribe-form textarea {
  height: 100px;
  padding: 20px;
  line-height: 0.8181818182rem;
}
.webform-submission-form p.description,
form.user-login-form p.description,
.subscribe-form p.description,
.unsubscribe-form p.description {
  margin: 8px 0 0 0;
  font-size: 0.6363636364rem;
  line-height: 0.8181818182rem;
}
.webform-submission-form .js-form-type-checkbox,
.webform-submission-form .js-form-type-radio,
form.user-login-form .js-form-type-checkbox,
form.user-login-form .js-form-type-radio,
.subscribe-form .js-form-type-checkbox,
.subscribe-form .js-form-type-radio,
.unsubscribe-form .js-form-type-checkbox,
.unsubscribe-form .js-form-type-radio {
  margin-bottom: 20px;
}
.webform-submission-form .js-form-type-checkbox input[type=checkbox],
.webform-submission-form .js-form-type-checkbox input[type=radio],
.webform-submission-form .js-form-type-radio input[type=checkbox],
.webform-submission-form .js-form-type-radio input[type=radio],
form.user-login-form .js-form-type-checkbox input[type=checkbox],
form.user-login-form .js-form-type-checkbox input[type=radio],
form.user-login-form .js-form-type-radio input[type=checkbox],
form.user-login-form .js-form-type-radio input[type=radio],
.subscribe-form .js-form-type-checkbox input[type=checkbox],
.subscribe-form .js-form-type-checkbox input[type=radio],
.subscribe-form .js-form-type-radio input[type=checkbox],
.subscribe-form .js-form-type-radio input[type=radio],
.unsubscribe-form .js-form-type-checkbox input[type=checkbox],
.unsubscribe-form .js-form-type-checkbox input[type=radio],
.unsubscribe-form .js-form-type-radio input[type=checkbox],
.unsubscribe-form .js-form-type-radio input[type=radio] {
  position: absolute;
  clip: rect(1px, 1px, 1px, 1px);
  margin: 0;
}
.webform-submission-form .js-form-type-checkbox label,
.webform-submission-form .js-form-type-radio label,
form.user-login-form .js-form-type-checkbox label,
form.user-login-form .js-form-type-radio label,
.subscribe-form .js-form-type-checkbox label,
.subscribe-form .js-form-type-radio label,
.unsubscribe-form .js-form-type-checkbox label,
.unsubscribe-form .js-form-type-radio label {
  position: relative;
  display: block;
  margin: 0;
  padding: 0 0 0 30px;
  cursor: pointer;
  font-size: 0.6363636364rem;
  line-height: 0.8181818182rem;
  color: #000000;
}
.webform-submission-form .js-form-type-checkbox label:before,
.webform-submission-form .js-form-type-radio label:before,
form.user-login-form .js-form-type-checkbox label:before,
form.user-login-form .js-form-type-radio label:before,
.subscribe-form .js-form-type-checkbox label:before,
.subscribe-form .js-form-type-radio label:before,
.unsubscribe-form .js-form-type-checkbox label:before,
.unsubscribe-form .js-form-type-radio label:before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  width: 18px;
  height: 18px;
  border: 2px solid #000000;
  border-radius: 0;
  background: transparent;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  vertical-align: top;
}
.webform-submission-form .js-form-type-checkbox label:after,
.webform-submission-form .js-form-type-radio label:after,
form.user-login-form .js-form-type-checkbox label:after,
form.user-login-form .js-form-type-radio label:after,
.subscribe-form .js-form-type-checkbox label:after,
.subscribe-form .js-form-type-radio label:after,
.unsubscribe-form .js-form-type-checkbox label:after,
.unsubscribe-form .js-form-type-radio label:after {
  content: "";
  position: absolute;
  top: 4px;
  left: 4px;
  width: 10px;
  height: 10px;
  margin: 0;
  background: #009750;
  opacity: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  font-size: 10px;
  line-height: 10px;
}
.webform-submission-form .js-form-type-checkbox input[type=checkbox]:checked + label:before,
.webform-submission-form .js-form-type-radio input[type=checkbox]:checked + label:before,
form.user-login-form .js-form-type-checkbox input[type=checkbox]:checked + label:before,
form.user-login-form .js-form-type-radio input[type=checkbox]:checked + label:before,
.subscribe-form .js-form-type-checkbox input[type=checkbox]:checked + label:before,
.subscribe-form .js-form-type-radio input[type=checkbox]:checked + label:before,
.unsubscribe-form .js-form-type-checkbox input[type=checkbox]:checked + label:before,
.unsubscribe-form .js-form-type-radio input[type=checkbox]:checked + label:before {
  border-color: #009750;
}
.webform-submission-form .js-form-type-checkbox input[type=checkbox]:checked + label:after,
.webform-submission-form .js-form-type-radio input[type=checkbox]:checked + label:after,
form.user-login-form .js-form-type-checkbox input[type=checkbox]:checked + label:after,
form.user-login-form .js-form-type-radio input[type=checkbox]:checked + label:after,
.subscribe-form .js-form-type-checkbox input[type=checkbox]:checked + label:after,
.subscribe-form .js-form-type-radio input[type=checkbox]:checked + label:after,
.unsubscribe-form .js-form-type-checkbox input[type=checkbox]:checked + label:after,
.unsubscribe-form .js-form-type-radio input[type=checkbox]:checked + label:after {
  opacity: 1;
}
.webform-submission-form .js-form-type-checkbox input[type=checkbox].error + label,
.webform-submission-form .js-form-type-radio input[type=checkbox].error + label,
form.user-login-form .js-form-type-checkbox input[type=checkbox].error + label,
form.user-login-form .js-form-type-radio input[type=checkbox].error + label,
.subscribe-form .js-form-type-checkbox input[type=checkbox].error + label,
.subscribe-form .js-form-type-radio input[type=checkbox].error + label,
.unsubscribe-form .js-form-type-checkbox input[type=checkbox].error + label,
.unsubscribe-form .js-form-type-radio input[type=checkbox].error + label {
  color: red;
}
.webform-submission-form .js-form-submit,
form.user-login-form .js-form-submit,
.subscribe-form .js-form-submit,
.unsubscribe-form .js-form-submit {
  display: block;
  border-radius: 24px;
  padding: 16px 56px;
  margin: 40px auto 0;
  background-color: #009750;
  color: #ffffff;
  font-weight: 700;
  font-size: 0.6363636364rem;
  letter-spacing: 0px;
  line-height: 0.8181818182rem;
  text-transform: uppercase;
}
.webform-submission-form .js-form-submit:hover,
form.user-login-form .js-form-submit:hover,
.subscribe-form .js-form-submit:hover,
.unsubscribe-form .js-form-submit:hover {
  background-color: #ffed00;
  color: #000000 !important;
}
.webform-submission-form #status-messages,
form.user-login-form #status-messages,
.subscribe-form #status-messages,
.unsubscribe-form #status-messages {
  padding-left: 20px;
  padding-right: 20px;
}
.webform-submission-form #status-messages .callout,
form.user-login-form #status-messages .callout,
.subscribe-form #status-messages .callout,
.unsubscribe-form #status-messages .callout {
  margin: 0;
  background: rgba(0, 0, 0, 0.8);
  color: white;
}
.webform-submission-form .webform-confirmation,
form.user-login-form .webform-confirmation,
.subscribe-form .webform-confirmation,
.unsubscribe-form .webform-confirmation {
  text-align: center;
}
.webform-submission-form .webform-confirmation .webform-confirmation__message,
form.user-login-form .webform-confirmation .webform-confirmation__message,
.subscribe-form .webform-confirmation .webform-confirmation__message,
.unsubscribe-form .webform-confirmation .webform-confirmation__message {
  margin-bottom: 30px;
  font-size: 0.9090909091rem;
  line-height: 1.1818181818rem;
  color: #000000;
}

.user-login-form {
  margin-bottom: 40px;
}
.user-login-form #edit-actions {
  text-align: center;
  margin-top: 20px;
}

.msg-disclaimer-form #edit-actions {
  margin-top: 40px;
}

.main-menu ul.dropdown {
  position: initial !important;
  display: none;
}
.main-menu ul.dropdown li a {
  font-size: 0.8181818182rem;
  font-weight: 700;
  color: #000000;
}
.main-menu ul.dropdown li a:hover {
  color: #009750 !important;
}
.main-menu ul.dropdown li a:after {
  content: none !important;
}
.main-menu ul.dropdown li .submenu-background {
  display: none;
  position: absolute;
  top: 140px;
  right: 0;
  width: 100%;
  height: auto;
  background-color: rgb(244, 244, 244);
  -webkit-box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
          box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
  z-index: -1;
}
.main-menu ul.dropdown li .submenu-background .custom-menu {
  padding-right: 0.4545454545rem;
  padding-left: 0.4545454545rem;
}
@media print, screen and (min-width: 48em) {
  .main-menu ul.dropdown li .submenu-background .custom-menu {
    padding-right: 0.6818181818rem;
    padding-left: 0.6818181818rem;
  }
}
.main-menu ul.dropdown li .submenu-background .custom-menu {
  max-width: 58.1818181818rem;
  margin-left: auto;
  margin-right: auto;
  display: none;
  padding: 36px 0;
}
.main-menu ul.dropdown li .submenu-background .custom-menu a {
  color: #009750;
  text-decoration: underline;
}
.main-menu ul.dropdown li .submenu-background .custom-menu a.is-active {
  color: #000000;
  text-decoration: none;
}
.main-menu ul.dropdown li .submenu-background .custom-menu a.is-active:hover {
  color: #000000 !important;
}
.main-menu ul.dropdown li .submenu-background .custom-menu a:hover,
.main-menu ul.dropdown li .submenu-background .custom-menu a:active,
.main-menu ul.dropdown li .submenu-background .custom-menu a:focus {
  text-decoration: none;
}
.main-menu ul.dropdown li.is-active {
  color: #000000;
  text-decoration: none;
}
.main-menu ul.dropdown li.is-active > .submenu-background {
  display: block;
}
.main-menu ul.dropdown li.is-active > .submenu-background ul.custom-menu {
  display: grid;
  grid-template-rows: 1fr 1fr 1fr;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-auto-flow: column;
  width: 100%;
}
.main-menu ul.dropdown li.is-active > .submenu-background ul.custom-menu li {
  width: 100%;
}
.main-menu ul.dropdown li.active-trail a,
.main-menu ul.dropdown li.active-trail a:hover,
.main-menu ul.dropdown li.active-trail a:active,
.main-menu ul.dropdown li.active-trail a:focus {
  color: #009750;
  text-decoration: none;
}
@media print, screen and (min-width: 64em) {
  .main-menu ul.dropdown {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.paragraph.paragraph-unpublished {
  background: red;
}
.paragraph.removeLeftSpace {
  margin-left: 0;
  padding-left: 0;
}
.paragraph.removeRightSpace {
  margin-right: 0;
  padding-right: 0;
}

/**
 * Foundation Grid paragraphs + Foundation Cell
 * Basic class to manage the background
 * Please note that for sending the background image on fullwidth of the screen you need to modify your page.html.twig.
 * Please remove all the grid-system and leave the manage on the paragraph Foundation Grid system.
 */
.paragraph--type--foundation-grid {
  position: relative;
}

.paragraph--type--foundation-cell {
  position: relative;
}

.grid-container {
  position: relative;
}

.backgroundDiv {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}
.backgroundDiv + div {
  position: relative;
  z-index: 1;
}
.backgroundDiv.colorBg-dark {
  background-color: #000000;
}
.backgroundDiv.imageBg {
  background-position: center center;
  background-repeat: no-repeat;
  background-color: transparent;
  background-size: cover;
}

.paragraph--type--foundation-accordions-tabs ul.tabs {
  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;
  border-color: transparent;
  background: transparent;
}
.paragraph--type--foundation-accordions-tabs ul.tabs .tabs-title {
  -webkit-box-flex: 0 !important;
      -ms-flex: 0 0 auto !important;
          flex: 0 0 auto !important;
  margin-right: 10px;
}
.paragraph--type--foundation-accordions-tabs ul.tabs .tabs-title > a {
  position: relative;
  height: 48px;
  padding: 0 15px;
  border: none;
  border-bottom: 6px solid #000000;
  font-size: 0.6363636364rem;
  line-height: 48px;
  color: #000000;
  text-transform: uppercase;
}
.paragraph--type--foundation-accordions-tabs ul.tabs .tabs-title > a:hover, .paragraph--type--foundation-accordions-tabs ul.tabs .tabs-title > a:focus, .paragraph--type--foundation-accordions-tabs ul.tabs .tabs-title > a[aria-selected=true] {
  background: #000000;
  border-color: #000000;
  color: #ffffff;
}
.paragraph--type--foundation-accordions-tabs .tabs-content {
  margin: 30px 0;
  border-color: transparent;
  background: transparent;
}
.paragraph--type--foundation-accordions-tabs .tabs-panel {
  padding: 0;
}

.paragraph--type--foundation-accordions ul.accordion,
.paragraph--type--foundation-accordions-tabs ul.accordion {
  background: transparent;
}
.paragraph--type--foundation-accordions .accordion-item,
.paragraph--type--foundation-accordions-tabs .accordion-item {
  margin-bottom: 5px;
}
.paragraph--type--foundation-accordions .accordion-title,
.paragraph--type--foundation-accordions-tabs .accordion-title {
  display: block !important;
  position: relative;
  padding: 20px 30px 20px 15px;
  border: none;
  background: #000000;
  font-size: 0.6363636364rem;
  line-height: 0.7272727273rem;
  color: #ffffff;
  text-transform: uppercase;
}
.paragraph--type--foundation-accordions .accordion-title:before,
.paragraph--type--foundation-accordions-tabs .accordion-title:before {
  display: none !important;
}
.paragraph--type--foundation-accordions .accordion-title,
.paragraph--type--foundation-accordions-tabs .accordion-title {
  /*@include icon(after, plus){
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translate(0, -50%);
    z-index: 2;

    font-size: 8px;
    line-height: 1;
    text-align: center;
  }*/
}
.paragraph--type--foundation-accordions .accordion-title:focus, .paragraph--type--foundation-accordions .accordion-title:hover,
.paragraph--type--foundation-accordions-tabs .accordion-title:focus,
.paragraph--type--foundation-accordions-tabs .accordion-title:hover {
  background-color: #000000;
  color: #ffffff;
}
.paragraph--type--foundation-accordions li.accordion-item.is-active > .accordion-title,
.paragraph--type--foundation-accordions-tabs li.accordion-item.is-active > .accordion-title {
  background-color: #000000;
  color: #ffffff;
}
.paragraph--type--foundation-accordions .accordion-content,
.paragraph--type--foundation-accordions-tabs .accordion-content {
  margin: 0;
  padding: 25px 35px;
  background-color: transparent;
  border: none;
}
.paragraph--type--highlights {
  background-color: #46b384;
  padding: 55px 0;
}
.paragraph--type--highlights .highlight-content {
  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-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0 5px;
}
.paragraph--type--highlights .highlight-content > div {
  color: #ffffff;
  text-align: center;
}
.paragraph--type--highlights .highlight-content > div.body-l, .paragraph--type--highlights .press-releases.press-releases-latest .highlight-content > div.press-release-title, .press-releases.press-releases-latest .paragraph--type--highlights .highlight-content > div.press-release-title, .paragraph--type--highlights .paragraph--type--quote .quote-content .highlight-content > div.text-align-center, .paragraph--type--quote .quote-content .paragraph--type--highlights .highlight-content > div.text-align-center {
  margin-top: 16px;
  line-height: 22px;
  font-size: 20px;
}
.paragraph--type--highlights .highlight-content .separator-bottom-small:after {
  background-color: #ffed00;
}
.paragraph--type--highlights .swiper-pagination {
  bottom: 10px;
}
.paragraph--type--highlights .swiper-pagination .swiper-pagination-bullet {
  width: 7px;
  height: 7px;
  vertical-align: middle;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.paragraph--type--highlights .swiper-pagination .swiper-pagination-bullet-active {
  background: #ffffff;
  height: 12px;
  width: 12px;
}

.paragraph--type--slider {
  position: relative;
  margin: 100px 0;
}
.paragraph--type--slider .swiper-container {
  padding: 0;
  overflow: hidden;
}
.paragraph--type--slider .swiper-container .cell {
  position: relative;
}
.paragraph--type--slider .swiper-container .swiper-slide {
  width: 100%;
  visibility: hidden;
  background-color: #ffffff;
}
.paragraph--type--slider .swiper-container .swiper-slide.swiper-slide-active {
  visibility: visible;
}
.paragraph--type--slider .swiper-container .swiper-slide .slide-wrapper {
  padding: 56px 0 117px 0;
  position: relative;
  height: 500px;
}
.paragraph--type--slider .swiper-container .swiper-slide .slide-wrapper .title {
  margin: 40px 0 20px 0;
}
.paragraph--type--slider .swiper-container .swiper-slide .slide-wrapper .description {
  padding: 0px 108px 0px 108px;
}
.paragraph--type--slider .swiper-container .swiper-slide:before {
  content: "";
  position: absolute;
  bottom: 10px;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-box-shadow: 0px 8px 10px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 8px 10px rgba(0, 0, 0, 0.1);
  z-index: 9999;
}
.paragraph--type--slider .swiper-container .swiper-arrows {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  background-color: #009750;
  height: 50%;
  width: 100%;
  top: 25%;
  font-size: 26px;
}
.paragraph--type--slider .swiper-container .swiper-prev {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
}
.paragraph--type--slider .swiper-container .swiper-prev:before {
  content: "\e810";
}
.paragraph--type--slider .swiper-container .swiper-next {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
}
.paragraph--type--slider .swiper-container .swiper-next:before {
  content: "\e813";
}
.paragraph--type--slider:before {
  content: "";
  position: absolute;
  background-color: #009750;
  height: 50%;
  width: 100%;
  top: 25%;
  left: 0;
}

.paragraph--type--cards .card .card-wrapper {
  -webkit-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.05);
          box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.05);
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.paragraph--type--cards .card:hover .card-wrapper {
  -webkit-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.1);
}
.paragraph--type--cards .card:hover .card-cover img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.paragraph--type--cards .cards-heading {
  padding-bottom: 40px;
}
.paragraph--type--cards .cards-heading > p {
  margin-bottom: 25px;
}
.paragraph--type--cards .card-cover {
  overflow: hidden;
}
.paragraph--type--cards .card-cover img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  width: 100%;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.paragraph--type--cards .card-content {
  padding: 40px;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.paragraph--type--cards .card-content .card-title {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-bottom: 30px;
}
.paragraph--type--cards .card-content .card-title:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -5px;
  width: 100%;
  height: 1px;
  background-color: #009750;
}
.paragraph--type--company-logos .description {
  margin: 20px 0 40px 0;
}
.paragraph--type--company-logos .category {
  margin-top: 40px;
  margin-bottom: 22px;
  font-weight: 700;
}
.paragraph--type--company-logos .swiper-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.paragraph--type--company-logos .images {
  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;
}
.paragraph--type--company-logos .images .image {
  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: 200px;
  height: 75px;
  padding: 0 20px;
}
.paragraph--type--company-logos .images .image a,
.paragraph--type--company-logos .images .image img {
  max-width: 100%;
  max-height: 100%;
}
.paragraph--type--company-logos .images .image a {
  height: 100%;
  width: 100%;
}
.paragraph--type--company-logos .images .swiper-pagination {
  display: none;
}
@media print, screen and (max-width: 79.99875em) {
  .paragraph--type--company-logos .swiper-wrapper {
    padding-bottom: 80px;
    -webkit-box-pack: initial;
        -ms-flex-pack: initial;
            justify-content: initial;
  }
  .paragraph--type--company-logos .images .image {
    display: block;
    width: auto;
    height: auto;
    padding: 0;
    margin: auto;
  }
  .paragraph--type--company-logos .images .image img {
    max-width: 100%;
    max-height: 75px;
  }
  .paragraph--type--company-logos .images .swiper-pagination {
    display: block;
  }
}

.paragraph--type--cards-3-columns .card {
  -webkit-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.05);
          box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.05);
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.paragraph--type--cards-3-columns .card:hover {
  -webkit-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.1);
}
.paragraph--type--cards-3-columns .card:hover .card-cover img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.paragraph--type--cards-3-columns .card-cover {
  overflow: hidden;
}
.paragraph--type--cards-3-columns .card-cover img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  width: 100%;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.paragraph--type--cards-3-columns .card-content {
  padding: 30px 20px;
}
.paragraph--type--cards-3-columns .card-content .card-title {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-bottom: 11px;
}
.paragraph--type--content-boxes .cell {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.paragraph--type--content-boxes .cell .box-content {
  padding-left: 0;
  padding-right: 100px;
}
.paragraph--type--content-boxes .cell.small-order-1 .box-content {
  padding-right: 0;
  padding-left: 100px;
}
@media print, screen and (max-width: 63.99875em) {
  .paragraph--type--content-boxes .cell .box-content {
    padding: 0;
  }
  .paragraph--type--content-boxes .cell.small-order-1 .box-content {
    padding: 0;
  }
}
@media print, screen and (max-width: 47.99875em) {
  .paragraph--type--content-boxes .cell.box-content-content {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .paragraph--type--content-boxes .cell.box-content-image {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .paragraph--type--content-boxes .cell.box-content-image img {
    width: 100%;
  }
}

.paragraph--type--claim {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 45px 0;
}
.paragraph--type--claim .claim-content {
  width: 40%;
}
.paragraph--type--claim .claim-content p {
  font-size: 1.4545454545rem;
  line-height: 2.1818181818rem;
}
@media print, screen and (max-width: 63.99875em) {
  .paragraph--type--claim {
    padding-right: 0.4545454545rem;
    padding-left: 0.4545454545rem;
    max-width: 58.1818181818rem;
    margin-left: auto;
    margin-right: auto;
  }
}
@media print, screen and (max-width: 63.99875em) and (min-width: 48em) {
  .paragraph--type--claim {
    padding-right: 0.6818181818rem;
    padding-left: 0.6818181818rem;
  }
}
@media print, screen and (max-width: 63.99875em) {
  .paragraph--type--claim .claim-content {
    width: 100%;
  }
}
@media print, screen and (max-width: 47.99875em) {
  .paragraph--type--claim .claim-content {
    width: 100%;
  }
  .paragraph--type--claim .claim-content p {
    text-align: center;
    font-size: 1.2727272727rem;
    line-height: 1.4545454545rem;
  }
}

.paragraph--type--vertical-cards {
  padding-top: 120px;
  padding-bottom: 200px;
}
.paragraph--type--vertical-cards .card-wrapper {
  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;
  margin-top: -30px;
  margin-bottom: -30px;
}
.paragraph--type--vertical-cards .card-wrapper .card-image {
  width: 50%;
}
.paragraph--type--vertical-cards .card-wrapper .card-content {
  padding: 45px 60px;
  width: 50%;
}
.paragraph--type--vertical-cards .card-wrapper .card-content .card-subtitle {
  text-transform: none;
  font-size: 1.0909090909rem;
  font-weight: 500;
}
.paragraph--type--vertical-cards .card-wrapper .card-content .card-subtitle:after {
  top: 26px;
}
.paragraph--type--vertical-cards .card-wrapper .card-content .card-title {
  font-weight: 500;
  margin: 24px 0;
}
.paragraph--type--vertical-cards .card-wrapper.card-inverted .card-image {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.paragraph--type--vertical-cards .card-wrapper.card-inverted .card-content {
  padding: 105px 60px;
}
@media print, screen and (max-width: 63.99875em) {
  .paragraph--type--vertical-cards {
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .paragraph--type--vertical-cards .card-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 40px;
    margin: 0;
    padding: 0;
  }
  .paragraph--type--vertical-cards .card-wrapper .card-image {
    width: 100%;
  }
  .paragraph--type--vertical-cards .card-wrapper .card-content {
    padding: 0;
    width: 100%;
  }
  .paragraph--type--vertical-cards .card-wrapper.card-inverted .card-image {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
  }
  .paragraph--type--vertical-cards .card-wrapper.card-inverted .card-content {
    padding: 0;
  }
}

.paragraph--type--quote:not(.with-image) {
  background: url(/themes/custom/tt_foundation/images/paragraphs/quote_background.png);
  background-size: cover;
  background-repeat: no-repeat;
}
.paragraph--type--quote:not(.with-image) .quote-content .quote-footer {
  text-align: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.paragraph--type--quote .quote-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-bottom: 120px;
}
.paragraph--type--quote .quote-content .text-align-center {
  margin-bottom: 30px;
}
.paragraph--type--quote .quote-content .separator, .paragraph--type--quote .quote-content .separator-bottom, .paragraph--type--quote .quote-content .separator-bottom-small {
  width: 100%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  margin-bottom: 40px;
  margin-top: 60px;
}
.paragraph--type--quote .quote-content .separator:after, .paragraph--type--quote .quote-content .separator-bottom:after, .paragraph--type--quote .quote-content .separator-bottom-small:after {
  content: "";
  bottom: 0;
  height: 1px;
  width: 90px;
  background-color: #009fe3;
  -ms-flex-item-align: center;
      align-self: center;
}
.paragraph--type--quote .quote-content .quote-footer .quote-name {
  font-weight: 700;
  margin-bottom: 10px;
}
.paragraph--type--quote .quote-content .quote-footer .quote-other {
  margin-bottom: 0;
}
.paragraph--type--quote.with-image .quote-background-image {
  position: absolute;
}
.paragraph--type--quote.with-image {
  background: url("../images/paragraphs/quote_background_image.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: 25% 50%;
  padding: 120px 0 70px 0;
}
.paragraph--type--quote.with-image .quote-content .quote-footer {
  text-align: left;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.paragraph--type--quote.with-image .quote-content .separator:after, .paragraph--type--quote.with-image .quote-content .separator-bottom:after, .paragraph--type--quote.with-image .quote-content .separator-bottom-small:after {
  -ms-flex-item-align: start;
      align-self: flex-start;
}
@media print, screen and (max-width: 63.99875em) {
  .paragraph--type--quote .quote-content .separator:after, .paragraph--type--quote .quote-content .separator-bottom:after, .paragraph--type--quote .quote-content .separator-bottom-small:after {
    -ms-flex-item-align: center;
        align-self: center;
  }
}
@media print, screen and (max-width: 47.99875em) {
  .paragraph--type--quote.with-image {
    padding: 20px 0 0 0;
  }
  .paragraph--type--quote.with-image .quote-footer {
    text-align: center;
  }
  .paragraph--type--quote .quote-content {
    margin-bottom: 0;
    text-align: center;
  }
  .paragraph--type--quote .quote-content .quote-footer {
    padding-bottom: 20px;
  }
}

/* Raggruppa tutti i paragrafi minicard=* ex "contacts" */
.paragraph--type--contacts .contact-content {
  -webkit-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.05);
          box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.05);
  opacity: 1;
  background-color: #ffffff;
  padding: 39px 27px 29px;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.paragraph--type--contacts .contact-content:hover {
  -webkit-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.1);
}
.paragraph--type--contacts .wrapper-title {
  margin-bottom: 30px;
}
.paragraph--type--contacts .name {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  line-height: 1.8rem;
  text-decoration: underline;
  text-underline-offset: 10px;
  text-decoration-color: #009750;
  /*&:after {
    content: "";
    position: absolute;
    bottom: -7px;
    height: 1px;
    width: 100%;
    background-color: $primary-green;
  }*/
}
.paragraph--type--contacts .text {
  margin-bottom: 40px;
}
.paragraph--type--contacts .text p {
  margin-bottom: 0;
}
.paragraph--type--contacts .files .media-link {
  margin: 20px 0;
}

.msg_c_wrapper_clearfix:before,
.msg_c_wrapper_clearfix:after {
  content: " ";
  display: table;
}

.msg_c_wrapper:not(.msg_c_wrapper_full_width) {
  padding-right: 0;
  padding-left: 0;
  margin-left: auto;
  margin-right: auto;
}

.msg_c_wrapper_biggest {
  max-width: auto;
}

.msg_c_wrapper_big {
  max-width: auto;
}

.msg_c_wrapper_medium {
  max-width: auto;
}

.msg_c_wrapper_small {
  max-width: auto;
}

.msg_c_wrapper_smallest {
  max-width: auto;
}

.msg_c_wrapper_space_top {
  margin-top: auto;
}

.msg_c_wrapper_space_bottom {
  margin-bottom: var(--msg_c_wrapper_spacer, 35px);
}

.msg_c_wrapper_space_both {
  margin-top: var(--msg_c_wrapper_spacer, 35px);
  margin-bottom: var(--msg_c_wrapper_spacer, 35px);
}

.msg_c_wrapper_colored {
  padding-top: 40px;
  padding-bottom: 40px;
  background: #F4F4F4;
}

.paragraph--type--discover-more {
  padding: 80px 0;
  opacity: 1;
  background-color: rgb(244, 244, 244);
}
.paragraph--type--discover-more .cards-title {
  color: #009750;
}
.paragraph--type--discover-more .card-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
}
.paragraph--type--discover-more .card-content.discover-col3 .card-title {
  font-size: 1.3636363636rem;
}
@media all and (max-width: 1100px) {
  .paragraph--type--discover-more .card-content.discover-col3 .card-title {
    font-size: 1.2727272727rem;
    line-height: 1.3636363636rem;
  }
  .paragraph--type--discover-more .card-content.discover-col3 .card-text {
    font-size: 0.9090909091rem;
  }
}
@media all and (max-width: 768px) {
  .paragraph--type--discover-more .card-content.discover-col3 .card-title {
    font-size: 1.0909090909rem;
    line-height: 1.2727272727rem;
  }
  .paragraph--type--discover-more .card-content.discover-col3 .card-text {
    font-size: 0.8181818182rem;
  }
}
.paragraph--type--discover-more .card-content .card-text {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.paragraph--type--discover-more .card-content .card-link {
  justify-self: flex-end;
}
@media print, screen and (max-width: 63.99875em) {
  .paragraph--type--discover-more {
    padding: 20px 0;
  }
  .paragraph--type--discover-more .cards-title {
    font-size: 1.7272727273rem;
  }
  .paragraph--type--discover-more .card-image {
    text-align: center;
  }
}

.paragraph--type--timeline .paragraph--type--timeline-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin: 0;
  padding: 0;
}
.paragraph--type--timeline .paragraph--type--timeline-item .timeline-image {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  width: 100%;
  border: 0;
  padding: 20px 0;
  margin: 0;
}
.paragraph--type--timeline .paragraph--type--timeline-item .timeline-text {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  width: 100%;
  padding: 0;
  margin: 0;
}
.paragraph--type--timeline .paragraph--type--timeline-item:nth-child(even) .timeline-image {
  border: none;
}
.paragraph--type--timeline .paragraph--type--timeline-item:nth-child(even) .timeline-text {
  padding-left: 0;
  padding-right: 0;
}
@media print, screen and (min-width: 48em) {
  .paragraph--type--timeline .paragraph--type--timeline-item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-bottom: 20px;
    padding-top: 20px;
  }
  .paragraph--type--timeline .paragraph--type--timeline-item:nth-child(even) .timeline-image {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    border-right: none;
    border-left: 1px solid #46b384;
  }
  .paragraph--type--timeline .paragraph--type--timeline-item:nth-child(even) .timeline-text {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    padding-left: 0;
    padding-right: 40px;
  }
  .paragraph--type--timeline .paragraph--type--timeline-item .timeline-image {
    width: 50%;
  }
  .paragraph--type--timeline .paragraph--type--timeline-item .timeline-text {
    width: 50%;
    padding-left: 40px;
  }
  .paragraph--type--timeline .paragraph--type--timeline-item:before {
    content: "";
    position: absolute;
    left: 50%;
    top: 0;
    height: 100%;
    width: 1px;
    background-color: #46b384;
  }
  .paragraph--type--timeline .paragraph--type--timeline-item:after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 40px;
    height: 40px;
    border: 10px solid #46b384;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    border-radius: 20px;
    background-color: #ffffff;
  }
}
@media print, screen and (min-width: 64em) {
  .paragraph--type--timeline .paragraph--type--timeline-item .timeline-text {
    padding-left: 120px;
  }
  .paragraph--type--timeline .paragraph--type--timeline-item:nth-child(even) .timeline-text {
    padding-right: 120px;
  }
}

.body.field--node-body {
  margin-bottom: 40px;
  text-align: center;
}
.body.field--node-body p:last-child {
  margin-bottom: 0;
}

/**
 * Definizioni comuni a tutte le viste
 * Le viste che riguardano un certo tipo di contenuto vanno stilizzate nel relativo file content_types/_*.scss
 */
.views-exposed-form {
  margin-bottom: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.views-exposed-form .form-item {
  margin: 0 10px;
}
@media print, screen and (max-width: 47.99875em) {
  .views-exposed-form {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
    width: 100%;
  }
  .views-exposed-form .select2-container {
    min-width: 100%;
  }
}

.views-row-document {
  position: relative;
  border-bottom: 1px solid #D1D2D4;
}
.views-row-document:first-child {
  border-top: 1px solid #D1D2D4;
}

.views-element-container nav.pager {
  text-align: center;
}
.views-element-container ul.pager__items {
  display: inline-block;
  width: auto;
  margin: 40px auto;
  padding: 0;
  font-size: 0;
  text-align: center;
}
.views-element-container ul.pager__items li.pager__item {
  display: inline-block;
  min-width: 40px;
  margin: 0;
  padding: 0;
  vertical-align: top;
}
@media print, screen and (min-width: 48em) {
  .views-element-container ul.pager__items li.pager__item {
    margin: 0 4px;
  }
}
.views-element-container ul.pager__items li.pager__item:before {
  display: none !important;
}
.views-element-container ul.pager__items li.pager__item a {
  position: relative;
  display: inline-block;
  min-width: 40px;
  height: 40px;
  padding: 0 12px;
  background: transparent;
  vertical-align: middle;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  line-height: 40px;
  color: #000000;
  text-align: center;
  font-weight: bold;
}
.views-element-container ul.pager__items li.pager__item a:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 4px;
  background: #009750;
  z-index: -1;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.views-element-container ul.pager__items li.pager__item a:hover a {
  color: white;
}
.views-element-container ul.pager__items li.pager__item a:hover:before {
  width: 100%;
}
.views-element-container ul.pager__items li.pager__item.pager__item--ellipsis {
  height: 40px;
  display: inline-block;
  line-height: 40px;
  width: 30px;
  min-width: auto;
}
@media print, screen and (min-width: 48em) {
  .views-element-container ul.pager__items li.pager__item.pager__item--ellipsis {
    width: 40px;
  }
}
.views-element-container ul.pager__items li.pager__item.pager__item--previous, .views-element-container ul.pager__items li.pager__item.pager__item--next {
  display: none;
}
.views-element-container ul.pager__items li.pager__item.pager__item--previous span[aria-hidden=true], .views-element-container ul.pager__items li.pager__item.pager__item--next span[aria-hidden=true] {
  display: none;
}
.views-element-container ul.pager__items li.pager__item.pager__item--previous a:after {
  content: "\e810";
  margin-left: 0;
}
.views-element-container ul.pager__items li.pager__item.pager__item--next a:after {
  content: "\e813";
  margin-left: 0;
}
.views-element-container ul.pager__items li.pager__item.pager__item.current a {
  color: #ffffff;
}
.views-element-container ul.pager__items li.pager__item.pager__item.current a:before {
  width: 100%;
}

.viewInfinitePaged .js-pager__items.infinite-pager {
  margin-top: 60px;
  margin-bottom: 0;
}
.viewInfinitePaged .js-pager__items.infinite-pager li:before {
  display: none;
}

.befFilters .bef-exposed-form {
  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;
  margin-top: 30px;
  margin-bottom: 70px;
}
.befFilters .bef-exposed-form label,
.befFilters .bef-exposed-form legend {
  display: none;
}
.befFilters .bef-exposed-form .js-form-item {
  margin-right: 20px;
}
.befFilters .bef-exposed-form .js-form-item:last-of-type {
  margin-right: 0;
}
.befFilters .bef-exposed-form .form-radios {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  font-size: 0;
}
.befFilters .bef-exposed-form .form-radios .js-form-type-radio {
  margin: 0 5px;
}
.befFilters .bef-exposed-form .form-radios input[type=radio] {
  position: absolute;
  clip: rect(1px, 1px, 1px, 1px);
  margin: 0;
}
.befFilters .bef-exposed-form .form-radios label.option {
  display: inline-block;
  margin: 0;
  padding: 17px 20px 11px 20px;
  background: transparent;
  border-bottom: 7px solid #000000;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  cursor: pointer;
  font-size: 0.6363636364rem;
  line-height: 0.9090909091rem;
  color: #000000;
  text-transform: uppercase;
}
.befFilters .bef-exposed-form .form-radios input[type=radio]:checked + label.option {
  background: #000000;
  border-color: #000000;
  color: #ffffff;
}
.befFilters .bef-exposed-form .form-actions {
  display: none;
}
@media print, screen and (min-width: 48em) {
  .befFilters .bef-exposed-form .form-radios {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media print, screen and (min-width: 64em) {
  .befFilters .bef-exposed-form .form-radios label.option:hover {
    background: #000000;
    border-color: #000000;
    color: #ffffff;
  }
}

.view-search.search-page form {
  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;
}
.view-search.search-page form label {
  display: none;
}
.view-search.search-page form input[type=text] {
  padding: 26px 20px;
  line-height: 1;
  font-size: 0.8181818182rem;
  font-weight: 700;
  border: none;
  -webkit-box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.2);
          box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.2);
}
.view-search.search-page form input[type=submit] {
  border-radius: 32px;
  color: #ffffff;
  background-color: #009750;
  padding: 16px 32px;
  line-height: 1;
  font-size: 0.6363636364rem;
  font-weight: 700;
  text-transform: uppercase;
}
.view-search.search-page form input {
  margin: 0;
}
.view-search.search-page .views-row article {
  padding-top: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #D1D2D4;
}
.view-search.search-page .views-row:first-child article {
  border-top: 1px solid #D1D2D4;
}
.view-search.search-page .views-row h2.node-title {
  font-weight: bold;
  margin-bottom: 20px;
}
.view-search.search-page .views-row .field--search-api-excerpt {
  margin-bottom: 20px;
}

#site-search-form {
  display: none;
  position: fixed;
  z-index: 9;
  height: calc(100% - 140px);
  width: 100%;
  top: 140px;
  padding: 0 15px;
  background-color: rgba(0, 151, 80, 0.9);
  background-image: url("../images/search/search_background.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: auto;
}
.headroom-not-top #site-search-form {
  height: calc(100% - 75px);
  top: 75px;
}
@media print, screen and (min-width: 64em) {
  .headroom-not-top #site-search-form {
    height: calc(100% - 75px);
    top: 75px;
  }
  .toolbar-horizontal #site-search-form {
    height: calc(100% - 179px);
    top: 179px;
  }
  .toolbar-tray-open.toolbar-vertical #site-search-form {
    height: calc(100% - 179px);
    top: 179px;
  }
  .toolbar-tray-open.toolbar-horizontal #site-search-form {
    height: calc(100% - 223px);
    top: 223px;
  }
  .toolbar-horizontal.headroom-not-top #site-search-form {
    height: calc(100% - 114px);
    top: 114px;
  }
  .toolbar-tray-open.toolbar-vertical.headroom-not-top #site-search-form {
    height: calc(100% - 114px);
    top: 114px;
  }
  .toolbar-tray-open.toolbar-horizontal.headroom-not-top #site-search-form {
    height: calc(100% - 158px);
    top: 158px;
  }
}

#block-tt-foundation-formespostosearchsearch-block {
  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;
  height: 100%;
}
#block-tt-foundation-formespostosearchsearch-block form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 30px;
}
#block-tt-foundation-formespostosearchsearch-block form label {
  display: none;
}
#block-tt-foundation-formespostosearchsearch-block form input[type=text] {
  padding: 26px 20px;
  line-height: 1;
  font-size: 0.8181818182rem;
  font-weight: 700;
  border: none;
}
#block-tt-foundation-formespostosearchsearch-block form input[type=submit] {
  border-radius: 32px;
  color: #009750;
  background-color: #ffffff;
  padding: 16px 77px;
  line-height: 1;
  font-size: 0.6363636364rem;
  font-weight: 700;
  text-transform: uppercase;
}
#block-tt-foundation-formespostosearchsearch-block form input {
  margin: 0;
}

.views-view-assemblee .assemblea-title {
  margin-bottom: 40px;
}
.views-view-assemblee > .views-row article.node-assemblea-teaser {
  padding-bottom: 80px;
}

.viewEventi {
  display: block;
}
.viewEventi .custom-row-wrapper .custom-row .custom-title-wrapper {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.press-releases.press-releases-latest {
  padding-top: 100px;
  padding-bottom: 100px;
}
.press-releases.press-releases-latest {
  padding-top: 20px;
  padding-bottom: 20px;
}

.media-gallery .media-content:not(.media-video-content) {
  position: relative;
}
.media-gallery .media-content:not(.media-video-content) a {
  position: absolute;
  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;
  padding: 4px 8px;
  font-size: 0;
  bottom: 10px;
  background-color: #009750;
}
.media-gallery .media-content:not(.media-video-content) a:before {
  font-size: 24px;
  color: #ffffff;
}
.media-gallery .media-content:not(.media-video-content) a.media-download {
  right: 10px;
}
.media-gallery .media-content:not(.media-video-content) a.media-download:before {
  content: "\e808";
}
.media-gallery .media-content:not(.media-video-content) a.media-expand {
  left: 10px;
}
.media-gallery .media-content:not(.media-video-content) a.media-expand:before {
  content: "\e807";
}
.media-gallery .media-content:not(.media-video-content) a:hover {
  background-color: #ffed00;
}
.media-gallery .media-content:not(.media-video-content) a:hover:before {
  color: #000000;
}
.media-gallery .media-video-content {
  position: relative;
}
.media-gallery .media-video-content a.fancy-link-video {
  position: absolute;
  left: 0;
  top: 0;
  bottom: auto;
  z-index: 5;
  width: 100%;
  height: 100%;
  text-decoration: none !important;
  color: #009750 !important;
}
.media-gallery .media-video-content a.fancy-link-video:before {
  content: "\e815";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 4;
  font-size: 60px;
  line-height: 60px;
}
.media-gallery .media-video-content a.fancy-link-video:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 3;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.1);
}
.media-gallery .media-video-content .video-cookie-overlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 7;
  width: 100%;
  height: 100%;
  background: #ffffff;
  border: 1px solid #000;
  padding: 20px;
  opacity: 1;
  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;
  color: #000;
  text-align: center;
}
.media-gallery .media-video-content .video-cookie-overlay.hidden {
  display: none !important;
}
.media-gallery .media-video-content .video-cookie-overlay .accept-cookies-btn {
  border-radius: 24px;
  background-color: #009750;
  cursor: pointer;
  padding: 16px 56px;
  margin: 40px auto 0;
  color: #ffffff;
  font-weight: 700;
  font-size: 0.6363636364rem;
  letter-spacing: 0px;
  line-height: 0.8181818182rem;
  text-transform: uppercase;
}
.media-gallery .media-video-content .video-cookie-overlay .accept-cookies-btn:hover {
  background-color: #ffed00;
  color: #000000 !important;
}

.page-404 .pageTitle,
.page-403 .pageTitle {
  font-size: 9.0909090909rem !important;
  line-height: 9.0909090909rem !important;
  font-weight: bold !important;
  color: #D1D2D4 !important;
}

.press-releases.press-releases-latest .press-release-date time {
  color: #000000;
}
.press-releases.press-releases-latest .press-release-title {
  font-weight: bold;
  margin: 16px 0;
}
.press-releases.press-releases-latest .press-release-title span {
  text-transform: uppercase;
  font-weight: 700;
}

body.path-frontpage {
  -ms-overflow-style: none; /* IE and Edge */
  scrollbar-width: none; /* Firefox */
  overflow-x: hidden;
}
body.path-frontpage #main.pageMain {
  margin: 0;
}
body.path-frontpage header.pageHeader {
  background: transparent;
  color: #ffffff;
}
body.path-frontpage header.pageHeader a {
  color: #ffffff;
}
body.path-frontpage header.pageHeader a.logo svg #text {
  fill: #ffffff;
}
body.path-frontpage header.pageHeader.headroom--not-top a.logo svg #text {
  fill: #000000;
}
body.path-frontpage header.pageHeader .main-menu ul.dropdown > li > a,
body.path-frontpage header.pageHeader .block-language ul.links > li > a:not(:hover) {
  color: #ffffff;
}
body.path-frontpage {
  /**
  * Headroom - menu non attaccato in pagina ma scroll up
  */
}
body.path-frontpage header.pageHeader.headroom--not-top {
  background-color: #ffffff;
  color: #000000 !important;
  -webkit-box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
          box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
}
body.path-frontpage header.pageHeader.headroom--not-top .main-menu ul.dropdown > li > a:not(:hover),
body.path-frontpage header.pageHeader.headroom--not-top .block-language ul.links > li > a:not(:hover) {
  color: #000000 !important;
}
body.path-frontpage header.pageHeader.headroom--not-top .main-menu ul.dropdown li.opens-right > .is-dropdown-submenu {
  top: 75px;
}
body.path-frontpage .paragraph--type--claim {
  background: rgb(0, 0, 0);
  color: #ffffff;
}
body.path-frontpage .paragraph--type--vertical-cards {
  background: -webkit-gradient(linear, left top, left bottom, from(#000000), color-stop(50%, rgb(0, 80, 114)), to(rgb(0, 159, 227)));
  background: linear-gradient(180deg, #000000 0%, rgb(0, 80, 114) 50%, rgb(0, 159, 227) 100%);
  color: #ffffff;
}

.assemblee .assemblea-title {
  margin-bottom: 40px;
}

.node-content.node-type-map-marker.node-view-mode-full {
  position: absolute;
  top: 20px;
  left: 20px;
  width: calc(100% - 40px);
  height: calc(100% - 40px);
  padding: 40px 50px;
  background: rgba(255, 255, 255, 0.9);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -webkit-transform: translate(100%, 0);
          transform: translate(100%, 0);
  opacity: 0;
}
.node-content.node-type-map-marker.node-view-mode-full.opened {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}
.node-content.node-type-map-marker.node-view-mode-full .marker-close {
  position: absolute;
  top: 0;
  right: 0;
  width: 50px;
  height: 50px;
  background: #009750;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  cursor: pointer;
  color: #ffffff;
  text-align: center;
}
.node-content.node-type-map-marker.node-view-mode-full .marker-close span {
  display: inline-block;
  vertical-align: top;
}
.node-content.node-type-map-marker.node-view-mode-full .marker-close span:before {
  font-size: 24px;
  line-height: 50px;
}
.node-content.node-type-map-marker.node-view-mode-full .marker-close:hover {
  background: #46b384;
}
.node-content.node-type-map-marker.node-view-mode-full .marker-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
}
.node-content.node-type-map-marker.node-view-mode-full .marker-wrapper .marker-type {
  margin-top: 30px;
  margin-bottom: 20px;
  font-weight: 700;
}
.node-content.node-type-map-marker.node-view-mode-full .marker-wrapper .marker-type span {
  margin-left: 10px;
}
body.is-ie11 .node-content.node-type-feralpi-marker-.node-view-mode-full .field-name-field-prodotti .field-item {
  -ms-flex-preferred-size: 46%;
      flex-basis: 46%;
}

.viewEventi .views-exposed-form,
.view-exp-form-style .views-exposed-form {
  margin-bottom: 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.viewEventi .views-exposed-form fieldset.fieldgroup,
.view-exp-form-style .views-exposed-form fieldset.fieldgroup {
  text-align: center;
}
.viewEventi .views-exposed-form .form--inline > .form-item,
.view-exp-form-style .views-exposed-form .form--inline > .form-item {
  float: none;
  display: inline-block;
}
.viewEventi .views-exposed-form .form-item-year,
.view-exp-form-style .views-exposed-form .form-item-year {
  padding: 20px 20px;
}
.viewEventi .views-exposed-form fieldset,
.view-exp-form-style .views-exposed-form fieldset {
  margin: 0;
  border: 0 none;
  padding: 0;
}
.viewEventi .views-exposed-form .form-item,
.view-exp-form-style .views-exposed-form .form-item {
  margin: 0;
}
.viewEventi .views-exposed-form legend,
.view-exp-form-style .views-exposed-form legend {
  font-size: 16px;
  line-height: 26px;
  text-transform: uppercase;
  font-weight: bold;
  text-align: center;
  margin-bottom: 20px;
  width: 100%;
}
.viewEventi .views-exposed-form .fieldset-wrapper label,
.viewEventi .views-exposed-form .fieldset-wrapper input,
.view-exp-form-style .views-exposed-form .fieldset-wrapper label,
.view-exp-form-style .views-exposed-form .fieldset-wrapper input {
  display: block;
}
.viewEventi .views-exposed-form .fieldset-wrapper .form-radios,
.view-exp-form-style .views-exposed-form .fieldset-wrapper .form-radios {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 12px;
}
.viewEventi .views-exposed-form .fieldset-wrapper input[type=radio],
.view-exp-form-style .views-exposed-form .fieldset-wrapper input[type=radio] {
  display: none;
}
.viewEventi .views-exposed-form .fieldset-wrapper input[type=radio]:checked + label,
.view-exp-form-style .views-exposed-form .fieldset-wrapper input[type=radio]:checked + label {
  background: #009750;
}
.viewEventi .views-exposed-form .fieldset-wrapper label,
.view-exp-form-style .views-exposed-form .fieldset-wrapper label {
  padding: 12px 16px;
  cursor: pointer;
  border-radius: 10px;
  background: #ABADAF;
  color: #ffffff;
  font-size: 14px;
  font-weight: bold;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  margin: 0;
  white-space: nowrap;
}
@media print, screen and (min-width: 48em) {
  .viewEventi .views-exposed-form .fieldset-wrapper label,
  .view-exp-form-style .views-exposed-form .fieldset-wrapper label {
    padding: 12px 24px;
  }
}
@media print, screen and (min-width: 48em) {
  .viewEventi .views-exposed-form,
  .view-exp-form-style .views-exposed-form {
    margin-bottom: 50px;
  }
}

.node-row-event.eventTbd span[class^=icn-], .node-row-event.eventPast span[class^=icn-] {
  opacity: 0.5;
}
.node-row-event .custom-row-wrapper {
  padding: 0;
}
.node-row-event .custom-row-wrapper:hover .custom-icon:before {
  color: #ffffff;
  background-color: #009750;
}
.node-row-event .custom-row-wrapper:hover .custom-title {
  text-decoration: none;
}
.node-row-event .custom-row {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media print, screen and (min-width: 48em) {
  .node-row-event .custom-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.node-row-event .custom-icon:hover:before {
  color: #000000 !important;
  background-color: #ffed00 !important;
}
.node-row-event .custom-title-wrapper {
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
}
.node-row-event .custom-title-wrapper .custom-title {
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  padding: 0;
}
@media print, screen and (min-width: 48em) {
  .node-row-event .custom-title-wrapper .custom-title {
    padding: 0 20px 0 0;
  }
}
.node-row-event .custom-title-wrapper .field--node-field-type {
  font-size: 11px;
  font-weight: bold;
  background-color: #D1D2D4;
  padding: 4px 15px;
  border-radius: 20px;
  margin-bottom: 10px;
}
@media print, screen and (min-width: 48em) {
  .node-row-event .custom-title-wrapper .field--node-field-type {
    margin-bottom: 0;
  }
}
.node-row-event .custom-title-wrapper .custom-title-sup-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  margin-top: 20px;
}
@media print, screen and (min-width: 48em) {
  .node-row-event .custom-title-wrapper {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.node-row-event .custom-right-wrapper {
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  width: 100%;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.node-row-event .custom-right-wrapper .calendar-icon:before {
  content: "\e83f";
}
.node-row-event .custom-right-wrapper .calendar-icon {
  -ms-flex-preferred-size: 40px;
      flex-basis: 40px;
  padding: 20px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media print, screen and (min-width: 48em) {
  .node-row-event .custom-right-wrapper .calendar-icon {
    -ms-flex-preferred-size: 60px;
        flex-basis: 60px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.node-row-event .custom-right-wrapper .calendar-attach {
  -ms-flex-preferred-size: 60px;
      flex-basis: 60px;
}
.node-row-event .custom-right-wrapper .calendar-attach a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.node-row-event .custom-right-wrapper .calendar-type {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  white-space: nowrap;
}
@media print, screen and (min-width: 48em) {
  .node-row-event .custom-right-wrapper .calendar-type {
    -ms-flex-preferred-size: 175px;
        flex-basis: 175px;
  }
}
.node-row-event .custom-right-wrapper .field--node-field-type {
  font-size: 11px;
  font-weight: bold;
  background-color: #D1D2D4;
  padding: 4px 15px;
  border-radius: 20px;
}
.node-row-event .custom-right-wrapper.event-past .calendar-icon:before {
  opacity: 0.5;
}
@media print, screen and (min-width: 48em) {
  .node-row-event .custom-right-wrapper {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}
.node-row-event .custom-date {
  white-space: normal;
}
@media print, screen and (min-width: 48em) {
  .node-row-event .custom-date {
    text-align: right;
    -ms-flex-preferred-size: 220px;
        flex-basis: 220px;
  }
}
.node-row-event .addeventatc {
  background: transparent;
  border: medium none;
  border-radius: 0;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
  text-shadow: none;
  padding: 0;
  z-index: 1;
}
.node-row-event .addeventatc span.addeventatc_icon {
  display: none !important;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInR0X2ZvdW5kYXRpb24uY3NzIiwiX3NldHRpbmdzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdmVuZG9yL25vcm1hbGl6ZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fdGV4dC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fY2hlY2tib3guc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2xhYmVsLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19oZWxwLXRleHQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2lucHV0LWdyb3VwLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19maWVsZHNldC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fc2VsZWN0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19lcnJvci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19iYXNlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2JyZWFrcG9pbnQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9faGVscGVycy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19hbGlnbm1lbnQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fcHJpbnQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19ndXR0ZXJzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2dyaWQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2VsbC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19sYXlvdXQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fcG9zaXRpb24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZnJhbWUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3Jvdy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19ndXR0ZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcG9zaXRpb24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi1ncm91cC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jbG9zZS1idXR0b24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbGFiZWwuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnJlYWRjcnVtYnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2FsbG91dC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Rvb2x0aXAuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Jlc3BvbnNpdmUtZW1iZWQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFicy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19jb2xvci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi1tZW51LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2RyaWxsZG93bi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi1tZW51LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Zsb2F0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fZmxleC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL190cmFuc2l0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy9fY2xhc3Nlcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdXRpbC9fa2V5ZnJhbWUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zbGlkZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX2ZhZGUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19oaW5nZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3pvb20uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zcGluLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL19hbmltYXRpb24uc2NzcyIsImJhc2UvX2FuaW1hdGlvbnMuc2NzcyIsImJhc2UvX2RydXBhbC5zY3NzIiwiYmFzZS9fZm9udHMuc2NzcyIsImJhc2UvX21peGlucy5zY3NzIiwiYmFzZS9fZWxlbWVudHMuc2NzcyIsImJhc2UvX3R5cG9ncmFwaHkuc2NzcyIsImJhc2UvX2Z1bmN0aW9ucy5zY3NzIiwidmVuZG9ycy9faGFtYnVyZ2Vycy5zY3NzIiwidmVuZG9ycy9oYW1idXJnZXJzL19oYW1idXJnZXJzLnNjc3MiLCJ2ZW5kb3JzL2hhbWJ1cmdlcnMvX2Jhc2Uuc2NzcyIsInZlbmRvcnMvaGFtYnVyZ2Vycy9fdmFyaWFibGVzLnNjc3MiLCJ2ZW5kb3JzL2hhbWJ1cmdlcnMvYW5pbWF0aW9ucy9fZGVmYXVsdC5zY3NzIiwidmVuZG9ycy9oYW1idXJnZXJzL2FuaW1hdGlvbnMvX2NyaXNzLWNyb3NzLnNjc3MiLCJ2ZW5kb3JzL19vdXRkYXRlZC1icm93c2VyLnNjc3MiLCJ2ZW5kb3JzL19mYW5jeWJveC5zY3NzIiwidmVuZG9ycy9fc2xpY2suc2NzcyIsInZlbmRvcnMvX3NlbGVjdDIuc2NzcyIsInZlbmRvcnMvX2l1YmVuZGEuc2NzcyIsImxheW91dC9faGVhZGVyLnNjc3MiLCJsYXlvdXQvX21haW4uc2NzcyIsImxheW91dC9fbW1lbnUuc2NzcyIsImxheW91dC9fZm9vdGVyLnNjc3MiLCJsYXlvdXQvX3NwYWNlcnMuc2NzcyIsIm1vZHVsZXMvYmxvY2tzL19iYXNpY19ibG9ja3Muc2NzcyIsIm1vZHVsZXMvYmxvY2tzL19icmVhZGNydW1icy5zY3NzIiwibW9kdWxlcy9ibG9ja3MvX2hlYWRlcl9iYW5uZXJfYmxvY2suc2NzcyIsIm1vZHVsZXMvYmxvY2tzL19sYW5ndWFnZS5zY3NzIiwibW9kdWxlcy9ibG9ja3MvX3R0X21hcC5zY3NzIiwibW9kdWxlcy9ibG9ja3MvX21haWx1cC5zY3NzIiwibW9kdWxlcy9mb3Jtcy9fZ2xvYmFsLnNjc3MiLCJtb2R1bGVzL2Zvcm1zL19sb2dpbi5zY3NzIiwibW9kdWxlcy9mb3Jtcy9fZGlzY2xhaW1lci5zY3NzIiwibW9kdWxlcy9tZW51cy9fbWFpbi5zY3NzIiwibW9kdWxlcy9wYXJhZ3JhcGhzL19jb21tb24uc2NzcyIsIm1vZHVsZXMvcGFyYWdyYXBocy9fYWNjb3JkaW9uc190YWJzLnNjc3MiLCJtb2R1bGVzL3BhcmFncmFwaHMvX2hpZ2hsaWdodHMuc2NzcyIsIm1vZHVsZXMvcGFyYWdyYXBocy9fc2xpZGVyLnNjc3MiLCJtb2R1bGVzL3BhcmFncmFwaHMvX2NhcmRzLnNjc3MiLCJtb2R1bGVzL3BhcmFncmFwaHMvX2NvbXBhbnlfbG9nb3Muc2NzcyIsIm1vZHVsZXMvcGFyYWdyYXBocy9fY2FyZHNfM19jb2x1bW5zLnNjc3MiLCJtb2R1bGVzL3BhcmFncmFwaHMvX2NvbnRlbnRfYm94ZXMuc2NzcyIsIm1vZHVsZXMvcGFyYWdyYXBocy9fY2xhaW0uc2NzcyIsIm1vZHVsZXMvcGFyYWdyYXBocy9fdmVydGljYWxfY2FyZHMuc2NzcyIsIm1vZHVsZXMvcGFyYWdyYXBocy9fcXVvdGUuc2NzcyIsIm1vZHVsZXMvcGFyYWdyYXBocy9fbWluaWNhcmRzLnNjc3MiLCJtb2R1bGVzL3BhcmFncmFwaHMvX21zZ19jX3dyYXBwZXIuc2NzcyIsIm1vZHVsZXMvcGFyYWdyYXBocy9fZGlzY292ZXJfbW9yZS5zY3NzIiwibW9kdWxlcy9wYXJhZ3JhcGhzL190aW1lbGluZS5zY3NzIiwibW9kdWxlcy9maWVsZHMvX2JvZHkuc2NzcyIsIm1vZHVsZXMvdmlld3MvX2NvbW1vbi5zY3NzIiwibW9kdWxlcy92aWV3cy9fc2VhcmNoLnNjc3MiLCJtb2R1bGVzL3ZpZXdzL19hc3NlbWJsZWUuc2NzcyIsIm1vZHVsZXMvdmlld3MvX2V2ZW50cy5zY3NzIiwibW9kdWxlcy92aWV3cy9fcHJlc3NfcmVsZWFzZXMuc2NzcyIsIm1vZHVsZXMvdmlld3MvX21lZGlhX2dhbGxlcnkuc2NzcyIsImNvbnRlbnRfdHlwZXMvX3BhZ2VzLnNjc3MiLCJjb250ZW50X3R5cGVzL19wcmVzc19yZWxlYXNlcy5zY3NzIiwiY29udGVudF90eXBlcy9faG9tZXBhZ2Uuc2NzcyIsImNvbnRlbnRfdHlwZXMvX2Fzc2VtYmxlZS5zY3NzIiwiY29udGVudF90eXBlcy9fbWFwX21hcmtlci5zY3NzIiwiY29udGVudF90eXBlcy9fZXZlbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUNzRWhCLG1CQUFBO0FBUUEsbUJBQUE7QUFNQSxrQkFBQTtBQUVBLGlCQUFBO0FBS0Esb0JBQUE7QUFLQSxhQUFBO0FDaEdBOzs7OztFQUFBO0FDR0UsMkVBQUE7QUFRQTtFQUNFLGlCQUFBO0VBQ0EsOEJBQUE7QUhJSjs7QUdJRTtFQUNFLFNBQUE7QUhESjs7QUdPRTtFQUNFLGNBQUE7RUFDQSxnQkFBQTtBSEpKOztBR2FFO0VBQ0UsK0JBQUE7VUFBQSx1QkFBQTtFQUNBLFNBQUE7RUFDQSxpQkFBQTtBSFZKOztBR2dCRTtFQUNFLGlDQUFBO0VBQ0EsY0FBQTtBSGJKOztBR3FCRTtFQUNFLDZCQUFBO0FIbEJKOztBR3dCRTtFQUNFLGdCQUFBO0VBQ0EseUNBQUE7VUFBQSxpQ0FBQTtBSHJCSjs7QUcwQkU7O0VBRUUsbUJBQUE7QUh2Qko7O0FHNkJFOzs7RUFHRSxpQ0FBQTtFQUNBLGNBQUE7QUgxQko7O0FHK0JFO0VBQ0UsY0FBQTtBSDVCSjs7QUdrQ0U7O0VBRUUsY0FBQTtFQUNBLGNBQUE7RUFDQSxrQkFBQTtFQUNBLHdCQUFBO0FIL0JKOztBR2tDRTtFQUNFLGVBQUE7QUgvQko7O0FHa0NFO0VBQ0UsV0FBQTtBSC9CSjs7QUd1Q0U7RUFDRSxrQkFBQTtBSHBDSjs7QUc2Q0U7Ozs7O0VBS0Usb0JBQUE7RUFDQSxlQUFBO0VBQ0EsaUJBQUE7RUFDQSxTQUFBO0FIMUNKOztBR2dERTs7RUFFRSxpQkFBQTtBSDdDSjs7QUdtREU7O0VBRUUsb0JBQUE7QUhoREo7O0FHcURFOzs7O0VBSUUsMEJBQUE7QUhsREo7O0FHdURFOzs7O0VBSUUsa0JBQUE7RUFDQSxVQUFBO0FIcERKOztBR3lERTs7OztFQUlFLDhCQUFBO0FIdERKOztBRzJERTtFQUNFLDhCQUFBO0FIeERKOztBR2dFRTtFQUNFLDhCQUFBO1VBQUEsc0JBQUE7RUFDQSxjQUFBO0VBQ0EsY0FBQTtFQUNBLGVBQUE7RUFDQSxVQUFBO0VBQ0EsbUJBQUE7QUg3REo7O0FHa0VFO0VBQ0Usd0JBQUE7QUgvREo7O0FHb0VFO0VBQ0UsY0FBQTtBSGpFSjs7QUd1RUU7O0VBRUUsOEJBQUE7VUFBQSxzQkFBQTtFQUNBLFVBQUE7QUhwRUo7O0FHeUVFOztFQUVFLFlBQUE7QUh0RUo7O0FHNEVFO0VBQ0UsNkJBQUE7RUFDQSxvQkFBQTtBSHpFSjs7QUc4RUU7RUFDRSx3QkFBQTtBSDNFSjs7QUdpRkU7RUFDRSwwQkFBQTtFQUNBLGFBQUE7QUg5RUo7O0FHc0ZFO0VBQ0UsY0FBQTtBSG5GSjs7QUd3RkU7RUFDRSxrQkFBQTtBSHJGSjs7QUc2RkU7RUFDRSxhQUFBO0FIMUZKOztBRytGRTtFQUNFLGFBQUE7QUg1Rko7O0FHb0dJOzs7Ozs7O0VBQ0UsYUFBQTtBSDNGTjs7QUdnR0U7RUFDRSwyQkFBQTtFQUNBLHlCQUFBO0FIN0ZKOztBSTNERTtFQUNFLHdFQUFBO0FKOERKOztBSTNERTtFQUNFLDhCQUFBO1VBQUEsc0JBQUE7RUFDQSxlSGxGZTtBRGdKbkI7O0FJMURFOzs7RUFHRSwyQkFBQTtVQUFBLG1CQUFBO0FKNkRKOztBSXpERTtFQUNFLFNBQUE7RUFDQSxVQUFBO0VBVUEsbUJIcEdJO0VHc0dKLCtDSDdEZTtFRzhEZixnQkh4RG1CO0VHeURuQixpQkgzR2dCO0VHNEdoQixjSDFHSTtFRzZHRixtQ0FBQTtFQUNBLGtDQUFBO0FKZ0ROOztBSTVDRTtFQUVFLHFCQUFBO0VBQ0Esc0JBQUE7RUFHQSxlQUFBO0VBQ0EsWUFBQTtFQUNBLCtCQUFBO0FKNENKOztBSXhDRTtFQUNFLFlBQUE7RUFDQSxnQkFBQTtFQUNBLGdCSDlFWTtBRHlIaEI7O0FJdkNFO0VBQ0UsOEJBQUE7VUFBQSxzQkFBQTtFQUNBLFdBQUE7RUFDQSxnQkhyRlk7QUQrSGhCOztBSW5DSTs7Ozs7O0VBR0UsMEJBQUE7QUp5Q047O0FLekRFO0VBQ0UsVUFBQTtBTDRESjtBSXhDRTtFQUVFLFVBQUE7RUFDQSx3QkFBQTtLQUFBLHFCQUFBO1VBQUEsZ0JBQUE7RUFDQSxTQUFBO0VBQ0EsZ0JIekdZO0VHMEdaLHVCQUFBO0VBQ0EsY0FBQTtFQUNBLFlIdEdtQjtBRCtJdkI7O0FJckNFO0VBQ0UsY0FBQTtFQUNBLGlDQUFBO0FKd0NKOztBSXBDRTs7Ozs7RUFLRSxvQkFBQTtBSnVDSjs7QUluQ0U7RUFDRSx5QkFBQTtBSnNDSjs7QUluQ0U7RUFDRSx3QkFBQTtBSnNDSjs7QU14S0U7O0VBckNBLGNBQUE7RUFDQSw4QkFBQTtVQUFBLHNCQUFBO0VBQ0EsV0FBQTtFQUNBLHVCQUxTO0VBTVQsMkJBQUE7RUFDQSx3QkxrWmM7RUtoWmQseUJMOFlhO0VLN1liLGdCTDJCYztFSzFCZCx5Qkx4Qk07RUt5Qk4sc0RMOFlhO1VLOVliLDhDTDhZYTtFSzVZYixvQkxrWWtCO0VLallsQiwwQkxrWWdCO0VLalloQixnQkxrQnFCO0VLakJyQixpQkxqQ2tCO0VLa0NsQixjTGhDTTtFS21DSiwyRUx3WWU7RUt4WWYsbUVMd1llO0VLeFlmLDJETHdZZTtFS3hZZixvRkx3WWU7QUQxTG5CO0FNMU1FOztFQUNFLGFBQUE7RUFDQSx5Qkw2WGlCO0VLNVhqQix5Qkx6Q0k7RUswQ0osbUNMOFhpQjtVSzlYakIsMkJMOFhpQjtFSzNYZiwyRUw2WGE7RUs3WGIsbUVMNlhhO0VLN1hiLDJETDZYYTtFSzdYYixvRkw2WGE7QURsTG5CO0FNcE1FOztFQUdFLHdCQUFBO0tBQUEscUJBQUE7VUFBQSxnQkFBQTtBTnFNSjs7QU1qTUU7RUFDRSxlQUFBO0FOb01KO0FNbE1JO0VBQ0UsWUFBQTtBTm9NTjs7QU03TEk7OztFQUVFLHlCTHJFTztFS3NFUCxtQkxnV2tCO0FEL0p4Qjs7QU01TEU7O0VBRUUsd0JBQUE7S0FBQSxx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eUJYZ0JJO0VXZkosbUNYdWJpQjtVV3ZiakIsMkJYdWJpQjtFV3BiZiwyRVhzYmE7RVd0YmIsbUVYc2JhO0VXdGJiLDJEWHNiYTtFV3RiYixvRlhzYmE7QUR3Qm5CO0FZemNFO0VBQ0UseUJYU1M7RVdSVCxtQlg4YW9CO0FENkJ4QjtBWXZjRTtFQUNFLGFBQUE7QVp5Y0o7QVl0Y0U7RUFDRSxZQUFBO0VBQ0Esc0JBQUE7QVp3Y0o7QVl0Y0U7RUFDRSxjQUFBO0VBQ0EsaUJBQUE7QVp3Y0o7O0FhN2VFO0VBQ0UscUJacU51QjtFWXBOdkIsd0NBQUE7QWJnZko7QWE5ZUk7RUFDRSxjWmlOcUI7QUQrUjNCO0FhamZJO0VBQ0UsY1ppTnFCO0FEK1IzQjtBYWpmSTtFQUNFLGNaaU5xQjtBRCtSM0I7QWFqZkk7RUFDRSxjWmlOcUI7QUQrUjNCO0FhamZJO0VBQ0UsY1ppTnFCO0FEK1IzQjs7QWF0ZEk7RUFDRSxjWnVMcUI7QURrUzNCOztBYXBkRTtFQXpCQSxhQUFBO0VBQ0EsNEJBQUE7RUFDQSw4QlowWmE7RVl4WmIsMEJaeU1zQjtFWXhNdEIsZ0JaNERtQjtFWTNEbkIsY1pzTWtCO0FEMFNwQjtBYTFkSTtFQUNFLGNBQUE7QWI0ZE47O0FjOVVFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBbUJFLFNBQUE7RUFDQSxVQUFBO0FkaVZKOztBYzdVRTtFQUNFLG1CYnBEc0I7RWFzRHRCLGtCQUFBO0VBQ0EsaUJiMUxnQjtFYTJMaEIsa0NidkR1QjtBRHNZM0I7O0FjM1VFOztFQUVFLGtCQUFBO0VBQ0Esb0JBQUE7QWQ4VUo7O0FjMVVFOztFQUVFLGdCYnBKaUI7RWFxSmpCLG9CQUFBO0FkNlVKOztBY3pVRTtFQUNFLGNiOUVjO0VhK0VkLG9CQUFBO0FkNFVKOztBY3hVRTs7Ozs7O0VBTUUsK0NiN0tlO0VhOEtmLGtCYmxIZ0I7RWFtSGhCLGdCYnZLaUI7RWF3S2pCLGNiMU5JO0VhMk5KLGtDYjlGb0I7QUR5YXhCO0FjelVJOzs7Ozs7RUFDRSxjQUFBO0VBQ0EsY2IxTlE7QUQwaUJkOztBY3ZVUTtFQUlJLDBCQURpQjtFQWFqQixnQkFBQTtFQVFBLGFBQUE7RUFPQSxxQkFBQTtBZCtTWjs7QWM5VVE7RUFJSSwwQkFEaUI7RUFhakIsZ0JBQUE7RUFRQSxhQUFBO0VBT0EscUJBQUE7QWRzVFo7O0FjclZRO0VBSUksMEJBRGlCO0VBYWpCLGdCQUFBO0VBUUEsYUFBQTtFQU9BLHFCQUFBO0FkNlRaOztBYzVWUTtFQUlJLDBCQURpQjtFQWFqQixnQkFBQTtFQVFBLGFBQUE7RUFPQSxxQkFBQTtBZG9VWjs7QWNuV1E7RUFJSSwwQkFEaUI7RUFhakIsZ0JBQUE7RUFRQSxhQUFBO0VBT0EscUJBQUE7QWQyVVo7O0FjMVdRO0VBSUksMEJBRGlCO0VBYWpCLGdCQUFBO0VBUUEsYUFBQTtFQU9BLHFCQUFBO0Fka1ZaOztBZTdlUTtFRDRIQTtJQUlJLDBCQURpQjtFZG1YM0I7RWN0WE07SUFJSSwwQkFEaUI7RWRzWDNCO0VjelhNO0lBSUksMEJBRGlCO0VkeVgzQjtFYzVYTTtJQUlJLDBCQURpQjtFZDRYM0I7RWMvWE07SUFJSSwwQkFEaUI7RWQrWDNCO0VjbFlNO0lBSUksMEJBRGlCO0Vka1kzQjtBQUNGO0FjL1ZFO0VBQ0Usb0JBQUE7RUFDQSxjYmpSSTtFYWtSSixxQmI1SXFCO0VhOElyQixlQUFBO0FkZ1dKO0FjOVZJO0VBRUUsWWJuSmU7QURrZnJCO0FjelZJO0VBQ0UsU0FBQTtBZDJWTjs7QWN0VkU7RUFDRSxXQUFBO0VBRUEsMkJiMVNXO0VhMlNYLFNBQUE7RUFDQSw0QmIvSlE7RWFpS1IsYUFBQTtFQUNBLGVBQUE7RUFDQSxnQ2JwS1E7RWFxS1IsY0FBQTtBZHVWSjs7QWNuVkU7OztFQUdFLG1CYnBMc0I7RWFxTHRCLDRCYnhLa0I7RWF5S2xCLGlCYnpUZ0I7QUQrb0JwQjs7QWNsVkU7RUFDRSxrQkFBQTtBZHFWSjs7QWNqVkU7RUFDRSxvQmJsTGU7RWFtTGYscUJickxjO0FEeWdCbEI7O0FjaFZFO0VBQ0Usb0JieExlO0FEMmdCbkI7O0FjOVVJO0VBQ0Usb0JiN0xvQjtFYThMcEIsZ0JBQUE7QWRpVk47O0FjNVVFO0VBQ0UsbUJibk1xQjtBRGtoQnpCO0FjN1VJO0VBQ0UscUJicE13QjtFYXFNeEIsZ0JidFNlO0FEcW5CckI7O0FjMVVFO0VBQ0UsZ0JBQUE7RUFDQSwwRGIxTWlCO0VhMk1qQiw4QmIxTWdCO0FEdWhCcEI7QWMzVUk7RUFDRSxpQmJyV2M7RWFzV2QsY2I5Vk07QUQycUJaOztBYy9URTtFQUNFLGlDYnROYTtFYXVOYixZQUFBO0VBQ0EscUJBQUE7QWRrVUo7O0FjOVRFO0VBQ0UsU0FBQTtBZGlVSjs7QWN0VEU7RUFDRSxTQUFBO0VBQ0EsMENiNU9nQjtFYThPaEIseUJicllTO0VhdVlULDREYnBTb0I7RWFxU3BCLGNiNVlJO0FEbXNCUjs7QWdCcm9CRTtFQUNFLGtCZndHbUI7RWV2R25CLHFCZndHc0I7RWV0R3RCLGdCZmxCbUI7RWVtQm5CLGdCZmlHbUI7RWVoR25CLGNmOURRO0FEcXNCWjs7QWdCbm9CRTtFQUNFLGlCZnlGYTtFZXhGYixnQmZ5RmM7QUQ2aUJsQjs7QWdCbG9CRTtFQUNFLGlCZjBGYTtFZXpGYixjQUFBO0FoQnFvQko7QWdCbm9CSTtFQUNFLGlCQUFBO0FoQnFvQk47O0FnQi9uQkk7RUFDRSxjQUFBO0VBQ0EsZ0JBQUE7QWhCa29CTjs7QWdCOW5CRTtFQWpGQSxjQUFBO0VBQ0EsY2ZUVTtFZVVWLDBCZjJKZTtBRHdqQmpCO0FnQmp0QkU7RUFDRSxhZnlKa0I7QUQwakJ0Qjs7QWdCL25CRTtFQTdFQSx5QmZ1Slk7RWV0SloseUJmdkJXO0VleUJYLDREZjBFc0I7RWV6RXRCLGdCZmtCcUI7RWVqQnJCLGNmL0JNO0VlcUNOLGVBQUE7RUFDQSxlQUFBO0VBQ0EscUJBQUE7RUFFQSx3RGZ5SWE7QURna0JmOztBZ0Jsb0JFO0VBdEZBLHlCZnVKWTtFZXRKWix5QmZ2Qlc7RWV5QlgsNERmMEVzQjtFZXpFdEIsZ0Jma0JxQjtFZWpCckIsY2YvQk07RWUrQ04sY0FBQTtFQUNBLGNBQUE7RUFDQSxnQkFBQTtFQUVBLGFmZ0ltQjtFZS9IbkIscUJmZ0l5QjtBRDJrQjNCOztBaUJ4ekJVO0VBQ0UsZ0JBUlU7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QkFBQTtRQUFBLGdCQUFBO0VuQjg4Qk47QUFDRjtBZTMxQlE7RUlySEY7SUFDRSw2QkFBQTtRQUFBLGdCQUFBO0VuQm05Qk47QUFDRjtBbUJ2OEJJO0VHc0RGLG1CQUFBO01BQUEsa0JBQUE7VUFBQSxjQUFBO0F0Qm81QkY7O0FtQjM3Qk07RUdrRkYsb0JBVE07QXRCczNCVjs7QW1CLzdCTTtFR2tGRixxQkFUTTtBdEIwM0JWOztBbUJuOEJNO0VHa0ZGLFVBVE07QXRCODNCVjs7QW1CdjhCTTtFR2tGRixxQkFUTTtBdEJrNEJWOztBbUIzOEJNO0VHa0ZGLHFCQVRNO0F0QnM0QlY7O0FtQi84Qk07RUdrRkYsVUFUTTtBdEIwNEJWOztBbUJuOUJNO0VHa0ZGLHFCQVRNO0F0Qjg0QlY7O0FtQnY5Qk07RUdrRkYscUJBVE07QXRCazVCVjs7QW1CMzlCTTtFR2tGRixVQVRNO0F0QnM1QlY7O0FtQi85Qk07RUdrRkYscUJBVE07QXRCMDVCVjs7QW1CbitCTTtFR2tGRixxQkFUTTtBdEI4NUJWOztBbUJ2K0JNO0VHa0ZGLFdBVE07QXRCazZCVjs7QWVuNUJRO0VJNUdGO0lHMkRKLG1CQUFBO1FBQUEsaUJBQUE7WUFBQSxXQUFBO0lBMkNFLFdBVE07RXRCdzZCUjtFbUJoZ0NFO0lHc0RGLG1CQUFBO1FBQUEsa0JBQUE7WUFBQSxjQUFBO0V0QjY4QkE7RW1CNy9CSTtJRzJGRixXQVRNO0V0Qjg2QlI7RW1Cdi9CSTtJR2tGRixvQkFUTTtFdEJpN0JSO0VtQjEvQkk7SUdrRkYscUJBVE07RXRCbzdCUjtFbUI3L0JJO0lHa0ZGLFVBVE07RXRCdTdCUjtFbUJoZ0NJO0lHa0ZGLHFCQVRNO0V0QjA3QlI7RW1CbmdDSTtJR2tGRixxQkFUTTtFdEI2N0JSO0VtQnRnQ0k7SUdrRkYsVUFUTTtFdEJnOEJSO0VtQnpnQ0k7SUdrRkYscUJBVE07RXRCbThCUjtFbUI1Z0NJO0lHa0ZGLHFCQVRNO0V0QnM4QlI7RW1CL2dDSTtJR2tGRixVQVRNO0V0Qnk4QlI7RW1CbGhDSTtJR2tGRixxQkFUTTtFdEI0OEJSO0VtQnJoQ0k7SUdrRkYscUJBVE07RXRCKzhCUjtFbUJ4aENJO0lHa0ZGLFdBVE07RXRCazlCUjtBQUNGO0FlcDhCUTtFSTVHRjtJRzJESixtQkFBQTtRQUFBLGlCQUFBO1lBQUEsV0FBQTtJQTJDRSxXQVRNO0V0Qnc5QlI7RW1CaGpDRTtJR3NERixtQkFBQTtRQUFBLGtCQUFBO1lBQUEsY0FBQTtFdEI2L0JBO0VtQjdpQ0k7SUcyRkYsV0FUTTtFdEI4OUJSO0VtQnZpQ0k7SUdrRkYsb0JBVE07RXRCaStCUjtFbUIxaUNJO0lHa0ZGLHFCQVRNO0V0Qm8rQlI7RW1CN2lDSTtJR2tGRixVQVRNO0V0QnUrQlI7RW1CaGpDSTtJR2tGRixxQkFUTTtFdEIwK0JSO0VtQm5qQ0k7SUdrRkYscUJBVE07RXRCNitCUjtFbUJ0akNJO0lHa0ZGLFVBVE07RXRCZy9CUjtFbUJ6akNJO0lHa0ZGLHFCQVRNO0V0Qm0vQlI7RW1CNWpDSTtJR2tGRixxQkFUTTtFdEJzL0JSO0VtQi9qQ0k7SUdrRkYsVUFUTTtFdEJ5L0JSO0VtQmxrQ0k7SUdrRkYscUJBVE07RXRCNC9CUjtFbUJya0NJO0lHa0ZGLHFCQVRNO0V0QisvQlI7RW1CeGtDSTtJR2tGRixXQVRNO0V0QmtnQ1I7QUFDRjtBbUJwa0NFO0VBQ0UsV0FBQTtBbkJza0NKOztBbUJsa0NFO0VBQ0UsWUFBQTtBbkJxa0NKOztBbUJ2aUNFO0VDdkdNLDZCQUFBO0VBQUEsOEJBQUE7QXBCbXBDUjtBZWhnQ1E7RUk1Q047SUN2R00sNkJBQUE7SUFBQSw4QkFBQTtFcEJ3cENOO0FBQ0Y7QW1COWlDSTtFR2tDQSxtQ0FUTTtFRjNISiw0QkFBQTtFQUFBLDZCQUFBO0FwQnFwQ047QWUzZ0NRO0VJakNBO0lHMkJKLG1DQVRNO0lGM0hKLDRCQUFBO0lBQUEsNkJBQUE7RXBCMnBDSjtBQUNGO0FtQnRsQ0U7RUc4REUsV0FUTTtBdEJvaUNWO0FtQnJsQ0U7RUcwREUsV0FUTTtBdEJ1aUNWO0FtQmhsQ0k7RUdrREEsNENBVE07QXRCMGlDVjtBbUJubENJO0VHa0RBLDZDQVRNO0F0QjZpQ1Y7QW1CdGxDSTtFR2tEQSxrQ0FUTTtBdEJnakNWO0FtQnpsQ0k7RUdrREEsNkNBVE07QXRCbWpDVjtBbUI1bENJO0VHa0RBLDZDQVRNO0F0QnNqQ1Y7QW1CL2xDSTtFR2tEQSxrQ0FUTTtBdEJ5akNWO0FtQmxtQ0k7RUdrREEsNkNBVE07QXRCNGpDVjtBbUJybUNJO0VHa0RBLDZDQVRNO0F0QitqQ1Y7QW1CeG1DSTtFR2tEQSxrQ0FUTTtBdEJra0NWO0FtQjNtQ0k7RUdrREEsNkNBVE07QXRCcWtDVjtBbUI5bUNJO0VHa0RBLDZDQVRNO0F0QndrQ1Y7QW1Cam5DSTtFR2tEQSxtQ0FUTTtBdEIya0NWO0FlNWpDUTtFSXBFTjtJRzhERSxXQVRNO0V0QitrQ1I7RW1CaG9DQTtJRzBERSxXQVRNO0V0QmtsQ1I7RW1CM25DRTtJR2tEQSw0Q0FUTTtFdEJxbENSO0VtQjluQ0U7SUdrREEsNkNBVE07RXRCd2xDUjtFbUJqb0NFO0lHa0RBLGtDQVRNO0V0QjJsQ1I7RW1CcG9DRTtJR2tEQSw2Q0FUTTtFdEI4bENSO0VtQnZvQ0U7SUdrREEsNkNBVE07RXRCaW1DUjtFbUIxb0NFO0lHa0RBLGtDQVRNO0V0Qm9tQ1I7RW1CN29DRTtJR2tEQSw2Q0FUTTtFdEJ1bUNSO0VtQmhwQ0U7SUdrREEsNkNBVE07RXRCMG1DUjtFbUJucENFO0lHa0RBLGtDQVRNO0V0QjZtQ1I7RW1CdHBDRTtJR2tEQSw2Q0FUTTtFdEJnbkNSO0VtQnpwQ0U7SUdrREEsNkNBVE07RXRCbW5DUjtFbUI1cENFO0lHa0RBLG1DQVRNO0V0QnNuQ1I7RW1CM3FDQTtJRzhERSxXQVRNO0V0QnluQ1I7RW1CMXFDQTtJRzBERSxXQVRNO0V0QjRuQ1I7RW1CcnFDRTtJR2tEQSw0Q0FUTTtFdEIrbkNSO0VtQnhxQ0U7SUdrREEsNkNBVE07RXRCa29DUjtFbUIzcUNFO0lHa0RBLGtDQVRNO0V0QnFvQ1I7RW1COXFDRTtJR2tEQSw2Q0FUTTtFdEJ3b0NSO0VtQmpyQ0U7SUdrREEsNkNBVE07RXRCMm9DUjtFbUJwckNFO0lHa0RBLGtDQVRNO0V0QjhvQ1I7RW1CdnJDRTtJR2tEQSw2Q0FUTTtFdEJpcENSO0VtQjFyQ0U7SUdrREEsNkNBVE07RXRCb3BDUjtFbUI3ckNFO0lHa0RBLGtDQVRNO0V0QnVwQ1I7RW1CaHNDRTtJR2tEQSw2Q0FUTTtFdEIwcENSO0VtQm5zQ0U7SUdrREEsNkNBVE07RXRCNnBDUjtFbUJ0c0NFO0lHa0RBLG1DQVRNO0V0QmdxQ1I7QUFDRjtBZWxwQ1E7RUlwRU47SUc4REUsV0FUTTtFdEJxcUNSO0VtQnR0Q0E7SUcwREUsV0FUTTtFdEJ3cUNSO0VtQmp0Q0U7SUdrREEsNENBVE07RXRCMnFDUjtFbUJwdENFO0lHa0RBLDZDQVRNO0V0QjhxQ1I7RW1CdnRDRTtJR2tEQSxrQ0FUTTtFdEJpckNSO0VtQjF0Q0U7SUdrREEsNkNBVE07RXRCb3JDUjtFbUI3dENFO0lHa0RBLDZDQVRNO0V0QnVyQ1I7RW1CaHVDRTtJR2tEQSxrQ0FUTTtFdEIwckNSO0VtQm51Q0U7SUdrREEsNkNBVE07RXRCNnJDUjtFbUJ0dUNFO0lHa0RBLDZDQVRNO0V0QmdzQ1I7RW1CenVDRTtJR2tEQSxrQ0FUTTtFdEJtc0NSO0VtQjV1Q0U7SUdrREEsNkNBVE07RXRCc3NDUjtFbUIvdUNFO0lHa0RBLDZDQVRNO0V0QnlzQ1I7RW1CbHZDRTtJR2tEQSxtQ0FUTTtFdEI0c0NSO0FBQ0Y7O0FtQm5zQ0k7RUM5SUksOEJBQUE7RUFBQSw2QkFBQTtBcEJzMUNSO0FlbnNDUTtFSUxKO0lDOUlJLDhCQUFBO0lBQUEsNkJBQUE7RXBCMjFDTjtBQUNGO0FtQnhzQ0k7RUNwSkksOEJBQUE7RUFBQSw2QkFBQTtBcEJnMkNSO0FlN3NDUTtFSUNKO0lDcEpJLDhCQUFBO0lBQUEsNkJBQUE7RXBCcTJDTjtBQUNGO0FtQjdzQ0k7RUN6SkksOEJBQUE7RUFBQSw2QkFBQTtBcEIwMkNSO0FldnRDUTtFSU1KO0lDekpJLDhCQUFBO0lBQUEsNkJBQUE7RXBCKzJDTjtBQUNGOztBdUJoM0NFO0VENklFLFdBVE07QXRCZ3ZDVjs7QXVCcDNDRTtFRDZJRSxVQVRNO0F0Qm92Q1Y7O0F1QngzQ0U7RUQ2SUUscUJBVE07QXRCd3ZDVjs7QXVCNTNDRTtFRDZJRSxVQVRNO0F0QjR2Q1Y7O0F1Qmg0Q0U7RUQ2SUUsVUFUTTtBdEJnd0NWOztBdUJwNENFO0VENklFLHFCQVRNO0F0Qm93Q1Y7O0F1Qng0Q0U7RUQ2SUUscUJBVE07QXRCd3dDVjs7QXVCNTRDRTtFRDZJRSxZQVRNO0F0QjR3Q1Y7O0FlN3ZDUTtFUW5KTjtJRDZJRSxXQVRNO0V0Qml4Q1I7RXVCcjVDQTtJRDZJRSxVQVRNO0V0Qm94Q1I7RXVCeDVDQTtJRDZJRSxxQkFUTTtFdEJ1eENSO0V1QjM1Q0E7SUQ2SUUsVUFUTTtFdEIweENSO0V1Qjk1Q0E7SUQ2SUUsVUFUTTtFdEI2eENSO0V1Qmo2Q0E7SUQ2SUUscUJBVE07RXRCZ3lDUjtFdUJwNkNBO0lENklFLHFCQVRNO0V0Qm15Q1I7RXVCdjZDQTtJRDZJRSxZQVRNO0V0QnN5Q1I7QUFDRjtBZXh4Q1E7RVFuSk47SUQ2SUUsV0FUTTtFdEIyeUNSO0V1Qi82Q0E7SUQ2SUUsVUFUTTtFdEI4eUNSO0V1Qmw3Q0E7SUQ2SUUscUJBVE07RXRCaXpDUjtFdUJyN0NBO0lENklFLFVBVE07RXRCb3pDUjtFdUJ4N0NBO0lENklFLFVBVE07RXRCdXpDUjtFdUIzN0NBO0lENklFLHFCQVRNO0V0QjB6Q1I7RXVCOTdDQTtJRDZJRSxxQkFUTTtFdEI2ekNSO0V1Qmo4Q0E7SUQ2SUUsWUFUTTtFdEJnMENSO0FBQ0Y7QXVCcjhDRTtFRDZJRSxtQ0FUTTtBdEJvMENWOztBdUJ4OENFO0VENklFLGtDQVRNO0F0QncwQ1Y7O0F1QjU4Q0U7RUQ2SUUsNkNBVE07QXRCNDBDVjs7QXVCaDlDRTtFRDZJRSxrQ0FUTTtBdEJnMUNWOztBdUJwOUNFO0VENklFLGtDQVRNO0F0Qm8xQ1Y7O0F1Qng5Q0U7RUQ2SUUsNkNBVE07QXRCdzFDVjs7QXVCNTlDRTtFRDZJRSw2Q0FUTTtBdEI0MUNWOztBdUJoK0NFO0VENklFLG9DQVRNO0F0QmcyQ1Y7O0FlajFDUTtFUW5KTjtJRDZJRSxtQ0FUTTtFdEJxMkNSO0V1QnorQ0E7SUQ2SUUsa0NBVE07RXRCdzJDUjtFdUI1K0NBO0lENklFLDZDQVRNO0V0QjIyQ1I7RXVCLytDQTtJRDZJRSxrQ0FUTTtFdEI4MkNSO0V1QmwvQ0E7SUQ2SUUsa0NBVE07RXRCaTNDUjtFdUJyL0NBO0lENklFLDZDQVRNO0V0Qm8zQ1I7RXVCeC9DQTtJRDZJRSw2Q0FUTTtFdEJ1M0NSO0V1QjMvQ0E7SUQ2SUUsb0NBVE07RXRCMDNDUjtFdUI5L0NBO0lENklFLG1DQVRNO0V0QjYzQ1I7RXVCamdEQTtJRDZJRSxrQ0FUTTtFdEJnNENSO0V1QnBnREE7SUQ2SUUsNkNBVE07RXRCbTRDUjtFdUJ2Z0RBO0lENklFLGtDQVRNO0V0QnM0Q1I7RXVCMWdEQTtJRDZJRSxrQ0FUTTtFdEJ5NENSO0V1QjdnREE7SUQ2SUUsNkNBVE07RXRCNDRDUjtFdUJoaERBO0lENklFLDZDQVRNO0V0Qis0Q1I7RXVCbmhEQTtJRDZJRSxvQ0FUTTtFdEJrNUNSO0FBQ0Y7QWVwNENRO0VRbkpOO0lENklFLG1DQVRNO0V0QnU1Q1I7RXVCM2hEQTtJRDZJRSxrQ0FUTTtFdEIwNUNSO0V1QjloREE7SUQ2SUUsNkNBVE07RXRCNjVDUjtFdUJqaURBO0lENklFLGtDQVRNO0V0Qmc2Q1I7RXVCcGlEQTtJRDZJRSxrQ0FUTTtFdEJtNkNSO0V1QnZpREE7SUQ2SUUsNkNBVE07RXRCczZDUjtFdUIxaURBO0lENklFLDZDQVRNO0V0Qnk2Q1I7RXVCN2lEQTtJRDZJRSxvQ0FUTTtFdEI0NkNSO0FBQ0Y7QW1CMTJDTTtFSzlNRSxlQUFBO0VBQUEsY0FBQTtBeEI0akRSO0F3QnpqRE07RUFFSSxlQUFBO0VBQUEsY0FBQTtBeEIyakRWO0F3QnJpRFk7RUZ5SFIsb0JBVE07QXRCdzdDVjtBd0J4aURZO0VGeUhSLHFCQVRNO0F0QjI3Q1Y7QXdCM2lEWTtFRnlIUixVQVRNO0F0Qjg3Q1Y7QXdCOWlEWTtFRnlIUixxQkFUTTtBdEJpOENWO0F3QmpqRFk7RUZ5SFIscUJBVE07QXRCbzhDVjtBd0JwakRZO0VGeUhSLFVBVE07QXRCdThDVjtBd0J2akRZO0VGeUhSLHFCQVRNO0F0QjA4Q1Y7QXdCMWpEWTtFRnlIUixxQkFUTTtBdEI2OENWO0F3QjdqRFk7RUZ5SFIsVUFUTTtBdEJnOUNWO0F3QmhrRFk7RUZ5SFIscUJBVE07QXRCbTlDVjtBd0Jua0RZO0VGeUhSLHFCQVRNO0F0QnM5Q1Y7QXdCdGtEWTtFRnlIUixXQVRNO0F0Qnk5Q1Y7QWUxOENRO0VTL0hJO0lGeUhSLG9CQVRNO0V0QjY5Q1I7RXdCN2tEVTtJRnlIUixxQkFUTTtFdEJnK0NSO0V3QmhsRFU7SUZ5SFIsVUFUTTtFdEJtK0NSO0V3Qm5sRFU7SUZ5SFIscUJBVE07RXRCcytDUjtFd0J0bERVO0lGeUhSLHFCQVRNO0V0QnkrQ1I7RXdCemxEVTtJRnlIUixVQVRNO0V0QjQrQ1I7RXdCNWxEVTtJRnlIUixxQkFUTTtFdEIrK0NSO0V3Qi9sRFU7SUZ5SFIscUJBVE07RXRCay9DUjtFd0JsbURVO0lGeUhSLFVBVE07RXRCcS9DUjtFd0JybURVO0lGeUhSLHFCQVRNO0V0QncvQ1I7RXdCeG1EVTtJRnlIUixxQkFUTTtFdEIyL0NSO0V3QjNtRFU7SUZ5SFIsV0FUTTtFdEI4L0NSO0FBQ0Y7QWVoL0NRO0VTL0hJO0lGeUhSLG9CQVRNO0V0Qm1nRFI7RXdCbm5EVTtJRnlIUixxQkFUTTtFdEJzZ0RSO0V3QnRuRFU7SUZ5SFIsVUFUTTtFdEJ5Z0RSO0V3QnpuRFU7SUZ5SFIscUJBVE07RXRCNGdEUjtFd0I1bkRVO0lGeUhSLHFCQVRNO0V0QitnRFI7RXdCL25EVTtJRnlIUixVQVRNO0V0QmtoRFI7RXdCbG9EVTtJRnlIUixxQkFUTTtFdEJxaERSO0V3QnJvRFU7SUZ5SFIscUJBVE07RXRCd2hEUjtFd0J4b0RVO0lGeUhSLFVBVE07RXRCMmhEUjtFd0Izb0RVO0lGeUhSLHFCQVRNO0V0QjhoRFI7RXdCOW9EVTtJRnlIUixxQkFUTTtFdEJpaURSO0V3QmpwRFU7SUZ5SFIsV0FUTTtFdEJvaURSO0FBQ0Y7O0FtQjU5Q007RUs3S0UsZUFBQTtFQUFBLGNBQUE7QXhCOG9EUjtBd0Izb0RNO0VBRUksZ0JBQUE7RUFBQSxlQUFBO0F4QjZvRFY7O0FlL2hEUTtFSW9ERjtJSzlNRSxlQUFBO0lBQUEsY0FBQTtFeEIrckROO0V3QjVyREk7SUFFSSxlQUFBO0lBQUEsY0FBQTtFeEI4ckRSO0FBQ0Y7QWUxaURRO0VTeElJO0lGa0lSLG9CQVRNO0V0QjZqRFI7RXdCdHJEVTtJRmtJUixxQkFUTTtFdEJna0RSO0V3QnpyRFU7SUZrSVIsVUFUTTtFdEJta0RSO0V3QjVyRFU7SUZrSVIscUJBVE07RXRCc2tEUjtFd0IvckRVO0lGa0lSLHFCQVRNO0V0QnlrRFI7RXdCbHNEVTtJRmtJUixVQVRNO0V0QjRrRFI7RXdCcnNEVTtJRmtJUixxQkFUTTtFdEIra0RSO0V3QnhzRFU7SUZrSVIscUJBVE07RXRCa2xEUjtFd0Izc0RVO0lGa0lSLFVBVE07RXRCcWxEUjtFd0I5c0RVO0lGa0lSLHFCQVRNO0V0QndsRFI7RXdCanREVTtJRmtJUixxQkFUTTtFdEIybERSO0V3QnB0RFU7SUZrSVIsV0FUTTtFdEI4bERSO0FBQ0Y7QWVobERRO0VTL0hJO0lGeUhSLG9CQVRNO0V0Qm1tRFI7RXdCbnREVTtJRnlIUixxQkFUTTtFdEJzbURSO0V3QnR0RFU7SUZ5SFIsVUFUTTtFdEJ5bURSO0V3Qnp0RFU7SUZ5SFIscUJBVE07RXRCNG1EUjtFd0I1dERVO0lGeUhSLHFCQVRNO0V0QittRFI7RXdCL3REVTtJRnlIUixVQVRNO0V0QmtuRFI7RXdCbHVEVTtJRnlIUixxQkFUTTtFdEJxbkRSO0V3QnJ1RFU7SUZ5SFIscUJBVE07RXRCd25EUjtFd0J4dURVO0lGeUhSLFVBVE07RXRCMm5EUjtFd0IzdURVO0lGeUhSLHFCQVRNO0V0QjhuRFI7RXdCOXVEVTtJRnlIUixxQkFUTTtFdEJpb0RSO0V3Qmp2RFU7SUZ5SFIsV0FUTTtFdEJvb0RSO0FBQ0Y7QWV0bkRRO0VTL0hJO0lGeUhSLG9CQVRNO0V0QnlvRFI7RXdCenZEVTtJRnlIUixxQkFUTTtFdEI0b0RSO0V3QjV2RFU7SUZ5SFIsVUFUTTtFdEIrb0RSO0V3Qi92RFU7SUZ5SFIscUJBVE07RXRCa3BEUjtFd0Jsd0RVO0lGeUhSLHFCQVRNO0V0QnFwRFI7RXdCcndEVTtJRnlIUixVQVRNO0V0QndwRFI7RXdCeHdEVTtJRnlIUixxQkFUTTtFdEIycERSO0V3QjN3RFU7SUZ5SFIscUJBVE07RXRCOHBEUjtFd0I5d0RVO0lGeUhSLFVBVE07RXRCaXFEUjtFd0JqeERVO0lGeUhSLHFCQVRNO0V0Qm9xRFI7RXdCcHhEVTtJRnlIUixxQkFUTTtFdEJ1cURSO0V3QnZ4RFU7SUZ5SFIsV0FUTTtFdEIwcURSO0FBQ0Y7O0FlNXBEUTtFSTBERjtJSzdLRSxlQUFBO0lBQUEsY0FBQTtFeEJxeEROO0V3Qmx4REk7SUFFSSxnQkFBQTtJQUFBLGVBQUE7RXhCb3hEUjtBQUNGOztBZXZxRFE7RUlvREY7SUs5TUUsZUFBQTtJQUFBLGNBQUE7RXhCdTBETjtFd0JwMERJO0lBRUksZUFBQTtJQUFBLGNBQUE7RXhCczBEUjtBQUNGO0FlbHJEUTtFU3hJSTtJRmtJUixvQkFUTTtFdEJxc0RSO0V3Qjl6RFU7SUZrSVIscUJBVE07RXRCd3NEUjtFd0JqMERVO0lGa0lSLFVBVE07RXRCMnNEUjtFd0JwMERVO0lGa0lSLHFCQVRNO0V0QjhzRFI7RXdCdjBEVTtJRmtJUixxQkFUTTtFdEJpdERSO0V3QjEwRFU7SUZrSVIsVUFUTTtFdEJvdERSO0V3QjcwRFU7SUZrSVIscUJBVE07RXRCdXREUjtFd0JoMURVO0lGa0lSLHFCQVRNO0V0QjB0RFI7RXdCbjFEVTtJRmtJUixVQVRNO0V0QjZ0RFI7RXdCdDFEVTtJRmtJUixxQkFUTTtFdEJndURSO0V3QnoxRFU7SUZrSVIscUJBVE07RXRCbXVEUjtFd0I1MURVO0lGa0lSLFdBVE07RXRCc3VEUjtBQUNGO0FleHREUTtFU3hJSTtJRmtJUixvQkFUTTtFdEIydURSO0V3QnAyRFU7SUZrSVIscUJBVE07RXRCOHVEUjtFd0J2MkRVO0lGa0lSLFVBVE07RXRCaXZEUjtFd0IxMkRVO0lGa0lSLHFCQVRNO0V0Qm92RFI7RXdCNzJEVTtJRmtJUixxQkFUTTtFdEJ1dkRSO0V3QmgzRFU7SUZrSVIsVUFUTTtFdEIwdkRSO0V3Qm4zRFU7SUZrSVIscUJBVE07RXRCNnZEUjtFd0J0M0RVO0lGa0lSLHFCQVRNO0V0Qmd3RFI7RXdCejNEVTtJRmtJUixVQVRNO0V0Qm13RFI7RXdCNTNEVTtJRmtJUixxQkFUTTtFdEJzd0RSO0V3Qi8zRFU7SUZrSVIscUJBVE07RXRCeXdEUjtFd0JsNERVO0lGa0lSLFdBVE07RXRCNHdEUjtBQUNGO0FlOXZEUTtFUy9ISTtJRnlIUixvQkFUTTtFdEJpeERSO0V3Qmo0RFU7SUZ5SFIscUJBVE07RXRCb3hEUjtFd0JwNERVO0lGeUhSLFVBVE07RXRCdXhEUjtFd0J2NERVO0lGeUhSLHFCQVRNO0V0QjB4RFI7RXdCMTREVTtJRnlIUixxQkFUTTtFdEI2eERSO0V3Qjc0RFU7SUZ5SFIsVUFUTTtFdEJneURSO0V3Qmg1RFU7SUZ5SFIscUJBVE07RXRCbXlEUjtFd0JuNURVO0lGeUhSLHFCQVRNO0V0QnN5RFI7RXdCdDVEVTtJRnlIUixVQVRNO0V0Qnl5RFI7RXdCejVEVTtJRnlIUixxQkFUTTtFdEI0eURSO0V3QjU1RFU7SUZ5SFIscUJBVE07RXRCK3lEUjtFd0IvNURVO0lGeUhSLFdBVE07RXRCa3pEUjtBQUNGOztBZXB5RFE7RUkwREY7SUs3S0UsZUFBQTtJQUFBLGNBQUE7RXhCNjVETjtFd0IxNURJO0lBRUksZ0JBQUE7SUFBQSxlQUFBO0V4QjQ1RFI7QUFDRjs7QW1CdnVETTtFTW5NRixlQUFBO0F6Qjg2REo7O0FtQnZ1RE07RU12TUYsMkNBQUE7QXpCazdESjs7QW1CL3VETTtFTW5NRiwwQkFBQTtBekJzN0RKOztBbUIvdURNO0VNdk1GLHNEQUFBO0F6QjA3REo7O0FtQnZ2RE07RU1uTUYsMkJBQUE7QXpCODdESjs7QW1CdnZETTtFTXZNRix1REFBQTtBekJrOERKOztBbUIvdkRNO0VNbk1GLGdCQUFBO0F6QnM4REo7O0FtQi92RE07RU12TUYsNENBQUE7QXpCMDhESjs7QW1CdndETTtFTW5NRiwyQkFBQTtBekI4OERKOztBbUJ2d0RNO0VNdk1GLHVEQUFBO0F6Qms5REo7O0FtQi93RE07RU1uTUYsMkJBQUE7QXpCczlESjs7QW1CL3dETTtFTXZNRix1REFBQTtBekIwOURKOztBbUJ2eERNO0VNbk1GLGdCQUFBO0F6Qjg5REo7O0FtQnZ4RE07RU12TUYsNENBQUE7QXpCaytESjs7QW1CL3hETTtFTW5NRiwyQkFBQTtBekJzK0RKOztBbUIveERNO0VNdk1GLHVEQUFBO0F6QjArREo7O0FtQnZ5RE07RU1uTUYsMkJBQUE7QXpCOCtESjs7QW1CdnlETTtFTXZNRix1REFBQTtBekJrL0RKOztBbUIveURNO0VNbk1GLGdCQUFBO0F6QnMvREo7O0FtQi95RE07RU12TUYsNENBQUE7QXpCMC9ESjs7QW1CdnpETTtFTW5NRiwyQkFBQTtBekI4L0RKOztBbUJ2ekRNO0VNdk1GLHVEQUFBO0F6QmtnRUo7O0FtQi96RE07RU1uTUYsMkJBQUE7QXpCc2dFSjs7QW1CL3pETTtFTXZNRix1REFBQTtBekIwZ0VKOztBZS80RFE7RUl3RUY7SU1uTUYsZUFBQTtFekIrZ0VGO0VtQngwREk7SU12TUYsMkNBQUE7RXpCa2hFRjtFbUIvMERJO0lNbk1GLDBCQUFBO0V6QnFoRUY7RW1COTBESTtJTXZNRixzREFBQTtFekJ3aEVGO0VtQnIxREk7SU1uTUYsMkJBQUE7RXpCMmhFRjtFbUJwMURJO0lNdk1GLHVEQUFBO0V6QjhoRUY7RW1CMzFESTtJTW5NRixnQkFBQTtFekJpaUVGO0VtQjExREk7SU12TUYsNENBQUE7RXpCb2lFRjtFbUJqMkRJO0lNbk1GLDJCQUFBO0V6QnVpRUY7RW1CaDJESTtJTXZNRix1REFBQTtFekIwaUVGO0VtQnYyREk7SU1uTUYsMkJBQUE7RXpCNmlFRjtFbUJ0MkRJO0lNdk1GLHVEQUFBO0V6QmdqRUY7RW1CNzJESTtJTW5NRixnQkFBQTtFekJtakVGO0VtQjUyREk7SU12TUYsNENBQUE7RXpCc2pFRjtFbUJuM0RJO0lNbk1GLDJCQUFBO0V6QnlqRUY7RW1CbDNESTtJTXZNRix1REFBQTtFekI0akVGO0VtQnozREk7SU1uTUYsMkJBQUE7RXpCK2pFRjtFbUJ4M0RJO0lNdk1GLHVEQUFBO0V6QmtrRUY7RW1CLzNESTtJTW5NRixnQkFBQTtFekJxa0VGO0VtQjkzREk7SU12TUYsNENBQUE7RXpCd2tFRjtFbUJyNERJO0lNbk1GLDJCQUFBO0V6QjJrRUY7RW1CcDRESTtJTXZNRix1REFBQTtFekI4a0VGO0VtQjM0REk7SU1uTUYsMkJBQUE7RXpCaWxFRjtFbUIxNERJO0lNdk1GLHVEQUFBO0V6Qm9sRUY7QUFDRjtBZTE5RFE7RUl3RUY7SU1uTUYsZUFBQTtFekJ5bEVGO0VtQmw1REk7SU12TUYsMkNBQUE7RXpCNGxFRjtFbUJ6NURJO0lNbk1GLDBCQUFBO0V6QitsRUY7RW1CeDVESTtJTXZNRixzREFBQTtFekJrbUVGO0VtQi81REk7SU1uTUYsMkJBQUE7RXpCcW1FRjtFbUI5NURJO0lNdk1GLHVEQUFBO0V6QndtRUY7RW1CcjZESTtJTW5NRixnQkFBQTtFekIybUVGO0VtQnA2REk7SU12TUYsNENBQUE7RXpCOG1FRjtFbUIzNkRJO0lNbk1GLDJCQUFBO0V6QmluRUY7RW1CMTZESTtJTXZNRix1REFBQTtFekJvbkVGO0VtQmo3REk7SU1uTUYsMkJBQUE7RXpCdW5FRjtFbUJoN0RJO0lNdk1GLHVEQUFBO0V6QjBuRUY7RW1CdjdESTtJTW5NRixnQkFBQTtFekI2bkVGO0VtQnQ3REk7SU12TUYsNENBQUE7RXpCZ29FRjtFbUI3N0RJO0lNbk1GLDJCQUFBO0V6Qm1vRUY7RW1CNTdESTtJTXZNRix1REFBQTtFekJzb0VGO0VtQm44REk7SU1uTUYsMkJBQUE7RXpCeW9FRjtFbUJsOERJO0lNdk1GLHVEQUFBO0V6QjRvRUY7RW1CejhESTtJTW5NRixnQkFBQTtFekIrb0VGO0VtQng4REk7SU12TUYsNENBQUE7RXpCa3BFRjtFbUIvOERJO0lNbk1GLDJCQUFBO0V6QnFwRUY7RW1COThESTtJTXZNRix1REFBQTtFekJ3cEVGO0VtQnI5REk7SU1uTUYsMkJBQUE7RXpCMnBFRjtFbUJwOURJO0lNdk1GLHVEQUFBO0V6QjhwRUY7QUFDRjtBbUJ0OERFO0VFL09BLG9CQUFBO0VBQUEsb0JBQUE7RUFBQSxhQUFBO0VBQ0EsNEJBQUE7RUFBQSw2QkFBQTtNQUFBLDRCQUFBO1VBQUEsd0JBQUE7QXJCd3JFRjtBbUJ0OERJO0VHcklGLFlBQUE7RUFDQSxnQkFBQTtBdEI4a0VGO0FtQnQ4REk7RUc1R0EsWUFUTTtBdEI4akVWO0FtQnI4REk7RUdoSEEsWUFUTTtBdEJpa0VWO0FtQjE3RE07RUFDRSw2QkFBQTtNQUFBLGdCQUFBO0FuQjQ3RFI7QWVyakVRO0VJd0hGO0lBQ0UsNkJBQUE7UUFBQSxnQkFBQTtFbkJnOEROO0FBQ0Y7QWUxakVRO0VJd0hGO0lBQ0UsNkJBQUE7UUFBQSxnQkFBQTtFbkJxOEROO0FBQ0Y7QW1CMTdETTtFR3RMSixtQkFBQTtNQUFBLGtCQUFBO1VBQUEsY0FBQTtBdEJtbkVGO0FtQjk2RFE7RUcxSkoscUJBVE07QXRCb2xFVjtBbUJqN0RRO0VHMUpKLHNCQVRNO0F0QnVsRVY7QW1CcDdEUTtFRzFKSixXQVRNO0F0QjBsRVY7QW1CdjdEUTtFRzFKSixzQkFUTTtBdEI2bEVWO0FtQjE3RFE7RUcxSkosc0JBVE07QXRCZ21FVjtBbUI3N0RRO0VHMUpKLFdBVE07QXRCbW1FVjtBbUJoOERRO0VHMUpKLHNCQVRNO0F0QnNtRVY7QW1CbjhEUTtFRzFKSixzQkFUTTtBdEJ5bUVWO0FtQnQ4RFE7RUcxSkosV0FUTTtBdEI0bUVWO0FtQno4RFE7RUcxSkosc0JBVE07QXRCK21FVjtBbUI1OERRO0VHMUpKLHNCQVRNO0F0QmtuRVY7QW1CLzhEUTtFRzFKSixZQVRNO0F0QnFuRVY7QWV0bUVRO0VJZ0lBO0lHakxOLG1CQUFBO1FBQUEsaUJBQUE7WUFBQSxXQUFBO0lBMkNFLFlBVE07RXRCMG5FUjtFbUJ0K0RJO0lHdExKLG1CQUFBO1FBQUEsa0JBQUE7WUFBQSxjQUFBO0V0QitwRUE7RW1CbitETTtJR2pKSixZQVRNO0V0QmdvRVI7RW1CNzlETTtJRzFKSixxQkFUTTtFdEJtb0VSO0VtQmgrRE07SUcxSkosc0JBVE07RXRCc29FUjtFbUJuK0RNO0lHMUpKLFdBVE07RXRCeW9FUjtFbUJ0K0RNO0lHMUpKLHNCQVRNO0V0QjRvRVI7RW1CeitETTtJRzFKSixzQkFUTTtFdEIrb0VSO0VtQjUrRE07SUcxSkosV0FUTTtFdEJrcEVSO0VtQi8rRE07SUcxSkosc0JBVE07RXRCcXBFUjtFbUJsL0RNO0lHMUpKLHNCQVRNO0V0QndwRVI7RW1Cci9ETTtJRzFKSixXQVRNO0V0QjJwRVI7RW1CeC9ETTtJRzFKSixzQkFUTTtFdEI4cEVSO0VtQjMvRE07SUcxSkosc0JBVE07RXRCaXFFUjtFbUI5L0RNO0lHMUpKLFlBVE07RXRCb3FFUjtBQUNGO0FldHBFUTtFSWdJQTtJR2pMTixtQkFBQTtRQUFBLGlCQUFBO1lBQUEsV0FBQTtJQTJDRSxZQVRNO0V0QjBxRVI7RW1CdGhFSTtJR3RMSixtQkFBQTtRQUFBLGtCQUFBO1lBQUEsY0FBQTtFdEIrc0VBO0VtQm5oRU07SUdqSkosWUFUTTtFdEJnckVSO0VtQjdnRU07SUcxSkoscUJBVE07RXRCbXJFUjtFbUJoaEVNO0lHMUpKLHNCQVRNO0V0QnNyRVI7RW1CbmhFTTtJRzFKSixXQVRNO0V0QnlyRVI7RW1CdGhFTTtJRzFKSixzQkFUTTtFdEI0ckVSO0VtQnpoRU07SUcxSkosc0JBVE07RXRCK3JFUjtFbUI1aEVNO0lHMUpKLFdBVE07RXRCa3NFUjtFbUIvaEVNO0lHMUpKLHNCQVRNO0V0QnFzRVI7RW1CbGlFTTtJRzFKSixzQkFUTTtFdEJ3c0VSO0VtQnJpRU07SUcxSkosV0FUTTtFdEIyc0VSO0VtQnhpRU07SUcxSkosc0JBVE07RXRCOHNFUjtFbUIzaUVNO0lHMUpKLHNCQVRNO0V0Qml0RVI7RW1COWlFTTtJRzFKSixZQVRNO0V0Qm90RVI7QUFDRjs7QW1CdGlFTTtFQ25URSw0QkFBQTtFQUFBLCtCQUFBO0FwQjgxRVI7QWUzc0VRO0VJZ0tGO0lDblRFLDRCQUFBO0lBQUEsK0JBQUE7RXBCbTJFTjtBQUNGO0FtQjVpRU07RUN4VEUsNEJBQUE7RUFBQSwrQkFBQTtBcEJ3MkVSO0FlcnRFUTtFSXFLRjtJQ3hURSw0QkFBQTtJQUFBLCtCQUFBO0VwQjYyRU47QUFDRjs7QW1CdndFRTtFQ3ZHTSw0QkFBQTtFQUFBLCtCQUFBO0FwQm0zRVI7QWVodUVRO0VJNUNOO0lDdkdNLDRCQUFBO0lBQUEsK0JBQUE7RXBCdzNFTjtBQUNGO0FtQjl3RUk7RUdrQ0Esb0NBVE07RUYzSEosMkJBQUE7RUFBQSw4QkFBQTtBcEJxM0VOO0FlM3VFUTtFSWpDQTtJRzJCSixvQ0FUTTtJRjNISiwyQkFBQTtJQUFBLDhCQUFBO0VwQjIzRUo7QUFDRjtBbUJ0ekVFO0VHOERFLFlBVE07QXRCb3dFVjtBbUJyekVFO0VHMERFLFlBVE07QXRCdXdFVjtBbUJoekVJO0VHa0RBLDZDQVRNO0F0QjB3RVY7QW1CbnpFSTtFR2tEQSw4Q0FUTTtBdEI2d0VWO0FtQnR6RUk7RUdrREEsbUNBVE07QXRCZ3hFVjtBbUJ6ekVJO0VHa0RBLDhDQVRNO0F0Qm14RVY7QW1CNXpFSTtFR2tEQSw4Q0FUTTtBdEJzeEVWO0FtQi96RUk7RUdrREEsbUNBVE07QXRCeXhFVjtBbUJsMEVJO0VHa0RBLDhDQVRNO0F0QjR4RVY7QW1CcjBFSTtFR2tEQSw4Q0FUTTtBdEIreEVWO0FtQngwRUk7RUdrREEsbUNBVE07QXRCa3lFVjtBbUIzMEVJO0VHa0RBLDhDQVRNO0F0QnF5RVY7QW1COTBFSTtFR2tEQSw4Q0FUTTtBdEJ3eUVWO0FtQmoxRUk7RUdrREEsb0NBVE07QXRCMnlFVjtBZTV4RVE7RUlwRU47SUc4REUsWUFUTTtFdEIreUVSO0VtQmgyRUE7SUcwREUsWUFUTTtFdEJrekVSO0VtQjMxRUU7SUdrREEsNkNBVE07RXRCcXpFUjtFbUI5MUVFO0lHa0RBLDhDQVRNO0V0Qnd6RVI7RW1CajJFRTtJR2tEQSxtQ0FUTTtFdEIyekVSO0VtQnAyRUU7SUdrREEsOENBVE07RXRCOHpFUjtFbUJ2MkVFO0lHa0RBLDhDQVRNO0V0QmkwRVI7RW1CMTJFRTtJR2tEQSxtQ0FUTTtFdEJvMEVSO0VtQjcyRUU7SUdrREEsOENBVE07RXRCdTBFUjtFbUJoM0VFO0lHa0RBLDhDQVRNO0V0QjAwRVI7RW1CbjNFRTtJR2tEQSxtQ0FUTTtFdEI2MEVSO0VtQnQzRUU7SUdrREEsOENBVE07RXRCZzFFUjtFbUJ6M0VFO0lHa0RBLDhDQVRNO0V0Qm0xRVI7RW1CNTNFRTtJR2tEQSxvQ0FUTTtFdEJzMUVSO0VtQjM0RUE7SUc4REUsWUFUTTtFdEJ5MUVSO0VtQjE0RUE7SUcwREUsWUFUTTtFdEI0MUVSO0VtQnI0RUU7SUdrREEsNkNBVE07RXRCKzFFUjtFbUJ4NEVFO0lHa0RBLDhDQVRNO0V0QmsyRVI7RW1CMzRFRTtJR2tEQSxtQ0FUTTtFdEJxMkVSO0VtQjk0RUU7SUdrREEsOENBVE07RXRCdzJFUjtFbUJqNUVFO0lHa0RBLDhDQVRNO0V0QjIyRVI7RW1CcDVFRTtJR2tEQSxtQ0FUTTtFdEI4MkVSO0VtQnY1RUU7SUdrREEsOENBVE07RXRCaTNFUjtFbUIxNUVFO0lHa0RBLDhDQVRNO0V0Qm8zRVI7RW1CNzVFRTtJR2tEQSxtQ0FUTTtFdEJ1M0VSO0VtQmg2RUU7SUdrREEsOENBVE07RXRCMDNFUjtFbUJuNkVFO0lHa0RBLDhDQVRNO0V0QjYzRVI7RW1CdDZFRTtJR2tEQSxvQ0FUTTtFdEJnNEVSO0FBQ0Y7QWVsM0VRO0VJcEVOO0lHOERFLFlBVE07RXRCcTRFUjtFbUJ0N0VBO0lHMERFLFlBVE07RXRCdzRFUjtFbUJqN0VFO0lHa0RBLDZDQVRNO0V0QjI0RVI7RW1CcDdFRTtJR2tEQSw4Q0FUTTtFdEI4NEVSO0VtQnY3RUU7SUdrREEsbUNBVE07RXRCaTVFUjtFbUIxN0VFO0lHa0RBLDhDQVRNO0V0Qm81RVI7RW1CNzdFRTtJR2tEQSw4Q0FUTTtFdEJ1NUVSO0VtQmg4RUU7SUdrREEsbUNBVE07RXRCMDVFUjtFbUJuOEVFO0lHa0RBLDhDQVRNO0V0QjY1RVI7RW1CdDhFRTtJR2tEQSw4Q0FUTTtFdEJnNkVSO0VtQno4RUU7SUdrREEsbUNBVE07RXRCbTZFUjtFbUI1OEVFO0lHa0RBLDhDQVRNO0V0QnM2RVI7RW1CLzhFRTtJR2tEQSw4Q0FUTTtFdEJ5NkVSO0VtQmw5RUU7SUdrREEsb0NBVE07RXRCNDZFUjtBQUNGOztBbUIzdUVFO0VPcFZFLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxxQkFBQTtNQUFBLGlCQUFBO0VBQ0EsMEJBQUE7TUFBQSx1QkFBQTtVQUFBLG9CQUFBO0VBbUNJLFlBQUE7QTFCaWlGUjs7QW1CL3VFRTtFQUNFLFdBQUE7QW5Ca3ZFSjs7QW1CL3VFRTtFT25TRSxnQkFBQTtFQUNBLGVBQUE7RUFHRixpQ0FBQTtFQUNBLDRDQUFBO0ExQm9oRkY7O0FtQmx2RUU7RU8zU0UsZ0JBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0VBTUYsaUNBQUE7RUFDQSw0Q0FBQTtBMUI0aEZGOztBbUJydkVFO0VPaFNBLG9CQUFBO0VBQUEsb0JBQUE7RUFBQSxhQUFBO0VBQ0EsNEJBQUE7RUFBQSw2QkFBQTtNQUFBLDBCQUFBO1VBQUEsc0JBQUE7RUFDQSxnQkFBQTtBMUJ5aEZGO0EwQnZoRkU7RUFDRSxnQkFBQTtFQUNBLHFCQUFBO01BQUEsaUJBQUE7QTFCeWhGSjs7QWVuOEVRO0VJMk1KO0lPNVdBLGdCQUFBO0lBQ0Esa0JBQUE7SUFDQSxxQkFBQTtRQUFBLGlCQUFBO0lBQ0EsMEJBQUE7UUFBQSx1QkFBQTtZQUFBLG9CQUFBO0lBbUNJLFlBQUE7RTFCdWtGTjtFbUI3dkVFO0lBQ0UsV0FBQTtFbkIrdkVKO0VtQjV2RUU7SU8zVEEsZ0JBQUE7SUFDQSxlQUFBO0lBR0YsaUNBQUE7SUFDQSw0Q0FBQTtFMUJ3akZBO0VtQjl2RUU7SU9uVEYsb0JBQUE7SUFBQSxvQkFBQTtJQUFBLGFBQUE7SUFDQSw0QkFBQTtJQUFBLDZCQUFBO1FBQUEsMEJBQUE7WUFBQSxzQkFBQTtJQUNBLGdCQUFBO0UxQm9qRkE7RTBCbGpGQTtJQUNFLGdCQUFBO0lBQ0EscUJBQUE7UUFBQSxpQkFBQTtFMUJvakZGO0VtQm53RUU7SU92VUEsZ0JBQUE7SUFDQSxnQkFBQTtJQUNBLGdCQUFBO0lBTUYsaUNBQUE7SUFDQSw0Q0FBQTtFMUJ3a0ZBO0FBQ0Y7QWV0K0VRO0VJMk1KO0lPNVdBLGdCQUFBO0lBQ0Esa0JBQUE7SUFDQSxxQkFBQTtRQUFBLGlCQUFBO0lBQ0EsMEJBQUE7UUFBQSx1QkFBQTtZQUFBLG9CQUFBO0lBbUNJLFlBQUE7RTFCeW1GTjtFbUIveEVFO0lBQ0UsV0FBQTtFbkJpeUVKO0VtQjl4RUU7SU8zVEEsZ0JBQUE7SUFDQSxlQUFBO0lBR0YsaUNBQUE7SUFDQSw0Q0FBQTtFMUIwbEZBO0VtQmh5RUU7SU9uVEYsb0JBQUE7SUFBQSxvQkFBQTtJQUFBLGFBQUE7SUFDQSw0QkFBQTtJQUFBLDZCQUFBO1FBQUEsMEJBQUE7WUFBQSxzQkFBQTtJQUNBLGdCQUFBO0UxQnNsRkE7RTBCcGxGQTtJQUNFLGdCQUFBO0lBQ0EscUJBQUE7UUFBQSxpQkFBQTtFMUJzbEZGO0VtQnJ5RUU7SU92VUEsZ0JBQUE7SUFDQSxnQkFBQTtJQUNBLGdCQUFBO0lBTUYsaUNBQUE7SUFDQSw0Q0FBQTtFMUIwbUZBO0FBQ0Y7QW1CdHlFTTtFT25ZRixnQkFBQTtFQUNBLGtCQUFBO0VBQ0EscUJBQUE7TUFBQSxpQkFBQTtFQUNBLDBCQUFBO01BQUEsdUJBQUE7VUFBQSxvQkFBQTtFQWlDSSxhQUFBO0VQaVdBLFdBQUE7QW5CNHlFUjtBZWhoRlE7RUl3T0E7SU96WUosZ0JBQUE7SUFDQSxrQkFBQTtJQUNBLHFCQUFBO1FBQUEsaUJBQUE7SUFDQSwwQkFBQTtRQUFBLHVCQUFBO1lBQUEsb0JBQUE7SUFpQ0ksYUFBQTtJUHVXRSxXQUFBO0VuQit5RVI7QUFDRjtBZTFoRlE7RUl3T0E7SU96WUosZ0JBQUE7SUFDQSxrQkFBQTtJQUNBLHFCQUFBO1FBQUEsaUJBQUE7SUFDQSwwQkFBQTtRQUFBLHVCQUFBO1lBQUEsb0JBQUE7SUFpQ0ksYUFBQTtJUHVXRSxXQUFBO0VuQnl6RVI7QUFDRjs7QW1CcHpFTTtFQUNFLFlBQUE7QW5CdXpFUjtBZXhpRlE7RUlvUEE7SUFDRSxZQUFBO0VuQnV6RVI7QUFDRjtBZTdpRlE7RUlvUEE7SUFDRSxZQUFBO0VuQjR6RVI7QUFDRjs7QW1COWxGRTtFQ3ZHTSw0QkFBQTtFQUFBLCtCQUFBO0FwQjBzRlI7QWV2akZRO0VJNUNOO0lDdkdNLDRCQUFBO0lBQUEsK0JBQUE7RXBCK3NGTjtBQUNGO0FtQnJtRkk7RUdrQ0Esb0NBVE07RUYzSEosMkJBQUE7RUFBQSw4QkFBQTtBcEI0c0ZOO0FlbGtGUTtFSWpDQTtJRzJCSixvQ0FUTTtJRjNISiwyQkFBQTtJQUFBLDhCQUFBO0VwQmt0Rko7QUFDRjtBbUI3b0ZFO0VHOERFLFlBVE07QXRCMmxGVjtBbUI1b0ZFO0VHMERFLFlBVE07QXRCOGxGVjtBbUJ2b0ZJO0VHa0RBLDZDQVRNO0F0QmltRlY7QW1CMW9GSTtFR2tEQSw4Q0FUTTtBdEJvbUZWO0FtQjdvRkk7RUdrREEsbUNBVE07QXRCdW1GVjtBbUJocEZJO0VHa0RBLDhDQVRNO0F0QjBtRlY7QW1CbnBGSTtFR2tEQSw4Q0FUTTtBdEI2bUZWO0FtQnRwRkk7RUdrREEsbUNBVE07QXRCZ25GVjtBbUJ6cEZJO0VHa0RBLDhDQVRNO0F0Qm1uRlY7QW1CNXBGSTtFR2tEQSw4Q0FUTTtBdEJzbkZWO0FtQi9wRkk7RUdrREEsbUNBVE07QXRCeW5GVjtBbUJscUZJO0VHa0RBLDhDQVRNO0F0QjRuRlY7QW1CcnFGSTtFR2tEQSw4Q0FUTTtBdEIrbkZWO0FtQnhxRkk7RUdrREEsb0NBVE07QXRCa29GVjtBZW5uRlE7RUlwRU47SUc4REUsWUFUTTtFdEJzb0ZSO0VtQnZyRkE7SUcwREUsWUFUTTtFdEJ5b0ZSO0VtQmxyRkU7SUdrREEsNkNBVE07RXRCNG9GUjtFbUJyckZFO0lHa0RBLDhDQVRNO0V0QitvRlI7RW1CeHJGRTtJR2tEQSxtQ0FUTTtFdEJrcEZSO0VtQjNyRkU7SUdrREEsOENBVE07RXRCcXBGUjtFbUI5ckZFO0lHa0RBLDhDQVRNO0V0QndwRlI7RW1CanNGRTtJR2tEQSxtQ0FUTTtFdEIycEZSO0VtQnBzRkU7SUdrREEsOENBVE07RXRCOHBGUjtFbUJ2c0ZFO0lHa0RBLDhDQVRNO0V0QmlxRlI7RW1CMXNGRTtJR2tEQSxtQ0FUTTtFdEJvcUZSO0VtQjdzRkU7SUdrREEsOENBVE07RXRCdXFGUjtFbUJodEZFO0lHa0RBLDhDQVRNO0V0QjBxRlI7RW1CbnRGRTtJR2tEQSxvQ0FUTTtFdEI2cUZSO0VtQmx1RkE7SUc4REUsWUFUTTtFdEJnckZSO0VtQmp1RkE7SUcwREUsWUFUTTtFdEJtckZSO0VtQjV0RkU7SUdrREEsNkNBVE07RXRCc3JGUjtFbUIvdEZFO0lHa0RBLDhDQVRNO0V0QnlyRlI7RW1CbHVGRTtJR2tEQSxtQ0FUTTtFdEI0ckZSO0VtQnJ1RkU7SUdrREEsOENBVE07RXRCK3JGUjtFbUJ4dUZFO0lHa0RBLDhDQVRNO0V0QmtzRlI7RW1CM3VGRTtJR2tEQSxtQ0FUTTtFdEJxc0ZSO0VtQjl1RkU7SUdrREEsOENBVE07RXRCd3NGUjtFbUJqdkZFO0lHa0RBLDhDQVRNO0V0QjJzRlI7RW1CcHZGRTtJR2tEQSxtQ0FUTTtFdEI4c0ZSO0VtQnZ2RkU7SUdrREEsOENBVE07RXRCaXRGUjtFbUIxdkZFO0lHa0RBLDhDQVRNO0V0Qm90RlI7RW1CN3ZGRTtJR2tEQSxvQ0FUTTtFdEJ1dEZSO0FBQ0Y7QWV6c0ZRO0VJcEVOO0lHOERFLFlBVE07RXRCNHRGUjtFbUI3d0ZBO0lHMERFLFlBVE07RXRCK3RGUjtFbUJ4d0ZFO0lHa0RBLDZDQVRNO0V0Qmt1RlI7RW1CM3dGRTtJR2tEQSw4Q0FUTTtFdEJxdUZSO0VtQjl3RkU7SUdrREEsbUNBVE07RXRCd3VGUjtFbUJqeEZFO0lHa0RBLDhDQVRNO0V0QjJ1RlI7RW1CcHhGRTtJR2tEQSw4Q0FUTTtFdEI4dUZSO0VtQnZ4RkU7SUdrREEsbUNBVE07RXRCaXZGUjtFbUIxeEZFO0lHa0RBLDhDQVRNO0V0Qm92RlI7RW1CN3hGRTtJR2tEQSw4Q0FUTTtFdEJ1dkZSO0VtQmh5RkU7SUdrREEsbUNBVE07RXRCMHZGUjtFbUJueUZFO0lHa0RBLDhDQVRNO0V0QjZ2RlI7RW1CdHlGRTtJR2tEQSw4Q0FUTTtFdEJnd0ZSO0VtQnp5RkU7SUdrREEsb0NBVE07RXRCbXdGUjtBQUNGOztBbUJ6L0VJO0VPdFlJLHFDQUFBO0ExQm00RlI7QWV6dkZRO0VJNFBKO0lPdFlJLHFDQUFBO0UxQnU0Rk47QUFDRjtBZTl2RlE7RUk0UEo7SU90WUkscUNBQUE7RTFCNDRGTjtBQUNGOztBZW53RlE7RUlnUUY7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c0N2K0hFO0VBbkZBLGNBQUE7RUFDQSxtQnJDNkJjO0FEZ2lJaEI7QXNDMWpJRTtFQUNFLDZCckNvZnNCO0VxQ25mdEIsZ0JyQzhCWTtFcUM3QlosMEJyQzhlbUI7RXFDeGVqQixhQUFBO0F0Q3VqSU47QXNDcmpJTTtFQUVFLHFCQUFBO0F0Q3NqSVI7QWUxK0hRO0V1QnpGTjtJQXVCTSxxQkFBQTtFdENnaklOO0FBQ0Y7QXNDM2lJRTs7RUFFRSxjQUFBO0VBQ0Esd0NyQ29kc0I7RXFDbmR0QixnQnJDRFk7RXFDRVosY3JDckRJO0FEa21JUjtBc0MzaUlJOztFQUNFLG1CckNwRE87QURrbUliO0FzQ2pnSUk7RUFsQ0Ysd0NyQ29jd0I7RXFDbmN4QixtQnJDcEVNO0VxQ3FFTixjckNwRU07RXFDcUVOLGVBQUE7QXRDc2lJRjtBc0NuZ0lJO0VBM0JGLHdDckN5YndCO0VxQ3hieEIsY3JDMUVZO0VxQzJFWixtQkFBQTtBdENpaUlGO0FzQy9oSUU7RUFDRSx1QkFBQTtBdENpaUlKO0FzQ3ZnSUk7RUFqQkYsd0NyQzJhd0I7RXFDMWF4QixZQUFBO0VBQ0EsY3JDOUZNO0FEeW5JUjs7QXNDdGdJSTs7RUFFRSxxQkFBQTtFQUNBLG9CQUFBO0VBQ0EsWXJDMlpzQjtBRDhtSDVCOztBc0N0Z0lJOztFQUVFLHFCQUFBO0VBQ0EsbUJBQUE7RUFDQSxZckNxWmtCO0FEb25IeEI7O0F1Q3RqSUU7RUFuR0Esa0JBQUE7RUFDQSxxQkFBQTtFQUVBLGlDdENrMEJzQjtFc0NqMEJ0QixnQnRDZ0VtQjtFc0MvRG5CLFl0Qzh6QmU7QUQ4MUdqQjs7QXVDMWpJRTtFQTlGQSxrQkFBQTtFQUNBLDJCQUFBO0VBQ0EsYUFBQTtFQUVBLGdCdEM0ekJrQjtFc0MzekJsQixnQnRDMHpCZ0I7RXNDeHpCaEIsZ0J0Q3FEYztFc0NwRGQseUJ0Q0NNO0VzQ0FOLGN0QzhIZ0I7RXNDN0hoQixjQUFBO0F2QzBwSUY7QXVDeHBJRTtFQUNFLGtCQUFBO0F2QzBwSUo7QXVDdHBJSTtFbENsQ0YsY0FBQTtFQUNBLFFBQUE7RUFDQSxTQUFBO0VBRUEs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RUMvQ0Esd0JBaEJRO01BZ0JSLHFCQWhCUTtVQWdCUix1QkFoQlE7RUFpQlIseUJBUlE7TUFRUixzQkFSUTtVQVFSLG1CQVJRO0VEd0ROLDBCQUFBO01BQUEscUJBQUE7QWpEMm9LSjs7QWlEcm9LTTtFQ2hDSiw0QkQrQmU7TUMvQmYsaUJEK0JlO1VDL0JmLFFEK0JlO0FqRDBvS2pCOztBaUR6b0tNO0VDaENKLDRCRCtCZTtNQy9CZixpQkQrQmU7VUMvQmYsUUQrQmU7QWpEOG9LakI7O0FpRDdvS007RUNoQ0osNEJEK0JlO01DL0JmLGlCRCtCZTtVQy9CZixRRCtCZTtBakRrcEtqQjs7QWlEanBLTTtFQ2hDSiw0QkQrQmU7TUMvQmYsaUJEK0JlO1VDL0JmLFFEK0JlO0FqRHNwS2pCOztBaURycEtNO0VDaENKLDRCRCtCZTtNQy9CZixpQkQrQmU7VUMvQmYsUUQrQmU7QWpEMHBLakI7O0FpRHpwS007RUNoQ0osNEJEK0JlO01DL0JmLGlCRCtCZTtVQy9CZixRRCtCZTtBakQ4cEtqQjs7QWV4bEtRO0VrQ3JFRjtJQ2hDSiw0QkQrQmU7UUMvQmYsaUJEK0JlO1lDL0JmLFFEK0JlO0VqRG1xS2Y7RWlEbHFLSTtJQ2hDSiw0QkQrQmU7UUMvQmYsaUJEK0JlO1lDL0JmLFFEK0JlO0VqRHNxS2Y7RWlEcnFLSTtJQ2hDSiw0QkQrQmU7UUMvQmYsaUJEK0JlO1lDL0JmLFFEK0JlO0VqRHlxS2Y7RWlEeHFLSTtJQ2hDSiw0QkQrQmU7UUMvQmYsaUJEK0JlO1lDL0JmLFFEK0JlO0VqRDRxS2Y7RWlEM3FLSTtJQ2hDSiw0QkQrQmU7UUMvQmYsaUJEK0JlO1lDL0JmLFFEK0JlO0VqRCtxS2Y7RWlEOXFLSTtJQ2hDSiw0QkQrQmU7UUMvQmYsaUJEK0JlO1lDL0JmLFFEK0JlO0VqRGtyS2Y7QUFDRjtBZTdtS1E7RWtDckVGO0lDaENKLDRCRCtCZTtRQy9CZixpQkQrQmU7WUMvQmYsUUQrQmU7RWpEdXJLZjtFaUR0cktJO0lDaENKLDRCRCtCZTtRQy9CZixpQkQrQmU7WUMvQmYsUUQrQmU7RWpEMHJLZjtFaUR6cktJO0lD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dHdNRTtFQUF1QixnQkRuQlo7QS9ENnhNYjs7QWdFMXdNRTtFQUF1QixnQkRuQlo7QS9EaXlNYjs7QWdFOXdNRTtFQUF1QixnQkRuQlo7QS9EcXlNYjs7QWdFbHhNRTtFQUF1QixnQkRuQlo7QS9EeXlNYjs7QWdFdHhNRTtFQUF1QixnQkRuQlo7QS9ENnlNYjs7QWdFMXhNRTtFQUF1QixnQkRuQlo7QS9EaXpNYjs7QWdFOXhNRTtFQUF1QixnQkRuQlo7QS9EcXpNYjs7QWdFbHlNRTtFQUF1QixnQkRuQlo7QS9EeXpNYjs7QWdFdHlNRTtFQUF1QixnQkRuQlo7QS9ENnpNYjs7QWdFMXlNRTtFQUF1QixnQkRuQlo7QS9EaTBNYjs7QWdFOXlNRTtFQUF1QixnQkRuQlo7QS9EcTBNYjs7QWdFbHpNRTtFQUF1QixnQkRuQlo7QS9EeTBNYjs7QWdFdHpNRTtFQUF1QixnQkRuQlo7QS9ENjBNYjs7QWdFMXpNRTtFQUF1QixnQkRuQlo7QS9EaTFNYjs7QWdFOXpNRTtFQUF1QixnQkRuQlo7QS9EcTFNYjs7QWdFbDBNRTtFQUF1QixnQkRuQlo7QS9EeTFNYjs7QWdFdDBNRTtFQUF1QixnQkRuQlo7QS9ENjFNYjs7QWdFMTBNRTtFQUF1QixnQkRuQlo7QS9EaTJNYjs7QWdFOTBNRTtFQUF1QixnQkRuQlo7QS9EcTJNYjs7QWdFbDFNRTtFQUF1QixnQkRuQlo7QS9EeTJNYjs7QWdFdDFNRTtFQUF1QixnQkRuQlo7QS9ENjJNYjs7QWdFMTFNRTtFQUF1QixnQkRuQlo7QS9EaTNNYjs7QWlFbjNNQTtFQUNFLHVCQUFBO0FqRXMzTUY7O0FpRW4zTUE7RUFDRSw2QkFBQTtBakVzM01GOztBaUVuM01BO0VBQ0UsZUFBQTtBakVzM01GOztBaUVuM01BO0VBQ0UsdUJBQUE7QWpFczNNRjtBaUVyM01FO0VBQ0UsMkJBQUE7QWpFdTNNSjs7QWlFbjNNQTtFQUNFLGtCQUFBO0VBQ0EsNkJBQUE7RUFDQSxrQ0FBQTtFQUNBLDRCQUFBO0VBQ0Esc0JBQUE7RUFDQSxpQ0FBQTtFQUFBLHlCQUFBO0FqRXMzTUY7QWlFcDNNRTtFQUNF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STtBRG9oT1I7O0FtRTNsT0E7O0dBQUE7QUFXSztFQUdNLGVEV1E7RUNYUixnQkRXUTtFQ1hSLGlCRFdRO0FsRTJrT25COztBZWo3TlE7RW9EeEtIO0lBR00sMEJEV1E7SUNYUixnQkRXUTtJQ1hSLDRCRFdRO0VsRWtsT2pCO0FBQ0Y7O0FlejdOUTtFb0R4S0g7SUFHTSwwQkRXUTtJQ1hSLGdCRFdRO0lDWFIsNEJEV1E7RWxFMGxPakI7QUFDRjs7QW1Fem1PSztFQUdNLDBCRFdRO0VDWFIsZ0JEV1E7RUNYUiw0QkRXUTtBbEVpbU9uQjs7QWV2OE5RO0VvRHhLSDtJQUdNLDBCRFdRO0lDWFIsZ0JEV1E7SUNYUiw0QkRXUTtFbEV3bU9qQjtBQUNGOztBZS84TlE7RW9EeEtIO0lBR00sMEJEV1E7SUNYUixnQkRXUTtJQ1hSLDRCRFdRO0VsRWduT2pCO0FBQ0Y7O0FtRS9uT0s7RUFHTSwwQkRXUTtFQ1hSLGdCRFdRO0VDWFIsaUJEV1E7QWxFdW5PbkI7O0FlNzlOUTtFb0R4S0g7SUFHTSxlRFdRO0lDWFIsZ0JEV1E7SUNYUiw0QkRXUTtFbEU4bk9qQjtBQUNGOztBZXIrTlE7RW9EeEtIO0lBR00sMEJEV1E7SUNYUixnQkRXUTtJQ1hSLDRCRFdRO0VsRXNvT2pCO0FBQ0Y7O0FtRXJwT0s7RUFHTSwwQkRXUTtFQ1hSLGdCRFdRO0VDWFIsNEJEV1E7QWxFNm9PbkI7O0Flbi9OUTtFb0R4S0g7SUFHTSwwQkRXUTtJQ1hSLGdCRFdRO0lDWFIsNEJEV1E7RWxFb3BPakI7QUFDRjs7QWUzL05RO0VvRHhLSDtJQUdNLDBCRFdRO0lDWFIsZ0JEV1E7SUNYUiw0QkRXUTtFbEU0cE9qQjtBQUNGOztBbUUzcU9LO0VBR00sMEJEV1E7RUNYUixnQkRXUTtFQ1hSLDRCRFdRO0FsRW1xT25COztBZXpnT1E7RW9EeEtIO0lBR00sMEJEV1E7SUNYUixnQkRXUTtJQ1hSLDRCRFdRO0VsRTBxT2pCO0FBQ0Y7O0FlamhPUTtFb0R4S0g7SUFHTSwwQkRXUTtJQ1hSLGdCRFdRO0lDWFIsNEJEV1E7RWxFa3JPakI7QUFDRjs7QW1FanNPSztFQUdNLDBCRFdRO0VDWFIsZ0JEV1E7RUNYUixpQkRXUTtBbEV5ck9uQjs7QWUvaE9RO0VvRHhLSDtJQUdNLGVEV1E7SUNYUixnQkRXUTtJQ1hSLDRCRFdRO0VsRWdzT2pCO0FBQ0Y7O0FldmlPUTtFb0R4S0g7SUFHTSwwQkRXUTtJQ1hSLGdCRFdRO0lDWFIsNEJEV1E7RWxFd3NPakI7QUFDRjs7QW1FdnRPSztFQUdNLDBCRFdRO0VDWFIsZ0JEV1E7RUNYUiw0QkRXUTtBbEUrc09uQjs7QWVyak9RO0VvRHhLSDtJQUdNLDBCRFdRO0lDWFIsZ0JEV1E7SUNYUiw0QkRXUTtFbEVzdE9qQjtBQUNGOztBZTdqT1E7RW9EeEtIO0lBR00sZURXUTtJQ1hSLGdCRFdRO0lDWFIsNEJEV1E7RWxFOHRPakI7QUFDRjs7QW1FN3VPSzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQUdNLDBCRFdRO0VDWFIsZ0JEV1E7RUNYUixpQkRXUTtBbEVnd09uQjs7QWV0bU9RO0VvRHhLSDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQUdNLDBCRFdRO0lDWFIsZ0JEV1E7SUNYUiw0QkRXUTtFbEVreU9qQjtBQUNGOztBZXpvT1E7RW9EeEtIOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBR00sMEJEV1E7SUNYUixnQkRXUTtJQ1hSLDRCRFdRO0VsRXEwT2pCO0FBQ0Y7O0FtRXAxT0s7RUFHTSwwQkRXUTtFQ1hSLGdCRFdRO0VDWFIsNEJEV1E7QWxFNDBPbkI7O0FlbHJPUTtFb0R4S0g7SUFHTSwwQkRXUTtJQ1hSLGdCRFdRO0lDWFIsNEJEV1E7RWxFbTFPakI7QUFDRjs7QWUxck9RO0VvRHhLSDtJQUdNLDBCRFdRO0lDWFIsZ0JEV1E7SUNYUiw0QkRXUTtFbEUyMU9qQjtBQUNGOztBbUUxMk9LO0VBR00sMEJEV1E7RUNYUixnQkRXUTtFQ1hSLDRCRFdRO0FsRWsyT25COztBZXhzT1E7RW9EeEtIO0lBR00sMEJEV1E7SUNYUixnQkRXUTtJQ1hSLDRCRFdRO0VsRXkyT2pCO0FBQ0Y7O0FlaHRPUTtFb0R4S0g7SUFHTSwwQkRXUTtJQ1hSLGdCRFdRO0lDWFIsNEJEV1E7RWxFaTNPakI7QUFDRjs7QW9FMzRPQTs7Ozs7RUFBQTtBQ0FBOzs7OztFQUFBO0FDY0E7RUFDSSxZRkphO0VFS2IsV0ZMYTtBcEVpNU9qQjs7QXNFejRPQTtFQUNJLFlBQUE7RUFDQSxXQUFBO0F0RTQ0T0o7QXNFMTRPSTtFQUNJLFFBQUE7QXRFNDRPUjs7QXNFeDRPQTtFQUlJLDZCQ3JCbUI7RURzQm5CLDJCQUFBO0VBQ0EsZ0JDYnNCO0VEY3RCLGNBQUE7RUFDQSxlQUFBO0VBQ0EscUJBQUE7RUFDQSxhQUFBO0VBQ0EsVUN0QmdCO0VEdUJoQixpQkFBQTtFQUNBLFlDckJnQjtFRHNCaEIsb0JBQUE7RUFDQSwySEFBQTtFQUFBLG1IQUFBO0F0RXc0T0o7QXNFdDRPSTtFQUNJLDZCQ25DZTtFRG9DZixVQzdCa0I7QXZFcTZPMUI7QXNFdDRPUTtFQUNJLHlCckU4Qkk7QUQwMk9oQjtBc0VoNE9nQjs7Ozs7OztFQUVJLHlCckVvQko7QURtM09oQjtBc0VqNE9JO0VBQ0ksNkJDeERlO0F2RTI3T3ZCO0FzRWo0T1E7RUFDSSx5QnJFVUk7QUR5M09oQjtBc0UzM09nQjs7Ozs7OztFQUVJLHlCQUFBO0F0RWs0T3BCO0FzRTUzT0k7RUFDSSxTQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLFdBQUE7QXRFODNPUjtBc0UzM09JO0VBeEZBLHlCckUyRVk7RXFFMUVaLGdCQ2dCMEI7RURmMUIsV0FBQTtFQUNBLGNBQUE7RUFDQSxXQ0ZrQjtFREdsQixrQkFBQTtFQUNBLFdBQUE7QXRFczlPSjtBc0VqNE9RO0VBQ0ksU0FBQTtBdEVtNE9aO0FzRWg0T1E7RUFDSSxRQzlFWTtBdkVnOU94QjtBc0U5M09JO0VBQ0ksVUFBQTtBdEVnNE9SOztBd0VyK09ZO0VBQ0ksTUFBQTtBeEV3K09oQjtBd0V0K09nQjtFQUNJLGdDQUFBO1VBQUEsd0JBQUE7QXhFdytPcEI7QXdFcitPZ0I7RUFDSSxhQUFBO0F4RXUrT3BCO0F3RXArT2dCO0VBQ0ksaUNBQUE7VUFB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a1ZFO0VBQ0UsbUJBQUE7QXpIdWtWSjtBZW5uVlE7RTBHMkNOO0lBR0ksaUJBQUE7SUFDQSw4QkFBQTtRQUFBLGlCQUFBO0V6SHlrVko7QUFDRjtBeUhya1ZFO0VBQ0UsdUJBQUE7RUFDQSxtQkFBQTtFQUNBLGdCQUFBO0VBQ0EsbUNBQUE7VUFBQSwyQkFBQTtFQUNBLGlCQUFBO0VBQ0EsVUFBQTtFQUNBLFVBQUE7QXpIdWtWSjtBeUhya1ZJO0VBQ0Usd0JBQUE7QXpIdWtWTiIsImZpbGUiOiJ0dF9mb3VuZGF0aW9uLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qIERlZmF1bHQgY29sb3JzICovXG4vKiBQcmltYXJ5IGNvbG9ycyAqL1xuLyogQ3VzdG9tIGNvbG9ycyAqL1xuLyogU3RhdGVzIGNvbG9yICovXG4vKiBPdXRsaW5lcyBjb2xvcnMgKi9cbi8qIE92ZXJsYXlzICovXG4vKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4gKiBWZXJzaW9uIDYuOC4xXG4gKiBodHRwczovL2dldC5mb3VuZGF0aW9uXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG59XG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAwO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG59XG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIG1hcmdpbjogMDtcbn1cblxuYnV0dG9uLFxuaW5wdXQge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbmJ1dHRvbixcblt0eXBlPWJ1dHRvbl0sXG5bdHlwZT1yZXNldF0sXG5bdHlwZT1zdWJtaXRdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPWJ1dHRvbl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1yZXNldF06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1zdWJtaXRdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1idXR0b25dOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9cmVzZXRdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9c3VibWl0XTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG59XG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xufVxuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuW3R5cGU9Y2hlY2tib3hdLFxuW3R5cGU9cmFkaW9dIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogMDtcbn1cblxuW3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cblt0eXBlPXNlYXJjaF0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG59XG5cblt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgZm9udDogaW5oZXJpdDtcbn1cblxuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuW2RhdGEtd2hhdGludGVudD1tb3VzZV0gKiwgW2RhdGEtd2hhdGludGVudD1tb3VzZV0gKjpmb2N1cyxcbltkYXRhLXdoYXRpbnRlbnQ9dG91Y2hdICosXG5bZGF0YS13aGF0aW50ZW50PXRvdWNoXSAqOmZvY3VzLFxuW2RhdGEtd2hhdGlucHV0PW1vdXNlXSAqLFxuW2RhdGEtd2hhdGlucHV0PW1vdXNlXSAqOmZvY3VzLFxuW2RhdGEtd2hhdGlucHV0PXRvdWNoXSAqLFxuW2RhdGEtd2hhdGlucHV0PXRvdWNoXSAqOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuW2RyYWdnYWJsZT1mYWxzZV0ge1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi5mb3VuZGF0aW9uLW1xIHtcbiAgZm9udC1mYW1pbHk6IFwic21hbGw9MGVtJm1lZGl1bT00OGVtJmxhcmdlPTY0ZW0meGxhcmdlPTgwZW0meHhsYXJnZT05MGVtXCI7XG59XG5cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmb250LXNpemU6IDIycHg7XG59XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGZvbnQtZmFtaWx5OiBcIklCTSBQbGV4IFNhbnNcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjM2O1xuICBjb2xvcjogIzAwMDAwMDtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbmltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG59XG5cbnRleHRhcmVhIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4taGVpZ2h0OiA1MHB4O1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG5zZWxlY3Qge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLm1hcF9jYW52YXMgaW1nLFxuLm1hcF9jYW52YXMgZW1iZWQsXG4ubWFwX2NhbnZhcyBvYmplY3QsXG4ubXFhLWRpc3BsYXkgaW1nLFxuLm1xYS1kaXNwbGF5IGVtYmVkLFxuLm1xYS1kaXNwbGF5IG9iamVjdCB7XG4gIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5bZGF0YS13aGF0aW5wdXQ9bW91c2VdIGJ1dHRvbiB7XG4gIG91dGxpbmU6IDA7XG59XG5idXR0b24ge1xuICBwYWRkaW5nOiAwO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBsaW5lLWhlaWdodDogMTtcbiAgY3Vyc29yOiBhdXRvO1xufVxuXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xufVxuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbn1cblxuLmlzLXZpc2libGUge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuXG4uaXMtaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5bdHlwZT10ZXh0XSwgW3R5cGU9cGFzc3dvcmRdLCBbdHlwZT1kYXRlXSwgW3R5cGU9ZGF0ZXRpbWVdLCBbdHlwZT1kYXRldGltZS1sb2NhbF0sIFt0eXBlPW1vbnRoXSwgW3R5cGU9d2Vla10sIFt0eXBlPWVtYWlsXSwgW3R5cGU9bnVtYmVyXSwgW3R5cGU9c2VhcmNoXSwgW3R5cGU9dGVsXSwgW3R5cGU9dGltZV0sIFt0eXBlPXVybF0sIFt0eXBlPWNvbG9yXSxcbnRleHRhcmVhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEuNjcwOTA5MDkwOXJlbTtcbiAgbWFyZ2luOiAwIDAgMC43MjcyNzI3MjczcmVtO1xuICBwYWRkaW5nOiAwLjM2MzYzNjM2MzZyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICM3YTk4OTk7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDAuNzI3MjcyNzI3M3JlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMzY7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbn1cblt0eXBlPXRleHRdOmZvY3VzLCBbdHlwZT1wYXNzd29yZF06Zm9jdXMsIFt0eXBlPWRhdGVdOmZvY3VzLCBbdHlwZT1kYXRldGltZV06Zm9jdXMsIFt0eXBlPWRhdGV0aW1lLWxvY2FsXTpmb2N1cywgW3R5cGU9bW9udGhdOmZvY3VzLCBbdHlwZT13ZWVrXTpmb2N1cywgW3R5cGU9ZW1haWxdOmZvY3VzLCBbdHlwZT1udW1iZXJdOmZvY3VzLCBbdHlwZT1zZWFyY2hdOmZvY3VzLCBbdHlwZT10ZWxdOmZvY3VzLCBbdHlwZT10aW1lXTpmb2N1cywgW3R5cGU9dXJsXTpmb2N1cywgW3R5cGU9Y29sb3JdOmZvY3VzLFxudGV4dGFyZWE6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjNGM0YzRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3gtc2hhZG93OiAwIDAgNXB4ICM3YTk4OTk7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xufVxuW3R5cGU9dGV4dF0sIFt0eXBlPXBhc3N3b3JkXSwgW3R5cGU9ZGF0ZV0sIFt0eXBlPWRhdGV0aW1lXSwgW3R5cGU9ZGF0ZXRpbWUtbG9jYWxdLCBbdHlwZT1tb250aF0sIFt0eXBlPXdlZWtdLCBbdHlwZT1lbWFpbF0sIFt0eXBlPW51bWJlcl0sIFt0eXBlPXNlYXJjaF0sIFt0eXBlPXRlbF0sIFt0eXBlPXRpbWVdLCBbdHlwZT11cmxdLCBbdHlwZT1jb2xvcl0sXG50ZXh0YXJlYSB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbnRleHRhcmVhIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxudGV4dGFyZWFbcm93c10ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbmlucHV0OmRpc2FibGVkLCBpbnB1dFtyZWFkb25seV0sXG50ZXh0YXJlYTpkaXNhYmxlZCxcbnRleHRhcmVhW3JlYWRvbmx5XSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjOGQ2ZDY7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cblt0eXBlPXN1Ym1pdF0sXG5bdHlwZT1idXR0b25dIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuaW5wdXRbdHlwZT1zZWFyY2hdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjN2E5ODk5O1xufVxuXG5bdHlwZT1maWxlXSxcblt0eXBlPWNoZWNrYm94XSxcblt0eXBlPXJhZGlvXSB7XG4gIG1hcmdpbjogMCAwIDAuNzI3MjcyNzI3M3JlbTtcbn1cblxuW3R5cGU9Y2hlY2tib3hdICsgbGFiZWwsXG5bdHlwZT1yYWRpb10gKyBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBtYXJnaW4tbGVmdDogMC4zNjM2MzYzNjM2cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNzI3MjcyNzI3M3JlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblt0eXBlPWNoZWNrYm94XSArIGxhYmVsW2Zvcl0sXG5bdHlwZT1yYWRpb10gKyBsYWJlbFtmb3JdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5sYWJlbCA+IFt0eXBlPWNoZWNrYm94XSxcbmxhYmVsID4gW3R5cGU9cmFkaW9dIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjM2MzYzNjM2MzZyZW07XG59XG5cblt0eXBlPWZpbGVdIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbmxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjYzNjM2MzYzNjRyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjg7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxubGFiZWwubWlkZGxlIHtcbiAgbWFyZ2luOiAwIDAgMC43MjcyNzI3MjczcmVtO1xuICBsaW5lLWhlaWdodDogMS4zNjtcbiAgcGFkZGluZzogMC40MDkwOTA5MDkxcmVtIDA7XG59XG5cbi5oZWxwLXRleHQge1xuICBtYXJnaW4tdG9wOiAtMC4zNjM2MzYzNjM2cmVtO1xuICBmb250LXNpemU6IDAuNTkwOTA5MDkwOXJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cblxuLmlucHV0LWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDAuNzI3MjcyNzI3M3JlbTtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG59XG4uaW5wdXQtZ3JvdXAgPiA6Zmlyc3QtY2hpbGQsIC5pbnB1dC1ncm91cCA+IDpmaXJzdC1jaGlsZC5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDtcbn1cbi5pbnB1dC1ncm91cCA+IDpsYXN0LWNoaWxkLCAuaW5wdXQtZ3JvdXAgPiA6bGFzdC1jaGlsZC5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDtcbn1cblxuLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCxcbi5pbnB1dC1ncm91cC1idXR0b24gYnV0dG9uLFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbCwgLmlucHV0LWdyb3VwLWJ1dHRvbiwgLmlucHV0LWdyb3VwLWZpZWxkLCAuaW5wdXQtZ3JvdXAtbGFiZWwge1xuICBtYXJnaW46IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5pbnB1dC1ncm91cC1sYWJlbCB7XG4gIHBhZGRpbmc6IDAgMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzdhOTg5OTtcbiAgYmFja2dyb3VuZDogI2M4ZDZkNjtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4uaW5wdXQtZ3JvdXAtbGFiZWw6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmlnaHQ6IDA7XG59XG4uaW5wdXQtZ3JvdXAtbGFiZWw6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1sZWZ0OiAwO1xufVxuXG4uaW5wdXQtZ3JvdXAtZmllbGQge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBmbGV4OiAxIDEgMHB4O1xuICBtaW4td2lkdGg6IDA7XG59XG5cbi5pbnB1dC1ncm91cC1idXR0b24ge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIGF1dG87XG59XG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGxhYmVsIHtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMC43MjcyNzI3MjczcmVtO1xufVxuXG5maWVsZHNldCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xufVxuXG5sZWdlbmQge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDAuMzYzNjM2MzYzNnJlbTtcbn1cblxuLmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAwLjgxODE4MTgxODJyZW0gMDtcbiAgcGFkZGluZzogMC45MDkwOTA5MDkxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjN2E5ODk5O1xufVxuLmZpZWxkc2V0IGxlZ2VuZCB7XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLWxlZnQ6IC0wLjEzNjM2MzYzNjRyZW07XG4gIHBhZGRpbmc6IDAgMC4xMzYzNjM2MzY0cmVtO1xufVxuXG5zZWxlY3Qge1xuICBoZWlnaHQ6IDEuNjcwOTA5MDkwOXJlbTtcbiAgbWFyZ2luOiAwIDAgMC43MjcyNzI3MjczcmVtO1xuICBwYWRkaW5nOiAwLjM2MzYzNjM2MzZyZW07XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM3YTk4OTk7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDAuNzI3MjcyNzI3M3JlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMzY7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZlcnNpb249XCIxLjFcIiB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDMyIDI0XCI+PHBvbHlnb24gcG9pbnRzPVwiMCwwIDMyLDAgMTYsMjRcIiBzdHlsZT1cImZpbGw6IHJnYiUyODc2LCA3NiwgNzglMjlcIj48L3BvbHlnb24+PC9zdmc+Jyk7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwXFwwICkge1xuICBzZWxlY3Qge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT1cIik7XG4gIH1cbn1cbnNlbGVjdCB7XG4gIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgLTAuNzI3MjcyNzI3M3JlbSBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcbiAgcGFkZGluZy1yaWdodDogMS4wOTA5MDkwOTA5cmVtO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbn1cbnNlbGVjdDpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM0YzRjNGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IDAgMCA1cHggIzdhOTg5OTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG59XG5zZWxlY3Q6ZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzhkNmQ2O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbnNlbGVjdFttdWx0aXBsZV0ge1xuICBoZWlnaHQ6IGF1dG87XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG5zZWxlY3Q6bm90KFttdWx0aXBsZV0pIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4uaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKSB7XG4gIGJvcmRlci1jb2xvcjogI2ZmMDAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwgMjI5LjUsIDIyOS41KTtcbn1cbi5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjZmYwMDAwO1xufVxuXG4uaXMtaW52YWxpZC1sYWJlbCB7XG4gIGNvbG9yOiAjZmYwMDAwO1xufVxuXG4uZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6IC0wLjM2MzYzNjM2MzZyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNzI3MjcyNzI3M3JlbTtcbiAgZm9udC1zaXplOiAwLjU0NTQ1NDU0NTVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjZmYwMDAwO1xufVxuLmZvcm0tZXJyb3IuaXMtdmlzaWJsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5kaXYsXG5kbCxcbmR0LFxuZGQsXG51bCxcbm9sLFxubGksXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG5wcmUsXG5mb3JtLFxucCxcbmJsb2NrcXVvdGUsXG50aCxcbnRkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG5wIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMS4zNjtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbn1cblxuZW0sXG5pIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuc3Ryb25nLFxuYiB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuaDEsIC5oMSxcbmgyLCAuaDIsXG5oMywgLmgzLFxuaDQsIC5oNCxcbmg1LCAuaDUsXG5oNiwgLmg2IHtcbiAgZm9udC1mYW1pbHk6IFwiSUJNIFBsZXggU2Fuc1wiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbn1cbmgxIHNtYWxsLCAuaDEgc21hbGwsXG5oMiBzbWFsbCwgLmgyIHNtYWxsLFxuaDMgc21hbGwsIC5oMyBzbWFsbCxcbmg0IHNtYWxsLCAuaDQgc21hbGwsXG5oNSBzbWFsbCwgLmg1IHNtYWxsLFxuaDYgc21hbGwsIC5oNiBzbWFsbCB7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBjb2xvcjogIzdhOTg5OTtcbn1cblxuaDEsIC5oMSB7XG4gIGZvbnQtc2l6ZTogMS4wOTA5MDkwOTA5cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG5cbmgyLCAuaDIge1xuICBmb250LXNpemU6IDAuOTA5MDkwOTA5MXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuXG5oMywgLmgzIHtcbiAgZm9udC1zaXplOiAwLjg2MzYzNjM2MzZyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cblxuaDQsIC5oNCB7XG4gIGZvbnQtc2l6ZTogMC44MTgxODE4MTgycmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG5cbmg1LCAuaDUge1xuICBmb250LXNpemU6IDAuNzcyNzI3MjcyN3JlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuXG5oNiwgLmg2IHtcbiAgZm9udC1zaXplOiAwLjcyNzI3MjcyNzNyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgaDEsIC5oMSB7XG4gICAgZm9udC1zaXplOiAyLjE4MTgxODE4MThyZW07XG4gIH1cbiAgaDIsIC5oMiB7XG4gICAgZm9udC1zaXplOiAxLjgxODE4MTgxODJyZW07XG4gIH1cbiAgaDMsIC5oMyB7XG4gICAgZm9udC1zaXplOiAxLjQwOTA5MDkwOTFyZW07XG4gIH1cbiAgaDQsIC5oNCB7XG4gICAgZm9udC1zaXplOiAxLjEzNjM2MzYzNjRyZW07XG4gIH1cbiAgaDUsIC5oNSB7XG4gICAgZm9udC1zaXplOiAwLjkwOTA5MDkwOTFyZW07XG4gIH1cbiAgaDYsIC5oNiB7XG4gICAgZm9udC1zaXplOiAwLjcyNzI3MjcyNzNyZW07XG4gIH1cbn1cbmEge1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuYTpob3ZlciwgYTpmb2N1cyB7XG4gIGNvbG9yOiBibGFjaztcbn1cbmEgaW1nIHtcbiAgYm9yZGVyOiAwO1xufVxuXG5ociB7XG4gIGNsZWFyOiBib3RoO1xuICBtYXgtd2lkdGg6IDU4LjE4MTgxODE4MThyZW07XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAwLjkwOTA5MDkwOTFyZW0gYXV0bztcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzdhOTg5OTtcbiAgYm9yZGVyLWxlZnQ6IDA7XG59XG5cbnVsLFxub2wsXG5kbCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4gIGxpbmUtaGVpZ2h0OiAxLjM2O1xufVxuXG5saSB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbn1cblxudWwge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xufVxuXG5vbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xufVxuXG51bCB1bCwgdWwgb2wsIG9sIHVsLCBvbCBvbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5kbCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5kbCBkdCB7XG4gIG1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNDA5MDkwOTA5MXJlbSAwLjkwOTA5MDkwOTFyZW0gMCAwLjg2MzYzNjM2MzZyZW07XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzdhOTg5OTtcbn1cbmJsb2NrcXVvdGUsIGJsb2NrcXVvdGUgcCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjM2O1xuICBjb2xvcjogIzRjNGM0ZTtcbn1cblxuYWJiciwgYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICMwMDAwMDA7XG4gIGN1cnNvcjogaGVscDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5maWd1cmUge1xuICBtYXJnaW46IDA7XG59XG5cbmtiZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMC4wOTA5MDkwOTA5cmVtIDAuMTgxODE4MTgxOHJlbSAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzhkNmQ2O1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG5cbi5zdWJoZWFkZXIge1xuICBtYXJnaW4tdG9wOiAwLjJyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6ICM0YzRjNGU7XG59XG5cbi5sZWFkIHtcbiAgZm9udC1zaXplOiAyNy41cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG59XG5cbi5zdGF0IHtcbiAgZm9udC1zaXplOiAyLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxucCArIC5zdGF0IHtcbiAgbWFyZ2luLXRvcDogLTFyZW07XG59XG5cbnVsLm5vLWJ1bGxldCwgb2wubm8tYnVsbGV0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5jaXRlLWJsb2NrLCBjaXRlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjNGM0YzRlO1xuICBmb250LXNpemU6IDAuNTkwOTA5MDkwOXJlbTtcbn1cbi5jaXRlLWJsb2NrOmJlZm9yZSwgY2l0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIuKAlCBcIjtcbn1cblxuLmNvZGUtaW5saW5lLCBjb2RlIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzdhOTg5OTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2M4ZDZkNjtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBwYWRkaW5nOiAwLjA5MDkwOTA5MDlyZW0gMC4yMjcyNzI3MjczcmVtIDAuMDQ1NDU0NTQ1NXJlbTtcbn1cblxuLmNvZGUtYmxvY2sge1xuICBib3JkZXI6IDFweCBzb2xpZCAjN2E5ODk5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzhkNmQ2O1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogYXV0bztcbiAgd2hpdGUtc3BhY2U6IHByZTtcbiAgcGFkZGluZzogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xufVxuXG4udGV4dC1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLnRleHQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLnRleHQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udGV4dC1qdXN0aWZ5IHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm1lZGl1bS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgLm1lZGl1bS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuICAubWVkaXVtLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLm1lZGl1bS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgLmxhcmdlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG4gIC5sYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIC5sYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gIH1cbn1cbi5zaG93LWZvci1wcmludCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIHByaW50IHtcbiAgKiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbiAgICBwcmludC1jb2xvci1hZGp1c3Q6IGVjb25vbXk7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG4gIC5oaWRlLWZvci1wcmludCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIHRhYmxlLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50O1xuICB9XG4gIHRoZWFkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDtcbiAgfVxuICB0Ym9keS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7XG4gIH1cbiAgdHIuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50O1xuICB9XG4gIHRkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gIH1cbiAgdGguc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDtcbiAgfVxuICBhLFxuICBhOnZpc2l0ZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG4gIGFbaHJlZl06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiO1xuICB9XG4gIC5pciBhOmFmdGVyLFxuICBhW2hyZWZePVwiamF2YXNjcmlwdDpcIl06YWZ0ZXIsXG4gIGFbaHJlZl49XCIjXCJdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG4gIGFiYnJbdGl0bGVdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7XG4gIH1cbiAgcHJlLFxuICBibG9ja3F1b3RlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNGM0YzRlO1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgfVxuICB0aGVhZCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwO1xuICB9XG4gIHRyLFxuICBpbWcge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgfVxuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG4gIEBwYWdlIHtcbiAgICBtYXJnaW46IDAuNWNtO1xuICB9XG4gIHAsXG4gIGgyLFxuICBoMyB7XG4gICAgb3JwaGFuczogMztcbiAgICB3aWRvd3M6IDM7XG4gIH1cbiAgaDIsXG4gIGgzIHtcbiAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDtcbiAgfVxuICAucHJpbnQtYnJlYWstaW5zaWRlIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXV0bztcbiAgfVxufVxuLmdyaWQtY29udGFpbmVyIHtcbiAgcGFkZGluZy1yaWdodDogMC40NTQ1NDU0NTQ1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNDU0NTQ1NDU0NXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1yaWdodDogMC42ODE4MTgxODE4cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42ODE4MTgxODE4cmVtO1xuICB9XG59XG4uZ3JpZC1jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDU4LjE4MTgxODE4MThyZW07XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG4uZ3JpZC1jb250YWluZXIuZmx1aWQge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjQ1NDU0NTQ1NDVyZW07XG4gIHBhZGRpbmctbGVmdDogMC40NTQ1NDU0NTQ1cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmdyaWQtY29udGFpbmVyLmZsdWlkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjY4MTgxODE4MThyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjY4MTgxODE4MThyZW07XG4gIH1cbn1cbi5ncmlkLWNvbnRhaW5lci5mbHVpZCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbi5ncmlkLWNvbnRhaW5lci5mdWxsIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi5ncmlkLXgge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xufVxuXG4uY2VsbCB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtaW4taGVpZ2h0OiAwO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmNlbGwuYXV0byB7XG4gIGZsZXg6IDEgMSAwO1xufVxuLmNlbGwuc2hyaW5rIHtcbiAgZmxleDogMCAwIGF1dG87XG59XG5cbi5ncmlkLXggPiAuYXV0byB7XG4gIHdpZHRoOiBhdXRvO1xufVxuLmdyaWQteCA+IC5zaHJpbmsge1xuICB3aWR0aDogYXV0bztcbn1cblxuLmdyaWQteCA+IC5zbWFsbC1zaHJpbmssIC5ncmlkLXggPiAuc21hbGwtZnVsbCwgLmdyaWQteCA+IC5zbWFsbC0xLCAuZ3JpZC14ID4gLnNtYWxsLTIsIC5ncmlkLXggPiAuc21hbGwtMywgLmdyaWQteCA+IC5zbWFsbC00LCAuZ3JpZC14ID4gLnNtYWxsLTUsIC5ncmlkLXggPiAuc21hbGwtNiwgLmdyaWQteCA+IC5zbWFsbC03LCAuZ3JpZC14ID4gLnNtYWxsLTgsIC5ncmlkLXggPiAuc21hbGwtOSwgLmdyaWQteCA+IC5zbWFsbC0xMCwgLmdyaWQteCA+IC5zbWFsbC0xMSwgLmdyaWQteCA+IC5zbWFsbC0xMiB7XG4gIGZsZXgtYmFzaXM6IGF1dG87XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5ncmlkLXggPiAubWVkaXVtLXNocmluaywgLmdyaWQteCA+IC5tZWRpdW0tZnVsbCwgLmdyaWQteCA+IC5tZWRpdW0tMSwgLmdyaWQteCA+IC5tZWRpdW0tMiwgLmdyaWQteCA+IC5tZWRpdW0tMywgLmdyaWQteCA+IC5tZWRpdW0tNCwgLmdyaWQteCA+IC5tZWRpdW0tNSwgLmdyaWQteCA+IC5tZWRpdW0tNiwgLmdyaWQteCA+IC5tZWRpdW0tNywgLmdyaWQteCA+IC5tZWRpdW0tOCwgLmdyaWQteCA+IC5tZWRpdW0tOSwgLmdyaWQteCA+IC5tZWRpdW0tMTAsIC5ncmlkLXggPiAubWVkaXVtLTExLCAuZ3JpZC14ID4gLm1lZGl1bS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bztcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQteCA+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+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQteCA+IC5sYXJnZS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMDtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTEyLCAuZ3JpZC14ID4gLmxhcmdlLTExLCAuZ3JpZC14ID4gLmxhcmdlLTEwLCAuZ3JpZC14ID4gLmxhcmdlLTksIC5ncmlkLXggPiAubGFyZ2UtOCwgLmdyaWQteCA+IC5sYXJnZS03LCAuZ3JpZC14ID4gLmxhcmdlLTYsIC5ncmlkLXggPiAubGFyZ2UtNSwgLmdyaWQteCA+IC5sYXJnZS00LCAuZ3JpZC14ID4gLmxhcmdlLTMsIC5ncmlkLXggPiAubGFyZ2UtMiwgLmdyaWQteCA+IC5sYXJnZS0xLCAuZ3JpZC14ID4gLmxhcmdlLXNocmluayB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gIH1cbiAgLmdyaWQteCA+IC5sYXJnZS1zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteCA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteCA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpID4gLmNlbGwge1xuICB3aWR0aDogYXV0bztcbn1cblxuLmdyaWQtbWFyZ2luLXk6bm90KC5ncmlkLXkpID4gLmNlbGwge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5ncmlkLW1hcmdpbi14IHtcbiAgbWFyZ2luLWxlZnQ6IC0wLjQ1NDU0NTQ1NDVyZW07XG4gIG1hcmdpbi1yaWdodDogLTAuNDU0NTQ1NDU0NXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14IHtcbiAgICBtYXJnaW4tbGVmdDogLTAuNjgxODE4MTgxOHJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjY4MTgxODE4MThyZW07XG4gIH1cbn1cbi5ncmlkLW1hcmdpbi14ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMC45MDkwOTA5MDkxcmVtKTtcbiAgbWFyZ2luLWxlZnQ6IDAuNDU0NTQ1NDU0NXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjQ1NDU0NTQ1NDVyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZ3JpZC1tYXJnaW4teCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC42ODE4MTgxODE4cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC42ODE4MTgxODE4cmVtO1xuICB9XG59XG4uZ3JpZC1tYXJnaW4teCA+IC5hdXRvIHtcbiAgd2lkdGg6IGF1dG87XG59XG4uZ3JpZC1tYXJnaW4teCA+IC5zaHJpbmsge1xuICB3aWR0aDogYXV0bztcbn1cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEge1xuICB3aWR0aDogY2FsYyg4LjMzMzMzMzMzMzMlIC0gMC45MDkwOTA5MDkxcmVtKTtcbn1cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTIge1xuICB3aWR0aDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDAuOTA5MDkwOTA5MXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0zIHtcbiAgd2lkdGg6IGNhbGMoMjUlIC0gMC45MDkwOTA5MDkxcmVtKTtcbn1cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTQge1xuICB3aWR0aDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDAuOTA5MDkwOTA5MXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC01IHtcbiAgd2lkdGg6IGNhbGMoNDEuNjY2NjY2NjY2NyUgLSAwLjkwOTA5MDkwOTFyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNiB7XG4gIHdpZHRoOiBjYWxjKDUwJSAtIDAuOTA5MDkwOTA5MXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC03IHtcbiAgd2lkdGg6IGNhbGMoNTguMzMzMzMzMzMzMyUgLSAwLjkwOTA5MDkwOTFyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOCB7XG4gIHdpZHRoOiBjYWxjKDY2LjY2NjY2NjY2NjclIC0gMC45MDkwOTA5MDkxcmVtKTtcbn1cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTkge1xuICB3aWR0aDogY2FsYyg3NSUgLSAwLjkwOTA5MDkwOTFyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTAge1xuICB3aWR0aDogY2FsYyg4My4zMzMzMzMzMzMzJSAtIDAuOTA5MDkwOTA5MXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMSB7XG4gIHdpZHRoOiBjYWxjKDkxLjY2NjY2NjY2NjclIC0gMC45MDkwOTA5MDkxcmVtKTtcbn1cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEyIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDAuOTA5MDkwOTA5MXJlbSk7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZ3JpZC1tYXJnaW4teCA+IC5hdXRvIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiBjYWxjKDguMzMzMzMzMzMzMyUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogY2FsYyg0MS42NjY2NjY2NjY3JSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IGNhbGMoNjYuNjY2NjY2NjY2NyUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IGNhbGMoOTEuNjY2NjY2NjY2NyUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tYXV0byB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLXNocmluayB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiBjYWxjKDguMzMzMzMzMzMzMyUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IGNhbGMoNDEuNjY2NjY2NjY2NyUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY2NjY2NjclIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IGNhbGMoNzUlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY2NjY2NjclIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1hdXRvIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiBjYWxjKDguMzMzMzMzMzMzMyUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogY2FsYyg0MS42NjY2NjY2NjY3JSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IGNhbGMoNjYuNjY2NjY2NjY2NyUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IGNhbGMoOTEuNjY2NjY2NjY2NyUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxufVxuXG4uZ3JpZC1wYWRkaW5nLXggLmdyaWQtcGFkZGluZy14IHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC40NTQ1NDU0NTQ1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNDU0NTQ1NDU0NXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5ncmlkLXBhZGRpbmcteCAuZ3JpZC1wYWRkaW5nLXgge1xuICAgIG1hcmdpbi1yaWdodDogLTAuNjgxODE4MTgxOHJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTAuNjgxODE4MTgxOHJlbTtcbiAgfVxufVxuLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAuZ3JpZC1wYWRkaW5nLXgge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjQ1NDU0NTQ1NDVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC40NTQ1NDU0NTQ1cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAuZ3JpZC1wYWRkaW5nLXgge1xuICAgIG1hcmdpbi1yaWdodDogLTAuNjgxODE4MTgxOHJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTAuNjgxODE4MTgxOHJlbTtcbiAgfVxufVxuLmdyaWQtcGFkZGluZy14ID4gLmNlbGwge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjQ1NDU0NTQ1NDVyZW07XG4gIHBhZGRpbmctbGVmdDogMC40NTQ1NDU0NTQ1cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmdyaWQtcGFkZGluZy14ID4gLmNlbGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjgxODE4MTgxOHJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjgxODE4MTgxOHJlbTtcbiAgfVxufVxuXG4uc21hbGwtdXAtMSA+IC5jZWxsIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5zbWFsbC11cC0yID4gLmNlbGwge1xuICB3aWR0aDogNTAlO1xufVxuXG4uc21hbGwtdXAtMyA+IC5jZWxsIHtcbiAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xufVxuXG4uc21hbGwtdXAtNCA+IC5jZWxsIHtcbiAgd2lkdGg6IDI1JTtcbn1cblxuLnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gIHdpZHRoOiAyMCU7XG59XG5cbi5zbWFsbC11cC02ID4gLmNlbGwge1xuICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG59XG5cbi5zbWFsbC11cC03ID4gLmNlbGwge1xuICB3aWR0aDogMTQuMjg1NzE0Mjg1NyU7XG59XG5cbi5zbWFsbC11cC04ID4gLmNlbGwge1xuICB3aWR0aDogMTIuNSU7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tZWRpdW0tdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAubWVkaXVtLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAubWVkaXVtLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5tZWRpdW0tdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjAlO1xuICB9XG4gIC5tZWRpdW0tdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNC4yODU3MTQyODU3JTtcbiAgfVxuICAubWVkaXVtLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEyLjUlO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAubGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5sYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5sYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7XG4gIH1cbiAgLmxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNC4yODU3MTQyODU3JTtcbiAgfVxuICAubGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTIuNSU7XG4gIH1cbn1cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAwLjkwOTA5MDkwOTFyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0yID4gLmNlbGwge1xuICB3aWR0aDogY2FsYyg1MCUgLSAwLjkwOTA5MDkwOTFyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0zID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDAuOTA5MDkwOTA5MXJlbSk7XG59XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDI1JSAtIDAuOTA5MDkwOTA5MXJlbSk7XG59XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDIwJSAtIDAuOTA5MDkwOTA5MXJlbSk7XG59XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMC45MDkwOTA5MDkxcmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNyA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTQuMjg1NzE0Mjg1NyUgLSAwLjkwOTA5MDkwOTFyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC04ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxMi41JSAtIDAuOTA5MDkwOTA5MXJlbSk7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MTQyODU3JSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MTQyODU3JSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzE0Mjg1NyUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG59XG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbn1cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbn1cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gIHdpZHRoOiAyNSU7XG59XG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG59XG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG59XG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICB3aWR0aDogNTAlO1xufVxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xufVxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xufVxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgd2lkdGg6IDc1JTtcbn1cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG59XG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xufVxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gIHdpZHRoOiAxMDAlO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLnNtYWxsLXBhZGRpbmctY29sbGFwc2Uge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLnNtYWxsLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm1lZGl1bS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLm1lZGl1bS1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIC5sYXJnZS1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cbi5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwJTtcbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTAge1xuICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDAuOTA5MDkwOTA5MXJlbSAvIDIpO1xufVxuXG4uc21hbGwtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogOC4zMzMzMzMzMzMzJTtcbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzMzMzMzMlICsgMC45MDkwOTA5MDkxcmVtIC8gMik7XG59XG5cbi5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjY2NjY3JTtcbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NjY2NjY3JSArIDAuOTA5MDkwOTA5MXJlbSAvIDIpO1xufVxuXG4uc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMjUlO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDAuOTA5MDkwOTA5MXJlbSAvIDIpO1xufVxuXG4uc21hbGwtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogMzMuMzMzMzMzMzMzMyU7XG59XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMzMzMzMyUgKyAwLjkwOTA5MDkwOTFyZW0gLyAyKTtcbn1cblxuLnNtYWxsLW9mZnNldC01IHtcbiAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NjY2NjclO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY2NjY2NjclICsgMC45MDkwOTA5MDkxcmVtIC8gMik7XG59XG5cbi5zbWFsbC1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiA1MCU7XG59XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMC45MDkwOTA5MDkxcmVtIC8gMik7XG59XG5cbi5zbWFsbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMzMzMzMzJTtcbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTcge1xuICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMzMzMzMzJSArIDAuOTA5MDkwOTA5MXJlbSAvIDIpO1xufVxuXG4uc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogNjYuNjY2NjY2NjY2NyU7XG59XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC04IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjY2NjY2NyUgKyAwLjkwOTA5MDkwOTFyZW0gLyAyKTtcbn1cblxuLnNtYWxsLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTtcbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAwLjkwOTA5MDkwOTFyZW0gLyAyKTtcbn1cblxuLnNtYWxsLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiA4My4zMzMzMzMzMzMzJTtcbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMzMzMzMyUgKyAwLjkwOTA5MDkwOTFyZW0gLyAyKTtcbn1cblxuLnNtYWxsLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiA5MS42NjY2NjY2NjY3JTtcbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjY2NjY2NyUgKyAwLjkwOTA5MDkwOTFyZW0gLyAyKTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm1lZGl1bS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAxLjM2MzYzNjM2MzZyZW0gLyAyKTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMzMzMzMyUgKyAxLjM2MzYzNjM2MzZyZW0gLyAyKTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NjY2NjY3JSArIDEuMzYzNjM2MzYzNnJlbSAvIDIpO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAxLjM2MzYzNjM2MzZyZW0gLyAyKTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMzMzMzMzJSArIDEuMzYzNjM2MzYzNnJlbSAvIDIpO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY2NjY2NjclICsgMS4zNjM2MzYzNjM2cmVtIC8gMik7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDEuMzYzNjM2MzYzNnJlbSAvIDIpO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzMzMzMzMlICsgMS4zNjM2MzYzNjM2cmVtIC8gMik7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjY2NjY2NyUgKyAxLjM2MzYzNjM2MzZyZW0gLyAyKTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMS4zNjM2MzYzNjM2cmVtIC8gMik7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMzMzMzMzJSArIDEuMzYzNjM2MzYzNnJlbSAvIDIpO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjY2NjY2NyUgKyAxLjM2MzYzNjM2MzZyZW0gLyAyKTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMS4zNjM2MzYzNjM2cmVtIC8gMik7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMzMzMzMzJSArIDEuMzYzNjM2MzYzNnJlbSAvIDIpO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NjY2NjY3JSArIDEuMzYzNjM2MzYzNnJlbSAvIDIpO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMS4zNjM2MzYzNjM2cmVtIC8gMik7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzMzMzMzMlICsgMS4zNjM2MzYzNjM2cmVtIC8gMik7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY2NjY2NjclICsgMS4zNjM2MzYzNjM2cmVtIC8gMik7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAxLjM2MzYzNjM2MzZyZW0gLyAyKTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMzMzMzMyUgKyAxLjM2MzYzNjM2MzZyZW0gLyAyKTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjY2NjY2NyUgKyAxLjM2MzYzNjM2MzZyZW0gLyAyKTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDEuMzYzNjM2MzYzNnJlbSAvIDIpO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzMzMzMzMlICsgMS4zNjM2MzYzNjM2cmVtIC8gMik7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjY2NjY2NyUgKyAxLjM2MzYzNjM2MzZyZW0gLyAyKTtcbiAgfVxufVxuLmdyaWQteSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbn1cbi5ncmlkLXkgPiAuY2VsbCB7XG4gIGhlaWdodDogYXV0bztcbiAgbWF4LWhlaWdodDogbm9uZTtcbn1cbi5ncmlkLXkgPiAuYXV0byB7XG4gIGhlaWdodDogYXV0bztcbn1cbi5ncmlkLXkgPiAuc2hyaW5rIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuLmdyaWQteSA+IC5zbWFsbC1zaHJpbmssIC5ncmlkLXkgPiAuc21hbGwtZnVsbCwgLmdyaWQteSA+IC5zbWFsbC0xLCAuZ3JpZC15ID4gLnNtYWxsLTIsIC5ncmlkLXkgPiAuc21hbGwtMywgLmdyaWQteSA+IC5zbWFsbC00LCAuZ3JpZC15ID4gLnNtYWxsLTUsIC5ncmlkLXkgPiAuc21hbGwtNiwgLmdyaWQteSA+IC5zbWFsbC03LCAuZ3JpZC15ID4gLnNtYWxsLTgsIC5ncmlkLXkgPiAuc21hbGwtOSwgLmdyaWQteSA+IC5zbWFsbC0xMCwgLmdyaWQteSA+IC5zbWFsbC0xMSwgLmdyaWQteSA+IC5zbWFsbC0xMiB7XG4gIGZsZXgtYmFzaXM6IGF1dG87XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZ3JpZC15ID4gLm1lZGl1bS1zaHJpbmssIC5ncmlkLXkgPiAubWVkaXVtLWZ1bGwsIC5ncmlkLXkgPiAubWVkaXVtLTEsIC5ncmlkLXkgPiAubWVkaXVtLTIsIC5ncmlkLXkgPiAubWVkaXVtLTMsIC5ncmlkLXkgPiAubWVkaXVtLTQsIC5ncmlkLXkgPiAubWVkaXVtLTUsIC5ncmlkLXkgPiAubWVkaXVtLTYsIC5ncmlkLXkgPiAubWVkaXVtLTcsIC5ncmlkLXkgPiAubWVkaXVtLTgsIC5ncmlkLXkgPiAubWVkaXVtLTksIC5ncmlkLXkgPiAubWVkaXVtLTEwLCAuZ3JpZC15ID4gLm1lZGl1bS0xMSwgLmdyaWQteSA+IC5tZWRpdW0tMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLXkgPiAubGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLmxhcmdlLWZ1bGwsIC5ncmlkLXkgPiAubGFyZ2UtMSwgLmdyaWQteSA+IC5sYXJnZS0yLCAuZ3JpZC15ID4gLmxhcmdlLTMsIC5ncmlkLXkgPiAubGFyZ2UtNCwgLmdyaWQteSA+IC5sYXJnZS01LCAuZ3JpZC15ID4gLmxhcmdlLTYsIC5ncmlkLXkgPiAubGFyZ2UtNywgLmdyaWQteSA+IC5sYXJnZS04LCAuZ3JpZC15ID4gLmxhcmdlLTksIC5ncmlkLXkgPiAubGFyZ2UtMTAsIC5ncmlkLXkgPiAubGFyZ2UtMTEsIC5ncmlkLXkgPiAubGFyZ2UtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gIH1cbn1cbi5ncmlkLXkgPiAuc21hbGwtMTIsIC5ncmlkLXkgPiAuc21hbGwtMTEsIC5ncmlkLXkgPiAuc21hbGwtMTAsIC5ncmlkLXkgPiAuc21hbGwtOSwgLmdyaWQteSA+IC5zbWFsbC04LCAuZ3JpZC15ID4gLnNtYWxsLTcsIC5ncmlkLXkgPiAuc21hbGwtNiwgLmdyaWQteSA+IC5zbWFsbC01LCAuZ3JpZC15ID4gLnNtYWxsLTQsIC5ncmlkLXkgPiAuc21hbGwtMywgLmdyaWQteSA+IC5zbWFsbC0yLCAuZ3JpZC15ID4gLnNtYWxsLTEge1xuICBmbGV4OiAwIDAgYXV0bztcbn1cbi5ncmlkLXkgPiAuc21hbGwtMSB7XG4gIGhlaWdodDogOC4zMzMzMzMzMzMzJTtcbn1cbi5ncmlkLXkgPiAuc21hbGwtMiB7XG4gIGhlaWdodDogMTYuNjY2NjY2NjY2NyU7XG59XG4uZ3JpZC15ID4gLnNtYWxsLTMge1xuICBoZWlnaHQ6IDI1JTtcbn1cbi5ncmlkLXkgPiAuc21hbGwtNCB7XG4gIGhlaWdodDogMzMuMzMzMzMzMzMzMyU7XG59XG4uZ3JpZC15ID4gLnNtYWxsLTUge1xuICBoZWlnaHQ6IDQxLjY2NjY2NjY2NjclO1xufVxuLmdyaWQteSA+IC5zbWFsbC02IHtcbiAgaGVpZ2h0OiA1MCU7XG59XG4uZ3JpZC15ID4gLnNtYWxsLTcge1xuICBoZWlnaHQ6IDU4LjMzMzMzMzMzMzMlO1xufVxuLmdyaWQteSA+IC5zbWFsbC04IHtcbiAgaGVpZ2h0OiA2Ni42NjY2NjY2NjY3JTtcbn1cbi5ncmlkLXkgPiAuc21hbGwtOSB7XG4gIGhlaWdodDogNzUlO1xufVxuLmdyaWQteSA+IC5zbWFsbC0xMCB7XG4gIGhlaWdodDogODMuMzMzMzMzMzMzMyU7XG59XG4uZ3JpZC15ID4gLnNtYWxsLTExIHtcbiAgaGVpZ2h0OiA5MS42NjY2NjY2NjY3JTtcbn1cbi5ncmlkLXkgPiAuc21hbGwtMTIge1xuICBoZWlnaHQ6IDEwMCU7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZ3JpZC15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tMTIsIC5ncmlkLXkgPiAubWVkaXVtLTExLCAuZ3JpZC15ID4gLm1lZGl1bS0xMCwgLmdyaWQteSA+IC5tZWRpdW0tOSwgLmdyaWQteSA+IC5tZWRpdW0tOCwgLmdyaWQteSA+IC5tZWRpdW0tNywgLmdyaWQteSA+IC5tZWRpdW0tNiwgLmdyaWQteSA+IC5tZWRpdW0tNSwgLmdyaWQteSA+IC5tZWRpdW0tNCwgLmdyaWQteSA+IC5tZWRpdW0tMywgLmdyaWQteSA+IC5tZWRpdW0tMiwgLmdyaWQteSA+IC5tZWRpdW0tMSwgLmdyaWQteSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS0xIHtcbiAgICBoZWlnaHQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tMiB7XG4gICAgaGVpZ2h0OiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS0zIHtcbiAgICBoZWlnaHQ6IDI1JTtcbiAgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS00IHtcbiAgICBoZWlnaHQ6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLTUge1xuICAgIGhlaWdodDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tNiB7XG4gICAgaGVpZ2h0OiA1MCU7XG4gIH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tNyB7XG4gICAgaGVpZ2h0OiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS04IHtcbiAgICBoZWlnaHQ6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLTkge1xuICAgIGhlaWdodDogNzUlO1xuICB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLTEwIHtcbiAgICBoZWlnaHQ6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLTExIHtcbiAgICBoZWlnaHQ6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLTEyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLXkgPiAubGFyZ2UtYXV0byB7XG4gICAgZmxleDogMSAxIDA7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtMTIsIC5ncmlkLXkgPiAubGFyZ2UtMTEsIC5ncmlkLXkgPiAubGFyZ2UtMTAsIC5ncmlkLXkgPiAubGFyZ2UtOSwgLmdyaWQteSA+IC5sYXJnZS04LCAuZ3JpZC15ID4gLmxhcmdlLTcsIC5ncmlkLXkgPiAubGFyZ2UtNiwgLmdyaWQteSA+IC5sYXJnZS01LCAuZ3JpZC15ID4gLmxhcmdlLTQsIC5ncmlkLXkgPiAubGFyZ2UtMywgLmdyaWQteSA+IC5sYXJnZS0yLCAuZ3JpZC15ID4gLmxhcmdlLTEsIC5ncmlkLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgfVxuICAuZ3JpZC15ID4gLmxhcmdlLXNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtMSB7XG4gICAgaGVpZ2h0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtMiB7XG4gICAgaGVpZ2h0OiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC15ID4gLmxhcmdlLTMge1xuICAgIGhlaWdodDogMjUlO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtNCB7XG4gICAgaGVpZ2h0OiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC15ID4gLmxhcmdlLTUge1xuICAgIGhlaWdodDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteSA+IC5sYXJnZS02IHtcbiAgICBoZWlnaHQ6IDUwJTtcbiAgfVxuICAuZ3JpZC15ID4gLmxhcmdlLTcge1xuICAgIGhlaWdodDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteSA+IC5sYXJnZS04IHtcbiAgICBoZWlnaHQ6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtOSB7XG4gICAgaGVpZ2h0OiA3NSU7XG4gIH1cbiAgLmdyaWQteSA+IC5sYXJnZS0xMCB7XG4gICAgaGVpZ2h0OiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC15ID4gLmxhcmdlLTExIHtcbiAgICBoZWlnaHQ6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtMTIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG4uZ3JpZC1wYWRkaW5nLXkgLmdyaWQtcGFkZGluZy15IHtcbiAgbWFyZ2luLXRvcDogLTAuNDU0NTQ1NDU0NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTAuNDU0NTQ1NDU0NXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5ncmlkLXBhZGRpbmcteSAuZ3JpZC1wYWRkaW5nLXkge1xuICAgIG1hcmdpbi10b3A6IC0wLjY4MTgxODE4MThyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogLTAuNjgxODE4MTgxOHJlbTtcbiAgfVxufVxuLmdyaWQtcGFkZGluZy15ID4gLmNlbGwge1xuICBwYWRkaW5nLXRvcDogMC40NTQ1NDU0NTQ1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC40NTQ1NDU0NTQ1cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmdyaWQtcGFkZGluZy15ID4gLmNlbGwge1xuICAgIHBhZGRpbmctdG9wOiAwLjY4MTgxODE4MThyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuNjgxODE4MTgxOHJlbTtcbiAgfVxufVxuXG4uZ3JpZC1tYXJnaW4teSB7XG4gIG1hcmdpbi10b3A6IC0wLjQ1NDU0NTQ1NDVyZW07XG4gIG1hcmdpbi1ib3R0b206IC0wLjQ1NDU0NTQ1NDVyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZ3JpZC1tYXJnaW4teSB7XG4gICAgbWFyZ2luLXRvcDogLTAuNjgxODE4MTgxOHJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAtMC42ODE4MTgxODE4cmVtO1xuICB9XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAwLjkwOTA5MDkwOTFyZW0pO1xuICBtYXJnaW4tdG9wOiAwLjQ1NDU0NTQ1NDVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNDU0NTQ1NDU0NXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgICBtYXJnaW4tdG9wOiAwLjY4MTgxODE4MThyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC42ODE4MTgxODE4cmVtO1xuICB9XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gIGhlaWdodDogY2FsYyg4LjMzMzMzMzMzMzMlIC0gMC45MDkwOTA5MDkxcmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAwLjkwOTA5MDkwOTFyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gIGhlaWdodDogY2FsYygyNSUgLSAwLjkwOTA5MDkwOTFyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gIGhlaWdodDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDAuOTA5MDkwOTA5MXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMC45MDkwOTA5MDkxcmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICBoZWlnaHQ6IGNhbGMoNTAlIC0gMC45MDkwOTA5MDkxcmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMzMzMzMyUgLSAwLjkwOTA5MDkwOTFyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gIGhlaWdodDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDAuOTA5MDkwOTA5MXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgaGVpZ2h0OiBjYWxjKDc1JSAtIDAuOTA5MDkwOTA5MXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gIGhlaWdodDogY2FsYyg4My4zMzMzMzMzMzMzJSAtIDAuOTA5MDkwOTA5MXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gIGhlaWdodDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDAuOTA5MDkwOTA5MXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gMC45MDkwOTA5MDkxcmVtKTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMzMzMzMzJSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgIGhlaWdodDogY2FsYyg0MS42NjY2NjY2NjY3JSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzMzMzMzMlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjY2NjY2NyUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMzMzMzMyUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjY2NjY2NyUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLWF1dG8ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzMzMzMzMlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTUge1xuICAgIGhlaWdodDogY2FsYyg0MS42NjY2NjY2NjY3JSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMzMzMzMyUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjY2NjY2NyUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMzMzMzMzJSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjY2NjY2NyUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMzMzMzMyUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjY2NjY2NyUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY2NjY2NjclIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY2NjY2NjclIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG59XG5cbi5ncmlkLWZyYW1lIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIHdpZHRoOiAxMDB2dztcbn1cblxuLmNlbGwgLmdyaWQtZnJhbWUge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmNlbGwtYmxvY2sge1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG59XG5cbi5jZWxsLWJsb2NrLXkge1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xufVxuXG4uY2VsbC1ibG9jay1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xufVxuLmNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgfVxuICAuY2VsbCAubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jayB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xuICB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB3aWR0aDogMTAwdnc7XG4gIH1cbiAgLmNlbGwgLmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG4gIH1cbiAgLmxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgfVxuICAubGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrLXkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbiAgfVxufVxuLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGhlaWdodDogMTAwdmg7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmdyaWQteS5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQteS5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi5jZWxsIC5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gIGhlaWdodDogMTAwJTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5jZWxsIC5ncmlkLXkubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmNlbGwgLmdyaWQteS5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuLmdyaWQtbWFyZ2luLXkge1xuICBtYXJnaW4tdG9wOiAtMC40NTQ1NDU0NTQ1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC40NTQ1NDU0NTQ1cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkge1xuICAgIG1hcmdpbi10b3A6IC0wLjY4MTgxODE4MThyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogLTAuNjgxODE4MTgxOHJlbTtcbiAgfVxufVxuLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gMC45MDkwOTA5MDkxcmVtKTtcbiAgbWFyZ2luLXRvcDogMC40NTQ1NDU0NTQ1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjQ1NDU0NTQ1NDVyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gICAgbWFyZ2luLXRvcDogMC42ODE4MTgxODE4cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjgxODE4MTgxOHJlbTtcbiAgfVxufVxuLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7XG4gIGhlaWdodDogYXV0bztcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gIGhlaWdodDogYXV0bztcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICBoZWlnaHQ6IGNhbGMoOC4zMzMzMzMzMzMzJSAtIDAuOTA5MDkwOTA5MXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMC45MDkwOTA5MDkxcmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICBoZWlnaHQ6IGNhbGMoMjUlIC0gMC45MDkwOTA5MDkxcmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAwLjkwOTA5MDkwOTFyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gIGhlaWdodDogY2FsYyg0MS42NjY2NjY2NjY3JSAtIDAuOTA5MDkwOTA5MXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgaGVpZ2h0OiBjYWxjKDUwJSAtIDAuOTA5MDkwOTA5MXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzMzMzMzMlIC0gMC45MDkwOTA5MDkxcmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjY2NjY2NyUgLSAwLjkwOTA5MDkwOTFyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gIGhlaWdodDogY2FsYyg3NSUgLSAwLjkwOTA5MDkwOTFyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMzMzMzMyUgLSAwLjkwOTA5MDkwOTFyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjY2NjY2NyUgLSAwLjkwOTA5MDkwOTFyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDAuOTA5MDkwOTA5MXJlbSk7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMzMzMzMyUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjY2NjY2NyUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY2NjY2NjclIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY2NjY2NjclIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLXNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMzMzMzMzJSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTMge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjY2NjY2NyUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzMzMzMzMlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY2NjY2NjclIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMzMzMzMyUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY2NjY2NjclIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTIge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLXNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzMzMzMzMlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTMge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMzMzMzMyUgLSAxLjM2MzYzNjM2MzZyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMzMzMzMzJSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTIge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4zNjM2MzYzNjM2cmVtKTtcbiAgfVxufVxuXG4uZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMC45MDkwOTA5MDkxcmVtKTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15LmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuMzYzNjM2MzYzNnJlbSk7XG4gIH1cbn1cbi5yb3cge1xuICBtYXgtd2lkdGg6IDU4LjE4MTgxODE4MThyZW07XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG59XG4ucm93IC5yb3cge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjQ1NDU0NTQ1NDVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC40NTQ1NDU0NTQ1cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnJvdyAucm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjY4MTgxODE4MThyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjY4MTgxODE4MThyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5yb3cgLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC42ODE4MTgxODE4cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC42ODE4MTgxODE4cmVtO1xuICB9XG59XG4ucm93IC5yb3cuY29sbGFwc2Uge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLnJvdy5leHBhbmRlZCB7XG4gIG1heC13aWR0aDogbm9uZTtcbn1cbi5yb3cuZXhwYW5kZWQgLnJvdyB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG4ucm93Om5vdCguZXhwYW5kZWQpIC5yb3cge1xuICBtYXgtd2lkdGg6IG5vbmU7XG59XG4ucm93LmNvbGxhcHNlID4gLmNvbHVtbiwgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuLnJvdy5pcy1jb2xsYXBzZS1jaGlsZCwgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW4gPiAucm93LCAucm93LmNvbGxhcHNlID4gLmNvbHVtbnMgPiAucm93IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLmNvbHVtbiwgLmNvbHVtbnMge1xuICBmbGV4OiAxIDEgMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAwLjQ1NDU0NTQ1NDVyZW07XG4gIHBhZGRpbmctbGVmdDogMC40NTQ1NDU0NTQ1cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmNvbHVtbiwgLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjgxODE4MTgxOHJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjgxODE4MTgxOHJlbTtcbiAgfVxufVxuLmNvbHVtbiwgLmNvbHVtbnMge1xuICBtaW4td2lkdGg6IDA7XG59XG5cbi5jb2x1bW4ucm93LnJvdywgLnJvdy5yb3cuY29sdW1ucyB7XG4gIGZsb2F0OiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnJvdyAuY29sdW1uLnJvdy5yb3csIC5yb3cgLnJvdy5yb3cuY29sdW1ucyB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cblxuLnNtYWxsLTEge1xuICBmbGV4OiAwIDAgOC4zMzMzMzMzMzMzJTtcbiAgbWF4LXdpZHRoOiA4LjMzMzMzMzMzMzMlO1xufVxuXG4uc21hbGwtb2Zmc2V0LTAge1xuICBtYXJnaW4tbGVmdDogMCU7XG59XG5cbi5zbWFsbC0yIHtcbiAgZmxleDogMCAwIDE2LjY2NjY2NjY2NjclO1xuICBtYXgtd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xufVxuXG4uc21hbGwtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogOC4zMzMzMzMzMzMzJTtcbn1cblxuLnNtYWxsLTMge1xuICBmbGV4OiAwIDAgMjUlO1xuICBtYXgtd2lkdGg6IDI1JTtcbn1cblxuLnNtYWxsLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY2NjclO1xufVxuXG4uc21hbGwtNCB7XG4gIGZsZXg6IDAgMCAzMy4zMzMzMzMzMzMzJTtcbiAgbWF4LXdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbn1cblxuLnNtYWxsLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTtcbn1cblxuLnNtYWxsLTUge1xuICBmbGV4OiAwIDAgNDEuNjY2NjY2NjY2NyU7XG4gIG1heC13aWR0aDogNDEuNjY2NjY2NjY2NyU7XG59XG5cbi5zbWFsbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMzMzMzJTtcbn1cblxuLnNtYWxsLTYge1xuICBmbGV4OiAwIDAgNTAlO1xuICBtYXgtd2lkdGg6IDUwJTtcbn1cblxuLnNtYWxsLW9mZnNldC01IHtcbiAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NjY2NjclO1xufVxuXG4uc21hbGwtNyB7XG4gIGZsZXg6IDAgMCA1OC4zMzMzMzMzMzMzJTtcbiAgbWF4LXdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbn1cblxuLnNtYWxsLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTtcbn1cblxuLnNtYWxsLTgge1xuICBmbGV4OiAwIDAgNjYuNjY2NjY2NjY2NyU7XG4gIG1heC13aWR0aDogNjYuNjY2NjY2NjY2NyU7XG59XG5cbi5zbWFsbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMzMzMzMzJTtcbn1cblxuLnNtYWxsLTkge1xuICBmbGV4OiAwIDAgNzUlO1xuICBtYXgtd2lkdGg6IDc1JTtcbn1cblxuLnNtYWxsLW9mZnNldC04IHtcbiAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY2NjclO1xufVxuXG4uc21hbGwtMTAge1xuICBmbGV4OiAwIDAgODMuMzMzMzMzMzMzMyU7XG4gIG1heC13aWR0aDogODMuMzMzMzMzMzMzMyU7XG59XG5cbi5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiA3NSU7XG59XG5cbi5zbWFsbC0xMSB7XG4gIGZsZXg6IDAgMCA5MS42NjY2NjY2NjY3JTtcbiAgbWF4LXdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbn1cblxuLnNtYWxsLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiA4My4zMzMzMzMzMzMzJTtcbn1cblxuLnNtYWxsLTEyIHtcbiAgZmxleDogMCAwIDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLnNtYWxsLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiA5MS42NjY2NjY2NjY3JTtcbn1cblxuLnNtYWxsLXVwLTEge1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG4uc21hbGwtdXAtMSA+IC5jb2x1bW4sIC5zbWFsbC11cC0xID4gLmNvbHVtbnMge1xuICBmbGV4OiAwIDAgMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uc21hbGwtdXAtMiB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbi5zbWFsbC11cC0yID4gLmNvbHVtbiwgLnNtYWxsLXVwLTIgPiAuY29sdW1ucyB7XG4gIGZsZXg6IDAgMCA1MCU7XG4gIG1heC13aWR0aDogNTAlO1xufVxuXG4uc21hbGwtdXAtMyB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbi5zbWFsbC11cC0zID4gLmNvbHVtbiwgLnNtYWxsLXVwLTMgPiAuY29sdW1ucyB7XG4gIGZsZXg6IDAgMCAzMy4zMzMzMzMzMzMzJTtcbiAgbWF4LXdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbn1cblxuLnNtYWxsLXVwLTQge1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG4uc21hbGwtdXAtNCA+IC5jb2x1bW4sIC5zbWFsbC11cC00ID4gLmNvbHVtbnMge1xuICBmbGV4OiAwIDAgMjUlO1xuICBtYXgtd2lkdGg6IDI1JTtcbn1cblxuLnNtYWxsLXVwLTUge1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG4uc21hbGwtdXAtNSA+IC5jb2x1bW4sIC5zbWFsbC11cC01ID4gLmNvbHVtbnMge1xuICBmbGV4OiAwIDAgMjAlO1xuICBtYXgtd2lkdGg6IDIwJTtcbn1cblxuLnNtYWxsLXVwLTYge1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG4uc21hbGwtdXAtNiA+IC5jb2x1bW4sIC5zbWFsbC11cC02ID4gLmNvbHVtbnMge1xuICBmbGV4OiAwIDAgMTYuNjY2NjY2NjY2NyU7XG4gIG1heC13aWR0aDogMTYuNjY2NjY2NjY2NyU7XG59XG5cbi5zbWFsbC11cC03IHtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuLnNtYWxsLXVwLTcgPiAuY29sdW1uLCAuc21hbGwtdXAtNyA+IC5jb2x1bW5zIHtcbiAgZmxleDogMCAwIDE0LjI4NTcxNDI4NTclO1xuICBtYXgtd2lkdGg6IDE0LjI4NTcxNDI4NTclO1xufVxuXG4uc21hbGwtdXAtOCB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbi5zbWFsbC11cC04ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTggPiAuY29sdW1ucyB7XG4gIGZsZXg6IDAgMCAxMi41JTtcbiAgbWF4LXdpZHRoOiAxMi41JTtcbn1cblxuLnNtYWxsLWNvbGxhcHNlID4gLmNvbHVtbiwgLnNtYWxsLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi5zbWFsbC11bmNvbGxhcHNlID4gLmNvbHVtbiwgLnNtYWxsLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNDU0NTQ1NDU0NXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjQ1NDU0NTQ1NDVyZW07XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tZWRpdW0tMSB7XG4gICAgZmxleDogMCAwIDguMzMzMzMzMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTtcbiAgfVxuICAubWVkaXVtLTIge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tMyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS00IHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMzMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlO1xuICB9XG4gIC5tZWRpdW0tNSB7XG4gICAgZmxleDogMCAwIDQxLjY2NjY2NjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tNiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS03IHtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMzMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlO1xuICB9XG4gIC5tZWRpdW0tOCB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY2NjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tOSB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS0xMCB7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzMzMzMzMlO1xuICAgIG1heC13aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTtcbiAgfVxuICAubWVkaXVtLTExIHtcbiAgICBmbGV4OiAwIDAgOTEuNjY2NjY2NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tMTIge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tdXAtMSB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgLm1lZGl1bS11cC0yIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLm1lZGl1bS11cC0yID4gLmNvbHVtbiwgLm1lZGl1bS11cC0yID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG4gIH1cbiAgLm1lZGl1bS11cC0zIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLm1lZGl1bS11cC0zID4gLmNvbHVtbiwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMzMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tdXAtNCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlO1xuICB9XG4gIC5tZWRpdW0tdXAtNSB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMjAlO1xuICAgIG1heC13aWR0aDogMjAlO1xuICB9XG4gIC5tZWRpdW0tdXAtNiB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjY2NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLXVwLTcge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICAubWVkaXVtLXVwLTcgPiAuY29sdW1uLCAubWVkaXVtLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDE0LjI4NTcxNDI4NTclO1xuICAgIG1heC13aWR0aDogMTQuMjg1NzE0Mjg1NyU7XG4gIH1cbiAgLm1lZGl1bS11cC04IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLm1lZGl1bS11cC04ID4gLmNvbHVtbiwgLm1lZGl1bS11cC04ID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAxMi41JTtcbiAgICBtYXgtd2lkdGg6IDEyLjUlO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm1lZGl1bS1leHBhbmQge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gIH1cbn1cbi5yb3cubWVkaXVtLXVuc3RhY2sgPiAuY29sdW1uLCAucm93Lm1lZGl1bS11bnN0YWNrID4gLmNvbHVtbnMge1xuICBmbGV4OiAwIDAgMTAwJTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5yb3cubWVkaXVtLXVuc3RhY2sgPiAuY29sdW1uLCAucm93Lm1lZGl1bS11bnN0YWNrID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gIH1cbiAgLm1lZGl1bS1jb2xsYXBzZSA+IC5jb2x1bW4sIC5tZWRpdW0tY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbiAgLm1lZGl1bS11bmNvbGxhcHNlID4gLmNvbHVtbiwgLm1lZGl1bS11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjgxODE4MTgxOHJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjgxODE4MTgxOHJlbTtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtMSB7XG4gICAgZmxleDogMCAwIDguMzMzMzMzMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlO1xuICB9XG4gIC5sYXJnZS0yIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjY2NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS0zIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS00IHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMzMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7XG4gIH1cbiAgLmxhcmdlLTUge1xuICAgIGZsZXg6IDAgMCA0MS42NjY2NjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS02IHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS03IHtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMzMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7XG4gIH1cbiAgLmxhcmdlLTgge1xuICAgIGZsZXg6IDAgMCA2Ni42NjY2NjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS05IHtcbiAgICBmbGV4OiAwIDAgNzUlO1xuICAgIG1heC13aWR0aDogNzUlO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS0xMCB7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzMzMzMzMlO1xuICAgIG1heC13aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlO1xuICB9XG4gIC5sYXJnZS0xMSB7XG4gICAgZmxleDogMCAwIDkxLjY2NjY2NjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS0xMiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtdXAtMSB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gIC5sYXJnZS11cC0xID4gLmNvbHVtbiwgLmxhcmdlLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIC5sYXJnZS11cC0yIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLmxhcmdlLXVwLTIgPiAuY29sdW1uLCAubGFyZ2UtdXAtMiA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlO1xuICB9XG4gIC5sYXJnZS11cC0zIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLmxhcmdlLXVwLTMgPiAuY29sdW1uLCAubGFyZ2UtdXAtMyA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMzMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtdXAtNCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gIC5sYXJnZS11cC00ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTtcbiAgfVxuICAubGFyZ2UtdXAtNSB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gIC5sYXJnZS11cC01ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDIwJTtcbiAgICBtYXgtd2lkdGg6IDIwJTtcbiAgfVxuICAubGFyZ2UtdXAtNiB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gIC5sYXJnZS11cC02ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTYgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY2NjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLXVwLTcge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICAubGFyZ2UtdXAtNyA+IC5jb2x1bW4sIC5sYXJnZS11cC03ID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAxNC4yODU3MTQyODU3JTtcbiAgICBtYXgtd2lkdGg6IDE0LjI4NTcxNDI4NTclO1xuICB9XG4gIC5sYXJnZS11cC04IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLmxhcmdlLXVwLTggPiAuY29sdW1uLCAubGFyZ2UtdXAtOCA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMTIuNSU7XG4gICAgbWF4LXdpZHRoOiAxMi41JTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1leHBhbmQge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gIH1cbn1cbi5yb3cubGFyZ2UtdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cubGFyZ2UtdW5zdGFjayA+IC5jb2x1bW5zIHtcbiAgZmxleDogMCAwIDEwMCU7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1uLCAucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgfVxuICAubGFyZ2UtY29sbGFwc2UgPiAuY29sdW1uLCAubGFyZ2UtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbiAgLmxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1uLCAubGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjY4MTgxODE4MThyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjY4MTgxODE4MThyZW07XG4gIH1cbn1cblxuLnNocmluayB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5jb2x1bW4tYmxvY2sge1xuICBtYXJnaW4tYm90dG9tOiAwLjkwOTA5MDkwOTFyZW07XG59XG4uY29sdW1uLWJsb2NrID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmNvbHVtbi1ibG9jayB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4zNjM2MzYzNjM2cmVtO1xuICB9XG4gIC5jb2x1bW4tYmxvY2sgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG5bZGF0YS13aGF0aW5wdXQ9bW91c2VdIC5idXR0b24ge1xuICBvdXRsaW5lOiAwO1xufVxuLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBwYWRkaW5nOiAxNnB4IDU2cHg7XG4gIGJvcmRlcjogMCBub25lO1xuICBib3JkZXItcmFkaXVzOiAyNHB4O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uYnV0dG9uLnRpbnkge1xuICBmb250LXNpemU6IDAuNnJlbTtcbn1cbi5idXR0b24uc21hbGwge1xuICBmb250LXNpemU6IDAuNzVyZW07XG59XG4uYnV0dG9uLmxhcmdlIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xufVxuLmJ1dHRvbi5leHBhbmRlZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi5idXR0b24sIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5NzUwO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi5idXR0b246aG92ZXIsIC5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZDAwO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi5idXR0b24ucHJpbWFyeSwgLmJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkLCAuYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdLCAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24ucHJpbWFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24ucHJpbWFyeS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDlmZTM7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmJ1dHRvbi5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLnByaW1hcnk6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCwgMTI3LjIsIDE4MS42KTtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uYnV0dG9uLnNlY29uZGFyeSwgLmJ1dHRvbi5zZWNvbmRhcnkuZGlzYWJsZWQsIC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi5zZWNvbmRhcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5zZWNvbmRhcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3YTk4OTk7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDk1LjQ4OTM2MTcwMjEsIDEyMy41NzQ0NjgwODUxLCAxMjQuNTEwNjM4Mjk3OSk7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmJ1dHRvbi5zdWNjZXNzLCAuYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQsIC5idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF0sIC5idXR0b24uc3VjY2Vzcy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1YWEwMDtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uYnV0dG9uLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uc3VjY2Vzczpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0NDg4MDA7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmJ1dHRvbi53YXJuaW5nLCAuYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQsIC5idXR0b24ud2FybmluZ1tkaXNhYmxlZF0sIC5idXR0b24ud2FybmluZy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi53YXJuaW5nLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmODgwMDtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uYnV0dG9uLndhcm5pbmc6aG92ZXIsIC5idXR0b24ud2FybmluZzpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMDQsIDEwOC44LCAwKTtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uYnV0dG9uLmFsZXJ0LCAuYnV0dG9uLmFsZXJ0LmRpc2FibGVkLCAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXSwgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5hbGVydFtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uYWxlcnQuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uYWxlcnRbZGlzYWJsZWRdOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDAwMDtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uYnV0dG9uLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmFsZXJ0OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjMDAwMDtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uYnV0dG9uLmhvbGxvdywgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5idXR0b24uaG9sbG93OmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uYnV0dG9uLmhvbGxvdywgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMDk3NTA7XG4gIGNvbG9yOiAjMDA5NzUwO1xufVxuLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5idXR0b24uaG9sbG93OmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMCwgNzUuNSwgNDApO1xuICBjb2xvcjogcmdiKDAsIDc1LjUsIDQwKTtcbn1cbi5idXR0b24uaG9sbG93LnByaW1hcnksIC5idXR0b24uaG9sbG93LnByaW1hcnkuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnByaW1hcnlbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeVtkaXNhYmxlZF06Zm9jdXMge1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDA5ZmUzO1xuICBjb2xvcjogIzAwOWZlMztcbn1cbi5idXR0b24uaG9sbG93LnByaW1hcnk6aG92ZXIsIC5idXR0b24uaG9sbG93LnByaW1hcnk6Zm9jdXMge1xuICBib3JkZXItY29sb3I6IHJnYigwLCA3OS41LCAxMTMuNSk7XG4gIGNvbG9yOiByZ2IoMCwgNzkuNSwgMTEzLjUpO1xufVxuLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5LCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnkuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeVtkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LnNlY29uZGFyeS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnlbZGlzYWJsZWRdOmZvY3VzIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzdhOTg5OTtcbiAgY29sb3I6ICM3YTk4OTk7XG59XG4uYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogcmdiKDU5LjY4MDg1MTA2MzgsIDc3LjIzNDA0MjU1MzIsIDc3LjgxOTE0ODkzNjIpO1xuICBjb2xvcjogcmdiKDU5LjY4MDg1MTA2MzgsIDc3LjIzNDA0MjU1MzIsIDc3LjgxOTE0ODkzNjIpO1xufVxuLmJ1dHRvbi5ob2xsb3cuc3VjY2VzcywgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzcy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzc1tkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LnN1Y2Nlc3MuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3NbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzW2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM1NWFhMDA7XG4gIGNvbG9yOiAjNTVhYTAwO1xufVxuLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogcmdiKDQyLjUsIDg1LCAwKTtcbiAgY29sb3I6IHJnYig0Mi41LCA4NSwgMCk7XG59XG4uYnV0dG9uLmhvbGxvdy53YXJuaW5nLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cud2FybmluZy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cud2FybmluZ1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93Lndhcm5pbmcuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uaG9sbG93Lndhcm5pbmdbZGlzYWJsZWRdOmZvY3VzIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmODgwMDtcbiAgY29sb3I6ICNmZjg4MDA7XG59XG4uYnV0dG9uLmhvbGxvdy53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMTI3LjUsIDY4LCAwKTtcbiAgY29sb3I6IHJnYigxMjcuNSwgNjgsIDApO1xufVxuLmJ1dHRvbi5ob2xsb3cuYWxlcnQsIC5idXR0b24uaG9sbG93LmFsZXJ0LmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5hbGVydFtkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LmFsZXJ0LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5hbGVydFtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93LmFsZXJ0LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5hbGVydFtkaXNhYmxlZF06Zm9jdXMge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmYwMDAwO1xuICBjb2xvcjogI2ZmMDAwMDtcbn1cbi5idXR0b24uaG9sbG93LmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogcmdiKDEyNy41LCAwLCAwKTtcbiAgY29sb3I6IHJnYigxMjcuNSwgMCwgMCk7XG59XG4uYnV0dG9uLmNsZWFyLCAuYnV0dG9uLmNsZWFyOmhvdmVyLCAuYnV0dG9uLmNsZWFyOmZvY3VzLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uYnV0dG9uLmNsZWFyLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmZvY3VzIHtcbiAgY29sb3I6ICMwMDk3NTA7XG59XG4uYnV0dG9uLmNsZWFyOmhvdmVyLCAuYnV0dG9uLmNsZWFyOmZvY3VzIHtcbiAgY29sb3I6IHJnYigwLCA3NS41LCA0MCk7XG59XG4uYnV0dG9uLmNsZWFyLnByaW1hcnksIC5idXR0b24uY2xlYXIucHJpbWFyeS5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnByaW1hcnlbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnByaW1hcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXIucHJpbWFyeVtkaXNhYmxlZF06Zm9jdXMge1xuICBjb2xvcjogIzAwOWZlMztcbn1cbi5idXR0b24uY2xlYXIucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzIHtcbiAgY29sb3I6IHJnYigwLCA3OS41LCAxMTMuNSk7XG59XG4uYnV0dG9uLmNsZWFyLnNlY29uZGFyeSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnkuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5W2Rpc2FibGVkXTpmb2N1cyB7XG4gIGNvbG9yOiAjN2E5ODk5O1xufVxuLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzIHtcbiAgY29sb3I6IHJnYig1OS42ODA4NTEwNjM4LCA3Ny4yMzQwNDI1NTMyLCA3Ny44MTkxNDg5MzYyKTtcbn1cbi5idXR0b24uY2xlYXIuc3VjY2VzcywgLmJ1dHRvbi5jbGVhci5zdWNjZXNzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3NbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3MuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2xlYXIuc3VjY2Vzc1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXIuc3VjY2Vzcy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5jbGVhci5zdWNjZXNzW2Rpc2FibGVkXTpmb2N1cyB7XG4gIGNvbG9yOiAjNTVhYTAwO1xufVxuLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMge1xuICBjb2xvcjogcmdiKDQyLjUsIDg1LCAwKTtcbn1cbi5idXR0b24uY2xlYXIud2FybmluZywgLmJ1dHRvbi5jbGVhci53YXJuaW5nLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmdbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLndhcm5pbmcuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2xlYXIud2FybmluZ1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXIud2FybmluZy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5jbGVhci53YXJuaW5nW2Rpc2FibGVkXTpmb2N1cyB7XG4gIGNvbG9yOiAjZmY4ODAwO1xufVxuLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMge1xuICBjb2xvcjogcmdiKDEyNy41LCA2OCwgMCk7XG59XG4uYnV0dG9uLmNsZWFyLmFsZXJ0LCAuYnV0dG9uLmNsZWFyLmFsZXJ0LmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0W2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5hbGVydC5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci5hbGVydFtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXIuYWxlcnQuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXIuYWxlcnRbZGlzYWJsZWRdOmZvY3VzIHtcbiAgY29sb3I6ICNmZjAwMDA7XG59XG4uYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzIHtcbiAgY29sb3I6IHJnYigxMjcuNSwgMCwgMCk7XG59XG4uYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uW2Rpc2FibGVkXSB7XG4gIG9wYWNpdHk6IDAuMjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG4uYnV0dG9uLmRyb3Bkb3duOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDAuNGVtO1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICBib3JkZXItY29sb3I6ICNmZmZmZmYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAwLjRlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi1sZWZ0OiA1NnB4O1xufVxuLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3c6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyOjphZnRlciB7XG4gIGJvcmRlci10b3AtY29sb3I6ICMwMDk3NTA7XG59XG4uYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5wcmltYXJ5OjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci5wcmltYXJ5OjphZnRlciB7XG4gIGJvcmRlci10b3AtY29sb3I6ICMwMDlmZTM7XG59XG4uYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5zZWNvbmRhcnk6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLnNlY29uZGFyeTo6YWZ0ZXIge1xuICBib3JkZXItdG9wLWNvbG9yOiAjN2E5ODk5O1xufVxuLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuc3VjY2Vzczo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIuc3VjY2Vzczo6YWZ0ZXIge1xuICBib3JkZXItdG9wLWNvbG9yOiAjNTVhYTAwO1xufVxuLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cud2FybmluZzo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIud2FybmluZzo6YWZ0ZXIge1xuICBib3JkZXItdG9wLWNvbG9yOiAjZmY4ODAwO1xufVxuLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuYWxlcnQ6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLmFsZXJ0OjphZnRlciB7XG4gIGJvcmRlci10b3AtY29sb3I6ICNmZjAwMDA7XG59XG4uYnV0dG9uLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgdG9wOiAtMC4xZW07XG4gIGZsb2F0OiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuYS5idXR0b246aG92ZXIsIGEuYnV0dG9uOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uYnV0dG9uLWdyb3VwOjpiZWZvcmUsIC5idXR0b24tZ3JvdXA6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBmbGV4LWJhc2lzOiAwO1xuICBvcmRlcjogMTtcbn1cbi5idXR0b24tZ3JvdXA6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG4uYnV0dG9uLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgZmxleC1ncm93OiAxO1xufVxuLmJ1dHRvbi1ncm91cDo6YmVmb3JlLCAuYnV0dG9uLWdyb3VwOjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uYnV0dG9uLWdyb3VwIC5idXR0b24ge1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi1yaWdodDogMXB4O1xuICBtYXJnaW4tYm90dG9tOiAxcHg7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICBmbGV4OiAwIDAgYXV0bztcbn1cbi5idXR0b24tZ3JvdXAgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuLmJ1dHRvbi1ncm91cC50aW55IC5idXR0b24ge1xuICBmb250LXNpemU6IDAuNnJlbTtcbn1cbi5idXR0b24tZ3JvdXAuc21hbGwgLmJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbn1cbi5idXR0b24tZ3JvdXAubGFyZ2UgLmJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbn1cbi5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbiB7XG4gIGZsZXg6IDEgMSAwcHg7XG59XG4uYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDlmZTM7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDAsIDEyNy4yLCAxODEuNik7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3YTk4OTk7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYig5NS40ODkzNjE3MDIxLCAxMjMuNTc0NDY4MDg1MSwgMTI0LjUxMDYzODI5NzkpO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1YWEwMDtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDQ4ODAwO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmODgwMDtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjA0LCAxMDguOCwgMCk7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDAwMDtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYzAwMDA7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMDk3NTA7XG4gIGNvbG9yOiAjMDA5NzUwO1xufVxuLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbjpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogcmdiKDAsIDc1LjUsIDQwKTtcbiAgY29sb3I6IHJnYigwLCA3NS41LCA0MCk7XG59XG4uYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5idXR0b24sIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ucHJpbWFyeSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ucHJpbWFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ucHJpbWFyeS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMDlmZTM7XG4gIGNvbG9yOiAjMDA5ZmUzO1xufVxuLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5wcmltYXJ5OmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMCwgNzkuNSwgMTEzLjUpO1xuICBjb2xvcjogcmdiKDAsIDc5LjUsIDExMy41KTtcbn1cbi5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnNlY29uZGFyeSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zZWNvbmRhcnkuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zZWNvbmRhcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zZWNvbmRhcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM3YTk4OTk7XG4gIGNvbG9yOiAjN2E5ODk5O1xufVxuLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMge1xuICBib3JkZXItY29sb3I6IHJnYig1OS42ODA4NTEwNjM4LCA3Ny4yMzQwNDI1NTMyLCA3Ny44MTkxNDg5MzYyKTtcbiAgY29sb3I6IHJnYig1OS42ODA4NTEwNjM4LCA3Ny4yMzQwNDI1NTMyLCA3Ny44MTkxNDg5MzYyKTtcbn1cbi5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zdWNjZXNzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc3VjY2Vzcy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdOmZvY3VzIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzU1YWEwMDtcbiAgY29sb3I6ICM1NWFhMDA7XG59XG4uYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMge1xuICBib3JkZXItY29sb3I6IHJnYig0Mi41LCA4NSwgMCk7XG4gIGNvbG9yOiByZ2IoNDIuNSwgODUsIDApO1xufVxuLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLndhcm5pbmcsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2FybmluZy5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi53YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2FybmluZ1tkaXNhYmxlZF06Zm9jdXMge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmY4ODAwO1xuICBjb2xvcjogI2ZmODgwMDtcbn1cbi5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLndhcm5pbmc6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2FybmluZzpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogcmdiKDEyNy41LCA2OCwgMCk7XG4gIGNvbG9yOiByZ2IoMTI3LjUsIDY4LCAwKTtcbn1cbi5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC5idXR0b24sIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWxlcnQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWxlcnQuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWxlcnRbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFsZXJ0LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hbGVydFtkaXNhYmxlZF06Zm9jdXMge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmYwMDAwO1xuICBjb2xvcjogI2ZmMDAwMDtcbn1cbi5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWxlcnQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWxlcnQ6Zm9jdXMge1xuICBib3JkZXItY29sb3I6IHJnYigxMjcuNSwgMCwgMCk7XG4gIGNvbG9yOiByZ2IoMTI3LjUsIDAsIDApO1xufVxuLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgY29sb3I6ICMwMDk3NTA7XG59XG4uYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbjpmb2N1cyB7XG4gIGNvbG9yOiByZ2IoMCwgNzUuNSwgNDApO1xufVxuLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5idXR0b24sIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5wcmltYXJ5LCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ucHJpbWFyeS5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ucHJpbWFyeS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ucHJpbWFyeS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdOmZvY3VzIHtcbiAgY29sb3I6ICMwMDlmZTM7XG59XG4uYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ucHJpbWFyeTpmb2N1cyB7XG4gIGNvbG9yOiByZ2IoMCwgNzkuNSwgMTEzLjUpO1xufVxuLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnNlY29uZGFyeSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnNlY29uZGFyeS5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnNlY29uZGFyeVtkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zZWNvbmRhcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXTpmb2N1cyB7XG4gIGNvbG9yOiAjN2E5ODk5O1xufVxuLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnNlY29uZGFyeTpmb2N1cyB7XG4gIGNvbG9yOiByZ2IoNTkuNjgwODUxMDYzOCwgNzcuMjM0MDQyNTUzMiwgNzcuODE5MTQ4OTM2Mik7XG59XG4uYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnN1Y2Nlc3MsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF06Zm9jdXMge1xuICBjb2xvcjogIzU1YWEwMDtcbn1cbi5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zdWNjZXNzOmZvY3VzIHtcbiAgY29sb3I6IHJnYig0Mi41LCA4NSwgMCk7XG59XG4uYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndhcm5pbmcsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53YXJuaW5nLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ud2FybmluZ1tkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ud2FybmluZ1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53YXJuaW5nLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ud2FybmluZ1tkaXNhYmxlZF06Zm9jdXMge1xuICBjb2xvcjogI2ZmODgwMDtcbn1cbi5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndhcm5pbmc6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53YXJuaW5nOmZvY3VzIHtcbiAgY29sb3I6IHJnYigxMjcuNSwgNjgsIDApO1xufVxuLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYWxlcnQsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFsZXJ0LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYWxlcnRbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYWxlcnQuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hbGVydFtkaXNhYmxlZF06Zm9jdXMge1xuICBjb2xvcjogI2ZmMDAwMDtcbn1cbi5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYWxlcnQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hbGVydDpmb2N1cyB7XG4gIGNvbG9yOiByZ2IoMTI3LjUsIDAsIDApO1xufVxuLmJ1dHRvbi1ncm91cC5uby1nYXBzIC5idXR0b24ge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjA0NTQ1NDU0NTVyZW07XG59XG4uYnV0dG9uLWdyb3VwLm5vLWdhcHMgLmJ1dHRvbiArIC5idXR0b24ge1xuICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uYnV0dG9uLWdyb3VwLnN0YWNrZWQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuLmJ1dHRvbi1ncm91cC5zdGFja2VkIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbiB7XG4gIGZsZXg6IDAgMCAxMDAlO1xufVxuLmJ1dHRvbi1ncm91cC5zdGFja2VkIC5idXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b246bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4uYnV0dG9uLWdyb3VwLnN0YWNrZWQuZXhwYW5kZWQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bS5leHBhbmRlZCAuYnV0dG9uIHtcbiAgZmxleDogMSAxIDBweDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3Ljk5ODc1ZW0pIHtcbiAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCAuYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtLmV4cGFuZGVkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bS5leHBhbmRlZCAuYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuW2RhdGEtd2hhdGlucHV0PW1vdXNlXSAuY2xvc2UtYnV0dG9uIHtcbiAgb3V0bGluZTogMDtcbn1cbi5jbG9zZS1idXR0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuICBjb2xvcjogIzRjNGM0ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmNsb3NlLWJ1dHRvbjpob3ZlciwgLmNsb3NlLWJ1dHRvbjpmb2N1cyB7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmNsb3NlLWJ1dHRvbi5zbWFsbCB7XG4gIHJpZ2h0OiAwLjY2cmVtO1xuICB0b3A6IDAuMzNlbTtcbiAgZm9udC1zaXplOiAxLjVlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5jbG9zZS1idXR0b24ubWVkaXVtLCAuY2xvc2UtYnV0dG9uIHtcbiAgcmlnaHQ6IDFyZW07XG4gIHRvcDogMC41cmVtO1xuICBmb250LXNpemU6IDJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBiYWNrZ3JvdW5kOiAjMDAwMDAwO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi5sYWJlbC5wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogIzAwOWZlMztcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4ubGFiZWwuc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZDogIzdhOTg5OTtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4ubGFiZWwuc3VjY2VzcyB7XG4gIGJhY2tncm91bmQ6ICM1NWFhMDA7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmxhYmVsLndhcm5pbmcge1xuICBiYWNrZ3JvdW5kOiAjZmY4ODAwO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5sYWJlbC5hbGVydCB7XG4gIGJhY2tncm91bmQ6ICNmZjAwMDA7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuXG4uYnJlYWRjcnVtYnM6OmJlZm9yZSwgLmJyZWFkY3J1bWJzOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbiAgZmxleC1iYXNpczogMDtcbiAgb3JkZXI6IDE7XG59XG4uYnJlYWRjcnVtYnM6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG4uYnJlYWRjcnVtYnMge1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4uYnJlYWRjcnVtYnMgbGkge1xuICBmbG9hdDogbGVmdDtcbiAgZm9udC1zaXplOiAwLjVyZW07XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4uYnJlYWRjcnVtYnMgbGk6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCAwLjc1cmVtO1xuICBvcGFjaXR5OiAxO1xuICBjb250ZW50OiBcIi9cIjtcbiAgY29sb3I6ICM3YTk4OTk7XG59XG4uYnJlYWRjcnVtYnMgYSB7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmJyZWFkY3J1bWJzIGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbi5icmVhZGNydW1icyAuZGlzYWJsZWQge1xuICBjb2xvcjogIzdhOTg5OTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLmNhbGxvdXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi5jYWxsb3V0ID4gOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi5jYWxsb3V0ID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLmNhbGxvdXQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uY2FsbG91dC5wcmltYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIxMi41NSwgMjQyLjI4MzcwMDQ0MDUsIDI1NSk7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmNhbGxvdXQuc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIzNS4wNSwgMjM5LjU1LCAyMzkuNyk7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmNhbGxvdXQuc3VjY2VzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMjkuNSwgMjU1LCAyMDQpO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5jYWxsb3V0Lndhcm5pbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAyMzcuMTUsIDIxNi43NSk7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmNhbGxvdXQuYWxlcnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAyMTYuNzUsIDIxNi43NSk7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmNhbGxvdXQuc21hbGwge1xuICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC41cmVtO1xufVxuLmNhbGxvdXQubGFyZ2Uge1xuICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgcGFkZGluZy1yaWdodDogM3JlbTtcbiAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gIHBhZGRpbmctbGVmdDogM3JlbTtcbn1cblxuLmRyb3Bkb3duLXBhbmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMzAwcHg7XG4gIHBhZGRpbmc6IDFyZW07XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYm9yZGVyOiAxcHggc29saWQgIzdhOTg5OTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuLmRyb3Bkb3duLXBhbmUuaXMtb3BlbmluZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmRyb3Bkb3duLXBhbmUuaXMtb3BlbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG4uZHJvcGRvd24tcGFuZS50aW55IHtcbiAgd2lkdGg6IDEwMHB4O1xufVxuXG4uZHJvcGRvd24tcGFuZS5zbWFsbCB7XG4gIHdpZHRoOiAyMDBweDtcbn1cblxuLmRyb3Bkb3duLXBhbmUubGFyZ2Uge1xuICB3aWR0aDogNDAwcHg7XG59XG5cbi5wYWdpbmF0aW9uOjpiZWZvcmUsIC5wYWdpbmF0aW9uOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbiAgZmxleC1iYXNpczogMDtcbiAgb3JkZXI6IDE7XG59XG4ucGFnaW5hdGlvbjo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cbi5wYWdpbmF0aW9uIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG4ucGFnaW5hdGlvbiBsaSB7XG4gIG1hcmdpbi1yaWdodDogMC4wNDU0NTQ1NDU1cmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBmb250LXNpemU6IDAuNjM2MzYzNjM2NHJlbTtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5wYWdpbmF0aW9uIGxpOmxhc3QtY2hpbGQsIC5wYWdpbmF0aW9uIGxpOmZpcnN0LWNoaWxkIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnBhZ2luYXRpb24gbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuLnBhZ2luYXRpb24gYSxcbi5wYWdpbmF0aW9uIGJ1dHRvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwLjEzNjM2MzYzNjRyZW0gMC40NTQ1NDU0NTQ1cmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5wYWdpbmF0aW9uIGE6aG92ZXIsXG4ucGFnaW5hdGlvbiBidXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjYzhkNmQ2O1xufVxuLnBhZ2luYXRpb24gLmN1cnJlbnQge1xuICBwYWRkaW5nOiAwLjEzNjM2MzYzNjRyZW0gMC40NTQ1NDU0NTQ1cmVtO1xuICBiYWNrZ3JvdW5kOiAjMDAwMDAwO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuLnBhZ2luYXRpb24gLmRpc2FibGVkIHtcbiAgcGFkZGluZzogMC4xMzYzNjM2MzY0cmVtIDAuNDU0NTQ1NDU0NXJlbTtcbiAgY29sb3I6ICM3YTk4OTk7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG4ucGFnaW5hdGlvbiAuZGlzYWJsZWQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi5wYWdpbmF0aW9uIC5lbGxpcHNpczo6YWZ0ZXIge1xuICBwYWRkaW5nOiAwLjEzNjM2MzYzNjRyZW0gMC40NTQ1NDU0NTQ1cmVtO1xuICBjb250ZW50OiBcIuKAplwiO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cblxuLnBhZ2luYXRpb24tcHJldmlvdXMgYTo6YmVmb3JlLFxuLnBhZ2luYXRpb24tcHJldmlvdXMuZGlzYWJsZWQ6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gIGNvbnRlbnQ6IFwiwqtcIjtcbn1cblxuLnBhZ2luYXRpb24tbmV4dCBhOjphZnRlcixcbi5wYWdpbmF0aW9uLW5leHQuZGlzYWJsZWQ6OmFmdGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICBjb250ZW50OiBcIsK7XCI7XG59XG5cbi5oYXMtdGlwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggIzRjNGM0ZTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY3Vyc29yOiBoZWxwO1xufVxuXG4udG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDEwMCUgKyAwLjY0OTVyZW0pO1xuICB6LWluZGV4OiAxMjAwO1xuICBtYXgtd2lkdGg6IDEwcmVtO1xuICBwYWRkaW5nOiAwLjc1cmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICBmb250LXNpemU6IDgwJTtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4udG9vbHRpcDo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuLnRvb2x0aXAuYm90dG9tOjpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAwLjc1cmVtO1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwMDAwMDA7XG4gIGJvdHRvbTogMTAwJTtcbn1cbi50b29sdGlwLmJvdHRvbS5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuLnRvb2x0aXAudG9wOjpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAwLjc1cmVtO1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICBib3JkZXItY29sb3I6ICMwMDAwMDAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIHRvcDogMTAwJTtcbiAgYm90dG9tOiBhdXRvO1xufVxuLnRvb2x0aXAudG9wLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG4udG9vbHRpcC5sZWZ0OjpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAwLjc1cmVtO1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzAwMDAwMDtcbiAgbGVmdDogMTAwJTtcbn1cbi50b29sdGlwLmxlZnQuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICBib3R0b206IGF1dG87XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG4udG9vbHRpcC5yaWdodDo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMC43NXJlbTtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzAwMDAwMCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgcmlnaHQ6IDEwMCU7XG4gIGxlZnQ6IGF1dG87XG59XG4udG9vbHRpcC5yaWdodC5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gIGJvdHRvbTogYXV0bztcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cbi50b29sdGlwLmFsaWduLXRvcDo6YmVmb3JlIHtcbiAgYm90dG9tOiBhdXRvO1xuICB0b3A6IDEwJTtcbn1cbi50b29sdGlwLmFsaWduLWJvdHRvbTo6YmVmb3JlIHtcbiAgYm90dG9tOiAxMCU7XG4gIHRvcDogYXV0bztcbn1cbi50b29sdGlwLmFsaWduLWxlZnQ6OmJlZm9yZSB7XG4gIGxlZnQ6IDEwJTtcbiAgcmlnaHQ6IGF1dG87XG59XG4udG9vbHRpcC5hbGlnbi1yaWdodDo6YmVmb3JlIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDEwJTtcbn1cblxuLmFjY29yZGlvbiB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG4uYWNjb3JkaW9uW2Rpc2FibGVkXSAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLmFjY29yZGlvbi1pdGVtOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDtcbn1cbi5hY2NvcmRpb24taXRlbTpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwO1xufVxuXG4uYWNjb3JkaW9uLXRpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMS4yNXJlbSAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzhkNmQ2O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBmb250LXNpemU6IDAuNTQ1NDU0NTQ1NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gLmFjY29yZGlvbi10aXRsZSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYzhkNmQ2O1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwO1xufVxuLmFjY29yZGlvbi10aXRsZTpob3ZlciwgLmFjY29yZGlvbi10aXRsZTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjOGQ2ZDY7XG59XG4uYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICByaWdodDogMXJlbTtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgY29udGVudDogXCIrXCI7XG59XG4uaXMtYWN0aXZlID4gLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCLigJNcIjtcbn1cblxuLmFjY29yZGlvbi1jb250ZW50IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2M4ZDZkNjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG46bGFzdC1jaGlsZCA+IC5hY2NvcmRpb24tY29udGVudDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjOGQ2ZDY7XG59XG5cbi5yZXNwb25zaXZlLWVtYmVkLFxuLmZsZXgtdmlkZW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC43MjcyNzI3MjczcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogNzUlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLnJlc3BvbnNpdmUtZW1iZWQgaWZyYW1lLFxuLnJlc3BvbnNpdmUtZW1iZWQgb2JqZWN0LFxuLnJlc3BvbnNpdmUtZW1iZWQgZW1iZWQsXG4ucmVzcG9uc2l2ZS1lbWJlZCB2aWRlbyxcbi5mbGV4LXZpZGVvIGlmcmFtZSxcbi5mbGV4LXZpZGVvIG9iamVjdCxcbi5mbGV4LXZpZGVvIGVtYmVkLFxuLmZsZXgtdmlkZW8gdmlkZW8ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cbi5yZXNwb25zaXZlLWVtYmVkLndpZGVzY3JlZW4sXG4uZmxleC12aWRlby53aWRlc2NyZWVuIHtcbiAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbn1cblxuLnRhYnM6OmJlZm9yZSwgLnRhYnM6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBmbGV4LWJhc2lzOiAwO1xuICBvcmRlcjogMTtcbn1cbi50YWJzOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuLnRhYnMge1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjOGQ2ZDY7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLnRhYnMudmVydGljYWwgPiBsaSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbm9uZTtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi50YWJzLnNpbXBsZSA+IGxpID4gYSB7XG4gIHBhZGRpbmc6IDA7XG59XG4udGFicy5zaW1wbGUgPiBsaSA+IGE6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLnRhYnMucHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6ICMwMDlmZTM7XG59XG4udGFicy5wcmltYXJ5ID4gbGkgPiBhIHtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4udGFicy5wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLCAudGFicy5wcmltYXJ5ID4gbGkgPiBhOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogcmdiKDAsIDE1MS4wNSwgMjE1LjY1KTtcbn1cblxuLnRhYnMtdGl0bGUge1xuICBmbG9hdDogbGVmdDtcbn1cbltkYXRhLXdoYXRpbnB1dD1tb3VzZV0gLnRhYnMtdGl0bGUgPiBhIHtcbiAgb3V0bGluZTogMDtcbn1cbi50YWJzLXRpdGxlID4gYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiAgZm9udC1zaXplOiAwLjU0NTQ1NDU0NTVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi50YWJzLXRpdGxlID4gYTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGNvbG9yOiBibGFjaztcbn1cbi50YWJzLXRpdGxlID4gYTpmb2N1cywgLnRhYnMtdGl0bGUgPiBhW2FyaWEtc2VsZWN0ZWQ9dHJ1ZV0ge1xuICBiYWNrZ3JvdW5kOiAjYzhkNmQ2O1xuICBjb2xvcjogIzAwMDAwMDtcbn1cblxuLnRhYnMtY29udGVudCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjOGQ2ZDY7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xufVxuXG4udGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2M4ZDZkNjtcbiAgYm9yZGVyLWxlZnQ6IDA7XG59XG5cbi50YWJzLXBhbmVsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMXJlbTtcbn1cbi50YWJzLXBhbmVsLmlzLWFjdGl2ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ubWVudSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5bZGF0YS13aGF0aW5wdXQ9bW91c2VdIC5tZW51IGxpIHtcbiAgb3V0bGluZTogMDtcbn1cbi5tZW51IGEsXG4ubWVudSAuYnV0dG9uIHtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xufVxuLm1lbnUgaW5wdXQsXG4ubWVudSBzZWxlY3QsXG4ubWVudSBhLFxuLm1lbnUgYnV0dG9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5tZW51IGlucHV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLm1lbnUsIC5tZW51Lmhvcml6b250YWwge1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG59XG4ubWVudS52ZXJ0aWNhbCB7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuLm1lbnUudmVydGljYWwuaWNvbi10b3AgbGkgYSBpbWcsXG4ubWVudS52ZXJ0aWNhbC5pY29uLXRvcCBsaSBhIGksXG4ubWVudS52ZXJ0aWNhbC5pY29uLXRvcCBsaSBhIHN2ZywgLm1lbnUudmVydGljYWwuaWNvbi1ib3R0b20gbGkgYSBpbWcsXG4ubWVudS52ZXJ0aWNhbC5pY29uLWJvdHRvbSBsaSBhIGksXG4ubWVudS52ZXJ0aWNhbC5pY29uLWJvdHRvbSBsaSBhIHN2ZyB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG4ubWVudS5leHBhbmRlZCBsaSB7XG4gIGZsZXg6IDEgMSAwcHg7XG59XG4ubWVudS5leHBhbmRlZC5pY29uLXRvcCBsaSBhIGltZyxcbi5tZW51LmV4cGFuZGVkLmljb24tdG9wIGxpIGEgaSxcbi5tZW51LmV4cGFuZGVkLmljb24tdG9wIGxpIGEgc3ZnLCAubWVudS5leHBhbmRlZC5pY29uLWJvdHRvbSBsaSBhIGltZyxcbi5tZW51LmV4cGFuZGVkLmljb24tYm90dG9tIGxpIGEgaSxcbi5tZW51LmV4cGFuZGVkLmljb24tYm90dG9tIGxpIGEgc3ZnIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi5tZW51LnNpbXBsZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4ubWVudS5zaW1wbGUgbGkgKyBsaSB7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtO1xufVxuLm1lbnUuc2ltcGxlIGEge1xuICBwYWRkaW5nOiAwO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm1lbnUubWVkaXVtLWhvcml6b250YWwge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG4gIC5tZW51Lm1lZGl1bS12ZXJ0aWNhbCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICAubWVudS5tZWRpdW0tZXhwYW5kZWQgbGkge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gIH1cbiAgLm1lbnUubWVkaXVtLXNpbXBsZSBsaSB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbiAgLm1lbnUubGFyZ2UtdmVydGljYWwge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgLm1lbnUubGFyZ2UtZXhwYW5kZWQgbGkge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gIH1cbiAgLm1lbnUubGFyZ2Utc2ltcGxlIGxpIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICB9XG59XG4ubWVudS5uZXN0ZWQge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtO1xufVxuLm1lbnUuaWNvbnMgYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4ubWVudS5pY29uLXRvcCBhLCAubWVudS5pY29uLXJpZ2h0IGEsIC5tZW51Lmljb24tYm90dG9tIGEsIC5tZW51Lmljb24tbGVmdCBhIHtcbiAgZGlzcGxheTogZmxleDtcbn1cbi5tZW51Lmljb24tbGVmdCBsaSBhLCAubWVudS5uZXN0ZWQuaWNvbi1sZWZ0IGxpIGEge1xuICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG59XG4ubWVudS5pY29uLWxlZnQgbGkgYSBpbWcsXG4ubWVudS5pY29uLWxlZnQgbGkgYSBpLFxuLm1lbnUuaWNvbi1sZWZ0IGxpIGEgc3ZnLCAubWVudS5uZXN0ZWQuaWNvbi1sZWZ0IGxpIGEgaW1nLFxuLm1lbnUubmVzdGVkLmljb24tbGVmdCBsaSBhIGksXG4ubWVudS5uZXN0ZWQuaWNvbi1sZWZ0IGxpIGEgc3ZnIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtO1xufVxuLm1lbnUuaWNvbi1yaWdodCBsaSBhLCAubWVudS5uZXN0ZWQuaWNvbi1yaWdodCBsaSBhIHtcbiAgZmxleC1mbG93OiByb3cgbm93cmFwO1xufVxuLm1lbnUuaWNvbi1yaWdodCBsaSBhIGltZyxcbi5tZW51Lmljb24tcmlnaHQgbGkgYSBpLFxuLm1lbnUuaWNvbi1yaWdodCBsaSBhIHN2ZywgLm1lbnUubmVzdGVkLmljb24tcmlnaHQgbGkgYSBpbWcsXG4ubWVudS5uZXN0ZWQuaWNvbi1yaWdodCBsaSBhIGksXG4ubWVudS5uZXN0ZWQuaWNvbi1yaWdodCBsaSBhIHN2ZyB7XG4gIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xufVxuLm1lbnUuaWNvbi10b3AgbGkgYSwgLm1lbnUubmVzdGVkLmljb24tdG9wIGxpIGEge1xuICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG59XG4ubWVudS5pY29uLXRvcCBsaSBhIGltZyxcbi5tZW51Lmljb24tdG9wIGxpIGEgaSxcbi5tZW51Lmljb24tdG9wIGxpIGEgc3ZnLCAubWVudS5uZXN0ZWQuaWNvbi10b3AgbGkgYSBpbWcsXG4ubWVudS5uZXN0ZWQuaWNvbi10b3AgbGkgYSBpLFxuLm1lbnUubmVzdGVkLmljb24tdG9wIGxpIGEgc3ZnIHtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLm1lbnUuaWNvbi1ib3R0b20gbGkgYSwgLm1lbnUubmVzdGVkLmljb24tYm90dG9tIGxpIGEge1xuICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG59XG4ubWVudS5pY29uLWJvdHRvbSBsaSBhIGltZyxcbi5tZW51Lmljb24tYm90dG9tIGxpIGEgaSxcbi5tZW51Lmljb24tYm90dG9tIGxpIGEgc3ZnLCAubWVudS5uZXN0ZWQuaWNvbi1ib3R0b20gbGkgYSBpbWcsXG4ubWVudS5uZXN0ZWQuaWNvbi1ib3R0b20gbGkgYSBpLFxuLm1lbnUubmVzdGVkLmljb24tYm90dG9tIGxpIGEgc3ZnIHtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLm1lbnUgLmlzLWFjdGl2ZSA+IGEge1xuICBiYWNrZ3JvdW5kOiAjMDA5ZmUzO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5tZW51IC5hY3RpdmUgPiBhIHtcbiAgYmFja2dyb3VuZDogIzAwOWZlMztcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4ubWVudS5hbGlnbi1sZWZ0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuLm1lbnUuYWxpZ24tcmlnaHQgbGkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuLm1lbnUuYWxpZ24tcmlnaHQgbGkgLnN1Ym1lbnUgbGkge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG4ubWVudS5hbGlnbi1yaWdodC52ZXJ0aWNhbCBsaSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbi5tZW51LmFsaWduLXJpZ2h0LnZlcnRpY2FsIGxpIC5zdWJtZW51IGxpIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG4ubWVudS5hbGlnbi1yaWdodC5pY29uLXRvcCBsaSBhIGltZyxcbi5tZW51LmFsaWduLXJpZ2h0Lmljb24tdG9wIGxpIGEgaSxcbi5tZW51LmFsaWduLXJpZ2h0Lmljb24tdG9wIGxpIGEgc3ZnLCAubWVudS5hbGlnbi1yaWdodC5pY29uLWJvdHRvbSBsaSBhIGltZyxcbi5tZW51LmFsaWduLXJpZ2h0Lmljb24tYm90dG9tIGxpIGEgaSxcbi5tZW51LmFsaWduLXJpZ2h0Lmljb24tYm90dG9tIGxpIGEgc3ZnIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG4ubWVudS5hbGlnbi1yaWdodCAubmVzdGVkIHtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi5tZW51LmFsaWduLWNlbnRlciBsaSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuLm1lbnUuYWxpZ24tY2VudGVyIGxpIC5zdWJtZW51IGxpIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuLm1lbnUgLm1lbnUtdGV4dCB7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG4ubWVudS1jZW50ZXJlZCA+IC5tZW51IHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4ubWVudS1jZW50ZXJlZCA+IC5tZW51IGxpIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4ubWVudS1jZW50ZXJlZCA+IC5tZW51IGxpIC5zdWJtZW51IGxpIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG4ubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5hY2NvcmRpb24tbWVudSBsaSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmFjY29yZGlvbi1tZW51IGEge1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcbn1cbi5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgYSB7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xufVxuLmFjY29yZGlvbi1tZW51IC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtO1xufVxuLmFjY29yZGlvbi1tZW51LmFsaWduLXJpZ2h0IC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQ6bm90KC5oYXMtc3VibWVudS10b2dnbGUpID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50Om5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogNnB4O1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICBib3JkZXItY29sb3I6ICMwMDAwMDAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6IC0zcHg7XG4gIHJpZ2h0OiAxcmVtO1xufVxuLmFjY29yZGlvbi1tZW51LmFsaWduLWxlZnQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgcmlnaHQ6IDFyZW07XG4gIGxlZnQ6IGF1dG87XG59XG4uYWNjb3JkaW9uLW1lbnUuYWxpZ24tcmlnaHQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDFyZW07XG59XG4uYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPXRydWVdID4gYTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xufVxuXG4uaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uaGFzLXN1Ym1lbnUtdG9nZ2xlID4gYSB7XG4gIG1hcmdpbi1yaWdodDogNDBweDtcbn1cblxuLnN1Ym1lbnUtdG9nZ2xlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uc3VibWVudS10b2dnbGU6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogNnB4O1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICBib3JkZXItY29sb3I6ICMwMDAwMDAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBtYXJnaW46IGF1dG87XG59XG5cbi5zdWJtZW51LXRvZ2dsZVthcmlhLWV4cGFuZGVkPXRydWVdOjphZnRlciB7XG4gIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbn1cblxuLnN1Ym1lbnUtdG9nZ2xlLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKSAhaW1wb3J0YW50O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xufVxuXG4uaXMtZHJpbGxkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmlzLWRyaWxsZG93biBsaSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmlzLWRyaWxsZG93bi5hbmltYXRlLWhlaWdodCB7XG4gIHRyYW5zaXRpb246IGhlaWdodCAwLjVzO1xufVxuXG4uZHJpbGxkb3duIGEge1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbn1cbi5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7XG4gIHotaW5kZXg6IC0xO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjtcbn1cbi5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51LmlzLWFjdGl2ZSB7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xufVxuLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUuaXMtY2xvc2luZyB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbn1cbi5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51IGEge1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcbn1cbi5kcmlsbGRvd24gLm5lc3RlZC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4uZHJpbGxkb3duIC5kcmlsbGRvd24tc3VibWVudS1jb3Zlci1wcmV2aW91cyB7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG59XG4uZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMDAwMDAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAtNnB4O1xuICByaWdodDogMXJlbTtcbn1cbi5kcmlsbGRvd24uYWxpZ24tbGVmdCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMDAwMDAwO1xuICByaWdodDogMXJlbTtcbiAgbGVmdDogYXV0bztcbn1cbi5kcmlsbGRvd24uYWxpZ24tcmlnaHQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogNnB4O1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMDAwMDAwIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMXJlbTtcbn1cbi5kcmlsbGRvd24gLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogNnB4O1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMDAwMDAwIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbi1yaWdodDogMC43NXJlbTtcbn1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvO1xufVxuLmRyb3Bkb3duLm1lbnUgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMDtcbn1cbi5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG59XG4uZHJvcGRvd24ubWVudSA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIGJvcmRlci1jb2xvcjogIzAwMDAwMCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgcmlnaHQ6IDVweDtcbiAgbGVmdDogYXV0bztcbiAgbWFyZ2luLXRvcDogLTNweDtcbn1cbltkYXRhLXdoYXRpbnB1dD1tb3VzZV0gLmRyb3Bkb3duLm1lbnUgYSB7XG4gIG91dGxpbmU6IDA7XG59XG4uZHJvcGRvd24ubWVudSA+IGxpID4gYSB7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xufVxuLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1hY3RpdmUgPiBhIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjMDA5ZmUzO1xufVxuLm5vLWpzIC5kcm9wZG93bi5tZW51IHVsIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5kcm9wZG93bi5tZW51IC5uZXN0ZWQuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAwO1xufVxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAxMDAlO1xuICBsZWZ0OiBhdXRvO1xufVxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDEwMCU7XG59XG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICByaWdodDogMTRweDtcbn1cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogNnB4O1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMDAwMDAwIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICByaWdodDogYXV0bztcbiAgbGVmdDogNXB4O1xufVxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogNnB4O1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzAwMDAwMDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwO1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogIzAwMDAwMCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogNXB4O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogLTNweDtcbiAgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwO1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTtcbiAgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDtcbiAgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogNnB4O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMDAwMDAwIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDtcbiAgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDZweDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwMDAwMDA7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDtcbiAgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDZweDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDAwMDAwIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDtcbiAgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlO1xuICB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDE0cHg7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogNnB4O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMDAwMDAwIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDtcbiAgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogNnB4O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzAwMDAwMDtcbiAgfVxufVxuLmRyb3Bkb3duLm1lbnUuYWxpZ24tcmlnaHQgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuZmlyc3Qtc3ViIHtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bztcbn1cblxuLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwge1xuICB3aWR0aDogMTAwcHg7XG59XG4uaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbC5hbGlnbi1yaWdodCB7XG4gIGZsb2F0OiByaWdodDtcbn1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IGE6OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDVweDtcbiAgbGVmdDogYXV0bztcbiAgbWFyZ2luLXRvcDogLTZweDtcbn1cbi5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiBhdXRvO1xufVxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHJpZ2h0OiAxMDAlO1xuICBsZWZ0OiBhdXRvO1xufVxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMTAwJTtcbn1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWluLXdpZHRoOiAyMDBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzdhOTg5OTtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbn1cbi5kcm9wZG93biAuaXMtZHJvcGRvd24tc3VibWVudSBhIHtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07XG59XG4uaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIHJpZ2h0OiAxNHB4O1xufVxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDZweDtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzAwMDAwMCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDVweDtcbn1cbi5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogNnB4O1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzAwMDAwMDtcbn1cbi5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgbWFyZ2luLXRvcDogLTFweDtcbn1cbi5pcy1kcm9wZG93bi1zdWJtZW51ID4gbGkge1xuICB3aWR0aDogMTAwJTtcbn1cbi5pcy1kcm9wZG93bi1zdWJtZW51LmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uZmxvYXQtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5cbi5mbG9hdC1yaWdodCB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xufVxuXG4uZmxvYXQtY2VudGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbi5jbGVhcmZpeDo6YmVmb3JlLCAuY2xlYXJmaXg6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBmbGV4LWJhc2lzOiAwO1xuICBvcmRlcjogMTtcbn1cbi5jbGVhcmZpeDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFsaWduLWxlZnQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5cbi5hbGlnbi1yaWdodCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi5hbGlnbi1jZW50ZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmFsaWduLWp1c3RpZnkge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5hbGlnbi1zcGFjZWQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbn1cblxuLmFsaWduLWxlZnQudmVydGljYWwubWVudSA+IGxpID4gYSB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLmFsaWduLXJpZ2h0LnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuXG4uYWxpZ24tY2VudGVyLnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmFsaWduLXRvcCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4uYWxpZ24tc2VsZi10b3Age1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xufVxuXG4uYWxpZ24tYm90dG9tIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xufVxuXG4uYWxpZ24tc2VsZi1ib3R0b20ge1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbn1cblxuLmFsaWduLW1pZGRsZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5hbGlnbi1zZWxmLW1pZGRsZSB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbn1cblxuLmFsaWduLXN0cmV0Y2gge1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbn1cblxuLmFsaWduLXNlbGYtc3RyZXRjaCB7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG59XG5cbi5hbGlnbi1jZW50ZXItbWlkZGxlIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnNtYWxsLW9yZGVyLTEge1xuICBvcmRlcjogMTtcbn1cblxuLnNtYWxsLW9yZGVyLTIge1xuICBvcmRlcjogMjtcbn1cblxuLnNtYWxsLW9yZGVyLTMge1xuICBvcmRlcjogMztcbn1cblxuLnNtYWxsLW9yZGVyLTQge1xuICBvcmRlcjogNDtcbn1cblxuLnNtYWxsLW9yZGVyLTUge1xuICBvcmRlcjogNTtcbn1cblxuLnNtYWxsLW9yZGVyLTYge1xuICBvcmRlcjogNjtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm1lZGl1bS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTtcbiAgfVxuICAubWVkaXVtLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyO1xuICB9XG4gIC5tZWRpdW0tb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7XG4gIH1cbiAgLm1lZGl1bS1vcmRlci00IHtcbiAgICBvcmRlcjogNDtcbiAgfVxuICAubWVkaXVtLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1O1xuICB9XG4gIC5tZWRpdW0tb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTtcbiAgfVxuICAubGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7XG4gIH1cbiAgLmxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzO1xuICB9XG4gIC5sYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDtcbiAgfVxuICAubGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7XG4gIH1cbiAgLmxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2O1xuICB9XG59XG4uZmxleC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uZmxleC1jaGlsZC1hdXRvIHtcbiAgZmxleDogMSAxIGF1dG87XG59XG5cbi5mbGV4LWNoaWxkLWdyb3cge1xuICBmbGV4OiAxIDAgYXV0bztcbn1cblxuLmZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgZmxleDogMCAxIGF1dG87XG59XG5cbi5mbGV4LWRpci1yb3cge1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xufVxuXG4uZmxleC1kaXItcm93LXJldmVyc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG59XG5cbi5mbGV4LWRpci1jb2x1bW4ge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tZWRpdW0tZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuICAubWVkaXVtLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAubWVkaXVtLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gIH1cbiAgLm1lZGl1bS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgLm1lZGl1bS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gIH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuICAubGFyZ2UtZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG4gIC5sYXJnZS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICB9XG4gIC5sYXJnZS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgLmxhcmdlLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gIH1cbn1cbi5oaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4udmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45OTg3NWVtKSB7XG4gIC5oaWRlLWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMGVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5zaG93LWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3Ljk5ODc1ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45OTg3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5zaG93LWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5oaWRlLWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3OS45OTg3NWVtKSB7XG4gIC5oaWRlLWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5zaG93LWZvci1zcixcbi5zaG93LW9uLWZvY3VzIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCkgIWltcG9ydGFudDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcbn1cblxuLnNob3ctb24tZm9jdXM6YWN0aXZlLCAuc2hvdy1vbi1mb2N1czpmb2N1cyB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGNsaXA6IGF1dG8gIWltcG9ydGFudDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50O1xufVxuXG4uc2hvdy1mb3ItbGFuZHNjYXBlLFxuLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uaGlkZS1mb3ItbGFuZHNjYXBlLFxuLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5zaG93LWZvci1kYXJrLW1vZGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uaGlkZS1mb3ItZGFyay1tb2RlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICAuc2hvdy1mb3ItZGFyay1tb2RlIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG4gIC5oaWRlLWZvci1kYXJrLW1vZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLnNob3ctZm9yLWllIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcbiAgLnNob3ctZm9yLWllIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG4gIC5oaWRlLWZvci1pZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4uc2hvdy1mb3Itc3RpY2t5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmlzLXN0dWNrIC5zaG93LWZvci1zdGlja3kge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmlzLXN0dWNrIC5oaWRlLWZvci1zdGlja3kge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uc2xpZGUtaW4tZG93bi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5zbGlkZS1pbi1kb3duLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuXG4uc2xpZGUtaW4tbGVmdC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5zbGlkZS1pbi1sZWZ0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuXG4uc2xpZGUtaW4tdXAubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5zbGlkZS1pbi11cC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cblxuLnNsaWRlLWluLXJpZ2h0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uc2xpZGUtaW4tcmlnaHQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG59XG5cbi5zbGlkZS1vdXQtZG93bi5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnNsaWRlLW91dC1kb3duLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xufVxuXG4uc2xpZGUtb3V0LXJpZ2h0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uc2xpZGUtb3V0LXJpZ2h0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xufVxuXG4uc2xpZGUtb3V0LXVwLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uc2xpZGUtb3V0LXVwLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbn1cblxuLnNsaWRlLW91dC1sZWZ0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uc2xpZGUtb3V0LWxlZnQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xufVxuXG4uZmFkZS1pbi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbn1cblxuLmZhZGUtaW4ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICBvcGFjaXR5OiAxO1xufVxuXG4uZmFkZS1vdXQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG59XG5cbi5mYWRlLW91dC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5oaW5nZS1pbi1mcm9tLXRvcC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5oaW5nZS1pbi1mcm9tLXRvcC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5oaW5nZS1pbi1mcm9tLXJpZ2h0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwO1xufVxuXG4uaGluZ2UtaW4tZnJvbS1yaWdodC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5oaW5nZS1pbi1mcm9tLWJvdHRvbS5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b207XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmhpbmdlLWluLWZyb20tYm90dG9tLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmhpbmdlLWluLWZyb20tbGVmdC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5oaW5nZS1pbi1mcm9tLWxlZnQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxO1xufVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS14Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXkubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwO1xufVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteS5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5oaW5nZS1vdXQtZnJvbS10b3AubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxO1xufVxuXG4uaGluZ2Utb3V0LWZyb20tdG9wLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uaGluZ2Utb3V0LWZyb20tcmlnaHQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5oaW5nZS1vdXQtZnJvbS1yaWdodC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmhpbmdlLW91dC1mcm9tLWJvdHRvbS5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5oaW5nZS1vdXQtZnJvbS1ib3R0b20ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uaGluZ2Utb3V0LWZyb20tbGVmdC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxO1xufVxuXG4uaGluZ2Utb3V0LWZyb20tbGVmdC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uc2NhbGUtaW4tdXAubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwO1xufVxuXG4uc2NhbGUtaW4tdXAubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxO1xufVxuXG4uc2NhbGUtaW4tZG93bi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5zY2FsZS1pbi1kb3duLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnNjYWxlLW91dC11cC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxO1xufVxuXG4uc2NhbGUtb3V0LXVwLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uc2NhbGUtb3V0LWRvd24ubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnNjYWxlLW91dC1kb3duLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uc3Bpbi1pbi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTAuNzV0dXJuKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwO1xufVxuXG4uc3Bpbi1pbi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICBvcGFjaXR5OiAxO1xufVxuXG4uc3Bpbi1vdXQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5zcGluLW91dC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuNzV0dXJuKTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnNwaW4taW4tY2N3Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjc1dHVybik7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnNwaW4taW4tY2N3Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5zcGluLW91dC1jY3cubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5zcGluLW91dC1jY3cubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMC43NXR1cm4pO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uc2xvdyB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1MG1zICFpbXBvcnRhbnQ7XG59XG5cbi5mYXN0IHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXMgIWltcG9ydGFudDtcbn1cblxuLmxpbmVhciB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIgIWltcG9ydGFudDtcbn1cblxuLmVhc2Uge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZSAhaW1wb3J0YW50O1xufVxuXG4uZWFzZS1pbiB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluICFpbXBvcnRhbnQ7XG59XG5cbi5lYXNlLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dCAhaW1wb3J0YW50O1xufVxuXG4uZWFzZS1pbi1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQgIWltcG9ydGFudDtcbn1cblxuLmJvdW5jZS1pbiB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDtcbn1cblxuLmJvdW5jZS1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSAhaW1wb3J0YW50O1xufVxuXG4uYm91bmNlLWluLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDtcbn1cblxuLnNob3J0LWRlbGF5IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMzAwbXMgIWltcG9ydGFudDtcbn1cblxuLmxvbmctZGVsYXkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiA3MDBtcyAhaW1wb3J0YW50O1xufVxuXG4uc2hha2Uge1xuICBhbmltYXRpb24tbmFtZTogc2hha2UtNztcbn1cbkBrZXlmcmFtZXMgc2hha2UtNyB7XG4gIDAlLCAxMCUsIDIwJSwgMzAlLCA0MCUsIDUwJSwgNjAlLCA3MCUsIDgwJSwgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNyUpO1xuICB9XG4gIDUlLCAxNSUsIDI1JSwgMzUlLCA0NSUsIDU1JSwgNjUlLCA3NSUsIDg1JSwgOTUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTclKTtcbiAgfVxufVxuXG4uc3Bpbi1jdyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzcGluLWN3LTF0dXJuO1xufVxuQGtleWZyYW1lcyBzcGluLWN3LTF0dXJuIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xdHVybik7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIH1cbn1cblxuLnNwaW4tY2N3IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNwaW4tY2N3LTF0dXJuO1xufVxuQGtleWZyYW1lcyBzcGluLWNjdy0xdHVybiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMXR1cm4pO1xuICB9XG59XG5cbi53aWdnbGUge1xuICBhbmltYXRpb24tbmFtZTogd2lnZ2xlLTdkZWc7XG59XG5Aa2V5ZnJhbWVzIHdpZ2dsZS03ZGVnIHtcbiAgNDAlLCA1MCUsIDYwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoN2RlZyk7XG4gIH1cbiAgMzUlLCA0NSUsIDU1JSwgNjUlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtN2RlZyk7XG4gIH1cbiAgMCUsIDMwJSwgNzAlLCAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgfVxufVxuXG4uc2hha2UsXG4uc3Bpbi1jdyxcbi5zcGluLWNjdyxcbi53aWdnbGUge1xuICBhbmltYXRpb24tZHVyYXRpb246IDUwMG1zO1xufVxuXG4uaW5maW5pdGUge1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbn1cblxuLnNsb3cge1xuICBhbmltYXRpb24tZHVyYXRpb246IDc1MG1zICFpbXBvcnRhbnQ7XG59XG5cbi5mYXN0IHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAyNTBtcyAhaW1wb3J0YW50O1xufVxuXG4ubGluZWFyIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFpbXBvcnRhbnQ7XG59XG5cbi5lYXNlIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZSAhaW1wb3J0YW50O1xufVxuXG4uZWFzZS1pbiB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4gIWltcG9ydGFudDtcbn1cblxuLmVhc2Utb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQgIWltcG9ydGFudDtcbn1cblxuLmVhc2UtaW4tb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQgIWltcG9ydGFudDtcbn1cblxuLmJvdW5jZS1pbiB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50O1xufVxuXG4uYm91bmNlLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSkgIWltcG9ydGFudDtcbn1cblxuLmJvdW5jZS1pbi1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDtcbn1cblxuLnNob3J0LWRlbGF5IHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAzMDBtcyAhaW1wb3J0YW50O1xufVxuXG4ubG9uZy1kZWxheSB7XG4gIGFuaW1hdGlvbi1kZWxheTogNzAwbXMgIWltcG9ydGFudDtcbn1cblxuQGtleWZyYW1lcyBzY3JvbGxEb3duSW5maW5pdGUge1xuICAwJSB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gIH1cbiAgNTAlIHtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgfVxuICAxMDAlIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxufVxuLypcbiAqIHp1cmJfZm91bmRhdGlvbi5zY3NzIC0gQ29udGFpbnMgYWxsIERydXBhbC1zcGVjaWZpYyBTQVNTIGZvciB0aGlzIHRoZW1lLlxuICpcbiAqIEB0b2RvIFNwbGl0IHRoaXMgaW50byBtdWx0aXBsZSBmb2xkZXJzL2ZpbGVzLlxuKi9cbi5yZWdpb24taGlnaGxpZ2h0ZWQ6ZW1wdHkge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udG9vbGJhci10cmF5IGEge1xuICBmb250LXNpemU6IDEzcHg7XG59XG5cbi50b29sYmFyIC50b29sYmFyLXRvZ2dsZS1vcmllbnRhdGlvbiAudG9vbGJhci1pY29uIHtcbiAgbWFyZ2luOiAwO1xufVxuLnRvb2xiYXIgLnRvb2xiYXItdG9nZ2xlLW9yaWVudGF0aW9uIC50b29sYmFyLWljb246YmVmb3JlIHtcbiAgbWluLWhlaWdodDogMDtcbn1cblxuLnRvcC1iYXItc2VjdGlvbiB1bCBsaSB7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuLnRvcC1iYXItc2VjdGlvbiB1bCBsaSBhLmlzLWFjdGl2ZSB7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuXG4ubm8tanMgLnRvcC1iYXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5uby1qcyAudG9wLWJhciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLm5vLWpzIC50aXRsZS1iYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbmJvZHkudG9vbGJhci1maXhlZCAuc3RpY2t5LmlzLXN0dWNrIC50b3AtYmFyIHtcbiAgbWFyZ2luLXRvcDogMzlweDtcbn1cblxuYm9keS50b29sYmFyLWZpeGVkLnRvb2xiYXItaG9yaXpvbnRhbC50b29sYmFyLXRyYXktb3BlbiAuc3RpY2t5LmlzLXN0dWNrIC50b3AtYmFyIHtcbiAgbWFyZ2luLXRvcDogNzhweDtcbn1cblxuYm9keS50b29sYmFyLWZpeGVkIC5zdGlja3kuaXMtc3R1Y2suaXMtYXQtdG9wIHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xufVxuXG4udG9wLWJhciAubWVudS1pdGVtLS1jb2xsYXBzZWQsXG4udG9wLWJhciAubWVudS1pdGVtLS1leHBhbmRlZCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi50b3AtYmFyIC5zZWFyY2gtYmxvY2stZm9ybSAuZm9ybS1pdGVtLWtleXMsXG4udG9wLWJhciAuc2VhcmNoLWJsb2NrLWZvcm0gLmZvcm0tYWN0aW9ucyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmRyb3BidXR0b24td3JhcHBlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDhjYmE7XG4gIG1hcmdpbjogMCAwIDEuMjVyZW07XG59XG4uZHJvcGJ1dHRvbi13cmFwcGVyIC5idXR0b24ge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmVkMDA7XG4gIGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG59XG5cbi5mb3JtLXJlcXVpcmVkOmFmdGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogNnB4O1xuICBoZWlnaHQ6IDZweDtcbiAgbWFyZ2luOiAwIDAuM2VtO1xuICBjb250ZW50OiBcIlwiO1xuICB2ZXJ0aWNhbC1hbGlnbjogc3VwZXI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvZm91bmRhdGlvbi9taXNjL3JlcXVpcmVkLnN2Zyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogNnB4IDZweDtcbn1cblxuLm5vZGUtcHJldmlldy1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ubm9kZS1wcmV2aWV3LWNvbnRhaW5lciAubm9kZS1wcmV2aWV3LWJhY2tsaW5rIHtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xufVxuLm5vZGUtcHJldmlldy1jb250YWluZXIgc2VsZWN0IHtcbiAgd2lkdGg6IGF1dG87XG59XG5cbiNlZGl0LWNvbW1lbnQtYm9keS13cmFwcGVyIHtcbiAgbWFyZ2luOiAwIDAgMC42MjVyZW07XG59XG5cbiN0b29sYmFyLWFkbWluaXN0cmF0aW9uIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICN0b29sYmFyLWFkbWluaXN0cmF0aW9uIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIGJvZHkudG9vbGJhci10cmF5LW9wZW4udG9vbGJhci12ZXJ0aWNhbC50b29sYmFyLWZpeGVkIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICBib2R5LmFkbWluaW1hbC1hZG1pbi10b29sYmFyIHtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi5qcy1mb3JtLXR5cGUtc2VsZWN0IGxhYmVsIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcImludGVycHVtcFwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2ludGVycHVtcC9pbnRlcnB1bXAuZW90PzI5NTE3OTBcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvaW50ZXJwdW1wL2ludGVycHVtcC5lb3Q/Mjk1MTc5MCNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvaW50ZXJwdW1wL2ludGVycHVtcC53b2ZmMj8yOTUxNzkwXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9pbnRlcnB1bXAvaW50ZXJwdW1wLndvZmY/Mjk1MTc5MFwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9pbnRlcnB1bXAvaW50ZXJwdW1wLnR0Zj8yOTUxNzkwXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9pbnRlcnB1bXAvaW50ZXJwdW1wLnN2Zz8yOTUxNzkwI2ludGVycHVtcFwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbi8qIElCTSBQbGV4IFNhbnMgUmVndWxhciAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIklCTSBQbGV4IFNhbnNcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBzcmM6IGxvY2FsKFwiXCIpLCB1cmwoXCIuLi9mb250cy9JQk1fUGxleF9TYW5zL0lCTVBsZXhTYW5zLVJlZ3VsYXIudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpO1xufVxuLyogSUJNIFBsZXggU2FucyBJdGFsaWMgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJQk0gUGxleCBTYW5zXCI7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiBsb2NhbChcIlwiKSwgdXJsKFwiLi4vZm9udHMvSUJNX1BsZXhfU2Fucy9JQk1QbGV4U2Fucy1JdGFsaWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpO1xufVxuLyogSUJNIFBsZXggU2FucyBNZWRpdW0qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIklCTSBQbGV4IFNhbnNcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBzcmM6IGxvY2FsKFwiXCIpLCB1cmwoXCIuLi9mb250cy9JQk1fUGxleF9TYW5zL0lCTVBsZXhTYW5zLU1lZGl1bS50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG59XG4vKiBJQk0gUGxleCBTYW5zIE1lZGl1bSBJdGFsaWMqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIklCTSBQbGV4IFNhbnNcIjtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNTAwO1xuICBzcmM6IGxvY2FsKFwiXCIpLCB1cmwoXCIuLi9mb250cy9JQk1fUGxleF9TYW5zL0lCTVBsZXhTYW5zLU1lZGl1bUl0YWxpYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG59XG4vKiBJQk0gUGxleCBTYW5zIEJvbGQqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIklCTSBQbGV4IFNhbnNcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBzcmM6IGxvY2FsKFwiXCIpLCB1cmwoXCIuLi9mb250cy9JQk1fUGxleF9TYW5zL0lCTVBsZXhTYW5zLUJvbGQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpO1xufVxuW2NsYXNzXj1pY24tXTpiZWZvcmUsIFtjbGFzcyo9aWNuLV06YmVmb3JlLCAubm9kZS1yb3ctZXZlbnQgLmN1c3RvbS1yaWdodC13cmFwcGVyIC5jYWxlbmRhci1pY29uOmJlZm9yZSwgLm1lZGlhLWdhbGxlcnkgLm1lZGlhLXZpZGVvLWNvbnRlbnQgYS5mYW5jeS1saW5rLXZpZGVvOmJlZm9yZSwgLm1lZGlhLWdhbGxlcnkgLm1lZGlhLWNvbnRlbnQ6bm90KC5tZWRpYS12aWRlby1jb250ZW50KSBhLm1lZGlhLWV4cGFuZDpiZWZvcmUsIC5tZWRpYS1nYWxsZXJ5IC5tZWRpYS1jb250ZW50Om5vdCgubWVkaWEtdmlkZW8tY29udGVudCkgYS5tZWRpYS1kb3dubG9hZDpiZWZvcmUsIC52aWV3cy1lbGVtZW50LWNvbnRhaW5lciB1bC5wYWdlcl9faXRlbXMgbGkucGFnZXJfX2l0ZW0ucGFnZXJfX2l0ZW0tLW5leHQgYTphZnRlciwgLnZpZXdzLWVsZW1lbnQtY29udGFpbmVyIHVsLnBhZ2VyX19pdGVtcyBsaS5wYWdlcl9faXRlbS5wYWdlcl9faXRlbS0tcHJldmlvdXMgYTphZnRlciwgLnBhcmFncmFwaC0tdHlwZS0tc2xpZGVyIC5zd2lwZXItY29udGFpbmVyIC5zd2lwZXItbmV4dDpiZWZvcmUsIC5wYXJhZ3JhcGgtLXR5cGUtLXNsaWRlciAuc3dpcGVyLWNvbnRhaW5lciAuc3dpcGVyLXByZXY6YmVmb3JlLCAuYmxvY2stdHQtdXRpbGl0aWVzLmJsb2NrLXR0LW1hcC1ibG9jayAubGlzdFBhbmVsIGxpOmFmdGVyLCAubW0tbWVudSAubW0tcGFuZWwgLm1tLWJ0bl9wcmV2OmJlZm9yZSwgaGVhZGVyLnBhZ2VIZWFkZXIgYS5zZWFyY2gtbW9kYWwtYnV0dG9uLm9wZW46YmVmb3JlLCBoZWFkZXIucGFnZUhlYWRlciBhLnNlYXJjaC1tb2RhbC1idXR0b246YmVmb3JlLCAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdzpiZWZvcmUsXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLmRyb3Bkb3duLXdyYXBwZXI6YmVmb3JlLCAuY3VzdG9tLXJvdy13cmFwcGVyIC5jYWxlbmRhci1hdHRhY2gtbXVsdGlwbGUtd3JhcCAuY2FsZW5kYXItYXR0YWNobWVudHMtY29udGFpbmVyIC5pdGVtLWNhbGVuZGFyLWF0dGFjaCAuaWNvbi1jYWxlbmRhci1hdHRhY2guYXVkaW8tbXBlZzpiZWZvcmUsIC5jdXN0b20tcm93LXdyYXBwZXIgLmNhbGVuZGFyLWF0dGFjaC1tdWx0aXBsZS13cmFwIC5jYWxlbmRhci1hdHRhY2htZW50cy1jb250YWluZXIgLml0ZW0tY2FsZW5kYXItYXR0YWNoIC5pY29uLWNhbGVuZGFyLWF0dGFjaC5hcHBsaWNhdGlvbi1wZGY6YmVmb3JlLCAuY3VzdG9tLXJvdy13cmFwcGVyIC5jdXN0b20tcm93IC5jdXN0b20taWNvbjpiZWZvcmUsIC5zY3JvbGwtZG93bjphZnRlciwgYS5saW5rLWVtYWlsOmJlZm9yZSwgYS5saW5rLWV4dGVybmFsOmJlZm9yZSwgYS5saW5rLWRvd25sb2FkOmJlZm9yZSwgYS5wZGYtaWNvbjpiZWZvcmUge1xuICBmb250LWZhbWlseTogaW50ZXJwdW1wO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHNwZWFrOiBub25lO1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4uaWNuLW1vcmUtaG9yaXo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MDBcIjtcbn1cblxuLmljbi1taW5pbWl6ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgwMVwiO1xufVxuXG4uaWNuLW1vcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MDJcIjtcbn1cblxuLmljbi10aWNrZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MDNcIjtcbn1cblxuLmljbi10aW1lcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgwNFwiO1xufVxuXG4uaWNuLWV4dGVybmFsLWxpbms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MDVcIjtcbn1cblxuLmljbi1zZWFyY2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MDZcIjtcbn1cblxuLmljbi1leHBhbmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MDdcIjtcbn1cblxuLmljbi1kb3dubG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgwOFwiO1xufVxuXG4uaWNuLWRyb3Bkb3duLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MDlcIjtcbn1cblxuLmljbi1jaGV2cm9uLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODBhXCI7XG59XG5cbi5pY24tY2xvc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MGJcIjtcbn1cblxuLmljbi1jaGV2cm9uLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MGNcIjtcbn1cblxuLmljbi1hcnJvdy1mb3J3YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODBkXCI7XG59XG5cbi5pY24tYXJyb3ctZHJvcGRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MGVcIjtcbn1cblxuLmljbi1hdWRpbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgwZlwiO1xufVxuXG4uaWNuLWFycm93LWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MTBcIjtcbn1cblxuLmljbi1wZGY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MTFcIjtcbn1cblxuLmljbi1hcnJvdy1iYWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODEyXCI7XG59XG5cbi5pY24tYXJyb3ctcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MTNcIjtcbn1cblxuLmljbi1hdHRhY2htZW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODE0XCI7XG59XG5cbi5pY24tcGxheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgxNVwiO1xufVxuXG4uaWNuLW1pbmktYXJyb3ctZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgxNlwiO1xufVxuXG4uaWNuLWNhbGVuZGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODNmXCI7XG59XG5cbmh0bWw6bm90KC5mcm9udHBhZ2UpIHtcbiAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG59XG5cbjpyb290IHtcbiAgLS1zd2lwZXItdGhlbWUtY29sb3I6ICM0NmIzODQ7XG59XG5cbio6Zm9jdXMge1xuICBvdXRsaW5lOiAwIG5vbmU7XG59XG5cbmJvZHkge1xuICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbn1cbmJvZHkubm9zY3JvbGwge1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG5cbi5iZ0NvdmVyLCAuYmdDb3ZlckFicyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG59XG4uYmdDb3ZlcjpiZWZvcmUsIC5iZ0NvdmVyQWJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmJnQ292ZXJBYnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLyogRWxldmF0aW9ucyAqL1xuLmVsZXZhdGlvbi1iYXNlLCAuZWxldmF0aW9uLTI0LCAuZWxldmF0aW9uLTE2LCAuZWxldmF0aW9uLTEyLCAuZWxldmF0aW9uLTA5LCAuZWxldmF0aW9uLTA4LCAuZWxldmF0aW9uLTA2LCAuZWxldmF0aW9uLTA0LCAuZWxldmF0aW9uLTAzLCAuZWxldmF0aW9uLTAyLCAuZWxldmF0aW9uLTAxLCAuZWxldmF0aW9uLTAwIHtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgb3BhY2l0eTogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpO1xufVxuXG4uZWxldmF0aW9uLTAwIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuXG4uZWxldmF0aW9uLTAxIHtcbiAgYm94LXNoYWRvdzogMHB4IDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuXG4uZWxldmF0aW9uLTAyIHtcbiAgYm94LXNoYWRvdzogMHB4IDJweCAzcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuXG4uZWxldmF0aW9uLTAzIHtcbiAgYm94LXNoYWRvdzogMHB4IDNweCA0cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuXG4uZWxldmF0aW9uLTA0IHtcbiAgYm94LXNoYWRvdzogMHB4IDRweCA2cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuXG4uZWxldmF0aW9uLTA2IHtcbiAgYm94LXNoYWRvdzogMHB4IDZweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cblxuLmVsZXZhdGlvbi0wOCB7XG4gIGJveC1zaGFkb3c6IDBweCA4cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMik7XG59XG5cbi5lbGV2YXRpb24tMDkge1xuICBib3gtc2hhZG93OiAwcHggOXB4IDE0cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuXG4uZWxldmF0aW9uLTEyIHtcbiAgYm94LXNoYWRvdzogMHB4IDEycHggMThweCByZ2JhKDAsIDAsIDAsIDAuMik7XG59XG5cbi5lbGV2YXRpb24tMTYge1xuICBib3gtc2hhZG93OiAwcHggMTZweCAyNnB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cblxuLmVsZXZhdGlvbi0yNCB7XG4gIGJveC1zaGFkb3c6IDBweCAyNHB4IDQwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuXG4udW5kZXJsaW5lZC10ZXh0LCAucGFyYWdyYXBoLS10eXBlLS12ZXJ0aWNhbC1jYXJkcyAuY2FyZC13cmFwcGVyIC5jYXJkLWNvbnRlbnQgLmNhcmQtc3VidGl0bGUsIC5jdXN0b20tcm93LXdyYXBwZXIgLmNhbGVuZGFyLWF0dGFjaC1tdWx0aXBsZS13cmFwIC5yZWFkLW1vcmUtY2FsZW5kYXItYXR0YWNoLCBhLmxpbmstbW9yZSwgLnBhcmFncmFwaC0tdHlwZS0tZGlzY292ZXItbW9yZSAuY2FyZC1jb250ZW50IC5jYXJkLWxpbmsgYSwgLnBhcmFncmFwaC0tdHlwZS0tY2FyZHMtMy1jb2x1bW5zIC5jYXJkLWNvbnRlbnQgLmNhcmQtbGluayBhLCAucGFyYWdyYXBoLS10eXBlLS1jYXJkcyAuY2FyZC1jb250ZW50IC5jYXJkLWxpbmsgYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1zaXplOiAwLjU0NTQ1NDU0NTVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxldHRlci1zcGFjaW5nOiAzcHg7XG4gIGxpbmUtaGVpZ2h0OiAycmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG59XG4udW5kZXJsaW5lZC10ZXh0OmFmdGVyLCAucGFyYWdyYXBoLS10eXBlLS12ZXJ0aWNhbC1jYXJkcyAuY2FyZC13cmFwcGVyIC5jYXJkLWNvbnRlbnQgLmNhcmQtc3VidGl0bGU6YWZ0ZXIsIC5jdXN0b20tcm93LXdyYXBwZXIgLmNhbGVuZGFyLWF0dGFjaC1tdWx0aXBsZS13cmFwIC5yZWFkLW1vcmUtY2FsZW5kYXItYXR0YWNoOmFmdGVyLCBhLmxpbmstbW9yZTphZnRlciwgLnBhcmFncmFwaC0tdHlwZS0tZGlzY292ZXItbW9yZSAuY2FyZC1jb250ZW50IC5jYXJkLWxpbmsgYTphZnRlciwgLnBhcmFncmFwaC0tdHlwZS0tY2FyZHMtMy1jb2x1bW5zIC5jYXJkLWNvbnRlbnQgLmNhcmQtbGluayBhOmFmdGVyLCAucGFyYWdyYXBoLS10eXBlLS1jYXJkcyAuY2FyZC1jb250ZW50IC5jYXJkLWxpbmsgYTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLXRvcDogOHB4O1xuICB0b3A6IDE0cHg7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMXB4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTc1MDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XG59XG5cbi8qKiBMaW5rcyAqKi9cbmEge1xuICBjb2xvcjogIzAwOTc1MDtcbn1cbmE6aG92ZXIge1xuICBjb2xvcjogIzAwOTc1MDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5hLmxpbmstZG93bmxvYWQsIGEubGluay1leHRlcm5hbCwgYS5saW5rLWVtYWlsLCBhLmxpbmstaWNvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGxldHRlci1zcGFjaW5nOiAzcHggIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBhZGRpbmc6IDhweCA4cHggOHB4IDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzO1xufVxuYS5saW5rLWRvd25sb2FkOmJlZm9yZSwgYS5saW5rLWV4dGVybmFsOmJlZm9yZSwgYS5saW5rLWVtYWlsOmJlZm9yZSwgYS5saW5rLWljb246YmVmb3JlIHtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gIHBhZGRpbmc6IDEycHggOXB4IDEycHggMTJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTc1MDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzO1xufVxuYS5saW5rLWRvd25sb2FkOmhvdmVyLCBhLmxpbmstZXh0ZXJuYWw6aG92ZXIsIGEubGluay1lbWFpbDpob3ZlciwgYS5saW5rLWljb246aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5hLmxpbmstZG93bmxvYWQ6aG92ZXI6YmVmb3JlLCBhLmxpbmstZXh0ZXJuYWw6aG92ZXI6YmVmb3JlLCBhLmxpbmstZW1haWw6aG92ZXI6YmVmb3JlLCBhLmxpbmstaWNvbjpob3ZlcjpiZWZvcmUge1xuICBjb2xvcjogIzAwMDAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWQwMDtcbn1cbmEubGluay1kb3dubG9hZDpob3ZlcjphZnRlciwgYS5saW5rLWV4dGVybmFsOmhvdmVyOmFmdGVyLCBhLmxpbmstZW1haWw6aG92ZXI6YWZ0ZXIsIGEubGluay1pY29uOmhvdmVyOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWQwMDtcbn1cbmEubGluay1kb3dubG9hZDphZnRlciwgYS5saW5rLWV4dGVybmFsOmFmdGVyLCBhLmxpbmstZW1haWw6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogNDdweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA0N3B4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTc1MDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XG59XG5hLmxpbmstZG93bmxvYWQ6YmVmb3JlLCBhLnBkZi1pY29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODExXCI7XG59XG5hLmxpbmstZXh0ZXJuYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MDVcIjtcbiAgZm9udC1zaXplOiAwLjgxODE4MTgxODJyZW07XG59XG5hLmxpbmstZW1haWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MDVcIjtcbiAgZm9udC1zaXplOiAwLjgxODE4MTgxODJyZW07XG59XG5hLmxpbmstbW9yZSwgLnBhcmFncmFwaC0tdHlwZS0tZGlzY292ZXItbW9yZSAuY2FyZC1jb250ZW50IC5jYXJkLWxpbmsgYSwgLnBhcmFncmFwaC0tdHlwZS0tY2FyZHMtMy1jb2x1bW5zIC5jYXJkLWNvbnRlbnQgLmNhcmQtbGluayBhLCAucGFyYWdyYXBoLS10eXBlLS1jYXJkcyAuY2FyZC1jb250ZW50IC5jYXJkLWxpbmsgYSB7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuYS5saW5rLW1vcmU6aG92ZXIsIC5wYXJhZ3JhcGgtLXR5cGUtLWRpc2NvdmVyLW1vcmUgLmNhcmQtY29udGVudCAuY2FyZC1saW5rIGE6aG92ZXIsIC5wYXJhZ3JhcGgtLXR5cGUtLWNhcmRzLTMtY29sdW1ucyAuY2FyZC1jb250ZW50IC5jYXJkLWxpbmsgYTpob3ZlciwgLnBhcmFncmFwaC0tdHlwZS0tY2FyZHMgLmNhcmQtY29udGVudCAuY2FyZC1saW5rIGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5hLmxpbmstbW9yZTpob3ZlcjphZnRlciwgLnBhcmFncmFwaC0tdHlwZS0tZGlzY292ZXItbW9yZSAuY2FyZC1jb250ZW50IC5jYXJkLWxpbmsgYTpob3ZlcjphZnRlciwgLnBhcmFncmFwaC0tdHlwZS0tY2FyZHMtMy1jb2x1bW5zIC5jYXJkLWNvbnRlbnQgLmNhcmQtbGluayBhOmhvdmVyOmFmdGVyLCAucGFyYWdyYXBoLS10eXBlLS1jYXJkcyAuY2FyZC1jb250ZW50IC5jYXJkLWxpbmsgYTpob3ZlcjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmVkMDA7XG59XG5hLmxpbmstYnV0dG9uLCAucGFyYWdyYXBoLS10eXBlLS12ZXJ0aWNhbC1jYXJkcyAuY2FyZC13cmFwcGVyIC5jYXJkLWNvbnRlbnQgYSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLXJhZGl1czogMjRweDtcbiAgcGFkZGluZzogMTZweCA1NnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5NzUwO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAwLjYzNjM2MzYzNjRyZW07XG4gIGxldHRlci1zcGFjaW5nOiAwcHg7XG4gIGxpbmUtaGVpZ2h0OiAwLjgxODE4MTgxODJyZW07XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzO1xufVxuYS5saW5rLWJ1dHRvbjpob3ZlciwgLnBhcmFncmFwaC0tdHlwZS0tdmVydGljYWwtY2FyZHMgLmNhcmQtd3JhcHBlciAuY2FyZC1jb250ZW50IGE6aG92ZXIge1xuICBjb2xvcjogIzAwMDAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWQwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuYS5saW5rLWljb24ge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5hLmxpbmstaWNvbjpiZWZvcmUge1xuICBtYXJnaW46IDA7XG59XG5cbi8qIFNlcGFyYXRvcnMgKi9cbi5zZXBhcmF0b3IsIC5zZXBhcmF0b3ItYm90dG9tLCAuc2VwYXJhdG9yLWJvdHRvbS1zbWFsbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uc2VwYXJhdG9yLWJvdHRvbTphZnRlciwgLnNlcGFyYXRvci1ib3R0b20tc21hbGw6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBib3R0b206IDA7XG4gIGhlaWdodDogMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5NzUwO1xuICBtYXJnaW4tdG9wOiAxNHB4O1xufVxuXG4uc2VwYXJhdG9yLWJvdHRvbS1zbWFsbDphZnRlciB7XG4gIHdpZHRoOiAzNXB4O1xufVxuXG4udmlkZW8td3JhcHBlciAudmlkZW8tY292ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAxMDBweCk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB6LWluZGV4OiAxO1xufVxuLnZpZGVvLXdyYXBwZXIgLnZpZGVvLWNvdmVyIGltZyB7XG4gIGhlaWdodDogMzUwcHg7XG59XG4udmlkZW8td3JhcHBlciAjdmlkZW8taG9tZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xufVxuLnZpZGVvLXdyYXBwZXIgLnZpZGVvLXRleHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHotaW5kZXg6IDA7XG59XG4udmlkZW8td3JhcHBlciAudmlkZW8tdGV4dCBwIHtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZm9udC1zaXplOiA2OHB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4udmlkZW8td3JhcHBlciAudmlkZW8tdGV4dCA+IHAgPiBkaXYge1xuICB6LWluZGV4OiAwO1xufVxuXG4uc2Nyb2xsLWRvd24ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMTAwcHg7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogNjBweDtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xufVxuLnNjcm9sbC1kb3duOmFmdGVyIHtcbiAgY29udGVudDogXCJcXGU4MTZcIjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgYW5pbWF0aW9uOiBzY3JvbGxEb3duSW5maW5pdGUgMS41cyBpbmZpbml0ZTtcbn1cbi5zY3JvbGwtZG93biBwIHtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtc2l6ZTogMC45MDkwOTA5MDkxcmVtO1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG4uZmllbGQtLW5hbWUtZmllbGQtbXNnLWMtYm9keSB1bCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgLyogUmltdW92ZSBpIGNlcmNoaWV0dGkgcHJlZGVmaW5pdGkgKi9cbiAgcGFkZGluZzogMDsgLyogUmltdW92ZSBpbCBwYWRkaW5nIHByZWRlZmluaXRvIGRlbGwnZWxlbmNvICovXG59XG4uZmllbGQtLW5hbWUtZmllbGQtbXNnLWMtYm9keSB1bCBsaSB7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbiAgbWFyZ2luLWxlZnQ6IDZweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmZpZWxkLS1uYW1lLWZpZWxkLW1zZy1jLWJvZHkgdWwgbGk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQ6ICMwMDk3NTA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDE0cHg7XG4gIGhlaWdodDogMTRweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDlweDtcbiAgbGVmdDogLTI0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDdweDtcbn1cblxuLmJhc2ljLWljb246YmVmb3JlLCAubm9kZS1yb3ctZXZlbnQgLmN1c3RvbS1yaWdodC13cmFwcGVyIC5jYWxlbmRhci1pY29uOmJlZm9yZSwgLmN1c3RvbS1yb3ctd3JhcHBlciAuY3VzdG9tLXJvdyAuY3VzdG9tLWljb246YmVmb3JlIHtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTc1MDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmN1c3RvbS1yb3ctd3JhcHBlciB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBwYWRkaW5nOiAyMHB4IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmN1c3RvbS1yb3ctd3JhcHBlciAuY3VzdG9tLXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5jdXN0b20tcm93LXdyYXBwZXIgLmN1c3RvbS1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxufVxuLmN1c3RvbS1yb3ctd3JhcHBlciAuY3VzdG9tLXJvdyAuY3VzdG9tLXRpdGxlLXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5jdXN0b20tcm93LXdyYXBwZXIgLmN1c3RvbS1yb3cgLmN1c3RvbS10aXRsZS13cmFwcGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG59XG4uY3VzdG9tLXJvdy13cmFwcGVyIC5jdXN0b20tcm93IC5jdXN0b20taWNvbiB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzO1xufVxuLmN1c3RvbS1yb3ctd3JhcHBlciAuY3VzdG9tLXJvdyAuY3VzdG9tLWljb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MTFcIjtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5jdXN0b20tcm93LXdyYXBwZXIgLmN1c3RvbS1yb3cgLmN1c3RvbS1pY29uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG59XG4uY3VzdG9tLXJvdy13cmFwcGVyIC5jdXN0b20tcm93IC5jdXN0b20tdGl0bGUge1xuICBmbGV4LWdyb3c6IDE7XG4gIHBhZGRpbmctbGVmdDogMTBweDtcbn1cbi5jdXN0b20tcm93LXdyYXBwZXIgLmN1c3RvbS1yb3cgLmN1c3RvbS10aXRsZSBzcGFuLCAuY3VzdG9tLXJvdy13cmFwcGVyIC5jdXN0b20tcm93IC5jdXN0b20tdGl0bGUgLmZpZWxkLS1ub2RlLWZpZWxkLXN1YnRpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5jdXN0b20tcm93LXdyYXBwZXIgLmN1c3RvbS1yb3cgLmN1c3RvbS10aXRsZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIH1cbn1cbi5jdXN0b20tcm93LXdyYXBwZXIgLmN1c3RvbS1yb3cgLmN1c3RvbS1kYXRlIHtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmN1c3RvbS1yb3ctd3JhcHBlciAuY3VzdG9tLXJvdyAuY3VzdG9tLWRhdGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbi5jdXN0b20tcm93LXdyYXBwZXIgLmNhbGVuZGFyLWF0dGFjaC1tdWx0aXBsZS13cmFwIHtcbiAgZmxleDogMSAxIDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmN1c3RvbS1yb3ctd3JhcHBlciAuY2FsZW5kYXItYXR0YWNoLW11bHRpcGxlLXdyYXAgLnJlYWQtbW9yZS1jYWxlbmRhci1hdHRhY2gge1xuICBtYXJnaW46IDEwcHggMCAwIDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5jdXN0b20tcm93LXdyYXBwZXIgLmNhbGVuZGFyLWF0dGFjaC1tdWx0aXBsZS13cmFwIC5yZWFkLW1vcmUtY2FsZW5kYXItYXR0YWNoOmFmdGVyIHtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IDA7XG59XG4uY3VzdG9tLXJvdy13cmFwcGVyIC5jYWxlbmRhci1hdHRhY2gtbXVsdGlwbGUtd3JhcCAuY2FsZW5kYXItYXR0YWNobWVudHMtY29udGFpbmVyIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG59XG4uY3VzdG9tLXJvdy13cmFwcGVyIC5jYWxlbmRhci1hdHRhY2gtbXVsdGlwbGUtd3JhcCAuY2FsZW5kYXItYXR0YWNobWVudHMtY29udGFpbmVyIC5pdGVtLWNhbGVuZGFyLWF0dGFjaCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxMHB4IDA7XG4gIGNvbG9yOiBibGFjaztcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNEMUQyRDQ7XG59XG4uY3VzdG9tLXJvdy13cmFwcGVyIC5jYWxlbmRhci1hdHRhY2gtbXVsdGlwbGUtd3JhcCAuY2FsZW5kYXItYXR0YWNobWVudHMtY29udGFpbmVyIC5pdGVtLWNhbGVuZGFyLWF0dGFjaDpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICMwMDk3NTA7XG59XG4uY3VzdG9tLXJvdy13cmFwcGVyIC5jYWxlbmRhci1hdHRhY2gtbXVsdGlwbGUtd3JhcCAuY2FsZW5kYXItYXR0YWNobWVudHMtY29udGFpbmVyIC5pdGVtLWNhbGVuZGFyLWF0dGFjaCA+ICoge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogMCAxNXB4IDAgMDtcbn1cbi5jdXN0b20tcm93LXdyYXBwZXIgLmNhbGVuZGFyLWF0dGFjaC1tdWx0aXBsZS13cmFwIC5jYWxlbmRhci1hdHRhY2htZW50cy1jb250YWluZXIgLml0ZW0tY2FsZW5kYXItYXR0YWNoID4gKjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luOiAwO1xufVxuLmN1c3RvbS1yb3ctd3JhcHBlciAuY2FsZW5kYXItYXR0YWNoLW11bHRpcGxlLXdyYXAgLmNhbGVuZGFyLWF0dGFjaG1lbnRzLWNvbnRhaW5lciAuaXRlbS1jYWxlbmRhci1hdHRhY2ggLnRpdGxlLWNhbGVuZGFyLWF0dGFjaCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxNjVweCk7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcbn1cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gIC5jdXN0b20tcm93LXdyYXBwZXIgLmNhbGVuZGFyLWF0dGFjaC1tdWx0aXBsZS13cmFwIC5jYWxlbmRhci1hdHRhY2htZW50cy1jb250YWluZXIgLml0ZW0tY2FsZW5kYXItYXR0YWNoIC50aXRsZS1jYWxlbmRhci1hdHRhY2gge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA1NXB4KTtcbiAgfVxufVxuLmN1c3RvbS1yb3ctd3JhcHBlciAuY2FsZW5kYXItYXR0YWNoLW11bHRpcGxlLXdyYXAgLmNhbGVuZGFyLWF0dGFjaG1lbnRzLWNvbnRhaW5lciAuaXRlbS1jYWxlbmRhci1hdHRhY2ggLnNpemUtY2FsZW5kYXItYXR0YWNoIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgd2lkdGg6IDkwcHg7XG59XG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgLmN1c3RvbS1yb3ctd3JhcHBlciAuY2FsZW5kYXItYXR0YWNoLW11bHRpcGxlLXdyYXAgLmNhbGVuZGFyLWF0dGFjaG1lbnRzLWNvbnRhaW5lciAuaXRlbS1jYWxlbmRhci1hdHRhY2ggLnNpemUtY2FsZW5kYXItYXR0YWNoIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gIH1cbn1cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gIC5jdXN0b20tcm93LXdyYXBwZXIgLmNhbGVuZGFyLWF0dGFjaC1tdWx0aXBsZS13cmFwIC5jYWxlbmRhci1hdHRhY2htZW50cy1jb250YWluZXIgLml0ZW0tY2FsZW5kYXItYXR0YWNoIC5zaXplLWNhbGVuZGFyLWF0dGFjaCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLmN1c3RvbS1yb3ctd3JhcHBlciAuY2FsZW5kYXItYXR0YWNoLW11bHRpcGxlLXdyYXAgLmNhbGVuZGFyLWF0dGFjaG1lbnRzLWNvbnRhaW5lciAuaXRlbS1jYWxlbmRhci1hdHRhY2ggLmljb24tY2FsZW5kYXItYXR0YWNoIHtcbiAgd2lkdGg6IDMwcHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLmN1c3RvbS1yb3ctd3JhcHBlciAuY2FsZW5kYXItYXR0YWNoLW11bHRpcGxlLXdyYXAgLmNhbGVuZGFyLWF0dGFjaG1lbnRzLWNvbnRhaW5lciAuaXRlbS1jYWxlbmRhci1hdHRhY2ggLmljb24tY2FsZW5kYXItYXR0YWNoOmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogMzBweDtcbn1cbi5jdXN0b20tcm93LXdyYXBwZXIgLmNhbGVuZGFyLWF0dGFjaC1tdWx0aXBsZS13cmFwIC5jYWxlbmRhci1hdHRhY2htZW50cy1jb250YWluZXIgLml0ZW0tY2FsZW5kYXItYXR0YWNoIC5pY29uLWNhbGVuZGFyLWF0dGFjaC5hcHBsaWNhdGlvbi1wZGY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MTFcIjtcbn1cbi5jdXN0b20tcm93LXdyYXBwZXIgLmNhbGVuZGFyLWF0dGFjaC1tdWx0aXBsZS13cmFwIC5jYWxlbmRhci1hdHRhY2htZW50cy1jb250YWluZXIgLml0ZW0tY2FsZW5kYXItYXR0YWNoIC5pY29uLWNhbGVuZGFyLWF0dGFjaC5hdWRpby1tcGVnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODBmXCI7XG59XG4uY3VzdG9tLXJvdy13cmFwcGVyLmF1ZGlvIC5jdXN0b20tcm93IC5jdXN0b20taWNvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgwZlwiO1xufVxuLmN1c3RvbS1yb3ctd3JhcHBlcjpob3ZlciB7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmN1c3RvbS1yb3ctd3JhcHBlcjpob3ZlciAuY3VzdG9tLWljb246YmVmb3JlIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmVkMDA7XG59XG4uY3VzdG9tLXJvdy13cmFwcGVyOmhvdmVyIC5jdXN0b20tdGl0bGUge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLmN1c3RvbS1yb3ctd3JhcHBlci5tdWx0aXBsZS1hdHRhY2htZW50cyAuY3VzdG9tLXJvdyB7XG4gIHBhZGRpbmc6IDIwcHggMCAzMHB4IDA7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuLmN1c3RvbS1yb3ctd3JhcHBlci5tdWx0aXBsZS1hdHRhY2htZW50cyAuY3VzdG9tLXJvdyAuY3VzdG9tLXJpZ2h0LXdyYXBwZXIgLmNhbGVuZGFyLWljb24ge1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59XG5cbmZvcm1bZGF0YS1iZWYtYXV0by1zdWJtaXRdIGlucHV0W3R5cGU9c3VibWl0XSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLm1vZGFsLW1pbmljYXJkLmZhbmN5Ym94LWNvbnRlbnQge1xuICBwYWRkaW5nOiA2NHB4O1xufVxuLm1vZGFsLW1pbmljYXJkLmZhbmN5Ym94LWNvbnRlbnQgLmZhbmN5Ym94LWJ1dHRvbiB7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5NzUwO1xufVxuLm1vZGFsLW1pbmljYXJkLmZhbmN5Ym94LWNvbnRlbnQgLm1vZGFsLWxpbmsge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogNDBweDtcbiAgcGFkZGluZy10b3A6IDQwcHg7XG59XG4ubW9kYWwtbWluaWNhcmQuZmFuY3lib3gtY29udGVudCAubW9kYWwtbGluayAubWVkaWEtbGluayB7XG4gIG1pbi13aWR0aDogZml0LWNvbnRlbnQ7XG59XG5cbi50ZXh0LXRvLWljb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwO1xuICB3aWR0aDogMjVweDtcbiAgaGVpZ2h0OiAyNXB4O1xuICBtYXJnaW46IGF1dG87XG59XG4udGV4dC10by1pY29uLmNoZWNrIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9jaGVjay5wbmcpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cbi50ZXh0LWNoZWNrLWljb24ge1xuICBjb2xvcjogIzAwOTc1MDtcbiAgZm9udC1zaXplOiAwLjYzNjM2MzYzNjRyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi50YWJzIHtcbiAgYm9yZGVyOiBub25lO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbn1cbi50YWJzIC50YWJzLXRpdGxlIHtcbiAgbWFyZ2luOiAwO1xuICBmbG9hdDogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNmZmZmZmY7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzO1xufVxuLnRhYnMgLnRhYnMtdGl0bGUgYSB7XG4gIGZvbnQtc2l6ZTogMC44MTgxODE4MTgycmVtO1xuICBwYWRkaW5nOiAxNXB4IDEwcHg7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG59XG4udGFicyAudGFicy10aXRsZSBhW2FyaWEtc2VsZWN0ZWQ9dHJ1ZV0ge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xufVxuLnRhYnMgLnRhYnMtdGl0bGUgYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi50YWJzIC50YWJzLXRpdGxlLmlzLWFjdGl2ZSwgLnRhYnMgLnRhYnMtdGl0bGU6aG92ZXIge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzAwMDAwMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi50YWJzLXBhbmVsIHtcbiAgcGFkZGluZzogMDtcbn1cblxuLnRhYnMtY29udGVudCB7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxuLnNjcm9sbGVyLXRhYmxlIHtcbiAgb3ZlcmZsb3cteDogYXV0bztcbn1cblxuaWZyYW1lIHtcbiAgd2lkdGg6IDFweDtcbiAgbWluLXdpZHRoOiAxMDAlO1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4uaC14eGwsIC5ibG9jay10dC11dGlsaXRpZXMuYmxvY2staGVhZGVyLWJhbm5lci1ibG9jayBoMS5wYWdlVGl0bGUsXG4uaC14bCxcbi5oLWwsXG4ucGFyYWdyYXBoLS10eXBlLS12ZXJ0aWNhbC1jYXJkcyAuY2FyZC13cmFwcGVyIC5jYXJkLWNvbnRlbnQgLmNhcmQtdGl0bGUsXG4uaC1tLFxuLmJsb2NrLXVuc3Vic2NyaWJlLWJsb2NrIC5ibG9jay10aXRsZSxcbi5ibG9jay1zdWJzY3JpYmUtYmxvY2sgLmJsb2NrLXRpdGxlLFxuLmgtcyxcbi5ibG9jay10dC11dGlsaXRpZXMuYmxvY2staGVhZGVyLWJhbm5lci1ibG9jayBoMy5wYWdlU3VidGl0bGUsXG4uaC14cyxcbi52aWV3LXNlYXJjaC5zZWFyY2gtcGFnZSAudmlld3Mtcm93IGgyLm5vZGUtdGl0bGUge1xuICBmb250LXdlaWdodDogNTAwO1xuICBvcGFjaXR5OiAxO1xuICBsZXR0ZXItc3BhY2luZzogMHB4O1xufVxuXG4uYm9keS1sLCAucHJlc3MtcmVsZWFzZXMucHJlc3MtcmVsZWFzZXMtbGF0ZXN0IC5wcmVzcy1yZWxlYXNlLXRpdGxlLCAucGFyYWdyYXBoLS10eXBlLS1xdW90ZSAucXVvdGUtY29udGVudCAudGV4dC1hbGlnbi1jZW50ZXIsXG4uYm9keS1tLFxuLnZpZXctc2VhcmNoLnNlYXJjaC1wYWdlIC52aWV3cy1yb3cgLmZpZWxkLS1zZWFyY2gtYXBpLWV4Y2VycHQsXG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gaW5wdXRbdHlwZT10ZXh0XSxcbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSBpbnB1dFt0eXBlPWVtYWlsXSxcbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSBpbnB1dFt0eXBlPWRhdGVdLFxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIGlucHV0W3R5cGU9bnVtYmVyXSxcbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSBpbnB1dFt0eXBlPXBhc3N3b3JkXSxcbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSBpbnB1dFt0eXBlPXRlbF0sXG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gdGV4dGFyZWEsXG5mb3JtLnVzZXItbG9naW4tZm9ybSBpbnB1dFt0eXBlPXRleHRdLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gaW5wdXRbdHlwZT1lbWFpbF0sXG5mb3JtLnVzZXItbG9naW4tZm9ybSBpbnB1dFt0eXBlPWRhdGVdLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gaW5wdXRbdHlwZT1udW1iZXJdLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gaW5wdXRbdHlwZT1wYXNzd29yZF0sXG5mb3JtLnVzZXItbG9naW4tZm9ybSBpbnB1dFt0eXBlPXRlbF0sXG5mb3JtLnVzZXItbG9naW4tZm9ybSB0ZXh0YXJlYSxcbi5zdWJzY3JpYmUtZm9ybSBpbnB1dFt0eXBlPXRleHRdLFxuLnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9ZW1haWxdLFxuLnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9ZGF0ZV0sXG4uc3Vic2NyaWJlLWZvcm0gaW5wdXRbdHlwZT1udW1iZXJdLFxuLnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9cGFzc3dvcmRdLFxuLnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9dGVsXSxcbi5zdWJzY3JpYmUtZm9ybSB0ZXh0YXJlYSxcbi51bnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9dGV4dF0sXG4udW5zdWJzY3JpYmUtZm9ybSBpbnB1dFt0eXBlPWVtYWlsXSxcbi51bnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9ZGF0ZV0sXG4udW5zdWJzY3JpYmUtZm9ybSBpbnB1dFt0eXBlPW51bWJlcl0sXG4udW5zdWJzY3JpYmUtZm9ybSBpbnB1dFt0eXBlPXBhc3N3b3JkXSxcbi51bnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9dGVsXSxcbi51bnN1YnNjcmliZS1mb3JtIHRleHRhcmVhLFxuLmN1c3RvbS1yb3ctd3JhcHBlciAuY3VzdG9tLXJvdyAuY3VzdG9tLXRpdGxlLFxuLmN1c3RvbS1yb3ctd3JhcHBlciAuY3VzdG9tLXJvdyAuY3VzdG9tLWRhdGUsXG4uY3VzdG9tLXJvdy13cmFwcGVyIC5jYWxlbmRhci1hdHRhY2gtbXVsdGlwbGUtd3JhcCAuY2FsZW5kYXItYXR0YWNobWVudHMtY29udGFpbmVyIC5pdGVtLWNhbGVuZGFyLWF0dGFjaCAudGl0bGUtY2FsZW5kYXItYXR0YWNoLFxuLmJvZHktcyxcbi5wcmVzcy1yZWxlYXNlcy5wcmVzcy1yZWxlYXNlcy1sYXRlc3QgLnByZXNzLXJlbGVhc2UtZGF0ZSB0aW1lLFxuLnZpZXdzLWVsZW1lbnQtY29udGFpbmVyIHVsLnBhZ2VyX19pdGVtcyBsaS5wYWdlcl9faXRlbSBhLFxuLnBhcmFncmFwaC0tdHlwZS0tcXVvdGUgLnF1b3RlLWNvbnRlbnQgLnF1b3RlLWZvb3Rlcixcbi5ib2R5LXhzLFxuLnBhZ2VNZXRhSGVhZGVyLFxuYS5saW5rLWRvd25sb2FkLFxuYS5saW5rLWV4dGVybmFsLFxuYS5saW5rLWVtYWlsLFxuYS5saW5rLWljb24ge1xuICBvcGFjaXR5OiAxO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsZXR0ZXItc3BhY2luZzogMHB4O1xufVxuXG4vKipcbiAqIFNwZXJpbWVudGFsZVxuICogU2kgcG9zc29ubyBzZXBjaWZpY2FyZSBpIHRhZyBoWCBlIHAgbyB1bmEgY2xhc3NlIGN1c3RvbS5cbiAqL1xuLmZvbnQtd2hpdGUsIGZvb3Rlci5wYWdlRm9vdGVyIHAsXG5mb290ZXIucGFnZUZvb3RlciBhIHtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi5mb250LWdyZWVuIHtcbiAgY29sb3I6ICMwMDk3NTA7XG59XG5cbiNtYWluLmNvbHVtbnMgYSxcbiNtYWluLmNvbHVtbnMgYnV0dG9uIHtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbn1cblxuLmJsb2NrLXN5c3RlbS1tYWluLWJsb2NrIGEjbWFpbi1jb250ZW50IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5ibG9jay1zeXN0ZW0tbWFpbi1ibG9jayAudGFibGUtc2Nyb2xsZXIge1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuLmJsb2NrLXN5c3RlbS1tYWluLWJsb2NrIHRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcbn1cbi5ibG9jay1zeXN0ZW0tbWFpbi1ibG9jayB0YWJsZSB0aGVhZCB0ciB0aCB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjOGQ2ZDY7XG4gIGZvbnQtc2l6ZTogMC42MzYzNjM2MzY0cmVtO1xuICBwYWRkaW5nOiAxMHB4IDA7XG59XG4uYmxvY2stc3lzdGVtLW1haW4tYmxvY2sgdGFibGUgdGJvZHkgdHIgdGQge1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYzhkNmQ2O1xuICBwYWRkaW5nOiAxMHB4IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5ibG9jay1zeXN0ZW0tbWFpbi1ibG9jayB0YWJsZSB0Ym9keSB0ciB0ZDpmaXJzdC1jaGlsZCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG4uYmxvY2stc3lzdGVtLW1haW4tYmxvY2sgdGFibGUgdGJvZHkgdHIgdGQgcCB7XG4gIG1hcmdpbjogMDtcbn1cblxuLmJsb2NrLXN5c3RlbS1tYWluLWJsb2NrIC5maWVsZC10eXBlLXRleHQtd2l0aC1zdW1tYXJ5IHVsOm5vdCgubm9zdHlsZSk6bm90KC5jb250ZXh0dWFsLWxpbmtzKSxcbi5ibG9jay1zeXN0ZW0tbWFpbi1ibG9jayAuZmllbGQtdHlwZS10ZXh0LXdpdGgtc3VtbWFyeSBvbDpub3QoLmNvbnRleHR1YWwtbGlua3MpLFxuLmJsb2NrLXN5c3RlbS1tYWluLWJsb2NrIC5maWVsZC10eXBlLXRleHQtbG9uZyB1bDpub3QoLm5vc3R5bGUpOm5vdCguY29udGV4dHVhbC1saW5rcyksXG4uYmxvY2stc3lzdGVtLW1haW4tYmxvY2sgLmZpZWxkLXR5cGUtdGV4dC1sb25nIG9sOm5vdCguY29udGV4dHVhbC1saW5rcykge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbi5ibG9jay1zeXN0ZW0tbWFpbi1ibG9jayAuZmllbGQtdHlwZS10ZXh0LXdpdGgtc3VtbWFyeSB1bDpub3QoLm5vc3R5bGUpOm5vdCguY29udGV4dHVhbC1saW5rcykgPiBsaSxcbi5ibG9jay1zeXN0ZW0tbWFpbi1ibG9jayAuZmllbGQtdHlwZS10ZXh0LXdpdGgtc3VtbWFyeSBvbDpub3QoLmNvbnRleHR1YWwtbGlua3MpID4gbGksXG4uYmxvY2stc3lzdGVtLW1haW4tYmxvY2sgLmZpZWxkLXR5cGUtdGV4dC1sb25nIHVsOm5vdCgubm9zdHlsZSk6bm90KC5jb250ZXh0dWFsLWxpbmtzKSA+IGxpLFxuLmJsb2NrLXN5c3RlbS1tYWluLWJsb2NrIC5maWVsZC10eXBlLXRleHQtbG9uZyBvbDpub3QoLmNvbnRleHR1YWwtbGlua3MpID4gbGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCAwIDBweCAwO1xuICBwYWRkaW5nOiAwIDAgMCAyNHB4O1xufVxuLmJsb2NrLXN5c3RlbS1tYWluLWJsb2NrIC5maWVsZC10eXBlLXRleHQtd2l0aC1zdW1tYXJ5IG9sLFxuLmJsb2NrLXN5c3RlbS1tYWluLWJsb2NrIC5maWVsZC10eXBlLXRleHQtbG9uZyBvbCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGNvdW50ZXItcmVzZXQ6IG9sTGk7XG59XG4uYmxvY2stc3lzdGVtLW1haW4tYmxvY2sgLmZpZWxkLXR5cGUtdGV4dC13aXRoLXN1bW1hcnkgb2wgPiBsaSxcbi5ibG9jay1zeXN0ZW0tbWFpbi1ibG9jayAuZmllbGQtdHlwZS10ZXh0LWxvbmcgb2wgPiBsaSB7XG4gIGNvdW50ZXItaW5jcmVtZW50OiBvbExpO1xufVxuLmJsb2NrLXN5c3RlbS1tYWluLWJsb2NrIC5maWVsZC10eXBlLXRleHQtd2l0aC1zdW1tYXJ5IG9sID4gbGk6YmVmb3JlLFxuLmJsb2NrLXN5c3RlbS1tYWluLWJsb2NrIC5maWVsZC10eXBlLXRleHQtbG9uZyBvbCA+IGxpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IGNvdW50ZXIob2xMaSk7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGZvbnQtc2l6ZTogMC43MjcyNzI3MjczcmVtO1xuICBsaW5lLWhlaWdodDogMS4wOTA5MDkwOTA5cmVtO1xufVxuXG4uY3RhQnRuLCAjYmxvY2stdHQtZm91bmRhdGlvbi1mb3JtZXNwb3N0b3NlYXJjaHNlYXJjaC1ibG9jayBmb3JtIGlucHV0W3R5cGU9c3VibWl0XSwgLnZpZXctc2VhcmNoLnNlYXJjaC1wYWdlIGZvcm0gaW5wdXRbdHlwZT1zdWJtaXRdIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItcmFkaXVzOiAyNHB4O1xuICBwYWRkaW5nOiAxNnB4IDU2cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDk3NTA7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDAuNjM2MzYzNjM2NHJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDBweDtcbiAgbGluZS1oZWlnaHQ6IDAuODE4MTgxODE4MnJlbTtcbn1cbi5jdGFCdG46aG92ZXIsICNibG9jay10dC1mb3VuZGF0aW9uLWZvcm1lc3Bvc3Rvc2VhcmNoc2VhcmNoLWJsb2NrIGZvcm0gaW5wdXRbdHlwZT1zdWJtaXRdOmhvdmVyLCAudmlldy1zZWFyY2guc2VhcmNoLXBhZ2UgZm9ybSBpbnB1dFt0eXBlPXN1Ym1pdF06aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZmZlZDAwO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cblxuLyoqXG4gKiBHZXN0aW9uZSBjb25maWd1cmF6aW9uZSBlbGVtZW50aSByZXNwb25zaXZlXG4gKiovXG4uaC14eGwsIC5ibG9jay10dC11dGlsaXRpZXMuYmxvY2staGVhZGVyLWJhbm5lci1ibG9jayBoMS5wYWdlVGl0bGUge1xuICBmb250LXNpemU6IDJyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAycmVtO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuaC14eGwsIC5ibG9jay10dC11dGlsaXRpZXMuYmxvY2staGVhZGVyLWJhbm5lci1ibG9jayBoMS5wYWdlVGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMi43MjcyNzI3MjczcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGluZS1oZWlnaHQ6IDIuOTA5MDkwOTA5MXJlbTtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaC14eGwsIC5ibG9jay10dC11dGlsaXRpZXMuYmxvY2staGVhZGVyLWJhbm5lci1ibG9jayBoMS5wYWdlVGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMi45MDkwOTA5MDkxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGluZS1oZWlnaHQ6IDMuMDkwOTA5MDkwOXJlbTtcbiAgfVxufVxuXG4uaC14bCB7XG4gIGZvbnQtc2l6ZTogMS45MDkwOTA5MDkxcmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMS45MDkwOTA5MDkxcmVtO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuaC14bCB7XG4gICAgZm9udC1zaXplOiAyLjM2MzYzNjM2MzZyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsaW5lLWhlaWdodDogMi4zNjM2MzYzNjM2cmVtO1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5oLXhsIHtcbiAgICBmb250LXNpemU6IDIuNTQ1NDU0NTQ1NXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjU0NTQ1NDU0NTVyZW07XG4gIH1cbn1cblxuLmgtbCwgLnBhcmFncmFwaC0tdHlwZS0tdmVydGljYWwtY2FyZHMgLmNhcmQtd3JhcHBlciAuY2FyZC1jb250ZW50IC5jYXJkLXRpdGxlIHtcbiAgZm9udC1zaXplOiAxLjgxODE4MTgxODJyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAycmVtO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuaC1sLCAucGFyYWdyYXBoLS10eXBlLS12ZXJ0aWNhbC1jYXJkcyAuY2FyZC13cmFwcGVyIC5jYXJkLWNvbnRlbnQgLmNhcmQtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjE4MTgxODE4MThyZW07XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmgtbCwgLnBhcmFncmFwaC0tdHlwZS0tdmVydGljYWwtY2FyZHMgLmNhcmQtd3JhcHBlciAuY2FyZC1jb250ZW50IC5jYXJkLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDIuMTgxODE4MTgxOHJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjU0NTQ1NDU0NTVyZW07XG4gIH1cbn1cblxuLmgtbSwgLmJsb2NrLXVuc3Vic2NyaWJlLWJsb2NrIC5ibG9jay10aXRsZSwgLmJsb2NrLXN1YnNjcmliZS1ibG9jayAuYmxvY2stdGl0bGUge1xuICBmb250LXNpemU6IDEuNDU0NTQ1NDU0NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNjM2MzYzNjM2NHJlbTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmgtbSwgLmJsb2NrLXVuc3Vic2NyaWJlLWJsb2NrIC5ibG9jay10aXRsZSwgLmJsb2NrLXN1YnNjcmliZS1ibG9jayAuYmxvY2stdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS42MzYzNjM2MzY0cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuODE4MTgxODE4MnJlbTtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaC1tLCAuYmxvY2stdW5zdWJzY3JpYmUtYmxvY2sgLmJsb2NrLXRpdGxlLCAuYmxvY2stc3Vic2NyaWJlLWJsb2NrIC5ibG9jay10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjgxODE4MTgxODJyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsaW5lLWhlaWdodDogMi4wOTA5MDkwOTA5cmVtO1xuICB9XG59XG5cbi5oLXMsIC5ibG9jay10dC11dGlsaXRpZXMuYmxvY2staGVhZGVyLWJhbm5lci1ibG9jayBoMy5wYWdlU3VidGl0bGUge1xuICBmb250LXNpemU6IDEuMDkwOTA5MDkwOXJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMDkwOTA5MDkwOXJlbTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmgtcywgLmJsb2NrLXR0LXV0aWxpdGllcy5ibG9jay1oZWFkZXItYmFubmVyLWJsb2NrIGgzLnBhZ2VTdWJ0aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjI3MjcyNzI3MjdyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsaW5lLWhlaWdodDogMS40NTQ1NDU0NTQ1cmVtO1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5oLXMsIC5ibG9jay10dC11dGlsaXRpZXMuYmxvY2staGVhZGVyLWJhbm5lci1ibG9jayBoMy5wYWdlU3VidGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS40NTQ1NDU0NTQ1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNzI3MjcyNzI3M3JlbTtcbiAgfVxufVxuXG4uaC14cywgLnZpZXctc2VhcmNoLnNlYXJjaC1wYWdlIC52aWV3cy1yb3cgaDIubm9kZS10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMC45MDkwOTA5MDkxcmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMXJlbTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmgteHMsIC52aWV3LXNlYXJjaC5zZWFyY2gtcGFnZSAudmlld3Mtcm93IGgyLm5vZGUtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjA5MDkwOTA5MDlyZW07XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmgteHMsIC52aWV3LXNlYXJjaC5zZWFyY2gtcGFnZSAudmlld3Mtcm93IGgyLm5vZGUtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS4wOTA5MDkwOTA5cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzYzNjM2MzYzNnJlbTtcbiAgfVxufVxuXG4uYm9keS1sLCAucHJlc3MtcmVsZWFzZXMucHJlc3MtcmVsZWFzZXMtbGF0ZXN0IC5wcmVzcy1yZWxlYXNlLXRpdGxlLCAucGFyYWdyYXBoLS10eXBlLS1xdW90ZSAucXVvdGUtY29udGVudCAudGV4dC1hbGlnbi1jZW50ZXIge1xuICBmb250LXNpemU6IDAuODE4MTgxODE4MnJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMzYzNjM2MzYzNnJlbTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmJvZHktbCwgLnByZXNzLXJlbGVhc2VzLnByZXNzLXJlbGVhc2VzLWxhdGVzdCAucHJlc3MtcmVsZWFzZS10aXRsZSwgLnBhcmFncmFwaC0tdHlwZS0tcXVvdGUgLnF1b3RlLWNvbnRlbnQgLnRleHQtYWxpZ24tY2VudGVyIHtcbiAgICBmb250LXNpemU6IDAuOTA5MDkwOTA5MXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM2MzYzNjM2MzZyZW07XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmJvZHktbCwgLnByZXNzLXJlbGVhc2VzLnByZXNzLXJlbGVhc2VzLWxhdGVzdCAucHJlc3MtcmVsZWFzZS10aXRsZSwgLnBhcmFncmFwaC0tdHlwZS0tcXVvdGUgLnF1b3RlLWNvbnRlbnQgLnRleHQtYWxpZ24tY2VudGVyIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMS4zNjM2MzYzNjM2cmVtO1xuICB9XG59XG5cbi5ib2R5LW0sIC52aWV3LXNlYXJjaC5zZWFyY2gtcGFnZSAudmlld3Mtcm93IC5maWVsZC0tc2VhcmNoLWFwaS1leGNlcnB0LCAud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gaW5wdXRbdHlwZT10ZXh0XSxcbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSBpbnB1dFt0eXBlPWVtYWlsXSxcbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSBpbnB1dFt0eXBlPWRhdGVdLFxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIGlucHV0W3R5cGU9bnVtYmVyXSxcbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSBpbnB1dFt0eXBlPXBhc3N3b3JkXSxcbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSBpbnB1dFt0eXBlPXRlbF0sXG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gdGV4dGFyZWEsXG5mb3JtLnVzZXItbG9naW4tZm9ybSBpbnB1dFt0eXBlPXRleHRdLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gaW5wdXRbdHlwZT1lbWFpbF0sXG5mb3JtLnVzZXItbG9naW4tZm9ybSBpbnB1dFt0eXBlPWRhdGVdLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gaW5wdXRbdHlwZT1udW1iZXJdLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gaW5wdXRbdHlwZT1wYXNzd29yZF0sXG5mb3JtLnVzZXItbG9naW4tZm9ybSBpbnB1dFt0eXBlPXRlbF0sXG5mb3JtLnVzZXItbG9naW4tZm9ybSB0ZXh0YXJlYSxcbi5zdWJzY3JpYmUtZm9ybSBpbnB1dFt0eXBlPXRleHRdLFxuLnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9ZW1haWxdLFxuLnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9ZGF0ZV0sXG4uc3Vic2NyaWJlLWZvcm0gaW5wdXRbdHlwZT1udW1iZXJdLFxuLnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9cGFzc3dvcmRdLFxuLnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9dGVsXSxcbi5zdWJzY3JpYmUtZm9ybSB0ZXh0YXJlYSxcbi51bnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9dGV4dF0sXG4udW5zdWJzY3JpYmUtZm9ybSBpbnB1dFt0eXBlPWVtYWlsXSxcbi51bnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9ZGF0ZV0sXG4udW5zdWJzY3JpYmUtZm9ybSBpbnB1dFt0eXBlPW51bWJlcl0sXG4udW5zdWJzY3JpYmUtZm9ybSBpbnB1dFt0eXBlPXBhc3N3b3JkXSxcbi51bnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9dGVsXSxcbi51bnN1YnNjcmliZS1mb3JtIHRleHRhcmVhLCAuY3VzdG9tLXJvdy13cmFwcGVyIC5jdXN0b20tcm93IC5jdXN0b20tdGl0bGUsIC5jdXN0b20tcm93LXdyYXBwZXIgLmN1c3RvbS1yb3cgLmN1c3RvbS1kYXRlLCAuY3VzdG9tLXJvdy13cmFwcGVyIC5jYWxlbmRhci1hdHRhY2gtbXVsdGlwbGUtd3JhcCAuY2FsZW5kYXItYXR0YWNobWVudHMtY29udGFpbmVyIC5pdGVtLWNhbGVuZGFyLWF0dGFjaCAudGl0bGUtY2FsZW5kYXItYXR0YWNoIHtcbiAgZm9udC1zaXplOiAwLjYzNjM2MzYzNjRyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxcmVtO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuYm9keS1tLCAudmlldy1zZWFyY2guc2VhcmNoLXBhZ2UgLnZpZXdzLXJvdyAuZmllbGQtLXNlYXJjaC1hcGktZXhjZXJwdCwgLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIGlucHV0W3R5cGU9dGV4dF0sXG4gIC53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSBpbnB1dFt0eXBlPWVtYWlsXSxcbiAgLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIGlucHV0W3R5cGU9ZGF0ZV0sXG4gIC53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSBpbnB1dFt0eXBlPW51bWJlcl0sXG4gIC53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSBpbnB1dFt0eXBlPXBhc3N3b3JkXSxcbiAgLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIGlucHV0W3R5cGU9dGVsXSxcbiAgLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIHRleHRhcmVhLFxuICBmb3JtLnVzZXItbG9naW4tZm9ybSBpbnB1dFt0eXBlPXRleHRdLFxuICBmb3JtLnVzZXItbG9naW4tZm9ybSBpbnB1dFt0eXBlPWVtYWlsXSxcbiAgZm9ybS51c2VyLWxvZ2luLWZvcm0gaW5wdXRbdHlwZT1kYXRlXSxcbiAgZm9ybS51c2VyLWxvZ2luLWZvcm0gaW5wdXRbdHlwZT1udW1iZXJdLFxuICBmb3JtLnVzZXItbG9naW4tZm9ybSBpbnB1dFt0eXBlPXBhc3N3b3JkXSxcbiAgZm9ybS51c2VyLWxvZ2luLWZvcm0gaW5wdXRbdHlwZT10ZWxdLFxuICBmb3JtLnVzZXItbG9naW4tZm9ybSB0ZXh0YXJlYSxcbiAgLnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9dGV4dF0sXG4gIC5zdWJzY3JpYmUtZm9ybSBpbnB1dFt0eXBlPWVtYWlsXSxcbiAgLnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9ZGF0ZV0sXG4gIC5zdWJzY3JpYmUtZm9ybSBpbnB1dFt0eXBlPW51bWJlcl0sXG4gIC5zdWJzY3JpYmUtZm9ybSBpbnB1dFt0eXBlPXBhc3N3b3JkXSxcbiAgLnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9dGVsXSxcbiAgLnN1YnNjcmliZS1mb3JtIHRleHRhcmVhLFxuICAudW5zdWJzY3JpYmUtZm9ybSBpbnB1dFt0eXBlPXRleHRdLFxuICAudW5zdWJzY3JpYmUtZm9ybSBpbnB1dFt0eXBlPWVtYWlsXSxcbiAgLnVuc3Vic2NyaWJlLWZvcm0gaW5wdXRbdHlwZT1kYXRlXSxcbiAgLnVuc3Vic2NyaWJlLWZvcm0gaW5wdXRbdHlwZT1udW1iZXJdLFxuICAudW5zdWJzY3JpYmUtZm9ybSBpbnB1dFt0eXBlPXBhc3N3b3JkXSxcbiAgLnVuc3Vic2NyaWJlLWZvcm0gaW5wdXRbdHlwZT10ZWxdLFxuICAudW5zdWJzY3JpYmUtZm9ybSB0ZXh0YXJlYSwgLmN1c3RvbS1yb3ctd3JhcHBlciAuY3VzdG9tLXJvdyAuY3VzdG9tLXRpdGxlLCAuY3VzdG9tLXJvdy13cmFwcGVyIC5jdXN0b20tcm93IC5jdXN0b20tZGF0ZSwgLmN1c3RvbS1yb3ctd3JhcHBlciAuY2FsZW5kYXItYXR0YWNoLW11bHRpcGxlLXdyYXAgLmNhbGVuZGFyLWF0dGFjaG1lbnRzLWNvbnRhaW5lciAuaXRlbS1jYWxlbmRhci1hdHRhY2ggLnRpdGxlLWNhbGVuZGFyLWF0dGFjaCB7XG4gICAgZm9udC1zaXplOiAwLjcyNzI3MjcyNzNyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMS4xODE4MTgxODE4cmVtO1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ib2R5LW0sIC52aWV3LXNlYXJjaC5zZWFyY2gtcGFnZSAudmlld3Mtcm93IC5maWVsZC0tc2VhcmNoLWFwaS1leGNlcnB0LCAud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gaW5wdXRbdHlwZT10ZXh0XSxcbiAgLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIGlucHV0W3R5cGU9ZW1haWxdLFxuICAud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gaW5wdXRbdHlwZT1kYXRlXSxcbiAgLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIGlucHV0W3R5cGU9bnVtYmVyXSxcbiAgLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIGlucHV0W3R5cGU9cGFzc3dvcmRdLFxuICAud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gaW5wdXRbdHlwZT10ZWxdLFxuICAud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gdGV4dGFyZWEsXG4gIGZvcm0udXNlci1sb2dpbi1mb3JtIGlucHV0W3R5cGU9dGV4dF0sXG4gIGZvcm0udXNlci1sb2dpbi1mb3JtIGlucHV0W3R5cGU9ZW1haWxdLFxuICBmb3JtLnVzZXItbG9naW4tZm9ybSBpbnB1dFt0eXBlPWRhdGVdLFxuICBmb3JtLnVzZXItbG9naW4tZm9ybSBpbnB1dFt0eXBlPW51bWJlcl0sXG4gIGZvcm0udXNlci1sb2dpbi1mb3JtIGlucHV0W3R5cGU9cGFzc3dvcmRdLFxuICBmb3JtLnVzZXItbG9naW4tZm9ybSBpbnB1dFt0eXBlPXRlbF0sXG4gIGZvcm0udXNlci1sb2dpbi1mb3JtIHRleHRhcmVhLFxuICAuc3Vic2NyaWJlLWZvcm0gaW5wdXRbdHlwZT10ZXh0XSxcbiAgLnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9ZW1haWxdLFxuICAuc3Vic2NyaWJlLWZvcm0gaW5wdXRbdHlwZT1kYXRlXSxcbiAgLnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9bnVtYmVyXSxcbiAgLnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9cGFzc3dvcmRdLFxuICAuc3Vic2NyaWJlLWZvcm0gaW5wdXRbdHlwZT10ZWxdLFxuICAuc3Vic2NyaWJlLWZvcm0gdGV4dGFyZWEsXG4gIC51bnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9dGV4dF0sXG4gIC51bnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9ZW1haWxdLFxuICAudW5zdWJzY3JpYmUtZm9ybSBpbnB1dFt0eXBlPWRhdGVdLFxuICAudW5zdWJzY3JpYmUtZm9ybSBpbnB1dFt0eXBlPW51bWJlcl0sXG4gIC51bnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9cGFzc3dvcmRdLFxuICAudW5zdWJzY3JpYmUtZm9ybSBpbnB1dFt0eXBlPXRlbF0sXG4gIC51bnN1YnNjcmliZS1mb3JtIHRleHRhcmVhLCAuY3VzdG9tLXJvdy13cmFwcGVyIC5jdXN0b20tcm93IC5jdXN0b20tdGl0bGUsIC5jdXN0b20tcm93LXdyYXBwZXIgLmN1c3RvbS1yb3cgLmN1c3RvbS1kYXRlLCAuY3VzdG9tLXJvdy13cmFwcGVyIC5jYWxlbmRhci1hdHRhY2gtbXVsdGlwbGUtd3JhcCAuY2FsZW5kYXItYXR0YWNobWVudHMtY29udGFpbmVyIC5pdGVtLWNhbGVuZGFyLWF0dGFjaCAudGl0bGUtY2FsZW5kYXItYXR0YWNoIHtcbiAgICBmb250LXNpemU6IDAuODE4MTgxODE4MnJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE4MTgxODE4MThyZW07XG4gIH1cbn1cblxuLmJvZHktcywgLnByZXNzLXJlbGVhc2VzLnByZXNzLXJlbGVhc2VzLWxhdGVzdCAucHJlc3MtcmVsZWFzZS1kYXRlIHRpbWUsIC52aWV3cy1lbGVtZW50LWNvbnRhaW5lciB1bC5wYWdlcl9faXRlbXMgbGkucGFnZXJfX2l0ZW0gYSwgLnBhcmFncmFwaC0tdHlwZS0tcXVvdGUgLnF1b3RlLWNvbnRlbnQgLnF1b3RlLWZvb3RlciB7XG4gIGZvbnQtc2l6ZTogMC41NDU0NTQ1NDU1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMC42MzYzNjM2MzY0cmVtO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuYm9keS1zLCAucHJlc3MtcmVsZWFzZXMucHJlc3MtcmVsZWFzZXMtbGF0ZXN0IC5wcmVzcy1yZWxlYXNlLWRhdGUgdGltZSwgLnZpZXdzLWVsZW1lbnQtY29udGFpbmVyIHVsLnBhZ2VyX19pdGVtcyBsaS5wYWdlcl9faXRlbSBhLCAucGFyYWdyYXBoLS10eXBlLS1xdW90ZSAucXVvdGUtY29udGVudCAucXVvdGUtZm9vdGVyIHtcbiAgICBmb250LXNpemU6IDAuNTQ1NDU0NTQ1NXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAwLjgxODE4MTgxODJyZW07XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmJvZHktcywgLnByZXNzLXJlbGVhc2VzLnByZXNzLXJlbGVhc2VzLWxhdGVzdCAucHJlc3MtcmVsZWFzZS1kYXRlIHRpbWUsIC52aWV3cy1lbGVtZW50LWNvbnRhaW5lciB1bC5wYWdlcl9faXRlbXMgbGkucGFnZXJfX2l0ZW0gYSwgLnBhcmFncmFwaC0tdHlwZS0tcXVvdGUgLnF1b3RlLWNvbnRlbnQgLnF1b3RlLWZvb3RlciB7XG4gICAgZm9udC1zaXplOiAwLjYzNjM2MzYzNjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMC44MTgxODE4MTgycmVtO1xuICB9XG59XG5cbi5ib2R5LXhzLCAucGFnZU1ldGFIZWFkZXIsIGEubGluay1kb3dubG9hZCwgYS5saW5rLWV4dGVybmFsLCBhLmxpbmstZW1haWwsIGEubGluay1pY29uIHtcbiAgZm9udC1zaXplOiAwLjU0NTQ1NDU0NTVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAwLjgxODE4MTgxODJyZW07XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5ib2R5LXhzLCAucGFnZU1ldGFIZWFkZXIsIGEubGluay1kb3dubG9hZCwgYS5saW5rLWV4dGVybmFsLCBhLmxpbmstZW1haWwsIGEubGluay1pY29uIHtcbiAgICBmb250LXNpemU6IDAuNTQ1NDU0NTQ1NXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAwLjgxODE4MTgxODJyZW07XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmJvZHkteHMsIC5wYWdlTWV0YUhlYWRlciwgYS5saW5rLWRvd25sb2FkLCBhLmxpbmstZXh0ZXJuYWwsIGEubGluay1lbWFpbCwgYS5saW5rLWljb24ge1xuICAgIGZvbnQtc2l6ZTogMC41NDU0NTQ1NDU1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDAuODE4MTgxODE4MnJlbTtcbiAgfVxufVxuXG4vKipcbiAqIEdlc3Rpb25lIGhhbWJ1cmdlciBtZW51XG4gKiBMaWJyZXJpYSBkaSByaWZlcmltZW50bzogaHR0cHM6Ly9naXRodWIuY29tL2thcG9rby9kZWxpY2lvdXMtaGFtYnVyZ2Vyc1xuICogRGVtbyBzdGlsaTogaHR0cHM6Ly9rYXBva28uZ2l0aHViLmlvL2RlbGljaW91cy1oYW1idXJnZXJzL1xuICogSW5zdGFsbGF0YSB0cmFtaXRlIG5wbVxuICovXG4vKiFcbiAqIGRlbGljaW91cy1oYW1idXJnZXJzXG4gKiBAZGVzY3JpcHRpb24gQmVhdXRpZnVsIFNBU1MgcG93ZXJlZCBoYW1idXJnZXIgbWVudSB0b2dnbGUgYnV0dG9uc1xuICogQGF1dGhvciBLYXNwZXIgS29tYW5cbiAqIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9rYXBva28vZGVsaWNpb3VzLWhhbWJ1cmdlcnNcbiAqL1xuYnV0dG9uLmhhbWJ1cmdlciB7XG4gIGhlaWdodDogNDBweDtcbiAgd2lkdGg6IDQwcHg7XG59XG5cbmRpdi5oYW1idXJnZXIge1xuICBoZWlnaHQ6IDQwcHg7XG4gIHdpZHRoOiA0MHB4O1xufVxuZGl2LmhhbWJ1cmdlciA+IC5pbm5lciB7XG4gIHRvcDogNTAlO1xufVxuXG4uaGFtYnVyZ2VyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMCB0cmFuc3BhcmVudCBzb2xpZDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250OiBpbmhlcml0O1xuICBvcGFjaXR5OiAxO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgcGFkZGluZzogNHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKSwgYmFja2dyb3VuZCAwLjJzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKTtcbn1cbi5oYW1idXJnZXI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgb3BhY2l0eTogMTtcbn1cbi5oYW1idXJnZXI6aG92ZXIgc3Bhbi5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5NzUwO1xufVxuLmhhbWJ1cmdlcjpob3ZlciA+IC5pbm5lcjpudGgtY2hpbGQoMSk6OmJlZm9yZSwgLmhhbWJ1cmdlcjpob3ZlciA+IC5pbm5lcjpudGgtY2hpbGQoMSk6OmFmdGVyLCAuaGFtYnVyZ2VyOmhvdmVyID4gLmlubmVyOm50aC1jaGlsZCgyKTo6YmVmb3JlLCAuaGFtYnVyZ2VyOmhvdmVyID4gLmlubmVyOm50aC1jaGlsZCgyKTo6YWZ0ZXIsIC5oYW1idXJnZXI6aG92ZXIgPiAuaW5uZXI6bnRoLWNoaWxkKDMpOjpiZWZvcmUsIC5oYW1idXJnZXI6aG92ZXIgPiAuaW5uZXI6bnRoLWNoaWxkKDMpOjphZnRlcixcbi5oYW1idXJnZXI6aG92ZXIgc3Bhbi5iYXI6bnRoLWNoaWxkKDEpOjpiZWZvcmUsXG4uaGFtYnVyZ2VyOmhvdmVyIHNwYW4uYmFyOm50aC1jaGlsZCgxKTo6YWZ0ZXIsXG4uaGFtYnVyZ2VyOmhvdmVyIHNwYW4uYmFyOm50aC1jaGlsZCgyKTo6YmVmb3JlLFxuLmhhbWJ1cmdlcjpob3ZlciBzcGFuLmJhcjpudGgtY2hpbGQoMik6OmFmdGVyLFxuLmhhbWJ1cmdlcjpob3ZlciBzcGFuLmJhcjpudGgtY2hpbGQoMyk6OmJlZm9yZSxcbi5oYW1idXJnZXI6aG92ZXIgc3Bhbi5iYXI6bnRoLWNoaWxkKDMpOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDk3NTA7XG59XG4uaGFtYnVyZ2VyLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmhhbWJ1cmdlci5hY3RpdmUgc3Bhbi5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5NzUwO1xufVxuLmhhbWJ1cmdlci5hY3RpdmUgPiAuaW5uZXI6bnRoLWNoaWxkKDEpOjpiZWZvcmUsIC5oYW1idXJnZXIuYWN0aXZlID4gLmlubmVyOm50aC1jaGlsZCgxKTo6YWZ0ZXIsIC5oYW1idXJnZXIuYWN0aXZlID4gLmlubmVyOm50aC1jaGlsZCgyKTo6YmVmb3JlLCAuaGFtYnVyZ2VyLmFjdGl2ZSA+IC5pbm5lcjpudGgtY2hpbGQoMik6OmFmdGVyLCAuaGFtYnVyZ2VyLmFjdGl2ZSA+IC5pbm5lcjpudGgtY2hpbGQoMyk6OmJlZm9yZSwgLmhhbWJ1cmdlci5hY3RpdmUgPiAuaW5uZXI6bnRoLWNoaWxkKDMpOjphZnRlcixcbi5oYW1idXJnZXIuYWN0aXZlIHNwYW4uYmFyOm50aC1jaGlsZCgxKTo6YmVmb3JlLFxuLmhhbWJ1cmdlci5hY3RpdmUgc3Bhbi5iYXI6bnRoLWNoaWxkKDEpOjphZnRlcixcbi5oYW1idXJnZXIuYWN0aXZlIHNwYW4uYmFyOm50aC1jaGlsZCgyKTo6YmVmb3JlLFxuLmhhbWJ1cmdlci5hY3RpdmUgc3Bhbi5iYXI6bnRoLWNoaWxkKDIpOjphZnRlcixcbi5oYW1idXJnZXIuYWN0aXZlIHNwYW4uYmFyOm50aC1jaGlsZCgzKTo6YmVmb3JlLFxuLmhhbWJ1cmdlci5hY3RpdmUgc3Bhbi5iYXI6bnRoLWNoaWxkKDMpOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDk3NTA7XG59XG4uaGFtYnVyZ2VyID4gLmlubmVyIHtcbiAgbWFyZ2luOiAwO1xuICBtYXJnaW4tdG9wOiAtMXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmhhbWJ1cmdlciBzcGFuLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDk3NTA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDJweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbn1cbi5oYW1idXJnZXIgc3Bhbi5iYXI6bnRoLWNoaWxkKDEpIHtcbiAgdG9wOiAtOHB4O1xufVxuLmhhbWJ1cmdlciBzcGFuLmJhcjpudGgtY2hpbGQoMykge1xuICB0b3A6IDhweDtcbn1cbi5oYW1idXJnZXI6Zm9jdXMge1xuICBvdXRsaW5lOiAwO1xufVxuXG4uaGFtYnVyZ2VyLS1kZWZhdWx0LmFjdGl2ZSBzcGFuLmJhciB7XG4gIHRvcDogMDtcbn1cbi5oYW1idXJnZXItLWRlZmF1bHQuYWN0aXZlIHNwYW4uYmFyOm50aC1jaGlsZCgxKSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbn1cbi5oYW1idXJnZXItLWRlZmF1bHQuYWN0aXZlIHNwYW4uYmFyOm50aC1jaGlsZCgyKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uaGFtYnVyZ2VyLS1kZWZhdWx0LmFjdGl2ZSBzcGFuLmJhcjpudGgtY2hpbGQoMykge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xufVxuXG4uaGFtYnVyZ2VyLS1jcmlzcy1jcm9zcyA+IC5pbm5lcjo6YmVmb3JlLCAuaGFtYnVyZ2VyLS1jcmlzcy1jcm9zcyA+IC5pbm5lcjo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5NzUwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAycHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDAgNTAlO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpLCB0cmFuc2Zvcm0gMC40cyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7XG59XG4uaGFtYnVyZ2VyLS1jcmlzcy1jcm9zcyA+IC5pbm5lcjo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZTNkKC00LjY4NjI5MTUwMXB4LCAtMTEuMzEzNzA4NDk5cHgsIDApIHNjYWxlWCgwKTtcbn1cbi5oYW1idXJnZXItLWNyaXNzLWNyb3NzID4gLmlubmVyOjphZnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlM2QoLTQuNjg2MjkxNTAxcHgsIDExLjMxMzcwODQ5OXB4LCAwKSBzY2FsZVgoMCk7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDAuMXM7XG59XG4uaGFtYnVyZ2VyLS1jcmlzcy1jcm9zcyBzcGFuLmJhciB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjRzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKSwgb3BhY2l0eSAwLjRzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKSwgd2lkdGggMC40cyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7XG59XG4uaGFtYnVyZ2VyLS1jcmlzcy1jcm9zcyBzcGFuLmJhcjpudGgtY2hpbGQoMSkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjMzcztcbn1cbi5oYW1idXJnZXItLWNyaXNzLWNyb3NzIHNwYW4uYmFyOm50aC1jaGlsZCgyKSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDAuMzZzO1xufVxuLmhhbWJ1cmdlci0tY3Jpc3MtY3Jvc3Mgc3Bhbi5iYXI6bnRoLWNoaWxkKDMpIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMC4zOXM7XG59XG4uaGFtYnVyZ2VyLS1jcmlzcy1jcm9zcy5hY3RpdmUgPiAuaW5uZXI6OmJlZm9yZSwgLmhhbWJ1cmdlci0tY3Jpc3MtY3Jvc3MuYWN0aXZlID4gLmlubmVyOjphZnRlciB7XG4gIG9wYWNpdHk6IDE7XG59XG4uaGFtYnVyZ2VyLS1jcmlzcy1jcm9zcy5hY3RpdmUgPiAuaW5uZXI6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUzZCgtNC42ODYyOTE1MDFweCwgLTExLjMxMzcwODQ5OXB4LCAwKTtcbiAgdHJhbnNpdGlvbi1kZWxheTogMC40cztcbn1cbi5oYW1idXJnZXItLWNyaXNzLWNyb3NzLmFjdGl2ZSA+IC5pbm5lcjo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZTNkKC00LjY4NjI5MTUwMXB4LCAxMS4zMTM3MDg0OTlweCwgMCk7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDAuNXM7XG59XG4uaGFtYnVyZ2VyLS1jcmlzcy1jcm9zcy5hY3RpdmUgc3Bhbi5iYXIge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgd2lkdGg6IDUwJTtcbn1cbi5oYW1idXJnZXItLWNyaXNzLWNyb3NzLmFjdGl2ZSBzcGFuLmJhcjpudGgtY2hpbGQoMSkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbn1cbi5oYW1idXJnZXItLWNyaXNzLWNyb3NzLmFjdGl2ZSBzcGFuLmJhcjpudGgtY2hpbGQoMikge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjJzO1xufVxuLmhhbWJ1cmdlci0tY3Jpc3MtY3Jvc3MuYWN0aXZlIHNwYW4uYmFyOm50aC1jaGlsZCgzKSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDAuMXM7XG59XG5cbi8qXG5AaW1wb3J0IFwiYW5pbWF0aW9ucy9hcHBsZVwiO1xuQGltcG9ydCBcImFuaW1hdGlvbnMvYXJyb3dcIjtcbkBpbXBvcnQgXCJhbmltYXRpb25zL2Fycm93LXJpZ2h0XCI7XG5AaW1wb3J0IFwiYW5pbWF0aW9ucy9zcGluXCI7XG5AaW1wb3J0IFwiYW5pbWF0aW9ucy9jb2xsYXBzZVwiO1xuQGltcG9ydCBcImFuaW1hdGlvbnMvbWluaW1hbFwiO1xuQGltcG9ydCBcImFuaW1hdGlvbnMvZGl2ZVwiO1xuQGltcG9ydCBcImFuaW1hdGlvbnMvc3RhY2tcIjtcbkBpbXBvcnQgXCJhbmltYXRpb25zL2NvbnZlcmdlXCI7XG5AaW1wb3J0IFwiYW5pbWF0aW9ucy90d2lzdFwiO1xuQGltcG9ydCBcImFuaW1hdGlvbnMvbWFnbmV0aWNcIjtcbkBpbXBvcnQgXCJhbmltYXRpb25zL2Nob3BcIjtcbkBpbXBvcnQgXCJhbmltYXRpb25zL3BhcmFsbGVsXCI7XG5AaW1wb3J0IFwiYW5pbWF0aW9ucy92ZXJ0aWNhbFwiO1xuQGltcG9ydCBcImFuaW1hdGlvbnMvcHVzaFwiO1xuQGltcG9ydCBcImFuaW1hdGlvbnMvZmxhdHRlblwiO1xuQGltcG9ydCBcImFuaW1hdGlvbnMvc2ltcGxlXCI7XG5AaW1wb3J0IFwiYW5pbWF0aW9ucy9zaGVsZlwiOyovXG4vKipcbiAqIEdlc3Rpb25lIG91dGRhdGVkIGJyb3dzZXJcbiAqIExpYnJlcmlhIGRpIHJpZmVyaW1lbnRvOiBodHRwczovL2dpdGh1Yi5jb20vbWlrZW1hY2NhbmEvb3V0ZGF0ZWQtYnJvd3Nlci1yZXdvcmtcbiAqIERlbW86IGh0dHBzOi8vbWlrZW1hY2NhbmEuZ2l0aHViLmlvL291dGRhdGVkLWJyb3dzZXItcmV3b3JrL1xuICovXG4jb3V0ZGF0ZWQge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAgMjRweCAyNHB4IDA7XG4gIHotaW5kZXg6IDE1MDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDtcbiAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuI291dGRhdGVkIC52ZXJ0aWNhbC1jZW50ZXIge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4jb3V0ZGF0ZWQgaDYge1xuICBtYXJnaW46IDEycHggMDtcbiAgZm9udC1zaXplOiAxLjA5MDkwOTA5MDlyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjA5MDkwOTA5MDlyZW07XG59XG4jb3V0ZGF0ZWQgcCB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjU0NTQ1NDU0NTVyZW07XG4gIGxpbmUtaGVpZ2h0OiAwLjU0NTQ1NDU0NTVyZW07XG59XG4jb3V0ZGF0ZWQgI2J1dHRvblVwZGF0ZUJyb3dzZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMjMwcHg7XG4gIG1hcmdpbjogMzBweCBhdXRvIDA7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgYm9yZGVyOiAycHggc29saWQgI2ZmZmZmZiAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbiNvdXRkYXRlZCAjYnV0dG9uVXBkYXRlQnJvd3Nlcjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDtcbn1cbiNvdXRkYXRlZCAubGFzdCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMHB4O1xuICByaWdodDogNzBweDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogMjBweDtcbiAgZGlzcGxheTogaW5saW5lLXRhYmxlO1xufVxuI291dGRhdGVkIC5sYXN0W2Rpcj1ydGxdIHtcbiAgbGVmdDogMjVweCAhaW1wb3J0YW50O1xuICByaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuI291dGRhdGVkICNidXR0b25DbG9zZVVwZGF0ZUJyb3dzZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBmb250LXNpemU6IDEuNjM2MzYzNjM2NHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjM2MzYzNjM2NHJlbTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuI291dGRhdGVkLmZ1bGxzY3JlZW4ge1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi8qKlxuICogR2VzdGlvbmUgRmFuY3lib3hcbiAqIExpYnJlcmlhIGRpIHJpZmVyaW1lbnRvOiBodHRwczovL2dpdGh1Yi5jb20vZmFuY3lhcHBzL2ZhbmN5Ym94XG4gKiBEb2N1bWVudGF6aW9uZTogaHR0cHM6Ly9vYnUuZWR1L19yZXNvdXJjZXMvbGRwL2dhbGxlcmllcy9mYW5jeWJveC9cbiAqICAgICAgICAgICAgICAgICBodHRwczovL3dlYi5hcmNoaXZlLm9yZy93ZWIvMjAyMTAzMjUxNzA5NDAvaHR0cHM6Ly9mYW5jeWFwcHMuY29tL2ZhbmN5Ym94LzMvZG9jcy9cbiAqL1xuLnNsaWNrLWRvdHRlZC5zbGljay1zbGlkZXIge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG51bC5zbGljay1kb3RzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3R0b206IGF1dG87XG4gIGZvbnQtc2l6ZTogMDtcbn1cbnVsLnNsaWNrLWRvdHMgbGkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiA0OHB4O1xuICBoZWlnaHQ6IDdweDtcbiAgbWFyZ2luOiAwIDdweDtcbn1cbnVsLnNsaWNrLWRvdHMgbGk6b25seS1jaGlsZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG51bC5zbGljay1kb3RzIGxpIC5idG5QYWdlciB7XG4gIHdpZHRoOiA0OHB4O1xuICBoZWlnaHQ6IDdweDtcbiAgcGFkZGluZzogMDtcbn1cbnVsLnNsaWNrLWRvdHMgbGkgLmJ0blBhZ2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDRweDtcbiAgbWFyZ2luLXRvcDogM3B4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG59XG51bC5zbGljay1kb3RzIGxpLnNsaWNrLWFjdGl2ZSAuYnRuUGFnZXI6YmVmb3JlIHtcbiAgaGVpZ2h0OiA3cHg7XG4gIG1hcmdpbi10b3A6IDA7XG4gIGJhY2tncm91bmQ6ICMwMDAwMDA7XG59XG5cbi5zbGljay1hcnJvdyB7XG4gIHdpZHRoOiA2MHB4O1xuICBoZWlnaHQ6IDYwcHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgei1pbmRleDogMjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xufVxuLnNsaWNrLWFycm93OmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzAwMDAwMDtcbn1cbi5zbGljay1hcnJvdzpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4uc2xpY2stYXJyb3cgc3BhbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi5zbGljay1hcnJvdyBzcGFuOmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDYwcHg7XG59XG5cbi5zbGljay1hcnJvdy5zbGljay1uZXh0IHNwYW4ge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuXG4uc2VsZWN0Mi1jb250YWluZXIge1xuICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICBtaW4td2lkdGg6IDIzMHB4O1xuICBmb250LXNpemU6IDAuNjM2MzYzNjM2NHJlbTtcbn1cbi5zZWxlY3QyLWNvbnRhaW5lciAqIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBoZWlnaHQ6IGF1dG87XG4gIHBhZGRpbmc6IDIwcHggODBweCAyMHB4IDIwcHg7XG4gIGJveC1zaGFkb3c6IDBweCAycHggM3B4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgb3BhY2l0eTogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXI6IDA7XG59XG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgc3Bhbi5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQge1xuICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDAuODE4MTgxODE4MnJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMTgxODE4MTgxOHJlbTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGxldHRlci1zcGFjaW5nOiAwICFpbXBvcnRhbnQ7XG59XG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB7XG4gIHBhZGRpbmc6IDVweCAzMHB4IDEwcHggMTBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwMDAwMCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgZm9udC1zaXplOiAwO1xufVxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IHVsLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCBsaS5zZWxlY3QyLXNlYXJjaC0taW5saW5lIHtcbiAgbWFyZ2luOiA1cHggNXB4IDAgMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiA1cHggMTBweCAhaW1wb3J0YW50O1xufVxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IHVsLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCBsaS5zZWxlY3QyLXNlYXJjaC0taW5saW5lOjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgdWwuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIGxpLnNlbGVjdDItc2VhcmNoLS1pbmxpbmUgaW5wdXQge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbi10b3A6IDA7XG4gIGZvbnQtc2l6ZTogMC41NDU0NTQ1NDU1cmVtO1xuICBsaW5lLWhlaWdodDogMC43MjcyNzI3MjczcmVtO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCB1bC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQgbGkuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZSB7XG4gIG1hcmdpbjogNXB4IDVweCAwIDAgIWltcG9ydGFudDtcbiAgcGFkZGluZzogNXB4IDEwcHggIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgYm9yZGVyOiBub25lO1xuICBmb250LXNpemU6IDAuODE4MTgxODE4MnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTgxODE4MTgxOHJlbTtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgdWwuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIGxpLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2Ugc3Bhbi5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX19yZW1vdmUge1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCB1bC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQgbGkuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZSBzcGFuLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2VfX3JlbW92ZTpob3ZlciB7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IHVsLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCBsaS5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlOmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93LFxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5kcm9wZG93bi13cmFwcGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJSAhaW1wb3J0YW50O1xuICByaWdodDogMThweCAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDIwcHggIWltcG9ydGFudDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IGIsXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLmRyb3Bkb3duLXdyYXBwZXIgYiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdzpiZWZvcmUsXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLmRyb3Bkb3duLXdyYXBwZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MDlcIjtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMTBweCAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMjBweCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdC5zZWxlY3QyLWNvbnRhaW5lci0tb3BlbiAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDtcbn1cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdC5zZWxlY3QyLWNvbnRhaW5lci0tb3BlbiAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93OmJlZm9yZSxcbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdC5zZWxlY3QyLWNvbnRhaW5lci0tb3BlbiAuZHJvcGRvd24td3JhcHBlcjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuXG4uc2VsZWN0Mi1kcm9wZG93biB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgcGFkZGluZzogMDtcbn1cbi5zZWxlY3QyLWRyb3Bkb3duIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbnMge1xuICBib3gtc2hhZG93OiAwcHggMnB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIG9wYWNpdHk6IDE7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG59XG4uc2VsZWN0Mi1kcm9wZG93biAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb25zIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMC44MTgxODE4MTgycmVtO1xuICBsaW5lLWhlaWdodDogMS4xODE4MTgxODE4cmVtO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgcGFkZGluZzogNnB4IDIwcHg7XG59XG4uc2VsZWN0Mi1kcm9wZG93biAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb25zIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbi5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbi0taGlnaGxpZ2h0ZWQge1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5zZWxlY3QyLWRyb3Bkb3duIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbnMgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uW2FyaWEtc2VsZWN0ZWQ9dHJ1ZV0ge1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5zZWxlY3QyLWRyb3Bkb3duIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbnMuc2VsZWN0Mi1kcm9wZG93bi0tYWJvdmUge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnNlbGVjdDItZHJvcGRvd24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9ucy5zZWxlY3QyLWRyb3Bkb3duLS1iZWxvdyB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5pdWJfY29udGFpbmVyIHVsIGxpOmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5wYWdlTWV0YUhlYWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0NmIzODQ7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLnBhZ2VNZXRhSGVhZGVyIC5tZXRhSGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaGVpZ2h0OiA0MHB4O1xufVxuLnBhZ2VNZXRhSGVhZGVyIC5tZXRhSGVhZGVyIC5tZXRhSGVhZGVyLWxlZnQge1xuICBmbGV4LWdyb3c6IDE7XG59XG4ucGFnZU1ldGFIZWFkZXIgLm1ldGFIZWFkZXIgLm1ldGFIZWFkZXItbGVmdCAuc3RvY2stZXhwZXJ0IHtcbiAgaGVpZ2h0OiA0MnB4O1xuICB3aWR0aDogMTgwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1pbi13aWR0aDogYXV0bztcbn1cbi5wYWdlTWV0YUhlYWRlciAubWV0YUhlYWRlciAubWV0YUhlYWRlci1sZWZ0IC5zdG9jay1leHBlcnQgaHRtbCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4ucGFnZU1ldGFIZWFkZXIgLm1ldGFIZWFkZXIgLm1ldGFIZWFkZXItcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbi5wYWdlTWV0YUhlYWRlciAubWV0YUhlYWRlciB1bC5tZW51IGxpIGEge1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbmhlYWRlci5wYWdlSGVhZGVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA3NXB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcbiAgei1pbmRleDogOTtcbiAgZm9udC1zaXplOiAwO1xufVxuaGVhZGVyLnBhZ2VIZWFkZXIuZHJvcGRvd24tb3BlbiAuaGVhZGVyTWFpbiB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmYgIWltcG9ydGFudDtcbn1cbmhlYWRlci5wYWdlSGVhZGVyLmRyb3Bkb3duLW9wZW4gLmhlYWRlck1haW4gLm1lbnUuZHJvcGRvd24gPiBsaTpub3QoLmFjdGl2ZS10cmFpbCkgPiBhOm5vdCg6aG92ZXIpLFxuaGVhZGVyLnBhZ2VIZWFkZXIuZHJvcGRvd24tb3BlbiAuaGVhZGVyTWFpbiAuc2VhcmNoLW1vZGFsLWJ1dHRvbjpub3QoOmhvdmVyKSxcbmhlYWRlci5wYWdlSGVhZGVyLmRyb3Bkb3duLW9wZW4gLmhlYWRlck1haW4gLmxhbmd1YWdlLWxpbms6bm90KDpob3Zlcikge1xuICBjb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50O1xufVxuaGVhZGVyLnBhZ2VIZWFkZXIuZHJvcGRvd24tb3BlbiAuaGVhZGVyTWFpbiBhLmxvZ28gc3ZnICN0ZXh0IHtcbiAgZmlsbDogIzAwMDAwMCAhaW1wb3J0YW50O1xufVxuaGVhZGVyLnBhZ2VIZWFkZXIgLmdyaWQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGluaXRpYWw7XG59XG5oZWFkZXIucGFnZUhlYWRlci5oZWFkcm9vbS0tdG9wIHtcbiAgaGVpZ2h0OiAxNDBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCkgIWltcG9ydGFudDtcbn1cbmhlYWRlci5wYWdlSGVhZGVyLmhlYWRyb29tLS1ub3QtdG9wIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCkgIWltcG9ydGFudDtcbn1cbmhlYWRlci5wYWdlSGVhZGVyIC5oZWFkZXJNYWluR3JpZCB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzO1xuICBoZWlnaHQ6IDEwMHB4O1xufVxuaGVhZGVyLnBhZ2VIZWFkZXIgLmhlYWRlck1haW5HcmlkIC5oZWFkZXJNYWluUmlnaHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5oZWFkZXIucGFnZUhlYWRlciAuaGVhZGVyTWFpbkdyaWQgLmhlYWRlck1haW5SaWdodCAuY29udGV4dHVhbC1yZWdpb24ge1xuICBwb3NpdGlvbjogaW5pdGlhbDtcbn1cbmhlYWRlci5wYWdlSGVhZGVyIGEubG9nbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbmhlYWRlci5wYWdlSGVhZGVyIGEubG9nbyBzdmcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogNzBweDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuaGVhZGVyLnBhZ2VIZWFkZXIgYS5sb2dvIHN2ZyAqIHtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbn1cbmhlYWRlci5wYWdlSGVhZGVyIC5ibG9jay10dC1mb3VuZGF0aW9uLW1haW4tbWVudSB7XG4gIGZsZXgtZ3JvdzogMTtcbn1cbmhlYWRlci5wYWdlSGVhZGVyIC5ibG9jay10dC1mb3VuZGF0aW9uLWZvcm1lc3Bvc3Rvc2VhcmNoc2VhcmNoLWJsb2NrICoge1xuICBkaXNwbGF5OiBub25lO1xufVxuaGVhZGVyLnBhZ2VIZWFkZXIgYS5zZWFyY2gtbW9kYWwtYnV0dG9uIHtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG5oZWFkZXIucGFnZUhlYWRlciBhLnNlYXJjaC1tb2RhbC1idXR0b246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MDZcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMjJweDtcbn1cbmhlYWRlci5wYWdlSGVhZGVyIGEuc2VhcmNoLW1vZGFsLWJ1dHRvbi5vcGVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODBiXCI7XG59XG5oZWFkZXIucGFnZUhlYWRlciBhLnNlYXJjaC1tb2RhbC1idXR0b246aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjMDA5NzUwO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRvb2xiYXItdmVydGljYWwgaGVhZGVyLnBhZ2VIZWFkZXIuaGVhZHJvb20tLXRvcCB7XG4gICAgdG9wOiAzOXB4O1xuICB9XG4gIC5tbS1vcGVuaW5nIC50b29sYmFyLXZlcnRpY2FsIGhlYWRlci5wYWdlSGVhZGVyLmhlYWRyb29tLS10b3Age1xuICAgIHRvcDogMDtcbiAgfVxuICAudG9vbGJhci1maXhlZCBoZWFkZXIucGFnZUhlYWRlciwgLnRvb2xiYXItaG9yaXpvbnRhbCBoZWFkZXIucGFnZUhlYWRlciwgLnRvb2xiYXItdHJheS1vcGVuIGhlYWRlci5wYWdlSGVhZGVyIHtcbiAgICB0b3A6IDM5cHg7XG4gIH1cbiAgLnRvb2xiYXItaG9yaXpvbnRhbC50b29sYmFyLXRyYXktb3BlbiBoZWFkZXIucGFnZUhlYWRlciB7XG4gICAgdG9wOiA4M3B4O1xuICB9XG4gIC50b29sYmFyLWZpeGVkIGhlYWRlci5wYWdlSGVhZGVyLmhlYWRyb29tLS1ub3QtdG9wLCAudG9vbGJhci1ob3Jpem9udGFsIGhlYWRlci5wYWdlSGVhZGVyLmhlYWRyb29tLS1ub3QtdG9wLCAudG9vbGJhci10cmF5LW9wZW4gaGVhZGVyLnBhZ2VIZWFkZXIuaGVhZHJvb20tLW5vdC10b3Age1xuICAgIHRvcDogMzlweDtcbiAgfVxuICAudG9vbGJhci1ob3Jpem9udGFsLnRvb2xiYXItdHJheS1vcGVuIGhlYWRlci5wYWdlSGVhZGVyLmhlYWRyb29tLS1ub3QtdG9wIHtcbiAgICB0b3A6IDgzcHg7XG4gIH1cbn1cblxuLypcbiAqIFN0aWxpIGNvbXVuaSBwZXIgY29tcG9ydGFtZW50byBhcGVydG8gZSBzY3JvbGxcbiAqL1xuaGVhZGVyLnBhZ2VIZWFkZXIuaGVhZHJvb20tLW5vdC10b3Auc2xpZGVVcCAucGFnZU1ldGFIZWFkZXIsXG5oZWFkZXIucGFnZUhlYWRlci5oZWFkcm9vbS0tbm90LXRvcC5zbGlkZURvd24gLnBhZ2VNZXRhSGVhZGVyLFxuaGVhZGVyLmhlYWRyb29tLS1ub3QtdG9wIC5wYWdlTWV0YUhlYWRlciB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgaGVpZ2h0OiAwO1xufVxuaGVhZGVyLnBhZ2VIZWFkZXIuaGVhZHJvb20tLW5vdC10b3Auc2xpZGVVcCAuaGVhZGVyTWFpbkdyaWQsXG5oZWFkZXIucGFnZUhlYWRlci5oZWFkcm9vbS0tbm90LXRvcC5zbGlkZURvd24gLmhlYWRlck1haW5HcmlkLFxuaGVhZGVyLmhlYWRyb29tLS1ub3QtdG9wIC5oZWFkZXJNYWluR3JpZCB7XG4gIGhlaWdodDogNzVweDtcbn1cbmhlYWRlci5wYWdlSGVhZGVyLmhlYWRyb29tLS1ub3QtdG9wLnNsaWRlVXAgYS5sb2dvIHN2ZyxcbmhlYWRlci5wYWdlSGVhZGVyLmhlYWRyb29tLS1ub3QtdG9wLnNsaWRlRG93biBhLmxvZ28gc3ZnLFxuaGVhZGVyLmhlYWRyb29tLS1ub3QtdG9wIGEubG9nbyBzdmcge1xuICBoZWlnaHQ6IDU1cHg7XG59XG5cbi8qKlxuICogSGVhZHJvb20gLSBtZW51IG5vbiBhdHRhY2NhdG8gaW4gcGFnaW5hIG1hIHNjcm9sbCBkb3duXG4gKiAtIE5hc2NvbmRvIGxhIGJhcnJhIGluIGFsdG8gZGVpIGZvbGxvd1xuICogLSBSaWR1Y28gbGEgZGltZW5zaW9uZSBkZWwgbG9nbyBlIGxvIHNwYXppb1xuICovXG5oZWFkZXIucGFnZUhlYWRlci5oZWFkcm9vbS0tbm90LXRvcC5zbGlkZVVwIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNDBweCk7XG59XG5cbi8qKlxuICogSGVhZHJvb20gLSBtZW51IG5vbiBhdHRhY2NhdG8gaW4gcGFnaW5hIG1hIHNjcm9sbCB1cFxuICovXG5oZWFkZXIucGFnZUhlYWRlci5oZWFkcm9vbS0tbm90LXRvcCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDZweCByZ2JhKDAsIDAsIDAsIDAuMik7XG59XG5oZWFkZXIucGFnZUhlYWRlci5oZWFkcm9vbS0tbm90LXRvcCBhOm5vdChbcm9sZT1tZW51aXRlbV0pOm5vdCg6aG92ZXIpIHtcbiAgY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDtcbn1cbmhlYWRlci5wYWdlSGVhZGVyLmhlYWRyb29tLS1ub3QtdG9wIC5tYWluLW1lbnUgdWwuZHJvcGRvd24gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogNzVweDtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmhhbWJ1cmdlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLmhhbWJ1cmdlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApICFpbXBvcnRhbnQ7XG59XG5cbmh0bWwubW0td3JhcHBlcl9vcGVuaW5nIGhlYWRlci5wYWdlSGVhZGVyIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbmh0bWwubW0td3JhcHBlcl9vcGVuaW5nIGhlYWRlci5wYWdlSGVhZGVyIC5oZWFkZXJNYWluIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDtcbn1cbmh0bWwubW0td3JhcHBlcl9vcGVuaW5nIGhlYWRlci5wYWdlSGVhZGVyIC5oZWFkZXJNYWluIGE6bm90KFtyb2xlPW1lbnVpdGVtXSk6bm90KDpob3Zlcikge1xuICBjb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50O1xufVxuaHRtbC5tbS13cmFwcGVyX29wZW5pbmcgaGVhZGVyLnBhZ2VIZWFkZXIgLmhlYWRlck1haW4gYS5sb2dvIHN2ZyAjdGV4dCB7XG4gIGZpbGw6ICMwMDAwMDAgIWltcG9ydGFudDtcbn1cblxuYm9keS5zdG9wT3ZlcmZsb3cge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5ib2R5LnN0b3BPdmVyZmxvd1gge1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG5cbmJvZHkuc3RvcE92ZXJmbG93WSB7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbn1cblxuYm9keSAjbWFpbi5wYWdlTWFpbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogMTQwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbmJvZHkubm9Ub3BTcGFjZSAjbWFpbi5wYWdlTWFpbiB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbiNtb2JpbGUtbWVudSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgaGVpZ2h0OiAwO1xufVxuI21vYmlsZS1tZW51Lm1tLW1lbnUge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5tbS1tZW51Lm1tLW1lbnVfZnVsbHNjcmVlbiB7XG4gIG1hcmdpbi10b3A6IDE0MHB4O1xufVxuLm1tLW1lbnUgLm1tLXBhbmVsIHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbn1cbi5tbS1tZW51IC5tbS1wYW5lbCAubW0tYnRuX3ByZXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5tbS1tZW51IC5tbS1wYW5lbCAubW0tYnRuX3ByZXY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MTJcIjtcbiAgcG9zaXRpb246IGluaXRpYWw7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbn1cbi5tbS1tZW51IGEsXG4ubW0tbWVudSBhOmFjdGl2ZSxcbi5tbS1tZW51IGE6aG92ZXIsXG4ubW0tbWVudSBhOmxpbmssXG4ubW0tbWVudSBhOnZpc2l0ZWQge1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDAuOTA5MDkwOTA5MXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTgxODE4MTgxOHJlbTtcbiAgY29sb3I6ICM0YzRjNGU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4ubW0tbWVudSBhLlNlbGVjdGVkLFxuLm1tLW1lbnUgYTphY3RpdmUuU2VsZWN0ZWQsXG4ubW0tbWVudSBhOmhvdmVyLlNlbGVjdGVkLFxuLm1tLW1lbnUgYTpsaW5rLlNlbGVjdGVkLFxuLm1tLW1lbnUgYTp2aXNpdGVkLlNlbGVjdGVkIHtcbiAgY29sb3I6ICMwMDk3NTA7XG59XG4ubW0tbWVudSAubW0tbGlzdGl0ZW0ge1xuICBib3JkZXItY29sb3I6ICM0YzRjNGU7XG59XG4ubW0tbWVudSAubW0tbGlzdGl0ZW1fX2J0bjpub3QoLm1tLWxpc3RpdGVtX190ZXh0KSB7XG4gIGJvcmRlcjogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xufVxuLm1tLW1lbnUgLm1tLWxpc3RpdGVtX190ZXh0IHtcbiAgcGFkZGluZy10b3A6IDI1cHg7XG4gIHBhZGRpbmctYm90dG9tOiAyNXB4O1xufVxuLm1tLW1lbnUgLm1tLWJ0bjphZnRlcixcbi5tbS1tZW51IC5tbS1idG46YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDA5NzUwO1xufVxuLm1tLW1lbnUgLm1tLW5hdmJhciB7XG4gIGhlaWdodDogNTBweDtcbiAgYmFja2dyb3VuZDogIzAwOTc1MDtcbiAgYm9yZGVyLWNvbG9yOiAjYzhkNmQ2O1xufVxuLm1tLW1lbnUgLm1tLW5hdmJhciAubW0tbmF2YmFyX190aXRsZSB7XG4gIHBhZGRpbmc6IDEwcHggMCAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDEuMDkwOTA5MDkwOXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzYzNjM2MzYzNnJlbTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4ubW0tbWVudSAjbW0tMSAubW0tbmF2YmFyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5tbS1tZW51IC5tbS1wYW5lbF9oYXMtbmF2YmFyIHtcbiAgcGFkZGluZy10b3A6IDUwcHg7XG59XG4ubW0tbWVudSAubW0tbmF2YmFyc19ib3R0b20ge1xuICBib3JkZXItY29sb3I6IGJsYWNrO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3Ljk5ODc1ZW0pIHtcbiAgLm1tLW1lbnUgYSxcbiAgLm1tLW1lbnUgYTphY3RpdmUsXG4gIC5tbS1tZW51IGE6aG92ZXIsXG4gIC5tbS1tZW51IGE6bGluayxcbiAgLm1tLW1lbnUgYTp2aXNpdGVkIHtcbiAgICBmb250LXNpemU6IDAuNzI3MjcyNzI3M3JlbTtcbiAgICBsaW5lLWhlaWdodDogMC44MTgxODE4MTgycmVtO1xuICB9XG4gIC5tbS1tZW51IC5tbS1saXN0aXRlbV9fdGV4dCB7XG4gICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gIH1cbiAgLm1tLW1lbnUgLm1tLW5hdmJhciAubW0tbmF2YmFyX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAwLjkwOTA5MDkwOTFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMTgxODE4MTgxOHJlbTtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubW0tcGFnZS5tbS1zbGlkZW91dCB7XG4gICAgei1pbmRleDogYXV0byAhaW1wb3J0YW50O1xuICB9XG59XG5ib2R5LmhlYWRyb29tLXBpbm5lZCAubW0tbWVudS5tbS1tZW51X2Z1bGxzY3JlZW4ge1xuICBtYXJnaW4tdG9wOiAxNDBweDtcbn1cblxuYm9keS5oZWFkcm9vbS1ub3QtdG9wLmhlYWRyb29tLXBpbm5lZCAubW0tbWVudS5tbS1tZW51X2Z1bGxzY3JlZW4sXG5ib2R5LmhlYWRyb29tLW5vdC10b3AgLm1tLW1lbnUubW0tbWVudV9mdWxsc2NyZWVuIHtcbiAgbWFyZ2luLXRvcDogNzVweDtcbn1cblxuZm9vdGVyLnBhZ2VGb290ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDZiMzg0O1xuICBwYWRkaW5nOiA3NXB4IDAgNjZweCAwO1xufVxuZm9vdGVyLnBhZ2VGb290ZXIgcCxcbmZvb3Rlci5wYWdlRm9vdGVyIGEge1xuICBmb250LXNpemU6IDAuNzI3MjcyNzI3M3JlbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsZXR0ZXItc3BhY2luZzogMHB4O1xuICBsaW5lLWhlaWdodDogMS4wOTA5MDkwOTA5cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuZm9vdGVyLnBhZ2VGb290ZXIgLmZvb3Rlck1pZExlZnRBcmVhIC5ib2R5IC5jZWxsIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cbmZvb3Rlci5wYWdlRm9vdGVyIC5mb290ZXJNaWRSaWdodEFyZWEge1xuICBtYXJnaW46IDA7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICBmb290ZXIucGFnZUZvb3RlciAuZm9vdGVyTWlkUmlnaHRBcmVhIHtcbiAgICBtYXJnaW46IGF1dG87XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45OTg3NWVtKSB7XG4gIGZvb3Rlci5wYWdlRm9vdGVyIHtcbiAgICBwYWRkaW5nOiA0MHB4IDAgNjZweCAwO1xuICB9XG4gIGZvb3Rlci5wYWdlRm9vdGVyIHAsIGZvb3Rlci5wYWdlRm9vdGVyIGEge1xuICAgIGZvbnQtc2l6ZTogMC42MzYzNjM2MzY0cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAwLjgxODE4MTgxODJyZW07XG4gIH1cbiAgZm9vdGVyLnBhZ2VGb290ZXIgLmNlbGxMb2dvIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG4gIGZvb3Rlci5wYWdlRm9vdGVyIC5jZWxsTG9nbyAubG9nbyBzdmcge1xuICAgIGhlaWdodDogODBweDtcbiAgfVxuICBmb290ZXIucGFnZUZvb3RlciAubWVudSB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgfVxufVxuXG4vKipcbiAqIEdlbmVyYXppb25lIGNsYXNzaSBhZCBob2MgcGVyIHNwYXppYXR1cmUgdG9wIGUgYm90dG9tLCBhIGRpZmZlcmVuemFcbiAqICBkZWxsYSBzb2x1emlvbmUgcHJlY2VkZW50ZSBxdWVzdGEgZ2VuZXJhIG1hcmdpbiBFIHBhZGRpbmcgcGVyIG9nbmkgc3BhemlhdHVyYS5cbiAqXG4gKiBMZSBjbGFzc2kgc29ubyBuZWxsYSBmb3JtYSBcIml0ZW0tc3BhY2UtdG9wLTBcIlxuICpcbiAqIGl0ZW0tc3BhY2UtPHBvc2l0aW9uPi08aWQ+XG4gKlxuICogVmFyaWFudGU6XG4gKiAtIGNvbiBiYWNrZ3JvdW5kIHNpYSBtYXJnaW4gY2hlIHBhZGRpbmcgKGl0ZW0tc3BhY2UtPHBvc2l0aW9uPi08aWQ+LWJnKVxuICogLSBzZW56YSBiYWNrZ3JvdW5kIHNvbG8gbWFyZ2luIChpdGVtLXNwYWNlLTxwb3NpdGlvbj4tPGlkPilcbiAqXG5cbiAqKi9cbi5pdGVtLXNwYWNlLXRvcC0wIHtcbiAgbWFyZ2luLXRvcDogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5pdGVtLXNwYWNlLWJvdHRvbS0wIHtcbiAgbWFyZ2luLWJvdHRvbTogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5pdGVtLXNwYWNlLXRvcC0wLWJnIHtcbiAgbWFyZ2luLXRvcDogMHB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctdG9wOiAwcHggIWltcG9ydGFudDtcbn1cblxuLml0ZW0tc3BhY2UtYm90dG9tLTAtYmcge1xuICBtYXJnaW4tYm90dG9tOiAwcHggIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDBweCAhaW1wb3J0YW50O1xufVxuXG4uaXRlbS1zcGFjZS10b3AtMSB7XG4gIG1hcmdpbi10b3A6IDEwcHggIWltcG9ydGFudDtcbn1cblxuLml0ZW0tc3BhY2UtYm90dG9tLTEge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5pdGVtLXNwYWNlLXRvcC0xLWJnIHtcbiAgbWFyZ2luLXRvcDogMTBweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXRvcDogMTBweCAhaW1wb3J0YW50O1xufVxuXG4uaXRlbS1zcGFjZS1ib3R0b20tMS1iZyB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHggIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDEwcHggIWltcG9ydGFudDtcbn1cblxuLml0ZW0tc3BhY2UtdG9wLTIge1xuICBtYXJnaW4tdG9wOiAyMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5pdGVtLXNwYWNlLWJvdHRvbS0yIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweCAhaW1wb3J0YW50O1xufVxuXG4uaXRlbS1zcGFjZS10b3AtMi1iZyB7XG4gIG1hcmdpbi10b3A6IDIwcHggIWltcG9ydGFudDtcbiAgcGFkZGluZy10b3A6IDIwcHggIWltcG9ydGFudDtcbn1cblxuLml0ZW0tc3BhY2UtYm90dG9tLTItYmcge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5pdGVtLXNwYWNlLXRvcC0zIHtcbiAgbWFyZ2luLXRvcDogNDBweCAhaW1wb3J0YW50O1xufVxuXG4uaXRlbS1zcGFjZS1ib3R0b20tMyB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHggIWltcG9ydGFudDtcbn1cblxuLml0ZW0tc3BhY2UtdG9wLTMtYmcge1xuICBtYXJnaW4tdG9wOiA0MHB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctdG9wOiA0MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5pdGVtLXNwYWNlLWJvdHRvbS0zLWJnIHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogNDBweCAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuaXRlbS1zcGFjZS10b3AtMCB7XG4gICAgbWFyZ2luLXRvcDogMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLml0ZW0tc3BhY2UtYm90dG9tLTAge1xuICAgIG1hcmdpbi1ib3R0b206IDBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5pdGVtLXNwYWNlLXRvcC0wLWJnIHtcbiAgICBtYXJnaW4tdG9wOiAwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXRvcDogMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLml0ZW0tc3BhY2UtYm90dG9tLTAtYmcge1xuICAgIG1hcmdpbi1ib3R0b206IDBweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAwcHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLml0ZW0tc3BhY2UtdG9wLTEge1xuICAgIG1hcmdpbi10b3A6IDIwcHggIWltcG9ydGFudDtcbiAgfVxuICAuaXRlbS1zcGFjZS1ib3R0b20tMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5pdGVtLXNwYWNlLXRvcC0xLWJnIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy10b3A6IDIwcHggIWltcG9ydGFudDtcbiAgfVxuICAuaXRlbS1zcGFjZS1ib3R0b20tMS1iZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5pdGVtLXNwYWNlLXRvcC0yIHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLml0ZW0tc3BhY2UtYm90dG9tLTIge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHggIWltcG9ydGFudDtcbiAgfVxuICAuaXRlbS1zcGFjZS10b3AtMi1iZyB7XG4gICAgbWFyZ2luLXRvcDogNDBweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctdG9wOiA0MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLml0ZW0tc3BhY2UtYm90dG9tLTItYmcge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuaXRlbS1zcGFjZS10b3AtMyB7XG4gICAgbWFyZ2luLXRvcDogODBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5pdGVtLXNwYWNlLWJvdHRvbS0zIHtcbiAgICBtYXJnaW4tYm90dG9tOiA4MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLml0ZW0tc3BhY2UtdG9wLTMtYmcge1xuICAgIG1hcmdpbi10b3A6IDgwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXRvcDogODBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5pdGVtLXNwYWNlLWJvdHRvbS0zLWJnIHtcbiAgICBtYXJnaW4tYm90dG9tOiA4MHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDgwcHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLml0ZW0tc3BhY2UtdG9wLTAge1xuICAgIG1hcmdpbi10b3A6IDBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5pdGVtLXNwYWNlLWJvdHRvbS0wIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHggIWltcG9ydGFudDtcbiAgfVxuICAuaXRlbS1zcGFjZS10b3AtMC1iZyB7XG4gICAgbWFyZ2luLXRvcDogMHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy10b3A6IDBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5pdGVtLXNwYWNlLWJvdHRvbS0wLWJnIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5pdGVtLXNwYWNlLXRvcC0xIHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLml0ZW0tc3BhY2UtYm90dG9tLTEge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHggIWltcG9ydGFudDtcbiAgfVxuICAuaXRlbS1zcGFjZS10b3AtMS1iZyB7XG4gICAgbWFyZ2luLXRvcDogNDBweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctdG9wOiA0MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLml0ZW0tc3BhY2UtYm90dG9tLTEtYmcge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaXRlbS1zcGFjZS10b3AtMiB7XG4gICAgbWFyZ2luLXRvcDogODBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5pdGVtLXNwYWNlLWJvdHRvbS0yIHtcbiAgICBtYXJnaW4tYm90dG9tOiA4MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLml0ZW0tc3BhY2UtdG9wLTItYmcge1xuICAgIG1hcmdpbi10b3A6IDgwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXRvcDogODBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5pdGVtLXNwYWNlLWJvdHRvbS0yLWJnIHtcbiAgICBtYXJnaW4tYm90dG9tOiA4MHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDgwcHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLml0ZW0tc3BhY2UtdG9wLTMge1xuICAgIG1hcmdpbi10b3A6IDEyMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLml0ZW0tc3BhY2UtYm90dG9tLTMge1xuICAgIG1hcmdpbi1ib3R0b206IDEyMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLml0ZW0tc3BhY2UtdG9wLTMtYmcge1xuICAgIG1hcmdpbi10b3A6IDEyMHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy10b3A6IDEyMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLml0ZW0tc3BhY2UtYm90dG9tLTMtYmcge1xuICAgIG1hcmdpbi1ib3R0b206IDEyMHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDEyMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi8qKlxuICogQmxvY2NoaSBEcnVwYWwgQmFzaWMgYmxvY2tcbiAqIEdlc3RpdGkgZGEgL2FkbWluL3N0cnVjdHVyZS9ibG9jay9ibG9jay1jb250ZW50XG4gKi9cbi5ibG9jay10dC1mb3VuZGF0aW9uLXBpZWRpcGFnaW5hIHVsLm1lbnUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sdW1uLWNvdW50OiAyO1xufVxuLmJsb2NrLXR0LWZvdW5kYXRpb24tcGllZGlwYWdpbmEgdWwubWVudSBsaSBhIHtcbiAgcGFkZGluZzogOHB4IDA7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuYmxvY2stdHQtZm91bmRhdGlvbi1waWVkaXBhZ2luYSB1bC5tZW51IHtcbiAgICBjb2x1bW4tY291bnQ6IDM7XG4gIH1cbn1cblxuLyoqXG4gKiBCcmVhZGNydW1ic1xuICogQmxvY2NvIGRpIHNpc3RlbWFcbiAqL1xuLmJsb2NrLXN5c3RlbS5ibG9jay1icmVhZGNydW1iIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuLmJsb2NrLXN5c3RlbS5ibG9jay1icmVhZGNydW1iIHVsLmJyZWFkY3J1bWJzIHtcbiAgbWFyZ2luOiAwO1xufVxuLmJsb2NrLXN5c3RlbS5ibG9jay1icmVhZGNydW1iIHVsLmJyZWFkY3J1bWJzIGxpLCAuYmxvY2stc3lzdGVtLmJsb2NrLWJyZWFkY3J1bWIgdWwuYnJlYWRjcnVtYnMgYSwgLmJsb2NrLXN5c3RlbS5ibG9jay1icmVhZGNydW1iIHVsLmJyZWFkY3J1bWJzIHNwYW4ge1xuICBmb250LXNpemU6IDAuNTQ1NDU0NTQ1NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDAuNjM2MzYzNjM2NHJlbTtcbn1cbi5ibG9jay1zeXN0ZW0uYmxvY2stYnJlYWRjcnVtYiB1bC5icmVhZGNydW1icyBsaTpub3QoOmxhc3QtY2hpbGQpOmFmdGVyIHtcbiAgY29udGVudDogXCI+XCI7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmJsb2NrLXN5c3RlbS5ibG9jay1icmVhZGNydW1iIHVsLmJyZWFkY3J1bWJzIGE6aG92ZXIge1xuICBjb2xvcjogIzAwMDAwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4vKipcbiAqIEhlYWRlciBiYW5uZXIgY3VzdG9tXG4gKiBHZW5lcmF0byBkYSB0dF91dGlsaXRpZXMvUGx1Z2luL0Jsb2NrL0hlYWRlckJhbm5lckJsb2NrXG4gKiBTdGFtcGF0byBpbiB0dF91dGlsaXRpZXMvdGVtcGxhdGVzL2hlYWRlci1iYW5uZXItYmxvY2suaHRtbC50d2lnXG4gKi9cbi5ibG9jay10dC11dGlsaXRpZXMuYmxvY2staGVhZGVyLWJhbm5lci1ibG9jayB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmJsb2NrLXR0LXV0aWxpdGllcy5ibG9jay1oZWFkZXItYmFubmVyLWJsb2NrIC5oYk1haW5XcmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmJsb2NrLXR0LXV0aWxpdGllcy5ibG9jay1oZWFkZXItYmFubmVyLWJsb2NrIC5ncmlkQmFubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgei1pbmRleDogMTtcbn1cbi5ibG9jay10dC11dGlsaXRpZXMuYmxvY2staGVhZGVyLWJhbm5lci1ibG9jayAuYmFubmVyQ2VsbCB7XG4gIG1pbi1oZWlnaHQ6IDMyMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcGFkZGluZy10b3A6IDUwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xufVxuLmJsb2NrLXR0LXV0aWxpdGllcy5ibG9jay1oZWFkZXItYmFubmVyLWJsb2NrIC5iZ0NvdmVyQWJzOmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4zKTtcbn1cbi5ibG9jay10dC11dGlsaXRpZXMuYmxvY2staGVhZGVyLWJhbm5lci1ibG9jayBoMS5wYWdlVGl0bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMTZweCAwO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmJsb2NrLXR0LXV0aWxpdGllcy5ibG9jay1oZWFkZXItYmFubmVyLWJsb2NrIGgzLnBhZ2VTdWJ0aXRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5ibG9jay10dC11dGlsaXRpZXMuYmxvY2staGVhZGVyLWJhbm5lci1ibG9jayAuaGJNYWluV3JhcHBlci5iZ2RlZmF1bHQgLmJnQ292ZXJBYnM6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4uYmxvY2stdHQtdXRpbGl0aWVzLmJsb2NrLWhlYWRlci1iYW5uZXItYmxvY2sgLmhiTWFpbldyYXBwZXIuYmdkZWZhdWx0IGgxLnBhZ2VUaXRsZSxcbi5ibG9jay10dC11dGlsaXRpZXMuYmxvY2staGVhZGVyLWJhbm5lci1ibG9jayAuaGJNYWluV3JhcHBlci5iZ2RlZmF1bHQgaDMucGFnZVN1YnRpdGxlIHtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uYmxvY2stdHQtdXRpbGl0aWVzLmJsb2NrLWhlYWRlci1iYW5uZXItYmxvY2sgLmhiSGVhZGVyVHlwZS1ub25lIC5ncmlkQmFubmVyIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuYm9keS5oZWFkZXJCaWdnZXIgLmJsb2NrLXR0LXV0aWxpdGllcy5ibG9jay1oZWFkZXItYmFubmVyLWJsb2NrIC5oYk1haW5XcmFwcGVyIHtcbiAgcGFkZGluZy1ib3R0b206IDIwMHB4O1xufVxuXG4vKipcbiAqIEJsb2NjbyBkZWwgY2FtYmlvIGxpbmd1YVxuKi9cbi5ibG9jay1sYW5ndWFnZSB7XG4gIG1hcmdpbi1sZWZ0OiAyNXB4O1xufVxuLmJsb2NrLWxhbmd1YWdlIHVsLmxpbmtzIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4uYmxvY2stbGFuZ3VhZ2UgdWwubGlua3MgbGkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG4uYmxvY2stbGFuZ3VhZ2UgdWwubGlua3MgbGkgYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjgxODE4MTgxODJyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsaW5lLWhlaWdodDogMThweDtcbn1cbi5ibG9jay1sYW5ndWFnZSB1bC5saW5rcyBsaSBhOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogIzAwOTc1MDtcbn1cbi5ibG9jay1sYW5ndWFnZSB7XG4gIG1hcmdpbjogMCAyMHB4O1xufVxuXG4uYmxvY2stdHQtdXRpbGl0aWVzLmJsb2NrLXR0LW1hcC1ibG9jayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5ibG9jay10dC11dGlsaXRpZXMuYmxvY2stdHQtbWFwLWJsb2NrIC5jZWxsTWFwLFxuLmJsb2NrLXR0LXV0aWxpdGllcy5ibG9jay10dC1tYXAtYmxvY2sgLmNlbGxTaWRlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmJsb2NrLXR0LXV0aWxpdGllcy5ibG9jay10dC1tYXAtYmxvY2sgLmxpc3RTaWRlYmFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmJsb2NrLXR0LXV0aWxpdGllcy5ibG9jay10dC1tYXAtYmxvY2sgLmxpc3RQYW5lbCB7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjM1cyBlYXNlLWluLW91dCwgei1pbmRleCAwLjNzIGxpbmVhcjtcbiAgdHJhbnNpdGlvbi1kZWxheTogMHMsIDAuMnM7XG59XG4uYmxvY2stdHQtdXRpbGl0aWVzLmJsb2NrLXR0LW1hcC1ibG9jayAubGlzdFBhbmVsLm9mZiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMDAlLCAwKTtcbn1cbi5ibG9jay10dC11dGlsaXRpZXMuYmxvY2stdHQtbWFwLWJsb2NrIC5saXN0UGFuZWwgdWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbn1cbi5ibG9jay10dC11dGlsaXRpZXMuYmxvY2stdHQtbWFwLWJsb2NrIC5saXN0UGFuZWwgbGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwIDAgMTVweCAwO1xuICBwYWRkaW5nOiAwIDYwcHggMCA0MHB4O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG59XG4uYmxvY2stdHQtdXRpbGl0aWVzLmJsb2NrLXR0LW1hcC1ibG9jayAubGlzdFBhbmVsIGxpOmFmdGVyIHtcbiAgY29udGVudDogXCJcXGU4MGRcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDMwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xufVxuLmJsb2NrLXR0LXV0aWxpdGllcy5ibG9jay10dC1tYXAtYmxvY2sgLmxpc3RQYW5lbCBsaTpob3ZlcjphZnRlciB7XG4gIHJpZ2h0OiAyMHB4O1xufVxuLmJsb2NrLXR0LXV0aWxpdGllcy5ibG9jay10dC1tYXAtYmxvY2sgLmRldGFpbHNQYW5lbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMDAlLCAwKTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMzVzIGVhc2UtaW4tb3V0LCB6LWluZGV4IDAuM3MgbGluZWFyO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwcywgMC4ycztcbn1cbi5ibG9jay10dC11dGlsaXRpZXMuYmxvY2stdHQtbWFwLWJsb2NrIC5kZXRhaWxzUGFuZWwub3BlbiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xufVxuLmJsb2NrLXR0LXV0aWxpdGllcy5ibG9jay10dC1tYXAtYmxvY2sgLmRldGFpbHNQYW5lbCAuZGV0UGFuZWxCYWNrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDQwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIG9wYWNpdHk6IDE7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNDQsIDI0NCwgMjQ0KTtcbiAgcGFkZGluZzogMCA0MHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gIGNvbG9yOiAjNDZiMzg0O1xufVxuLmJsb2NrLXR0LXV0aWxpdGllcy5ibG9jay10dC1tYXAtYmxvY2sgLmRldGFpbHNQYW5lbCAuZGV0UGFuZWxCYWNrIHNwYW4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG4uYmxvY2stdHQtdXRpbGl0aWVzLmJsb2NrLXR0LW1hcC1ibG9jayAuZGV0YWlsc1BhbmVsIC5kZXRQYW5lbEJhY2sgc3BhbjpiZWZvcmUge1xuICBmb250LXNpemU6IDIycHg7XG4gIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5ibG9jay10dC11dGlsaXRpZXMuYmxvY2stdHQtbWFwLWJsb2NrIC5kZXRhaWxzUGFuZWwgLmRldFBhbmVsQmFjazpob3ZlciB7XG4gIGNvbG9yOiAjMDA5NzUwO1xufVxuLmJsb2NrLXR0LXV0aWxpdGllcy5ibG9jay10dC1tYXAtYmxvY2sgLmRldGFpbHNQYW5lbCAuZGV0UGFuZWxXcmFwIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDYwcHgpO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG59XG4uYmxvY2stdHQtdXRpbGl0aWVzLmJsb2NrLXR0LW1hcC1ibG9jayAuZGV0YWlsc1BhbmVsIC5kZXRQYW5lbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmJsb2NrLXR0LXV0aWxpdGllcy5ibG9jay10dC1tYXAtYmxvY2sgLmRldGFpbHNQYW5lbCBwLmNvdW50cnktdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICMwMDk3NTA7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG4uYmxvY2stdHQtdXRpbGl0aWVzLmJsb2NrLXR0LW1hcC1ibG9jayAuZGV0YWlsc1BhbmVsIC5jb3VudHlEZXNjIHAge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuLmJsb2NrLXR0LXV0aWxpdGllcy5ibG9jay10dC1tYXAtYmxvY2sgLmRldGFpbHNQYW5lbCAuY291bnR5RGVzYyBwOmxhc3Qtb2YtdHlwZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4uYmxvY2stdHQtdXRpbGl0aWVzLmJsb2NrLXR0LW1hcC1ibG9jayAuZGV0YWlsc1BhbmVsIC5jb3VudHlEZXNjIHAge1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXNpemU6IDAuNzI3MjcyNzI3M3JlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjcyNzI3MjcyN3JlbTtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uYmxvY2stdHQtdXRpbGl0aWVzLmJsb2NrLXR0LW1hcC1ibG9jayAuZGV0YWlsc1BhbmVsIGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogN3B4IDA7XG4gIHBhZGRpbmc6IDdweCAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG59XG4uYmxvY2stdHQtdXRpbGl0aWVzLmJsb2NrLXR0LW1hcC1ibG9jayAuZGV0YWlsc1BhbmVsIGxpOmJlZm9yZSwgLmJsb2NrLXR0LXV0aWxpdGllcy5ibG9jay10dC1tYXAtYmxvY2sgLmRldGFpbHNQYW5lbCBsaTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDFweDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbn1cbi5ibG9jay10dC11dGlsaXRpZXMuYmxvY2stdHQtbWFwLWJsb2NrIC5kZXRhaWxzUGFuZWwgbGk6YmVmb3JlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICM0YzRjNGU7XG4gIHotaW5kZXg6IDA7XG59XG4uYmxvY2stdHQtdXRpbGl0aWVzLmJsb2NrLXR0LW1hcC1ibG9jayAuZGV0YWlsc1BhbmVsIGxpOmFmdGVyIHtcbiAgd2lkdGg6IDA7XG4gIGJhY2tncm91bmQ6ICM0YzRjNGU7XG4gIHotaW5kZXg6IDE7XG59XG4uYmxvY2stdHQtdXRpbGl0aWVzLmJsb2NrLXR0LW1hcC1ibG9jayAuZGV0YWlsc1BhbmVsIGxpOmhvdmVyIHtcbiAgY29sb3I6ICM3YTk4OTk7XG59XG4uYmxvY2stdHQtdXRpbGl0aWVzLmJsb2NrLXR0LW1hcC1ibG9jayAuZGV0YWlsc1BhbmVsIGxpOmhvdmVyOmFmdGVyIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4uYmxvY2stdHQtdXRpbGl0aWVzLmJsb2NrLXR0LW1hcC1ibG9jayAuZGV0YWlsc1BhbmVsIHVsLnBsYWNlc0xpc3Qge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMzBweCAwIDAgMDtcbn1cbi5ibG9jay10dC11dGlsaXRpZXMuYmxvY2stdHQtbWFwLWJsb2NrIC5kZXRhaWxzUGFuZWwgdWwucGxhY2VzTGlzdCBsaSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGJvcmRlci1ib3R0b206IDFwcyBzb2xpZCAjNGM0YzRlO1xufVxuLmJsb2NrLXR0LXV0aWxpdGllcy5ibG9jay10dC1tYXAtYmxvY2sgLmRldGFpbHNQYW5lbCB1bC5wbGFjZXNMaXN0IGxpIHNwYW4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxleC1ncm93OiAxO1xuICBmb250LXdlaWdodDogNzAwO1xufVxuLmJsb2NrLXR0LXV0aWxpdGllcy5ibG9jay10dC1tYXAtYmxvY2sgI3dvcmxkTWFwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA2MDBweDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAuYmxvY2stdHQtdXRpbGl0aWVzLmJsb2NrLXR0LW1hcC1ibG9jayAubGlzdFBhbmVsIGxpIHtcbiAgICBtYXJnaW46IDAgMCAxMHB4IDA7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM2MzYzNjM2MzZyZW07XG4gIH1cbiAgLmJsb2NrLXR0LXV0aWxpdGllcy5ibG9jay10dC1tYXAtYmxvY2sgLmxpc3RQYW5lbCBsaTphZnRlciB7XG4gICAgcmlnaHQ6IDIwcHg7XG4gIH1cbiAgLmJsb2NrLXR0LXV0aWxpdGllcy5ibG9jay10dC1tYXAtYmxvY2sgLmRldGFpbHNQYW5lbCAuZGV0UGFuZWwge1xuICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgfVxuICAuYmxvY2stdHQtdXRpbGl0aWVzLmJsb2NrLXR0LW1hcC1ibG9jayAuZGV0YWlsc1BhbmVsIGg0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zNjM2MzYzNjM2cmVtO1xuICB9XG4gIC5ibG9jay10dC11dGlsaXRpZXMuYmxvY2stdHQtbWFwLWJsb2NrIC5kZXRhaWxzUGFuZWwgdWwucGxhY2VzTGlzdCB7XG4gICAgbWFyZ2luOiAyMHB4IDAgMCAwO1xuICB9XG4gIC5ibG9jay10dC11dGlsaXRpZXMuYmxvY2stdHQtbWFwLWJsb2NrICN3b3JsZE1hcCB7XG4gICAgaGVpZ2h0OiA2MDBweDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3Ljk5ODc1ZW0pIHtcbiAgLmJsb2NrLXR0LXV0aWxpdGllcy5ibG9jay10dC1tYXAtYmxvY2sgI3dvcmxkTWFwIHtcbiAgICBoZWlnaHQ6IDQwMHB4O1xuICB9XG59XG5cbi5ibG9jay1zdWJzY3JpYmUtYmxvY2sgLmJsb2NrLXRpdGxlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYmxvY2stdW5zdWJzY3JpYmUtYmxvY2sgLmJsb2NrLXRpdGxlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vKipcbiAqIFJlZ29sZSBnZW5lcmljaGUgcGVyIGZvcm0gZSB3ZWJmb3JtXG4gKiBEZWZpbml6aW9uaSB2YWxpZGUgcGVyIHR1dHRpXG4gKi9cbjo6cGxhY2Vob2xkZXIge1xuICAvKiBDaHJvbWUsIEZpcmVmb3gsIE9wZXJhLCBTYWZhcmkgMTAuMSsgKi9cbiAgY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDtcbiAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xufVxuXG46LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgLyogSW50ZXJuZXQgRXhwbG9yZXIgMTAtMTEgKi9cbiAgY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDtcbiAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xufVxuXG46Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIC8qIE1pY3Jvc29mdCBFZGdlICovXG4gIGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG4gIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbn1cblxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0sXG4uc3Vic2NyaWJlLWZvcm0sXG4udW5zdWJzY3JpYmUtZm9ybSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSAuanMtZm9ybS1pdGVtLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gLmpzLWZvcm0taXRlbSxcbi5zdWJzY3JpYmUtZm9ybSAuanMtZm9ybS1pdGVtLFxuLnVuc3Vic2NyaWJlLWZvcm0gLmpzLWZvcm0taXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSAuY2VsbCxcbmZvcm0udXNlci1sb2dpbi1mb3JtIC5jZWxsLFxuLnN1YnNjcmliZS1mb3JtIC5jZWxsLFxuLnVuc3Vic2NyaWJlLWZvcm0gLmNlbGwge1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIGZpZWxkc2V0LFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gZmllbGRzZXQsXG4uc3Vic2NyaWJlLWZvcm0gZmllbGRzZXQsXG4udW5zdWJzY3JpYmUtZm9ybSBmaWVsZHNldCB7XG4gIGJvcmRlcjogMCBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIGZpZWxkc2V0IGxlZ2VuZCxcbmZvcm0udXNlci1sb2dpbi1mb3JtIGZpZWxkc2V0IGxlZ2VuZCxcbi5zdWJzY3JpYmUtZm9ybSBmaWVsZHNldCBsZWdlbmQsXG4udW5zdWJzY3JpYmUtZm9ybSBmaWVsZHNldCBsZWdlbmQge1xuICBkaXNwbGF5OiBub25lO1xufVxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIGxhYmVsIGEsXG5mb3JtLnVzZXItbG9naW4tZm9ybSBsYWJlbCBhLFxuLnN1YnNjcmliZS1mb3JtIGxhYmVsIGEsXG4udW5zdWJzY3JpYmUtZm9ybSBsYWJlbCBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gbGFiZWwgYTpob3ZlcixcbmZvcm0udXNlci1sb2dpbi1mb3JtIGxhYmVsIGE6aG92ZXIsXG4uc3Vic2NyaWJlLWZvcm0gbGFiZWwgYTpob3Zlcixcbi51bnN1YnNjcmliZS1mb3JtIGxhYmVsIGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gaW5wdXRbdHlwZT10ZXh0XSxcbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSBpbnB1dFt0eXBlPWVtYWlsXSxcbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSBpbnB1dFt0eXBlPWRhdGVdLFxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIGlucHV0W3R5cGU9bnVtYmVyXSxcbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSBpbnB1dFt0eXBlPXBhc3N3b3JkXSxcbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSBpbnB1dFt0eXBlPXRlbF0sXG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gdGV4dGFyZWEsXG5mb3JtLnVzZXItbG9naW4tZm9ybSBpbnB1dFt0eXBlPXRleHRdLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gaW5wdXRbdHlwZT1lbWFpbF0sXG5mb3JtLnVzZXItbG9naW4tZm9ybSBpbnB1dFt0eXBlPWRhdGVdLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gaW5wdXRbdHlwZT1udW1iZXJdLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gaW5wdXRbdHlwZT1wYXNzd29yZF0sXG5mb3JtLnVzZXItbG9naW4tZm9ybSBpbnB1dFt0eXBlPXRlbF0sXG5mb3JtLnVzZXItbG9naW4tZm9ybSB0ZXh0YXJlYSxcbi5zdWJzY3JpYmUtZm9ybSBpbnB1dFt0eXBlPXRleHRdLFxuLnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9ZW1haWxdLFxuLnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9ZGF0ZV0sXG4uc3Vic2NyaWJlLWZvcm0gaW5wdXRbdHlwZT1udW1iZXJdLFxuLnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9cGFzc3dvcmRdLFxuLnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9dGVsXSxcbi5zdWJzY3JpYmUtZm9ybSB0ZXh0YXJlYSxcbi51bnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9dGV4dF0sXG4udW5zdWJzY3JpYmUtZm9ybSBpbnB1dFt0eXBlPWVtYWlsXSxcbi51bnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9ZGF0ZV0sXG4udW5zdWJzY3JpYmUtZm9ybSBpbnB1dFt0eXBlPW51bWJlcl0sXG4udW5zdWJzY3JpYmUtZm9ybSBpbnB1dFt0eXBlPXBhc3N3b3JkXSxcbi51bnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9dGVsXSxcbi51bnN1YnNjcmliZS1mb3JtIHRleHRhcmVhIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxOHB4IDIwcHg7XG4gIGJvcmRlcjogMCBub25lO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3gtc2hhZG93OiAwIDJweCAzcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG59XG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gaW5wdXRbdHlwZT10ZXh0XTpmb2N1cyxcbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSBpbnB1dFt0eXBlPWVtYWlsXTpmb2N1cyxcbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSBpbnB1dFt0eXBlPWRhdGVdOmZvY3VzLFxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIGlucHV0W3R5cGU9bnVtYmVyXTpmb2N1cyxcbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSBpbnB1dFt0eXBlPXBhc3N3b3JkXTpmb2N1cyxcbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSBpbnB1dFt0eXBlPXRlbF06Zm9jdXMsXG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gdGV4dGFyZWE6Zm9jdXMsXG5mb3JtLnVzZXItbG9naW4tZm9ybSBpbnB1dFt0eXBlPXRleHRdOmZvY3VzLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gaW5wdXRbdHlwZT1lbWFpbF06Zm9jdXMsXG5mb3JtLnVzZXItbG9naW4tZm9ybSBpbnB1dFt0eXBlPWRhdGVdOmZvY3VzLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gaW5wdXRbdHlwZT1udW1iZXJdOmZvY3VzLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gaW5wdXRbdHlwZT1wYXNzd29yZF06Zm9jdXMsXG5mb3JtLnVzZXItbG9naW4tZm9ybSBpbnB1dFt0eXBlPXRlbF06Zm9jdXMsXG5mb3JtLnVzZXItbG9naW4tZm9ybSB0ZXh0YXJlYTpmb2N1cyxcbi5zdWJzY3JpYmUtZm9ybSBpbnB1dFt0eXBlPXRleHRdOmZvY3VzLFxuLnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9ZW1haWxdOmZvY3VzLFxuLnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9ZGF0ZV06Zm9jdXMsXG4uc3Vic2NyaWJlLWZvcm0gaW5wdXRbdHlwZT1udW1iZXJdOmZvY3VzLFxuLnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9cGFzc3dvcmRdOmZvY3VzLFxuLnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9dGVsXTpmb2N1cyxcbi5zdWJzY3JpYmUtZm9ybSB0ZXh0YXJlYTpmb2N1cyxcbi51bnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9dGV4dF06Zm9jdXMsXG4udW5zdWJzY3JpYmUtZm9ybSBpbnB1dFt0eXBlPWVtYWlsXTpmb2N1cyxcbi51bnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9ZGF0ZV06Zm9jdXMsXG4udW5zdWJzY3JpYmUtZm9ybSBpbnB1dFt0eXBlPW51bWJlcl06Zm9jdXMsXG4udW5zdWJzY3JpYmUtZm9ybSBpbnB1dFt0eXBlPXBhc3N3b3JkXTpmb2N1cyxcbi51bnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9dGVsXTpmb2N1cyxcbi51bnN1YnNjcmliZS1mb3JtIHRleHRhcmVhOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAycHggM3B4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbn1cbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSBpbnB1dFt0eXBlPXRleHRdLmVycm9yLFxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIGlucHV0W3R5cGU9ZW1haWxdLmVycm9yLFxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIGlucHV0W3R5cGU9ZGF0ZV0uZXJyb3IsXG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gaW5wdXRbdHlwZT1udW1iZXJdLmVycm9yLFxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIGlucHV0W3R5cGU9cGFzc3dvcmRdLmVycm9yLFxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIGlucHV0W3R5cGU9dGVsXS5lcnJvcixcbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSB0ZXh0YXJlYS5lcnJvcixcbmZvcm0udXNlci1sb2dpbi1mb3JtIGlucHV0W3R5cGU9dGV4dF0uZXJyb3IsXG5mb3JtLnVzZXItbG9naW4tZm9ybSBpbnB1dFt0eXBlPWVtYWlsXS5lcnJvcixcbmZvcm0udXNlci1sb2dpbi1mb3JtIGlucHV0W3R5cGU9ZGF0ZV0uZXJyb3IsXG5mb3JtLnVzZXItbG9naW4tZm9ybSBpbnB1dFt0eXBlPW51bWJlcl0uZXJyb3IsXG5mb3JtLnVzZXItbG9naW4tZm9ybSBpbnB1dFt0eXBlPXBhc3N3b3JkXS5lcnJvcixcbmZvcm0udXNlci1sb2dpbi1mb3JtIGlucHV0W3R5cGU9dGVsXS5lcnJvcixcbmZvcm0udXNlci1sb2dpbi1mb3JtIHRleHRhcmVhLmVycm9yLFxuLnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9dGV4dF0uZXJyb3IsXG4uc3Vic2NyaWJlLWZvcm0gaW5wdXRbdHlwZT1lbWFpbF0uZXJyb3IsXG4uc3Vic2NyaWJlLWZvcm0gaW5wdXRbdHlwZT1kYXRlXS5lcnJvcixcbi5zdWJzY3JpYmUtZm9ybSBpbnB1dFt0eXBlPW51bWJlcl0uZXJyb3IsXG4uc3Vic2NyaWJlLWZvcm0gaW5wdXRbdHlwZT1wYXNzd29yZF0uZXJyb3IsXG4uc3Vic2NyaWJlLWZvcm0gaW5wdXRbdHlwZT10ZWxdLmVycm9yLFxuLnN1YnNjcmliZS1mb3JtIHRleHRhcmVhLmVycm9yLFxuLnVuc3Vic2NyaWJlLWZvcm0gaW5wdXRbdHlwZT10ZXh0XS5lcnJvcixcbi51bnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9ZW1haWxdLmVycm9yLFxuLnVuc3Vic2NyaWJlLWZvcm0gaW5wdXRbdHlwZT1kYXRlXS5lcnJvcixcbi51bnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9bnVtYmVyXS5lcnJvcixcbi51bnN1YnNjcmliZS1mb3JtIGlucHV0W3R5cGU9cGFzc3dvcmRdLmVycm9yLFxuLnVuc3Vic2NyaWJlLWZvcm0gaW5wdXRbdHlwZT10ZWxdLmVycm9yLFxuLnVuc3Vic2NyaWJlLWZvcm0gdGV4dGFyZWEuZXJyb3Ige1xuICBib3JkZXItY29sb3I6IHJlZDtcbn1cbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSB0ZXh0YXJlYSxcbmZvcm0udXNlci1sb2dpbi1mb3JtIHRleHRhcmVhLFxuLnN1YnNjcmliZS1mb3JtIHRleHRhcmVhLFxuLnVuc3Vic2NyaWJlLWZvcm0gdGV4dGFyZWEge1xuICBoZWlnaHQ6IDEwMHB4O1xuICBwYWRkaW5nOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMC44MTgxODE4MTgycmVtO1xufVxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIHAuZGVzY3JpcHRpb24sXG5mb3JtLnVzZXItbG9naW4tZm9ybSBwLmRlc2NyaXB0aW9uLFxuLnN1YnNjcmliZS1mb3JtIHAuZGVzY3JpcHRpb24sXG4udW5zdWJzY3JpYmUtZm9ybSBwLmRlc2NyaXB0aW9uIHtcbiAgbWFyZ2luOiA4cHggMCAwIDA7XG4gIGZvbnQtc2l6ZTogMC42MzYzNjM2MzY0cmVtO1xuICBsaW5lLWhlaWdodDogMC44MTgxODE4MTgycmVtO1xufVxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIC5qcy1mb3JtLXR5cGUtY2hlY2tib3gsXG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gLmpzLWZvcm0tdHlwZS1yYWRpbyxcbmZvcm0udXNlci1sb2dpbi1mb3JtIC5qcy1mb3JtLXR5cGUtY2hlY2tib3gsXG5mb3JtLnVzZXItbG9naW4tZm9ybSAuanMtZm9ybS10eXBlLXJhZGlvLFxuLnN1YnNjcmliZS1mb3JtIC5qcy1mb3JtLXR5cGUtY2hlY2tib3gsXG4uc3Vic2NyaWJlLWZvcm0gLmpzLWZvcm0tdHlwZS1yYWRpbyxcbi51bnN1YnNjcmliZS1mb3JtIC5qcy1mb3JtLXR5cGUtY2hlY2tib3gsXG4udW5zdWJzY3JpYmUtZm9ybSAuanMtZm9ybS10eXBlLXJhZGlvIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSAuanMtZm9ybS10eXBlLWNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdLFxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIC5qcy1mb3JtLXR5cGUtY2hlY2tib3ggaW5wdXRbdHlwZT1yYWRpb10sXG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gLmpzLWZvcm0tdHlwZS1yYWRpbyBpbnB1dFt0eXBlPWNoZWNrYm94XSxcbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSAuanMtZm9ybS10eXBlLXJhZGlvIGlucHV0W3R5cGU9cmFkaW9dLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gLmpzLWZvcm0tdHlwZS1jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XSxcbmZvcm0udXNlci1sb2dpbi1mb3JtIC5qcy1mb3JtLXR5cGUtY2hlY2tib3ggaW5wdXRbdHlwZT1yYWRpb10sXG5mb3JtLnVzZXItbG9naW4tZm9ybSAuanMtZm9ybS10eXBlLXJhZGlvIGlucHV0W3R5cGU9Y2hlY2tib3hdLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gLmpzLWZvcm0tdHlwZS1yYWRpbyBpbnB1dFt0eXBlPXJhZGlvXSxcbi5zdWJzY3JpYmUtZm9ybSAuanMtZm9ybS10eXBlLWNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdLFxuLnN1YnNjcmliZS1mb3JtIC5qcy1mb3JtLXR5cGUtY2hlY2tib3ggaW5wdXRbdHlwZT1yYWRpb10sXG4uc3Vic2NyaWJlLWZvcm0gLmpzLWZvcm0tdHlwZS1yYWRpbyBpbnB1dFt0eXBlPWNoZWNrYm94XSxcbi5zdWJzY3JpYmUtZm9ybSAuanMtZm9ybS10eXBlLXJhZGlvIGlucHV0W3R5cGU9cmFkaW9dLFxuLnVuc3Vic2NyaWJlLWZvcm0gLmpzLWZvcm0tdHlwZS1jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XSxcbi51bnN1YnNjcmliZS1mb3JtIC5qcy1mb3JtLXR5cGUtY2hlY2tib3ggaW5wdXRbdHlwZT1yYWRpb10sXG4udW5zdWJzY3JpYmUtZm9ybSAuanMtZm9ybS10eXBlLXJhZGlvIGlucHV0W3R5cGU9Y2hlY2tib3hdLFxuLnVuc3Vic2NyaWJlLWZvcm0gLmpzLWZvcm0tdHlwZS1yYWRpbyBpbnB1dFt0eXBlPXJhZGlvXSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBtYXJnaW46IDA7XG59XG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gLmpzLWZvcm0tdHlwZS1jaGVja2JveCBsYWJlbCxcbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSAuanMtZm9ybS10eXBlLXJhZGlvIGxhYmVsLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gLmpzLWZvcm0tdHlwZS1jaGVja2JveCBsYWJlbCxcbmZvcm0udXNlci1sb2dpbi1mb3JtIC5qcy1mb3JtLXR5cGUtcmFkaW8gbGFiZWwsXG4uc3Vic2NyaWJlLWZvcm0gLmpzLWZvcm0tdHlwZS1jaGVja2JveCBsYWJlbCxcbi5zdWJzY3JpYmUtZm9ybSAuanMtZm9ybS10eXBlLXJhZGlvIGxhYmVsLFxuLnVuc3Vic2NyaWJlLWZvcm0gLmpzLWZvcm0tdHlwZS1jaGVja2JveCBsYWJlbCxcbi51bnN1YnNjcmliZS1mb3JtIC5qcy1mb3JtLXR5cGUtcmFkaW8gbGFiZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAgMCAwIDMwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAwLjYzNjM2MzYzNjRyZW07XG4gIGxpbmUtaGVpZ2h0OiAwLjgxODE4MTgxODJyZW07XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIC5qcy1mb3JtLXR5cGUtY2hlY2tib3ggbGFiZWw6YmVmb3JlLFxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIC5qcy1mb3JtLXR5cGUtcmFkaW8gbGFiZWw6YmVmb3JlLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gLmpzLWZvcm0tdHlwZS1jaGVja2JveCBsYWJlbDpiZWZvcmUsXG5mb3JtLnVzZXItbG9naW4tZm9ybSAuanMtZm9ybS10eXBlLXJhZGlvIGxhYmVsOmJlZm9yZSxcbi5zdWJzY3JpYmUtZm9ybSAuanMtZm9ybS10eXBlLWNoZWNrYm94IGxhYmVsOmJlZm9yZSxcbi5zdWJzY3JpYmUtZm9ybSAuanMtZm9ybS10eXBlLXJhZGlvIGxhYmVsOmJlZm9yZSxcbi51bnN1YnNjcmliZS1mb3JtIC5qcy1mb3JtLXR5cGUtY2hlY2tib3ggbGFiZWw6YmVmb3JlLFxuLnVuc3Vic2NyaWJlLWZvcm0gLmpzLWZvcm0tdHlwZS1yYWRpbyBsYWJlbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiAxOHB4O1xuICBib3JkZXI6IDJweCBzb2xpZCAjMDAwMDAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gLmpzLWZvcm0tdHlwZS1jaGVja2JveCBsYWJlbDphZnRlcixcbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSAuanMtZm9ybS10eXBlLXJhZGlvIGxhYmVsOmFmdGVyLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gLmpzLWZvcm0tdHlwZS1jaGVja2JveCBsYWJlbDphZnRlcixcbmZvcm0udXNlci1sb2dpbi1mb3JtIC5qcy1mb3JtLXR5cGUtcmFkaW8gbGFiZWw6YWZ0ZXIsXG4uc3Vic2NyaWJlLWZvcm0gLmpzLWZvcm0tdHlwZS1jaGVja2JveCBsYWJlbDphZnRlcixcbi5zdWJzY3JpYmUtZm9ybSAuanMtZm9ybS10eXBlLXJhZGlvIGxhYmVsOmFmdGVyLFxuLnVuc3Vic2NyaWJlLWZvcm0gLmpzLWZvcm0tdHlwZS1jaGVja2JveCBsYWJlbDphZnRlcixcbi51bnN1YnNjcmliZS1mb3JtIC5qcy1mb3JtLXR5cGUtcmFkaW8gbGFiZWw6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNHB4O1xuICBsZWZ0OiA0cHg7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDEwcHg7XG4gIG1hcmdpbjogMDtcbiAgYmFja2dyb3VuZDogIzAwOTc1MDtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBsaW5lLWhlaWdodDogMTBweDtcbn1cbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSAuanMtZm9ybS10eXBlLWNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUsXG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gLmpzLWZvcm0tdHlwZS1yYWRpbyBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkICsgbGFiZWw6YmVmb3JlLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gLmpzLWZvcm0tdHlwZS1jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkICsgbGFiZWw6YmVmb3JlLFxuZm9ybS51c2VyLWxvZ2luLWZvcm0gLmpzLWZvcm0tdHlwZS1yYWRpbyBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkICsgbGFiZWw6YmVmb3JlLFxuLnN1YnNjcmliZS1mb3JtIC5qcy1mb3JtLXR5cGUtY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSxcbi5zdWJzY3JpYmUtZm9ybSAuanMtZm9ybS10eXBlLXJhZGlvIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUsXG4udW5zdWJzY3JpYmUtZm9ybSAuanMtZm9ybS10eXBlLWNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUsXG4udW5zdWJzY3JpYmUtZm9ybSAuanMtZm9ybS10eXBlLXJhZGlvIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICMwMDk3NTA7XG59XG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gLmpzLWZvcm0tdHlwZS1jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkICsgbGFiZWw6YWZ0ZXIsXG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gLmpzLWZvcm0tdHlwZS1yYWRpbyBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkICsgbGFiZWw6YWZ0ZXIsXG5mb3JtLnVzZXItbG9naW4tZm9ybSAuanMtZm9ybS10eXBlLWNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgKyBsYWJlbDphZnRlcixcbmZvcm0udXNlci1sb2dpbi1mb3JtIC5qcy1mb3JtLXR5cGUtcmFkaW8gaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCArIGxhYmVsOmFmdGVyLFxuLnN1YnNjcmliZS1mb3JtIC5qcy1mb3JtLXR5cGUtY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCArIGxhYmVsOmFmdGVyLFxuLnN1YnNjcmliZS1mb3JtIC5qcy1mb3JtLXR5cGUtcmFkaW8gaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCArIGxhYmVsOmFmdGVyLFxuLnVuc3Vic2NyaWJlLWZvcm0gLmpzLWZvcm0tdHlwZS1jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkICsgbGFiZWw6YWZ0ZXIsXG4udW5zdWJzY3JpYmUtZm9ybSAuanMtZm9ybS10eXBlLXJhZGlvIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gIG9wYWNpdHk6IDE7XG59XG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gLmpzLWZvcm0tdHlwZS1jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XS5lcnJvciArIGxhYmVsLFxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIC5qcy1mb3JtLXR5cGUtcmFkaW8gaW5wdXRbdHlwZT1jaGVja2JveF0uZXJyb3IgKyBsYWJlbCxcbmZvcm0udXNlci1sb2dpbi1mb3JtIC5qcy1mb3JtLXR5cGUtY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF0uZXJyb3IgKyBsYWJlbCxcbmZvcm0udXNlci1sb2dpbi1mb3JtIC5qcy1mb3JtLXR5cGUtcmFkaW8gaW5wdXRbdHlwZT1jaGVja2JveF0uZXJyb3IgKyBsYWJlbCxcbi5zdWJzY3JpYmUtZm9ybSAuanMtZm9ybS10eXBlLWNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdLmVycm9yICsgbGFiZWwsXG4uc3Vic2NyaWJlLWZvcm0gLmpzLWZvcm0tdHlwZS1yYWRpbyBpbnB1dFt0eXBlPWNoZWNrYm94XS5lcnJvciArIGxhYmVsLFxuLnVuc3Vic2NyaWJlLWZvcm0gLmpzLWZvcm0tdHlwZS1jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XS5lcnJvciArIGxhYmVsLFxuLnVuc3Vic2NyaWJlLWZvcm0gLmpzLWZvcm0tdHlwZS1yYWRpbyBpbnB1dFt0eXBlPWNoZWNrYm94XS5lcnJvciArIGxhYmVsIHtcbiAgY29sb3I6IHJlZDtcbn1cbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSAuanMtZm9ybS1zdWJtaXQsXG5mb3JtLnVzZXItbG9naW4tZm9ybSAuanMtZm9ybS1zdWJtaXQsXG4uc3Vic2NyaWJlLWZvcm0gLmpzLWZvcm0tc3VibWl0LFxuLnVuc3Vic2NyaWJlLWZvcm0gLmpzLWZvcm0tc3VibWl0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlci1yYWRpdXM6IDI0cHg7XG4gIHBhZGRpbmc6IDE2cHggNTZweDtcbiAgbWFyZ2luOiA0MHB4IGF1dG8gMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTc1MDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMC42MzYzNjM2MzY0cmVtO1xuICBsZXR0ZXItc3BhY2luZzogMHB4O1xuICBsaW5lLWhlaWdodDogMC44MTgxODE4MTgycmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIC5qcy1mb3JtLXN1Ym1pdDpob3ZlcixcbmZvcm0udXNlci1sb2dpbi1mb3JtIC5qcy1mb3JtLXN1Ym1pdDpob3Zlcixcbi5zdWJzY3JpYmUtZm9ybSAuanMtZm9ybS1zdWJtaXQ6aG92ZXIsXG4udW5zdWJzY3JpYmUtZm9ybSAuanMtZm9ybS1zdWJtaXQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZDAwO1xuICBjb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50O1xufVxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtICNzdGF0dXMtbWVzc2FnZXMsXG5mb3JtLnVzZXItbG9naW4tZm9ybSAjc3RhdHVzLW1lc3NhZ2VzLFxuLnN1YnNjcmliZS1mb3JtICNzdGF0dXMtbWVzc2FnZXMsXG4udW5zdWJzY3JpYmUtZm9ybSAjc3RhdHVzLW1lc3NhZ2VzIHtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xufVxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtICNzdGF0dXMtbWVzc2FnZXMgLmNhbGxvdXQsXG5mb3JtLnVzZXItbG9naW4tZm9ybSAjc3RhdHVzLW1lc3NhZ2VzIC5jYWxsb3V0LFxuLnN1YnNjcmliZS1mb3JtICNzdGF0dXMtbWVzc2FnZXMgLmNhbGxvdXQsXG4udW5zdWJzY3JpYmUtZm9ybSAjc3RhdHVzLW1lc3NhZ2VzIC5jYWxsb3V0IHtcbiAgbWFyZ2luOiAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSAud2ViZm9ybS1jb25maXJtYXRpb24sXG5mb3JtLnVzZXItbG9naW4tZm9ybSAud2ViZm9ybS1jb25maXJtYXRpb24sXG4uc3Vic2NyaWJlLWZvcm0gLndlYmZvcm0tY29uZmlybWF0aW9uLFxuLnVuc3Vic2NyaWJlLWZvcm0gLndlYmZvcm0tY29uZmlybWF0aW9uIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIC53ZWJmb3JtLWNvbmZpcm1hdGlvbiAud2ViZm9ybS1jb25maXJtYXRpb25fX21lc3NhZ2UsXG5mb3JtLnVzZXItbG9naW4tZm9ybSAud2ViZm9ybS1jb25maXJtYXRpb24gLndlYmZvcm0tY29uZmlybWF0aW9uX19tZXNzYWdlLFxuLnN1YnNjcmliZS1mb3JtIC53ZWJmb3JtLWNvbmZpcm1hdGlvbiAud2ViZm9ybS1jb25maXJtYXRpb25fX21lc3NhZ2UsXG4udW5zdWJzY3JpYmUtZm9ybSAud2ViZm9ybS1jb25maXJtYXRpb24gLndlYmZvcm0tY29uZmlybWF0aW9uX19tZXNzYWdlIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgZm9udC1zaXplOiAwLjkwOTA5MDkwOTFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE4MTgxODE4MThyZW07XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuXG4udXNlci1sb2dpbi1mb3JtIHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbn1cbi51c2VyLWxvZ2luLWZvcm0gI2VkaXQtYWN0aW9ucyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogMjBweDtcbn1cblxuLm1zZy1kaXNjbGFpbWVyLWZvcm0gI2VkaXQtYWN0aW9ucyB7XG4gIG1hcmdpbi10b3A6IDQwcHg7XG59XG5cbi5tYWluLW1lbnUgdWwuZHJvcGRvd24ge1xuICBwb3NpdGlvbjogaW5pdGlhbCAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBub25lO1xufVxuLm1haW4tbWVudSB1bC5kcm9wZG93biBsaSBhIHtcbiAgZm9udC1zaXplOiAwLjgxODE4MTgxODJyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLm1haW4tbWVudSB1bC5kcm9wZG93biBsaSBhOmhvdmVyIHtcbiAgY29sb3I6ICMwMDk3NTAgIWltcG9ydGFudDtcbn1cbi5tYWluLW1lbnUgdWwuZHJvcGRvd24gbGkgYTphZnRlciB7XG4gIGNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5tYWluLW1lbnUgdWwuZHJvcGRvd24gbGkgLnN1Ym1lbnUtYmFja2dyb3VuZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxNDBweDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNDQsIDI0NCwgMjQ0KTtcbiAgYm94LXNoYWRvdzogMCA0cHggNnB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgei1pbmRleDogLTE7XG59XG4ubWFpbi1tZW51IHVsLmRyb3Bkb3duIGxpIC5zdWJtZW51LWJhY2tncm91bmQgLmN1c3RvbS1tZW51IHtcbiAgcGFkZGluZy1yaWdodDogMC40NTQ1NDU0NTQ1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNDU0NTQ1NDU0NXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tYWluLW1lbnUgdWwuZHJvcGRvd24gbGkgLnN1Ym1lbnUtYmFja2dyb3VuZCAuY3VzdG9tLW1lbnUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjgxODE4MTgxOHJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjgxODE4MTgxOHJlbTtcbiAgfVxufVxuLm1haW4tbWVudSB1bC5kcm9wZG93biBsaSAuc3VibWVudS1iYWNrZ3JvdW5kIC5jdXN0b20tbWVudSB7XG4gIG1heC13aWR0aDogNTguMTgxODE4MTgxOHJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMzZweCAwO1xufVxuLm1haW4tbWVudSB1bC5kcm9wZG93biBsaSAuc3VibWVudS1iYWNrZ3JvdW5kIC5jdXN0b20tbWVudSBhIHtcbiAgY29sb3I6ICMwMDk3NTA7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuLm1haW4tbWVudSB1bC5kcm9wZG93biBsaSAuc3VibWVudS1iYWNrZ3JvdW5kIC5jdXN0b20tbWVudSBhLmlzLWFjdGl2ZSB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4ubWFpbi1tZW51IHVsLmRyb3Bkb3duIGxpIC5zdWJtZW51LWJhY2tncm91bmQgLmN1c3RvbS1tZW51IGEuaXMtYWN0aXZlOmhvdmVyIHtcbiAgY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDtcbn1cbi5tYWluLW1lbnUgdWwuZHJvcGRvd24gbGkgLnN1Ym1lbnUtYmFja2dyb3VuZCAuY3VzdG9tLW1lbnUgYTpob3Zlcixcbi5tYWluLW1lbnUgdWwuZHJvcGRvd24gbGkgLnN1Ym1lbnUtYmFja2dyb3VuZCAuY3VzdG9tLW1lbnUgYTphY3RpdmUsXG4ubWFpbi1tZW51IHVsLmRyb3Bkb3duIGxpIC5zdWJtZW51LWJhY2tncm91bmQgLmN1c3RvbS1tZW51IGE6Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4ubWFpbi1tZW51IHVsLmRyb3Bkb3duIGxpLmlzLWFjdGl2ZSB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4ubWFpbi1tZW51IHVsLmRyb3Bkb3duIGxpLmlzLWFjdGl2ZSA+IC5zdWJtZW51LWJhY2tncm91bmQge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5tYWluLW1lbnUgdWwuZHJvcGRvd24gbGkuaXMtYWN0aXZlID4gLnN1Ym1lbnUtYmFja2dyb3VuZCB1bC5jdXN0b20tbWVudSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogMWZyIDFmciAxZnI7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnIgMWZyO1xuICBncmlkLWF1dG8tZmxvdzogY29sdW1uO1xuICB3aWR0aDogMTAwJTtcbn1cbi5tYWluLW1lbnUgdWwuZHJvcGRvd24gbGkuaXMtYWN0aXZlID4gLnN1Ym1lbnUtYmFja2dyb3VuZCB1bC5jdXN0b20tbWVudSBsaSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLm1haW4tbWVudSB1bC5kcm9wZG93biBsaS5hY3RpdmUtdHJhaWwgYSxcbi5tYWluLW1lbnUgdWwuZHJvcGRvd24gbGkuYWN0aXZlLXRyYWlsIGE6aG92ZXIsXG4ubWFpbi1tZW51IHVsLmRyb3Bkb3duIGxpLmFjdGl2ZS10cmFpbCBhOmFjdGl2ZSxcbi5tYWluLW1lbnUgdWwuZHJvcGRvd24gbGkuYWN0aXZlLXRyYWlsIGE6Zm9jdXMge1xuICBjb2xvcjogIzAwOTc1MDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLm1haW4tbWVudSB1bC5kcm9wZG93biB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxufVxuXG4ucGFyYWdyYXBoLnBhcmFncmFwaC11bnB1Ymxpc2hlZCB7XG4gIGJhY2tncm91bmQ6IHJlZDtcbn1cbi5wYXJhZ3JhcGgucmVtb3ZlTGVmdFNwYWNlIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cbi5wYXJhZ3JhcGgucmVtb3ZlUmlnaHRTcGFjZSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuLyoqXG4gKiBGb3VuZGF0aW9uIEdyaWQgcGFyYWdyYXBocyArIEZvdW5kYXRpb24gQ2VsbFxuICogQmFzaWMgY2xhc3MgdG8gbWFuYWdlIHRoZSBiYWNrZ3JvdW5kXG4gKiBQbGVhc2Ugbm90ZSB0aGF0IGZvciBzZW5kaW5nIHRoZSBiYWNrZ3JvdW5kIGltYWdlIG9uIGZ1bGx3aWR0aCBvZiB0aGUgc2NyZWVuIHlvdSBuZWVkIHRvIG1vZGlmeSB5b3VyIHBhZ2UuaHRtbC50d2lnLlxuICogUGxlYXNlIHJlbW92ZSBhbGwgdGhlIGdyaWQtc3lzdGVtIGFuZCBsZWF2ZSB0aGUgbWFuYWdlIG9uIHRoZSBwYXJhZ3JhcGggRm91bmRhdGlvbiBHcmlkIHN5c3RlbS5cbiAqL1xuLnBhcmFncmFwaC0tdHlwZS0tZm91bmRhdGlvbi1ncmlkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucGFyYWdyYXBoLS10eXBlLS1mb3VuZGF0aW9uLWNlbGwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5ncmlkLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmJhY2tncm91bmREaXYge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMDtcbn1cbi5iYWNrZ3JvdW5kRGl2ICsgZGl2IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xufVxuLmJhY2tncm91bmREaXYuY29sb3JCZy1kYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbn1cbi5iYWNrZ3JvdW5kRGl2LmltYWdlQmcge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cblxuLnBhcmFncmFwaC0tdHlwZS0tZm91bmRhdGlvbi1hY2NvcmRpb25zLXRhYnMgdWwudGFicyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWZvdW5kYXRpb24tYWNjb3JkaW9ucy10YWJzIHVsLnRhYnMgLnRhYnMtdGl0bGUge1xuICBmbGV4OiAwIDAgYXV0byAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1mb3VuZGF0aW9uLWFjY29yZGlvbnMtdGFicyB1bC50YWJzIC50YWJzLXRpdGxlID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiA0OHB4O1xuICBwYWRkaW5nOiAwIDE1cHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkICMwMDAwMDA7XG4gIGZvbnQtc2l6ZTogMC42MzYzNjM2MzY0cmVtO1xuICBsaW5lLWhlaWdodDogNDhweDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1mb3VuZGF0aW9uLWFjY29yZGlvbnMtdGFicyB1bC50YWJzIC50YWJzLXRpdGxlID4gYTpob3ZlciwgLnBhcmFncmFwaC0tdHlwZS0tZm91bmRhdGlvbi1hY2NvcmRpb25zLXRhYnMgdWwudGFicyAudGFicy10aXRsZSA+IGE6Zm9jdXMsIC5wYXJhZ3JhcGgtLXR5cGUtLWZvdW5kYXRpb24tYWNjb3JkaW9ucy10YWJzIHVsLnRhYnMgLnRhYnMtdGl0bGUgPiBhW2FyaWEtc2VsZWN0ZWQ9dHJ1ZV0ge1xuICBiYWNrZ3JvdW5kOiAjMDAwMDAwO1xuICBib3JkZXItY29sb3I6ICMwMDAwMDA7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tZm91bmRhdGlvbi1hY2NvcmRpb25zLXRhYnMgLnRhYnMtY29udGVudCB7XG4gIG1hcmdpbjogMzBweCAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWZvdW5kYXRpb24tYWNjb3JkaW9ucy10YWJzIC50YWJzLXBhbmVsIHtcbiAgcGFkZGluZzogMDtcbn1cblxuLnBhcmFncmFwaC0tdHlwZS0tZm91bmRhdGlvbi1hY2NvcmRpb25zIHVsLmFjY29yZGlvbixcbi5wYXJhZ3JhcGgtLXR5cGUtLWZvdW5kYXRpb24tYWNjb3JkaW9ucy10YWJzIHVsLmFjY29yZGlvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tZm91bmRhdGlvbi1hY2NvcmRpb25zIC5hY2NvcmRpb24taXRlbSxcbi5wYXJhZ3JhcGgtLXR5cGUtLWZvdW5kYXRpb24tYWNjb3JkaW9ucy10YWJzIC5hY2NvcmRpb24taXRlbSB7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWZvdW5kYXRpb24tYWNjb3JkaW9ucyAuYWNjb3JkaW9uLXRpdGxlLFxuLnBhcmFncmFwaC0tdHlwZS0tZm91bmRhdGlvbi1hY2NvcmRpb25zLXRhYnMgLmFjY29yZGlvbi10aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMjBweCAzMHB4IDIwcHggMTVweDtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjMDAwMDAwO1xuICBmb250LXNpemU6IDAuNjM2MzYzNjM2NHJlbTtcbiAgbGluZS1oZWlnaHQ6IDAuNzI3MjcyNzI3M3JlbTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1mb3VuZGF0aW9uLWFjY29yZGlvbnMgLmFjY29yZGlvbi10aXRsZTpiZWZvcmUsXG4ucGFyYWdyYXBoLS10eXBlLS1mb3VuZGF0aW9uLWFjY29yZGlvbnMtdGFicyAuYWNjb3JkaW9uLXRpdGxlOmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWZvdW5kYXRpb24tYWNjb3JkaW9ucyAuYWNjb3JkaW9uLXRpdGxlLFxuLnBhcmFncmFwaC0tdHlwZS0tZm91bmRhdGlvbi1hY2NvcmRpb25zLXRhYnMgLmFjY29yZGlvbi10aXRsZSB7XG4gIC8qQGluY2x1ZGUgaWNvbihhZnRlciwgcGx1cyl7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICBmb250LXNpemU6IDhweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH0qL1xufVxuLnBhcmFncmFwaC0tdHlwZS0tZm91bmRhdGlvbi1hY2NvcmRpb25zIC5hY2NvcmRpb24tdGl0bGU6Zm9jdXMsIC5wYXJhZ3JhcGgtLXR5cGUtLWZvdW5kYXRpb24tYWNjb3JkaW9ucyAuYWNjb3JkaW9uLXRpdGxlOmhvdmVyLFxuLnBhcmFncmFwaC0tdHlwZS0tZm91bmRhdGlvbi1hY2NvcmRpb25zLXRhYnMgLmFjY29yZGlvbi10aXRsZTpmb2N1cyxcbi5wYXJhZ3JhcGgtLXR5cGUtLWZvdW5kYXRpb24tYWNjb3JkaW9ucy10YWJzIC5hY2NvcmRpb24tdGl0bGU6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWZvdW5kYXRpb24tYWNjb3JkaW9ucyBsaS5hY2NvcmRpb24taXRlbS5pcy1hY3RpdmUgPiAuYWNjb3JkaW9uLXRpdGxlLFxuLnBhcmFncmFwaC0tdHlwZS0tZm91bmRhdGlvbi1hY2NvcmRpb25zLXRhYnMgbGkuYWNjb3JkaW9uLWl0ZW0uaXMtYWN0aXZlID4gLmFjY29yZGlvbi10aXRsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tZm91bmRhdGlvbi1hY2NvcmRpb25zIC5hY2NvcmRpb24tY29udGVudCxcbi5wYXJhZ3JhcGgtLXR5cGUtLWZvdW5kYXRpb24tYWNjb3JkaW9ucy10YWJzIC5hY2NvcmRpb24tY29udGVudCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMjVweCAzNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xufVxuLnBhcmFncmFwaC0tdHlwZS0taGlnaGxpZ2h0cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0NmIzODQ7XG4gIHBhZGRpbmc6IDU1cHggMDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWhpZ2hsaWdodHMgLmhpZ2hsaWdodC1jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAgNXB4O1xufVxuLnBhcmFncmFwaC0tdHlwZS0taGlnaGxpZ2h0cyAuaGlnaGxpZ2h0LWNvbnRlbnQgPiBkaXYge1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnBhcmFncmFwaC0tdHlwZS0taGlnaGxpZ2h0cyAuaGlnaGxpZ2h0LWNvbnRlbnQgPiBkaXYuYm9keS1sLCAucGFyYWdyYXBoLS10eXBlLS1oaWdobGlnaHRzIC5wcmVzcy1yZWxlYXNlcy5wcmVzcy1yZWxlYXNlcy1sYXRlc3QgLmhpZ2hsaWdodC1jb250ZW50ID4gZGl2LnByZXNzLXJlbGVhc2UtdGl0bGUsIC5wcmVzcy1yZWxlYXNlcy5wcmVzcy1yZWxlYXNlcy1sYXRlc3QgLnBhcmFncmFwaC0tdHlwZS0taGlnaGxpZ2h0cyAuaGlnaGxpZ2h0LWNvbnRlbnQgPiBkaXYucHJlc3MtcmVsZWFzZS10aXRsZSwgLnBhcmFncmFwaC0tdHlwZS0taGlnaGxpZ2h0cyAucGFyYWdyYXBoLS10eXBlLS1xdW90ZSAucXVvdGUtY29udGVudCAuaGlnaGxpZ2h0LWNvbnRlbnQgPiBkaXYudGV4dC1hbGlnbi1jZW50ZXIsIC5wYXJhZ3JhcGgtLXR5cGUtLXF1b3RlIC5xdW90ZS1jb250ZW50IC5wYXJhZ3JhcGgtLXR5cGUtLWhpZ2hsaWdodHMgLmhpZ2hsaWdodC1jb250ZW50ID4gZGl2LnRleHQtYWxpZ24tY2VudGVyIHtcbiAgbWFyZ2luLXRvcDogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG4gIGZvbnQtc2l6ZTogMjBweDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWhpZ2hsaWdodHMgLmhpZ2hsaWdodC1jb250ZW50IC5zZXBhcmF0b3ItYm90dG9tLXNtYWxsOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWQwMDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWhpZ2hsaWdodHMgLnN3aXBlci1wYWdpbmF0aW9uIHtcbiAgYm90dG9tOiAxMHB4O1xufVxuLnBhcmFncmFwaC0tdHlwZS0taGlnaGxpZ2h0cyAuc3dpcGVyLXBhZ2luYXRpb24gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIHdpZHRoOiA3cHg7XG4gIGhlaWdodDogN3B4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWhpZ2hsaWdodHMgLnN3aXBlci1wYWdpbmF0aW9uIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgaGVpZ2h0OiAxMnB4O1xuICB3aWR0aDogMTJweDtcbn1cblxuLnBhcmFncmFwaC0tdHlwZS0tc2xpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDEwMHB4IDA7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1zbGlkZXIgLnN3aXBlci1jb250YWluZXIge1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tc2xpZGVyIC5zd2lwZXItY29udGFpbmVyIC5jZWxsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tc2xpZGVyIC5zd2lwZXItY29udGFpbmVyIC5zd2lwZXItc2xpZGUge1xuICB3aWR0aDogMTAwJTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tc2xpZGVyIC5zd2lwZXItY29udGFpbmVyIC5zd2lwZXItc2xpZGUuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1zbGlkZXIgLnN3aXBlci1jb250YWluZXIgLnN3aXBlci1zbGlkZSAuc2xpZGUtd3JhcHBlciB7XG4gIHBhZGRpbmc6IDU2cHggMCAxMTdweCAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogNTAwcHg7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1zbGlkZXIgLnN3aXBlci1jb250YWluZXIgLnN3aXBlci1zbGlkZSAuc2xpZGUtd3JhcHBlciAudGl0bGUge1xuICBtYXJnaW46IDQwcHggMCAyMHB4IDA7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1zbGlkZXIgLnN3aXBlci1jb250YWluZXIgLnN3aXBlci1zbGlkZSAuc2xpZGUtd3JhcHBlciAuZGVzY3JpcHRpb24ge1xuICBwYWRkaW5nOiAwcHggMTA4cHggMHB4IDEwOHB4O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tc2xpZGVyIC5zd2lwZXItY29udGFpbmVyIC5zd2lwZXItc2xpZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDEwcHg7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJveC1zaGFkb3c6IDBweCA4cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIHotaW5kZXg6IDk5OTk7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1zbGlkZXIgLnN3aXBlci1jb250YWluZXIgLnN3aXBlci1hcnJvd3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDk3NTA7XG4gIGhlaWdodDogNTAlO1xuICB3aWR0aDogMTAwJTtcbiAgdG9wOiAyNSU7XG4gIGZvbnQtc2l6ZTogMjZweDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLXNsaWRlciAuc3dpcGVyLWNvbnRhaW5lciAuc3dpcGVyLXByZXYge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tc2xpZGVyIC5zd2lwZXItY29udGFpbmVyIC5zd2lwZXItcHJldjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgxMFwiO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tc2xpZGVyIC5zd2lwZXItY29udGFpbmVyIC5zd2lwZXItbmV4dCB7XG4gIGp1c3RpZnktY29udGVudDogZW5kO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tc2xpZGVyIC5zd2lwZXItY29udGFpbmVyIC5zd2lwZXItbmV4dDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgxM1wiO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tc2xpZGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTc1MDtcbiAgaGVpZ2h0OiA1MCU7XG4gIHdpZHRoOiAxMDAlO1xuICB0b3A6IDI1JTtcbiAgbGVmdDogMDtcbn1cblxuLnBhcmFncmFwaC0tdHlwZS0tY2FyZHMgLmNhcmQgLmNhcmQtd3JhcHBlciB7XG4gIGJveC1zaGFkb3c6IDBweCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cztcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWNhcmRzIC5jYXJkOmhvdmVyIC5jYXJkLXdyYXBwZXIge1xuICBib3gtc2hhZG93OiAwcHggNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tY2FyZHMgLmNhcmQ6aG92ZXIgLmNhcmQtY292ZXIgaW1nIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tY2FyZHMgLmNhcmRzLWhlYWRpbmcge1xuICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWNhcmRzIC5jYXJkcy1oZWFkaW5nID4gcCB7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1jYXJkcyAuY2FyZC1jb3ZlciB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4ucGFyYWdyYXBoLS10eXBlLS1jYXJkcyAuY2FyZC1jb3ZlciBpbWcge1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1jYXJkcyAuY2FyZC1jb250ZW50IHtcbiAgcGFkZGluZzogNDBweDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1jYXJkcyAuY2FyZC1jb250ZW50IC5jYXJkLXRpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1jYXJkcyAuY2FyZC1jb250ZW50IC5jYXJkLXRpdGxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAtNXB4O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDk3NTA7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1jb21wYW55LWxvZ29zIC5kZXNjcmlwdGlvbiB7XG4gIG1hcmdpbjogMjBweCAwIDQwcHggMDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWNvbXBhbnktbG9nb3MgLmNhdGVnb3J5IHtcbiAgbWFyZ2luLXRvcDogNDBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjJweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWNvbXBhbnktbG9nb3MgLnN3aXBlci13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1jb21wYW55LWxvZ29zIC5pbWFnZXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWNvbXBhbnktbG9nb3MgLmltYWdlcyAuaW1hZ2Uge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDIwMHB4O1xuICBoZWlnaHQ6IDc1cHg7XG4gIHBhZGRpbmc6IDAgMjBweDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWNvbXBhbnktbG9nb3MgLmltYWdlcyAuaW1hZ2UgYSxcbi5wYXJhZ3JhcGgtLXR5cGUtLWNvbXBhbnktbG9nb3MgLmltYWdlcyAuaW1hZ2UgaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tY29tcGFueS1sb2dvcyAuaW1hZ2VzIC5pbWFnZSBhIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWNvbXBhbnktbG9nb3MgLmltYWdlcyAuc3dpcGVyLXBhZ2luYXRpb24ge1xuICBkaXNwbGF5OiBub25lO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc5Ljk5ODc1ZW0pIHtcbiAgLnBhcmFncmFwaC0tdHlwZS0tY29tcGFueS1sb2dvcyAuc3dpcGVyLXdyYXBwZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiA4MHB4O1xuICAgIGp1c3RpZnktY29udGVudDogaW5pdGlhbDtcbiAgfVxuICAucGFyYWdyYXBoLS10eXBlLS1jb21wYW55LWxvZ29zIC5pbWFnZXMgLmltYWdlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IGF1dG87XG4gIH1cbiAgLnBhcmFncmFwaC0tdHlwZS0tY29tcGFueS1sb2dvcyAuaW1hZ2VzIC5pbWFnZSBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiA3NXB4O1xuICB9XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLWNvbXBhbnktbG9nb3MgLmltYWdlcyAuc3dpcGVyLXBhZ2luYXRpb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5wYXJhZ3JhcGgtLXR5cGUtLWNhcmRzLTMtY29sdW1ucyAuY2FyZCB7XG4gIGJveC1zaGFkb3c6IDBweCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cztcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWNhcmRzLTMtY29sdW1ucyAuY2FyZDpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDBweCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1jYXJkcy0zLWNvbHVtbnMgLmNhcmQ6aG92ZXIgLmNhcmQtY292ZXIgaW1nIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tY2FyZHMtMy1jb2x1bW5zIC5jYXJkLWNvdmVyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWNhcmRzLTMtY29sdW1ucyAuY2FyZC1jb3ZlciBpbWcge1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1jYXJkcy0zLWNvbHVtbnMgLmNhcmQtY29udGVudCB7XG4gIHBhZGRpbmc6IDMwcHggMjBweDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWNhcmRzLTMtY29sdW1ucyAuY2FyZC1jb250ZW50IC5jYXJkLXRpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIG1hcmdpbi1ib3R0b206IDExcHg7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1jb250ZW50LWJveGVzIC5jZWxsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWNvbnRlbnQtYm94ZXMgLmNlbGwgLmJveC1jb250ZW50IHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAxMDBweDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWNvbnRlbnQtYm94ZXMgLmNlbGwuc21hbGwtb3JkZXItMSAuYm94LWNvbnRlbnQge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDEwMHB4O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgLnBhcmFncmFwaC0tdHlwZS0tY29udGVudC1ib3hlcyAuY2VsbCAuYm94LWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbiAgLnBhcmFncmFwaC0tdHlwZS0tY29udGVudC1ib3hlcyAuY2VsbC5zbWFsbC1vcmRlci0xIC5ib3gtY29udGVudCB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3Ljk5ODc1ZW0pIHtcbiAgLnBhcmFncmFwaC0tdHlwZS0tY29udGVudC1ib3hlcyAuY2VsbC5ib3gtY29udGVudC1jb250ZW50IHtcbiAgICBvcmRlcjogMjtcbiAgfVxuICAucGFyYWdyYXBoLS10eXBlLS1jb250ZW50LWJveGVzIC5jZWxsLmJveC1jb250ZW50LWltYWdlIHtcbiAgICBvcmRlcjogMTtcbiAgfVxuICAucGFyYWdyYXBoLS10eXBlLS1jb250ZW50LWJveGVzIC5jZWxsLmJveC1jb250ZW50LWltYWdlIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLnBhcmFncmFwaC0tdHlwZS0tY2xhaW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogNDVweCAwO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tY2xhaW0gLmNsYWltLWNvbnRlbnQge1xuICB3aWR0aDogNDAlO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tY2xhaW0gLmNsYWltLWNvbnRlbnQgcCB7XG4gIGZvbnQtc2l6ZTogMS40NTQ1NDU0NTQ1cmVtO1xuICBsaW5lLWhlaWdodDogMi4xODE4MTgxODE4cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgLnBhcmFncmFwaC0tdHlwZS0tY2xhaW0ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNDU0NTQ1NDU0NXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNDU0NTQ1NDU0NXJlbTtcbiAgICBtYXgtd2lkdGg6IDU4LjE4MTgxODE4MThyZW07XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkgYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnBhcmFncmFwaC0tdHlwZS0tY2xhaW0ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjgxODE4MTgxOHJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjgxODE4MTgxOHJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgLnBhcmFncmFwaC0tdHlwZS0tY2xhaW0gLmNsYWltLWNvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTk4NzVlbSkge1xuICAucGFyYWdyYXBoLS10eXBlLS1jbGFpbSAuY2xhaW0tY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnBhcmFncmFwaC0tdHlwZS0tY2xhaW0gLmNsYWltLWNvbnRlbnQgcCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMS4yNzI3MjcyNzI3cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ1NDU0NTQ1NDVyZW07XG4gIH1cbn1cblxuLnBhcmFncmFwaC0tdHlwZS0tdmVydGljYWwtY2FyZHMge1xuICBwYWRkaW5nLXRvcDogMTIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMDBweDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLXZlcnRpY2FsLWNhcmRzIC5jYXJkLXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBnYXA6IDQwcHg7XG4gIG1hcmdpbi10b3A6IC0zMHB4O1xuICBtYXJnaW4tYm90dG9tOiAtMzBweDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLXZlcnRpY2FsLWNhcmRzIC5jYXJkLXdyYXBwZXIgLmNhcmQtaW1hZ2Uge1xuICB3aWR0aDogNTAlO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tdmVydGljYWwtY2FyZHMgLmNhcmQtd3JhcHBlciAuY2FyZC1jb250ZW50IHtcbiAgcGFkZGluZzogNDVweCA2MHB4O1xuICB3aWR0aDogNTAlO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tdmVydGljYWwtY2FyZHMgLmNhcmQtd3JhcHBlciAuY2FyZC1jb250ZW50IC5jYXJkLXN1YnRpdGxlIHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGZvbnQtc2l6ZTogMS4wOTA5MDkwOTA5cmVtO1xuICBmb250LXdlaWdodDogNTAwO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tdmVydGljYWwtY2FyZHMgLmNhcmQtd3JhcHBlciAuY2FyZC1jb250ZW50IC5jYXJkLXN1YnRpdGxlOmFmdGVyIHtcbiAgdG9wOiAyNnB4O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tdmVydGljYWwtY2FyZHMgLmNhcmQtd3JhcHBlciAuY2FyZC1jb250ZW50IC5jYXJkLXRpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbWFyZ2luOiAyNHB4IDA7XG59XG4ucGFyYWdyYXBoLS10eXBlLS12ZXJ0aWNhbC1jYXJkcyAuY2FyZC13cmFwcGVyLmNhcmQtaW52ZXJ0ZWQgLmNhcmQtaW1hZ2Uge1xuICBvcmRlcjogMTtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLXZlcnRpY2FsLWNhcmRzIC5jYXJkLXdyYXBwZXIuY2FyZC1pbnZlcnRlZCAuY2FyZC1jb250ZW50IHtcbiAgcGFkZGluZzogMTA1cHggNjBweDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLXZlcnRpY2FsLWNhcmRzIHtcbiAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgfVxuICAucGFyYWdyYXBoLS10eXBlLS12ZXJ0aWNhbC1jYXJkcyAuY2FyZC13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiA0MHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLXZlcnRpY2FsLWNhcmRzIC5jYXJkLXdyYXBwZXIgLmNhcmQtaW1hZ2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLXZlcnRpY2FsLWNhcmRzIC5jYXJkLXdyYXBwZXIgLmNhcmQtY29udGVudCB7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAucGFyYWdyYXBoLS10eXBlLS12ZXJ0aWNhbC1jYXJkcyAuY2FyZC13cmFwcGVyLmNhcmQtaW52ZXJ0ZWQgLmNhcmQtaW1hZ2Uge1xuICAgIG9yZGVyOiAwO1xuICB9XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLXZlcnRpY2FsLWNhcmRzIC5jYXJkLXdyYXBwZXIuY2FyZC1pbnZlcnRlZCAuY2FyZC1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi5wYXJhZ3JhcGgtLXR5cGUtLXF1b3RlOm5vdCgud2l0aC1pbWFnZSkge1xuICBiYWNrZ3JvdW5kOiB1cmwoL3RoZW1lcy9jdXN0b20vdHRfZm91bmRhdGlvbi9pbWFnZXMvcGFyYWdyYXBocy9xdW90ZV9iYWNrZ3JvdW5kLnBuZyk7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1xdW90ZTpub3QoLndpdGgtaW1hZ2UpIC5xdW90ZS1jb250ZW50IC5xdW90ZS1mb290ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1xdW90ZSAucXVvdGUtY29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1hcmdpbi1ib3R0b206IDEyMHB4O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tcXVvdGUgLnF1b3RlLWNvbnRlbnQgLnRleHQtYWxpZ24tY2VudGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLXF1b3RlIC5xdW90ZS1jb250ZW50IC5zZXBhcmF0b3IsIC5wYXJhZ3JhcGgtLXR5cGUtLXF1b3RlIC5xdW90ZS1jb250ZW50IC5zZXBhcmF0b3ItYm90dG9tLCAucGFyYWdyYXBoLS10eXBlLS1xdW90ZSAucXVvdGUtY29udGVudCAuc2VwYXJhdG9yLWJvdHRvbS1zbWFsbCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICBtYXJnaW4tdG9wOiA2MHB4O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tcXVvdGUgLnF1b3RlLWNvbnRlbnQgLnNlcGFyYXRvcjphZnRlciwgLnBhcmFncmFwaC0tdHlwZS0tcXVvdGUgLnF1b3RlLWNvbnRlbnQgLnNlcGFyYXRvci1ib3R0b206YWZ0ZXIsIC5wYXJhZ3JhcGgtLXR5cGUtLXF1b3RlIC5xdW90ZS1jb250ZW50IC5zZXBhcmF0b3ItYm90dG9tLXNtYWxsOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgYm90dG9tOiAwO1xuICBoZWlnaHQ6IDFweDtcbiAgd2lkdGg6IDkwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDlmZTM7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLXF1b3RlIC5xdW90ZS1jb250ZW50IC5xdW90ZS1mb290ZXIgLnF1b3RlLW5hbWUge1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tcXVvdGUgLnF1b3RlLWNvbnRlbnQgLnF1b3RlLWZvb3RlciAucXVvdGUtb3RoZXIge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tcXVvdGUud2l0aC1pbWFnZSAucXVvdGUtYmFja2dyb3VuZC1pbWFnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLXF1b3RlLndpdGgtaW1hZ2Uge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvcGFyYWdyYXBocy9xdW90ZV9iYWNrZ3JvdW5kX2ltYWdlLnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAyNSUgNTAlO1xuICBwYWRkaW5nOiAxMjBweCAwIDcwcHggMDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLXF1b3RlLndpdGgtaW1hZ2UgLnF1b3RlLWNvbnRlbnQgLnF1b3RlLWZvb3RlciB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuLnBhcmFncmFwaC0tdHlwZS0tcXVvdGUud2l0aC1pbWFnZSAucXVvdGUtY29udGVudCAuc2VwYXJhdG9yOmFmdGVyLCAucGFyYWdyYXBoLS10eXBlLS1xdW90ZS53aXRoLWltYWdlIC5xdW90ZS1jb250ZW50IC5zZXBhcmF0b3ItYm90dG9tOmFmdGVyLCAucGFyYWdyYXBoLS10eXBlLS1xdW90ZS53aXRoLWltYWdlIC5xdW90ZS1jb250ZW50IC5zZXBhcmF0b3ItYm90dG9tLXNtYWxsOmFmdGVyIHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLXF1b3RlIC5xdW90ZS1jb250ZW50IC5zZXBhcmF0b3I6YWZ0ZXIsIC5wYXJhZ3JhcGgtLXR5cGUtLXF1b3RlIC5xdW90ZS1jb250ZW50IC5zZXBhcmF0b3ItYm90dG9tOmFmdGVyLCAucGFyYWdyYXBoLS10eXBlLS1xdW90ZSAucXVvdGUtY29udGVudCAuc2VwYXJhdG9yLWJvdHRvbS1zbWFsbDphZnRlciB7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTk4NzVlbSkge1xuICAucGFyYWdyYXBoLS10eXBlLS1xdW90ZS53aXRoLWltYWdlIHtcbiAgICBwYWRkaW5nOiAyMHB4IDAgMCAwO1xuICB9XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLXF1b3RlLndpdGgtaW1hZ2UgLnF1b3RlLWZvb3RlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLXF1b3RlIC5xdW90ZS1jb250ZW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAucGFyYWdyYXBoLS10eXBlLS1xdW90ZSAucXVvdGUtY29udGVudCAucXVvdGUtZm9vdGVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgfVxufVxuXG4vKiBSYWdncnVwcGEgdHV0dGkgaSBwYXJhZ3JhZmkgbWluaWNhcmQ9KiBleCBcImNvbnRhY3RzXCIgKi9cbi5wYXJhZ3JhcGgtLXR5cGUtLWNvbnRhY3RzIC5jb250YWN0LWNvbnRlbnQge1xuICBib3gtc2hhZG93OiAwcHggNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgb3BhY2l0eTogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgcGFkZGluZzogMzlweCAyN3B4IDI5cHg7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tY29udGFjdHMgLmNvbnRhY3QtY29udGVudDpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDBweCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1jb250YWN0cyAud3JhcHBlci10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1jb250YWN0cyAubmFtZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBsaW5lLWhlaWdodDogMS44cmVtO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAxMHB4O1xuICB0ZXh0LWRlY29yYXRpb24tY29sb3I6ICMwMDk3NTA7XG4gIC8qJjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAtN3B4O1xuICAgIGhlaWdodDogMXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWdyZWVuO1xuICB9Ki9cbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWNvbnRhY3RzIC50ZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWNvbnRhY3RzIC50ZXh0IHAge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tY29udGFjdHMgLmZpbGVzIC5tZWRpYS1saW5rIHtcbiAgbWFyZ2luOiAyMHB4IDA7XG59XG5cbi5tc2dfY193cmFwcGVyX2NsZWFyZml4OmJlZm9yZSxcbi5tc2dfY193cmFwcGVyX2NsZWFyZml4OmFmdGVyIHtcbiAgY29udGVudDogXCIgXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4ubXNnX2Nfd3JhcHBlcjpub3QoLm1zZ19jX3dyYXBwZXJfZnVsbF93aWR0aCkge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi5tc2dfY193cmFwcGVyX2JpZ2dlc3Qge1xuICBtYXgtd2lkdGg6IGF1dG87XG59XG5cbi5tc2dfY193cmFwcGVyX2JpZyB7XG4gIG1heC13aWR0aDogYXV0bztcbn1cblxuLm1zZ19jX3dyYXBwZXJfbWVkaXVtIHtcbiAgbWF4LXdpZHRoOiBhdXRvO1xufVxuXG4ubXNnX2Nfd3JhcHBlcl9zbWFsbCB7XG4gIG1heC13aWR0aDogYXV0bztcbn1cblxuLm1zZ19jX3dyYXBwZXJfc21hbGxlc3Qge1xuICBtYXgtd2lkdGg6IGF1dG87XG59XG5cbi5tc2dfY193cmFwcGVyX3NwYWNlX3RvcCB7XG4gIG1hcmdpbi10b3A6IGF1dG87XG59XG5cbi5tc2dfY193cmFwcGVyX3NwYWNlX2JvdHRvbSB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLW1zZ19jX3dyYXBwZXJfc3BhY2VyLCAzNXB4KTtcbn1cblxuLm1zZ19jX3dyYXBwZXJfc3BhY2VfYm90aCB7XG4gIG1hcmdpbi10b3A6IHZhcigtLW1zZ19jX3dyYXBwZXJfc3BhY2VyLCAzNXB4KTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tbXNnX2Nfd3JhcHBlcl9zcGFjZXIsIDM1cHgpO1xufVxuXG4ubXNnX2Nfd3JhcHBlcl9jb2xvcmVkIHtcbiAgcGFkZGluZy10b3A6IDQwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICBiYWNrZ3JvdW5kOiAjRjRGNEY0O1xufVxuXG4ucGFyYWdyYXBoLS10eXBlLS1kaXNjb3Zlci1tb3JlIHtcbiAgcGFkZGluZzogODBweCAwO1xuICBvcGFjaXR5OiAxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQ0LCAyNDQsIDI0NCk7XG59XG4ucGFyYWdyYXBoLS10eXBlLS1kaXNjb3Zlci1tb3JlIC5jYXJkcy10aXRsZSB7XG4gIGNvbG9yOiAjMDA5NzUwO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tZGlzY292ZXItbW9yZSAuY2FyZC1jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tZGlzY292ZXItbW9yZSAuY2FyZC1jb250ZW50LmRpc2NvdmVyLWNvbDMgLmNhcmQtdGl0bGUge1xuICBmb250LXNpemU6IDEuMzYzNjM2MzYzNnJlbTtcbn1cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAucGFyYWdyYXBoLS10eXBlLS1kaXNjb3Zlci1tb3JlIC5jYXJkLWNvbnRlbnQuZGlzY292ZXItY29sMyAuY2FyZC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjI3MjcyNzI3MjdyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMzYzNjM2MzYzNnJlbTtcbiAgfVxuICAucGFyYWdyYXBoLS10eXBlLS1kaXNjb3Zlci1tb3JlIC5jYXJkLWNvbnRlbnQuZGlzY292ZXItY29sMyAuY2FyZC10ZXh0IHtcbiAgICBmb250LXNpemU6IDAuOTA5MDkwOTA5MXJlbTtcbiAgfVxufVxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLnBhcmFncmFwaC0tdHlwZS0tZGlzY292ZXItbW9yZSAuY2FyZC1jb250ZW50LmRpc2NvdmVyLWNvbDMgLmNhcmQtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS4wOTA5MDkwOTA5cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3MjcyNzI3MjdyZW07XG4gIH1cbiAgLnBhcmFncmFwaC0tdHlwZS0tZGlzY292ZXItbW9yZSAuY2FyZC1jb250ZW50LmRpc2NvdmVyLWNvbDMgLmNhcmQtdGV4dCB7XG4gICAgZm9udC1zaXplOiAwLjgxODE4MTgxODJyZW07XG4gIH1cbn1cbi5wYXJhZ3JhcGgtLXR5cGUtLWRpc2NvdmVyLW1vcmUgLmNhcmQtY29udGVudCAuY2FyZC10ZXh0IHtcbiAgZmxleC1ncm93OiAxO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tZGlzY292ZXItbW9yZSAuY2FyZC1jb250ZW50IC5jYXJkLWxpbmsge1xuICBqdXN0aWZ5LXNlbGY6IGZsZXgtZW5kO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgLnBhcmFncmFwaC0tdHlwZS0tZGlzY292ZXItbW9yZSB7XG4gICAgcGFkZGluZzogMjBweCAwO1xuICB9XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLWRpc2NvdmVyLW1vcmUgLmNhcmRzLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuNzI3MjcyNzI3M3JlbTtcbiAgfVxuICAucGFyYWdyYXBoLS10eXBlLS1kaXNjb3Zlci1tb3JlIC5jYXJkLWltYWdlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLnBhcmFncmFwaC0tdHlwZS0tdGltZWxpbmUgLnBhcmFncmFwaC0tdHlwZS0tdGltZWxpbmUtaXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuLnBhcmFncmFwaC0tdHlwZS0tdGltZWxpbmUgLnBhcmFncmFwaC0tdHlwZS0tdGltZWxpbmUtaXRlbSAudGltZWxpbmUtaW1hZ2Uge1xuICBvcmRlcjogMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMjBweCAwO1xuICBtYXJnaW46IDA7XG59XG4ucGFyYWdyYXBoLS10eXBlLS10aW1lbGluZSAucGFyYWdyYXBoLS10eXBlLS10aW1lbGluZS1pdGVtIC50aW1lbGluZS10ZXh0IHtcbiAgb3JkZXI6IDI7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG59XG4ucGFyYWdyYXBoLS10eXBlLS10aW1lbGluZSAucGFyYWdyYXBoLS10eXBlLS10aW1lbGluZS1pdGVtOm50aC1jaGlsZChldmVuKSAudGltZWxpbmUtaW1hZ2Uge1xuICBib3JkZXI6IG5vbmU7XG59XG4ucGFyYWdyYXBoLS10eXBlLS10aW1lbGluZSAucGFyYWdyYXBoLS10eXBlLS10aW1lbGluZS1pdGVtOm50aC1jaGlsZChldmVuKSAudGltZWxpbmUtdGV4dCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLXRpbWVsaW5lIC5wYXJhZ3JhcGgtLXR5cGUtLXRpbWVsaW5lLWl0ZW0ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgfVxuICAucGFyYWdyYXBoLS10eXBlLS10aW1lbGluZSAucGFyYWdyYXBoLS10eXBlLS10aW1lbGluZS1pdGVtOm50aC1jaGlsZChldmVuKSAudGltZWxpbmUtaW1hZ2Uge1xuICAgIG9yZGVyOiAyO1xuICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICM0NmIzODQ7XG4gIH1cbiAgLnBhcmFncmFwaC0tdHlwZS0tdGltZWxpbmUgLnBhcmFncmFwaC0tdHlwZS0tdGltZWxpbmUtaXRlbTpudGgtY2hpbGQoZXZlbikgLnRpbWVsaW5lLXRleHQge1xuICAgIG9yZGVyOiAxO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICB9XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLXRpbWVsaW5lIC5wYXJhZ3JhcGgtLXR5cGUtLXRpbWVsaW5lLWl0ZW0gLnRpbWVsaW5lLWltYWdlIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLXRpbWVsaW5lIC5wYXJhZ3JhcGgtLXR5cGUtLXRpbWVsaW5lLWl0ZW0gLnRpbWVsaW5lLXRleHQge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICB9XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLXRpbWVsaW5lIC5wYXJhZ3JhcGgtLXR5cGUtLXRpbWVsaW5lLWl0ZW06YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdG9wOiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0NmIzODQ7XG4gIH1cbiAgLnBhcmFncmFwaC0tdHlwZS0tdGltZWxpbmUgLnBhcmFncmFwaC0tdHlwZS0tdGltZWxpbmUtaXRlbTphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogNTAlO1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBib3JkZXI6IDEwcHggc29saWQgIzQ2YjM4NDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLXRpbWVsaW5lIC5wYXJhZ3JhcGgtLXR5cGUtLXRpbWVsaW5lLWl0ZW0gLnRpbWVsaW5lLXRleHQge1xuICAgIHBhZGRpbmctbGVmdDogMTIwcHg7XG4gIH1cbiAgLnBhcmFncmFwaC0tdHlwZS0tdGltZWxpbmUgLnBhcmFncmFwaC0tdHlwZS0tdGltZWxpbmUtaXRlbTpudGgtY2hpbGQoZXZlbikgLnRpbWVsaW5lLXRleHQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEyMHB4O1xuICB9XG59XG5cbi5ib2R5LmZpZWxkLS1ub2RlLWJvZHkge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uYm9keS5maWVsZC0tbm9kZS1ib2R5IHA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qKlxuICogRGVmaW5pemlvbmkgY29tdW5pIGEgdHV0dGUgbGUgdmlzdGVcbiAqIExlIHZpc3RlIGNoZSByaWd1YXJkYW5vIHVuIGNlcnRvIHRpcG8gZGkgY29udGVudXRvIHZhbm5vIHN0aWxpenphdGUgbmVsIHJlbGF0aXZvIGZpbGUgY29udGVudF90eXBlcy9fKi5zY3NzXG4gKi9cbi52aWV3cy1leHBvc2VkLWZvcm0ge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLnZpZXdzLWV4cG9zZWQtZm9ybSAuZm9ybS1pdGVtIHtcbiAgbWFyZ2luOiAwIDEwcHg7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTk4NzVlbSkge1xuICAudmlld3MtZXhwb3NlZC1mb3JtIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMjBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAudmlld3MtZXhwb3NlZC1mb3JtIC5zZWxlY3QyLWNvbnRhaW5lciB7XG4gICAgbWluLXdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi52aWV3cy1yb3ctZG9jdW1lbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRDFEMkQ0O1xufVxuLnZpZXdzLXJvdy1kb2N1bWVudDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjRDFEMkQ0O1xufVxuXG4udmlld3MtZWxlbWVudC1jb250YWluZXIgbmF2LnBhZ2VyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnZpZXdzLWVsZW1lbnQtY29udGFpbmVyIHVsLnBhZ2VyX19pdGVtcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbjogNDBweCBhdXRvO1xuICBwYWRkaW5nOiAwO1xuICBmb250LXNpemU6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi52aWV3cy1lbGVtZW50LWNvbnRhaW5lciB1bC5wYWdlcl9faXRlbXMgbGkucGFnZXJfX2l0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi13aWR0aDogNDBweDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnZpZXdzLWVsZW1lbnQtY29udGFpbmVyIHVsLnBhZ2VyX19pdGVtcyBsaS5wYWdlcl9faXRlbSB7XG4gICAgbWFyZ2luOiAwIDRweDtcbiAgfVxufVxuLnZpZXdzLWVsZW1lbnQtY29udGFpbmVyIHVsLnBhZ2VyX19pdGVtcyBsaS5wYWdlcl9faXRlbTpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4udmlld3MtZWxlbWVudC1jb250YWluZXIgdWwucGFnZXJfX2l0ZW1zIGxpLnBhZ2VyX19pdGVtIGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLXdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIHBhZGRpbmc6IDAgMTJweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICBjb2xvcjogIzAwMDAwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi52aWV3cy1lbGVtZW50LWNvbnRhaW5lciB1bC5wYWdlcl9faXRlbXMgbGkucGFnZXJfX2l0ZW0gYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogNHB4O1xuICBiYWNrZ3JvdW5kOiAjMDA5NzUwO1xuICB6LWluZGV4OiAtMTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbn1cbi52aWV3cy1lbGVtZW50LWNvbnRhaW5lciB1bC5wYWdlcl9faXRlbXMgbGkucGFnZXJfX2l0ZW0gYTpob3ZlciBhIHtcbiAgY29sb3I6IHdoaXRlO1xufVxuLnZpZXdzLWVsZW1lbnQtY29udGFpbmVyIHVsLnBhZ2VyX19pdGVtcyBsaS5wYWdlcl9faXRlbSBhOmhvdmVyOmJlZm9yZSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnZpZXdzLWVsZW1lbnQtY29udGFpbmVyIHVsLnBhZ2VyX19pdGVtcyBsaS5wYWdlcl9faXRlbS5wYWdlcl9faXRlbS0tZWxsaXBzaXMge1xuICBoZWlnaHQ6IDQwcHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gIHdpZHRoOiAzMHB4O1xuICBtaW4td2lkdGg6IGF1dG87XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAudmlld3MtZWxlbWVudC1jb250YWluZXIgdWwucGFnZXJfX2l0ZW1zIGxpLnBhZ2VyX19pdGVtLnBhZ2VyX19pdGVtLS1lbGxpcHNpcyB7XG4gICAgd2lkdGg6IDQwcHg7XG4gIH1cbn1cbi52aWV3cy1lbGVtZW50LWNvbnRhaW5lciB1bC5wYWdlcl9faXRlbXMgbGkucGFnZXJfX2l0ZW0ucGFnZXJfX2l0ZW0tLXByZXZpb3VzLCAudmlld3MtZWxlbWVudC1jb250YWluZXIgdWwucGFnZXJfX2l0ZW1zIGxpLnBhZ2VyX19pdGVtLnBhZ2VyX19pdGVtLS1uZXh0IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi52aWV3cy1lbGVtZW50LWNvbnRhaW5lciB1bC5wYWdlcl9faXRlbXMgbGkucGFnZXJfX2l0ZW0ucGFnZXJfX2l0ZW0tLXByZXZpb3VzIHNwYW5bYXJpYS1oaWRkZW49dHJ1ZV0sIC52aWV3cy1lbGVtZW50LWNvbnRhaW5lciB1bC5wYWdlcl9faXRlbXMgbGkucGFnZXJfX2l0ZW0ucGFnZXJfX2l0ZW0tLW5leHQgc3BhblthcmlhLWhpZGRlbj10cnVlXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4udmlld3MtZWxlbWVudC1jb250YWluZXIgdWwucGFnZXJfX2l0ZW1zIGxpLnBhZ2VyX19pdGVtLnBhZ2VyX19pdGVtLS1wcmV2aW91cyBhOmFmdGVyIHtcbiAgY29udGVudDogXCJcXGU4MTBcIjtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4udmlld3MtZWxlbWVudC1jb250YWluZXIgdWwucGFnZXJfX2l0ZW1zIGxpLnBhZ2VyX19pdGVtLnBhZ2VyX19pdGVtLS1uZXh0IGE6YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcZTgxM1wiO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi52aWV3cy1lbGVtZW50LWNvbnRhaW5lciB1bC5wYWdlcl9faXRlbXMgbGkucGFnZXJfX2l0ZW0ucGFnZXJfX2l0ZW0uY3VycmVudCBhIHtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4udmlld3MtZWxlbWVudC1jb250YWluZXIgdWwucGFnZXJfX2l0ZW1zIGxpLnBhZ2VyX19pdGVtLnBhZ2VyX19pdGVtLmN1cnJlbnQgYTpiZWZvcmUge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnZpZXdJbmZpbml0ZVBhZ2VkIC5qcy1wYWdlcl9faXRlbXMuaW5maW5pdGUtcGFnZXIge1xuICBtYXJnaW4tdG9wOiA2MHB4O1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLnZpZXdJbmZpbml0ZVBhZ2VkIC5qcy1wYWdlcl9faXRlbXMuaW5maW5pdGUtcGFnZXIgbGk6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmJlZkZpbHRlcnMgLmJlZi1leHBvc2VkLWZvcm0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgbWFyZ2luLXRvcDogMzBweDtcbiAgbWFyZ2luLWJvdHRvbTogNzBweDtcbn1cbi5iZWZGaWx0ZXJzIC5iZWYtZXhwb3NlZC1mb3JtIGxhYmVsLFxuLmJlZkZpbHRlcnMgLmJlZi1leHBvc2VkLWZvcm0gbGVnZW5kIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5iZWZGaWx0ZXJzIC5iZWYtZXhwb3NlZC1mb3JtIC5qcy1mb3JtLWl0ZW0ge1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG59XG4uYmVmRmlsdGVycyAuYmVmLWV4cG9zZWQtZm9ybSAuanMtZm9ybS1pdGVtOmxhc3Qtb2YtdHlwZSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cbi5iZWZGaWx0ZXJzIC5iZWYtZXhwb3NlZC1mb3JtIC5mb3JtLXJhZGlvcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZvbnQtc2l6ZTogMDtcbn1cbi5iZWZGaWx0ZXJzIC5iZWYtZXhwb3NlZC1mb3JtIC5mb3JtLXJhZGlvcyAuanMtZm9ybS10eXBlLXJhZGlvIHtcbiAgbWFyZ2luOiAwIDVweDtcbn1cbi5iZWZGaWx0ZXJzIC5iZWYtZXhwb3NlZC1mb3JtIC5mb3JtLXJhZGlvcyBpbnB1dFt0eXBlPXJhZGlvXSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBtYXJnaW46IDA7XG59XG4uYmVmRmlsdGVycyAuYmVmLWV4cG9zZWQtZm9ybSAuZm9ybS1yYWRpb3MgbGFiZWwub3B0aW9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDE3cHggMjBweCAxMXB4IDIwcHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiA3cHggc29saWQgIzAwMDAwMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDAuNjM2MzYzNjM2NHJlbTtcbiAgbGluZS1oZWlnaHQ6IDAuOTA5MDkwOTA5MXJlbTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4uYmVmRmlsdGVycyAuYmVmLWV4cG9zZWQtZm9ybSAuZm9ybS1yYWRpb3MgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCArIGxhYmVsLm9wdGlvbiB7XG4gIGJhY2tncm91bmQ6ICMwMDAwMDA7XG4gIGJvcmRlci1jb2xvcjogIzAwMDAwMDtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4uYmVmRmlsdGVycyAuYmVmLWV4cG9zZWQtZm9ybSAuZm9ybS1hY3Rpb25zIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5iZWZGaWx0ZXJzIC5iZWYtZXhwb3NlZC1mb3JtIC5mb3JtLXJhZGlvcyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmJlZkZpbHRlcnMgLmJlZi1leHBvc2VkLWZvcm0gLmZvcm0tcmFkaW9zIGxhYmVsLm9wdGlvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogIzAwMDAwMDtcbiAgICBib3JkZXItY29sb3I6ICMwMDAwMDA7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gIH1cbn1cblxuLnZpZXctc2VhcmNoLnNlYXJjaC1wYWdlIGZvcm0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi52aWV3LXNlYXJjaC5zZWFyY2gtcGFnZSBmb3JtIGxhYmVsIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi52aWV3LXNlYXJjaC5zZWFyY2gtcGFnZSBmb3JtIGlucHV0W3R5cGU9dGV4dF0ge1xuICBwYWRkaW5nOiAyNnB4IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXNpemU6IDAuODE4MTgxODE4MnJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgYm9yZGVyOiBub25lO1xuICBib3gtc2hhZG93OiAwcHggMnB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMik7XG59XG4udmlldy1zZWFyY2guc2VhcmNoLXBhZ2UgZm9ybSBpbnB1dFt0eXBlPXN1Ym1pdF0ge1xuICBib3JkZXItcmFkaXVzOiAzMnB4O1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTc1MDtcbiAgcGFkZGluZzogMTZweCAzMnB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC1zaXplOiAwLjYzNjM2MzYzNjRyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4udmlldy1zZWFyY2guc2VhcmNoLXBhZ2UgZm9ybSBpbnB1dCB7XG4gIG1hcmdpbjogMDtcbn1cbi52aWV3LXNlYXJjaC5zZWFyY2gtcGFnZSAudmlld3Mtcm93IGFydGljbGUge1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRDFEMkQ0O1xufVxuLnZpZXctc2VhcmNoLnNlYXJjaC1wYWdlIC52aWV3cy1yb3c6Zmlyc3QtY2hpbGQgYXJ0aWNsZSB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjRDFEMkQ0O1xufVxuLnZpZXctc2VhcmNoLnNlYXJjaC1wYWdlIC52aWV3cy1yb3cgaDIubm9kZS10aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuLnZpZXctc2VhcmNoLnNlYXJjaC1wYWdlIC52aWV3cy1yb3cgLmZpZWxkLS1zZWFyY2gtYXBpLWV4Y2VycHQge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4jc2l0ZS1zZWFyY2gtZm9ybSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogOTtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxNDBweCk7XG4gIHdpZHRoOiAxMDAlO1xuICB0b3A6IDE0MHB4O1xuICBwYWRkaW5nOiAwIDE1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTUxLCA4MCwgMC45KTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3NlYXJjaC9zZWFyY2hfYmFja2dyb3VuZC5wbmdcIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBhdXRvO1xufVxuLmhlYWRyb29tLW5vdC10b3AgI3NpdGUtc2VhcmNoLWZvcm0ge1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDc1cHgpO1xuICB0b3A6IDc1cHg7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaGVhZHJvb20tbm90LXRvcCAjc2l0ZS1zZWFyY2gtZm9ybSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA3NXB4KTtcbiAgICB0b3A6IDc1cHg7XG4gIH1cbiAgLnRvb2xiYXItaG9yaXpvbnRhbCAjc2l0ZS1zZWFyY2gtZm9ybSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxNzlweCk7XG4gICAgdG9wOiAxNzlweDtcbiAgfVxuICAudG9vbGJhci10cmF5LW9wZW4udG9vbGJhci12ZXJ0aWNhbCAjc2l0ZS1zZWFyY2gtZm9ybSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxNzlweCk7XG4gICAgdG9wOiAxNzlweDtcbiAgfVxuICAudG9vbGJhci10cmF5LW9wZW4udG9vbGJhci1ob3Jpem9udGFsICNzaXRlLXNlYXJjaC1mb3JtIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDIyM3B4KTtcbiAgICB0b3A6IDIyM3B4O1xuICB9XG4gIC50b29sYmFyLWhvcml6b250YWwuaGVhZHJvb20tbm90LXRvcCAjc2l0ZS1zZWFyY2gtZm9ybSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxMTRweCk7XG4gICAgdG9wOiAxMTRweDtcbiAgfVxuICAudG9vbGJhci10cmF5LW9wZW4udG9vbGJhci12ZXJ0aWNhbC5oZWFkcm9vbS1ub3QtdG9wICNzaXRlLXNlYXJjaC1mb3JtIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDExNHB4KTtcbiAgICB0b3A6IDExNHB4O1xuICB9XG4gIC50b29sYmFyLXRyYXktb3Blbi50b29sYmFyLWhvcml6b250YWwuaGVhZHJvb20tbm90LXRvcCAjc2l0ZS1zZWFyY2gtZm9ybSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxNThweCk7XG4gICAgdG9wOiAxNThweDtcbiAgfVxufVxuXG4jYmxvY2stdHQtZm91bmRhdGlvbi1mb3JtZXNwb3N0b3NlYXJjaHNlYXJjaC1ibG9jayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4jYmxvY2stdHQtZm91bmRhdGlvbi1mb3JtZXNwb3N0b3NlYXJjaHNlYXJjaC1ibG9jayBmb3JtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAzMHB4O1xufVxuI2Jsb2NrLXR0LWZvdW5kYXRpb24tZm9ybWVzcG9zdG9zZWFyY2hzZWFyY2gtYmxvY2sgZm9ybSBsYWJlbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4jYmxvY2stdHQtZm91bmRhdGlvbi1mb3JtZXNwb3N0b3NlYXJjaHNlYXJjaC1ibG9jayBmb3JtIGlucHV0W3R5cGU9dGV4dF0ge1xuICBwYWRkaW5nOiAyNnB4IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXNpemU6IDAuODE4MTgxODE4MnJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgYm9yZGVyOiBub25lO1xufVxuI2Jsb2NrLXR0LWZvdW5kYXRpb24tZm9ybWVzcG9zdG9zZWFyY2hzZWFyY2gtYmxvY2sgZm9ybSBpbnB1dFt0eXBlPXN1Ym1pdF0ge1xuICBib3JkZXItcmFkaXVzOiAzMnB4O1xuICBjb2xvcjogIzAwOTc1MDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgcGFkZGluZzogMTZweCA3N3B4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC1zaXplOiAwLjYzNjM2MzYzNjRyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4jYmxvY2stdHQtZm91bmRhdGlvbi1mb3JtZXNwb3N0b3NlYXJjaHNlYXJjaC1ibG9jayBmb3JtIGlucHV0IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4udmlld3Mtdmlldy1hc3NlbWJsZWUgLmFzc2VtYmxlYS10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG4udmlld3Mtdmlldy1hc3NlbWJsZWUgPiAudmlld3Mtcm93IGFydGljbGUubm9kZS1hc3NlbWJsZWEtdGVhc2VyIHtcbiAgcGFkZGluZy1ib3R0b206IDgwcHg7XG59XG5cbi52aWV3RXZlbnRpIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4udmlld0V2ZW50aSAuY3VzdG9tLXJvdy13cmFwcGVyIC5jdXN0b20tcm93IC5jdXN0b20tdGl0bGUtd3JhcHBlciB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLnByZXNzLXJlbGVhc2VzLnByZXNzLXJlbGVhc2VzLWxhdGVzdCB7XG4gIHBhZGRpbmctdG9wOiAxMDBweDtcbiAgcGFkZGluZy1ib3R0b206IDEwMHB4O1xufVxuLnByZXNzLXJlbGVhc2VzLnByZXNzLXJlbGVhc2VzLWxhdGVzdCB7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbn1cblxuLm1lZGlhLWdhbGxlcnkgLm1lZGlhLWNvbnRlbnQ6bm90KC5tZWRpYS12aWRlby1jb250ZW50KSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5tZWRpYS1nYWxsZXJ5IC5tZWRpYS1jb250ZW50Om5vdCgubWVkaWEtdmlkZW8tY29udGVudCkgYSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDRweCA4cHg7XG4gIGZvbnQtc2l6ZTogMDtcbiAgYm90dG9tOiAxMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5NzUwO1xufVxuLm1lZGlhLWdhbGxlcnkgLm1lZGlhLWNvbnRlbnQ6bm90KC5tZWRpYS12aWRlby1jb250ZW50KSBhOmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4ubWVkaWEtZ2FsbGVyeSAubWVkaWEtY29udGVudDpub3QoLm1lZGlhLXZpZGVvLWNvbnRlbnQpIGEubWVkaWEtZG93bmxvYWQge1xuICByaWdodDogMTBweDtcbn1cbi5tZWRpYS1nYWxsZXJ5IC5tZWRpYS1jb250ZW50Om5vdCgubWVkaWEtdmlkZW8tY29udGVudCkgYS5tZWRpYS1kb3dubG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgwOFwiO1xufVxuLm1lZGlhLWdhbGxlcnkgLm1lZGlhLWNvbnRlbnQ6bm90KC5tZWRpYS12aWRlby1jb250ZW50KSBhLm1lZGlhLWV4cGFuZCB7XG4gIGxlZnQ6IDEwcHg7XG59XG4ubWVkaWEtZ2FsbGVyeSAubWVkaWEtY29udGVudDpub3QoLm1lZGlhLXZpZGVvLWNvbnRlbnQpIGEubWVkaWEtZXhwYW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODA3XCI7XG59XG4ubWVkaWEtZ2FsbGVyeSAubWVkaWEtY29udGVudDpub3QoLm1lZGlhLXZpZGVvLWNvbnRlbnQpIGE6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZDAwO1xufVxuLm1lZGlhLWdhbGxlcnkgLm1lZGlhLWNvbnRlbnQ6bm90KC5tZWRpYS12aWRlby1jb250ZW50KSBhOmhvdmVyOmJlZm9yZSB7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLm1lZGlhLWdhbGxlcnkgLm1lZGlhLXZpZGVvLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ubWVkaWEtZ2FsbGVyeSAubWVkaWEtdmlkZW8tY29udGVudCBhLmZhbmN5LWxpbmstdmlkZW8ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgYm90dG9tOiBhdXRvO1xuICB6LWluZGV4OiA1O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgY29sb3I6ICMwMDk3NTAgIWltcG9ydGFudDtcbn1cbi5tZWRpYS1nYWxsZXJ5IC5tZWRpYS12aWRlby1jb250ZW50IGEuZmFuY3ktbGluay12aWRlbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgxNVwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB6LWluZGV4OiA0O1xuICBmb250LXNpemU6IDYwcHg7XG4gIGxpbmUtaGVpZ2h0OiA2MHB4O1xufVxuLm1lZGlhLWdhbGxlcnkgLm1lZGlhLXZpZGVvLWNvbnRlbnQgYS5mYW5jeS1saW5rLXZpZGVvOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDM7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cbi5tZWRpYS1nYWxsZXJ5IC5tZWRpYS12aWRlby1jb250ZW50IC52aWRlby1jb29raWUtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiA3O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICBwYWRkaW5nOiAyMHB4O1xuICBvcGFjaXR5OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgY29sb3I6ICMwMDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5tZWRpYS1nYWxsZXJ5IC5tZWRpYS12aWRlby1jb250ZW50IC52aWRlby1jb29raWUtb3ZlcmxheS5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4ubWVkaWEtZ2FsbGVyeSAubWVkaWEtdmlkZW8tY29udGVudCAudmlkZW8tY29va2llLW92ZXJsYXkgLmFjY2VwdC1jb29raWVzLWJ0biB7XG4gIGJvcmRlci1yYWRpdXM6IDI0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDk3NTA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcGFkZGluZzogMTZweCA1NnB4O1xuICBtYXJnaW46IDQwcHggYXV0byAwO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAwLjYzNjM2MzYzNjRyZW07XG4gIGxldHRlci1zcGFjaW5nOiAwcHg7XG4gIGxpbmUtaGVpZ2h0OiAwLjgxODE4MTgxODJyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4ubWVkaWEtZ2FsbGVyeSAubWVkaWEtdmlkZW8tY29udGVudCAudmlkZW8tY29va2llLW92ZXJsYXkgLmFjY2VwdC1jb29raWVzLWJ0bjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmVkMDA7XG4gIGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG59XG5cbi5wYWdlLTQwNCAucGFnZVRpdGxlLFxuLnBhZ2UtNDAzIC5wYWdlVGl0bGUge1xuICBmb250LXNpemU6IDkuMDkwOTA5MDkwOXJlbSAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogOS4wOTA5MDkwOTA5cmVtICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRDFEMkQ0ICFpbXBvcnRhbnQ7XG59XG5cbi5wcmVzcy1yZWxlYXNlcy5wcmVzcy1yZWxlYXNlcy1sYXRlc3QgLnByZXNzLXJlbGVhc2UtZGF0ZSB0aW1lIHtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4ucHJlc3MtcmVsZWFzZXMucHJlc3MtcmVsZWFzZXMtbGF0ZXN0IC5wcmVzcy1yZWxlYXNlLXRpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbjogMTZweCAwO1xufVxuLnByZXNzLXJlbGVhc2VzLnByZXNzLXJlbGVhc2VzLWxhdGVzdCAucHJlc3MtcmVsZWFzZS10aXRsZSBzcGFuIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuYm9keS5wYXRoLWZyb250cGFnZSB7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTsgLyogSUUgYW5kIEVkZ2UgKi9cbiAgc2Nyb2xsYmFyLXdpZHRoOiBub25lOyAvKiBGaXJlZm94ICovXG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cbmJvZHkucGF0aC1mcm9udHBhZ2UgI21haW4ucGFnZU1haW4ge1xuICBtYXJnaW46IDA7XG59XG5ib2R5LnBhdGgtZnJvbnRwYWdlIGhlYWRlci5wYWdlSGVhZGVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuYm9keS5wYXRoLWZyb250cGFnZSBoZWFkZXIucGFnZUhlYWRlciBhIHtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5ib2R5LnBhdGgtZnJvbnRwYWdlIGhlYWRlci5wYWdlSGVhZGVyIGEubG9nbyBzdmcgI3RleHQge1xuICBmaWxsOiAjZmZmZmZmO1xufVxuYm9keS5wYXRoLWZyb250cGFnZSBoZWFkZXIucGFnZUhlYWRlci5oZWFkcm9vbS0tbm90LXRvcCBhLmxvZ28gc3ZnICN0ZXh0IHtcbiAgZmlsbDogIzAwMDAwMDtcbn1cbmJvZHkucGF0aC1mcm9udHBhZ2UgaGVhZGVyLnBhZ2VIZWFkZXIgLm1haW4tbWVudSB1bC5kcm9wZG93biA+IGxpID4gYSxcbmJvZHkucGF0aC1mcm9udHBhZ2UgaGVhZGVyLnBhZ2VIZWFkZXIgLmJsb2NrLWxhbmd1YWdlIHVsLmxpbmtzID4gbGkgPiBhOm5vdCg6aG92ZXIpIHtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5ib2R5LnBhdGgtZnJvbnRwYWdlIHtcbiAgLyoqXG4gICogSGVhZHJvb20gLSBtZW51IG5vbiBhdHRhY2NhdG8gaW4gcGFnaW5hIG1hIHNjcm9sbCB1cFxuICAqL1xufVxuYm9keS5wYXRoLWZyb250cGFnZSBoZWFkZXIucGFnZUhlYWRlci5oZWFkcm9vbS0tbm90LXRvcCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDZweCByZ2JhKDAsIDAsIDAsIDAuMik7XG59XG5ib2R5LnBhdGgtZnJvbnRwYWdlIGhlYWRlci5wYWdlSGVhZGVyLmhlYWRyb29tLS1ub3QtdG9wIC5tYWluLW1lbnUgdWwuZHJvcGRvd24gPiBsaSA+IGE6bm90KDpob3ZlciksXG5ib2R5LnBhdGgtZnJvbnRwYWdlIGhlYWRlci5wYWdlSGVhZGVyLmhlYWRyb29tLS1ub3QtdG9wIC5ibG9jay1sYW5ndWFnZSB1bC5saW5rcyA+IGxpID4gYTpub3QoOmhvdmVyKSB7XG4gIGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG59XG5ib2R5LnBhdGgtZnJvbnRwYWdlIGhlYWRlci5wYWdlSGVhZGVyLmhlYWRyb29tLS1ub3QtdG9wIC5tYWluLW1lbnUgdWwuZHJvcGRvd24gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogNzVweDtcbn1cbmJvZHkucGF0aC1mcm9udHBhZ2UgLnBhcmFncmFwaC0tdHlwZS0tY2xhaW0ge1xuICBiYWNrZ3JvdW5kOiByZ2IoMCwgMCwgMCk7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuYm9keS5wYXRoLWZyb250cGFnZSAucGFyYWdyYXBoLS10eXBlLS12ZXJ0aWNhbC1jYXJkcyB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMwMDAwMDAgMCUsIHJnYigwLCA4MCwgMTE0KSA1MCUsIHJnYigwLCAxNTksIDIyNykgMTAwJSk7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuXG4uYXNzZW1ibGVlIC5hc3NlbWJsZWEtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xufVxuXG4ubm9kZS1jb250ZW50Lm5vZGUtdHlwZS1tYXAtbWFya2VyLm5vZGUtdmlldy1tb2RlLWZ1bGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMjBweDtcbiAgbGVmdDogMjBweDtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICBwYWRkaW5nOiA0MHB4IDUwcHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTAwJSwgMCk7XG4gIG9wYWNpdHk6IDA7XG59XG4ubm9kZS1jb250ZW50Lm5vZGUtdHlwZS1tYXAtbWFya2VyLm5vZGUtdmlldy1tb2RlLWZ1bGwub3BlbmVkIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG59XG4ubm9kZS1jb250ZW50Lm5vZGUtdHlwZS1tYXAtbWFya2VyLm5vZGUtdmlldy1tb2RlLWZ1bGwgLm1hcmtlci1jbG9zZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgYmFja2dyb3VuZDogIzAwOTc1MDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLm5vZGUtY29udGVudC5ub2RlLXR5cGUtbWFwLW1hcmtlci5ub2RlLXZpZXctbW9kZS1mdWxsIC5tYXJrZXItY2xvc2Ugc3BhbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbi5ub2RlLWNvbnRlbnQubm9kZS10eXBlLW1hcC1tYXJrZXIubm9kZS12aWV3LW1vZGUtZnVsbCAubWFya2VyLWNsb3NlIHNwYW46YmVmb3JlIHtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBsaW5lLWhlaWdodDogNTBweDtcbn1cbi5ub2RlLWNvbnRlbnQubm9kZS10eXBlLW1hcC1tYXJrZXIubm9kZS12aWV3LW1vZGUtZnVsbCAubWFya2VyLWNsb3NlOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzQ2YjM4NDtcbn1cbi5ub2RlLWNvbnRlbnQubm9kZS10eXBlLW1hcC1tYXJrZXIubm9kZS12aWV3LW1vZGUtZnVsbCAubWFya2VyLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cbi5ub2RlLWNvbnRlbnQubm9kZS10eXBlLW1hcC1tYXJrZXIubm9kZS12aWV3LW1vZGUtZnVsbCAubWFya2VyLXdyYXBwZXIgLm1hcmtlci10eXBlIHtcbiAgbWFyZ2luLXRvcDogMzBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cbi5ub2RlLWNvbnRlbnQubm9kZS10eXBlLW1hcC1tYXJrZXIubm9kZS12aWV3LW1vZGUtZnVsbCAubWFya2VyLXdyYXBwZXIgLm1hcmtlci10eXBlIHNwYW4ge1xuICBtYXJnaW4tbGVmdDogMTBweDtcbn1cbmJvZHkuaXMtaWUxMSAubm9kZS1jb250ZW50Lm5vZGUtdHlwZS1mZXJhbHBpLW1hcmtlci0ubm9kZS12aWV3LW1vZGUtZnVsbCAuZmllbGQtbmFtZS1maWVsZC1wcm9kb3R0aSAuZmllbGQtaXRlbSB7XG4gIGZsZXgtYmFzaXM6IDQ2JTtcbn1cblxuLnZpZXdFdmVudGkgLnZpZXdzLWV4cG9zZWQtZm9ybSxcbi52aWV3LWV4cC1mb3JtLXN0eWxlIC52aWV3cy1leHBvc2VkLWZvcm0ge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuLnZpZXdFdmVudGkgLnZpZXdzLWV4cG9zZWQtZm9ybSBmaWVsZHNldC5maWVsZGdyb3VwLFxuLnZpZXctZXhwLWZvcm0tc3R5bGUgLnZpZXdzLWV4cG9zZWQtZm9ybSBmaWVsZHNldC5maWVsZGdyb3VwIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnZpZXdFdmVudGkgLnZpZXdzLWV4cG9zZWQtZm9ybSAuZm9ybS0taW5saW5lID4gLmZvcm0taXRlbSxcbi52aWV3LWV4cC1mb3JtLXN0eWxlIC52aWV3cy1leHBvc2VkLWZvcm0gLmZvcm0tLWlubGluZSA+IC5mb3JtLWl0ZW0ge1xuICBmbG9hdDogbm9uZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLnZpZXdFdmVudGkgLnZpZXdzLWV4cG9zZWQtZm9ybSAuZm9ybS1pdGVtLXllYXIsXG4udmlldy1leHAtZm9ybS1zdHlsZSAudmlld3MtZXhwb3NlZC1mb3JtIC5mb3JtLWl0ZW0teWVhciB7XG4gIHBhZGRpbmc6IDIwcHggMjBweDtcbn1cbi52aWV3RXZlbnRpIC52aWV3cy1leHBvc2VkLWZvcm0gZmllbGRzZXQsXG4udmlldy1leHAtZm9ybS1zdHlsZSAudmlld3MtZXhwb3NlZC1mb3JtIGZpZWxkc2V0IHtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDAgbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cbi52aWV3RXZlbnRpIC52aWV3cy1leHBvc2VkLWZvcm0gLmZvcm0taXRlbSxcbi52aWV3LWV4cC1mb3JtLXN0eWxlIC52aWV3cy1leHBvc2VkLWZvcm0gLmZvcm0taXRlbSB7XG4gIG1hcmdpbjogMDtcbn1cbi52aWV3RXZlbnRpIC52aWV3cy1leHBvc2VkLWZvcm0gbGVnZW5kLFxuLnZpZXctZXhwLWZvcm0tc3R5bGUgLnZpZXdzLWV4cG9zZWQtZm9ybSBsZWdlbmQge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB3aWR0aDogMTAwJTtcbn1cbi52aWV3RXZlbnRpIC52aWV3cy1leHBvc2VkLWZvcm0gLmZpZWxkc2V0LXdyYXBwZXIgbGFiZWwsXG4udmlld0V2ZW50aSAudmlld3MtZXhwb3NlZC1mb3JtIC5maWVsZHNldC13cmFwcGVyIGlucHV0LFxuLnZpZXctZXhwLWZvcm0tc3R5bGUgLnZpZXdzLWV4cG9zZWQtZm9ybSAuZmllbGRzZXQtd3JhcHBlciBsYWJlbCxcbi52aWV3LWV4cC1mb3JtLXN0eWxlIC52aWV3cy1leHBvc2VkLWZvcm0gLmZpZWxkc2V0LXdyYXBwZXIgaW5wdXQge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi52aWV3RXZlbnRpIC52aWV3cy1leHBvc2VkLWZvcm0gLmZpZWxkc2V0LXdyYXBwZXIgLmZvcm0tcmFkaW9zLFxuLnZpZXctZXhwLWZvcm0tc3R5bGUgLnZpZXdzLWV4cG9zZWQtZm9ybSAuZmllbGRzZXQtd3JhcHBlciAuZm9ybS1yYWRpb3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IDEycHg7XG59XG4udmlld0V2ZW50aSAudmlld3MtZXhwb3NlZC1mb3JtIC5maWVsZHNldC13cmFwcGVyIGlucHV0W3R5cGU9cmFkaW9dLFxuLnZpZXctZXhwLWZvcm0tc3R5bGUgLnZpZXdzLWV4cG9zZWQtZm9ybSAuZmllbGRzZXQtd3JhcHBlciBpbnB1dFt0eXBlPXJhZGlvXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4udmlld0V2ZW50aSAudmlld3MtZXhwb3NlZC1mb3JtIC5maWVsZHNldC13cmFwcGVyIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQgKyBsYWJlbCxcbi52aWV3LWV4cC1mb3JtLXN0eWxlIC52aWV3cy1leHBvc2VkLWZvcm0gLmZpZWxkc2V0LXdyYXBwZXIgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCArIGxhYmVsIHtcbiAgYmFja2dyb3VuZDogIzAwOTc1MDtcbn1cbi52aWV3RXZlbnRpIC52aWV3cy1leHBvc2VkLWZvcm0gLmZpZWxkc2V0LXdyYXBwZXIgbGFiZWwsXG4udmlldy1leHAtZm9ybS1zdHlsZSAudmlld3MtZXhwb3NlZC1mb3JtIC5maWVsZHNldC13cmFwcGVyIGxhYmVsIHtcbiAgcGFkZGluZzogMTJweCAxNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGJhY2tncm91bmQ6ICNBQkFEQUY7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cztcbiAgbWFyZ2luOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnZpZXdFdmVudGkgLnZpZXdzLWV4cG9zZWQtZm9ybSAuZmllbGRzZXQtd3JhcHBlciBsYWJlbCxcbiAgLnZpZXctZXhwLWZvcm0tc3R5bGUgLnZpZXdzLWV4cG9zZWQtZm9ybSAuZmllbGRzZXQtd3JhcHBlciBsYWJlbCB7XG4gICAgcGFkZGluZzogMTJweCAyNHB4O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAudmlld0V2ZW50aSAudmlld3MtZXhwb3NlZC1mb3JtLFxuICAudmlldy1leHAtZm9ybS1zdHlsZSAudmlld3MtZXhwb3NlZC1mb3JtIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICB9XG59XG5cbi5ub2RlLXJvdy1ldmVudC5ldmVudFRiZCBzcGFuW2NsYXNzXj1pY24tXSwgLm5vZGUtcm93LWV2ZW50LmV2ZW50UGFzdCBzcGFuW2NsYXNzXj1pY24tXSB7XG4gIG9wYWNpdHk6IDAuNTtcbn1cbi5ub2RlLXJvdy1ldmVudCAuY3VzdG9tLXJvdy13cmFwcGVyIHtcbiAgcGFkZGluZzogMDtcbn1cbi5ub2RlLXJvdy1ldmVudCAuY3VzdG9tLXJvdy13cmFwcGVyOmhvdmVyIC5jdXN0b20taWNvbjpiZWZvcmUge1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTc1MDtcbn1cbi5ub2RlLXJvdy1ldmVudCAuY3VzdG9tLXJvdy13cmFwcGVyOmhvdmVyIC5jdXN0b20tdGl0bGUge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4ubm9kZS1yb3ctZXZlbnQgLmN1c3RvbS1yb3cge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm5vZGUtcm93LWV2ZW50IC5jdXN0b20tcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG59XG4ubm9kZS1yb3ctZXZlbnQgLmN1c3RvbS1pY29uOmhvdmVyOmJlZm9yZSB7XG4gIGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmVkMDAgIWltcG9ydGFudDtcbn1cbi5ub2RlLXJvdy1ldmVudCAuY3VzdG9tLXRpdGxlLXdyYXBwZXIge1xuICBmbGV4LWJhc2lzOiAxMDAlO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogMTAwJTtcbn1cbi5ub2RlLXJvdy1ldmVudCAuY3VzdG9tLXRpdGxlLXdyYXBwZXIgLmN1c3RvbS10aXRsZSB7XG4gIGZsZXgtZ3JvdzogMDtcbiAgcGFkZGluZzogMDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5ub2RlLXJvdy1ldmVudCAuY3VzdG9tLXRpdGxlLXdyYXBwZXIgLmN1c3RvbS10aXRsZSB7XG4gICAgcGFkZGluZzogMCAyMHB4IDAgMDtcbiAgfVxufVxuLm5vZGUtcm93LWV2ZW50IC5jdXN0b20tdGl0bGUtd3JhcHBlciAuZmllbGQtLW5vZGUtZmllbGQtdHlwZSB7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNEMUQyRDQ7XG4gIHBhZGRpbmc6IDRweCAxNXB4O1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm5vZGUtcm93LWV2ZW50IC5jdXN0b20tdGl0bGUtd3JhcHBlciAuZmllbGQtLW5vZGUtZmllbGQtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuLm5vZGUtcm93LWV2ZW50IC5jdXN0b20tdGl0bGUtd3JhcHBlciAuY3VzdG9tLXRpdGxlLXN1cC13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXRvcDogMjBweDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5ub2RlLXJvdy1ldmVudCAuY3VzdG9tLXRpdGxlLXdyYXBwZXIge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbn1cbi5ub2RlLXJvdy1ldmVudCAuY3VzdG9tLXJpZ2h0LXdyYXBwZXIge1xuICBmbGV4LWJhc2lzOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIHdpZHRoOiAxMDAlO1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG4ubm9kZS1yb3ctZXZlbnQgLmN1c3RvbS1yaWdodC13cmFwcGVyIC5jYWxlbmRhci1pY29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODNmXCI7XG59XG4ubm9kZS1yb3ctZXZlbnQgLmN1c3RvbS1yaWdodC13cmFwcGVyIC5jYWxlbmRhci1pY29uIHtcbiAgZmxleC1iYXNpczogNDBweDtcbiAgcGFkZGluZzogMjBweCAwO1xuICBkaXNwbGF5OiBmbGV4O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm5vZGUtcm93LWV2ZW50IC5jdXN0b20tcmlnaHQtd3JhcHBlciAuY2FsZW5kYXItaWNvbiB7XG4gICAgZmxleC1iYXNpczogNjBweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxufVxuLm5vZGUtcm93LWV2ZW50IC5jdXN0b20tcmlnaHQtd3JhcHBlciAuY2FsZW5kYXItYXR0YWNoIHtcbiAgZmxleC1iYXNpczogNjBweDtcbn1cbi5ub2RlLXJvdy1ldmVudCAuY3VzdG9tLXJpZ2h0LXdyYXBwZXIgLmNhbGVuZGFyLWF0dGFjaCBhIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4ubm9kZS1yb3ctZXZlbnQgLmN1c3RvbS1yaWdodC13cmFwcGVyIC5jYWxlbmRhci10eXBlIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubm9kZS1yb3ctZXZlbnQgLmN1c3RvbS1yaWdodC13cmFwcGVyIC5jYWxlbmRhci10eXBlIHtcbiAgICBmbGV4LWJhc2lzOiAxNzVweDtcbiAgfVxufVxuLm5vZGUtcm93LWV2ZW50IC5jdXN0b20tcmlnaHQtd3JhcHBlciAuZmllbGQtLW5vZGUtZmllbGQtdHlwZSB7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNEMUQyRDQ7XG4gIHBhZGRpbmc6IDRweCAxNXB4O1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xufVxuLm5vZGUtcm93LWV2ZW50IC5jdXN0b20tcmlnaHQtd3JhcHBlci5ldmVudC1wYXN0IC5jYWxlbmRhci1pY29uOmJlZm9yZSB7XG4gIG9wYWNpdHk6IDAuNTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5ub2RlLXJvdy1ldmVudCAuY3VzdG9tLXJpZ2h0LXdyYXBwZXIge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIH1cbn1cbi5ub2RlLXJvdy1ldmVudCAuY3VzdG9tLWRhdGUge1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm5vZGUtcm93LWV2ZW50IC5jdXN0b20tZGF0ZSB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgZmxleC1iYXNpczogMjIwcHg7XG4gIH1cbn1cbi5ub2RlLXJvdy1ldmVudCAuYWRkZXZlbnRhdGMge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBtZWRpdW0gbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgei1pbmRleDogMTtcbn1cbi5ub2RlLXJvdy1ldmVudCAuYWRkZXZlbnRhdGMgc3Bhbi5hZGRldmVudGF0Y19pY29uIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufSIsIi8vICBGb3VuZGF0aW9uIGZvciBTaXRlcyBTZXR0aW5nc1xuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gIFRhYmxlIG9mIENvbnRlbnRzOlxuLy9cbi8vICAgMS4gR2xvYmFsXG4vLyAgIDIuIEJyZWFrcG9pbnRzXG4vLyAgIDMuIFRoZSBHcmlkXG4vLyAgIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gICA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vICAgNi4gQWJpZGVcbi8vICAgNy4gQWNjb3JkaW9uXG4vLyAgIDguIEFjY29yZGlvbiBNZW51XG4vLyAgIDkuIEJhZGdlXG4vLyAgMTAuIEJyZWFkY3J1bWJzXG4vLyAgMTEuIEJ1dHRvblxuLy8gIDEyLiBCdXR0b24gR3JvdXBcbi8vICAxMy4gQ2FsbG91dFxuLy8gIDE0LiBDYXJkXG4vLyAgMTUuIENsb3NlIEJ1dHRvblxuLy8gIDE2LiBEcmlsbGRvd25cbi8vICAxNy4gRHJvcGRvd25cbi8vICAxOC4gRHJvcGRvd24gTWVudVxuLy8gIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xuLy8gIDIwLiBGb3Jtc1xuLy8gIDIxLiBMYWJlbFxuLy8gIDIyLiBNZWRpYSBPYmplY3Rcbi8vICAyMy4gTWVudVxuLy8gIDI0LiBNZXRlclxuLy8gIDI1LiBPZmYtY2FudmFzXG4vLyAgMjYuIE9yYml0XG4vLyAgMjcuIFBhZ2luYXRpb25cbi8vICAyOC4gUHJvZ3Jlc3MgQmFyXG4vLyAgMjkuIFByb3RvdHlwZSBBcnJvd1xuLy8gIDMwLiBQcm90b3R5cGUgQm9yZGVyLUJveFxuLy8gIDMxLiBQcm90b3R5cGUgQm9yZGVyLU5vbmVcbi8vICAzMi4gUHJvdG90eXBlIEJvcmRlcmVkXG4vLyAgMzMuIFByb3RvdHlwZSBEaXNwbGF5XG4vLyAgMzQuIFByb3RvdHlwZSBGb250LVN0eWxpbmdcbi8vICAzNS4gUHJvdG90eXBlIExpc3QtU3R5bGUtVHlwZVxuLy8gIDM2LiBQcm90b3R5cGUgT3ZlcmZsb3dcbi8vICAzNy4gUHJvdG90eXBlIFBvc2l0aW9uXG4vLyAgMzguIFByb3RvdHlwZSBSb3VuZGVkXG4vLyAgMzkuIFByb3RvdHlwZSBTZXBhcmF0b3Jcbi8vICA0MC4gUHJvdG90eXBlIFNoYWRvd1xuLy8gIDQxLiBQcm90b3R5cGUgU2l6aW5nXG4vLyAgNDIuIFByb3RvdHlwZSBTcGFjaW5nXG4vLyAgNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cbi8vICA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cbi8vICA0NS4gUHJvdG90eXBlIFRleHQtVXRpbGl0aWVzXG4vLyAgNDYuIFJlc3BvbnNpdmUgRW1iZWRcbi8vICA0Ny4gUmV2ZWFsXG4vLyAgNDguIFNsaWRlclxuLy8gIDQ5LiBTd2l0Y2hcbi8vICA1MC4gVGFibGVcbi8vICA1MS4gVGFic1xuLy8gIDUyLiBUaHVtYm5haWxcbi8vICA1My4gVGl0bGUgQmFyXG4vLyAgNTQuIFRvb2x0aXBcbi8vICA1NS4gVG9wIEJhclxuLy8gIDU2LiBYeSBHcmlkXG5cbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vIDEuIEdsb2JhbFxuLy8gLS0tLS0tLS0tXG5cbiRnbG9iYWwtZm9udC1zaXplOiAyMnB4O1xuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTI4MCk7XG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuMzY7XG4vKiBEZWZhdWx0IGNvbG9ycyAqL1xuJGJsYWNrOiAjMDAwMDAwO1xuJHdoaXRlOiAjZmZmZmZmO1xuJGdyYXktZjQ6ICNGNEY0RjQ7XG4kZ3JheS1kMTogI0QxRDJENDtcbiRsaWdodC1ncmF5OiAjYzhkNmQ2O1xuJG1lZGl1bS1ncmF5OiAjN2E5ODk5O1xuJGRhcmstZ3JheTogIzRjNGM0ZTtcbi8qIFByaW1hcnkgY29sb3JzICovXG4kcHJpbWFyeS1jb2xvcjogJGJsYWNrO1xuJHByaW1hcnktZ3JlZW46ICMwMDk3NTA7XG4kcHJpbWFyeS15ZWxsb3c6ICNmZmVkMDA7XG4kcHJpbWFyeS1yZWQ6ICNlNjM1MWQ7XG4kcHJpbWFyeS1ibHVlOiAjMDA5ZmUzO1xuLyogQ3VzdG9tIGNvbG9ycyAqL1xuJGxpZ2h0LWdyZWVuOiAjNDZiMzg0O1xuLyogU3RhdGVzIGNvbG9yICovXG4kY29sb3ItZGVmYXVsdDogJGJsYWNrO1xuJGNvbG9yLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRjb2xvci1wcmVzczogJG1lZGl1bS1ncmF5O1xuJGNvbG9yLWRpc2FibGVkOiAkbGlnaHQtZ3JheTtcbi8qIE91dGxpbmVzIGNvbG9ycyAqL1xuJG91dGxpbmUtYmxhY2s6ICRibGFjaztcbiRvdXRsaW5lLW1lZGl1bTogJG1lZGl1bS1ncmF5O1xuJG91dGxpbmUtd2hpdGU6ICR3aGl0ZTtcbiRvdXRsaW5lLWVycm9yOiAkcHJpbWFyeS1yZWQ7XG4vKiBPdmVybGF5cyAqL1xuJG92ZXJsYXktMDogJGJsYWNrO1xuJG92ZXJsYXktMTA6IHJnYmEoJGJsYWNrLCAuMSk7XG4kb3ZlcmxheS0yMDogcmdiYSgkYmxhY2ssIC4yKTtcbiRvdmVybGF5LTMwOiByZ2JhKCRibGFjaywgLjMpO1xuJG92ZXJsYXktNDA6IHJnYmEoJGJsYWNrLCAuNCk7XG5cbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogJHByaW1hcnktYmx1ZSxcbiAgc2Vjb25kYXJ5OiAkbWVkaXVtLWdyYXksXG4gIHN1Y2Nlc3M6ICM1NWFhMDAsXG4gIHdhcm5pbmc6ICNmZjg4MDAsXG4gIGFsZXJ0OiAjZmYwMDAwLFxuKTtcblxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlO1xuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrO1xuJGJvZHktZm9udC1mYW1pbHk6ICdJQk0gUGxleCBTYW5zJywgQXJpYWwsIHNhbnMtc2VyaWY7XG4kYm9keS1zYWZlLXBhZGRpbmc6IGZhbHNlO1xuJGJvZHktYW50aWFsaWFzZWQ6IHRydWU7XG4kZ2xvYmFsLW1hcmdpbjogMXJlbTtcbiRnbG9iYWwtcGFkZGluZzogMXJlbTtcbiRnbG9iYWwtcG9zaXRpb246IDFyZW07XG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IDQwMDtcbiRnbG9iYWwtd2VpZ2h0LW1lZGl1bTogNTAwO1xuJGdsb2JhbC13ZWlnaHQtYm9sZDogNzAwO1xuJGdsb2JhbC1yYWRpdXM6IDA7XG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW07XG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbTtcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0cjtcbiRnbG9iYWwtZmxleGJveDogdHJ1ZTtcbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZTtcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0bztcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDA7XG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWU7XG4kcHJpbnQtaHJlZnM6IHRydWU7XG5cbi8vQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuXG4vLyAyLiBCcmVha3BvaW50c1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDc2OHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyODBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKTtcbiRicmVha3BvaW50cy1oaWRwaTogKFxuICBoaWRwaS0xOiAxLFxuICBoaWRwaS0xLTU6IDEuNSxcbiAgaGlkcGktMjogMixcbiAgcmV0aW5hOiAyLFxuICBoaWRwaS0zOiAzXG4pO1xuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlO1xuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSk7XG5cbi8vIDMuIFRoZSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4kZ3JpZC1yb3ctd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kZ3JpZC1jb2x1bW4tY291bnQ6IDEyO1xuJGdyaWQtY29sdW1uLWd1dHRlcjogKFxuICBzbWFsbDogMjBweCxcbiAgbWVkaXVtOiAzMHB4LFxuKTtcbiRncmlkLWNvbHVtbi1hbGlnbi1lZGdlOiB0cnVlO1xuJGdyaWQtY29sdW1uLWFsaWFzOiAnY29sdW1ucyc7XG4kYmxvY2stZ3JpZC1tYXg6IDg7XG5cbi8vIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsO1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4kaGVhZGVyLWNvbG9yOiAkYmxhY2s7XG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0OCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiA0MCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyNSksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4pO1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJHNtYWxsLWZvbnQtc2l6ZTogODAlO1xuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRlbmFibGUtY29kZS1pbmxpbmU6IHRydWU7XG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmU7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZTtcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0bztcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW07XG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW07XG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheTtcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSk7XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZW5hYmxlLWNpdGUtYmxvY2s6IHRydWU7XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2s7XG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCk7XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrO1xuXG4vLyA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNTtcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNjtcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40O1xuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheTtcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtO1xuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kc3RhdC1mb250LXNpemU6IDIuNXJlbTtcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnO1xuJGNvZGUtY29sb3I6ICRibGFjaztcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpO1xuJGNvZGUtYmxvY2stcGFkZGluZzogMXJlbTtcbiRjb2RlLWJsb2NrLW1hcmdpbi1ib3R0b206IDEuNXJlbTtcblxuLy8gNi4gQWJpZGVcbi8vIC0tLS0tLS0tXG5cbiRhYmlkZS1pbnB1dHM6IHRydWU7XG4kYWJpZGUtbGFiZWxzOiB0cnVlO1xuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCk7XG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbi8vIDcuIEFjY29yZGlvblxuLy8gLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWU7XG4kYWNjb3JkaW9uLXBsdXMtY29udGVudDogJ1xcMDAyQic7XG4kYWNjb3JkaW9uLW1pbnVzLWNvbnRlbnQ6ICdcXDIwMTMnO1xuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtO1xuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyA4LiBBY2NvcmRpb24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZztcbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZTtcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDogbnVsbDtcbiRhY2NvcmRpb25tZW51LWJvcmRlcjogbnVsbDtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ6IG51bGw7XG4kYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg6IDQwcHg7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xuXG4vLyA5LiBCYWRnZVxuLy8gLS0tLS0tLS1cblxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGJhZGdlLWNvbG9yOiAkd2hpdGU7XG4kYmFkZ2UtY29sb3ItYWx0OiAkYmxhY2s7XG4kYmFkZ2UtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbTtcbiRiYWRnZS1taW53aWR0aDogMi4xZW07XG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW07XG5cbi8vIDEwLiBCcmVhZGNydW1ic1xuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2s7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtO1xuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW06ICcvJztcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bDogJ1xcXFwnO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG5cbi8vIDExLiBCdXR0b25cbi8vIC0tLS0tLS0tLS1cblxuJGJ1dHRvbi1mb250LWZhbWlseTogaW5oZXJpdDtcbiRidXR0b24tZm9udC13ZWlnaHQ6IGJvbGQ7XG4kYnV0dG9uLXBhZGRpbmc6IDE2cHggNTZweDtcbiRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcbiRidXR0b24tZmlsbDogc29saWQ7XG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWdyZWVuO1xuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiAkcHJpbWFyeS15ZWxsb3c7XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGU7XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJ1dHRvbi1yYWRpdXM6IDI0cHg7XG4kYnV0dG9uLWJvcmRlcjogMCBub25lO1xuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAxcHg7XG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pO1xuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJTtcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJTtcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4kYnV0dG9uLXJlc3BvbnNpdmUtZXhwYW5kZWQ6IGZhbHNlO1xuXG4vLyAxMi4gQnV0dG9uIEdyb3VwXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW07XG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4O1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbic7XG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNjtcbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZTtcblxuLy8gMTMuIENhbGxvdXRcbi8vIC0tLS0tLS0tLS0tXG5cbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlO1xuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpO1xuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwO1xuJGNhbGxvdXQtc2l6ZXM6IChcbiAgc21hbGw6IDAuNXJlbSxcbiAgZGVmYXVsdDogMXJlbSxcbiAgbGFyZ2U6IDNyZW0sXG4pO1xuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kO1xuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYWxsb3V0LWxpbmstdGludDogMzAlO1xuXG4vLyAxNC4gQ2FyZFxuLy8gLS0tLS0tLS1cblxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRjYXJkLXNoYWRvdzogbm9uZTtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJGNhcmQtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG5cbi8vIDE1LiBDbG9zZSBCdXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3A7XG4kY2xvc2VidXR0b24tei1pbmRleDogMTA7XG4kY2xvc2VidXR0b24tZGVmYXVsdC1zaXplOiBtZWRpdW07XG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbik7XG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXG4gIHNtYWxsOiAxLjVlbSxcbiAgbWVkaXVtOiAyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDE7XG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXk7XG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjaztcblxuLy8gMTYuIERyaWxsZG93blxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7XG4kZHJpbGxkb3duLWFycm93czogdHJ1ZTtcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDA7XG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweDtcblxuLy8gMTcuIERyb3Bkb3duXG4vLyAtLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW07XG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtO1xuJGRyb3Bkb3duLXdpZHRoOiAzMDBweDtcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbik7XG5cbi8vIDE4LiBEcm9wZG93biBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZTtcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3I7XG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweDtcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtO1xuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4O1xuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiBudWxsO1xuJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcm9wZG93bm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW46IDA7XG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nO1xuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpO1xuJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQ7XG5cbi8vIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNjtcbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWU7XG5cbi8vIDIwLiBGb3Jtc1xuLy8gLS0tLS0tLS0tXG5cbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApO1xuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCk7XG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMyk7XG4kZm9ybS1zcGFjaW5nOiByZW0tY2FsYygxNik7XG4kaGVscHRleHQtY29sb3I6ICRibGFjaztcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWM7XG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW07XG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrO1xuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuODtcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlO1xuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheTtcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRpbnB1dC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4kaW5wdXQtcGFkZGluZzogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKTtcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5O1xuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQ7XG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlO1xuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjEuIExhYmVsXG4vLyAtLS0tLS0tLS1cblxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGxhYmVsLWNvbG9yOiAkd2hpdGU7XG4kbGFiZWwtY29sb3ItYWx0OiAkYmxhY2s7XG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbTtcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMi4gTWVkaWEgT2JqZWN0XG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlO1xuXG4vLyAyMy4gTWVudVxuLy8gLS0tLS0tLS1cblxuJG1lbnUtbWFyZ2luOiAwO1xuJG1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XG4kbWVudS1pdGVtcy1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRtZW51LXNpbXBsZS1tYXJnaW46IDFyZW07XG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlO1xuJG1lbnUtaXRlbS1jb2xvci1hbHQtYWN0aXZlOiAkYmxhY2s7XG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSk7XG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogdHJ1ZTtcbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlO1xuJG1lbnUtaWNvbnMtYmFjay1jb21wYXQ6IHRydWU7XG5cbi8vIDI0LiBNZXRlclxuLy8gLS0tLS0tLS0tXG5cbiRtZXRlci1oZWlnaHQ6IDFyZW07XG4kbWV0ZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRtZXRlci1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kbWV0ZXItZmlsbC1nb29kOiAkc3VjY2Vzcy1jb2xvcjtcbiRtZXRlci1maWxsLW1lZGl1bTogJHdhcm5pbmctY29sb3I7XG4kbWV0ZXItZmlsbC1iYWQ6ICRhbGVydC1jb2xvcjtcblxuLy8gMjUuIE9mZi1jYW52YXNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRvZmZjYW52YXMtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKTtcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKTtcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNyk7XG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4O1xuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KTtcbiRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg6IDExO1xuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMTI7XG4kb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAxMztcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogMTI7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZTtcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlO1xuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KTtcbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCc7XG5cbi8vIDI2LiBPcmJpdFxuLy8gLS0tLS0tLS0tXG5cbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheTtcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMDtcblxuLy8gMjcuIFBhZ2luYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApO1xuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKTtcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkd2hpdGU7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtcbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlO1xuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlO1xuJHBhZ2luYXRpb24tYXJyb3ctcHJldmlvdXM6ICdcXDAwQUInO1xuJHBhZ2luYXRpb24tYXJyb3ctbmV4dDogJ1xcMDBCQic7XG5cbi8vIDI4LiBQcm9ncmVzcyBCYXJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJHByb2dyZXNzLWhlaWdodDogMXJlbTtcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kcHJvZ3Jlc3MtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjkuIFByb3RvdHlwZSBBcnJvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWFycm93LWRpcmVjdGlvbnM6IChcbiAgZG93bixcbiAgdXAsXG4gIHJpZ2h0LFxuICBsZWZ0XG4pO1xuJHByb3RvdHlwZS1hcnJvdy1zaXplOiAwLjQzNzVyZW07XG4kcHJvdG90eXBlLWFycm93LWNvbG9yOiAkYmxhY2s7XG5cbi8vIDMwLiBQcm90b3R5cGUgQm9yZGVyLUJveFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyLWJveC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG5cbi8vIDMxLiBQcm90b3R5cGUgQm9yZGVyLU5vbmVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXItbm9uZS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG5cbi8vIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXJlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJvcmRlci13aWR0aDogcmVtLWNhbGMoMSk7XG4kcHJvdG90eXBlLWJvcmRlci10eXBlOiBzb2xpZDtcbiRwcm90b3R5cGUtYm9yZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG5cbi8vIDMzLiBQcm90b3R5cGUgRGlzcGxheVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZGlzcGxheS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWRpc3BsYXk6IChcbiAgaW5saW5lLFxuICBpbmxpbmUtYmxvY2ssXG4gIGJsb2NrLFxuICB0YWJsZSxcbiAgdGFibGUtY2VsbFxuKTtcblxuLy8gMzQuIFByb3RvdHlwZSBGb250LVN0eWxpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZm9udC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXdpZGUtbGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKDQpO1xuJHByb3RvdHlwZS1mb250LW5vcm1hbDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJHByb3RvdHlwZS1mb250LWJvbGQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbi8vIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWxpc3QtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZDogKFxuICBkaXNjLFxuICBjaXJjbGUsXG4gIHNxdWFyZVxuKTtcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkOiAoXG4gIGRlY2ltYWwsXG4gIGxvd2VyLWFscGhhLFxuICBsb3dlci1sYXRpbixcbiAgbG93ZXItcm9tYW4sXG4gIHVwcGVyLWFscGhhLFxuICB1cHBlci1sYXRpbixcbiAgdXBwZXItcm9tYW5cbik7XG5cbi8vIDM2LiBQcm90b3R5cGUgT3ZlcmZsb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1vdmVyZmxvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLW92ZXJmbG93OiAoXG4gIHZpc2libGUsXG4gIGhpZGRlbixcbiAgc2Nyb2xsXG4pO1xuXG4vLyAzNy4gUHJvdG90eXBlIFBvc2l0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtcG9zaXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1wb3NpdGlvbjogKFxuICBzdGF0aWMsXG4gIHJlbGF0aXZlLFxuICBhYnNvbHV0ZSxcbiAgZml4ZWRcbik7XG4kcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXg6IDk3NTtcblxuLy8gMzguIFByb3RvdHlwZSBSb3VuZGVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1yb3VuZGVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMyk7XG5cbi8vIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNlcGFyYXRvci1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1hbGlnbjogY2VudGVyO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItaGVpZ2h0OiByZW0tY2FsYygyKTtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLXdpZHRoOiAzcmVtO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbjtcblxuLy8gNDAuIFByb3RvdHlwZSBTaGFkb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2hhZG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjE2KSwgMCAycHggMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XG5cbi8vIDQxLiBQcm90b3R5cGUgU2l6aW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNpemluZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNpemluZzogKFxuICB3aWR0aCxcbiAgaGVpZ2h0XG4pO1xuJHByb3RvdHlwZS1zaXplczogKFxuICAyNTogMjUlLFxuICA1MDogNTAlLFxuICA3NTogNzUlLFxuICAxMDA6IDEwMCVcbik7XG5cbi8vIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc3BhY2luZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNwYWNlcnMtY291bnQ6IDM7XG5cbi8vIDQzLiBQcm90b3R5cGUgVGV4dC1EZWNvcmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWRlY29yYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb246IChcbiAgb3ZlcmxpbmUsXG4gIHVuZGVybGluZSxcbiAgbGluZS10aHJvdWdoLFxuKTtcblxuLy8gNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS10cmFuc2Zvcm1hdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb246IChcbiAgbG93ZXJjYXNlLFxuICB1cHBlcmNhc2UsXG4gIGNhcGl0YWxpemVcbik7XG5cbi8vIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS11dGlsaXRpZXMtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblxuLy8gNDYuIFJlc3BvbnNpdmUgRW1iZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxuICBkZWZhdWx0OiA0IGJ5IDMsXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXG4pO1xuXG4vLyA0Ny4gUmV2ZWFsXG4vLyAtLS0tLS0tLS0tXG5cbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlO1xuJHJldmVhbC13aWR0aDogNjAwcHg7XG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcmV2ZWFsLXppbmRleDogMTAwNTtcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSk7XG5cbi8vIDQ4LiBTbGlkZXJcbi8vIC0tLS0tLS0tLS1cblxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtO1xuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiRzbGlkZXItaGVpZ2h0OiAwLjVyZW07XG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHNsaWRlci1maWxsLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA0OS4gU3dpdGNoXG4vLyAtLS0tLS0tLS0tXG5cbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3I7XG4kc3dpdGNoLWhlaWdodDogMnJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtO1xuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbTtcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbTtcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG4kc3dpdGNoLW9wYWNpdHktZGlzYWJsZWQ6IDAuNTtcbiRzd2l0Y2gtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZDtcblxuLy8gNTAuIFRhYmxlXG4vLyAtLS0tLS0tLS1cblxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWJsZS1jb2xvci1zY2FsZTogNSU7XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCk7XG4kdGFibGUtaG92ZXItc2NhbGU6IDIlO1xuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1pcy1zdHJpcGVkOiB0cnVlO1xuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtc3RyaXBlOiBldmVuO1xuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAqIDAuNSk7XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xuJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcblxuLy8gNTEuIFRhYnNcbi8vIC0tLS0tLS0tXG5cbiR0YWItbWFyZ2luOiAwO1xuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5O1xuJHRhYi1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZTtcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheTtcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyA1Mi4gVGh1bWJuYWlsXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aHVtYm5haWwtYm9yZGVyOiA0cHggc29saWQgJHdoaXRlO1xuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMik7XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KTtcbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDtcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNTMuIFRpdGxlIEJhclxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrO1xuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtO1xuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQ7XG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlO1xuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheTtcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG5cbi8vIDU0LiBUb29sdGlwXG4vLyAtLS0tLS0tLS0tLVxuXG4kaGFzLXRpcC1jdXJzb3I6IGhlbHA7XG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheTtcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGU7XG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtO1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAxMHJlbTtcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbTtcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2O1xuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNTUuIFRvcCBCYXJcbi8vIC0tLS0tLS0tLS0tXG5cbiR0b3BiYXItcGFkZGluZzogMC41cmVtO1xuJHRvcGJhci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQ7XG4kdG9wYmFyLXRpdGxlLXNwYWNpbmc6IDAuNXJlbSAxcmVtIDAuNXJlbSAwO1xuJHRvcGJhci1pbnB1dC13aWR0aDogMjAwcHg7XG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xuXG4vLyA1Ni4gWHkgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJHh5LWdyaWQ6IHRydWU7XG4kZ3JpZC1jb250YWluZXI6ICRnbG9iYWwtd2lkdGg7XG4kZ3JpZC1jb2x1bW5zOiAxMjtcbiRncmlkLW1hcmdpbi1ndXR0ZXJzOiAoXG4gIHNtYWxsOiAyMHB4LFxuICBtZWRpdW06IDMwcHhcbik7XG4kZ3JpZC1wYWRkaW5nLWd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzO1xuJGdyaWQtY29udGFpbmVyLXBhZGRpbmc6ICRncmlkLXBhZGRpbmctZ3V0dGVycztcbiRncmlkLWNvbnRhaW5lci1tYXg6ICRnbG9iYWwtd2lkdGg7XG4keHktYmxvY2stZ3JpZC1tYXg6IDg7XG5cbi8vIEN1c3RvbXNcbiRoZWFkZXItaGVpZ2h0OiAxMDBweDtcbiRoZWFkZXItZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4kbWV0YUhlYWRlci1oZWlnaHQ6IDQwcHg7XG4kYWRtaW4tdG9vbGJhci1oZWlnaHQ6IDgzcHg7XG4kdG90YWwtaGVhZGVyLWhlaWdodDogY2FsYygkbWV0YUhlYWRlci1oZWlnaHQgKyAkaGVhZGVyLWhlaWdodCk7XG4kdG90YWwtaGVhZGVyLWhlaWdodC1tb2I6IDc1cHg7IiwiLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlc1xuICogVmVyc2lvbiA2LjguMVxuICogaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cblxuLy8gLS0tIERlcGVuZGVuY2llcyAtLS1cbkBpbXBvcnQgJ3ZlbmRvci9ub3JtYWxpemUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL21pc3NpbmctZGVwZW5kZW5jaWVzJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy90cnVlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL2NvbnRhaW4nO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcHVyZ2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVtb3ZlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlcGxhY2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvdG8tbGlzdCc7XG5cbi8vIC0tLSBTZXR0aW5ncyAtLS1cbi8vIGltcG9ydCB5b3VyIG93biBgc2V0dGluZ3NgIGhlcmUgb3Jcbi8vIGltcG9ydCBhbmQgbW9kaWZ5IHRoZSBkZWZhdWx0IHNldHRpbmdzIHRocm91Z2hcbi8vIEBpbXBvcnQgJ3NldHRpbmdzL3NldHRpbmdzJztcblxuLy8gLS0tIENvbXBvbmVudHMgLS0tXG4vLyBVdGlsaXRpZXNcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG4vLyBHbG9iYWwgc3R5bGVzXG5AaW1wb3J0ICdnbG9iYWwnO1xuQGltcG9ydCAnZm9ybXMvZm9ybXMnO1xuQGltcG9ydCAndHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcblxuLy8gR3JpZHNcbkBpbXBvcnQgJ2dyaWQvZ3JpZCc7XG5AaW1wb3J0ICd4eS1ncmlkL3h5LWdyaWQnO1xuLy8gR2VuZXJpYyBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi1ncm91cCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Nsb3NlLWJ1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xhYmVsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3dpdGNoJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUnO1xuLy8gQmFzaWMgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsbG91dCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhcmQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sdGlwJztcblxuLy8gQ29udGFpbmVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZWRpYS1vYmplY3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9vcmJpdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Jlc3BvbnNpdmUtZW1iZWQnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcbi8vIE1lbnUtYmFzZWQgY29udGFpbmVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudS1pY29uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcmlsbGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bi1tZW51JztcblxuLy8gTGF5b3V0IGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb2ZmLWNhbnZhcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3JldmVhbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N0aWNreSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RvcC1iYXInO1xuXG4vLyBIZWxwZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL2Zsb2F0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Zpc2liaWxpdHknO1xuQGltcG9ydCAncHJvdG90eXBlL3Byb3RvdHlwZSc7XG5cblxuQG1peGluIGZvdW5kYXRpb24tZXZlcnl0aGluZyhcbiAgJGZsZXg6IHRydWUsXG4gICRwcm90b3R5cGU6IGZhbHNlLFxuICAkeHktZ3JpZDogJHh5LWdyaWRcbikge1xuICBAaWYgJGZsZXgge1xuICAgICRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgQGlmICR4eS1ncmlkIHtcbiAgICAkeHktZ3JpZDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgLy8gR2xvYmFsIHN0eWxlc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcblxuICAvLyBHcmlkc1xuICBAaWYgbm90ICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiAkeHktZ3JpZCB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gR2VuZXJpYyBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4gIC8vIEJhc2ljIGNvbXBvbmVudHNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuXG4gIC8vIENvbnRhaW5lcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG4gIC8vIE1lbnUtYmFzZWQgY29udGFpbmVyc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG5cbiAgLy8gTGF5b3V0IGNvbXBvbmVudHNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XG5cbiAgLy8gSGVscGVyc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG4gIEBpZiAkZmxleCB7IEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzOyB9XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuICBAaWYgJHByb3RvdHlwZSB7IEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXM7IH1cbn1cbiIsIi8vIHNhc3MtbGludDpkaXNhYmxlIG5vLXZlbmRvci1wcmVmaXhlc1xuXG5AbWl4aW4gZm91bmRhdGlvbi1ub3JtYWxpemUoKSB7XG4gIC8qISBub3JtYWxpemUuY3NzIHY4LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuICAvLyBEb2N1bWVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG5cbiAgaHRtbCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDFcbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDJcbiAgfVxuXG4gIC8vIFNlY3Rpb25zXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgLy8gYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cblxuICBoMSB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbWFyZ2luOiAwLjY3ZW0gMDtcbiAgfVxuXG4gIC8vIEdyb3VwaW5nIGNvbnRlbnRcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICAvLyAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cblxuICBociB7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8vIDFcbiAgICBoZWlnaHQ6IDA7IC8vIDFcbiAgICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gMlxuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHByZSB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvLyAxXG4gICAgZm9udC1zaXplOiAxZW07IC8vIDJcbiAgfVxuXG4gIC8vIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuXG4gIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLy8gMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAgLy8gMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cblxuICBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDsgLy8gMVxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLy8gMlxuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cblxuICBiLFxuICBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgY29kZSxcbiAga2JkLFxuICBzYW1wIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8vIDFcbiAgICBmb250LXNpemU6IDFlbTsgLy8gMlxuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogODAlO1xuICB9XG5cbiAgLy8gUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gIC8vIGFsbCBicm93c2Vycy5cblxuICBzdWIsXG4gIHN1cCB7XG4gICAgZm9udC1zaXplOiA3NSU7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgfVxuXG4gIHN1YiB7XG4gICAgYm90dG9tOiAtMC4yNWVtO1xuICB9XG5cbiAgc3VwIHtcbiAgICB0b3A6IC0wLjVlbTtcbiAgfVxuXG4gIC8vIEVtYmVkZGVkIGNvbnRlbnRcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuXG4gIGltZyB7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICB9XG5cbiAgLy8gRm9ybXNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIG9wdGdyb3VwLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDsgLy8gMVxuICAgIGZvbnQtc2l6ZTogMTAwJTsgLy8gMVxuICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvLyAxXG4gICAgbWFyZ2luOiAwOyAvLyAyXG4gIH1cblxuICAvLyBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgLy8gMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cblxuICBidXR0b24sXG4gIGlucHV0IHsgLy8gMVxuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gIC8vIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cblxuICBidXR0b24sXG4gIHNlbGVjdCB7IC8vIDFcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG5cbiAgYnV0dG9uLFxuICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgW3R5cGU9XCJyZXNldFwiXSxcbiAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cblxuICBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG5cbiAgYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cblxuICBmaWVsZHNldCB7XG4gICAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICAvLyAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gIC8vICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIGxlZ2VuZCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxuICAgIGNvbG9yOiBpbmhlcml0OyAvLyAyXG4gICAgZGlzcGxheTogdGFibGU7IC8vIDFcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIDFcbiAgICBwYWRkaW5nOiAwOyAvLyAzXG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLy8gMVxuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cblxuICBwcm9ncmVzcyB7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG5cbiAgdGV4dGFyZWEge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gIC8vIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cblxuICBbdHlwZT1cImNoZWNrYm94XCJdLFxuICBbdHlwZT1cInJhZGlvXCJdIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gICAgcGFkZGluZzogMDsgLy8gMlxuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuXG4gIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gIC8vIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuXG4gIFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gMVxuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvLyAyXG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG5cbiAgW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gIC8vIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cblxuICA6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMVxuICAgIGZvbnQ6IGluaGVyaXQ7IC8vIDJcbiAgfVxuXG4gIC8vIEludGVyYWN0aXZlXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cblxuICBkZXRhaWxzIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cblxuICBzdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gIH1cblxuICAvLyBNaXNjXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuXG4gIHRlbXBsYXRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG5cbiAgW2hpZGRlbl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBEaXNhYmxlIG91dGxpbmUgd2hlbiBpbnRlbnQgaXMgY2xlYXJseSBtb3VzZSBhbmQgdG91Y2hcbiAgW2RhdGEtd2hhdGludGVudD1cIm1vdXNlXCJdLFxuICBbZGF0YS13aGF0aW50ZW50PVwidG91Y2hcIl0sXG4gIFtkYXRhLXdoYXRpbnB1dD1cIm1vdXNlXCJdLFxuICBbZGF0YS13aGF0aW5wdXQ9XCJ0b3VjaFwiXSB7XG4gICAgKiwgKjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGUgaU9TIGNhbGxvdXRzIHdoZW4gZHJhZ2dhYmxlIGlzIGZhbHNlXG4gIFtkcmFnZ2FibGU9ZmFsc2VdIHtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1jb2xvci1saXRlcmFscywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIGdsb2JhbFxuLy8vL1xuXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLy8gRm9udCBzaXplIGF0dHJpYnV0ZSBhcHBsaWVkIHRvIGA8aHRtbD5gIGFuZCBgPGJvZHk+YC4gV2UgdXNlIDEwMCUgYnkgZGVmYXVsdCBzbyB0aGUgdmFsdWUgaXMgaW5oZXJpdGVkIGZyb20gdGhlIHVzZXIncyBicm93c2VyIHNldHRpbmdzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgd2lkdGggb2YgeW91ciBzaXRlLiBVc2VkIGJ5IHRoZSBncmlkIHRvIGRldGVybWluZSByb3cgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGFsbCB0eXBlLiBgJGdsb2JhbC1saW5laGVpZ2h0YCBpcyAyNHB4IHdoaWxlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgaXMgMTZweFxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcnMgdXNlZCBmb3IgYnV0dG9ucywgY2FsbG91dHMsIGxpbmtzLCBldGMuIFRoZXJlIG11c3QgYWx3YXlzIGJlIGEgY29sb3IgY2FsbGVkIGBwcmltYXJ5YC5cbi8vLyBAdHlwZSBNYXBcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgXCJwcmltYXJ5XCI6ICMxNzc5YmEsXG4gIFwic2Vjb25kYXJ5XCI6ICM3Njc2NzYsXG4gIFwic3VjY2Vzc1wiOiAjM2FkYjc2LFxuICBcIndhcm5pbmdcIjogI2ZmYWUwMCxcbiAgXCJhbGVydFwiOiAjY2M0YjM3LFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGxpZ2h0IGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsaWdodC1ncmF5OiAjZTZlNmU2ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbWVkaXVtIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZWRpdW0tZ3JheTogI2NhY2FjYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGRhcmsgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRhcmstZ3JheTogIzhhOGE4YSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGJsYWNrIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxhY2s6ICMwYTBhMGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciB3aGl0ZSB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHdoaXRlOiAjZmVmZWZlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBMaXN0XG4kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgc2FmZSBwYWRkaW5nIG9uIHRoZSBib2R5IGZvciBub24tcmVjdGFuZ3VsYXIgZGV2aWNlcyAoaS5lLiBwaG9uZXMgd2l0aCBub3RjaGVzKVxuLy8vIEB0eXBlIEJvb2xlYW5cbiRib2R5LXNhZmUtcGFkZGluZzogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSBhbnRpYWxpYXNlZCB0eXBlLCB1c2luZyB0aGUgYC13ZWJraXQtZm9udC1zbW9vdGhpbmdgIGFuZCBgLW1vei1vc3gtZm9udC1zbW9vdGhpbmdgIENTUyBwcm9wZXJ0aWVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIG1hcmdpbiBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcGFkZGluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBvc2l0aW9uaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBvc2l0aW9uOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIG5vcm1hbCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIGJvbGQgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBlbGVtZW50cyB0aGF0IGhhdmUgYSBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1yYWRpdXM6IDAgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBDYW4gYmUgb3ZlcndyaXR0ZW4gYXQgaW5kaXZpZHVhbCBtZW51IGNvbXBvbmVudCBsZXZlbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIE5lc3RlZCBtYXJnaW4gZm9yIHN1Ym1lbnUuXG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIHRleHQgZGlyZWN0aW9uIG9mIHRoZSBDU1MuIENhbiBiZSBlaXRoZXIgYGx0cmAgb3IgYHJ0bGAuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGZvciBjb21wb25lbnRzIHRoYXQgc3VwcG9ydCBpdC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLWZsZXhib3g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVkIHJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHByb3RvdHlwZXMgaWYgYXBwbGljYWJsZVxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIEJ1dHRvbiBjdXJzb3IncyB2YWx1ZSwgYGF1dG9gIGJ5IGRlZmF1bHRcbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLWJ1dHRvbi1jdXJzb3I6IGF1dG8gIWRlZmF1bHQ7XG5cbkBpZiBub3QgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICBAZXJyb3IgJ0luICRmb3VuZGF0aW9uLXBhbGV0dGUsIHlvdSBtdXN0IGhhdmUgYSBjb2xvciBuYW1lZCBcInByaW1hcnlcIi4nO1xufVxuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgdGV4dCBkaXJlY3Rpb25cbiRnbG9iYWwtbGVmdDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIHJpZ2h0LCBsZWZ0KTtcbiRnbG9iYWwtcmlnaHQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBsZWZ0LCByaWdodCk7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlIHRoYXQgY29udGFpbnMgdGhlIGZsZXgganVzdGlmeWluZyBvcHRpb25zXG4kLXpmLWZsZXgtanVzdGlmeTogLXpmLWZsZXgtanVzdGlmeSgkZ2xvYmFsLXRleHQtZGlyZWN0aW9uKTtcblxuLy8vIEdsb2JhbCB0b2xlcmFuY2UgZm9yIGNvbG9yIHBpY2sgY29udHJhc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlOiAwICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgY29sb3JzXG5AaW5jbHVkZSBhZGQtZm91bmRhdGlvbi1jb2xvcnM7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXMge1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW5vcm1hbGl6ZTtcblxuICAvLyBUaGVzZSBzdHlsZXMgYXJlIGFwcGxpZWQgdG8gYSA8bWV0YT4gdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHRcbiAgLmZvdW5kYXRpb24tbXEge1xuICAgIGZvbnQtZmFtaWx5OiAnI3stemYtYnAtc2VyaWFsaXplKCRicmVha3BvaW50cyl9JztcbiAgfVxuXG4gIGh0bWwge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIFNldCBib3gtc2l6aW5nIGdsb2JhbGx5IHRvIGhhbmRsZSBwYWRkaW5nIGFuZCBib3JkZXIgd2lkdGhzXG4gICosXG4gICo6OmJlZm9yZSxcbiAgKjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBEZWZhdWx0IGJvZHkgc3R5bGVzXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgQGlmICgkYm9keS1zYWZlLXBhZGRpbmcpIHtcbiAgICAgIC8vIHVzaW5nIGVudmlyb25tZW50IHZhcmlhYmxlcyB0byBhY2NvdW50IGZvciBub24tcmVjdGFuZ3VsYXIgZGlzcGxheXMgZS5nLiBwaG9uZXMgd2l0aCBub3RjaGVzXG4gICAgICBwYWRkaW5nLXRvcDogZW52KHNhZmUtYXJlYS1pbnNldC10b3ApO1xuICAgICAgcGFkZGluZy1yaWdodDogZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pO1xuICAgICAgcGFkZGluZy1sZWZ0OiBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQpO1xuICAgIH1cblxuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuXG4gICAgQGlmICgkYm9keS1hbnRpYWxpYXNlZCkge1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgLy8gR2V0IHJpZCBvZiBnYXAgdW5kZXIgaW1hZ2VzIGJ5IG1ha2luZyB0aGVtIGRpc3BsYXk6IGlubGluZS1ibG9jazsgYnkgZGVmYXVsdFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgLy8gR3JpZCBkZWZhdWx0cyB0byBnZXQgaW1hZ2VzIGFuZCBlbWJlZHMgdG8gd29yayBwcm9wZXJseVxuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSB0ZXh0YXJlYSB0YWtlcyBvbiBoZWlnaHQgYXV0b21hdGljYWxseVxuICB0ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBNYWtlIHNlbGVjdCBlbGVtZW50cyBhcmUgMTAwJSB3aWR0aCBieSBkZWZhdWx0XG4gIHNlbGVjdCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIFN0eWxlcyBHb29nbGUgTWFwcyBhbmQgTWFwUXVlc3QgZW1iZWRzIHByb3Blcmx5XG4gIC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8taWRzXG4gIC5tYXBfY2FudmFzLFxuICAubXFhLWRpc3BsYXkge1xuICAgIGltZyxcbiAgICBlbWJlZCxcbiAgICBvYmplY3Qge1xuICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgPGJ1dHRvbj4gc3R5bGVzIGNyZWF0ZWQgYnkgbW9zdCBicm93c2Vyc1xuICBidXR0b24ge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGN1cnNvcjogJGdsb2JhbC1idXR0b24tY3Vyc29yO1xuICB9XG5cbiAgLy8gUHJldmVudCB0ZXh0IG92ZXJmbG93IG9uIHByZVxuICBwcmUge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgfVxuXG4gIC8vIE1ha2UgcmVzZXQgaW5oZXJpdCBmb250LWZhbWlseSBpbnN0ZWFkIG9mIHNldHRpbmdzIHNhbnMtc2VyaWZcbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSW50ZXJuYWwgY2xhc3NlcyB0byBzaG93L2hpZGUgZWxlbWVudHMgaW4gSmF2YVNjcmlwdFxuICAuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pcy1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLyBQYXRjaCB0byBmaXggaXNzdWUgIzEyMDgwXG4kLXpmLWJwLXZhbHVlOiBudWxsO1xuXG4vLy8gQ3JlYXRlcyBhbiBpbm5lciBib3gtc2hhZG93IGZvciBvbmx5IG9uZSBzaWRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaWRlIC0gU2lkZSB0aGUgc2hhZG93IGlzIHN1cHBvc2VkIHRvIGFwcGVhci4gQ2FuIGJlIGB0b3BgLCBgbGVmdGAsIGByaWdodGAgb3IgYGJvdHRvbWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIC0gV2lkdGggZm9yIHRoZSB0YXJnZXQgc2lkZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciBvZiB0aGUgc2hhZG93LlxuQG1peGluIGlubmVyLXNpZGUtc2hhZG93KFxuICAkc2lkZTogYm90dG9tLFxuICAkc2l6ZTogMjBweCxcbiAgJGNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSlcbikge1xuXG4gICRoZWxwZXI6IHJvdW5kKCRzaXplICogMC42NSk7XG5cbiAgQGlmICgkc2lkZSA9PSB0b3ApIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gbGVmdCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSByaWdodCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICgtMSkqJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGJvdHRvbSkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgKC0xKSokaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG5cbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAkdHJpYW5nbGUtc2l6ZTtcblxuICBjb250ZW50OiAnJztcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogZGl2aWRlKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSwgJGJhcnMgLSAxKTtcblxuICBAaWYgdW5pdCgkc3BhY2luZykgPT0gJ3B4JyB7XG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICB9XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyb3VuZChyZWQoJGNvbG9yKSl9LCAje3JvdW5kKGdyZWVuKCRjb2xvcikpfSwgI3tyb3VuZChibHVlKCRjb2xvcikpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAzMiAyNFwiPjxwb2x5Z29uIHBvaW50cz1cIjAsMCAzMiwwIDE2LDI0XCIgc3R5bGU9XCJmaWxsOiAjeyRyZ2J9XCI+PC9wb2x5Z29uPjwvc3ZnPicpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPCA2MCUge1xuICAgICAgLy8gV2hpdGUgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBCbGFjayB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQU1CSlJFRlVlTnJFbGxzT2hDQU1SVnN6QzlJbHpVN0tDbVZIVEpzb01XWU1VdHB5djlCZ2J1WFFCNVpTZGdCWVlZNHljZ0Jpdms4S1lGc1FNZk1pVFRCUDRvM25VekNLek9hYkxKYkx5Mi9nMzFldkdrQWdpblI0L1plZ0tINXFYM2JKQ3NjQTN0MHgza2dPNXRRRnloaEZmNTB4UnFGTGJ5TVVOSlF6Z3lqR1Mvd2dDcHZLcWtSQnB1V3JFNFY5ZCsxRTRkUFVYcUlnMTA3U1FPRS8yRFJReE13VER5Z0lJblZERVQ5VDNsQ29qLzZqL1ZDbUdqWk9sMmxLcFo4QUF3RFFQN3pJaW1ER0ZRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBcHBsaWVzIHRoZSBtaWNybyBjbGVhcmZpeCBoYWNrIHBvcHVsYXJpemVkIGJ5IE5pY29sYXMgR2FsbGFnaGVyLiBJbmNsdWRlIHRoaXMgbWl4aW4gb24gYSBjb250YWluZXIgaWYgaXRzIGNoaWxkcmVuIGFyZSBhbGwgZmxvYXRlZCwgdG8gZ2l2ZSB0aGUgY29udGFpbmVyIGEgcHJvcGVyIGhlaWdodC5cbi8vLyBUaGUgY2xlYXJmaXggaXMgYXVnbWVudGVkIHdpdGggc3BlY2lmaWMgc3R5bGVzIHRvIHByZXZlbnQgYm9yZGVycyBpbiBmbGV4Ym94IGVudmlyb25tZW50c1xuLy8vIEBsaW5rIGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrLyBNaWNybyBDbGVhcmZpeCBIYWNrXG4vLy8gQGxpbmsgaHR0cDovL2RhbmlzYWRlc2lnbmVyLmNvbS9ibG9nL2ZsZXhib3gtY2xlYXItZml4LXBzZXVkby1lbGVtZW50cy8gRmxleGJveCBmaXhcbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLy8gQWRkcyBDU1MgZm9yIGEgXCJxdWFudGl0eSBxdWVyeVwiIHNlbGVjdG9yIHRoYXQgYXV0b21hdGljYWxseSBzaXplcyBlbGVtZW50cyBiYXNlZCBvbiBob3cgbWFueSB0aGVyZSBhcmUgaW5zaWRlIGEgY29udGFpbmVyLlxuLy8vIEBsaW5rIGh0dHA6Ly9hbGlzdGFwYXJ0LmNvbS9hcnRpY2xlL3F1YW50aXR5LXF1ZXJpZXMtZm9yLWNzcyBRdWFudGl0eSBRdWVyaWVzIGZvciBDU1Ncbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IC0gTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gZGV0ZWN0LiBUaGUgaGlnaGVyIHRoaXMgbnVtYmVyIGlzLCB0aGUgbW9yZSBDU1MgdGhhdCdzIHJlcXVpcmVkIHRvIGNvdmVyIGVhY2ggbnVtYmVyIG9mIGl0ZW1zLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGVsZW0gW2xpXSAtIFRhZyB0byB1c2UgZm9yIHNpYmxpbmcgc2VsZWN0b3JzLlxuQG1peGluIGF1dG8td2lkdGgoJG1heCwgJGVsZW06IGxpKSB7XG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJG1heCB7XG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQsXG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQgfiAjeyRlbGVtfSB7XG4gICAgICB3aWR0aDogcGVyY2VudGFnZShkaXZpZGUoMSwgJGkpKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgdGhlIGZvY3VzIHJpbmcgYXJvdW5kIGFuIGVsZW1lbnQgd2hlbiBhIG1vdXNlIGlucHV0IGlzIGRldGVjdGVkLlxuQG1peGluIGRpc2FibGUtbW91c2Utb3V0bGluZSB7XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAmIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiwgYnV0IHN0aWxsIGFjY2Vzc2libGUgdG8ga2V5Ym9hcmRzIGFuZCBhc3Npc3RpdmUgZGV2aWNlcy5cbi8vLyBAbGluayBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5IEhpZGluZyBDb250ZW50IGZvciBBY2Nlc3NpYmlsaXR5XG4vLy8gQGxpbmsgaHR0cDovL2h1Z29naXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGVuZm9yY2UgLSBJZiBgdHJ1ZWAsIHVzZSBgIWltcG9ydGFudGAgb24gYXBwbGllZCBwcm9wZXJ0aWVzXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUoXG4gICRlbmZvcmNlOiB0cnVlXG4pIHtcbiAgJGltcG9ydGFudDogaWYoJGVuZm9yY2UsICchaW1wb3J0YW50JywgbnVsbCk7XG5cbiAgcG9zaXRpb246IGFic29sdXRlICN7JGltcG9ydGFudH07XG4gIHdpZHRoOiAxcHggI3skaW1wb3J0YW50fTtcbiAgaGVpZ2h0OiAxcHggI3skaW1wb3J0YW50fTtcbiAgcGFkZGluZzogMCAjeyRpbXBvcnRhbnR9O1xuICBvdmVyZmxvdzogaGlkZGVuICN7JGltcG9ydGFudH07XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCkgI3skaW1wb3J0YW50fTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAjeyRpbXBvcnRhbnR9O1xuICBib3JkZXI6IDAgI3skaW1wb3J0YW50fTtcbn1cblxuLy8vIFJldmVyc2VzIHRoZSBDU1Mgb3V0cHV0IGNyZWF0ZWQgYnkgdGhlIGBlbGVtZW50LWludmlzaWJsZSgpYCBtaXhpbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRlbmZvcmNlIC0gSWYgYHRydWVgLCB1c2UgYCFpbXBvcnRhbnRgIG9uIGFwcGxpZWQgcHJvcGVydGllc1xuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZihcbiAgJGVuZm9yY2U6IHRydWVcbikge1xuICAkaW1wb3J0YW50OiBpZigkZW5mb3JjZSwgJyFpbXBvcnRhbnQnLCBudWxsKTtcblxuICBwb3NpdGlvbjogc3RhdGljICN7JGltcG9ydGFudH07XG4gIHdpZHRoOiBhdXRvICN7JGltcG9ydGFudH07XG4gIGhlaWdodDogYXV0byAjeyRpbXBvcnRhbnR9O1xuICBvdmVyZmxvdzogdmlzaWJsZSAjeyRpbXBvcnRhbnR9O1xuICBjbGlwOiBhdXRvICN7JGltcG9ydGFudH07XG4gIHdoaXRlLXNwYWNlOiBub3JtYWwgI3skaW1wb3J0YW50fTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgaXRlcmF0ZSBvdmVyIGJyZWFrcG9pbnRzIHdpdGhvdXQgZG9pbmcgdGhlIG1lZGlhIHF1ZXJ5IGl0c2VsZi4gVXNlZnVsIGZvciBtb3JlIGNvbXBsZXggbWVkaWEgcXVlcnkgZ2VuZXJhdGlvbiBhcyBpbiB0aGUgbWFyZ2luIGdyaWQuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludChcbiAgJHNtYWxsOiB0cnVlLFxuICAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHM6IHRydWVcbikge1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50LWluKGF1dG8sIC16Zi1ib29sKCRzbWFsbCksIC16Zi1ib29sKCRhdXRvLWluc2VydC1icmVha3BvaW50cykpIHtcbiAgICBAY29udGVudFxuICB9O1xufVxuXG4vLy8gSXRlcmF0ZXMgd2l0aCBgQGNvbnRlbnRgIHRocm91Z2ggdGhlIGdpdmVuIGxpc3Qgb2YgYnJlYWtwb2ludHMgYCRicmVha3BvaW50c2AuXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxMaXN0fSAkYnJlYWtwb2ludHMgW2F1dG9dIC0gQnJlYWtwb2ludHMgdG8gaXRlcmF0ZXMgb24uIEl0IGNhbiBiZSBhIGJyZWFrcG9pbnQgbmFtZSwgbGlzdCBvZiBicmVha3BvaW50cyBvciBgYXV0b2AgZm9yIGFsbCBicmVha3BvaW50cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW58TnVsbH0gJHplcm8tYnJlYWtwb2ludCBbbnVsbF0gLSBXaGV0aGVyIHRoZSB6ZXJvLWJyZWFrcG9pbnQgKG9mdGVuIGBzbWFsbGApIG11c3QgYmUgaW5jbHVkZWQuIElmIGB0cnVlYCwgaXQgd2lsbCBhbHdheXMgYmUgYWRkZWQgdG8gdGhlIGxpc3QgaWYgbm90IGFscmVhZHkgdGhlcmUuIElmIGBmYWxzZWAsIGl0IHdpbGwgYWx3YXlzIGJlIHJlbW92ZWQuIERvZXMgbm90aGluZyBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbnxLZXl3b3JkfSAkbWVkaWEtcXVlcmllcyBbdHJ1ZV0gLSBXaGV0aGVyIG1lZGlhLXF1ZXJpZXMgbXVzdCBiZSBnZW5lcmF0ZWQuIElmIGBmb3ItbGlzdHNgLCBvbmx5IGdlbmVyYXRlIG1lZGlhLXF1ZXJpZXMgd2hlbiBgJGJyZWFrcG9pbnRzYCBpcyBhIGxpc3QuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludC1pbihcbiAgJGJyZWFrcG9pbnRzOiBhdXRvLFxuICAkemVyby1icmVha3BvaW50OiBudWxsLFxuICAkbWVkaWEtcXVlcmllczogdHJ1ZVxuKSB7XG4gICQtbGlzdDogKCk7XG4gICQtYnJlYWtwb2ludHMtaXMtYS1saXN0OiB0cnVlO1xuXG4gIC8vIFJldHJpZXZlIHRoZSBsaXN0IG9mIGJyZWFrcG9pbnQocykgdG8gaXRlcmF0ZSBvbi5cbiAgQGlmICRicmVha3BvaW50cyA9PSBhdXRvIHtcbiAgICAkLWxpc3Q6ICRicmVha3BvaW50LWNsYXNzZXM7XG4gIH1cbiAgQGVsc2UgaWYgdHlwZS1vZigkYnJlYWtwb2ludHMpID09ICdsaXN0JyB7XG4gICAgJC1saXN0OiAkYnJlYWtwb2ludHM7XG4gIH1cbiAgQGVsc2UgaWYgdHlwZS1vZigkYnJlYWtwb2ludHMpID09ICdzdHJpbmcnIHtcbiAgICAkLWxpc3Q6ICgkYnJlYWtwb2ludHMpO1xuICAgICQtYnJlYWtwb2ludHMtaXMtYS1saXN0OiBmYWxzZTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIFwiJGJyZWFrcG9pbnRzXCIgaW4gXCItemYtZWFjaC1icmVha3BvaW50LWluKClcIi4gR290IFwiI3skYnJlYWtwb2ludHN9XCIgKCN7dHlwZS1vZigkYnJlYWtwb2ludHMpfSkuIEV4cGVjdGVkIGEgYnJlYWtwb2ludCBuYW1lLCBhIGxpc3Qgb2YgYnJlYWtwb2ludHMgb3IgXCJhdXRvXCInO1xuICB9XG5cbiAgLy8gQWRkIG9yIHJlbW92ZSB0aGUgemVybyBicmVha3BvaW50IGFjY29yZGluZyB0byBgJHplcm8tYnJlYWtwb2ludGBcbiAgQGlmICR6ZXJvLWJyZWFrcG9pbnQgPT0gdHJ1ZSB7XG4gICAgJC1saXN0OiBqb2luKCgkLXpmLXplcm8tYnJlYWtwb2ludCksIHNsLXJlbW92ZSgkLWxpc3QsICQtemYtemVyby1icmVha3BvaW50KSk7XG4gIH1cbiAgQGVsc2UgaWYgJHplcm8tYnJlYWtwb2ludCA9PSBmYWxzZSB7XG4gICAgJC1saXN0OiBzbC1yZW1vdmUoJC1saXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gIH1cblxuICAvLyBJdGVyYXRlIG9uIGJyZWFrcG9pbnQocylcbiAgQGVhY2ggJGJwIGluICQtbGlzdCB7XG4gICAgJG9sZC16Zi1zaXplOiBudWxsO1xuICAgIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgICB9XG4gICAgJC16Zi1zaXplOiAkYnAgIWdsb2JhbDtcblxuICAgIEBpZiAoJG1lZGlhLXF1ZXJpZXMgPT0gdHJ1ZSBvciAoJG1lZGlhLXF1ZXJpZXMgPT0gJ2Zvci1saXN0cycgYW5kICQtYnJlYWtwb2ludHMtaXMtYS1saXN0KSkge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnApIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHRoZSBgQGNvbnRlbnRgIHBhc3NlZCB0byB0aGUgbWl4aW4gd2l0aCBhIHZhbHVlIGAkLXpmLWJwLXZhbHVlYCByZWxhdGVkIHRvIGEgYnJlYWtwb2ludCwgZGVwZW5kaW5nIG9uIHRoZSBgJG5hbWVgIHBhcmFtZXRlcjpcbi8vLyAtIEZvciBhIHNpbmdsZSB2YWx1ZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoaXMgdmFsdWUuXG4vLy8gLSBGb3IgYSBicmVha3BvaW50IG5hbWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYC5cbi8vLyAtIEZvciBcImF1dG9cIiwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgIGFuZCBpcyBwYXNzZWQgdG8gYEBjb250ZW50YCwgd2hpY2ggaXMgbWFkZSByZXNwb25zaXZlIGZvciBlYWNoIGJyZWFrcG9pbnQgb2YgYCRtYXBgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfEFycmF5fEtleXdvcmR9ICRuYW1lIFthdXRvXSAtIFNpbmdsZSB2YWx1ZSwgYnJlYWtwb2ludCBuYW1lLCBvciBsaXN0IG9mIGJyZWFrcG9pbnQgbmFtZXMgdG8gdXNlLiBcImF1dG9cIiBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIE1hcCBvZiBicmVha3BvaW50cyBhbmQgdmFsdWVzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuXG5AbWl4aW4gLXpmLWJyZWFrcG9pbnQtdmFsdWUoXG4gICRuYW1lOiBhdXRvLFxuICAkbWFwOiBudWxsXG4pIHtcbiAgQGlmICRuYW1lID09IGF1dG8gYW5kIHR5cGUtb2YoJG1hcCkgPT0gJ21hcCcge1xuICAgIC8vIFwiYXV0b1wiXG4gICAgQGVhY2ggJGssICR2IGluICRtYXAge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkaykge1xuICAgICAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkdiwgJG1hcCkge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBicmVha3BvaW50IG5hbWVcbiAgICBAaWYgdHlwZS1vZigkbmFtZSkgPT0gJ3N0cmluZycge1xuICAgICAgJGJwLXZhbHVlOiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkbmFtZSk7XG4gICAgICBAaWYgJGJwLXZhbHVlICE9IG51bGwge1xuICAgICAgICAkbmFtZTogJGJwLXZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGJyZWFrcG9pbnQgdmFsdWVcbiAgICAkLXpmLWJwLXZhbHVlOiAkbmFtZSAhZ2xvYmFsO1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEZvbnQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiBwbGFjZWhvbGRlciB0ZXh0IHdpdGhpbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBGb250XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZm9jdXNlZCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZGlzYWJsZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBmb2N1c2VkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wYWRkaW5nOiAkZm9ybS1zcGFjaW5nICogMC41ICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBpbnNpZGUgdGV4dCBpbnB1dHMgd2hlbiBub3QgZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgb3V0c2lkZSB0ZXh0IGlucHV0cyB3aGVuIGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEN1cnNvciB0byB1c2Ugd2hlbiBob3ZlcmluZyBvdmVyIGEgZGlzYWJsZWQgdGV4dCBpbnB1dC5cbi8vLyBAdHlwZSBDdXJzb3JcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG4vLy8gUHJvcGVydGllcyB0byB0cmFuc2l0aW9uIG9uIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgdGhlIHVwL2Rvd24gYnV0dG9ucyB0aGF0IENocm9tZSBhbmQgRmlyZWZveCBhZGQgdG8gYDxpbnB1dCB0eXBlPSdudW1iZXInPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFJhZGl1cyBmb3IgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGZvcm0gYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tZWxlbWVudCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkaW5wdXQtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdztcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXRleHQge1xuICAvLyBUZXh0IGlucHV0c1xuICAje3RleHQtaW5wdXRzKCl9LFxuICB0ZXh0YXJlYSB7XG4gICAgQGluY2x1ZGUgZm9ybS1lbGVtZW50O1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyBUZXh0IGFyZWFzXG4gIHRleHRhcmVhIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAmW3Jvd3NdIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICBpbnB1dCxcbiAgdGV4dGFyZWEge1xuICAgIC8vIERpc2FibGVkL3JlYWRvbmx5IHN0YXRlXG4gICAgJjpkaXNhYmxlZCxcbiAgICAmW3JlYWRvbmx5XSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb24gYnV0dG9uLWxpa2UgaW5wdXRzXG4gIFt0eXBlPSdzdWJtaXQnXSxcbiAgW3R5cGU9J2J1dHRvbiddIHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLWJ1dHRvbi1yYWRpdXM7XG4gIH1cblxuICAvLyBSZXNldCBOb3JtYWxpemUgc2V0dGluZyBjb250ZW50LWJveCB0byBzZWFyY2ggZWxlbWVudHNcbiAgaW5wdXRbdHlwZT0nc2VhcmNoJ10geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLy8gTnVtYmVyIGlucHV0IHN0eWxlc1xuICBbdHlwZT0nbnVtYmVyJ10ge1xuICAgIEBpZiBub3QgJGlucHV0LW51bWJlci1zcGlubmVycyB7XG4gICAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcblxuICAgICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICAgICY6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQbGFjZWhvbGRlciB0ZXh0XG4gIDo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWNoZWNrYm94IHtcbiAgW3R5cGU9J2ZpbGUnXSxcbiAgW3R5cGU9J2NoZWNrYm94J10sXG4gIFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dC9sYWJlbCBzaWJsaW5nc1xuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgJltmb3JdIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0cyBpbnNpZGUgbGFiZWxzXG4gIGxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG4gIGxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLy8gTm9ybWFsaXplIGZpbGUgaW5wdXQgd2lkdGhcbiAgW3R5cGU9J2ZpbGUnXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3IgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgZm9ybSBsYWJlbHMuIFRoZSBoaWdoZXIgdGhlIG51bWJlciwgdGhlIG1vcmUgc3BhY2UgYmV0d2VlbiB0aGUgbGFiZWwgYW5kIGl0cyBpbnB1dCBmaWVsZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjggIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcblxuICBmb250LXNpemU6ICRmb3JtLWxhYmVsLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvcjtcbn1cblxuQG1peGluIGZvcm0tbGFiZWwtbWlkZGxlIHtcbiAgJGlucHV0LWJvcmRlci13aWR0aDogZ2V0LWJvcmRlci12YWx1ZSgkaW5wdXQtYm9yZGVyLCB3aWR0aCk7XG5cbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiAgcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgKiAwLjUgKyByZW0tY2FsYygkaW5wdXQtYm9yZGVyLXdpZHRoKSkgMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1sYWJlbCB7XG4gIGxhYmVsIHtcbiAgICBAaW5jbHVkZSBmb3JtLWxhYmVsO1xuXG4gICAgJi5taWRkbGUge1xuICAgICAgQGluY2x1ZGUgZm9ybS1sYWJlbC1taWRkbGU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHN0eWxlIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1oZWxwdGV4dCB7XG4gIC5oZWxwLXRleHQge1xuICAgICRtYXJnaW4tdG9wOiAoJGZvcm0tc3BhY2luZyAqIDAuNSkgKiAtMTtcblxuICAgIG1hcmdpbi10b3A6ICRtYXJnaW4tdG9wO1xuICAgIGZvbnQtc2l6ZTogJGhlbHB0ZXh0LWZvbnQtc2l6ZTtcbiAgICBmb250LXN0eWxlOiAkaGVscHRleHQtZm9udC1zdHlsZTtcbiAgICBjb2xvcjogJGhlbHB0ZXh0LWNvbG9yO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGVmdC9yaWdodCBwYWRkaW5nIG9mIGFuIHByZS9wb3N0Zml4ZWQgaW5wdXQgbGFiZWxcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1wcmVwb3N0Zml4IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiAkaW5wdXQtbGluZS1oZWlnaHQpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCB0YWJsZSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxuXG4gICAgPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgJiwgJi5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDAsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgJiwgJi5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICVpbnB1dC1ncm91cC1jaGlsZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtbGFiZWwge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmc6IDAgJGlucHV0LXByZWZpeC1wYWRkaW5nO1xuICAgIGJvcmRlcjogJGlucHV0LXByZWZpeC1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kO1xuXG4gICAgY29sb3I6ICRpbnB1dC1wcmVmaXgtY29sb3I7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC1wcmVmaXgtYm9yZGVyKSB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgYSxcbiAgICBpbnB1dCxcbiAgICBidXR0b24sXG4gICAgbGFiZWwge1xuICAgICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG5cbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICAgIH1cbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gICAgfVxuICB9XG5cbiAgLy8gU3BlY2lmaWNpdHkgYnVtcCBuZWVkZWQgdG8gcHJldmVudCBvdmVycmlkZSBieSBidXR0b25zXG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAuaW5wdXQtZ3JvdXAge1xuICAgICAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGJldHdlZW4gdGhlIGxlZ2VuZCB0ZXh0IGFuZCBmaWVsZHNldCBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMykgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmaWVsZHNldCB7XG4gIG1hcmdpbjogJGZpZWxkc2V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGZpZWxkc2V0LXBhZGRpbmc7XG4gIGJvcmRlcjogJGZpZWxkc2V0LWJvcmRlcjtcblxuICBsZWdlbmQge1xuICAgIC8vIENvdmVycyB1cCB0aGUgZmllbGRzZXQncyBib3JkZXIgdG8gY3JlYXRlIGFydGlmaWNpYWwgcGFkZGluZ1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiByZW0tY2FsYygtMyk7XG4gICAgcGFkZGluZzogJGxlZ2VuZC1wYWRkaW5nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZmllbGRzZXQge1xuICBmaWVsZHNldCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgbGVnZW5kIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC5maWVsZHNldCB7XG4gICAgQGluY2x1ZGUgZmllbGRzZXQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBkcm9wZG93biB0cmlhbmdsZSBpbnNpZGUgc2VsZWN0IG1lbnVzLiBTZXQgdG8gYHRyYW5zcGFyZW50YCB0byByZW1vdmUgaXQgZW50aXJlbHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLXNlbGVjdCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHNlbGVjdC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtYmFja2dyb3VuZDtcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmICRzZWxlY3QtdHJpYW5nbGUtY29sb3IgIT0gdHJhbnNwYXJlbnQge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtdHJpYW5nbGUoJHNlbGVjdC10cmlhbmdsZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRnbG9iYWwtcmlnaHQgKC0kZm9ybS1zcGFjaW5nKSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG5cbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICgkZm9ybS1zcGFjaW5nICogMS41KTtcbiAgfVxuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG4gICY6bm90KFttdWx0aXBsZV0pIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXNlbGVjdCB7XG4gIHNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS1zZWxlY3Q7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhYmlkZVxuLy8vL1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGlucHV0cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtaW5wdXRzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGxhYmVscy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtbGFiZWxzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciB0byB1c2UgZm9yIGludmFsaWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB0byB1c2UgZm9yIGxhYmVscyBvZiBpbnZhbGlkIGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyIG9mIGFuIGlucHV0IGZpZWxkIHRvIGhhdmUgYW4gZXJyb3Igc3RhdGUuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGFsZXJ0LWNvbG9yXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhY2tncm91bmQtbGlnaHRlbiBbMTAlXSAtIExpZ2h0bmVzcyBsZXZlbCBvZiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBmb3JtLWlucHV0LWVycm9yKFxuICAkYmFja2dyb3VuZDogJGlucHV0LWJhY2tncm91bmQtaW52YWxpZCxcbiAgJGJhY2tncm91bmQtbGlnaHRlbjogMTAlXG4pIHtcbiAgJjpub3QoOmZvY3VzKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtaXgoJGJhY2tncm91bmQsICR3aGl0ZSwgJGJhY2tncm91bmQtbGlnaHRlbik7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGVycm9yIHN0eWxlcyB0byBhIGZvcm0gZWxlbWVudCwgdXNpbmcgdGhlIHZhbHVlcyBpbiB0aGUgc2V0dGluZ3MgZmlsZS5cbkBtaXhpbiBmb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogJGZvcm0tc3BhY2luZyAqIC0wLjU7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgZm9udC1zaXplOiAkaW5wdXQtZXJyb3ItZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGlucHV0LWVycm9yLWNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWVycm9yIHtcbiAgQGlmICRhYmlkZS1pbnB1dHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBpbnZhbGlkIGlucHV0c1xuICAgIC5pcy1pbnZhbGlkLWlucHV0IHtcbiAgICAgIEBpbmNsdWRlIGZvcm0taW5wdXQtZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgQGlmICRhYmlkZS1sYWJlbHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBsYWJlbHMgb2YgaW52YWxpZCBvdXRwdXRzXG4gICAgLmlzLWludmFsaWQtbGFiZWwge1xuICAgICAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRm9ybSBlcnJvciBlbGVtZW50XG4gIC5mb3JtLWVycm9yIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVycm9yO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktYmFzZVxuLy8vL1xuXG4vLyBCYXNlIFR5cG9ncmFwaHlcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyBUaGVzZSBhcmUgc3R5bGVzIGFwcGxpZWQgdG8gYmFzaWMgSFRNTCB0YWdzLCBpbmNsdWRpbmc6XG4vLyAgIC0gUGFyYWdyYXBocyA8cD5cbi8vICAgLSBCb2xkL2l0YWxpY3MgPGI+IDxzdHJvbmc+IDxpPiA8ZW0+XG4vLyAgIC0gU21hbGwgdGV4dCA8c21hbGw+XG4vLyAgIC0gSGVhZGluZ3MgPGgxPi08aDY+XG4vLyAgIC0gQW5jaG9ycyA8YT5cbi8vICAgLSBEaXZpZGVycyA8aHI+XG4vLyAgIC0gTGlzdHMgPHVsPiA8b2w+IDxkbD5cbi8vICAgLSBCbG9ja3F1b3RlcyA8YmxvY2txdW90ZT5cbi8vICAgLSBDb2RlIGJsb2NrcyA8Y29kZT5cbi8vICAgLSBBYmJyZXZpYXRpb25zIDxhYmJyPlxuLy8gICAtIENpdGF0aW9ucyA8Y2l0ZT5cbi8vICAgLSBLZXlzdHJva2VzIDxrYmQ+XG5cbi8vLyBGb250IGZhbWlseSBmb3IgaGVhZGVyIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3R5bGUgKGUuZy4gaXRhbGljaXplZCkgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayB1c2VkIGZvciBlbGVtZW50cyB0aGF0IHVzZSBtb25vc3BhY2VkIHR5cGUsIHN1Y2ggYXMgY29kZSBzYW1wbGVzXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgZm9yIGhlYWRpbmdzIGF0IHZhcmlvdXMgc2NyZWVuIHNpemVzLiBFYWNoIGtleSBpcyBhIGJyZWFrcG9pbnQsIGFuZCBlYWNoIHZhbHVlIGlzIGEgbWFwIG9mIGhlYWRpbmcgc3R5bGVzLlxuLy8vIEB0eXBlIE1hcFxuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0OCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiA0MCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyNSksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4pICFkZWZhdWx0O1xuXG4vLyAkaGVhZGVyLXN0eWxlcyBtYXAgaXMgYnVpbHQgZnJvbSAkaGVhZGVyLXNpemVzIGluIG9yZGVyIHRvIGVuc3VyZSBkb3dud2FyZCBjb21wYXRpYmlsaXR5XG4vLyB3aGVuICRoZWFkZXItc2l6ZXMgaXMgZGVwcmVjaWF0ZWQsICRoZWFkZXItc3R5bGVzIG5lZWRzIHRvIGdldCAhZGVmYXVsdCB2YWx1ZXMgbGlrZSBzZXR0aW5ncy5zY3NzXG5AZnVuY3Rpb24gYnVpbGQtZnJvbS1oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcykge1xuICBAd2FybiAnTm90ZSwgdGhhdCAkaGVhZGVyLXNpemVzIGhhcyBiZWVuIHJlcGxhY2VkIHdpdGggJGhlYWRlci1zdHlsZXMuICRoZWFkZXItc2l6ZXMgc3RpbGwgd29ya3MsIGJ1dCBpdCBpcyBnb2luZyB0byBiZSBkZXByZWNpYXRlZC4nO1xuICAkaGVhZGVyLXN0eWxlczogKCk7XG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXNpemVzIHtcbiAgICAkaGVhZGVyLW1hcDogKCk7XG4gICAgQGVhY2ggJGhlYWRlciwgJGZvbnQtc2l6ZSBpbiAkaGVhZGVycyB7XG4gICAgICAkaGVhZGVyLW1hcDogbWFwLW1lcmdlKCRoZWFkZXItbWFwLCAoJGhlYWRlcjogKCdmb250LXNpemUnOiAkZm9udC1zaXplKSkpO1xuICAgIH1cbiAgICAkaGVhZGVyLXN0eWxlczogbWFwLW1lcmdlKCRoZWFkZXItc3R5bGVzLCAoJHNpemU6ICRoZWFkZXItbWFwKSk7XG4gIH1cbiAgQHJldHVybiAkaGVhZGVyLXN0eWxlcztcbn1cblxuLy8gSWYgaXQgZXhpc3RzICRoZWFkZXJzLXNpemVzIGlzIHVzZWQgdG8gYnVpbGQgJGhlYWRlci1zdHlsZXMuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoaGVhZGVyLXNpemVzKSB7XG4gICRoZWFkZXItc3R5bGVzOiBidWlsZC1mcm9tLWhlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKTtcbn1cblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGA8c21hbGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbWFsbC1mb250LXNpemU6IDgwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGA8c21hbGw+YCBlbGVtZW50cyB3aGVuIHBsYWNlZCBpbnNpZGUgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGluc2lkZSBgPHA+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIGZvciBwYXJhZ3JhcGggdGV4dC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIFVzZSB0aGUgYC5jb2RlLWlubGluZWAgY29tcG9uZW50IGFzIGRlZmF1bHQgZm9yIGA8Y29kZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRlbmFibGUtY29kZS1pbmxpbmU6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3MuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIExpc3RcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSAhZGVmYXVsdDtcblxuLy8vIEJ1bGxldCB0eXBlIHRvIHVzZSBmb3IgdW5vcmRlcmVkIGxpc3RzIChlLmcuLCBgc3F1YXJlYCwgYGNpcmNsZWAsIGBkaXNjYCkuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjICFkZWZhdWx0O1xuXG4vLy8gUG9zaXRpb25pbmcgZm9yIGJ1bGxldHMgb24gdW5vcmRlcmVkIGxpc3QgaXRlbXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGxpc3RzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBhIGxpc3QgaW5zaWRlIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGA8ZGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGA8ZHQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBgPGR0PmAgYW5kIGA8ZGQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSBgPGJsb2NrcXVvdGU+YCBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSkgIWRlZmF1bHQ7XG5cbi8vLyBTaWRlIGJvcmRlciBmb3IgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gVXNlIHRoZSBgLmNpdGUtYmxvY2tgIGNvbXBvbmVudCBhcyBkZWZhdWx0IGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZW5hYmxlLWNpdGUtYmxvY2s6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIGJvcmRlciBzdHlsZSBmb3IgYDxhYmJyPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjayAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1iYXNlIHtcbiAgLy8gVHlwb2dyYXBoeSByZXNldHNcbiAgZGl2LFxuICBkbCxcbiAgZHQsXG4gIGRkLFxuICB1bCxcbiAgb2wsXG4gIGxpLFxuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2LFxuICBwcmUsXG4gIGZvcm0sXG4gIHAsXG4gIGJsb2NrcXVvdGUsXG4gIHRoLFxuICB0ZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBQYXJhZ3JhcGhzXG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgIHRleHQtcmVuZGVyaW5nOiAkcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nO1xuICB9XG5cbiAgLy8gRW1waGFzaXplZCB0ZXh0XG4gIGVtLFxuICBpIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTdHJvbmcgdGV4dFxuICBzdHJvbmcsXG4gIGIge1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU21hbGwgdGV4dFxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSGVhZGluZ3NcbiAgaDEsIC5oMSxcbiAgaDIsIC5oMixcbiAgaDMsIC5oMyxcbiAgaDQsIC5oNCxcbiAgaDUsIC5oNSxcbiAgaDYsIC5oNiB7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgZm9udC1zdHlsZTogJGhlYWRlci1mb250LXN0eWxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkaGVhZGVyLWNvbG9yO1xuICAgIHRleHQtcmVuZGVyaW5nOiAkaGVhZGVyLXRleHQtcmVuZGVyaW5nO1xuXG4gICAgc21hbGwge1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBjb2xvcjogJGhlYWRlci1zbWFsbC1mb250LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhlYWRpbmcgc3R5bGVzXG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXN0eWxlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGhlYWRlciwgJGhlYWRlci1kZWZzIGluICRoZWFkZXJzIHtcbiAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiAxcmVtO1xuICAgICAgICAjeyRoZWFkZXJ9LCAuI3skaGVhZGVyfSB7XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmb250LXNpemUpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZzKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmcykpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxoKSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGgpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMoJGhlYWRlci1saW5laGVpZ2h0LCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG10KSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbXQpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1iKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWIpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCRoZWFkZXItbWFyZ2luLWJvdHRvbSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTGlua3NcbiAgYSB7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgY29sb3I6ICRhbmNob3ItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbjtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGFuY2hvci1jb2xvci1ob3ZlcjtcbiAgICAgIEBpZiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlciAhPSAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbiB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cblxuICAvLyBIb3Jpem9udGFsIHJ1bGVcbiAgaHIge1xuICAgIGNsZWFyOiBib3RoO1xuXG4gICAgbWF4LXdpZHRoOiAkaHItd2lkdGg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1hcmdpbjogJGhyLW1hcmdpbjtcblxuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206ICRoci1ib3JkZXI7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gIH1cblxuICAvLyBMaXN0c1xuICB1bCxcbiAgb2wsXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkbGlzdC1tYXJnaW4tYm90dG9tO1xuICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246ICRsaXN0LXN0eWxlLXBvc2l0aW9uO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGlzdC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gTGlzdCBpdGVtc1xuICBsaSB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gVW5vcmRlcmVkIGxpc3RzXG4gIHVsIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgICBsaXN0LXN0eWxlLXR5cGU6ICRsaXN0LXN0eWxlLXR5cGU7XG4gIH1cblxuICAvLyBPcmRlcmVkIGxpc3RzXG4gIG9sIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgfVxuXG4gIC8vIE5lc3RlZCB1bm9yZGVyZWQvb3JkZXJlZCBsaXN0c1xuICB1bCwgb2wge1xuICAgICYgJiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIERlZmluaXRpb24gbGlzdHNcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZGVmbmxpc3QtdGVybS13ZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2txdW90ZXNcbiAgYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAwIDAgJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuICAgIHBhZGRpbmc6ICRibG9ja3F1b3RlLXBhZGRpbmc7XG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGJsb2NrcXVvdGUtYm9yZGVyO1xuXG4gICAgJiwgcCB7XG4gICAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgICAgY29sb3I6ICRibG9ja3F1b3RlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIElubGluZSBDaXRhdGlvbnNcbiAgQGlmICgkZW5hYmxlLWNpdGUtYmxvY2sgPT0gdHJ1ZSkge1xuICAgIGNpdGUge1xuICAgICAgLy8gRXh0ZW5kaW5nIGEgY2xhc3MgaXMgbm90IHJlY29tbWVuZGVkLlxuICAgICAgLy8gVE9ETzogQnJlYWsgdGhlIHR5cG9ncmFwaHktYmFzZS90eXBvZ3JhcGh5LWhlbHBlcnMgc2VwYXJhdGlvblxuICAgICAgQGV4dGVuZCAlY2l0ZS1ibG9jaztcbiAgICB9XG4gIH1cblxuICAvLyBBYmJyZXZpYXRpb25zXG4gIGFiYnIsIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiAkYWJici11bmRlcmxpbmU7XG4gICAgY3Vyc29yOiBoZWxwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC8vIEZpZ3VyZXNcbiAgZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBDb2RlXG4gIEBpZiAoJGVuYWJsZS1jb2RlLWlubGluZSA9PSB0cnVlKSB7XG4gICAgY29kZSB7XG4gICAgICBAZXh0ZW5kICVjb2RlLWlubGluZTtcbiAgICB9XG4gIH1cblxuICAvLyBLZXlzdHJva2VzXG4gIGtiZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6ICRrZXlzdHJva2UtcGFkZGluZztcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRrZXlzdHJva2UtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAka2V5c3Ryb2tlLWZvbnQ7XG4gICAgY29sb3I6ICRrZXlzdHJva2UtY29sb3I7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRrZXlzdHJva2UtcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAka2V5c3Ryb2tlLXJhZGl1cztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVha3BvaW50c1xuLy8vL1xuXG4vLy8gUGF0Y2ggdG8gZml4IGlzc3VlICMxMjA4MFxuJC16Zi1zaXplOiBudWxsO1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzOiAoXG4gIFwic21hbGxcIjogMCxcbiAgXCJtZWRpdW1cIjogNjQwcHgsXG4gIFwibGFyZ2VcIjogMTAyNHB4LFxuICBcInhsYXJnZVwiOiAxMjAwcHgsXG4gIFwieHhsYXJnZVwiOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIEhpRFBJIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzIGZvciByZXNvbHV0aW9ucy5cbi8vLyBWYWx1ZXMgbXVzdCByZXByZXNlbnQgdGhlIGRldmljZSBwaXhlbHMgLyB3ZWIgcGl4ZWxzIHJhdGlvbiBhbmQgYmUgdW5pdGxlc3Mgb3IgaW4gRFBQWC5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50cy1oaWRwaTogKFxuICBcImhpZHBpLTFcIjogMSxcbiAgXCJoaWRwaS0xLTVcIjogMS41LFxuICBcImhpZHBpLTJcIjogMixcbiAgXCJyZXRpbmFcIjogMixcbiAgXCJoaWRwaS0zXCI6IDNcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGFyZ2VzdCBuYW1lZCBicmVha3BvaW50IGluIHdoaWNoIHRvIGluY2x1ZGUgcHJpbnQgYXMgYSBtZWRpYSB0eXBlXG4vLy8gQHR5cGUgS2V5d29yZFxuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlICFkZWZhdWx0O1xuXG4kLXpmLXplcm8tYnJlYWtwb2ludDogc21hbGwgIWRlZmF1bHQ7XG5cbiQtemYtYnJlYWtwb2ludHMta2V5czogbWFwLXRvLWxpc3QoJGJyZWFrcG9pbnRzLCAna2V5cycpO1xuXG5AaWYgbnRoKG1hcC12YWx1ZXMoJGJyZWFrcG9pbnRzKSwgMSkgIT0gMCB7XG4gIEBlcnJvciAnVGhlIGZpcnN0IGtleSBpbiB0aGUgJGJyZWFrcG9pbnRzIG1hcCBtdXN0IGhhdmUgYSB2YWx1ZSBvZiBcIjBcIi4nO1xufVxuQGVsc2Uge1xuICAkLXpmLXplcm8tYnJlYWtwb2ludDogbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksIDEpO1xufVxuXG4vLy8gQWxsIG9mIHRoZSBuYW1lcyBpbiB0aGlzIGxpc3Qgd2lsbCBiZSBvdXRwdXQgYXMgY2xhc3NlcyBpbiB5b3VyIENTUywgbGlrZSBgLnNtYWxsLTEyYCwgYC5tZWRpdW0tNmAsIGFuZCBzbyBvbi4gRWFjaCB2YWx1ZSBpbiB0aGlzIGxpc3QgbXVzdCBhbHNvIGJlIGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAuXG4vLy8gQHR5cGUgTGlzdFxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSkgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGlucHV0IHZhbHVlLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHNlZSB3aGF0IHRoZSBwb3NzaWJsZSBpbnB1dHMgYXJlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbCBbc21hbGxdIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHZhbDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgLy8gV2ViIHN0YW5kYXJkIFBpeGVscyBwZXIgaW5jaC4gKDFkZHB4IC8gJHN0ZC13ZWItZHBpKSA9IDFkcGlcbiAgLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtdmFsdWVzLTMvI2Fic29sdXRlLWxlbmd0aHNcbiAgJHN0ZC13ZWItZHBpOiA5NjtcblxuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIG9mIHRoZSBmb2xsb3dpbmcgYnJlYWtwb2ludFxuICAkYnAtbmV4dDogbnVsbDtcbiAgLy8gVmFsdWUgZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1taW46IG51bGw7XG4gIC8vIFZhbHVlIGZvciBtaW4td2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiBudWxsO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gSWYgbmFtZWQsIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnRcbiAgJG5hbWU6IG51bGw7XG4gIC8vIElmIHRoZSBicmVha3BvaW50IGlzIGEgSGlEUEkgYnJlYWtwb2ludFxuICAkaGlkcGk6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuXG4gIC8vIElmIGEgYnJlYWtwb2ludCBuYW1lIGlzIGdpdmVuLCBnZXQgaXRzIHZhbHVlIGZyb20gdGhlICRicmVha3BvaW50cy8kYnJlYWtwb2ludHMtaGlkcGkgbWFwLlxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgICRuYW1lOiAkYnA7XG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gICAgICAkYnAtbmV4dDogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICAgIH1cbiAgICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMtaGlkcGksICRicCkge1xuICAgICAgJG5hbWU6ICRicDtcbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMtaGlkcGksICRuYW1lKTtcbiAgICAgICRicC1uZXh0OiAtemYtbWFwLW5leHQtbnVtYmVyKCRicmVha3BvaW50cy1oaWRwaSwgJGJwKTtcbiAgICAgICRoaWRwaTogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJwOiAwO1xuICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogXCIjeyR2YWx9XCIgaXMgbm90IGRlZmluZWQgaW4geW91ciBgJGJyZWFrcG9pbnRzYCBvciBgJGJyZWFrcG9pbnRzLWhpZHBpYCBzZXR0aW5nLic7XG4gICAgfVxuICB9XG5cbiAgQGlmIG5vdCAkbmFtZSBhbmQgJGRpciA9PSAnb25seScge1xuICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cblxuICAvLyBPbmx5ICdvbmx5JyBhbmQgJ3VwJyBoYXZlIGEgbWluIGxpbWl0LlxuICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAndXAnIHtcbiAgICAkYnAtbWluOiBpZigkaGlkcGksIHN0cmlwLXVuaXQoJGJwKSwgLXpmLWJwLXRvLWVtKCRicCkpO1xuICB9XG4gIC8vIE9ubHkgJ29ubHknIGFuZCAnZG93bicgaGF2ZSBhIG1heCBsaW1pdC5cbiAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBJZiB0aGUgYnJlYWtwb2ludCBpcyBhIHZhbHVlLCB1c2UgaXQgYXMgbWF4IGxpbWl0LlxuICAgIEBpZiBub3QgJG5hbWUge1xuICAgICAgJGJwLW1heDogaWYoJGhpZHBpLCBzdHJpcC11bml0KCRicCksIC16Zi1icC10by1lbSgkYnApKTtcbiAgICB9XG4gICAgLy8gSWYgdGhlIGJyZWFrcG9pbnQgaXMgbmFtZWQsIHRoZSBtYXggbGltaXQgaXMgdGhlIGZvbGxvd2luZyBicmVha3BvaW50IC0gMXB4LlxuICAgIEBlbHNlIGlmICRicC1uZXh0IHtcbiAgICAgIC8vIE1heCB2YWx1ZSBpcyAwLjJweCB1bmRlciB0aGUgbmV4dCBicmVha3BvaW50ICgwLjAyIC8gMTYgPSAwLjAwMTI1KS5cbiAgICAgIC8vIFVzZSBhIHByZWNpc2lvbiB1bmRlciAxcHggdG8gc3VwcG9ydCBicm93c2VyIHpvb20sIGJ1dCBub3QgdG8gbG93IHRvIGF2b2lkIHJvdW5kaW5nLlxuICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzExMzEzXG4gICAgICAkYnAtbWF4OiBpZigkaGlkcGksICRicC1uZXh0IC0gZGl2aWRlKDEsICRzdGQtd2ViLWRwaSksIC16Zi1icC10by1lbSgkYnAtbmV4dCkgLSAwLjAwMTI1KTtcbiAgICB9XG4gIH1cblxuICAvLyBHZW5lcmF0ZSB0aGUgbWVkaWEgcXVlcnkgc3RyaW5nIGZyb20gbWluIGFuZCBtYXggbGltaXRzLlxuICBAaWYgJGhpZHBpIHtcbiAgICAvLyBHZW5lcmF0ZSB2YWx1ZXMgaW4gRFBJIGluc3RlYWQgb2YgRFBQWCBmb3IgYW4gSUU5LTExL09wZXJhIG1pbmkgY29tcGF0aWJpbGl0eS5cbiAgICAvLyBTZWUgaHR0cHM6Ly9jYW5pdXNlLmNvbS8jZmVhdD1jc3MtbWVkaWEtcmVzb2x1dGlvblxuICAgICRicC1taW4tZHBpOiBpZigkYnAtbWluLCAkYnAtbWluICogJHN0ZC13ZWItZHBpICogMWRwaSwgJGJwLW1pbik7XG4gICAgJGJwLW1heC1kcGk6IGlmKCRicC1tYXgsICRicC1tYXggKiAkc3RkLXdlYi1kcGkgKiAxZHBpLCAkYnAtbWF4KTtcbiAgICBAcmV0dXJuIHpmLXN0ci1qb2luKFxuICAgICAgLXpmLWJwLWpvaW4oJGJwLW1pbiwgJGJwLW1heCwgJy13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbycsICctd2Via2l0LW1heC1kZXZpY2UtcGl4ZWwtcmF0aW8nKSxcbiAgICAgIC16Zi1icC1qb2luKCRicC1taW4tZHBpLCAkYnAtbWF4LWRwaSwgJ21pbi1yZXNvbHV0aW9uJywgJ21heC1yZXNvbHV0aW9uJyksXG4gICAgICAnLCAnKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAtemYtYnAtam9pbigkYnAtbWluLCAkYnAtbWF4KTtcbiAgfVxufVxuXG4vLy8gV3JhcHMgYSBtZWRpYSBxdWVyeSBhcm91bmQgdGhlIGNvbnRlbnQgeW91IHB1dCBpbnNpZGUgdGhlIG1peGluLiBUaGlzIG1peGluIGFjY2VwdHMgYSBudW1iZXIgb2YgdmFsdWVzOlxuLy8vICAtIElmIGEgc3RyaW5nIGlzIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgbG9vayBmb3IgaXQgaW4gdGhlIGAkYnJlYWtwb2ludHNgIGFuZCBgJGJyZWFrcG9pbnRzLWhpZHBpYCBtYXBzLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gSWYgbXVsdGlwbGUgdmFsdWVzIGFyZSBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGdlbmVyYXRlIGEgbWVkaWEgcXVlcnkgZm9yIGVhY2ggb2YgdGhlbSBhcyBkZXNjcmliZWQgYWJvdmUuXG4vLy8gU2luY2UgdGhlIGNvbnRlbnQgaXMgZHVwbGljYXRlZCBmb3IgZWFjaCBicmVha3BvaW50LCB0aGlzIG1peGluIHNob3VsZCBvbmx5IGJlIHVzZWQgd2l0aCBwcm9wZXJ0aWVzIHRoYXRcbi8vLyBjaGFuZ2UgYWNyb3NzIGJyZWFrcG9pbnRzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlcy4uLiAtIEJyZWFrcG9pbnQgbmFtZSBvciBweC9yZW0vZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbi8vL1xuLy8vIEBvdXRwdXQgSWYgdGhlIGJyZWFrcG9pbnQgaXMgXCIwcHggYW5kIGxhcmdlclwiLCBvdXRwdXRzIHRoZSBjb250ZW50IGFzLWlzLiBPdGhlcndpc2UsIG91dHB1dHMgdGhlIGNvbnRlbnQgd3JhcHBlZCBpbiBhIG1lZGlhIHF1ZXJ5LlxuQG1peGluIGJyZWFrcG9pbnQoJHZhbHVlcy4uLikge1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkdmFsdWVzKSB7XG4gICAgJHZhbHVlOiBudGgoJHZhbHVlcywgJGkpO1xuICAgICRzdHI6IGJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICAkYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgbnRoKCR2YWx1ZSwgMSkpO1xuICAgICRwYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHByaW50LWJyZWFrcG9pbnQpO1xuICAgIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICAgJGRpcjogaWYobGVuZ3RoKCR2YWx1ZSkgPiAxLCBudGgoJHZhbHVlLCAyKSwgdXApO1xuXG4gICAgJG9sZC16Zi1zaXplOiBudWxsO1xuXG4gICAgLy8gTWFrZSBicmVha3BvaW50IHNpemUgYXZhaWxhYmxlIGFzIGEgdmFyaWFibGVcbiAgICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gICAgfVxuICAgICQtemYtc2l6ZTogbnRoKCR2YWx1ZSwgMSkgIWdsb2JhbDsgLy8gZ2V0IHRoZSBmaXJzdCB2YWx1ZSB0byBhY2NvdW50IGZvciBgb25seWAgYW5kIGBkb3duYCBrZXl3b3Jkc1xuXG4gICAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICAgIEBpZiAkc3RyID09ICcnIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gICAgQGVsc2Uge1xuICAgICAgLy8gRm9yIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAkcHJpbnQtYnJlYWtwb2ludCwgYWRkIHByaW50IHRvIHRoZSBtZWRpYSB0eXBlc1xuICAgICAgLy8gZ2VuZXJhdGUgcHJpbnQgaWYgdGhlIGJyZWFrcG9pbnQgYWZmZWN0cyB0aGUgcHJpbnQtYnJlYWtwb2ludCAob3Igc21hbGxlcikuXG4gICAgICAvLyBUaGlzIG1lYW5zIHRoZSBjdXJyZW50IGNvbmRpdGlvbiBvbmx5IG5lZWRzIHRvIGJlIGV4dGVuZGVkIHNvICdkb3duJyBhbHdheXMgZ2VuZXJhdGVzIHByaW50LlxuICAgICAgQGlmICRicCAhPSBudWxsIGFuZCAoJGJwIDw9ICRwYnAgb3IgJGRpciA9PSBkb3duKSB7XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG4gIH1cbn1cblxuLy8vIENvbnZlcnRzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuXG4gIC8vIFN0b3JlIHRoZSBrZXlzIG9mIHRoZSBtYXAgYXMgYSBsaXN0XG4gICR2YWx1ZXM6IG1hcC1rZXlzKCRtYXApO1xuXG4gICRpOiAwO1xuXG4gIC8vIElmIHRoZSBLZXkgRXhpc3RzLCBHZXQgdGhlIGluZGV4IG9mIHRoZSBrZXkgd2l0aGluIHRoZSBtYXAgYW5kIGFkZCAxIHRvIGl0IGZvciB0aGUgbmV4dCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICRpOiBpbmRleCgkdmFsdWVzLCAka2V5KSArIDE7XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAoJGkgPiBsZW5ndGgoJG1hcCkgb3IgJGkgPT0gMCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCBudGgoJHZhbHVlcywgJGkpKTtcbiAgfVxuXG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IG51bWJlciBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRudW1iZXIgLSBOdW1iZXIgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSBudW1iZXIgZm9sbG93aW5nIGAkbnVtYmVyYCwgaWYgYCRudW1iZXJgIHdhcyBmb3VuZC4gSWYgYCRudW1iZXJgIHdhcyBub3QgZm91bmQsIG9yIGAkbnVtYmVyYCB3YXMgdGhlIGJpZ2dlc3QgbnVtYmVyIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dC1udW1iZXIoJG1hcCwgJG51bWJlcikge1xuXG4gICRuZXh0LW51bWJlcjogbnVsbDtcblxuICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgQGlmIHR5cGUtb2YoJHYpID09ICdudW1iZXInIGFuZCAkdiA+ICRudW1iZXIgYW5kICgkbmV4dC1udW1iZXIgPT0gbnVsbCBvciAkdiA8ICRuZXh0LW51bWJlcikge1xuICAgICAgJG5leHQtbnVtYmVyOiAkdjtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRuZXh0LW51bWJlcjtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIEtleSB0byB1c2UgYXMgbGFzdCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJGtleSkge1xuICAkbGlzdDogKCk7XG4gICRmb3VuZC1rZXk6IGZhbHNlO1xuXG4gIEBlYWNoICRuYW1lIGluICQtemYtYnJlYWtwb2ludHMta2V5cyB7XG4gICAgQGlmICgkbmFtZSA9PSAka2V5KSB7XG4gICAgICAkZm91bmQta2V5OiB0cnVlO1xuICAgIH1cbiAgICBAaWYgbm90ICRmb3VuZC1rZXkge1xuICAgICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgJG5hbWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRsaXN0O1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCAtIGEgbmFtZWQgb3Igbm9uLW5hbWVkIGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAkbGFzdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICRmb3VuZDogZmFsc2U7XG5cbiAgJHZhbHVlOiB1bml0bGVzcy1jYWxjKCRicmVha3BvaW50LCAxcHgpO1xuICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgQGlmIHVuaXRsZXNzLWNhbGMoJHZhbCkgPiAkdmFsdWUge1xuICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJGxhc3Q6ICRrZXk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbGFzdDtcbn1cblxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXQgcmVnYXJkbGVzcyBvZiBgJHZhbHVlYC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGhhcyB0aGUga2V5IGAkdmFsdWVgLCB0aGUgZXhhY3QgYnJlYWtwb2ludCB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGRvZXMgKm5vdCogaGF2ZSB0aGUgYnJlYWtwb2ludCwgdGhlIHZhbHVlIG1hdGNoaW5nIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGluIHRoZSBjb25maWcgbWFwIGlzIHJldHVybmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gUmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cbkBmdW5jdGlvbiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkdmFsdWUpIHtcbiAgLy8gSWYgdGhlIGdpdmVuIG1hcCBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0XG4gIEBpZiB0eXBlLW9mKCRtYXApID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICRtYXA7XG4gIH1cblxuXG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAgICR2YWx1ZTogLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcbiAgfVxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXG4gIEBlbHNlIHtcbiAgICAkYW5jaG9yOiBudWxsO1xuICAgICRmb3VuZDogZmFsc2U7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcbiAgfVxufVxuXG4vLy8gUmV0dXJuIHRoZSBiZXN0IGJyZWFrcG9pbnQgdG8gdXNlIGFjY29yZGluZyB0byB0aGUgY2FsbGluZyBjb250ZXh0LiBJdCByZXR1cm5zIGluIG9yZGVyOlxuLy8vIDEuIHRoZSBnaXZlbiBgJHZhbHVlYCBhcmd1bWVudCBpZiBpdCBpcyBub3QgbnVsbC5cbi8vLyAyLiB0aGUgZ2xvYmFsIGJyZWFrcG9pbnQgY29udGV4dCBgJC16Zi1zaXplYCBpZiBpdCBpcyBub3QgbnVsbCAobGlrZSBpZiBjYWxsZWQgaW5zaWRlIHRoZW4gYGJyZWFrcG9pbnQoKWAgbWl4aW4pXG4vLy8gMy4gdGhlIGdpdmVuIGAkZGVmYXVsdGAgYXJndW1lbnQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSBbbnVsbF0gLSBCcmVha3BvaW50IHRvIHVzZSBpbiBwcmlvcml0eSBpZiBub24tbnVsbC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkZWZhdWx0IFtudWxsXSAtIEJyZWFrcG9pbnQgdG8gdXNlIGJ5IGRlZmF1bHQgaWYgbm8gb3RoZXIgdmFsdWUgY2FuIGJlIHVzZWQuXG4vLy9cbi8vLyBAcmV0dXJuIHtLZXl3b3JkfSBUaGUgcmVzb2x2ZWQgYnJlYWtwb2ludC5cbkBmdW5jdGlvbiAtemYtY3VycmVudC1icmVha3BvaW50KCR2YWx1ZTogbnVsbCwgJGRlZmF1bHQ6IG51bGwpIHtcbiAgQGlmICgkdmFsdWUgIT0gbnVsbCkge1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG4gIEBlbHNlIGlmICh2YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIGFuZCB0eXBlLW9mKCQtemYtc2l6ZSkgIT0gJ251bWJlcicpIGFuZCAkLXpmLXNpemUgIT0gbnVsbCB7XG4gICAgQHJldHVybiAkLXpmLXNpemU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gJGRlZmF1bHQ7XG4gIH1cbn1cblxuLy8vIFJldHVybiBtZWRpYSBxdWVyeSBzdHJpbmcgZnJvbSB0aGUgZ2l2ZW4gbWluIGFuZC9vciBtYXggbGltaXRzLlxuLy8vIElmIGEgbGltaXQgaXMgZXF1YWwgdG8gYG51bGxgIG9yIGAwYCwgaXQgaXMgaWdub3JlZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWluIFswXSAtIE1pbiBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCBbMF0gLSBNYXggbWVkaWEgcXVlcnkgbGltaXQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtaW4tbmFtZSBbJ21pbi13aWR0aCddIC0gTmFtZSBvZiB0aGUgbWluIG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGVsaW1pdGVyIFsnbWF4LXdpZHRoJ10gLSBOYW1lIG9mIHRoZSBtYXggbWVkaWEgcXVlcnkgbGltaXQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBNZWRpYSBRdWVyeSBzdHJpbmcuXG5AZnVuY3Rpb24gLXpmLWJwLWpvaW4oXG4gICRtaW46IDAsXG4gICRtYXg6IDAsXG4gICRtaW4tbmFtZTogJ21pbi13aWR0aCcsXG4gICRtYXgtbmFtZTogJ21heC13aWR0aCdcbikge1xuICBAcmV0dXJuIHpmLXN0ci1qb2luKFxuICAgIGlmKCRtaW4gYW5kICRtaW4gPiAwLCAnKCN7JG1pbi1uYW1lfTogI3skbWlufSknLCBudWxsKSxcbiAgICBpZigkbWF4IGFuZCAkbWF4ID4gMCwgJygjeyRtYXgtbmFtZX06ICN7JG1heH0pJywgbnVsbCksXG4gICAgJyBhbmQgJyk7XG59XG5cbiRzbWFsbC11cDogJyc7XG4kc21hbGwtb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XG4gICRzbWFsbC11cDogc2NyZWVuO1xuICAkc21hbGwtb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9Jyk7XG59XG5cbiRtZWRpdW0tdXA6ICcnO1xuJG1lZGl1bS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG4kbGFyZ2UtdXA6ICcnO1xuJGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG4keGxhcmdlLXVwOiAnJztcbiR4bGFyZ2Utb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHhsYXJnZSkge1xuICAkeGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UpfScpO1xuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHh4bGFyZ2UtdXA6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKSB7XG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWhlbHBlcnNcbi8vLy9cblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRvcCBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIHN0YXRpc3RpYyBudW1iZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgLmNpdGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGAuY2l0ZS1ibG9ja2AgY29tcG9uZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBQc2V1ZG8gY29udGVudCBmb3IgYC5jaXRlLWJsb2NrYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW4gYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGAuY29kZS1pbmxpbmVgIGFuZCBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgYXJvdW5kIHRleHQgb2YgdGhlIGAuY29kZS1pbmxpbmVgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGFyb3VuZCB0ZXh0IG9mIHRoZSBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1ibG9jay1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIHVuZGVyIHRoZSBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjb2RlLWJsb2NrLW1hcmdpbi1ib3R0b206IDEuNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGNpdGUtYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICRjaXRlLWNvbG9yO1xuICBmb250LXNpemU6ICRjaXRlLWZvbnQtc2l6ZTtcblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGNpdGUtcHNldWRvLWNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIEFkZCBiYXNpYyBzdHlsZXMgZm9yIGEgY29kZSBoZWxwZXIuXG4vLy8gU2VlIGBjb2RlLWlubGluZWAgYW5kIGBjb2RlLWJsb2NrYCBtaXhpbnMuXG5AbWl4aW4gY29kZS1zdHlsZSB7XG4gIGJvcmRlcjogJGNvZGUtYm9yZGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29kZS1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtZmFtaWx5OiAkY29kZS1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRjb2RlLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGNvZGUtY29sb3I7XG59XG5cbi8vLyBNYWtlIGNvZGUgaGVscGVyIGZyb20gdGhlIGBjb2RlLXN0eWxlYCBtaXhpbiBpbmxpbmUuXG4vLy8gVXNlZCB0byBnZW5lcmF0ZSBgLmNvZGUtaW5saW5lYFxuQG1peGluIGNvZGUtaW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcblxuICBwYWRkaW5nOiAkY29kZS1wYWRkaW5nO1xufVxuXG4vLy8gTWFrZSBjb2RlIGhlbHBlciBmcm9tIHRoZSBgY29kZS1zdHlsZWAgbWl4aW4gYSBibG9jay5cbi8vLyBVc2VkIHRvIGdlbmVyYXRlIGAuY29kZS1ibG9ja2BcbkBtaXhpbiBjb2RlLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogcHJlO1xuXG4gIHBhZGRpbmc6ICRjb2RlLWJsb2NrLXBhZGRpbmc7XG4gIG1hcmdpbi1ib3R0b206ICRjb2RlLWJsb2NrLW1hcmdpbi1ib3R0b207XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktaGVscGVycyB7XG4gIC8vIFVzZSB0byBjcmVhdGUgYSBzdWJoZWFkaW5nIHVuZGVyIGEgbWFpbiBoZWFkZXJcbiAgLy8gTWFrZSBzdXJlIHlvdSBwYWlyIHRoZSB0d28gZWxlbWVudHMgaW4gYSA8aGVhZGVyPiBlbGVtZW50LCBsaWtlIHRoaXM6XG4gIC8vIDxoZWFkZXI+XG4gIC8vICAgPGgxPkhlYWRpbmc8L2gxPlxuICAvLyAgIDxoMj5TdWJoZWFkaW5nPC9oMj5cbiAgLy8gPC9oZWFkZXI+XG4gIC5zdWJoZWFkZXIge1xuICAgIG1hcmdpbi10b3A6ICRzdWJoZWFkZXItbWFyZ2luLXRvcDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3ViaGVhZGVyLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXdlaWdodDogJHN1YmhlYWRlci1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJHN1YmhlYWRlci1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkc3ViaGVhZGVyLWNvbG9yO1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGFuIGludHJvZHVjdG9yeSBsZWFkLCBkZWNrLCBibHVyYiwgZXRjLlxuICAubGVhZCB7XG4gICAgZm9udC1zaXplOiAkbGVhZC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsZWFkLWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYSBsYXJnZSBudW1iZXIgdG8gZGlzcGxheSBhIHN0YXRpc3RpY1xuICAuc3RhdCB7XG4gICAgZm9udC1zaXplOiAkc3RhdC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBwICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICB9XG4gIH1cblxuICB1bCwgb2wge1xuICAgIC8vIFVzZSB0byByZW1vdmUgbnVtYmVycyBmcm9tIG9yZGVyZWQgbGlzdCAmIGJ1bGxldHMgZnJvbSB1bm9yZGVyZWQgbGlzdFxuICAgICYubm8tYnVsbGV0IHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICVjaXRlLWJsb2NrIHtcbiAgICBAaW5jbHVkZSBjaXRlLWJsb2NrO1xuICB9XG5cbiAgLmNpdGUtYmxvY2sge1xuICAgIEBleHRlbmQgJWNpdGUtYmxvY2s7XG4gIH1cblxuICAlY29kZS1pbmxpbmUge1xuICAgIEBpbmNsdWRlIGNvZGUtc3R5bGU7XG4gICAgQGluY2x1ZGUgY29kZS1pbmxpbmU7XG4gIH1cblxuICAuY29kZS1pbmxpbmUge1xuICAgIEBleHRlbmQgJWNvZGUtaW5saW5lO1xuICB9XG5cbiAgLmNvZGUtYmxvY2sge1xuICAgIEBpbmNsdWRlIGNvZGUtc3R5bGU7XG4gICAgQGluY2x1ZGUgY29kZS1ibG9jaztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi10ZXh0LWFsaWdubWVudCB7XG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRhbGlnbiBpbiAobGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAudGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSWYgYHRydWVgLCBhbGwgZWxlbWVudHMgd2lsbCBoYXZlIHRyYW5zcGFyZW50IGJhY2tncm91bmRzIHdoZW4gcHJpbnRlZCwgdG8gc2F2ZSBvbiBpbmsuXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBncm91cCBnbG9iYWxcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgZGlzcGxheXMgbmV4dCB0byBhbGwgbGlua3MgdGhlaXIgXCJocmVmXCIgd2hlbiBwcmludGVkLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtaHJlZnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIHNhc3MtbGludDpkaXNhYmxlLWFsbFxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcmludC1zdHlsZXMge1xuICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgICoge1xuICAgICAgLy8gRW5zdXJlIGEgXCJibGFjay1vbi13aGl0ZVwiIHByaW50IGJ5IHJlbW92aW5nIGJhY2tncm91bmRzLFxuICAgICAgLy8gdXNpbmcgYmxhY2sgdGV4dCBldmVyeXdoZXJlIGFuZCBmb3JjaW5nIHRoZSBicm93c2VyIHRvIGVjb25vbWl6ZSBpbmsuXG4gICAgICBAaWYgJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcbiAgICAgICAgcHJpbnQtY29sb3ItYWRqdXN0OiBlY29ub215O1xuICAgICAgfVxuICAgICAgLy8gT3RoZXJ3aXNlLCBwcmV2ZW50IGFueSBlY29ub215IGJ5IHRoZSBicm93c2VyLlxuICAgICAgQGVsc2Uge1xuICAgICAgICBwcmludC1jb2xvci1hZGp1c3Q6IGV4YWN0O1xuICAgICAgfVxuXG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAuaGlkZS1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgIHRhYmxlLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgIHRoZWFkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0Ym9keS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdHIuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAgIHRkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgdGguc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuICAgIC8vIERpc3BsYXkgdGhlIFVSTCBvZiBhIGxpbmsgYWZ0ZXIgdGhlIHRleHRcbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO31cbiAgICBAaWYgJHByaW50LWhyZWZzIHtcbiAgICAgIGFbaHJlZl06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIoaHJlZikgJyknOyB9XG4gICAgfVxuXG4gICAgLy8gRG9uJ3QgZGlzcGxheSB0aGUgVVJMIGZvciBpbWFnZXMgb3IgSmF2YVNjcmlwdC9pbnRlcm5hbCBsaW5rc1xuICAgIC5pciBhOmFmdGVyLFxuICAgIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gICAgYVtocmVmXj0nIyddOmFmdGVyIHsgY29udGVudDogJyc7IH1cblxuICAgIC8vIERpc3BsYXkgd2hhdCBhbiBhYmJyZXZpYXRpb24gc3RhbmRzIGZvciBhZnRlciB0aGUgdGV4dFxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKHRpdGxlKSAnKSc7IH1cblxuICAgIC8vIFByZXZlbnQgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBhIGJsb2NrcXVvdGUgb3IgcHJlZm9ybWF0dGVkIHRleHQgYmxvY2tcbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIGg1YnAuY29tL3RcbiAgICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuXG4gICAgdHIsXG4gICAgaW1nIHsgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4gICAgQHBhZ2UgeyBtYXJnaW46IDAuNWNtOyB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIG9ycGhhbnM6IDM7XG4gICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgLy8gQXZvaWQgcGFnZSBicmVha3MgYWZ0ZXIgYSBoZWFkaW5nXG4gICAgaDIsXG4gICAgaDMgeyBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuXG4gICAgLy8gSGVscGVyIHRvIHJlLWFsbG93IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgY2VydGFpbiBlbGVtZW50cyAoZS5nLiBwcmUsIGJsb2NrcXVvdGUsIHRyKVxuICAgIC5wcmludC1icmVhay1pbnNpZGUge1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktYmFzZS1ncmlkLWNsYXNzZXMge1xuXG4gIC8vIEdyaWQgQ29udGFpbmVyXG4gIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XG5cbiAgICAmLmZsdWlkIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyKDEwMCUpO1xuICAgIH1cblxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcigxMDAlLCAwKTtcbiAgICB9XG4gIH1cblxuICAvLyBCYXNlIGdyaWQgc3R5bGVzXG4gIC5ncmlkLXgge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gIH1cblxuICAuY2VsbCB7XG4gICAgQGluY2x1ZGUgeHktY2VsbChmdWxsLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuXG4gICAgJi5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTtcbiAgICB9XG5cbiAgICAmLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICB9XG5cbiAgfVxuICAuZ3JpZC14IHtcbiAgICA+IC5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShhdXRvLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgIH1cblxuICAgID4gLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEF1dG8gd2lkdGhcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzICYgUFJzIGZvciB0aGUgYmFja3N0b3J5OlxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMjIyIGFuZFxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDE2NFxuICAgIC5ncmlkLXgge1xuICAgICAgJHN0cjogXCI+IC4jeyQtemYtc2l6ZX0tc2hyaW5rLCA+IC4jeyQtemYtc2l6ZX0tZnVsbFwiO1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgJHN0cjogJHN0ciArIFwiLCA+IC4jeyQtemYtc2l6ZX0tI3skaX1cIjtcbiAgICAgIH1cbiAgICAgICN7JHN0cn0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgLy8gUmVzcG9uc2l2ZSBcImF1dG9cIiBtb2RpZmllclxuICAgIEBpZiBub3QoJC16Zi1zaXplID09ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS1hdXRvIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbChhdXRvLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgfVxuICAgIH1cblxuICAgICUteHktY2VsbC1iYXNlLXNocmluay1ob3Jpem9udGFsLSN7JC16Zi1zaXplfSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIFwic2hyaW5rXCIgbW9kaWZpZXJcbiAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tc2hyaW5rIHtcbiAgICAgICAgQGV4dGVuZCAlLXh5LWNlbGwtYmFzZS1zaHJpbmstaG9yaXpvbnRhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShzaHJpbmssICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSB3aWR0aCBtb2RpZmllcnNcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay1ob3Jpem9udGFsLSN7JC16Zi1zaXplfTtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHdpZHRoIHdoZW4gdXNpbmcgYC5ncmlkLW1hcmdpbi14YCBub3Qgb24gYC5ncmlkLXhgXG4gIC5ncmlkLW1hcmdpbi14Om5vdCguZ3JpZC14KSA+IC5jZWxsIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuXG4gIC8vIFJlc2V0IGhlaWdodCB3aGVuIHVzaW5nIGAuZ3JpZC1tYXJnaW4teWAgbm90IG9uIGAuZ3JpZC15YFxuICAuZ3JpZC1tYXJnaW4teTpub3QoLmdyaWQteSkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbkBtaXhpbiAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJGNsYXNzLWJyZWFrcG9pbnQsICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsKSB7XG4gICRwcmVmaXg6IGlmKCRjbGFzcy1icmVha3BvaW50ID09ICQtemYtemVyby1icmVha3BvaW50LCAnJywgJyN7JGNsYXNzLWJyZWFrcG9pbnR9LScpO1xuICA+IC4jeyRwcmVmaXh9YXV0byB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKGF1dG8sICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgfVxuXG4gID4gLiN7JHByZWZpeH1zaHJpbmsge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShzaHJpbmssICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICRjbGFzc25hbWU6IGlmKCR2ZXJ0aWNhbCwgJy4jeyRjbGFzcy1icmVha3BvaW50fS0jeyRpfScsICcuI3skY2xhc3MtYnJlYWtwb2ludH0tI3skaX0nKTtcblxuICAgID4gI3skY2xhc3NuYW1lfSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJGksICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWFyZ2luIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXMoXG4gICRndXR0ZXItcG9zaXRpb246IGxlZnQgcmlnaHQsXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICR3cmFwcGluZy1zZWxlY3RvcjogJy5ncmlkLW1hcmdpbi14J1xuKXtcbiAgI3skd3JhcHBpbmctc2VsZWN0b3J9IHtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSwgJGd1dHRlci1wb3NpdGlvbjogJGd1dHRlci1wb3NpdGlvbik7XG5cbiAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKCR2ZXJ0aWNhbDogJHZlcnRpY2FsLCAkb3V0cHV0OiAoc2l6ZSBndXR0ZXJzKSk7XG4gICAgfVxuXG4gICAgLy8gYmFzZSBzdHlsZXMgbmVlZCB0byBhbGwgYmUgYmVmb3JlIHRoZSBhdXRvIGFuZCBzaHJpbmsgc3R5bGVzXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkgYW5kICQtemYtc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgICA+IC5jZWxsIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKCR2ZXJ0aWNhbDogJHZlcnRpY2FsLCAkb3V0cHV0OiAoc2l6ZSBndXR0ZXJzKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuXG4gICAgICAvLyBUaGlzIGlzIHB1cmVseSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzIC0gdGhlIG1hcmdpbiBncmlkIGhhcyB0byBnbyBiYWNrIGFuZCBhZGp1c3Qgd2lkdGhzIChvciBoZWlnaHRzKVxuICAgICAgLy8gZm9yIGFsbCBwcmlvciBicmVha3BvaW50cy5cbiAgICAgIC8vIEFzIHRoZWlyIGd1dHRlciBpcyBkZWZpbmVkIHdpdGggdGhlaXIgd2lkdGgvaGVpZ2h0LCBldmVuIGJyZWFrcG9pbnQgd2l0aG91dCBhIG5ldyBtYXJnaW4gbXVzdCBiZVxuICAgICAgLy8gZ2VuZXJhdGVkIHRvIG5vdCBoYXZpbmcgdGhlaXIgd2lkdGgvaGVpZ2h0IG92ZXJyaWRlZCBieSByZS1hZGp1c3RlZCBzbWFsbGVyIGJyZWFrcG9pbnRzLlxuICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSkge1xuICAgICAgICBAZWFjaCAkYnAgaW4gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkLXpmLXNpemUpIHtcbiAgICAgICAgICBAaW5jbHVkZSAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJGJwLCAkLXpmLXNpemUsICR2ZXJ0aWNhbCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCQtemYtc2l6ZSwgJC16Zi1zaXplLCAkdmVydGljYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBQYWRkaW5nIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LXBhZGRpbmctZ3JpZC1jbGFzc2VzIHtcbiAgLmdyaWQtcGFkZGluZy14IHtcblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgbmVzdGVkIGdyaWRzXG4gICAgLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIGdyaWRzIHdpdGhpbiBgZ3JpZC1jb250YWluZXIvZ3JpZC1jb250YWluZXIuZmx1aWRgXG4gICAgLy8gVGhpcyBhbGxvd3MgbWFyZ2luIGFuZCBwYWRkaW5nIGdyaWRzIHRvIGxpbmUgdXAgd2l0aCBlYWNob3RoZXJcbiAgICAuZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+ICYge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICAgIH1cblxuICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQmxvY2sgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktYmxvY2stZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZDogdHJ1ZSwgJHBhZGRpbmctZ3JpZDogdHJ1ZSkge1xuICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRuOiAkaSwgJHNlbGVjdG9yOiAnLmNlbGwnLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRvdXRwdXQ6IChzaXplKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLy8gVGhpcyBpcyBwdXJlbHkgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycyAtIHRoZSBtYXJnaW4gZ3JpZCBoYXMgdG8gZ28gYmFjayBhbmQgYWRqdXN0IHdpZHRocyAob3IgaGVpZ2h0cylcbiAgICAgICAgLy8gZm9yIHByaW9yIGJyZWFrcG9pbnRzIGJhc2VkIG9uIHRoZSByZXNwb25zaXZlIGd1dHRlci5cbiAgICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSkge1xuICAgICAgICAgIEBlYWNoICRicCBpbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCQtemYtc2l6ZSkge1xuICAgICAgICAgICAgQGlmKG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkYnApKSB7XG4gICAgICAgICAgICAgIC5ncmlkLW1hcmdpbi14LiN7JGJwfS11cC0jeyRpfSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJG46ICRpLCAkc2VsZWN0b3I6ICcuY2VsbCcsICRndXR0ZXItdHlwZTogbWFyZ2luLCAkb3V0cHV0OiAoc2l6ZSkpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC5ncmlkLW1hcmdpbi14LiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJG46ICRpLCAkc2VsZWN0b3I6ICcuY2VsbCcsICRndXR0ZXItdHlwZTogbWFyZ2luLCAkb3V0cHV0OiAoc2l6ZSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIENvbGxhcHNlIGNsYXNzZXNcbkBtaXhpbiB4eS1jb2xsYXBzZS1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkOiB0cnVlLCAkcGFkZGluZy1ncmlkOiB0cnVlKSB7XG4gIEBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICAgIC4jeyRicH0tbWFyZ2luLWNvbGxhcHNlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb2xsYXBzZSgkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJG1pbi1icmVha3BvaW50OiAkYnApO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICAgIC4jeyRicH0tcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29sbGFwc2UoJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkbWluLWJyZWFrcG9pbnQ6ICRicCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE9mZnNldCBjbGFzc2VzXG5AbWl4aW4geHktb2Zmc2V0LWNlbGwtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KCRvLCAkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgfVxuXG4gICAgICAuZ3JpZC1tYXJnaW4teCA+IC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoJG8pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBWZXJ0aWNhbCBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS12ZXJ0aWNhbC1ncmlkLWNsYXNzZXMoXG4gICRtYXJnaW4tZ3JpZDogdHJ1ZSxcbiAgJHBhZGRpbmctZ3JpZDogdHJ1ZVxuKSB7XG5cbiAgLy8gQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgLy8gICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyAgIH1cbiAgLy8gfVxuXG4gIC5ncmlkLXkge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQodmVydGljYWwsIGZhbHNlKTtcblxuXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXJlc2V0KCk7XG4gICAgfVxuXG4gICAgPiAuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoYXV0bywgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuICAgID4gLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgfVxuXG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgLy8gVGhpcyBpcyBhIGJpdCBvZiBhIGhhY2svd29ya2Fyb3VuZCwgc2VlIHRoZXNlIGlzc3VlcyBhbmQgUFJzIGZvciB0aGUgYmFja3N0b3J5OlxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTAyNDRcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDIyMiBhbmRcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDE2NFxuICAgICAgJHN0cjogXCI+IC4jeyQtemYtc2l6ZX0tc2hyaW5rLCA+IC4jeyQtemYtc2l6ZX0tZnVsbFwiO1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgJHN0cjogJHN0ciArIFwiLCA+IC4jeyQtemYtc2l6ZX0tI3skaX1cIjtcbiAgICAgIH1cbiAgICAgICN7JHN0cn0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICAvLyBSZXNwb25zaXZlIFwiYXV0b1wiIG1vZGlmaWVyXG4gICAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbChhdXRvLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJS14eS1jZWxsLWJhc2Utc2hyaW5rLXZlcnRpY2FsLSN7JC16Zi1zaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgICAgfVxuXG4gICAgICAvLyBSZXNwb25zaXZlIFwic2hyaW5rXCIgbW9kaWZpZXJcbiAgICAgIEBpZiBub3QoJC16Zi1zaXplID09ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAgID4gLiN7JC16Zi1zaXplfS1zaHJpbmsge1xuICAgICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLXZlcnRpY2FsLSN7JC16Zi1zaXplfTtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gUmVzcG9uc2l2ZSB3aWR0aCBtb2RpZmllcnNcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay12ZXJ0aWNhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBuZXN0ZWQgZ3JpZHNcbiAgICAgIC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgIH1cblxuICAgICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgICAgPiAuY2VsbCB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKHRvcCBib3R0b20sIHRydWUsICcuZ3JpZC1tYXJnaW4teScpO1xuICB9XG5cbn1cblxuQG1peGluIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZDogdHJ1ZSwgJG1hcmdpbi1ncmlkOiB0cnVlKSB7XG4gIC8vIEZyYW1lZCBncmlkIHN0eWxlc1xuICAuZ3JpZC1mcmFtZSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZTtcbiAgfVxuXG4gIC5jZWxsIC5ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgfVxuXG4gIC5jZWxsLWJsb2NrIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKCk7XG4gIH1cblxuICAuY2VsbC1ibG9jay15IHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICB9XG5cblxuICAuY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCk7XG4gIH1cblxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcblxuICAgIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lO1xuICAgIH1cblxuICAgIC5jZWxsIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2sge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jaygpO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jay1jb250YWluZXIoKTtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2steSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdmVydGljYWwtZ3JpZCB7XG4gICAgLmdyaWQteSB7XG4gICAgICAmLmdyaWQtZnJhbWUge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUpO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgICAmLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUpO1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG4gICAgLmNlbGwge1xuICAgICAgLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgICAuZ3JpZC15LiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3Nlcyh0b3AgYm90dG9tLCB0cnVlLCAnLmdyaWQtbWFyZ2luLXknKTtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSwgZmFsc2UsICRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkaW5jbHVkZS1iYXNlOiBmYWxzZSk7XG4gICAgfVxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgIC5ncmlkLW1hcmdpbi15LiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlLCBmYWxzZSwgJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSwgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBGaW5hbCBjbGFzc2VzXG5AbWl4aW4gZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXMoXG4gICRiYXNlLWdyaWQ6IHRydWUsXG4gICRtYXJnaW4tZ3JpZDogdHJ1ZSxcbiAgJHBhZGRpbmctZ3JpZDogdHJ1ZSxcbiAgJGJsb2NrLWdyaWQ6IHRydWUsXG4gICRjb2xsYXBzZTogdHJ1ZSxcbiAgJG9mZnNldDogdHJ1ZSxcbiAgJHZlcnRpY2FsLWdyaWQ6IHRydWUsXG4gICRmcmFtZS1ncmlkOiB0cnVlXG4pIHtcblxuICAvLyBCYXNlIGdyaWQgc3R5bGVzXG4gIEBpZigkYmFzZS1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktYmFzZS1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIE1hcmdpbiBncmlkXG4gIEBpZigkbWFyZ2luLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBQYWRkaW5nIGdyaWRcbiAgQGlmKCRwYWRkaW5nLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1wYWRkaW5nLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gQmxvY2sgZ3JpZFxuICBAaWYoJGJsb2NrLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIC8vIENvbGxhcHNlIGd1dHRlcnNcbiAgQGlmKCRjb2xsYXBzZSkge1xuICAgIEBpbmNsdWRlIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgLy8gT2Zmc2V0IGd1dHRlcnNcbiAgQGlmKCRvZmZzZXQpIHtcbiAgICBAaW5jbHVkZSB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBncmlkXG4gIEBpZigkdmVydGljYWwtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgQGlmICgkZnJhbWUtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZCwgJG1hcmdpbi1ncmlkKVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlIGd1dHRlcnMgZm9yIGEgY2VsbC9jb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGVpdGhlciBtYXJnaW4gb3IgcGFkZGluZy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJG5lZ2F0aXZlIFtmYWxzZV0gLSBXaGV0aGVyIHRvIGFwcGx5IHRoZSBndXR0ZXIgYXMgYSBuZWdhdGl2ZSB2YWx1ZS4gQ29tbW9ubHkgdXNlZCBmb3IgbmVzdGVkIGdyaWRzLlxuQG1peGluIHh5LWd1dHRlcnMoXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRuZWdhdGl2ZTogZmFsc2Vcbikge1xuICAkb3BlcmF0b3I6IGlmKCRuZWdhdGl2ZSwgJy0nLCAnJyk7XG5cbiAgLy8gSWYgd2UgaGF2ZSBkZWNsYXJlZCBuZWdhdGl2ZSBndXR0ZXJzLCBmb3JjZSB0eXBlIHRvIGBtYXJnaW4uXG4gICRndXR0ZXItdHlwZTogaWYoJG5lZ2F0aXZlLCAnbWFyZ2luJywgJGd1dHRlci10eXBlKTtcblxuICAvLyBPdXRwdXQgb3VyIG1hcmdpbiBndXR0ZXJzLlxuICBAaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdtYXAnKSB7XG4gICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoYXV0bywgJGd1dHRlcnMpIHtcbiAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpICogMC41O1xuXG4gICAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBndXR0ZXIgcG9zaXRpb25cbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgI3skZ3V0dGVyLXR5cGV9LSN7JHZhbHVlfTogdW5xdW90ZShcIiN7JG9wZXJhdG9yfSN7JGd1dHRlcn1cIik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbnVtYmVyJykge1xuICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXJzKSAqIDAuNTtcblxuICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06IHVucXVvdGUoXCIjeyRvcGVyYXRvcn0jeyRndXR0ZXJ9XCIpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBtYXggd2lkdGggY29udGFpbmVyLCBkZXNpZ25lZCB0byBob3VzZSB5b3VyIGdyaWQgY29udGVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRncmlkLWNvbnRhaW5lcl0gLSBhIHdpZHRoIHRvIGxpbWl0IHRoZSBjb250YWluZXIgdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIFskZ3JpZC1jb250YWluZXItcGFkZGluZ10gLSBwYWRkaW5ncyBvZiB0aGUgY29udGFpbmVyLlxuQG1peGluIHh5LWdyaWQtY29udGFpbmVyKFxuICAkd2lkdGg6ICRncmlkLWNvbnRhaW5lcixcbiAgJHBhZGRpbmc6ICRncmlkLWNvbnRhaW5lci1wYWRkaW5nXG4pIHtcbiAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJHBhZGRpbmcsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG5cbiAgbWF4LXdpZHRoOiAkd2lkdGg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi8vLyBDcmVhdGVzIGEgY29udGFpbmVyIGZvciB5b3VyIGZsZXggY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2hvcml6b250YWxdIC0gRWl0aGVyIGhvcml6b250YWwgb3IgdmVydGljYWwgZGlyZWN0aW9uIG9mIGNlbGxzIHdpdGhpbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR3cmFwIFt0cnVlXSAtIElmIHRoZSBjZWxscyB3aXRoaW4gc2hvdWxkIHdyYXAgb3Igbm90LlxuQG1peGluIHh5LWdyaWQoXG4gICRkaXJlY3Rpb246IGhvcml6b250YWwsXG4gICR3cmFwOiB0cnVlXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiA9PSAnaG9yaXpvbnRhbCcsIHJvdywgY29sdW1uKTtcbiAgJHdyYXA6IGlmKCR3cmFwLCB3cmFwLCBub3dyYXApO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogJGRpcmVjdGlvbiAkd3JhcDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBSZXR1cm5zIHRoZSBhcHByb3ByaWF0ZSBDU1MgZmxleCB2YWx1ZSBmb3IgYSBjZWxsIGJhc2UuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQWNjZXB0cyBgZnVsbGAsIGBhdXRvYCwgYHNocmlua2AsIGBncm93YCwgb3IgYW55IG90aGVyIHZhbHVlIHJlcHJlc2VudGluZyBhIGNlbGwgc2l6ZSAoaXQgd2lsbCBiZSB0cmVhdGVkIGFzIGBzaHJpbmtgKS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBUaGUgY2VsbCBmbGV4IHByb3BlcnR5IHZhbHVlLlxuQGZ1bmN0aW9uIHh5LWNlbGwtYmFzZSgkc2l6ZTogZnVsbCkge1xuICBAaWYgKCRzaXplID09ICdhdXRvJykge1xuICAgIEByZXR1cm4gMSAxIDA7XG4gIH1cbiAgQGVsc2UgaWYgKCRzaXplID09ICdncm93Jykge1xuICAgIEByZXR1cm4gMSAwIGF1dG87XG4gIH1cbiAgQGVsc2UgaWYgKCRzaXplID09ICdzaHJpbmsnIG9yICRzaXplID09ICdmdWxsJyBvciB6Zi1pcy1mcmFjdGlvbigkc2l6ZSwgJGFsbG93LW5vLWRlbm9taW5hdG9yOiB0cnVlKSkge1xuICAgIEByZXR1cm4gMCAwIGF1dG87XG4gIH1cbiAgQHJldHVybiBudWxsO1xufVxuXG4vLy8gQ2FsY3VsYXRlIHRoZSBzaXplIG9mIGEgY2VsbCBndXR0ZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIHJldHVybnMgdGhlIHJlc3BvbnNpdmUgZ3V0dGVycyBtYXAgYCRndXR0ZXJzYC4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcnxNYXB9IFRoZSBjZWxsIGd1dHRlciBzaXplIG9yIHRoZSByZXNwb25zaXZlIGd1dHRlcnMgbWFwLlxuQGZ1bmN0aW9uIHh5LWNlbGwtZ3V0dGVycyhcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkYnJlYWtwb2ludDogbnVsbFxuKSB7XG4gIC8vIEZvciBgYXV0b2AsIHJldHVybnMgdGhlIHJlc3BvbnNpdmUgbWFwIGAkZ3V0dGVyc2AuXG4gIEBpZiAoJGJyZWFrcG9pbnQgPT0gJ2F1dG8nKSB7XG4gICAgQHJldHVybiAkZ3V0dGVycztcbiAgfVxuXG4gIC8vIFVzZSB0aGUgY29udGV4dHVhbCBicmVha3BvaW50IGJ5IGRlZmF1bHQuXG4gICRicmVha3BvaW50OiAtemYtY3VycmVudC1icmVha3BvaW50KCRicmVha3BvaW50KTtcblxuICBAaWYgKCRicmVha3BvaW50KSB7XG4gICAgQHJldHVybiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkLXpmLXplcm8tYnJlYWtwb2ludCkgb3IgMDtcbiAgfVxufVxuXG4vLy8gUmV0dXJucyB0aGUgcGVyY2VudGFnZSBzaXplIG9mIGEgY2VsbC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRzaXplIFskZ3JpZC1jb2x1bW5zXSAtIFNpemUgdG8gbWFrZSB0aGUgY2VsbC4gWW91IGNhbiBwYXNzIGEgdmFsdWUgaW4gbXVsdGlwbGUgZm9ybWF0cywgc3VjaCBhcyBgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8zYC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFNpemUgb2YgdGhlIGNlbGwgKGluIHBlcmNlbnQpLlxuQGZ1bmN0aW9uIHh5LWNlbGwtc2l6ZShcbiAgJHNpemU6ICRncmlkLWNvbHVtbnNcbikge1xuICBAcmV0dXJuIGZyYWN0aW9uLXRvLXBlcmNlbnRhZ2UoJHNpemUsICRkZW5vbWluYXRvcjogJGdyaWQtY29sdW1ucyk7XG59XG5cbi8vLyBSZXR1cm5zIHRoZSBhcHByb3ByaWF0ZSBDU1MgdmFsdWUgZm9yIGEgY2VsbCBzaXplLlxuLy8vXG4vLy8gR3V0dGVycy1yZWxhdGVkIGFyZ3VtZW50cyBhcmUgcmVxdWlyZWQgZm9yIGNlbGxzIHdpdGggbWFyZ2luIGd1dHRlcnMgKGJ5IGRlZmF1bHQpIGFzIHRoZSBndXR0ZXIgaXMgaW5jbHVkZWQgaW4gdGhlIHdpZHRoLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgLCBgYXV0b2AsIGBzaHJpbmtgIG9yIGFueSBmcmFjdGlvbiBsaWtlIGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCByZXR1cm5zIGEgbWFwIG9mIHNpemVzIGFkYXB0ZWQgdG8gcmVzcG9uc2l2ZSBndXR0ZXJzLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfFN0cmluZ3xNYXB9IFRoZSBjZWxsIHNpemluZyBwcm9wZXJ0eSB2YWx1ZSwgb3IgYSByZXNwb25zaXZlIG1hcCBvZiB0aGVtLlxuQGZ1bmN0aW9uIHh5LWNlbGwtc2l6ZS1jc3MoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogbnVsbFxuKSB7XG4gICRtYXJnaW4tZ3V0dGVyOiAwO1xuXG4gIEBpZiAoJHNpemUgPT0gJ2F1dG8nIG9yICRzaXplID09ICdzaHJpbmsnKSB7XG4gICAgQHJldHVybiBhdXRvO1xuICB9XG5cbiAgLy8gRm9yIGNlbGxzIHdpdGggbWFyZ2luIGd1dHRlcnMsIHRoZSBndXR0ZXIgaXMgaW5jbHVkZWQgaW4gdGhlIHdpZHRoLlxuICBAaWYgKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuICAgICRtYXJnaW4tZ3V0dGVyOiB4eS1jZWxsLWd1dHRlcnMoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgICBAaWYgKCRtYXJnaW4tZ3V0dGVyID09IG51bGwpIHtcbiAgICAgIEBlcnJvciAneHktY2VsbC1zaXplOiBubyBndXR0ZXJzIHdlcmUgZm91bmQgaW4gYCRndXR0ZXJzYCBmb3IgXCIkYnJlYWtwb2ludDogI3skYnJlYWtwb2ludH1cIic7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2FsY3VsYXRlIHRoZSBjZWxsIHNpemUgKG51bWJlcilcbiAgJHNpemUtcmF3OiBpZigkc2l6ZSA9PSAnZnVsbCcsIDEwMCUsIHh5LWNlbGwtc2l6ZSgkc2l6ZSkpO1xuXG4gIC8vIENhbGN1bGF0ZSB0aGUgY2VsbCBDU1Mgc2l6ZSBpbmNsdWRpbmcgZ3V0dGVycyAoc3RyaW5nKVxuICAvLyBJZiB0aGUgY2VsbCBoYXMgcmVzcG9uc2l2ZSBtYXJnaW4gZ3V0dGVycywgcmV0dXJuIGEgcmVzcG9uc2l2ZSBtYXAgb2Ygc2l6ZXMuXG4gIEBpZiB0eXBlLW9mKCRtYXJnaW4tZ3V0dGVyKSA9PSAnbWFwJyB7XG4gICAgJHJlc3BvbnNpdmUtY3NzLXNpemVzOiAoKTtcblxuICAgIEBlYWNoICRicCwgJG1nIGluICRtYXJnaW4tZ3V0dGVyIHtcbiAgICAgICRtZ2M6IHJlbS1jYWxjKCRtZyk7XG4gICAgICBAaWYgJG1nYyA9PSAwIHtcbiAgICAgICAgJG1nYzogMHJlbTtcbiAgICAgIH1cbiAgICAgICRzaXplLWNzczogaWYoJG1nID09IDAsICRzaXplLXJhdywgY2FsYygjeyRzaXplLXJhd30gLSAjeyRtZ30pKTtcbiAgICAgICRyZXNwb25zaXZlLWNzcy1zaXplczogbWFwLW1lcmdlKCRyZXNwb25zaXZlLWNzcy1zaXplcywgKCRicDogJHNpemUtY3NzKSk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkcmVzcG9uc2l2ZS1jc3Mtc2l6ZXM7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gYSBzaW5nbGUgQ1NTIHNpemUuXG4gIEBlbHNlIHtcbiAgICAvLyBNYWtlIHN1cmUgdGhhdCAwIGlzIHRyYW5zbGF0ZWQgaW4gMHJlbSBmb3IgY2FsYygpXG4gICAgJG1nYzogcmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpO1xuICAgIEBpZiAkbWdjID09IDAge1xuICAgICAgJG1nYzogMHJlbTtcbiAgICB9XG4gICAgJGNzcy1zaXplOiBpZigkbWFyZ2luLWd1dHRlciA9PSAwLCAkc2l6ZS1yYXcsIGNhbGMoI3skc2l6ZS1yYXd9IC0gI3skbWdjfSkpO1xuICAgIEByZXR1cm4gJGNzcy1zaXplO1xuICB9XG59XG5cbi8vLyBTZXRzIGJhc2UgZmxleCBwcm9wZXJ0aWVzIGZvciBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBBY2NlcHRzIGBmdWxsYCwgYGF1dG9gLCBgc2hyaW5rYCwgYGdyb3dgLCBvciBhbnkgb3RoZXIgdmFsdWUgcmVwcmVzZW50aW5nIGEgY2VsbCBzaXplIChpdCB3aWxsIGJlIHRyZWF0ZWQgYXMgYHNocmlua2ApLlxuQG1peGluIHh5LWNlbGwtYmFzZSgkc2l6ZTogZnVsbCkge1xuICAkYmFzZTogeHktY2VsbC1iYXNlKCRzaXplKTtcblxuICBmbGV4OiAjeyRiYXNlfTtcblxuICAvLyBTZXQgYmFzZSBzdHlsZXMgZm9yIFwiZnVsbFwiIG9ubHlcbiAgQGlmKCRzaXplID09ICdmdWxsJykge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG59XG5cbi8vLyBSZXNldHMgYSBjZWxscyB3aWR0aCAob3IgaGVpZ2h0IGlmIHZlcnRpY2FsIGlzIHRydWUpIGFzIHdlbGwgYXMgc3RyaXBzIGl0cyBndXR0ZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtcmVzZXQoJHZlcnRpY2FsOiB0cnVlKSB7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCBoZWlnaHQsIHdpZHRoKTtcbiAgI3skZGlyZWN0aW9ufTogYXV0bztcbiAgbWF4LSN7JGRpcmVjdGlvbn06IG5vbmU7XG59XG5cbi8vLyBTZXRzIHNpemluZyBwcm9wZXJ0aWVzIGZvciBjZWxscy5cbi8vL1xuLy8vIEd1dHRlcnMtcmVsYXRlZCBhcmd1bWVudHMgYXJlIHJlcXVpcmVkIGZvciBjZWxscyB3aXRoIG1hcmdpbiBndXR0ZXJzIChieSBkZWZhdWx0KSBhcyB0aGUgZ3V0dGVyIGlzIGluY2x1ZGVkIGluIHRoZSB3aWR0aC5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoMTAwJSB3aWR0aCksIGBhdXRvYCAodXNlIGFsbCBhdmFpbGFibGUgc3BhY2UpLCBgc2hyaW5rYCAodXNlIG9ubHkgdGhlIHJlcXVpcmVkIHNwYWNlKSBvciBhbnkgZnJhY3Rpb24gKGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLi4uKS5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgZ2VuZXJhdGVzIHNpemVzIGFkYXB0ZWQgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycy4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXNpemUoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRzaXplczogeHktY2VsbC1zaXplLWNzcygkc2l6ZSwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGJyZWFrcG9pbnQpO1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgaGVpZ2h0LCB3aWR0aCk7XG5cbiAgQGlmICh0eXBlLW9mKCRzaXplcykgPT0gJ21hcCcpIHtcbiAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZShhdXRvLCAkc2l6ZXMpIHtcbiAgICAgICN7JGRpcmVjdGlvbn06ICQtemYtYnAtdmFsdWU7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAjeyRkaXJlY3Rpb259OiAkc2l6ZXM7XG4gIH1cbn1cblxuLy8vIFNldHMgZ3V0dGVycyBwcm9wZXJ0aWVzIGZvciBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtudWxsXSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi4gQnkgZGVmYXVsdCBgcmlnaHQgbGVmdGAgZm9yIGhvcml6b250YWwgY2VsbHMgYW5kIGB0b3AgYm90dG9tYCBmb3IgdmVydGljYWwgY2VsbHMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCBnZW5lcmF0ZXMgcmVzcG9uc2l2ZSBndXR0ZXJzLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIERpcmVjdGlvbiBvZiB0aGUgZ3V0dGVycyB0byBvdXRwdXQuIFNlZSBgJGd1dHRlci1wb3NpdGlvbmAuXG5AbWl4aW4geHktY2VsbC1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gIC8vIEdldCB0aGUgZGVmYXVsdCBndXR0ZXIgcG9zaXRpb24gYWNjb3JkaW5nIHRvIGNlbGwgZGlyZWN0aW9uXG4gIEBpZigkZ3V0dGVyLXBvc2l0aW9uID09IG51bGwpIHtcbiAgICAkZ3V0dGVyLXBvc2l0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgdG9wIGJvdHRvbSwgbGVmdCByaWdodCk7XG4gIH1cblxuICAvLyBHZXQgdGhlIGd1dHRlciB3aWR0aCBmb3IgdGhpcyBicmVha3BvaW50XG4gICRndXR0ZXItd2lkdGg6IHh5LWNlbGwtZ3V0dGVycygkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICBAaWYgKCRndXR0ZXItd2lkdGggPT0gbnVsbCkge1xuICAgIEBlcnJvciAneHktY2VsbC1ndXR0ZXJzOiBubyBndXR0ZXJzIHdlcmUgZm91bmQgaW4gYCRndXR0ZXJzYCBmb3IgXCIkYnJlYWtwb2ludDogI3skYnJlYWtwb2ludH1cIic7XG4gIH1cblxuICBAaWYgKCRndXR0ZXItdHlwZSBhbmQgJGd1dHRlci10eXBlICE9IG5vbmUpIHtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXItd2lkdGgsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBjZWxsIGZvciB5b3VyIGdyaWQuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKDEwMCUgd2lkdGgpLCBgYXV0b2AgKHVzZSBhbGwgYXZhaWxhYmxlIHNwYWNlKSwgYHNocmlua2AgKHVzZSBvbmx5IHRoZSByZXF1aXJlZCBzcGFjZSkgb3IgYW55IGZyYWN0aW9uIChgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC4uLikuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbbnVsbF0gLSBbREVQUkVDQVRFRF0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW251bGxdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLiBCeSBkZWZhdWx0IGByaWdodCBsZWZ0YCBmb3IgaG9yaXpvbnRhbCBjZWxscyBhbmQgYHRvcCBib3R0b21gIGZvciB2ZXJ0aWNhbCBjZWxscy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIGdlbmVyYXRlcyByZXNwb25zaXZlIGd1dHRlcnMuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG4vLy8gQHBhcmFtIHtMaXN0fSAkb3V0cHV0IFsoYmFzZSBzaXplIGd1dHRlcnMpXSAtIENlbGwgcGFydHMgdG8gb3V0cHV0LiBZb3Ugd2lsbCBuZWVkIHRvIGdlbmVyYXRlIG90aGVycyBwYXJ0cyBvZiB0aGUgY2VsbCBzZXBlcmF0ZWx5LCBpdCBtYXkgbm90IHdvcmsgcHJvcGVybHkgb3RoZXJ3aXNlLlxuQG1peGluIHh5LWNlbGwoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyLW91dHB1dDogbnVsbCxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogbnVsbCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICRvdXRwdXQ6IChiYXNlIHNpemUgZ3V0dGVycylcbikge1xuICAvLyBEZWZhdWx0IGZvciAkZ3V0dGVyLW91dHB1dFxuICBAaWYgKCRndXR0ZXItb3V0cHV0ICE9IG51bGwpIHtcbiAgICBAd2FybiAneHktY2VsbDogJGd1dHRlci1vdXRwdXQgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkLiBTZWUgbWlncmF0aW9uIG5vdGVzIGF0IGh0dHBzOi8vZ2l0LmlvL2ZvdW5kYXRpb24tNi02LTAnO1xuICAgIEBpZiAoJGd1dHRlci1vdXRwdXQgPT0gZmFsc2UpIHtcbiAgICAgICRvdXRwdXQ6IHNsLXJlbW92ZSgkb3V0cHV0LCBndXR0ZXJzKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKGluZGV4KCRvdXRwdXQsIGJhc2UpKSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKCRzaXplKTtcbiAgfVxuICBAaWYgKGluZGV4KCRvdXRwdXQsIHNpemUpKSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRzaXplLCAkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkYnJlYWtwb2ludCwgJHZlcnRpY2FsKTtcbiAgfVxuICBAaWYgKGluZGV4KCRvdXRwdXQsIGd1dHRlcnMpKSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ndXR0ZXJzKCRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24sICRicmVha3BvaW50LCAkdmVydGljYWwpO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgc2l6ZWQgZ3JpZC4gVXNlZCB0byBnZW5lcmF0ZSBvdXIgZ3JpZCBjbGFzc2VzLlxuLy8vXG4vLy8gYHh5LWNlbGwtc3RhdGljKClgIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZC5cbi8vLyBVc2UgYHh5LWNlbGwoKWAgaW5zdGVhZCB3aXRoIGAkb3V0cHV0OiAoc2l6ZSBndXR0ZXJzKWAgdG8gbm90IGdlbmVyYXRlIHRoZSBjZWxsIGJhc2UuXG4vLy8gU2VlIG1pZ3JhdGlvbiBub3RlcyBhdCBodHRwczovL2dpdC5pby9mb3VuZGF0aW9uLTYtNi0wXG4vLy9cbi8vLyBAZGVwcmVjYXRlZCB2Ni42LjBcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoMTAwJSB3aWR0aCksIGBhdXRvYCAodXNlIGFsbCBhdmFpbGFibGUgc3BhY2UpLCBgc2hyaW5rYCAodXNlIG9ubHkgdGhlIHJlcXVpcmVkIHNwYWNlKSBvciBhbnkgZnJhY3Rpb24gKGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLi4uKS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzLiBBbHdheXMgYHRydWVgIGZvciBtYXJnaW4gZ3V0dGVycy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtc3RhdGljKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gIEB3YXJuICd4eS1jZWxsLXN0YXRpYygpIG1peGluIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZC4gVXNlIFwieHktY2VsbCgpXCIgaW5zdGVhZC4gU2VlIG1pZ3JhdGlvbiBub3RlcyBhdCBodHRwczovL2dpdC5pby9mb3VuZGF0aW9uLTYtNi0wJztcblxuICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICAkZ3V0dGVyLXBvc2l0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgdG9wIGJvdHRvbSwgbGVmdCByaWdodCk7XG5cbiAgJC1ndXR0ZXItb3V0cHV0OiBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicsIHRydWUsICRndXR0ZXItb3V0cHV0KTtcbiAgJC1ndXR0ZXItbWFyZ2luOiBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicsICRndXR0ZXIsIDApO1xuXG4gIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsICQtZ3V0dGVyLW1hcmdpbiwgJHZlcnRpY2FsKTtcbiAgQGlmICgkLWd1dHRlci1vdXRwdXQpIHtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXIsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBTaXplcyBjaGlsZCBlbGVtZW50cyBzbyB0aGF0IGAkbmAgbnVtYmVyIG9mIGl0ZW1zIGFwcGVhciBvbiBlYWNoIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBlbGVtZW50cyB0byBkaXNwbGF5IHBlciByb3cuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJy5jZWxsJ10gLSBTZWxlY3RvcihzKSB0byB1c2UgZm9yIGNoaWxkIGVsZW1lbnRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW251bGxdIC0gW0RFUFJFQ0FURURdIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtudWxsXSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi4gQnkgZGVmYXVsdCBgcmlnaHQgbGVmdGAgZm9yIGhvcml6b250YWwgY2VsbHMgYW5kIGB0b3AgYm90dG9tYCBmb3IgdmVydGljYWwgY2VsbHMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBicmVha3BvaW50IHRvIHVzZSBmb3IgdGhlIGNlbGwgZ2VuZXJhdGlvbi4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRvdXRwdXQgWyhiYXNlIHNpemUgZ3V0dGVycyldIC0gQ2VsbCBwYXJ0cyB0byBvdXRwdXQuIFlvdSB3aWxsIG5lZWQgdG8gZ2VuZXJhdGUgb3RoZXJzIHBhcnRzIG9mIHRoZSBjZWxsIHNlcGVyYXRlbHksIGl0IG1heSBub3Qgd29yayBjb3JyZWN0bHkgb3RoZXJ3aXNlLlxuQG1peGluIHh5LWdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxuICAkZ3V0dGVyLW91dHB1dDogbnVsbCxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogbnVsbCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICRvdXRwdXQ6IChiYXNlIHNpemUgZ3V0dGVycylcbikge1xuICAkc2l6ZTogcGVyY2VudGFnZShkaXZpZGUoMSwgJG4pKTtcblxuICAmID4gI3skc2VsZWN0b3J9IHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplLCAkZ3V0dGVyLW91dHB1dCwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbiwgJGJyZWFrcG9pbnQsICR2ZXJ0aWNhbCwgJG91dHB1dCk7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDb2xsYXBzZXMgdGhlIGdyaWQgYSBjZWxscyB3aXRoaW4gaXQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsuY2VsbF0gLSBUaGUgY2hpbGQgZWxlbWVudCB0byByZW1vdmUgdGhlIGd1dHRlciBmcm9tLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVGhlIHR5cGUgb2YgZ3V0dGVyIHRvIHJlbW92ZS5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9ucyB0byByZW1vdmUgZ3V0dGVycyBmcm9tLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRtaW4tYnJlYWtwb2ludCBbJC16Zi16ZXJvLWJyZWFrcG9pbnRdIC0gTWluaW11bSBicmVha3BvaW50IGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBmb3Igd2hpY2ggdG8gY29sbGFwc2UgdGhlIGd1dHRlci5cbkBtaXhpbiB4eS1ncmlkLWNvbGxhcHNlKFxuICAkc2VsZWN0b3I6ICcuY2VsbCcsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkbWluLWJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50XG4pIHtcbiAgLy8gRmlyc3QsIGxldHMgbmVnYXRlIGFueSBtYXJnaW5zIG9uIHRoZSB0b3AgbGV2ZWxcbiAgQGlmICgkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICB9XG5cbiAgICAgID4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAkZXhjbHVkZWQtYnBzOiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRtaW4tYnJlYWtwb2ludCk7XG5cbiAgICAvLyBPdXRwdXQgbmV3IHdpZHRocyB0byBub3QgaW5jbHVkZSBndXR0ZXJzXG4gICAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmKHNsLWNvbnRhaW4oJGV4Y2x1ZGVkLWJwcywgJGJwKSkge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgICAgICA+IC4jeyRicH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJGksICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnApIHtcbiAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICAgICAgPiAuI3skYnB9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgfVxuXG4gICAgICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgICBwYWRkaW5nLSN7JHZhbHVlfTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIFJldHVybnMgdGhlIGFwcHJvcHJpYXRlIENTUyB2YWx1ZSB0byBvZmZzZXQgYSBjZWxsLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJG4gLSBTaXplIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYHh5LWNlbGwoKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIE1hcCBvZiBndXR0ZXJzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSBUaGUgdHlwZSBvZiBndXR0ZXIgdG8gdXNlLiBDYW4gYmUgYG1hcmdpbmAgb3IgYHBhZGRpbmdgXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcnxTdHJpbmd9IFRoZSBjZWxsIG9mZnNldCBwcm9wZXJ0eSB2YWx1ZS5cbkBmdW5jdGlvbiB4eS1jZWxsLW9mZnNldChcbiAgJG4sXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiBudWxsXG4pIHtcbiAgJGJyZWFrcG9pbnQ6IC16Zi1jdXJyZW50LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQsICRkZWZhdWx0OiAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gICRzaXplOiB4eS1jZWxsLXNpemUoJG4pO1xuXG4gICRvZmZzZXQ6ICRzaXplO1xuICBAaWYgKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuICAgIC8vIE1ha2Ugc3VyZSB0aGF0IDAgaXMgdHJhbnNsYXRlZCBpbiAwcmVtIGZvciBjYWxjKClcbiAgICAkZ3V0dGVyOiByZW0tY2FsYyh4eS1jZWxsLWd1dHRlcnMoJGd1dHRlcnMsICRicmVha3BvaW50KSk7XG4gICAgQGlmICRndXR0ZXIgPT0gMCB7XG4gICAgICAkZ3V0dGVyOiAwcmVtO1xuICAgIH1cbiAgICAkb2Zmc2V0OiBpZigkZ3V0dGVyID09IDAsICRzaXplLCBjYWxjKCN7JHNpemV9ICsgI3skZ3V0dGVyfSAvIDIpKTtcbiAgfVxuICBAcmV0dXJuICRvZmZzZXQ7XG59XG5cbi8vLyBPZmZzZXRzIGEgY29sdW1uIHRvIHRoZSByaWdodC9ib3R0b20gYnkgYCRuYCBjb2x1bW5zLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJG4gLSBTaXplIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYHh5LWNlbGwoKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIE1hcCBvZiBndXR0ZXJzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSBUaGUgdHlwZSBvZiBndXR0ZXIgdG8gdXNlLiBDYW4gYmUgYG1hcmdpbmAgb3IgYHBhZGRpbmdgXG4vLy8gQHBhcmFtIHtOdW1iZXJ8QXJyYXl8S2V5d29yZH0gJGJyZWFrcG9pbnQgW251bGxdIC0gQnJlYWtwb2ludCB0byB1c2UgZm9yIGAkZ3V0dGVyc2AuIEl0IGNhbiBiZSBhIGJyZWFrcG9pbnQgbmFtZSwgbGlzdCBvZiBicmVha3BvaW50cyBvciBgYXV0b2AgZm9yIGFsbCBicmVha3BvaW50cy4gSWYgYSBsaXN0IGlzIGdpdmVuLCBtZWRpYS1xdWVyaWVzIHdpbGwgYmUgZ2VuZXJhdGVkLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgdGhlIG9mZnNldC4gSWYgc2V0IHRvIHRydWUgd2lsbCBhcHBseSBtYXJnaW4tdG9wIGluc3RlYWQuXG5AbWl4aW4geHktY2VsbC1vZmZzZXQoXG4gICRuLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRicmVha3BvaW50OiAtemYtY3VycmVudC1icmVha3BvaW50KCRicmVha3BvaW50LCAkZGVmYXVsdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwsICd0b3AnLCAkZ2xvYmFsLWxlZnQpO1xuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQtaW4oJGJyZWFrcG9pbnQsICRtZWRpYS1xdWVyaWVzOiAnZm9yLWxpc3RzJykge1xuICAgICRvZmZzZXQ6IHh5LWNlbGwtb2Zmc2V0KCRuLCAkZ3V0dGVycywgJGd1dHRlci10eXBlKTtcbiAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogI3skb2Zmc2V0fTtcbiAgfVxufVxuIiwiLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tdmVuZG9yLXByZWZpeGVzXG5cbi8vLyBNb2RpZmllcyBhIGdyaWQgdG8gZ2l2ZSBpdCBcImZyYW1lXCIgYmVoYXZpb3IgKG5vIG92ZXJmbG93LCBubyB3cmFwLCBzdHJldGNoIGJlaGF2aW9yKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVzdGVkIFtmYWxzZV0gLSBJcyBncmlkIG5lc3RlZCBvciBub3QuIElmIG5lc3RlZCBpcyB0cnVlIHRoaXMgc2V0cyB0aGUgZnJhbWUgdG8gMTAwJSBoZWlnaHQsIG90aGVyd2lzZSB3aWxsIGJlIDEwMHZoLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgW251bGxdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGluY2x1ZGUtYmFzZSBbdHJ1ZV0gLSBJbmNsdWRlIHRoZSBiYXNlIHN0eWxlcyB0aGF0IGRvbid0IHZhcnkgcGVyIGJyZWFrcG9pbnQuXG5AbWl4aW4geHktZ3JpZC1mcmFtZShcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJG5lc3RlZDogZmFsc2UsXG4gICRndXR0ZXJzOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJGluY2x1ZGUtYmFzZTogdHJ1ZVxuKSB7XG5cbiAgQGlmICRpbmNsdWRlLWJhc2Uge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG5cbiAgQGlmICRicmVha3BvaW50ID09IG51bGwgYW5kIHR5cGUtb2YoJGd1dHRlcnMpID09ICdtYXAnIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSgkdmVydGljYWwsICRuZXN0ZWQsICRndXR0ZXJzLCAkLXpmLXNpemUsIGZhbHNlKTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIC8vIEdldCBvdXIgZ3V0dGVycyBpZiBhcHBsaWNhYmxlXG4gICAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcblxuICAgIC8vIElmIHdlIGhhdmUgYSBndXR0ZXIsIGFkZCBpdCB0byB0aGUgd2lkdGgvaGVpZ2h0XG4gICAgQGlmICRndXR0ZXIge1xuICAgICAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICAgICAgJHVuaXQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdmgpO1xuICAgICAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKTtcbiAgICAgICAgLy8gTWFrZSBzdXJlIHRoYXQgMCBpcyB0cmFuc2xhdGVkIGluIDByZW0gZm9yIGNhbGMoKVxuICAgICAgICBAaWYgJGd1dHRlciA9PSAwIHtcbiAgICAgICAgICAkZ3V0dGVyOiAwcmVtO1xuICAgICAgICB9XG4gICAgICAgIGhlaWdodDogY2FsYygjeyR1bml0fSArICN7JGd1dHRlcn0pO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICR1bml0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZ3KTtcbiAgICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcik7XG4gICAgICAgIC8vIE1ha2Ugc3VyZSB0aGF0IDAgaXMgdHJhbnNsYXRlZCBpbiAwcmVtIGZvciBjYWxjKClcbiAgICAgICAgQGlmICRndXR0ZXIgPT0gMCB7XG4gICAgICAgICAgJGd1dHRlcjogMHJlbTtcbiAgICAgICAgfVxuICAgICAgICB3aWR0aDogY2FsYygjeyR1bml0fSArICN7JGd1dHRlcn0pO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgICAgICBoZWlnaHQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdmgpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIHdpZHRoOiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZ3KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIE1vZGlmaWVzIGEgY2VsbCB0byBnaXZlIGl0IFwiYmxvY2tcIiBiZWhhdmlvciAob3ZlcmZsb3cgYXV0bywgaW5lcnRpYWwgc2Nyb2xsaW5nKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXG5AbWl4aW4geHktY2VsbC1ibG9jayhcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRwcm9wZXJ0eTogaWYoJHZlcnRpY2FsID09IHRydWUsICdvdmVyZmxvdy15JywgJ292ZXJmbG93LXgnKTtcblxuICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICB9IEBlbHNlIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG59XG5cbi8vLyBDb250YWluZXIgZm9yIGluc2lkZSBhIGdyaWQgZnJhbWUgY29udGFpbmluZyBtdWx0aXBsZSBibG9ja3MuIFR5cGljYWxseSB1c2VkXG4vLy8gYXMgYSBtb2RpZmllciBmb3IgYSBgLmNlbGxgIHRvIGFsbG93IHRoZSBjZWxsIHRvIHBhc3MgYWxvbmcgZmxleCBzaXppbmdcbi8vLyBjb25zdHJhaW50cyAvIGZyb20gcGFyZW50cyB0byBjaGlsZHJlbi5cbkBtaXhpbiB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTtcblxuICA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmbGV4LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBjb250YWluZXIgZm9yIGEgZmxleCBncmlkIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxMaXN0fSAkYmVoYXZpb3IgW251bGxdXG4vLy8gICBNb2RpZmljYXRpb25zIHRvIHRoZSBkZWZhdWx0IGdyaWQgc3R5bGVzLiBgbmVzdGAgaW5kaWNhdGVzIHRoZSByb3cgd2lsbCBiZSBwbGFjZWQgaW5zaWRlIGFub3RoZXIgcm93LiBgY29sbGFwc2VgIGluZGljYXRlcyB0aGF0IHRoZSBjb2x1bW5zIGluc2lkZSB0aGlzIHJvdyB3aWxsIG5vdCBoYXZlIHBhZGRpbmcuIGBuZXN0IGNvbGxhcHNlYCBjb21iaW5lcyBib3RoIGJlaGF2aW9ycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbJGdyaWQtcm93LXdpZHRoXSBNYXhpbXVtIHNpemUgb2YgdGhlIHJvdy4gU2V0IHRvIGBleHBhbmRgIHRvIG1ha2UgdGhlIHJvdyB0YWtpbmcgdGhlIGZ1bGwgd2lkdGguXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIFtudWxsXSAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZSBmb3IgdGhpcyByb3cuIElmIHNldCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSwgdGhlIGdsb2JhbCBjb2x1bW4gY291bnQgd2lsbCBiZSB1c2VkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGJhc2UgW3RydWVdIC0gU2V0IHRvIGBmYWxzZWAgdG8gcHJldmVudCBiYXNpYyBzdHlsZXMgZnJvbSBiZWluZyBvdXRwdXQuIFVzZWZ1bCBpZiB5b3UncmUgY2FsbGluZyB0aGlzIG1peGluIG9uIHRoZSBzYW1lIGVsZW1lbnQgdHdpY2UsIGFzIGl0IHByZXZlbnRzIGR1cGxpY2F0ZSBDU1Mgb3V0cHV0LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHdyYXAgW3RydWVdIC0gU2V0IHRvIGBmYWxzZWAgdG8gaGF2ZSByb3cgd3JhcHBpbmcgYmVoYXZpb3Igc2V0IHRvIG5vd3JhcFxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIG1hcmdpbnMsIGluIGNhc2UgdGhlIHJvdyBpcyBuZXN0ZWQuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZmxleC1ncmlkLXJvdyhcbiAgJGJlaGF2aW9yOiBudWxsLFxuICAkc2l6ZTogJGdyaWQtcm93LXdpZHRoLFxuICAkY29sdW1uczogbnVsbCxcbiAgJGJhc2U6IHRydWUsXG4gICR3cmFwOiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gICRtYXJnaW46IGF1dG87XG4gICR3cmFwOiBpZigkd3JhcCwgd3JhcCwgbm93cmFwKTtcblxuICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBuZXN0KSAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRndXR0ZXJzKTtcblxuICAgIEBpZiBpbmRleCgkYmVoYXZpb3IsIGNvbGxhcHNlKSAhPSBudWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZSgkc2l6ZSk7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgQGlmICRiYXNlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93ICR3cmFwO1xuICB9XG5cbiAgQGlmICRjb2x1bW5zICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtY29udGV4dCgkY29sdW1ucywgJGJhc2UpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgYGZsZXhgIHByb3BlcnR5IGZvciBhIGZsZXggZ3JpZCBjb2x1bW4uIEl0IGFjY2VwdHMgYWxsIG9mIHRoZSBzYW1lIHZhbHVlcyBhcyB0aGUgYmFzaWMgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uLCBhbG9uZyB3aXRoIHR3byBleHRyYXM6XG4vLy8gICAtIGBleHBhbmRgICh0aGUgZGVmYXVsdCkgd2lsbCBtYWtlIHRoZSBjb2x1bW4gZXhwYW5kIHRvIGZpbGwgc3BhY2UuXG4vLy8gICAtIGBzaHJpbmtgIHdpbGwgbWFrZSB0aGUgY29sdW1uIGNvbnRyYWN0LCBzbyBpdCBvbmx5IHRha2VzIHVwIHRoZSBob3Jpem9udGFsIHNwYWNlIGl0IG5lZWRzLlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgW2V4cGFuZF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLlxuQGZ1bmN0aW9uIGZsZXgtZ3JpZC1jb2x1bW4oJGNvbHVtbnM6IGV4cGFuZCkge1xuICAkZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcblxuICBAaWYgJGNvbHVtbnMgPT0gc2hyaW5rIHtcbiAgICAkZmxleDogMCAwIGF1dG87XG4gIH1cbiAgQGVsc2UgaWYgJGNvbHVtbnMgIT0gZXhwYW5kIHtcbiAgICAkZmxleDogMCAwIGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbiAgfVxuXG4gIEByZXR1cm4gJGZsZXg7XG59XG5cbi8vLyBDcmVhdGVzIGEgY29sdW1uIGZvciBhIGZsZXggZ3JpZC4gQnkgZGVmYXVsdCwgdGhlIGNvbHVtbiB3aWxsIHN0cmV0Y2ggdG8gdGhlIGZ1bGwgd2lkdGggb2YgaXRzIGNvbnRhaW5lciwgYnV0IHRoaXMgY2FuIGJlIG92ZXJyaWRkZW4gd2l0aCBzaXppbmcgY2xhc3Nlcywgb3IgYnkgdXNpbmcgdGhlIGB1bnN0YWNrYCBjbGFzcyBvbiB0aGUgcGFyZW50IGZsZXggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgW2V4cGFuZF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLiBSZWZlciB0byB0aGUgYGZsZXgtZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMgd2lkdGguIFNlZSB0aGUgYGdyaWQtY29sdW1uLWd1dHRlcmAgbWl4aW4uXG5AbWl4aW4gZmxleC1ncmlkLWNvbHVtbihcbiAgJGNvbHVtbnM6IGV4cGFuZCxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICAvLyBCYXNlIHByb3BlcnRpZXNcbiAgQGluY2x1ZGUgZmxleC1ncmlkLXNpemUoJGNvbHVtbnMpO1xuXG4gIC8vIEd1dHRlcnNcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXJzOiAkZ3V0dGVycyk7XG5cbiAgLy8gZml4ZXMgcmVjZW50IENocm9tZSB2ZXJzaW9uIG5vdCBsaW1pdGluZyBjaGlsZCB3aWR0aFxuICAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zNDkzNDU4Ni93aGl0ZS1zcGFjZS1ub3dyYXAtYW5kLWZsZXhib3gtZGlkLW5vdC13b3JrLWluLWNocm9tZVxuICBAaWYgJGNvbHVtbnMgPT0gZXhwYW5kIHtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBibG9jayBncmlkIGZvciBhIGZsZXggZ3JpZCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgY29sdW1ucyB0byBkaXNwbGF5IG9uIGVhY2ggcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgLSBTZWxlY3RvciB0byB1c2UgdG8gdGFyZ2V0IGNvbHVtbnMgd2l0aGluIHRoZSByb3cuXG5AbWl4aW4gZmxleC1ncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jb2x1bW4nXG4pIHtcbiAgZmxleC13cmFwOiB3cmFwO1xuXG4gID4gI3skc2VsZWN0b3J9IHtcbiAgICAkcGN0OiBwZXJjZW50YWdlKGRpdmlkZSgxLCAkbikpO1xuXG4gICAgZmxleDogMCAwICRwY3Q7XG4gICAgbWF4LXdpZHRoOiAkcGN0O1xuICB9XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSB3aWR0aCBmbGV4IGdyaWQgY29sdW1uLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFtleHBhbmRdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi4gUmVmZXIgdG8gdGhlIGBmbGV4LWdyaWQtY29sdW1uKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG5AbWl4aW4gZmxleC1ncmlkLXNpemUoJGNvbHVtbnM6IG51bGwpIHtcbiAgJGNvbHVtbnM6ICRjb2x1bW5zIG9yIGV4cGFuZDtcblxuICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCRjb2x1bW5zKTtcblxuICAvLyBtYXgtd2lkdGggZml4ZXMgSUUgMTAvMTEgbm90IHJlc3BlY3RpbmcgdGhlIGZsZXgtYmFzaXMgcHJvcGVydHlcbiAgQGlmICRjb2x1bW5zICE9IGV4cGFuZCBhbmQgJGNvbHVtbnMgIT0gc2hyaW5rIHtcbiAgICBtYXgtd2lkdGg6IGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbiAgfVxufVxuXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtZ3JpZCB7XG4gIC8vIFJvd1xuICAucm93IHtcbiAgICBAaW5jbHVkZSBmbGV4LWdyaWQtcm93O1xuXG4gICAgLy8gTmVzdGluZyBiZWhhdmlvclxuICAgICYgLnJvdyB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtcm93KG5lc3QsICRiYXNlOiBmYWxzZSk7XG5cbiAgICAgICYuY29sbGFwc2Uge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV4cGFuZGVkIHJvd1xuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZShleHBhbmQpO1xuXG4gICAgICAucm93IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm5vdCguZXhwYW5kZWQpIC5yb3cge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZShleHBhbmQpO1xuICAgIH1cblxuICAgICYuY29sbGFwc2Uge1xuICAgICAgPiAuY29sdW1uIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVW5kbyBuZWdhdGl2ZSBtYXJnaW5zXG4gICAgLy8gRnJvbSBjb2xsYXBzZWQgY2hpbGRcbiAgICAmLmlzLWNvbGxhcHNlLWNoaWxkLFxuICAgICYuY29sbGFwc2UgPiAuY29sdW1uID4gLnJvdyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAvLyBDb2x1bW5cbiAgLmNvbHVtbiB7XG4gICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbjtcbiAgfVxuXG4gIC8vIENvbHVtbiByb3dcbiAgLy8gVGhlIGRvdWJsZSAucm93IGNsYXNzIGlzIG5lZWRlZCB0byBidW1wIHVwIHRoZSBzcGVjaWZpY2l0eVxuICAuY29sdW1uLnJvdy5yb3cge1xuICAgIGZsb2F0OiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLy8gVG8gcHJvcGVybHkgbmVzdCBhIGNvbHVtbiByb3csIHBhZGRpbmcgYW5kIG1hcmdpbiBpcyByZW1vdmVkXG4gIC5yb3cgLmNvbHVtbi5yb3cucm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbi1jb3VudCB7XG4gICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigkaSk7XG4gICAgICAgIG1heC13aWR0aDogZ3JpZC1jb2x1bW4oJGkpO1xuICAgICAgfVxuXG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgkbyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQmxvY2sgZ3JpZFxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGJsb2NrLWdyaWQtbWF4IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtbGF5b3V0KCRpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJC16Zi1zaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIC8vIFNpemluZyAoZXhwYW5kKVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXNpemUpIHtcbiAgICAgICAgLiN7JC16Zi1zaXplfS1leHBhbmQge1xuICAgICAgICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBBdXRvLXN0YWNraW5nL3Vuc3RhY2tpbmdcbiAgICAgIEBhdC1yb290ICh3aXRob3V0OiBtZWRpYSkge1xuICAgICAgICAucm93LiN7JC16Zi1zaXplfS11bnN0YWNrIHtcbiAgICAgICAgICA+IC5jb2x1bW4ge1xuICAgICAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigxMDAlKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXNpemUpIHtcbiAgICAgICAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgY29sbGFwc2luZ1xuICAgIC4jeyQtemYtc2l6ZX0tY29sbGFwc2Uge1xuICAgICAgPiAuY29sdW1uIHsgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7IH1cbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LXVuY29sbGFwc2Uge1xuICAgICAgPiAuY29sdW1uIHsgQGluY2x1ZGUgZ3JpZC1jb2wtZ3V0dGVyKCQtemYtc2l6ZSk7IH1cbiAgICB9XG4gIH1cblxuICAvLyBTaXppbmcgKHNocmluaylcbiAgLnNocmluayB7XG4gICAgZmxleDogZmxleC1ncmlkLWNvbHVtbihzaHJpbmspO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIEJsb2NrIGdyaWQgY29sdW1uc1xuICAuY29sdW1uLWJsb2NrIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1tYXJnaW47XG4gIH1cblxuICAuY29sdW1ucyB7XG4gICAgQGV4dGVuZCAuY29sdW1uOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHBsYWNlaG9sZGVyLWluLWV4dGVuZFxuXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBDaGFuZ2UgdGhlIGJlaGF2aW9yIG9mIGNvbHVtbnMgZGVmaW5lZCBpbnNpZGUgdGhpcyBtaXhpbiB0byB1c2UgYSBkaWZmZXJlbnQgY29sdW1uIGNvdW50LlxuLy8vIEBjb250ZW50XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgLSBOdW1iZXIgb2YgY29sdW1ucyB0byB1c2UuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkcm9vdCBbZmFsc2VdXG4vLy8gICBJZiBgZmFsc2VgLCBzZWxlY3RvcnMgaW5zaWRlIHRoaXMgbWl4aW4gd2lsbCBuZXN0IGluc2lkZSB0aGUgcGFyZW50IHNlbGVjdG9yLlxuLy8vICAgSWYgYHRydWVgLCBzZWxlY3RvcnMgd2lsbCBub3QgbmVzdC5cbkBtaXhpbiBncmlkLWNvbnRleHQoXG4gICRjb2x1bW5zLFxuICAkcm9vdDogZmFsc2Vcbikge1xuICAvLyBTdG9yZSB0aGUgY3VycmVudCBjb2x1bW4gY291bnQgc28gaXQgY2FuIGJlIHJlLXNldCBsYXRlclxuICAkb2xkLWdyaWQtY29sdW1uLWNvdW50OiAkZ3JpZC1jb2x1bW4tY291bnQ7XG4gICRncmlkLWNvbHVtbi1jb3VudDogJGNvbHVtbnMgIWdsb2JhbDtcblxuICBAaWYgJHJvb3Qge1xuICAgIEBhdC1yb290IHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBSZXN0b3JlIHRoZSBvbGQgY29sdW1uIGNvdW50XG4gICRncmlkLWNvbHVtbi1jb3VudDogJG9sZC1ncmlkLWNvbHVtbi1jb3VudCAhZ2xvYmFsO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgcm93LlxuLy8vIEBjb250ZW50XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgW251bGxdIC0gQ29sdW1uIGNvdW50IGZvciB0aGlzIHJvdy4gYG51bGxgIHdpbGwgdXNlIHRoZSBkZWZhdWx0IGNvbHVtbiBjb3VudC5cbi8vLyBAcGFyYW0ge0tleXdvcmRzfSAkYmVoYXZpb3IgW251bGxdXG4vLy8gICBNb2RpZmljYXRpb25zIHRvIHRoZSBkZWZhdWx0IGdyaWQgc3R5bGVzLiBgbmVzdGAgaW5kaWNhdGVzIHRoZSByb3cgd2lsbCBiZSBwbGFjZWQgaW5zaWRlIGFub3RoZXIgcm93LiBgY29sbGFwc2VgIGluZGljYXRlcyB0aGF0IHRoZSBjb2x1bW5zIGluc2lkZSB0aGlzIHJvdyB3aWxsIG5vdCBoYXZlIHBhZGRpbmcuIGBuZXN0IGNvbGxhcHNlYCBjb21iaW5lcyBib3RoIGJlaGF2aW9ycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbJGdyaWQtcm93LXdpZHRoXSBNYXhpbXVtIHNpemUgb2YgdGhlIHJvdy4gU2V0IHRvIGBleHBhbmRgIHRvIG1ha2UgdGhlIHJvdyB0YWtpbmcgdGhlIGZ1bGwgd2lkdGguXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkY2YgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gaW5jbHVkZSBhIGNsZWFyZml4LlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIG1hcmdpbnMuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1yb3coXG4gICRjb2x1bW5zOiBudWxsLFxuICAkYmVoYXZpb3I6IG51bGwsXG4gICRzaXplOiAkZ3JpZC1yb3ctd2lkdGgsXG4gICRjZjogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICAkbWFyZ2luOiBhdXRvO1xuXG4gIEBpZiBpbmRleCgkYmVoYXZpb3IsIG5lc3QpICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGd1dHRlcnMpO1xuXG4gICAgQGlmIGluZGV4KCRiZWhhdmlvciwgY29sbGFwc2UpICE9IG51bGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKCRzaXplKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICBAaWYgJGNmIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxuXG4gIEBpZiAkY29sdW1ucyAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbnRleHQoJGNvbHVtbnMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gSW52ZXJ0cyB0aGUgbWFyZ2lucyBvZiBhIHJvdyB0byBuZXN0IGl0IGluc2lkZSBvZiBhIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIG1hcmdpbnMuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1yb3ctbmVzdCgkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAkbWFyZ2luOiByZW0tY2FsYygtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJC16Zi1zaXplKSkgKiAwLjUgKiAtMTtcblxuICAgIG1hcmdpbi1yaWdodDogJG1hcmdpbjtcbiAgICBtYXJnaW4tbGVmdDogJG1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0IGEgZ3JpZCByb3cgc2l6ZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgWyRncmlkLXJvdy13aWR0aF0gTWF4aW11bSBzaXplIG9mIHRoZSByb3cuIFNldCB0byBgZXhwYW5kYCB0byBtYWtlIHRoZSByb3cgdGFraW5nIHRoZSBmdWxsIHdpZHRoLlxuQG1peGluIGdyaWQtcm93LXNpemUoJHNpemU6ICRncmlkLXJvdy13aWR0aCkge1xuICBAaWYgJHNpemUgPT0gZXhwYW5kIHtcbiAgICAkc2l6ZTogbm9uZTtcbiAgfVxuXG4gIG1heC13aWR0aDogJHNpemU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gU2V0IHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJGd1dHRlciBbYXV0b11cbi8vLyAgIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLCBhY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBzaW5nbGUgdmFsdWUgd2lsbCBtYWtlIHRoZSBndXR0ZXIgdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIGJyZWFrcG9pbnQgbmFtZSB3aWxsIG1ha2UgdGhlIGd1dHRlciB0aGUgY29ycmVzcG9uZGluZyBzaXplIGluIHRoZSAkZ3V0dGVycyBtYXAuXG4vLy8gICAtIFwiYXV0b1wiIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHJlc3BvbnNpdmUsIHVzaW5nIHRoZSAkZ3V0dGVycyBtYXAgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtY29sdW1uLWd1dHRlcihcbiAgJGd1dHRlcjogYXV0byxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkZ3V0dGVyLCAkZ3V0dGVycykge1xuICAgICRwYWRkaW5nOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAqIDAuNTtcblxuICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gIH1cbn1cblxuLy8vIENvbGxhcHNlIHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uIGJ5IHJlbW92aW5nIHRoZSBwYWRkaW5nLiAqKk5vdGU6Kiogb25seSB1c2UgdGhpcyBtaXhpbiB3aXRoaW4gYSBicmVha3BvaW50LiBUbyBjb2xsYXBzZSBhIGNvbHVtbidzIGd1dHRlcnMgb24gYWxsIHNjcmVlbiBzaXplcywgdXNlIHRoZSBgJGd1dHRlcmAgcGFyYW1ldGVyIG9mIHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4gaW5zdGVhZC5cbkBtaXhpbiBncmlkLWNvbHVtbi1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigwKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWd1dHRlcigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tZ3V0dGVyXG5AbWl4aW4gZ3JpZC1jb2wtZ3V0dGVyKFxuICAkZ3V0dGVyOiBhdXRvLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyLCAkZ3V0dGVycyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1jb2xsYXBzZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tY29sbGFwc2VcbkBtaXhpbiBncmlkLWNvbC1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWNvbGxhcHNlO1xufVxuXG4vLy8gU2V0cyBib3R0b20gbWFyZ2luIG9uIGdyaWQgY29sdW1ucyB0byBtYXRjaCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJG1hcmdpbiBbYXV0b11cbi8vLyAgIFRoZSBib3R0b20gbWFyZ2luIG9uIGdyaWQgY29sdW1ucywgYWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgc2luZ2xlIHZhbHVlIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBicmVha3BvaW50IG5hbWUgd2lsbCBtYWtlIHRoZSBtYXJnaW4gdGhlIGNvcnJlc3BvbmRpbmcgc2l6ZSBpbiB0aGUgJG1hcmdpbnMgbWFwLlxuLy8vICAgLSBcImF1dG9cIiB3aWxsIG1ha2UgdGhlIG1hcmdpbiByZXNwb25zaXZlLCB1c2luZyB0aGUgJG1hcmdpbnMgbWFwIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXJnaW5zIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtY29sdW1uLW1hcmdpbiAoXG4gICRtYXJnaW46IGF1dG8sXG4gICRtYXJnaW5zOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJG1hcmdpbiwgJG1hcmdpbnMpIHtcbiAgICAkbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSk7XG4gICAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1ib3R0b207XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gUmVwb3NpdGlvbiBhIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRwb3NpdGlvbiAtIEl0IGNhbiBiZTpcbi8vLyAgICogQSBudW1iZXI6IFRoZSBjb2x1bW4gd2lsbCBtb3ZlIGVxdWFsIHRvIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uIGNvdW50XG4vLy8gICAgIHNwZWNpZmllZC4gQSBwb3NpdGl2ZSBudW1iZXIgd2lsbCBwdXNoIHRoZSBjb2x1bW4gdG8gdGhlIHJpZ2h0LCB3aGlsZVxuLy8vICAgICBhIG5lZ2F0aXZlIG51bWJlciB3aWxsIHB1bGwgaXQgdG8gdGhlIGxlZnQuXG4vLy8gICAqIGBjZW50ZXJgOiBDb2x1bW4gd2lsbCBiZSBjZW50ZXJlZFxuLy8vICAgKiBgYXV0b2A6IENvbHVtbiB3aWxsIGJlIHB1c2hlZCB0byB0aGUgbGVmdCAob3IgdG8gdGhlIHJpZ2h0IGZvciB0aGUgbGFzdCBjb2x1bW4pLlxuQG1peGluIGdyaWQtY29sdW1uLXBvc2l0aW9uKCRwb3NpdGlvbikge1xuICAvLyBBdXRvIHBvc2l0aW9uaW5nXG4gIEBpZiAkcG9zaXRpb24gPT0gYXV0byB7XG4gICAgJiwgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gICAgICBjbGVhcjogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBMYXN0IGNvbHVtbiBhbGlnbm1lbnRcbiAgICBAaWYgJGdyaWQtY29sdW1uLWFsaWduLWVkZ2Uge1xuICAgICAgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgZmxvYXQ6ICRnbG9iYWwtcmlnaHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHVzaC9wdWxsXG4gIEBlbHNlIGlmIHR5cGUtb2YoJHBvc2l0aW9uKSA9PSAnbnVtYmVyJyB7XG4gICAgJG9mZnNldDogcGVyY2VudGFnZShkaXZpZGUoJHBvc2l0aW9uLCAkZ3JpZC1jb2x1bW4tY291bnQpKTtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRvZmZzZXQ7XG4gIH1cblxuICAvLyBDZW50ZXIgcG9zaXRpb25pbmdcbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGNlbnRlciB7XG4gICAgJiwgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICBAd2FybiAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbi1wb3NpdGlvbigpLiBFbnRlciBhIHBvc2l0aXZlIG9yIG5lZ2F0aXZlIG51bWJlciwgXCJjZW50ZXJcIiBvciBcImF1dG9cIi4nO1xuICB9XG59XG5cbi8vLyBSZXNldCBhIHBvc2l0aW9uIGRlZmluaXRpb24uXG5AbWl4aW4gZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbiB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXBvc2l0aW9uKGF1dG8pO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4vLy8gT2Zmc2V0cyBhIGNvbHVtbiB0byB0aGUgcmlnaHQgYnkgYCRuYCBjb2x1bW5zLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gV2lkdGggdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tb2Zmc2V0KCRuKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IGdyaWQtY29sdW1uKCRuKTtcbn1cblxuLy8vIERpc2FibGUgdGhlIGRlZmF1bHQgYmVoYXZpb3Igb2YgdGhlIGxhc3QgY29sdW1uIGluIGEgcm93IGFsaWduaW5nIHRvIHRoZSBvcHBvc2l0ZSBlZGdlLlxuQG1peGluIGdyaWQtY29sdW1uLWVuZCB7XG4gIC8vIFRoaXMgZXh0cmEgc3BlY2lmaWNpdHkgaXMgcmVxdWlyZWQgZm9yIHRoZSBwcm9wZXJ0eSB0byBiZSBhcHBsaWVkXG4gICY6bGFzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICB9XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tcG9zaXRpb25cbkBtaXhpbiBncmlkLWNvbC1wb3MoJHBvc2l0aW9uKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXBvc2l0aW9uKCRwb3NpdGlvbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi11bnBvc2l0aW9uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi11bnBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtdW5wb3Mge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi11bnBvc2l0aW9uO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tb2Zmc2V0KClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1vZmZzZXRcbkBtaXhpbiBncmlkLWNvbC1vZmYoJG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tb2Zmc2V0KCRuKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWVuZCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tZW5kXG5AbWl4aW4gZ3JpZC1jb2wtZW5kIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZW5kO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvblxuLy8vL1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGJ1dHRvbiBlbGVtZW50cy5cbi8vLyBAdHlwZSBGb250XG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGJ1dHRvbiBlbGVtZW50cy5cbi8vLyBJZ25vcmVkIGlmIG51bGwgKGRlZmF1bHQpXG4vLy8gQHR5cGUgRm9udC1XZWlnaHRcbiRidXR0b24tZm9udC13ZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBhcm91bmQgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZpbGwgZm9yIGJ1dHRvbnMuIENhbiBlaXRoZXIgYmUgYHNvbGlkYCBvciBgaG9sbG93YC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kYnV0dG9uLWZpbGw6IHNvbGlkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGl2ZSBmb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgYnV0dG9ucywgdHJhbnNwYXJlbnQgYnkgZGVmYXVsdFxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgd2lkdGggZm9yIGhvbGxvdyBvdXRsaW5lIGJ1dHRvbnNcbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBvcGFjaXR5IGZvciBhIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGhvbGxvdyBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbDogZmxpcCBmcm9tIG1hcmdpbi1yaWdodCB0byBtYXJnaW4tbGVmdCBmb3IgZGVmYXVsdHNcbkBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbn1cblxuLy8vIHRyYW5zaXRpb25zIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBBZGRpdGlvbmFsIHJlc3BvbnNpdmUgY2xhc3NlcyBmb3IgLmV4cGFuZGVkXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJ1dHRvbi1yZXNwb25zaXZlLWV4cGFuZGVkOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gVE9ETzogRG9jdW1lbnQgYnV0dG9uLWJhc2UoKSBtaXhpblxuQG1peGluIGJ1dHRvbi1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG5cbiAgQGlmICh0eXBlLW9mKCRidXR0b24tcGFkZGluZykgPT0gJ21hcCcpIHtcbiAgICBAZWFjaCAkc2l6ZSwgJHBhZGRpbmcgaW4gJGJ1dHRvbi1wYWRkaW5nIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBwYWRkaW5nOiAkYnV0dG9uLXBhZGRpbmc7XG4gIH1cblxuICBib3JkZXI6ICRidXR0b24tYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgdHJhbnNpdGlvbjogJGJ1dHRvbi10cmFuc2l0aW9uO1xuICBmb250LWZhbWlseTogJGJ1dHRvbi1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuICBmb250LXdlaWdodDogJGJ1dHRvbi1mb250LXdlaWdodDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vLyBFeHBhbmRzIGEgYnV0dG9uIHRvIG1ha2UgaXQgZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgdGhlIGV4cGFuZCBiZWhhdmlvci4gU2V0IHRvIGBmYWxzZWAgdG8gcmV2ZXJzZSB0aGlzIGJlaGF2aW9yLlxuQG1peGluIGJ1dHRvbi1leHBhbmQoJGV4cGFuZDogdHJ1ZSkge1xuICBAaWYgJGV4cGFuZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgYmFzZSBzdHlsZXMgb2YgYSBob2xsb3cgb3IgY2xlYXIgYnV0dG9uIGZpbGxpbmcgYWNjb3JkaW5nIHRvIGAkZmlsbGAuXG4vLy8gU2VlIG1peGluIGBidXR0b24tZmlsbC1zdHlsZWAgZm9yIHRoZSBmaWxsaW5nIHN0eWxlcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmaWxsIFskYnV0dG9uLWZpbGxdIC0gVHlwZSBvZiBmaWxsaW5nIGJldHdlZW4gYGhvbGxvd2AgYW5kIGBjbGVhcmAuIGBzb2xpZGAgaGFzIG5vIGVmZmVjdHMuXG5AbWl4aW4gYnV0dG9uLWZpbGwoXG4gICRmaWxsOiAkYnV0dG9uLWZpbGxcbikge1xuICBAaWYgJGZpbGwgPT0gaG9sbG93IHtcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICB9XG4gIEBlbHNlIGlmICRmaWxsID09IGNsZWFyIHtcbiAgICBAaW5jbHVkZSBidXR0b24tY2xlYXI7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZXMgb2YgYSBzb2xpZC9ob2xsb3cvY2xlYXIgYnV0dG9uIGZpbGxpbmcgYWNjb3JkaW5nIHRvIGAkZmlsbGAuXG4vLy8gU2VlIG1peGlucyBgYnV0dG9uLXN0eWxlYCwgYGJ1dHRvbi1ob2xsb3ctc3R5bGVgIGFuZCBgYnV0dG9uLWNsZWFyLXN0eWxlYCBmb3IgZWZmZWN0cyBvZiB2aXN1YWwgc3R5bGluZyBwYXJhbWV0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZpbGwgWyRidXR0b24tZmlsbF0gLSBUeXBlIG9mIGZpbGxpbmcgYmV0d2VlbiBgaG9sbG93YCBhbmQgYGNsZWFyYC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIC1cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIC1cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gLVxuQG1peGluIGJ1dHRvbi1maWxsLXN0eWxlKFxuICAkZmlsbDogJGJ1dHRvbi1maWxsLFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3Jcbikge1xuICBAaWYgJGZpbGwgPT0gc29saWQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtaG92ZXIsICRjb2xvcik7XG4gIH1cbiAgQGVsc2UgaWYgJGZpbGwgPT0gaG9sbG93IHtcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxuICBAZWxzZSBpZiAkZmlsbCA9PSBjbGVhciB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWNsZWFyLXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tc3R5bGUoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgQGlmICRiYWNrZ3JvdW5kLWhvdmVyID09IGF1dG8ge1xuICAgICRiYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzKTtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYW5kIGRpc2FibGVkIHN0YXRlc1xuICAmLFxuICAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSxcbiAgJi5kaXNhYmxlZDpob3ZlciwgJltkaXNhYmxlZF06aG92ZXIsXG4gICYuZGlzYWJsZWQ6Zm9jdXMsICZbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgYmFzZSBzdHlsZXMgb2YgYSBob2xsb3cgYnV0dG9uLlxuLy8vIFNlZSBtaXhpbiBgYnV0dG9uLWhvbGxvdy1zdHlsZWAgZm9yIHRoZSBmaWxsaW5nIHN0eWxlcy5cbkBtaXhpbiBidXR0b24taG9sbG93IHtcbiAgJiwgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBob2xsb3cgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIFRleHQgYW5kIGJvcmRlciBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRob3Zlci1saWdodG5lc3MgWyRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzc10gLSBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJvcmRlci13aWR0aCBbJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoXSAtIEJvcmRlciB3aWR0aCBvZiB0aGUgYnV0dG9uLlxuQG1peGluIGJ1dHRvbi1ob2xsb3ctc3R5bGUoXG4gICRjb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3MsXG4gICRib3JkZXItd2lkdGg6ICRidXR0b24taG9sbG93LWJvcmRlci13aWR0aFxuKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkaG92ZXItbGlnaHRuZXNzKTtcblxuICAvLyBEZWZhdWx0IGFuZCBkaXNhYmxlZCBzdGF0ZXNcbiAgJixcbiAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0sXG4gICYuZGlzYWJsZWQ6aG92ZXIsICZbZGlzYWJsZWRdOmhvdmVyLFxuICAmLmRpc2FibGVkOmZvY3VzLCAmW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRjb2xvcjtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgYmFzZSBzdHlsZXMgb2YgYSBjbGVhciBidXR0b24uXG4vLy8gU2VlIG1peGluIGBidXR0b24tY2xlYXItc3R5bGVgIGZvciB0aGUgZmlsbGluZyBzdHlsZXMuXG5AbWl4aW4gYnV0dG9uLWNsZWFyIHtcbiAgJiwgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgY2xlYXIgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkaG92ZXItbGlnaHRuZXNzIFskYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3NdIC0gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyLlxuQG1peGluIGJ1dHRvbi1jbGVhci1zdHlsZShcbiAgJGNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRob3Zlci1saWdodG5lc3M6ICRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzc1xuKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkaG92ZXItbGlnaHRuZXNzKTtcblxuICAvLyBEZWZhdWx0IGFuZCBkaXNhYmxlZCBzdGF0ZXNcbiAgJixcbiAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0sXG4gICYuZGlzYWJsZWQ6aG92ZXIsICZbZGlzYWJsZWRdOmhvdmVyLFxuICAmLmRpc2FibGVkOmZvY3VzLCAmW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgZGlzYWJsZWQgc3R5bGVzIHRvIGEgYnV0dG9uIGJ5IGZhZGluZyB0aGUgZWxlbWVudCBhbmQgcmVzZXRpbmcgdGhlIGN1cnNvci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9wYWNpdHkgWyRidXR0b24tb3BhY2l0eS1kaXNhYmxlZF0gLSBPcGFjaXR5IG9mIHRoZSBkaXNhYmxlZCBidXR0b24uXG5AbWl4aW4gYnV0dG9uLWRpc2FibGVkKFxuICAkb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkXG4pIHtcbiAgb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4vLy8gQWRkcyBhIGRyb3Bkb3duIGFycm93IHRvIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSBbMC40ZW1dIC0gU2l6ZSBvZiB0aGUgYXJyb3cuIFdlIHJlY29tbWVuZCB1c2luZyBhbiBgZW1gIHZhbHVlIHNvIHRoZSB0cmlhbmdsZSBzY2FsZXMgd2hlbiB1c2VkIGluc2lkZSBkaWZmZXJlbnQgc2l6ZXMgb2YgYnV0dG9ucy5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgW3doaXRlXSAtIENvbG9yIG9mIHRoZSBhcnJvdy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9mZnNldCBbJGJ1dHRvbi1wYWRkaW5nXSAtIERpc3RhbmNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uLiBEZWZhdWx0cyB0byB3aGF0ZXZlciB0aGUgcmlnaHQgcGFkZGluZyBvZiBhIGJ1dHRvbiBpcy5cbkBtaXhpbiBidXR0b24tZHJvcGRvd24oXG4gICRzaXplOiAwLjRlbSxcbiAgJGNvbG9yOiAkd2hpdGUsXG4gICRvZmZzZXQ6IGdldC1zaWRlKCRidXR0b24tcGFkZGluZywgcmlnaHQpXG4pIHtcbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCBkb3duKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTsgLy8gQWxpZ25zIHRoZSBhcnJvdyB3aXRoIHRoZSB0ZXh0IG9mIHRoZSBidXR0b25cblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogI3skZ2xvYmFsLXJpZ2h0fTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG59XG5cbi8vLyBBZGRzIGFsbCBzdHlsZXMgZm9yIGEgYnV0dG9uLiBGb3IgbW9yZSBncmFudWxhciBjb250cm9sIG92ZXIgc3R5bGVzLCB1c2UgdGhlIGluZGl2aWR1YWwgYnV0dG9uIG1peGlucy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gbWFrZSB0aGUgYnV0dG9uIGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0eWxlIFtzb2xpZF0gLSBTZXQgdG8gYGhvbGxvd2AgdG8gY3JlYXRlIGEgaG9sbG93IGJ1dHRvbi4gVGhlIGNvbG9yIGRlZmluZWQgaW4gYCRiYWNrZ3JvdW5kYCB3aWxsIGJlIHVzZWQgYXMgdGhlIHByaW1hcnkgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbkBtaXhpbiBidXR0b24oXG4gICRleHBhbmQ6IGZhbHNlLFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRzdHlsZTogJGJ1dHRvbi1maWxsXG4pIHtcbiAgQGluY2x1ZGUgYnV0dG9uLWJhc2U7XG4gIEBpbmNsdWRlIGJ1dHRvbi1maWxsKCRzdHlsZSk7XG4gIEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRzdHlsZSwgJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuXG4gIEBpZiAkZXhwYW5kIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbiB7XG4gIC5idXR0b24ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbigkc3R5bGU6IG5vbmUpO1xuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuZXhwYW5kZWQgeyBAaW5jbHVkZSBidXR0b24tZXhwYW5kOyB9XG5cbiAgICBAaWYgJGJ1dHRvbi1yZXNwb25zaXZlLWV4cGFuZGVkIHtcbiAgICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9IG9ubHkpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LW9ubHktZXhwYW5kZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9IGRvd24pIHtcbiAgICAgICAgICAgICYuI3skc2l6ZX0tZG93bi1leHBhbmRlZCB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRzaXplfSkge1xuICAgICAgICAgICAgJi4jeyRzaXplfS1leHBhbmRlZCB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU29saWQsIGhvbGxvdyAmIGNsZWFyIHN0eWxlc1xuICAgIEBlYWNoICRmaWxsaW5nIGluIChzb2xpZCBob2xsb3cgY2xlYXIpIHtcbiAgICAgICRzZWxlY3RvcjogaWYoJGJ1dHRvbi1maWxsID09ICRmaWxsaW5nLCBudWxsLCAnLiN7JGZpbGxpbmd9Jyk7XG5cbiAgICAgICYjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbCgkZmlsbGluZyk7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRmaWxsaW5nKTtcblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbC1zdHlsZSgkZmlsbGluZywgJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAgICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAvLyBEcm9wZG93biBhcnJvd1xuICAgICYuZHJvcGRvd24ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRyb3Bkb3duO1xuXG4gICAgICBAaWYgJGJ1dHRvbi1maWxsID09IGhvbGxvdyB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5ob2xsb3csICYuY2xlYXIge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQnV0dG9uIHdpdGggZHJvcGRvd24gYXJyb3cgb25seVxuICAgICYuYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgICAgdG9wOiAtMC4xZW07XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgfVxuICB9XG5cbiAgYS5idXR0b24geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvbi1ncm91cFxuLy8vL1xuXG4vLy8gTWFyZ2luIGZvciBidXR0b24gZ3JvdXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSBudW1iZXIgb2YgYnV0dG9ucyB0aGF0IGNhbiBiZSBpbiBhbiBldmVuLXdpZHRoIGJ1dHRvbiBncm91cC4gKE9ubHkgbmVlZGVkIHdoZW4gJGdsb2JhbC1mbGV4Ym94OiBmYWxzZTspXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNiAhZGVmYXVsdDtcblxuLy8vIERldGVybWluZXMgaWYgJGJ1dHRvbi1yYWRpdXMgaXMgYXBwbGllZCB0byBlYWNoIGJ1dHRvbiBvciB0aGUgYnV0dG9uIGdyb3VwIGFzIGEgd2hvbGUuIFVzZSAkZ2xvYmFsLXJhZGl1cyBpbiBfc2V0dGluZ3Muc2NzcyB0byBjaGFuZ2UgcmFkaXVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEFkZCBzdHlsZXMgZm9yIGEgYnV0dG9uIGdyb3VwIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGNoaWxkLXNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNwYWNpbmcgWyRidXR0b25ncm91cC1zcGFjaW5nXSAtIFNwYWNpbmcgYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cChcbiAgJGNoaWxkLXNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRzcGFjaW5nOiAkYnV0dG9uZ3JvdXAtc3BhY2luZ1xuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tYm90dG9tOiAkYnV0dG9uZ3JvdXAtbWFyZ2luO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGZsZXgtZ3JvdzogMTtcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyAvLyBEaXNhYmxlIGNsZWFyZml4XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBmb250LXNpemU6IDA7XG4gIH1cblxuICAjeyRjaGlsZC1zZWxlY3Rvcn0ge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgfVxuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIE1ha2UgYnV0dG9ucyBib25kZWQgd2l0aG91dCBnYXAgYmV0d2VlbiB0aGVtLiBCb3JkZXJzIGJldHdlZW4gYnV0dG9ucyBhcmUgbWVyZ2VkXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLW5vLWdhcHMoXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yLFxuICAkYm9yZGVyLXdpZHRoOiAkYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGhcbikge1xuICAjeyRzZWxlY3Rvcn0ge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiByZW0tY2FsYygtJGJvcmRlci13aWR0aCk7XG5cbiAgICArICN7JHNlbGVjdG9yfSB7XG4gICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXdpZHRoIGJ1dHRvbiBncm91cCwgbWFraW5nIGVhY2ggYnV0dG9uIGVxdWFsIHdpZHRoLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2luZyBbJGJ1dHRvbmdyb3VwLXNwYWNpbmddIC0gU3BhY2luZyBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLWV4cGFuZChcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRzcGFjaW5nOiAkYnV0dG9uZ3JvdXAtc3BhY2luZyxcbiAgJGNvdW50OiBudWxsXG4pIHtcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAtJHNwYWNpbmc7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgLy8gRGlzYWJsZSBjbGVhcmZpeFxuICAgIH1cbiAgfVxuXG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBPbmUgY2hpbGRcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRzcGFjaW5nfSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gVHdvIG9yIG1vcmUgY2hpbGRyZWVuXG4gICAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRidXR0b25ncm91cC1leHBhbmQtbWF4IHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRpfSkge1xuICAgICAgICAgICYsICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIH4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCN7cGVyY2VudGFnZShkaXZpZGUoMSwgJGkpKX0gLSAjeyRzcGFjaW5nfSk7XG4gICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZyAqIC0kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBVbi1zdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtdW5zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAwO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cCB7XG4gIC5idXR0b24tZ3JvdXAge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cDtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aCBHcm91cFxuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLWV4cGFuZDtcbiAgICB9XG5cbiAgICAvLyBTb2xpZCwgaG9sbG93ICYgY2xlYXIgc3R5bGVzXG4gICAgQGVhY2ggJGZpbGxpbmcgaW4gKHNvbGlkIGhvbGxvdyBjbGVhcikge1xuICAgICAgJGJhc2Utc2VsZWN0b3I6IGlmKCRidXR0b24tZmlsbCA9PSAkZmlsbGluZywgbnVsbCwgJy4jeyRmaWxsaW5nfScpO1xuXG4gICAgICAmI3skYmFzZS1zZWxlY3Rvcn0ge1xuICAgICAgICAvLyBEbyBub3QgZ2VuZXJhdGUgYnV0dG9uIGJhc2Ugc3R5bGVzIGZvciB0aGUgZGVmYXVsdCBmaWxsaW5nXG4gICAgICAgIEBpZigkYnV0dG9uLWZpbGwgIT0gJGZpbGxpbmcpIHtcbiAgICAgICAgICAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWZpbGwoJGZpbGxpbmcpO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWZpbGwtc3R5bGUoJGZpbGxpbmcpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICBAaWYoJGJ1dHRvbi1maWxsICE9ICRmaWxsaW5nKSB7XG4gICAgICAgICAgICAkaW5kaXZpZHVhbC1zZWxlY3RvcjogJyAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0uI3skbmFtZX0nO1xuICAgICAgICAgICAgJi4jeyRuYW1lfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0sICYjeyRpbmRpdmlkdWFsLXNlbGVjdG9yfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRmaWxsaW5nLCAkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICAmLiN7JG5hbWV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRmaWxsaW5nLCAkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuXG4gICAgJi5uby1nYXBzIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1uby1nYXBzO1xuICAgIH1cblxuICAgICYuc3RhY2tlZCxcbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLFxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdGFjaztcblxuICAgICAgJi5leHBhbmRlZCB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1leHBhbmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtdW5zdGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bS5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjbG9zZS1idXR0b25cbi8vLy9cblxuLy8vIERlZmF1bHQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi4gVGhlIGZpcnN0IHZhbHVlIHNob3VsZCBiZSBgcmlnaHRgIG9yIGBsZWZ0YCwgYW5kIHRoZSBzZWNvbmQgdmFsdWUgc2hvdWxkIGJlIGB0b3BgIG9yIGBib3R0b21gLlxuLy8vIEB0eXBlIExpc3RcbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB6LWluZGV4IGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjbG9zZWJ1dHRvbi16LWluZGV4OiAxMCAhZGVmYXVsdDtcblxuLy8vIEJ1dHRvbiBzaXplIHRvIHVzZSBhcyBkZWZhdWx0XG4vLy8gQHR5cGUgU3RyaW5nXG4vLy8gQHNlZSAkY2xvc2VidXR0b24tc2l6ZVxuLy8vIEBzZWUgJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsXG4vLy8gQHNlZSAkY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsXG4kY2xvc2VidXR0b24tZGVmYXVsdC1zaXplOiBtZWRpdW0gIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCAob3IgbGVmdCkgb2Zmc2V0KHMpIGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUb3AgKG9yIGJvdHRvbSkgb2Zmc2V0KHMpIGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFNpemUocykgb2YgdGhlIGNsb3NlIGJ1dHRvbi4gVXNlZCB0byBnZW5lcmF0ZSBzaXppbmcgbW9kaWZpZXJzLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXG4gIHNtYWxsOiAxLjVlbSxcbiAgbWVkaXVtOiAyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxpbmUtaGVpZ2h0IG9mIHRoZSBjbG9zZSBidXR0b24uIEl0IGFmZmVjdHMgdGhlIHNwYWNpbmcgb2YgdGhlIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBDb2xvclxuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uIHdoZW4gYmVpbmcgaG92ZXJlZCBvbi5cbi8vLyBAdHlwZSBDb2xvclxuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2sgIWRlZmF1bHQ7XG5cblxuLy8vIEdldCB0aGUgc2l6ZSBhbmQgcG9zaXRpb24gZm9yIGEgY2xvc2UgYnV0dG9uLiBJZiB0aGUgaW5wdXQgdmFsdWUgaXMgYSBudW1iZXIsIHRoZSBudW1iZXIgaXMgcmV0dXJuZWQuIElmIHRoZSBpbnB1dCB2YWx1ZSBpcyBhIGNvbmZpZyBtYXAgYW5kIHRoZSBtYXAgaGFzIHRoZSBrZXkgYCRzaXplYCwgdGhlIHZhbHVlIGlzIHJldHVybmVkLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkdmFsdWUgLSBBIG51bWJlciBvciBtYXAgdGhhdCByZXByZXNlbnRzIHRoZSBzaXplIG9yIHBvc2l0aW9uIHZhbHVlKHMpIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIFRoZSBzaXplIG9mIHRoZSBjbG9zZSBidXR0b24gdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSBUaGUgZ2l2ZW4gbnVtYmVyIG9yIHRoZSB2YWx1ZSBmb3VuZCBpbiB0aGUgbWFwLlxuQGZ1bmN0aW9uIC16Zi1nZXQtc2l6ZS12YWwoJHZhbHVlLCAkc2l6ZSkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgLy8gSWYgaXQgaXMsIGp1c3QgcmV0dXJuIHRoZSBudW1iZXJcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIENoZWNrIGlmIHRoZSBzaXplIG5hbWUgZXhpc3RzIGluIHRoZSB2YWx1ZSBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJHZhbHVlLCAkc2l6ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJHZhbHVlLCAkc2l6ZSk7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHNpemUgYW5kIHBvc2l0aW9uIG9mIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgW21lZGl1bV0gLSBUaGUgc2l6ZSB0byB1c2UuIFNldCB0byBgc21hbGxgIHRvIGNyZWF0ZSBhIHNtYWxsIGNsb3NlIGJ1dHRvbi4gVGhlICdtZWRpdW0nIHZhbHVlcyBkZWZpbmVkIGluIGAkY2xvc2VidXR0b24tKmAgdmFyaWFibGVzIHdpbGwgYmUgdXNlZCBhcyB0aGUgZGVmYXVsdCBzaXplIGFuZCBwb3NpdGlvbiBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuQG1peGluIGNsb3NlLWJ1dHRvbi1zaXplKCRzaXplKSB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gICN7JHh9OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbCwgJHNpemUpO1xuICAjeyR5fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsLCAkc2l6ZSk7XG4gIGZvbnQtc2l6ZTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tc2l6ZSwgJHNpemUpO1xuICBsaW5lLWhlaWdodDogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tbGluZWhlaWdodCwgJHNpemUpO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2xvc2UgYnV0dG9uLCB1c2luZyB0aGUgc3R5bGVzIGluIHRoZSBzZXR0aW5ncyB2YXJpYWJsZXMuXG5AbWl4aW4gY2xvc2UtYnV0dG9uIHtcbiAgJHg6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDEpO1xuICAkeTogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMik7XG5cbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6ICRjbG9zZWJ1dHRvbi16LWluZGV4O1xuICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jbG9zZS1idXR0b24ge1xuICAuY2xvc2UtYnV0dG9uIHtcbiAgICAvLyBVc2UgYnkgZGVmYXVsdCB0aGUgcGxhY2Vob2xkZXIgb2YgdGhlIGRlZmF1bHQgc2l6ZVxuICAgIEBleHRlbmQgJXpmLWNsb3NlLWJ1dHRvbi0tI3skY2xvc2VidXR0b24tZGVmYXVsdC1zaXplfTtcblxuICAgIEBpbmNsdWRlIGNsb3NlLWJ1dHRvbjtcblxuICAgIC8vIEdlbmVyYXRlIGEgcGxhY2Vob2xkZXIgYW5kIGEgY2xhc3MgZm9yIGVhY2ggc2l6ZVxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkY2xvc2VidXR0b24tc2l6ZSB7XG4gICAgICBAYXQtcm9vdCB7XG4gICAgICAgICV6Zi1jbG9zZS1idXR0b24tLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBjbG9zZS1idXR0b24tc2l6ZSgkbmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIEBleHRlbmQgJXpmLWNsb3NlLWJ1dHRvbi0tI3skbmFtZX07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbGFiZWxcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGUgdGV4dCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgb2YgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYmFzZSBzdHlsZXMgZm9yIGEgbGFiZWwuXG5AbWl4aW4gbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6ICRsYWJlbC1wYWRkaW5nO1xuXG4gIGJvcmRlci1yYWRpdXM6ICRsYWJlbC1yYWRpdXM7XG5cbiAgZm9udC1zaXplOiAkbGFiZWwtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1sYWJlbCB7XG4gIC5sYWJlbCB7XG4gICAgQGluY2x1ZGUgbGFiZWw7XG5cbiAgICBiYWNrZ3JvdW5kOiAkbGFiZWwtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGxhYmVsLWNvbG9yO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkbGFiZWwtcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkY29sb3IsICgkbGFiZWwtY29sb3IsICRsYWJlbC1jb2xvci1hbHQpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVhZGNydW1ic1xuLy8vL1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBhY3RpdmUgYnJlYWRjcnVtYiBsaW5rLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBPcGFjaXR5IG9mIGRpc2FibGVkIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGJldHdlZW4gYnJlYWRjcnVtYiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgbWFrZXMgYnJlYWRjcnVtYiBsaW5rcyB1cHBlcmNhc2UuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIGEgc2VwZXJhdG9yIGJldHdlZW4gYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIElmIGl0IGV4aXN0cyAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaCBpcyB1c2VkIHRvIGJ1aWxkICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhicmVhZGNydW1icy1pdGVtLXNsYXNoKSB7XG4gICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2g7XG59XG5cbi8vLyBVc2VkIGNoYXJhY3RlciBmb3IgdGhlIGJyZWFkY3J1bWIgc2VwYXJhdG9yLlxuLy8vIEB0eXBlIENvbnRlbnRcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtOiAnLycgIWRlZmF1bHQ7XG5cbi8vLyBVc2VkIGNoYXJhY3RlciBmb3IgdGhlIGJyZWFkY3J1bWIgc2VwYXJhdG9yIGluIHJ0bCBtb2RlLlxuLy8vIEB0eXBlIENvbnRlbnRcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bDogJ1xcXFwnICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYnJlYWRjcnVtYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8gSWYgaXQgZXhpc3RzICRicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yIGlzIHVzZWQgdG8gYnVpbGQgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3IpIHtcbiAgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvcjtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lciwgYWxvbmcgd2l0aCB0aGUgc3R5bGVzIGZvciB0aGUgYDxsaT5gIGFuZCBgPGE+YCBlbGVtZW50cyBpbnNpZGUgb2YgaXQuXG5AbWl4aW4gYnJlYWRjcnVtYnMtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJGJyZWFkY3J1bWJzLW1hcmdpbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAvLyBJdGVtIHdyYXBwZXJcbiAgbGkge1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG5cbiAgICBmb250LXNpemU6ICRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvciB7XG4gICAgICAvLyBOZWVkIHRvIGVzY2FwZSB0aGUgYmFja3NsYXNoXG4gICAgICAkc2VwYXJhdG9yOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdsdHInLCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbSwgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsKTtcblxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBtYXJnaW46IDAgJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luO1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgY29udGVudDogJHNlcGFyYXRvcjtcbiAgICAgICAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhIHtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1icmVhZGNydW1icyB7XG4gIC5icmVhZGNydW1icyB7XG4gICAgQGluY2x1ZGUgYnJlYWRjcnVtYnMtY29udGFpbmVyO1xuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2FsbG91dFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZhZGUgdmFsdWUgZm9yIGNhbGxvdXQgYmFja2dyb3VuZHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHN0eWxlIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIENhbGxvdXQgcGFkZGluZ3MuXG4vLy8gQHR5cGUgTWFwXG4kY2FsbG91dC1zaXplczogKFxuICBzbWFsbDogMC41cmVtLFxuICBkZWZhdWx0OiAxcmVtLFxuICBsYXJnZTogM3JlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cywgaWYgdGhlIGNhbGxvdXQgaGFzIGEgZGFyayBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHJhZGl1cyBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBBbW91bnQgdG8gdGludCBsaW5rcyB1c2VkIHdpdGhpbiBjb2xvcmVkIHBhbmVscy4gU2V0IHRvIGBmYWxzZWAgdG8gZGlzYWJsZSB0aGlzIGZlYXR1cmUuXG4vLy8gQHR5cGUgTnVtYmVyIHwgQm9vbGVhblxuJGNhbGxvdXQtbGluay10aW50OiAzMCUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYSBjYWxsb3V0LCBpbmNsdWRpbmcgcGFkZGluZyBhbmQgbWFyZ2luLlxuQG1peGluIGNhbGxvdXQtYmFzZSgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46ICRjYWxsb3V0LW1hcmdpbjtcbiAgcGFkZGluZzogbWFwLWdldCgkY2FsbG91dC1zaXplcywgZGVmYXVsdCk7XG5cbiAgYm9yZGVyOiAkY2FsbG91dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRjYWxsb3V0LXJhZGl1cztcblxuICAvLyBSZXNwZWN0IHRoZSBwYWRkaW5nLCBmb29sLlxuICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHF1aWNrIHN0eWxlcyBmb3IgYSBjYWxsb3V0IHVzaW5nIGEgc2luZ2xlIGNvbG9yIGFzIGEgYmFzZWxpbmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0LXN0eWxlKCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICAkYmFja2dyb3VuZDogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGUpO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRjYWxsb3V0LWZvbnQtY29sb3IsICRjYWxsb3V0LWZvbnQtY29sb3ItYWx0KSk7XG59XG5cbkBtaXhpbiBjYWxsb3V0LXNpemUoJHBhZGRpbmcpIHtcbiAgcGFkZGluZy10b3A6ICRwYWRkaW5nO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xuICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xufVxuXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYWxsb3V0LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dCgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgQGluY2x1ZGUgY2FsbG91dC1iYXNlO1xuICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNhbGxvdXQge1xuICAuY2FsbG91dCB7XG4gICAgQGluY2x1ZGUgY2FsbG91dDtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBlYWNoICRzaXplLCAkcGFkZGluZyBpbiBtYXAtcmVtb3ZlKCRjYWxsb3V0LXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKCRwYWRkaW5nKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93blxuLy8vL1xuXG4vLy8gUGFkZGluZyBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24td2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGRyb3Bkb3duIHBhbmVzLiBFYWNoIHNpemUgaXMgYSBDU1MgY2xhc3MgeW91IGNhbiBhcHBseS5cbi8vLyBAdHlwZSBNYXBcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQXBwbGllcyBzdHlsZXMgZm9yIGEgYmFzaWMgZHJvcGRvd24uXG5AbWl4aW4gZHJvcGRvd24tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcblxuICBkaXNwbGF5OiBub25lO1xuXG4gIHdpZHRoOiAkZHJvcGRvd24td2lkdGg7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nO1xuXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYm9yZGVyOiAkZHJvcGRvd24tYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkZHJvcGRvd24tcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tYmFja2dyb3VuZDtcblxuICBmb250LXNpemU6ICRkcm9wZG93bi1mb250LXNpemU7XG5cblxuICAvLyBBbGxvdyBhbiBpbnRlcm1pdHRlbnQgc3RhdGUgdG8gZG8gcG9zaXRpb25pbmcgYmVmb3JlIG1ha2luZyB2aXNpYmxlLlxuICAmLmlzLW9wZW5pbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJi5pcy1vcGVuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duIHtcbiAgLmRyb3Bkb3duLXBhbmUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcjtcbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkZHJvcGRvd24tc2l6ZXMge1xuICAgIC5kcm9wZG93bi1wYW5lIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcGFnaW5hdGlvblxuLy8vL1xuXG4vLy8gRm9udCBzaXplIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBvZiB0aGUgcGFnaW5hdGlvbiBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCBtYXJnaW4gdG8gc2VwYXJhdGUgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBlbGxpcHNpcyBpbiBhIHBhZ2luYXRpb24gbWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIElmIGBmYWxzZWAsIGRvbid0IGRpc3BsYXkgcGFnZSBudW1iZXIgbGlua3Mgb24gbW9iaWxlLCBvbmx5IG5leHQvcHJldmlvdXMgbGlua3Ncbi8vLyBhbmQgb3B0aW9uYWxseSBjdXJyZW50IHBhZ2UgbnVtYmVyLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGRpc3BsYXkgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgb24gbW9iaWxlIGV2ZW4gaWYgYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtc2AgaXMgc2V0IHRvIGBmYWxzZWAuXG4vLy8gVGhpcyBwYXJhbWV0ZXIgd2lsbCBvbmx5IG92ZXJyaWRlIHRoZSB2aXNpYmlsaXR5IHNldHRpbmcgb2YgdGhlIGN1cnJlbnQgaXRlbSBmb3IgYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7YCxcbi8vLyBpdCB3aWxsIG5vdCBhZmZlY3QgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgdmlzaWJpbGl0eSB3aGVuIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXNgIGlzIHNldCB0byBgdHJ1ZWAuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFycm93cyBhcmUgYWRkZWQgdG8gdGhlIG5leHQgYW5kIHByZXZpb3VzIGxpbmtzIG9mIHBhZ2luYXRpb24uXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQ29udGVudCBmb3IgdGhlIHByZXZpb3VzIGFycm93IHdoZW4gYCRwYWdpbmF0aW9uLWFycm93c2AgaXMgYHRydWVgXG4vLy8gQHR5cGUgU3RyaW5nXG4kcGFnaW5hdGlvbi1hcnJvdy1wcmV2aW91czogJ1xcMDBBQicgIWRlZmF1bHQ7XG5cbi8vLyBDb250ZW50IGZvciB0aGUgbmV4dCBhcnJvdyB3aGVuIGAkcGFnaW5hdGlvbi1hcnJvd3NgIGlzIGB0cnVlYFxuLy8vIEB0eXBlIFN0cmluZ1xuJHBhZ2luYXRpb24tYXJyb3ctbmV4dDogJ1xcMDBCQicgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBwYWdpbmF0aW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWNvbnRhaW5lciAoXG4gICRtYXJnaW4tYm90dG9tOiAkcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tLFxuICAkZm9udC1zaXplOiAkcGFnaW5hdGlvbi1mb250LXNpemUsXG4gICRzcGFjaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmcsXG4gICRyYWRpdXM6ICRwYWdpbmF0aW9uLXJhZGl1cyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIG1hcmdpbi1ib3R0b206ICRtYXJnaW4tYm90dG9tO1xuXG4gIC8vIExpc3QgaXRlbVxuICBsaSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuXG4gICAgQGlmICRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICY6bGFzdC1jaGlsZCxcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtIHtcbiAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgbGlua3NcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBjdXJyZW50IHBhZ2luYXRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byBhbiBgPGE+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0tY3VycmVudCAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRiYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50LFxuICAkY29sb3ItY3VycmVudDogJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50XG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWN1cnJlbnQ7XG4gIGNvbG9yOiAkY29sb3ItY3VycmVudDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZFxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBjb2xvcjogJGNvbG9yO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gZWxsaXBzaXMgZm9yIHVzZSBpbiBhIHBhZ2luYXRpb24gbGlzdC5cbkBtaXhpbiBwYWdpbmF0aW9uLWVsbGlwc2lzIChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvclxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBjb250ZW50OiAnXFwyMDI2JztcbiAgY29sb3I6ICRjb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcGFnaW5hdGlvbiB7XG4gIC5wYWdpbmF0aW9uIHtcbiAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWNvbnRhaW5lcjtcblxuICAgIC5jdXJyZW50IHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1jdXJyZW50O1xuICAgIH1cblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLmVsbGlwc2lzOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWVsbGlwc2lzO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFnaW5hdGlvbi1hcnJvd3Mge1xuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzIGE6OmJlZm9yZSxcbiAgICAucGFnaW5hdGlvbi1wcmV2aW91cy5kaXNhYmxlZDo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjVyZW07XG4gICAgICBjb250ZW50OiAkcGFnaW5hdGlvbi1hcnJvdy1wcmV2aW91cztcbiAgICB9XG5cbiAgICAucGFnaW5hdGlvbi1uZXh0IGE6OmFmdGVyLFxuICAgIC5wYWdpbmF0aW9uLW5leHQuZGlzYWJsZWQ6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICRwYWdpbmF0aW9uLWFycm93LW5leHQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdG9vbHRpcFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjdXJzb3Igb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGFzLXRpcC1jdXJzb3I6IGhlbHAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBib3R0b20gb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBMaXN0XG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgZm9udC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWF4IHdpZHRoIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLW1heC13aWR0aDogMTByZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBvZiB0aGUgdG9vbHRpcCB0ZXh0LiBCeSBkZWZhdWx0LCB3ZSByZWNvbW1lbmQgYSBzbWFsbGVyIGZvbnQgc2l6ZSB0aGFuIHRoZSBib2R5IGNvcHkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCB3aWR0aCBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCBoZWlnaHQgZm9yIHRvb2x0aXBzLiBUaGlzIGlzIGhlbHBmdWwgZm9yIGNhbGN1bGF0aW5nIHRoZSBkaXN0YW5jZSBvZiB0aGUgdG9vbHRpcCBmcm9tIHRoZSB0b29sdGlwIHdvcmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBoYXMtdGlwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgYm9yZGVyLWJvdHRvbTogJGhhcy10aXAtYm9yZGVyLWJvdHRvbTtcbiAgZm9udC13ZWlnaHQ6ICRoYXMtdGlwLWZvbnQtd2VpZ2h0O1xuICBjdXJzb3I6ICRoYXMtdGlwLWN1cnNvcjtcbn1cblxuQG1peGluIHRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxMDAlICsgI3skdG9vbHRpcC1waXAtaGVpZ2h0fSk7XG4gIHotaW5kZXg6IDEyMDA7XG5cbiAgbWF4LXdpZHRoOiAkdG9vbHRpcC1tYXgtd2lkdGg7XG4gIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yO1xuICBmb250LXNpemU6ICR0b29sdGlwLWZvbnQtc2l6ZTtcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgJi5ib3R0b20ge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCB1cCk7XG4gICAgICBib3R0b206IDEwMCU7XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi50b3Age1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCBkb3duKTtcbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLmxlZnQge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCByaWdodCk7XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5yaWdodCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGxlZnQpO1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5hbGlnbi10b3A6OmJlZm9yZSB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogMTAlO1xuICB9XG5cbiAgJi5hbGlnbi1ib3R0b206OmJlZm9yZSB7XG4gICAgYm90dG9tOiAxMCU7XG4gICAgdG9wOiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1sZWZ0OjpiZWZvcmUge1xuICAgIGxlZnQ6IDEwJTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQ6OmJlZm9yZSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRvb2x0aXAge1xuICAuaGFzLXRpcCB7XG4gICAgQGluY2x1ZGUgaGFzLXRpcDtcbiAgfVxuXG4gIC50b29sdGlwIHtcbiAgICBAaW5jbHVkZSB0b29sdGlwO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYW4gYWNjb3JkaW9uIGdyb3VwLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBwbHVzIGFuZCBtaW51cyBpY29ucyB0byB0aGUgc2lkZSBvZiBlYWNoIGFjY29yZGlvbiB0aXRsZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIENvbnRlbnQgZm9yIHRoZSBwbHVzIGljb24gd2hlbiBgJGFjY29yZGlvbi1wbHVzbWludXNgIGlzIGB0cnVlYFxuLy8vIEB0eXBlIFN0cmluZ1xuJGFjY29yZGlvbi1wbHVzLWNvbnRlbnQ6ICdcXDAwMkInICFkZWZhdWx0O1xuXG4vLy8gQ29udGVudCBmb3IgdGhlIG1pbnVzIGljb24gd2hlbiBgJGFjY29yZGlvbi1wbHVzbWludXNgIGlzIGB0cnVlYFxuLy8vIEB0eXBlIFN0cmluZ1xuJGFjY29yZGlvbi1taW51cy1jb250ZW50OiAnXFwyMDEzJyAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBhY2NvcmRpb24gdGl0bGVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhbiBhY2NvcmRpb24gaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBhY2NvcmRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBzYW1lIGVsZW1lbnQgdGhhdCBnZXRzIGBkYXRhLWFjY29yZGlvbmAuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRhaW5lciAoXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWJhY2tncm91bmRcbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gICZbZGlzYWJsZWRdIHtcbiAgICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaXN0IGl0ZW0gd2l0aGluIGFuIGFjY29yZGlvbiB1bC5cbkBtaXhpbiBhY2NvcmRpb24taXRlbSB7XG4gICY6Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDAgMDtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgdGl0bGUgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpbmsgd2l0aGluIGFuIGFjY29yZGlvbiBpdGVtLlxuQG1peGluIGFjY29yZGlvbi10aXRsZSAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJGFjY29yZGlvbi10aXRsZS1mb250LXNpemUsXG4gICRjb2xvcjogJGFjY29yZGlvbi1pdGVtLWNvbG9yLFxuICAkYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG5cbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAmIHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG5cbiAgQGlmICRhY2NvcmRpb24tcGx1c21pbnVzIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICRhY2NvcmRpb24tcGx1cy1jb250ZW50O1xuICAgIH1cblxuICAgIC5pcy1hY3RpdmUgPiAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJGFjY29yZGlvbi1taW51cy1jb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFjY29yZGlvbiBjb250ZW50LiBBcHBseSB0aGlzIHRvIHRoZSBjb250ZW50IHBhbmUgYmVsb3cgYW4gYWNjb3JkaW9uIGl0ZW0ncyB0aXRsZS5cbkBtaXhpbiBhY2NvcmRpb24tY29udGVudCAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZyxcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRhY2NvcmRpb24tY29udGVudC1jb2xvclxuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZCA+ICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24ge1xuICAuYWNjb3JkaW9uIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGFpbmVyO1xuICB9XG5cbiAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24taXRlbTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi10aXRsZTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXNwb25zaXZlLWVtYmVkXG4vLy8vXG5cbi8vLyBNYXJnaW4gYmVsb3cgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEFzcGVjdCByYXRpb3MgdXNlZCB0byBkZXRlcm1pbmUgcGFkZGluZy1ib3R0b20gb2YgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXJzLlxuLy8vIEB0eXBlIE1hcFxuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd8TGlzdH0gJHJhdGlvIFtkZWZhdWx0XSAtIFJhdGlvIG9mIHRoZSBjb250YWluZXIuIENhbiBiZSBhIGtleSBmcm9tIHRoZSBgJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zYCBtYXAgb3IgYSBsaXN0IGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbkBtaXhpbiByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCkge1xuICBAaWYgdHlwZS1vZigkcmF0aW8pID09ICdzdHJpbmcnIHtcbiAgICAkcmF0aW86IG1hcC1nZXQoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLCAkcmF0aW8pO1xuICB9XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tO1xuICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGlmcmFtZSxcbiAgb2JqZWN0LFxuICBlbWJlZCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkIHtcbiAgLnJlc3BvbnNpdmUtZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCk7XG5cbiAgICAkcmF0aW9zOiBtYXAtcmVtb3ZlKCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcywgZGVmYXVsdCk7XG5cbiAgICBAZWFjaCAkbmFtZSwgJHJhdGlvIGluICRyYXRpb3Mge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFic1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gb2YgdGhlIHRhYiBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiB0YWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBBY3RpdmUgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0YWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYSB0YWIgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gdGFicy1jb250YWluZXIgKFxuICAkbWFyZ2luOiAkdGFiLW1hcmdpbixcbiAgJGJhY2tncm91bmQ6ICR0YWItYmFja2dyb3VuZCxcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW46ICRtYXJnaW47XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250YWluZXIgdG8gaGF2ZSB2ZXJ0aWNhbCB0YWJzLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRhaW5lcigpYC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbCB7XG4gID4gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGxpbmtzIHdpdGhpbiBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIGA8bGk+YCBlbGVtZW50cyBpbnNpZGUgYSB0YWIgY29udGFpbmVyLlxuQG1peGluIHRhYnMtdGl0bGUgKFxuICAkcGFkZGluZzogJHRhYi1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICR0YWItaXRlbS1mb250LXNpemUsXG4gICRjb2xvcjogJHRhYi1jb2xvcixcbiAgJGNvbG9yLWFjdGl2ZTogJHRhYi1hY3RpdmUtY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGJhY2tncm91bmQtYWN0aXZlOiAkdGFiLWJhY2tncm91bmQtYWN0aXZlXG4pIHtcbiAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcblxuICA+IGEge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgICBjb2xvcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICZbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICAgIGNvbG9yOiAkY29sb3ItYWN0aXZlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB3cmFwcGVyIHRoYXQgc3Vycm91bmRzIGEgdGFiIGdyb3VwJ3MgY29udGVudCBwYW5lcy5cbkBtaXhpbiB0YWJzLWNvbnRlbnQgKFxuICAkYmFja2dyb3VuZDogJHRhYi1jb250ZW50LWJhY2tncm91bmQsXG4gICRjb2xvcjogJHRhYi1jb250ZW50LWNvbG9yLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250ZW50IGNvbnRhaW5lciB0byBoYXZlIGEgdmVydGljYWwgc3R5bGUsIGJ5IHNoaWZ0aW5nIHRoZSBib3JkZXIgYXJvdW5kLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRlbnQoKWAuXG5AbWl4aW4gdGFicy1jb250ZW50LXZlcnRpY2FsIChcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gaW5kaXZpZHVhbCB0YWIgY29udGVudCBwYW5lbCB3aXRoaW4gdGhlIHRhYiBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXBhbmVsIChcbiAgJHBhZGRpbmc6ICR0YWItY29udGVudC1wYWRkaW5nXG4pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgJi5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYnMge1xuICAudGFicyB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXI7XG4gIH1cblxuICAvLyBWZXJ0aWNhbFxuICAudGFicy52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBTaW1wbGVcbiAgLnRhYnMuc2ltcGxlIHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHJpbWFyeSBjb2xvclxuICAudGFicy5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRwcmltYXJ5LWNvbG9yKTtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkcHJpbWFyeS1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRhYnMtdGl0bGUge1xuICAgIEBpbmNsdWRlIHRhYnMtdGl0bGU7XG4gIH1cblxuICAudGFicy1jb250ZW50IHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQ7XG4gIH1cblxuICAudGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQtdmVydGljYWw7XG4gIH1cblxuICAudGFicy1wYW5lbCB7XG4gICAgQGluY2x1ZGUgdGFicy1wYW5lbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdtYXRoJztcblxuJGNvbnRyYXN0LXdhcm5pbmdzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gUGF0Y2ggdG8gZml4IGlzc3VlICMxMjA4MFxuJHByaW1hcnktY29sb3I6IG51bGwgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5LWNvbG9yOiBudWxsICFkZWZhdWx0O1xuJHdhcm5pbmctY29sb3I6IG51bGwgIWRlZmF1bHQ7XG4kYWxlcnQtY29sb3I6IG51bGwgIWRlZmF1bHQ7XG4kc3VjY2Vzcy1jb2xvcjogbnVsbCAhZGVmYXVsdDtcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gY2hlY2sgdGhlIGx1bWluYW5jZSBvZi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG5AZnVuY3Rpb24gY29sb3ItbHVtaW5hbmNlKCRjb2xvcikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jcmVsYXRpdmVsdW1pbmFuY2VkZWZcbiAgJHJnYmE6IHJlZCgkY29sb3IpLCBncmVlbigkY29sb3IpLCBibHVlKCRjb2xvcik7XG4gICRyZ2JhMjogKCk7XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAzIHtcbiAgICAkcmdiOiBudGgoJHJnYmEsICRpKTtcbiAgICAkcmdiOiBkaXZpZGUoJHJnYiwgMjU1KTtcblxuICAgICRyZ2I6IGlmKCRyZ2IgPCAwLjAzOTI4LCBkaXZpZGUoJHJnYiwgMTIuOTIpLCBwb3coZGl2aWRlKCRyZ2IgKyAwLjA1NSwgMS4wNTUpLCAyLjQpKTtcblxuICAgICRyZ2JhMjogYXBwZW5kKCRyZ2JhMiwgJHJnYik7XG4gIH1cblxuICBAcmV0dXJuIDAuMjEyNiAqIG50aCgkcmdiYTIsIDEpICsgMC43MTUyICogbnRoKCRyZ2JhMiwgMikgKyAwLjA3MjIgKiBudGgoJHJnYmEyLCAzKTtcbn1cblxuLy8vIENoZWNrcyB0aGUgY29udHJhc3QgcmF0aW8gb2YgdHdvIGNvbG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjEgLSBGaXJzdCBjb2xvciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjIgLSBTZWNvbmQgY29sb3IgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBjb250cmFzdCByYXRpbyBvZiB0aGUgY29tcGFyZWQgY29sb3JzLlxuQGZ1bmN0aW9uIGNvbG9yLWNvbnRyYXN0KCRjb2xvcjEsICRjb2xvcjIpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI2NvbnRyYXN0LXJhdGlvZGVmXG4gICRsdW1pbmFuY2UxOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMSkgKyAwLjA1O1xuICAkbHVtaW5hbmNlMjogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjIpICsgMC4wNTtcbiAgJHJhdGlvOiBkaXZpZGUoJGx1bWluYW5jZTEsICRsdW1pbmFuY2UyKTtcblxuICBAaWYgJGx1bWluYW5jZTIgPiAkbHVtaW5hbmNlMSB7XG4gICAgJHJhdGlvOiBkaXZpZGUoMSwgJHJhdGlvKTtcbiAgfVxuXG4gICRyYXRpbzogcm91bmQoJHJhdGlvICogMTApICogMC4xO1xuXG4gIEByZXR1cm4gJHJhdGlvO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRiYXNlYCwgYW5kIHJldHVybnMgdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFzZSAtIENvbG9yIHRvIGNoZWNrIGx1bWluYW5jZS5cbi8vLyBAcGFyYW0ge0xpc3R9ICRjb2xvcnMgWygkd2hpdGUsICRibGFjayldIC0gQ29sb3JzIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b2xlcmFuY2UgWyRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2VdIC0gQ29udHJhc3QgdG9sZXJhbmNlLlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbkBmdW5jdGlvbiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYXNlLCAkY29sb3JzOiAoJHdoaXRlLCAkYmxhY2spLCAkdG9sZXJhbmNlOiAkZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlKSB7XG4gICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAxKSk7XG4gICRiZXN0OiBudGgoJGNvbG9ycywgMSk7XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCBsZW5ndGgoJGNvbG9ycykge1xuICAgICRjdXJyZW50LWNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgQGlmICgkY3VycmVudC1jb250cmFzdCAtICRjb250cmFzdCA+ICR0b2xlcmFuY2UpIHtcbiAgICAgICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgICAgJGJlc3Q6IG50aCgkY29sb3JzLCAkaSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkY29udHJhc3Qtd2FybmluZ3MgYW5kICRjb250cmFzdCA8IDMpIHtcbiAgICBAd2FybiAnQ29udHJhc3QgcmF0aW8gb2YgI3skYmVzdH0gb24gI3skYmFzZX0gaXMgcHJldHR5IGJhZCwganVzdCAjeyRjb250cmFzdH0nO1xuICB9XG5cbiAgQHJldHVybiAkYmVzdDtcbn1cblxuLy8vIFNjYWxlcyBhIGNvbG9yIHRvIGJlIGRhcmtlciBpZiBpdCdzIGxpZ2h0LCBvciBsaWdodGVyIGlmIGl0J3MgZGFyay4gVXNlIHRoaXMgZnVuY3Rpb24gdG8gdGludCBhIGNvbG9yIGFwcHJvcHJpYXRlIHRvIGl0cyBsaWdodG5lc3MuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBzY2FsZS5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICRzY2FsZSBbNSVdIC0gQW1vdW50IHRvIHNjYWxlIHVwIG9yIGRvd24uXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkdGhyZXNob2xkIFs0MCVdIC0gVGhyZXNob2xkIG9mIGxpZ2h0bmVzcyB0byBjaGVjayBhZ2FpbnN0LlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBBIHNjYWxlZCBjb2xvci5cbkBmdW5jdGlvbiBzbWFydC1zY2FsZSgkY29sb3IsICRzY2FsZTogNSUsICR0aHJlc2hvbGQ6IDQwJSkge1xuICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPiAkdGhyZXNob2xkIHtcbiAgICAkc2NhbGU6IC0kc2NhbGU7XG4gIH1cbiAgQHJldHVybiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRzY2FsZSk7XG59XG5cbi8vLyBHZXQgY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEBwYXJhbSB7a2V5fSBjb2xvciBrZXkgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbkBmdW5jdGlvbiBnZXQtY29sb3IoJGtleSkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSkge1xuICAgIEByZXR1cm4gbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yICdnaXZlbiAka2V5IGlzIG5vdCBhdmFpbGFibGUgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSc7XG4gIH1cbn1cblxuLy8vIFRyYW5zZmVycyB0aGUgY29sb3JzIGluIHRoZSBgJGZvdW5kYXRpb24tcGFsZXR0ZWAgbWFwIGludG8gdmFyaWFibGVzLCBzdWNoIGFzIGAkcHJpbWFyeS1jb2xvcmAgYW5kIGAkc2Vjb25kYXJ5LWNvbG9yYC4gQ2FsbCB0aGlzIG1peGluIGJlbG93IHRoZSBHbG9iYWwgc2VjdGlvbiBvZiB5b3VyIHNldHRpbmdzIGZpbGUgdG8gcHJvcGVybHkgbWlncmF0ZSB5b3VyIGNvZGViYXNlLlxuQG1peGluIGFkZC1mb3VuZGF0aW9uLWNvbG9ycygpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogIzE3NzliYSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogIzc2NzY3NiAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2VzcykgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6ICMzYWRiNzYgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykge1xuICAgICR3YXJuaW5nLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICR3YXJuaW5nLWNvbG9yOiAjZmZhZTAwICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSB7XG4gICAgJGFsZXJ0LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkYWxlcnQtY29sb3I6ICNjYzRiMzcgIWdsb2JhbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lbnVcbi8vLy9cblxuLy8vIE1hcmdpbiBvZiBhIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0LWhhbmQgbWFyZ2luIG9mIGEgbmVzdGVkIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGl0ZW1zIGluIGEgcGlsbCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaXRlbXMtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgc2ltcGxlIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1zaW1wbGUtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRpdmUgdGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLi5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1jb2xvci1hbHQtYWN0aXZlOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhbiBpY29uIGFuZCB0ZXh0IGluIGEgbWVudSBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBzdGF0ZS4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYGFjdGl2ZWAgd2l0aCBgaXMtYWN0aXZlYC5cbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCBgYWN0aXZlYCB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtc3RhdGUtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciBtZW51IGNlbnRlcmVkLiBJZiB0cnVlLCB0aGlzIGR1cGxpY2F0ZSBgLm1lbnUtY2VudGVyZWQgPiAubWVudWAgd2l0aCBgLm1lbnUuYWxpZ24tY2VudGVyYC5cbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCBgbWVudS1jZW50ZXJlZGAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgdXNpbmcgYGljb24tKmAgY2xhc3NlcyB3aXRob3V0IGAuaWNvbnNgIGNsYXNzZXNcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCB0aGlzIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LWljb25zLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgTWVudS5cbkBtaXhpbiBtZW51LWJhc2Uge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gIGxpIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cblxuICBhLFxuICAuYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJG1lbnUtaXRlbXMtcGFkZGluZztcbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvZiBpbm5lciBlbGVtZW50c1xuICBpbnB1dCxcbiAgc2VsZWN0LFxuICBhLFxuICBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICBpbnB1dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbi8vLyBFeHBhbmRzIHRoZSBpdGVtcyBvZiBhIE1lbnUsIHNvIGVhY2ggaXRlbSBpcyB0aGUgc2FtZSB3aWR0aC5cbkBtaXhpbiBtZW51LWV4cGFuZCB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgID4gbGkge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBbGlnbiBtZW51IGl0ZW1zLlxuQG1peGluIG1lbnUtYWxpZ24oJGFsaWdubWVudCkge1xuICBAaWYgJGFsaWdubWVudCA9PSBsZWZ0IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuXG4gICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICAgIH1cblxuICAgICAgJi52ZXJ0aWNhbCB7XG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gY2VudGVyIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIGEgTWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgW2hvcml6b250YWxdIC0gRGlyZWN0aW9uIG9mIHRoZSBNZW51LiBDYW4gYmUgYGhvcml6b250YWxgIG9yIGB2ZXJ0aWNhbGAuXG5AbWl4aW4gbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIG1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW1wbGUgTWVudSwgd2hpY2ggaGFzIG5vIHBhZGRpbmcgb3IgaG92ZXIgc3RhdGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFskZ2xvYmFsLWxlZnRdIC0gRGlyZWN0aW9uIG9mIHRoZSBtZW51LiBUaGlzIGVmZmVjdHMgdGhlIHNpZGUgb2YgdGhlIGA8bGk+YCB0aGF0IHJlY2VpdmVzIHRoZSBtYXJnaW4uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXJnaW4gWyRtZW51LXNpbXBsZS1tYXJnaW5dIC0gVGhlIG1hcmdpbiB0byBhcHBseSB0byBlYWNoIGA8bGk+YC5cbkBtaXhpbiBtZW51LXNpbXBsZSgkZGlyOiAkZ2xvYmFsLWxlZnQsICRtYXJnaW46ICRtZW51LXNpbXBsZS1tYXJnaW4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIGxpICsgbGkge1xuICAgIG1hcmdpbi0jeyRkaXJ9OiAkbWFyZ2luO1xuICB9XG5cbiAgYSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbmVzdGVkIE1lbnUsIGJ5IGFkZGluZyBgbWFyZ2luLWxlZnRgIHRvIHRoZSBtZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRtYXJnaW4gWyRtZW51LW5lc3RlZC1tYXJnaW5dIC0gTGVuZ3RoIG9mIHRoZSBtYXJnaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkbmVzdGVkLWFsaWdubWVudCBbbGVmdF0gLSBBbGlnbm1lbnQgb2YgdGhlIG5lc3RlZCBjbGFzc1xuQG1peGluIG1lbnUtbmVzdGVkKFxuICAkbWFyZ2luOiAkbWVudS1uZXN0ZWQtbWFyZ2luLFxuICAkbmVzdGVkLWFsaWdubWVudDogbGVmdFxuKSB7XG4gIEBpZiAkbmVzdGVkLWFsaWdubWVudCA9PSByaWdodCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRtYXJnaW47XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG1hcmdpbjtcbiAgfVxuXG59XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgaWNvbnMgaW4gbWVudXMuXG5AbWl4aW4gbWVudS1pY29ucygpIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgaW1nLFxuICAgIGksXG4gICAgc3ZnIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICsgc3BhbiB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBbGlnbiB0b3AvYm90dG9tIGljb25zIHdpdGhpbiBhIG1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkYWxpZ25tZW50IFtjZW50ZXJdIC0gQWxpZ25tZW50IG9mIHRoZSBpY29uXG5AbWl4aW4gbWVudS1pY29uLWFsaWdubWVudCgkYWxpZ25tZW50OiBjZW50ZXIpIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgJi5pY29uLXRvcCxcbiAgICAmLmljb24tYm90dG9tIHtcbiAgICAgIGxpIGEge1xuICAgICAgICBpbWcsXG4gICAgICAgIGksXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgQGlmICRhbGlnbm1lbnQgPT0gbGVmdCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBwb3NpdGlvbiBjbGFzc2VzIGZvciBpY29ucyB3aXRoaW4gYSBtZW51LlxuQG1peGluIG1lbnUtaWNvbi1wb3NpdGlvbigkcG9zaXRpb246IGxlZnQsICRzcGFjaW5nOiAkbWVudS1pY29uLXNwYWNpbmcpIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRzcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG8gJHNwYWNpbmc7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogJHNwYWNpbmcgYXV0byAwO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWVudS10ZXh0IHtcbiAgcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG5cbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuQG1peGluIG1lbnUtc3RhdGUtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZSwgKCRtZW51LWl0ZW0tY29sb3ItYWN0aXZlLCAkbWVudS1pdGVtLWNvbG9yLWFsdC1hY3RpdmUpKTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVudSB7XG4gIC5tZW51IHtcbiAgICBAaW5jbHVkZSBtZW51LWJhc2U7XG5cbiAgICAvLyBEZWZhdWx0IG9yaWVudGF0aW9uOiBob3Jpem9udGFsXG4gICAgJiwgJi5ob3Jpem9udGFsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgIH1cblxuICAgIC8vIFZlcnRpY2FsIG9yaWVudGF0aW9uIG1vZGlmaWVyXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tYWxpZ25tZW50KGxlZnQpO1xuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggbW9kaWZpZXIgZm9yIGhvcml6b250YWwgb3JpZW50YXRpb25cbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLWFsaWdubWVudChsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBTaW1wbGVcbiAgICAmLnNpbXBsZSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXNpbXBsZTtcbiAgICB9XG5cbiAgICAvLyBCcmVha3BvaW50IHNwZWNpZmljIHZlcnNpb25zXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IGZhbHNlKSB7XG4gICAgICAmLiN7JC16Zi1zaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1leHBhbmRlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1zaW1wbGUge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOZXN0aW5nXG4gICAgJi5uZXN0ZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQ7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBCYXNlIFN0eWxlc1xuICAgICYuaWNvbnMge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29ucztcbiAgICB9XG5cbiAgICAvLyBCYWNrd2FyZCBDb21wYXRpYmlsaXR5IGZvciBhY3RpdmUgc3RhdGVcbiAgICBAaWYgJG1lbnUtaWNvbnMtYmFjay1jb21wYXQge1xuICAgICAgJi5pY29uLXRvcCxcbiAgICAgICYuaWNvbi1yaWdodCxcbiAgICAgICYuaWNvbi1ib3R0b20sXG4gICAgICAmLmljb24tbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTWVudSBpY29uIHBvc2l0aW9uXG4gICAgLy8gSW5jbHVkZXMgc3BlY2lmaWNpdHkgdG8gbmVzdGVkIGljb25zIHdpdGggYSBkaWZmZXJlbnQgcG9zaXRpb25cbiAgICAmLFxuICAgICYubmVzdGVkIHtcbiAgICAgIC8vIEljb24gTGVmdFxuICAgICAgJi5pY29uLWxlZnQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24obGVmdCk7XG4gICAgICB9XG5cbiAgICAgIC8vIEljb24gUmlnaHRcbiAgICAgICYuaWNvbi1yaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihyaWdodCk7XG4gICAgICB9XG5cbiAgICAgIC8vIEljb24gVG9wXG4gICAgICAmLmljb24tdG9wIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKHRvcCk7XG4gICAgICB9XG5cbiAgICAgIC8vIEljb24gQm90dG9tXG4gICAgICAmLmljb24tYm90dG9tIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKGJvdHRvbSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWN0aXZlIHN0YXRlXG4gICAgLmlzLWFjdGl2ZSA+IGEge1xuICAgICAgQGluY2x1ZGUgbWVudS1zdGF0ZS1hY3RpdmU7XG4gICAgfVxuXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG4gICAgQGlmICRtZW51LXN0YXRlLWJhY2stY29tcGF0IHtcbiAgICAgIC5hY3RpdmUgPiBhIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1zdGF0ZS1hY3RpdmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gbGVmdFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLWxlZnR9IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24obGVmdCk7XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gcmlnaHRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihyaWdodCk7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tYWxpZ25tZW50KHJpZ2h0KTtcblxuICAgICAgLm5lc3RlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRuZXN0ZWQtYWxpZ25tZW50OiByaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gY2VudGVyXG4gICAgJi5hbGlnbi1jZW50ZXIge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgIH1cblxuICAgIC5tZW51LXRleHQge1xuICAgICAgQGluY2x1ZGUgbWVudS10ZXh0O1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdCB7XG4gICAgLm1lbnUtY2VudGVyZWQge1xuICAgICAgPiAubWVudSB7XG4gICAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByZXZlbnQgRk9VQyB3aGVuIHVzaW5nIHRoZSBSZXNwb25zaXZlIE1lbnUgcGx1Z2luXG4gIC5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGFjY29yZGlvbi1tZW51XG4vLy8vXG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgYWNjb3JkaW9uIG1lbnVzIGhhdmUgdGhlIGRlZmF1bHQgYXJyb3cgc3R5bGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBib3JkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgTGlzdFxuJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI6ICRhY2NvcmRpb25tZW51LWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSB0b2dnbGUgYmFja2dyb3VuZCB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoOiA0MHB4ICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHRvZ2dsZSBiYWNrZ3JvdW5kIGhlaWdodC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRhY2NvcmRpb25tZW51LWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuQG1peGluIHpmLWFjY29yZGlvbi1tZW51LWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudDpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZSwgJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqICgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplICogMC41KTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgfVxuICB9XG5cbiAgJi5hbGlnbi1sZWZ0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgbGVmdDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxcmVtO1xuICB9XG59XG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudSB7XG5cbiAgLmFjY29yZGlvbi1tZW51IHtcbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgICBib3JkZXItcmlnaHQ6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLWxlZnQ6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgIH1cbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgQGlmICRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLmlzLWFjY29yZGlvbi1zdWJtZW51IGEge1xuICAgICAgcGFkZGluZzogJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgIC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luLCByaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRhY2NvcmRpb25tZW51LWFycm93cyB7XG4gICAgICBAaW5jbHVkZSB6Zi1hY2NvcmRpb24tbWVudS1sZWZ0LXJpZ2h0LWFycm93cztcblxuICAgICAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPSd0cnVlJ10gPiBhOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51IGxpIHtcbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5oYXMtc3VibWVudS10b2dnbGUgPiBhIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4gIH1cblxuICAvLyBTdWJtZW51IHRvZ2dsZVxuICAuc3VibWVudS10b2dnbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLXJpZ2h0fTogMDtcblxuICAgIHdpZHRoOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiAgICBoZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyO1xuXG4gICAgQGlmICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQge1xuICAgICAgYmFja2dyb3VuZDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAvLyBBZGQgdGhlIGFycm93IHRvIHRoZSB0b2dnbGVcbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZSwgJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuXG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLy8gUm90YXRlIHRoZSBhcnJvdyB3aGVuIG1lbnUgaXMgb3BlblxuICAuc3VibWVudS10b2dnbGVbYXJpYS1leHBhbmRlZD0ndHJ1ZSddOjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVkoLTEpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gIH1cblxuICAuc3VibWVudS10b2dnbGUtdGV4dCB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcmlsbGRvd25cbi8vLy9cblxuLy8vIFRyYW5zaXRpb24gcHJvcGVydHkgdG8gdXNlIGZvciBhbmltYXRpbmcgbWVudXMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBhcnJvd3MgdG8gZHJpbGxkb3duIGl0ZW1zIHdpdGggc3VibWVudXMsIGFzIHdlbGwgYXMgdGhlIGJhY2sgYnV0dG9uLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJpbGxkb3duLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcmlsbGRvd24gdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgaXRlbSBwYWRkaW5nIGluIHRoZSBzdWJtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyaWxsZG93biBzdWJtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyaWxsZG93bi1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1kcmlsbGRvd24tbGVmdC1yaWdodC1hcnJvd3Mge1xuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcmlsbGRvd24tYXJyb3ctc2l6ZSwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1yaWdodCk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyaWxsZG93bi1hcnJvdy1zaXplO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICB9XG4gIH1cblxuICAmLmFsaWduLWxlZnQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCByaWdodCk7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgbGVmdDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBsZWZ0KTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxcmVtO1xuICB9XG5cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnUge1xuICAvLyBBcHBsaWVkIHRvIHRoZSBNZW51IGNvbnRhaW5lclxuICAuaXMtZHJpbGxkb3duIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICYuYW5pbWF0ZS1oZWlnaHQge1xuICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXM7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhlIHRvcCBsZXZlbCA8dWw+XG4gIC5kcmlsbGRvd24ge1xuICAgIGEge1xuICAgICAgcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nO1xuICAgICAgYmFja2dyb3VuZDogJGRyaWxsZG93bi1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIC8vIEFwcGxpZWQgdG8gc3VibWVudSA8dWw+c1xuICAgIC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgICB6LWluZGV4OiAtMTtcblxuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDtcbiAgICAgIHRyYW5zaXRpb246ICRkcmlsbGRvd24tdHJhbnNpdGlvbjtcblxuICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAtMTAwJSwgMTAwJSkpO1xuICAgICAgfVxuXG4gICAgICAmLmlzLWNsb3Npbmcge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIDEwMCUsIC0xMDAlKSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFN1Ym1lbnUgaXRlbSBwYWRkaW5nXG4gICAgICBhIHtcbiAgICAgICAgcGFkZGluZzogJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkZHJpbGxkb3duLW5lc3RlZC1tYXJnaW4pO1xuICAgIH1cblxuICAgIC5kcmlsbGRvd24tc3VibWVudS1jb3Zlci1wcmV2aW91cyB7XG4gICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiAkZHJpbGxkb3duLWFycm93cyB7XG4gICAgICBAaW5jbHVkZSB6Zi1kcmlsbGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG5cbiAgICAgIC5qcy1kcmlsbGRvd24tYmFjayA+IGE6OmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJpbGxkb3duLWFycm93LXNpemUsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtbGVmdCk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNzVyZW07IC8vIENyZWF0ZXMgc3BhY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd24tbWVudVxuLy8vL1xuXG4vLy8gRW5hYmxlcyBhcnJvd3MgZm9yIGl0ZW1zIHdpdGggZHJvcGRvd24gbWVudXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBwYWRkaW5nIGZvciBhbGlnbmluZyB0aGUgYXJyb3cgY29ycmVjdGx5LlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nOiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJvcGRvd25zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBzdWItbWVudSBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8gQm9yZGVyIHdpZHRoIGZvciBkcm9wZG93biBzdWItbWVudXMuXG4vLyBVc2VkIHRvIGFkanVzdCB0b3AgbWFyZ2luIG9mIGEgc3ViLW1lbnUgaWYgYSBib3JkZXIgaXMgdXNlZC5cbi8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGg6IG50aCgkZHJvcGRvd25tZW51LWJvcmRlciwgMSk7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0uIEV4cGxpY2l0IG92ZXJyaWRlIGZvciBtZW51IGRlZmF1bHRzXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0uIEV4cGxpY2l0IG92ZXJyaWRlIGZvciBtZW51IGRlZmF1bHRzXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3Mge1xuICA+IGE6OmFmdGVyIHtcbiAgICAjeyRnbG9iYWwtcmlnaHR9OiAxNHB4O1xuICB9XG5cbiAgJi5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGxlZnQpO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDtcbiAgfVxuXG4gICYub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICB9XG59XG5cbkBtaXhpbiBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgID4gbGkub3BlbnMtbGVmdCB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBsaS5vcGVucy1yaWdodCB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc7XG4gICAgICB9XG5cbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcbiAgICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgICAjeyRnbG9iYWwtbGVmdH06IGF1dG87XG4gICAgICAgIG1hcmdpbi10b3A6IC0xICogKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSAqIDAuNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgID4gbGkge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtbGVmdCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtcmlnaHQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICAgIEBpbmNsdWRlIHpmLWRyb3Bkb3duLWxlZnQtcmlnaHQtYXJyb3dzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcm9wZG93bi1tZW51IHtcbiAgLmRyb3Bkb3duLm1lbnUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuXG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgfVxuXG4gICAgLy8gVG9wLWxldmVsIGl0ZW1cbiAgICA+IGxpID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LWJhY2tncm91bmQ7XG4gICAgICBwYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLy8gVG9wLWxldmVsIGl0ZW0gYWN0aXZlIHN0YXRlXG4gICAgPiBsaS5pcy1hY3RpdmUgPiBhIHtcbiAgICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU7XG4gICAgfVxuXG4gICAgLm5vLWpzICYgdWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LWhvcml6b250YWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi4jeyRzaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsIHtcbiAgICB3aWR0aDogMTAwcHg7XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGE6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAkZHJvcGRvd25tZW51LWFycm93LXNpemU7XG4gICAgfVxuXG4gICAgJi5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcblxuICAgICAgdG9wOiAxMDAlO1xuICAgICAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgei1pbmRleDogMTtcblxuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWluLXdpZHRoOiAkZHJvcGRvd25tZW51LW1pbi13aWR0aDtcblxuICAgIGJvcmRlcjogJGRyb3Bkb3dubWVudS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ7XG5cbiAgICAuZHJvcGRvd24gJiBhIHtcbiAgICAgIHBhZGRpbmc6ICRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKHR5cGUtb2YoJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpID09ICdudW1iZXInKSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIG1hcmdpbi10b3A6ICgtJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gW1RPRE9dIEN1dCBiYWNrIHNwZWNpZmljaXR5XG4gICAgLy8mOm5vdCguanMtZHJvcGRvd24tbm9ob3ZlcikgPiAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQ6aG92ZXIgPiAmLCAvLyB3aHkgaXMgdGhpcyBsaW5lIG5lZWRlZD8gT3BlbmluZyBpcyBoYW5kbGVkIGJ5IEpTIGFuZCB0aGlzIGNhdXNlcyBzb21lIHVnbHkgZmxpY2tlcmluZyB3aGVuIHRoZSBzdWIgaXMgcmUtcG9zaXRpb25lZCBhdXRvbWF0aWNhbGx5Li4uXG4gICAgJi5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZmxvYXRcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcyB7XG4gIC5mbG9hdC1sZWZ0IHtcbiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsb2F0LXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1jZW50ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIC5jbGVhcmZpeCB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBGbGV4Ym94IFV0aWxpdGllc1xuLy8vL1xuLy9cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciB0aGUgY291bnQgb2Ygc291cmNlIG9yZGVyaW5nYFxuLy8vIEB0eXBlIE51bWJlclxuJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50OiA2ICFkZWZhdWx0O1xuXG4vLy8gUXVpY2tseSBkaXNhYmxlL2VuYWJsZSBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBWYW5pbGxhIEZsZXggSGVscGVycy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzOiB0cnVlICFkZWZhdWx0O1xuXG5AbWl4aW4gZmxleC1oZWxwZXJzIHtcbiAgLmZsZXgtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBmbGV4O1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gIH1cblxuICAuZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cblxuICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcbiAgICAuZmxleC1kaXItI3skZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbigkcHJvcCk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jb250YWluZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1hdXRvIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLWdyb3cge1xuICAgICAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBlYWNoICRkaXIsICRwcm9wIGluICQtemYtZmxleC1kaXJlY3Rpb24ge1xuICAgICAgICAgICAgLiN7JHNpemV9LWZsZXgtZGlyLSN7JGRpcn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbigkcHJvcCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcyB7XG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IHVzaW5nIGp1c3RpZnktY29udGVudFxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWp1c3RpZnkge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgfVxuICB9XG4gIFxuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCBTcGVjaWZpY2FsbHkgZm9yIFZlcnRpY2FsIE1lbnVcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluIG1hcC1yZW1vdmUoJC16Zi1mbGV4LWp1c3RpZnksICdqdXN0aWZ5JywgJ3NwYWNlZCcpIHtcbiAgICAuYWxpZ24tI3skaGRpcn0ge1xuICAgICAgJi52ZXJ0aWNhbCB7XG4gICAgICAgICYubWVudSA+IGxpID4gYSB7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogJGhkaXIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmVydGljYWwgYWxpZ25tZW50IHVzaW5nIGFsaWduLWl0ZW1zIGFuZCBhbGlnbi1zZWxmXG4gIEBlYWNoICR2ZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtYWxpZ24ge1xuICAgIC5hbGlnbi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR5OiAkdmRpcik7XG4gICAgfVxuXG4gICAgLmFsaWduLXNlbGYtI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKCR5OiAkdmRpcik7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2VudHJhbCBhbGlnbm1lbnQgb2YgY29udGVudFxuICAuYWxpZ24tY2VudGVyLW1pZGRsZSB7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogY2VudGVyLCAkeTogbWlkZGxlKTtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQge1xuICAgICAgLiN7JC16Zi1zaXplfS1vcmRlci0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtb3JkZXIoJGkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZhbmlsbGEgRmxleGJveCBIZWxwZXJzXG4gIEBpbmNsdWRlIGZsZXgtaGVscGVycztcbn1cbiIsIkBmdW5jdGlvbiAtemYtZmxleC1qdXN0aWZ5KCR0ZXh0LWRpcmVjdGlvbikge1xuICAkLXpmLWZsZXgtanVzdGlmeTogKFxuICAgICdsZWZ0JzogaWYoJHRleHQtZGlyZWN0aW9uID09IHJ0bCwgZmxleC1lbmQsIGZsZXgtc3RhcnQpLFxuICAgICdyaWdodCc6IGlmKCR0ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGZsZXgtc3RhcnQsIGZsZXgtZW5kKSxcbiAgICAnY2VudGVyJzogY2VudGVyLFxuICAgICdqdXN0aWZ5Jzogc3BhY2UtYmV0d2VlbixcbiAgICAnc3BhY2VkJzogc3BhY2UtYXJvdW5kLFxuICApO1xuXG4gIEByZXR1cm4gJC16Zi1mbGV4LWp1c3RpZnk7XG59XG5cblxuJC16Zi1mbGV4LWFsaWduOiAoXG4gICd0b3AnOiBmbGV4LXN0YXJ0LFxuICAnYm90dG9tJzogZmxleC1lbmQsXG4gICdtaWRkbGUnOiBjZW50ZXIsXG4gICdzdHJldGNoJzogc3RyZXRjaCxcbik7XG5cbiQtemYtZmxleC1kaXJlY3Rpb246IChcbiAgJ3Jvdyc6IHJvdyxcbiAgJ3Jvdy1yZXZlcnNlJzogcm93LXJldmVyc2UsXG4gICdjb2x1bW4nOiBjb2x1bW4sXG4gICdjb2x1bW4tcmV2ZXJzZSc6IGNvbHVtbi1yZXZlcnNlLFxuKTtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBieSBhZGRpbmcgYGRpc3BsYXk6IGZsZXhgIHRvIHRoZSBlbGVtZW50LlxuQG1peGluIGZsZXgge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkgYWxpZ25zIHRoZSBpdGVtcyB3aXRoaW4gYSBmbGV4IGNvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHggW251bGxdIC0gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYGxlZnRgLCBgcmlnaHRgLCBgY2VudGVyYCwgYGp1c3RpZnlgLCBvciBgc3BhY2VkYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IGhvcml6b250YWwgYWxpZ25tZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduKCR4OiBudWxsLCAkeTogbnVsbCkge1xuICBAaWYgJHgge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtanVzdGlmeSwgJHgpIHtcbiAgICAgICR4OiBtYXAtZ2V0KCQtemYtZmxleC1qdXN0aWZ5LCAkeCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHh9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBob3Jpem9udGFsIGFsaWdubWVudC4gVXNlIGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnksIG9yIHNwYWNlZC4nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgdmVydGljYWwgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nO1xuICAgIH1cbiAgfVxuXG4gIGp1c3RpZnktY29udGVudDogJHg7XG4gIGFsaWduLWl0ZW1zOiAkeTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgYWxpZ24gYSBzaW5nbGUgY29sdW1uIHdpdGhpbiBhIGZsZXggcm93LiBBcHBseSB0aGlzIG1peGluIHRvIGEgZmxleCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR5OiBudWxsKSB7XG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLWNvbHVtbi1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nO1xuICAgIH1cbiAgfVxuXG4gIGFsaWduLXNlbGY6ICR5O1xufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc291cmNlIG9yZGVyIG9mIGEgZmxleCBjaGlsZC4gQ2hpbGRyZW4gd2l0aCBsb3dlciBudW1iZXJzIGFwcGVhciBmaXJzdCBpbiB0aGUgbGF5b3V0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb3JkZXIgWzBdIC0gT3JkZXIgbnVtYmVyIHRvIGFwcGx5LlxuQG1peGluIGZsZXgtb3JkZXIoJG9yZGVyOiAwKSB7XG4gIG9yZGVyOiAkb3JkZXI7XG59XG5cbi8vLyBDaGFuZ2UgZmxleC1kaXJlY3Rpb25cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW3Jvd10gLSBGbGV4IGRpcmVjdGlvbiB0byB1c2UuIENhbiBiZVxuLy8vICAgLSByb3cgKGRlZmF1bHQpOiBzYW1lIGFzIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIHJvdy1yZXZlcnNlOiBvcHBvc2l0ZSB0byB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSBjb2x1bW46IHNhbWUgYXMgcm93IGJ1dCB0b3AgdG8gYm90dG9tXG4vLy8gICAtIGNvbHVtbi1yZXZlcnNlOiBzYW1lIGFzIHJvdy1yZXZlcnNlIHRvcCB0byBib3R0b21cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkZGlyZWN0aW9uOiByb3cpIHtcbiAgZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yKCRzaXplKSB7XG4gICRzaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAvLyBNYXggdmFsdWUgaXMgMC4ycHggdW5kZXIgdGhlIG5leHQgYnJlYWtwb2ludCAoMC4wMiAvIDE2ID0gMC4wMDEyNSkuXG4gIC8vIFVzZSBhIHByZWNpc2lvbiB1bmRlciAxcHggdG8gc3VwcG9ydCBicm93c2VyIHpvb20sIGJ1dCBub3QgdG8gbG93IHRvIGF2b2lkIHJvdW5kaW5nLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTEzMTNcbiAgJHNpemU6IC16Zi1icC10by1lbSgkc2l6ZSkgLSAwLjAwMTI1O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCB3aXRoaW4gYSBjZXJ0YWluIGJyZWFrcG9pbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvci1vbmx5KCRzaXplKSB7XG4gICRsb3dlci1ib3VuZC1zaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkdXBwZXItYm91bmQtc2l6ZTogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJHNpemUpO1xuXG4gIC8vIG1vcmUgb2Z0ZW4gdGhhbiBub3QgdGhpcyB3aWxsIGJlIGNvcnJlY3QsIGp1c3Qgb25lIHRpbWUgcm91bmQgdGhlIGxvb3AgaXQgd29uJ3Qgc28gc2V0IGluIHNjb3BlIGhlcmVcbiAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpIC0gMC4wMDEyNTtcbiAgLy8gdGVzdCBhY3R1YWwgbG93ZXItYm91bmQtc2l6ZSwgaWYgMCBzZXQgaXQgdG8gMGVtXG4gIEBpZiBzdHJpcC11bml0KCRsb3dlci1ib3VuZC1zaXplKSA9PSAwIHtcbiAgICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSk7XG4gIH1cblxuICBAaWYgJHVwcGVyLWJvdW5kLXNpemUgPT0gbnVsbCB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAkdXBwZXItYm91bmQ6IC16Zi1icC10by1lbSgkdXBwZXItYm91bmQtc2l6ZSk7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR1cHBlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3IoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yLW9ubHkoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBvbmx5KSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcyB7XG4gIC8vIEJhc2ljIGhpZGluZyBjbGFzc2VzXG4gIC5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaW52aXNpYmxlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbiAgLnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIHZpc2liaWxpdHkgY2xhc3Nlc1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgLmhpZGUtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgaGlkZS1mb3IoJHNpemUpO1xuICAgICAgfVxuXG4gICAgICAuc2hvdy1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBzaG93LWZvcigkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhpZGUtZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgaGlkZS1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgc2hvdy1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2NyZWVuIHJlYWRlciB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgLy8gTmVlZCBhIFwiaGlkZS1mb3Itc3JcIiBjbGFzcz8gQWRkIGFyaWEtaGlkZGVuPSd0cnVlJyB0byB0aGUgZWxlbWVudFxuICAuc2hvdy1mb3Itc3IsXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxuXG4gIC8vIE9ubHkgZGlzcGxheSB0aGUgZWxlbWVudCB3aGVuIGl0J3MgZm9jdXNlZFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZS1vZmY7XG4gICAgfVxuICB9XG5cbiAgLy8gTGFuZHNjYXBlIGFuZCBwb3J0cmFpdCB2aXNpYmlsaXR5XG4gIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBEYXJrIE1vZGUgVmlzaWJpbGl0eVxuICAuc2hvdy1mb3ItZGFyay1tb2RlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5oaWRlLWZvci1kYXJrLW1vZGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICAgIC5zaG93LWZvci1kYXJrLW1vZGUge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmhpZGUtZm9yLWRhcmstbW9kZSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gSUUxMCsgVmlzaWJpbGl0eVxuICAuc2hvdy1mb3ItaWUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcbiAgICAuc2hvdy1mb3ItaWUge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmhpZGUtZm9yLWllIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBTdGlja3kgVmlzaWJpbGl0eVxuICAuc2hvdy1mb3Itc3RpY2t5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5pcy1zdHVjayAuc2hvdy1mb3Itc3RpY2t5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAuaXMtc3R1Y2sgLmhpZGUtZm9yLXN0aWNreSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLy8vIEFwcGxpZXMgYmFzaWMgdHJhbnNpdGlvbiBzZXR0aW5ncyB0byBhbiBlbGVtZW50LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIHRyYW5zaXRpb24tYmFzaWNzKFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gIEBpbmNsdWRlIC1tb3Rpb24tdWktZGVmYXVsdHM7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmc7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheTtcbn1cblxuLy8vIFdyYXBzIHRoZSBjb250ZW50IGluIHRoZSBzZXR1cCBjbGFzcyBmb3IgYSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciAtIFN0YXRlIHRvIHNldHVwIGZvciB0cmFuc2l0aW9uLlxuQG1peGluIHRyYW5zaXRpb24tc3RhcnQoJGRpcikge1xuICAkc2VsZWN0b3I6IC1tdWktYnVpbGQtc2VsZWN0b3IobWFwLWdldCgkbW90aW9uLXVpLXN0YXRlcywgJGRpcikpO1xuXG4gIEBhdC1yb290IHtcbiAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBXcmFwcyB0aGUgY29udGVudCBpbiB0aGUgYWN0aXZlIGNsYXNzIGZvciBhIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gU3RhdGUgdG8gYWN0aXZhdGUgYSB0cmFuc2l0aW9uIG9uLlxuQG1peGluIHRyYW5zaXRpb24tZW5kKCRkaXIpIHtcbiAgJHNlbGVjdG9yOiAtbXVpLWJ1aWxkLXNlbGVjdG9yKG1hcC1nZXQoJG1vdGlvbi11aS1zdGF0ZXMsICRkaXIpLCB0cnVlKTtcblxuICBAYXQtcm9vdCB7XG4gICAgI3skc2VsZWN0b3J9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhZ2dlciBhbmltYXRpb24sIHdoaWNoIGNhbiBiZSB1c2VkIHdpdGggQW5ndWxhcidzIGBuZy1yZXBlYXRgLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheS1hbW91bnQgLSBBbW91bnQgb2YgdGltZSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyB0byBhZGQgYmV0d2VlbiBlYWNoIGl0ZW0ncyBhbmltYXRpb24uXG5AbWl4aW4gc3RhZ2dlcigkZGVsYXktYW1vdW50KSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheS1hbW91bnQ7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDA7IC8vIFByZXZlbnQgYWNjaWRlbnRhbCBDU1MgaW5oZXJpdGFuY2Vcbn1cbiIsIi8vIHNjc3MtbGludDpkaXNhYmxlIEltcG9ydGFudFJ1bGUsIFNwYWNlQWZ0ZXJDb21tYSwgU2luZ2xlTGluZVBlclByb3BlcnR5XG5cbkBtaXhpbiAtbW90aW9uLXVpLWRlZmF1bHRzIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLXNwZWVkcywgZGVmYXVsdCk7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktZWFzaW5ncywgZGVmYXVsdCk7XG59XG5cbi8vIFRyYW5zaXRpb25zXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuQG1peGluIG1vdGlvbi11aS10cmFuc2l0aW9ucyB7XG4gIC8vIFNsaWRlXG4gIC5zbGlkZS1pbi1kb3duICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgZG93bik7IH1cbiAgLnNsaWRlLWluLWxlZnQgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICByaWdodCk7IH1cbiAgLnNsaWRlLWluLXVwICAgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICB1cCk7IH1cbiAgLnNsaWRlLWluLXJpZ2h0ICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICBsZWZ0KTsgfVxuICAuc2xpZGUtb3V0LWRvd24gICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIGRvd24pOyB9XG4gIC5zbGlkZS1vdXQtcmlnaHQgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgcmlnaHQpOyB9XG4gIC5zbGlkZS1vdXQtdXAgICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgdXApOyB9XG4gIC5zbGlkZS1vdXQtbGVmdCAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgbGVmdCk7IH1cblxuICAvLyBGYWRlXG4gIC5mYWRlLWluICB7IEBpbmNsdWRlIG11aS1mYWRlKGluLCAgMCwgMSk7IH1cbiAgLmZhZGUtb3V0IHsgQGluY2x1ZGUgbXVpLWZhZGUob3V0LCAxLCAwKTsgfVxuXG4gIC8vIEhpbmdlXG4gIC5oaW5nZS1pbi1mcm9tLXRvcCAgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgdG9wKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1yaWdodCAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHJpZ2h0KTsgfVxuICAuaGluZ2UtaW4tZnJvbS1ib3R0b20gICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIGJvdHRvbSk7IH1cbiAgLmhpbmdlLWluLWZyb20tbGVmdCAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICBsZWZ0KTsgfVxuICAuaGluZ2UtaW4tZnJvbS1taWRkbGUteCAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICB0b3AsICAgY2VudGVyKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1taWRkbGUteSAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICByaWdodCwgY2VudGVyKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tdG9wICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHRvcCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLXJpZ2h0ICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCByaWdodCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLWJvdHRvbSAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCBib3R0b20pOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1sZWZ0ICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgbGVmdCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14IHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgdG9wLCAgIGNlbnRlcik7IH1cbiAgLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15IHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgcmlnaHQsIGNlbnRlcik7IH1cblxuICAvLyBTY2FsZVxuICAuc2NhbGUtaW4tdXAgICAgeyBAaW5jbHVkZSBtdWktem9vbShpbiwgIDAuNSwgMSk7IH1cbiAgLnNjYWxlLWluLWRvd24gIHsgQGluY2x1ZGUgbXVpLXpvb20oaW4sICAxLjUsIDEpOyB9XG4gIC5zY2FsZS1vdXQtdXAgICB7IEBpbmNsdWRlIG11aS16b29tKG91dCwgMSwgMS41KTsgfVxuICAuc2NhbGUtb3V0LWRvd24geyBAaW5jbHVkZSBtdWktem9vbShvdXQsIDEsIDAuNSk7IH1cblxuICAvLyBTcGluXG4gIC5zcGluLWluICAgICB7IEBpbmNsdWRlIG11aS1zcGluKGluLCAgY3cpOyB9XG4gIC5zcGluLW91dCAgICB7IEBpbmNsdWRlIG11aS1zcGluKG91dCwgY3cpOyB9XG4gIC5zcGluLWluLWNjdyAgeyBAaW5jbHVkZSBtdWktc3BpbihpbiwgIGNjdyk7IH1cbiAgLnNwaW4tb3V0LWNjdyB7IEBpbmNsdWRlIG11aS1zcGluKG91dCwgY2N3KTsgfVxuXG4gIC8vIFRyYW5zaXRpb24gTW9kaWZpZXJzXG4gIC8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLXNwZWVkcyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZWFzaW5ncyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWRlbGF5cyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9LWRlbGF5IHsgdHJhbnNpdGlvbi1kZWxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQW5pbWF0aW9uc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbkBtaXhpbiBtb3Rpb24tdWktYW5pbWF0aW9ucyB7XG4gIC5zaGFrZSAgICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc2hha2UpOyB9XG4gIC5zcGluLWN3ICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc3Bpbik7IH1cbiAgLnNwaW4tY2N3IHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzcGluKGNjdykpOyB9XG4gIC53aWdnbGUgICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24od2lnZ2xlKTsgfVxuXG4gIC5zaGFrZSxcbiAgLnNwaW4tY3csXG4gIC5zcGluLWNjdyxcbiAgLndpZ2dsZSB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktc3BlZWRzLCBkZWZhdWx0KTtcbiAgfVxuXG4gIC8vIEFuaW1hdGlvbiBNb2RpZmllcnNcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbiAgLmluZmluaXRlIHsgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7IH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktc3BlZWRzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyBhbmltYXRpb24tZHVyYXRpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWVhc2luZ3Mge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWRlbGF5cyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9LWRlbGF5IHsgYW5pbWF0aW9uLWRlbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gSW50ZXJuYWwgY291bnRlciBmb3IgY3JlYXRpbmcgdW5pcXVlIGtleWZyYW1lIG5hbWVzXG4kLW11aS1jdXN0b206IDA7XG5cbi8vLyBDcmVhdGVzIGEga2V5ZnJhbWUgZnJvbSBvbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zLiBVc2UgdGhpcyBmdW5jdGlvbiBpbnN0ZWFkIG9mIGBtdWktYW5pbWF0aW9uYCBpZiB5b3Ugd2FudCB0byBjcmVhdGUgYSBrZXlmcmFtZSBhbmltYXRpb24gKndpdGhvdXQqIGF1dG9tYXRpY2FsbHkgYXNzaWduaW5nIGl0IHRvIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgdGhlIGtleWZyYW1lLlxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJGVmZmVjdHMuLi4gLSBPbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIHRvIGJ1aWxkIHRoZSBrZXlmcmFtZSB3aXRoLlxuQG1peGluIG11aS1rZXlmcmFtZXMoJG5hbWUsICRlZmZlY3RzLi4uKSB7XG4gICRvYmo6IC1tdWktcHJvY2Vzcy1hcmdzKCRlZmZlY3RzLi4uKTtcbiAgJG9iajogbWFwLXJlbW92ZSgkb2JqLCBuYW1lKTtcblxuICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAvLyBOb3cgaXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgcGVyY2VudGFnZVxuICAgIEBlYWNoICRwY3QsICRwcm9wcyBpbiAkb2JqIHtcbiAgICAgICN7LW11aS1rZXlmcmFtZS1wY3QoJHBjdCl9IHtcbiAgICAgICAgLy8gTGFzdGx5LCBpdGVyYXRlIHRocm91Z2ggZWFjaCBDU1MgcHJvcGVydHkgd2l0aGluIGEgcGVyY2VudGFnZSBhbmQgcHJpbnQgaXQgb3V0XG4gICAgICAgIEBlYWNoICRwcm9wLCAkdmFsdWUgaW4gJHByb3BzIHtcbiAgICAgICAgICAjeyRwcm9wfTogI3skdmFsdWV9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc3RyaW5nIGZvciBhIENTUyBrZXlmcmFtZSwgYnkgY29udmVydGluZyBhIGxpc3Qgb2YgbnVtYmVycyB0byBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIHBlcmNlbnRhZ2UgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRpbnB1dCAtIExpc3Qgb2YgbnVtYmVycyB0byB1c2UuXG4vLy8gQHJldHVybiB7U3RyaW5nfSBBIHNldCBvZiBjb21tYS1zZXBhcmF0ZWQgcGVyY2VudGFnZSB2YWx1ZXMuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1wY3QoJGlucHV0KSB7XG4gICRvdXRwdXQ6ICgpO1xuXG4gIEBpZiB0eXBlLW9mKCRpbnB1dCkgPT0gJ251bWJlcicge1xuICAgICRvdXRwdXQ6ICgkaW5wdXQgKiAxJSk7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkaW5wdXQpID09ICdsaXN0JyB7XG4gICAgQGVhY2ggJGkgaW4gJGlucHV0IHtcbiAgICAgICRvdXRwdXQ6IGFwcGVuZCgkb3V0cHV0LCAoJGkgKiAxJSksIGNvbW1hKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIFwiI3skb3V0cHV0fVwiO1xufVxuXG4vLy8gUHJpbnRzIHRoZSBDU1MgcHJvcGVydGllcyBmcm9tIGEgc3BlY2lmaWMga2V5IGluIGEga2V5ZnJhbWVzIG1hcC4gVXNlZCB0byBib3Jyb3cgQ1NTIGZyb20ga2V5ZnJhbWUgZnVuY3Rpb25zIGZvciB1c2UgaW4gdHJhbnNpdGlvbnMuXG4vLy8gQHBhcmFtIHtNYXB9ICRrZiAtIEtleWZyYW1lIG1hcCB0byBleHRyYWN0IGZyb20uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRrZXkgLSBLZXkgaW4gdGhlIG1hcCB0byBwcmludCB0aGUgQ1NTIG9mLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIC1tdWkta2V5ZnJhbWUtZ2V0KCRrZiwgJGtleSkge1xuICAkbWFwOiBtYXAtZ2V0KCRrZiwgJGtleSk7XG5cbiAgQGVhY2ggJHByb3AsICR2YWx1ZSBpbiAkbWFwIG9yICgpIHtcbiAgICAvLyBTb21lIGtleWZyYW1lIG1hcHMgc3RvcmUgdHJhbnNmb3JtcyBhcyBxdW90ZWQgc3RyaW5nc1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ3N0cmluZycge1xuICAgICAgJHZhbHVlOiB1bnF1b3RlKCR2YWx1ZSk7XG4gICAgfVxuICAgICN7JHByb3B9OiAkdmFsdWU7XG4gIH1cbn1cblxuLy8vIFJlZm9ybWF0cyBhIG1hcCBjb250YWluaW5nIGtleXMgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzLCBzbyB0aGF0IGVhY2gga2V5IGlzIGEgc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHNwbGl0IHVwLlxuLy8vIEByZXR1cm4ge01hcH0gQSByZWZvcm1hdHRlZCBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1zcGxpdCgkbWFwKSB7XG4gICRuZXctbWFwOiAoKTtcblxuICAvLyBTcGxpdCBrZXlzIHdpdGggbXVsdGlwbGUgdmFsdWVzIGludG8gaW5kaXZpZHVhbCBrZXlzXG4gIEBlYWNoICRrZXksICRpdGVtIGluICRtYXAge1xuICAgICRrZXktdHlwZTogdHlwZS1vZigka2V5KTtcblxuICAgIEBpZiAka2V5LXR5cGUgPT0gJ251bWJlcicge1xuICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrZXk6ICRpdGVtKSk7XG4gICAgfSBAZWxzZSBpZiAka2V5LXR5cGUgPT0gJ2xpc3QnIHtcbiAgICAgIEBlYWNoICRrIGluICRrZXkge1xuICAgICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGs6ICRpdGVtKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbmV3LW1hcDtcbn1cblxuLy8vIENvbWJpbmVzIGEgc2VyaWVzIG9mIGtleWZyYW1lIG9iamVjdHMgaW50byBvbmUuXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkbWFwcy4uLiAtIEEgc2VyaWVzIG9mIG1hcHMgdG8gbWVyZ2UsIGFzIGluZGl2aWR1YWwgcGFyYW1ldGVycy5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgY29tYmluZWQga2V5ZnJhbWUgb2JqZWN0LlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtY29tYmluZSgkbWFwcy4uLikge1xuICAkbmV3LW1hcDogKCk7XG5cbiAgLy8gSXRlcmF0ZSB0aHJvdWdoIGVhY2ggbWFwIHBhc3NlZCBpblxuICBAZWFjaCAkbWFwIGluICRtYXBzIHtcbiAgICBAaWYgLW11aS1pcy1mdW5jdGlvbigkbWFwKSB7XG4gICAgICAkbWFwOiAtbXVpLXNhZmUtY2FsbCgkbWFwKTtcbiAgICB9XG5cbiAgICAkbWFwOiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApO1xuXG4gICAgLy8gSXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgaW4gdGhlIG1hcFxuICAgIC8vICRrZXkgaXMgdGhlIGtleWZyYW1lIHBlcmNlbnRhZ2VcbiAgICAvLyAkdmFsdWUgaXMgYSBtYXAgb2YgQ1NTIHByb3BlcnRpZXNcbiAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgICAkbmV3LXZhbHVlOiAoKTtcblxuICAgICAgQGlmIG1hcC1oYXMta2V5KCRuZXctbWFwLCAka2V5KSB7XG4gICAgICAgIC8vIElmIHRoZSBtYXAgYWxyZWFkeSBoYXMgdGhlIGtleWZyYW1lICUsIGFwcGVuZCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6IC1tdWktbWVyZ2UtcHJvcGVydGllcyhtYXAtZ2V0KCRuZXctbWFwLCAka2V5KSwgJHZhbHVlKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBPdGhlcndpc2UsIGNyZWF0ZSBhIG5ldyBtYXAgd2l0aCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6ICR2YWx1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gRmluYWxseSwgbWVyZ2UgdGhlIG1vZGlmaWVkIGtleWZyYW1lIHZhbHVlIGludG8gdGhlIG91dHB1dCBtYXBcbiAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgka2V5OiAkbmV3LXZhbHVlKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gTWFrZSBhIG5hbWUgZm9yIHRoZSBrZXlmcmFtZXNcbiAgJC1tdWktY3VzdG9tOiAkLW11aS1jdXN0b20gKyAxICFnbG9iYWw7XG4gICRtYXAtbmFtZTogKG5hbWU6ICdjdXN0b20tI3skLW11aS1jdXN0b219Jyk7XG4gICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICRtYXAtbmFtZSk7XG5cbiAgQHJldHVybiAkbmV3LW1hcDtcbn1cblxuLy8vIENvbWJpbmVzIHR3byBtYXBzIG9mIENTUyBwcm9wZXJ0aWVzIGludG8gb25lIG1hcC4gSWYgYm90aCBtYXBzIGhhdmUgYSB0cmFuc2Zvcm0gcHJvcGVydHksIHRoZSB2YWx1ZXMgZnJvbSBlYWNoIHdpbGwgYmUgY29tYmluZWQgaW50byBvbmUgcHJvcGVydHkuXG4vLy8gQHBhcmFtIHtNYXB9ICRvbmUgLSBGaXJzdCBtYXAgdG8gbWVyZ2UuXG4vLy8gQHBhcmFtIHtNYXB9ICR0d28gLSBTZWNvbmQgbWFwIHRvIG1lcmdlLlxuLy8vIEByZXR1cm4ge01hcH0gQSBjb21iaW5lZCBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1tZXJnZS1wcm9wZXJ0aWVzKCRvbmUsICR0d28pIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRvbmUsIHRyYW5zZm9ybSkgYW5kIG1hcC1oYXMta2V5KCR0d28sIHRyYW5zZm9ybSkge1xuICAgICR0cmFuc2Zvcm06IGpvaW4obWFwLWdldCgkb25lLCB0cmFuc2Zvcm0pLCBtYXAtZ2V0KCR0d28sIHRyYW5zZm9ybSkpO1xuICAgICRvbmU6IG1hcC1tZXJnZSgkb25lLCAodHJhbnNmb3JtOiAkdHJhbnNmb3JtKSk7XG4gICAgJHR3bzogbWFwLXJlbW92ZSgkdHdvLCB0cmFuc2Zvcm0pO1xuICB9XG5cbiAgQHJldHVybiBtYXAtbWVyZ2UoJG9uZSwgJHR3byk7XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNsaWRpbmcgdHJhbnNpdGlvbiBieSB0cmFuc2xhdGluZyB0aGUgZWxlbWVudCBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW251bGxdIC0gRGlyZWN0aW9uIHRvIHNsaWRlIHRvLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuIEJ5IGRlZmF1bHQgYGxlZnRgIGFuZCBgcmlnaHRgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuLy8vIEBwYXJhbSB7TGVuZ3RofSAkYW1vdW50IFsxMDAlXSAtIExlbmd0aCBvZiB0aGUgc2xpZGUgYXMgYSBwZXJjZW50YWdlIHZhbHVlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXNsaWRlIChcbiAgJHN0YXRlOiBpbixcbiAgJGRpcmVjdGlvbjogbnVsbCxcbiAgJGFtb3VudDogMTAwJSxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc2xpZGUtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRkaXJlY3Rpb246IGlmKCRkaXJlY3Rpb24gIT0gbnVsbCwgJGRpcmVjdGlvbiwgaWYoJHN0YXRlID09IGluLCBsZWZ0LCByaWdodCkpO1xuICAkc2xpZGU6IHNsaWRlKCRzdGF0ZSwgJGRpcmVjdGlvbiwgJGFtb3VudCk7XG5cbiAgLy8gQ1NTIE91dHB1dFxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2xpZGUsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuXG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNsaWRlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGZhZGUgdHJhbnNpdGlvbiBieSBhZGp1c3RpbmcgdGhlIG9wYWNpdHkgb2YgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmcm9tIFtudWxsXSAtIE9wYWNpdHkgdG8gc3RhcnQgYXQuIE11c3QgYmUgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCAxLiBCeSBkZWZhdWx0IGAwYCBhbmQgYDFgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG8gW251bGxdIC0gT3BhY2l0eSB0byBlbmQgb24uIEJ5IGRlZmF1bHQgYDFgIGFuZCBgMGAgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktZmFkZShcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IG51bGwsXG4gICR0bzogbnVsbCxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkZnJvbTogaWYoJGZyb20gIT0gbnVsbCwgJGZyb20sIGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSkpO1xuICAkdG86IGlmKCR0byAhPSBudWxsLCAkdG8sIGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCkpO1xuICAkZmFkZTogZmFkZSgkZnJvbSwgJHRvKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkZmFkZSwgMCk7XG5cbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGZhZGUsIDEwMCk7XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgaGluZ2UgdHJhbnNpdGlvbiBieSByb3RhdGluZyB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmcm9tIFtsZWZ0XSAtIEVkZ2Ugb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIGZyb20uIENhbiBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRheGlzIFtlZGdlXSAtIEF4aXMgb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIG9uLiBDYW4gYmUgYGVkZ2VgIG9yIGBjZW50ZXJgLlxuLy8vIEBwYXJhbSB7TGVuZ3RofSAkcGVyc3BlY3RpdmUgWzIwMDBweF0gLSBQZXJjZWl2ZWQgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdmlld2VyIGFuZCB0aGUgZWxlbWVudC4gQSBoaWdoZXIgbnVtYmVyIHdpbGwgbWFrZSB0aGUgcm90YXRpb24gZWZmZWN0IG1vcmUgcHJvbm91bmNlZC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0dXJuLW9yaWdpbiBbbnVsbF0gLSBTaWRlIG9mIHRoZSBlbGVtZW50IHRvIHN0YXJ0IHRoZSByb3RhdGlvbiBmcm9tLiBDYW4gYmUgYGZyb20tYmFja2Agb3IgYGZyb20tZnJvbnRgLiBCeSBkZWZhdWx0IGBmcm9tLWJhY2tgIGFuZCBgZnJvbS1mcm9udGAgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1oaW5nZSAoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiBsZWZ0LFxuICAkYXhpczogZWRnZSxcbiAgJHBlcnNwZWN0aXZlOiAyMDAwcHgsXG4gICR0dXJuLW9yaWdpbjogbnVsbCxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgaGluZ2UtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICR0dXJuLW9yaWdpbjogaWYoJHR1cm4tb3JpZ2luICE9IG51bGwsICR0dXJuLW9yaWdpbiwgaWYoJHN0YXRlID09IGluLCBmcm9tLWJhY2ssIGZyb20tZnJvbnQpKTtcbiAgJGhpbmdlOiBoaW5nZSgkc3RhdGUsICRmcm9tLCAkYXhpcywgJHBlcnNwZWN0aXZlLCAkdHVybi1vcmlnaW4pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRoaW5nZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkaGluZ2UsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgc2NhbGluZyB0cmFuc2l0aW9uLiBBIHNjYWxlIG9mIGAxYCBtZWFucyB0aGUgZWxlbWVudCBpcyB0aGUgc2FtZSBzaXplLiBMYXJnZXIgbnVtYmVycyBtYWtlIHRoZSBlbGVtZW50IGJpZ2dlciwgd2hpbGUgbnVtYmVycyBsZXNzIHRoYW4gMSBtYWtlIHRoZSBlbGVtZW50IHNtYWxsZXIuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmcm9tIFtudWxsXSAtIFNpemUgdG8gc3RhcnQgYXQuIEJ5IGRlZmF1bHQgYDBgIGFuZCBgMWAgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0byBbbnVsbF0gLSBTaXplIHRvIGVuZCBhdC4gQnkgZGVmYXVsdCBgMWAgYW5kIGAwYCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXpvb20oXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiBudWxsLFxuICAkdG86IG51bGwsXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNjYWxlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkZnJvbTogaWYoJGZyb20gIT0gbnVsbCwgJGZyb20sIGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSkpO1xuICAkdG86IGlmKCR0byAhPSBudWxsLCAkdG8sIGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCkpO1xuICAkc2NhbGU6IHpvb20oJGZyb20sICR0byk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNjYWxlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzY2FsZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBzcGlubmluZyB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LiBUaGUgYHR1cm5gIHVuaXQgaXMgdXNlZCB0byBzcGVjaWZ5IGhvdyBmYXIgdG8gcm90YXRlLiBgMXR1cm5gIGlzIGVxdWFsIHRvIGEgMzYwLWRlZ3JlZSBzcGluLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbbnVsbF0gLSBEaXJlY3Rpb24gdG8gc3Bpbi4gU2hvdWxkIGJlIGBjd2AgKGNsb2Nrd2lzZSkgb3IgYGNjd2AgKGNvdW50ZXJjbG9ja3dpc2UpLiBCeSBkZWZhdWx0IGBjd2AgYW5kIGBjY3dgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYW1vdW50IFswLjc1dHVybl0gLSBBbW91bnQgdG8gZWxlbWVudCB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1zcGluKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBjdyxcbiAgJGFtb3VudDogMC43NXR1cm4sXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNwaW4tYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRkaXJlY3Rpb246IGlmKCRkaXJlY3Rpb24gIT0gbnVsbCwgJGRpcmVjdGlvbiwgaWYoJHN0YXRlID09IGluLCBjdywgY2N3KSk7XG4gICRzcGluOiBzcGluKCRzdGF0ZSwgJGRpcmVjdGlvbiwgJGFtb3VudCk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEga2V5ZnJhbWUgZnJvbSBvbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIGFuZCBhc3NpZ25zIGl0IHRvIHRoZSBlbGVtZW50IGJ5IGFkZGluZyB0aGUgYGFuaW1hdGlvbi1uYW1lYCBwcm9wZXJ0eS5cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICRlZmZlY3RzLi4uIC0gT25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyB0byBidWlsZCB0aGUga2V5ZnJhbWUgd2l0aC5cbkBtaXhpbiBtdWktYW5pbWF0aW9uKCRhcmdzLi4uKSB7XG4gICRuYW1lOiBtYXAtZ2V0KC1tdWktcHJvY2Vzcy1hcmdzKCRhcmdzLi4uKSwgbmFtZSk7XG4gIGFuaW1hdGlvbi1uYW1lOiB1bnF1b3RlKCRuYW1lKTtcbiAgQGluY2x1ZGUgbXVpLWtleWZyYW1lcygkbmFtZSwgJGFyZ3MuLi4pO1xufVxuIiwiQGtleWZyYW1lcyBzY3JvbGxEb3duSW5maW5pdGUge1xuICAwJSB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gIH1cbiAgNTAlIHtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgfVxuICAxMDAlIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxufSIsIi8vIFBsYWNlIGFueSBEcnVwYWwtcmVsYXRlZCBxdWlya3MgaGVyZS5cbi8qXG4gKiB6dXJiX2ZvdW5kYXRpb24uc2NzcyAtIENvbnRhaW5zIGFsbCBEcnVwYWwtc3BlY2lmaWMgU0FTUyBmb3IgdGhpcyB0aGVtZS5cbiAqXG4gKiBAdG9kbyBTcGxpdCB0aGlzIGludG8gbXVsdGlwbGUgZm9sZGVycy9maWxlcy5cbiovXG5cbi8vIEEgZml4IGZvciBodHRwczovL3d3dy5kcnVwYWwub3JnL25vZGUvOTUzMDM0IC0gVGhlbWVzIGN1cnJlbnRseSBjYW5ub3Rcbi8vIGRldGVybWluZSBpZiBhIHJlZ2lvbiBpcyBlbXB0eVxuXG4ucmVnaW9uLWhpZ2hsaWdodGVkOmVtcHR5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLy8gVGhpcyBoYXMgYmVlbiBhbiBpc3N1ZSBzaW5jZSA3LngsIEZvdW5kYXRpb24gcnVsZXMgYWJvdXQgbGlzdCBlbGVtZW50c1xuLy8gYWZmZWN0IE5hdmJhciBzaXppbmcuXG5cbi50b29sYmFyLXRyYXkgYSB7XG4gIGZvbnQtc2l6ZTogMTNweDtcbn1cblxuLy8gUmVtb3ZlIEZvdW5kYXRpb24ncyB0b3AgbWFyZ2luIGZyb20gdGhlIHRvZ2dsZSBvcmllbnRhdGlvbiBidXR0b24uXG5cbi50b29sYmFyIC50b29sYmFyLXRvZ2dsZS1vcmllbnRhdGlvbiAudG9vbGJhci1pY29uIHtcbiAgbWFyZ2luOiAwO1xuICAvLyBGaXggb2Zmc2V0IHByb2JsZW0gd2hlcmUgaGFsZiBvZiBvcmllbnRhdGlvbiBidXR0b24gaXMgbm90IHZpc2libGUuXG4gICY6YmVmb3JlIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICB9XG59XG5cbi8vIE92ZXJyaWRlIHN0eWxlcyBmcm9tIC9jb3JlL21vZHVsZXMvc3lzdGVtL2Nzcy9jb21wb25lbnRzL21lbnUudGhlbWUuY3NzXG5cbi50b3AtYmFyLXNlY3Rpb24gdWwgbGkge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgYS5pcy1hY3RpdmUge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICB9XG59XG5cbi8vIFByZXZlbnRpbmcgVG9wIEJhciBGT1VDXG4vLyBodHRwOi8vZm91bmRhdGlvbi56dXJiLmNvbS9zaXRlcy9kb2NzL3Jlc3BvbnNpdmUtbmF2aWdhdGlvbi5odG1sI3ByZXZlbnRpbmctZm91Y1xuLy8gTW9yZSBpbmZvOiBodHRwczovL3d3dy5kcnVwYWwub3JnL25vZGUvMjc4MzU3M1xuLm5vLWpzIC50b3AtYmFyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubm8tanMgLnRvcC1iYXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5uby1qcyAudGl0bGUtYmFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIE9mZnNldCB0aGUgdG9wIGJhciBpZiB0aGUgTmF2YmFyICh0b29sYmFyKSBpcyBwcmVzZW50LlxuXG5ib2R5LnRvb2xiYXItZml4ZWQgLnN0aWNreS5pcy1zdHVjayAudG9wLWJhciB7XG4gIG1hcmdpbi10b3A6IDM5cHg7XG59XG5cbmJvZHkudG9vbGJhci1maXhlZC50b29sYmFyLWhvcml6b250YWwudG9vbGJhci10cmF5LW9wZW5cbiAgLnN0aWNreS5pcy1zdHVja1xuICAudG9wLWJhciB7XG4gIG1hcmdpbi10b3A6IDc4cHg7XG59XG5cbmJvZHkudG9vbGJhci1maXhlZCAuc3RpY2t5LmlzLXN0dWNrLmlzLWF0LXRvcCB7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbn1cblxuLy8gUmVtb3ZlcyBjb3JlIGFycm93IGltYWdlIGZyb20gbWVudSBpdGVtcy5cblxuLnRvcC1iYXIge1xuICAubWVudS1pdGVtLS1jb2xsYXBzZWQsXG4gIC5tZW51LWl0ZW0tLWV4cGFuZGVkIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICB9XG59XG5cbi8vIFN0eWxlIHRoZSBzZWFyY2ggZm9ybSwgaWYgZW1iZWRkZWQgaW4gdGhlIFRvcCBCYXIuXG5cbi50b3AtYmFyIC5zZWFyY2gtYmxvY2stZm9ybSB7XG4gIC5mb3JtLWl0ZW0ta2V5cyxcbiAgLmZvcm0tYWN0aW9ucyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbi8vIERyb3Bkb3duIGJ1dHRvbiBzdHlsaW5nLlxuXG4uZHJvcGJ1dHRvbi13cmFwcGVyIHtcbiAgLy8gU3ViLXRoZW1lcyB3aWxsIGhhdmUgdG8gb3ZlcnJpZGUgdGhpcyBjb2xvciwgdW5mb3J0dW5hdGVseS5cbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOGNiYTtcbiAgbWFyZ2luOiAwIDAgMS4yNXJlbTtcbiAgLmJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG59XG5cbi5idXR0b24ge1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS15ZWxsb3c7XG4gICAgY29sb3I6ICRibGFjayAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vIEFkZCBBMTF5LXJlbGF0ZWQgQ2xhc3N5IHN0eWxpbmcgZm9yIHJlcXVpcmVkIGZvcm0gZmllbGRzLlxuLmZvcm0tcmVxdWlyZWQ6YWZ0ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiA2cHg7XG4gIGhlaWdodDogNnB4O1xuICBtYXJnaW46IDAgMC4zZW07XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHZlcnRpY2FsLWFsaWduOiBzdXBlcjtcbiAgLy8gVXNlIGEgYmFja2dyb3VuZCBpbWFnZSB0byBwcmV2ZW50IHNjcmVlbiByZWFkZXJzIGZyb20gYW5ub3VuY2luZyB0aGUgdGV4dC5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9mb3VuZGF0aW9uL21pc2MvcmVxdWlyZWQuc3ZnKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiA2cHggNnB4O1xufVxuXG4vLyBGaXggb3ZlcmxhcHBpbmcgZHJvcGRvd24gb24gbm9kZSBwcmV2aWV3IHBhZ2UuXG4ubm9kZS1wcmV2aWV3LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAubm9kZS1wcmV2aWV3LWJhY2tsaW5rIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIH1cblxuICBzZWxlY3Qge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG4vL1NwYWNpbmcgYmV0d2VlbiBjb21tZW50IGJveCBhbmQgYWN0aW9uIGJ1dHRvbnNcbiNlZGl0LWNvbW1lbnQtYm9keS13cmFwcGVyIHtcbiAgbWFyZ2luOiAwIDAgMC42MjVyZW07XG59XG5cbiN0b29sYmFyLWFkbWluaXN0cmF0aW9uIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH0gIFxufVxuXG4vLyBOYXNjb25kbyBpbCBtZW51IGFtbWluaXN0cmF0aXZvIHN1IHRhYmxldCBlIGNlbGx1bGFyZVxuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICBib2R5LnRvb2xiYXItdHJheS1vcGVuLnRvb2xiYXItdmVydGljYWwudG9vbGJhci1maXhlZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgYm9keS5hZG1pbmltYWwtYWRtaW4tdG9vbGJhciB7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICB9XG59XG5cblxuXG4vLyBOYXNjb25kbyBsZSBsYWJlbCBkZWxsZSBzZWxlY3QgXG4uanMtZm9ybS10eXBlLXNlbGVjdCBsYWJlbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59IiwiJGZvbnRJY29uTmFtZTogJ2ludGVycHVtcCc7XG4kZm9udEljb25WZXJzaW9uOiAnMjk1MTc5MCc7XG4kdGhlbWVJY29uczogKFxuICBtb3JlLWhvcml6OiAnXFxlODAwJywgLyogJ+6ggCcgKi9cbiAgbWluaW1pemU6ICdcXGU4MDEnLCAvKiAn7qCBJyAqL1xuICBtb3JlOidcXGU4MDInLCAvKiAn7qCCJyAqL1xuICB0aWNrZXQ6ICdcXGU4MDMnLCAvKiAn7qCDJyAqL1xuICB0aW1lcjogJ1xcZTgwNCcsIC8qICfuoIQnICovXG4gIGV4dGVybmFsLWxpbms6ICdcXGU4MDUnLCAvKiAn7qCFJyAqL1xuICBzZWFyY2g6ICdcXGU4MDYnLCAvKiAn7qCGJyAqL1xuICBleHBhbmQ6ICdcXGU4MDcnLCAvKiAn7qCHJyAqL1xuICBkb3dubG9hZDogJ1xcZTgwOCcsIC8qICfuoIgnICovXG4gIGRyb3Bkb3duLW91dGxpbmU6ICdcXGU4MDknLCAvKiAn7qCJJyAqL1xuICBjaGV2cm9uLXVwOiAnXFxlODBhJywgLyogJ+6giicgKi9cbiAgY2xvc2U6ICdcXGU4MGInLCAvKiAn7qCLJyAqL1xuICBjaGV2cm9uLWRvd246ICdcXGU4MGMnLCAvKiAn7qCMJyAqL1xuICBhcnJvdy1mb3J3YXJkOiAnXFxlODBkJywgLyogJ+6gjScgKi9cbiAgYXJyb3ctZHJvcGRvd246ICdcXGU4MGUnLCAvKiAn7qCOJyAqL1xuICBhdWRpbzogJ1xcZTgwZicsIC8qICfuoI4nICovXG4gIGFycm93LWxlZnQ6ICdcXGU4MTAnLCAvKiAn7qCQJyAqL1xuICBwZGY6ICdcXGU4MTEnLCAvKiAn7qCRJyAqL1xuICBhcnJvdy1iYWNrOiAnXFxlODEyJywgLyogJ+6gkicgKi9cbiAgYXJyb3ctcmlnaHQ6ICdcXGU4MTMnLCAvKiAn7qCTJyAqL1xuICBhdHRhY2htZW50OiAnXFxlODE0JywgLyogJ+6glCcgKi9cbiAgcGxheTogJ1xcZTgxNScsXG4gIG1pbmktYXJyb3ctZG93bjogJ1xcZTgxNicsIC8qICfuoI8nICovXG4gIGNhbGVuZGFyOiAnXFxlODNmJyAvKiAn7qC/JyAqL1xuKTtcblxuLy8gR2VuZXJvIGlsIGZvbnQtZmFjZSBwZXIgaWwgc2V0IGRpIGljb25lXG5AZm9udC1mYWNlIHtcbiAgJGZvbnRVcmw6ICcuLi9mb250cy8nICsgJGZvbnRJY29uTmFtZSArICcvJyArICRmb250SWNvbk5hbWU7XG4gIGZvbnQtZmFtaWx5OiAkZm9udEljb25OYW1lO1xuICBzcmM6IHVybCgkZm9udFVybCArICcuZW90PycgKyAkZm9udEljb25WZXJzaW9uKTtcbiAgc3JjOiB1cmwoJGZvbnRVcmwgKyAnLmVvdD8nICsgJGZvbnRJY29uVmVyc2lvbiArICcjaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gIHVybCgkZm9udFVybCArICcud29mZjI/JyArICRmb250SWNvblZlcnNpb24pIGZvcm1hdCgnd29mZjInKSxcbiAgdXJsKCRmb250VXJsICsgJy53b2ZmPycgKyAkZm9udEljb25WZXJzaW9uKSBmb3JtYXQoJ3dvZmYnKSxcbiAgdXJsKCRmb250VXJsICsgJy50dGY/JyArICRmb250SWNvblZlcnNpb24pIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgdXJsKCRmb250VXJsICsgJy5zdmc/JyArICRmb250SWNvblZlcnNpb24gKyAnIycgKyAkZm9udEljb25OYW1lICsgJycpIGZvcm1hdCgnc3ZnJyk7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLyogSUJNIFBsZXggU2FucyBSZWd1bGFyICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdJQk0gUGxleCBTYW5zJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICBzcmM6IGxvY2FsKCcnKSxcbiAgdXJsKCcuLi9mb250cy9JQk1fUGxleF9TYW5zL0lCTVBsZXhTYW5zLVJlZ3VsYXIudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxufVxuXG4vKiBJQk0gUGxleCBTYW5zIEl0YWxpYyAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnSUJNIFBsZXggU2Fucyc7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgc3JjOiBsb2NhbCgnJyksXG4gIHVybCgnLi4vZm9udHMvSUJNX1BsZXhfU2Fucy9JQk1QbGV4U2Fucy1JdGFsaWMudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLCBcbn1cblxuLyogSUJNIFBsZXggU2FucyBNZWRpdW0qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnSUJNIFBsZXggU2Fucyc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW1lZGl1bTtcbiAgc3JjOiBsb2NhbCgnJyksXG4gIHVybCgnLi4vZm9udHMvSUJNX1BsZXhfU2Fucy9JQk1QbGV4U2Fucy1NZWRpdW0udHRmJykgZm9ybWF0KCd0cnVldHlwZScpLCBcbn1cblxuLyogSUJNIFBsZXggU2FucyBNZWRpdW0gSXRhbGljKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0lCTSBQbGV4IFNhbnMnO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1tZWRpdW07XG4gIHNyYzogbG9jYWwoJycpLFxuICB1cmwoJy4uL2ZvbnRzL0lCTV9QbGV4X1NhbnMvSUJNUGxleFNhbnMtTWVkaXVtSXRhbGljLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSwgXG59XG5cbi8qIElCTSBQbGV4IFNhbnMgQm9sZCovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdJQk0gUGxleCBTYW5zJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgc3JjOiBsb2NhbCgnJyksXG4gIHVybCgnLi4vZm9udHMvSUJNX1BsZXhfU2Fucy9JQk1QbGV4U2Fucy1Cb2xkLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSwgXG59IiwiLy8gRGVmaW5pc2NvIGdsaSBzdGlsaSBnZW5lcmljaSBwZXIgc3BhbiBvIHNpbWlsaSArIGlsIHBsYWNlaG9sZGVyIGRhIGVzdGVuZGVyZSBwZXIgYXBwbGljYXJlIGdsaSBzdGlsaSBkZWxsZSBpY29uZVxuW2NsYXNzXj1cImljbi1cIl06YmVmb3JlLCBbY2xhc3MqPVwiaWNuLVwiXTpiZWZvcmUsXG4laWNuLTpiZWZvcmUsICVpY29uLXN0eWxlIHtcbiAgZm9udC1mYW1pbHk6ICN7JGZvbnRJY29uTmFtZX07XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgc3BlYWs6IG5vbmU7XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4vLyBJdGVybyBsZSBpY29uZSBlIGdlbmVybyBsZSBjbGFzc2kgZGkgY29tb2RvIGRhIHVzYXJlIGluIHNwYW4gbyBzaW1pbGlcbkBlYWNoICRuYW1lLCAkY29udGVudCBpbiAkdGhlbWVJY29ucyB7XG4gIC5pY24tI3skbmFtZX06YmVmb3JlIHsgY29udGVudDogJGNvbnRlbnQ7IH1cbn1cblxuLy8gTWl4aW4gcGVyIGluc2VyaXJlIGxhdG8gc2NzcyB1biBpY29uYVxuLy8gQGluY2x1ZGUgaWNvbihiZWZvcmUsIG5hbWUpO1xuQG1peGluIGljb24oJHBvc2l0aW9uOiBiZWZvcmUsICRpY29uOiBmYWxzZSkge1xuICBAaWYgJHBvc2l0aW9uID09IGJvdGggeyAkcG9zaXRpb246ICdiZWZvcmUsICY6YWZ0ZXInOyB9XG5cbiAgJjojeyRwb3NpdGlvbn0ge1xuICAgIEBleHRlbmQgJWljb24tc3R5bGU7XG4gICAgQGlmICRpY29uIHsgY29udGVudDogXCIje21hcC1nZXQoJHRoZW1lSWNvbnMsICRpY29uKX1cIjsgfVxuXG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIG92ZXJsYXkoXG4gICRiZ0NvbG9yOiAkYmxhY2ssXG4gICRiZ09wYWNpdHk6IDAuNixcbiAgJHpJbmRleDogMCxcbiAgJHBvc2l0aW9uOiBcImFmdGVyXCJcbikge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG5cbiAgJjojeyRwb3NpdGlvbn0ge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKCRiZ0NvbG9yLCAkYmdPcGFjaXR5KTtcbiAgICB6LWluZGV4OiAkekluZGV4O1xuICB9XG59XG5cbkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIEBjb250ZW50O1xuICB9XG4gICY6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCJodG1sOm5vdCguZnJvbnRwYWdlKSB7XG4gIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xufVxuXG46cm9vdCB7XG4gIC0tc3dpcGVyLXRoZW1lLWNvbG9yOiAjNDZiMzg0O1xufVxuXG4qOmZvY3VzIHtcbiAgb3V0bGluZTogMCBub25lO1xufVxuXG5ib2R5IHtcbiAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG4gICYubm9zY3JvbGwge1xuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgfVxufVxuLy8gU3RpbGkgY29tdW5pIHBlciBpbW1hZ2luaSBkaSBzZm9uZG9cbi5iZ0NvdmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi5iZ0NvdmVyQWJzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG5cbiAgQGV4dGVuZCAuYmdDb3Zlcjtcbn1cblxuLyogRWxldmF0aW9ucyAqL1xuLmVsZXZhdGlvbi1iYXNlIHtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgb3BhY2l0eTogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxKTtcbn1cblxuLmVsZXZhdGlvbi0wMCB7XG4gIEBleHRlbmQgLmVsZXZhdGlvbi1iYXNlO1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMik7XG59XG4uZWxldmF0aW9uLTAxIHtcbiAgQGV4dGVuZCAuZWxldmF0aW9uLWJhc2U7XG4gIGJveC1zaGFkb3c6IDBweCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cbi5lbGV2YXRpb24tMDIge1xuICBAZXh0ZW5kIC5lbGV2YXRpb24tYmFzZTtcbiAgYm94LXNoYWRvdzogMHB4IDJweCAzcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuLmVsZXZhdGlvbi0wMyB7XG4gIEBleHRlbmQgLmVsZXZhdGlvbi1iYXNlO1xuICBib3gtc2hhZG93OiAwcHggM3B4IDRweCByZ2JhKDAsIDAsIDAsIDAuMik7XG59XG4uZWxldmF0aW9uLTA0IHtcbiAgQGV4dGVuZCAuZWxldmF0aW9uLWJhc2U7XG4gIGJveC1zaGFkb3c6IDBweCA0cHggNnB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cbi5lbGV2YXRpb24tMDYge1xuICBAZXh0ZW5kIC5lbGV2YXRpb24tYmFzZTtcbiAgYm94LXNoYWRvdzogMHB4IDZweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cbi5lbGV2YXRpb24tMDgge1xuICBAZXh0ZW5kIC5lbGV2YXRpb24tYmFzZTtcbiAgYm94LXNoYWRvdzogMHB4IDhweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cbi5lbGV2YXRpb24tMDkge1xuICBAZXh0ZW5kIC5lbGV2YXRpb24tYmFzZTtcbiAgYm94LXNoYWRvdzogMHB4IDlweCAxNHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cbi5lbGV2YXRpb24tMTIge1xuICBAZXh0ZW5kIC5lbGV2YXRpb24tYmFzZTtcbiAgYm94LXNoYWRvdzogMHB4IDEycHggMThweCByZ2JhKDAsIDAsIDAsIDAuMik7XG59XG4uZWxldmF0aW9uLTE2IHtcbiAgQGV4dGVuZCAuZWxldmF0aW9uLWJhc2U7XG4gIGJveC1zaGFkb3c6IDBweCAxNnB4IDI2cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuLmVsZXZhdGlvbi0yNCB7XG4gIEBleHRlbmQgLmVsZXZhdGlvbi1iYXNlO1xuICBib3gtc2hhZG93OiAwcHggMjRweCA0MHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cblxuLnVuZGVybGluZWQtdGV4dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gIGxldHRlci1zcGFjaW5nOiAzcHg7XG4gIGxpbmUtaGVpZ2h0OiAycmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG5cbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbWFyZ2luLXRvcDogOHB4O1xuICAgIHRvcDogMTRweDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWdyZWVuO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjVzO1xuICB9XG59XG5cbi8qKiBMaW5rcyAqKi9cbmEge1xuICBjb2xvcjogJHByaW1hcnktZ3JlZW47XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICRwcmltYXJ5LWdyZWVuO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG5cbiAgJi5saW5rLWRvd25sb2FkLFxuICAmLmxpbmstZXh0ZXJuYWwsXG4gICYubGluay1lbWFpbCxcbiAgJi5saW5rLWljb24ge1xuICAgIEBleHRlbmQgLmJvZHkteHM7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY29sb3I6ICRibGFjaztcbiAgICBsZXR0ZXItc3BhY2luZzogM3B4ICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBwYWRkaW5nOiA4cHggOHB4IDhweCAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjVzO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICAgIHBhZGRpbmc6IDEycHggOXB4IDEycHggMTJweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWdyZWVuO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzO1xuICAgIH1cblxuICAgIC8vIEhvdmVyXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnkteWVsbG93O1xuICAgICAgfVxuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnkteWVsbG93O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYubGluay1kb3dubG9hZCxcbiAgJi5saW5rLWV4dGVybmFsLFxuICAmLmxpbmstZW1haWwge1xuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDQ3cHg7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0N3B4KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWdyZWVuO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XG4gICAgfVxuICB9XG5cbiAgJi5saW5rLWRvd25sb2FkLFxuICAmLnBkZi1pY29uIHtcbiAgICBAaW5jbHVkZSBpY29uKGJlZm9yZSwgcGRmKTtcbiAgfVxuXG4gICYubGluay1leHRlcm5hbCB7XG4gICAgQGluY2x1ZGUgaWNvbihiZWZvcmUsIGV4dGVybmFsLWxpbmspIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgIH1cbiAgfVxuXG4gICYubGluay1lbWFpbCB7XG4gICAgQGluY2x1ZGUgaWNvbihiZWZvcmUsIGV4dGVybmFsLWxpbmspIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgIH0gLy9UT0RPIE1BTkNBIElDT05BIEVNQUlMXG4gIH1cblxuICAmLmxpbmstbW9yZSB7XG4gICAgQGV4dGVuZCAudW5kZXJsaW5lZC10ZXh0O1xuICAgIGNvbG9yOiAkYmxhY2s7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LXllbGxvdztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmxpbmstYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyLXJhZGl1czogMjRweDtcbiAgICBwYWRkaW5nOiAxNnB4IDU2cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktZ3JlZW47XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICBsZXR0ZXItc3BhY2luZzogMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOCk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS15ZWxsb3c7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJi5saW5rLWljb24ge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxufVxuXG4vKiBTZXBhcmF0b3JzICovXG5cbi5zZXBhcmF0b3Ige1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnNlcGFyYXRvci1ib3R0b20ge1xuICBAZXh0ZW5kIC5zZXBhcmF0b3I7XG5cbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3R0b206IDA7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktZ3JlZW47XG4gICAgbWFyZ2luLXRvcDogMTRweDtcbiAgfVxufVxuXG4uc2VwYXJhdG9yLWJvdHRvbS1zbWFsbCB7XG4gIEBleHRlbmQgLnNlcGFyYXRvci1ib3R0b207XG5cbiAgJjphZnRlciB7XG4gICAgd2lkdGg6IDM1cHg7XG4gIH1cbn1cblxuLy8gVmlkZW8gSG9tZXBhZ2UgY29uIEdTQVBcbi52aWRlby13cmFwcGVyIHtcblxuICAudmlkZW8tY292ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTAwcHgpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgaW1nIHtcbiAgICAgIGhlaWdodDogMzUwcHg7XG4gICAgfVxuICB9XG5cbiAgI3ZpZGVvLWhvbWUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuICAudmlkZW8tdGV4dCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgei1pbmRleDogMDtcblxuICAgIHAge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGZvbnQtc2l6ZTogNjhweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cblxuICAgID4gcCA+IGRpdiB7XG4gICAgICB6LWluZGV4OiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyBTY3JvbGwgZG93biBpY29uXG4uc2Nyb2xsLWRvd24ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMTAwcHg7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogNjBweDtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuXG4gIEBpbmNsdWRlIGljb24oYWZ0ZXIsIG1pbmktYXJyb3ctZG93bikge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgYW5pbWF0aW9uOiBzY3JvbGxEb3duSW5maW5pdGUgMS41cyBpbmZpbml0ZTtcbiAgfVxuXG4gIHAge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW1lZGl1bTtcbiAgfVxufVxuXG4vLyBFbGVtZW50aSBhbGwnaW50ZXJubyBkZWwgY2FtcG8gdGVzdG8gc3RhbmRhcmRcbi5maWVsZC0tbmFtZS1maWVsZC1tc2ctYy1ib2R5IHtcbiAgdWwge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgLyogUmltdW92ZSBpIGNlcmNoaWV0dGkgcHJlZGVmaW5pdGkgKi9cbiAgICBwYWRkaW5nOiAwOyAvKiBSaW11b3ZlIGlsIHBhZGRpbmcgcHJlZGVmaW5pdG8gZGVsbCdlbGVuY28gKi9cblxuICAgIGxpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiA2cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgbGk6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktZ3JlZW47XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMTRweDtcbiAgICAgIGhlaWdodDogMTRweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogOXB4O1xuICAgICAgbGVmdDogLTI0cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiA3cHg7XG4gICAgfVxuICB9XG59XG5cbi5iYXNpYy1pY29uIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWdyZWVuO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLy8gUmlnaGUgcGVyIGxpc3RhIGRvY3VtZW50aVxuLmN1c3RvbS1yb3ctd3JhcHBlciB7XG4gIGNvbG9yOiAkYmxhY2s7XG4gIHBhZGRpbmc6IDIwcHggMDtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgLmN1c3RvbS1yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuY3VzdG9tLXRpdGxlLXdyYXBwZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jdXN0b20taWNvbiB7XG4gICAgICBAZXh0ZW5kIC5iYXNpYy1pY29uO1xuXG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cztcblxuICAgICAgQGluY2x1ZGUgaWNvbihiZWZvcmUsIHBkZik7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmN1c3RvbS10aXRsZSB7XG4gICAgICBAZXh0ZW5kIC5ib2R5LW07XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG5cbiAgICAgIHNwYW4sIC5maWVsZC0tbm9kZS1maWVsZC1zdWJ0aXRsZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmN1c3RvbS1kYXRlIHtcbiAgICAgIEBleHRlbmQgLmJvZHktbTtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jYWxlbmRhci1hdHRhY2gtbXVsdGlwbGUtd3JhcCB7XG4gICAgZmxleDogMSAxIDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAucmVhZC1tb3JlLWNhbGVuZGFyLWF0dGFjaCB7XG4gICAgICBtYXJnaW46IDEwcHggMCAwIDA7XG5cbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG5cbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgQGV4dGVuZCAudW5kZXJsaW5lZC10ZXh0O1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNhbGVuZGFyLWF0dGFjaG1lbnRzLWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICBwYWRkaW5nLXRvcDogMjBweDtcblxuICAgICAgLml0ZW0tY2FsZW5kYXItYXR0YWNoIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgcGFkZGluZzogMTBweCAwO1xuXG4gICAgICAgIGNvbG9yOiBibGFjaztcblxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0QxRDJENDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWdyZWVuO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAqIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgICAgIG1hcmdpbjogMCAxNXB4IDAgMDtcblxuICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC50aXRsZS1jYWxlbmRhci1hdHRhY2gge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNjVweCk7XG4gICAgICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICAgICAgICBAZXh0ZW5kIC5ib2R5LW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA1NXB4KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnNpemUtY2FsZW5kYXItYXR0YWNoIHtcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgICAgICB3aWR0aDogOTBweDtcblxuICAgICAgICAgIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pY29uLWNhbGVuZGFyLWF0dGFjaCB7XG4gICAgICAgICAgd2lkdGg6IDMwcHg7XG5cbiAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY2FsZW5kYXItYXR0YWNoLmFwcGxpY2F0aW9uLXBkZiB7XG4gICAgICAgICAgQGluY2x1ZGUgaWNvbihiZWZvcmUsIHBkZik7XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tY2FsZW5kYXItYXR0YWNoLmF1ZGlvLW1wZWcge1xuICAgICAgICAgIEBpbmNsdWRlIGljb24oYmVmb3JlLCBhdWRpbyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmF1ZGlvIC5jdXN0b20tcm93IC5jdXN0b20taWNvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiI3ttYXAtZ2V0KCR0aGVtZUljb25zLCBhdWRpbyl9XCI7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGJsYWNrO1xuXG4gICAgLmN1c3RvbS1pY29uIHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnkteWVsbG93O1xuICAgICAgfVxuICAgIH1cbiAgICAuY3VzdG9tLXRpdGxlIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxufVxuLmN1c3RvbS1yb3ctd3JhcHBlci5tdWx0aXBsZS1hdHRhY2htZW50cyB7XG4gIC5jdXN0b20tcm93IHtcbiAgICBwYWRkaW5nOiAyMHB4IDAgMzBweCAwO1xuXG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cbiAgICAuY3VzdG9tLXJpZ2h0LXdyYXBwZXIgLmNhbGVuZGFyLWljb24ge1xuICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBIaWRlIHN1Ym1pdCBidXR0b25cbmZvcm1bZGF0YS1iZWYtYXV0by1zdWJtaXRdIHtcbiAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vIEZhbmN5Ym94IE1vZGFsc1xuLm1vZGFsLW1pbmljYXJkLmZhbmN5Ym94LWNvbnRlbnQge1xuICBwYWRkaW5nOiA2NHB4O1xuICAuZmFuY3lib3gtYnV0dG9uIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWdyZWVuO1xuICB9XG5cbiAgLm1vZGFsLWNvbnRlbnQge1xuICB9XG5cbiAgLm1vZGFsLWxpbmsge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogNDBweDtcbiAgICBwYWRkaW5nLXRvcDogNDBweDtcblxuICAgIC5tZWRpYS1saW5rIHtcbiAgICAgIG1pbi13aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEljb25lIHBlciB0YWJlbGxhXG4udGV4dC10by1pY29uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMDtcbiAgd2lkdGg6IDI1cHg7XG4gIGhlaWdodDogMjVweDtcbiAgbWFyZ2luOiBhdXRvO1xuXG4gICYuY2hlY2sge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvY2hlY2sucG5nKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgfVxufVxuLnRleHQtY2hlY2staWNvbiB7XG4gIGNvbG9yOiAkcHJpbWFyeS1ncmVlbjtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xufVxuXG4vLyBUYWJzXG4udGFicyB7XG4gIGJvcmRlcjogbm9uZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG5cbiAgLnRhYnMtdGl0bGUge1xuICAgIG1hcmdpbjogMDtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJHdoaXRlO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjVzO1xuXG4gICAgYSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgIHBhZGRpbmc6IDE1cHggMTBweDtcbiAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcblxuICAgICAgJlthcmlhLXNlbGVjdGVkPVwidHJ1ZVwiXSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSxcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkYmxhY2s7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cbi50YWJzLXBhbmVsIHtcbiAgcGFkZGluZzogMDtcbn1cbi50YWJzLWNvbnRlbnQge1xuICBib3JkZXI6IG5vbmU7XG59XG4uc2Nyb2xsZXItdGFibGUge1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG5pZnJhbWUge1xuICB3aWR0aDogMXB4O1xuICBtaW4td2lkdGg6IDEwMCU7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4iLCIuaC14eGwsXG4uaC14bCxcbi5oLWwsXG4uaC1tLFxuLmgtcyxcbi5oLXhzIHtcbiAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW1lZGl1bTtcbiAgb3BhY2l0eTogMTtcbiAgbGV0dGVyLXNwYWNpbmc6IDBweDtcbn1cblxuLmJvZHktbCxcbi5ib2R5LW0sXG4uYm9keS1zLFxuLmJvZHkteHMge1xuICBvcGFjaXR5OiAxO1xuICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICBsZXR0ZXItc3BhY2luZzogMHB4O1xufVxuXG4vKipcbiAqIFNwZXJpbWVudGFsZVxuICogU2kgcG9zc29ubyBzZXBjaWZpY2FyZSBpIHRhZyBoWCBlIHAgbyB1bmEgY2xhc3NlIGN1c3RvbS5cbiAqL1xuJG92ZXJyaWRlZC10YWdzOiAoXCJoMVwiLCBcImgyXCIsIFwiaDNcIiwgXCJoNFwiLCBcImg1XCIsIFwiaDZcIiwgXCJwXCIsIFwiYVwiKTtcbiRyZXNwb25zaXZlLXJ1bGVzOiAoXG4gIGgteHhsOiAoXG4gICAgc21hbGw6IChcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNDQpLFxuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW1lZGl1bSxcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg0NCksXG4gICAgKSxcbiAgICBtZWRpdW06IChcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNjApLFxuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW1lZGl1bSxcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg2NCksXG4gICAgKSxcbiAgICBsYXJnZTogKFxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg2NCksXG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbWVkaXVtLFxuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDY4KSxcbiAgICApLFxuICApLFxuICBoLXhsOiAoXG4gICAgc21hbGw6IChcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNDIpLFxuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW1lZGl1bSxcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg0MiksXG4gICAgKSxcbiAgICBtZWRpdW06IChcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNTIpLFxuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW1lZGl1bSxcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg1MiksXG4gICAgKSxcbiAgICBsYXJnZTogKFxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg1NiksXG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbWVkaXVtLFxuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDU2KSxcbiAgICApLFxuICApLFxuICBoLWw6IChcbiAgICBzbWFsbDogKFxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg0MCksXG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbWVkaXVtLFxuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDQ0KSxcbiAgICApLFxuICAgIG1lZGl1bTogKFxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg0NCksXG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbWVkaXVtLFxuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDQ4KSxcbiAgICApLFxuICAgIGxhcmdlOiAoXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDQ4KSxcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1tZWRpdW0sXG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNTYpLFxuICAgICksXG4gICksXG4gIGgtbTogKFxuICAgIHNtYWxsOiAoXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDMyKSxcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1tZWRpdW0sXG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzYpLFxuICAgICksXG4gICAgbWVkaXVtOiAoXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDM2KSxcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1tZWRpdW0sXG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNDApLFxuICAgICksXG4gICAgbGFyZ2U6IChcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNDApLFxuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW1lZGl1bSxcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg0NiksXG4gICAgKSxcbiAgKSxcbiAgaC1zOiAoXG4gICAgc21hbGw6IChcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpLFxuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW1lZGl1bSxcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNCksXG4gICAgKSxcbiAgICBtZWRpdW06IChcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjgpLFxuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW1lZGl1bSxcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzMiksXG4gICAgKSxcbiAgICBsYXJnZTogKFxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzMiksXG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbWVkaXVtLFxuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDM4KSxcbiAgICApLFxuICApLFxuICBoLXhzOiAoXG4gICAgc21hbGw6IChcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApLFxuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW1lZGl1bSxcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMiksXG4gICAgKSxcbiAgICBtZWRpdW06IChcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpLFxuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW1lZGl1bSxcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNCksXG4gICAgKSxcbiAgICBsYXJnZTogKFxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCksXG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbWVkaXVtLFxuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDMwKSxcbiAgICApLFxuICApLFxuICBib2R5LWw6IChcbiAgICBzbWFsbDogKFxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCksXG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsLFxuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDMwKSxcbiAgICApLFxuICAgIG1lZGl1bTogKFxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCksXG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsLFxuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDMwKSxcbiAgICApLFxuICAgIGxhcmdlOiAoXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKSxcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwsXG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzApLFxuICAgICksXG4gICksXG4gIGJvZHktbTogKFxuICAgIHNtYWxsOiAoXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KSxcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwsXG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjIpLFxuICAgICksXG4gICAgbWVkaXVtOiAoXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KSxcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwsXG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjYpLFxuICAgICksXG4gICAgbGFyZ2U6IChcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpLFxuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCxcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNiksXG4gICAgKSxcbiAgKSxcbiAgYm9keS1zOiAoXG4gICAgc21hbGw6IChcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpLFxuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCxcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxNCksXG4gICAgKSxcbiAgICBtZWRpdW06IChcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpLFxuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCxcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOCksXG4gICAgKSxcbiAgICBsYXJnZTogKFxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCksXG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsLFxuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE4KSxcbiAgICApLFxuICApLFxuICBib2R5LXhzOiAoXG4gICAgc21hbGw6IChcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpLFxuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCxcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOCksXG4gICAgKSxcbiAgICBtZWRpdW06IChcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpLFxuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCxcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOCksXG4gICAgKSxcbiAgICBsYXJnZTogKFxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMiksXG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsLFxuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE4KSxcbiAgICApLFxuICApLFxuKTtcblxuLmZvbnQtd2hpdGUge1xuICBjb2xvcjogJHdoaXRlO1xufVxuLmZvbnQtZ3JlZW4ge1xuICBjb2xvcjogJHByaW1hcnktZ3JlZW47XG59XG4jbWFpbi5jb2x1bW5zIHtcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICB9XG59XG5cbi8vIFN0aWxpIGN1c3RvbSBwZXIgc29sbyBpbCBtYWluIGNvbnRlbnRcbi5ibG9jay1zeXN0ZW0tbWFpbi1ibG9jayB7XG4gIC8vIFN0aWxpIGxpbmtzXG4gIGEjbWFpbi1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gU3RpbGkgdGFiZWxsZVxuICAudGFibGUtc2Nyb2xsZXIge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gIH1cblxuICB0YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG5cbiAgICB0aGVhZCB7XG4gICAgICB0ciB7XG4gICAgICAgIHRoIHtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHRib2R5IHtcbiAgICAgIHRyIHtcbiAgICAgICAgdGQge1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4gICAgICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gU3RpbGUgZWxlbmNoaSwgc29sbyBpbiBjYW1waSBXWVNJV1lHXG4uYmxvY2stc3lzdGVtLW1haW4tYmxvY2sge1xuICAuZmllbGQtdHlwZS10ZXh0LXdpdGgtc3VtbWFyeSxcbiAgLmZpZWxkLXR5cGUtdGV4dC1sb25nIHtcbiAgICB1bDpub3QoLm5vc3R5bGUpLFxuICAgIG9sIHtcbiAgICAgICY6bm90KC5jb250ZXh0dWFsLWxpbmtzKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgICAgID4gbGkge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBtYXJnaW46IDAgMCAwcHggMDtcbiAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAyNHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHVsOm5vdCgubm9zdHlsZSkge1xuICAgICAgJjpub3QoLmNvbnRleHR1YWwtbGlua3MpIHtcbiAgICAgICAgPiBsaSB7XG4gICAgICAgICAgLy8gVE9ETyAtIEV2ZW50dWFsZSBpY29uYVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIG9sIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBjb3VudGVyLXJlc2V0OiBvbExpO1xuXG4gICAgICA+IGxpIHtcbiAgICAgICAgY291bnRlci1pbmNyZW1lbnQ6IG9sTGk7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IGNvdW50ZXIob2xMaSk7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogMDtcblxuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gU3RpbGkgcGVyIGxpbmsgZSBib3R0b25pXG4uY3RhQnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItcmFkaXVzOiAyNHB4O1xuICBwYWRkaW5nOiAxNnB4IDU2cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWdyZWVuO1xuICBjb2xvcjogJHdoaXRlO1xuICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gIGxldHRlci1zcGFjaW5nOiAwcHg7XG4gIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOCk7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnkteWVsbG93O1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gIH1cbn1cbiIsIi8qKlxuICogR2VzdGlvbmUgY29uZmlndXJhemlvbmUgZWxlbWVudGkgcmVzcG9uc2l2ZVxuICoqL1xuICRzZWxlY3RvcjogJyc7XG4gQGVhY2ggJG5hbWUsICRzaXplcyBpbiAkcmVzcG9uc2l2ZS1ydWxlcyB7XG4gICBAZWFjaCAkc2l6ZSwgJHByb3BlcnRpZXMgaW4gJHNpemVzIHtcbiAgICAgQGlmIGluZGV4KCRvdmVycmlkZWQtdGFncywgJG5hbWUpICE9IG51bGwge1xuICAgICAgICRzZWxlY3RvcjogXCIjeyRuYW1lfSwgLiN7JG5hbWV9XCI7XG4gICAgIH0gQGVsc2Uge1xuICAgICAgICRzZWxlY3RvcjogXCIuI3skbmFtZX1cIjtcbiAgICAgfVxuICAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgIEBlYWNoICRwcm9wZXJ0eSwgJHZhbHVlIGluICRwcm9wZXJ0aWVzIHtcbiAgICAgICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICAgICB9XG4gICAgICAgfVxuICAgICB9XG4gICB9XG4gfSIsIi8qKlxuICogR2VzdGlvbmUgaGFtYnVyZ2VyIG1lbnVcbiAqIExpYnJlcmlhIGRpIHJpZmVyaW1lbnRvOiBodHRwczovL2dpdGh1Yi5jb20va2Fwb2tvL2RlbGljaW91cy1oYW1idXJnZXJzXG4gKiBEZW1vIHN0aWxpOiBodHRwczovL2thcG9rby5naXRodWIuaW8vZGVsaWNpb3VzLWhhbWJ1cmdlcnMvXG4gKiBJbnN0YWxsYXRhIHRyYW1pdGUgbnBtXG4gKi9cblxuLy8gUHVudG8gcGVyIGN1c3RvbWl6emF6aW9uZS5cbi8vIFNpIHZlZGEgbGEgZG9jIHVmZmljaWFsZSBwZXIgbGEgbGlzdGEgZGVsbGUgdmFyaWFiaWxpIGNoZSDDqCBwb3NzaWJpbGUgc292cmFzY3JpdmVyZVxuJGhhbWJ1cmdlci1jb2xvcjogJHByaW1hcnktZ3JlZW47XG4kaGFtYnVyZ2VyLWNvbG9yLWFjdGl2ZTogJHByaW1hcnktZ3JlZW47XG4kaGFtYnVyZ2VyLXNpemU6IDQwcHg7IC8vIFNldCBib3RoIHdpZHRoIGFuZCBoZWlnaHRcblxuQGltcG9ydCBcImhhbWJ1cmdlcnMvaGFtYnVyZ2Vyc1wiOyIsIi8qIVxyXG4gKiBkZWxpY2lvdXMtaGFtYnVyZ2Vyc1xyXG4gKiBAZGVzY3JpcHRpb24gQmVhdXRpZnVsIFNBU1MgcG93ZXJlZCBoYW1idXJnZXIgbWVudSB0b2dnbGUgYnV0dG9uc1xyXG4gKiBAYXV0aG9yIEthc3BlciBLb21hblxyXG4gKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20va2Fwb2tvL2RlbGljaW91cy1oYW1idXJnZXJzXHJcbiAqL1xyXG5cclxuQGltcG9ydCBcImJhc2VcIjtcclxuQGltcG9ydCBcImFuaW1hdGlvbnMvZGVmYXVsdFwiO1xyXG5AaW1wb3J0IFwiYW5pbWF0aW9ucy9jcmlzcy1jcm9zc1wiO1xyXG4vKlxyXG5AaW1wb3J0IFwiYW5pbWF0aW9ucy9hcHBsZVwiO1xyXG5AaW1wb3J0IFwiYW5pbWF0aW9ucy9hcnJvd1wiO1xyXG5AaW1wb3J0IFwiYW5pbWF0aW9ucy9hcnJvdy1yaWdodFwiO1xyXG5AaW1wb3J0IFwiYW5pbWF0aW9ucy9zcGluXCI7XHJcbkBpbXBvcnQgXCJhbmltYXRpb25zL2NvbGxhcHNlXCI7XHJcbkBpbXBvcnQgXCJhbmltYXRpb25zL21pbmltYWxcIjtcclxuQGltcG9ydCBcImFuaW1hdGlvbnMvZGl2ZVwiO1xyXG5AaW1wb3J0IFwiYW5pbWF0aW9ucy9zdGFja1wiO1xyXG5AaW1wb3J0IFwiYW5pbWF0aW9ucy9jb252ZXJnZVwiO1xyXG5AaW1wb3J0IFwiYW5pbWF0aW9ucy90d2lzdFwiO1xyXG5AaW1wb3J0IFwiYW5pbWF0aW9ucy9tYWduZXRpY1wiO1xyXG5AaW1wb3J0IFwiYW5pbWF0aW9ucy9jaG9wXCI7XHJcbkBpbXBvcnQgXCJhbmltYXRpb25zL3BhcmFsbGVsXCI7XHJcbkBpbXBvcnQgXCJhbmltYXRpb25zL3ZlcnRpY2FsXCI7XHJcbkBpbXBvcnQgXCJhbmltYXRpb25zL3B1c2hcIjtcclxuQGltcG9ydCBcImFuaW1hdGlvbnMvZmxhdHRlblwiO1xyXG5AaW1wb3J0IFwiYW5pbWF0aW9ucy9zaW1wbGVcIjtcclxuQGltcG9ydCBcImFuaW1hdGlvbnMvc2hlbGZcIjsqL1xyXG4iLCJAdXNlIFwic2FzczptYXRoXCI7XG5AdXNlIFwic2FzczpsaXN0XCI7XG5AaW1wb3J0IFwidmFyaWFibGVzXCI7XG5cbkBtaXhpbiBoYW1idXJnZXItYmFyKCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRoYW1idXJnZXItY29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogJGhhbWJ1cmdlci1iYXItYm9yZGVyLXJhZGl1cztcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogJGhhbWJ1cmdlci10aGlja25lc3M7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG5idXR0b24uI3skaGFtYnVyZ2VyLWNsYXNzLW5hbWV9IHtcbiAgICBoZWlnaHQ6ICRoYW1idXJnZXItc2l6ZTtcbiAgICB3aWR0aDogJGhhbWJ1cmdlci13aWR0aDtcbn1cblxuZGl2LiN7JGhhbWJ1cmdlci1jbGFzcy1uYW1lfSB7XG4gICAgaGVpZ2h0OiAkaGFtYnVyZ2VyLXNpemUgLSAoJGhhbWJ1cmdlci1ib3JkZXItd2lkdGggKiAyKTtcbiAgICB3aWR0aDogJGhhbWJ1cmdlci13aWR0aCAtICgkaGFtYnVyZ2VyLWJvcmRlci13aWR0aCAqIDIpO1xuXG4gICAgPiAuaW5uZXIge1xuICAgICAgICB0b3A6IDUwJTtcbiAgICB9XG59XG5cbi4jeyRoYW1idXJnZXItY2xhc3MtbmFtZX0ge1xuICAgICRiYXNlLXRyYW5zaXRpb25zOiBvcGFjaXR5ICRoYW1idXJnZXItb3BhY2l0eS10cmFuc2l0aW9uLXNwZWVkICRoYW1idXJnZXItZWFzaW5nLFxuICAgICAgICBiYWNrZ3JvdW5kICRoYW1idXJnZXItYmFja2dyb3VuZC10cmFuc2l0aW9uLXNwZWVkICRoYW1idXJnZXItZWFzaW5nO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhhbWJ1cmdlci1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlcjogJGhhbWJ1cmdlci1ib3JkZXItd2lkdGggJGhhbWJ1cmdlci1ib3JkZXItY29sb3Igc29saWQ7XG4gICAgYm9yZGVyLXJhZGl1czogJGhhbWJ1cmdlci1ib3JkZXItcmFkaXVzO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udDogaW5oZXJpdDtcbiAgICBvcGFjaXR5OiAkaGFtYnVyZ2VyLW9wYWNpdHk7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgcGFkZGluZzogJGhhbWJ1cmdlci1wYWRkaW5nO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zaXRpb246IGxpc3QuYXBwZW5kKCRiYXNlLXRyYW5zaXRpb25zLCAkaGFtYnVyZ2VyLWV4dHJhLXRyYW5zaXRpb24tcnVsZXMpO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRoYW1idXJnZXItYmFja2dyb3VuZC1ob3ZlcjtcbiAgICAgICAgb3BhY2l0eTogJGhhbWJ1cmdlci1vcGFjaXR5LWhvdmVyO1xuXG4gICAgICAgIHNwYW4uYmFyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRoYW1idXJnZXItY29sb3ItaG92ZXI7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5pbm5lcixcbiAgICAgICAgc3Bhbi5iYXIge1xuICAgICAgICAgICAgJjpudGgtY2hpbGQoMSksXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgyKSxcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGFtYnVyZ2VyLWNvbG9yLWhvdmVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuI3skaGFtYnVyZ2VyLWFjdGl2ZS1jbGFzcy1uYW1lfSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRoYW1idXJnZXItYmFja2dyb3VuZC1hY3RpdmU7XG5cbiAgICAgICAgc3Bhbi5iYXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhhbWJ1cmdlci1jb2xvci1hY3RpdmU7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5pbm5lcixcbiAgICAgICAgc3Bhbi5iYXIge1xuICAgICAgICAgICAgJjpudGgtY2hpbGQoMSksXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgyKSxcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGFtYnVyZ2VyLWNvbG9yLWFjdGl2ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICA+IC5pbm5lciB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogbWF0aC5kaXYoLSRoYW1idXJnZXItdGhpY2tuZXNzLCAyKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBzcGFuLmJhciB7XG4gICAgICAgIEBpbmNsdWRlIGhhbWJ1cmdlci1iYXI7XG5cbiAgICAgICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgICAgICAgdG9wOiAtJGhhbWJ1cmdlci1iYXItc3BhY2luZztcbiAgICAgICAgfVxuXG4gICAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICAgIHRvcDogJGhhbWJ1cmdlci1iYXItc3BhY2luZztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hdGhcIjtcblxuLy8gVmFyaWFibGVzXG4kaGFtYnVyZ2VyLWNsYXNzLW5hbWU6IFwiaGFtYnVyZ2VyXCIgIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWFjdGl2ZS1jbGFzcy1uYW1lOiBcImFjdGl2ZVwiICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1zaXplOiA1MHB4ICFkZWZhdWx0O1xuJGhhbWJ1cmdlci13aWR0aDogJGhhbWJ1cmdlci1zaXplICFkZWZhdWx0O1xuJGhhbWJ1cmdlci10aGlja25lc3M6IDJweCAhZGVmYXVsdDtcbiRoYW1idXJnZXItY29sb3I6ICMwMDAgIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWNvbG9yLWhvdmVyOiAkaGFtYnVyZ2VyLWNvbG9yICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1jb2xvci1hY3RpdmU6ICRoYW1idXJnZXItY29sb3IgIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1iYWNrZ3JvdW5kLWFjdGl2ZTogJGhhbWJ1cmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1iYWNrZ3JvdW5kLWhvdmVyOiAkaGFtYnVyZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWJhY2tncm91bmQtdHJhbnNpdGlvbi1zcGVlZDogMC4ycyAhZGVmYXVsdDtcbiRoYW1idXJnZXItYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRoYW1idXJnZXItYm9yZGVyLXdpZHRoOiAwICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1vcGFjaXR5OiAxICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1vcGFjaXR5LWhvdmVyOiAxICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1vcGFjaXR5LXRyYW5zaXRpb24tc3BlZWQ6IDAuMnMgIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLXBhZGRpbmc6IG1hdGgucm91bmQobWF0aC5kaXYoJGhhbWJ1cmdlci1zaXplLCAxMCkpICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1ib3JkZXItcmFkaXVzOiAwICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1iYXItYm9yZGVyLXJhZGl1czogMCAhZGVmYXVsdDtcbiRoYW1idXJnZXItYmFyLXNwYWNpbmc6IG1hdGgucm91bmQobWF0aC5kaXYoJGhhbWJ1cmdlci1zaXplLCA1KSkgIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWFuaW1hdGlvbi1zcGVlZDogMSAhZGVmYXVsdDtcbiRoYW1idXJnZXItZXh0cmEtdHJhbnNpdGlvbi1ydWxlczogJiAhZGVmYXVsdDtcblxuLy8gQW5pbWF0aW9uIHR5cGVzLiBVc2UgdGhpcyBhcyBhIHZhcmlhYmxlIGFuZCByZW1vdmUgdGhlIGFuaW1hdGlvbnNcbi8vIHlvdSBkb24ndCBuZWVkIHNvIHRoZXkgd29uJ3QgZ2V0IGNvbXBpbGVkIGluIHlvdXIgY3NzLlxuJGhhbWJ1cmdlci1hbmltYXRpb25zOiAoXG4gICAgXCJhcHBsZVwiLFxuICAgIFwiYXJyb3dcIixcbiAgICBcImFycm93LXJpZ2h0XCIsXG4gICAgXCJjb2xsYXBzZVwiLFxuICAgIFwiY29udmVyZ2VcIixcbiAgICBcImNyaXNzLWNyb3NzXCIsXG4gICAgXCJkZWZhdWx0XCIsXG4gICAgXCJkaXZlXCIsXG4gICAgXCJtaW5pbWFsXCIsXG4gICAgXCJzcGluXCIsXG4gICAgXCJzdGFja1wiLFxuICAgIFwidHdpc3RcIixcbiAgICBcIm1hZ25ldGljXCIsXG4gICAgXCJjaG9wXCIsXG4gICAgXCJwYXJhbGxlbFwiLFxuICAgIFwidmVydGljYWxcIixcbiAgICBcInB1c2hcIixcbiAgICBcImZsYXR0ZW5cIixcbiAgICBcInNpbXBsZVwiLFxuICAgIFwic2hlbGZcIlxuKSAhZGVmYXVsdDtcbiRoYW1idXJnZXItYmFyLXNpemU6ICRoYW1idXJnZXItc2l6ZSAtICgkaGFtYnVyZ2VyLXBhZGRpbmcgKiAyKSAtICgkaGFtYnVyZ2VyLWJvcmRlci13aWR0aCAqIDIpO1xuJGhhbWJ1cmdlci1lYXNpbmc6IGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKSAhZGVmYXVsdDtcbiRoYW1idXJnZXItZWFzaW5nLWluOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KSAhZGVmYXVsdDtcbiRoYW1idXJnZXItZWFzaW5nLW91dDogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSkgIWRlZmF1bHQ7XG5cbi8vIFwiQ29uc3RhbnRzXCJcbiRyb290LXR3bzogbWF0aC5zcXJ0KDIpO1xuIiwiQGltcG9ydCBcIi4uL3ZhcmlhYmxlc1wiO1xuXG5AaWYgaW5kZXgoJGhhbWJ1cmdlci1hbmltYXRpb25zLCBkZWZhdWx0KSB7XG4gICAgLiN7JGhhbWJ1cmdlci1jbGFzcy1uYW1lfS0tZGVmYXVsdCB7XG4gICAgICAgICYuI3skaGFtYnVyZ2VyLWFjdGl2ZS1jbGFzcy1uYW1lfSB7XG4gICAgICAgICAgICBzcGFuLmJhciB7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAdXNlIFwic2FzczptYXRoXCI7XG5AaW1wb3J0IFwiLi4vdmFyaWFibGVzXCI7XG5cbkBpZiBpbmRleCgkaGFtYnVyZ2VyLWFuaW1hdGlvbnMsIGNyaXNzLWNyb3NzKSB7XG4gICAgLiN7JGhhbWJ1cmdlci1jbGFzcy1uYW1lfS0tY3Jpc3MtY3Jvc3Mge1xuICAgICAgICAkb2Zmc2V0LXk6IG1hdGguZGl2KG1hdGguZGl2KCRoYW1idXJnZXItYmFyLXNpemUsIDIpLCAkcm9vdC10d28pO1xuICAgICAgICAkb2Zmc2V0LXg6IG1hdGguZGl2KCRoYW1idXJnZXItYmFyLXNpemUsIDIpIC0gJG9mZnNldC15O1xuXG4gICAgICAgID4gLmlubmVyIHtcbiAgICAgICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBoYW1idXJnZXItYmFyO1xuXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDUwJTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IG1hdGguZGl2KDAuNHMsICRoYW1idXJnZXItYW5pbWF0aW9uLXNwZWVkKSAkaGFtYnVyZ2VyLWVhc2luZyxcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIG1hdGguZGl2KDAuNHMsICRoYW1idXJnZXItYW5pbWF0aW9uLXNwZWVkKSAkaGFtYnVyZ2VyLWVhc2luZztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlM2QoLSRvZmZzZXQteCwgLSRvZmZzZXQteSwgMCkgc2NhbGVYKDApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUzZCgtJG9mZnNldC14LCAkb2Zmc2V0LXksIDApIHNjYWxlWCgwKTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiBtYXRoLmRpdigwLjFzLCAkaGFtYnVyZ2VyLWFuaW1hdGlvbi1zcGVlZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuLmJhciB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybSBtYXRoLmRpdigwLjRzLCAkaGFtYnVyZ2VyLWFuaW1hdGlvbi1zcGVlZCkgJGhhbWJ1cmdlci1lYXNpbmcsXG4gICAgICAgICAgICAgICAgb3BhY2l0eSBtYXRoLmRpdigwLjRzLCAkaGFtYnVyZ2VyLWFuaW1hdGlvbi1zcGVlZCkgJGhhbWJ1cmdlci1lYXNpbmcsXG4gICAgICAgICAgICAgICAgd2lkdGggbWF0aC5kaXYoMC40cywgJGhhbWJ1cmdlci1hbmltYXRpb24tc3BlZWQpICRoYW1idXJnZXItZWFzaW5nO1xuXG4gICAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDMge1xuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKCN7JGl9KSB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IG1hdGguZGl2KDAuMyArICgkaSAqIDAuMDNzKSwgJGhhbWJ1cmdlci1hbmltYXRpb24tc3BlZWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuI3skaGFtYnVyZ2VyLWFjdGl2ZS1jbGFzcy1uYW1lfSB7XG4gICAgICAgICAgICA+IC5pbm5lciB7XG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlM2QoLSRvZmZzZXQteCwgLSRvZmZzZXQteSwgMCk7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IG1hdGguZGl2KDAuNHMsICRoYW1idXJnZXItYW5pbWF0aW9uLXNwZWVkKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlM2QoLSRvZmZzZXQteCwgJG9mZnNldC15LCAwKTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogbWF0aC5kaXYoMC41cywgJGhhbWJ1cmdlci1hbmltYXRpb24tc3BlZWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3Bhbi5iYXIge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcblxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogbWF0aC5kaXYoMHMsICRoYW1idXJnZXItYW5pbWF0aW9uLXNwZWVkKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IG1hdGguZGl2KDAuMnMsICRoYW1idXJnZXItYW5pbWF0aW9uLXNwZWVkKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IG1hdGguZGl2KDAuMXMsICRoYW1idXJnZXItYW5pbWF0aW9uLXNwZWVkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKipcbiAqIEdlc3Rpb25lIG91dGRhdGVkIGJyb3dzZXJcbiAqIExpYnJlcmlhIGRpIHJpZmVyaW1lbnRvOiBodHRwczovL2dpdGh1Yi5jb20vbWlrZW1hY2NhbmEvb3V0ZGF0ZWQtYnJvd3Nlci1yZXdvcmtcbiAqIERlbW86IGh0dHBzOi8vbWlrZW1hY2NhbmEuZ2l0aHViLmlvL291dGRhdGVkLWJyb3dzZXItcmV3b3JrL1xuICovXG5cbiAjb3V0ZGF0ZWQge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAgMjRweCAyNHB4IDA7XG5cdHotaW5kZXg6IDE1MDA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6ICRibGFjayAhaW1wb3J0YW50O1xuXG5cdGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG5cdC52ZXJ0aWNhbC1jZW50ZXIge1xuXHRcdGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdH1cblxuXHRoNiB7XG4gICAgbWFyZ2luOiAxMnB4IDA7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygyNCk7XG5cdFx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI0KTtcblx0fVxuXG5cdHAge1xuICAgIG1hcmdpbjogMDtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcblx0XHRsaW5lLWhlaWdodDogcmVtLWNhbGMoMTIpO1xuXHR9XG5cblx0I2J1dHRvblVwZGF0ZUJyb3dzZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMjMwcHg7XG4gICAgbWFyZ2luOiAzMHB4IGF1dG8gMDtcblx0XHRwYWRkaW5nOiAxMHB4IDIwcHg7XG5cdFx0Ym9yZGVyOiAycHggc29saWQgJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cblx0XHRjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcblx0XHRcdGNvbG9yOiAkYmxhY2sgIWltcG9ydGFudDtcblx0XHR9XG5cdH1cblxuXHQubGFzdCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTBweDtcblx0XHRyaWdodDogNzBweDtcbiAgICB3aWR0aDogYXV0bztcblx0XHRoZWlnaHQ6IDIwcHg7XG5cdFx0ZGlzcGxheTogaW5saW5lLXRhYmxlO1xuXHR9XG5cblx0Lmxhc3RbZGlyPXJ0bF0ge1xuXHRcdGxlZnQ6IDI1cHggIWltcG9ydGFudDtcblx0XHRyaWdodDogYXV0byAhaW1wb3J0YW50O1xuXHR9XG5cblx0I2J1dHRvbkNsb3NlVXBkYXRlQnJvd3NlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcblxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMzYpO1xuXHRcdGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzNik7XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdH1cbn1cblxuI291dGRhdGVkLmZ1bGxzY3JlZW4geyBoZWlnaHQ6IDEwMCU7IH1cbiIsIi8qKlxuICogR2VzdGlvbmUgRmFuY3lib3hcbiAqIExpYnJlcmlhIGRpIHJpZmVyaW1lbnRvOiBodHRwczovL2dpdGh1Yi5jb20vZmFuY3lhcHBzL2ZhbmN5Ym94XG4gKiBEb2N1bWVudGF6aW9uZTogaHR0cHM6Ly9vYnUuZWR1L19yZXNvdXJjZXMvbGRwL2dhbGxlcmllcy9mYW5jeWJveC9cbiAqICAgICAgICAgICAgICAgICBodHRwczovL3dlYi5hcmNoaXZlLm9yZy93ZWIvMjAyMTAzMjUxNzA5NDAvaHR0cHM6Ly9mYW5jeWFwcHMuY29tL2ZhbmN5Ym94LzMvZG9jcy9cbiAqL1xuXG4gLy8gRXZlbnR1YWxpIG92ZXJyaWRlIGUgY3VzdG9taXp6YXppb25pIiwiXG4vLyBQYWdpbmF0b3JlIHN0YW5kYXJkXG4vLyBjdXN0b21QYWdpbmc6IGZ1bmN0aW9uKHNsaWRlciwgaSkgeyByZXR1cm4gJCgnPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG5QYWdlclwiIC8+Jyk7IH0sXG4uc2xpY2stZG90dGVkLnNsaWNrLXNsaWRlciB7IG1hcmdpbi1ib3R0b206IDA7IH1cbnVsLnNsaWNrLWRvdHMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvdHRvbTogYXV0bztcbiAgZm9udC1zaXplOiAwO1xuXG4gIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDQ4cHg7XG4gICAgaGVpZ2h0OiA3cHg7XG4gICAgbWFyZ2luOiAwIDdweDtcblxuICAgIC8vIEV2aXRvIGRpIHZlZGVyZSBpbCBwYWxsaW5vIHNlIMOoIHNvbG8gdW5vXG4gICAgJjpvbmx5LWNoaWxkIHsgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgLmJ0blBhZ2VyIHtcbiAgICAgIHdpZHRoOiA0OHB4O1xuICAgICAgaGVpZ2h0OiA3cHg7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDNweDtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuMyk7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zbGljay1hY3RpdmUgLmJ0blBhZ2VyOmJlZm9yZSB7XG4gICAgICBoZWlnaHQ6IDdweDtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gICAgfVxuICB9XG59XG5cbi8vIEZyZWNjZSBzdGFuZGFyZFxuLy8gPGRpdiBjbGFzcz1cInNsaWNrLXByZXZcIj48c3BhbiBjbGFzcz1cImljbi1hcnJvdy1zaW1wbGUtbGVmdFwiPjwvc3Bhbj48L2Rpdj5cbi5zbGljay1hcnJvdyB7XG4gIHdpZHRoOiA2MHB4O1xuICBoZWlnaHQ6IDYwcHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjIpO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICB6LWluZGV4OiAyO1xuXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuXG4gICY6aG92ZXIgeyBiYWNrZ3JvdW5kOiAkYmxhY2s7IH1cblxuICAmOmJlZm9yZSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gIHNwYW4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA2MHB4OztcbiAgICB9XG4gIH1cbn1cbi5zbGljay1hcnJvdy5zbGljay1wcmV2IHt9XG4uc2xpY2stYXJyb3cuc2xpY2stbmV4dCB7XG4gIHNwYW4geyB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG59XG5cblxuXG5cbi8vIFNsaWNrIHNsaWRlIGFsbGEgc3Rlc3NhIGFsdGV6emFcbi8vIC5zbGljay10cmFjayB7IGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsgfVxuLy8gLnNsaWNrLXNsaWRlIHsgaGVpZ2h0OiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cbiIsIi5zZWxlY3QyLWNvbnRhaW5lciB7XG4gIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogMjMwcHg7XG4gIFxuICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblxuICAqIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCB7XG5cbiAgLy8gSW4gY2FzbyBkaSBzZWxlY3Qgc2luZ29sYVxuICAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmc6IDIwcHggODBweCAyMHB4IDIwcHg7XG4gICAgYm94LXNoYWRvdzogMHB4IDJweCAzcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxKTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIHNwYW4uc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG5cbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjYpO1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8vIEluIGNhc28gZGkgc2VsZWN0IG11bHRpcGxhXG4gIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUge1xuICAgIHBhZGRpbmc6IDVweCAzMHB4IDEwcHggMTBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYmxhY2sgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBmb250LXNpemU6IDA7XG4gIH1cblxuICB1bC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQge1xuICAgIC8vIFBsYWNlaG9sZGVyXG4gICAgbGkuc2VsZWN0Mi1zZWFyY2gtLWlubGluZSB7XG4gICAgICBtYXJnaW46IDVweCA1cHggMCAwICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nOiA1cHggMTBweCAhaW1wb3J0YW50O1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIGlucHV0IHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTYpO1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEVsZW1lbnRpIHNlbGV6aW9uYXRpXG4gICAgbGkuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZSB7XG4gICAgICBtYXJnaW46IDVweCA1cHggMCAwICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nOiA1cHggMTBweCAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuMDUpO1xuICAgICAgYm9yZGVyOiBub25lO1xuXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNik7XG4gICAgICBjb2xvcjogJGJsYWNrO1xuXG4gICAgICBzcGFuLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2VfX3JlbW92ZSB7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWNvbmEgbGF0ZXJhbGVcbiAgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyxcbiAgLmRyb3Bkb3duLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDIwcHggIWltcG9ydGFudDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcblxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIGIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBpY29uKGJlZm9yZSwgZHJvcGRvd24tb3V0bGluZSkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG5cbiAgICAgIGZvbnQtc2l6ZTogMTBweCAhaW1wb3J0YW50O1xuICAgICAgbGluZS1oZWlnaHQ6IDIwcHggIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgfVxuICB9XG5cbiAgJi5zZWxlY3QyLWNvbnRhaW5lci0tb3BlbiB7XG4gICAgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUge1xuICAgIH1cbiAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgICAgIGNvbG9yOiAkYmxhY2sgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyxcbiAgICAuZHJvcGRvd24td3JhcHBlciB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5zZWxlY3QyLWRyb3Bkb3duIHtcbiAgYmFja2dyb3VuZDogJHdoaXRlO1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHBhZGRpbmc6IDA7XG5cbiAgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9ucyB7XG4gICAgYm94LXNoYWRvdzogMHB4IDJweCAzcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxKTtcblxuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuXG4gICAgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNik7XG4gICAgICBjb2xvcjogJGJsYWNrO1xuXG4gICAgICBwYWRkaW5nOiA2cHggMjBweDtcblxuICAgICAgJi5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbi0taGlnaGxpZ2h0ZWQge1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvblthcmlhLXNlbGVjdGVkPVwidHJ1ZVwiXSB7XG4gICAgICBjb2xvcjogJGJsYWNrO1xuICAgIH1cblxuICAgICYuc2VsZWN0Mi1kcm9wZG93bi0tYWJvdmUge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG5cbiAgICAmLnNlbGVjdDItZHJvcGRvd24tLWJlbG93IHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIuaXViX2NvbnRhaW5lciB7XG4gIHVsIHtcbiAgICBsaSB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLnBhZ2VNZXRhSGVhZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyZWVuO1xuICBjb2xvcjogJHdoaXRlO1xuICBAZXh0ZW5kIC5ib2R5LXhzO1xuXG4gIC5tZXRhSGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAkbWV0YUhlYWRlci1oZWlnaHQ7XG5cbiAgICAubWV0YUhlYWRlci1sZWZ0IHtcbiAgICAgIGZsZXgtZ3JvdzogMTtcblxuICAgICAgLnN0b2NrLWV4cGVydCB7XG4gICAgICAgIGhlaWdodDogNDJweDtcbiAgICAgICAgd2lkdGg6IDE4MHB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBtaW4td2lkdGg6IGF1dG87XG5cbiAgICAgICAgaHRtbCB7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5tZXRhSGVhZGVyLXJpZ2h0IHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cblxuICAgIHVsLm1lbnUge1xuICAgICAgbGkge1xuICAgICAgICBhIHtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuaGVhZGVyLnBhZ2VIZWFkZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDc1cHg7XG4gIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG4gIHotaW5kZXg6IDk7XG4gIGZvbnQtc2l6ZTogMDtcblxuICAmLmRyb3Bkb3duLW9wZW4ge1xuICAgIC5oZWFkZXJNYWluIHtcbiAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZSAhaW1wb3J0YW50O1xuXG4gICAgICAubWVudS5kcm9wZG93biA+IGxpOm5vdCguYWN0aXZlLXRyYWlsKSA+IGE6bm90KDpob3ZlciksXG4gICAgICAuc2VhcmNoLW1vZGFsLWJ1dHRvbjpub3QoOmhvdmVyKSxcbiAgICAgIC5sYW5ndWFnZS1saW5rOm5vdCg6aG92ZXIpIHtcbiAgICAgICAgY29sb3I6ICRibGFjayAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICBhLmxvZ28ge1xuICAgICAgICBzdmcge1xuICAgICAgICAgICN0ZXh0IHtcbiAgICAgICAgICAgIGZpbGw6ICRibGFjayAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IGluaXRpYWw7XG4gIH1cblxuICAmLmhlYWRyb29tLS10b3Age1xuICAgIGhlaWdodDogMTQwcHg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCkgIWltcG9ydGFudDtcbiAgfVxuXG4gICYuaGVhZHJvb20tLW5vdC10b3Age1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaGVhZGVyTWFpbkdyaWQge1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzO1xuICAgIGhlaWdodDogJGhlYWRlci1oZWlnaHQ7XG5cbiAgICAuaGVhZGVyTWFpblJpZ2h0IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAuY29udGV4dHVhbC1yZWdpb24ge1xuICAgICAgICBwb3NpdGlvbjogaW5pdGlhbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBhLmxvZ28ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICAgc3ZnIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGhlaWdodDogNzBweDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAgICoge1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5ibG9jay10dC1mb3VuZGF0aW9uLW1haW4tbWVudSB7XG4gICAgZmxleC1ncm93OiAxO1xuICB9XG5cbiAgLmJsb2NrLXR0LWZvdW5kYXRpb24tZm9ybWVzcG9zdG9zZWFyY2hzZWFyY2gtYmxvY2sge1xuICAgICoge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBhLnNlYXJjaC1tb2RhbC1idXR0b24ge1xuICAgIGNvbG9yOiAkYmxhY2s7XG5cbiAgICBAaW5jbHVkZSBpY29uKGJlZm9yZSwgc2VhcmNoKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICB9XG5cbiAgICAmLm9wZW4ge1xuICAgICAgQGluY2x1ZGUgaWNvbihiZWZvcmUsIGNsb3NlKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGNvbG9yOiAkcHJpbWFyeS1ncmVlbjtcbiAgICB9XG4gIH1cblxuICAvLyBQZXIgdXRlbnRlIGxvZ2dhdG8sIHBlciBldmVudHVhbGUgaGVhZHJvb21cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAudG9vbGJhci12ZXJ0aWNhbCAmLmhlYWRyb29tLS10b3Age1xuICAgICAgdG9wOiAzOXB4O1xuICAgIH1cbiAgICAubW0tb3BlbmluZyAudG9vbGJhci12ZXJ0aWNhbCAmLmhlYWRyb29tLS10b3Age1xuICAgICAgdG9wOiAwO1xuICAgIH1cbiAgICAudG9vbGJhci1maXhlZCAmLFxuICAgIC50b29sYmFyLWhvcml6b250YWwgJixcbiAgICAudG9vbGJhci10cmF5LW9wZW4gJiB7XG4gICAgICB0b3A6IDM5cHg7XG4gICAgfVxuICAgIC50b29sYmFyLWhvcml6b250YWwudG9vbGJhci10cmF5LW9wZW4gJiB7XG4gICAgICB0b3A6ICRhZG1pbi10b29sYmFyLWhlaWdodDtcbiAgICB9XG5cbiAgICAmLmhlYWRyb29tLS1ub3QtdG9wIHtcbiAgICAgIC50b29sYmFyLWZpeGVkICYsXG4gICAgICAudG9vbGJhci1ob3Jpem9udGFsICYsXG4gICAgICAudG9vbGJhci10cmF5LW9wZW4gJiB7XG4gICAgICAgIHRvcDogMzlweDtcbiAgICAgIH1cbiAgICAgIC50b29sYmFyLWhvcml6b250YWwudG9vbGJhci10cmF5LW9wZW4gJiB7XG4gICAgICAgIHRvcDogJGFkbWluLXRvb2xiYXItaGVpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKlxuICogU3RpbGkgY29tdW5pIHBlciBjb21wb3J0YW1lbnRvIGFwZXJ0byBlIHNjcm9sbFxuICovXG5oZWFkZXIucGFnZUhlYWRlci5oZWFkcm9vbS0tbm90LXRvcC5zbGlkZVVwLFxuaGVhZGVyLnBhZ2VIZWFkZXIuaGVhZHJvb20tLW5vdC10b3Auc2xpZGVEb3duLFxuaGVhZGVyLmhlYWRyb29tLS1ub3QtdG9wIHtcbiAgLnBhZ2VNZXRhSGVhZGVyIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgaGVpZ2h0OiAwO1xuICB9XG4gIC5oZWFkZXJNYWluR3JpZCB7XG4gICAgaGVpZ2h0OiA3NXB4O1xuICB9XG5cbiAgYS5sb2dvIHN2ZyB7XG4gICAgaGVpZ2h0OiA1NXB4O1xuICB9XG59XG5cbi8qKlxuICogSGVhZHJvb20gLSBtZW51IG5vbiBhdHRhY2NhdG8gaW4gcGFnaW5hIG1hIHNjcm9sbCBkb3duXG4gKiAtIE5hc2NvbmRvIGxhIGJhcnJhIGluIGFsdG8gZGVpIGZvbGxvd1xuICogLSBSaWR1Y28gbGEgZGltZW5zaW9uZSBkZWwgbG9nbyBlIGxvIHNwYXppb1xuICovXG5oZWFkZXIucGFnZUhlYWRlci5oZWFkcm9vbS0tbm90LXRvcC5zbGlkZVVwIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNDBweCk7XG59XG5cbi8qKlxuICogSGVhZHJvb20gLSBtZW51IG5vbiBhdHRhY2NhdG8gaW4gcGFnaW5hIG1hIHNjcm9sbCB1cFxuICovXG5oZWFkZXIucGFnZUhlYWRlci5oZWFkcm9vbS0tbm90LXRvcCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgY29sb3I6ICRibGFjayAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwIDRweCA2cHggcmdiYSgkYmxhY2ssIDAuMik7XG5cbiAgYTpub3QoW3JvbGU9XCJtZW51aXRlbVwiXSk6bm90KDpob3Zlcikge1xuICAgIGNvbG9yOiAkYmxhY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYWluLW1lbnUgdWwuZHJvcGRvd24gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiA3NXB4O1xuICB9XG59XG5cbi5oYW1idXJnZXIge1xuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgdXApIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKSAhaW1wb3J0YW50O1xuICB9XG59XG5cbmh0bWwubW0td3JhcHBlcl9vcGVuaW5nIHtcbiAgaGVhZGVyLnBhZ2VIZWFkZXIge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbiAgaGVhZGVyLnBhZ2VIZWFkZXIgLmhlYWRlck1haW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBjb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7XG5cbiAgICBhOm5vdChbcm9sZT1cIm1lbnVpdGVtXCJdKTpub3QoOmhvdmVyKSB7XG4gICAgICBjb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYS5sb2dvIHtcbiAgICAgIHN2ZyB7XG4gICAgICAgICN0ZXh0IHtcbiAgICAgICAgICBmaWxsOiAkYmxhY2sgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gQ2xhc3NpIGN1c3RvbSBwZXIgaW50ZXJyb21wZXJlIGwnb3ZlcmZsb3dcbmJvZHkuc3RvcE92ZXJmbG93IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbmJvZHkuc3RvcE92ZXJmbG93WCB7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cbmJvZHkuc3RvcE92ZXJmbG93WSB7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbn1cblxuLy8gU3BhemlvIGN1c3RvbSBzdSB0dXR0ZSBsZSBwYWdpbmUgZG92ZSBub24gw6ggYW5udWxsYXRvXG5ib2R5ICNtYWluLnBhZ2VNYWluIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAkaGVhZGVyLWhlaWdodCArICRtZXRhSGVhZGVyLWhlaWdodDsgLy8gQWx0ZXp6YSBkaSBoZWFkZXIucGFnZUhlYWRlclxuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLyBDbGFzc2UgY3VzdG9tIG5lbCBib2R5IHBlciByaW11b3ZlcmUgbG8gc3BhemlvIGluIGFsdG9cbmJvZHkubm9Ub3BTcGFjZSAjbWFpbi5wYWdlTWFpbiB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4iLCIvLyBOYXNjb25kbyBtbWVudSBmaW5jaMOoIG5vbiBhdnZpYXRvXG4jbW9iaWxlLW1lbnUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGhlaWdodDogMDtcblxuICAmLm1tLW1lbnUge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbi8vIFN0aWxpenphemlvbmUgbW1lbnVcbi5tbS1tZW51IHtcbiAgJi5tbS1tZW51X2Z1bGxzY3JlZW4ge1xuICAgIG1hcmdpbi10b3A6ICR0b3RhbC1oZWFkZXItaGVpZ2h0O1xuICB9XG5cbiAgLy8gU2ZvbmRvIHBhbm5lbGxpXG4gIC5tbS1wYW5lbCB7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuXG4gICAgLm1tLWJ0bl9wcmV2IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgIEBpbmNsdWRlIGljb24oYmVmb3JlLCBhcnJvdy1iYWNrKSB7XG4gICAgICAgIHBvc2l0aW9uOiBpbml0aWFsO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBMaW5rIGRpIG5hdmlnYXppb25lXG4gIGEsXG4gIGE6YWN0aXZlLFxuICBhOmhvdmVyLFxuICBhOmxpbmssXG4gIGE6dmlzaXRlZCB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjYpO1xuICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAmLlNlbGVjdGVkIHtcbiAgICAgIGNvbG9yOiAkcHJpbWFyeS1ncmVlbjtcbiAgICB9XG4gIH1cblxuICAvLyBDb2xvcmUgYm9yZGlcbiAgLm1tLWxpc3RpdGVtIHtcbiAgICBib3JkZXItY29sb3I6ICRkYXJrLWdyYXk7XG4gIH1cblxuICAvLyBEaXZpc29yZSB0cmEgdGl0b2xvIGUgZnJlY2NpYVxuICAubW0tbGlzdGl0ZW1fX2J0bjpub3QoLm1tLWxpc3RpdGVtX190ZXh0KSB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBQYWRkaW5nIGRlaSBsaW5rIHRlc3R1YWxpXG4gIC5tbS1saXN0aXRlbV9fdGV4dCB7XG4gICAgcGFkZGluZy10b3A6IDI1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDI1cHg7XG4gIH1cblxuICAvLyBGcmVjY2lhIHBlciBsaXZlbGxpXG4gIC5tbS1idG46YWZ0ZXIsXG4gIC5tbS1idG46YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5LWdyZWVuO1xuICB9XG5cbiAgLy8gVGl0b2xvIHByaW5jaXBhbGUgZSB0aXRvbG8gcGVyIGJhY2tcbiAgLm1tLW5hdmJhciB7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWdyZWVuO1xuICAgIGJvcmRlci1jb2xvcjogJGxpZ2h0LWdyYXk7XG5cbiAgICAubW0tbmF2YmFyX190aXRsZSB7XG4gICAgICBwYWRkaW5nOiAxMHB4IDAgIWltcG9ydGFudDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzMCk7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG4gIH1cbiAgI21tLTEgLm1tLW5hdmJhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIE5hdmJhciBpbnRlcmkgY29uIGJhcnJhIHRpdG9sb1xuICAubW0tcGFuZWxfaGFzLW5hdmJhciB7XG4gICAgcGFkZGluZy10b3A6IDUwcHg7XG4gIH1cblxuICAvLyBCYXJyYSBmb290ZXIgcGVyIGlsIGNhbWJpbyBsaW5ndWEgbW9iaWxlXG4gIC5tbS1uYXZiYXJzX2JvdHRvbSB7XG4gICAgYm9yZGVyLWNvbG9yOiBibGFjaztcbiAgfVxuXG4gIC8vIFJlc2l6ZSBzdSBjZWxsdWxhcmVcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgYSxcbiAgICBhOmFjdGl2ZSxcbiAgICBhOmhvdmVyLFxuICAgIGE6bGluayxcbiAgICBhOnZpc2l0ZWQge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTgpO1xuICAgIH1cblxuICAgIC5tbS1saXN0aXRlbV9fdGV4dCB7XG4gICAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgIH1cblxuICAgIC5tbS1uYXZiYXIgLm1tLW5hdmJhcl9fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjYpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBTdSBkZXNrdG9wIGV2aXRvIGNoZSBtbWVudSB2YWRhIHNvcHJhIGFsIG1lbnUgYW1taW5pc3RyYXRpdm9cbkBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgLm1tLXBhZ2UubW0tc2xpZGVvdXQge1xuICAgIHotaW5kZXg6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxufVxuXG5cblxuYm9keS5oZWFkcm9vbS1waW5uZWQge1xuICAvLyBTcGF6aWF0dXJhIHBlciBoZWFkZXJcbiAgLm1tLW1lbnUubW0tbWVudV9mdWxsc2NyZWVuIHtcbiAgICBtYXJnaW4tdG9wOiAkdG90YWwtaGVhZGVyLWhlaWdodDtcbiAgfVxufVxuYm9keS5oZWFkcm9vbS1ub3QtdG9wLmhlYWRyb29tLXBpbm5lZCxcbmJvZHkuaGVhZHJvb20tbm90LXRvcCB7XG4gIC8vIFNwYXppYXR1cmEgcGVyIGhlYWRlclxuICAubW0tbWVudS5tbS1tZW51X2Z1bGxzY3JlZW4ge1xuICAgIG1hcmdpbi10b3A6ICR0b3RhbC1oZWFkZXItaGVpZ2h0LW1vYjtcbiAgfVxufVxuIiwiZm9vdGVyLnBhZ2VGb290ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JlZW47XG4gIHBhZGRpbmc6IDc1cHggMCA2NnB4IDA7XG5cbiAgcCxcbiAgYSB7XG4gICAgQGV4dGVuZCAuZm9udC13aGl0ZTtcblxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBsZXR0ZXItc3BhY2luZzogMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5mb290ZXJTdXAge1xuICB9XG4gIC5mb290ZXJTdXBBcmVhIHtcbiAgfVxuXG4gIC5mb290ZXJNaWQge1xuICB9XG4gIC5mb290ZXJNaWRMZWZ0QXJlYSB7XG4gICAgLmJvZHkge1xuICAgICAgLmNlbGwge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZm9vdGVyTWlkUmlnaHRBcmVhIHtcbiAgICBtYXJnaW46IDA7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC5mb290ZXJTdWIge1xuICB9XG4gIC5mb290ZXJTdWJBcmVhIHtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBwYWRkaW5nOiA0MHB4IDAgNjZweCAwO1xuXG4gICAgcCxhIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE4KTtcbiAgICB9XG5cbiAgICAuY2VsbExvZ28ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcblxuICAgICAgLmxvZ28ge1xuICAgICAgICBzdmcge1xuICAgICAgICAgIGhlaWdodDogODBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5tZW51IHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG5cblxuICAgIH1cbiAgfVxufVxuIiwiLyoqXG4gKiBHZW5lcmF6aW9uZSBjbGFzc2kgYWQgaG9jIHBlciBzcGF6aWF0dXJlIHRvcCBlIGJvdHRvbSwgYSBkaWZmZXJlbnphXG4gKiAgZGVsbGEgc29sdXppb25lIHByZWNlZGVudGUgcXVlc3RhIGdlbmVyYSBtYXJnaW4gRSBwYWRkaW5nIHBlciBvZ25pIHNwYXppYXR1cmEuXG4gKlxuICogTGUgY2xhc3NpIHNvbm8gbmVsbGEgZm9ybWEgXCJpdGVtLXNwYWNlLXRvcC0wXCJcbiAqXG4gKiBpdGVtLXNwYWNlLTxwb3NpdGlvbj4tPGlkPlxuICpcbiAqIFZhcmlhbnRlOlxuICogLSBjb24gYmFja2dyb3VuZCBzaWEgbWFyZ2luIGNoZSBwYWRkaW5nIChpdGVtLXNwYWNlLTxwb3NpdGlvbj4tPGlkPi1iZylcbiAqIC0gc2VuemEgYmFja2dyb3VuZCBzb2xvIG1hcmdpbiAoaXRlbS1zcGFjZS08cG9zaXRpb24+LTxpZD4pXG4gKlxuXG4gKiovXG4gJHNwYWNlczogKFxuICBzbWFsbDogKFxuICAgIDA6IDBweCxcbiAgICAxOiAxMHB4LFxuICAgIDI6IDIwcHgsXG4gICAgMzogNDBweCxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgMDogMHB4LFxuICAgIDE6IDIwcHgsXG4gICAgMjogNDBweCxcbiAgICAzOiA4MHB4LFxuICApLFxuICBsYXJnZTogKFxuICAgIDA6IDBweCxcbiAgICAxOiA0MHB4LFxuICAgIDI6IDgwcHgsXG4gICAgMzogMTIwcHgsXG4gICksXG4pO1xuXG5AZWFjaCAkYnAsICR2YWx1ZXMgaW4gJHNwYWNlcyB7XG4gIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgLy8gR2VzdGlzY28gaWwgc2luZ29sbyBicmVha3BvaW50XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnApIHtcbiAgICAgIC5pdGVtLXNwYWNlLXRvcC0jeyRzaXplfSB7XG4gICAgICAgIG1hcmdpbi10b3A6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgLml0ZW0tc3BhY2UtYm90dG9tLSN7JHNpemV9IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHZhbHVlICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAuaXRlbS1zcGFjZS10b3AtI3skc2l6ZX0tYmcge1xuICAgICAgICBtYXJnaW4tdG9wOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZy10b3A6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgLml0ZW0tc3BhY2UtYm90dG9tLSN7JHNpemV9LWJnIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHZhbHVlICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIvKipcbiAqIEJsb2NjaGkgRHJ1cGFsIEJhc2ljIGJsb2NrXG4gKiBHZXN0aXRpIGRhIC9hZG1pbi9zdHJ1Y3R1cmUvYmxvY2svYmxvY2stY29udGVudFxuICovXG5cbiAuYmxvY2stdHQtZm91bmRhdGlvbi1waWVkaXBhZ2luYSB7XG4gICAgdWwubWVudSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbHVtbi1jb3VudDogMjtcblxuICAgICAgbGkge1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDhweCAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgY29sdW1uLWNvdW50OiAzO1xuICAgICAgfVxuICAgIH1cbiAgfSIsIi8qKlxuICogQnJlYWRjcnVtYnNcbiAqIEJsb2NjbyBkaSBzaXN0ZW1hXG4gKi9cbi5ibG9jay1zeXN0ZW0uYmxvY2stYnJlYWRjcnVtYiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICB1bC5icmVhZGNydW1icyB7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgbGksIGEsIHNwYW4ge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTQpO1xuICAgIH1cbiAgICBsaTpub3QoOmxhc3QtY2hpbGQpOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiPlwiO1xuICAgICAgY29sb3I6ICRibGFjaztcbiAgICB9XG5cbiAgICBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIEhlYWRlciBiYW5uZXIgY3VzdG9tXG4gKiBHZW5lcmF0byBkYSB0dF91dGlsaXRpZXMvUGx1Z2luL0Jsb2NrL0hlYWRlckJhbm5lckJsb2NrXG4gKiBTdGFtcGF0byBpbiB0dF91dGlsaXRpZXMvdGVtcGxhdGVzL2hlYWRlci1iYW5uZXItYmxvY2suaHRtbC50d2lnXG4gKi9cbi5ibG9jay10dC11dGlsaXRpZXMuYmxvY2staGVhZGVyLWJhbm5lci1ibG9jayB7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIC5oYk1haW5XcmFwcGVyIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbiAgLmdyaWRCYW5uZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICAgIHotaW5kZXg6IDE7XG4gIH1cblxuICAuYmFubmVyQ2VsbCB7XG4gICAgbWluLWhlaWdodDogMzIwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcGFkZGluZy10b3A6IDUwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgfVxuXG4gIC5iZ0NvdmVyQWJzOmJlZm9yZSB7IGJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAuMyk7IH1cblxuICBoMS5wYWdlVGl0bGUgeyBcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGV4dGVuZCAuaC14eGw7XG4gICAgbWFyZ2luOiAxNnB4IDA7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICBoMy5wYWdlU3VidGl0bGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAZXh0ZW5kIC5oLXM7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAuaGJNYWluV3JhcHBlci5iZ2RlZmF1bHQge1xuICAgIC5iZ0NvdmVyQWJzOmJlZm9yZSB7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gICAgaDEucGFnZVRpdGxlLFxuICAgIGgzLnBhZ2VTdWJ0aXRsZSB7XG4gICAgICBjb2xvcjogJGJsYWNrO1xuICAgIH1cbiAgfVxuXG5cbiAgLy8gQ3VzdG9taXp6YXppb25pIGluIGJhc2UgYWxsYSB0aXBvbG9naWFcbiAgLmhiSGVhZGVyVHlwZS1ub25lIC5ncmlkQmFubmVyIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5oYkhlYWRlclR5cGUtc3RhbmRhcmQge31cbn1cblxuLy8gQ2xhc3NlIGN1c3RvbSBuZWwgYm9keSBwZXIgYXVtZW50YXJlIGwnYWx0ZXp6YSBkZWwgYmFubmVyXG5ib2R5LmhlYWRlckJpZ2dlciAuYmxvY2stdHQtdXRpbGl0aWVzLmJsb2NrLWhlYWRlci1iYW5uZXItYmxvY2sge1xuICAuaGJNYWluV3JhcHBlciB7IHBhZGRpbmctYm90dG9tOiAyMDBweDsgfVxufVxuIiwiLyoqXG4gKiBCbG9jY28gZGVsIGNhbWJpbyBsaW5ndWFcbiovXG4uYmxvY2stbGFuZ3VhZ2Uge1xuICBtYXJnaW4tbGVmdDogMjVweDtcbiAgXG4gIHVsLmxpbmtzIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogJGhlYWRlci1mb250LXNpemU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgICAgICBjb2xvcjogJGhlYWRlci1jb2xvcjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1ncmVlbjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICBtYXJnaW46IDAgMjBweDtcbiAgfVxufVxuIiwiLy8gdHRfdXRpbGl0aWVzL1BsdWdpbi9CbG9jay9UdE1hcEJsb2NrXG4uYmxvY2stdHQtdXRpbGl0aWVzLmJsb2NrLXR0LW1hcC1ibG9jayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAuY2VsbE1hcCxcbiAgLmNlbGxTaWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIExhdG8gc2luaXN0cm8gY29uIGVsZW5jaGkgZGkgbmF2aWdhemlvbmVcbiAgLmxpc3RTaWRlYmFyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAubGlzdFBhbmVsIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMzVzIGVhc2UtaW4tb3V0LCB6LWluZGV4IDAuM3MgbGluZWFyO1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzLCAwLjJzO1xuICAgICYub2ZmIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMDAlLCAwKTtcbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAwIDAgMTVweCAwO1xuICAgICAgcGFkZGluZzogMCA2MHB4IDAgNDBweDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuXG4gICAgICBAaW5jbHVkZSBpY29uKGFmdGVyLCBhcnJvdy1mb3J3YXJkKSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHJpZ2h0OiAzMHB4O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcblxuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZGV0YWlsc1BhbmVsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDEwMCUsIDApO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjM1cyBlYXNlLWluLW91dCwgei1pbmRleCAwLjNzIGxpbmVhcjtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcywgMC4ycztcblxuICAgICYub3BlbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICB9XG5cbiAgICAuZGV0UGFuZWxCYWNrIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQ0LDI0NCwyNDQsIDEpO1xuICAgICAgcGFkZGluZzogMCA0MHB4O1xuXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuXG4gICAgICBjb2xvcjogJGxpZ2h0LWdyZWVuO1xuXG4gICAgICBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWdyZWVuO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5kZXRQYW5lbFdyYXAge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gNjBweCk7IC8vIHNwYXppbyBkaSAuZGV0UGFuZWxCYWNrXG4gICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgIH1cblxuICAgIC5kZXRQYW5lbCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgcC5jb3VudHJ5LXRpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCAkcHJpbWFyeS1ncmVlbjtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1tZWRpdW07XG4gICAgfVxuXG4gICAgLmNvdW50eURlc2Mge1xuICAgICAgcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyOCk7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogN3B4IDA7XG4gICAgICBwYWRkaW5nOiA3cHggMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgICAgXG5cbiAgICAgICY6YmVmb3JlLFxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICAgIH1cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6ICRkYXJrLWdyYXk7XG4gICAgICAgIHotaW5kZXg6IDA7XG4gICAgICB9XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6ICRkYXJrLWdyYXk7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHVsLnBsYWNlc0xpc3Qge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogMzBweCAwIDAgMDtcblxuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHMgc29saWQgJGRhcmstZ3JheTtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBMYXRvIGRlc3RybyBjb24gbWFwcGFcbiAgI3dvcmxkTWFwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA2MDBweDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAubGlzdFBhbmVsIGxpIHtcbiAgICAgIG1hcmdpbjogMCAwIDEwcHggMDtcbiAgICAgIFxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzApO1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmRldGFpbHNQYW5lbCB7XG4gICAgICAuZGV0UGFuZWwge1xuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgICB9XG5cbiAgICAgIGg0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzMCk7XG4gICAgICB9XG5cbiAgICAgIHVsLnBsYWNlc0xpc3Qge1xuICAgICAgICBtYXJnaW46IDIwcHggMCAwIDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgI3dvcmxkTWFwIHtcbiAgICAgIGhlaWdodDogNjAwcHg7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgI3dvcmxkTWFwIHtcbiAgICAgIGhlaWdodDogNDAwcHg7XG4gICAgfVxuICB9XG59XG4iLCIuYmxvY2stc3Vic2NyaWJlLWJsb2NrIHtcbiAgLmJsb2NrLXRpdGxlIHtcbiAgICBAZXh0ZW5kIC5oLW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi5ibG9jay11bnN1YnNjcmliZS1ibG9jayB7XG4gIC5ibG9jay10aXRsZSB7XG4gICAgQGV4dGVuZCAuaC1tO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufSIsIi8qKlxuICogUmVnb2xlIGdlbmVyaWNoZSBwZXIgZm9ybSBlIHdlYmZvcm1cbiAqIERlZmluaXppb25pIHZhbGlkZSBwZXIgdHV0dGlcbiAqL1xuXG4vLyBQbGFjZWhvbGRlclxuOjpwbGFjZWhvbGRlciB7XG4gIC8qIENocm9tZSwgRmlyZWZveCwgT3BlcmEsIFNhZmFyaSAxMC4xKyAqL1xuICBjb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7XG4gIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbn1cbjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAvKiBJbnRlcm5ldCBFeHBsb3JlciAxMC0xMSAqL1xuICBjb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7XG4gIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbn1cbjo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgLyogTWljcm9zb2Z0IEVkZ2UgKi9cbiAgY29sb3I6ICRibGFjayAhaW1wb3J0YW50O1xuICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG59XG5cbi8vIFJlZ29sZSBnZW5lcmljaGUgZGVpIHdlYmZvcm1cbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSxcbmZvcm0udXNlci1sb2dpbi1mb3JtLFxuLnN1YnNjcmliZS1mb3JtLFxuLnVuc3Vic2NyaWJlLWZvcm0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLmpzLWZvcm0taXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cbiAgLmNlbGwge1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIH1cbiAgZmllbGRzZXQge1xuICAgIGJvcmRlcjogMCBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGVnZW5kIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9IFxuXG4gIGxhYmVsIHtcbiAgICBhIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbiAgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuICBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbiAgaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbiAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuICBpbnB1dFt0eXBlPVwidGVsXCJdLFxuICB0ZXh0YXJlYSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAxOHB4IDIwcHg7XG4gICAgYm9yZGVyOiAwIG5vbmU7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDNweCByZ2JhKCRibGFjaywgLjIpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG5cbiAgICBAZXh0ZW5kIC5ib2R5LW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDNweCByZ2JhKCRibGFjaywgLjMpO1xuICAgIH1cbiAgICAmLmVycm9yIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmVkO1xuICAgIH1cbiAgfVxuICB0ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOCk7XG4gIH1cblxuICBwLmRlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW46IDhweCAwIDAgMDtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTgpO1xuICB9XG5cbiAgLy8gY2hlY2tib3ggZ2VuZXJpY2FcbiAgLmpzLWZvcm0tdHlwZS1jaGVja2JveCxcbiAgLmpzLWZvcm0tdHlwZS1yYWRpbyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAvL21hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgIGxhYmVsIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMCAwIDAgMzBweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTgpO1xuICAgICAgY29sb3I6ICRibGFjaztcblxuICAgICAgLy8gUXVhZHJhdG8gY2hlY2tib3hcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGJsYWNrO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICB9XG5cbiAgICAgIC8vIEljb25hIGNoZWNrYm94XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDRweDtcbiAgICAgICAgbGVmdDogNHB4O1xuICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWdyZWVuO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEwcHg7XG4gICAgICB9XG4gICAgfVxuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWwge1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5LWdyZWVuO1xuICAgICAgfVxuICAgICAgJjphZnRlciB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXS5lcnJvciArIGxhYmVsIHtcbiAgICAgIGNvbG9yOiByZWQ7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBCb3R0b25lIGludmlvXG4gIC5qcy1mb3JtLXN1Ym1pdCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyLXJhZGl1czogMjRweDtcbiAgICBwYWRkaW5nOiAxNnB4IDU2cHg7XG4gICAgbWFyZ2luOiA0MHB4IGF1dG8gMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1ncmVlbjtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIGxldHRlci1zcGFjaW5nOiAwcHg7XG4gICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE4KTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnkteWVsbG93O1xuICAgICAgY29sb3I6ICRibGFjayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIEFyZWEgZXJyb3JpXG4gICNzdGF0dXMtbWVzc2FnZXMge1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuXG4gICAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgfVxuICAgIC5jYWxsb3V0IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoYmxhY2ssIDAuOCk7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgfVxuICB9XG5cbiAgLy8gTWVzc2FnZ2lvIGVzaXRvXG4gIC53ZWJmb3JtLWNvbmZpcm1hdGlvbiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgLndlYmZvcm0tY29uZmlybWF0aW9uX19tZXNzYWdlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG5cbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI2KTtcbiAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgfVxuICB9XG59XG4iLCIudXNlci1sb2dpbi1mb3JtIHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgI2VkaXQtYWN0aW9ucyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gIH1cbn0iLCIubXNnLWRpc2NsYWltZXItZm9ybSB7XG4gICNlZGl0LWFjdGlvbnMge1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gIH1cbn0iLCIubWFpbi1tZW51IHVsLmRyb3Bkb3duIHtcbiAgcG9zaXRpb246IGluaXRpYWwgIWltcG9ydGFudDtcbiAgZGlzcGxheTogbm9uZTtcblxuICAvLyBNZW51IGl0ZW1cbiAgbGkge1xuICAgIGEge1xuICAgICAgZm9udC1zaXplOiAkaGVhZGVyLWZvbnQtc2l6ZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgICAgY29sb3I6ICRoZWFkZXItY29sb3I7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJHByaW1hcnktZ3JlZW4gIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTdWJtZW51XG4gICAgLnN1Ym1lbnUtYmFja2dyb3VuZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxNDBweDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0NCwgMjQ0LCAyNDQsIDEpO1xuICAgICAgYm94LXNoYWRvdzogMCA0cHggNnB4IHJnYmEoJGJsYWNrLCAwLjIpO1xuICAgICAgei1pbmRleDogLTE7XG5cbiAgICAgIC5jdXN0b20tbWVudSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIHBhZGRpbmc6IDM2cHggMDtcblxuICAgICAgICBhIHtcbiAgICAgICAgICBjb2xvcjogJHByaW1hcnktZ3JlZW47XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9ICBcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhOmhvdmVyLFxuICAgICAgICBhOmFjdGl2ZSxcbiAgICAgICAgYTpmb2N1cyB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgID4gLnN1Ym1lbnUtYmFja2dyb3VuZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgIHVsLmN1c3RvbS1tZW51IHtcbiAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMWZyIDFmciAxZnI7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmciAxZnI7XG4gICAgICAgICAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbjtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuYWN0aXZlLXRyYWlsIHtcbiAgICAgIGEsXG4gICAgICBhOmhvdmVyLFxuICAgICAgYTphY3RpdmUsXG4gICAgICBhOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWdyZWVuO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG59XG4iLCIucGFyYWdyYXBoIHtcbiAgLy8gU3RpbGUgcGVyIHBhcmFncmFwaCBub24gcHViYmxpY2F0aVxuICAmLnBhcmFncmFwaC11bnB1Ymxpc2hlZCB7IGJhY2tncm91bmQ6IHJlZDsgfVxuXG4gIC8vIENsYXNzaSBwZXIgYW5udWxsYXJlIGxlIHNwYXppYXR1cmUgbGF0ZXJhbGlcbiAgJi5yZW1vdmVMZWZ0U3BhY2Uge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuICAmLnJlbW92ZVJpZ2h0U3BhY2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG59XG5cblxuLyoqXG4gKiBGb3VuZGF0aW9uIEdyaWQgcGFyYWdyYXBocyArIEZvdW5kYXRpb24gQ2VsbFxuICogQmFzaWMgY2xhc3MgdG8gbWFuYWdlIHRoZSBiYWNrZ3JvdW5kXG4gKiBQbGVhc2Ugbm90ZSB0aGF0IGZvciBzZW5kaW5nIHRoZSBiYWNrZ3JvdW5kIGltYWdlIG9uIGZ1bGx3aWR0aCBvZiB0aGUgc2NyZWVuIHlvdSBuZWVkIHRvIG1vZGlmeSB5b3VyIHBhZ2UuaHRtbC50d2lnLlxuICogUGxlYXNlIHJlbW92ZSBhbGwgdGhlIGdyaWQtc3lzdGVtIGFuZCBsZWF2ZSB0aGUgbWFuYWdlIG9uIHRoZSBwYXJhZ3JhcGggRm91bmRhdGlvbiBHcmlkIHN5c3RlbS5cbiAqL1xuLnBhcmFncmFwaC0tdHlwZS0tZm91bmRhdGlvbi1ncmlkIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4ucGFyYWdyYXBoLS10eXBlLS1mb3VuZGF0aW9uLWNlbGwgeyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbi5ncmlkLWNvbnRhaW5lciB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuLmJhY2tncm91bmREaXYge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMDtcblxuICAmICsgZGl2IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgfVxuXG4gICYuZXhwZW5kZWRCZyB7fVxuICAmLmludGVybmFsQmcge31cblxuICAmLmNvbG9yQmcge31cbiAgJi5jb2xvckJnLW5vbmUge31cbiAgJi5jb2xvckJnLWxpZ2h0IHt9XG4gICYuY29sb3JCZy1kYXJrIHsgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrOyB9XG5cbiAgJi5pbWFnZUJnIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgfVxufVxuIiwiLnBhcmFncmFwaC0tdHlwZS0tZm91bmRhdGlvbi1hY2NvcmRpb25zLXRhYnMge1xuICAvLyBPdmVycmlkZSBkZWkgdGFicyBzb3ByYVxuICB1bC50YWJzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAgIC8vIE92ZXJyaWRlIGRlaSB0aXRvbGkgc29wcmFcbiAgICAudGFicy10aXRsZSB7XG4gICAgICBmbGV4OiAwIDAgYXV0byAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuXG4gICAgICAvLyBTdGlsZSBkZWwgdGl0b2xvXG4gICAgICA+IGEge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDZweCBzb2xpZCAkYmxhY2s7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0OHB4O1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuXG4gICAgICAvLyBFbGVtZW50byBzZWxlemlvbmF0b1xuICAgICAgPiBhOmhvdmVyLCA+IGE6Zm9jdXMsID4gYVthcmlhLXNlbGVjdGVkPVwidHJ1ZVwiXSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYmxhY2s7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gT3ZlcnJpZGUgZGVpIGNvbnRlbnV0byBzb3R0b1xuICAudGFicy1jb250ZW50IHtcbiAgICBtYXJnaW46IDMwcHggMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG4gIC50YWJzLXBhbmVsIHsgcGFkZGluZzogMDsgfVxufVxuXG4ucGFyYWdyYXBoLS10eXBlLS1mb3VuZGF0aW9uLWFjY29yZGlvbnMsXG4ucGFyYWdyYXBoLS10eXBlLS1mb3VuZGF0aW9uLWFjY29yZGlvbnMtdGFicyB7XG4gIC8vIE92ZXJyaWRlIGRlbCBiYWNrZ3JvdW5kIGRlbGwnYWNjb3JkaW9uXG4gIHVsLmFjY29yZGlvbnsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxuICAuYWNjb3JkaW9uLWl0ZW0geyBtYXJnaW4tYm90dG9tOiA1cHg7IH1cblxuICAvLyBPdmVycmlkZSBkZWwgdGl0b2xvIGRlbGwnYWNjb3JkaW9uXG4gIC5hY2NvcmRpb24tdGl0bGV7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMjBweCAzMHB4IDIwcHggMTVweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogJGJsYWNrO1xuXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE2KTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAmOmJlZm9yZSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgLypAaW5jbHVkZSBpY29uKGFmdGVyLCBwbHVzKXtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgIGZvbnQtc2l6ZTogOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfSovXG5cbiAgICAvLyBTdGlsZSBwZXIgaG92ZXIgZSBmb2N1c1xuICAgICY6Zm9jdXMsICY6aG92ZXJ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgfVxuXG4gIC8vIE92ZXJyaWRlIHBlciBpbCB0aXRvbG8gYXBlcnRvXG4gIGxpLmFjY29yZGlvbi1pdGVtLmlzLWFjdGl2ZSA+IC5hY2NvcmRpb24tdGl0bGV7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIC8vIEBpbmNsdWRlIGljb24oYWZ0ZXIsIGxlc3Mpe31cbiAgICB9XG4gIH1cblxuICAvLyBPdmVycmlkZSBwZXIgaWwgY29ycG8gZGVsIGNhc3NldHRvXG4gIC5hY2NvcmRpb24tY29udGVudHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMjVweCAzNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgfVxuXG4gIC8vIE92ZXJyaWRlIGRlbGwndWx0aW1vIGVsZW1lbnRvIHBlciBsZSBlY2NlemlvbmkgcmVsYXRpdmUgYWkgYm9yZGlcbiAgbGkuYWNjb3JkaW9uLWl0ZW06bGFzdC1jaGlsZHtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge31cblxufVxuXG4iLCIucGFyYWdyYXBoLS10eXBlLS1oaWdobGlnaHRzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyZWVuO1xuICBwYWRkaW5nOiA1NXB4IDA7XG5cbiAgLmhpZ2hsaWdodC1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwIDVweDtcbiAgICBcbiAgICA+IGRpdiB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyAgXG4gICAgICAmLmJvZHktbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgIFxuICAgICAgfVxuICAgIH1cblxuICAgIC5zZXBhcmF0b3ItYm90dG9tLXNtYWxsOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LXllbGxvdztcbiAgICB9XG4gIH1cbiAgLnN3aXBlci1wYWdpbmF0aW9uIHtcbiAgICBib3R0b206IDEwcHg7XG4gICAgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gICAgICB3aWR0aDogN3B4O1xuICAgICAgaGVpZ2h0OiA3cHg7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcztcbiAgICB9XG4gICAgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgd2lkdGg6IDEycHg7XG4gICAgfVxuICB9ICBcbn0iLCIucGFyYWdyYXBoLS10eXBlLS1zbGlkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMTAwcHggMDtcblxuICAuc3dpcGVyLWNvbnRhaW5lciB7XG4gICAgXG4gICAgcGFkZGluZzogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLmNlbGwge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5zd2lwZXItc2xpZGUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICBcbiAgICAgICYuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICB9XG4gICAgICAuc2xpZGUtd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmc6IDU2cHggMCAxMTdweCAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGhlaWdodDogNTAwcHg7ICAgICAgICBcblxuICAgICAgICAudGl0bGUge1xuICAgICAgICAgIG1hcmdpbjogNDBweCAwIDIwcHggMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgcGFkZGluZzogMHB4IDEwOHB4IDBweCAxMDhweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMTBweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDhweCAxMHB4IHJnYmEoMCwwLDAsIDAuMSk7XG4gICAgICAgIHotaW5kZXg6IDk5OTk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnN3aXBlci1hcnJvd3Mge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWdyZWVuO1xuICAgICAgaGVpZ2h0OiA1MCU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRvcDogMjUlO1xuICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgIH1cblxuICAgIC5zd2lwZXItcHJldiB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuICAgICAgQGluY2x1ZGUgaWNvbihiZWZvcmUsIGFycm93LWxlZnQpO1xuICAgIH1cblxuICAgIC5zd2lwZXItbmV4dCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGVuZDtcbiAgICAgIEBpbmNsdWRlIGljb24oYmVmb3JlLCBhcnJvdy1yaWdodCk7XG4gICAgfVxuICB9XG5cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWdyZWVuO1xuICAgIGhlaWdodDogNTAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRvcDogMjUlO1xuICAgIGxlZnQ6IDA7XG4gIH1cbn1cbiIsIi5wYXJhZ3JhcGgtLXR5cGUtLWNhcmRzIHtcbiAgLmNhcmQge1xuICAgIC5jYXJkLXdyYXBwZXIge1xuICAgICAgYm94LXNoYWRvdzogMHB4IDVweCAxMHB4IHJnYmEoJGJsYWNrLCAuMDUpO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIC41cztcbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICAuY2FyZC13cmFwcGVyIHtcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDVweCAxMHB4IHJnYmEoJGJsYWNrLCAuMSk7XG4gICAgICB9XG4gICAgICAuY2FyZC1jb3ZlciB7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgICAgICB9XG4gICAgICB9ICAgICAgICAgXG4gICAgfSAgICBcbiAgfSAgXG4gIC5jYXJkcy1oZWFkaW5nIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcblxuICAgID4gcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgIH1cbiAgfVxuXG4gIC5jYXJkLWNvdmVyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGltZyB7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIC41cztcbiAgICB9XG4gIH1cblxuICAuY2FyZC1jb250ZW50IHtcbiAgICBwYWRkaW5nOiA0MHB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAuNXM7XG5cbiAgICAuY2FyZC10aXRsZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYm90dG9tOiAtNXB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWdyZWVuO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jYXJkLXRleHQge1xuICAgIH1cbiAgICAuY2FyZC1saW5rIHtcbiAgICAgIGEge1xuICAgICAgICBAZXh0ZW5kIC5saW5rLW1vcmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIucGFyYWdyYXBoLS10eXBlLS1jb21wYW55LWxvZ29zIHtcbiAgLnRpdGxlIHtcbiAgfVxuXG4gIC5kZXNjcmlwdGlvbiB7XG4gICAgbWFyZ2luOiAyMHB4IDAgNDBweCAwO1xuICB9XG5cbiAgLmNhdGVnb3J5IHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIycHg7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gIH1cbiAgXG4gIC5zd2lwZXItd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gIC5pbWFnZXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgIC5pbWFnZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgaGVpZ2h0OiA3NXB4O1xuICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgXG4gICAgICBhLFxuICAgICAgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgfVxuICAgICAgYSB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnN3aXBlci1wYWdpbmF0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuXG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgLnN3aXBlci13cmFwcGVyIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4MHB4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBpbml0aWFsO1xuICAgIH1cblxuICAgIC5pbWFnZXMge1xuICAgICAgLmltYWdlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDc1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5zd2lwZXItcGFnaW5hdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICAgIFxuICB9XG59XG4iLCIucGFyYWdyYXBoLS10eXBlLS1jYXJkcy0zLWNvbHVtbnMge1xuICAuY2FyZCB7XG4gICAgYm94LXNoYWRvdzogMHB4IDVweCAxMHB4IHJnYmEoJGJsYWNrLCAuMDUpO1xuICAgIHRyYW5zaXRpb246IGFsbCAuNXM7XG4gICAgJjpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiAwcHggNXB4IDEwcHggcmdiYSgkYmxhY2ssIC4xKTtcbiAgICAgIC5jYXJkLWNvdmVyIHtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgICAgIH1cbiAgICAgIH0gICAgICBcbiAgICB9ICAgIFxuICB9XG4gIC5jYXJkLWNvdmVyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGltZyB7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIC41cztcbiAgICB9XG4gIH0gIFxuICAuY2FyZC1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAzMHB4IDIwcHg7XG5cblxuICAgIC5jYXJkLXRpdGxlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDExcHg7XG4gICAgfVxuXG4gICAgLmNhcmQtdGV4dCB7XG4gICAgfVxuXG4gICAgLmNhcmQtbGluayB7XG4gICAgICBhIHtcbiAgICAgICAgQGV4dGVuZCAubGluay1tb3JlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnBhcmFncmFwaC0tdHlwZS0tY29udGVudC1ib3hlcyB7XG4gIC5jZWxsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAuYm94LWNvbnRlbnQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMTAwcHg7XG4gICAgfVxuXG4gICAgJi5zbWFsbC1vcmRlci0xIHtcbiAgICAgIC5ib3gtY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTAwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgIC5jZWxsIHtcbiAgICAgIC5ib3gtY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG5cbiAgICAgICYuc21hbGwtb3JkZXItMSB7XG4gICAgICAgIC5ib3gtY29udGVudCB7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIC5jZWxsIHtcbiAgICAgICYuYm94LWNvbnRlbnQtY29udGVudCB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgfVxuICAgICAgJi5ib3gtY29udGVudC1pbWFnZSB7XG4gICAgICAgIG9yZGVyOiAxO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5wYXJhZ3JhcGgtLXR5cGUtLWNsYWltIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDQ1cHggMDtcblxuICAuY2xhaW0tY29udGVudCB7XG4gICAgd2lkdGg6IDQwJTtcblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzMik7XG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNDgpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcjtcblxuICAgIC5jbGFpbS1jb250ZW50IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIC5jbGFpbS1jb250ZW50IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICBwIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDMyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5wYXJhZ3JhcGgtLXR5cGUtLXZlcnRpY2FsLWNhcmRzIHtcbiAgcGFkZGluZy10b3A6IDEyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjAwcHg7XG5cbiAgLmNhcmQtd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGdhcDogNDBweDtcbiAgICBtYXJnaW4tdG9wOiAtMzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAtMzBweDtcblxuICAgIC5jYXJkLWltYWdlIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgfVxuXG4gICAgLmNhcmQtY29udGVudCB7XG4gICAgICBwYWRkaW5nOiA0NXB4IDYwcHg7XG4gICAgICB3aWR0aDogNTAlO1xuXG4gICAgICAuY2FyZC1zdWJ0aXRsZSB7XG4gICAgICAgIEBleHRlbmQgLnVuZGVybGluZWQtdGV4dDtcblxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1tZWRpdW07XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgdG9wOiAyNnB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jYXJkLXRpdGxlIHtcbiAgICAgICAgQGV4dGVuZCAuaC1sO1xuXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1tZWRpdW07XG4gICAgICAgIG1hcmdpbjogMjRweCAwO1xuICAgICAgfVxuXG4gICAgICBhIHtcbiAgICAgICAgQGV4dGVuZCAubGluay1idXR0b247XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5jYXJkLWludmVydGVkIHtcbiAgICAgIC5jYXJkLWltYWdlIHtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICB9XG5cbiAgICAgIC5jYXJkLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAxMDVweCA2MHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcblxuICAgIC5jYXJkLXdyYXBwZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBnYXA6IDQwcHg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAuY2FyZC1pbWFnZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICBcbiAgICAgIC5jYXJkLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgJi5jYXJkLWludmVydGVkIHtcbiAgICAgICAgLmNhcmQtaW1hZ2Uge1xuICAgICAgICAgIG9yZGVyOiAwO1xuICAgICAgICB9XG4gIFxuICAgICAgICAuY2FyZC1jb250ZW50IHtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIucGFyYWdyYXBoLS10eXBlLS1xdW90ZSB7XG4gICY6bm90KC53aXRoLWltYWdlKSB7XG4gICAgYmFja2dyb3VuZDogdXJsKC90aGVtZXMvY3VzdG9tL3R0X2ZvdW5kYXRpb24vaW1hZ2VzL3BhcmFncmFwaHMvcXVvdGVfYmFja2dyb3VuZC5wbmcpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblxuICAgIC5xdW90ZS1jb250ZW50IHtcbiAgICAgIC5xdW90ZS1mb290ZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnF1b3RlLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXJnaW4tYm90dG9tOiAxMjBweDtcblxuICAgIC50ZXh0LWFsaWduLWNlbnRlciB7XG4gICAgICBAZXh0ZW5kIC5ib2R5LWw7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cblxuICAgIC5zZXBhcmF0b3Ige1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgIG1hcmdpbi10b3A6IDYwcHg7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICB3aWR0aDogOTBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktYmx1ZTtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5xdW90ZS1mb290ZXIge1xuICAgICAgQGV4dGVuZCAuYm9keS1zO1xuXG4gICAgICAucXVvdGUtbmFtZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgfVxuICAgICAgLnF1b3RlLW90aGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLndpdGgtaW1hZ2Uge1xuICAgIC5xdW90ZS1iYWNrZ3JvdW5kLWltYWdlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL3BhcmFncmFwaHMvcXVvdGVfYmFja2dyb3VuZF9pbWFnZS5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMjUlIDUwJTtcbiAgICBwYWRkaW5nOiAxMjBweCAwIDcwcHggMDtcblxuICAgIC5xdW90ZS1jb250ZW50IHtcbiAgICAgIC5xdW90ZS1mb290ZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIH1cblxuICAgICAgLnNlcGFyYXRvciB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgLnF1b3RlLWNvbnRlbnQge1xuICAgICAgLnNlcGFyYXRvciB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICYud2l0aC1pbWFnZSB7XG4gICAgICBwYWRkaW5nOiAyMHB4IDAgMCAwO1xuICAgICAgLnF1b3RlLWZvb3RlciB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gICAgLnF1b3RlLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIFxuICAgICAgLnF1b3RlLWZvb3RlciB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyogUmFnZ3J1cHBhIHR1dHRpIGkgcGFyYWdyYWZpIG1pbmljYXJkPSogZXggXCJjb250YWN0c1wiICovXG4ucGFyYWdyYXBoLS10eXBlLS1jb250YWN0cyB7XG4gIC5jb250YWN0LWNvbnRlbnQge1xuICAgIGJveC1zaGFkb3c6IDBweCA1cHggMTBweCByZ2JhKCRibGFjaywgLjA1KTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBwYWRkaW5nOiAzOXB4IDI3cHggMjlweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjVzO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiAwcHggNXB4IDEwcHggcmdiYSgkYmxhY2ssIC4xKTtcbiAgICB9XG4gIH1cblxuICAud3JhcHBlci10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxuXG4gIC5uYW1lIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICBsaW5lLWhlaWdodDogMS44cmVtO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMTBweDtcbiAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6ICRwcmltYXJ5LWdyZWVuO1xuICAgIFxuICAgIC8qJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAtN3B4O1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWdyZWVuO1xuICAgIH0qL1xuICB9XG5cbiAgLnRleHQge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG5cbiAgICBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLmZpbGVzIHtcbiAgICAubWVkaWEtbGluayB7XG4gICAgICBtYXJnaW46IDIwcHggMDtcbiAgICB9XG4gIH1cbn1cbiIsIi5tc2dfY193cmFwcGVyX2NsZWFyZml4OmJlZm9yZSxcbi5tc2dfY193cmFwcGVyX2NsZWFyZml4OmFmdGVyIHtcbiAgY29udGVudDogJyAnO1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLm1zZ19jX3dyYXBwZXI6bm90KC5tc2dfY193cmFwcGVyX2Z1bGxfd2lkdGgpIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4ubXNnX2Nfd3JhcHBlcl9iaWdnZXN0IHtcbiAgbWF4LXdpZHRoOiBhdXRvO1xufVxuXG4ubXNnX2Nfd3JhcHBlcl9iaWcge1xuICBtYXgtd2lkdGg6IGF1dG87XG59XG5cbi5tc2dfY193cmFwcGVyX21lZGl1bSB7XG4gIG1heC13aWR0aDogYXV0bztcbn1cblxuLm1zZ19jX3dyYXBwZXJfc21hbGwge1xuICBtYXgtd2lkdGg6IGF1dG87XG59XG5cbi5tc2dfY193cmFwcGVyX3NtYWxsZXN0IHtcbiAgbWF4LXdpZHRoOiBhdXRvO1xufVxuXG4ubXNnX2Nfd3JhcHBlcl9zcGFjZV90b3Age1xuICBtYXJnaW4tdG9wOiBhdXRvO1xufVxuXG4ubXNnX2Nfd3JhcHBlcl9zcGFjZV9ib3R0b20ge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1tc2dfY193cmFwcGVyX3NwYWNlciwgMzVweCk7XG59XG5cbi5tc2dfY193cmFwcGVyX3NwYWNlX2JvdGgge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1tc2dfY193cmFwcGVyX3NwYWNlciwgMzVweCk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLW1zZ19jX3dyYXBwZXJfc3BhY2VyLCAzNXB4KTtcbn1cblxuLm1zZ19jX3dyYXBwZXJfY29sb3JlZCB7XG4gIHBhZGRpbmctdG9wOiA0MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNDBweDtcblxuICBiYWNrZ3JvdW5kOiAkZ3JheS1mNDtcbn1cbiIsIi5wYXJhZ3JhcGgtLXR5cGUtLWRpc2NvdmVyLW1vcmUge1xuICBwYWRkaW5nOiA4MHB4IDA7XG4gIG9wYWNpdHk6IDE7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQ0LDI0NCwyNDQsIDEpO1xuICBcbiAgLmNhcmRzLXRpdGxlIHtcbiAgICBjb2xvcjogJHByaW1hcnktZ3JlZW47XG4gIH1cblxuICAuY2FyZC1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgJi5kaXNjb3Zlci1jb2wzIHtcbiAgICAgIC5jYXJkLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzMCk7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAgICAgICAuY2FyZC10aXRsZSB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyOCk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJkLXRleHQge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIC5jYXJkLXRpdGxlIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNhcmQtdGV4dCB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cblxuICAgIC5jYXJkLXRleHQge1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgIH1cblxuICAgIC5jYXJkLWxpbmsge1xuICAgICAganVzdGlmeS1zZWxmOiBmbGV4LWVuZDtcbiAgICAgIGEge1xuICAgICAgICBAZXh0ZW5kIC5saW5rLW1vcmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgIHBhZGRpbmc6IDIwcHggMDtcblxuICAgIC5jYXJkcy10aXRsZSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDM4KTtcbiAgICB9XG5cbiAgICAuY2FyZC1pbWFnZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICB9XG59XG4iLCIucGFyYWdyYXBoLS10eXBlLS10aW1lbGluZSB7XG4gIC5wYXJhZ3JhcGgtLXR5cGUtLXRpbWVsaW5lLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIC50aW1lbGluZS1pbWFnZSB7XG4gICAgICBvcmRlcjogMTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZzogMjBweCAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC50aW1lbGluZS10ZXh0IHtcbiAgICAgIG9yZGVyOiAyO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgIC50aW1lbGluZS1pbWFnZSB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLnRpbWVsaW5lLXRleHQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICB9ICAgICAgXG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgXG4gICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIC50aW1lbGluZS1pbWFnZSB7XG4gICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGxpZ2h0LWdyZWVuO1xuICAgICAgICB9XG4gIFxuICAgICAgICAudGltZWxpbmUtdGV4dCB7XG4gICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnRpbWVsaW5lLWltYWdlIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIH1cbiAgXG4gICAgICAudGltZWxpbmUtdGV4dCB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgICAgIH0gICAgICBcbiAgXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyZWVuO1xuICAgICAgfVxuICBcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIGJvcmRlcjogMTBweCBzb2xpZCAkbGlnaHQtZ3JlZW47XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG4gICAgfSAgICBcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIC50aW1lbGluZS10ZXh0IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMjBweDtcbiAgICAgIH0gXG4gICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIC50aW1lbGluZS10ZXh0IHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMjBweDtcbiAgICAgICAgfVxuICAgICAgfSAgICAgIFxuICAgIH1cbiAgfVxufVxuIiwiLmJvZHkge1xuICAmLmZpZWxkLS1ub2RlLWJvZHkge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHAge1xuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIvKipcbiAqIERlZmluaXppb25pIGNvbXVuaSBhIHR1dHRlIGxlIHZpc3RlXG4gKiBMZSB2aXN0ZSBjaGUgcmlndWFyZGFubyB1biBjZXJ0byB0aXBvIGRpIGNvbnRlbnV0byB2YW5ubyBzdGlsaXp6YXRlIG5lbCByZWxhdGl2byBmaWxlIGNvbnRlbnRfdHlwZXMvXyouc2Nzc1xuICovXG5cbi52aWV3cy1leHBvc2VkLWZvcm0ge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICAuZm9ybS1pdGVtIHtcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAyMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLnNlbGVjdDItY29udGFpbmVyIHtcbiAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLnZpZXdzLXJvdy1kb2N1bWVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmF5LWQxO1xuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGdyYXktZDE7XG4gIH1cbn1cblxuLy8gUGFnaW5hemlvbmUgbmVsbGUgdmlzdGVcbi52aWV3cy1lbGVtZW50LWNvbnRhaW5lciB7XG4gIG5hdi5wYWdlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgdWwucGFnZXJfX2l0ZW1zIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiA0MHB4IGF1dG87XG4gICAgcGFkZGluZzogMDtcblxuICAgIGZvbnQtc2l6ZTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAvLyBHZW5lcmljbyBlbGVtZW50byBkZWwgcGFnaW5hdG9yZVxuICAgIGxpLnBhZ2VyX19pdGVtIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1pbi13aWR0aDogNDBweDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBtYXJnaW46IDAgNHB4O1xuICAgICAgfVxuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgYSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtaW4td2lkdGg6IDQwcHg7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgcGFkZGluZzogMCAxMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcblxuICAgICAgICBAZXh0ZW5kIC5ib2R5LXM7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICBoZWlnaHQ6IDRweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1ncmVlbjtcbiAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnBhZ2VyX19pdGVtLS1lbGxpcHNpcyB7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcblxuICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgbWluLXdpZHRoOiBhdXRvO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5wYWdlcl9faXRlbS0tcHJldmlvdXMsXG4gICAgICAmLnBhZ2VyX19pdGVtLS1uZXh0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgc3BhblthcmlhLWhpZGRlbj1cInRydWVcIl0ge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYucGFnZXJfX2l0ZW0tLXByZXZpb3VzIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgQGluY2x1ZGUgaWNvbihhZnRlciwgYXJyb3ctbGVmdCkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLnBhZ2VyX19pdGVtLS1uZXh0IHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgQGluY2x1ZGUgaWNvbihhZnRlciwgYXJyb3ctcmlnaHQpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnBhZ2VyX19pdGVtLmN1cnJlbnQgYSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBJbmZpbml0ZSBsb2FkZXIgcGFnZXJcbi52aWV3SW5maW5pdGVQYWdlZCB7XG4gIC5qcy1wYWdlcl9faXRlbXMuaW5maW5pdGUtcGFnZXIge1xuICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIGxpOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAvLyBhIHsgQGV4dGVuZCBhLmxvYWRlcjsgfVxuICB9XG59XG5cbi8vIEJldHRlciBFeHBvc2VkIEZpbHRlclxuLmJlZkZpbHRlcnMge1xuICAuYmVmLWV4cG9zZWQtZm9ybSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNzBweDtcblxuICAgIGxhYmVsLFxuICAgIGxlZ2VuZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5qcy1mb3JtLWl0ZW0ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuXG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9ybS1yYWRpb3Mge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBmb250LXNpemU6IDA7XG5cbiAgICAgIC5qcy1mb3JtLXR5cGUtcmFkaW8ge1xuICAgICAgICBtYXJnaW46IDAgNXB4O1xuICAgICAgfVxuXG4gICAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuXG4gICAgICBsYWJlbC5vcHRpb24ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMTdweCAyMHB4IDExcHggMjBweDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDdweCBzb2xpZCAkYmxhY2s7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIwcHgpO1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuXG4gICAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIGxhYmVsLm9wdGlvbiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYmxhY2s7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZvcm0tYWN0aW9ucyB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAuZm9ybS1yYWRpb3Mge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAuZm9ybS1yYWRpb3MgbGFiZWwub3B0aW9uOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGJsYWNrO1xuICAgICAgICBib3JkZXItY29sb3I6ICRibGFjaztcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi52aWV3LXNlYXJjaCB7XG4gICYuc2VhcmNoLXBhZ2Uge1xuICAgIGZvcm0ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIFxuICAgICAgbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgICAgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgICAgICBwYWRkaW5nOiAyNnB4IDIwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDJweCAzcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgICAgfVxuICBcbiAgICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICBAZXh0ZW5kIC5jdGFCdG47XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDMycHg7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWdyZWVuO1xuICAgICAgICBwYWRkaW5nOiAxNnB4IDMycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB9XG4gIFxuICAgICAgaW5wdXQge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnZpZXdzLXJvdyB7XG4gICAgICBhcnRpY2xlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyYXktZDE7XG4gICAgICB9XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYXJ0aWNsZSB7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRncmF5LWQxO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGgyLm5vZGUtdGl0bGUge1xuICAgICAgICBAZXh0ZW5kIC5oLXhzO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIH1cbiAgICAgIC5maWVsZC0tc2VhcmNoLWFwaS1leGNlcnB0IHtcbiAgICAgICAgQGV4dGVuZCAuYm9keS1tO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBCbG9jY28gY29uIGZpbHRybyBkaSByaWNlcmNhXG4jc2l0ZS1zZWFyY2gtZm9ybSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogOTtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxNDBweCk7XG4gIHdpZHRoOiAxMDAlO1xuICB0b3A6IDE0MHB4O1xuICBwYWRkaW5nOiAwIDE1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHByaW1hcnktZ3JlZW4sIC45KTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3NlYXJjaC9zZWFyY2hfYmFja2dyb3VuZC5wbmdcIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBhdXRvO1xuXG4gIC5oZWFkcm9vbS1ub3QtdG9wICYge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gJHRvdGFsLWhlYWRlci1oZWlnaHQtbW9iKTtcbiAgICB0b3A6ICR0b3RhbC1oZWFkZXItaGVpZ2h0LW1vYjsgICAgXG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cbiAgICAuaGVhZHJvb20tbm90LXRvcCAmIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gJHRvdGFsLWhlYWRlci1oZWlnaHQtbW9iKTtcbiAgICAgIHRvcDogJHRvdGFsLWhlYWRlci1oZWlnaHQtbW9iOyAgIFxuICAgIH1cblxuICAgIC50b29sYmFyLWhvcml6b250YWwgJiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtICgkdG90YWwtaGVhZGVyLWhlaWdodCArIDM5cHgpKTtcbiAgICAgIHRvcDogJHRvdGFsLWhlYWRlci1oZWlnaHQgKyAzOXB4O1xuICAgIH1cbiAgICAudG9vbGJhci10cmF5LW9wZW4udG9vbGJhci12ZXJ0aWNhbCAmIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gKCR0b3RhbC1oZWFkZXItaGVpZ2h0ICsgMzlweCkpO1xuICAgICAgdG9wOiAkdG90YWwtaGVhZGVyLWhlaWdodCArIDM5cHg7XG4gICAgfVxuICAgIC50b29sYmFyLXRyYXktb3Blbi50b29sYmFyLWhvcml6b250YWwgJiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtICgkdG90YWwtaGVhZGVyLWhlaWdodCArIDgzcHgpKTtcbiAgICAgIHRvcDogY2FsYygkdG90YWwtaGVhZGVyLWhlaWdodCArIDgzcHgpO1xuICAgIH1cblxuICAgIC50b29sYmFyLWhvcml6b250YWwuaGVhZHJvb20tbm90LXRvcCAmIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gKCR0b3RhbC1oZWFkZXItaGVpZ2h0LW1vYiArIDM5cHgpKTtcbiAgICAgIHRvcDogJHRvdGFsLWhlYWRlci1oZWlnaHQtbW9iICsgMzlweDtcbiAgICB9XG4gICAgLnRvb2xiYXItdHJheS1vcGVuLnRvb2xiYXItdmVydGljYWwuaGVhZHJvb20tbm90LXRvcCAmIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gKCR0b3RhbC1oZWFkZXItaGVpZ2h0LW1vYiArIDM5cHgpKTtcbiAgICAgIHRvcDogJHRvdGFsLWhlYWRlci1oZWlnaHQtbW9iICsgMzlweDtcbiAgICB9XG4gICAgLnRvb2xiYXItdHJheS1vcGVuLnRvb2xiYXItaG9yaXpvbnRhbC5oZWFkcm9vbS1ub3QtdG9wICYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAoJHRvdGFsLWhlYWRlci1oZWlnaHQtbW9iICsgODNweCkpO1xuICAgICAgdG9wOiBjYWxjKCR0b3RhbC1oZWFkZXItaGVpZ2h0LW1vYiArIDgzcHgpO1xuICAgIH1cbiAgfVxufVxuXG4jYmxvY2stdHQtZm91bmRhdGlvbi1mb3JtZXNwb3N0b3NlYXJjaHNlYXJjaC1ibG9jayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBoZWlnaHQ6IDEwMCU7XG5cbiAgZm9ybSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAzMHB4O1xuICAgIFxuICAgIGxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICAgIHBhZGRpbmc6IDI2cHggMjBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIEBleHRlbmQgLmN0YUJ0bjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDMycHg7XG4gICAgICBjb2xvcjogJHByaW1hcnktZ3JlZW47XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICBwYWRkaW5nOiAxNnB4IDc3cHg7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIGlucHV0IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi52aWV3cy12aWV3LWFzc2VtYmxlZSB7XG5cbiAgLmFzc2VtYmxlYS10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgfVxuXG4gID4gLnZpZXdzLXJvdyB7XG4gICAgYXJ0aWNsZS5ub2RlLWFzc2VtYmxlYS10ZWFzZXIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDgwcHg7XG4gICAgfVxuICB9XG5cbn0iLCIudmlld0V2ZW50aSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICAuY3VzdG9tLXJvdy13cmFwcGVyIC5jdXN0b20tcm93IC5jdXN0b20tdGl0bGUtd3JhcHBlciB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG59XG5cbiIsIi5wcmVzcy1yZWxlYXNlcyB7XG4gICYucHJlc3MtcmVsZWFzZXMtbGF0ZXN0IHtcbiAgICBwYWRkaW5nLXRvcDogMTAwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwMHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICYucHJlc3MtcmVsZWFzZXMtbGF0ZXN0IHtcbiAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgfVxuICB9XG59XG4iLCIubWVkaWEtZ2FsbGVyeSB7ICBcbiAgLm1lZGlhLWNvbnRlbnQ6bm90KC5tZWRpYS12aWRlby1jb250ZW50KSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgYSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgcGFkZGluZzogNHB4IDhweDtcbiAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgIGJvdHRvbTogMTBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWdyZWVuO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgJi5tZWRpYS1kb3dubG9hZCB7XG4gICAgICAgIHJpZ2h0OiAxMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGljb24oYmVmb3JlLCBkb3dubG9hZCk7XG4gICAgICB9XG5cbiAgICAgICYubWVkaWEtZXhwYW5kIHtcbiAgICAgICAgbGVmdDogMTBweDtcblxuICAgICAgICBAaW5jbHVkZSBpY29uKGJlZm9yZSwgZXhwYW5kKTtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LXllbGxvdztcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZWRpYS12aWRlby1jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBhLmZhbmN5LWxpbmstdmlkZW8ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgIHotaW5kZXg6IDU7XG5cbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiAkcHJpbWFyeS1ncmVlbiAhaW1wb3J0YW50O1xuXG4gICAgICBAaW5jbHVkZSBpY29uKGJlZm9yZSwgcGxheSkge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICB6LWluZGV4OiA0O1xuXG4gICAgICAgIGZvbnQtc2l6ZTogNjBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7XG4gICAgICB9XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHotaW5kZXg6IDM7XG5cbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnZpZGVvLWNvb2tpZS1vdmVybGF5IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB6LWluZGV4OiA3O1xuXG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcblxuXG4gICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuXG4gICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICYuaGlkZGVuIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICAuYWNjZXB0LWNvb2tpZXMtYnRuIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjRweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktZ3JlZW47XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICBwYWRkaW5nOiAxNnB4IDU2cHg7XG4gICAgICAgIG1hcmdpbjogNDBweCBhdXRvIDA7XG5cbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTgpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LXllbGxvdztcbiAgICAgICAgICBjb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIC0tLSBTVElMSSBDT05URU5VVE8gQkFTSUMgUEFHRVMgLS0tXG5cbi5wYWdlLTQwNCxcbi5wYWdlLTQwMyB7XG4gIC5wYWdlVGl0bGUge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjAwKSAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMDApICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogJGdyYXktZDEgIWltcG9ydGFudDtcbiAgfVxufSIsIi5wcmVzcy1yZWxlYXNlcyB7XG4gIFxuICAvLyBEaXNwbGF5OiBMYXRlc3RcbiAgJi5wcmVzcy1yZWxlYXNlcy1sYXRlc3Qge1xuICAgIC5wcmVzcy1yZWxlYXNlLWRhdGUge1xuICAgICAgICB0aW1lIHtcbiAgICAgICAgICBAZXh0ZW5kIC5ib2R5LXM7XG4gICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgfVxuICAgIH1cbiAgICAucHJlc3MtcmVsZWFzZS10aXRsZSB7XG4gICAgICBAZXh0ZW5kIC5ib2R5LWw7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIG1hcmdpbjogMTZweCAwO1xuXG4gICAgICBzcGFuIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiYm9keS5wYXRoLWZyb250cGFnZSB7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTsgLyogSUUgYW5kIEVkZ2UgKi9cbiAgc2Nyb2xsYmFyLXdpZHRoOiBub25lOyAvKiBGaXJlZm94ICovXG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcblxuICAjbWFpbi5wYWdlTWFpbiB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIC8vIEhFQURFUlxuICBoZWFkZXIucGFnZUhlYWRlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICR3aGl0ZTtcblxuICAgIGEge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgJi5sb2dvIHtcbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAjdGV4dCB7XG4gICAgICAgICAgICBmaWxsOiAkd2hpdGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5oZWFkcm9vbS0tbm90LXRvcCB7XG4gICAgICBhLmxvZ28ge1xuICAgICAgICBzdmcge1xuICAgICAgICAgICN0ZXh0IHtcbiAgICAgICAgICAgIGZpbGw6ICRibGFjaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAucGFnZU1ldGFIZWFkZXIge1xuICAgICAgLy9kaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5tYWluLW1lbnUgdWwuZHJvcGRvd24gPiBsaSA+IGEsXG4gICAgLmJsb2NrLWxhbmd1YWdlIHVsLmxpbmtzID4gbGkgPiBhOm5vdCg6aG92ZXIpIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gKiBIZWFkcm9vbSAtIG1lbnUgbm9uIGF0dGFjY2F0byBpbiBwYWdpbmEgbWEgc2Nyb2xsIHVwXG4gKi9cbiAgaGVhZGVyLnBhZ2VIZWFkZXIuaGVhZHJvb20tLW5vdC10b3Age1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBjb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogMCA0cHggNnB4IHJnYmEoJGJsYWNrLCAwLjIpO1xuXG4gICAgLm1haW4tbWVudSB1bC5kcm9wZG93biA+IGxpID4gYTpub3QoOmhvdmVyKSxcbiAgICAuYmxvY2stbGFuZ3VhZ2UgdWwubGlua3MgPiBsaSA+IGE6bm90KDpob3Zlcikge1xuICAgICAgY29sb3I6ICRibGFjayAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5tYWluLW1lbnUgdWwuZHJvcGRvd24gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICB0b3A6IDc1cHg7XG4gICAgfVxuICB9XG5cbiAgLy8gUEFSQUdSQVBIU1xuICAucGFyYWdyYXBoLS10eXBlLS1jbGFpbSB7XG4gICAgYmFja2dyb3VuZDogcmdiKDAsIDAsIDApO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cbiAgLnBhcmFncmFwaC0tdHlwZS0tdmVydGljYWwtY2FyZHMge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAgIDE4MGRlZyxcbiAgICAgICRibGFjayAwJSxcbiAgICAgIHJnYmEoMCwgODAsIDExNCwgMSkgNTAlLFxuICAgICAgcmdiYSgwLCAxNTksIDIyNywgMSkgMTAwJVxuICAgICk7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxufVxuIiwiLmFzc2VtYmxlZSB7XG4gIC5hc3NlbWJsZWEtdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIH1cbn0iLCIvLyBTZWRlIEZlcmFscGkgbmVsIG1vbmRvLCBkaXNwbGF5IEZ1bGxcbi5ub2RlLWNvbnRlbnQubm9kZS10eXBlLW1hcC1tYXJrZXIubm9kZS12aWV3LW1vZGUtZnVsbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAyMHB4O1xuICBsZWZ0OiAyMHB4O1xuICB3aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gNDBweCk7XG4gIHBhZGRpbmc6IDQwcHggNTBweDtcbiAgYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuOSk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDEwMCUsIDApO1xuICBvcGFjaXR5OiAwO1xuXG4gICYub3BlbmVke1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cblxuICAubWFya2VyLWNsb3NlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGhlaWdodDogNTBweDtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1ncmVlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpob3ZlcnsgYmFja2dyb3VuZDogJGxpZ2h0LWdyZWVuOyB9XG4gIH1cblxuICAubWFya2VyLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAubWFya2VyLXRpdGxlIHtcbiAgICAgIFxuICAgIH1cblxuICAgIC5tYXJrZXItdHlwZSB7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4gICAgICBzcGFuIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1hcmtlci1ib2R5IHtcblxuICAgIH1cblxuICAgIC5tYXJrZXItbGluayB7XG5cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblxuICB9XG59XG5cbmJvZHkuaXMtaWUxMSB7XG4gIC5ub2RlLWNvbnRlbnQubm9kZS10eXBlLWZlcmFscGktbWFya2VyLS5ub2RlLXZpZXctbW9kZS1mdWxsIHtcbiAgICAuZmllbGQtbmFtZS1maWVsZC1wcm9kb3R0aSAuZmllbGQtaXRlbSB7IGZsZXgtYmFzaXM6IDQ2JTsgfVxuICB9XG59XG4iLCIudmlld0V2ZW50aSxcclxuLnZpZXctZXhwLWZvcm0tc3R5bGV7XHJcbiAgLnZpZXdzLWV4cG9zZWQtZm9ybSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBmaWVsZHNldC5maWVsZGdyb3Vwe1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICAuZm9ybS0taW5saW5lID4gLmZvcm0taXRlbXtcclxuICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIH1cclxuICAgIC5mb3JtLWl0ZW0teWVhcntcclxuICAgICAgcGFkZGluZzogMjBweCAyMHB4O1xyXG4gICAgfVxyXG4gICAgZmllbGRzZXQge1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICAgIGJvcmRlcjogMCBub25lO1xyXG4gICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5mb3JtLWl0ZW0ge1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcblxyXG4gICAgbGVnZW5kIHtcclxuICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICBsaW5lLWhlaWdodDogMjZweDtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgICAuZmllbGRzZXQtd3JhcHBlciB7XHJcbiAgICAgIGxhYmVsLFxyXG4gICAgICBpbnB1dCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIH1cclxuICAgICAgLmZvcm0tcmFkaW9ze1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIGdhcDogMTJweDtcclxuICAgICAgICAuZm9ybS1pdGVte1xyXG5cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQrbGFiZWwge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWdyZWVuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBsYWJlbCB7XHJcbiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4O1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICNBQkFEQUY7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC41cztcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgIHBhZGRpbmc6IDEycHggMjRweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5ub2RlLXJvdy1ldmVudCB7XHJcbiAgLy8gRGlmZmVyZW56YSBwZXIgZXZlbnRpIHBhc3NhdGlcclxuICAmLmV2ZW50VGJkLFxyXG4gICYuZXZlbnRQYXN0IHtcclxuICAgIHNwYW5bY2xhc3NePVwiaWNuLVwiXSB7XHJcbiAgICAgIG9wYWNpdHk6IDAuNTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jdXN0b20tcm93LXdyYXBwZXIge1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgICY6aG92ZXJ7XHJcbiAgICAgIC5jdXN0b20taWNvbjpiZWZvcmUge1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktZ3JlZW47XHJcbiAgICAgIH1cclxuICAgICAgLmN1c3RvbS10aXRsZXtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jdXN0b20tcm93IHtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jdXN0b20taWNvbjpob3ZlciB7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGNvbG9yOiAkYmxhY2sgIWltcG9ydGFudDtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnkteWVsbG93ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuY3VzdG9tLXRpdGxlLXdyYXBwZXIge1xyXG4gICAgZmxleC1iYXNpczogMTAwJTtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAuY3VzdG9tLXRpdGxlIHtcclxuICAgICAgZmxleC1ncm93OiAwO1xyXG4gICAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBwYWRkaW5nOiAwIDIwcHggMCAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmZpZWxkLS1ub2RlLWZpZWxkLXR5cGUge1xyXG4gICAgICBmb250LXNpemU6IDExcHg7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS1kMTtcclxuICAgICAgcGFkZGluZzogNHB4IDE1cHg7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcblxyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuY3VzdG9tLXRpdGxlLXN1cC13cmFwcGVyIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmN1c3RvbS1yaWdodC13cmFwcGVyIHtcclxuICAgIGZsZXgtYmFzaXM6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG5cclxuICAgIC5jYWxlbmRhci1pY29uIHtcclxuICAgICAgQGV4dGVuZCAuYmFzaWMtaWNvbjtcclxuXHJcbiAgICAgIEBpbmNsdWRlIGljb24oYmVmb3JlLCBjYWxlbmRhcik7XHJcblxyXG4gICAgICBmbGV4LWJhc2lzOiA0MHB4O1xyXG4gICAgICBwYWRkaW5nOiAyMHB4IDA7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcblxyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIGZsZXgtYmFzaXM6IDYwcHg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuY2FsZW5kYXItYXR0YWNoIHtcclxuICAgICAgZmxleC1iYXNpczogNjBweDtcclxuICAgICAgYSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jYWxlbmRhci10eXBlIHtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblxyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIGZsZXgtYmFzaXM6IDE3NXB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmZpZWxkLS1ub2RlLWZpZWxkLXR5cGUge1xyXG4gICAgICBmb250LXNpemU6IDExcHg7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS1kMTtcclxuICAgICAgcGFkZGluZzogNHB4IDE1cHg7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgJi5ldmVudC1wYXN0IHtcclxuICAgICAgLmNhbGVuZGFyLWljb24ge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgIG9wYWNpdHk6IDAuNTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jdXN0b20tZGF0ZSB7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgIGZsZXgtYmFzaXM6IDIyMHB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gU3RpbGl6emF6aW9uZSBhZGRldmVudC5jb21cclxuICAuYWRkZXZlbnRhdGMge1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXI6IG1lZGl1bSBub25lO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIHRleHQtc2hhZG93OiBub25lO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIHotaW5kZXg6IDE7XHJcblxyXG4gICAgc3Bhbi5hZGRldmVudGF0Y19pY29uIHtcclxuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcbiAgfVxyXG59XHJcbiJdfQ== */
